aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libjava/COPYING.LIB482
-rw-r--r--libjava/ChangeLog5035
-rw-r--r--libjava/LIBGCJ_LICENSE11
-rw-r--r--libjava/Makefile.am660
-rw-r--r--libjava/Makefile.in1309
-rw-r--r--libjava/acconfig.h89
-rw-r--r--libjava/acinclude.m4156
-rw-r--r--libjava/aclocal.m4317
-rw-r--r--libjava/boehm.cc367
-rw-r--r--libjava/chartables.pl965
-rw-r--r--libjava/classes.pl104
-rwxr-xr-xlibjava/configure3783
-rw-r--r--libjava/configure.host61
-rw-r--r--libjava/configure.in387
-rw-r--r--libjava/doc/cni.sgml972
-rw-r--r--libjava/exception.cc155
-rw-r--r--libjava/gnu/gcj/convert/BytesToUnicode.java105
-rw-r--r--libjava/gnu/gcj/convert/Convert.java151
-rw-r--r--libjava/gnu/gcj/convert/Input_8859_1.java32
-rw-r--r--libjava/gnu/gcj/convert/Input_EUCJIS.java19
-rw-r--r--libjava/gnu/gcj/convert/Input_UTF8.java107
-rw-r--r--libjava/gnu/gcj/convert/JIS0208.h6880
-rw-r--r--libjava/gnu/gcj/convert/JIS0208_to_Unicode.cc7325
-rw-r--r--libjava/gnu/gcj/convert/JIS0212.h6068
-rw-r--r--libjava/gnu/gcj/convert/JIS0212_to_Unicode.cc6471
-rw-r--r--libjava/gnu/gcj/convert/Output_8859_1.java31
-rw-r--r--libjava/gnu/gcj/convert/Output_JavaSrc.java82
-rw-r--r--libjava/gnu/gcj/convert/Output_UTF8.java108
-rw-r--r--libjava/gnu/gcj/convert/UnicodeToBytes.java90
-rw-r--r--libjava/gnu/gcj/convert/gen-from-JIS.c154
-rw-r--r--libjava/gnu/gcj/convert/natInput_EUCJIS.cc101
-rw-r--r--libjava/gnu/gcj/protocol/http/Connection.java285
-rw-r--r--libjava/gnu/gcj/protocol/http/Handler.java35
-rw-r--r--libjava/gnu/gcj/text/BaseBreakIterator.java82
-rw-r--r--libjava/gnu/gcj/text/CharacterBreakIterator.java188
-rw-r--r--libjava/gnu/gcj/text/LineBreakIterator.java168
-rw-r--r--libjava/gnu/gcj/text/LocaleData_en.java75
-rw-r--r--libjava/gnu/gcj/text/LocaleData_en_US.java71
-rw-r--r--libjava/gnu/gcj/text/SentenceBreakIterator.java226
-rw-r--r--libjava/gnu/gcj/text/WordBreakIterator.java224
-rw-r--r--libjava/include/boehm-gc.h24
-rw-r--r--libjava/include/cni.h133
-rw-r--r--libjava/include/config.h.in252
-rw-r--r--libjava/include/java-array.h78
-rw-r--r--libjava/include/java-assert.h38
-rw-r--r--libjava/include/java-chardecomp.h3416
-rw-r--r--libjava/include/java-chartables.h82984
-rw-r--r--libjava/include/java-field.h158
-rw-r--r--libjava/include/java-method.h16
-rw-r--r--libjava/include/javaprims.h262
-rw-r--r--libjava/include/jni.h302
-rw-r--r--libjava/include/jvm.h101
-rw-r--r--libjava/include/no-gc.h17
-rw-r--r--libjava/include/no-threads.h154
-rw-r--r--libjava/include/posix-threads.h210
-rw-r--r--libjava/include/quick-threads.h139
-rw-r--r--libjava/java/io/BufferedInputStream.java168
-rw-r--r--libjava/java/io/BufferedOutputStream.java76
-rw-r--r--libjava/java/io/BufferedReader.java373
-rw-r--r--libjava/java/io/BufferedWriter.java129
-rw-r--r--libjava/java/io/ByteArrayInputStream.java113
-rw-r--r--libjava/java/io/ByteArrayOutputStream.java108
-rw-r--r--libjava/java/io/CharArrayReader.java152
-rw-r--r--libjava/java/io/CharArrayWriter.java122
-rw-r--r--libjava/java/io/CharConversionException.java34
-rw-r--r--libjava/java/io/DataInput.java41
-rw-r--r--libjava/java/io/DataInputStream.java249
-rw-r--r--libjava/java/io/DataOutput.java44
-rw-r--r--libjava/java/io/DataOutputStream.java165
-rw-r--r--libjava/java/io/EOFException.java34
-rw-r--r--libjava/java/io/File.java288
-rw-r--r--libjava/java/io/FileDescriptor.java87
-rw-r--r--libjava/java/io/FileInputStream.java96
-rw-r--r--libjava/java/io/FileNotFoundException.java34
-rw-r--r--libjava/java/io/FileOutputStream.java93
-rw-r--r--libjava/java/io/FileReader.java35
-rw-r--r--libjava/java/io/FileWriter.java44
-rw-r--r--libjava/java/io/FilenameFilter.java26
-rw-r--r--libjava/java/io/FilterInputStream.java75
-rw-r--r--libjava/java/io/FilterOutputStream.java61
-rw-r--r--libjava/java/io/FilterReader.java72
-rw-r--r--libjava/java/io/FilterWriter.java59
-rw-r--r--libjava/java/io/IOException.java34
-rw-r--r--libjava/java/io/InputStream.java104
-rw-r--r--libjava/java/io/InputStreamReader.java151
-rw-r--r--libjava/java/io/InterruptedIOException.java36
-rw-r--r--libjava/java/io/LineNumberInputStream.java143
-rw-r--r--libjava/java/io/LineNumberReader.java245
-rw-r--r--libjava/java/io/OutputStream.java48
-rw-r--r--libjava/java/io/OutputStreamWriter.java155
-rw-r--r--libjava/java/io/PipedInputStream.java242
-rw-r--r--libjava/java/io/PipedOutputStream.java94
-rw-r--r--libjava/java/io/PipedReader.java210
-rw-r--r--libjava/java/io/PipedWriter.java88
-rw-r--r--libjava/java/io/PrintStream.java236
-rw-r--r--libjava/java/io/PrintWriter.java286
-rw-r--r--libjava/java/io/PushbackInputStream.java124
-rw-r--r--libjava/java/io/PushbackReader.java136
-rw-r--r--libjava/java/io/RandomAccessFile.java249
-rw-r--r--libjava/java/io/Reader.java87
-rw-r--r--libjava/java/io/SequenceInputStream.java112
-rw-r--r--libjava/java/io/Serializable.java21
-rw-r--r--libjava/java/io/StreamTokenizer.java433
-rw-r--r--libjava/java/io/StringBufferInputStream.java83
-rw-r--r--libjava/java/io/StringReader.java139
-rw-r--r--libjava/java/io/StringWriter.java80
-rw-r--r--libjava/java/io/SyncFailedException.java34
-rw-r--r--libjava/java/io/UTFDataFormatException.java34
-rw-r--r--libjava/java/io/UnsupportedEncodingException.java32
-rw-r--r--libjava/java/io/Writer.java67
-rw-r--r--libjava/java/io/natFile.cc273
-rw-r--r--libjava/java/io/natFileDescriptorEcos.cc132
-rw-r--r--libjava/java/io/natFileDescriptorPosix.cc264
-rw-r--r--libjava/java/lang/AbstractMethodError.java34
-rw-r--r--libjava/java/lang/ArithmeticException.java32
-rw-r--r--libjava/java/lang/ArrayIndexOutOfBoundsException.java37
-rw-r--r--libjava/java/lang/ArrayStoreException.java32
-rw-r--r--libjava/java/lang/Boolean.java95
-rw-r--r--libjava/java/lang/Byte.java144
-rw-r--r--libjava/java/lang/Character.java286
-rw-r--r--libjava/java/lang/Class.h214
-rw-r--r--libjava/java/lang/Class.java155
-rw-r--r--libjava/java/lang/ClassCastException.java32
-rw-r--r--libjava/java/lang/ClassCircularityError.java34
-rw-r--r--libjava/java/lang/ClassFormatError.java34
-rw-r--r--libjava/java/lang/ClassLoader.java94
-rw-r--r--libjava/java/lang/ClassNotFoundException.java57
-rw-r--r--libjava/java/lang/CloneNotSupportedException.java32
-rw-r--r--libjava/java/lang/Cloneable.java23
-rw-r--r--libjava/java/lang/Comparable.java22
-rw-r--r--libjava/java/lang/Compiler.java53
-rw-r--r--libjava/java/lang/Double.java149
-rw-r--r--libjava/java/lang/Error.java34
-rw-r--r--libjava/java/lang/Exception.java32
-rw-r--r--libjava/java/lang/ExceptionInInitializerError.java50
-rw-r--r--libjava/java/lang/FirstThread.java40
-rw-r--r--libjava/java/lang/Float.java149
-rw-r--r--libjava/java/lang/IllegalAccessError.java34
-rw-r--r--libjava/java/lang/IllegalAccessException.java32
-rw-r--r--libjava/java/lang/IllegalArgumentException.java32
-rw-r--r--libjava/java/lang/IllegalMonitorStateException.java32
-rw-r--r--libjava/java/lang/IllegalStateException.java32
-rw-r--r--libjava/java/lang/IllegalThreadStateException.java32
-rw-r--r--libjava/java/lang/IncompatibleClassChangeError.java34
-rw-r--r--libjava/java/lang/IndexOutOfBoundsException.java32
-rw-r--r--libjava/java/lang/InstantiationError.java34
-rw-r--r--libjava/java/lang/InstantiationException.java32
-rw-r--r--libjava/java/lang/Integer.java355
-rw-r--r--libjava/java/lang/InternalError.java34
-rw-r--r--libjava/java/lang/InterruptedException.java32
-rw-r--r--libjava/java/lang/LinkageError.java34
-rw-r--r--libjava/java/lang/Long.java366
-rw-r--r--libjava/java/lang/Math.java118
-rw-r--r--libjava/java/lang/NegativeArraySizeException.java32
-rw-r--r--libjava/java/lang/NoClassDefFoundError.java34
-rw-r--r--libjava/java/lang/NoSuchFieldError.java34
-rw-r--r--libjava/java/lang/NoSuchFieldException.java32
-rw-r--r--libjava/java/lang/NoSuchMethodError.java34
-rw-r--r--libjava/java/lang/NoSuchMethodException.java32
-rw-r--r--libjava/java/lang/NullPointerException.java32
-rw-r--r--libjava/java/lang/Number.java39
-rw-r--r--libjava/java/lang/NumberFormatException.java32
-rw-r--r--libjava/java/lang/Object.h79
-rw-r--r--libjava/java/lang/Object.java86
-rw-r--r--libjava/java/lang/OutOfMemoryError.java34
-rw-r--r--libjava/java/lang/Process.java30
-rw-r--r--libjava/java/lang/Runnable.java27
-rw-r--r--libjava/java/lang/Runtime.java136
-rw-r--r--libjava/java/lang/RuntimeException.java32
-rw-r--r--libjava/java/lang/SecurityException.java31
-rw-r--r--libjava/java/lang/SecurityManager.java263
-rw-r--r--libjava/java/lang/Short.java145
-rw-r--r--libjava/java/lang/StackOverflowError.java34
-rw-r--r--libjava/java/lang/String.java286
-rw-r--r--libjava/java/lang/StringBuffer.java270
-rw-r--r--libjava/java/lang/StringIndexOutOfBoundsException.java37
-rw-r--r--libjava/java/lang/System.java166
-rw-r--r--libjava/java/lang/Thread.java297
-rw-r--r--libjava/java/lang/ThreadDeath.java35
-rw-r--r--libjava/java/lang/ThreadGroup.java406
-rw-r--r--libjava/java/lang/Throwable.java80
-rw-r--r--libjava/java/lang/UnknownError.java34
-rw-r--r--libjava/java/lang/UnsatisfiedLinkError.java34
-rw-r--r--libjava/java/lang/UnsupportedOperationException.java32
-rw-r--r--libjava/java/lang/VerifyError.java34
-rw-r--r--libjava/java/lang/VirtualMachineError.java34
-rw-r--r--libjava/java/lang/Void.java30
-rw-r--r--libjava/java/lang/dtoa.c906
-rw-r--r--libjava/java/lang/e_acos.c111
-rw-r--r--libjava/java/lang/e_asin.c120
-rw-r--r--libjava/java/lang/e_atan2.c131
-rw-r--r--libjava/java/lang/e_exp.c167
-rw-r--r--libjava/java/lang/e_fmod.c140
-rw-r--r--libjava/java/lang/e_log.c152
-rw-r--r--libjava/java/lang/e_pow.c312
-rw-r--r--libjava/java/lang/e_rem_pio2.c185
-rw-r--r--libjava/java/lang/e_remainder.c80
-rw-r--r--libjava/java/lang/e_scalb.c55
-rw-r--r--libjava/java/lang/e_sqrt.c452
-rw-r--r--libjava/java/lang/fdlibm.h343
-rw-r--r--libjava/java/lang/ieeefp.h103
-rw-r--r--libjava/java/lang/k_cos.c96
-rw-r--r--libjava/java/lang/k_rem_pio2.c320
-rw-r--r--libjava/java/lang/k_sin.c79
-rw-r--r--libjava/java/lang/k_tan.c132
-rw-r--r--libjava/java/lang/mprec.c958
-rw-r--r--libjava/java/lang/mprec.h374
-rw-r--r--libjava/java/lang/natCharacter.cc269
-rw-r--r--libjava/java/lang/natClass.cc785
-rw-r--r--libjava/java/lang/natDouble.cc180
-rw-r--r--libjava/java/lang/natFirstThread.cc56
-rw-r--r--libjava/java/lang/natFloat.cc37
-rw-r--r--libjava/java/lang/natMath.cc263
-rw-r--r--libjava/java/lang/natObject.cc241
-rw-r--r--libjava/java/lang/natRuntime.cc68
-rw-r--r--libjava/java/lang/natString.cc800
-rw-r--r--libjava/java/lang/natSystem.cc259
-rw-r--r--libjava/java/lang/natThread.cc295
-rw-r--r--libjava/java/lang/reflect/AccessibleObject.java53
-rw-r--r--libjava/java/lang/reflect/Array.java78
-rw-r--r--libjava/java/lang/reflect/Constructor.java106
-rw-r--r--libjava/java/lang/reflect/Field.java264
-rw-r--r--libjava/java/lang/reflect/InvocationTargetException.java73
-rw-r--r--libjava/java/lang/reflect/Member.java26
-rw-r--r--libjava/java/lang/reflect/Method.java123
-rw-r--r--libjava/java/lang/reflect/Modifier.java130
-rw-r--r--libjava/java/lang/reflect/natArray.cc339
-rw-r--r--libjava/java/lang/reflect/natField.cc435
-rw-r--r--libjava/java/lang/reflect/natMethod.cc386
-rw-r--r--libjava/java/lang/s_atan.c181
-rw-r--r--libjava/java/lang/s_ceil.c80
-rw-r--r--libjava/java/lang/s_copysign.c82
-rw-r--r--libjava/java/lang/s_cos.c82
-rw-r--r--libjava/java/lang/s_fabs.c73
-rw-r--r--libjava/java/lang/s_floor.c134
-rw-r--r--libjava/java/lang/s_rint.c87
-rw-r--r--libjava/java/lang/s_scalbn.c104
-rw-r--r--libjava/java/lang/s_sin.c132
-rw-r--r--libjava/java/lang/s_tan.c114
-rw-r--r--libjava/java/lang/sf_rint.c80
-rw-r--r--libjava/java/lang/strtod.c720
-rw-r--r--libjava/java/lang/w_acos.c118
-rw-r--r--libjava/java/lang/w_asin.c121
-rw-r--r--libjava/java/lang/w_atan2.c117
-rw-r--r--libjava/java/lang/w_exp.c136
-rw-r--r--libjava/java/lang/w_fmod.c107
-rw-r--r--libjava/java/lang/w_log.c115
-rw-r--r--libjava/java/lang/w_pow.c231
-rw-r--r--libjava/java/lang/w_remainder.c119
-rw-r--r--libjava/java/lang/w_sqrt.c93
-rw-r--r--libjava/java/net/BindException.java35
-rw-r--r--libjava/java/net/ConnectException.java35
-rw-r--r--libjava/java/net/ContentHandler.java29
-rw-r--r--libjava/java/net/ContentHandlerFactory.java27
-rw-r--r--libjava/java/net/FileNameMap.java27
-rw-r--r--libjava/java/net/HttpURLConnection.java174
-rw-r--r--libjava/java/net/InetAddress.java255
-rw-r--r--libjava/java/net/MalformedURLException.java35
-rw-r--r--libjava/java/net/NoRouteToHostException.java35
-rw-r--r--libjava/java/net/PlainSocketImpl.java64
-rw-r--r--libjava/java/net/ProtocolException.java35
-rw-r--r--libjava/java/net/ServerSocket.java105
-rw-r--r--libjava/java/net/Socket.java209
-rw-r--r--libjava/java/net/SocketException.java33
-rw-r--r--libjava/java/net/SocketImpl.java70
-rw-r--r--libjava/java/net/SocketImplFactory.java25
-rw-r--r--libjava/java/net/URL.java341
-rw-r--r--libjava/java/net/URLConnection.java423
-rw-r--r--libjava/java/net/URLStreamHandler.java107
-rw-r--r--libjava/java/net/URLStreamHandlerFactory.java27
-rw-r--r--libjava/java/net/UnknownHostException.java34
-rw-r--r--libjava/java/net/UnknownServiceException.java35
-rw-r--r--libjava/java/net/natInetAddress.cc270
-rw-r--r--libjava/java/net/natPlainSocketImpl.cc177
-rw-r--r--libjava/java/text/BreakIterator.java160
-rw-r--r--libjava/java/text/CharacterIterator.java36
-rw-r--r--libjava/java/text/ChoiceFormat.java310
-rw-r--r--libjava/java/text/DateFormat.java301
-rw-r--r--libjava/java/text/DateFormatSymbols.java265
-rw-r--r--libjava/java/text/DecimalFormat.java983
-rw-r--r--libjava/java/text/DecimalFormatSymbols.java293
-rw-r--r--libjava/java/text/FieldPosition.java65
-rw-r--r--libjava/java/text/Format.java51
-rw-r--r--libjava/java/text/MessageFormat.java543
-rw-r--r--libjava/java/text/NumberFormat.java236
-rw-r--r--libjava/java/text/ParseException.java34
-rw-r--r--libjava/java/text/ParsePosition.java59
-rw-r--r--libjava/java/text/SimpleDateFormat.java522
-rw-r--r--libjava/java/text/StringCharacterIterator.java142
-rw-r--r--libjava/java/util/BitSet.java183
-rw-r--r--libjava/java/util/Calendar.java258
-rw-r--r--libjava/java/util/ConcurrentModificationException.java33
-rw-r--r--libjava/java/util/Date.java460
-rw-r--r--libjava/java/util/Dictionary.java34
-rw-r--r--libjava/java/util/EmptyStackException.java27
-rw-r--r--libjava/java/util/Enumeration.java24
-rw-r--r--libjava/java/util/EventListener.java24
-rw-r--r--libjava/java/util/EventObject.java42
-rw-r--r--libjava/java/util/GregorianCalendar.java257
-rw-r--r--libjava/java/util/Hashtable.java398
-rw-r--r--libjava/java/util/ListResourceBundle.java52
-rw-r--r--libjava/java/util/Locale.java125
-rw-r--r--libjava/java/util/MissingResourceException.java43
-rw-r--r--libjava/java/util/NoSuchElementException.java32
-rw-r--r--libjava/java/util/Observable.java98
-rw-r--r--libjava/java/util/Observer.java24
-rw-r--r--libjava/java/util/Properties.java376
-rw-r--r--libjava/java/util/Random.java148
-rw-r--r--libjava/java/util/ResourceBundle.java188
-rw-r--r--libjava/java/util/SimpleTimeZone.java182
-rw-r--r--libjava/java/util/Stack.java74
-rw-r--r--libjava/java/util/StringTokenizer.java185
-rw-r--r--libjava/java/util/TimeZone.java120
-rw-r--r--libjava/java/util/TooManyListenersException.java32
-rw-r--r--libjava/java/util/Vector.java450
-rw-r--r--libjava/java/util/natDate.cc45
-rw-r--r--libjava/java/util/natGregorianCalendar.cc124
-rw-r--r--libjava/java/util/zip/Adler32.java101
-rw-r--r--libjava/java/util/zip/CRC32.java70
-rw-r--r--libjava/java/util/zip/Checksum.java31
-rw-r--r--libjava/java/util/zip/Deflater.java13
-rw-r--r--libjava/java/util/zip/DeflaterOutputStream.java46
-rw-r--r--libjava/java/util/zip/ZipConstants.java13
-rw-r--r--libjava/java/util/zip/ZipEntry.java84
-rw-r--r--libjava/java/util/zip/ZipException.java33
-rw-r--r--libjava/java/util/zip/ZipFile.java81
-rw-r--r--libjava/java/util/zip/ZipOutputStream.java26
-rw-r--r--libjava/jni.cc308
-rw-r--r--libjava/no-threads.cc26
-rw-r--r--libjava/nogc.cc81
-rw-r--r--libjava/posix-threads.cc360
-rw-r--r--libjava/prims.cc602
-rw-r--r--libjava/quick-threads.cc51
-rw-r--r--libjava/testsuite/ChangeLog326
-rw-r--r--libjava/testsuite/Makefile.am15
-rw-r--r--libjava/testsuite/Makefile.in251
-rw-r--r--libjava/testsuite/config/default.exp1
-rw-r--r--libjava/testsuite/lib/libjava.exp450
-rw-r--r--libjava/testsuite/libjava.compile/Case.java15
-rw-r--r--libjava/testsuite/libjava.compile/Semi.java8
-rw-r--r--libjava/testsuite/libjava.compile/Statics.java7
-rw-r--r--libjava/testsuite/libjava.compile/Twice.java14
-rw-r--r--libjava/testsuite/libjava.compile/Where.java12
-rw-r--r--libjava/testsuite/libjava.compile/euc_comment1.java5
-rw-r--r--libjava/testsuite/libjava.compile/euc_comment2.java5
-rw-r--r--libjava/testsuite/libjava.compile/euc_comment3.java5
-rw-r--r--libjava/testsuite/libjava.compile/perc.java9
-rw-r--r--libjava/testsuite/libjava.compile/sjis_comment1.java5
-rw-r--r--libjava/testsuite/libjava.compile/sjis_comment2.java5
-rw-r--r--libjava/testsuite/libjava.compile/sjis_comment3.java5
-rw-r--r--libjava/testsuite/libjava.compile/support/Case.java6
-rw-r--r--libjava/testsuite/libjava.compile/support/Waldo.java7
-rw-r--r--libjava/testsuite/libjava.compile/test.exp10
-rw-r--r--libjava/testsuite/libjava.lang/Array_1.java18
-rw-r--r--libjava/testsuite/libjava.lang/Array_1.out4
-rw-r--r--libjava/testsuite/libjava.lang/Finalize_1.java28
-rw-r--r--libjava/testsuite/libjava.lang/Finalize_1.out1
-rw-r--r--libjava/testsuite/libjava.lang/Float_1.java52
-rw-r--r--libjava/testsuite/libjava.lang/Float_1.out1
-rw-r--r--libjava/testsuite/libjava.lang/Invoke_1.java27
-rw-r--r--libjava/testsuite/libjava.lang/Invoke_1.out1
-rw-r--r--libjava/testsuite/libjava.lang/Synch.java17
-rw-r--r--libjava/testsuite/libjava.lang/Synch.out1
-rw-r--r--libjava/testsuite/libjava.lang/Thread_1.java182
-rw-r--r--libjava/testsuite/libjava.lang/Thread_1.out10
-rw-r--r--libjava/testsuite/libjava.lang/Throw_1.java25
-rw-r--r--libjava/testsuite/libjava.lang/Throw_1.out0
-rw-r--r--libjava/testsuite/libjava.lang/test.exp34
-rw-r--r--libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java31
-rw-r--r--libjava/testsuite/libjava.mauve/mauve.exp355
370 files changed, 173494 insertions, 0 deletions
diff --git a/libjava/COPYING.LIB b/libjava/COPYING.LIB
new file mode 100644
index 0000000..161a3d1
--- /dev/null
+++ b/libjava/COPYING.LIB
@@ -0,0 +1,482 @@
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+ 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the library GPL. It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it. You can use it for
+your libraries, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library. If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software. To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+ Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs. This
+license, the GNU Library General Public License, applies to certain
+designated libraries. This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+ The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it. Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program. However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+ Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries. We
+concluded that weaker conditions might promote sharing better.
+
+ However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves. This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them. (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.) The hope is that this
+will lead to faster development of free libraries.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+ Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License"). Each licensee is
+addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ c) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ d) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
+ MA 02111-1307, USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
new file mode 100644
index 0000000..befc152
--- /dev/null
+++ b/libjava/ChangeLog
@@ -0,0 +1,5035 @@
+1999-04-06 Tom Tromey <tromey@cygnus.com>
+
+ * gnu/gcj/protocol/http/Connection.java (getHeaderField): Catch
+ IOException from getHttpHeaders().
+ (getHeaderFieldKey): Likewise.
+
+ * include/javaprims.h: Regenerated declarations.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (ordinary_java_source_files): Updated for removed
+ files.
+
+1999-04-06 Per Bothner <bothner@cygnus.com>
+
+ * java/util/zip/Adler32.java: New class.
+ * java/util/zip/CRC32.java: Add working method bodies.
+ * Makefile.am (ordinary_java_source_files): Add new Adler32 class.
+ * Makefile.in: Re-generate.
+
+Tue Apr 6 18:28:42 1999 Warren Levy <warrenl@cygnus.com>
+
+ * gnu/gcj/protocol/http/Connection.java: New file. Rewritten
+ from version in removed www hierarchy.
+ * gnu/gcj/protocol/http/Handler.java: New file. Copied from
+ version in removed www hierarchy.
+
+ * gnu/gcj/www/protocol/http/Connection.java: Removed.
+ * gnu/gcj/www/protocol/http/Handler.java: Removed.
+ * gnu/gcj/www/protocol/http: Removed dir.
+ * gnu/gcj/www/protocol: Removed dir.
+ * gnu/gcj/www: Removed dir.
+
+ * java/net/HttpURLConnection.java: Revised comments to indicate
+ missing JDK 1.2 methods.
+
+ * java/net/URL.java (setURLStreamHandler): Look in gnu/gcj/protocol
+ hierarchy rather than the gnu/gcj/www/protocol one.
+ * java/net/URLConnection.java: Updated status comments.
+ (setContentHandler): Look in gnu/gcj/content hierarchy rather than
+ the gnu/gcj/www/content one.
+
+1999-04-06 Per Bothner <bothner@cygnus.com>
+
+ * Makefile.am (JIS0208_to_Unicode.cc, JIS0212_to_Unicode.cc):
+ The gen-from-JIS program is in $(CONVERT_DIR).
+
+1999-04-06 Tom Tromey <tromey@cygnus.com>
+
+ * mauve-libgcj: Renamed from mauve-libjava.
+
+Tue Apr 6 03:18:38 1999 Warren Levy <warrenl@cygnus.com>
+
+ * java/net/HttpURLConnection.java (getResponseCode): Implemented.
+ (getResponseMessage): Implemented.
+ (getResponseVals): New private method.
+
+ * java/net/URLConnection.java (getContent): Implemented.
+ (setContentHandler): Convert non-alphabetic/numeric chars per spec.
+
+1999-04-05 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.am (bin_PROGRAMS): Renamed convert to jv-convert.
+ (jv_convert_SOURCES): Renamed.
+ (EXTRA_jv_convert_SOURCES): Likewise.
+ (jv_convert_LDFLAGS): Likewise.
+ (jv_convert_LINK): Likewise.
+ (jv_convert_LDADD): Likewise.
+ (jv_convert_DEPENDENCIES): Likewise.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (toolexeclibdir): Reference toolexecdir, not
+ tooldir.
+
+Mon Apr 5 02:14:35 1999 Warren Levy <warrenl@cygnus.com>
+
+ * java/net/HttpURLConnection.java (setRequestMethod): Use String.equals
+ method for comparison.
+
+ * java/net/URLConnection.java (getContentLength): Implemented.
+ (getContentType): Implemented.
+ (getContentEncoding): Implemented.
+ (getExpiration): Implemented.
+ (getDate): Implemented.
+ (getLastModified): Implemented.
+ (getHeaderFieldInt): Implemented.
+ (getHeaderFieldDate): Implemented.
+
+Fri Apr 2 18:04:52 1999 Warren Levy <warrenl@cygnus.com>
+
+ * java/net/URLConnection.java (toString): Implemented.
+ (setContentHandlerFactory): Implemented.
+ (setContentHandler): Wrote new private helper method.
+
+1999-04-01 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am ($(java_source_files:.java=.class): Reverted change
+ of 1999-03-31; we always want to build all the .class files.
+ Depend on java_source_files, not libgcj.zip.
+ (nat_headers): Define in terms of ordinary_java_source_files.
+
+1999-03-31 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (special_java_source_files): New macro.
+ (java_source_files): Use it.
+ (ordinary_java_source_files): New macro.
+ (java_source_files): Use it.
+ ($(ordinary_java_source_files:.java=.class)): Renamed to avoid
+ creating headers for those files with hand-maintained headers.
+
+ * include/javaprims.h: Regenerated namespace declarations.
+ * classes.pl (scan): Include [0-9] in regexp for matching class
+ names; for java.util.zip.CRC32.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Redefined to generate all possible
+ header files.
+
+ * java/util/zip/ZipException.java: In package java.util.zip, not
+ java.net.
+
+1999-03-30 Tom Tromey <tromey@cygnus.com>
+
+ * configure: Rebuilt.
+ * configure.in (EH_COMMON_INCLUDE): Look in ../compat-include for
+ eh-common.h when not building in tree with gcc.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am ($(nat_files) $(GCOBJS) $(THREADOBJS)
+ $(libgcj_a_OBJECTS)): Changed how we list files that depend on
+ nat_headers.
+ ($(java_source_files:.java=.class)): New target.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (java_source_files): Added
+ java/net/HttpURLConnection.java and
+ gnu/gcj/www/protocol/http/Connection.java.
+
+Tue Mar 30 15:20:45 1999 Warren Levy <warrenl@cygnus.com>
+
+ * gnu/gcj/www/protocol/http/Connection.java: New file.
+ * gnu/gcj/www/protocol/http/Handler.java (openConnection): Implemented.
+ * java/net/HttpURLConnection.java: New file.
+ * java/net/URLConnection.java (getHeaderField): Implemented default.
+ (getHeaderFieldKey): Implemented default method.
+
+1999-03-30 Tom Tromey <tromey@cygnus.com>
+
+ * gnu/gcj/convert/JIS0212.h, gnu/gcj/convert/JIS0208.h: Rebuilt.
+
+ * java/util/zip/Deflater.java: Added copyright header.
+ * java/util/zip/CRC32.java: Added copyright header.
+
+ * Makefile.am ($(srcdir)/$(CONVERT_DIR)/JIS0208.h): Note in file
+ that it is automatically generated.
+ ($(srcdir)/$(CONVERT_DIR)/JIS0212.h): Likewise.
+
+ * gnu/gcj/convert/BytesToUnicode.java,
+ gnu/gcj/convert/Convert.java, gnu/gcj/convert/Input_8859_1.java,
+ gnu/gcj/convert/Input_EUCJIS.java,
+ gnu/gcj/convert/Input_UTF8.java,
+ gnu/gcj/convert/JIS0208_to_Unicode.cc,
+ gnu/gcj/convert/JIS0212_to_Unicode.cc,
+ gnu/gcj/convert/Output_8859_1.java,
+ gnu/gcj/convert/Output_JavaSrc.java,
+ gnu/gcj/convert/Output_UTF8.java,
+ gnu/gcj/convert/UnicodeToBytes.java,
+ gnu/gcj/convert/natInput_EUCJIS.cc: Added copyright headers.
+
+ * gnu/gcj/convert/gen-from-JIS.c (main): Fixed incorrect fprintf.
+
+ * Makefile.in, configure: Rebuilt.
+ * configure.in (TESTSUBDIR): Enable if testsuite subdir exists,
+ not if test subdir exists.
+ (--enable-gcj-classes): Removed; gcj always used to generate
+ .class files.
+ (JAVA, JAVAC): Removed.
+ (--enable-single-compilation, --enable-source-compilation):
+ Removed.
+ (here): New subst.
+ (NATIVE): New conditional.
+ * Makefile.am (toolexecdir): Renamed from tooldir to allow
+ `install-exec' to work.
+ (toolexeclibdir): Likewise.
+ (toollib_LIBRARIES): Likewise.
+ (AM_MAKEFLAGS): Don't pass tooldir.
+ (JAVAC): New macro.
+ (javao_files): Redefined.
+ (java_source_files): New macro.
+ (c_source_files): New macro.
+ (c_files): Redefined in terms of c_source_files.
+ (java_io_files, java_lang_files, java_net_files, java_text_files,
+ java_util_files, gnu_files, java_files): Removed.
+ (class_io_files, class_lang_files, class_net_files,
+ class_text_files, class_util_files, class_gnu_files, class_files):
+ Removed.
+ (nat_source_files): New macro.
+ (nat_files): Redefined in terms of nat_source_files.
+ (EXTRA_libgcj_a_SOURCES): Added c_source_files,
+ java_source_files. Removed no-such-file.c.
+ (here): Removed.
+ (ETAGS_ARGS): Removed.
+ (TAGS_DEPENDENCIES): Likewise.
+ (libgcj.zip): Depend on java_source_files. Use $(here) and not
+ pwd in rule.
+ (src_io_files, src_lang_files, src_text_files, src_util_files,
+ src_gnu_files): Removed.
+ Removed ALL_AT_ONCE and COMPILE_FROM_CLASS code.
+ (BUILT_SOURCES): Removed.
+ (header-check): New target.
+ (javadir): Removed.
+ (noinst_PROGRAMS): New macro.
+ ($(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc): Conditionalize
+ on MAINTAINER_MODE.
+ ($(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc): Likewise.
+ (gen-from-JIS): Build in top directory.
+ (convert_source_files): New macro.
+ (convert_SOURCES): New macro.
+ (convert_LDFLAGS): Likewise.
+ (convert_LINK): Likewise.
+ (convert_LDADD): Likewise.
+ (convert_DEPENDENCIES): Likewise.
+ (convert): Removed.
+ (gen-from-JIS): Removed.
+ (gen_from_JIS_SOURCES): New macro.
+ (gen_from_JIS_LDADD): Likewise.
+ (gen_from_JIS_DEPENDENCIES): Likewise.
+
+ * configure: Rebuilt.
+ * configure.in (CANADIAN): Set to `yes', not `canadian'.
+ (NULL_TARGET): Initialize to `no'. Correctly examine $NULL_TARGET
+ when defining conditional.
+
+Tue Mar 30 10:36:27 1999 Per Bothner <bothner@cygnus.com>
+
+ * gnu/gcj/convert/{JIS0208.TXT,JIS0212.TXT}: Remove these files.
+ The Unicode Consortium does not permit their re-distribution.
+ * Makefile.am, Makefile.in: Add comments with URLs for removed files.
+ (JIS0208.h, JIS0212.h): Do not depend on removed files.
+
+Mon Mar 29 18:58:13 1999 Per Bothner <bothner@cygnus.com>
+
+ * natSystem.c (init_properties): Use malloc, realloc, free after all.
+
+Mon Mar 29 13:41:02 1999 Per Bothner <bothner@cygnus.com>
+
+ * gnu/gcj/convert/{JIS0208.TXT,JIS0212.TXT}: New mapping tables
+ from Unicode Consortium.
+ * gnu/gcj/convert/{JIS0208.h,JIS0212.h}: New generated headers.
+ * gnu/gcj/convert/gen-from-JIS.c: New utility for maintainers only.
+ * gnu/gcj/convert/{JIS0208_to_Unicode.cc,JIS0212_to_Unicode.cc}:
+ New tables, generated using gen-from-JIS.
+ * gnu/gcj/convert/Output_JavaSrc.java: New UnicodeToBytes class.
+ * gnu/gcj/convert/Output_UTF8.java: Fix bug.
+ * gnu/gcj/convert/Input_EUCJIS.java: New BytesToUnicode class.
+ * gnu/gcj/convert/natInput_EUCJIS.cc: Native methods for new class.
+
+ * gnu/gcj/convert/Convert.java: New application.
+ * Makefile.am, Makefile.in (convert): New program, using Convert.
+ Build the various JIS conversion tables (in maintainer mode).
+
+Fri Mar 26 16:51:30 1999 Warren Levy <warrenl@cygnus.com>
+
+ * gnu/gcj/www/protocol/http/Handler.java: New file - stubbed.
+
+ * java/net/URL.java (URL): Deal with null property value. Use "."
+ as separator in building class name.
+ * java/net/URLConnection.java: Implemented majority of stubbed methods.
+ * java/net/URLStreamHandler.java (parseURL): Use "" in string
+ manipulations instead of 'null'. Comment cleanup. Use 0 for the
+ beginning of the substring rather than 'start'.
+
+1999-03-26 Tom Tromey <tromey@cygnus.com>
+
+ * include/java-chartables.h: Rebuilt.
+ * include/java-chardecomp.h: New file.
+ * chartables.pl: Generate output files directly. Added support
+ for generating decomposition header.
+ (canonical_decomposition, full_decomposition): New globals.
+ (DECOMPOSITION): New constant.
+ (process_char): Call add_decomposition.
+ (add_decomposition): New sub.
+ (write_decompositions): New sub.
+
+1999-03-25 Tom Tromey <tromey@cygnus.com>
+
+ * java/text/CollationElementIterator.java: New file.
+
+ * mauve-libjava: Omit StringTest.
+
+Wed Mar 24 15:17:49 1999 Warren Levy <warrenl@cygnus.com>
+
+ * java/net/URL.java (URL(URL, String, URLStreamHandler)): Allow URLs
+ without a '/' when parsing protocol. Handle ref outside of parseURL.
+ (hashCode): Implemented.
+ (set): Don't expand -1 to default port.
+ (getDefaultPort): Removed.
+
+ * java/net/URLStreamHandler.java (parseURL): Implemented.
+ (toExternalForm): Implemented.
+
+1999-03-23 Tom Tromey <tromey@cygnus.com>
+
+ * java/text/BreakIterator.java (getSentenceInstance):
+ Implemented.
+ * gnu/gcj/text/SentenceBreakIterator.java: New file.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added IllegalAccessException.
+ * java/lang/natClass.cc (newInstance): Throw
+ IllegalAccessException, not IllegalAccessError.
+ Include IllegalAccessException.h.
+
+1999-03-22 Tom Tromey <tromey@cygnus.com>
+
+ * gnu/gcj/text/LineBreakIterator.java: New file.
+ * java/text/BreakIterator.java (getLineInstance): Implemented.
+
+ * gnu/gcj/text/WordBreakIterator.java (WordBreakIterator): Made
+ copy constructor private.
+ (previous, next): Removed erroneous comment about line
+ separators.
+ (previous): Correctly recognize break between non-letter on the
+ left and letter on the right. Handle apostrophes correctly.
+
+ * java/text/BreakIterator.java (getWordInstance): Implemented.
+ * gnu/gcj/text/WordBreakIterator.java: New file.
+ * gnu/gcj/text/CharacterBreakIterator.java: Extend
+ BaseBreakIterator.
+ * gnu/gcj/text/BaseBreakIterator.java: New file.
+
+1999-03-19 Tom Tromey <tromey@cygnus.com>
+
+ * java/text/BreakIterator.java: New file (partially stubbed out).
+ * gnu/gcj/text/CharacterBreakIterator.java: New file.
+
+ * include/config.h.in: Rebuilt.
+ * acconfig.h (STRUCT_TM_HAS_GMTOFF): New define.
+ (HAVE_TIMEZONE): Likewise.
+ * configure: Rebuilt.
+ * configure.in: Added timezone checks.
+ * java/util/natGregorianCalendar.cc (computeTime): Adjust for
+ timezone.
+
+Fri Mar 19 15:26:35 1999 Per Bothner <bothner@cygnus.com>
+
+ * gnu/gcj/convert/BytesToUnicode.java: New abstract class.
+ * gnu/gcj/convert/UnicodeToBytes.java: New abstract class.
+ * gnu/gcj/convert/Input_8859_1.java: New BytesToUnicode sub-class.
+ * gnu/gcj/convert/Input_UTF8.java: New BytesToUnicode sub-class.
+ * gnu/gcj/convert/Output_8859_1.java: New UnicodeToBytes sub-class.
+ * gnu/gcj/convert/Output_UTF8.java: New UnicodeToBytes sub-class.
+ * java/io/InputStreamReader.java: Rewrite to use BytesToUnicode.
+ * java/io/OutputStreamWriter.java: Rewrite to use UnicodeToBytes.
+
+ * java/io/natFileDescriptorPosix.cc (open): Use O_BINARY flag.
+ (BSD_COMP): Kludge needed for Solaris2.
+
+Fri Mar 19 01:49:46 1999 Warren Levy <warrenl@cygnus.com>
+
+ * java/net/URL.java (URL(java.net.URL, string): Moved code to
+ URL(java.net.URL, string, URLStreamHandler) and call it with a
+ null handler. In latter constructor, added SecurityManager check.
+ (set): Expect null handler on bad protocol rather than an exception.
+ (setURLStreamHandler): Simplified exception handling; return null
+ on invalid protocol.
+
+1999-03-18 Tom Tromey <tromey@cygnus.com>
+
+ * java/text/DecimalFormat.java (format(long,...)): Rewrote.
+
+ * java/lang/natSystem.cc (setOut, setIn, setErr): New native
+ methods.
+ Include PrintStream.h, InputStream.h.
+ * java/lang/System.java (ForwardingInputStream,
+ ForwardingOutputStream): Removed.
+ (setErr, setIn, setOut): Now native.
+
+ Reverted patch from 1999-02-12 to work around problem in
+ libgcc2.c.
+ * exception.cc (_Jv_eh_alloc): Use malloc, not _Jv_AllocBytes.
+ (_Jv_eh_free): Use free.
+
+ * java/io/natFileDescriptorPosix.cc (open): Allocate enough space
+ for path name. Minor formatting fixes.
+
+ * boehm.cc (_Jv_MarkObj): Always mark `methods' field.
+
+ * prims.cc (fail_on_finalization): New function.
+ (_Jv_GCWatch): Likewise.
+
+ * prims.cc (JvRunMain): Initialize `nullp'.
+ (nullp): New global.
+ (catch_segv): Throw nullp.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (ZIP): In "null target" case, zip is found in the
+ build tree.
+
+ * prims.cc (_Jv_PrimClass): Initialize all elements of class
+ object.
+ Include Modifier.h.
+
+ * java/lang/StringBuffer.java (StringBuffer): Don't use
+ ensureCapacity to set initial capacity.
+ (capacity): Subtract `length' from return result.
+
+Thu Mar 18 01:53:35 1999 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/natFileDescriptorPosix.cc (open): Throw
+ FileNotFoundException, but with filename and errno in msg.
+
+Wed Mar 17 11:09:30 1999 Warren Levy <warrenl@cygnus.com>
+
+ * gnu/gcj/www/protocol/URLStreamHandlerFactory.java: Removed;
+ functionality folded into java/net/URL.java per spec.
+
+ * java/io/natFileDescriptorPosix.cc (open): Check for ENOENT rather
+ than EEXIST for throwing FileNotFoundException.
+
+ * java/net/URL.java: Folded in default URLStreamHandlerFactory
+ algorithm per JDK 1.2 doc. Added SecurityManager checks.
+
+ * java/net/URLStreamHandler.java (parseURL): Added stub.
+
+1999-03-15 Andrew Haley <aph@cygnus.com>
+
+ * java/text/ChoiceFormat.java (nextDouble): Simplify and fix off
+ by one errors.
+
+1999-03-15 Andrew Haley <aph@cygnus.com>
+
+ * java/lang/natSystem.cc (currentTimeMillis): Restore eCos clock
+ support.
+
+1999-03-12 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (catch_segv): New function.
+ Include <signal.h> if HANDLE_SEGV defined. Include
+ NullPointerException.h.
+ (JvRunMain): If HANDLE_SEGV defined, install catch_segv as SIGSEGV
+ handler.
+
+ * java/text/SimpleDateFormat.java (equals): Ensure that object is
+ a SimpleDateFormat, not just a DateFormat.
+ (defaultCenturyStart, formatData, pattern): Now private.
+ (append): Now `final'. Use `NumberFormat.format'.
+ (parse): Wrote.
+ (SimpleDateFormat): Turn off groupin in NumberFormat object.
+
+ * java/lang/natString.cc (indexOf): Add `fromIndex' to successful
+ result.
+
+ * java/text/MessageFormat.java (format): Use default MessageFormat
+ constructor.
+ (parse, parseObject): Wrote.
+
+ * java/text/SimpleDateFormat.java (SimpleDateFormat): Wrote no-arg
+ constructor.
+
+1999-03-12 Andrew Haley <aph@cygnus.com>
+
+ * java/lang/String.java (indexOf): Replace with native method for
+ better performance.
+ * java/lang/natString.cc (IndexOf): As above.
+
+ * java/lang/natString.cc (init(jbyteArray,jint,jint,jint)):
+ Argument check corrected.
+ (init(jbyteArray,jint,jint,jstring)): Likewise.
+
+ * java/lang/StringBuffer.java (ensureCapacity): Replace with JDK
+ 1.2 compliant method.
+
+ * java/lang/Double.java (byteValue, shortValue): JDK 1.1 methods
+ added.
+ * java/lang/Float.java (byteValue, shortValue): Likewise.
+
+1999-03-11 Tom Tromey <tromey@cygnus.com>
+
+ * java/text/DecimalFormat.java (parse): Wrote.
+
+ * java/text/ChoiceFormat.java (parse): Set error index on
+ ParsePosition object.
+
+ * java/lang/Integer.java (parseInt): Throw exception on overflow
+ when intermediate result is most negative number. Changed
+ overflow detection as well.
+ * java/lang/Long.java (parseLong): Likewise.
+
+ * configure, Makefile.in: Rebuilt.
+ * configure.in (NULL_TARGET, CANADIAN): New conditionals. Set
+ CANADIAN when building in source tree that doesn't include gcc.
+ * Makefile.am (ZIP, GCJ, GCJH): Use automake conditionals to
+ define.
+
+ * java/text/ChoiceFormat.java (nextDouble): Correct some
+ off-by-one errors when masking or adding.
+
+ * java/text/DecimalFormat.java (format): Fill in FieldPosition
+ parameter, if given. Use `%', not IEEEremainder.
+ (scanFix): Throw error if multiplier already set.
+ (computePattern): Wrote.
+
+1999-03-11 Andrew Haley <aph@cygnus.com>
+
+ * java/text/ChoiceFormat.java (mantissaBits): Use correct value of
+ 52.
+ (nextDouble): Corrected masking logic. Handle interaction between
+ `next' and negative numbers.
+
+Wed Mar 10 18:58:37 1999 Warren Levy <warrenl@cygnus.com>
+
+ * gnu/gcj/www/protocol/URLStreamHandlerFactory.java: Created.
+ * java/net/URL.java: Added general comments.
+
+1999-03-10 Tom Tromey <tromey@cygnus.com>
+
+ * java/text/ChoiceFormat.java (parse): Wrote.
+
+ * java/text/ChoiceFormat.java (toPattern): Use `#', not `<'.
+
+ * java/text/MessageFormat.java (MessageFormatElement.setLocale):
+ Create ChoiceFormat objects.
+ (format): Special-case ChoiceFormat.
+ (scanFormatElement): Include { and } in generated style string.
+
+1999-03-09 Tom Tromey <tromey@cygnus.com>
+
+ * java/text/ChoiceFormat.java: New file.
+
+Tue Mar 9 17:09:18 1999 Warren Levy <warrenl@cygnus.com>
+
+ * java/net/BindException.java: Created.
+ * java/net/ConnectException.java: Created.
+ * java/net/ContentHandler.java: Created.
+ * java/net/ContentHandlerFactory.java: Created.
+ * java/net/FileNameMap.java: Created.
+ * java/net/MalformedURLException.java: Created.
+ * java/net/NoRouteToHostException.java: Created.
+ * java/net/ProtocolException.java: Created.
+ * java/net/ServerSocket.java (@author): Fixed typo.
+ * java/net/Socket.java (@author): Fixed typo.
+ * java/net/SocketImpl.java (@author): Fixed typo.
+ * java/net/SocketImplFactory.java (@author): Fixed typo.
+ * java/net/URL.java: Created - nearly complete.
+ * java/net/URLConnection.java: Created - near-empty stub.
+ * java/net/URLStreamHandler.java: Created - incomplete stub.
+ * java/net/URLStreamHandlerFactory.java: Created.
+ * java/net/UnknownServiceException.java: Created.
+
+1999-03-09 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/System.java (ForwardingInputStream): New class.
+ (ForwardingOutputStream): Likewise.
+ (in, out, err): Now `final' forwarding streams.
+ (setIn, setOut, setErr): Use appropriate method on forwarding
+ streams.
+
+ * java/text/MessageFormat.java (MessageFormatElement): Now `final'
+ class.
+
+Tue Mar 9 12:16:53 1999 Per Bothner <bothner@cygnus.com>
+
+ * java/util/zip/CRC32.java: New class (just an incomplete stub).
+ * java/util/zip/Checksum.java: New interface (complete).
+ * java/util/zip/Deflater.java: New class (near-empty stub).
+ * java/util/zip/DeflaterOutputStream.java: New class (incomplete stub).
+ * java/util/zip/ZipConstants.java: New interface (near-empty stub).
+ * java/util/zip/ZipEntry.java: New class (complete).
+ * java/util/zip/ZipException.java: New class (complete).
+ * java/util/zip/ZipFile.java: New class (incomplete stub).
+ * java/util/zip/ZipOutputStream.java: New class (incomplete stub).
+
+1999-03-09 Tom Tromey <tromey@cygnus.com>
+
+ * java/text/MessageFormat.java (MessageFormatElement): Removed
+ `public' specifiers.
+
+ * java/text/DecimalFormat.java (scanFormat): Increment index
+ before processing exponential format. Fixed a couple typos in
+ exception messages.
+ (format): Correct normalization of exponent.
+
+1999-03-08 Tom Tromey <tromey@cygnus.com>
+
+ * java/text/SimpleDateFormat.java (parse): Throw
+ IllegalArgumentException, not ParseException.
+
+1999-03-05 Tom Tromey <tromey@cygnus.com>
+
+ * java/text/SimpleDateFormat.java (SimpleDateFormat): Use locale
+ when constructing DateFormatSymbols. Initialize numberFormat
+ field of superclass.
+
+ * java/text/DateFormat.java (equals): Rewrote.
+ (getAvailableLocales): New method.
+ (getDateInstance): New methods.
+ (getDateTimeInstance): Likewise.
+ (getTimeInstance): Likewise.
+ (getInstance): New method.
+ (computeInstance): New method.
+
+ * java/text/DateFormatSymbols.java (zoneStringsDefault): Completed
+ for US.
+ (safeGetResource): New method.
+ (DateFormatSymbols): Use Locale paramater.
+ (equals): Now protected.
+ Made instance variables private.
+
+1999-03-04 Tom Tromey <tromey@cygnus.com>
+
+ * java/text/DecimalFormat.java: New file.
+
+ * java/text/NumberFormat.java (groupingUsed,
+ maximumFractionDigits, maximumIntegerDigits,
+ minimumFractionDigits, minimumIntegerDigits, parseIntegerOnly):
+ New fields.
+ (setDecimalSeparatorAlwaysShown, setMultiplier,
+ setPositivePrefix): Removed.
+ (setMinimumFractionDigits, setMaximumFractionDigits):
+ Implemented.
+ (format): Now final.
+ Added many new methods.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (gnu_files): New macro.
+ (java_files): Added gnu_files.
+ (class_gnu_files): New macro.
+ (class_files): Use it.
+ (src_gnu_files): New macro.
+ (gnu.o): New target.
+ (javao_files): Added gnu.o.
+
+ * gnu/gcj/text/LocaleData_en_US.java: New file.
+ * gnu/gcj/text/LocaleData_en.java: New file.
+ * java/text/DecimalFormatSymbols.java: Import ResourceBundle.
+ (DecimalFormatSymbols): Use ResourceBundle to find resources.
+ (safeGetString): New method.
+ (safeGetChar): Likewise.
+
+1999-03-03 Tom Tromey <tromey@cygnus.com>
+
+ * java/text/NumberFormat.java (INTEGER_FIELD, FRACTION_FIELD): New
+ constants.
+
+ * java/text/FieldPosition.java (equals): Don't check for null
+ object; instanceof does this.
+
+ * java/util/Locale.java (clone): New method.
+ (equals): Likewise.
+
+Wed Mar 3 17:20:15 1999 Anthony Green <green@cygnus.com>
+
+ * doc/cni.sgml: New file.
+
+1999-03-03 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (_Jv_Abort): Mention libgcj, not libjava.
+
+ * java/text/DecimalFormatSymbols.java: New file.
+
+1999-03-02 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/natFileDescriptorPosix.cc: Include sys/filio.h if it
+ exists.
+ * configure: Rebuilt.
+ * configure.in: Check for sys/filio.h.
+
+ * java/lang/Runtime.java (checkLink): Throw NullPointerException
+ if required.
+ (load): Always throw UnsatisfiedLinkError.
+ (loadLibrary): Likewise.
+
+1999-03-02 Anthony Green <green@cygnus.com>
+
+ * LIBGCJ_LICENSE: New file.
+ * LIBJAVA_LICENSE: Removed.
+ * Many files: libjava now libgcj.
+
+1999-03-02 Tom Tromey <tromey@cygnus.com>
+
+ * include/java-chartables.h: Rebuilt.
+ * chartables.pl (print_block): Make table `const'.
+ (print_numerics): Likewise.
+ (print_single_map): Likewise.
+ (print_all_block): Likewise.
+ (print_case_table): Likewise.
+ (print_fast_tables): Likewise.
+ * java/lang/natCharacter.cc (table_search): `table' argument now
+ const.
+
+1999-03-01 Tom Tromey <tromey@cygnus.com>
+
+ * java/util/Date.java (before, after): Inverted logic.
+
+ * java/util/Date.java (parse): Handle case where first character
+ in string is open parenthesis.
+ (skipParens): Rewrote.
+
+ * java/lang/reflect/natArray.cc: Include <stdlib.h>.
+ * java/lang/reflect/natField.cc: Include <stdlib.h>.
+
+ * java/util/Date.java (parse): Correctly compute beginning of
+ punctuation.
+
+ * java/util/Hashtable.java (get): Throw NullPointerException if
+ key is null.
+ (containsKey): Likewise.
+
+ * java/util/Properties.java (list): Truncate value to 37
+ characters and add `...'.
+
+ * java/lang/Byte.java (parseByte): Pass `radix' to
+ Integer.parseInt.
+
+ * prims.cc (_Jv_Abort): In non-DEBUG case, use System.err, not
+ fprintf.
+ Include System.h, PrintStream.h.
+
+ * java/lang/natSystem.cc (init_properties): Don't use malloc,
+ realloc, or free.
+
+ * java/lang/natSystem.cc (init_properties): Use getpwuid_r if it
+ exists.
+ * configure: Rebuilt.
+ * configure.in: Check for getpwuid_r. Look for `pwd.h', not
+ `pwd.d'.
+
+ * mauve-libjava: Omit AttibutedCharacterIterator, ACIAttribute.
+
+ * java/lang/SecurityManager.java: Import java.net.*.
+ (checkMulticast): New methods.
+
+Fri Feb 26 14:54:52 1999 Per Bothner <bothner@cygnus.com>
+
+ * Makefile.am, Makefile.in (java/lang/reflect/Method.h): New rule.
+ (nat_files): Add java/lang/reflect/natArray.o.
+ (nat_headers): Add Field.h and NoSuchFieldException.h.
+
+ * include/java-field.h (_Jv_GetStaticLongField, _Jv_GetStaticIntField,
+ _Jv_GetStaticShortField, _Jv_GetStaticByteField): New inline methods.
+ (_Jv_FromReflectedField): Fix buglet.
+ * include/jvm.h (_Jv_NewMultiArray): New declaration.
+ * include/java-assert.h (JvFail): Pass message string to _Jv_Abort.
+ * prims.cc (_Jv_Abort): Include message in print-out.
+
+ * prims.cc (_Jv_equal): New method (compare Utf8Const and jstring).
+ (new_multi_array): Rename to _Jv_NewMultiArray. Make non-static.
+ * include/jvm.h (_Jv_NewMultiArray, _Jv_equal): New declarations.
+
+ * configure.in (AC_CHECK_HEADERS), configure: Add pwd.h.
+ * include/config.h.in (HAVE_PWD_H): New feature macro.
+ * java/lang/natSystem.cc (init_properties): Set file.encoding,
+ user.name, user.home, user.dir.
+
+ * java/lang/reflect/Array.java: New class.
+ * java/lang/reflect/natArray.cc: New native methods.
+ * include/javaprims.h: Declare java::lang::reflect::Array.
+
+ * java/lang/Class.h (getField): New private method. Add friends.
+ * java/lang/Class.java (getField): Add private overload.
+ * java/lang/natClass.cc (getField, getField, getDeclaredField,
+ getDeclaredMethods): Add working implementations.
+ * java/lang/reflect/Field.java, java/lang/reflect/natField.cc:
+ Finish implementation, except for access control.
+
+ * java/lang/reflect/Modifier.java (toString): New overload.
+ * include/java-method.h: New file.
+ * java/lang/reflect/Method.java (index): Replaced by offset field.
+ Remove various private fields - get them from _Jv_Field instead.
+ * java/lang/reflect/natMethod.cc (getModifiers, getName, getType):
+ New method implementations.
+
+ * java/text/NumberFormat.java: Add a bunch of methods.
+
+Mon Feb 22 17:52:34 1999 Per Bothner <bothner@cygnus.com>
+
+ * java/lang/StringBuffer.java (getChars): Fix bounds checks.
+
+1999-02-26 Tom Tromey <tromey@cygnus.com>
+
+ * include/config.h.in: Rebuilt.
+ * acconfig.h (GETHOSTBYNAME_R_RETURNS_INT,
+ GETHOSTBYADDR_R_RETURNS_INT, HAVE_GETHOSTBYNAME_R,
+ HAVE_GETHOSTBYADDR_R): New defines.
+ * java/net/natInetAddress.cc (lookup): Use gethostbyname_r and
+ gethostbyaddr_r if available.
+ Include <errno.h>.
+ * configure: Rebuilt.
+ * configure.in: Check for gethostbyname_r, gethostbyaddr_r.
+
+ * java/net/natInetAddress.cc (aton): Use _Jv_AllocBytesChecked.
+ Don't use JvFree.
+ (lookup): Likewise.
+ Include <jvm.h>.
+ * include/jvm.h (_Jv_AllocBytesChecked): Declare.
+ * prims.cc (_Jv_AllocBytesChecked): New function.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (SUBDIRS): Removed `test'.
+ * configure: Rebuilt.
+ * configure.in: Don't build test/Makefile.
+ * test/*: Removed all files.
+
+Thu Feb 25 17:27:37 1999 Warren Levy <warrenl@cygnus.com>
+
+ * java/lang/reflect/Constructor.java: Make class final to match spec.
+ * java/lang/reflect/Method.java: Ditto.
+
+1999-02-25 Tom Tromey <tromey@cygnus.com>
+
+ * java/net/natInetAddress.cc: Include <sys/types.h> before
+ <sys/socket.h>.
+ * java/net/natPlainSocketImpl.cc: Include <sys/types.h> before
+ <sys/socket.h>.
+
+ * java/net/natInetAddress.cc: Declare gethostname if required.
+ * include/config.h.in: Rebuilt.
+ * acconfig.h (HAVE_GETHOSTNAME_DECL): New define.
+ * configure: Rebuilt.
+ * configure.in: Define HAVE_GETHOSTNAME_DECL when gethostname is
+ declared in unistd.h.
+
+1999-02-24 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (java/io/FileDescriptor.h): Removed target.
+ * java/io/FileDescriptor.java (FileDescriptor): Changed protection
+ from private to "none".
+
+ * include/javaprims.h: Regenerated class declarations with new
+ classes.pl.
+ * classes.pl (scan): Only generate decls for java.lang, java.io,
+ and java.util.
+
+1999-02-24 Tom Tromey <tromey@cygnus.com>
+
+ * posix-threads.cc (_Jv_InitThreads): Mask SIGINT in all threads.
+ (_Jv_ThreadWait): Allow SIGINT to be delivered to waiting thread.
+
+1999-02-23 Tom Tromey <tromey@cygnus.com>
+
+ * java/util/natGregorianCalendar.cc (_REENTRANT): Only define if
+ not already defined.
+ * java/io/natFile.cc (_REENTRANT): Only define if not already
+ defined.
+ * include/config.h.in: Rebuilt.
+ * acconfig.h (HAVE_BOEHM_GC): New define.
+ * configure: Rebuilt.
+ * configure.in: Define HAVE_BOEHM_GC if using it.
+ * posix-threads.cc: Include boehm-config.h and gc.h if
+ HAVE_BOEHM_GC.
+ * include/posix-threads.h: Added explanatory note about Boehm GC.
+
+ * java/io/BufferedReader.java (readLine): Only return null when
+ EOF seen before any characters read. (In particular, an empty
+ line should not return null.)
+
+ * java/io/BufferedInputStream.java (read): Only refill once per
+ invocation.
+
+ * mauve-libjava: Added java.text.StringCharacterIterator.iter,
+ java.lang.Character.classify12, java.lang.String.hash,
+ java.text.FieldPosition.Test, java.text.ParsePosition.Test,
+ java.text.SimpleDateFormat.getAndSet2DigitYearStart
+
+ * java/text/StringCharacterIterator.java (setIndex): No error if
+ index == end.
+ (next): Check for `pos == end', not `end - 1'.
+ (StringCharacterIterator): Allow `pos == end'. Explicitly check
+ for null text in each constructor.
+ (clone): Fixed order of arguments to constructor.
+
+1999-02-22 Tom Tromey <tromey@cygnus.com>
+
+ * include/config.h.in: Rebuilt.
+ * acconfig.h (HAVE_INET6): New define.
+ (HAVE_SOCKLEN_T): Likewise.
+ * java/net/PlainSocketImpl.java: Added copyright header.
+ * java/net/natPlainSocketImpl.cc: Added copyright header.
+ (union SockAddr): Use HAVE_INET6, not AF_INET6.
+ (bind): Likewise.
+ (connect): Likewise.
+ (accept): Likewise.
+ (socklen_t): New typedef.
+ (accept): Use socklen_t.
+ * java/net/natInetAddress.cc: Added copyright header.
+ (HAVE_GETHOSTNAME): Don't define.
+ (HAVE_INET_ADDR): Likewise.
+ (lookup): Fixed typo.
+ (aton): Don't use `address' as name of local variable.
+ (lookup): Use HAVE_INET6, not AF_INET6.
+
+ * configure: Rebuilt.
+ * configure.in: Look for functions inet_aton, inet_addr,
+ gethostname, inet_pton, uname. Check for sockaddr_in6 structure.
+ Check for socklen_t typedef.
+
+ * exception.cc (__throw): Declare as __noreturn__.
+
+Mon Feb 22 15:27:35 1999 Per Bothner <bothner@cygnus.com>
+
+ * Makefile.am, Makefile.in: Also build java/net.
+ (java/io/FileDescriptor.h): Add friend java::net::PlainSocketImpl.
+
+ * java/io/natFile.cc: #define _POSIX_PTHREAD_SEMANTICS and _REENTRANT.
+ * java/util/natGregorianCalendar.cc: #define _REENTRANT.
+
+ * prims.cc (_Jv_malloc, _Jv_Free): New functions.
+ * include/cni.h (JvMalloc, JvFree): New inline functions.
+ (JvThrow): Add __noreturn__ attribute.
+ * include/javaprims.h (_Jv_Malloc, _Jv_Free): New declarations.
+ (_Jv_Throw): Add __noreturn__ attribute.
+
+ * java/net/PlainSocketImpl.java: Init fnum to -1.
+ * java/net/ServerSocket.java: Add missing throws clauses.
+ * java/lang/Socket.java: For the constructor taking a SocketImpl,
+ don't call create on the latter. Instead, other constructors
+ have to explicitly call SocketImpl.create.
+ * java/net/natPlainSocketImpl.cc (accept): Change variable addrlen
+ from size_t to int, to match ::accept prototype.
+ * java/net/natInetAddress.cc: Use JvFree rather than free.
+
+
+1999-02-22 Tom Tromey <tromey@cygnus.com>
+
+ * include/javaprims.h: Added new classes.
+ * java/text/StringCharacterIterator.java: New file.
+ * java/text/CharacterIterator.java: New file.
+
+ * java/text/ParseException.java (errorOffset): Now private.
+
+Mon Feb 22 12:54:53 1999 Per Bothner <bothner@cygnus.com>
+
+ * java/net: New package.
+ * java/net/{InetAddress.java,PlainSocketImpl.java,ServerSocket.java,
+ Socket.java,SocketException.java,SocketImpl.java,
+ SocketImplFactory.java,UnknownHostException.java,natInetAddress.cc,
+ natPlainSocketImpl.cc}: New classes.
+
+ * configure.in (AC_CHECK_HEADERS): Also check for <sys/socket.h>,
+ <netinet.in.h>, <arpa/inet.h> and <netdb.h>.
+ * include/config.h.in: Add place-holders for HAVE_ARPA_INET_H,
+ HAVE_NETDB_H, HAVE_NETINET_IN_H, and HAVE_SYS_SOCKET_H.
+
+ * classes.pl: Translate package into "namespace", not "class".
+ * include/javaprims.h: Update class list, using "namespace".
+
+1999-02-21 Tom Tromey <tromey@cygnus.com>
+
+ * java/util/natGregorianCalendar.cc (_POSIX_PTHREAD_SEMANTICS):
+ Define when appropriate.
+
+1999-02-20 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natString.cc (_Jv_GetStringUTFRegion): Encode \u007f
+ as a single byte and \u07ff as two bytes.
+ (_Jv_GetStringUTFLength): Likewise.
+ * include/jvm.h (UTF8_GET): Mask first byte of 3-byte encoding
+ with 0x0f, not 0x1f.
+
+1999-02-19 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/DataOutputStream.java (writeUTF): When encoding
+ character as 3 bytes, `or' first byte with 0xe0, not 0xc0.
+ * java/io/DataInputStream.java (readUTF): Mask second byte of
+ 3-byte character with 0x3f, not 0x1f.
+
+ * java/io/DataInputStream.java (readLong): Cast result of
+ readUnsignedByte to long before using.
+
+ * java/io/FileInputStream.java (finalize): Only finalize `fd' if
+ it is not null.
+
+ * mauve-libjava: Re-enabled java.io.DataInputOutput.
+ * include/no-threads.h (_Jv_ThreadInterrupt): Removed name of
+ argument to avoid warning.
+ * include/quick-threads.h (_Jv_ThreadInterrupt): Removed name of
+ argument to avoid warning.
+
+1999-02-18 Tom Tromey <tromey@cygnus.com>
+
+ * mauve-libjava: Omit java.io.DataInputOutput and
+ java.io.Utf8Encoding.
+
+1999-02-17 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added InterruptedIOException.h.
+ * java/io/natFileDescriptorPosix.cc: Include
+ InterruptedIOException.h, Thread.h.
+ (write): Throw InterruptedIOException when required.
+ (read): Likewise.
+ * posix-threads.cc: Include <signal.h>.
+ (_Jv_ThreadInterrupt): New function.
+ (INTR): New define.
+ (handle_intr): New function.
+ (_Jv_InitThreads): Register handle_intr via sigaction.
+ * java/lang/natThread.cc (interrupt): Call _Jv_ThreadInterrupt.
+ * include/posix-threads.h (_Jv_ThreadInterrupt): Declare.
+ * include/quick-threads.h (_Jv_ThreadInterrupt): New function.
+ * include/no-threads.h (_Jv_ThreadInterrupt): New function.
+
+1999-02-19 Andrew Haley <aph@cygnus.com>
+
+ * java/lang/ThreadGroup (setMaxPriority): Set the maximum priority
+ of subgroups.
+ (ThreadGroup (int)): Set the maximum priority of the initial
+ ThreadGroup.
+
+1999-02-18 Andrew Haley <aph@cygnus.com>
+
+ * java/lang/natClass.cc (forName): Check for the case where a
+ classname is the name of an array and call FindClassFromSignature
+ to find the Class.
+
+1999-02-18 Andrew Haley <aph@cygnus.com>
+
+ * java/lang/StringBuffer (insert (int, String)): Move up any
+ characters above the insert position and increase the length of
+ the string buffer by the length of the argument.
+ (insert (int, char[])): Likewise.
+ (insert (int, char)): Likewise.
+ (StringBuffer (String)): The initial capacity of the string buffer
+ is 16 plus the length of the argument.
+ (getChars): Add a JDK 1.2 FIXME.
+
+1999-02-18 Andrew Haley <aph@cygnus.com>
+
+ * java/lang/Short.java (parseShort(String, int)): Pass radix to
+ Integer.parseInt.
+
+1999-02-18 Andrew Haley <aph@cygnus.com>
+
+ * java/lang/Double.java (equals): Use a bit-by-bit comparision
+ instead of floating-point equality. This is necessary for
+ correct floating-point Hashtables.
+ * java/lang/Float.java (equals): Ditto.
+
+1999-02-16 Tom Tromey <tromey@cygnus.com>
+
+ * java/util/Properties.java (list): Truncate value to 37
+ characters and add "...".
+
+1999-02-16 Tom Tromey <tromey@cygnus.com>
+
+ * java/util/Vector.java (Vector): Throw IllegalArgumentException
+ if initCap is negative.
+ (contains): Implement JDK1.2-style handling of null argument.
+ (removeElement): Likewise.
+ (indexOf): Likewise. Also, correctly handle case where idx is
+ negative.
+ (lastIndexOf): Likewise.
+
+1999-02-16 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natString.cc (init): Increment source pointer in
+ loop.
+
+1999-02-16 Tom Tromey <tromey@cygnus.com>
+
+ * exception.cc: Include NullPointerException.h.
+ (_Jv_Throw): If `value' is NULL, throw a NullPointerException.
+
+1999-02-16 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (AUTOMAKE_OPTIONS): Added `no-installinfo.
+
+Sat Feb 13 20:25:09 1999 Bonzo Armstrong <bonzo@cygnus.com>
+
+ * configure.in: Don't undefine EH_COMMON_INCLUDE just because
+ we're compiling canadian.
+ * configure: Regenerated.
+
+1999-02-12 Andrew Haley <aph@cygnus.com>
+
+ * java/lang/sf_rint.c: Resurrected. This file shouldn't have been
+ deleted from libgcj.
+
+1999-02-12 Tom Tromey <tromey@cygnus.com>
+
+ * exception.cc (_Jv_eh_alloc): Use _Jv_AllocBytes, not malloc.
+ (_Jv_eh_free): Don't call free.
+ Don't declare malloc or free.
+
+1999-02-11 Tom Tromey <tromey@cygnus.com>
+
+ * configure.host: Use `libgcj', not `libjava'. Removed `echo'.
+
+1999-02-11 Andrew Haley <aph@cygnus.com>
+
+ * ef_fmod.c, sf_ceil.c, sf_fabs.c, sf_floor.c, sf_rint.c,
+ wf_fmod.c: Deleted. These are all files from fdlibm which aren't
+ needed by java.lang.*.
+ * Makefile.am: ef_fmod.o, sf_ceil.o, sf_fabs.o, sf_floor.o, sf_rint.o,
+ wf_fmod.o: Removed from libjava.a.
+
+1999-02-11 Tom Tromey <tromey@cygnus.com>
+
+ * include/javaprims.h: Reverted previous change; with it
+ exception.cc can't compile.
+
+ * include/javaprims.h (_Jv_Throw): Mark as noreturn.
+
+ * include/config.h.in: Rebuilt.
+ * include/posix-threads.h (_Jv_ThreadYield): Conditionalize on
+ HAVE_SCHED_YIELD.
+ * configure: Rebuilt.
+ * configure.in: Check for sched_yield. Look in thread library for
+ all thread functions.
+
+ * posix-threads.cc (_Jv_MutexInit): Handle case where system has
+ no recursive mutexes.
+ (_Jv_MutexDestroy): Define when required.
+ (_Jv_MutexLock): Likewise.
+ (_Jv_MutexUnlock): Likewise.
+ (_Jv_CondWait): Conditionalize on HAVE_RECURSIVE_MUTEX.
+ * include/posix-threads.h (HAVE_RECURSIVE_MUTEX): New define.
+ (_Jv_Mutex_t): New structure.
+ (_Jv_MutexDestroy): Only define if recursive mutexes available.
+ (_Jv_MutexLock): Likewise.
+ (_Jv_MutexUnlock): Likewise.
+
+1999-02-10 Tom Tromey <tromey@cygnus.com>
+
+ * aclocal.m4, configure, Makefile.in: Rebuilt.
+ * acinclude.m4: Renamed libjava to libgcj. Updated to use
+ automake 1.4.
+ * configure.in: Changed to track library changes.
+ * Makefile.am (toollib_LIBRARIES): Renamed libjava to libgcj.
+ (AM_CXXFLAGS): Likewise.
+ (data_DATA): Likewise.
+ (AM_CFLAGS): Likewise.
+ (JC1FLAGS): Likewise.
+ (libgcj_a_SOURCES): Likewise.
+ (EXTRA_libgcj_a_SOURCES): Likewise.
+ (libgcj_a_DEPENDENCIES): Likewise.
+ (libgcj_a_LIBADD): Likewise.
+ (libgcj.zip): Likewise.
+ (CLEANFILES): Likewise.
+ ($(nat_headers)): Likewise.
+ (java/lang/FirstThread.h): Likewise.
+ (java/lang/ThreadGroup.h): Likewise.
+ (java/lang/String.h): Likewise.
+ (java/lang/reflect/Field.h): Likewise.
+ (BUILT_SOURCES): Likewise.
+ (maintainer-check): Likewise.
+ (CONFIG_STATUS_DEPENDENCIES): Likewise.
+Tue Feb 9 11:06:38 1999 Anthony Green <green@cygnus.com>
+
+ * java/util/natGregorianCalendar.cc (computeFields): Only use
+ gmtime_r and localtime_r when configured for posix threads.
+
+ * java/io/natFile.cc (get_entry): Only use readdir_r when
+ configured for posix threads.
+
+ * java/util/natGregorianCalendar.cc: Update copyright notice.
+ * java/util/TimeZone.java: Ditto.
+ * java/util/SimpleTimeZone.java: Ditto.
+
+1999-02-08 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/PrintStream.java (line_separator): New constant.
+ (print): Use line_separator, not `file.separator' property.
+ (println): Use line_separator.
+
+ * java/lang/natClass.cc (newInstance): Throw IllegalAccessError
+ when trying to instantiate Class.
+
+ * java/lang/ThreadGroup.java (ThreadGroup): Throw
+ NullPointerException if argument is null.
+
+ * java/lang/Thread.java (setName): Throw NullPointerException, not
+ IllegalArgumentException.
+ (Thread): Likewise.
+
+1999-02-08 Andrew Haley <aph@cygnus.com>
+
+ * java/lang/natClass.cc (newInstance): Don't allow anyone to
+ create new Classes with Class.newInstance().
+
+ * java/lang/natClass.cc (_Jv_FindArrayClass): Only add a
+ semiciolon to end of an array Class's signature if the elements of
+ the array aren't themselves arrays.
+
+ * java/lang/natSystem.cc (arraycopy): The size of an element of an
+ array of objects is always sizeof(jobject), not the size of the
+ object to which the reference points.
+
+1999-02-08 Tom Tromey <tromey@cygnus.com>
+
+ * java/util/BitSet.java (and): Throw NullPointerException when
+ required.
+ (or): Likewise.
+ (xor): Likewise.
+
+ * java/util/BitSet.java (BitSet): Throw NegativeArraySizeException
+ if argument is negative.
+ (clear): Correctly compute `offset'. Throw
+ IndexOutOfBoundsException when required.
+ (set): Likewise.
+ (get): Likewise. Also, return correct value.
+ (ensure): Changed meaning of argument.
+ (toString): Wrap contents in `{}'; put spaces after commas.
+ (hashCode): Don't try to examine elements off the end of array.
+ (or): Correctly include bits past the end of this bit set.
+ (xor): Likewise.
+
+Thu Feb 4 12:48:03 1999 Warren Levy <warrenl@cygnus.com>
+
+ * configure.host (mips-tx39-*): Use jmr3904dram.ld link script
+ instead of the jmr3904app.ld script (i.e. use DRAM instead of SRAM).
+
+1999-02-04 Andrew Haley <aph@cygnus.com>
+
+ * java/lang/natClass.cc (Class::forName): Remove code which mapped
+ '/' in signatures to '.'
+ (Class::getName): Likewise,
+ (_Jv_FindArrayClass): Add a semiciolon to end of an array Class's
+ signature.
+ * java/lang/natFirstThread.cc (run): Change '/' in main's
+ signature to '.'.
+
+1999-02-03 Andrew Haley <aph@cygnus.com>
+
+ * configure.host: -ffloat-store added when compiling libjava on
+ x86. fdlibm apparently relies on this.
+
+ * java/lang/ThreadGroup.java (add): throw an exception if the
+ ThreadGroup has been destroyed.
+
+ * java/lang/natMath.cc (round): Ensure correct NaN and overflow
+ behaviour.
+
+1999-01-27 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/StringBuffer.java (StringBuffer): Handle null
+ argument.
+
+1999-01-21 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natFirstThread.cc (run): Don't require main to be
+ public.
+
+Wed Jan 20 15:44:56 1999 Anthony Green <green@cygnus.com>
+
+ * boehm.cc (_Jv_InitGC): Clear out the free lists correctly.
+
+1999-01-20 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natString.cc (_Jv_StringFindSlot): Synchronize on
+ StringClass.
+ (rehash): Likewise.
+ (intern): Likewise.
+ (unintern): Likewise.
+ (_Jv_NewStringUtf8Const): Likewise.
+
+ * java/text/SimpleDateFormat.java (format): Use [a-zA-z], not
+ Character.isLetter, to see if character is self-quoting. Also,
+ correctly handle quoted characters.
+ (parse): Fixed typo. Also now throws ParseException.
+
+1999-01-15 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natObject.cc (INIT_NEEDED): Added missing close paren.
+
+ * java/lang/natObject.cc (INIT_NEEDED): Added cast in case where
+ _Jv_SyncInfo has `init' member.
+
+ * include/quick-threads.h (_Jv_MutexUnlock): Return result of
+ coop_mutex_unlock.
+
+ * java/lang/natObject.cc (_Jv_MonitorExit): Throw
+ IllegalMonitorStateException if unlock fails.
+
+ * prims.cc (_Jv_NewPrimArray): Assume allocated memory is all
+ zero.
+ (_Jv_NewObjectArray): Likewise.
+
+1999-01-14 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/Character.java (isJavaIdentifierPart): Allow
+ LETTER_NUMBER characters.
+
+ * chartables.pl (process_char): Fixed error messages.
+
+ * include/java-chartables.h: Rebuilt with UniData 2.1.8.
+ * chartables.pl: Updated comments. Changed detection of non-digit
+ numeric values (no longer miss \u00b2 and friends).
+
+ * java/lang/Character.java (isJavaIdentifierPart): Recognize
+ currency symbols and connector punctuation.
+ (isIdentifierIgnorable): Make 7f-9f ignorable.
+
+ * prims.cc (_Jv_NewObjectArray): Check for overflow.
+ (_Jv_NewPrimArray): Likewise.
+ (SIZE_T_MAX): New define.
+
+ * java/lang/ClassLoader.java (system): Now private and final.
+
+ * boehm.cc (_Jv_MarkObj): Handle case where object's class is
+ null.
+
+ * configure: Rebuilt.
+ * configure.in (EH_COMMON_INCLUDE): Add -I for `../include' as
+ well.
+ * exception.cc: Include gansidecl.h.
+
+1999-01-14 Andrew Haley <aph@cygnus.com>
+
+ * java/lang/Math.java, java/lang/natMath.cc: min and max routines
+ corrected: they didn't treat -0.0 and NaNs correctly.
+
+Wed Jan 13 13:32:22 1999 Anthony Green <green@cygnus.com>
+
+ * nogc.cc: Use calloc to zero out memory.
+
+1999-01-11 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natClass.cc (isInstance): Return false if this class
+ is primitive, not if class of `obj' is primitive.
+ (_Jv_IsInstanceOf): Rewrote to use Class.isInstance.
+
+ * java/io/SequenceInputStream.java (close): Handle case where `in'
+ is already null.
+
+ * java/text/DateFormat.java (format): New method.
+
+ * mauve-libjava: Omit java.text.DateFormat.
+
+1999-01-08 Tom Tromey <tromey@cygnus.com>
+
+ * posix-threads.cc (_Jv_ThreadInitData): Removed name of unused
+ argument.
+ * include/posix-threads.h (_Jv_CondNotify): Removed name of unused
+ argument.
+ (_Jv_CondNotifyAll): Likewise.
+
+ * configure: Rebuilt.
+ * configure.in: Change --enable-source-compilation logic to work
+ correctly.
+
+1999-01-07 Andrew Haley <aph@cygnus.co.uk>
+
+ * Makefile.am (AM_MAKEFLAGS): Remove RUNTEST, EXPECT,
+ and RUNTESTFLAGS from AM_MAKEFLAGS.
+ * configure.in: AM_RUNTESTFLAGS added.
+ * configure.host: AM_RUNTESTFLAGS added.
+ * Makefile.in, test/Makefile.in, testsuite/Makefile.in: rebuilt.
+ * configure: rebuilt.
+ * testsuite/Makefile.am: RUNTESTFLAGS set from AM_RUNTESTFLAGS.
+
+ * testsuite/libjava.mauve/DejaGNUTestHarness.java (main): use of
+ argv[] made conditional because embedded targets may not have
+ argv[].
+ * testsuite/libjava.mauve/DejaGNUTestHarness.java (main):
+ explanatory comments added in call to super.
+
+ * testsuite/libjava.mauve/test.exp (test_mauve): Test for an
+ exception thrown in the test harness itself added.
+ * testsuite/libjava.mauve/test.exp (test_mauve_sim): New routine.
+
+Wed Jan 6 17:27:39 1999 Per Bothner <bothner@cygnus.com>
+
+ * java/text/DateFormatSymbols.java (zoneStringsDefault): Make static.
+
+1999-01-06 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/natFile.cc (get_entry): New function.
+ (performList): Use get_entry.
+ * include/config.h.in: Rebuilt.
+ * acconfig.h (HAVE_READDIR_R): New define.
+ * configure: Rebuilt.
+ * configure.in: Look for readdir_r.
+
+ * java/util/natGregorianCalendar.cc (computeFields): Fixed comment.
+
+ * java/util/natDate.cc: Added copyright header.
+
+1999-01-05 Tom Tromey <tromey@cygnus.com>
+
+ * include/config.h.in: Rebuilt.
+ * acconfig.h (HAVE_ACCESS, HAVE_STAT, HAVE_REALPATH, HAVE_MKDIR,
+ HAVE_REALPATH, HAVE_RMDIR, HAVE_UNLINK): New macros.
+ * configure: Rebuilt.
+ * configure.in: Check for access, stat, mkdir, rename, rmdir,
+ unlink, and realpath.
+ * java/io/natFile.cc (access): Conditionalize on HAVE_ACCESS.
+ (stat): Conditionalize on HAVE_STAT.
+ (attr): Likewise.
+ (getCanonicalPath): Conditionalize on HAVE_REALPATH.
+ (performMkdir): Conditionalize on HAVE_MKDIR.
+ (performRenameTo): Conditionalize on HAVE_RENAME.
+ (performDelete): Conditionalize on HAVE_RMDIR and HAVE_UNLINK.
+
+ * include/config.h.in: Rebuilt.
+ * acconfig.h (HAVE_GMTIME_R, HAVE_LOCALTIME_R): New defines.
+ * configure: Rebuilt.
+ * configure.in: Check for gmtime_r and localtime_r. For cross
+ builds, assume they exist.
+
+ * mauve-libjava: Include java.text.DateFormatSymbols again.
+ * java/text/DateFormatSymbols.java (setLocalPatternChars): Renamed
+ from setAmPmStrings.
+
+ * mauve-libjava: Omit java.text.DateFormatSymbols.
+
+1999-01-04 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/PushbackReader.java: `off' already includes `numBytes'.
+
+ * java/io/LineNumberReader.java (read): Decrement `count' in
+ loop.
+
+ * java/io/BufferedWriter.java (write): Correctly determine when
+ incoming data would overrun buffer. Flush buffer if write causes
+ it to become full.
+
+ * java/io/BufferedOutputStream.java (write): Increment `count'
+ after copying data into buffer.
+
+ * java/io/FilterOutputStream.java (close): Call flush first.
+
+ * java/io/PipedReader.java (read): If read causes `out' to catch
+ up with `in', then set `in' to -1.
+
+ * java/io/LineNumberInputStream.java (read): If no bytes read,
+ return -1. If no bytes requested, return 0.
+
+ * java/lang/StringBuffer.java (insert): If `str' is null, use
+ string "null".
+
+1998-12-30 Anthony Green <green@cygnus.com>
+
+ * README: Removed.
+ * LIBJAVA_LICENSE, COPYING.LIB: Created.
+
+1998-12-23 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/PushbackInputStream.java (read): `off' already includes
+ `numBytes'.
+
+1998-12-17 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (GCJ_canadian): Include target_alias.
+
+ * java/lang/natFirstThread.cc (run): Require main's class to be
+ public.
+
+1998-12-16 Tom Tromey <tromey@cygnus.com>
+
+ * java/util/Locale.java (JAPAN): Language is `ja', not `jp'.
+
+ * java/util/ResourceBundle.java (getBundle): Throw
+ NullPointerException if locale argument is null.
+
+ * java/lang/natClass.cc (forName): Throw NullPointerException if
+ argument is null.
+ Include NullPointerException.h.
+
+1998-12-14 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/Character.java (Character): Implement Comparable.
+ (compareTo): New methods.
+
+ * java/util/Locale.java (CANADA, FRANCE, JAPAN): Now `final'. Use
+ correct country and language codes.
+ (UK, US): New constants.
+ (setDefault): Language codes are lower-case.
+
+ * java/lang/natClass.cc (getDeclaredConstructor): New method.
+ (getDeclaredConstructors): Likewise.
+ (getDeclaredField): Likewise.
+ (getDeclaredFields): Likewise.
+ (getDeclaredMethod): Likewise.
+ (getDeclaredMethods): Likewise.
+ (getField): Likewise.
+ (getFields): Likewise.
+ (getMethod): Likewise.
+ (getMethods): Likewise.
+ * java/lang/Class.java: Declare new methods.
+ * java/lang/Class.h: Declare new methods.
+
+ * java/lang/natString.cc: Removed `#pragma implementation'.
+ * include/cni.h (_Jv_GetStringChars): New function.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (java/lang/String.h): Don't generate definition for
+ _Jv_GetStringChars.
+
+ * java/lang/natString.cc: Added `#pragma implementation'.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (libjava.zip): Put build directory first in class
+ path to avoid bug in compiler.
+
+1998-12-14 Anthony Green <green@cygnus.com>
+
+ * java/util/Locale.java: Add CANADA, FRANCE and JAPAN.
+
+ * include/javaprims.h: Add EventObject, ListResourceBundle and
+ ResourceBundle.
+
+1998-12-13 Anthony Green <green@cygnus.com>
+
+ * mauve-libjava: Run the ResourceBundle tests.
+
+ * java/lang/natClass.cc (_Jv_FindClass): Don't fail when loader is
+ NULL.
+
+Sun Dec 13 18:11:21 1998 Per Bothner <bothner@cygnus.com>
+
+ * configure.in, configure: Make --enable-gcj-classes and
+ --enable-source-compilation the default. (Nervously...) Yeah!
+ Based on a patch from Tom Tromey.
+
+1998-12-13 Tom Tromey <tromey@cygnus.com>
+
+ * java/util/EventObject.java: New file.
+ * java/util/EventListener.java: New file.
+
+ * include/javaprims.h: Updated class declarations.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added Constructor.h.
+ (java/lang/String.h): Don't inline String::length().
+ * java/lang/Class.h (getConstructor, getConstructors): Declare.
+ * java/lang/Class.java (initializeClass, hackRunInitializers,
+ hackTrampoline): No need to mark `final'.
+ (getConstructor, getConstructors): Declare.
+ * java/lang/reflect/Field.java (equals): New method.
+ * java/lang/natClass.cc (getConstructor): New method.
+ (getConstructors): Likewise.
+ Include Method.h, Field.h, Constructor.h.
+ * java/lang/reflect/Constructor.java: New file.
+ * java/lang/reflect/Method.java (toString): No space before open
+ paren.
+ (equals): Simplified.
+
+1998-12-13 Anthony Green <green@cygnus.com>
+
+ * java/util/ResourceBundle.java: New file.
+ * java/util/ListResourceBundle.java: New file.
+
+1998-12-12 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/System.java (in, out, err): Now buffered streams by
+ default.
+
+ * include/javaprims.h: Updated class declarations.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added AccessibleObject.h, Method.h,
+ InvocationTargetException.h, Void.h, Byte.h, Short.h, Integer.h,
+ Long.h, Boolean.h.
+ (nat_files): Added natMethod.o.
+ * java/lang/reflect/natMethod.cc: New file.
+ * java/lang/reflect/Field.java (Field): Now extends
+ AccessibleObject.
+ * java/lang/reflect/AccessibleObject.java: New file.
+ * java/lang/reflect/InvocationTargetException.java: New file.
+
+1998-12-11 Tom Tromey <tromey@cygnus.com>
+
+ * boehm.cc, prims.cc, include/jvm.h, java/lang/Class.h,
+ java/lang/Object.h, java/lang/natClass.cc, java/lang/natObject.cc:
+ Renamed dtable -> vtable and _Jv_DispatchTable -> _Jv_VTable.
+
+ * java/io/OutputStreamWriter.java (buffer): Size at 8192 bytes.
+
+1998-12-09 Tom Tromey <tromey@cygnus.com>
+
+ * java/util/natDate.cc (_POSIX_THREAD_SEMANTICS): Define if
+ HAVE_CTIME_R.
+
+ * java/lang/natCharacter.cc (toTitleCase): Handle case where
+ character is already titlecase.
+
+ * java/lang/Character.java (isJavaLetter): Follow spec.
+ (isJavaLetterOrDigit): Likewise.
+
+ * java/util/GregorianCalendar.java (gregorianCutover): Append
+ `L'.
+
+ * java/lang/Character.java (isWhitespace): Use \r and not \u000d.
+
+1998-12-08 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/reflect/Modifier.java (toString): Replace second
+ `static' with `synchronized'.
+
+ * java/lang/natObject.cc (_Jv_FinalizeObject): Call hack12_6.
+ * java/lang/Object.h (Object::hack12_6): Declare.
+ * java/lang/Object.java (hack12_6): New function.
+
+1998-12-07 Tom Tromey <tromey@cygnus.com>
+
+ * include/java-array.h (__JArray::clone): Removed decl.
+ * prims.cc (__JArray::clone): Removed.
+ * java/lang/natObject.cc (clone): Incorporate code to clone an
+ array.
+
+ * java/lang/natClass.cc (_Jv_NewClass): Set class loader.
+ (_Jv_FindArrayClass): Set dtable_method_count on new class.
+ Correctly use dtable_method_count.
+
+1998-12-07 Andrew Haley <aph@cygnus.co.uk>
+
+ * java/lang/Double.java (isInfinite, isNaN): Handle correct
+ IEEE754 values.
+
+1998-12-06 Anthony Green <green@cygnus.com>
+
+ * mauve-libjava: Don't test ResourceBundle.
+
+1998-12-04 Tom Tromey <tromey@cygnus.com>
+
+ More JDK 1.2 spec fixes:
+ * java/util/Date.java (millis): Now private.
+ * java/text/DateFormat.java (DateFormat): Constructor now
+ protected.
+ * java/lang/Void.java (Void): New private constructor.
+ * java/lang/System.java (System): New private constructor.
+ * java/lang/SecurityManager.java (classLoaderDepth): Uncommented
+ body.
+ (currentClassLoader): New method.
+ (currentLoadedClass): New method.
+ * java/lang/Math.java (Math): New private constructor.
+ * java/lang/Compiler.java (Compiler): New private constructor.
+ * java/lang/Class.java (Class): New private constructor.
+ * java/lang/Double.java (toString): Removed access specifier from
+ two-argument `toString' method.
+
+1998-12-04 Andrew Haley <aph@cygnus.co.uk>
+
+ * java/lang/s_rint.c (rint): Make the variable w volatile; this
+ causes it to be flushed from an fp register (where it may be
+ longer than double precision) to a double in memory. This is
+ essential to ensure correct rounding behaviour.
+
+1998-12-04 Tom Tromey <tromey@cygnus.com>
+
+ * include/java-assert.h (_Jv_Abort): Declare as `noreturn'
+ function.
+
+ * java/lang/Character.java (isIdentifierIgnorable): Added comment
+ explaining apparent divergence from JDK 1.2.
+
+1998-12-04 Per Bothner <bothner@cygnus.com>
+
+ * include/no-threads.h: Remove unused parameter names.
+ This silences a bunch of warnings.
+
+1998-12-04 Tom Tromey <tromey@cygnus.com>
+
+ * include/config.h.in: Rebuilt.
+ * acconfig.h (HAVE_CTIME_R): New symbol.
+
+1998-12-03 Tom Tromey <tromey@cygnus.com>
+
+ * mauve-libjava: Added many more categories to reject.
+
+ Changes to follow JDK1.2 spec:
+ * java/lang/System.java (arraycopy, init_properties, checkSetIO,
+ setErr, setIn, setOut): No need to be `final'.
+ * java/lang/natObject.cc (wait): `nanos' argument is an int.
+ * java/lang/Object.h (Object::wait): `nanos' argument is an int.
+ * java/lang/Object.java (wait): `nanos' argument is an int.
+ * java/lang/VirtualMachineError.java: Class is abstract.
+ * java/lang/ThreadDeath.java: Made constructors public.
+ * java/io/FileDescriptor.java (FileDescriptor): Added missing
+ constructor.
+
+Thu Dec 3 20:29:38 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/text/DateFormatSymbols.java (getAmPmStrings,
+ getLocalPatternChars, setShortWeekdays): Fixed typos in method names.
+
+Thu Dec 3 19:21:53 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/RandomAccessFile.java (writeInt, writeLong, writeFloat,
+ writeDouble, writeByte, writeBytes, writeChar, writeChars,
+ writeShort, writeUTF): Added 'final' to signature to match JDK 1.1
+ and 1.2.
+
+ * java/lang/IllegalThreadStateException.java
+ (IllegalThreadStateException): Changed extending class to match spec.
+
+ * java/lang/NumberFormatException.java
+ (java/lang/NumberFormatException): Changed extending class to match
+ spec.
+
+ * java/util/Observer.java (Observer): Changed sig to match JCL.
+
+Thu Dec 3 19:05:26 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/DataOutputStream.java (writeInt, writeLong, writeFloat,
+ writeDouble, writeBytes, writeChars, writeUTF): Added 'final' to
+ signature to match JDK 1.1 and 1.2.
+
+Thu Dec 3 16:47:42 1998 Warren Levy <warrenl@cygnus.com>
+
+ * Makefile.am: Changed to use $(PERL) rather than hardcoded 'perl'.
+ * configure.in (PERL): Added AC_CHECK_PROGS to look for installed perl.
+ * Makefile.in, configure: Rebuilt.
+
+ * java/text/ParsePosition.java (setErrorIndex): Fixed typo in method
+ name.
+
+1998-12-02 Tom Tromey <tromey@cygnus.com>
+
+ * mauve-libjava: New file.
+
+ The remaining `-W -Wall' fixes:
+ * java/lang/e_sqrt.c (__ieee754_sqrt): Added cast to unsigned to
+ avoid warning.
+ * java/lang/s_scalbn.c (scalbn): Added braces to avoid ambiguous
+ `else'.
+ * java/lang/s_floor.c (floor): Added cast to unsigned to avoid
+ warning.
+ * java/lang/e_pow.c (__ieee754_pow): Added cast to unsigned to
+ avoid warning.
+ * java/lang/e_log.c (__ieee754_log): Added braces to avoid
+ ambiguous `else'.
+ * java/lang/s_ceil.c (ceil): Cast `i1' to unsigned to avoid
+ warning.
+ * java/lang/e_atan2.c (__ieee754_atan2): Added parentheses per gcc
+ suggestion.
+ * java/lang/strtod.c (_strtod_r): Added parentheses per gcc
+ suggestion.
+ * java/lang/mprec.c (Balloc): Removed unused variable.
+ (mult): Added parentheses per gcc suggestion.
+ (pow5mult): Likewise.
+ (lshift): Likewise.
+ (ulp): Likewise.
+ (b2d): Likewise.
+ (d2b): Likewise.
+ * java/lang/dtoa.c (_dtoa_r): Added some parentheses per gcc
+ suggestion. Added cast to `int' to avoid signed/unsigned
+ comparison.
+ * jni.cc (_Jv_JNI_GetSuperclass): Removed name of unused
+ parameter.
+ (IsAssignableFrom): Likewise.
+ (_Jv_JNI_GetObjectField): Likewise.
+ (_Jv_JNI_GetByteField): Likewise.
+ (_Jv_JNI_GetShortField): Likewise.
+ (_Jv_JNI_GetIntField): Likewise.
+ (_Jv_JNI_GetLongField): Likewise.
+ (_Jv_JNI_GetStringLength): Likewise.
+ (_Jv_JNI_ToReflectedField): Likewise.
+ (_Jv_JNI_FromReflectedField): Likewise.
+ (_Jv_JNIFunctions): Uncommented IsAssignableFrom.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (AM_CFLAGS): Define conditionally.
+ (WARNINGS): New macro.
+ (AM_CXXFLAGS): Include WARNINGS.
+ * configure: Rebuilt.
+ * configure.in (USING_GCC): New conditional.
+
+ * prims.cc (_Jv_Abort): Declare twice, to avoid warnings.
+
+ * java/lang/Character.java: Changed classification constants to
+ type `byte' to match JDK 1.2 docs.
+
+1998-12-01 Tom Tromey <tromey@cygnus.com>
+
+ Some fixes to be `-W -Wall' clean:
+ * boehm.cc (_Jv_MarkObj): Removed name of unused parameter.
+ (_Jv_MarkArray): Likewise.
+ * java/lang/natCharacter.cc (to_lower_title): `i' is unsigned.
+ (to_upper_title): Likewise.
+ (isTitleCase): Likewise.
+ (toTitleCase): Likewise.
+ (getNumericValue): Likewise.
+ (isLowerCase): Likewise.
+ * java/lang/natString.cc (charAt): Don't cast `i' to unsigned
+ (avoids compiler warning).
+ * java/lang/natClass.cc (getDeclaredClasses): Always return a
+ value.
+ (getDeclaringClass): Likewise.
+ (_Jv_LookupInterfaceMethod): Likewise.
+ (_Jv_NewClass): Removed name of unused parameter.
+ * exception.cc (_Jv_type_matcher): Removed unused variable.
+ (_Jv_setup_eh_info): Removed name of unused parameter.
+ * prims.cc (_Jv_NewArray): Always return a value.
+ (_Jv_FindClassFromSignature): Likewise.
+ * include/java-field.h (getNameUtf8Const): Removed name of unused
+ parameter.
+ * include/quick-threads.h (_Jv_ThreadInitData): Removed name of
+ unused parameter.
+ (_Jv_ThreadSetPriority): Likewise.
+
+ * java/lang/natString.cc (hashChars): Now static.
+
+ * java/lang/FirstThread.java (FirstThread): Now final.
+
+ * java/io/File.java (performMkdir, performRenameTo): Now private.
+
+ * java/lang/natSystem.cc (currentTimeMillis): Return a value even
+ if no time function defined.
+
+ * configure: Rebuilt.
+ * configure.in: Look for ctime_r, ctime.
+ * java/util/Date.java (toString): Now native.
+ * java/util/natDate.cc (toString): Rewrote.
+
+1998-11-27 Andrew Haley <aph@viagra.cygnus.co.uk>
+
+ * Add LDFLAGS line to allow TX39 test cases to link when cross
+ compiling.
+
+1998-11-23 Anthony Green <green@cygnus.com>
+
+ * boehm.cc, chartables.pl, classes.pl, exception.cc, jni.cc,
+ no-threads.cc, nogc.cc, posix-threads.cc, prims.cc,
+ quick-threads.cc, include/boehm-gc.h, include/cni.h,
+ include/java-array.h, include/java-assert.h, include/java-field.h,
+ include/javaprims.h, include/jni.h, include/jvm.h,
+ include/no-gc.h, include/no-threads.h, include/posix-threads.h,
+ include/quick-threads.h, java/io/BufferedInputStream.java,
+ java/io/BufferedOutputStream.java, java/io/BufferedReader.java,
+ java/io/BufferedWriter.java, java/io/ByteArrayInputStream.java,
+ java/io/ByteArrayOutputStream.java, java/io/CharArrayReader.java,
+ java/io/CharArrayWriter.java,
+ java/io/CharConversionException.java, java/io/DataInput.java,
+ java/io/DataInputStream.java, java/io/DataOutput.java,
+ java/io/DataOutputStream.java, java/io/EOFException.java,
+ java/io/File.java, java/io/FileDescriptor.java,
+ java/io/FileInputStream.java, java/io/FileNotFoundException.java,
+ java/io/FileOutputStream.java, java/io/FileReader.java,
+ java/io/FileWriter.java, java/io/FilenameFilter.java,
+ java/io/FilterInputStream.java, java/io/FilterOutputStream.java,
+ java/io/FilterReader.java, java/io/FilterWriter.java,
+ java/io/IOException.java, java/io/InputStream.java,
+ java/io/InputStreamReader.java,
+ java/io/InterruptedIOException.java,
+ java/io/LineNumberInputStream.java, java/io/LineNumberReader.java,
+ java/io/OutputStream.java, java/io/OutputStreamWriter.java,
+ java/io/PipedInputStream.java, java/io/PipedOutputStream.java,
+ java/io/PipedReader.java, java/io/PipedWriter.java,
+ java/io/PrintStream.java, java/io/PrintWriter.java,
+ java/io/PushbackInputStream.java, java/io/PushbackReader.java,
+ java/io/RandomAccessFile.java, java/io/Reader.java,
+ java/io/SequenceInputStream.java, java/io/Serializable.java,
+ java/io/StreamTokenizer.java,
+ java/io/StringBufferInputStream.java, java/io/StringReader.java,
+ java/io/StringWriter.java, java/io/SyncFailedException.java,
+ java/io/UTFDataFormatException.java,
+ java/io/UnsupportedEncodingException.java, java/io/Writer.java,
+ java/io/natFile.cc, java/io/natFileDescriptorEcos.cc,
+ java/io/natFileDescriptorPosix.cc,
+ java/lang/AbstractMethodError.java,
+ java/lang/ArithmeticException.java,
+ java/lang/ArrayIndexOutOfBoundsException.java,
+ java/lang/ArrayStoreException.java, java/lang/Boolean.java,
+ java/lang/Byte.java, java/lang/Character.java, java/lang/Class.h,
+ java/lang/Class.java, java/lang/ClassCastException.java,
+ java/lang/ClassCircularityError.java,
+ java/lang/ClassFormatError.java, java/lang/ClassLoader.java,
+ java/lang/ClassNotFoundException.java,
+ java/lang/CloneNotSupportedException.java,
+ java/lang/Cloneable.java, java/lang/Comparable.java,
+ java/lang/Compiler.java, java/lang/Double.java,
+ java/lang/Error.java, java/lang/Exception.java,
+ java/lang/ExceptionInInitializerError.java,
+ java/lang/FirstThread.java, java/lang/Float.java,
+ java/lang/IllegalAccessError.java,
+ java/lang/IllegalAccessException.java,
+ java/lang/IllegalArgumentException.java,
+ java/lang/IllegalMonitorStateException.java,
+ java/lang/IllegalStateException.java,
+ java/lang/IllegalThreadStateException.java,
+ java/lang/IncompatibleClassChangeError.java,
+ java/lang/IndexOutOfBoundsException.java,
+ java/lang/InstantiationError.java,
+ java/lang/InstantiationException.java, java/lang/Integer.java,
+ java/lang/InternalError.java, java/lang/InterruptedException.java,
+ java/lang/LinkageError.java, java/lang/Long.java,
+ java/lang/Math.java, java/lang/NegativeArraySizeException.java,
+ java/lang/NoClassDefFoundError.java,
+ java/lang/NoSuchFieldError.java,
+ java/lang/NoSuchFieldException.java,
+ java/lang/NoSuchMethodError.java,
+ java/lang/NoSuchMethodException.java,
+ java/lang/NullPointerException.java, java/lang/Number.java,
+ java/lang/NumberFormatException.java, java/lang/Object.h,
+ java/lang/Object.java, java/lang/OutOfMemoryError.java,
+ java/lang/Process.java, java/lang/Runnable.java,
+ java/lang/Runtime.java, java/lang/RuntimeException.java,
+ java/lang/SecurityException.java, java/lang/SecurityManager.java,
+ java/lang/Short.java, java/lang/StackOverflowError.java,
+ java/lang/String.java, java/lang/StringBuffer.java,
+ java/lang/StringIndexOutOfBoundsException.java,
+ java/lang/System.java, java/lang/Thread.java,
+ java/lang/ThreadDeath.java, java/lang/ThreadGroup.java,
+ java/lang/Throwable.java, java/lang/UnknownError.java,
+ java/lang/UnsatisfiedLinkError.java,
+ java/lang/UnsupportedOperationException.java,
+ java/lang/VerifyError.java, java/lang/VirtualMachineError.java,
+ java/lang/Void.java, java/lang/natCharacter.cc,
+ java/lang/natClass.cc, java/lang/natDouble.cc,
+ java/lang/natFirstThread.cc, java/lang/natFloat.cc,
+ java/lang/natMath.cc, java/lang/natObject.cc,
+ java/lang/natRuntime.cc, java/lang/natString.cc,
+ java/lang/natSystem.cc, java/lang/natThread.cc,
+ java/lang/reflect/Field.java, java/lang/reflect/Member.java,
+ java/lang/reflect/Modifier.java, java/lang/reflect/natField.cc,
+ java/text/DateFormat.java, java/text/DateFormatSymbols.java,
+ java/text/FieldPosition.java, java/text/Format.java,
+ java/text/NumberFormat.java, java/text/ParseException.java,
+ java/text/ParsePosition.java, java/text/SimpleDateFormat.java,
+ java/util/BitSet.java, java/util/Calendar.java,
+ java/util/ConcurrentModificationException.java,
+ java/util/Date.java, java/util/Dictionary.java,
+ java/util/EmptyStackException.java, java/util/Enumeration.java,
+ java/util/GregorianCalendar.java, java/util/Hashtable.java,
+ java/util/Locale.java, java/util/MissingResourceException.java,
+ java/util/NoSuchElementException.java, java/util/Observable.java,
+ java/util/Observer.java, java/util/Properties.java,
+ java/util/Random.java, java/util/SimpleTimeZone.java,
+ java/util/Stack.java, java/util/StringTokenizer.java,
+ java/util/TimeZone.java, java/util/TooManyListenersException.java,
+ java/util/Vector.java, java/util/natGregorianCalendar.cc: Updated
+ copyright notices.
+
+ * exception.cc: Include eh-common.h instead of duplicating
+ code.
+
+1998-11-23 Tom Tromey <tromey@cygnus.com>
+
+ * configure.host: Don't add `-O2' to libjava_flags. Only add
+ `-Os' to libjava_flags once.
+
+1998-11-17 Andrew Haley <aph@viagra.cygnus.co.uk>
+
+ * Makefile.am: add LIBJAVA_JAVAFLAGS.
+ * Makefile.in: likewise
+ * acconfig.h: add ECOS conditional for configure.h
+ * config.h.in: likewise
+ * configure: add test for --with-ecos
+ * configure.in: likewise
+ * java/io/natFileDescriptorEcos.cc (java::io::FileDescriptor::write):
+ rename call to avoid name clash.
+ * java/lang/natSystem.cc: add eCos clock support.
+ * java/util/natGregorianCalendar.cc: add eCos support.
+
+1998-11-20 Andrew Haley <aph@viagra.cygnus.co.uk>
+
+ * Makefile.am, Makefile.in, configure.host: tx39 build option
+ "-G 0" added.
+
+Wed Nov 18 18:55:25 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/BufferedReader.java: Added more comments for clarity.
+ (mark): Used more mnemonic name for local var extraBuffSpace.
+
+ * java/io/LineNumberReader.java (lineEnd): Removed method to avoid
+ confusion with private method of same name in superclass.
+ (skipRedundantLF): Set fields in special case to avoid infinite
+ recursion. Check if markPos has been invalidated in special case.
+ (readLine): Rewritten to use readLine method of superclass.
+ (skip): Incorporated code from lineEnd.
+
+Wed Nov 18 02:46:03 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/BufferedReader.java (readLine): New method.
+ (lineEnd): new private method.
+ (mark): Track special case for readLine of getting '\r' at the
+ end of the buffer.
+ (reset): Ditto.
+ (read): Ditto.
+ (fill): Ditto.
+ (skip): Ditto.
+
+ * java/io/InputStreamReader.java (read): Return number chars skipped
+ rather than requested.
+
+ * java/lang/StringBuffer.java (append): Update count and differentiate
+ between field and local variable.
+
+ * java/util/Date.java (parseTz): Evaluate in minutes rather than
+ seconds. Deal with military style time.
+ (parse): Consistently treat all timezones in minutes until final
+ calculation. Flag as non-local timezone. Return value in milliseconds.
+ (setTime): Adjust for year offset from 1900.
+ (UTC): Adjust for year offset from 1900.
+
+1998-11-17 Tom Tromey <tromey@cygnus.com>
+
+ * configure: Rebuilt.
+ * configure.in: Switch on host, not target.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (GCJ_no): New macro.
+ (GCJ): Use @CANADIAN@.
+ (GCJH_no): New macro
+ (GCJH_canadian): New macro.
+ (GCJH): Use @CANADIAN@.
+ (ZIP_no): New macro.
+ (ZIP_canadian): New macro.
+ (ZIP): Use @CANADIAN@.
+ * aclocal.m4, configure: Rebuilt.
+ * configure.in (CANADIAN): Compute and subst.
+
+Tue Nov 17 12:44:37 1998 Anthony Green <green@cygnus.com>
+
+ * java/io/FileDescriptor.java (finalize): Only close file
+ descriptor if valid.
+
+1998-11-17 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (_Jv_InitRuntime): Removed.
+
+1998-11-16 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/FileOutputStream.java (close): Only close file
+ descriptor if valid.
+ (finalize): New method.
+
+ * prims.cc (_Jv_NewObjectArray): Set vtbl last.
+ (_Jv_NewPrimArray): Likewise.
+ * boehm.cc (_Jv_RegisterFinalizer): Use
+ GC_REGISTER_FINALIZER_NO_ORDER.
+ (GC_GENERIC_MALLOC): New define.
+ (_Jv_AllocObj): Use it.
+ (_Jv_AllocArray): Likewise.
+ (_Jv_AllocBytes): Likewise.
+ (_Jv_MarkObj): Just return if vtbl not set.
+ (_Jv_MarkArray): Likewise.
+ (MAYBE_MARK): New macro; use everywhere.
+ (_Jv_MarkObj): Mark fields belonging to superclasses as well.
+
+Mon Nov 16 14:57:53 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/util/natGregorianCalendar.cc (computeTime): Cast a time_t
+ to a jlong before calculation to prevent overflow.
+
+1998-11-16 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Fixed typo.
+
+1998-11-15 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/Class.h (Class::getName): Removed definition.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added InstantiationException.h,
+ NoSuchMethodException.h.
+ * java/lang/natClass.cc (clinit_name): Renamed from init_name.
+ (init_name): New global.
+ (hackRunInitializers): Use clinit_name.
+ Include InstantiationException.h, NoSuchMethodException.h.
+ (newInstance): Do some error checking (but not all). Call
+ constructor.
+ (forName): Throw exception if class not found.
+ (getName): New method.
+ (forName): Transform class name from external format to internal
+ format before lookup.
+
+1998-11-15 Anthony Green <green@cygnus.com>
+
+ * java/lang/Class.h (Class::forName): Method is static.
+
+ * java/lang/natClass.cc (newInstance): Add simple implementation.
+ (forName): Ditto.
+
+Sat Nov 14 18:25:13 1998 Per Bothner <bothner@cygnus.com>
+
+ * java/lang/Class.h (Class::accflags): Must be unsigned short (not
+ int), for compatibility with jc1.
+
+1998-11-14 Tom Tromey <tromey@cygnus.com>
+
+ * include/config.h.in: Rebuilt.
+ * acconfig.h (LINUX_THREADS): New define.
+ * configure: Rebuilt.
+ * configure.in: Define LINUX_THREADS if using POSIX threads on
+ Linux. Look for pthread_mutexattr_setkind_np function.
+ * posix-threads.cc (throw_cleanup): New function.
+ (really_start): Push cleanup function.
+ (_Jv_ThreadCancel): New function.
+ (daemon_mutex, daemon_cond, non_daemon_count): New globals.
+ (_Jv_ThreadInitData): Set `exception' field in new structure.
+ (_Jv_ThreadStart): Increment non_daemon_count if not a daemon
+ thread.
+ (_Jv_ThreadWait): New function.
+ (_Jv_InitThreads): Initialize daemon globals.
+ (FLAG_DAEMON): New macro.
+ (really_start): Notify daemon_cond when non-daemon thread exits.
+ Include <java/lang/System.h>.
+ (struct starter): `object' field now a thread.
+ (_Jv_MutexInit): Use pthread_mutexattr_setkind_np if it exists.
+ * include/posix-threads.h (_Jv_CondInit): Use `0', not NULL.
+ (_Jv_ThreadWait): Removed definition.
+ (_Jv_Thread_t): Added `exception' field.
+ (_Jv_ThreadCancel): Removed definition.
+
+1998-11-13 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (libjava.zip): Compute javac before changing
+ directory.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (libjava.zip): Include directory entries.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (expanded): New macro.
+ (GCJ): Use it.
+
+1998-11-12 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (clone): New function.
+ * include/java-array.h (__JArray::clone): Removed definition.
+
+ * java/lang/natObject.cc (clone): Don't assert that class is not
+ an array; array's `clone' method just calls this one.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (libjava.zip): Renamed target from classes.stamp.
+ Now creates zip file. Changed all users.
+ (ZIP): New macro.
+ (data_DATA): New macro.
+
+1998-11-11 Tom Tromey <tromey@cygnus.com>
+
+ * configure: Rebuilt.
+ * configure.in: Recognize --enable-java-gc, not --enable-gc.
+
+Wed Nov 11 18:13:46 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/InputStream.java (reset): Add msg to thrown exception.
+
+Wed Nov 11 17:57:02 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/LineNumberInputStream.java: Rewritten.
+
+ * java/io/StringBufferInputStream.java: Removed extraneous import.
+
+Wed Nov 11 15:19:33 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/StringBufferInputStream.java: Rewritten.
+
+ * java/util/Date.java (parseMonth): Optimize.
+ (parseDayOfWeek): Created.
+ (parse): Optimize to use parseDayOfWeek.
+
+1998-11-11 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/StringBuffer.java (append): Handle case where STR is
+ `null'.
+
+ * include/javaprims.h: Regenerated class declarations.
+
+ * configure: Rebuilt.
+ * configure.in: Added --enable-gcj-classes,
+ --enable-single-compilation, --enable-source-compilation flags.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (java_io_files): New macro.
+ (java_lang_files): Likewise.
+ (java_text_files): Likewise.
+ (java_util_files): Likewise.
+ (java_files): Use new macros.
+ (java-io.o): New target.
+ (java-lang.o): Likewise.
+ (java-text.o): Likewise.
+ (java-util.o): Likewise.
+ (src_io_files): New macro.
+ (src_lang_files): Likewise.
+ (src_text_files): Likewise.
+ (src_util_files): Likewise.
+ (class_io_files): New macro.
+ (class_lang_files): Likewise.
+ (class_text_files): Likewise.
+ (class_util_files): Likewise.
+ (class_files): Use new macros.
+ (javao_files): Define conditionally.
+ (.java.o): New target.
+ ($(javao_files)): New target.
+ (GCJ): new macro.
+ (GCJH): Added $(EXEEXT).
+ (CLASSPATH_ENV): Removed.
+ (GCJCOMPILE): New macro.
+
+Wed Nov 11 12:03:15 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/util/Date.java (parse): Written from scratch.
+
+1998-11-11 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/Throwable.java (toString): Correct sense of test for
+ determining when to include detail message in result.
+
+ * java/lang/ThreadDeath.java (ThreadDeath): Added missing
+ constructor.
+
+Fri Nov 6 16:30:20 1998 Tom Tromey <tromey@ferrule.cygnus.com>
+
+ * java/lang/Class.h: Use _Jv_RegisterClasses, not
+ _Jv_RegisterClass.
+ * java/lang/natClass.cc (_Jv_RegisterClasses): New function.
+ (_Jv_RegisterClass): Use it.
+ * include/jvm.h (_Jv_RegisterClasses): Declare.
+ * java/lang/natObject.cc (init): Removed.
+ (sync_init): Never call _Jv_InitializeSyncMutex.
+ (_Jv_InitializeSyncMutex): Don't set `init'.
+ * prims.cc (JvRunMain): Don't run init functions.
+
+Thu Nov 5 17:14:37 1998 Tom Tromey <tromey@sanguine.cygnus.com>
+
+ * java/lang/natClass.cc (initializeClass): Set state before
+ resolving constants.
+
+ * java/lang/natClass.cc (STATE_CONST_INIT): Removed.
+ (STATE_RESOLVED): New macro.
+ (initializeClass): Call resolveConstants.
+ (hackRunInitializers): Don't call resolveConstants.
+ (_Jv_FindArrayClass): Move short-circuit return for primitive
+ element types earlier in function.
+
+1998-11-03 Tom Tromey <tromey@hoser.cygnus.com>
+
+ * prims.cc (no_memory): New global.
+ (_Jv_makeUtf8Const): Throw no_memory.
+ (_Jv_AllocObject): Likewise.
+ (_Jv_NewObjectArray): Likewise.
+ (_Jv_NewPrimArray): Likewise.
+ (JvRunMain): Initialize no_memory.
+
+Tue Nov 3 17:15:45 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/FileInputStream.java: Corrected date comment.
+ * java/io/SequenceInputStream.java: Rewritten.
+
+Mon Nov 2 17:20:31 1998 Tom Tromey (tromey@cygnus.com)
+
+ * java/lang/FirstThread.java (die): New method.
+ * java/lang/natFirstThread.cc (die): Removed.
+ (DIE): New macro.
+ (run): Use `DIE', not `die'.
+
+Mon Nov 2 16:23:41 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/CharArrayReader.java (read): Move check into synchronized
+ block to prevent a close while in progress.
+ (reset): Ditto.
+ (skip): Ditto.
+ * java/io/PushbackReader.java (read): Ditto.
+ (ready): Ditto.
+ (unread): Ditto.
+ * java/io/StringReader.java (mark): Ditto.
+ (read): Ditto.
+ (reset): Ditto.
+ (skip): Ditto.
+
+Mon Nov 2 15:56:20 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/PipedInputStream.java: Updated status.
+ (connect): Added code to prevent infinite recursion and to
+ differentiate exception causes.
+ (read): Added code to differentiate exception causes.
+ (receive): Made exception pass string with the cause.
+
+ * java/io/PipedOutputStream.java: Updated status.
+ (connect): Added code to call connect at the other end of the pipe.
+
+Mon Nov 2 00:22:12 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/PipedInputStream.java (connect): Throw exception if
+ already connected to the same output stream.
+ (read): Do bounds checking first.
+
+Sun Nov 1 22:48:55 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/PipedInputStream.java: Added private boolean outClosed.
+ (available): Removed check if output stream is open.
+ (close): Mark the buffer as empty so available returns 0.
+ (read): Check if the output stream was closed and then return EOF
+ when the buffer is empty.
+ (receive): Mark the output stream as closed when passed a -1.
+
+ * java/io/PipedOutputStream.java (close): Notify the input stream
+ that there's no more data coming.
+ (connect): Added a FIXME comment to note more coordination needed
+ with PipedInputStream.
+ (flush): Added a FIXME comment to mark what this method might do
+ instead of nothing.
+
+Fri Oct 30 14:27:21 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/PipedInputStream.java: Rewritten.
+
+1998-10-30 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/Throwable.java: Rewrote from scratch.
+
+ * java/lang/Class.h (Class): Don't mention newMultiArray.
+ * prims.cc (newMultiArray): Removed.
+ (_Jv_NewMultiArray): Removed.
+ (newArray): Removed.
+ (new_multi_array): New function.
+ (_Jv_NewMultiArray): Rewrote from scratch.
+
+ * include/javaprims.h: Regenerated class declarations.
+ * classes.pl (scan): Don't declare PrimClass.
+ * include/cni.h (JvPrimClass): Use new names for classes.
+ * java/lang/Class.h (Class): Removed _Jv_initPrimClass as friend;
+ added _Jv_PrimClass.
+ * prims.cc (_Jv_PrimClass): Renamed from PrimClass.
+ (_Jv_initPrimClass): Removed.
+ (DECLARE_PRIM_TYPE): Generated globals now start with `_Jv_'.
+ (_Jv_AllocObject): Added comment.
+ (_Jv_NewObjectArray): Likewise.
+ (_Jv_NewPrimArray): Likewise.
+
+1998-10-29 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natClass.cc (_Jv_NewClass): Initialize new field.
+ (_Jv_FindArrayClass): Use dtable_method_count to compute size of
+ new dtable.
+ * java/lang/Class.h (Class): Added `dtable_method_count' field.
+
+ * java/lang/natObject.cc (init): New global.
+ (sync_init): Call _Jv_InitializeSyncMutex if required.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added ClassLoader.h.
+ * include/jvm.h (_Jv_FindClassFromSignature): Declare.
+ * java/lang/Class.h (Class): simpleLookupClass, insertClass,
+ internalAddClass, lookupArray no longer friends.
+ _Jv_RegisterClass, _Jv_FindClassInCache, _Jv_NewClass,
+ _Jv_FindArrayClass now friends.
+ * java/lang/natClass.cc (HASH_LEN): New macro.
+ (HASH_UTF): Likewise.
+ (loaded_classes): New global.
+ (_Jv_FindClass): New function.
+ (ClassClass): New define.
+ (_Jv_FindClassInCache): New function.
+ (_Jv_RegisterClass): Likewise.
+ (_Jv_NewClass): Likewise.
+ Include <string.h>
+ (ObjectClass): New define.
+ (CloneableClass): New define.
+ * prims.cc (_Jv_FindClass): Removed.
+ (simpleLookupClass): Removed.
+ (insertClass): Removed.
+ (CLASSHASHSZ): Removed.
+ (classPool): Removed.
+ (_Jv_RegisterClass): Removed.
+ (internalAddClass): Removed.
+ (ClassClass): Removed.
+ (RuntimeClass): Removed.
+ (lookupArray): Removed.
+ (CloneableClass): Removed.
+ (CLASSMAXSIG): Removed.
+ Rearranged file to group related functions together.
+ (_Jv_IsInstanceOf): Moved to natClass.cc.
+ (abort_final): Removed.
+ Removed some unused includes.
+ (classFromSig): Removed.
+ (_Jv_FindClassFromSignature): New function.
+ (_Jv_initPrimClass): Renamed.
+ (getClass): Removed.
+
+Thu Oct 29 23:17:17 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/FileDescriptor.java (finalize): Throws IOException
+ instead of Throwable.
+
+ * java/io/FileInputStream.java: Rewritten.
+
+ * java/io/StreamTokenizer.java (nextToken): Unread newline character
+ at the end of a comment.
+
+1998-10-29 Tom Tromey <tromey@cygnus.com>
+
+ * include/javaprims.h: Regenerated class declarations.
+ * classes.pl (scan): Don't special-case ClassLoader.
+
+ * prims.cc (processClass): Removed.
+ (_Jv_InitClass): Removed.
+ Removed all CSTATE_ macros.
+ (resolveConstants): Removed.
+ (MAXDIMS): Removed.
+ (_Jv_NewMultiArray): Cleaned up.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added NoClassDefFoundError.h.
+ * java/lang/Class.h (Class): Declare new methods. processClass no
+ longer a friend.
+ * java/lang/Class.java (hackTrampoline): New method.
+ (initializeClass): Declare.
+ (hackRunInitializers): Declare.
+ * java/lang/natClass.cc (getClassLoader): Moved into Class.h.
+ (initializeClass): New method.
+ (hackRunInitializers): New method.
+ (init_name, void_signature): Moved from prims.cc.
+ (_Jv_InitClass): New function.
+ (isAssignableFrom): Don't call processClass.
+ (STATE_NOTHING): New macro.
+ (resolveConstants): New function.
+ Include Thread.h.
+ (ErrorClass): New define.
+
+ * java/lang/Class.java (getClassLoader): Declare.
+ * java/lang/ClassLoader.java: Rewrote from scratch.
+
+ * java/lang/natClass.cc: Include IncompatibleClassChangeError.h,
+ AbstractMethodError.h, IllegalAccessError.h,
+ NoClassDefFoundError.h.
+ * include/jvm.h (StringClass): Declare _Jv_equalUtf8Consts.
+ * prims.cc (_Jv_equalUtf8Consts): Renamed from equalUtf8Consts; no
+ longer static. Changed return type.
+ * java/lang/natFirstThread.cc (run): Use _Jv_GetMethodLocal.
+ * java/lang/Class.h (Class): findMethodLocal no longer a friend.
+ * prims.cc (findMethodLocal): Removed.
+ (processClass): Use _Jv_GetMethodLocal.
+
+1998-10-28 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (_Jv_LookupInterfaceMethod): Removed.
+ * java/lang/Class.h (Class): Declare _Jv_GetMethodLocal as
+ friend.
+ * java/lang/natClass.cc (_Jv_GetMethodLocal): New function.
+ (_Jv_LookupInterfaceMethod): New function (rewrote from scratch).
+
+ * include/jni.h: Added copyright header.
+ * include/javaprims.h: Added copyright header.
+ * include/java-field.h: Added copyright header.
+ * include/java-array.h: Added copyright header.
+ * include/cni.h: Added copyright header.
+
+ * include/javaprims.h: Regenerated class declarations using
+ classes.pl; now they are complete.
+ * classes.pl: New file.
+
+ * java/lang/natMath.cc: Include <config.h>.
+ * java/lang/reflect/natField.cc: Include <config.h>.
+ * java/util/NativeUtil.java: Removed.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added Math.h.
+ * java/lang/Math.h: Removed.
+ * java/util/natGregorianCalendar.cc: Added copyright header.
+ Include <config.h>.
+ * java/lang/natFloat.cc: Added copyright header.
+ * java/lang/Byte.java: Added copyright header.
+ * java/lang/Void.java: Added copyright header.
+ * java/lang/Short.java: Added copyright header.
+
+Wed Oct 28 12:55:47 1998 Warren Levy <warrenl@cygnus.com>
+
+ * include/javaprims.h (java::io): Added bunch of missing classes.
+
+ * java/io/DataInputStream.java (readLine): Added a special case
+ for handling BufferedInputStream data to reduce the likelihood
+ of a pushback error.
+ (skipBytes): Added code to handle negative number of skip bytes.
+
+ * java/io/StreamTokenizer.java: Rewritten.
+
+1998-10-28 Tom Tromey <tromey@cygnus.com>
+
+ * java/util/natGregorianCalendar.cc (computeFields): Call
+ getRawOffset as a method.
+
+ * include/javaprims.h (java::io): Added FilterOutputStream.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added PrintStream.h,
+ FilterOutputStream.h.
+ * java/lang/natFirstThread.cc: Include System.h, Modifier.h,
+ PrintStream.h.
+ (die): New function.
+ (run): Die if `main' not found, is not public, or is not static.
+
+ * boehm.cc (_Jv_MarkObj): Use new field names.
+ * include/java-field.h (JvGetFirstInstanceField): Use new field
+ names.
+ (JvNumInstanceFields): Likewise.
+ * java/lang/natClass.cc (isAssignableFrom): Use new field names.
+ (getInterfaces): Likewise.
+ * prims.cc (CLASS_CONSTANTS): Removed.
+ (CLASS_CONST_SIZE): Likewise.
+ (CLASS_CONST_TAG): Likewise.
+ (CLASS_CONST_DATA): Likewise.
+ (CLASS_CONST_UTF8): Likewise.
+ (WORD2UTF): Likewise.
+ (CLASS_CLASS): Likewise.
+ (CLASS_PRIM_SIG): Likewise.
+ (CLASS_ARRAY_CACHE): Likewise.
+ (HASH_CHARS): Likewise.
+ (hashClassName): Likewise.
+ Many changes to use new field names.
+ * java/lang/Class.h (Class): Renamed fields to track compiler.
+
+1998-10-27 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natClass.cc: Use #pragma implementation.
+ (getComponentType): Moved into header.
+ (getModifiers): Likewise.
+ (getName): Likewise.
+ (getSuperclass): Likewise.
+ (isArray): Likewise.
+ (isPrimitive): Likewise.
+ * include/jvm.h (_Jv_FindClass): Declare.
+ * java/lang/natFirstThread.cc (run): Updated for new Class.h.
+ * java/lang/natSystem.cc (arraycopy): Updated for new Class.h.
+ * include/javaprims.h: Use _Jv_Method, not JvMethod.
+ * java/lang/Class.h: Rewrote from scratch.
+ * prims.cc: Many changes to work with new Class.h.
+ * include/java-field.h (CLASS_FIELDS): Removed.
+ (CLASS_SFIELDS): Likewise.
+ (CLASS_IFIELDS): Likewise.
+ (CLASS_NFIELDS): Likewise.
+ (CLASS_NIFIELDS): Likewise.
+ (CLASS_NSFIELDS): Likewise.
+ (CLASS_FSIZE): Likewise.
+ (JvGetFirstInstanceField): Rewrote.
+ (JvNumInstanceFields): Likewise.
+
+ * java/lang/Object.h: Added copyright comment.
+
+Wed Oct 28 00:32:23 1998 Per Bothner <bothner@cygnus.com>
+
+ * java/text: New package directory.
+ * java/text/FieldPosition.java: New class.
+ * java/text/ParsePosition.java: New class.
+ * java/text/ParseException.java: New Exception class.
+ * java/text/Format.java: New class.
+ * java/text/NumberFormat.java: New (empty placeholder) class.
+ * java/text/DateFormatSymbols.java: New class (no Locales support).
+ * java/text/DateFormat.java: New Format class (incomplete).
+ * java/text/SimpleDateFormat.java: New DateFormat class.
+
+ * include/javaprims.h (java::test): Added new package and classes.
+ * java/util/Calendar.java (clone): New method.
+ * java/util/Date.java (toString): Added non-native implementation.
+ (parse): Made public instead of synchronized.
+ * java/util/natDate.cc (toString): Removed.
+ * java/util/natGregorianCalendar.cc (computeFields):
+ Use gmtime (or gmtime_r) if no zone offset (the default, for now!).
+
+1998-10-27 Tom Tromey <tromey@cygnus.com>
+
+ * boehm.cc (_Jv_MarkObj): Correctly mark a class' interfaces.
+
+ * prims.cc (lookupArray): Added explanatory comment.
+ * boehm.cc (_Jv_MarkObj): Correctly scan methods and fields of
+ class. Mark the class of each object.
+ (_Jv_MarkArray): Mark the object's class.
+
+ * configure: Rebuilt.
+ * configure.in: Create java-gc.h.
+ * include/boehm-gc.h: New file.
+ * include/no-gc.h: New file.
+ * java/lang/Class.h (Class): Declare JV_MARKOBJ_DECL as friend, if
+ defined.
+ * java/lang/Object.h: Include java-gc.h.
+ (Object): Declare JV_MARKOBJ_DECL and JV_MARKARRAY_DECL as
+ friends, if defined.
+ * boehm.cc (_Jv_MarkObj): Renamed from mark_obj; changed
+ signature.
+ (_Jv_MarkArray): Renamed from mark_array; changed signature.
+
+1998-10-26 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natCharacter.cc (isSpaceChar): Look for line and
+ paragraph separators, not numbers.
+
+ * java/io/Writer.java (write): Removed write(char) to avoid
+ ambiguity.
+ * java/util/Properties.java: Rewrote from scratch.
+ * include/javaprims.h (java::io): Added PrintWriter,
+ BufferedWriter, PushbackReader.
+
+Mon Oct 26 13:13:28 1998 Anthony Green <green@cygnus.com>
+
+ * java/lang/System.java: exit() is a static method.
+
+1998-10-26 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natString.cc (_Jv_NewStringUTF): Use
+ _Jv_strLengthUtf8.
+ (_Jv_NewStringUtf8Const): Likewise.
+ * include/jvm.h (_Jv_strLengthUtf8): Declare.
+ * prims.cc (_Jv_strLengthUtf8): Renamed from strLengthUtf8.
+
+ * java/lang/Object.h (Object): Add mark_array as friend function.
+ * prims.cc (_Jv_NewPrimArray): Use _Jv_AllocObj, not
+ _Jv_AllocBytes, to ensure that header is marked.
+ * boehm.cc (mark_obj): Push sync_info field for all objects, not
+ just Objects.
+ (mark_array): Push sync_info field for array.
+
+1998-10-24 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/String.java (String): Updated for StringBuffer
+ change.
+ * java/util/BitSet.java: Renamed field (data->bits) to conform to
+ serialization spec.
+ * java/lang/StringBuffer.java: Renamed fields to conform to
+ serialization spec: buffer->value, next->count, copy->shared.
+
+Wed Oct 21 18:24:57 1998 Per Bothner <bothner@cygnus.com>
+
+ * java/util/TimeZone.java: New class.
+ * java/util/SimpleTimeZone.java: New class.
+ * java/util/Locale.java: New file.
+ * java/util/Calendar.java: Make almost complete.
+ * java/util/GregorianCalendar.java
+ * java/util/natGregorianCalendar.cc: New file.
+ * java/util/Date.java: Re-written from scratch.
+ * java/util/natDate.cc (setTime): Removed - no longer native.
+ * include/javaprims.h (java::util): Add new classes.
+ * Makefile.am (nat_files): Add java/util/natGregorianCalendar.o.
+ (nat_headers); Add TimeZone.h, Calendar.h, GregorianCalendar.h.
+
+Sat Oct 24 22:58:25 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/natFileDescriptorPosix.cc (read): Zero extend jbyte b before
+ returning it as a jint.
+
+1998-10-23 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (arg_vec, main_group, main_thread): New globals.
+ (JvRunMain): Use them.
+
+Fri Oct 23 17:10:12 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/DataInputStream.java: Rewritten.
+
+ * java/io/DataOutputStream.java (writeUTF): OR secondary and
+ tertiary bytes with 0x80 per spec.
+
+1998-10-23 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/String.java (init): Changed name of `copy' argument.
+ * java/lang/natString.cc (init): Inverted sense of `copy'
+ argument.
+
+ * java/lang/Object.h (Object): Declare mark_obj as a friend.
+ * java/lang/Class.h (Class): Declare mark_obj as a friend.
+ * boehm.cc (ObjectClass): New define.
+ (ClassClass): Likewise.
+ (mark_obj): Special-case Object and Class.
+
+ * prims.cc (_Jv_NewPrimArray): Pass correct args to memset.
+
+ * java/util/BitSet.java: Rewrote from scratch.
+
+ * prims.cc (lookupArray): Removed useless cast.
+
+ * java/lang/natObject.cc: Use `#pragma implementation'.
+
+ * java/lang/String.java (init): Added `copy' argument.
+ (String): Look in StringBuffer to find char array.
+ * java/lang/natString.cc (init): Added `copy' argument.
+ * java/lang/StringBuffer.java: Rewrote from scratch.
+
+ * java/lang/Compiler.java: Rewrote from scratch.
+ * java/lang/Throwable.java: Don't use NativeLang.
+ * include/javaprims.h (java::lang): Don't mention NativeLang.
+ * java/lang/Process.java: Rewrote from scratch.
+ * java/lang/SecurityManager.java (classLoaderDepth): Commented
+ out.
+ (currentClassLoader): Likewise.
+ (currentLoadedClass): Likewise.
+ * java/lang/natClass.cc (getClassLoader): Commented out.
+ * java/lang/Class.java (getClassLoader): Commented out.
+ * java/lang/Compiler.java: Removed.
+ * java/lang/NativeLang.java: Removed.
+
+ * java/lang/natFirstThread.cc (run): Use _Jv_makeUtf8Const.
+ * include/jvm.h (StringClass): Declare _Jv_makeUtf8Const.
+ * prims.cc (_Jv_makeUtf8Const): Renamed from makeUtf8Const.
+ (_Jv_hashUtf8String): Now static.
+ * include/java-field.h (getNameUtf8Const): Use `_Jv_Utf8Const' as
+ name of return type.
+
+ * java/lang/Class.h (Class): Declare checkMemberAccess.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added Member.h.
+ * java/lang/natClass.cc: Include Member.h.
+ (getDeclaredClasses): Call checkMemberAccess.
+ * java/lang/Class.java (checkMemberAccess): Call
+ SecurityManager.checkMemberAccess.
+
+Fri Oct 23 08:01:54 1998 Anthony Green <green@cygnus.com>
+
+ * java/lang/SecurityManager.java: Rewritten.
+
+Thu Oct 22 17:16:10 1998 Anthony Green <green@cygnus.com>
+
+ * java/applet/Applet.java, java/applet/AppletContext.java,
+ java/applet/AppletStub.java, java/applet/AudioClip.java,
+ java/awt/AWTError.java, java/awt/AWTException.java,
+ java/awt/BorderLayout.java, java/awt/Button.java,
+ java/awt/Canvas.java, java/awt/CardLayout.java,
+ java/awt/Checkbox.java, java/awt/CheckboxGroup.java,
+ java/awt/CheckboxMenuItem.java, java/awt/Choice.java,
+ java/awt/Color.java, java/awt/Component.java,
+ java/awt/Container.java, java/awt/Dialog.java,
+ java/awt/Dimension.java, java/awt/Event.java,
+ java/awt/FileDialog.java, java/awt/FlowLayout.java,
+ java/awt/Font.java, java/awt/FontMetrics.java,
+ java/awt/Frame.java, java/awt/Graphics.java,
+ java/awt/GridBagConstraints.java, java/awt/GridBagLayout.java,
+ java/awt/GridLayout.java, java/awt/Image.java,
+ java/awt/Insets.java, java/awt/Label.java,
+ java/awt/LayoutManager.java, java/awt/List.java,
+ java/awt/MediaTracker.java, java/awt/Menu.java,
+ java/awt/MenuBar.java, java/awt/MenuComponent.java,
+ java/awt/MenuContainer.java, java/awt/MenuItem.java,
+ java/awt/Panel.java, java/awt/Point.java, java/awt/Polygon.java,
+ java/awt/Rectangle.java, java/awt/Scrollbar.java,
+ java/awt/TextArea.java, java/awt/TextComponent.java,
+ java/awt/TextField.java, java/awt/Toolkit.java,
+ java/awt/Window.java, java/awt/image/ColorModel.java,
+ java/awt/image/CropImageFilter.java,
+ java/awt/image/DirectColorModel.java,
+ java/awt/image/FilteredImageSource.java,
+ java/awt/image/ImageConsumer.java,
+ java/awt/image/ImageFilter.java,
+ java/awt/image/ImageObserver.java,
+ java/awt/image/ImageProducer.java,
+ java/awt/image/IndexColorModel.java,
+ java/awt/image/MemoryImageSource.java,
+ java/awt/image/PixelGrabber.java,
+ java/awt/image/RGBImageFilter.java, java/awt/peer/ButtonPeer.java,
+ java/awt/peer/CanvasPeer.java,
+ java/awt/peer/CheckboxMenuItemPeer.java,
+ java/awt/peer/CheckboxPeer.java, java/awt/peer/ChoicePeer.java,
+ java/awt/peer/ComponentPeer.java,
+ java/awt/peer/ContainerPeer.java, java/awt/peer/DialogPeer.java,
+ java/awt/peer/FileDialogPeer.java, java/awt/peer/FramePeer.java,
+ java/awt/peer/LabelPeer.java, java/awt/peer/ListPeer.java,
+ java/awt/peer/MenuBarPeer.java,
+ java/awt/peer/MenuComponentPeer.java,
+ java/awt/peer/MenuItemPeer.java, java/awt/peer/MenuPeer.java,
+ java/awt/peer/PanelPeer.java, java/awt/peer/ScrollbarPeer.java,
+ java/awt/peer/TextAreaPeer.java,
+ java/awt/peer/TextComponentPeer.java,
+ java/awt/peer/TextFieldPeer.java, java/awt/peer/WindowPeer.java,
+ java/net/ContentHandler.java, java/net/ContentHandlerFactory.java,
+ java/net/DatagramPacket.java, java/net/DatagramSocket.java,
+ java/net/DefaultSocketImpl.java, java/net/InetAddress.java,
+ java/net/MalformedURLException.java, java/net/NativeNet.java,
+ java/net/ProtocolException.java, java/net/ServerSocket.java,
+ java/net/Socket.java, java/net/SocketException.java,
+ java/net/SocketImpl.java, java/net/SocketImplFactory.java,
+ java/net/URL.java, java/net/URLConnection.java,
+ java/net/URLEncoder.java, java/net/URLStreamHandler.java,
+ java/net/URLStreamHandlerFactory.java,
+ java/net/UnknownHostException.java,
+ java/net/UnknownServiceException.java: Removed.
+
+1998-10-22 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (_Jv_AllocObject): Register finalizer if class'
+ finalizer is not Object.finalize.
+ (internalAddClass): Don't set `final' member of class.
+ * java/lang/Object.h: Updated _JvObjectPrefix comment to mention
+ other places that know about finalize() location.
+ * java/lang/Class.h (Class): Removed `final' field.
+
+ * aclocal.m4, configure: Rebuilt.
+ * acinclude.m4 (LIB_AC_PROG_CXX): Unconditionally use
+ AC_CHECK_PROGS; otherwise the CXX cache variable might not be
+ set.
+ * configure.in (AC_OUTPUT): Pass CXX to config.status.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (AM_MAKEFLAGS): Added CXX, CXXFLAGS.
+
+1998-10-21 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/Object.java (finalize): Move to be first method in
+ class.
+
+ * configure: Rebuilt.
+ * configure.in (GCINCS): Include contents of boehm-cflags file.
+
+Tue Oct 20 13:11:04 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * java/lang/ArrayIndexOutOfBoundsException.java
+ (ArrayIndexOutOfBoundsException): Fixed string literal.
+ * java/lang/StringIndexOutOfBoundsException.java
+ (StringIndexOutOfBoundsException): Fixed string literal.
+
+1998-10-20 Andrew Haley <aph@viagra.cygnus.co.uk>
+
+ * natFileDescriptorEcos.cc added.
+ * natFileDescriptor.cc renamed natFileDescriptorPosix.cc.
+
+1998-10-20 Andrew Haley <aph@viagra.cygnus.co.uk>
+
+ * acconfig.h: test for __int32_t and __uint32_t added.
+ * include/config.h.in: test for __int32_t and __uint32_t added.
+ * java/lang/fdlibm.h: test for __int32_t and __uint32_t added.
+ * java/lang/mprec.h: test for __int32_t and __uint32_t added.
+ * configure.in: test for __int32_t and __uint32_t added.
+ * configure: test for __int32_t and __uint32_t added.
+
+ * natFileDescriptor.cc renamed natFileDescriptorPosix.cc.
+
+ * configure.in: Test for --enable ecos and link
+ natFileDescriptor.cc to natFileDescriptorEcos.cc or
+ natFileDescriptorPosix.cc
+
+ * java/lang/dtoa.c: #include <stdio.h> moved inside #ifdef DEBUG.
+
+Mon Oct 19 18:13:58 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/ByteArrayInputStream.java (skip): Ensure that arg passed
+ in isn't negative.
+
+ * java/io/CharArrayReader.java (close): Synchronize on lock
+ object per Reader contract.
+ (read): Synchronize on lock obj. Verify that reader wasn't closed.
+ (reset): Synchronize on lock obj. Verify that reader wasn't closed.
+ (skip): Synchronize on lock obj. Verify that reader wasn't closed.
+ Ensure that arg passed in isn't negative.
+
+ * java/io/FilterReader.java (FilterReader): Use the lock obj when
+ constructing the superclass.
+
+ * java/io/PushbackReader.java (close): Synchronize on lock
+ object per Reader contract.
+ (read): Synchronize on lock obj. Verify that reader wasn't closed.
+ (ready): Synchronize on lock obj. Throw IOException if reader
+ wasn't closed.
+ (reset): Synchronize on lock obj. Verify that reader wasn't closed.
+ (skip): Synchronize on lock obj. Verify that reader wasn't closed.
+ Ensure that arg passed in isn't negative.
+ (unread): Synchronize on lock obj. Verify that reader wasn't closed.
+
+ * java/io/StringReader.java: Created.
+
+Sun Oct 18 02:19:11 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/CharArrayReader.java (mark): Removed synchronized modifier
+ to match JCL.
+ (read): Removed synchronized modifier to match JCL.
+ (reset): Removed synchronized modifier to match JCL.
+ (skip): Removed synchronized modifier to match JCL.
+
+Sun Oct 18 02:01:54 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/PushbackReader.java (PushbackReader): Made
+ constructors public.
+
+1998-10-17 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/PushbackInputStream.java (PushbackInputStream): Made
+ constructors public.
+
+1998-10-16 Anthony Green <green@cygnus.com>
+
+ * aclocal.m4, configure: Rebuilt.
+ * acinclude.m4 (LIBJAVA_CONFIGURE): Changed for new
+ configure.host.
+ * configure.host: Rewrote.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (AM_CXXFLAGS): Added LIBJAVA_CXXFLAGS.
+ (AM_CFLAGS): New macro.
+ ($(c_files)): Use COMPILE macro.
+ (EXTRA_libjava_a_SOURCES): Added dummy file to work around
+ automake problem(s).
+
+Fri Oct 16 16:36:28 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/ByteArrayInputStream.java (mark): Removed temp. comment.
+
+ * java/io/CharArrayReader.java: Created.
+
+Fri Oct 16 15:17:01 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/PushbackInputStream.java (PushbackInputStream): Changed
+ size check to allow 0 per JCL.
+
+ * java/io/PushbackReader.java: Created.
+
+1998-10-16 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/natFileDescriptor.cc: Conditionalize <unistd.h>,
+ <sys/time.h> includes.
+ * java/io/natFile.cc: Conditionalize <unistd.h> include.
+ * include/no-threads.h: Conditionalize <unistd.h> include on
+ HAVE_UNISTD_H.
+
+Fri Oct 16 14:39:51 1998 Andrew Haley <aph@madras.cygnus.co.uk>
+
+ * include/no-threads.h: Don't include <unistd.h> unless HAVE_SLEEP
+ is defined.
+
+Thu Oct 15 19:27:54 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/FilterReader.java: Created.
+
+Thu Oct 15 17:49:43 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/PushbackInputStream.java: Rewritten.
+
+ * java/io/BufferedInputStream.java (BufferedInputStream): Check
+ that size passed to constructor is legal.
+ (read): Check that args passed in are legal.
+ (skip): Rewritten to get rid of the temporary buffer.
+ (refill): Added marklimit check to grow the buffer.
+
+ * java/io/ByteArrayInputStream.java (read): Optimized invalid args
+ check.
+ (bytesAvail): Removed.
+ (read): Changed bytesAvail to Math.min.
+ (skip): Changed bytesAvail to Math.min.
+
+ * java/io/InputStream.java (read): Got rid of extraneous exceptions
+ from the throws clause.
+ (skip): Rewritten to use a temporary buffer.
+
+Thu Oct 15 19:42:55 1998 Andrew Haley <aph@madras.cygnus.co.uk>
+
+ * prims.cc: (JvConvertArgv): Check added for argc < 0; possible on
+ some target OSes
+
+ * java/lang/dtoa.c: (print): Made #ifdef DEBUG only.
+
+ * java/lang/strtod.c: (_strtod_r): Don't use HUGE_VAL: it's faster
+ to write the double one word at a time.
+
+Tue Oct 13 14:41:47 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/BufferedInputStream.java: Rewritten.
+
+1998-10-12 Tom Tromey <tromey@cygnus.com>
+
+ * jni.cc: Include config.h and stddef.h.
+
+ * java/lang/Class.h (_dispatchTable): Removed again.
+ Removed all ACC_* defines again.
+
+Fri Oct 9 17:08:34 1998 Per Bothner <bothner@cygnus.com>
+
+ * Makefile.am (nat_files): Add netField.o.
+ (libjava_a_SOURCES): Add jni.cc.
+ (java/lang/reflect/Field.h): New rule.
+ * Makefile.in: Re-generated.
+ * include/javaprims.h: Add some extra class and typedefs.
+ * include/jni.h: New file.
+ * jni.cc: New file.
+
+ * include/java-field.h: New file.
+ * include/jvm.h: #include <java-field.h>.
+ * boehm.cc: #include <java-field.h>.
+ * java/lang/Class.h (JvField, inline numbers): Moved to java-field.h.
+ * java/lang/reflect/Member.java: New class.
+ * java/lang/reflect/Field.java: New class. (Very incomplete.)
+ * java/lang/reflect/natField.cc: New file. (Very incomplete.)
+
+Sun Oct 11 00:34:44 1998 Anthony Green <green@cygnus.com>
+
+ * Makefile.in, aclocal.m4, configure, test/Makefile.in,
+ testsuite/Makefile.in: Rebuilt.
+ * Makefile.am, acinclude.m4, configure.in: Add multilib support.
+ * configure.host: Created.
+
+1998-10-10 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natObject.cc (sync_init): Always allocate a new
+ sync_info.
+
+1998-10-09 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/ByteArrayInputStream.java (mark): Renamed from
+ `mark_FIXME'.
+
+ * java/io/FileOutputStream.java (finalize): Removed.
+ * java/io/FileDescriptor.java (finalize): New method.
+
+Thu Oct 8 17:59:43 1998 Warren Levy <warrenl@cygnus.com>
+
+ * ByteArrayInputStream.java: Corrected status comment.
+
+Thu Oct 8 17:22:49 1998 Warren Levy <warrenl@cygnus.com>
+
+ * ByteArrayInputStream.java, FilterInputStream.java: Rewritten.
+
+1998-10-08 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (lookupArray): Use static array to initialize list of
+ interfaces.
+
+Thu Oct 8 12:45:03 1998 Anthony Green <green@cygnus.com>
+
+ * prims.cc (lookupArray): Initialize the msize for new
+ array classes.
+
+Wed Oct 7 12:13:59 1998 Anthony Green <green@cygnus.com>
+
+ * configure: Rebuilt.
+ * configure.in: Check for fsync and sleep.
+ * acconfig.h (HAVE_SLEEP, HAVE_FSYNC): Added.
+
+ * include/no-threads.h (_Jv_CondWait): Wrap sleep() use with
+ HAVE_SLEEP. Include config.h.
+
+ * java/io/natFileDescriptor.cc (NO_FSYNC_MESSAGE): Added.
+ * java/io/natFileDescriptor.cc (sync): Wrap fsync() use
+ with HAVE_FSYNC.
+
+1998-10-08 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/natFile.cc: Don't include SecurityManager.h.
+ (performList): Renamed.
+ (performMkdir): Likewise.
+ (performRenameTo): Likewise.
+ (performDelete): Likewise.
+ Include <stdlib.h>.
+ * java/io/File.java (performDelete): Renamed from natDelete.
+ (list): Now written in Java.
+ (performList): New method.
+ (performMkdir): New method.
+ (mkdir): Now written in Java.
+ (performRenameTo): New method.
+ (renameTo): Now written in Java.
+
+1998-10-06 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (ETAGS_ARGS): New macro.
+ (TAGS_DEPENDENCIES): Likewise.
+
+Tue Oct 6 22:04:44 PDT 1998 Anthony Green <green@cygnus.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am: Use -classpath option with javac.
+
+Tue Oct 6 18:51:31 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/FileOutputStream.java (finalize): Call
+ super.finalize().
+
+Tue Oct 6 16:02:45 1998 Anthony Green <green@cygnus.com>
+
+ * java/lang/mprec.h: Remove unused _mprec_log10 which conflicts
+ with newlib's libm.
+ * java/lang/mprec.c: Ditto.
+
+ * java/lang/mprec.h: Include math.h for HUGE_VAL when
+ cross-compiling.
+
+Tue Oct 6 14:27:00 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/InputStream.java (skip): Make local var i a long.
+
+Mon Oct 5 09:44:24 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natObject.cc (clone): Use memcpy, not memmove.
+ * prims.cc (lookupArray): Use memcpy, not memmove.
+ * include/config.h.in: Rebuilt.
+ * acconfig.h (HAVE_MEMCPY): Added.
+ * configure: Rebuilt.
+ * configure.in: Check for memcpy again.
+
+ * java/io/RandomAccessFile.java (RandomAccessFile): Use
+ String.compareTo, not ==.
+
+ * java/lang/Class.h (Class): Use _Jv_DispatchTable.
+ (_PRIMITIVE_DTABLE): Use _Jv_DispatchTable.
+ * java/lang/natObject.cc (struct _dispatchTable): Removed.
+ * include/jvm.h (struct _Jv_DispatchTable): New structure.
+ * prims.cc (lookupArray): Removed dead code. Copy Object's dtable
+ into new array's dtable.
+ (_Jv_AllocObject): Use _Jv_DispatchTable.
+ (_Jv_NewPrimArray): Likewise.
+ (_Jv_NewObjectArray): Likewise.
+
+Fri Oct 2 18:57:14 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * prims.cc (_Jv_ThrowBadArrayIndex): Construct a string with the
+ offending index value.
+ (_Jv_NewPrimArray): Throw NegativeArraySizeException when
+ appropriate.
+ * include/jvm.h (_Jv_ThrowBadArrayIndex): Added declaration.
+ * java/lang/Throwable.java: (Throwable): fixed argument to this().
+
+Fri Oct 2 15:58:23 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/io/DataInput.java, java/io/InputStream.java: Rewritten.
+
+ * java/io/OutputStream.java (write): Use off and len parameters to
+ output partial byte array.
+
+ * java/io/BufferedReader.java, java/io/FileReader.java,
+ java/io/InputStreamReader.java, java/io/LineNumberReader.java,
+ java/io/OutputStreamWriter.java, java/io/PrintWriter.java,
+ java/io/Reader.java, java/io/UnsupportedEncodingException.java,
+ java/io/Writer.java: Added COPYRIGHT-TBD comment.
+
+ * include/javaprims.h (java::lang): Added
+ ExceptionInInitializerError, IllegalStateException,
+ NoSuchFieldException, and UnsupportedOperationException.
+
+Fri Oct 2 01:05:38 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natObject.cc (CloneableClass): Is a Class, not a
+ Class*.
+
+ * include/java-array.h (__JArray): Added clone method.
+ * prims.cc (CloneableClass): New define.
+ (lookupArray): Initialize array class to indicate that it
+ implements Cloneable.
+
+ * java/lang/Class.h: Removed all ACC_* defines.
+ * prims.cc: Include Modifier.h.
+ (_Jv_LookupInterfaceMethod): Use methods in
+ java.lang.reflect.Modifier, not ACC_ defines.
+
+ * java/lang/Class.h (Class): Declare getClasses,
+ getDeclaredClasses, getDeclaringClass, getModifiers,
+ * java/lang/Class.java: Rewrote from scratch.
+
+ * include/javaprims.h (java::lang): Added reflect and
+ reflect::Modifier.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added Modifier.h.
+
+ * prims.cc (_Jv_IsInstanceOf): Return false if class is
+ primitive.
+
+Fri Oct 2 06:49:00 1998 Anthony Green <green@cygnus.com>
+
+ * java/lang/natString.cc (_Jv_StringFindSlot): Use JvAssert
+ instead of test and abort.
+
+ * java/lang/natString.cc (_Jv_NewStringUtf8Const): Add cast to
+ remove compiler warning.
+
+Fri Oct 2 12:33:44 1998 Andrew Haley <aph@korai.cygnus.co.uk>
+
+ * java/lang/natDouble.cc: zero terminate string.
+ * strtod.c: Set errno if no digits are found in fraction.
+
+Thu Oct 1 11:48:28 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/reflect/Modifier.java: New file.
+
+ * java/lang/VirtualMachineError.java: Rewrote from scratch.
+ * java/lang/VerifyError.java: Rewrote from scratch.
+ * java/lang/UnsatisfiedLinkError.java: Rewrote from scratch.
+ * java/lang/UnknownError.java: Rewrote from scratch.
+ * java/lang/StackOverflowError.java: Rewrote from scratch.
+ * java/lang/OutOfMemoryError.java: Rewrote from scratch.
+ * java/lang/InternalError.java: Rewrote from scratch.
+ * java/lang/IllegalAccessError.java: Rewrote from scratch.
+ * java/lang/ExceptionInInitializerError.java: New file.
+ * java/lang/Error.java: Rewrote from scratch.
+ * java/lang/ClassFormatError.java: Rewrote from scratch.
+ * java/lang/ClassCircularityError.java: Rewrote from scratch.
+ * java/lang/AbstractMethodError.java: Rewrote from scratch.
+ * java/lang/NoClassDefFoundError.java: Rewrote from scratch.
+ * java/lang/NoSuchFieldError.java: Rewrote from scratch.
+ * java/lang/LinkageError.java: Rewrote from scratch.
+ * java/lang/IncompatibleClassChangeError.java: Rewrote from
+ scratch.
+ * java/lang/NoSuchMethodError.java: Rewrote from scratch.
+
+ * java/lang/natObject.cc (_Jv_FinalizeObject): New function.
+ * java/lang/Object.h (Object): Declare _Jv_FinalizeObject as a
+ friend.
+ * include/cni.h (JvAllocObject): Moved from prims.cc.
+ Include Class.h.
+ * prims.cc (JvAllocObject): Moved to cni.h.
+ (_Jv_AllocObject): Use _Jv_FinalizeObject.
+ (finalize_name): Removed.
+
+Wed Sep 30 12:09:34 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/Class.h (Class): Added size() method.
+ * prims.cc (_Jv_MonitorEnter): Removed.
+ (_Jv_MonitorExit): Removed.
+ * java/lang/Object.h (JvSyncInfo): Removed.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added Cloneable.h,
+ CloneNotSupportedException.h.
+ * java/lang/Object.h: Rewrote.
+ * java/lang/natObject.cc: Rewrote from scratch.
+ * java/lang/Object.java: Rewrote from scratch.
+
+ * java/io/natFile.cc: Conditionally include <dirent.h>.
+ (list): If no <dirent.h>, always return NULL.
+ * configure: Rebuilt.
+ * configure.in: Check for dirent.h.
+
+ * prims.cc (lookupArray): Don't use sprintf.
+
+ * java/util/Hashtable.java (containsKey): Use `abs' to compute
+ initial index.
+ (get): Likewise.
+ (put): Likewise.
+ (rehash): Likewise.
+ (remove): Likewise.
+
+ * java/util/Hashtable.java (hsize): Renamed from size to avoid
+ name conflict with method.
+
+ * include/javaprims.h (java::util): Added HashtableEntry.
+
+Tue Sep 29 16:48:01 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/util/Hashtable.java: Rewritten.
+
+Tue Sep 29 00:28:42 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/natFileDescriptor.cc (write): Correctly test `write'
+ return value.
+ (write): Likewise.
+
+ * java/lang/natThread.cc (join): Fixed assertion to refer to `nt',
+ not `curr_nt'.
+
+ * posix-threads.cc (_Jv_CondWait): Now returns int.
+ * include/javaprims.h (java::lang): Added
+ IllegalMonitorStateException.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added IllegalMonitorStateException.h.
+ * include/no-threads.h (_Jv_CondDestroy): Removed.
+ (_Jv_MutexDestroy): Removed.
+ (_Jv_CondWait): Now returns int.
+ (_Jv_CondNotify): Likewise. Added mutex argument.
+ (_Jv_CondNotifyAll): Likewise.
+ (_Jv_MutexLock): Always succeed.
+ (_Jv_MutexUnlock): Likewise.
+ * include/posix-threads.h (_Jv_HaveCondDestroy): Define.
+ (_Jv_HaveMutexDestroy): Define.
+ (_Jv_CondNotify): Now returns int. Added mutex argument.
+ (_Jv_CondNotifyAll): Likewise.
+ * include/quick-threads.h (_Jv_CondDestroy): Removed.
+ (_Jv_MutexDestroy): Removed.
+ (_Jv_CondWait): Now returns int.
+ (_Jv_CondNotify): Likewise. Added mutex argument.
+ (_Jv_CondNotifyAll): Likewise.
+ * java/lang/natObject.cc (finalize_sync_info): New function.
+ (init_mutex): Initialize `init' and register finalizer if
+ required.
+ (CHECK): New macro.
+ (init_mutex): Use it.
+ (notify): Use it.
+ (notifyAll): Use it.
+ (wait): Use it.
+ (notify): Throw IllegalMonitorStateException on failure.
+ (notifyAll): Likewise.
+ (wait): Likewise. Also, throw InterruptedException if
+ appropriate.
+ Include cni.h, Thread.h, IllegalMonitorStateException.h,
+ InterruptedException.h, IllegalArgumentException.h.
+ * java/lang/Object.h (struct JvSyncInfo): Added `init' member.
+
+ * java/lang/natString.cc: Renamed all `JvPriv' functions.
+ * java/lang/natRuntime.cc: Renamed all `JvPriv' functions.
+ * java/lang/Object.h: Renamed all `JvPriv' functions (and types).
+ * java/lang/natObject.cc: Renamed all `JvPriv' functions.
+ * java/lang/natThread.cc: Renamed all `JvPriv' functions.
+ * quick-threads.cc: Renamed all `JvPriv' functions.
+ * prims.cc: Renamed all `JvPriv' functions.
+ * posix-threads.cc: Renamed all `JvPriv' functions.
+ * nogc.cc: Renamed all `JvPriv' functions.
+ * no-threads.cc: Renamed all `JvPriv' functions.
+ * boehm.cc: Renamed all `JvPriv' functions.
+ * include/quick-threads.h: Renamed all `JvPriv' functions.
+ * include/posix-threads.h: Renamed all `JvPriv' functions.
+ * include/no-threads.h: Renamed all `JvPriv' functions.
+ * include/jvm.h: Renamed all `JvPrivXXX' functions to `_Jv_XXX'.
+
+ * include/no-threads.h (JvPrivCondWait): Wrote minimal
+ implementation.
+ (JvPrivCondNotify): Do nothing.
+ (JvPrivCondNotifyAll): Do nothing.
+
+ * prims.cc (processClass): Handle case where state is
+ DOING_CONSTINIT.
+
+ * java/lang/natFirstThread.cc: Include <stdlib.h>
+
+ * configure: Rebuilt.
+ * configure.in: Fixed sense of --enable-libjava-debug.
+
+ * java/lang/natThread.cc (join): Declare `t' outside the loop so
+ it can be used afterward by the assertion.
+
+ * configure: Rebuilt.
+ * configure.in: When cross-compiling, assume alloca.
+
+ * java/lang/natDouble.cc: Updated alloca magic to avoid use of
+ __builtin_alloca (autoconf docs are wrong here).
+
+ * java/io/natFileDescriptor.cc (close): Set fd to -1 before
+ closing.
+ (available): Use `FD_ZERO' (typo fix).
+
+Tue Sep 29 17:43:30 1998 Andrew Haley <aph@tikka.cygnus.co.uk>
+
+ * java/lang/mprec.h, java/lang/mprec.c, java/lang/dtoa.c,
+ java/lang/natDouble.cc, java/lang/strtod.c: struct _Bigint renamed
+ struct _Jv_Bigint.
+ * java/lang/mprec.h, java/lang/mprec.c, java/lang/dtoa.c,
+ java/lang/natDouble.cc, java/lang/strtod.c: struct _reent renamed
+ struct _Jv_reent.
+
+ * java/lang/natDouble.cc: layout changed to match GNU coding standard.
+
+Tue Sep 29 07:57:13 1998 Anthony Green <green@cygnus.com>
+
+ * java/lang/natDouble.cc: Declare alloca safely.
+
+ * configure, include/config.h.in: Rebuilt.
+ * configure.in: Add alloca check.
+
+Tue Sep 29 00:28:42 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natThread.cc (finish_): Hold mutex for interrupt
+ condition while calling notify.
+ (join): Remove `curr_nt' from `nt's join list, not vice versa.
+ (interrupt): Hold mutex for interrupt condition while calling
+ notify.
+
+ * java/lang/natString.cc (init): Allocate and try to read `count'
+ characters, not `count - offset' characters.
+
+ * java/io/ByteArrayInputStream.java (ByteArrayInputStream):
+ Correctly compute `count'.
+
+ * java/lang/Boolean.java (getBoolean): Return false if property
+ not found.
+
+ * java/lang/System.java (setProperties): Set prop_init.
+
+Mon Sep 28 12:39:25 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/PrintStream.java (println): Use line.separator, not
+ file.separator.
+ * java/lang/System.java (out, err): Make both autoflush streams.
+ * java/io/ByteArrayOutputStream.java (write): Increment `count'.
+
+ * include/config.h.in: Rebuilt.
+ * acconfig.h (HAVE_MEMCPY): Removed.
+ * configure: Rebuilt.
+ * configure.in: Never define HAVE_MEMCPY.
+
+ * java/lang/natString.cc: Don't include OutOfMemoryError.h or
+ Class.h.
+ (_Jv_AllocString): Use JvAllocObject again.
+ * java/lang/Class.h (thread): New field.
+ (_Jv_AllocString): No longer a friend.
+ * prims.cc (processClass): Removed dead code. Changed to more
+ closely follow the Java Language Specification.
+ (processClass): Return early if already at the right state.
+
+ * prims.cc (JvNewStringUTF): Removed.
+ * include/cni.h (JvNewStringUTF): New function.
+ (_Jv_NewStringUTF): Declare as `extern "C"'.
+ * java/lang/natString.cc (_Jv_NewStringUTF): New function.
+
+ * java/lang/natDouble.cc: Added copyright info and header
+ comment. Include <stdlib.h>.
+ (doubleValueOf): Use alloca, not malloc. Allocate 3 times as many
+ bytes as are chars in string.
+
+Sat Sep 26 00:19:27 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/util/Hashtable.java (hkeys): Member renamed from to avoid
+ clash with method.
+ (hsize): Likewise.
+
+ * java/lang/System.java (init_properties): Now native.
+ * java/lang/natSystem.cc (init_properties): New method.
+ Include java/util/Properties.h.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added ByteArrayOutputStream.h,
+ OutputStreamWriter.h, ByteArrayInputStream.h,
+ InputStreamReader.h, Writer.h, InputStream.h, OutputStream.h,
+ Reader.h, Vector.h, SecurityManager.h, FilenameFilter.h,
+ SyncFailedException.h, EOFException.h, FileNotFoundException.h,
+ Properties.h, Hashtable.h, Dictionary.h.
+ (CFLAGS): Removed.
+
+ * include/javaprims.h (java::io): Added Reader, Writer,
+ InputStreamReader, OutputStreamWriter,
+ UnsupportedEncodingException, ByteArrayInputStream,
+ ByteArrayOutputStream, EOFException, SyncFailedException,
+ PushbackInputStream.
+ (java::lang): Added Cloneable.
+ (java::util): Added NoSuchElementException, VectorEnumeration,
+ Dictionary, HashtableEnumeration, PropertiesEnumeration.
+
+ * java/io/PipedReader.java: New file.
+
+Fri Sep 25 00:11:25 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natCharacter.cc (getNumericValue): Use `digit' to pick
+ up A-Z.
+
+ * java/io/io-defs.h: Removed.
+
+ * java/io/FileInputStream.java (skip): Use FileDescriptor.seek.
+ (FileInputStream): Use new constructor. Can throw IOException.
+
+ * java/lang/System.java (getProperty): Don't throw
+ NullPointerException.
+
+ * java/io/RandomAccessFile.java: Rewrote from scratch.
+
+ * java/io/natFileDescriptor.cc: Include EOFException.h.
+ (seek): New method.
+ (length): New method.
+ (getFilePointer): New method.
+ (read): New method.
+ (available): New method.
+ * java/io/FileDescriptor.java (SET, CUR): New constants.
+ (seek, length, getFilePointer, read, available): New decls.
+
+ * java/io/PipedWriter.java: New file.
+ * java/io/StringWriter.java: New file.
+ * java/io/CharArrayWriter.java: New file.
+ * java/io/CharConversionException.java: New file.
+ * java/io/BufferedWriter.java: New file.
+ * java/io/FilterWriter.java: New file.
+ * java/io/FileWriter.java: New file.
+
+ * java/lang/natString.cc: Include ByteArrayOutputStream.h,
+ OutputStreamWriter.h, NullPointerException.h,
+ ByteArrayInputStream.h, InputStreamReader.h.
+ (getBytes): New method.
+ (init): Throw NullPointerException.
+ (init): New function.
+ * java/lang/String.java (getBytes): Added missing decl.
+ (getBytes): New method.
+ (String): Added byte[]-based constructors.
+ (copyValueOf): Wrote.
+ (init): Declare variant which takes byte array and encoding.
+ Import java.io.UnsupportedEncodingException.
+
+ * java/io/File.java: Rewrote from scratch.
+ * java/io/natFileDescriptor.cc: Rewrote from scratch.
+ * java/io/FileDescriptor.java: Rewrote from scratch.
+ * java/io/FilenameFilter.java: Rewrote from scratch.
+
+Thu Sep 24 13:30:16 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/SyncFailedException.java: New file.
+ * java/io/UTFDataFormatException.java: Rewrote from scratch.
+ * java/io/InterruptedIOException.java: Rewrote from scratch.
+ * java/io/FileNotFoundException.java: Rewrote from scratch.
+ * java/io/EOFException.java: Rewrote from scratch.
+ * java/io/IOException.java: Rewrote from scratch.
+ * java/io/PrintStream.java: Rewrote from scratch.
+ * java/io/DataOutputStream.java: Rewrote from scratch.
+ * java/io/BufferedOutputStream.java: Rewrote from scratch.
+ * java/io/FilterOutputStream.java: Rewrote from scratch.
+ * java/io/ByteArrayOutputStream.java: Rewrote from scratch.
+ * java/io/PipedOutputStream.java: Rewrote from scratch.
+ * java/io/FileOutputStream.java: Rewrote from scratch.
+ * java/io/OutputStream.java: Rewrote from scratch.
+ * java/io/DataOutput.java: Rewrote from scratch.
+
+Mon Sep 28 22:59:54 1998 Per Bothner <bothner@cygnus.com>
+
+ * prims.cc (_Jv_CheckCast): Add missing ! operator.
+
+Mon Sep 28 15:50:06 1998 Anthony Green <green@cygnus.com>
+
+ * configure.in: Add --enable-libjava-debug
+
+ * Makefile.am (nat_headers): Add java/lang/Float.h and
+ java/lang/Double.h
+
+ * acconfig.h: Add DEBUG and HAVE_MEMCPY.
+
+ * Makefile.in, configure, include/config.h.in: Rebuilt.
+
+Mon Sep 28 17:05:58 1998 Andrew Haley <aph@korai.cygnus.co.uk>
+
+ * java/lang/Float.java: Rewritten
+ * java/lang/Double.java: Rewritten
+ * java/lang/natFloat.cc: toString() added.
+ * java/lang/natDouble.cc: toString() added.
+ * java/lang/natDouble.cc: doubleValueOf() added.
+ * java/lang/dtoa.c, java/lang/mprec.c, java/lang/mprec.h,
+ java/lang/strtod.c: added.
+ * ieeefp.h: __sparc added.
+ * Makefile.am: java/lang/Float.h and java/lang/Double.h added.
+
+Thu Sep 24 13:30:16 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/javaprims.h (java::lang): Added
+ CloneNotSupportedException.
+
+ * java/lang/Object.java (clone): No longer native. Implemented.
+ * java/lang/natObject.cc (clone): Removed.
+
+Wed Sep 23 12:03:38 1998 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc: Don't make definitions `extern "C"'.
+ (_Jv_RegisterClass): Renamed from registerClass.
+ * include/jvm.h (_Jv_ThrowBadArrayIndex): Declare.
+ (_Jv_NewArray): Likewise.
+ (_Jv_NewMultiArray): Likewise.
+ (_Jv_CheckCast): Likewise.
+ (_Jv_LookupInterfaceMethod): Likewise.
+ (_Jv_CheckArrayStore): Likewise.
+ (_Jv_RegisterClass): Likewise.
+
+ * acconfig.h (HAVE_FMOD, HAVE_MEMCPY): Removed.
+ * configure: Rebuilt.
+ * configure.in: Don't check for fmod; it is provided by the fdlibm
+ code.
+ * prims.cc (fmod): Removed.
+
+ * java/lang/natString.cc (charAt): Use _Jv_uint.
+ * java/lang/Class.h (class JvField): Use _Jv_ushort.
+ * prims.cc (HASH_CHARS): Use _Jv_ushort.
+ (equalUtf8Consts): Likewise.
+ (internalAddClass): Use _Jv_uint.
+ (processClass): Likewise.
+ * include/javaprims.h (_Jv_ushort): Renamed from uint16.
+ (_Jv_uint): Renamed from uint32.
+ (struct _Jv_Utf8Const): Changed members to use new type names.
+
+ * configure: Rebuilt.
+ * configure.in: Don't check for memcpy. Require memmove and a way
+ to get the time.
+ * java/lang/natSystem.cc (arraycopy): Removed dead code, and
+ #error.
+ (currentTimeMillis): Don't use #error.
+
+Tue Sep 22 18:00:16 1998 Andrew Haley <aph@korai.cygnus.co.uk>
+
+ * java/lang/Math.java: static member random renamed to random_ to
+ avoid conflict with member function of the same name.
+ * include/javaprims.h: java.util.Random added.
+
+Tue Sep 22 13:53:14 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/java-chartables.h: Regenerated.
+ * chartables.pl: End COMPACT_CHARACTER #if after fast tables
+ printed.
+
+Tue Sep 22 17:17:52 1998 Andrew Haley <aph@tikka.cygnus.co.uk>
+
+ * java/lang/Math.java: Rewritten.
+ * java/lang/natMath.cc: New file.
+ * Files added from fdlibm:
+ java/lang/e_acos.c, java/lang/k_sin.c, java/lang/sf_floor.c,
+ java/lang/e_asin.c, java/lang/k_tan.c, java/lang/sf_rint.c,
+ java/lang/e_atan2.c, java/lang/s_atan.c, java/lang/w_acos.c,
+ java/lang/e_exp.c, java/lang/s_ceil.c, java/lang/w_asin.c,
+ java/lang/e_fmod.c, java/lang/s_copysign.c, java/lang/w_atan2.c,
+ java/lang/e_log.c, java/lang/s_cos.c, java/lang/w_exp.c,
+ java/lang/e_pow.c, java/lang/s_fabs.c, java/lang/w_fmod.c,
+ java/lang/e_rem_pio2.c, java/lang/s_floor.c, java/lang/w_log.c,
+ java/lang/e_remainder.c, java/lang/s_rint.c, java/lang/w_pow.c,
+ java/lang/e_scalb.c, java/lang/s_scalbn.c, java/lang/w_remainder.c,
+ java/lang/e_sqrt.c, java/lang/s_sin.c, java/lang/w_sqrt.c,
+ java/lang/ef_fmod.c, java/lang/s_tan.c, java/lang/wf_fmod.c,
+ java/lang/k_cos.c, java/lang/sf_ceil.c,
+ java/lang/k_rem_pio2.c, java/lang/sf_fabs.c,
+ java/lang/ieeefp.h, java/lang/fdlibm.h
+ * Makefile.am: rules added for compiling C files from fdlibm.
+
+Mon Sep 21 15:40:58 1998 Tom Tromey <tromey@cygnus.com>
+
+ * chartables.pl: Minor documentation fixes.
+
+ * configure: Rebuilt.
+ * configure.in: Fixed --help output for --enable-fast-character.
+
+Thu Sep 17 11:03:27 1998 Tom Tromey <tromey@cygnus.com>
+
+ * configure: Rebuilt.
+ * configure.in: Recognize --enable-fast-character.
+ * acconfig.h (COMPACT_CHARACTER): New define.
+ * include/config.h.in: Rebuilt.
+ * include/java-chartables.h: New file.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_files): Added natCharacter.o.
+ * java/lang/natCharacter.cc: New file.
+ * chartables.pl (set_attribute): New function.
+ (@attributes, @second_attributes): New globals.
+ ($ROMAN_START, $ROMAN_END): Likewise.
+ (process_char): Call set_attribute when required.
+ (print_char): Just print hex value.
+ (print_block): Generate C++ syntax.
+ (print_numerics): Likewise.
+ (print_single_map): Likewise.
+ (print_all_block): Likewise.
+ (print_case_table): Likewise.
+ (print_fast_tables): New function.
+ Generate C++ code suitable for a header file.
+ * java/lang/Character.java (table_search): Removed.
+ (digit_value): Now native.
+ (getNumericValue): Likewise.
+ (getType): Likewise.
+ Removed all automatically-generated tables.
+ (Tamil_Digit_One): Removed.
+ (isSpaceChar): Now native.
+ (isTitleCase): Likewise.
+ (isLowerCase): Likewise.
+ (isUpperCase): Likewise.
+ (toLowerCase): Likewise.
+ (toTitleCase): Likewise.
+ (toUpperCase): Likewise.
+ (isDefined): Fixed sense of test.
+
+Wed Sep 16 12:00:19 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natString.cc (equalsIgnoreCase): Removed obsolete
+ FIXME comment.
+ (regionMatches): Likewise.
+
+Tue Sep 15 14:35:12 1998 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (_Jv_AllocObject): Call _Jv_InitClass on the class.
+
+ * java/lang/Class.h (Object): For now, declare _Jv_AllocString as
+ a friend.
+ * java/lang/natString.cc (_Jv_AllocString): For now, don't call
+ _Jv_AllocObject.
+
+ * java/lang/natString.cc (toUpperCase): Declare `ch' as a jchar,
+ not a char.
+
+ * java/lang/natClass.cc (isAssignableFrom): Handle arrays.
+
+Fri Sep 11 14:01:08 1998 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (instanceof_class): Removed.
+ (instanceof_array): Likewise.
+ (instanceof): Likewise.
+ (_Jv_IsInstanceOf): Use Class::isAssignableFrom.
+ (_Jv_CheckCast): Likewise.
+ * java/lang/natClass.cc (isAssignableFrom): New method.
+ * java/lang/Class.java (isAssignableFrom): Now native.
+
+ * include/cni.h (JvThrow): Use `extern inline'.
+ (JvAllocObject): Likewise.
+ (JvInitClass): Likewise.
+
+ * java/lang/natSystem.cc (arraycopy): Only check class of source
+ object if not null.
+
+ * prims.cc (_Jv_CheckArrayStore): Wrote.
+ (_Jv_MonitorEnter): Prefer `JvThrow'.
+ Include ArrayStoreException.h.
+ (_Jv_CheckCast): Indentation cleanup.
+
+Thu Sep 10 18:59:29 1998 Tom Tromey <tromey@cygnus.com>
+
+ * chartables.pl: New file.
+ * java/lang/Character.java: Rewrote from scratch.
+
+Fri Sep 18 18:15:58 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/lang/ArithmeticException.java,
+ java/lang/ArrayIndexOutOfBoundsException.java,
+ java/lang/ArrayStoreException.java,
+ java/lang/ClassCastException.java,
+ java/lang/ClassNotFoundException.java,
+ java/lang/CloneNotSupportedException.java,
+ java/lang/Exception.java, java/lang/IllegalAccessException.java,
+ java/lang/IllegalArgumentException.java,
+ java/lang/IllegalMonitorStateException.java,
+ java/lang/IllegalThreadStateException.java,
+ java/lang/IndexOutOfBoundsException.java,
+ java/lang/InstantiationException.java,
+ java/lang/InterruptedException.java,
+ java/lang/NegativeArraySizeException.java,
+ java/lang/NoSuchMethodException.java,
+ java/lang/NullPointerException.java,
+ java/lang/NumberFormatException.java,
+ java/lang/RuntimeException.java, java/lang/SecurityException.java,
+ java/lang/StringIndexOutOfBoundsException.java: Rewritten.
+
+ * java/lang/IllegalStateException.java,
+ java/lang/NoSuchFieldException.java,
+ java/lang/UnsupportedOperationException.java: Created.
+
+Fri Sep 18 15:01:42 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/lang/Integer.java, java/lang/Long.java: Rewritten.
+ * java/lang/Byte.java, java/lang/Short.java (decode): Uncommented.
+
+Fri Sep 11 16:49:19 1998 Per Bothner <bothner@cygnus.com>
+
+ * prims.cc (JvRunMain): No longer need to call _Jv_InitClass.
+
+Thu Sep 10 12:23:55 1998 Warren Levy <warrenl@cygnus.com>
+
+ * Makefile.am (nat_headers): Added StringIndexOutOfBoundsException.h.
+
+ * Makefile.in: Rebuilt.
+
+ * include/javaprims.h (java::lang): Added
+ StringIndexOutOfBoundsException.
+
+ * java/lang/String.java: Added header comment and FIXME comment for
+ missing constructors/methods.
+ (endsWith): Adjusted offset into string to look at just the last chars.
+ Commented out undocumented method.
+
+ * java/lang/natString.cc: Added includes for
+ ArrayIndexOutOfBoundsException.h & StringIndexOutOfBoundsException.h.
+ (String::init): Throw StringIndexOutOfBoundsException.
+ (String::charAt): Throw StringIndexOutOfBoundsException.
+ (String::substring): Throw StringIndexOutOfBoundsException.
+ (String::getChars): Throw ArrayIndexOutOfBoundsException.
+ (String::getBytes): Throw ArrayIndexOutOfBoundsException.
+ (String::compareTo): Return difference/offset between chars/strings.
+
+Tue Sep 8 13:22:33 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/lang/Boolean.java (TYPE): Added comment.
+
+ * java/lang/Byte.java (decode): Added - commented out until dependent
+ code for Integer is written.
+ (compareTo): JDK 1.2 methods written.
+ (hashCode): Added comment to note that values have been verified.
+
+ * java/lang/Short.java (decode): Added - commented out until dependent
+ code for Integer is written.
+ (compareTo): JDK 1.2 methods written.
+ (hashCode): Added comment to note that values have been verified.
+
+ * java/lang/Comparable.java: Created - JDK 1.2 interface.
+
+Fri Sep 4 10:36:35 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/javaprims.h (java::lang): Added VirtualMachineError,
+ OutOfMemoryError.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added OutOfMemoryError.h,
+ VirtualMachineError.h.
+ * prims.cc (_Jv_NewPrimArray): Throw OutOfMemoryError.
+ (lookupArray): Likewise.
+ (makeUtf8Const): Likewise.
+ (_Jv_AllocObject): Likewise.
+ (_Jv_NewObjectArray): Likewise.
+ Include OutOfMemoryError.h.
+
+ * java/io/natFileDescriptor.cc (newstr): Removed. Changed callers
+ to use JvNewStringLatin1.
+
+ * java/io/io-defs.h: Include java/lang/IOException.h.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added
+ ArrayIndexOutOfBoundsException.h,
+ ClassFormatError.h,ClassNotFoundException.h,
+ ClassCircularityError.h, ClassCastException.h,
+ IncompatibleClassChangeError.h, AbstractMethodError.h,
+ IllegalAccessError.h, LinkageError.h, Error.h,
+ NegativeArraySizeException.h, IOException.h.
+ * include/cni.h (SignalError): Removed declaration.
+ * java/util/natDate.cc (setTime): Use JvFail, not sorry.
+ * java/lang/natObject.cc (clone): Use JvFail, not sorry.
+ * java/lang/natClass.cc (getInterfaces): Use JvFail, not sorry.
+ (newInstance): Likewise.
+ (forName): Likewise.
+ * java/io/natFileDescriptor.cc (open_read_write): Use JvFail, not
+ sorry.
+ (read): Use JvThrow, not SignalError.
+ (read): Likewise.
+ (write): Likewise.
+ (skip): Likewise.
+ (close): Likewise.
+ (open_read): Likewise.
+ (open_write): Likewise.
+ (ftell): Likewise.
+ (fseek): Likewise.
+ (newstr): New function.
+ * java/io/natFile.cc (isDirectoryUnchecked): Use JvFail, not
+ sorry.
+ (lastModifiedUnchecked): Likewise.
+ (lengthUnchecked): Likewise.
+ * include/javaprims.h (sorry): Removed declaration.
+ (java::lang): Added ArrayIndexOutOfBoundsException, LinkageError,
+ ClassFormatError, ClassNotFoundException, ClassCircularityError,
+ ClassCastException, IncompatibleClassChangeError,
+ AbstractMethodError, IllegalAccessError, NegativeArraySizeException.
+ * prims.cc (instanceof_array): Use JvFail, not sorry.
+ (sorry): Removed.
+ Include ArrayIndexOutOfBoundsException.h,
+ ClassFormatError.h,ClassNotFoundException.h,
+ ClassCircularityError.h, ClassCastException.h,
+ IncompatibleClassChangeError.h, AbstractMethodError.h,
+ IllegalAccessError.h, NegativeArraySizeException.h.
+ (_Jv_ThrowBadArrayIndex): Implemented.
+ (JvNewStringUTF): Use JvFail, not sorry.
+ (_Jv_FindClass): Likewise.
+ (_Jv_NewArray): Likewise.
+ (throwException): Removed.
+ (getClass): Use JvThrow.
+ (processClass): Likewise.
+ (_Jv_NewObjectArray): Likewise.
+ (_Jv_NewMultiArray): Likewise.
+ (_Jv_CheckCast): Likewise.
+ (_Jv_LookupInterfaceMethod): Likewise.
+ (SignalError): Removed.
+ (getClass): Use _Jv_NewStringUtf8Const to create String.
+
+ * java/lang/natSystem.cc (arraycopy): Throw
+ ArrayIndexOutOfBoundsException, not IndexOutOfBoundsException.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (GCJH): Renamed. Now use `gcjh'. Changed all
+ users.
+ * include/java-array.h: Mention gcjh, not gjavah.
+
+ * java/io/natFile.cc (existsUnchecked): Use JvGetStringUTFRegion.
+ (canReadUnchecked): Likewise.
+ (canWriteUnchecked): Likewise.
+ (isFileUnchecked): Likewise.
+ * java/io/natFileDescriptor.cc: Don't include cni.h.
+
+ * java/lang/Thread.java (run__): Declare.
+ * java/lang/natThread.cc (run__): New method, to avoid compiler
+ warning.
+ (start): Use run__, not run_.
+
+ * java/io/io-defs.h: Include cni.h and jvm.h.
+
+Thu Sep 3 18:20:08 1998 Per Bothner <bothner@cygnus.com>
+
+ Re-implement java.lang.String, using "COMPACT_STRINGS" representation.
+ * prims.cc (JvAllocString, JvNewString, JvNewStringlatin1): Moved
+ to natString.cc (with suitable renaming, inlines etc).
+ (javaString2CString): Removed. Subsumed by _Jv_GetStringUTFRegion.
+ * java/lang/Class.h: Renamed Utf8Const to _Jv_Utf8Const.
+ * java/lang/String.h: Removed - now generated using gjavah.
+ * java/lang/String.java: Re-written from scratch. Many native methods.
+ * java/lang/natDouble.cc, java/util/natDate.cc: #include <cni.h>.
+ * java/lang/natString.cc: Many functions re-written for "compact
+ strings" representation, or native java.lang.String methods added.
+ (Utf8Const2JavaString): Renamed to _Jv_NewStringUtf8Const.
+ (_Jv_GetStringUTFLength, _Jv_GetStringUTFRegion): New methods.
+ * java/lang/natClass.cc (getName): Use new _Jv_NewStringUtf8Const.
+ * java/io/natFileDescriptor.cc: Use new JvGetStringUTFRegion.
+ * include/cni.h: Add inline method.
+ * include/java-array.h (jobjectArrayjchar): gjavah bug work-around.
+ * include/javaprims.h: Moved some stuff frm String.h.
+ * include/jvm.h (UTF8_GET, Utf8Const, StringClass): Moved here.
+ * Makefile.am (nat_header): Added Character.h and String.h.
+ (String.h): Add new rule.
+
+Thu Sep 3 10:28:16 1998 Tom Tromey <tromey@cygnus.com>
+
+ * no-threads.cc: Include config.h, cni.h, jvm.h. Don't include
+ java-assert.h.
+ * posix-threads.cc: Include cni.h, jvm.h.
+ * quick-threads.cc: Include cni.h, jvm.h.
+ * nogc.cc: Include cni.h, not javaprims.h.
+ * java/lang/natFirstThread.cc: Include cni.h, jvm.h.
+ * java/lang/natThread.cc: Rearranged #include ordering. Don't
+ include java-assert.h.
+ * java/lang/natSystem.cc: Include cni.h. Don't include
+ java-assert.h.
+ * java/lang/natRuntime.cc: Include cni.h. Don't include
+ java-assert.h.
+ * prims.cc: Rearranged #include ordering. Don't include
+ java-array.h or java-assert.h.
+ * boehm.cc: Include config.h, cni.h.
+ * exception.cc: Include config.h, cni.h.
+ * include/jvm.h: Include java-assert.h.
+ * include/cni.h: Include java/lang/Object.h. Don't include
+ java-threads.h or java-array.h.
+
+Thu Sep 3 16:03:08 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/lang/Boolean.java: Rewritten.
+
+Thu Sep 3 10:28:16 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natFirstThread.cc (main_func): New typedef.
+ (run): Use main_func, not JvPrivThreadStartFunc.
+ * include/no-threads.h (JvPrivThreadStartFunc): Use correct
+ argument type.
+ * include/posix-threads.h (JvPrivThreadStartFunc): Use correct
+ argument type.
+ * include/quick-threads.h (JvPrivThreadStartFunc): Use correct
+ argument type.
+
+ Can't throw Java exceptions with C++ `throw':
+ * quick-threads.cc (qthrow): Use _Jv_Throw, not throw.
+ * java/lang/natThread.cc (join): Use _Jv_Throw, not throw.
+ (setPriority): Likewise.
+ (sleep): Likewise.
+ (start): Likewise.
+ (stop): Likewise.
+ * java/lang/natSystem.cc (arraycopy): Use _Jv_Throw, not throw.
+ * prims.cc (_Jv_MonitorEnter): Use _Jv_Throw, not throw.
+
+ Can't catch Java exceptions from C++:
+ * java/lang/natThread.cc (finish_): New method.
+ (run_): Removed.
+ * java/lang/Thread.java (run_): Rewrote in Java.
+ (finish_): New native method.
+
+Wed Sep 2 17:30:39 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/lang/Cloneable.java, java/lang/Number.java: Rewritten.
+
+ * include/javaprims.h (java::io): Added Serializable.
+
+Wed Sep 2 15:22:00 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/util/EmptyStackException.java,
+ java/util/NoSuchElementException.java: Rewritten.
+
+ * java/util/ConcurrentModificationException.java,
+ java/util/MissingResourceException.java,
+ java/util/TooManyListenersException.java: Created.
+
+Wed Sep 2 13:36:57 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/cni.h (JvThrow): New function.
+ * include/javaprims.h (_Jv_Throw): Declare.
+
+Wed Sep 2 14:07:48 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/util/Observable.java: Rewritten.
+
+Wed Sep 2 13:36:57 1998 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (_Jv_MonitorExit): Assert that object is non-null.
+ (_Jv_MonitorEnter): Throw NullPointerException if object is null.
+ Include NullPointerException.h.
+
+Tue Sep 1 12:07:35 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natSystem.cc (arraycopy): Removed overlapping-copy
+ assignability checks. Don't bother using memcpy.
+
+ * quick-threads.cc (JvPrivThreadStart): Don't call coop_start.
+ (started): Removed.
+ * include/quick-threads.h (JvPrivThreadWait): New function.
+ * include/no-threads.h (JvPrivThreadWait): New function.
+ * include/posix-threads.h (JvPrivThreadWait): New function.
+ * prims.cc (JvRunMain): Call JvPrivThreadWait.
+
+ * java/lang/natSystem.cc (arraycopy): Do nothing if count is 0.
+
+ * java/lang/natSystem.cc (arraycopy): Multiply both src and dst
+ offsets by size of type that is being copied.
+
+ * java/lang/natThread.cc (start): Don't pass `object' argument to
+ JvPrivThreadStart.
+ * no-threads.cc (JvPrivThreadStart): Removed `object' argument.
+ * posix-threads.cc (JvPrivThreadStart): Removed `object'
+ argument.
+ * quick-threads.cc (JvPrivThreadStart): Removed `object' argument;
+ always pass thread as object.
+ * include/quick-threads.h, include/posix-threads.h,
+ include/no-threads.h (JvPrivThreadStart): Removed `object'
+ argument.
+
+Mon Aug 31 19:11:53 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/util/Dictionary.java: Rewritten.
+
+Mon Aug 31 14:35:55 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/quick-threads.h (JvPrivThreadInitData): Use 0, not NULL.
+ (JvPrivThreadDestroy): Likewise.
+
+Mon Aug 31 12:56:01 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/lang/natRuntime.cc (exit): Changed final call to ::exit.
+
+Thu Aug 27 12:24:40 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natSystem.cc: Rewrote from scratch.
+ * java/lang/System.java: Rewrote from scratch.
+ * java/lang/Class.h (Class): Declare isAssignableFrom.
+ * include/javaprims.h (java::lang): Added ArrayStoreException,
+ IndexOutOfBoundsException.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added ArrayStoreException.h,
+ IndexOutOfBoundsException.h.
+ * java/lang/natObject.cc (hashCode): Use _Jv_HashCode.
+ * include/jvm.h (_Jv_HashCode): New function.
+
+ * java/lang/natThread.cc (suspend): Call checkAccess.
+ (resume): Likewise.
+ * java/lang/Thread.java (setDaemon): Call checkAccess.
+
+Thu Aug 27 12:24:40 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/Runtime.java: Rewrote from scratch.
+ * java/lang/natRuntime.cc: Rewrote from scratch.
+
+ * nogc.cc (JvPrivGCTotalMemory): New function.
+ (JvPrivGCFreeMemory): Likewise.
+ (total): New global.
+ (JvPrivAllocObj): Increment total.
+ (JvPrivAllocArray): Likewise.
+ (JvPrivAllocBytes): Likewise.
+ * include/jvm.h: Declare JvPrivGCTotalMemory, JvPrivGCFreeMemory.
+ * boehm.cc (JvPrivGCTotalMemory): New function.
+ (sum_blocks): Likewise.
+ (JvPrivGCFreeMemory): Likewise.
+
+Wed Aug 26 12:30:32 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/javaprims.h (java::lang): Added FirstThread.
+ * java/lang/natFirstThread.cc: New file.
+ * java/lang/FirstThread.java: New file.
+ * prims.cc (main_signature): Removed.
+ (main_name): Removed.
+ #include FirstThread.h.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (TFRIEND): Removed.
+ (java/lang/Thread.h): Likewise.
+ (FTFRIEND): New macro.
+ (java/lang/FirstThread.h): New target.
+ (nat_files): Added natFirstThread.o.
+ (nat_headers): Added FirstThread.h.
+ * include/jvm.h (_Jv_StartFirstThread): Don't declare.
+ * java/lang/natThread.cc (_Jv_StartFirstThread): Removed.
+
+ * java/lang/Thread.java (setName): Throw IllegalArgumentException
+ if name is null.
+ (Thread): Likewise.
+
+ * java/lang/natThread.cc (start): Synchronize the thread.
+ (stop): Synchronize the thread.
+
+ * java/lang/ThreadDeath.java: Rewrote from scratch.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (TGFRIEND): New macro.
+ (java/lang/ThreadGroup.h): New target.
+ ($(nat_files) prims.o boehm.o nogc.o): Native files depend on the
+ native headers.
+ ($(javao_files) $(nat_files) prims.o boehm.o nogc.o): Removed.
+
+ * nogc.cc: Include config.h.
+
+ * java/lang/ThreadGroup.java: Rewrote from scratch.
+
+Tue Aug 25 00:12:54 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/Thread.java (checkAccess): Only call in to security
+ manager if it exists.
+ (Thread): Don't check access when creating the first thread. Add
+ this thread to the appropriate ThreadGroup.
+
+ * java/lang/natThread.cc (run_): Call uncaughtException method on
+ the ThreadGroup.
+
+ * java/lang/Runnable.java: Rewrote from scratch.
+ * java/lang/Thread.java: Updated copyright comment to correct
+ form.
+
+Wed Aug 26 15:16:18 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/util/Random.java: Rewritten.
+
+Wed Aug 26 14:25:39 1998 Alexandre Petit-Bianco <apbianco@cygnus.com>
+
+ * prims.cc (_Jv_NewMultiArray): Need one more slot to store
+ trailing 0 in array[].
+
+Wed Aug 26 12:21:06 1998 Anthony Green <green@cygnus.com>
+
+ * Makefile.am (AM_MAKEFLAGS): Remove RUNTEST, EXPECT,
+ and RUNTESTFLAGS from AM_MAKEFLAGS.
+ (SUBDIRS): Conditionally include testsuite.
+ * Makefile.in: Rebuilt.
+
+Tue Aug 25 18:14:53 1998 Anthony Green <green@cygnus.com>
+
+ * java/lang/Object.h: Include java-assert.h.
+
+Tue Aug 25 17:33:57 1998 Anthony Green <green@cygnus.com>
+
+ * Makefile.am: Add testsuite directory.
+ * configure.in: Build testsuite/Makefile.
+ * Makefile.in, configure: Rebuilt.
+
+Tue Aug 25 00:12:54 1998 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (JvRunMain): Use _Jv_StartFirstThread.
+ * include/jvm.h (_Jv_StartFirstThread): Declare.
+
+ * include/javaprims.h (java::lang): Added Exception,
+ RuntimeException.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added NullPointerException.h,
+ InterruptedException.h, IllegalArgumentException.h, Exception.h,
+ Throwable.h, RuntimeException.h, IllegalThreadStateException.h.
+ (java/lang/Thread.h): New target.
+ (TFRIEND): New macro
+
+ * include/java-assert.h (JvFail): Use 0 and not NULL.
+
+ * posix-threads.cc (JvPrivThreadStart): Use getPriority() method
+ instead of assuming we are a friend of Thread.
+ * quick-threads.cc (JvPrivThreadStart): Use isDaemon() method
+ instead of assuming we are a friend of Thread.
+
+Mon Aug 24 15:58:36 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natThread.cc: Rewrote from scratch.
+ * java/lang/Thread.java: Rewrote from scratch.
+ * prims.cc (JvRunMain): Use new Thread constructor.
+ * include/javaprims.h (java::lang): Added InterruptedException.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added java/lang/Thread.h.
+ * java/lang/Thread.h: Removed.
+ * quick-threads.cc (JvPrivThreadStart): Added `data' argument.
+ * no-threads.cc (JvPrivThreadStart): Added JvPrivThread_t
+ argument.
+ * posix-threads.cc (JvPrivThreadJoin): Removed.
+ (JvPrivThreadInitData): Don't initialize join_mutex or join_cond.
+ (really_start): Don't notify join_cond.
+ (JvPrivThreadStart): Added `data' argument.
+ * include/no-threads.h (JvPrivThreadInterrupt): Removed.
+ (JvPrivThreadJoin): Likewise.
+ Use JvFail instead of sorry.
+ (JvPrivThreadSuspend): Removed.
+ (JvPrivThreadResume): Removed.
+ * include/quick-threads.h (JvPrivThreadInterrupt): Removed.
+ (JvPrivThreadJoin): Likewise.
+ (JvPrivThreadSuspend): Use JvFail.
+ (JvPrivThreadResume): Likewise.
+ (JvPrivThreadSuspend): Removed.
+ (JvPrivThreadResume): Likewise.
+ * include/posix-threads.h (JvPrivThreadInterrupt): Removed.
+ (JvPrivThread_t): Removed join_mutex, join_cond.
+ Use JvFail instead of sorry.
+ (JvPrivThreadSuspend): Removed.
+ (JvPrivThreadResume): Likewise.
+
+Tue Aug 25 12:50:13 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/util/Observer.java: Rewritten
+ * java/util/Enumeration.java: Rewritten
+
+Tue Aug 25 11:33:54 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/util/StringTokenizer.java: Rewritten
+ * java/util/Stack.java: Added COPYRIGHT-TBD comment
+ * java/util/Vector.java: Added COPYRIGHT-TBD comment
+ * java/io/Serializable.java: Added COPYRIGHT-TBD comment
+
+Fri Aug 21 10:14:22 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/java-assert.h (JvFail): Call _Jv_Abort even when DEBUG
+ not defined.
+
+ * no-threads.cc (JvPrivThreadStart): Use JvAssert.
+ Include java-assert.h.
+ * include/java-assert.h: New file.
+ * prims.cc (_Jv_Abort): New function.
+ Include java-assert.h, not assert.h.
+ (_Jv_MonitorExit): Use JvAssert.
+ (resolveConstants): Likewise.
+ (processClass): Likewise.
+ (JvRunMain): Assert that method is found.
+
+ * configure: Rebuilt.
+ * configure.in: Check for test subdir.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (SUBDIRS): Conditional on TESTSUBDIR.
+
+ * prims.cc (JvRunMain): Use NORM_PRIORITY.
+ * java/lang/Thread.h (Thread): Added NORM_PRIORITY.
+
+ * prims.cc (resolveConstants): Removed unused variables.
+ (processClass): Likewise.
+
+ * include/quick-threads.h (JvPrivThreadCurrent): Use
+ coop_getspecific.
+ * quick-threads.cc (destroy_data): New function.
+ (JvPrivInitThreads): Create key.
+ (JvPrivThreadKey): New global.
+ (JvPrivThreadStart): Use coop_setspecific.
+
+ * include/quick-threads.h, include/posix-threads.h,
+ include/no-threads.h, no-threads.cc, quick-threads.cc,
+ posix-threads.cc, nogc.cc, boehm.cc: Added copyright comment.
+
+Thu Aug 20 10:57:30 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/no-threads.h (JvPrivThreadInitData): Don't set
+ JvPrivOnlyThread.
+
+ * include/quick-threads.h (JvPrivCondWait): coop function now
+ takes microseconds.
+ (JvPrivThreadJoin): Likewise.
+
+ * java/lang/Thread.h (Thread): Updated declaration of
+ JvPrivThreadStart.
+ * include/quick-threads.h, include/posix-threads.h: Updated
+ declaration of JvPrivThreadStart.
+ * include/no-threads.h (JvPrivThreadStart): Changed definition
+ into declaration.
+ * no-threads.cc (JvPrivThreadStart): Removed `data' argument.
+ * quick-threads.cc (JvPrivThreadStart): Removed `data' argument.
+ * posix-threads.cc (JvPrivThreadStart): Removed `data' argument.
+
+Wed Aug 19 14:53:59 1998 Tom Tromey <tromey@cygnus.com>
+
+ * quick-threads.cc (qthrow): New function.
+ (JvPrivInitThreads): New function.
+ (started): New global.
+ (JvPrivThreadStart): Call coop_start if required.
+ * include/quick-threads.h (JvPrivThreadCancel): Implement.
+ (JvPrivThreadDestroy): Likewise.
+ (JvPrivInitThreads): Removed.
+ * include/posix-threads.h (JvPrivThreadCancel): Added error
+ argument.
+ * java/lang/natThread.cc (stop_): Pass exception to
+ JvPrivThreadCancel.
+
+Tue Aug 18 12:58:22 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/javaprims.h (java::lang): Added
+ IllegalArgumentException, IllegalThreadStateException, Math,
+ NullPointerException, ThreadDeath.
+ (java::util): Added Enumeration.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added java/lang/ThreadGroup.h.
+
+ * java/lang/ThreadGroup.java (ThreadGroup): No-args constructor
+ now public.
+ (threadsv): Renamed from threads to avoid clash in C++ header.
+ (groupsv): Likewise.
+ * include/no-threads.h (JvPrivThreadStart): Removed.
+ * no-threads.cc (JvPrivThreadStart): New function.
+ * java/lang/Thread.java (Thread): New constructor for internal use.
+ * java/lang/Thread.h (Thread): Declare JvRunMain as friend.
+ (Thread): Declare constructor.
+ * prims.cc (JvRunMain): Create the initial Thread and
+ ThreadGroup.
+ Include <java/lang/Thread.h> and <java/lang/ThreadGroup.h>.
+ * posix-threads.cc (JvPrivThreadStart): Added `thread' argument.
+ Removed `daemon' argument.
+
+ * prims.cc (JvRunMain): Call _Jv_InitializeSyncMutex.
+ * java/lang/Object.h (Object): Declare _Jv_InitializeSyncMutex as
+ a friend.
+ * java/lang/natObject.cc (_Jv_InitializeSyncMutex): New function.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (INCLUDES): Include THREADINCS.
+
+ * configure: Rebuilt.
+ * configure.in: Recognize `qt' as a threads package.
+
+Thu Aug 20 12:42:32 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/util/Stack.java (pop): Null out topmost node for robustness.
+
+Thu Aug 20 12:30:30 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/util/Stack.java: Rewritten.
+ * java/util/Vector.java (isEmpty): Simplified expression.
+
+Wed Aug 19 18:02:19 1998 Warren Levy <warrenl@cygnus.com>
+
+ * prims.cc (_Jv_NewObjectArray): Renamed from JvNewObjectArray.
+ (soft_anewarray): Removed, _Jv_NewObjectArray used instead.
+
+ * include/java-array.h (JvNewObjectArray): Created inline to
+ _Jv_NewObjectArray.
+
+ * java/lang/Class.h (_Jv_NewObjectArray): Renamed from
+ JvNewObjectArray.
+
+Wed Aug 19 14:12:02 1998 Warren Levy <warrenl@cygnus.com>
+
+ * java/util/Vector.java: Rewritten.
+ * java/io/Serializable.java: Created.
+
+Fri Aug 14 10:31:54 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/Float.java (NEGATIVE_INFINITY, POSITIVE_INFINITY):
+ Infinity is 1/0, not 1/1.
+
+ * boehm.cc (JvPrivAllocArray): Use GC_generic_malloc.
+
+ * configure: Rebuilt.
+ * configure.in: Removed duplicate AC_ARG_WITH.
+
+Thu Aug 13 14:51:47 1998 Warren Levy <warrenl@cygnus.com>
+
+ * prims.cc (_Jv_ThrowBadArrayIndex): Renamed from
+ soft_badarrayindex.
+ (_Jv_InitClass): Renamed from soft_initialise_class.
+ (_Jv_NewMultiArray): Renamed from soft_multianewarray.
+ (_Jv_CheckCast): Renamed from soft_checkcast.
+ (_Jv_LookupInterfaceMethod): Renamed from soft_lookupinterfacemethod.
+ (_Jv_CheckArrayStore): Renamed from soft_checkarraystore.
+ (JvRunMain): Call JvInitClass instead of soft_initialise_class.
+ * include/cni.h (JvInitClass): New function.
+ (_Jv_InitClass): Renamed from soft_initialise_class.
+
+Wed Aug 12 10:07:04 1998 Tom Tromey <tromey@cygnus.com>
+
+ * configure: Rebuilt.
+ * configure.in (CXX): Don't set.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (AM_CXXFLAGS): New macro.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am ($(javao_files) $(nat_files) prims.o boehm.o
+ nogc.o): New target.
+
+ * boehm.cc (mark_obj): Update PUSH_CONTENTS call for new Boehm
+ GC.
+ (mark_array): Likewise.
+
+Tue Aug 11 11:44:53 1998 Per Bothner <bothner@cygnus.com>
+
+ * java/lang/Class.h (JvMethod): Removed some unused fields.
+ (JvField.info): Removed unused idx union variant.
+
+Mon Aug 10 15:00:14 1998 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (makeUtf8Const): Mask off high bits of hash value to
+ match compiler.
+
+Mon Aug 3 16:13:54 1998 Per Bothner <bothner@cygnus.com>
+
+ * configure.in, configure (CXX): Add -fvtable-thunks.
+
+Thu Jul 30 14:34:47 1998 Per Bothner <bothner@cygnus.com>
+
+ * java/lang/Object.java (finalize): Move first.
+ * java/lang/Object.h (_JvObjectPrefix): New dummy base class.
+ (Object): Re-arrange order to match Object.java.
+
+Tue Jul 28 21:42:16 1998 Per Bothner <bothner@cygnus.com>
+
+ * prims.cc (hashUtf8String): Fix - use new JavaSoft specification.
+ * java/lang/natString.cc (hashChars): Likewise.
+
+ * prims.cc (RuntimeClass): New macro.
+ (JvRunMain): Do soft_initialise_class of RuntimeClass before exit.
+
+Mon Jul 27 22:20:10 1998 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (AM_MAKEFLAGS): New macro.
+
+Fri Jul 24 11:21:24 1998 Tom Tromey <tromey@cygnus.com>
+
+ * nogc.cc: Include <javaprims.h>.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (GJAVAH): gjavah no longer in java subdir.
+
+Thu Jul 23 11:38:40 1998 Tom Tromey <tromey@cygnus.com>
+
+ * exception.cc (terminate): Removed.
+ (unexpected): Removed.
+
+ * configure: Rebuilt.
+ * configure.in: Handle case where target subdir is ".".
+
+ * configure: Rebuilt.
+ * configure.in: Compute COMPPATH based on --with-target-subdir
+ option. Added --with-target-subdir and --with-cross-host. Use
+ --with-cross-host to determine when a cross compiler is in use.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (GJAVAH): Include COMPPATH.
+ * configure: Rebuilt.
+ * configure.in: Subst COMPPATH.
+
+Mon Jul 20 16:13:43 1998 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (lockMutex): Removed.
+ (unlockMutex): Likewise.
+ (processClass): Lock the class using a JvSynchronize object.
+
+Fri Jul 17 11:27:48 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natString.cc (gc_calloc_fixed): Removed.
+ (gc_free_fixed): Removed.
+ (rehash): Use JvPrivAllocBytes, not gc_calloc_fixed; don't bother
+ freeing old value of strhash.
+
+ * exception.cc (_Jv_type_matcher): Cast first argument to
+ _Jv_IsInstanceOf.
+
+Thu Jul 16 14:51:44 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/java-array.h (jstringArray): New type.
+ * java/lang/natSystem.cc (setProperty): Removed.
+ (initProperties): Directly call JvNewStringLatin1 for arguments.
+ * java/util/natDate.cc: Include java/util/Date.h, not
+ java-util.h.
+ (setTime): Removed.
+ * java/io/FileDescriptor.java (available): No longer static.
+ * java/lang/natDouble.cc (Double): Removed class definition.
+ * include/javaprims.h (java::lang::Number): Declare.
+ (java::lang::NumberFormatException): Likewise.
+ (java::io::FilenameFilter): Likewise.
+ (java::lang::Character): Likewise.
+ (java::lang::Error): Likewise.
+ (java::lang::SecurityManager): Likewise.
+ (java::util::Vector): Likewise.
+ (java::io::FileNotFoundException): Likewise.
+ (java::io::IOException): Likewise.
+ (java::lang::NativeLang): Likewise.
+ (java::lang::UnsatisfiedLinkError): Likewise.
+ (java::util::StringTokenizer): Likewise.
+ (java::io::InputStream, java::io::OutputStream): Likewise.
+ (java::io::PrintStream, java::lang::SecurityException): Likewise.
+ (java::util::Hashtable): Likewise.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_headers): Added java/lang/Double.h,
+ java/lang/Number.h, java/lang/System.h, java/lang/Runtime.h.
+ (MOSTLYCLEANFILES): Added nat_headers.
+ * include/jvm.h: Moved many defines, declarations, and functions
+ to java/lang/Class.h.
+ (struct JvSyncInfo): Moved to java/lang/Object.h.
+ (UTF8_GET): Moved to java/lang/String.h.
+
+Wed Jul 15 09:02:31 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/io-defs.h: Don't include java-io.h.
+ * include/java-io.h: Removed.
+ * include/javaprims.h: Include java::io.
+
+Tue Jul 14 17:04:26 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/java-io.h (File): Removed
+ (FileDescriptor): Likewise.
+
+ * java/io/io-defs.h: Include java/io/File.h and
+ java/io/FileDescriptor.h.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (GJAVAH): New macro.
+ (.class.h): New rule.
+ (SUFFIXES): Added .h.
+ (nat_headers): New macro.
+ ($(nat_headers)): New target.
+ (BUILT_SOURCES): Added nat_headers.
+
+ * include/java-util.h: Removed.
+
+Fri Jul 3 10:17:14 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/java-io.h: Changed to avoid java-lang.h.
+ * java/lang/natThread.cc: Include java/lang/Thread.h, not
+ java-lang.h.
+ * java/lang/natSystem.cc: Include java/lang/System.h, not
+ java-lang.h.
+ * java/lang/natString.cc: Include java/lang/String.h, not
+ java-lang.h.
+ * java/lang/natRuntime.cc: Include java/lang/Runtime.h, not
+ java-lang.h.
+ * java/lang/natClass.cc: Include java/lang/Class.h, not
+ java-lang.h.
+ * java/lang/natDouble.cc: Include java/lang/Object.h, not
+ java-lang.h.
+ * java/lang/natObject.cc: Include java/lang/Object.h, not
+ java-lang.h.
+ * exception.cc: Don't include java-lang.h.
+ * posix-threads.cc: Include java/lang/Thread.h, not java-lang.h.
+ * no-threads.cc: Include java/lang/Thread.h, not java-lang.h.
+ * nogc.cc: Don't include java-lang.h.
+ * boehm.cc: Include java/lang/Class.h, not java-lang.h.
+ * prims.cc (processClass): Don't use `init_type'; just cast to
+ type directly.
+ Include java/lang/Class.h and jvm.h, not java-lang.h.
+ (JvAllocObject): Wrote single-argument version.
+ (PrimClass): Inherit from Class.
+ (initPrimClass): Removed.
+ * include/java-lang.h: Removed.
+ * include/jvm.h: Declare struct _dispatchTable.
+ * include/cni.h: Don't declare _Jv_MonitorEnter,
+ _Jv_MonitorExit, struct _dispatchTable.
+ * include/javaprims.h: Moved all typedefs here, from cni.h.
+ * java/lang/Class.h: New file.
+ * include/java-array.h: New file.
+ * java/lang/Object.h: New file.
+
+ * prims.cc (classFromSig): Now static.
+
+Wed Jul 1 12:28:48 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/cni.h: Don't mention soft_new.
+ * include/java-lang.h (Object): Don't mention soft_new. Mention
+ _Jv_NewPrimArray, not newPrimArray.
+ * prims.cc (soft_new): Removed.
+ (_Jv_NewArray): Renamed from soft_newarray.
+ (soft_anewarray): Use JvNewObjectArray.
+ (newArray): Likewise.
+ (newRefArray): Removed.
+ (_Jv_NewPrimArray): Renamed from newPrimArray.
+ (equalUtf8Consts): Now static.
+ (soft_instanceof): Removed.
+ * java/lang/natDouble.cc (doubleToString): Now static.
+
+ * java/lang/natDouble.cc (java_lang_Double_doubleToLongBits,
+ java_lang_Double_longBitsToDouble, java_lang_Double_toString):
+ Removed.
+
+Tue Jun 30 10:54:57 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/java-lang.h: Renamed functions to _Jv_MonitorEnter and
+ _Jv_MonitorExit.
+ * include/cni.h: Renamed functions to _Jv_MonitorEnter and
+ _Jv_MonitorExit.
+ * include/no-threads.h (JvPrivMutexLock): Always return -1.
+ (JvPrivMutexUnlock): Likewise.
+ * prims.cc (_Jv_MonitorEnter): Renamed from soft_monitorenter.
+ Return value now jint.
+ (_Jv_MonitorExit): Renamed from soft_monitorexit. Return value
+ now jint.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am: Don't allow `jV' names.
+ (maintainer-check): Depend on libjava.a.
+ * exception.cc (_Jv_eh_free): Renamed from __jV_eh_free.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (NM): New macro.
+ (maintainer-check): New target.
+
+ * include/posix-threads.h (_MIT_POSIX_THREADS): Removed.
+
+ * configure: Rebuilt.
+ * configure.in: Use --enable-threads, not --enable-gc. Fix
+ documentation for --enable-threads. Changed option to work like
+ identical option in gcc/configure.
+
+Mon Jun 29 10:44:29 1998 Tom Tromey <tromey@cygnus.com>
+
+ * boehm.cc (mark_array): Use JvGetArrayLength.
+
+Thu Jun 25 11:56:21 1998 Per Bothner <bothner@cygnus.com>
+
+ * exception.cc: New file (mostly written by Andrew MacLeod),
+ exception handling support.
+ * Makefile.am (libjava_a_SOURCES), Makefile.in: Add exception.cc.
+ Remove -fexceptions - it is now the default.
+
+ * prims.cc (JvIsInstanceOf): Renamed to _Jv_IsInstanceOf.
+ (JvAllocObject): Renamed to _Jv_AllocObject.
+ (soft_athrow): Removed. Replaced by _Jv_Throw in exception.cc.
+ (loadClass): Renamed to _Jv_FindClass.
+ * include/cni.h (JvIsInstanceOf, JvAllocObject). Make into
+ inline methods that call _Jv_IsInstanceOf and _Jv_AllocObject.
+ * include/java-lang.h (JvGetArrayLength): New CNI function.
+ * include/jvm.h (_Jv_FindClass): Added declaration.
+
+ * java/lang/natString.cc: More implementation if COMPACT_STRINGS.
+
+Wed Jun 24 16:41:30 1998 Per Bothner <bothner@cygnus.com>
+
+ * java/lang/natClass.cc (getName): Add implementation.
+ * java/lang/Throwable.java (printStackTrace): Handle missing backtrace.
+
+Tue Jun 23 15:56:24 1998 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (.class.o): Added -fexceptions.
+
+Mon Jun 15 14:54:06 1998 Tom Tromey <tromey@cygnus.com>
+
+ * configure: Rebuilt.
+ * configure.in: Don't check for __nanosleep.
+ * posix-threads.cc (nanosleep): Never define.
+
+Sun Jun 14 22:37:23 1998 Tom Tromey <tromey@cygnus.com>
+
+ * posix-threads.cc (JvPrivCondWait): Fixed computation of
+ timespec.
+
+Thu Jun 11 10:51:44 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natThread.cc (enumerate): Uncommented.
+ * java/lang/Thread.java (interrupted_): Renamed from `interrupt_'.
+ (interrupt): Call it.
+
+Wed Jun 10 15:57:16 1998 Tom Tromey <tromey@cygnus.com>
+
+ * configure: Rebuilt.
+ * configure.in (GCLIBS): Use `-lgc' so gjavac can recognize it.
+
+Mon Jun 8 12:04:11 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/no-threads.h (JvPrivThreadInterrupt): New method.
+ * include/java-lang.h (Thread): Added `interrupted_' method.
+ * java/lang/Thread.java (interrupted_): New method.
+ * java/lang/natThread.cc (join): Possibly throw interrupted
+ exception after join finishes.
+ (interrupted_): New method.
+ * posix-threads.cc (JvPrivThreadInitData): Initialize join_mutex,
+ join_cond.
+ (JvPrivThreadJoin): New function.
+ (really_start): Notify all threads waiting for this thread.
+ (struct starter): Added `data' member.
+ (JvPrivThreadStart): Set it.
+ * include/posix-threads.h (JvPrivThread_t): Added join_mutex,
+ join_cond.
+ (JvPrivThreadJoin): No longer inline.
+ (JvPrivThreadInterrupt): New function.
+
+ * include/no-threads.h (JvPrivThreadSleep): Removed.
+ * posix-threads.cc (JvPrivThreadSleep): Removed.
+
+Fri Jun 5 13:51:25 1998 Tom Tromey <tromey@cygnus.com>
+
+ * configure: Rebuilt.
+ * configure.in (THREADOBJS): Initialize to no-threads.o in
+ no-threads case.
+ * posix-threads.cc (key): New global.
+ (JvPrivInitThreads): New function.
+ (really_start): Set thread-specific data to point to object.
+ (JvPrivThreadStart): Added `daemon' argument.
+ (JvPrivThreadSleep): Added `data' argument.
+ * include/posix-threads.h (JvPrivInitThreads): Removed
+ implementation.
+ (JvPrivThreadCurrent): New function.
+ * include/no-threads.h (JvPrivThreadInitData): Initialize
+ JvPrivOnlyThread. Added `thread' argument.
+ (JvPrivThreadCurrent): New function.
+ (JvPrivThreadStart): Added `daemon' argument.
+ * no-threads.cc: New file.
+ * java/lang/natThread.cc (init_data): New function.
+ (isAlive): Removed.
+ (start): Set `alive' member.
+ (stop_): Clear `alive' member.
+ (destroy): Likewise.
+ (currentThread): Implemented.
+ (start): Pass `daemon' argument to JvPrivThreadStart.
+ (sleep): Rewrote.
+ * include/java-lang.h (Thread): Added `alive', `tsync' members.
+ (Thread): Added `init_data' method.
+ * java/lang/Thread.java (alive, data): New instance variables.
+ (init_data): New private method.
+ (isAlive): No longer native.
+
+Thu Jun 4 14:09:32 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/java-lang.h (JvRunMain): Declare.
+ * include/jvm.h (JvPrivInitGC): Revert to C++ linkage.
+ * prims.cc (JvRunMain): New function.
+ (main_signature, main_name): New globals.
+
+ * boehm.cc (mark_array): Use `elements' function and not
+ operator[] on jarray.
+
+ * posix-threads.cc: Include <config.h>. Define nanosleep if
+ required.
+
+ * configure: Rebuilt.
+ * configure.in: Check for _nanosleep.
+
+ * configure: Rebuilt.
+ * configure.in: Check for pthread_mutexattr_settype.
+
+ * include/cni.h (class JvSynchronize): New class.
+ * java/lang/Thread.java (sleep): Throws InterruptedException.
+ (join): Throws InterruptedException.
+ (resume): Not native.
+ (resume_): New method.
+ (start): Now synchronized.
+ (stop_): New method.
+ (Thread): Synchronize when accessing threadNumber.
+ (misc): Removed.
+ * java/lang/natThread.cc (throwException): New macro.
+ (sleep): Throw InterruptedException.
+ (resume_): Renamed.
+ (stop_): Renamed.
+ * include/java-lang.h (Runtime): Added interrupted().
+
+ * boehm.cc (call_finalizer): Correctly initialize jobj.
+ * include/java-lang.h (Runtime): Added getRuntime() and exit().
+
+ * java/lang/natSystem.cc (currentTimeMillis): Use #elif, not
+ `#elseif'.
+
+ * configure: Rebuilt.
+ * configure.in: Added support for --disable-threads.
+ * include/no-threads.h: New file.
+
+ * acconfig.h (HAVE_PTHREAD_MUTEXATTR_INIT): New macro.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (EXTRA_libjava_a_SOURCES): Added posix-threads.cc.
+ (libjava_a_DEPENDENCIES): Added THREADOBJS.
+ (libjava_a_LIBADD): Added THREADOBJS.
+ * configure: Rebuilt.
+ * configure.in: Added --with-threads option.
+ * posix-threads.cc: New file.
+ * include/posix-threads.h: New file.
+ * include/java-lang.h (Object): Added static member sync_mutex,
+ member sync_info, method init_mutex.
+ (struct JvSyncInfo): New struct.
+ Include "java-threads.h".
+ * prims.cc (soft_monitorenter): Wrote.
+ (soft_monitorexit): Likewise.
+ * java/lang/natObject.cc (init_mutex): New method.
+ (notify): Wrote.
+ (notifyAll): Wrote.
+ (wait): Wrote.
+ (sync_mutex): Define.
+ Include "java-threads.h".
+
+Tue Jun 2 15:24:33 1998 Per Bothner <bothner@cygnus.com>
+
+ * include/java-lang.h (JvPrivInitGC): Make extern "C".
+ * include/jvm.h (JvConvertArgv, JvNewObjectArray): Likewise.
+
+Mon Jun 1 11:21:34 1998 Per Bothner <bothner@cygnus.com>
+
+ * include/cni.h (jbyte etc): Re-define using __java_byte etc.
+ Added extern "Java" in places to tell G++ Object is a "Java" type.
+ Other minor renaming and fixes.
+ * include/java-io.h (FileDescriptor): Add friend class declarations.
+ G++ no longer allows non-Java types in method parameters and results
+ of Java classes. Converted most offending methods to friends.
+ * java/lang/natDouble.cc (Double::toString): Rename to doubleToString.
+ * java/lang/natSystem.cc (setProperty): Make friend.
+ * java/lang/natString.cc, include/java-lang.h (String): Rename
+ methods findInternSlot to __JvStringFindSlot and __JvStringGetSlot.
+ * include/java-lang.h (JArray): Remove getData and eoprator[].
+ Add elements friend function instead.
+ * java/lang/natSystem.cc (arraycopy): Use elements function.
+ * java/io/natFileDescriptor.cc (read, write): Likewise.
+ * include/java-lang.h (Object): Remove unused make method.
+ (System::setProperty(char*,char*)): Turn into friend function.
+ (Class): Rename newObject by JvAllocObject.
+ * prims.cc: Update to use JvAllocObject, and elements.
+
+ * java/lang/natDouble.cc: Fix double -> jdouble.
+
+Wed May 20 16:50:06 1998 Per Bothner <bothner@cygnus.com>
+
+ * Makefile.am (INCLUDES): Add -Iinclude (to get config.h).
+
+Mon May 18 13:46:02 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/lang/natRuntime.cc (finalize_on_exit): Define.
+ * include/java-lang.h (Runtime): finalize_on_exit and
+ runFinalizersOnExit now static.
+ * java/lang/Runtime.java (runFinalizersOnExit): Now static, to
+ match JDK 1.2b3.
+ (finalize_on_exit): Now static.
+
+ * boehm.cc (mark_obj): Get class using getClass() method on
+ object.
+ (_dispatchTable): Removed.
+
+Mon May 11 15:26:52 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/natFileDescriptor.cc (open_read): Only call open if
+ HAVE_OPEN defined.
+ (open_write): Likewise.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am ($(nat_files)): Depend on config.h.
+
+Thu May 7 16:22:00 1998 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (ObjectClass): Now a macro; updated for new class name
+ mangling scheme.
+ (StringClass): Likewise.
+ (ClassClass): Likewise.
+
+Wed May 6 00:26:44 1998 Tom Tromey <tromey@cygnus.com>
+
+ * java/io/natFileDescriptor.cc (available): Do nothing unless
+ HAVE_SELECT defined.
+ * java/util/natDate.cc (setTime): Conditional on
+ HAVE_GETTIMEOFDAY.
+ (toString): Conditional on HAVE_TIME.
+ * aclocal.m4, configure: Rebuilt.
+ * acinclude.m4: New file.
+ * configure.in: Don't actually call AM_EXEEXT. Call
+ AC_CANONICAL_HOST. Use LIB_AC_PROG_CC and LIB_AC_PROG_CXX. Added
+ --with-target-subdir option. Check for select and open
+ functions.
+
+Tue May 5 00:10:45 1998 Tom Tromey <tromey@cygnus.com>
+
+ * boehm.cc (JvPrivRegisterFinalizer): Changed interface.
+ (call_finalizer): Likewise.
+ * nogc.cc (JvPrivRegisterFinalizer): Changed interface.
+ * prims.cc (newObject): Pass actual method pointer to
+ JvPrivRegisterFinalizer.
+ * include/jvm.h (JvPrivFinalizerFunc): New typedef.
+ (JvPrivRegisterFinalizer): Changed interface.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (MOSTLYCLEANFILES): New macro.
+ (CLEANFILES): Removed javao_files.
+
+Fri May 1 22:52:24 1998 Tom Tromey <tromey@cygnus.com>
+
+ * nogc.cc: New file.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (INCLUDES): Use GCINCS, not paths to boehm-gc.
+ (EXTRA_libjava_a_SOURCES): New macro.
+ (libjava_a_SOURCES): Removed boehm.cc.
+ (libjava_a_DEPENDENCIES): Added GCOBJS.
+ (libjava_a_LIBADD): Likewise.
+ * configure: Rebuilt.
+ * configure.in: Added code for --enable-gc=TYPE.
+
+Thu Apr 30 14:54:00 1998 Tom Tromey <tromey@cygnus.com>
+
+ * boehm.cc (mark_array): Don't further dereference pointer from
+ array.
+
+ * boehm.cc: Include <boehm-config.h>, not <private/config.h>.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (INCLUDES): Removed -I for boehm-gc/include; added
+ one for boehm-gc build directory.
+
+Wed Apr 29 09:45:19 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/java-lang.h (finalize_on_exit): New instance variable in
+ java::lang::Runtime.
+ (runFinalizersOnExit): New method.
+ * java/lang/Runtime.java (finalize_on_exit): New instance
+ variable.
+ (runAllFinalizers_): New private method.
+ (runFinalizersOnExit): New method.
+ * boehm.cc (JvPrivRunFinalizers): New function.
+ (JvPrivRunAllFinalizers): Likewise.
+ (JvPrivRunGC): Likewise.
+ * java/lang/natRuntime.cc: Include "jvm.h".
+ (gc): Call JvPrivRunGC.
+ (runFinalization): Call JvPrivRunFinalizers.
+ (runFinalizersOnExit): New method.
+ (exit_): Call JvPrivRunAllFinalizers if required.
+ * include/jvm.h: Declare JvPrivRunFinalizers,
+ JvPrivRunAllFinalizers, JvPrivRunGC.
+
+Tue Apr 28 15:06:50 1998 Tom Tromey <tromey@cygnus.com>
+
+ * boehm.cc (JvPrivRegisterFinalizer): New function.
+ (call_finalizer): Likewise.
+ * include/jvm.h: Declare JvPrivRegisterFinalizer.
+ * prims.cc (finalize_name): New global.
+ (newObject): Just call other newObject.
+ (newObject): Register finalizer if it exists.
+
+Mon Apr 27 12:47:03 1998 Tom Tromey <tromey@cygnus.com>
+
+ * prims.cc (gc_malloc): Removed.
+ (makeUtf8Const): Use JvPrivAllocBytes.
+ (lookupArray): Likewise.
+ (newPrimArray): Likewise.
+ (JvNewObjectArray): Use JvPrivAllocArray.
+ (newObject): Use JvPrivAllocObj.
+ (newObject): Likewise.
+ Changed Method -> JvMethod everywhere.
+ Changed Field -> JvField everywhere.
+ * include/java-lang.h (Object): Changed type of `fields' to
+ JvField*.
+ (jmethodID, jfieldID): New typedefs.
+ (Object): JvGetFirstInstanceField and JvNumInstanceFields now
+ friends.
+ * include/jvm.h (struct JvMethod): Renamed from Method, and moved
+ from java-lang.h.
+ (METHOD_NATIVECODE): Moved from java-lang.h.
+ (class JvField): New class.
+ (JvGetFirstInstanceField): New function.
+ (JvFieldIsRef): Likewise.
+ (JvGetObjectField): Likewise.
+ (JvNumInstanceFields): Likewise.
+
+Thu Apr 23 16:42:11 1998 Tom Tromey <tromey@cygnus.com>
+
+ * boehm.cc: New file.
+ * Makefile.in: Rebuilt.
+ * Makefile.am (libjava_a_SOURCES): Added boehm.cc.
+ (INCLUDES): Added -I options to find boehm-gc files.
+
+Wed Apr 29 15:11:37 1998 Tom Tromey <tromey@cygnus.com>
+
+ * configure: Rebuilt.
+ * configure.in (CXX): Put -fno-rtti here and not in CXXFLAGS.
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (nat_files): New macro.
+ (libjava_a_DEPENDENCIES): Use it.
+ (libjava_a_LIBADD): Likewise.
+ ($(nat_files)): New static pattern rule.
+ (class_files): Run separate find to find .class files.
+ (javao_files): Compute based on class_files.
+ (BUILT_SOURCES): New macro.
+
+Thu Apr 23 16:42:11 1998 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.am (java_files): New macro.
+ (class_files): Likewise.
+ (javao_files): Likewise.
+ (libjava_a_DEPENDENCIES): Include $(javao_files).
+ (libjava_a_LIBADD): Likewise.
+ (classes.stamp): Depend on $(java_files); only recompile changed
+ files.
+ (here): New macro.
+ (CLEANFILES): Don't run find; use macros. Don't mention
+ libjava.a.
+ (.class.o): New target.
+ (compiled.stamp): Removed.
+
+Thu Apr 23 14:17:43 1998 Per Bothner <bothner@cygnus.com>
+
+ * java/io/{Reader,InputStreamReader,FileReader,BufferedReader,
+ LineNumberReader}>java: Newly-implemented standard classes.
+
+Thu Apr 23 14:02:04 1998 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (compiled.stamp): Use $(CC), not $(GCC).
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (hack): New macro.
+ (libjava_a_LIBADD): Use $(hack) to work around automake oddity.
+
+Wed Apr 22 16:49:57 1998 Tom Tromey <tromey@cygnus.com>
+
+ * include/config.h.in: New file.
+ * include/config.h: Removed.
+ * acconfig.h: New file.
+ * Makefile.am (AR, ARFLAGS, JAVAC, GCC, CXX, CXXFLAGS): Removed.
+ (lib_LIBRARIES, libjava_a_SOURCES, libjava_a_DEPENDENCIES,
+ libjava_a_LIBADD): New macros.
+ (INCLUDES): New macro.
+ (prims.o): Removed.
+ (.cc.o): Removed.
+ (SUFFIXES): Removed.
+ (all): Removed.
+ (libjava.a): Removed.
+
+ * configure: Rebuilt.
+ * configure.in: Call AC_PROG_CC, AC_PROG_CXX, AC_PROG_RANLIB.
+ Look for headers and functions we require. Create
+ include/config.h.
+
+Mon Apr 20 22:25:00 1998 Per Bothner <bothner@cygnus.com>
+
+ * prims.cc (instance_class, instanceof, JvIsInstanceOf, JvConvertArgv,
+ soft_instanceof, newObject, JbNewObjectArray, soft_checkcast,
+ soft_lookupinterfacemethod): New functions.
+ (PrimClass): Actually initialize the primitive classes.
+ (Utf8Const2JavaString): Moved to java/lang/natString.cc.
+
+ * include/java-util.h: Removed java::util definition.
+ * include/cni.h: Moved java::util here and added Properties.
+ Added more function prototypes.
+ * include/java-lang.h: Added mroe methods and friend declarations.
+ * include/config.h (HAVE_GETTIMEOFDAY, HAVE_TIME): Added.
+ * include/jvm.h (strLengthUtf8): Add declaration.
+
+ * java/lang/{Integer,Long,Boolean,Character,Float,Double}.java (TYPE):
+ New static field.
+ * java/lang/{Byte,Short,Void}.java: New classes.
+ * java/lang/Character.java (isJavaIdentifierStart,
+ JavaIdentifierPart): New static methods.
+ * java/lang/Number.java (byteValue, shortValue): New methods.
+
+ * java/lang/String.java (intern, hashCode): Make native.
+ * java/lang/natString.cc: New file. Handle the string pool.
+ * Makefile.am: Build natString.o. Use CXXFLAGS.
+
+ * java/lang/Class.java (isArray, isPrimitive, getComponentType,
+ isInstance, isAssignableFrom), java/lang/natClass.cc: New methods.
+ * java/lang/Throwable.java (<init>): Don't fillInStackTrace yet.
+ * java/lang/System.java (setProperty): New private method.
+ (initProperties): Take argument, and make native.
+ * java/lang/natSystem.cc: Implement (preliminary) initProperties.
+ (currentTimeMillis): Make more robust.
+
+ * java/io/{Writer,PrintWriter,OutputStreamWriter}.java: New classes.
+ * java/io/UnsupportedEncodingException.java: New exception class.
+
+ * java/io/DataInputStream.java: Don't use a PushbackInputStream.
+ * java/io/FilterOutputStream.java: Add missing 'extends OutputStream'.
+
+Fri Apr 10 11:52:10 1998 Per Bothner <bothner@cygnus.com>
+
+ * Makefile.am (CXXFLAGS, JC1FLAGS): New macro.
+ * prims.cc: Added bunch of stuff.
+ * include/cni.h: Added various definitions.
+ * include/java-lang.h: Added Method, various friends, some macros.
+
+ * include/config.h: Added HAVA_MEMMOVE and HAVE_MEMCPY.
+ * java/lang/System.java (arraycopy): Make native.
+
+Sun Apr 5 23:58:51 1998 Per Bothner <bothner@cygnus.com>
+
+ * java/lang/{netObject.cc,natClass.cc,natDouble.cc,natRuntime.cc,
+ natSystem.cc,natThread.cc}: Native (C++) methods for various classes.
+ * java/lang/ClassLoader.java (defineClass): Now takes extra argument.
+ * java/lang/Double.java (toString, doubleToLongBits, longBitsToDouble):
+ Make native.
+ * java/lang/Runtime.java: Declare methods as native instead of
+ using NativeLang.
+ * java/lang/SecurityManager.java (getClassContext): Just throw Error.
+ * java/lang/System.java: Comment out some stuff, for now.
+ * java/lang/Thread.java: Re-write. Use native methods.
+ * java/lang/NativeLang.java: Remove most of it.
+
+ * java/util/natDate.cc: Native (C++) methods for Date.
+ * java/util/{Calendar.java,GregorianCalendar.java}: New classes.
+ * java/util/Date.java: Complete re-write.
+
+ * java/io/io-defs.h: New header file.
+ * java/io/FileDescriptor.java: Add a bunch of private methods,
+ mostly moved from NativeIO.java and natNativeIO.cc.
+ * java/io/{natFile.cc,java/io/natFileDescriptor.cc}: New native code.
+ * java/io/File.java: Use new code.
+ * java/io/{FileInputStream.java.FileOutputStream.java,
+ RandomAccessFile.java}: Use new private FileDescriptor methods.
+ * java/io/NativeIO.java: Removed, no longer used.
+
+ * java/io/StreamTokenizer.java (numericChars): Make char array.
+
+ * include/*.h: Various header files used by the C++ native code.
+
+ * Makefile.am, Makefile.in, aclocal.m4, configure, configure.in:
+ New autoconf+automake-based setup.
+ * prims.cc: New file for Java "primitives".
+
diff --git a/libjava/LIBGCJ_LICENSE b/libjava/LIBGCJ_LICENSE
new file mode 100644
index 0000000..3785700
--- /dev/null
+++ b/libjava/LIBGCJ_LICENSE
@@ -0,0 +1,11 @@
+March 2, 1999
+
+The libgcj library is licensed under the terms of the GNU Library
+General Public License.
+
+You should have received a copy of the GNU Library General Public
+License along with libjava; see the file COPYING.LIB. If not, write
+to the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+MA 02111-1307, USA.
+
+
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
new file mode 100644
index 0000000..eed9d2a
--- /dev/null
+++ b/libjava/Makefile.am
@@ -0,0 +1,660 @@
+## Process this file with automake to produce Makefile.in.
+
+AUTOMAKE_OPTIONS = foreign no-installinfo
+
+if TESTSUBDIR
+SUBDIRS = testsuite
+endif
+
+## ################################################################
+
+##
+## What gets installed, and where.
+##
+
+toolexecdir = $(exec_prefix)/$(target_alias)
+toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
+
+toolexeclib_LIBRARIES = libgcj.a
+data_DATA = libgcj.zip
+
+## For now, only on native systems.
+if NATIVE
+bin_PROGRAMS = jv-convert
+endif
+
+## ################################################################
+
+##
+## Compilers and compilation flags.
+##
+
+## CANADIAN is a misnomer. Really we check to see if we must pick up
+## the tools from the path.
+if CANADIAN
+if NULL_TARGET
+## In this case, gcj is found outside the build tree. However, zip is
+## found in the build tree.
+GCJ = gcj
+ZIP = $(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
+else
+GCJ = $(target_alias)-gcj
+ZIP = zip
+endif
+GCJH = gcjh
+else # CANADIAN
+## JAVAC is set to `$(GCJ) -C'. However, JAVAC is run from the srcdir
+## (due to problems running it in builddir). In this case the obvious
+## definition of GCJ won't work; instead we resort to this ugly
+## definition that gives us absolute paths.
+expanded = `cd $(MULTIBUILDTOP)../$(COMPPATH)/gcc && pwd`
+GCJ = $(expanded)/gcj$(EXEEXT) -B$(expanded)/
+GCJH = $(MULTIBUILDTOP)../$(COMPPATH)/gcc/gcjh$(EXEEXT)
+ZIP = $(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
+endif # CANADIAN
+
+JAVAC = $(GCJ) -C
+
+EH_COMMON_INCLUDE = @EH_COMMON_INCLUDE@
+
+WARNINGS = -W -Wall
+AM_CXXFLAGS = -fno-rtti -fvtable-thunks @LIBGCJ_CXXFLAGS@ $(WARNINGS)
+if USING_GCC
+AM_CFLAGS = @LIBGCJ_CFLAGS@ $(WARNINGS)
+else
+AM_CFLAGS = @LIBGCJ_CFLAGS@
+endif
+
+JCFLAGS = -g
+JC1FLAGS = -g @LIBGCJ_JAVAFLAGS@
+
+INCLUDES = -Iinclude -I$(top_srcdir)/include $(GCINCS) $(THREADINCS) $(EH_COMMON_INCLUDE)
+
+
+## ################################################################
+
+##
+## How to build libgcj.a and libgcj.zip
+##
+
+## Objects from C++ sources in subdirs.
+nat_files = $(nat_source_files:.cc=.o)
+## Objects from C sources in subdirs.
+c_files = $(c_source_files:.c=.o)
+## Objects from Java sources in subdirs.
+javao_files = $(java_source_files:.java=.o)
+
+libgcj_a_SOURCES = prims.cc jni.cc exception.cc
+EXTRA_libgcj_a_SOURCES = boehm.cc nogc.cc posix-threads.cc no-threads.cc \
+ $(c_source_files) $(java_source_files)
+libgcj_a_DEPENDENCIES = libgcj.zip $(javao_files) $(nat_files) \
+ $(c_files) $(GCOBJS) $(THREADOBJS)
+libgcj_a_LIBADD = $(javao_files) $(nat_files) $(c_files) $(GCOBJS) \
+ $(THREADOBJS)
+
+## Make the .class files depend on the .zip file. This seems
+## backwards, but is right. This doesn't catch all the .class files,
+## but that is ok, because the ones it fails to pick up are defined in
+## a .java file with some other class which is caught. Note that we
+## only want to create headers for those files which do not have
+## hand-maintained headers.
+$(java_source_files:.java=.class): libgcj.zip
+
+## We have the zip file depend on the java sources and not the class
+## files, because we don't know the names of all the class files.
+## FIXME: this method fails in a peculiar case: if libgcj.zip is
+## up-to-date, and foo.class is removed, and bar.java is touched, then
+## `make libgcj.zip' will not rebuilt foo.class. That's because
+## libgcj.zip is not out-of-date with respect to foo.java.
+libgcj.zip: $(java_source_files)
+## This little nastiness is here so that the backquoted stuff in the
+## GCJ definition can be correctly expanded, if required.
+ javac="$(JAVAC)"; cd $(srcdir); \
+ $$javac $(JCFLAGS) -classpath $(here):`/bin/pwd` -d $(here) \
+ $(subst $(srcdir)/,,$?)
+ -@rm -f libgcj.zip
+## Note that we explicitly want to include directory information.
+ $(ZIP) -r libgcj java -n .class -i '*.class' -i '*/'
+
+MOSTLYCLEANFILES = $(javao_files) $(nat_files) $(nat_headers) $(c_files)
+CLEANFILES = libgcj.zip $(class_files)
+
+SUFFIXES = .class .java .h
+
+.class.o:
+ CLASSPATH=$(here) $(CC) -fassume-compiled $(JC1FLAGS) -c -o $@ $<
+
+.java.o:
+ CLASSPATH=$(here) $(GCJ) -fassume-compiled $(JC1FLAGS) -c -o $@ $<
+
+## This is GNU make specific. For the .o files in subdirs, use a
+## special rule. The standard automake rule can't be overridden (this
+## is a bug in automake), and it also won't put the .o files into
+## subdirs. FIXME.
+$(nat_files): %.o: %.cc
+ $(CXXCOMPILE) -c -o $@ $<
+
+$(nat_files) $(GCOBJS) $(THREADOBJS) $(libgcj_a_OBJECTS): \
+ include/config.h $(nat_headers)
+
+## FIXME: GNU make.
+$(c_files): %.o: %.c
+ $(COMPILE) -c -o $@ $<
+
+$(c_files): java/lang/fdlibm.h java/lang/ieeefp.h java/lang/mprec.h
+
+## FIXME: GNU make.
+$(javao_files): %.o: %.java
+ CLASSPATH=$(here) $(GCJ) -fassume-compiled $(JC1FLAGS) -c -o $@ $<
+
+## ################################################################
+
+##
+## How to build header files.
+##
+
+.class.h:
+## FIXME: GNU make specific.
+ $(GCJH) -classpath $(top_builddir) $(basename $<)
+
+## Header files used when compiling some of the nat* files.
+nat_headers = $(ordinary_java_source_files:.java=.h)
+
+$(nat_headers): libgcj.zip
+
+## Our internal main program needs to be able to create a FirstThread.
+FTFRIEND = void JvRunMain (jclass klass, int argc, const char **argv)
+java/lang/FirstThread.h: java/lang/FirstThread.class libgcj.zip
+ $(GCJH) -classpath $(top_builddir) -friend '$(FTFRIEND);' \
+ $(basename $<)
+
+## ThreadGroup has a special constructor that is used when creating
+## the first ThreadGroup. We need to expose this to the main program.
+TGFRIEND = void JvRunMain (jclass klass, int argc, const char **argv)
+java/lang/ThreadGroup.h: java/lang/ThreadGroup.class libgcj.zip
+ $(GCJH) -classpath $(top_builddir) -friend '$(TGFRIEND);' \
+ $(basename $<)
+
+java/lang/String.h: java/lang/String.class libgcj.zip
+ $(GCJH) -classpath $(top_builddir) \
+ -friend 'jchar* _Jv_GetStringChars (jstring str);' \
+ -friend 'jstring* _Jv_StringFindSlot (jchar*, jint, jint);' \
+ -friend 'jstring* _Jv_StringGetSlot (jstring);' \
+ -friend 'jstring _Jv_NewStringUtf8Const (_Jv_Utf8Const* str);' \
+ -friend 'jstring _Jv_NewStringLatin1 (const char*, jsize);' \
+ -friend 'jstring _Jv_AllocString (jsize);' \
+ $(basename $<)
+
+java/lang/reflect/Field.h: java/lang/reflect/Field.class libgcj.zip
+ $(GCJH) -classpath $(top_builddir) \
+ -friend 'jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *);' \
+ -friend 'jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv*, jclass, jfieldID);' \
+ -friend 'java::lang::Class;' \
+ $(basename $<)
+
+java/lang/reflect/Method.h: java/lang/reflect/Method.class libgcj.zip
+ $(GCJH) -classpath $(top_builddir) \
+ -friend 'jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);' \
+ -friend 'java::lang::Class;' \
+ $(basename $<)
+
+
+## ################################################################
+
+##
+## Additional `check' targets for maintainer convenience.
+##
+
+## This is used for maintainer-check. FIXME: should set from
+## configure using AC_CHECK_TOOL.
+NM = nm
+
+## Try to make sure our library doesn't stomp the namespace.
+maintainer-check: libgcj.a
+ $(NM) libgcj.a | grep ' T ' \
+## Anything with `4java' is assumed to be from .java source.
+ | grep -v '4java' \
+## Anything with Jv is ok.
+ | grep -v 'Jv' \
+## `terminate' and `unexpected' are part of the runtime.
+ | grep -v 'terminate__Fv' | grep -v 'unexpected__Fv'
+
+## This rule can be used to see if the headers are more or less
+## correct.
+header-check: libgcj.zip $(nat_headers)
+ rm -f htest.cc; \
+ for h in $(nat_headers); do \
+ echo "#include \"$$h\"" >> htest.cc; \
+ done; \
+ $(CXXCOMPILE) -fsyntax-only htest.cc
+
+
+## ################################################################
+
+##
+## The `jv-convert' program and code to rebuild the converter header
+## files.
+##
+
+## it only makes sense to try to rebuild the JIS .h files on native
+## systems.
+if NATIVE
+if MAINTAINER_MODE
+noinst_PROGRAMS = gen-from-JIS
+endif
+endif
+
+CONVERT_DIR = gnu/gcj/convert
+
+jv_convert_SOURCES =
+EXTRA_jv_convert_SOURCES = $(convert_source_files)
+jv_convert_LDFLAGS = --main=gnu.gcj.convert.Convert
+jv_convert_LINK = $(GCJ) $(JC1FLAGS) $(LDFLAGS) -o jv-convert
+jv_convert_LDADD = $(convert_source_files:.java=.o) -L. $(GCLIBS) $(THREADLIBS)
+jv_convert_DEPENDENCIES = $(convert_source_files:.java=.o) \
+ $(GCDEPS) $(THREADDEPS) libgcj.a
+
+# The Unicode consortium does not permit re-distributing the file JIS0208.TXT.
+# You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
+
+$(srcdir)/$(CONVERT_DIR)/JIS0208.h: # JIS0208.TXT
+ echo '/* This file is autoamtically generated from Unicode tables */' > tmp-0208; \
+ sed -n -e 's|\(0x....\).*0x\(..\)\(..\).*\(0x....\).*#\(.*\).$$|MAP(0x\2, 0x\3, \4) /*\5 */|p' \
+ <JIS0208.TXT >> tmp-0208; \
+ mv tmp-0208 $(srcdir)/$(CONVERT_DIR)/JIS0208.h
+
+# The Unicode consortium does not permit re-distributing the file JIS0212.TXT.
+# You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
+
+$(srcdir)/$(CONVERT_DIR)/JIS0212.h: # JIS0212.TXT
+ echo '/* This file is autoamtically generated from Unicode tables */' > tmp-0212; \
+ sed -n -e 's|0x\(..\)\(..\).*\(0x....\).*#\(.*\).$$|MAP(0x\1, 0x\2, \3) /*\4 */|p' \
+ <JIS0212.TXT >> tmp-0212; \
+ mv tmp-0212 $(srcdir)/$(CONVERT_DIR)/JIS0212.h
+
+
+gen_from_JIS_SOURCES =
+EXTRA_gen_from_JIS_SOURCES = $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c \
+ $(srcdir)/$(CONVERT_DIR)/JIS0208.h \
+ $(srcdir)/$(CONVERT_DIR)/JIS0212.h
+gen_from_JIS_LDADD = $(CONVERT_DIR)/gen-from-JIS.o
+gen_from_JIS_DEPENDENCIES = $(CONVERT_DIR)/gen-from-JIS.o
+
+$(CONVERT_DIR)/gen-from-JIS.o: $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c \
+ $(srcdir)/$(CONVERT_DIR)/JIS0208.h \
+ $(srcdir)/$(CONVERT_DIR)/JIS0212.h
+ $(COMPILE) -c -o $(CONVERT_DIR)/gen-from-JIS.o \
+ $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c
+
+if NATIVE
+if MAINTAINER_MODE
+
+$(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
+ ./gen-from-JIS JIS0208>$(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc
+
+$(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
+ ./gen-from-JIS JIS0212>$(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc
+
+endif # MAINTAINER_MODE
+endif # NATIVE
+
+
+## ################################################################
+
+##
+## This section lists all the source files we care about.
+##
+
+convert_source_files = \
+gnu/gcj/convert/BytesToUnicode.java \
+gnu/gcj/convert/Convert.java \
+gnu/gcj/convert/Input_8859_1.java \
+gnu/gcj/convert/Input_EUCJIS.java \
+gnu/gcj/convert/Input_UTF8.java \
+gnu/gcj/convert/Output_8859_1.java \
+gnu/gcj/convert/Output_JavaSrc.java \
+gnu/gcj/convert/Output_UTF8.java \
+gnu/gcj/convert/UnicodeToBytes.java
+
+## List of all .java files for which the .h file is maintained by
+## hand.
+special_java_source_files = java/lang/Class.java java/lang/Object.java
+
+## List of all .java files to be compiled. Please keep this list
+## alphabetical. Please put files from gnu/gcj/convert into
+## convert_source_files. If the .java file has a hand-maintained
+## header, please list it in special_java_source_files.
+ordinary_java_source_files = $(convert_source_files) \
+gnu/gcj/text/BaseBreakIterator.java \
+gnu/gcj/text/CharacterBreakIterator.java \
+gnu/gcj/text/LineBreakIterator.java \
+gnu/gcj/text/LocaleData_en.java \
+gnu/gcj/text/LocaleData_en_US.java \
+gnu/gcj/text/SentenceBreakIterator.java \
+gnu/gcj/text/WordBreakIterator.java \
+gnu/gcj/protocol/http/Connection.java \
+gnu/gcj/protocol/http/Handler.java \
+java/io/BufferedInputStream.java \
+java/io/BufferedOutputStream.java \
+java/io/BufferedReader.java \
+java/io/BufferedWriter.java \
+java/io/ByteArrayInputStream.java \
+java/io/ByteArrayOutputStream.java \
+java/io/CharArrayReader.java \
+java/io/CharArrayWriter.java \
+java/io/CharConversionException.java \
+java/io/DataInput.java \
+java/io/DataInputStream.java \
+java/io/DataOutput.java \
+java/io/DataOutputStream.java \
+java/io/EOFException.java \
+java/io/File.java \
+java/io/FileDescriptor.java \
+java/io/FileInputStream.java \
+java/io/FileNotFoundException.java \
+java/io/FileOutputStream.java \
+java/io/FileReader.java \
+java/io/FileWriter.java \
+java/io/FilenameFilter.java \
+java/io/FilterInputStream.java \
+java/io/FilterOutputStream.java \
+java/io/FilterReader.java \
+java/io/FilterWriter.java \
+java/io/IOException.java \
+java/io/InputStream.java \
+java/io/InputStreamReader.java \
+java/io/InterruptedIOException.java \
+java/io/LineNumberInputStream.java \
+java/io/LineNumberReader.java \
+java/io/OutputStream.java \
+java/io/OutputStreamWriter.java \
+java/io/PipedInputStream.java \
+java/io/PipedOutputStream.java \
+java/io/PipedReader.java \
+java/io/PipedWriter.java \
+java/io/PrintStream.java \
+java/io/PrintWriter.java \
+java/io/PushbackInputStream.java \
+java/io/PushbackReader.java \
+java/io/RandomAccessFile.java \
+java/io/Reader.java \
+java/io/SequenceInputStream.java \
+java/io/Serializable.java \
+java/io/StreamTokenizer.java \
+java/io/StringBufferInputStream.java \
+java/io/StringReader.java \
+java/io/StringWriter.java \
+java/io/SyncFailedException.java \
+java/io/UTFDataFormatException.java \
+java/io/UnsupportedEncodingException.java \
+java/io/Writer.java \
+java/lang/AbstractMethodError.java \
+java/lang/ArithmeticException.java \
+java/lang/ArrayIndexOutOfBoundsException.java \
+java/lang/ArrayStoreException.java \
+java/lang/Boolean.java \
+java/lang/Byte.java \
+java/lang/Character.java \
+java/lang/ClassCastException.java \
+java/lang/ClassCircularityError.java \
+java/lang/ClassFormatError.java \
+java/lang/ClassLoader.java \
+java/lang/ClassNotFoundException.java \
+java/lang/CloneNotSupportedException.java \
+java/lang/Cloneable.java \
+java/lang/Comparable.java \
+java/lang/Compiler.java \
+java/lang/Double.java \
+java/lang/Error.java \
+java/lang/Exception.java \
+java/lang/ExceptionInInitializerError.java \
+java/lang/FirstThread.java \
+java/lang/Float.java \
+java/lang/IllegalAccessError.java \
+java/lang/IllegalAccessException.java \
+java/lang/IllegalArgumentException.java \
+java/lang/IllegalMonitorStateException.java \
+java/lang/IllegalStateException.java \
+java/lang/IllegalThreadStateException.java \
+java/lang/IncompatibleClassChangeError.java \
+java/lang/IndexOutOfBoundsException.java \
+java/lang/InstantiationError.java \
+java/lang/InstantiationException.java \
+java/lang/Integer.java \
+java/lang/InternalError.java \
+java/lang/InterruptedException.java \
+java/lang/LinkageError.java \
+java/lang/Long.java \
+java/lang/Math.java \
+java/lang/NegativeArraySizeException.java \
+java/lang/NoClassDefFoundError.java \
+java/lang/NoSuchFieldError.java \
+java/lang/NoSuchFieldException.java \
+java/lang/NoSuchMethodError.java \
+java/lang/NoSuchMethodException.java \
+java/lang/NullPointerException.java \
+java/lang/Number.java \
+java/lang/NumberFormatException.java \
+java/lang/OutOfMemoryError.java \
+java/lang/Process.java \
+java/lang/Runnable.java \
+java/lang/Runtime.java \
+java/lang/RuntimeException.java \
+java/lang/SecurityException.java \
+java/lang/SecurityManager.java \
+java/lang/Short.java \
+java/lang/StackOverflowError.java \
+java/lang/String.java \
+java/lang/StringBuffer.java \
+java/lang/StringIndexOutOfBoundsException.java \
+java/lang/System.java \
+java/lang/Thread.java \
+java/lang/ThreadDeath.java \
+java/lang/ThreadGroup.java \
+java/lang/Throwable.java \
+java/lang/UnknownError.java \
+java/lang/UnsatisfiedLinkError.java \
+java/lang/UnsupportedOperationException.java \
+java/lang/VerifyError.java \
+java/lang/VirtualMachineError.java \
+java/lang/Void.java \
+java/lang/reflect/AccessibleObject.java \
+java/lang/reflect/Array.java \
+java/lang/reflect/Constructor.java \
+java/lang/reflect/Field.java \
+java/lang/reflect/InvocationTargetException.java \
+java/lang/reflect/Member.java \
+java/lang/reflect/Method.java \
+java/lang/reflect/Modifier.java \
+java/net/BindException.java \
+java/net/ConnectException.java \
+java/net/ContentHandler.java \
+java/net/ContentHandlerFactory.java \
+java/net/FileNameMap.java \
+java/net/HttpURLConnection.java \
+java/net/InetAddress.java \
+java/net/MalformedURLException.java \
+java/net/NoRouteToHostException.java \
+java/net/PlainSocketImpl.java \
+java/net/ProtocolException.java \
+java/net/ServerSocket.java \
+java/net/Socket.java \
+java/net/SocketException.java \
+java/net/SocketImpl.java \
+java/net/SocketImplFactory.java \
+java/net/URL.java \
+java/net/URLConnection.java \
+java/net/URLStreamHandler.java \
+java/net/URLStreamHandlerFactory.java \
+java/net/UnknownHostException.java \
+java/net/UnknownServiceException.java \
+java/text/BreakIterator.java \
+java/text/CharacterIterator.java \
+java/text/ChoiceFormat.java \
+java/text/DateFormat.java \
+java/text/DateFormatSymbols.java \
+java/text/DecimalFormat.java \
+java/text/DecimalFormatSymbols.java \
+java/text/FieldPosition.java \
+java/text/Format.java \
+java/text/MessageFormat.java \
+java/text/NumberFormat.java \
+java/text/ParseException.java \
+java/text/ParsePosition.java \
+java/text/SimpleDateFormat.java \
+java/text/StringCharacterIterator.java \
+java/util/BitSet.java \
+java/util/Calendar.java \
+java/util/ConcurrentModificationException.java \
+java/util/Date.java \
+java/util/Dictionary.java \
+java/util/EmptyStackException.java \
+java/util/Enumeration.java \
+java/util/EventListener.java \
+java/util/EventObject.java \
+java/util/GregorianCalendar.java \
+java/util/Hashtable.java \
+java/util/ListResourceBundle.java \
+java/util/Locale.java \
+java/util/MissingResourceException.java \
+java/util/NoSuchElementException.java \
+java/util/Observable.java \
+java/util/Observer.java \
+java/util/Properties.java \
+java/util/Random.java \
+java/util/ResourceBundle.java \
+java/util/SimpleTimeZone.java \
+java/util/Stack.java \
+java/util/StringTokenizer.java \
+java/util/TimeZone.java \
+java/util/TooManyListenersException.java \
+java/util/Vector.java \
+java/util/zip/Adler32.java \
+java/util/zip/CRC32.java \
+java/util/zip/Checksum.java \
+java/util/zip/Deflater.java \
+java/util/zip/DeflaterOutputStream.java \
+java/util/zip/ZipConstants.java \
+java/util/zip/ZipEntry.java \
+java/util/zip/ZipException.java \
+java/util/zip/ZipFile.java \
+java/util/zip/ZipOutputStream.java
+
+java_source_files = $(ordinary_java_source_files) $(special_java_source_files)
+
+## Math library: C, not C++
+c_source_files = \
+ java/lang/dtoa.c java/lang/k_rem_pio2.c java/lang/s_tan.c \
+ java/lang/e_acos.c java/lang/k_sin.c java/lang/strtod.c \
+ java/lang/e_asin.c java/lang/k_tan.c java/lang/w_acos.c \
+ java/lang/e_atan2.c java/lang/mprec.c java/lang/w_asin.c \
+ java/lang/e_exp.c java/lang/s_atan.c java/lang/w_atan2.c \
+ java/lang/e_fmod.c java/lang/s_ceil.c java/lang/w_exp.c \
+ java/lang/e_log.c java/lang/s_copysign.c java/lang/w_fmod.c \
+ java/lang/e_pow.c java/lang/s_cos.c java/lang/w_log.c \
+ java/lang/e_rem_pio2.c java/lang/s_fabs.c java/lang/w_pow.c \
+ java/lang/e_remainder.c java/lang/s_floor.c java/lang/w_remainder.c \
+ java/lang/e_scalb.c java/lang/s_rint.c java/lang/w_sqrt.c \
+ java/lang/e_sqrt.c java/lang/s_scalbn.c java/lang/sf_rint.c \
+ java/lang/k_cos.c java/lang/s_sin.c
+
+## This lists all the C++ source files in subdirectories.
+nat_source_files = java/lang/natObject.cc java/lang/natClass.cc \
+java/lang/natString.cc java/lang/natDouble.cc java/lang/natRuntime.cc \
+java/lang/natSystem.cc java/lang/natThread.cc java/io/natFile.cc \
+java/io/natFileDescriptor.cc java/util/natDate.cc \
+java/util/natGregorianCalendar.cc java/lang/natFirstThread.cc \
+java/lang/natCharacter.cc java/lang/natMath.cc java/lang/natFloat.cc \
+java/lang/reflect/natField.cc java/net/natInetAddress.cc \
+java/net/natPlainSocketImpl.cc java/lang/reflect/natMethod.cc \
+java/lang/reflect/natArray.cc gnu/gcj/convert/natInput_EUCJIS.cc \
+gnu/gcj/convert/JIS0208_to_Unicode.cc \
+gnu/gcj/convert/JIS0212_to_Unicode.cc
+
+## ################################################################
+
+##
+## This section is for make and multilib madness.
+##
+
+# Work around what appears to be a GNU make bug handling MAKEFLAGS
+# values defined in terms of make variables, as is the case for CC and
+# friends when we are called from the top level Makefile.
+AM_MAKEFLAGS = \
+ "AR_FLAGS=$(AR_FLAGS)" \
+ "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
+ "CFLAGS=$(CFLAGS)" \
+ "CXXFLAGS=$(CXXFLAGS)" \
+ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
+ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
+ "INSTALL=$(INSTALL)" \
+ "INSTALL_DATA=$(INSTALL_DATA)" \
+ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
+ "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
+ "LDFLAGS=$(LDFLAGS)" \
+ "LIBCFLAGS=$(LIBCFLAGS)" \
+ "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
+ "MAKE=$(MAKE)" \
+ "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
+ "PICFLAG=$(PICFLAG)" \
+ "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
+ "SHELL=$(SHELL)" \
+ "exec_prefix=$(exec_prefix)" \
+ "infodir=$(infodir)" \
+ "libdir=$(libdir)" \
+ "prefix=$(prefix)" \
+ "AR=$(AR)" \
+ "AS=$(AS)" \
+ "CC=$(CC)" \
+ "CXX=$(CXX)" \
+ "LD=$(LD)" \
+ "LIBCFLAGS=$(LIBCFLAGS)" \
+ "NM=$(NM)" \
+ "PICFLAG=$(PICFLAG)" \
+ "RANLIB=$(RANLIB)" \
+ "DESTDIR=$(DESTDIR)"
+
+CONFIG_STATUS_DEPENDENCIES = $(libgcj_basedir)/configure.host
+
+MAKEOVERRIDES=
+
+# Multilib support variables.
+MULTISRCTOP =
+MULTIBUILDTOP =
+MULTIDIRS =
+MULTISUBDIR =
+MULTIDO = true
+MULTICLEAN = true
+
+# Multilib support.
+.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
+ maintainer-clean-multi
+
+all-recursive: all-multi
+install-recursive: install-multi
+mostlyclean-recursive: mostlyclean-multi
+clean-recursive: clean-multi
+distclean-recursive: distclean-multi
+maintainer-clean-recursive: maintainer-clean-multi
+
+all-multi:
+ $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
+install-multi:
+ $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
+mostlyclean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
+clean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
+distclean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
+maintainer-clean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
+
+
+## ################################################################
+
+
+## See above.
+cygnus_hack =
+
+
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
new file mode 100644
index 0000000..d47a7f8
--- /dev/null
+++ b/libjava/Makefile.in
@@ -0,0 +1,1309 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_alias = @build_alias@
+build_triplet = @build@
+host_alias = @host_alias@
+host_triplet = @host@
+target_alias = @target_alias@
+target_triplet = @target@
+AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+COMPPATH = @COMPPATH@
+CPP = @CPP@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+EXEEXT = @EXEEXT@
+GCDEPS = @GCDEPS@
+GCINCS = @GCINCS@
+GCLIBS = @GCLIBS@
+GCOBJS = @GCOBJS@
+LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
+LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
+LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+RANLIB = @RANLIB@
+THREADDEPS = @THREADDEPS@
+THREADINCS = @THREADINCS@
+THREADLIBS = @THREADLIBS@
+THREADOBJS = @THREADOBJS@
+VERSION = @VERSION@
+here = @here@
+libgcj_basedir = @libgcj_basedir@
+
+AUTOMAKE_OPTIONS = foreign no-installinfo
+
+@TESTSUBDIR_TRUE@SUBDIRS = \
+@TESTSUBDIR_TRUE@testsuite
+
+toolexecdir = $(exec_prefix)/$(target_alias)
+toolexeclibdir = $(toolexecdir)/lib$(MULTISUBDIR)
+
+toolexeclib_LIBRARIES = libgcj.a
+data_DATA = libgcj.zip
+
+@NATIVE_TRUE@bin_PROGRAMS = \
+@NATIVE_TRUE@jv-convert
+@CANADIAN_TRUE@@NULL_TARGET_TRUE@GCJ = \
+@CANADIAN_TRUE@@NULL_TARGET_TRUE@gcj
+@CANADIAN_TRUE@@NULL_TARGET_FALSE@GCJ = \
+@CANADIAN_TRUE@@NULL_TARGET_FALSE@$(target_alias)-gcj
+@CANADIAN_FALSE@GCJ = \
+@CANADIAN_FALSE@$(expanded)/gcj$(EXEEXT) -B$(expanded)/
+@CANADIAN_TRUE@@NULL_TARGET_TRUE@ZIP = \
+@CANADIAN_TRUE@@NULL_TARGET_TRUE@$(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
+@CANADIAN_TRUE@@NULL_TARGET_FALSE@ZIP = \
+@CANADIAN_TRUE@@NULL_TARGET_FALSE@zip
+@CANADIAN_FALSE@ZIP = \
+@CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/zip/zip$(EXEEXT)
+@CANADIAN_TRUE@GCJH = \
+@CANADIAN_TRUE@gcjh
+@CANADIAN_FALSE@GCJH = \
+@CANADIAN_FALSE@$(MULTIBUILDTOP)../$(COMPPATH)/gcc/gcjh$(EXEEXT)
+@CANADIAN_FALSE@expanded = \
+@CANADIAN_FALSE@`cd $(MULTIBUILDTOP)../$(COMPPATH)/gcc && pwd`
+
+JAVAC = $(GCJ) -C
+
+EH_COMMON_INCLUDE = @EH_COMMON_INCLUDE@
+
+WARNINGS = -W -Wall
+AM_CXXFLAGS = -fno-rtti -fvtable-thunks @LIBGCJ_CXXFLAGS@ $(WARNINGS)
+@USING_GCC_TRUE@AM_CFLAGS = \
+@USING_GCC_TRUE@@LIBGCJ_CFLAGS@ $(WARNINGS)
+@USING_GCC_FALSE@AM_CFLAGS = \
+@USING_GCC_FALSE@@LIBGCJ_CFLAGS@
+
+JCFLAGS = -g
+JC1FLAGS = -g @LIBGCJ_JAVAFLAGS@
+
+INCLUDES = -Iinclude -I$(top_srcdir)/include $(GCINCS) $(THREADINCS) $(EH_COMMON_INCLUDE)
+
+nat_files = $(nat_source_files:.cc=.o)
+c_files = $(c_source_files:.c=.o)
+javao_files = $(java_source_files:.java=.o)
+
+libgcj_a_SOURCES = prims.cc jni.cc exception.cc
+EXTRA_libgcj_a_SOURCES = boehm.cc nogc.cc posix-threads.cc no-threads.cc \
+ $(c_source_files) $(java_source_files)
+
+libgcj_a_DEPENDENCIES = libgcj.zip $(javao_files) $(nat_files) \
+ $(c_files) $(GCOBJS) $(THREADOBJS)
+
+libgcj_a_LIBADD = $(javao_files) $(nat_files) $(c_files) $(GCOBJS) \
+ $(THREADOBJS)
+
+
+MOSTLYCLEANFILES = $(javao_files) $(nat_files) $(nat_headers) $(c_files)
+CLEANFILES = libgcj.zip $(class_files)
+
+SUFFIXES = .class .java .h
+
+nat_headers = $(ordinary_java_source_files:.java=.h)
+
+FTFRIEND = void JvRunMain (jclass klass, int argc, const char **argv)
+
+TGFRIEND = void JvRunMain (jclass klass, int argc, const char **argv)
+
+NM = nm
+
+@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@noinst_PROGRAMS = \
+@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@gen-from-JIS
+
+CONVERT_DIR = gnu/gcj/convert
+
+jv_convert_SOURCES =
+EXTRA_jv_convert_SOURCES = $(convert_source_files)
+jv_convert_LDFLAGS = --main=gnu.gcj.convert.Convert
+jv_convert_LINK = $(GCJ) $(JC1FLAGS) $(LDFLAGS) -o jv-convert
+jv_convert_LDADD = $(convert_source_files:.java=.o) -L. $(GCLIBS) $(THREADLIBS)
+jv_convert_DEPENDENCIES = $(convert_source_files:.java=.o) \
+ $(GCDEPS) $(THREADDEPS) libgcj.a
+
+
+gen_from_JIS_SOURCES =
+EXTRA_gen_from_JIS_SOURCES = $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c \
+ $(srcdir)/$(CONVERT_DIR)/JIS0208.h \
+ $(srcdir)/$(CONVERT_DIR)/JIS0212.h
+
+gen_from_JIS_LDADD = $(CONVERT_DIR)/gen-from-JIS.o
+gen_from_JIS_DEPENDENCIES = $(CONVERT_DIR)/gen-from-JIS.o
+
+convert_source_files = \
+gnu/gcj/convert/BytesToUnicode.java \
+gnu/gcj/convert/Convert.java \
+gnu/gcj/convert/Input_8859_1.java \
+gnu/gcj/convert/Input_EUCJIS.java \
+gnu/gcj/convert/Input_UTF8.java \
+gnu/gcj/convert/Output_8859_1.java \
+gnu/gcj/convert/Output_JavaSrc.java \
+gnu/gcj/convert/Output_UTF8.java \
+gnu/gcj/convert/UnicodeToBytes.java
+
+
+special_java_source_files = java/lang/Class.java java/lang/Object.java
+
+ordinary_java_source_files = $(convert_source_files) \
+gnu/gcj/text/BaseBreakIterator.java \
+gnu/gcj/text/CharacterBreakIterator.java \
+gnu/gcj/text/LineBreakIterator.java \
+gnu/gcj/text/LocaleData_en.java \
+gnu/gcj/text/LocaleData_en_US.java \
+gnu/gcj/text/SentenceBreakIterator.java \
+gnu/gcj/text/WordBreakIterator.java \
+gnu/gcj/protocol/http/Connection.java \
+gnu/gcj/protocol/http/Handler.java \
+java/io/BufferedInputStream.java \
+java/io/BufferedOutputStream.java \
+java/io/BufferedReader.java \
+java/io/BufferedWriter.java \
+java/io/ByteArrayInputStream.java \
+java/io/ByteArrayOutputStream.java \
+java/io/CharArrayReader.java \
+java/io/CharArrayWriter.java \
+java/io/CharConversionException.java \
+java/io/DataInput.java \
+java/io/DataInputStream.java \
+java/io/DataOutput.java \
+java/io/DataOutputStream.java \
+java/io/EOFException.java \
+java/io/File.java \
+java/io/FileDescriptor.java \
+java/io/FileInputStream.java \
+java/io/FileNotFoundException.java \
+java/io/FileOutputStream.java \
+java/io/FileReader.java \
+java/io/FileWriter.java \
+java/io/FilenameFilter.java \
+java/io/FilterInputStream.java \
+java/io/FilterOutputStream.java \
+java/io/FilterReader.java \
+java/io/FilterWriter.java \
+java/io/IOException.java \
+java/io/InputStream.java \
+java/io/InputStreamReader.java \
+java/io/InterruptedIOException.java \
+java/io/LineNumberInputStream.java \
+java/io/LineNumberReader.java \
+java/io/OutputStream.java \
+java/io/OutputStreamWriter.java \
+java/io/PipedInputStream.java \
+java/io/PipedOutputStream.java \
+java/io/PipedReader.java \
+java/io/PipedWriter.java \
+java/io/PrintStream.java \
+java/io/PrintWriter.java \
+java/io/PushbackInputStream.java \
+java/io/PushbackReader.java \
+java/io/RandomAccessFile.java \
+java/io/Reader.java \
+java/io/SequenceInputStream.java \
+java/io/Serializable.java \
+java/io/StreamTokenizer.java \
+java/io/StringBufferInputStream.java \
+java/io/StringReader.java \
+java/io/StringWriter.java \
+java/io/SyncFailedException.java \
+java/io/UTFDataFormatException.java \
+java/io/UnsupportedEncodingException.java \
+java/io/Writer.java \
+java/lang/AbstractMethodError.java \
+java/lang/ArithmeticException.java \
+java/lang/ArrayIndexOutOfBoundsException.java \
+java/lang/ArrayStoreException.java \
+java/lang/Boolean.java \
+java/lang/Byte.java \
+java/lang/Character.java \
+java/lang/ClassCastException.java \
+java/lang/ClassCircularityError.java \
+java/lang/ClassFormatError.java \
+java/lang/ClassLoader.java \
+java/lang/ClassNotFoundException.java \
+java/lang/CloneNotSupportedException.java \
+java/lang/Cloneable.java \
+java/lang/Comparable.java \
+java/lang/Compiler.java \
+java/lang/Double.java \
+java/lang/Error.java \
+java/lang/Exception.java \
+java/lang/ExceptionInInitializerError.java \
+java/lang/FirstThread.java \
+java/lang/Float.java \
+java/lang/IllegalAccessError.java \
+java/lang/IllegalAccessException.java \
+java/lang/IllegalArgumentException.java \
+java/lang/IllegalMonitorStateException.java \
+java/lang/IllegalStateException.java \
+java/lang/IllegalThreadStateException.java \
+java/lang/IncompatibleClassChangeError.java \
+java/lang/IndexOutOfBoundsException.java \
+java/lang/InstantiationError.java \
+java/lang/InstantiationException.java \
+java/lang/Integer.java \
+java/lang/InternalError.java \
+java/lang/InterruptedException.java \
+java/lang/LinkageError.java \
+java/lang/Long.java \
+java/lang/Math.java \
+java/lang/NegativeArraySizeException.java \
+java/lang/NoClassDefFoundError.java \
+java/lang/NoSuchFieldError.java \
+java/lang/NoSuchFieldException.java \
+java/lang/NoSuchMethodError.java \
+java/lang/NoSuchMethodException.java \
+java/lang/NullPointerException.java \
+java/lang/Number.java \
+java/lang/NumberFormatException.java \
+java/lang/OutOfMemoryError.java \
+java/lang/Process.java \
+java/lang/Runnable.java \
+java/lang/Runtime.java \
+java/lang/RuntimeException.java \
+java/lang/SecurityException.java \
+java/lang/SecurityManager.java \
+java/lang/Short.java \
+java/lang/StackOverflowError.java \
+java/lang/String.java \
+java/lang/StringBuffer.java \
+java/lang/StringIndexOutOfBoundsException.java \
+java/lang/System.java \
+java/lang/Thread.java \
+java/lang/ThreadDeath.java \
+java/lang/ThreadGroup.java \
+java/lang/Throwable.java \
+java/lang/UnknownError.java \
+java/lang/UnsatisfiedLinkError.java \
+java/lang/UnsupportedOperationException.java \
+java/lang/VerifyError.java \
+java/lang/VirtualMachineError.java \
+java/lang/Void.java \
+java/lang/reflect/AccessibleObject.java \
+java/lang/reflect/Array.java \
+java/lang/reflect/Constructor.java \
+java/lang/reflect/Field.java \
+java/lang/reflect/InvocationTargetException.java \
+java/lang/reflect/Member.java \
+java/lang/reflect/Method.java \
+java/lang/reflect/Modifier.java \
+java/net/BindException.java \
+java/net/ConnectException.java \
+java/net/ContentHandler.java \
+java/net/ContentHandlerFactory.java \
+java/net/FileNameMap.java \
+java/net/HttpURLConnection.java \
+java/net/InetAddress.java \
+java/net/MalformedURLException.java \
+java/net/NoRouteToHostException.java \
+java/net/PlainSocketImpl.java \
+java/net/ProtocolException.java \
+java/net/ServerSocket.java \
+java/net/Socket.java \
+java/net/SocketException.java \
+java/net/SocketImpl.java \
+java/net/SocketImplFactory.java \
+java/net/URL.java \
+java/net/URLConnection.java \
+java/net/URLStreamHandler.java \
+java/net/URLStreamHandlerFactory.java \
+java/net/UnknownHostException.java \
+java/net/UnknownServiceException.java \
+java/text/BreakIterator.java \
+java/text/CharacterIterator.java \
+java/text/ChoiceFormat.java \
+java/text/DateFormat.java \
+java/text/DateFormatSymbols.java \
+java/text/DecimalFormat.java \
+java/text/DecimalFormatSymbols.java \
+java/text/FieldPosition.java \
+java/text/Format.java \
+java/text/MessageFormat.java \
+java/text/NumberFormat.java \
+java/text/ParseException.java \
+java/text/ParsePosition.java \
+java/text/SimpleDateFormat.java \
+java/text/StringCharacterIterator.java \
+java/util/BitSet.java \
+java/util/Calendar.java \
+java/util/ConcurrentModificationException.java \
+java/util/Date.java \
+java/util/Dictionary.java \
+java/util/EmptyStackException.java \
+java/util/Enumeration.java \
+java/util/EventListener.java \
+java/util/EventObject.java \
+java/util/GregorianCalendar.java \
+java/util/Hashtable.java \
+java/util/ListResourceBundle.java \
+java/util/Locale.java \
+java/util/MissingResourceException.java \
+java/util/NoSuchElementException.java \
+java/util/Observable.java \
+java/util/Observer.java \
+java/util/Properties.java \
+java/util/Random.java \
+java/util/ResourceBundle.java \
+java/util/SimpleTimeZone.java \
+java/util/Stack.java \
+java/util/StringTokenizer.java \
+java/util/TimeZone.java \
+java/util/TooManyListenersException.java \
+java/util/Vector.java \
+java/util/zip/Adler32.java \
+java/util/zip/CRC32.java \
+java/util/zip/Checksum.java \
+java/util/zip/Deflater.java \
+java/util/zip/DeflaterOutputStream.java \
+java/util/zip/ZipConstants.java \
+java/util/zip/ZipEntry.java \
+java/util/zip/ZipException.java \
+java/util/zip/ZipFile.java \
+java/util/zip/ZipOutputStream.java
+
+
+java_source_files = $(ordinary_java_source_files) $(special_java_source_files)
+
+c_source_files = \
+ java/lang/dtoa.c java/lang/k_rem_pio2.c java/lang/s_tan.c \
+ java/lang/e_acos.c java/lang/k_sin.c java/lang/strtod.c \
+ java/lang/e_asin.c java/lang/k_tan.c java/lang/w_acos.c \
+ java/lang/e_atan2.c java/lang/mprec.c java/lang/w_asin.c \
+ java/lang/e_exp.c java/lang/s_atan.c java/lang/w_atan2.c \
+ java/lang/e_fmod.c java/lang/s_ceil.c java/lang/w_exp.c \
+ java/lang/e_log.c java/lang/s_copysign.c java/lang/w_fmod.c \
+ java/lang/e_pow.c java/lang/s_cos.c java/lang/w_log.c \
+ java/lang/e_rem_pio2.c java/lang/s_fabs.c java/lang/w_pow.c \
+ java/lang/e_remainder.c java/lang/s_floor.c java/lang/w_remainder.c \
+ java/lang/e_scalb.c java/lang/s_rint.c java/lang/w_sqrt.c \
+ java/lang/e_sqrt.c java/lang/s_scalbn.c java/lang/sf_rint.c \
+ java/lang/k_cos.c java/lang/s_sin.c
+
+
+nat_source_files = java/lang/natObject.cc java/lang/natClass.cc \
+java/lang/natString.cc java/lang/natDouble.cc java/lang/natRuntime.cc \
+java/lang/natSystem.cc java/lang/natThread.cc java/io/natFile.cc \
+java/io/natFileDescriptor.cc java/util/natDate.cc \
+java/util/natGregorianCalendar.cc java/lang/natFirstThread.cc \
+java/lang/natCharacter.cc java/lang/natMath.cc java/lang/natFloat.cc \
+java/lang/reflect/natField.cc java/net/natInetAddress.cc \
+java/net/natPlainSocketImpl.cc java/lang/reflect/natMethod.cc \
+java/lang/reflect/natArray.cc gnu/gcj/convert/natInput_EUCJIS.cc \
+gnu/gcj/convert/JIS0208_to_Unicode.cc \
+gnu/gcj/convert/JIS0212_to_Unicode.cc
+
+
+# Work around what appears to be a GNU make bug handling MAKEFLAGS
+# values defined in terms of make variables, as is the case for CC and
+# friends when we are called from the top level Makefile.
+AM_MAKEFLAGS = \
+ "AR_FLAGS=$(AR_FLAGS)" \
+ "CC_FOR_BUILD=$(CC_FOR_BUILD)" \
+ "CFLAGS=$(CFLAGS)" \
+ "CXXFLAGS=$(CXXFLAGS)" \
+ "CFLAGS_FOR_BUILD=$(CFLAGS_FOR_BUILD)" \
+ "CFLAGS_FOR_TARGET=$(CFLAGS_FOR_TARGET)" \
+ "INSTALL=$(INSTALL)" \
+ "INSTALL_DATA=$(INSTALL_DATA)" \
+ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
+ "INSTALL_SCRIPT=$(INSTALL_SCRIPT)" \
+ "LDFLAGS=$(LDFLAGS)" \
+ "LIBCFLAGS=$(LIBCFLAGS)" \
+ "LIBCFLAGS_FOR_TARGET=$(LIBCFLAGS_FOR_TARGET)" \
+ "MAKE=$(MAKE)" \
+ "MAKEINFO=$(MAKEINFO) $(MAKEINFOFLAGS)" \
+ "PICFLAG=$(PICFLAG)" \
+ "PICFLAG_FOR_TARGET=$(PICFLAG_FOR_TARGET)" \
+ "SHELL=$(SHELL)" \
+ "exec_prefix=$(exec_prefix)" \
+ "infodir=$(infodir)" \
+ "libdir=$(libdir)" \
+ "prefix=$(prefix)" \
+ "AR=$(AR)" \
+ "AS=$(AS)" \
+ "CC=$(CC)" \
+ "CXX=$(CXX)" \
+ "LD=$(LD)" \
+ "LIBCFLAGS=$(LIBCFLAGS)" \
+ "NM=$(NM)" \
+ "PICFLAG=$(PICFLAG)" \
+ "RANLIB=$(RANLIB)" \
+ "DESTDIR=$(DESTDIR)"
+
+
+CONFIG_STATUS_DEPENDENCIES = $(libgcj_basedir)/configure.host
+
+MAKEOVERRIDES =
+
+# Multilib support variables.
+MULTISRCTOP =
+MULTIBUILDTOP =
+MULTIDIRS =
+MULTISUBDIR =
+MULTIDO = true
+MULTICLEAN = true
+
+
+cygnus_hack =
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+CONFIG_HEADER = ./include/config.h
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(toolexeclib_LIBRARIES)
+
+
+DEFS = @DEFS@ -I. -I$(srcdir) -I./include
+CPPFLAGS = @CPPFLAGS@
+LDFLAGS = @LDFLAGS@
+LIBS = @LIBS@
+libgcj_a_OBJECTS = prims.o jni.o exception.o
+@NATIVE_TRUE@bin_PROGRAMS = jv-convert$(EXEEXT)
+@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@noinst_PROGRAMS = \
+@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@gen-from-JIS$(EXEEXT)
+PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
+
+jv_convert_OBJECTS =
+gen_from_JIS_OBJECTS =
+gen_from_JIS_LDFLAGS =
+CXXFLAGS = @CXXFLAGS@
+CXXCOMPILE = $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(LDFLAGS) -o $@
+DATA = $(data_DATA)
+
+DIST_COMMON = COPYING.LIB ChangeLog Makefile.am Makefile.in acconfig.h \
+acinclude.m4 aclocal.m4 configure configure.in include/config.h.in \
+include/stamp-h.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+DIST_SUBDIRS = testsuite
+DEP_FILES = .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P .deps/boehm.P \
+.deps/exception.P .deps/gnu/gcj/convert/BytesToUnicode.P \
+.deps/gnu/gcj/convert/Convert.P .deps/gnu/gcj/convert/Input_8859_1.P \
+.deps/gnu/gcj/convert/Input_EUCJIS.P .deps/gnu/gcj/convert/Input_UTF8.P \
+.deps/gnu/gcj/convert/Output_8859_1.P \
+.deps/gnu/gcj/convert/Output_JavaSrc.P \
+.deps/gnu/gcj/convert/Output_UTF8.P \
+.deps/gnu/gcj/convert/UnicodeToBytes.P \
+.deps/gnu/gcj/protocol/http/Connection.P \
+.deps/gnu/gcj/protocol/http/Handler.P \
+.deps/gnu/gcj/text/BaseBreakIterator.P \
+.deps/gnu/gcj/text/CharacterBreakIterator.P \
+.deps/gnu/gcj/text/LineBreakIterator.P \
+.deps/gnu/gcj/text/LocaleData_en.P \
+.deps/gnu/gcj/text/LocaleData_en_US.P \
+.deps/gnu/gcj/text/SentenceBreakIterator.P \
+.deps/gnu/gcj/text/WordBreakIterator.P \
+.deps/java/io/BufferedInputStream.P \
+.deps/java/io/BufferedOutputStream.P .deps/java/io/BufferedReader.P \
+.deps/java/io/BufferedWriter.P .deps/java/io/ByteArrayInputStream.P \
+.deps/java/io/ByteArrayOutputStream.P .deps/java/io/CharArrayReader.P \
+.deps/java/io/CharArrayWriter.P .deps/java/io/CharConversionException.P \
+.deps/java/io/DataInput.P .deps/java/io/DataInputStream.P \
+.deps/java/io/DataOutput.P .deps/java/io/DataOutputStream.P \
+.deps/java/io/EOFException.P .deps/java/io/File.P \
+.deps/java/io/FileDescriptor.P .deps/java/io/FileInputStream.P \
+.deps/java/io/FileNotFoundException.P .deps/java/io/FileOutputStream.P \
+.deps/java/io/FileReader.P .deps/java/io/FileWriter.P \
+.deps/java/io/FilenameFilter.P .deps/java/io/FilterInputStream.P \
+.deps/java/io/FilterOutputStream.P .deps/java/io/FilterReader.P \
+.deps/java/io/FilterWriter.P .deps/java/io/IOException.P \
+.deps/java/io/InputStream.P .deps/java/io/InputStreamReader.P \
+.deps/java/io/InterruptedIOException.P \
+.deps/java/io/LineNumberInputStream.P .deps/java/io/LineNumberReader.P \
+.deps/java/io/OutputStream.P .deps/java/io/OutputStreamWriter.P \
+.deps/java/io/PipedInputStream.P .deps/java/io/PipedOutputStream.P \
+.deps/java/io/PipedReader.P .deps/java/io/PipedWriter.P \
+.deps/java/io/PrintStream.P .deps/java/io/PrintWriter.P \
+.deps/java/io/PushbackInputStream.P .deps/java/io/PushbackReader.P \
+.deps/java/io/RandomAccessFile.P .deps/java/io/Reader.P \
+.deps/java/io/SequenceInputStream.P .deps/java/io/Serializable.P \
+.deps/java/io/StreamTokenizer.P .deps/java/io/StringBufferInputStream.P \
+.deps/java/io/StringReader.P .deps/java/io/StringWriter.P \
+.deps/java/io/SyncFailedException.P \
+.deps/java/io/UTFDataFormatException.P \
+.deps/java/io/UnsupportedEncodingException.P .deps/java/io/Writer.P \
+.deps/java/lang/AbstractMethodError.P \
+.deps/java/lang/ArithmeticException.P \
+.deps/java/lang/ArrayIndexOutOfBoundsException.P \
+.deps/java/lang/ArrayStoreException.P .deps/java/lang/Boolean.P \
+.deps/java/lang/Byte.P .deps/java/lang/Character.P \
+.deps/java/lang/Class.P .deps/java/lang/ClassCastException.P \
+.deps/java/lang/ClassCircularityError.P \
+.deps/java/lang/ClassFormatError.P .deps/java/lang/ClassLoader.P \
+.deps/java/lang/ClassNotFoundException.P \
+.deps/java/lang/CloneNotSupportedException.P \
+.deps/java/lang/Cloneable.P .deps/java/lang/Comparable.P \
+.deps/java/lang/Compiler.P .deps/java/lang/Double.P \
+.deps/java/lang/Error.P .deps/java/lang/Exception.P \
+.deps/java/lang/ExceptionInInitializerError.P \
+.deps/java/lang/FirstThread.P .deps/java/lang/Float.P \
+.deps/java/lang/IllegalAccessError.P \
+.deps/java/lang/IllegalAccessException.P \
+.deps/java/lang/IllegalArgumentException.P \
+.deps/java/lang/IllegalMonitorStateException.P \
+.deps/java/lang/IllegalStateException.P \
+.deps/java/lang/IllegalThreadStateException.P \
+.deps/java/lang/IncompatibleClassChangeError.P \
+.deps/java/lang/IndexOutOfBoundsException.P \
+.deps/java/lang/InstantiationError.P \
+.deps/java/lang/InstantiationException.P .deps/java/lang/Integer.P \
+.deps/java/lang/InternalError.P .deps/java/lang/InterruptedException.P \
+.deps/java/lang/LinkageError.P .deps/java/lang/Long.P \
+.deps/java/lang/Math.P .deps/java/lang/NegativeArraySizeException.P \
+.deps/java/lang/NoClassDefFoundError.P \
+.deps/java/lang/NoSuchFieldError.P \
+.deps/java/lang/NoSuchFieldException.P \
+.deps/java/lang/NoSuchMethodError.P \
+.deps/java/lang/NoSuchMethodException.P \
+.deps/java/lang/NullPointerException.P .deps/java/lang/Number.P \
+.deps/java/lang/NumberFormatException.P .deps/java/lang/Object.P \
+.deps/java/lang/OutOfMemoryError.P .deps/java/lang/Process.P \
+.deps/java/lang/Runnable.P .deps/java/lang/Runtime.P \
+.deps/java/lang/RuntimeException.P .deps/java/lang/SecurityException.P \
+.deps/java/lang/SecurityManager.P .deps/java/lang/Short.P \
+.deps/java/lang/StackOverflowError.P .deps/java/lang/String.P \
+.deps/java/lang/StringBuffer.P \
+.deps/java/lang/StringIndexOutOfBoundsException.P \
+.deps/java/lang/System.P .deps/java/lang/Thread.P \
+.deps/java/lang/ThreadDeath.P .deps/java/lang/ThreadGroup.P \
+.deps/java/lang/Throwable.P .deps/java/lang/UnknownError.P \
+.deps/java/lang/UnsatisfiedLinkError.P \
+.deps/java/lang/UnsupportedOperationException.P \
+.deps/java/lang/VerifyError.P .deps/java/lang/VirtualMachineError.P \
+.deps/java/lang/Void.P .deps/java/lang/dtoa.P .deps/java/lang/e_acos.P \
+.deps/java/lang/e_asin.P .deps/java/lang/e_atan2.P \
+.deps/java/lang/e_exp.P .deps/java/lang/e_fmod.P \
+.deps/java/lang/e_log.P .deps/java/lang/e_pow.P \
+.deps/java/lang/e_rem_pio2.P .deps/java/lang/e_remainder.P \
+.deps/java/lang/e_scalb.P .deps/java/lang/e_sqrt.P \
+.deps/java/lang/k_cos.P .deps/java/lang/k_rem_pio2.P \
+.deps/java/lang/k_sin.P .deps/java/lang/k_tan.P .deps/java/lang/mprec.P \
+.deps/java/lang/reflect/AccessibleObject.P \
+.deps/java/lang/reflect/Array.P .deps/java/lang/reflect/Constructor.P \
+.deps/java/lang/reflect/Field.P \
+.deps/java/lang/reflect/InvocationTargetException.P \
+.deps/java/lang/reflect/Member.P .deps/java/lang/reflect/Method.P \
+.deps/java/lang/reflect/Modifier.P .deps/java/lang/s_atan.P \
+.deps/java/lang/s_ceil.P .deps/java/lang/s_copysign.P \
+.deps/java/lang/s_cos.P .deps/java/lang/s_fabs.P \
+.deps/java/lang/s_floor.P .deps/java/lang/s_rint.P \
+.deps/java/lang/s_scalbn.P .deps/java/lang/s_sin.P \
+.deps/java/lang/s_tan.P .deps/java/lang/sf_rint.P \
+.deps/java/lang/strtod.P .deps/java/lang/w_acos.P \
+.deps/java/lang/w_asin.P .deps/java/lang/w_atan2.P \
+.deps/java/lang/w_exp.P .deps/java/lang/w_fmod.P \
+.deps/java/lang/w_log.P .deps/java/lang/w_pow.P \
+.deps/java/lang/w_remainder.P .deps/java/lang/w_sqrt.P \
+.deps/java/net/BindException.P .deps/java/net/ConnectException.P \
+.deps/java/net/ContentHandler.P .deps/java/net/ContentHandlerFactory.P \
+.deps/java/net/FileNameMap.P .deps/java/net/HttpURLConnection.P \
+.deps/java/net/InetAddress.P .deps/java/net/MalformedURLException.P \
+.deps/java/net/NoRouteToHostException.P \
+.deps/java/net/PlainSocketImpl.P .deps/java/net/ProtocolException.P \
+.deps/java/net/ServerSocket.P .deps/java/net/Socket.P \
+.deps/java/net/SocketException.P .deps/java/net/SocketImpl.P \
+.deps/java/net/SocketImplFactory.P .deps/java/net/URL.P \
+.deps/java/net/URLConnection.P .deps/java/net/URLStreamHandler.P \
+.deps/java/net/URLStreamHandlerFactory.P \
+.deps/java/net/UnknownHostException.P \
+.deps/java/net/UnknownServiceException.P \
+.deps/java/text/BreakIterator.P .deps/java/text/CharacterIterator.P \
+.deps/java/text/ChoiceFormat.P .deps/java/text/DateFormat.P \
+.deps/java/text/DateFormatSymbols.P .deps/java/text/DecimalFormat.P \
+.deps/java/text/DecimalFormatSymbols.P .deps/java/text/FieldPosition.P \
+.deps/java/text/Format.P .deps/java/text/MessageFormat.P \
+.deps/java/text/NumberFormat.P .deps/java/text/ParseException.P \
+.deps/java/text/ParsePosition.P .deps/java/text/SimpleDateFormat.P \
+.deps/java/text/StringCharacterIterator.P .deps/java/util/BitSet.P \
+.deps/java/util/Calendar.P \
+.deps/java/util/ConcurrentModificationException.P \
+.deps/java/util/Date.P .deps/java/util/Dictionary.P \
+.deps/java/util/EmptyStackException.P .deps/java/util/Enumeration.P \
+.deps/java/util/EventListener.P .deps/java/util/EventObject.P \
+.deps/java/util/GregorianCalendar.P .deps/java/util/Hashtable.P \
+.deps/java/util/ListResourceBundle.P .deps/java/util/Locale.P \
+.deps/java/util/MissingResourceException.P \
+.deps/java/util/NoSuchElementException.P .deps/java/util/Observable.P \
+.deps/java/util/Observer.P .deps/java/util/Properties.P \
+.deps/java/util/Random.P .deps/java/util/ResourceBundle.P \
+.deps/java/util/SimpleTimeZone.P .deps/java/util/Stack.P \
+.deps/java/util/StringTokenizer.P .deps/java/util/TimeZone.P \
+.deps/java/util/TooManyListenersException.P .deps/java/util/Vector.P \
+.deps/java/util/zip/Adler32.P .deps/java/util/zip/CRC32.P \
+.deps/java/util/zip/Checksum.P .deps/java/util/zip/Deflater.P \
+.deps/java/util/zip/DeflaterOutputStream.P \
+.deps/java/util/zip/ZipConstants.P .deps/java/util/zip/ZipEntry.P \
+.deps/java/util/zip/ZipException.P .deps/java/util/zip/ZipFile.P \
+.deps/java/util/zip/ZipOutputStream.P .deps/jni.P .deps/no-threads.P \
+.deps/nogc.P .deps/posix-threads.P .deps/prims.P
+SOURCES = $(libgcj_a_SOURCES) $(EXTRA_libgcj_a_SOURCES) $(jv_convert_SOURCES) $(EXTRA_jv_convert_SOURCES) $(gen_from_JIS_SOURCES) $(EXTRA_gen_from_JIS_SOURCES)
+OBJECTS = $(libgcj_a_OBJECTS) $(jv_convert_OBJECTS) $(gen_from_JIS_OBJECTS)
+
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .S .c .cc .class .h .java .o .s
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in acinclude.m4
+ cd $(srcdir) && $(ACLOCAL)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+
+include/config.h: include/stamp-h
+ @if test ! -f $@; then \
+ rm -f include/stamp-h; \
+ $(MAKE) include/stamp-h; \
+ else :; fi
+include/stamp-h: $(srcdir)/include/config.h.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES= CONFIG_HEADERS=include/config.h \
+ $(SHELL) ./config.status
+ @echo timestamp > include/stamp-h 2> /dev/null
+$(srcdir)/include/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/include/stamp-h.in
+ @if test ! -f $@; then \
+ rm -f $(srcdir)/include/stamp-h.in; \
+ $(MAKE) $(srcdir)/include/stamp-h.in; \
+ else :; fi
+$(srcdir)/include/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
+ cd $(top_srcdir) && $(AUTOHEADER)
+ @echo timestamp > $(srcdir)/include/stamp-h.in 2> /dev/null
+
+mostlyclean-hdr:
+
+clean-hdr:
+
+distclean-hdr:
+ -rm -f include/config.h
+
+maintainer-clean-hdr:
+
+mostlyclean-toolexeclibLIBRARIES:
+
+clean-toolexeclibLIBRARIES:
+ -test -z "$(toolexeclib_LIBRARIES)" || rm -f $(toolexeclib_LIBRARIES)
+
+distclean-toolexeclibLIBRARIES:
+
+maintainer-clean-toolexeclibLIBRARIES:
+
+install-toolexeclibLIBRARIES: $(toolexeclib_LIBRARIES)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)
+ @list='$(toolexeclib_LIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(toolexeclibdir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(toolexeclibdir)/$$p; \
+ else :; fi; \
+ done
+ @$(POST_INSTALL)
+ @list='$(toolexeclib_LIBRARIES)'; for p in $$list; do \
+ if test -f $$p; then \
+ echo " $(RANLIB) $(DESTDIR)$(toolexeclibdir)/$$p"; \
+ $(RANLIB) $(DESTDIR)$(toolexeclibdir)/$$p; \
+ else :; fi; \
+ done
+
+uninstall-toolexeclibLIBRARIES:
+ @$(NORMAL_UNINSTALL)
+ list='$(toolexeclib_LIBRARIES)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(toolexeclibdir)/$$p; \
+ done
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
+
+mostlyclean-compile:
+ -rm -f *.o core *.core
+
+clean-compile:
+
+distclean-compile:
+ -rm -f *.tab.c
+
+maintainer-clean-compile:
+
+libgcj.a: $(libgcj_a_OBJECTS) $(libgcj_a_DEPENDENCIES)
+ -rm -f libgcj.a
+ $(AR) cru libgcj.a $(libgcj_a_OBJECTS) $(libgcj_a_LIBADD)
+ $(RANLIB) libgcj.a
+
+mostlyclean-binPROGRAMS:
+
+clean-binPROGRAMS:
+ -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+
+distclean-binPROGRAMS:
+
+maintainer-clean-binPROGRAMS:
+
+install-binPROGRAMS: $(bin_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(bindir)
+ @list='$(bin_PROGRAMS)'; for p in $$list; do \
+ if test -f $$p; then \
+ echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`"; \
+ $(INSTALL_PROGRAM) $$p $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ else :; fi; \
+ done
+
+uninstall-binPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ list='$(bin_PROGRAMS)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(bindir)/`echo $$p|sed 's/$(EXEEXT)$$//'|sed '$(transform)'|sed 's/$$/$(EXEEXT)/'`; \
+ done
+
+mostlyclean-noinstPROGRAMS:
+
+clean-noinstPROGRAMS:
+ -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
+
+distclean-noinstPROGRAMS:
+
+maintainer-clean-noinstPROGRAMS:
+
+jv-convert$(EXEEXT): $(jv_convert_OBJECTS) $(jv_convert_DEPENDENCIES)
+ @rm -f jv-convert$(EXEEXT)
+ $(jv_convert_LINK) $(jv_convert_LDFLAGS) $(jv_convert_OBJECTS) $(jv_convert_LDADD) $(LIBS)
+
+gen-from-JIS$(EXEEXT): $(gen_from_JIS_OBJECTS) $(gen_from_JIS_DEPENDENCIES)
+ @rm -f gen-from-JIS$(EXEEXT)
+ $(LINK) $(gen_from_JIS_LDFLAGS) $(gen_from_JIS_OBJECTS) $(gen_from_JIS_LDADD) $(LIBS)
+.cc.o:
+ $(CXXCOMPILE) -c $<
+
+install-dataDATA: $(data_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(datadir)
+ @list='$(data_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(datadir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(datadir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(datadir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(datadir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-dataDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(data_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(datadir)/$$p; \
+ done
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive install-info-recursive \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
+ rev="$$subdir $$rev"; \
+ test "$$subdir" = "." && dot_seen=yes; \
+ done; \
+ test "$$dot_seen" = "no" && rev=". $$rev"; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $$unique $(LISP) -o $$here/TAGS)
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ here=`cd $(top_builddir) && pwd`; \
+ top_distdir=`cd $(distdir) && pwd`; \
+ distdir=`cd $(distdir) && pwd`; \
+ cd $(top_srcdir) \
+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign Makefile
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+ for subdir in $(DIST_SUBDIRS); do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ chmod 777 $(distdir)/$$subdir; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
+ || exit 1; \
+ fi; \
+ done
+
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+
+-include $(DEP_FILES)
+
+mostlyclean-depend:
+
+clean-depend:
+
+distclean-depend:
+ -rm -rf .deps
+
+maintainer-clean-depend:
+
+%.o: %.c
+ @echo '$(COMPILE) -c $<'; \
+ $(COMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+ @-cp .deps/$(*F).pp .deps/$(*F).P; \
+ tr ' ' '\012' < .deps/$(*F).pp \
+ | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+ >> .deps/$(*F).P; \
+ rm .deps/$(*F).pp
+
+%.lo: %.c
+ @echo '$(LTCOMPILE) -c $<'; \
+ $(LTCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+ @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
+ < .deps/$(*F).pp > .deps/$(*F).P; \
+ tr ' ' '\012' < .deps/$(*F).pp \
+ | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+ >> .deps/$(*F).P; \
+ rm -f .deps/$(*F).pp
+
+%.o: %.cc
+ @echo '$(CXXCOMPILE) -c $<'; \
+ $(CXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+ @-cp .deps/$(*F).pp .deps/$(*F).P; \
+ tr ' ' '\012' < .deps/$(*F).pp \
+ | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+ >> .deps/$(*F).P; \
+ rm .deps/$(*F).pp
+
+%.lo: %.cc
+ @echo '$(LTCXXCOMPILE) -c $<'; \
+ $(LTCXXCOMPILE) -Wp,-MD,.deps/$(*F).pp -c $<
+ @-sed -e 's/^\([^:]*\)\.o[ ]*:/\1.lo \1.o :/' \
+ < .deps/$(*F).pp > .deps/$(*F).P; \
+ tr ' ' '\012' < .deps/$(*F).pp \
+ | sed -e 's/^\\$$//' -e '/^$$/ d' -e '/:$$/ d' -e 's/$$/ :/' \
+ >> .deps/$(*F).P; \
+ rm -f .deps/$(*F).pp
+info-am:
+info: info-recursive
+dvi-am:
+dvi: dvi-recursive
+check-am: all-am
+check: check-recursive
+installcheck-am:
+installcheck: installcheck-recursive
+install-info-am:
+install-info: install-info-recursive
+install-exec-am: install-toolexeclibLIBRARIES install-binPROGRAMS
+install-exec: install-exec-recursive
+
+install-data-am: install-dataDATA
+install-data: install-data-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-recursive
+uninstall-am: uninstall-toolexeclibLIBRARIES uninstall-binPROGRAMS \
+ uninstall-dataDATA
+uninstall: uninstall-recursive
+all-am: Makefile $(LIBRARIES) $(PROGRAMS) $(DATA)
+all-redirect: all-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs: installdirs-recursive
+installdirs-am:
+ $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir) $(DESTDIR)$(bindir) \
+ $(DESTDIR)$(datadir)
+
+
+mostlyclean-generic:
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-hdr mostlyclean-toolexeclibLIBRARIES \
+ mostlyclean-compile mostlyclean-binPROGRAMS \
+ mostlyclean-noinstPROGRAMS mostlyclean-tags \
+ mostlyclean-depend mostlyclean-generic
+
+mostlyclean: mostlyclean-recursive
+
+clean-am: clean-hdr clean-toolexeclibLIBRARIES clean-compile \
+ clean-binPROGRAMS clean-noinstPROGRAMS clean-tags \
+ clean-depend clean-generic mostlyclean-am
+
+clean: clean-recursive
+
+distclean-am: distclean-hdr distclean-toolexeclibLIBRARIES \
+ distclean-compile distclean-binPROGRAMS \
+ distclean-noinstPROGRAMS distclean-tags \
+ distclean-depend distclean-generic clean-am
+
+distclean: distclean-recursive
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-hdr \
+ maintainer-clean-toolexeclibLIBRARIES \
+ maintainer-clean-compile maintainer-clean-binPROGRAMS \
+ maintainer-clean-noinstPROGRAMS maintainer-clean-tags \
+ maintainer-clean-depend maintainer-clean-generic \
+ distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f config.status
+
+.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
+mostlyclean-toolexeclibLIBRARIES distclean-toolexeclibLIBRARIES \
+clean-toolexeclibLIBRARIES maintainer-clean-toolexeclibLIBRARIES \
+uninstall-toolexeclibLIBRARIES install-toolexeclibLIBRARIES \
+mostlyclean-compile distclean-compile clean-compile \
+maintainer-clean-compile mostlyclean-binPROGRAMS distclean-binPROGRAMS \
+clean-binPROGRAMS maintainer-clean-binPROGRAMS uninstall-binPROGRAMS \
+install-binPROGRAMS mostlyclean-noinstPROGRAMS distclean-noinstPROGRAMS \
+clean-noinstPROGRAMS maintainer-clean-noinstPROGRAMS uninstall-dataDATA \
+install-dataDATA install-data-recursive uninstall-data-recursive \
+install-exec-recursive uninstall-exec-recursive installdirs-recursive \
+uninstalldirs-recursive all-recursive check-recursive \
+installcheck-recursive info-recursive dvi-recursive \
+mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir \
+mostlyclean-depend distclean-depend clean-depend \
+maintainer-clean-depend info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs-am \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+$(java_source_files:.java=.class): libgcj.zip
+
+libgcj.zip: $(java_source_files)
+ javac="$(JAVAC)"; cd $(srcdir); \
+ $$javac $(JCFLAGS) -classpath $(here):`/bin/pwd` -d $(here) \
+ $(subst $(srcdir)/,,$?)
+ -@rm -f libgcj.zip
+ $(ZIP) -r libgcj java -n .class -i '*.class' -i '*/'
+
+.class.o:
+ CLASSPATH=$(here) $(CC) -fassume-compiled $(JC1FLAGS) -c -o $@ $<
+
+.java.o:
+ CLASSPATH=$(here) $(GCJ) -fassume-compiled $(JC1FLAGS) -c -o $@ $<
+
+$(nat_files): %.o: %.cc
+ $(CXXCOMPILE) -c -o $@ $<
+
+$(nat_files) $(GCOBJS) $(THREADOBJS) $(libgcj_a_OBJECTS): \
+ include/config.h $(nat_headers)
+
+$(c_files): %.o: %.c
+ $(COMPILE) -c -o $@ $<
+
+$(c_files): java/lang/fdlibm.h java/lang/ieeefp.h java/lang/mprec.h
+
+$(javao_files): %.o: %.java
+ CLASSPATH=$(here) $(GCJ) -fassume-compiled $(JC1FLAGS) -c -o $@ $<
+
+.class.h:
+ $(GCJH) -classpath $(top_builddir) $(basename $<)
+
+$(nat_headers): libgcj.zip
+java/lang/FirstThread.h: java/lang/FirstThread.class libgcj.zip
+ $(GCJH) -classpath $(top_builddir) -friend '$(FTFRIEND);' \
+ $(basename $<)
+java/lang/ThreadGroup.h: java/lang/ThreadGroup.class libgcj.zip
+ $(GCJH) -classpath $(top_builddir) -friend '$(TGFRIEND);' \
+ $(basename $<)
+
+java/lang/String.h: java/lang/String.class libgcj.zip
+ $(GCJH) -classpath $(top_builddir) \
+ -friend 'jchar* _Jv_GetStringChars (jstring str);' \
+ -friend 'jstring* _Jv_StringFindSlot (jchar*, jint, jint);' \
+ -friend 'jstring* _Jv_StringGetSlot (jstring);' \
+ -friend 'jstring _Jv_NewStringUtf8Const (_Jv_Utf8Const* str);' \
+ -friend 'jstring _Jv_NewStringLatin1 (const char*, jsize);' \
+ -friend 'jstring _Jv_AllocString (jsize);' \
+ $(basename $<)
+
+java/lang/reflect/Field.h: java/lang/reflect/Field.class libgcj.zip
+ $(GCJH) -classpath $(top_builddir) \
+ -friend 'jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *);' \
+ -friend 'jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv*, jclass, jfieldID);' \
+ -friend 'java::lang::Class;' \
+ $(basename $<)
+
+java/lang/reflect/Method.h: java/lang/reflect/Method.class libgcj.zip
+ $(GCJH) -classpath $(top_builddir) \
+ -friend 'jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);' \
+ -friend 'java::lang::Class;' \
+ $(basename $<)
+
+maintainer-check: libgcj.a
+ $(NM) libgcj.a | grep ' T ' \
+ | grep -v '4java' \
+ | grep -v 'Jv' \
+ | grep -v 'terminate__Fv' | grep -v 'unexpected__Fv'
+
+header-check: libgcj.zip $(nat_headers)
+ rm -f htest.cc; \
+ for h in $(nat_headers); do \
+ echo "#include \"$$h\"" >> htest.cc; \
+ done; \
+ $(CXXCOMPILE) -fsyntax-only htest.cc
+
+# The Unicode consortium does not permit re-distributing the file JIS0208.TXT.
+# You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
+
+$(srcdir)/$(CONVERT_DIR)/JIS0208.h: # JIS0208.TXT
+ echo '/* This file is autoamtically generated from Unicode tables */' > tmp-0208; \
+ sed -n -e 's|\(0x....\).*0x\(..\)\(..\).*\(0x....\).*#\(.*\).$$|MAP(0x\2, 0x\3, \4) /*\5 */|p' \
+ <JIS0208.TXT >> tmp-0208; \
+ mv tmp-0208 $(srcdir)/$(CONVERT_DIR)/JIS0208.h
+
+# The Unicode consortium does not permit re-distributing the file JIS0212.TXT.
+# You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
+
+$(srcdir)/$(CONVERT_DIR)/JIS0212.h: # JIS0212.TXT
+ echo '/* This file is autoamtically generated from Unicode tables */' > tmp-0212; \
+ sed -n -e 's|0x\(..\)\(..\).*\(0x....\).*#\(.*\).$$|MAP(0x\1, 0x\2, \3) /*\4 */|p' \
+ <JIS0212.TXT >> tmp-0212; \
+ mv tmp-0212 $(srcdir)/$(CONVERT_DIR)/JIS0212.h
+
+$(CONVERT_DIR)/gen-from-JIS.o: $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c \
+ $(srcdir)/$(CONVERT_DIR)/JIS0208.h \
+ $(srcdir)/$(CONVERT_DIR)/JIS0212.h
+ $(COMPILE) -c -o $(CONVERT_DIR)/gen-from-JIS.o \
+ $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c
+
+@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@$(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
+@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@ ./gen-from-JIS JIS0208>$(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc
+
+@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@$(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
+@NATIVE_TRUE@@MAINTAINER_MODE_TRUE@ ./gen-from-JIS JIS0212>$(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc
+
+# Multilib support.
+.PHONY: all-multi mostlyclean-multi clean-multi distclean-multi \
+ maintainer-clean-multi
+
+all-recursive: all-multi
+install-recursive: install-multi
+mostlyclean-recursive: mostlyclean-multi
+clean-recursive: clean-multi
+distclean-recursive: distclean-multi
+maintainer-clean-recursive: maintainer-clean-multi
+
+all-multi:
+ $(MULTIDO) $(AM_MAKEFLAGS) DO=all multi-do
+install-multi:
+ $(MULTIDO) $(AM_MAKEFLAGS) DO=install multi-do
+mostlyclean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=mostlyclean multi-clean
+clean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=clean multi-clean
+distclean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=distclean multi-clean
+maintainer-clean-multi:
+ $(MULTICLEAN) $(AM_MAKEFLAGS) DO=maintainer-clean multi-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libjava/acconfig.h b/libjava/acconfig.h
new file mode 100644
index 0000000..11a7c37
--- /dev/null
+++ b/libjava/acconfig.h
@@ -0,0 +1,89 @@
+/* Name of this package. */
+#undef PACKAGE
+
+/* Version number of this package. */
+#undef VERSION
+
+/* Define this if you want runtime debugging enabled. */
+#undef DEBUG
+
+/* Define if using POSIX threads that have the mutexattr functions. */
+#undef HAVE_PTHREAD_MUTEXATTR_INIT
+
+/* Define this if you prefer size over speed for java.lang.Character. */
+#undef COMPACT_CHARACTER
+
+/* Define if you have memcpy. */
+#undef HAVE_MEMCPY
+
+/* Define if you have memmove. */
+#undef HAVE_MEMMOVE
+
+/* Define if you have strerror. */
+#undef HAVE_STRERROR
+
+/* Define if you have fsync. */
+#undef HAVE_FSYNC
+
+/* Define if you have sleep. */
+#undef HAVE_SLEEP
+
+/* Define if you have __int32_t and __uint32_t. */
+#undef HAVE_INT32_DEFINED
+
+/* Define if you're running eCos. */
+#undef ECOS
+
+/* */
+#undef HAVE_LOCALTIME
+
+/* */
+#undef HAVE_MKTIME
+
+/* Define if using POSIX threads on Linux. */
+#undef LINUX_THREADS
+
+/* Define if you have the `ctime_r' function. */
+#undef HAVE_CTIME_R
+
+/* Define if you have the `gmtime_r' function. */
+#undef HAVE_GMTIME_R
+
+/* Define if you have the `localtime_r' function. */
+#undef HAVE_LOCALTIME_R
+
+/* Define if inet6 structures are defined in netinet/in.h. */
+#undef HAVE_INET6
+
+/* Define it socklen_t typedef is in sys/socket.h. */
+#undef HAVE_SOCKLEN_T
+
+/* Define if Boehm GC in use. */
+#undef HAVE_BOEHM_GC
+
+/* Define if gethostname is declared in <unistd.h>. */
+#undef HAVE_GETHOSTNAME_DECL
+
+/* Define if gethostbyname_r returns `int'. */
+#undef GETHOSTBYNAME_R_RETURNS_INT
+
+/* Define if gethostbyaddr_r returns `int'. */
+#undef GETHOSTBYADDR_R_RETURNS_INT
+
+/* Define if struct tm has tm_gmtoff field. */
+#undef STRUCT_TM_HAS_GMTOFF
+
+/* Define if global `timezone' exists. */
+#undef HAVE_TIMEZONE
+
+/* Define if you have the appropriate function. */
+#undef HAVE_ACCESS
+#undef HAVE_STAT
+#undef HAVE_MKDIR
+#undef HAVE_RENAME
+#undef HAVE_RMDIR
+#undef HAVE_UNLINK
+#undef HAVE_REALPATH
+#undef HAVE_READDIR_R
+#undef HAVE_GETHOSTBYNAME_R
+#undef HAVE_GETHOSTBYADDR_R
diff --git a/libjava/acinclude.m4 b/libjava/acinclude.m4
new file mode 100644
index 0000000..2056b9f
--- /dev/null
+++ b/libjava/acinclude.m4
@@ -0,0 +1,156 @@
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIBGCJ_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl We may get other options which we dont document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ libgcj_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ libgcj_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ libgcj_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(libgcj_basedir)
+
+AC_CANONICAL_HOST
+
+dnl Still use "libjava" here to placate dejagnu.
+AM_INIT_AUTOMAKE(libjava, 0.0.7)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# Likewise for AC_PROG_CXX.
+AC_DEFUN(LIB_AC_PROG_CXX,
+[AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
+AC_CHECK_PROGS(CXX, $CCC c++ g++ gcc CC cxx cc++, gcc)
+test -z "$CXX" && AC_MSG_ERROR([no acceptable c++ found in \$PATH])
+
+AC_PROG_CXX_GNU
+
+if test $ac_cv_prog_gxx = yes; then
+ GXX=yes
+dnl Check whether -g works, even if CXXFLAGS is set, in case the package
+dnl plays around with CXXFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CXXFLAGS="${CXXFLAGS+set}"
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS=
+ AC_PROG_CXX_G
+ if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS="$ac_save_CXXFLAGS"
+ elif test $ac_cv_prog_cxx_g = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-O2"
+ fi
+else
+ GXX=
+ test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CXX
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we dont
+# run it explicitly here, it will be run implicitly before
+# LIBGCJ_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which cant create executables. So we include AC_EXEEXT to keep
+# automake happy, but we dont execute it, since we dont care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+# configure.host sets the following important variables
+# libgcj_cflags - host specific C compiler flags
+# libgcj_cxxflags - host specific C++ compiler flags
+# libgcj_javaflags - host specific Java compiler flags
+
+libgcj_cflags=
+libgcj_cxxflags=
+libgcj_javaflags=
+
+. [$]{libgcj_basedir}/configure.host
+
+case [$]{libgcj_basedir} in
+/* | [A-Za-z]:[/\\]*) libgcj_flagbasedir=[$]{libgcj_basedir} ;;
+*) libgcj_flagbasedir='[$](top_builddir)/'[$]{libgcj_basedir} ;;
+esac
+
+LIBGCJ_CFLAGS="[$]{libgcj_cflags}"
+LIBGCJ_CXXFLAGS="[$]{libgcj_cxxflags}"
+LIBGCJ_JAVAFLAGS="[$]{libgcj_javaflags}"
+AC_SUBST(LIBGCJ_CFLAGS)
+AC_SUBST(LIBGCJ_CXXFLAGS)
+AC_SUBST(LIBGCJ_JAVAFLAGS)
+])dnl
diff --git a/libjava/aclocal.m4 b/libjava/aclocal.m4
new file mode 100644
index 0000000..651dd93
--- /dev/null
+++ b/libjava/aclocal.m4
@@ -0,0 +1,317 @@
+dnl aclocal.m4 generated automatically by aclocal 1.4
+
+dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIBGCJ_CONFIGURE,
+[
+dnl Default to --enable-multilib
+AC_ARG_ENABLE(multilib,
+[ --enable-multilib build many library versions (default)],
+[case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) AC_MSG_ERROR(bad value ${enableval} for multilib option) ;;
+ esac], [multilib=yes])dnl
+
+dnl We may get other options which we dont document:
+dnl --with-target-subdir, --with-multisrctop, --with-multisubdir
+
+if test "[$]{srcdir}" = "."; then
+ if test "[$]{with_target_subdir}" != "."; then
+ libgcj_basedir="[$]{srcdir}/[$]{with_multisrctop}../$1"
+ else
+ libgcj_basedir="[$]{srcdir}/[$]{with_multisrctop}$1"
+ fi
+else
+ libgcj_basedir="[$]{srcdir}/$1"
+fi
+AC_SUBST(libgcj_basedir)
+
+AC_CANONICAL_HOST
+
+dnl Still use "libjava" here to placate dejagnu.
+AM_INIT_AUTOMAKE(libjava, 0.0.7)
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+AC_DEFUN(LIB_AC_PROG_CC,
+[AC_BEFORE([$0], [AC_PROG_CPP])dnl
+AC_CHECK_PROG(CC, gcc, gcc)
+if test -z "$CC"; then
+ AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc)
+ test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH])
+fi
+
+AC_PROG_CC_GNU
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+dnl Check whether -g works, even if CFLAGS is set, in case the package
+dnl plays around with CFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ AC_PROG_CC_G
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CC
+
+# Likewise for AC_PROG_CXX.
+AC_DEFUN(LIB_AC_PROG_CXX,
+[AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
+AC_CHECK_PROGS(CXX, $CCC c++ g++ gcc CC cxx cc++, gcc)
+test -z "$CXX" && AC_MSG_ERROR([no acceptable c++ found in \$PATH])
+
+AC_PROG_CXX_GNU
+
+if test $ac_cv_prog_gxx = yes; then
+ GXX=yes
+dnl Check whether -g works, even if CXXFLAGS is set, in case the package
+dnl plays around with CXXFLAGS (such as to build both debugging and
+dnl normal versions of a library), tasteless as that idea is.
+ ac_test_CXXFLAGS="${CXXFLAGS+set}"
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS=
+ AC_PROG_CXX_G
+ if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS="$ac_save_CXXFLAGS"
+ elif test $ac_cv_prog_cxx_g = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-O2"
+ fi
+else
+ GXX=
+ test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
+fi
+])
+
+LIB_AC_PROG_CXX
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we dont
+# run it explicitly here, it will be run implicitly before
+# LIBGCJ_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+AC_CANONICAL_BUILD
+
+AC_CHECK_TOOL(AS, as)
+AC_CHECK_TOOL(AR, ar)
+AC_CHECK_TOOL(RANLIB, ranlib, :)
+
+AC_PROG_INSTALL
+
+AM_MAINTAINER_MODE
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which cant create executables. So we include AC_EXEEXT to keep
+# automake happy, but we dont execute it, since we dont care about
+# the result.
+if false; then
+ AC_EXEEXT
+fi
+
+# configure.host sets the following important variables
+# libgcj_cflags - host specific C compiler flags
+# libgcj_cxxflags - host specific C++ compiler flags
+# libgcj_javaflags - host specific Java compiler flags
+
+libgcj_cflags=
+libgcj_cxxflags=
+libgcj_javaflags=
+
+. [$]{libgcj_basedir}/configure.host
+
+case [$]{libgcj_basedir} in
+/* | [A-Za-z]:[/\\]*) libgcj_flagbasedir=[$]{libgcj_basedir} ;;
+*) libgcj_flagbasedir='[$](top_builddir)/'[$]{libgcj_basedir} ;;
+esac
+
+LIBGCJ_CFLAGS="[$]{libgcj_cflags}"
+LIBGCJ_CXXFLAGS="[$]{libgcj_cxxflags}"
+LIBGCJ_JAVAFLAGS="[$]{libgcj_javaflags}"
+AC_SUBST(LIBGCJ_CFLAGS)
+AC_SUBST(LIBGCJ_CXXFLAGS)
+AC_SUBST(LIBGCJ_JAVAFLAGS)
+])dnl
+
+# Do all the work for Automake. This macro actually does too much --
+# some checks are only needed if your package does certain things.
+# But this isn't really a big deal.
+
+# serial 1
+
+dnl Usage:
+dnl AM_INIT_AUTOMAKE(package,version, [no-define])
+
+AC_DEFUN(AM_INIT_AUTOMAKE,
+[AC_REQUIRE([AC_PROG_INSTALL])
+PACKAGE=[$1]
+AC_SUBST(PACKAGE)
+VERSION=[$2]
+AC_SUBST(VERSION)
+dnl test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+ifelse([$3],,
+AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
+AC_REQUIRE([AM_SANITY_CHECK])
+AC_REQUIRE([AC_ARG_PROGRAM])
+dnl FIXME This is truly gross.
+missing_dir=`cd $ac_aux_dir && pwd`
+AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
+AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
+AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
+AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
+AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
+AC_REQUIRE([AC_PROG_MAKE_SET])])
+
+#
+# Check to make sure that the build environment is sane.
+#
+
+AC_DEFUN(AM_SANITY_CHECK,
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "[$]*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "[$]*" != "X $srcdir/configure conftestfile" \
+ && test "[$]*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "[$]2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+rm -f conftest*
+AC_MSG_RESULT(yes)])
+
+dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
+dnl The program must properly implement --version.
+AC_DEFUN(AM_MISSING_PROG,
+[AC_MSG_CHECKING(for working $2)
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if ($2 --version) < /dev/null > /dev/null 2>&1; then
+ $1=$2
+ AC_MSG_RESULT(found)
+else
+ $1="$3/missing $2"
+ AC_MSG_RESULT(missing)
+fi
+AC_SUBST($1)])
+
+# Add --enable-maintainer-mode option to configure.
+# From Jim Meyering
+
+# serial 1
+
+AC_DEFUN(AM_MAINTAINER_MODE,
+[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
+ dnl maintainer-mode is disabled by default
+ AC_ARG_ENABLE(maintainer-mode,
+[ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer],
+ USE_MAINTAINER_MODE=$enableval,
+ USE_MAINTAINER_MODE=no)
+ AC_MSG_RESULT($USE_MAINTAINER_MODE)
+ AM_CONDITIONAL(MAINTAINER_MODE, test $USE_MAINTAINER_MODE = yes)
+ MAINT=$MAINTAINER_MODE_TRUE
+ AC_SUBST(MAINT)dnl
+]
+)
+
+# Define a conditional.
+
+AC_DEFUN(AM_CONDITIONAL,
+[AC_SUBST($1_TRUE)
+AC_SUBST($1_FALSE)
+if $2; then
+ $1_TRUE=
+ $1_FALSE='#'
+else
+ $1_TRUE='#'
+ $1_FALSE=
+fi])
+
+# Like AC_CONFIG_HEADER, but automatically create stamp file.
+
+AC_DEFUN(AM_CONFIG_HEADER,
+[AC_PREREQ([2.12])
+AC_CONFIG_HEADER([$1])
+dnl When config.status generates a header, we must update the stamp-h file.
+dnl This file resides in the same directory as the config header
+dnl that is generated. We must strip everything past the first ":",
+dnl and everything past the last "/".
+AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
+ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
+<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
+<<am_indx=1
+for am_file in <<$1>>; do
+ case " <<$>>CONFIG_HEADERS " in
+ *" <<$>>am_file "*<<)>>
+ echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
+ ;;
+ esac
+ am_indx=`expr "<<$>>am_indx" + 1`
+done<<>>dnl>>)
+changequote([,]))])
+
diff --git a/libjava/boehm.cc b/libjava/boehm.cc
new file mode 100644
index 0000000..c41dab9
--- /dev/null
+++ b/libjava/boehm.cc
@@ -0,0 +1,367 @@
+// boehm.cc - interface between libjava and Boehm GC.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <stdio.h>
+
+#include <cni.h>
+#include <java/lang/Class.h>
+#include <jvm.h>
+#include <java-field.h>
+
+// We need to include gc_priv.h. However, it tries to include
+// config.h if it hasn't already been included. So we force the
+// inclusion of the Boehm config.h.
+extern "C"
+{
+#include <boehm-config.h>
+#include <gc_priv.h>
+#include <gc_mark.h>
+
+ // These aren't declared in any Boehm GC header.
+ void GC_finalize_all (void);
+ ptr_t GC_debug_generic_malloc (size_t size, int k, GC_EXTRA_PARAMS);
+};
+
+// FIXME: this should probably be defined in some GC header.
+#ifdef GC_DEBUG
+# define GC_GENERIC_MALLOC(Size, Type) \
+ GC_debug_generic_malloc (Size, Type, GC_EXTRAS)
+#else
+# define GC_GENERIC_MALLOC(Size, Type) GC_generic_malloc (Size, Type)
+#endif
+
+// We must check for plausibility ourselves.
+#define MAYBE_MARK(Obj, Top, Limit, Source, Exit) \
+ if ((ptr_t) (Obj) >= GC_least_plausible_heap_addr \
+ && (ptr_t) (Obj) <= GC_greatest_plausible_heap_addr) \
+ PUSH_CONTENTS (Obj, Top, Limit, Source, Exit)
+
+#define ObjectClass _CL_Q34java4lang6Object
+extern java::lang::Class ObjectClass;
+#define ClassClass _CL_Q34java4lang5Class
+extern java::lang::Class ClassClass;
+
+
+
+// Nonzero if this module has been initialized.
+static int initialized = 0;
+
+// `kind' index used when allocating Java objects.
+static int obj_kind_x;
+
+// `kind' index used when allocating Java arrays.
+static int array_kind_x;
+
+// Freelist used for Java objects.
+static ptr_t *obj_free_list;
+
+// Freelist used for Java arrays.
+static ptr_t *array_free_list;
+
+
+
+// This is called by the GC during the mark phase. It marks a Java
+// object. We use `void *' arguments and return, and not what the
+// Boehm GC wants, to avoid pollution in our headers.
+void *
+_Jv_MarkObj (void *addr, void *msp, void *msl, void * /*env*/)
+{
+ mse *mark_stack_ptr = (mse *) msp;
+ mse *mark_stack_limit = (mse *) msl;
+ jobject obj = (jobject) addr;
+
+ _Jv_VTable *dt = *(_Jv_VTable **) addr;
+ // We check this in case a GC occurs before the vtbl is set. FIXME:
+ // should use allocation lock while initializing object.
+ if (! dt)
+ return mark_stack_ptr;
+ jclass klass = dt->clas;
+
+ // Every object has a sync_info pointer.
+ word w = (word) obj->sync_info;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, obj, o1label);
+ // Mark the object's class.
+ w = (word) klass;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, obj, o2label);
+
+ if (klass == &ClassClass)
+ {
+ jclass c = (jclass) addr;
+
+ w = (word) c->next;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c2label);
+ w = (word) c->name;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c3label);
+ w = (word) c->superclass;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c4label);
+ for (int i = 0; i < c->constants.size; ++i)
+ {
+ w = (word) c->constants.data[i];
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c5label);
+ }
+
+ // If the class is an array, then the methods field holds a
+ // pointer to the element class. If the class is primitive,
+ // then the methods field holds a pointer to the array class.
+ w = (word) c->methods;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c6label);
+
+ if (! c->isArray() && ! c->isPrimitive())
+ {
+ // Scan each method in the cases where `methods' really
+ // points to a methods structure.
+ for (int i = 0; i < c->method_count; ++i)
+ {
+ w = (word) c->methods[i].name;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c,
+ cm1label);
+ w = (word) c->methods[i].signature;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c,
+ cm2label);
+ // FIXME: `ncode' entry?
+ }
+ }
+
+ // Mark all the fields.
+ w = (word) c->fields;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c8label);
+ for (int i = 0; i < c->field_count; ++i)
+ {
+#ifndef COMPACT_FIELDS
+ w = (word) c->fields[i].name;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c8alabel);
+#endif
+ w = (word) c->fields[i].type;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c8blabel);
+ }
+
+ w = (word) c->vtable;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, c9label);
+ w = (word) c->interfaces;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, cAlabel);
+ for (int i = 0; i < c->interface_count; ++i)
+ {
+ w = (word) c->interfaces[i];
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, cClabel);
+ }
+ w = (word) c->loader;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, c, cBlabel);
+ }
+ else
+ {
+ // NOTE: each class only holds information about the class
+ // itself. So we must do the marking for the entire inheritance
+ // tree in order to mark all fields. FIXME: what about
+ // interfaces? We skip Object here, because Object only has a
+ // sync_info, and we handled that earlier.
+ // Note: occasionally `klass' can be null. For instance, this
+ // can happen if a GC occurs between the point where an object
+ // is allocated and where the vtbl slot is set.
+ while (klass && klass != &ObjectClass)
+ {
+ jfieldID field = JvGetFirstInstanceField (klass);
+ jint max = JvNumInstanceFields (klass);
+
+ for (int i = 0; i < max; ++i)
+ {
+ if (JvFieldIsRef (field))
+ {
+ jobject val = JvGetObjectField (obj, field);
+ w = (word) val;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit,
+ obj, elabel);
+ }
+ field = field->getNextInstanceField ();
+ }
+ klass = klass->getSuperclass();
+ }
+ }
+
+ return mark_stack_ptr;
+}
+
+// This is called by the GC during the mark phase. It marks a Java
+// array (of objects). We use `void *' arguments and return, and not
+// what the Boehm GC wants, to avoid pollution in our headers.
+void *
+_Jv_MarkArray (void *addr, void *msp, void *msl, void * /*env*/)
+{
+ mse *mark_stack_ptr = (mse *) msp;
+ mse *mark_stack_limit = (mse *) msl;
+ jobjectArray array = (jobjectArray) addr;
+
+ _Jv_VTable *dt = *(_Jv_VTable **) addr;
+ // We check this in case a GC occurs before the vtbl is set. FIXME:
+ // should use allocation lock while initializing object.
+ if (! dt)
+ return mark_stack_ptr;
+ jclass klass = dt->clas;
+
+ // Every object has a sync_info pointer.
+ word w = (word) array->sync_info;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, array, e1label);
+ // Mark the object's class.
+ w = (word) klass;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, obj, o2label);
+
+ for (int i = 0; i < JvGetArrayLength (array); ++i)
+ {
+ jobject obj = elements (array)[i];
+ w = (word) obj;
+ MAYBE_MARK (w, mark_stack_ptr, mark_stack_limit, array, e2label);
+ }
+
+ return mark_stack_ptr;
+}
+
+// Allocate space for a new Java object. FIXME: this might be the
+// wrong interface; we might prefer to pass in the object type as
+// well. It isn't important for this collector, but it might be for
+// other collectors.
+void *
+_Jv_AllocObj (jsize size)
+{
+ return GC_GENERIC_MALLOC (size, obj_kind_x);
+}
+
+// Allocate space for a new Java array. FIXME: again, this might be
+// the wrong interface.
+void *
+_Jv_AllocArray (jsize size)
+{
+ return GC_GENERIC_MALLOC (size, array_kind_x);
+}
+
+// Allocate some space that is known to be pointer-free.
+void *
+_Jv_AllocBytes (jsize size)
+{
+ return GC_GENERIC_MALLOC (size, PTRFREE);
+}
+
+static void
+call_finalizer (GC_PTR obj, GC_PTR client_data)
+{
+ _Jv_FinalizerFunc *fn = (_Jv_FinalizerFunc *) client_data;
+ jobject jobj = (jobject) obj;
+
+ (*fn) (jobj);
+}
+
+void
+_Jv_RegisterFinalizer (void *object, _Jv_FinalizerFunc *meth)
+{
+ GC_REGISTER_FINALIZER_NO_ORDER (object, call_finalizer, meth,
+ NULL, NULL);
+}
+
+void
+_Jv_RunFinalizers (void)
+{
+ GC_invoke_finalizers ();
+}
+
+void
+_Jv_RunAllFinalizers (void)
+{
+ GC_finalize_all ();
+}
+
+void
+_Jv_RunGC (void)
+{
+ GC_gcollect ();
+}
+
+long
+_Jv_GCTotalMemory (void)
+{
+ return GC_get_heap_size ();
+}
+
+/* Sum size of each hblk. */
+static void
+sum_blocks (struct hblk *h, word arg)
+{
+ long *sump = (long *) arg;
+ /* This evil computation is from boehm-gc/checksums.c. */
+ hdr *hhdr = HDR (h);
+ int bytes = WORDS_TO_BYTES (hhdr->hb_sz);
+ bytes += HDR_BYTES + HBLKSIZE - 1;
+ bytes &= ~ (HBLKSIZE - 1);
+ *sump += bytes;
+}
+
+/* This turns out to be expensive to implement. For now, we don't
+ care. We could make it less expensive, perhaps, but that would
+ require some changes to the collector. */
+long
+_Jv_GCFreeMemory (void)
+{
+ long sum = 0;
+ GC_apply_to_all_blocks (sum_blocks, &sum);
+ return sum;
+}
+
+void
+_Jv_InitGC (void)
+{
+ int proc;
+ DCL_LOCK_STATE;
+
+ DISABLE_SIGNALS ();
+ LOCK ();
+
+ if (initialized)
+ {
+ UNLOCK ();
+ ENABLE_SIGNALS ();
+ return;
+ }
+ initialized = 1;
+
+ // Set up state for marking and allocation of Java objects.
+ obj_free_list = (ptr_t *) GC_generic_malloc_inner ((MAXOBJSZ + 1)
+ * sizeof (ptr_t),
+ PTRFREE);
+ memset (obj_free_list, 0, (MAXOBJSZ + 1) * sizeof (ptr_t));
+
+ proc = GC_n_mark_procs++;
+ GC_mark_procs[proc] = (mark_proc) _Jv_MarkObj;
+
+ obj_kind_x = GC_n_kinds++;
+ GC_obj_kinds[obj_kind_x].ok_freelist = obj_free_list;
+ GC_obj_kinds[obj_kind_x].ok_reclaim_list = 0;
+ GC_obj_kinds[obj_kind_x].ok_descriptor = MAKE_PROC (proc, 0);
+ GC_obj_kinds[obj_kind_x].ok_relocate_descr = FALSE;
+ GC_obj_kinds[obj_kind_x].ok_init = TRUE;
+
+ // Set up state for marking and allocation of arrays of Java
+ // objects.
+ array_free_list = (ptr_t *) GC_generic_malloc_inner ((MAXOBJSZ + 1)
+ * sizeof (ptr_t),
+ PTRFREE);
+ memset (array_free_list, 0, (MAXOBJSZ + 1) * sizeof (ptr_t));
+
+ proc = GC_n_mark_procs++;
+ GC_mark_procs[proc] = (mark_proc) _Jv_MarkArray;
+
+ array_kind_x = GC_n_kinds++;
+ GC_obj_kinds[array_kind_x].ok_freelist = array_free_list;
+ GC_obj_kinds[array_kind_x].ok_reclaim_list = 0;
+ GC_obj_kinds[array_kind_x].ok_descriptor = MAKE_PROC (proc, 0);
+ GC_obj_kinds[array_kind_x].ok_relocate_descr = FALSE;
+ GC_obj_kinds[array_kind_x].ok_init = TRUE;
+
+ UNLOCK ();
+ ENABLE_SIGNALS ();
+}
diff --git a/libjava/chartables.pl b/libjava/chartables.pl
new file mode 100644
index 0000000..fbcfb27
--- /dev/null
+++ b/libjava/chartables.pl
@@ -0,0 +1,965 @@
+# chartables.pl - A perl program to generate tables for use by the
+# Character class.
+
+# Copyright (C) 1998, 1999 Cygnus Solutions
+#
+# This file is part of libjava.
+#
+# This software is copyrighted work licensed under the terms of the
+# Libjava License. Please consult the file "LIBJAVA_LICENSE" for
+# details.
+
+# This program requires a `unidata.txt' file of the form distributed
+# on the Unicode 2.0 CD ROM. Or, get it more conveniently here:
+# ftp://ftp.unicode.org/Public/UNIDATA/UnicodeData-Latest.txt
+# Version `2.1.8' of this file was last used to update the Character class.
+
+# Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+# "The Java Language Specification", ISBN 0-201-63451-1
+# plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+
+# Usage: perl chartables.pl [-n] UnicodeData-VERSION.txt
+# If this exits with nonzero status, then you must investigate the
+# cause of the problem.
+# Diagnostics and other information to stderr.
+# This creates the new include/java-chartables.h and
+# include/java-chardecomp.h files directly.
+# With -n, the files are not created, but all processing
+# still occurs.
+
+# Fields in the table.
+$CODE = 0;
+$NAME = 1;
+$CATEGORY = 2;
+$DECOMPOSITION = 5;
+$DECIMAL = 6;
+$DIGIT = 7;
+$NUMERIC = 8;
+$UPPERCASE = 12;
+$LOWERCASE = 13;
+$TITLECASE = 14;
+
+# A special case.
+$TAMIL_DIGIT_ONE = 0x0be7;
+$TAMIL_DIGIT_NINE = 0x0bef;
+
+# These are endpoints of legitimate gaps in the tables.
+$CJK_IDEOGRAPH_END = 0x9fa5;
+$HANGUL_END = 0xd7a3;
+$HIGH_SURROGATE_END = 0xdb7f;
+$PRIVATE_HIGH_SURROGATE_END = 0xdbff;
+$LOW_SURROGATE_END = 0xdfff;
+$PRIVATE_END = 0xf8ff;
+
+%title_to_upper = ();
+%title_to_lower = ();
+%numerics = ();
+%name = ();
+
+@digit_start = ();
+@digit_end = ();
+
+@space_start = ();
+@space_end = ();
+
+# @letter_start = ();
+# @letter_end = ();
+
+@all_start = ();
+@all_end = ();
+@all_cats = ();
+
+@upper_start = ();
+@upper_end = ();
+@upper_map = ();
+%upper_anom = ();
+
+@lower_start = ();
+@lower_end = ();
+@lower_map = ();
+%lower_anom = ();
+
+@attributes = ();
+
+# There are a few characters which actually need two attributes.
+# These are special-cased.
+$ROMAN_START = 0x2160;
+$ROMAN_END = 0x217f;
+%second_attributes = ();
+
+$prevcode = -1;
+$status = 0;
+
+%category_map =
+(
+ 'Mn' => 'NON_SPACING_MARK',
+ 'Mc' => 'COMBINING_SPACING_MARK',
+ 'Me' => 'ENCLOSING_MARK',
+ 'Nd' => 'DECIMAL_DIGIT_NUMBER',
+ 'Nl' => 'LETTER_NUMBER',
+ 'No' => 'OTHER_NUMBER',
+ 'Zs' => 'SPACE_SEPARATOR',
+ 'Zl' => 'LINE_SEPARATOR',
+ 'Zp' => 'PARAGRAPH_SEPARATOR',
+ 'Cc' => 'CONTROL',
+ 'Cf' => 'FORMAT',
+ 'Cs' => 'SURROGATE',
+ 'Co' => 'PRIVATE_USE',
+ 'Cn' => 'UNASSIGNED',
+ 'Lu' => 'UPPERCASE_LETTER',
+ 'Ll' => 'LOWERCASE_LETTER',
+ 'Lt' => 'TITLECASE_LETTER',
+ 'Lm' => 'MODIFIER_LETTER',
+ 'Lo' => 'OTHER_LETTER',
+ 'Pc' => 'CONNECTOR_PUNCTUATION',
+ 'Pd' => 'DASH_PUNCTUATION',
+ 'Ps' => 'START_PUNCTUATION',
+ 'Pe' => 'END_PUNCTUATION',
+ 'Pi' => 'START_PUNCTUATION',
+ 'Pf' => 'END_PUNCTUATION',
+ 'Po' => 'OTHER_PUNCTUATION',
+ 'Sm' => 'MATH_SYMBOL',
+ 'Sc' => 'CURRENCY_SYMBOL',
+ 'Sk' => 'MODIFIER_SYMBOL',
+ 'So' => 'OTHER_SYMBOL'
+ );
+
+# These maps characters to their decompositions.
+%canonical_decomposition = ();
+%full_decomposition = ();
+
+
+# Handle `-n' and open output files.
+local ($f1, $f2) = ('include/java-chartables.h',
+ 'include/java-chardecomp.h');
+if ($ARGV[0] eq '-n')
+{
+ shift @ARGV;
+ $f1 = '/dev/null';
+ $f2 = '/dev/null';
+}
+
+open (CHARTABLE, "> $f1");
+open (DECOMP, "> $f2");
+
+# Process the Unicode file.
+while (<>)
+{
+ chop;
+ # Specify a limit for split so that we pick up trailing fields.
+ # We make the limit larger than we need, to catch the case where
+ # there are extra fields.
+ @fields = split (';', $_, 30);
+ # Convert code to number.
+ $ncode = hex ($fields[$CODE]);
+
+ if ($#fields != 14)
+ {
+ print STDERR ("Entry for \\u", $fields[$CODE],
+ " has wrong number of fields: ", $#fields, "\n");
+ }
+
+ $name{$fields[$CODE]} = $fields[$NAME];
+
+ # If we've found a gap in the table, fill it in.
+ if ($ncode != $prevcode + 1)
+ {
+ &process_gap (*fields, $prevcode, $ncode);
+ }
+
+ &process_char (*fields, $ncode);
+
+ $prevcode = $ncode;
+}
+
+if ($prevcode != 0xffff)
+{
+ # Setting of `fields' parameter doesn't matter here.
+ &process_gap (*fields, $prevcode, 0x10000);
+}
+
+print CHARTABLE "// java-chartables.h - Character tables for java.lang.Character -*- c++ -*-\n\n";
+print CHARTABLE "#ifndef __JAVA_CHARTABLES_H__\n";
+print CHARTABLE "#define __JAVA_CHARTABLES_H__\n\n";
+print CHARTABLE "// These tables are automatically generated by the chartables.pl\n";
+print CHARTABLE "// script. DO NOT EDIT the tables. Instead, fix the script\n";
+print CHARTABLE "// and run it again.\n\n";
+print CHARTABLE "// This file should only be included by natCharacter.cc\n\n";
+
+
+$bytes = 0;
+
+# Titlecase mapping tables.
+if ($#title_to_lower != $#title_to_upper)
+{
+ # If this fails we need to reimplement toTitleCase.
+ print STDERR "titlecase mappings have different sizes\n";
+ $status = 1;
+}
+# Also ensure that the tables are entirely parallel.
+foreach $key (sort keys %title_to_lower)
+{
+ if (! defined $title_to_upper{$key})
+ {
+ print STDERR "titlecase mappings have different entries\n";
+ $status = 1;
+ }
+}
+&print_single_map ("title_to_lower_table", %title_to_lower);
+&print_single_map ("title_to_upper_table", %title_to_upper);
+
+print CHARTABLE "#ifdef COMPACT_CHARACTER\n\n";
+
+printf CHARTABLE "#define TAMIL_DIGIT_ONE 0x%04x\n\n", $TAMIL_DIGIT_ONE;
+
+# All numeric values.
+&print_numerics;
+
+# Digits only.
+&print_block ("digit_table", *digit_start, *digit_end);
+
+# Space characters.
+&print_block ("space_table", *space_start, *space_end);
+
+# Letters. We used to generate a separate letter table. But this
+# doesn't really seem worthwhile. Simply using `all_table' saves us
+# about 800 bytes, and only adds 3 table probes to isLetter.
+# &print_block ("letter_table", *letter_start, *letter_end);
+
+# Case tables.
+&print_case_table ("upper", *upper_start, *upper_end, *upper_map, *upper_anom);
+&print_case_table ("lower", *lower_start, *lower_end, *lower_map, *lower_anom);
+
+# Everything else.
+&print_all_block (*all_start, *all_end, *all_cats);
+
+print CHARTABLE "#else /* COMPACT_CHARACTER */\n\n";
+
+printf CHARTABLE "#define ROMAN_START 0x%04x\n", $ROMAN_START;
+printf CHARTABLE "#define ROMAN_END 0x%04x\n\n", $ROMAN_END;
+
+&print_fast_tables (*all_start, *all_end, *all_cats,
+ *attributes, *second_attributes);
+
+print CHARTABLE "#endif /* COMPACT_CHARACTER */\n\n";
+
+print CHARTABLE "#endif /* __JAVA_CHARTABLES_H__ */\n";
+
+printf STDERR "Approximately %d bytes of data generated (compact case)\n",
+ $bytes;
+
+
+# Now generate decomposition tables.
+printf DECOMP "// java-chardecomp.h - Decomposition character tables -*- c++ -*-\n\n";
+printf DECOMP "#ifndef __JAVA_CHARDECOMP_H__\n";
+printf DECOMP "#define __JAVA_CHARDECOMP_H__\n\n";
+print DECOMP "// These tables are automatically generated by the chartables.pl\n";
+print DECOMP "// script. DO NOT EDIT the tables. Instead, fix the script\n";
+print DECOMP "// and run it again.\n\n";
+print DECOMP "// This file should only be included by natCollator.cc\n\n";
+
+print DECOMP "struct decomp_entry\n{\n";
+print DECOMP " jchar key;\n";
+print DECOMP " const char *value;\n";
+print DECOMP "};\n\n";
+
+&write_decompositions;
+
+printf DECOMP "#endif /* __JAVA_CHARDECOMP_H__ */\n";
+
+
+close (CHARTABLE);
+close (DECOMP);
+
+exit $status;
+
+
+# Process a gap in the space.
+sub process_gap
+{
+ local (*fields, $prevcode, $ncode) = @_;
+ local (@gap_fields, $i);
+
+ if ($ncode == $CJK_IDEOGRAPH_END
+ || $ncode == $HANGUL_END
+ || $ncode == $HIGH_SURROGATE_END
+ || $ncode == $PRIVATE_HIGH_SURROGATE_END
+ || $ncode == $LOW_SURROGATE_END
+ || $ncode == $PRIVATE_END)
+ {
+ # The characters in the gap we just found are known to
+ # have the same properties as the character at the end of
+ # the gap.
+ @gap_fields = @fields;
+ }
+ else
+ {
+ # This prints too much to be enabled.
+ # print STDERR "Gap found at \\u", $fields[$CODE], "\n";
+ @gap_fields = ('', '', 'Cn', '', '', '', '', '', '', '', '',
+ '', '', '', '');
+ }
+
+ for ($i = $prevcode + 1; $i < $ncode; ++$i)
+ {
+ $gap_fields[$CODE] = sprintf ("%04x", $i);
+ $gap_fields[$NAME] = "CHARACTER " . $gap_fields[$CODE];
+ &process_char (*gap_fields, $i);
+ }
+}
+
+# Process a single character.
+sub process_char
+{
+ local (*fields, $ncode) = @_;
+
+ if ($fields[$DECOMPOSITION] ne '')
+ {
+ &add_decomposition ($ncode, $fields[$DECOMPOSITION]);
+ }
+
+ # If this is a titlecase character, mark it.
+ if ($fields[$CATEGORY] eq 'Lt')
+ {
+ $title_to_upper{$fields[$CODE]} = $fields[$UPPERCASE];
+ $title_to_lower{$fields[$CODE]} = $fields[$LOWERCASE];
+ }
+ else
+ {
+ # For upper and lower case mappings, we try to build compact
+ # tables that map range onto range. We specifically want to
+ # avoid titlecase characters. Java specifies a range check to
+ # make sure the character is not between 0x2000 and 0x2fff.
+ # We avoid that here because we need to generate table entries
+ # -- toLower and toUpper still work in that range.
+ if ($fields[$UPPERCASE] eq ''
+ && ($fields[$LOWERCASE] ne ''
+ || $fields[$NAME] =~ /CAPITAL (LETTER|LIGATURE)/))
+ {
+ if ($fields[$LOWERCASE] ne '')
+ {
+ &update_case_block (*upper_start, *upper_end, *upper_map,
+ $fields[$CODE], $fields[$LOWERCASE]);
+ &set_attribute ($ncode, hex ($fields[$LOWERCASE]));
+ }
+ else
+ {
+ $upper_anom{$fields[$CODE]} = 1;
+ }
+ }
+ elsif ($fields[$LOWERCASE] ne '')
+ {
+ print STDERR ("Java missed upper case char \\u",
+ $fields[$CODE], "\n");
+ }
+ elsif ($fields[$CATEGORY] eq 'Lu')
+ {
+ # This case is for letters which are marked as upper case
+ # but for which there is no lower case equivalent. For
+ # instance, LATIN LETTER YR.
+ }
+
+ if ($fields[$LOWERCASE] eq ''
+ && ($fields[$UPPERCASE] ne ''
+ || $fields[$NAME] =~ /SMALL (LETTER|LIGATURE)/))
+ {
+ if ($fields[$UPPERCASE] ne '')
+ {
+ &update_case_block (*lower_start, *lower_end, *lower_map,
+ $fields[$CODE], $fields[$UPPERCASE]);
+ &set_attribute ($ncode, hex ($fields[$UPPERCASE]));
+ }
+ else
+ {
+ $lower_anom{$fields[$CODE]} = 1;
+ }
+ }
+ elsif ($fields[$UPPERCASE] ne '')
+ {
+ print STDERR ("Java missed lower case char \\u",
+ $fields[$CODE], "\n");
+ }
+ elsif ($fields[$CATEGORY] eq 'Ll')
+ {
+ # This case is for letters which are marked as lower case
+ # but for which there is no upper case equivalent. For
+ # instance, FEMININE ORDINAL INDICATOR.
+ }
+ }
+
+
+ # If we have a non-decimal numeric value, add it to the list.
+ if ($fields[$CATEGORY] eq 'Nd'
+ && ($ncode < 0x2000 || $ncode > 0x2fff)
+ && $fields[$NAME] =~ /DIGIT/)
+ {
+ # This is a digit character that is handled elsewhere.
+ }
+ elsif ($fields[$DIGIT] ne '' || $fields[$NUMERIC] ne '')
+ {
+ # Do a simple check.
+ if ($fields[$DECIMAL] ne '')
+ {
+ # This catches bugs in an earlier implementation of
+ # chartables.pl. Now it is here for historical interest
+ # only.
+ # print STDERR ("Character \u", $fields[$CODE],
+ # " would have been missed as digit\n");
+ }
+
+ local ($val) = $fields[$DIGIT];
+ $val = $fields[$NUMERIC] if $val eq '';
+ local ($ok) = 1;
+
+ # If we have a value which is not a positive integer, then we
+ # set the value to -2 to make life easier for
+ # Character.getNumericValue.
+ if ($val !~ m/^[0-9]+$/)
+ {
+ if ($fields[$CATEGORY] ne 'Nl'
+ && $fields[$CATEGORY] ne 'No')
+ {
+ # This shows a few errors in the Unicode table. These
+ # characters have a missing Numeric field, and the `N'
+ # for the mirrored field shows up there instead. I
+ # reported these characters to errata@unicode.org on
+ # Thu Sep 10 1998. They said it will be fixed in the
+ # 2.1.6 release of the tables.
+ print STDERR ("Character \u", $fields[$CODE],
+ " has value but is not numeric; val = '",
+ $val, "'\n");
+ # We skip these.
+ $ok = 0;
+ }
+ $val = "-2";
+ }
+
+ if ($ok)
+ {
+ $numerics{$fields[$CODE]} = $val;
+ &set_attribute ($ncode, $val);
+ }
+ }
+
+ # We build a table that lists ranges of ordinary decimal values.
+ # At each step we make sure that the digits are in the correct
+ # order, with no holes, as this is assumed by Character. If this
+ # fails, reimplementation is required. This implementation
+ # dovetails nicely with the Java Spec, which has strange rules for
+ # what constitutes a decimal value. In particular the Unicode
+ # name must contain the word `DIGIT'. The spec doesn't directly
+ # say that digits must have type `Nd' (or that their value must an
+ # integer), but that can be inferred from the list of digits in
+ # the book(s). Currently the only Unicode characters whose name
+ # includes `DIGIT' which would not fit are the Tibetan "half"
+ # digits.
+ if ($fields[$CATEGORY] eq 'Nd')
+ {
+ if (($ncode < 0x2000 || $ncode > 0x2fff)
+ && $fields[$NAME] =~ /DIGIT/)
+ {
+ &update_digit_block (*digit_start, *digit_end, $fields[$CODE],
+ $fields[$DECIMAL]);
+ &set_attribute ($ncode, $fields[$DECIMAL]);
+ }
+ else
+ {
+ # If this fails then Character.getType will fail. We
+ # assume that things in `digit_table' are the only
+ # category `Nd' characters.
+ print STDERR ("Character \u", $fields[$CODE],
+ " is class Nd but not in digit table\n");
+ $status = 1;
+ }
+ }
+
+ # Keep track of space characters.
+ if ($fields[$CATEGORY] =~ /Z[slp]/)
+ {
+ &update_block (*space_start, *space_end, $fields[$CODE]);
+ }
+
+ # Keep track of letters.
+ # if ($fields[$CATEGORY] =~ /L[ultmo]/)
+ # {
+ # &update_letter_block (*letter_start, *letter_end, $fields[$CODE],
+ # $fields[$CATEGORY]);
+ # }
+
+ # Keep track of all characters. You might think we wouldn't have
+ # to do this for uppercase letters, or other characters we already
+ # "classify". The problem is that this classification is
+ # different. E.g., \u216f is uppercase by Java rules, but is a
+ # LETTER_NUMBER here.
+ &update_all_block (*all_start, *all_end, *all_cats,
+ $fields[$CODE], $fields[$CATEGORY]);
+}
+
+
+# Called to add a new decomposition.
+sub add_decomposition
+{
+ local ($ncode, $value) = @_;
+ local ($is_full) = 0;
+ local ($first) = 1;
+ local (@decomp) = ();
+
+ foreach (split (' ', $value))
+ {
+ if ($first && /^\<.*\>$/)
+ {
+ $is_full = 1;
+ }
+ else
+ {
+ push (@decomp, hex ($_));
+ }
+ $first = 0;
+ }
+
+ # We pack the value into a string because this means we can stick
+ # with Perl 4 features.
+ local ($s) = pack "I*", @decomp;
+ if ($is_full)
+ {
+ $full_decomposition{$ncode} = $s;
+ }
+ else
+ {
+ $canonical_decomposition{$ncode} = $s;
+ }
+}
+
+# Write a single decomposition table.
+sub write_single_decomposition
+{
+ local ($name, $is_canon, %table) = @_;
+
+ printf DECOMP "static const decomp_entry ${name}_decomposition[] =\n{\n";
+
+ local ($key, @expansion, $char);
+ local ($first_line) = 1;
+
+ for ($key = 0; $key <= 65535; ++$key)
+ {
+ next if ! defined $table{$key};
+
+ printf DECOMP ",\n"
+ unless $first_line;
+ $first_line = 0;
+
+ printf DECOMP " { 0x%04x, \"", $key;
+
+ # We represent the expansion as a series of bytes, terminated
+ # with a double nul. This is ugly, but relatively
+ # space-efficient. Most expansions are short, but there are a
+ # few that are very long (e.g. \uFDFA). This means that if we
+ # chose a fixed-space representation we would waste a lot of
+ # space.
+ @expansion = unpack "I*", $table{$key};
+ foreach $char (@expansion)
+ {
+ printf DECOMP "\\x%02x\\x%02x", ($char / 256), ($char % 256);
+ }
+
+ printf DECOMP "\" }";
+ }
+
+ printf DECOMP "\n};\n\n";
+}
+
+sub write_decompositions
+{
+ &write_single_decomposition ('canonical', 1, %canonical_decomposition);
+ &write_single_decomposition ('full', 0, %full_decomposition);
+}
+
+# We represent a block of characters with a pair of lists. This
+# function updates the pair to account for the new character. Returns
+# 1 if we added to the old block, 0 otherwise.
+sub update_block
+{
+ local (*start, *end, $char) = @_;
+
+ local ($nchar) = hex ($char);
+ local ($count) = $#end;
+ if ($count >= 0 && $end[$count] == $nchar - 1)
+ {
+ ++$end[$count];
+ return 1;
+ }
+ else
+ {
+ ++$count;
+ $start[$count] = $nchar;
+ $end[$count] = $nchar;
+ }
+ return 0;
+}
+
+# Return true if we will be appending this character to the end of the
+# existing block.
+sub block_append_p
+{
+ local (*end, $char) = @_;
+ return $#end >= 0 && $end[$#end] == $char - 1;
+}
+
+# This updates the digit block. This table is much like an ordinary
+# block, but it has an extra constraint.
+sub update_digit_block
+{
+ local (*start, *end, $char, $value) = @_;
+
+ &update_block ($start, $end, $char);
+ local ($nchar) = hex ($char);
+
+ # We want to make sure that the new digit's value is correct for
+ # its place in the block. However, we special-case Tamil digits,
+ # since Tamil does not have a digit `0'.
+ local ($count) = $#start;
+ if (($nchar < $TAMIL_DIGIT_ONE || $nchar > $TAMIL_DIGIT_NINE)
+ && $nchar - $start[$count] != $value)
+ {
+ # If this fails then Character.digit_value will be wrong.
+ print STDERR "Character \\u", $char, " violates digit constraint\n";
+ $status = 1;
+ }
+}
+
+# Update letter table. We could be smart about avoiding upper or
+# lower case letters, but it is much simpler to just track them all.
+sub update_letter_block
+{
+ local (*start, *end, $char, $category) = @_;
+
+ &update_block (*start, *end, $char);
+}
+
+# Update `all' table. This table holds all the characters we don't
+# already categorize for other reasons. FIXME: if a given type has
+# very few characters, we should just inline the code. E.g., there is
+# only one paragraph separator.
+sub update_all_block
+{
+ local (*start, *end, *cats, $char, $category) = @_;
+
+ local ($nchar) = hex ($char);
+ local ($count) = $#end;
+ if ($count >= 0
+ && $end[$count] == $nchar - 1
+ && $cats[$count] eq $category)
+ {
+ ++$end[$count];
+ }
+ else
+ {
+ ++$count;
+ $start[$count] = $nchar;
+ $end[$count] = $nchar;
+ $cats[$count] = $category;
+ }
+}
+
+# Update a case table. We handle case tables specially because we
+# want to map (e.g.) a block of uppercase characters directly onto the
+# corresponding block of lowercase characters. Therefore we generate
+# a new entry when the block would no longer map directly.
+sub update_case_block
+{
+ local (*start, *end, *map, $char, $mapchar) = @_;
+
+ local ($nchar) = hex ($char);
+ local ($nmap) = hex ($mapchar);
+
+ local ($count) = $#end;
+ if ($count >= 0
+ && $end[$count] == $nchar - 1
+ && $nchar - $start[$count] == $nmap - $map[$count])
+ {
+ ++$end[$count];
+ }
+ else
+ {
+ ++$count;
+ $start[$count] = $nchar;
+ $end[$count] = $nchar;
+ $map[$count] = $nmap;
+ }
+}
+
+# Set the attribute value for the character. Each character can have
+# only one attribute.
+sub set_attribute
+{
+ local ($ncode, $attr) = @_;
+
+ if ($attributes{$ncode} ne '' && $attributes{$ncode} ne $attr)
+ {
+ if ($ncode >= $ROMAN_START && $ncode <= $ROMAN_END)
+ {
+ $second_attributes{$ncode} = $attr;
+ }
+ else
+ {
+ printf STDERR "character \\u%04x already has attribute\n", $ncode;
+ }
+ }
+ # Attributes can be interpreted as unsigned in some situations,
+ # so we check against 65535. This could cause errors -- we need
+ # to check the interpretation here.
+ elsif ($attr < -32768 || $attr > 65535)
+ {
+ printf STDERR "attribute out of range for character \\u%04x\n", $ncode;
+ }
+ else
+ {
+ $attributes{$ncode} = $attr;
+ }
+}
+
+
+# Print a block table.
+sub print_block
+{
+ local ($title, *start, *end) = @_;
+
+ print CHARTABLE "static const jchar ", $title, "[][2] =\n";
+ print CHARTABLE " {\n";
+
+ local ($i) = 0;
+ while ($i <= $#start)
+ {
+ print CHARTABLE " { ";
+ &print_char ($start[$i]);
+ print CHARTABLE ", ";
+ &print_char ($end[$i]);
+ print CHARTABLE " }";
+ print CHARTABLE "," if ($i != $#start);
+ print CHARTABLE "\n";
+ ++$i;
+ $bytes += 4; # Two bytes per char.
+ }
+
+ print CHARTABLE " };\n\n";
+}
+
+# Print the numerics table.
+sub print_numerics
+{
+ local ($i, $key, $count, @keys);
+
+ $i = 0;
+ @keys = sort keys %numerics;
+ $count = @keys;
+
+ print CHARTABLE "static const jchar numeric_table[] =\n";
+ print CHARTABLE " { ";
+ foreach $key (@keys)
+ {
+ &print_char (hex ($key));
+ ++$i;
+ print CHARTABLE ", " if $i < $count;
+ # Print 5 per line.
+ print CHARTABLE "\n " if ($i % 5 == 0);
+ $bytes += 2; # One character.
+ }
+ print CHARTABLE " };\n\n";
+
+ print CHARTABLE "static const jshort numeric_value[] =\n";
+ print CHARTABLE " { ";
+ $i = 0;
+ foreach $key (@keys)
+ {
+ print CHARTABLE $numerics{$key};
+ if ($numerics{$key} > 32767 || $numerics{$key} < -32768)
+ {
+ # This means our generated type info is incorrect. We
+ # could just detect and work around this here, but I'm
+ # lazy.
+ print STDERR "numeric value won't fit in a short\n";
+ $status = 1;
+ }
+ ++$i;
+ print CHARTABLE ", " if $i < $count;
+ # Print 10 per line.
+ print CHARTABLE "\n " if ($i % 10 == 0);
+ $bytes += 2; # One short.
+ }
+ print CHARTABLE " };\n\n";
+}
+
+# Print a table that maps one single letter onto another. It assumes
+# the map is index by char code.
+sub print_single_map
+{
+ local ($title, %map) = @_;
+
+ local (@keys) = sort keys %map;
+ $num = @keys;
+ print CHARTABLE "static const jchar ", $title, "[][2] =\n";
+ print CHARTABLE " {\n";
+ $i = 0;
+ for $key (@keys)
+ {
+ print CHARTABLE " { ";
+ &print_char (hex ($key));
+ print CHARTABLE ", ";
+ &print_char (hex ($map{$key}));
+ print CHARTABLE " }";
+ ++$i;
+ if ($i < $num)
+ {
+ print CHARTABLE ",";
+ }
+ else
+ {
+ print CHARTABLE " ";
+ }
+ print CHARTABLE " // ", $name{$key}, "\n";
+ $bytes += 4; # Two bytes per char.
+ }
+ print CHARTABLE " };\n\n";
+}
+
+# Print the `all' block.
+sub print_all_block
+{
+ local (*start, *end, *cats) = @_;
+
+ &print_block ("all_table", *start, *end);
+
+ local ($i) = 0;
+ local ($sum) = 0;
+ while ($i <= $#start)
+ {
+ $sum += $end[$i] - $start[$i] + 1;
+ ++$i;
+ }
+ # We do this computation just to make sure it isn't cheaper to
+ # simply list all the characters individually.
+ printf STDERR ("all_table encodes %d characters in %d entries\n",
+ $sum, $#start + 1);
+
+ print CHARTABLE "static const jbyte category_table[] =\n";
+ print CHARTABLE " { ";
+
+ $i = 0;
+ while ($i <= $#cats)
+ {
+ if ($i > 0 && $cats[$i] eq $cats[$i - 1])
+ {
+ # This isn't an error. We can have a duplicate because
+ # two ranges are not adjacent while the intervening
+ # characters are left out of the table for other reasons.
+ # We could exploit this to make the table a little smaller.
+ # printf STDERR "Duplicate all entry at \\u%04x\n", $start[$i];
+ }
+ print CHARTABLE 'java::lang::Character::', $category_map{$cats[$i]};
+ print CHARTABLE ", " if ($i < $#cats);
+ ++$i;
+ print CHARTABLE "\n ";
+ ++$bytes;
+ }
+ print CHARTABLE " };\n\n";
+}
+
+# Print case table.
+sub print_case_table
+{
+ local ($title, *start, *end, *map, *anomalous) = @_;
+
+ &print_block ($title . '_case_table', *start, *end);
+
+ print CHARTABLE "static const jchar ", $title, "_case_map_table[] =\n";
+ print CHARTABLE " { ";
+
+ local ($i) = 0;
+ while ($i <= $#map)
+ {
+ &print_char ($map[$i]);
+ print CHARTABLE ", " if $i < $#map;
+ ++$i;
+ print CHARTABLE "\n " if $i % 5 == 0;
+ $bytes += 2;
+ }
+ print CHARTABLE " };\n";
+
+
+ local ($key, @keys);
+ @keys = sort keys %anomalous;
+
+ if ($title eq 'upper')
+ {
+ if ($#keys >= 0)
+ {
+ # If these are found we need to change Character.isUpperCase.
+ print STDERR "Found anomalous upper case characters\n";
+ $status = 1;
+ }
+ }
+ else
+ {
+ print CHARTABLE "\n";
+ print CHARTABLE "static const jchar ", $title, "_anomalous_table[] =\n";
+ print CHARTABLE " { ";
+ $i = 0;
+ foreach $key (@keys)
+ {
+ &print_char (hex ($key));
+ print CHARTABLE ", " if $i < $#keys;
+ ++$i;
+ print CHARTABLE "\n " if $i % 5 == 0;
+ $bytes += 2;
+ }
+ print CHARTABLE " };\n";
+ }
+
+ print CHARTABLE "\n";
+}
+
+# Print the type table and attributes table for the fast version.
+sub print_fast_tables
+{
+ local (*start, *end, *cats, *atts, *second_atts) = @_;
+
+ print CHARTABLE "static const jbyte type_table[] =\n{ ";
+
+ local ($i, $j);
+ for ($i = 0; $i <= $#cats; ++$i)
+ {
+ for ($j = $start[$i]; $j <= $end[$i]; ++$j)
+ {
+ print CHARTABLE 'java::lang::Character::', $category_map{$cats[$i]};
+ print CHARTABLE "," if ($i < $#cats || $j < $end[$i]);
+ print CHARTABLE "\n ";
+ }
+ }
+ print CHARTABLE "\n };\n\n";
+
+ print CHARTABLE "static const jshort attribute_table[] =\n{ ";
+ for ($i = 0; $i <= 0xffff; ++$i)
+ {
+ $atts{$i} = 0 if ! defined $atts{$i};
+ print CHARTABLE $atts{$i};
+ print CHARTABLE ", " if $i < 0xffff;
+ print CHARTABLE "\n " if $i % 5 == 1;
+ }
+ print CHARTABLE "\n };\n\n";
+
+ print CHARTABLE "static const jshort secondary_attribute_table[] =\n{ ";
+ for ($i = $ROMAN_START; $i <= $ROMAN_END; ++$i)
+ {
+ print CHARTABLE $second_atts{$i};
+ print CHARTABLE ", " if $i < $ROMAN_END;
+ print CHARTABLE "\n " if $i % 5 == 1;
+ }
+ print CHARTABLE "\n };\n\n";
+}
+
+# Print a character constant.
+sub print_char
+{
+ local ($ncode) = @_;
+ printf CHARTABLE "0x%04x", $ncode;
+}
diff --git a/libjava/classes.pl b/libjava/classes.pl
new file mode 100644
index 0000000..4db80a0
--- /dev/null
+++ b/libjava/classes.pl
@@ -0,0 +1,104 @@
+# classes.pl - A perl program to generate most of the contents of
+# javaprims.h automatically.
+
+# Copyright (C) 1998, 1999 Cygnus Solutions
+#
+# This file is part of libjava.
+#
+# This software is copyrighted work licensed under the terms of the
+# Libjava License. Please consult the file "LIBJAVA_LICENSE" for
+# details.
+
+# Usage: cd <top-srcdir> ; perl classes.pl.
+# Can also be run from the `include' directory; this lets us
+# more easily insert the output into javaprims.h (which is where it goes).
+
+use DirHandle;
+
+if (-d 'java')
+{
+ # Ok here.
+}
+elsif (-d '../java')
+{
+ chdir ('..');
+}
+else
+{
+ die "couldn't find java directory\n";
+}
+
+&scan ('java', 2);
+
+exit 0;
+
+sub scan
+{
+ local ($dir, $indent) = @_;
+ local (@subdirs) = ();
+ local (@classes) = ();
+
+ local ($d) = new DirHandle $dir;
+ local (*JFILE);
+ local ($name);
+ if (defined $d)
+ {
+ while (defined ($name = $d->read))
+ {
+ next if $name eq 'CVS';
+ next if $name eq '.';
+ next if $name eq '..';
+ if ($dir eq 'java'
+ && $name ne 'lang'
+ && $name ne 'util'
+ && $name ne 'io')
+ {
+ # We only generate decls for java.lang, java.io, and
+ # java.util.
+ next;
+ }
+ if (-d ($dir . '/' . $name))
+ {
+ push (@subdirs, $name);
+ next;
+ }
+ next unless $name =~ /\.java$/;
+
+ open (FILE, "< $dir/$name");
+ while (<FILE>)
+ {
+ # NOTE: we don't skip `/*' comments.
+ s,//.*$,,;
+ # For now assume that class names start with upper
+ # case letter.
+ next unless /(class|interface) ([A-Z][A-Za-z0-9]+)/;
+ push (@classes, $2);
+ }
+ close (FILE);
+ }
+
+ undef $d;
+ }
+
+ local ($spaces) = ' ' x $indent;
+ local ($classname);
+ ($classname = $dir) =~ s/^.*\///;
+ print $spaces, "namespace ", $classname, "\n";
+ print $spaces, "{\n";
+
+ foreach (sort @classes)
+ {
+ print $spaces, " class ", $_, ";\n";
+ }
+ print "\n" if scalar @classes > 0 && scalar @subdirs > 0;
+
+ local ($first) = 1;
+ foreach (sort @subdirs)
+ {
+ print "\n" unless $first;
+ $first = 0;
+ &scan ("$dir/$_", $indent + 2);
+ }
+
+ print $spaces, "};\n";
+}
diff --git a/libjava/configure b/libjava/configure
new file mode 100755
index 0000000..8406708
--- /dev/null
+++ b/libjava/configure
@@ -0,0 +1,3783 @@
+#! /bin/sh
+
+# Guess values for system-dependent variables and create Makefiles.
+# Generated automatically using autoconf version 2.13
+# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+
+# Defaults:
+ac_help=
+ac_default_prefix=/usr/local
+# Any additions from configure.in:
+ac_help="$ac_help
+ --with-target-subdir=SUBDIR Configuring in a subdirectory"
+ac_help="$ac_help
+ --with-cross-host=HOST Configuring with a cross compiler"
+ac_help="$ac_help
+ --enable-multilib build many library versions (default)"
+ac_help="$ac_help
+ --enable-maintainer-mode enable make rules and dependencies not useful
+ (and sometimes confusing) to the casual installer"
+ac_help="$ac_help
+ --enable-fast-character Prefer speed over size for Character"
+ac_help="$ac_help
+ --enable-libgcj-debug Enable runtime debugging code"
+ac_help="$ac_help
+ --with-ecos Enable runtime eCos target support."
+ac_help="$ac_help
+ --enable-java-gc=TYPE choose garbage collector [boehm]"
+ac_help="$ac_help
+ --enable-threads=TYPE choose threading package"
+
+# Initialize some variables set by options.
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+build=NONE
+cache_file=./config.cache
+exec_prefix=NONE
+host=NONE
+no_create=
+nonopt=NONE
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+target=NONE
+verbose=
+x_includes=NONE
+x_libraries=NONE
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datadir='${prefix}/share'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+libdir='${exec_prefix}/lib'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+infodir='${prefix}/info'
+mandir='${prefix}/man'
+
+# Initialize some other variables.
+subdirs=
+MFLAGS= MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+# Maximum number of lines to put in a shell here document.
+ac_max_here_lines=12
+
+ac_prev=
+for ac_option
+do
+
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval "$ac_prev=\$ac_option"
+ ac_prev=
+ continue
+ fi
+
+ case "$ac_option" in
+ -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
+ *) ac_optarg= ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case "$ac_option" in
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir="$ac_optarg" ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build="$ac_optarg" ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file="$ac_optarg" ;;
+
+ -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
+ | --da=*)
+ datadir="$ac_optarg" ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ eval "enable_${ac_feature}=no" ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
+ fi
+ ac_feature=`echo $ac_feature| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "enable_${ac_feature}='$ac_optarg'" ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix="$ac_optarg" ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he)
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat << EOF
+Usage: configure [options] [host]
+Options: [defaults in brackets after descriptions]
+Configuration:
+ --cache-file=FILE cache test results in FILE
+ --help print this message
+ --no-create do not create output files
+ --quiet, --silent do not print \`checking...' messages
+ --version print the version of autoconf that created configure
+Directory and file names:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [same as prefix]
+ --bindir=DIR user executables in DIR [EPREFIX/bin]
+ --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
+ --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
+ --datadir=DIR read-only architecture-independent data in DIR
+ [PREFIX/share]
+ --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data in DIR
+ [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
+ --libdir=DIR object code libraries in DIR [EPREFIX/lib]
+ --includedir=DIR C header files in DIR [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
+ --infodir=DIR info documentation in DIR [PREFIX/info]
+ --mandir=DIR man documentation in DIR [PREFIX/man]
+ --srcdir=DIR find the sources in DIR [configure dir or ..]
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM
+ run sed PROGRAM on installed program names
+EOF
+ cat << EOF
+Host type:
+ --build=BUILD configure for building on BUILD [BUILD=HOST]
+ --host=HOST configure for HOST [guessed]
+ --target=TARGET configure for TARGET [TARGET=HOST]
+Features and packages:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --x-includes=DIR X include files are in DIR
+ --x-libraries=DIR X library files are in DIR
+EOF
+ if test -n "$ac_help"; then
+ echo "--enable and --with options recognized:$ac_help"
+ fi
+ exit 0 ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host="$ac_optarg" ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir="$ac_optarg" ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir="$ac_optarg" ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir="$ac_optarg" ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir="$ac_optarg" ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst \
+ | --locals | --local | --loca | --loc | --lo)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* \
+ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+ localstatedir="$ac_optarg" ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir="$ac_optarg" ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir="$ac_optarg" ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix="$ac_optarg" ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix="$ac_optarg" ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix="$ac_optarg" ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name="$ac_optarg" ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir="$ac_optarg" ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir="$ac_optarg" ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site="$ac_optarg" ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir="$ac_optarg" ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir="$ac_optarg" ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target="$ac_optarg" ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers)
+ echo "configure generated by autoconf version 2.13"
+ exit 0 ;;
+
+ -with-* | --with-*)
+ ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ case "$ac_option" in
+ *=*) ;;
+ *) ac_optarg=yes ;;
+ esac
+ eval "with_${ac_package}='$ac_optarg'" ;;
+
+ -without-* | --without-*)
+ ac_package=`echo $ac_option|sed -e 's/-*without-//'`
+ # Reject names that are not valid shell variable names.
+ if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
+ { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
+ fi
+ ac_package=`echo $ac_package| sed 's/-/_/g'`
+ eval "with_${ac_package}=no" ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes="$ac_optarg" ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries="$ac_optarg" ;;
+
+ -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
+ ;;
+
+ *)
+ if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
+ echo "configure: warning: $ac_option: invalid host type" 1>&2
+ fi
+ if test "x$nonopt" != xNONE; then
+ { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
+ fi
+ nonopt="$ac_option"
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
+fi
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+# File descriptor usage:
+# 0 standard input
+# 1 file creation
+# 2 errors and warnings
+# 3 some systems may open it to /dev/tty
+# 4 used on the Kubota Titan
+# 6 checking for... messages and results
+# 5 compiler messages saved in config.log
+if test "$silent" = yes; then
+ exec 6>/dev/null
+else
+ exec 6>&1
+fi
+exec 5>./config.log
+
+echo "\
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+" 1>&5
+
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Also quote any args containing shell metacharacters.
+ac_configure_args=
+for ac_arg
+do
+ case "$ac_arg" in
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c) ;;
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
+ *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
+ ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ *) ac_configure_args="$ac_configure_args $ac_arg" ;;
+ esac
+done
+
+# NLS nuisances.
+# Only set these to C if already set. These must not be set unconditionally
+# because not all systems understand e.g. LANG=C (notably SCO).
+# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
+# Non-C LC_CTYPE values break the ctype check.
+if test "${LANG+set}" = set; then LANG=C; export LANG; fi
+if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
+if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
+if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -rf conftest* confdefs.h
+# AIX cpp loses on an empty file, so make sure it contains at least a newline.
+echo > confdefs.h
+
+# A filename unique to this package, relative to the directory that
+# configure is in, which we can look for to find out if srcdir is correct.
+ac_unique_file=java/lang/System.java
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then its parent.
+ ac_prog=$0
+ ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
+ test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
+ srcdir=$ac_confdir
+ if test ! -r $srcdir/$ac_unique_file; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r $srcdir/$ac_unique_file; then
+ if test "$ac_srcdir_defaulted" = yes; then
+ { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
+ else
+ { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
+ fi
+fi
+srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
+
+# Prefer explicitly selected file to automatically selected ones.
+if test -z "$CONFIG_SITE"; then
+ if test "x$prefix" != xNONE; then
+ CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
+ else
+ CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
+ fi
+fi
+for ac_site_file in $CONFIG_SITE; do
+ if test -r "$ac_site_file"; then
+ echo "loading site script $ac_site_file"
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ echo "loading cache $cache_file"
+ . $cache_file
+else
+ echo "creating cache $cache_file"
+ > $cache_file
+fi
+
+ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+ac_exeext=
+ac_objext=o
+if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
+ # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
+ if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
+ ac_n= ac_c='
+' ac_t=' '
+ else
+ ac_n=-n ac_c= ac_t=
+ fi
+else
+ ac_n= ac_c='\c' ac_t=
+fi
+
+
+
+ac_aux_dir=
+for ac_dir in .. $srcdir/..; do
+ if test -f $ac_dir/install-sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f $ac_dir/install.sh; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { echo "configure: error: can not find install-sh or install.sh in .. $srcdir/.." 1>&2; exit 1; }
+fi
+ac_config_guess=$ac_aux_dir/config.guess
+ac_config_sub=$ac_aux_dir/config.sub
+ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
+
+
+
+# Do some error checking and defaulting for the host and target type.
+# The inputs are:
+# configure --host=HOST --target=TARGET --build=BUILD NONOPT
+#
+# The rules are:
+# 1. You are not allowed to specify --host, --target, and nonopt at the
+# same time.
+# 2. Host defaults to nonopt.
+# 3. If nonopt is not specified, then host defaults to the current host,
+# as determined by config.guess.
+# 4. Target and build default to nonopt.
+# 5. If nonopt is not specified, then target and build default to host.
+
+# The aliases save the names the user supplied, while $host etc.
+# will get canonicalized.
+case $host---$target---$nonopt in
+NONE---*---* | *---NONE---* | *---*---NONE) ;;
+*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;;
+esac
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:593: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+echo $ac_n "checking target system type""... $ac_c" 1>&6
+echo "configure:614: checking target system type" >&5
+
+target_alias=$target
+case "$target_alias" in
+NONE)
+ case $nonopt in
+ NONE) target_alias=$host_alias ;;
+ *) target_alias=$nonopt ;;
+ esac ;;
+esac
+
+target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias`
+target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$target" 1>&6
+
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:632: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+test "$host_alias" != "$target_alias" &&
+ test "$program_prefix$program_suffix$program_transform_name" = \
+ NONENONEs,x,x, &&
+ program_prefix=${target_alias}-
+
+
+# Check whether --with-target-subdir or --without-target-subdir was given.
+if test "${with_target_subdir+set}" = set; then
+ withval="$with_target_subdir"
+ :
+fi
+
+# Check whether --with-cross-host or --without-cross-host was given.
+if test "${with_cross_host+set}" = set; then
+ withval="$with_cross_host"
+ :
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:680: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+echo $ac_n "checking whether build environment is sane""... $ac_c" 1>&6
+echo "configure:733: checking whether build environment is sane" >&5
+# Just in case
+sleep 1
+echo timestamp > conftestfile
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftestfile`
+ fi
+ if test "$*" != "X $srcdir/configure conftestfile" \
+ && test "$*" != "X conftestfile $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { echo "configure: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" 1>&2; exit 1; }
+ fi
+
+ test "$2" = conftestfile
+ )
+then
+ # Ok.
+ :
+else
+ { echo "configure: error: newly created file is older than distributed files!
+Check your system clock" 1>&2; exit 1; }
+fi
+rm -f conftest*
+echo "$ac_t""yes" 1>&6
+if test "$program_transform_name" = s,x,x,; then
+ program_transform_name=
+else
+ # Double any \ or $. echo might interpret backslashes.
+ cat <<\EOF_SED > conftestsed
+s,\\,\\\\,g; s,\$,$$,g
+EOF_SED
+ program_transform_name="`echo $program_transform_name|sed -f conftestsed`"
+ rm -f conftestsed
+fi
+test "$program_prefix" != NONE &&
+ program_transform_name="s,^,${program_prefix},; $program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s,\$\$,${program_suffix},; $program_transform_name"
+
+# sed with no file args requires a program.
+test "$program_transform_name" = "" && program_transform_name="s,x,x,"
+
+echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
+echo "configure:790: checking whether ${MAKE-make} sets \${MAKE}" >&5
+set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
+if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftestmake <<\EOF
+all:
+ @echo 'ac_maketemp="${MAKE}"'
+EOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
+if test -n "$ac_maketemp"; then
+ eval ac_cv_prog_make_${ac_make}_set=yes
+else
+ eval ac_cv_prog_make_${ac_make}_set=no
+fi
+rm -f conftestmake
+fi
+if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ SET_MAKE=
+else
+ echo "$ac_t""no" 1>&6
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test $host != $build; then
+ ac_tool_prefix=${host_alias}-
+else
+ ac_tool_prefix=
+fi
+
+echo $ac_n "checking for Cygwin environment""... $ac_c" 1>&6
+echo "configure:823: checking for Cygwin environment" >&5
+if eval "test \"`echo '$''{'ac_cv_cygwin'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 828 "configure"
+#include "confdefs.h"
+
+int main() {
+
+#ifndef __CYGWIN__
+#define __CYGWIN__ __CYGWIN32__
+#endif
+return __CYGWIN__;
+; return 0; }
+EOF
+if { (eval echo configure:839: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_cygwin=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_cygwin=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_cygwin" 1>&6
+CYGWIN=
+test "$ac_cv_cygwin" = yes && CYGWIN=yes
+echo $ac_n "checking for mingw32 environment""... $ac_c" 1>&6
+echo "configure:856: checking for mingw32 environment" >&5
+if eval "test \"`echo '$''{'ac_cv_mingw32'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 861 "configure"
+#include "confdefs.h"
+
+int main() {
+return __MINGW32__;
+; return 0; }
+EOF
+if { (eval echo configure:868: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ ac_cv_mingw32=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_mingw32=no
+fi
+rm -f conftest*
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_mingw32" 1>&6
+MINGW32=
+test "$ac_cv_mingw32" = yes && MINGW32=yes
+
+# Check whether --enable-multilib or --disable-multilib was given.
+if test "${enable_multilib+set}" = set; then
+ enableval="$enable_multilib"
+ case "${enableval}" in
+ yes) multilib=yes ;;
+ no) multilib=no ;;
+ *) { echo "configure: error: bad value ${enableval} for multilib option" 1>&2; exit 1; } ;;
+ esac
+else
+ multilib=yes
+fi
+
+
+if test "${srcdir}" = "."; then
+ if test "${with_target_subdir}" != "."; then
+ libgcj_basedir="${srcdir}/${with_multisrctop}../."
+ else
+ libgcj_basedir="${srcdir}/${with_multisrctop}."
+ fi
+else
+ libgcj_basedir="${srcdir}/."
+fi
+
+
+
+# Make sure we can run config.sub.
+if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then :
+else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking host system type""... $ac_c" 1>&6
+echo "configure:916: checking host system type" >&5
+
+host_alias=$host
+case "$host_alias" in
+NONE)
+ case $nonopt in
+ NONE)
+ if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then :
+ else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; }
+ fi ;;
+ *) host_alias=$nonopt ;;
+ esac ;;
+esac
+
+host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias`
+host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$host" 1>&6
+
+
+
+PACKAGE=libjava
+
+VERSION=0.0.7
+
+if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
+ { echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
+fi
+cat >> confdefs.h <<EOF
+#define PACKAGE "$PACKAGE"
+EOF
+
+cat >> confdefs.h <<EOF
+#define VERSION "$VERSION"
+EOF
+
+
+
+missing_dir=`cd $ac_aux_dir && pwd`
+echo $ac_n "checking for working aclocal""... $ac_c" 1>&6
+echo "configure:957: checking for working aclocal" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (aclocal --version) < /dev/null > /dev/null 2>&1; then
+ ACLOCAL=aclocal
+ echo "$ac_t""found" 1>&6
+else
+ ACLOCAL="$missing_dir/missing aclocal"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoconf""... $ac_c" 1>&6
+echo "configure:970: checking for working autoconf" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoconf --version) < /dev/null > /dev/null 2>&1; then
+ AUTOCONF=autoconf
+ echo "$ac_t""found" 1>&6
+else
+ AUTOCONF="$missing_dir/missing autoconf"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working automake""... $ac_c" 1>&6
+echo "configure:983: checking for working automake" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (automake --version) < /dev/null > /dev/null 2>&1; then
+ AUTOMAKE=automake
+ echo "$ac_t""found" 1>&6
+else
+ AUTOMAKE="$missing_dir/missing automake"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working autoheader""... $ac_c" 1>&6
+echo "configure:996: checking for working autoheader" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (autoheader --version) < /dev/null > /dev/null 2>&1; then
+ AUTOHEADER=autoheader
+ echo "$ac_t""found" 1>&6
+else
+ AUTOHEADER="$missing_dir/missing autoheader"
+ echo "$ac_t""missing" 1>&6
+fi
+
+echo $ac_n "checking for working makeinfo""... $ac_c" 1>&6
+echo "configure:1009: checking for working makeinfo" >&5
+# Run test in a subshell; some versions of sh will print an error if
+# an executable is not found, even if stderr is redirected.
+# Redirect stdin to placate older versions of autoconf. Sigh.
+if (makeinfo --version) < /dev/null > /dev/null 2>&1; then
+ MAKEINFO=makeinfo
+ echo "$ac_t""found" 1>&6
+else
+ MAKEINFO="$missing_dir/missing makeinfo"
+ echo "$ac_t""missing" 1>&6
+fi
+
+
+
+# FIXME: We temporarily define our own version of AC_PROG_CC. This is
+# copied from autoconf 2.12, but does not call AC_PROG_CC_WORKS. We
+# are probably using a cross compiler, which will not be able to fully
+# link an executable. This should really be fixed in autoconf
+# itself.
+
+
+
+# Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1034: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CC="gcc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+if test -z "$CC"; then
+ # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1064: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CC"; then
+ ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_prog_rejected=no
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
+ ac_prog_rejected=yes
+ continue
+ fi
+ ac_cv_prog_CC="cc"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+if test $ac_prog_rejected = yes; then
+ # We found a bogon in the path, so make sure we never use it.
+ set dummy $ac_cv_prog_CC
+ shift
+ if test $# -gt 0; then
+ # We chose a different compiler from the bogus one.
+ # However, it has the same basename, so the bogon will be chosen
+ # first if we set CC to just the basename; use the full file name.
+ shift
+ set dummy "$ac_dir/$ac_word" "$@"
+ shift
+ ac_cv_prog_CC="$@"
+ fi
+fi
+fi
+fi
+CC="$ac_cv_prog_CC"
+if test -n "$CC"; then
+ echo "$ac_t""$CC" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+ test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
+fi
+
+echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
+echo "configure:1113: checking whether we are using GNU C" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.c <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1122: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gcc=yes
+else
+ ac_cv_prog_gcc=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gcc" 1>&6
+
+if test $ac_cv_prog_gcc = yes; then
+ GCC=yes
+ ac_test_CFLAGS="${CFLAGS+set}"
+ ac_save_CFLAGS="$CFLAGS"
+ CFLAGS=
+ echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
+echo "configure:1137: checking whether ${CC-cc} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.c
+if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
+ ac_cv_prog_cc_g=yes
+else
+ ac_cv_prog_cc_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
+ if test "$ac_test_CFLAGS" = set; then
+ CFLAGS="$ac_save_CFLAGS"
+ elif test $ac_cv_prog_cc_g = yes; then
+ CFLAGS="-g -O2"
+ else
+ CFLAGS="-O2"
+ fi
+else
+ GCC=
+ test "${CFLAGS+set}" = set || CFLAGS="-g"
+fi
+
+
+# Likewise for AC_PROG_CXX.
+
+
+for ac_prog in $CCC c++ g++ gcc CC cxx cc++
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1173: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$CXX"; then
+ ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_CXX="$ac_prog"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+CXX="$ac_cv_prog_CXX"
+if test -n "$CXX"; then
+ echo "$ac_t""$CXX" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+test -n "$CXX" && break
+done
+test -n "$CXX" || CXX="gcc"
+
+test -z "$CXX" && { echo "configure: error: no acceptable c++ found in \$PATH" 1>&2; exit 1; }
+
+echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6
+echo "configure:1206: checking whether we are using GNU C++" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.C <<EOF
+#ifdef __GNUC__
+ yes;
+#endif
+EOF
+if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1215: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
+ ac_cv_prog_gxx=yes
+else
+ ac_cv_prog_gxx=no
+fi
+fi
+
+echo "$ac_t""$ac_cv_prog_gxx" 1>&6
+
+if test $ac_cv_prog_gxx = yes; then
+ GXX=yes
+ ac_test_CXXFLAGS="${CXXFLAGS+set}"
+ ac_save_CXXFLAGS="$CXXFLAGS"
+ CXXFLAGS=
+ echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6
+echo "configure:1230: checking whether ${CXX-g++} accepts -g" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ echo 'void f(){}' > conftest.cc
+if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then
+ ac_cv_prog_cxx_g=yes
+else
+ ac_cv_prog_cxx_g=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6
+ if test "$ac_test_CXXFLAGS" = set; then
+ CXXFLAGS="$ac_save_CXXFLAGS"
+ elif test $ac_cv_prog_cxx_g = yes; then
+ CXXFLAGS="-g -O2"
+ else
+ CXXFLAGS="-O2"
+ fi
+else
+ GXX=
+ test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
+fi
+
+
+# AC_CHECK_TOOL does AC_REQUIRE (AC_CANONICAL_BUILD). If we dont
+# run it explicitly here, it will be run implicitly before
+# LIBGCJ_CONFIGURE, which doesn't work because that means that it will
+# be run before AC_CANONICAL_HOST.
+echo $ac_n "checking build system type""... $ac_c" 1>&6
+echo "configure:1263: checking build system type" >&5
+
+build_alias=$build
+case "$build_alias" in
+NONE)
+ case $nonopt in
+ NONE) build_alias=$host_alias ;;
+ *) build_alias=$nonopt ;;
+ esac ;;
+esac
+
+build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias`
+build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
+build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
+build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
+echo "$ac_t""$build" 1>&6
+
+
+# Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args.
+set dummy ${ac_tool_prefix}as; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1284: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AS'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AS"; then
+ ac_cv_prog_AS="$AS" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AS="${ac_tool_prefix}as"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AS" && ac_cv_prog_AS="as"
+fi
+fi
+AS="$ac_cv_prog_AS"
+if test -n "$AS"; then
+ echo "$ac_t""$AS" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ar; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1316: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$AR"; then
+ ac_cv_prog_AR="$AR" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_AR="${ac_tool_prefix}ar"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar"
+fi
+fi
+AR="$ac_cv_prog_AR"
+if test -n "$AR"; then
+ echo "$ac_t""$AR" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+
+# Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1348: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+
+if test -z "$ac_cv_prog_RANLIB"; then
+if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:1380: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$RANLIB"; then
+ ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_RANLIB="ranlib"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+ test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
+fi
+fi
+RANLIB="$ac_cv_prog_RANLIB"
+if test -n "$RANLIB"; then
+ echo "$ac_t""$RANLIB" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+else
+ RANLIB=":"
+fi
+fi
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# ./install, which can be erroneously created by make from ./install.sh.
+echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
+echo "configure:1425: checking for a BSD compatible install" >&5
+if test -z "$INSTALL"; then
+if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":"
+ for ac_dir in $PATH; do
+ # Account for people who put trailing slashes in PATH elements.
+ case "$ac_dir/" in
+ /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ if test -f $ac_dir/$ac_prog; then
+ if test $ac_prog = install &&
+ grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ else
+ ac_cv_path_install="$ac_dir/$ac_prog -c"
+ break 2
+ fi
+ fi
+ done
+ ;;
+ esac
+ done
+ IFS="$ac_save_IFS"
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL="$ac_cv_path_install"
+ else
+ # As a last resort, use the slow shell script. We don't cache a
+ # path for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the path is relative.
+ INSTALL="$ac_install_sh"
+ fi
+fi
+echo "$ac_t""$INSTALL" 1>&6
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+
+echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
+echo "configure:1479: checking whether to enable maintainer-specific portions of Makefiles" >&5
+ # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then
+ enableval="$enable_maintainer_mode"
+ USE_MAINTAINER_MODE=$enableval
+else
+ USE_MAINTAINER_MODE=no
+fi
+
+ echo "$ac_t""$USE_MAINTAINER_MODE" 1>&6
+
+
+if test $USE_MAINTAINER_MODE = yes; then
+ MAINTAINER_MODE_TRUE=
+ MAINTAINER_MODE_FALSE='#'
+else
+ MAINTAINER_MODE_TRUE='#'
+ MAINTAINER_MODE_FALSE=
+fi
+ MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+# We need AC_EXEEXT to keep automake happy in cygnus mode. However,
+# at least currently, we never actually build a program, so we never
+# need to use $(EXEEXT). Moreover, the test for EXEEXT normally
+# fails, because we are probably configuring with a cross compiler
+# which cant create executables. So we include AC_EXEEXT to keep
+# automake happy, but we dont execute it, since we dont care about
+# the result.
+if false; then
+
+
+echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
+echo "configure:1513: checking for executable suffix" >&5
+if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$CYGWIN" = yes || test "$MINGW32" = yes; then
+ ac_cv_exeext=.exe
+else
+ rm -f conftest*
+ echo 'int main () { return 0; }' > conftest.$ac_ext
+ ac_cv_exeext=
+ if { (eval echo configure:1523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
+ for file in conftest.*; do
+ case $file in
+ *.c | *.o | *.obj | *.ilk | *.pdb) ;;
+ *) ac_cv_exeext=`echo $file | sed -e s/conftest//` ;;
+ esac
+ done
+ else
+ { echo "configure: error: installation or configuration problem: compiler cannot create executables." 1>&2; exit 1; }
+ fi
+ rm -f conftest*
+ test x"${ac_cv_exeext}" = x && ac_cv_exeext=no
+fi
+fi
+
+EXEEXT=""
+test x"${ac_cv_exeext}" != xno && EXEEXT=${ac_cv_exeext}
+echo "$ac_t""${ac_cv_exeext}" 1>&6
+ac_exeext=$EXEEXT
+
+fi
+
+# configure.host sets the following important variables
+# libgcj_cflags - host specific C compiler flags
+# libgcj_cxxflags - host specific C++ compiler flags
+# libgcj_javaflags - host specific Java compiler flags
+
+libgcj_cflags=
+libgcj_cxxflags=
+libgcj_javaflags=
+
+. ${libgcj_basedir}/configure.host
+
+case ${libgcj_basedir} in
+/* | A-Za-z:/\\*) libgcj_flagbasedir=${libgcj_basedir} ;;
+*) libgcj_flagbasedir='$(top_builddir)/'${libgcj_basedir} ;;
+esac
+
+LIBGCJ_CFLAGS="${libgcj_cflags}"
+LIBGCJ_CXXFLAGS="${libgcj_cxxflags}"
+LIBGCJ_JAVAFLAGS="${libgcj_javaflags}"
+
+
+
+
+
+
+
+
+
+if test -z "$with_target_subdir" || test "$with_target_subdir" = "."; then
+ COMPPATH=.
+else
+ COMPPATH=..
+fi
+
+
+
+
+if test -d $srcdir/testsuite; then
+ TESTSUBDIR_TRUE=
+ TESTSUBDIR_FALSE='#'
+else
+ TESTSUBDIR_TRUE='#'
+ TESTSUBDIR_FALSE=
+fi
+
+# Check whether --enable-fast-character or --disable-fast-character was given.
+if test "${enable_fast_character+set}" = set; then
+ enableval="$enable_fast_character"
+ # Nothing
+
+else
+ cat >> confdefs.h <<\EOF
+#define COMPACT_CHARACTER 1
+EOF
+
+fi
+
+
+# Check whether --enable-libgcj-debug or --disable-libgcj-debug was given.
+if test "${enable_libgcj_debug+set}" = set; then
+ enableval="$enable_libgcj_debug"
+ if test "$enable_libgcj_debug" = yes; then
+ cat >> confdefs.h <<\EOF
+#define DEBUG 1
+EOF
+
+ fi
+fi
+
+
+TARGET_ECOS="no"
+# Check whether --with-ecos or --without-ecos was given.
+if test "${with_ecos+set}" = set; then
+ withval="$with_ecos"
+ TARGET_ECOS="$with_ecos"
+
+fi
+
+
+case "$TARGET_ECOS" in
+ no)
+ FILE_DESCRIPTOR=natFileDescriptorPosix.cc
+ ;;
+ *)
+ FILE_DESCRIPTOR=natFileDescriptorEcos.cc
+ cat >> confdefs.h <<\EOF
+#define ECOS 1
+EOF
+
+ ;;
+esac
+
+echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
+echo "configure:1638: checking how to run the C preprocessor" >&5
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ # This must be in double quotes, not single quotes, because CPP may get
+ # substituted into the Makefile and "${CC-cc}" will confuse make.
+ CPP="${CC-cc} -E"
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp.
+ cat > conftest.$ac_ext <<EOF
+#line 1653 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1659: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ CPP="${CC-cc} -E -traditional-cpp"
+ cat > conftest.$ac_ext <<EOF
+#line 1670 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1676: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ CPP="${CC-cc} -nologo -E"
+ cat > conftest.$ac_ext <<EOF
+#line 1687 "configure"
+#include "confdefs.h"
+#include <assert.h>
+Syntax Error
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:1693: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ :
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ CPP=/lib/cpp
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+ ac_cv_prog_CPP="$CPP"
+fi
+ CPP="$ac_cv_prog_CPP"
+else
+ ac_cv_prog_CPP="$CPP"
+fi
+echo "$ac_t""$CPP" 1>&6
+
+cat > conftest.$ac_ext <<EOF
+#line 1718 "configure"
+#include "confdefs.h"
+#include <sys/types.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "__uint32_t" >/dev/null 2>&1; then
+ rm -rf conftest*
+ cat >> confdefs.h <<\EOF
+#define HAVE_INT32_DEFINED 1
+EOF
+
+fi
+rm -f conftest*
+
+cat > conftest.$ac_ext <<EOF
+#line 1733 "configure"
+#include "confdefs.h"
+#include <sys/config.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "__uint32_t" >/dev/null 2>&1; then
+ rm -rf conftest*
+ cat >> confdefs.h <<\EOF
+#define HAVE_INT32_DEFINED 1
+EOF
+
+fi
+rm -f conftest*
+
+
+cat > conftest.$ac_ext <<EOF
+#line 1749 "configure"
+#include "confdefs.h"
+#include <time.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "mktime" >/dev/null 2>&1; then
+ rm -rf conftest*
+ cat >> confdefs.h <<\EOF
+#define HAVE_MKTIME 1
+EOF
+
+fi
+rm -f conftest*
+
+cat > conftest.$ac_ext <<EOF
+#line 1764 "configure"
+#include "confdefs.h"
+#include <time.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "localtime" >/dev/null 2>&1; then
+ rm -rf conftest*
+ cat >> confdefs.h <<\EOF
+#define HAVE_LOCALTIME 1
+EOF
+
+fi
+rm -f conftest*
+
+
+test -d java || mkdir java
+test -d java/io || mkdir java/io
+
+
+echo $ac_n "checking for garbage collector to use""... $ac_c" 1>&6
+echo "configure:1784: checking for garbage collector to use" >&5
+# Check whether --enable-java-gc or --disable-java-gc was given.
+if test "${enable_java_gc+set}" = set; then
+ enableval="$enable_java_gc"
+
+ GC=$enableval
+else
+ GC=boehm
+fi
+
+GCLIBS=
+GCINCS=
+GCDEPS=
+GCOBJS=
+case "$GC" in
+ boehm)
+ echo "$ac_t""boehm" 1>&6
+ GCLIBS='-L$(top_builddir)/../boehm-gc -lgcjgc'
+ GCDEPS='$(top_builddir)/../boehm-gc/libgcjgc.a'
+ GCINCS='-I$(top_srcdir)/../boehm-gc -I$(top_builddir)/../boehm-gc'
+ GCINCS="$GCINCS `cat ../boehm-gc/boehm-cflags`"
+ GCOBJS=boehm.o
+ GCHDR=boehm-gc.h
+ cat >> confdefs.h <<\EOF
+#define HAVE_BOEHM_GC 1
+EOF
+
+ ;;
+ no)
+ echo "$ac_t""none" 1>&6
+ GCOBJS=nogc.o
+ GCHDR=no-gc.h
+ ;;
+ *)
+ { echo "configure: error: unrecognized collector \"$GC\"" 1>&2; exit 1; }
+ ;;
+esac
+
+
+
+
+
+
+
+echo $ac_n "checking for threads package to use""... $ac_c" 1>&6
+echo "configure:1829: checking for threads package to use" >&5
+# Check whether --enable-threads or --disable-threads was given.
+if test "${enable_threads+set}" = set; then
+ enableval="$enable_threads"
+ THREADS=$enableval
+else
+ THREADS=no
+fi
+
+
+if test "$THREADS" = yes; then
+ case "$host" in
+ *-*-vxworks*)
+ THREADS=vxworks
+ ;;
+ *-*-linux*)
+ # FIXME: this isn't correct in all cases.
+ THREADS=posix
+ ;;
+ *-*-win*)
+ THREADS=win32
+ ;;
+ *-*-irix*)
+ THREADS=irix
+ ;;
+ *-*-solaris*)
+ # FIXME: for now, choose POSIX, because we implement that.
+ # Later, choose solaris threads.
+ THREADS=posix
+ ;;
+ *)
+ # For now.
+ THREADS=none
+ ;;
+ esac
+fi
+
+case "$THREADS" in
+ no | none | single)
+ THREADS=none
+ ;;
+ posix | pthreads)
+ THREADS=posix
+ case "$host" in
+ *-*-linux*)
+ cat >> confdefs.h <<\EOF
+#define LINUX_THREADS 1
+EOF
+
+ ;;
+ esac
+ ;;
+ qt)
+ ;;
+ decosf1 | irix | mach | os2 | solaris | win32 | dce | vxworks)
+ { echo "configure: error: thread package $THREADS not yet supported" 1>&2; exit 1; }
+ ;;
+ *)
+ { echo "configure: error: $THREADS is an unknown thread package" 1>&2; exit 1; }
+ ;;
+esac
+echo "$ac_t""$THREADS" 1>&6
+
+THREADLIBS=
+THREADINCS=
+THREADDEPS=
+THREADOBJS=
+THREADH=
+case "$THREADS" in
+ posix)
+ THREADLIBS=-lpthread
+ THREADOBJS=posix-threads.o
+ THREADH=posix-threads.h
+ # MIT pthreads doesn't seem to have the mutexattr functions.
+ # But for now we don't check for it. We just assume you aren't
+ # using MIT pthreads.
+ cat >> confdefs.h <<\EOF
+#define HAVE_PTHREAD_MUTEXATTR_INIT 1
+EOF
+
+ ;;
+
+ qt)
+ THREADLIBS='-L$(top_builddir)/../qthreads -lgcjcoop'
+ THREADOBJS=quick-threads.o
+ THREADINCS='-I$(top_srcdir)/../qthreads'
+ THREADH=quick-threads.h
+ THREADDEPS='$(top_builddir)/../qthreads/libgcjcoop.a'
+ ;;
+
+ none)
+ THREADOBJS=no-threads.o
+ THREADH=no-threads.h
+ ;;
+esac
+
+
+
+
+
+
+
+
+if test "$GCC" = yes; then
+ USING_GCC_TRUE=
+ USING_GCC_FALSE='#'
+else
+ USING_GCC_TRUE='#'
+ USING_GCC_FALSE=
+fi
+
+CANADIAN=no
+NULL_TARGET=no
+
+# Find eh-common.h and support headers. If we're in the tree with
+# gcc, then look there. Otherwise look in compat-include. If all else
+# fails, just hope the user has set things up somehow.
+if test -r $srcdir/../gcc/eh-common.h; then
+ EH_COMMON_INCLUDE='-I$(top_srcdir)/../gcc -I$(top_srcdir)/../include'
+else
+ if test -d $srcdir/../compat-include; then
+ EH_COMMON_INCLUDE='-I$(top_srcdir)/../compat-include'
+ else
+ EH_COMMON_INCLUDE=
+ fi
+fi
+
+if test -n "${with_cross_host}"; then
+ # We are being configured with a cross compiler. AC_REPLACE_FUNCS
+ # may not work correctly, because the compiler may not be able to
+ # link executables.
+
+ # We assume newlib. This lets us hard-code the functions we know
+ # we'll have.
+ cat >> confdefs.h <<\EOF
+#define HAVE_MEMMOVE 1
+EOF
+
+ cat >> confdefs.h <<\EOF
+#define HAVE_MEMCPY 1
+EOF
+
+ cat >> confdefs.h <<\EOF
+#define HAVE_STRERROR 1
+EOF
+
+ cat >> confdefs.h <<\EOF
+#define HAVE_CTIME_R 1
+EOF
+
+ cat >> confdefs.h <<\EOF
+#define HAVE_GMTIME_R 1
+EOF
+
+ cat >> confdefs.h <<\EOF
+#define HAVE_LOCALTIME_R 1
+EOF
+
+ cat >> confdefs.h <<\EOF
+#define HAVE_PTHREAD_MUTEXATTR_INIT 1
+EOF
+
+ cat >> confdefs.h <<\EOF
+#define HAVE_ALLOCA 1
+EOF
+
+
+ # If Canadian cross, then don't pick up tools from the build
+ # directory.
+ if test "$build" != "$with_cross_host"; then
+ CANADIAN=yes
+ EH_COMMON_INCLUDE=
+ fi
+else
+ # Some POSIX thread systems don't have pthread_mutexattr_settype.
+ # E.g., Solaris.
+ for ac_func in strerror ioctl select open fsync sleep
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2008: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2013 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_func in ctime_r ctime
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2063: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2068 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2091: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+ break
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_func in gmtime_r localtime_r readdir_r getpwuid_r
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2118: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2123 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2146: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_func in access stat mkdir rename rmdir unlink realpath
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2173: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2178 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2201: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_func in inet_aton inet_addr
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2228: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2233 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2256: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+ break
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ for ac_func in inet_pton uname
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2283: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2288 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2311: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+ for ac_func in gethostbyname_r
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2339: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2344 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+ cat >> confdefs.h <<\EOF
+#define HAVE_GETHOSTBYNAME_R 1
+EOF
+
+ # There are two different kinds of gethostbyname_r.
+ # We look for the one that returns `int'.
+ # Hopefully this check is robust enough.
+ cat > conftest.$ac_ext <<EOF
+#line 2394 "configure"
+#include "confdefs.h"
+#include <netdb.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "int.*gethostbyname_r" >/dev/null 2>&1; then
+ rm -rf conftest*
+
+ cat >> confdefs.h <<\EOF
+#define GETHOSTBYNAME_R_RETURNS_INT 1
+EOF
+
+fi
+rm -f conftest*
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+ for ac_func in gethostbyaddr_r
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2418: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2423 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2446: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+ cat >> confdefs.h <<\EOF
+#define HAVE_GETHOSTBYADDR_R 1
+EOF
+
+ # There are two different kinds of gethostbyaddr_r.
+ # We look for the one that returns `int'.
+ # Hopefully this check is robust enough.
+ cat > conftest.$ac_ext <<EOF
+#line 2473 "configure"
+#include "confdefs.h"
+#include <netdb.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "int.*gethostbyaddr_r" >/dev/null 2>&1; then
+ rm -rf conftest*
+
+ cat >> confdefs.h <<\EOF
+#define GETHOSTBYADDR_R_RETURNS_INT 1
+EOF
+
+fi
+rm -f conftest*
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+ for ac_func in gethostname
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2497: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2502 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2525: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+ cat >> confdefs.h <<\EOF
+#define HAVE_GETHOSTNAME 1
+EOF
+
+ cat > conftest.$ac_ext <<EOF
+#line 2549 "configure"
+#include "confdefs.h"
+#include <unistd.h>
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "gethostname" >/dev/null 2>&1; then
+ rm -rf conftest*
+
+ cat >> confdefs.h <<\EOF
+#define HAVE_GETHOSTNAME_DECL 1
+EOF
+
+fi
+rm -f conftest*
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+ # Look for these functions in the thread library.
+ save_LIBS="$LIBS"
+ LIBS="$LIBS $THREADLIBS"
+ for ac_func in pthread_mutexattr_settype pthread_mutexattr_setkind_np sched_yield
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2576: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2581 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2604: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ LIBS="$save_LIBS"
+
+ # We require a way to get the time.
+ time_found=no
+ for ac_func in gettimeofday time ftime
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2635: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2640 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2663: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+ time_found=yes
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ if test "$time_found" = no; then
+ { echo "configure: error: no function found to get the time" 1>&2; exit 1; }
+ fi
+
+ # We require memmove.
+ memmove_found=no
+ for ac_func in memmove
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2696: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2701 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+ memmove_found=yes
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ if test "$memmove_found" = no; then
+ { echo "configure: error: memmove is required" 1>&2; exit 1; }
+ fi
+
+ # We require memcpy.
+ memcpy_found=no
+ for ac_func in memcpy
+do
+echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:2757: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2762 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:2785: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_func 1
+EOF
+ memcpy_found=yes
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+ if test "$memcpy_found" = no; then
+ { echo "configure: error: memcpy is required" 1>&2; exit 1; }
+ fi
+
+ test -d "$libgcj_basedir/../gcc/java" || {
+ CANADIAN=yes
+ NULL_TARGET=yes
+ }
+fi
+
+
+
+if test "$CANADIAN" = yes; then
+ CANADIAN_TRUE=
+ CANADIAN_FALSE='#'
+else
+ CANADIAN_TRUE='#'
+ CANADIAN_FALSE=
+fi
+
+
+if test "$NULL_TARGET" = yes; then
+ NULL_TARGET_TRUE=
+ NULL_TARGET_FALSE='#'
+else
+ NULL_TARGET_TRUE='#'
+ NULL_TARGET_FALSE=
+fi
+
+
+if test "$CANADIAN" = no || test "$NULL_TARGET" = yes; then
+ NATIVE_TRUE=
+ NATIVE_FALSE='#'
+else
+ NATIVE_TRUE='#'
+ NATIVE_FALSE=
+fi
+
+
+
+
+
+for ac_hdr in unistd.h sys/time.h sys/types.h fcntl.h sys/ioctl.h sys/filio.h sys/stat.h sys/select.h sys/socket.h netinet/in.h arpa/inet.h netdb.h pwd.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2855: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2860 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2865: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+for ac_hdr in dirent.h
+do
+ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
+echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
+echo "configure:2895: checking for $ac_hdr" >&5
+if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 2900 "configure"
+#include "confdefs.h"
+#include <$ac_hdr>
+EOF
+ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
+{ (eval echo configure:2905: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
+if test -z "$ac_err"; then
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=yes"
+else
+ echo "$ac_err" >&5
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_header_$ac_safe=no"
+fi
+rm -f conftest*
+fi
+if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
+ cat >> confdefs.h <<EOF
+#define $ac_tr_hdr 1
+EOF
+
+else
+ echo "$ac_t""no" 1>&6
+fi
+done
+
+
+echo $ac_n "checking whether struct sockaddr_in6 is in netinet/in.h""... $ac_c" 1>&6
+echo "configure:2933: checking whether struct sockaddr_in6 is in netinet/in.h" >&5
+cat > conftest.$ac_ext <<EOF
+#line 2935 "configure"
+#include "confdefs.h"
+#include <netinet/in.h>
+int main() {
+struct sockaddr_in6 addr6;
+; return 0; }
+EOF
+if { (eval echo configure:2942: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cat >> confdefs.h <<\EOF
+#define HAVE_INET6 1
+EOF
+
+ echo "$ac_t""yes" 1>&6
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
+fi
+rm -f conftest*
+
+echo $ac_n "checking for socklen_t in sys/socket.h""... $ac_c" 1>&6
+echo "configure:2958: checking for socklen_t in sys/socket.h" >&5
+cat > conftest.$ac_ext <<EOF
+#line 2960 "configure"
+#include "confdefs.h"
+#include <sys/socket.h>
+int main() {
+socklen_t x = 5;
+; return 0; }
+EOF
+if { (eval echo configure:2967: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cat >> confdefs.h <<\EOF
+#define HAVE_SOCKLEN_T 1
+EOF
+
+ echo "$ac_t""yes" 1>&6
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
+fi
+rm -f conftest*
+
+echo $ac_n "checking for tm_gmtoff in struct tm""... $ac_c" 1>&6
+echo "configure:2983: checking for tm_gmtoff in struct tm" >&5
+cat > conftest.$ac_ext <<EOF
+#line 2985 "configure"
+#include "confdefs.h"
+#include <time.h>
+int main() {
+struct tm tim; tim.tm_gmtoff = 0;
+; return 0; }
+EOF
+if { (eval echo configure:2992: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cat >> confdefs.h <<\EOF
+#define STRUCT_TM_HAS_GMTOFF 1
+EOF
+
+ echo "$ac_t""yes" 1>&6
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
+ echo $ac_n "checking for global timezone variable""... $ac_c" 1>&6
+echo "configure:3005: checking for global timezone variable" >&5
+ cat > conftest.$ac_ext <<EOF
+#line 3007 "configure"
+#include "confdefs.h"
+#include <time.h>
+int main() {
+long z2 = timezone;
+; return 0; }
+EOF
+if { (eval echo configure:3014: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+ rm -rf conftest*
+ cat >> confdefs.h <<\EOF
+#define HAVE_TIMEZONE 1
+EOF
+
+ echo "$ac_t""yes" 1>&6
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ echo "$ac_t""no" 1>&6
+fi
+rm -f conftest*
+fi
+rm -f conftest*
+
+# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
+# for constant arguments. Useless!
+echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
+echo "configure:3034: checking for working alloca.h" >&5
+if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3039 "configure"
+#include "confdefs.h"
+#include <alloca.h>
+int main() {
+char *p = alloca(2 * sizeof(int));
+; return 0; }
+EOF
+if { (eval echo configure:3046: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_header_alloca_h=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_header_alloca_h=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_header_alloca_h" 1>&6
+if test $ac_cv_header_alloca_h = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_ALLOCA_H 1
+EOF
+
+fi
+
+echo $ac_n "checking for alloca""... $ac_c" 1>&6
+echo "configure:3067: checking for alloca" >&5
+if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3072 "configure"
+#include "confdefs.h"
+
+#ifdef __GNUC__
+# define alloca __builtin_alloca
+#else
+# ifdef _MSC_VER
+# include <malloc.h>
+# define alloca _alloca
+# else
+# if HAVE_ALLOCA_H
+# include <alloca.h>
+# else
+# ifdef _AIX
+ #pragma alloca
+# else
+# ifndef alloca /* predefined by HP cc +Olibcalls */
+char *alloca ();
+# endif
+# endif
+# endif
+# endif
+#endif
+
+int main() {
+char *p = (char *) alloca(1);
+; return 0; }
+EOF
+if { (eval echo configure:3100: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ ac_cv_func_alloca_works=yes
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ ac_cv_func_alloca_works=no
+fi
+rm -f conftest*
+fi
+
+echo "$ac_t""$ac_cv_func_alloca_works" 1>&6
+if test $ac_cv_func_alloca_works = yes; then
+ cat >> confdefs.h <<\EOF
+#define HAVE_ALLOCA 1
+EOF
+
+fi
+
+if test $ac_cv_func_alloca_works = no; then
+ # The SVR3 libPW and SVR4 libucb both contain incompatible functions
+ # that cause trouble. Some versions do not even contain alloca or
+ # contain a buggy version. If you still want to use their alloca,
+ # use ar to extract alloca.o from them instead of compiling alloca.c.
+ ALLOCA=alloca.${ac_objext}
+ cat >> confdefs.h <<\EOF
+#define C_ALLOCA 1
+EOF
+
+
+echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
+echo "configure:3132: checking whether alloca needs Cray hooks" >&5
+if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3137 "configure"
+#include "confdefs.h"
+#if defined(CRAY) && ! defined(CRAY2)
+webecray
+#else
+wenotbecray
+#endif
+
+EOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ egrep "webecray" >/dev/null 2>&1; then
+ rm -rf conftest*
+ ac_cv_os_cray=yes
+else
+ rm -rf conftest*
+ ac_cv_os_cray=no
+fi
+rm -f conftest*
+
+fi
+
+echo "$ac_t""$ac_cv_os_cray" 1>&6
+if test $ac_cv_os_cray = yes; then
+for ac_func in _getb67 GETB67 getb67; do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+echo "configure:3162: checking for $ac_func" >&5
+if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3167 "configure"
+#include "confdefs.h"
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $ac_func(); below. */
+#include <assert.h>
+/* Override any gcc2 internal prototype to avoid an error. */
+/* We use char because int might match the return type of a gcc2
+ builtin and then its argument prototype would still apply. */
+char $ac_func();
+
+int main() {
+
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+choke me
+#else
+$ac_func();
+#endif
+
+; return 0; }
+EOF
+if { (eval echo configure:3190: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=yes"
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -rf conftest*
+ eval "ac_cv_func_$ac_func=no"
+fi
+rm -f conftest*
+fi
+
+if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
+ echo "$ac_t""yes" 1>&6
+ cat >> confdefs.h <<EOF
+#define CRAY_STACKSEG_END $ac_func
+EOF
+
+ break
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+done
+fi
+
+echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
+echo "configure:3217: checking stack direction for C alloca" >&5
+if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test "$cross_compiling" = yes; then
+ ac_cv_c_stack_direction=0
+else
+ cat > conftest.$ac_ext <<EOF
+#line 3225 "configure"
+#include "confdefs.h"
+find_stack_direction ()
+{
+ static char *addr = 0;
+ auto char dummy;
+ if (addr == 0)
+ {
+ addr = &dummy;
+ return find_stack_direction ();
+ }
+ else
+ return (&dummy > addr) ? 1 : -1;
+}
+main ()
+{
+ exit (find_stack_direction() < 0);
+}
+EOF
+if { (eval echo configure:3244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
+then
+ ac_cv_c_stack_direction=1
+else
+ echo "configure: failed program was:" >&5
+ cat conftest.$ac_ext >&5
+ rm -fr conftest*
+ ac_cv_c_stack_direction=-1
+fi
+rm -fr conftest*
+fi
+
+fi
+
+echo "$ac_t""$ac_cv_c_stack_direction" 1>&6
+cat >> confdefs.h <<EOF
+#define STACK_DIRECTION $ac_cv_c_stack_direction
+EOF
+
+fi
+
+
+for ac_prog in perl
+do
+# Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
+echo "configure:3271: checking for $ac_word" >&5
+if eval "test \"`echo '$''{'ac_cv_prog_PERL'+set}'`\" = set"; then
+ echo $ac_n "(cached) $ac_c" 1>&6
+else
+ if test -n "$PERL"; then
+ ac_cv_prog_PERL="$PERL" # Let the user override the test.
+else
+ IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
+ ac_dummy="$PATH"
+ for ac_dir in $ac_dummy; do
+ test -z "$ac_dir" && ac_dir=.
+ if test -f $ac_dir/$ac_word; then
+ ac_cv_prog_PERL="$ac_prog"
+ break
+ fi
+ done
+ IFS="$ac_save_ifs"
+fi
+fi
+PERL="$ac_cv_prog_PERL"
+if test -n "$PERL"; then
+ echo "$ac_t""$PERL" 1>&6
+else
+ echo "$ac_t""no" 1>&6
+fi
+
+test -n "$PERL" && break
+done
+test -n "$PERL" || PERL="false"
+
+
+if test "${multilib}" = "yes"; then
+ multilib_arg="--enable-multilib"
+else
+ multilib_arg=
+fi
+
+here=`pwd`
+
+
+trap '' 1 2 15
+cat > confcache <<\EOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs. It is not useful on other systems.
+# If it contains results you don't want to keep, you may remove or edit it.
+#
+# By default, configure uses ./config.cache as the cache file,
+# creating it if it does not exist already. You can give configure
+# the --cache-file=FILE option to use a different cache file; that is
+# what configure does when it calls configure scripts in
+# subdirectories, so they share the cache.
+# Giving --cache-file=/dev/null disables caching, for debugging configure.
+# config.status only pays attention to the cache file if you give it the
+# --recheck option to rerun configure.
+#
+EOF
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, don't put newlines in cache variables' values.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(set) 2>&1 |
+ case `(ac_space=' '; set | grep ac_space) 2>&1` in
+ *ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote substitution
+ # turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ -e "s/'/'\\\\''/g" \
+ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
+ ;;
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
+ ;;
+ esac >> confcache
+if cmp -s $cache_file confcache; then
+ :
+else
+ if test -w $cache_file; then
+ echo "updating cache $cache_file"
+ cat confcache > $cache_file
+ else
+ echo "not updating unwritable cache $cache_file"
+ fi
+fi
+rm -f confcache
+
+trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Any assignment to VPATH causes Sun make to only execute
+# the first set of double-colon rules, so remove it if not needed.
+# If there is a colon in the path, we need to keep it.
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
+fi
+
+trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
+
+DEFS=-DHAVE_CONFIG_H
+
+# Without the "./", some shells look in PATH for config.status.
+: ${CONFIG_STATUS=./config.status}
+
+echo creating $CONFIG_STATUS
+rm -f $CONFIG_STATUS
+cat > $CONFIG_STATUS <<EOF
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# This directory was configured as follows,
+# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
+#
+# $0 $ac_configure_args
+#
+# Compiler output produced by configure, useful for debugging
+# configure, is in ./config.log if it exists.
+
+ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
+for ac_option
+do
+ case "\$ac_option" in
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
+ exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
+ -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
+ echo "$CONFIG_STATUS generated by autoconf version 2.13"
+ exit 0 ;;
+ -help | --help | --hel | --he | --h)
+ echo "\$ac_cs_usage"; exit 0 ;;
+ *) echo "\$ac_cs_usage"; exit 1 ;;
+ esac
+done
+
+ac_given_srcdir=$srcdir
+ac_given_INSTALL="$INSTALL"
+
+trap 'rm -fr `echo "Makefile testsuite/Makefile include/config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+# Protect against being on the right side of a sed subst in config.status.
+sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
+ s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
+$ac_vpsub
+$extrasub
+s%@SHELL@%$SHELL%g
+s%@CFLAGS@%$CFLAGS%g
+s%@CPPFLAGS@%$CPPFLAGS%g
+s%@CXXFLAGS@%$CXXFLAGS%g
+s%@FFLAGS@%$FFLAGS%g
+s%@DEFS@%$DEFS%g
+s%@LDFLAGS@%$LDFLAGS%g
+s%@LIBS@%$LIBS%g
+s%@exec_prefix@%$exec_prefix%g
+s%@prefix@%$prefix%g
+s%@program_transform_name@%$program_transform_name%g
+s%@bindir@%$bindir%g
+s%@sbindir@%$sbindir%g
+s%@libexecdir@%$libexecdir%g
+s%@datadir@%$datadir%g
+s%@sysconfdir@%$sysconfdir%g
+s%@sharedstatedir@%$sharedstatedir%g
+s%@localstatedir@%$localstatedir%g
+s%@libdir@%$libdir%g
+s%@includedir@%$includedir%g
+s%@oldincludedir@%$oldincludedir%g
+s%@infodir@%$infodir%g
+s%@mandir@%$mandir%g
+s%@host@%$host%g
+s%@host_alias@%$host_alias%g
+s%@host_cpu@%$host_cpu%g
+s%@host_vendor@%$host_vendor%g
+s%@host_os@%$host_os%g
+s%@target@%$target%g
+s%@target_alias@%$target_alias%g
+s%@target_cpu@%$target_cpu%g
+s%@target_vendor@%$target_vendor%g
+s%@target_os@%$target_os%g
+s%@build@%$build%g
+s%@build_alias@%$build_alias%g
+s%@build_cpu@%$build_cpu%g
+s%@build_vendor@%$build_vendor%g
+s%@build_os@%$build_os%g
+s%@libgcj_basedir@%$libgcj_basedir%g
+s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
+s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
+s%@INSTALL_DATA@%$INSTALL_DATA%g
+s%@PACKAGE@%$PACKAGE%g
+s%@VERSION@%$VERSION%g
+s%@ACLOCAL@%$ACLOCAL%g
+s%@AUTOCONF@%$AUTOCONF%g
+s%@AUTOMAKE@%$AUTOMAKE%g
+s%@AUTOHEADER@%$AUTOHEADER%g
+s%@MAKEINFO@%$MAKEINFO%g
+s%@SET_MAKE@%$SET_MAKE%g
+s%@CC@%$CC%g
+s%@CXX@%$CXX%g
+s%@AS@%$AS%g
+s%@AR@%$AR%g
+s%@RANLIB@%$RANLIB%g
+s%@MAINTAINER_MODE_TRUE@%$MAINTAINER_MODE_TRUE%g
+s%@MAINTAINER_MODE_FALSE@%$MAINTAINER_MODE_FALSE%g
+s%@MAINT@%$MAINT%g
+s%@EXEEXT@%$EXEEXT%g
+s%@LIBGCJ_CFLAGS@%$LIBGCJ_CFLAGS%g
+s%@LIBGCJ_CXXFLAGS@%$LIBGCJ_CXXFLAGS%g
+s%@LIBGCJ_JAVAFLAGS@%$LIBGCJ_JAVAFLAGS%g
+s%@COMPPATH@%$COMPPATH%g
+s%@TESTSUBDIR_TRUE@%$TESTSUBDIR_TRUE%g
+s%@TESTSUBDIR_FALSE@%$TESTSUBDIR_FALSE%g
+s%@CPP@%$CPP%g
+s%@GCLIBS@%$GCLIBS%g
+s%@GCINCS@%$GCINCS%g
+s%@GCDEPS@%$GCDEPS%g
+s%@GCOBJS@%$GCOBJS%g
+s%@THREADLIBS@%$THREADLIBS%g
+s%@THREADINCS@%$THREADINCS%g
+s%@THREADDEPS@%$THREADDEPS%g
+s%@THREADOBJS@%$THREADOBJS%g
+s%@USING_GCC_TRUE@%$USING_GCC_TRUE%g
+s%@USING_GCC_FALSE@%$USING_GCC_FALSE%g
+s%@CANADIAN_TRUE@%$CANADIAN_TRUE%g
+s%@CANADIAN_FALSE@%$CANADIAN_FALSE%g
+s%@NULL_TARGET_TRUE@%$NULL_TARGET_TRUE%g
+s%@NULL_TARGET_FALSE@%$NULL_TARGET_FALSE%g
+s%@NATIVE_TRUE@%$NATIVE_TRUE%g
+s%@NATIVE_FALSE@%$NATIVE_FALSE%g
+s%@EH_COMMON_INCLUDE@%$EH_COMMON_INCLUDE%g
+s%@AM_RUNTESTFLAGS@%$AM_RUNTESTFLAGS%g
+s%@ALLOCA@%$ALLOCA%g
+s%@PERL@%$PERL%g
+s%@here@%$here%g
+
+CEOF
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+
+# Split the substitutions into bite-sized pieces for seds with
+# small command number limits, like on Digital OSF/1 and HP-UX.
+ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
+ac_file=1 # Number of current file.
+ac_beg=1 # First line for current file.
+ac_end=$ac_max_sed_cmds # Line after last line for current file.
+ac_more_lines=:
+ac_sed_cmds=""
+while $ac_more_lines; do
+ if test $ac_beg -gt 1; then
+ sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
+ else
+ sed "${ac_end}q" conftest.subs > conftest.s$ac_file
+ fi
+ if test ! -s conftest.s$ac_file; then
+ ac_more_lines=false
+ rm -f conftest.s$ac_file
+ else
+ if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds="sed -f conftest.s$ac_file"
+ else
+ ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
+ fi
+ ac_file=`expr $ac_file + 1`
+ ac_beg=$ac_end
+ ac_end=`expr $ac_end + $ac_max_sed_cmds`
+ fi
+done
+if test -z "$ac_sed_cmds"; then
+ ac_sed_cmds=cat
+fi
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+
+CONFIG_FILES=\${CONFIG_FILES-"Makefile testsuite/Makefile"}
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
+
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dir_suffix.
+ ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dir_suffix= ac_dots=
+ fi
+
+ case "$ac_given_srcdir" in
+ .) srcdir=.
+ if test -z "$ac_dots"; then top_srcdir=.
+ else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
+ /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
+ *) # Relative path.
+ srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
+ top_srcdir="$ac_dots$ac_given_srcdir" ;;
+ esac
+
+ case "$ac_given_INSTALL" in
+ [/$]*) INSTALL="$ac_given_INSTALL" ;;
+ *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
+ esac
+
+ echo creating "$ac_file"
+ rm -f "$ac_file"
+ configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
+ case "$ac_file" in
+ *Makefile*) ac_comsub="1i\\
+# $configure_input" ;;
+ *) ac_comsub= ;;
+ esac
+
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ sed -e "$ac_comsub
+s%@configure_input@%$configure_input%g
+s%@srcdir@%$srcdir%g
+s%@top_srcdir@%$top_srcdir%g
+s%@INSTALL@%$INSTALL%g
+" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
+fi; done
+rm -f conftest.s*
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
+ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
+ac_dC='\3'
+ac_dD='%g'
+# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
+ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_uB='\([ ]\)%\1#\2define\3'
+ac_uC=' '
+ac_uD='\4%g'
+# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
+ac_eB='$%\1#\2define\3'
+ac_eC=' '
+ac_eD='%g'
+
+if test "${CONFIG_HEADERS+set}" != set; then
+EOF
+cat >> $CONFIG_STATUS <<EOF
+ CONFIG_HEADERS="include/config.h"
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+fi
+for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
+ # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+ case "$ac_file" in
+ *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
+ ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
+ *) ac_file_in="${ac_file}.in" ;;
+ esac
+
+ echo creating $ac_file
+
+ rm -f conftest.frag conftest.in conftest.out
+ ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
+ cat $ac_file_inputs > conftest.in
+
+EOF
+
+# Transform confdefs.h into a sed script conftest.vals that substitutes
+# the proper values into config.h.in to produce config.h. And first:
+# Protect against being on the right side of a sed subst in config.status.
+# Protect against being in an unquoted here document in config.status.
+rm -f conftest.vals
+cat > conftest.hdr <<\EOF
+s/[\\&%]/\\&/g
+s%[\\$`]%\\&%g
+s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
+s%ac_d%ac_u%gp
+s%ac_u%ac_e%gp
+EOF
+sed -n -f conftest.hdr confdefs.h > conftest.vals
+rm -f conftest.hdr
+
+# This sed command replaces #undef with comments. This is necessary, for
+# example, in the case of _POSIX_SOURCE, which is predefined and required
+# on some systems where configure will not decide to define it.
+cat >> conftest.vals <<\EOF
+s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
+EOF
+
+# Break up conftest.vals because some shells have a limit on
+# the size of here documents, and old seds have small limits too.
+
+rm -f conftest.tail
+while :
+do
+ ac_lines=`grep -c . conftest.vals`
+ # grep -c gives empty output for an empty file on some AIX systems.
+ if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
+ # Write a limited-size here document to conftest.frag.
+ echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
+ sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
+ echo 'CEOF
+ sed -f conftest.frag conftest.in > conftest.out
+ rm -f conftest.in
+ mv conftest.out conftest.in
+' >> $CONFIG_STATUS
+ sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
+ rm -f conftest.vals
+ mv conftest.tail conftest.vals
+done
+rm -f conftest.vals
+
+cat >> $CONFIG_STATUS <<\EOF
+ rm -f conftest.frag conftest.h
+ echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
+ cat conftest.in >> conftest.h
+ rm -f conftest.in
+ if cmp -s $ac_file conftest.h 2>/dev/null; then
+ echo "$ac_file is unchanged"
+ rm -f conftest.h
+ else
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+ # The file is in a subdirectory.
+ test ! -d "$ac_dir" && mkdir "$ac_dir"
+ fi
+ rm -f $ac_file
+ mv conftest.h $ac_file
+ fi
+fi; done
+
+EOF
+
+cat >> $CONFIG_STATUS <<EOF
+ac_sources="java/io/$FILE_DESCRIPTOR include/$GCHDR include/$THREADH"
+ac_dests="java/io/natFileDescriptor.cc include/java-gc.h include/java-threads.h"
+EOF
+
+cat >> $CONFIG_STATUS <<\EOF
+srcdir=$ac_given_srcdir
+while test -n "$ac_sources"; do
+ set $ac_dests; ac_dest=$1; shift; ac_dests=$*
+ set $ac_sources; ac_source=$1; shift; ac_sources=$*
+
+ echo "linking $srcdir/$ac_source to $ac_dest"
+
+ if test ! -r $srcdir/$ac_source; then
+ { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; }
+ fi
+ rm -f $ac_dest
+
+ # Make relative symlinks.
+ # Remove last slash and all that follows it. Not all systems have dirname.
+ ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'`
+ if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then
+ # The dest file is in a subdirectory.
+ test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir"
+ ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`"
+ # A "../" for each directory in $ac_dest_dir_suffix.
+ ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'`
+ else
+ ac_dest_dir_suffix= ac_dots=
+ fi
+
+ case "$srcdir" in
+ [/$]*) ac_rel_source="$srcdir/$ac_source" ;;
+ *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;;
+ esac
+
+ # Make a symlink if possible; otherwise try a hard link.
+ if ln -s $ac_rel_source $ac_dest 2>/dev/null ||
+ ln $srcdir/$ac_source $ac_dest; then :
+ else
+ { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; }
+ fi
+done
+EOF
+cat >> $CONFIG_STATUS <<EOF
+
+srcdir=${srcdir}
+host=${host}
+target=${target}
+with_multisubdir=${with_multisubdir}
+ac_configure_args="${multilib_arg} ${ac_configure_args}"
+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+libgcj_basedir=${libgcj_basedir}
+CC="${CC}"
+CXX="${CXX}"
+
+EOF
+cat >> $CONFIG_STATUS <<\EOF
+test -z "$CONFIG_HEADERS" || echo timestamp > include/stamp-h
+if test -n "$CONFIG_FILES"; then
+ ac_file=Makefile . ${libgcj_basedir}/../config-ml.in
+fi
+exit 0
+EOF
+chmod +x $CONFIG_STATUS
+rm -fr confdefs* $ac_clean_files
+test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
+
diff --git a/libjava/configure.host b/libjava/configure.host
new file mode 100644
index 0000000..61e722b
--- /dev/null
+++ b/libjava/configure.host
@@ -0,0 +1,61 @@
+# configure.host
+
+# This shell script handles all host based configuration for libgcj.
+# It sets various shell variables based on the the host and the
+# configuration options. You can modify this shell script without
+# needing to rerun autoconf.
+
+# This shell script should be invoked as
+# . configure.host
+# If it encounters an error, it will exit with a message.
+
+# It uses the following shell variables:
+# host The configuration host
+# host_cpu The configuration host CPU
+# target_optspace --enable-target-optspace ("yes", "no", "")
+
+# It sets the following shell variables:
+# libgcj_cflags Special CFLAGS to use when building
+# libgcj_cxxflags Special CXXFLAGS to use when building
+# libgcj_javaflags Special JAVAFLAGS to use when building
+
+libgcj_flags=
+libgcj_cflags=
+libgcj_cxxflags=
+libgcj_javaflags=
+
+case "${target_optspace}:${host}" in
+ yes:*)
+ libgcj_flags="${libgcj_flags} -Os"
+ ;;
+ :m32r-* | :d10v-* | :d30v-*)
+ libgcj_flags="${libgcj_flags} -Os"
+ ;;
+ no:* | :*)
+ # Nothing.
+ ;;
+esac
+
+AM_RUNTESTFLAGS=
+
+# Set any host dependent compiler flags.
+# THIS TABLE IS SORTED. KEEP IT THAT WAY.
+
+echo "$target"
+
+case "${host}" in
+ mips-tx39-*|mipstx39-unknown-*)
+ libgcj_flags="${libgcj_flags} -G 0"
+ LDFLAGS="$LDFLAGS -Tjmr3904dram.ld"
+ AM_RUNTESTFLAGS="--target_board=jmr3904-sim"
+ ;;
+ i686-*|i586-*)
+ libgcj_flags="${libgcj_flags} -ffloat-store"
+ ;;
+ *)
+ ;;
+esac
+
+libgcj_cflags="${libgcj_cflags} ${libgcj_flags}"
+libgcj_cxxflags="${libgcj_cxxflags} ${libgcj_flags}"
+libgcj_javaflags="${libgcj_javaflags} ${libgcj_flags}"
diff --git a/libjava/configure.in b/libjava/configure.in
new file mode 100644
index 0000000..98083c9
--- /dev/null
+++ b/libjava/configure.in
@@ -0,0 +1,387 @@
+dnl Process this with autoconf to create configure
+AC_INIT(java/lang/System.java)
+
+dnl Can't be done in LIBGCJ_CONFIGURE because that confuses automake.
+AC_CONFIG_AUX_DIR(..)
+
+AC_CANONICAL_SYSTEM
+
+dnl We use these options to decide which functions to include.
+AC_ARG_WITH(target-subdir,
+[ --with-target-subdir=SUBDIR Configuring in a subdirectory])
+AC_ARG_WITH(cross-host,
+[ --with-cross-host=HOST Configuring with a cross compiler])
+
+LIBGCJ_CONFIGURE(.)
+
+AM_CONFIG_HEADER(include/config.h)
+
+if test -z "$with_target_subdir" || test "$with_target_subdir" = "."; then
+ COMPPATH=.
+else
+ COMPPATH=..
+fi
+AC_SUBST(COMPPATH)
+
+dnl The -no-testsuite modules omit the test subdir.
+AM_CONDITIONAL(TESTSUBDIR, test -d $srcdir/testsuite)
+
+dnl See whether the user prefers size or speed for Character.
+dnl The default is size.
+AC_ARG_ENABLE(fast-character,
+[ --enable-fast-character Prefer speed over size for Character],
+# Nothing
+, AC_DEFINE(COMPACT_CHARACTER))
+
+dnl See if the user has requested runtime debugging.
+AC_ARG_ENABLE(libgcj-debug,
+[ --enable-libgcj-debug Enable runtime debugging code],
+ if test "$enable_libgcj_debug" = yes; then
+ AC_DEFINE(DEBUG)
+ fi)
+
+dnl If the target is an eCos system, use the appropriate eCos
+dnl I/O routines.
+dnl FIXME: this should not be a local option but a global target
+dnl system; at present there is no eCos target.
+TARGET_ECOS="no"
+AC_ARG_WITH(ecos,
+[ --with-ecos Enable runtime eCos target support.],
+TARGET_ECOS="$with_ecos"
+)
+
+case "$TARGET_ECOS" in
+ no)
+ FILE_DESCRIPTOR=natFileDescriptorPosix.cc
+ ;;
+ *)
+ FILE_DESCRIPTOR=natFileDescriptorEcos.cc
+ AC_DEFINE(ECOS)
+ ;;
+esac
+
+AC_EGREP_HEADER(__uint32_t, sys/types.h, AC_DEFINE(HAVE_INT32_DEFINED))
+AC_EGREP_HEADER(__uint32_t, sys/config.h, AC_DEFINE(HAVE_INT32_DEFINED))
+
+dnl These may not be defined in a non-ANS conformant embedded system.
+dnl FIXME: Should these case a runtime exception in that case?
+AC_EGREP_HEADER(mktime, time.h, AC_DEFINE(HAVE_MKTIME))
+AC_EGREP_HEADER(localtime, time.h, AC_DEFINE(HAVE_LOCALTIME))
+
+dnl Create the subdirectory for natFileDescriptor.cc, or the attempt
+dnl to create the link will fail.
+test -d java || mkdir java
+test -d java/io || mkdir java/io
+AC_LINK_FILES(java/io/$FILE_DESCRIPTOR, java/io/natFileDescriptor.cc)
+
+dnl Allow the GC to be disabled. Can be useful when debugging.
+AC_MSG_CHECKING([for garbage collector to use])
+AC_ARG_ENABLE(java-gc,
+changequote(<<,>>)dnl
+<< --enable-java-gc=TYPE choose garbage collector [boehm]>>,
+changequote([,])
+ GC=$enableval,
+ GC=boehm)
+GCLIBS=
+GCINCS=
+GCDEPS=
+GCOBJS=
+case "$GC" in
+ boehm)
+ AC_MSG_RESULT(boehm)
+ GCLIBS='-L$(top_builddir)/../boehm-gc -lgcjgc'
+ GCDEPS='$(top_builddir)/../boehm-gc/libgcjgc.a'
+ GCINCS='-I$(top_srcdir)/../boehm-gc -I$(top_builddir)/../boehm-gc'
+ dnl We also want to pick up some cpp flags required when including
+ dnl boehm-config.h. Yuck.
+ GCINCS="$GCINCS `cat ../boehm-gc/boehm-cflags`"
+ GCOBJS=boehm.o
+ GCHDR=boehm-gc.h
+ dnl The POSIX thread support needs to know this.
+ AC_DEFINE(HAVE_BOEHM_GC)
+ ;;
+ no)
+ AC_MSG_RESULT(none)
+ GCOBJS=nogc.o
+ GCHDR=no-gc.h
+ ;;
+ *)
+ AC_MSG_ERROR(unrecognized collector \"$GC\")
+ ;;
+esac
+AC_SUBST(GCLIBS)
+AC_SUBST(GCINCS)
+AC_SUBST(GCDEPS)
+AC_SUBST(GCOBJS)
+AC_LINK_FILES(include/$GCHDR, include/java-gc.h)
+
+
+dnl Note that this code is kept in sync with similar code in gcc/configure.in.
+dnl In particular both packages must make the same decision about which
+dnl thread package to use.
+AC_MSG_CHECKING([for threads package to use])
+AC_ARG_ENABLE(threads, [ --enable-threads=TYPE choose threading package],
+ THREADS=$enableval,
+ dnl FIXME: figure out native threads to use here.
+ THREADS=no)
+
+if test "$THREADS" = yes; then
+ case "$host" in
+ *-*-vxworks*)
+ THREADS=vxworks
+ ;;
+ *-*-linux*)
+ # FIXME: this isn't correct in all cases.
+ THREADS=posix
+ ;;
+ *-*-win*)
+ THREADS=win32
+ ;;
+ *-*-irix*)
+ THREADS=irix
+ ;;
+ *-*-solaris*)
+ # FIXME: for now, choose POSIX, because we implement that.
+ # Later, choose solaris threads.
+ THREADS=posix
+ ;;
+ *)
+ # For now.
+ THREADS=none
+ ;;
+ esac
+fi
+
+case "$THREADS" in
+ no | none | single)
+ THREADS=none
+ ;;
+ posix | pthreads)
+ THREADS=posix
+ case "$host" in
+ *-*-linux*)
+ AC_DEFINE(LINUX_THREADS)
+ ;;
+ esac
+ ;;
+ qt)
+ ;;
+ decosf1 | irix | mach | os2 | solaris | win32 | dce | vxworks)
+ AC_MSG_ERROR(thread package $THREADS not yet supported)
+ ;;
+ *)
+ AC_MSG_ERROR($THREADS is an unknown thread package)
+ ;;
+esac
+AC_MSG_RESULT($THREADS)
+
+THREADLIBS=
+THREADINCS=
+THREADDEPS=
+THREADOBJS=
+THREADH=
+case "$THREADS" in
+ posix)
+ THREADLIBS=-lpthread
+ THREADOBJS=posix-threads.o
+ THREADH=posix-threads.h
+ # MIT pthreads doesn't seem to have the mutexattr functions.
+ # But for now we don't check for it. We just assume you aren't
+ # using MIT pthreads.
+ AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_INIT)
+ ;;
+
+ qt)
+ THREADLIBS='-L$(top_builddir)/../qthreads -lgcjcoop'
+ THREADOBJS=quick-threads.o
+ THREADINCS='-I$(top_srcdir)/../qthreads'
+ THREADH=quick-threads.h
+ THREADDEPS='$(top_builddir)/../qthreads/libgcjcoop.a'
+ ;;
+
+ none)
+ THREADOBJS=no-threads.o
+ THREADH=no-threads.h
+ ;;
+esac
+AC_LINK_FILES(include/$THREADH, include/java-threads.h)
+AC_SUBST(THREADLIBS)
+AC_SUBST(THREADINCS)
+AC_SUBST(THREADDEPS)
+AC_SUBST(THREADOBJS)
+
+AM_CONDITIONAL(USING_GCC, test "$GCC" = yes)
+
+CANADIAN=no
+NULL_TARGET=no
+
+# Find eh-common.h and support headers. If we're in the tree with
+# gcc, then look there. Otherwise look in compat-include. If all else
+# fails, just hope the user has set things up somehow.
+if test -r $srcdir/../gcc/eh-common.h; then
+ EH_COMMON_INCLUDE='-I$(top_srcdir)/../gcc -I$(top_srcdir)/../include'
+else
+ if test -d $srcdir/../compat-include; then
+ EH_COMMON_INCLUDE='-I$(top_srcdir)/../compat-include'
+ else
+ EH_COMMON_INCLUDE=
+ fi
+fi
+
+if test -n "${with_cross_host}"; then
+ # We are being configured with a cross compiler. AC_REPLACE_FUNCS
+ # may not work correctly, because the compiler may not be able to
+ # link executables.
+
+ # We assume newlib. This lets us hard-code the functions we know
+ # we'll have.
+ AC_DEFINE(HAVE_MEMMOVE)
+ AC_DEFINE(HAVE_MEMCPY)
+ AC_DEFINE(HAVE_STRERROR)
+ AC_DEFINE(HAVE_CTIME_R)
+ AC_DEFINE(HAVE_GMTIME_R)
+ AC_DEFINE(HAVE_LOCALTIME_R)
+ dnl This is only for POSIX threads.
+ AC_DEFINE(HAVE_PTHREAD_MUTEXATTR_INIT)
+ dnl We also assume we are using gcc, which provides alloca.
+ AC_DEFINE(HAVE_ALLOCA)
+
+ # If Canadian cross, then don't pick up tools from the build
+ # directory.
+ if test "$build" != "$with_cross_host"; then
+ CANADIAN=yes
+ EH_COMMON_INCLUDE=
+ fi
+else
+ # Some POSIX thread systems don't have pthread_mutexattr_settype.
+ # E.g., Solaris.
+ AC_CHECK_FUNCS(strerror ioctl select open fsync sleep)
+ AC_CHECK_FUNCS(ctime_r ctime, break)
+ AC_CHECK_FUNCS(gmtime_r localtime_r readdir_r getpwuid_r)
+ AC_CHECK_FUNCS(access stat mkdir rename rmdir unlink realpath)
+ AC_CHECK_FUNCS(inet_aton inet_addr, break)
+ AC_CHECK_FUNCS(inet_pton uname)
+
+ AC_CHECK_FUNCS(gethostbyname_r, [
+ AC_DEFINE(HAVE_GETHOSTBYNAME_R)
+ # There are two different kinds of gethostbyname_r.
+ # We look for the one that returns `int'.
+ # Hopefully this check is robust enough.
+ AC_EGREP_HEADER(int.*gethostbyname_r, netdb.h, [
+ AC_DEFINE(GETHOSTBYNAME_R_RETURNS_INT)])])
+
+ AC_CHECK_FUNCS(gethostbyaddr_r, [
+ AC_DEFINE(HAVE_GETHOSTBYADDR_R)
+ # There are two different kinds of gethostbyaddr_r.
+ # We look for the one that returns `int'.
+ # Hopefully this check is robust enough.
+ AC_EGREP_HEADER(int.*gethostbyaddr_r, netdb.h, [
+ AC_DEFINE(GETHOSTBYADDR_R_RETURNS_INT)])])
+
+ AC_CHECK_FUNCS(gethostname, [
+ AC_DEFINE(HAVE_GETHOSTNAME)
+ AC_EGREP_HEADER(gethostname, unistd.h, [
+ AC_DEFINE(HAVE_GETHOSTNAME_DECL)])])
+
+ # Look for these functions in the thread library.
+ save_LIBS="$LIBS"
+ LIBS="$LIBS $THREADLIBS"
+ AC_CHECK_FUNCS(pthread_mutexattr_settype pthread_mutexattr_setkind_np sched_yield)
+ LIBS="$save_LIBS"
+
+ # We require a way to get the time.
+ time_found=no
+ AC_CHECK_FUNCS(gettimeofday time ftime, time_found=yes)
+ if test "$time_found" = no; then
+ AC_MSG_ERROR([no function found to get the time])
+ fi
+
+ # We require memmove.
+ memmove_found=no
+ AC_CHECK_FUNCS(memmove, memmove_found=yes)
+ if test "$memmove_found" = no; then
+ AC_MSG_ERROR([memmove is required])
+ fi
+
+ # We require memcpy.
+ memcpy_found=no
+ AC_CHECK_FUNCS(memcpy, memcpy_found=yes)
+ if test "$memcpy_found" = no; then
+ AC_MSG_ERROR([memcpy is required])
+ fi
+
+ test -d "$libgcj_basedir/../gcc/java" || {
+ CANADIAN=yes
+ NULL_TARGET=yes
+ }
+fi
+
+AM_CONDITIONAL(CANADIAN, test "$CANADIAN" = yes)
+AM_CONDITIONAL(NULL_TARGET, test "$NULL_TARGET" = yes)
+AM_CONDITIONAL(NATIVE, test "$CANADIAN" = no || test "$NULL_TARGET" = yes)
+
+AC_SUBST(EH_COMMON_INCLUDE)
+
+AC_SUBST(AM_RUNTESTFLAGS)
+
+dnl We check for sys/filio.h because Solaris 2.5 defines FIONREAD there.
+dnl On that system, sys/ioctl.h will not include sys/filio.h unless
+dnl BSD_COMP is defined; just including sys/filio.h is simpler.
+AC_CHECK_HEADERS(unistd.h sys/time.h sys/types.h fcntl.h sys/ioctl.h sys/filio.h sys/stat.h sys/select.h sys/socket.h netinet/in.h arpa/inet.h netdb.h pwd.h)
+dnl We avoid AC_HEADER_DIRENT since we really only care about dirent.h
+dnl for now. If you change this, you also must update natFile.cc.
+AC_CHECK_HEADERS(dirent.h)
+
+AC_MSG_CHECKING([whether struct sockaddr_in6 is in netinet/in.h])
+AC_TRY_COMPILE([#include <netinet/in.h>], [struct sockaddr_in6 addr6;],
+ [AC_DEFINE(HAVE_INET6)
+ AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)])
+
+AC_MSG_CHECKING([for socklen_t in sys/socket.h])
+AC_TRY_COMPILE([#include <sys/socket.h>], [socklen_t x = 5;],
+ [AC_DEFINE(HAVE_SOCKLEN_T)
+ AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)])
+
+AC_MSG_CHECKING([for tm_gmtoff in struct tm])
+AC_TRY_COMPILE([#include <time.h>], [struct tm tim; tim.tm_gmtoff = 0;],
+ [AC_DEFINE(STRUCT_TM_HAS_GMTOFF)
+ AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)
+ AC_MSG_CHECKING([for global timezone variable])
+ dnl FIXME: we don't want a link check here because that won't work
+ dnl when cross-compiling. So instead we make an assumption that
+ dnl the header file will mention timezone if it exists.
+ AC_TRY_COMPILE([#include <time.h>], [long z2 = timezone;],
+ [AC_DEFINE(HAVE_TIMEZONE)
+ AC_MSG_RESULT(yes)],
+ [AC_MSG_RESULT(no)])])
+
+AC_FUNC_ALLOCA
+
+AC_CHECK_PROGS(PERL, perl, false)
+
+if test "${multilib}" = "yes"; then
+ multilib_arg="--enable-multilib"
+else
+ multilib_arg=
+fi
+
+here=`pwd`
+AC_SUBST(here)
+
+AC_OUTPUT(Makefile testsuite/Makefile,
+[if test -n "$CONFIG_FILES"; then
+ ac_file=Makefile . ${libgcj_basedir}/../config-ml.in
+fi],
+srcdir=${srcdir}
+host=${host}
+target=${target}
+with_multisubdir=${with_multisubdir}
+ac_configure_args="${multilib_arg} ${ac_configure_args}"
+CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
+libgcj_basedir=${libgcj_basedir}
+CC="${CC}"
+CXX="${CXX}"
+)
diff --git a/libjava/doc/cni.sgml b/libjava/doc/cni.sgml
new file mode 100644
index 0000000..0255431
--- /dev/null
+++ b/libjava/doc/cni.sgml
@@ -0,0 +1,972 @@
+<!DOCTYPE article PUBLIC "-//Davenport//DTD DocBook V3.0//EN">
+<article>
+<artheader>
+<title>The Cygnus Native Interface for C++/Java Integration</title>
+<subtitle>Writing native Java methods in natural C++</subtitle>
+<authorgroup>
+<corpauthor>Cygnus Solutions</corpauthor>
+</authorgroup>
+<date>February, 1999</date>
+</artheader>
+
+<abstract><para>
+This documents CNI, the Cygnus Native Interface,
+which is is a convenient way to write Java native methods using C++.
+This is a more efficient, more convenient, but less portable
+alternative to the standard JNI (Java Native Interface).</para>
+</abstract>
+
+<sect1><title>Basic Concepts</title>
+<para>
+In terms of languages features, Java is mostly a subset
+of C++. Java has a few important extensions, plus a powerful standard
+class library, but on the whole that does not change the basic similarity.
+Java is a hybrid object-oriented language, with a few native types,
+in addition to class types. It is class-based, where a class may have
+static as well as per-object fields, and static as well as instance methods.
+Non-static methods may be virtual, and may be overloaded. Overloading is
+resolved at compile time by matching the actual argument types against
+the parameter types. Virtual methods are implemented using indirect calls
+through a dispatch table (virtual function table). Objects are
+allocated on the heap, and initialized using a constructor method.
+Classes are organized in a package hierarchy.
+</para>
+<para>
+All of the listed attributes are also true of C++, though C++ has
+extra features (for example in C++ objects may be allocated not just
+on the heap, but also statically or in a local stack frame). Because
+<acronym>gcj</acronym> uses the same compiler technology as
+<acronym>g++</acronym> (the GNU C++ compiler), it is possible
+to make the intersection of the two languages use the same
+<acronym>ABI</acronym> (object representation and calling conventions).
+The key idea in <acronym>CNI</acronym> is that Java objects are C++ objects,
+and all Java classes are C++ classes (but not the other way around).
+So the most important task in integrating Java and C++ is to
+remove gratuitous incompatibilities.
+</para>
+<para>
+You write CNI code as a regular C++ source file. (You do have to use
+a Java/CNI-aware C++ compiler, specifically a recent version of G++.)</para>
+<para>
+You start with:
+<programlisting>
+#include &lt;cni.h&gt;
+</programlisting></para>
+
+<para>
+You then include header files for the various Java classes you need
+to use:
+<programlisting>
+#include &lt;java/lang/Character.h&gt;
+#include &lt;java/util/Date.h&gt;
+#include &lt;java/lang/IndexOutOfBoundsException.h&gt;
+</programlisting></para>
+
+<para>
+In general, <acronym>CNI</acronym> functions and macros start with the
+`<literal>Jv</literal>' prefix, for example the function
+`<literal>JvNewObjectArray</literal>'. This convention is used to
+avoid conflicts with other libraries.
+Internal functions in <acronym>CNI</acronym> start with the prefix
+`<literal>_Jv_</literal>'. You should not call these;
+if you find a need to, let us know and we will try to come up with an
+alternate solution. (This manual lists <literal>_Jv_AllocBytes</literal>
+as an example; <acronym>CNI</acronym> should instead provide
+a <literal>JvAllocBytes</literal> function.)</para>
+<para>
+These header files are automatically generated by <command>gcjh</command>.
+</para>
+</sect1>
+
+<sect1><title>Packages</title>
+<para>
+The only global names in Java are class names, and packages.
+A <firstterm>package</firstterm> can contain zero or more classes, and
+also zero or more sub-packages.
+Every class belongs to either an unnamed package or a package that
+has a hierarchical and globally unique name.
+</para>
+<para>
+A Java package is mapped to a C++ <firstterm>namespace</firstterm>.
+The Java class <literal>java.lang.String</literal>
+is in the package <literal>java.lang</literal>, which is a sub-package
+of <literal>java</literal>. The C++ equivalent is the
+class <literal>java::lang::String</literal>,
+which is in the namespace <literal>java::lang</literal>,
+which is in the namespace <literal>java</literal>.
+</para>
+<para>
+Here is how you could express this:
+<programlisting>
+// Declare the class(es), possibly in a header file:
+namespace java {
+ namespace lang {
+ class Object;
+ class String;
+ ...
+ }
+}
+
+class java::lang::String : public java::lang::Object
+{
+ ...
+};
+</programlisting>
+</para>
+<para>
+The <literal>gcjh</literal> tool automatically generates the
+nessary namespace declarations.</para>
+
+<sect2><title>Nested classes as a substitute for namespaces</title>
+<para>
+<!-- FIXME the next line reads poorly jsm -->
+It is not that long since g++ got complete namespace support,
+and it was very recent (end of February 1999) that <literal>libgcj</literal>
+was changed to uses namespaces. Releases before then used
+nested classes, which are the C++ equivalent of Java inner classes.
+They provide similar (though less convenient) functionality.
+The old syntax is:
+<programlisting>
+class java {
+ class lang {
+ class Object;
+ class String;
+ };
+};
+</programlisting>
+The obvious difference is the use of <literal>class</literal> instead
+of <literal>namespace</literal>. The more important difference is
+that all the members of a nested class have to be declared inside
+the parent class definition, while namespaces can be defined in
+multiple places in the source. This is more convenient, since it
+corresponds more closely to how Java packages are defined.
+The main difference is in the declarations; the syntax for
+using a nested class is the same as with namespaces:
+<programlisting>
+class java::lang::String : public java::lang::Object
+{ ... }
+</programlisting>
+Note that the generated code (including name mangling)
+using nested classes is the same as that using namespaces.</para>
+</sect2>
+
+<sect2><title>Leaving out package names</title>
+<para>
+<!-- FIXME next line reads poorly jsm -->
+Having to always type the fully-qualified class name is verbose.
+It also makes it more difficult to change the package containing a class.
+The Java <literal>package</literal> declaration specifies that the
+following class declarations are in the named package, without having
+to explicitly name the full package qualifiers.
+The <literal>package</literal> declaration can be followed by zero or
+more <literal>import</literal> declarations, which allows either
+a single class or all the classes in a package to be named by a simple
+identifier. C++ provides something similar
+with the <literal>using</literal> declaration and directive.
+</para>
+<para>
+A Java simple-type-import declaration:
+<programlisting>
+import <replaceable>PackageName</replaceable>.<replaceable>TypeName</replaceable>;
+</programlisting>
+allows using <replaceable>TypeName</replaceable> as a shorthand for
+<literal><replaceable>PackageName</replaceable>.<replaceable>TypeName</replaceable></literal>.
+The C++ (more-or-less) equivalent is a <literal>using</literal>-declaration:
+<programlisting>
+using <replaceable>PackageName</replaceable>::<replaceable>TypeName</replaceable>;
+</programlisting>
+</para>
+<para>
+A Java import-on-demand declaration:
+<programlisting>
+import <replaceable>PackageName</replaceable>.*;
+</programlisting>
+allows using <replaceable>TypeName</replaceable> as a shorthand for
+<literal><replaceable>PackageName</replaceable>.<replaceable>TypeName</replaceable></literal>
+The C++ (more-or-less) equivalent is a <literal>using</literal>-directive:
+<programlisting>
+using namespace <replaceable>PackageName</replaceable>;
+</programlisting>
+</para>
+</sect2>
+</sect1>
+
+<sect1><title>Primitive types</title>
+<para>
+Java provides 8 <quote>primitives</quote> types:
+<literal>byte</literal>, <literal>short</literal>, <literal>int</literal>,
+<literal>long</literal>, <literal>float</literal>, <literal>double</literal>,
+<literal>char</literal>, and <literal>boolean</literal>.
+These are the same as the following C++ <literal>typedef</literal>s
+(which are defined by <literal>cni.h</literal>):
+<literal>jbyte</literal>, <literal>jshort</literal>, <literal>jint</literal>,
+<literal>jlong</literal>, <literal>jfloat</literal>,
+<literal>jdouble</literal>,
+<literal>jchar</literal>, and <literal>jboolean</literal>.
+You should use the C++ typenames
+(<ForeignPhrase><Abbrev>e.g.</Abbrev></ForeignPhrase> <literal>jint</literal>),
+and not the Java types names
+(<ForeignPhrase><Abbrev>e.g.</Abbrev></ForeignPhrase> <literal>int</literal>),
+even if they are <quote>the same</quote>.
+This is because there is no guarantee that the C++ type
+<literal>int</literal> is a 32-bit type, but <literal>jint</literal>
+<emphasis>is</emphasis> guaranteed to be a 32-bit type.
+
+<informaltable frame="all" colsep="1" rowsep="0">
+<tgroup cols="3">
+<thead>
+<row>
+<entry>Java type</entry>
+<entry>C/C++ typename</entry>
+<entry>Description</entry>
+</thead>
+<tbody>
+<row>
+<entry>byte</entry>
+<entry>jbyte</entry>
+<entry>8-bit signed integer</entry>
+</row>
+<row>
+<entry>short</entry>
+<entry>jshort</entry>
+<entry>16-bit signed integer</entry>
+</row>
+<row>
+<entry>int</entry>
+<entry>jint</entry>
+<entry>32-bit signed integer</entry>
+</row>
+<row>
+<entry>long</entry>
+<entry>jlong</entry>
+<entry>64-bit signed integer</entry>
+</row>
+<row>
+<entry>float</entry>
+<entry>jfloat</entry>
+<entry>32-bit IEEE floating-point number</entry>
+</row>
+<row>
+<entry>double</entry>
+<entry>jdouble</entry>
+<entry>64-bit IEEE floating-point number</entry>
+</row>
+<row>
+<entry>char</entry>
+<entry>jchar</entry>
+<entry>16-bit Unicode character</entry>
+</row>
+<row>
+<entry>boolean</entry>
+<entry>jboolean</entry>
+<entry>logical (Boolean) values</entry>
+</row>
+<row>
+<entry>void</entry>
+<entry>void</entry>
+<entry>no value</entry>
+</row>
+</tbody></tgroup>
+</informaltable>
+</para>
+
+<para>
+<funcsynopsis>
+<funcdef><function>JvPrimClass</function></funcdef>
+<paramdef><parameter>primtype</parameter></paramdef>
+</funcsynopsis>
+This is a macro whose argument should be the name of a primitive
+type, <ForeignPhrase><Abbrev>e.g.</Abbrev></ForeignPhrase>
+<literal>byte</literal>.
+The macro expands to a pointer to the <literal>Class</literal> object
+corresponding to the primitive type.
+<ForeignPhrase><Abbrev>E.g.</Abbrev></ForeignPhrase>,
+<literal>JvPrimClass(void)</literal>
+has the same value as the Java expression
+<literal>Void.TYPE</literal> (or <literal>void.class</literal>).
+</para>
+
+</sect1>
+
+<sect1><title>Objects and Classes</title>
+<sect2><title>Classes</title>
+<para>
+All Java classes are derived from <literal>java.lang.Object</literal>.
+C++ does not have a unique <quote>root</quote>class, but we use
+a C++ <literal>java::lang::Object</literal> as the C++ version
+of the <literal>java.lang.Object</literal> Java class. All
+other Java classes are mapped into corresponding C++ classes
+derived from <literal>java::lang::Object</literal>.</para>
+<para>
+Interface inheritance (the <quote><literal>implements</literal></quote>
+keyword) is currently not reflected in the C++ mapping.</para>
+</sect2>
+<sect2><title>Object references</title>
+<para>
+We implement a Java object reference as a pointer to the start
+of the referenced object. It maps to a C++ pointer.
+(We cannot use C++ references for Java references, since
+once a C++ reference has been initialized, you cannot change it to
+point to another object.)
+The <literal>null</literal> Java reference maps to the <literal>NULL</literal>
+C++ pointer.
+</para>
+<para>
+Note that in some Java implementations an object reference is implemented as
+a pointer to a two-word <quote>handle</quote>. One word of the handle
+points to the fields of the object, while the other points
+to a method table. Gcj does not use this extra indirection.
+</para>
+</sect2>
+<sect2><title>Object fields</title>
+<para>
+Each object contains an object header, followed by the instance
+fields of the class, in order. The object header consists of
+a single pointer to a dispatch or virtual function table.
+(There may be extra fields <quote>in front of</quote> the object,
+for example for
+memory management, but this is invisible to the application, and
+the reference to the object points to the dispatch table pointer.)
+</para>
+<para>
+The fields are laid out in the same order, alignment, and size
+as in C++. Specifically, 8-bite and 16-bit native types
+(<literal>byte</literal>, <literal>short</literal>, <literal>char</literal>,
+and <literal>boolean</literal>) are <emphasis>not</emphasis>
+widened to 32 bits.
+Note that the Java VM does extend 8-bit and 16-bit types to 32 bits
+when on the VM stack or temporary registers.</para>
+<para>
+If you include the <literal>gcjh</literal>-generated header for a
+class, you can access fields of Java classes in the <quote>natural</quote>
+way. Given the following Java class:
+<programlisting>
+public class Int
+{
+ public int i;
+ public Integer (int i) { this.i = i; }
+ public static zero = new Integer(0);
+}
+</programlisting>
+you can write:
+<programlisting>
+#include &lt;cni.h&gt;
+#include &lt;Int.h&gt;
+Int*
+mult (Int *p, jint k)
+{
+ if (k == 0)
+ return Int::zero; // static member access.
+ return new Int(p->i * k);
+}
+</programlisting>
+</para>
+<para>
+<acronym>CNI</acronym> does not strictly enforce the Java access
+specifiers, because Java permissions cannot be directly mapped
+into C++ permission. Private Java fields and methods are mapped
+to private C++ fields and methods, but other fields and methods
+are mapped to public fields and methods.
+</para>
+</sect2>
+</sect1>
+
+<sect1><title>Arrays</title>
+<para>
+While in many ways Java is similar to C and C++,
+it is quite different in its treatment of arrays.
+C arrays are based on the idea of pointer arithmetic,
+which would be incompatible with Java's security requirements.
+Java arrays are true objects (array types inherit from
+<literal>java.lang.Object</literal>). An array-valued variable
+is one that contains a reference (pointer) to an array object.
+</para>
+<para>
+Referencing a Java array in C++ code is done using the
+<literal>JArray</literal> template, which as defined as follows:
+<programlisting>
+class __JArray : public java::lang::Object
+{
+public:
+ int length;
+};
+
+template&lt;class T&gt;
+class JArray : public __JArray
+{
+ T data[0];
+public:
+ T&amp; operator[](jint i) { return data[i]; }
+};
+</programlisting></para>
+<para>
+<funcsynopsis>
+ <funcdef>template&lt;class T&gt; T *<function>elements</function></funcdef>
+ <paramdef>JArray&lt;T&gt; &amp;<parameter>array</parameter></paramdef>
+</funcsynopsis>
+ This template function can be used to get a pointer to the
+ elements of the <parameter>array</parameter>.
+ For instance, you can fetch a pointer
+ to the integers that make up an <literal>int[]</literal> like so:
+<programlisting>
+extern jintArray foo;
+jint *intp = elements (foo);
+</programlisting>
+The name of this function may change in the future.</para>
+<para>
+There are a number of typedefs which correspond to typedefs from JNI.
+Each is the type of an array holding objects of the appropriate type:
+<programlisting>
+typedef __JArray *jarray;
+typedef JArray&lt;jobject&gt; *jobjectArray;
+typedef JArray&lt;jboolean&gt; *jbooleanArray;
+typedef JArray&lt;jbyte&gt; *jbyteArray;
+typedef JArray&lt;jchar&gt; *jcharArray;
+typedef JArray&lt;jshort&gt; *jshortArray;
+typedef JArray&lt;jint&gt; *jintArray;
+typedef JArray&lt;jlong&gt; *jlongArray;
+typedef JArray&lt;jfloat&gt; *jfloatArray;
+typedef JArray&lt;jdouble&gt; *jdoubleArray;
+</programlisting>
+</para>
+<para>
+ You can create an array of objects using this function:
+<funcsynopsis>
+ <funcdef>jobjectArray <function>JvNewObjectArray</function></funcdef>
+ <paramdef>jint <parameter>length</parameter></paramdef>
+ <paramdef>jclass <parameter>klass</parameter></paramdef>
+ <paramdef>jobject <parameter>init</parameter></paramdef>
+ </funcsynopsis>
+ Here <parameter>klass</parameter> is the type of elements of the array;
+ <parameter>init</parameter> is the initial
+ value to be put into every slot in the array.
+</para>
+<para>
+For each primitive type there is a function which can be used
+ to create a new array holding that type. The name of the function
+ is of the form
+ `<literal>JvNew&lt;<replaceable>Type</replaceable>&gt;Array</literal>',
+ where `&lt;<replaceable>Type</replaceable>&gt;' is the name of
+ the primitive type, with its initial letter in upper-case. For
+ instance, `<literal>JvNewBooleanArray</literal>' can be used to create
+ a new array of booleans.
+ Each such function follows this example:
+<funcsynopsis>
+ <funcdef>jbooleanArray <function>JvNewBooleanArray</function></funcdef>
+ <paramdef>jint <parameter>length</parameter></paramdef>
+</funcsynopsis>
+</para>
+<para>
+<funcsynopsis>
+ <funcdef>jsize <function>JvGetArrayLength</function></funcdef>
+ <paramdef>jarray <parameter>array</parameter></paramdef>
+ </funcsynopsis>
+ Returns the length of <parameter>array</parameter>.</para>
+</sect1>
+
+<sect1><title>Methods</title>
+
+<para>
+Java methods are mapped directly into C++ methods.
+The header files generated by <literal>gcjh</literal>
+include the appropriate method definitions.
+Basically, the generated methods have the same names and
+<quote>corresponding</quote> types as the Java methods,
+and are called in the natural manner.</para>
+
+<sect2><title>Overloading</title>
+<para>
+Both Java and C++ provide method overloading, where multiple
+methods in a class have the same name, and the correct one is chosen
+(at compile time) depending on the argument types.
+The rules for choosing the correct method are (as expected) more complicated
+in C++ than in Java, but given a set of overloaded methods
+generated by <literal>gcjh</literal> the C++ compiler will choose
+the expected one.</para>
+<para>
+Common assemblers and linkers are not aware of C++ overloading,
+so the standard implementation strategy is to encode the
+parameter types of a method into its assembly-level name.
+This encoding is called <firstterm>mangling</firstterm>,
+and the encoded name is the <firstterm>mangled name</firstterm>.
+The same mechanism is used to implement Java overloading.
+For C++/Java interoperability, it is important that both the Java
+and C++ compilers use the <emphasis>same</emphasis> encoding scheme.
+</para>
+</sect2>
+
+<sect2><title>Static methods</title>
+<para>
+Static Java methods are invoked in <acronym>CNI</acronym> using the standard
+C++ syntax, using the `<literal>::</literal>' operator rather
+than the `<literal>.</literal>' operator. For example:
+</para>
+<programlisting>
+jint i = java::lang::Math::round((jfloat) 2.3);
+</programlisting>
+<para>
+<!-- FIXME this next sentence seems ungammatical jsm -->
+Defining a static native method uses standard C++ method
+definition syntax. For example:
+<programlisting>
+#include &lt;java/lang/Integer.h&gt;
+java::lang::Integer*
+java::lang::Integer::getInteger(jstring str)
+{
+ ...
+}
+</programlisting>
+</sect2>
+
+<sect2><title>Object Constructors</title>
+<para>
+Constructors are called implicitly as part of object allocation
+using the <literal>new</literal> operator. For example:
+<programlisting>
+java::lang::Int x = new java::lang::Int(234);
+</programlisting>
+</para>
+<para>
+<!-- FIXME rewrite needed here, mine may not be good jsm -->
+Java does not allow a constructor to be a native method.
+Instead, you could define a private method which
+you can have the constructor call.
+</para>
+</sect2>
+
+<sect2><title>Instance methods</title>
+<para>
+<!-- FIXME next para week, I would remove a few words from some sentences jsm -->
+Virtual method dispatch is handled essentially the same way
+in C++ and Java -- <abbrev>i.e.</abbrev> by doing an
+indirect call through a function pointer stored in a per-class virtual
+function table. C++ is more complicated because it has to support
+multiple inheritance, but this does not effect Java classes.
+However, G++ has historically used a different calling convention
+that is not compatible with the one used by <acronym>gcj</acronym>.
+During 1999, G++ will switch to a new ABI that is compatible with
+<acronym>gcj</acronym>. Some platforms (including Linux) have already
+changed. On other platforms, you will have to pass
+the <literal>-fvtable-thunks</literal> flag to g++ when
+compiling <acronym>CNI</acronym> code.
+</para>
+<para>
+Calling a Java instance method in <acronym>CNI</acronym> is done
+using the standard C++ syntax. For example:
+<programlisting>
+ java::lang::Number *x;
+ if (x-&gt;doubleValue() &gt; 0.0) ...
+</programlisting>
+</para>
+<para>
+Defining a Java native instance method is also done the natural way:
+<programlisting>
+#include &lt;java/lang/Integer.h&gt;
+jdouble
+java::lang:Integer::doubleValue()
+{
+ return (jdouble) value;
+}
+</programlisting>
+</para>
+</sect2>
+
+<sect2><title>Interface method calls</title>
+<para>
+In Java you can call a method using an interface reference.
+This is not yet supported in <acronym>CNI</acronym>.</para>
+</sect2>
+</sect1>
+
+<sect1><title>Object allocation</title>
+
+<para>
+New Java objects are allocated using a
+<firstterm>class-instance-creation-expression</firstterm>:
+<programlisting>
+new <replaceable>Type</replaceable> ( <replaceable>arguments</replaceable> )
+</programlisting>
+The same syntax is used in C++. The main difference is that
+C++ objects have to be explicitly deleted; in Java they are
+automatically deleted by the garbage collector.
+Using <acronym>CNI</acronym>, you can allocate a new object
+using standard C++ syntax. The C++ compiler is smart enough to
+realize the class is a Java class, and hence it needs to allocate
+memory from the garbage collector. If you have overloaded
+constructors, the compiler will choose the correct one
+using standard C++ overload resolution rules. For example:
+<programlisting>
+java::util::Hashtable *ht = new java::util::Hashtable(120);
+</programlisting>
+</para>
+<para>
+<funcsynopsis>
+ <funcdef>void *<function>_Jv_AllocBytes</function></funcdef>
+ <paramdef>jsize <parameter>size</parameter></paramdef>
+</funcsynopsis>
+ Allocate <parameter>size</parameter> bytes. This memory is not
+ scanned by the garbage collector. However, it will be freed by
+the GC if no references to it are discovered.
+</para>
+</sect1>
+
+<sect1><title>Interfaces</title>
+<para>
+A Java class can <firstterm>implement</firstterm> zero or more
+<firstterm>interfaces</firstterm>, in addition to inheriting from
+a single base class.
+An interface is a collection of constants and method specifications;
+it is similar to the <firstterm>signatures</firstterm> available
+as a G++ extension. An interface provides a subset of the
+functionality of C++ abstract virtual base classes, but they
+are currently implemented differently.
+CNI does not currently provide any support for interfaces,
+or calling methods from an interface pointer.
+This is partly because we are planning to re-do how
+interfaces are implemented in <acronym>gcj</acronym>.
+</para>
+</sect1>
+
+<sect1><title>Strings</title>
+<para>
+<acronym>CNI</acronym> provides a number of utility functions for
+working with Java <literal>String</literal> objects.
+The names and interfaces are analogous to those of <acronym>JNI</acronym>.
+</para>
+
+<para>
+<funcsynopsis>
+ <funcdef>jstring <function>JvNewString</function></funcdef>
+ <paramdef>const jchar *<parameter>chars</parameter></paramdef>
+ <paramdef>jsize <parameter>len</parameter></paramdef>
+ </funcsynopsis>
+ Creates a new Java String object, where
+ <parameter>chars</parameter> are the contents, and
+ <parameter>len</parameter> is the number of characters.
+</para>
+
+<para>
+<funcsynopsis>
+ <funcdef>jstring <function>JvNewStringLatin1</function></funcdef>
+ <paramdef>const char *<parameter>bytes</parameter></paramdef>
+ <paramdef>jsize <parameter>len</parameter></paramdef>
+ </funcsynopsis>
+ Creates a new Java String object, where <parameter>bytes</parameter>
+ are the Latin-1 encoded
+ characters, and <parameter>len</parameter> is the length of
+ <parameter>bytes</parameter>, in bytes.
+</para>
+
+<para>
+<funcsynopsis>
+ <funcdef>jstring <function>JvNewStringLatin1</function></funcdef>
+ <paramdef>const char *<parameter>bytes</parameter></paramdef>
+ </funcsynopsis>
+ Like the first JvNewStringLatin1, but computes <parameter>len</parameter>
+ using <literal>strlen</literal>.
+</para>
+
+<para>
+<funcsynopsis>
+ <funcdef>jstring <function>JvNewStringUTF</function></funcdef>
+ <paramdef>const char *<parameter>bytes</parameter></paramdef>
+ </funcsynopsis>
+ Creates a new Java String object, where <parameter>bytes</parameter> are
+ the UTF-8 encoded characters of the string, terminated by a null byte.
+</para>
+
+<para>
+<funcsynopsis>
+ <funcdef>jchar *<function>JvGetStringChars</function></funcdef>
+ <paramdef>jstring <parameter>str</parameter></paramdef>
+ </funcsynopsis>
+ Returns a pointer to the array of characters which make up a string.
+</para>
+
+<para>
+<funcsynopsis>
+ <funcdef> int <function>JvGetStringUTFLength</function></funcdef>
+ <paramdef>jstring <parameter>str</parameter></paramdef>
+ </funcsynopsis>
+ Returns number of bytes required to encode contents
+ of <parameter>str</parameter> as UTF-8.
+</para>
+
+<para>
+<funcsynopsis>
+ <funcdef> jsize <function>JvGetStringUTFRegion</function></funcdef>
+ <paramdef>jstring <parameter>str</parameter></paramdef>
+ <paramdef>jsize <parameter>start</parameter></paramdef>
+ <paramdef>jsize <parameter>len</parameter></paramdef>
+ <paramdef>char *<parameter>buf</parameter></paramdef>
+ </funcsynopsis>
+ This puts the UTF-8 encoding of a region of the
+ string <parameter>str</parameter> into
+ the buffer <parameter>buf</parameter>.
+ The region of the string to fetch is specifued by
+ <parameter>start</parameter> and <parameter>len</parameter>.
+ It is assumed that <parameter>buf</parameter> is big enough
+ to hold the result. Note
+ that <parameter>buf</parameter> is <emphasis>not</emphasis> null-terminated.
+</para>
+</sect1>
+
+<sect1><title>Class Initialization</title>
+<para>
+Java requires that each class be automatically initialized at the time
+of the first active use. Initializing a class involves
+initializing the static fields, running code in class initializer
+methods, and initializing base classes. There may also be
+some implementation specific actions, such as allocating
+<classname>String</classname> objects corresponding to string literals in
+the code.</para>
+<para>
+The Gcj compiler inserts calls to <literal>JvInitClass</literal> (actually
+<literal>_Jv_InitClass</literal>) at appropriate places to ensure that a
+class is initialized when required. The C++ compiler does not
+insert these calls automatically - it is the programmer's
+responsibility to make sure classes are initialized. However,
+this is fairly painless because of the conventions assumed by the Java
+system.</para>
+<para>
+First, <literal>libgcj</literal> will make sure a class is initialized
+before an instance of that object is created. This is one
+of the responsibilities of the <literal>new</literal> operation. This is
+taken care of both in Java code, and in C++ code. (When the G++
+compiler sees a <literal>new</literal> of a Java class, it will call
+a routine in <literal>libgcj</literal> to allocate the object, and that
+routine will take care of initializing the class.) It follows that you can
+access an instance field, or call an instance (non-static)
+method and be safe in the knowledge that the class and all
+of its base classes have been initialized.</para>
+<para>
+Invoking a static method is also safe. This is because the
+Java compiler adds code to the start of a static method to make sure
+the class is initialized. However, the C++ compiler does not
+add this extra code. Hence, if you write a native static method
+using CNI, you are responsible for calling <literal>JvInitClass</literal>
+before doing anything else in the method (unless you are sure
+it is safe to leave it out).</para>
+<para>
+Accessing a static field also requires the class of the
+field to be initialized. The Java compiler will generate code
+to call <literal>_Jv_InitClass</literal> before getting or setting the field.
+However, the C++ compiler will not generate this extra code,
+so it is your responsibility to make sure the class is
+initialized before you access a static field.</para>
+</sect1>
+<sect1><title>Exception Handling</title>
+<para>
+While C++ and Java share a common exception handling framework,
+things are not quite as integrated as we would like, yet.
+The main issue is the incompatible exception <emphasis>values</emphasis>,
+and that the <quote>run-time type information</quote> facilities of the
+two languages are not integrated.</para>
+<para>
+Basically, this means that you cannot in C++ catch an exception
+value (<classname>Throwable</classname>) thrown from Java code, nor
+can you use <literal>throw</literal> on a Java exception value from C++ code,
+and expect to be able to catch it in Java code.
+We do intend to change this.</para>
+<para>
+You can throw a Java exception from C++ code by using
+the <literal>JvThrow</literal> <acronym>CNI</acronym> function.
+<funcsynopsis>
+ <funcdef>void <function>JvThrow</function></funcdef>
+ <paramdef>jobject <parameter>obj</parameter></paramdef>
+</funcsynopsis>
+ Throws an exception <parameter>obj</parameter>, in a way compatible
+with the Java exception-handling functions.
+ The class of <parameter>obj</parameter> must be a subclass of
+ <literal>Throwable</literal>.
+</para>
+<para>
+Here is an example:
+<programlisting>
+if (i >= count)
+ JvThrow (new java::lang::IndexOutOfBoundsException());
+</programlisting>
+</para>
+</sect1>
+
+<sect1><title>Synchronization</title>
+<para>
+Each Java object has an implicit monitor.
+The Java VM uses the instruction <literal>monitorenter</literal> to acquire
+and lock a monitor, and <literal>monitorexit</literal> to release it.
+The JNI has corresponding methods <literal>MonitorEnter</literal>
+and <literal>MonitorExit</literal>. The corresponding CNI macros
+are <literal>JvMonitorEnter</literal> and <literal>JvMonitorExit</literal>.
+</para>
+<para>
+The Java source language does not provide direct access to these primitives.
+Instead, there is a <literal>synchronized</literal> statement that does an
+implicit <literal>monitorenter</literal> before entry to the block,
+and does a <literal>monitorexit</literal> on exit from the block.
+Note that the lock has to be released even the block is abnormally
+terminated by an exception, which means there is an implicit
+<literal>try</literal>-<literal>finally</literal>.
+</para>
+<para>
+From C++, it makes sense to use a destructor to release a lock.
+CNI defines the following utility class.
+<programlisting>
+class JvSynchronize() {
+ jobject obj;
+ JvSynchronize(jobject o) { obj = o; JvMonitorEnter(o); }
+ ~JvSynchronize() { JvMonitorExit(obj); }
+};
+</programlisting>
+The equivalent of Java's:
+<programlisting>
+synchronized (OBJ) { CODE; }
+</programlisting>
+can be simply expressed:
+<programlisting>
+{ JvSynchronize dummy(OBJ); CODE; }
+</programlisting>
+</para>
+<para>
+Java also has methods with the <literal>synchronized</literal> attribute.
+This is equivalent to wrapping the entire method body in a
+<literal>synchronized</literal> statement.
+(Alternatively, an implementation could require the caller to do
+the synchronization. This is not practical for a compiler, because
+each virtual method call would have to test at run-time if
+synchronization is needed.) Since in <literal>gcj</literal>
+the <literal>synchronized</literal> attribute is handled by the
+method implementation, it is up to the programmer
+of a synchronized native method to handle the synchronization
+(in the C++ implementation of the method).
+In otherwords, you need to manually add <literal>JvSynchronize</literal>
+in a <literal>native synchornized</literal> method.</para>
+</sect1>
+
+<sect1><title>Reflection</title>
+<para>The types <literal>jfieldID</literal> and <literal>jmethodID</literal>
+are as in JNI.</para>
+<para>
+The function <literal>JvFromReflectedField</literal>,
+<literal>JvFromReflectedMethod</literal>,
+<literal>JvToReflectedField</literal>, and
+<literal>JvToFromReflectedMethod</literal> (as in Java 2 JNI)
+will be added shortly, as will other functions corresponding to JNI.</para>
+
+<sect1><title>Using gcjh</title>
+<para>
+ The <command>gcjh</command> is used to generate C++ header files from
+ Java class files. By default, <command>gcjh</command> generates
+ a relatively straightforward C++ header file. However, there
+ are a few caveats to its use, and a few options which can be
+ used to change how it operates:
+</para>
+<variablelist>
+<varlistentry>
+<term><literal>--classpath</literal> <replaceable>path</replaceable></term>
+<term><literal>--CLASSPATH</literal> <replaceable>path</replaceable></term>
+<term><literal>-I</literal> <replaceable>dir</replaceable></term>
+<listitem><para>
+ These options can be used to set the class path for gcjh.
+ Gcjh searches the class path the same way the compiler does;
+ these options have their familiar meanings.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><literal>-d <replaceable>directory</replaceable></literal></term>
+<listitem><para>
+Puts the generated <literal>.h</literal> files
+beneath <replaceable>directory</replaceable>.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><literal>-o <replaceable>file</replaceable></literal></term>
+<listitem><para>
+ Sets the name of the <literal>.h</literal> file to be generated.
+ By default the <literal>.h</literal> file is named after the class.
+ This option only really makes sense if just a single class file
+ is specified.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><literal>--verbose</literal></term>
+<listitem><para>
+ gcjh will print information to stderr as it works.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><literal>-M</literal></term>
+<term><literal>-MM</literal></term>
+<term><literal>-MD</literal></term>
+<term><literal>-MMD</literal></term>
+<listitem><para>
+ These options can be used to generate dependency information
+ for the generated header file. They work the same way as the
+ corresponding compiler options.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><literal>-prepend <replaceable>text</replaceable></literal></term>
+<listitem><para>
+This causes the <replaceable>text</replaceable> to be put into the generated
+ header just after class declarations (but before declaration
+ of the current class). This option should be used with caution.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><literal>-friend <replaceable>text</replaceable></literal></term>
+<listitem><para>
+This causes the <replaceable>text</replaceable> to be put into the class
+declaration after a <literal>friend</literal> keyword.
+This can be used to declare some
+ other class or function to be a friend of this class.
+ This option should be used with caution.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><literal>-add <replaceable>text</replaceable></literal></term>
+<listitem><para>
+The <replaceable>text</replaceable> is inserted into the class declaration.
+This option should be used with caution.</para>
+</listitem>
+</varlistentry>
+
+<varlistentry>
+<term><literal>-append <replaceable>text</replaceable></literal></term>
+<listitem><para>
+The <replaceable>text</replaceable> is inserted into the header file
+after the class declaration. One use for this is to generate
+inline functions. This option should be used with caution.
+</listitem>
+</varlistentry>
+</variablelist>
+<para>
+All other options not beginning with a <literal>-</literal> are treated
+as the names of classes for which headers should be generated.</para>
+<para>
+gcjh will generate all the required namespace declarations and
+<literal>#include</literal>'s for the header file.
+In some situations, gcjh will generate simple inline member functions.</para>
+<para>
+There are a few cases where gcjh will fail to work properly:</para>
+<para>
+gcjh assumes that all the methods and fields of a class have ASCII
+names. The C++ compiler cannot correctly handle non-ASCII
+identifiers. gcjh does not currently diagnose this problem.</para>
+<para>
+gcjh also cannot fully handle classes where a field and a method have
+the same name. If the field is static, an error will result.
+Otherwise, the field will be renamed in the generated header; `__'
+will be appended to the field name.</para>
+<para>
+Eventually we hope to change the C++ compiler so that these
+restrictions can be lifted.</para>
+</sect1>
+
+</article>
diff --git a/libjava/exception.cc b/libjava/exception.cc
new file mode 100644
index 0000000..644f80b
--- /dev/null
+++ b/libjava/exception.cc
@@ -0,0 +1,155 @@
+// Functions for Exception Support for Java.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include "exception"
+#include <stddef.h>
+
+#include <java/lang/Class.h>
+#include <java/lang/NullPointerException.h>
+#include <cni.h>
+#include <jvm.h>
+
+// eh-common.h needs gansidecl.h.
+#include "gansidecl.h"
+#include "eh-common.h"
+
+typedef struct {
+ __eh_info eh_info;
+ void *value;
+} java_eh_info;
+
+
+/* Language-specific EH info pointer, throw routine, and language/version
+ info routines. All defined in libgcc2. */
+
+extern "C" java_eh_info **__get_eh_info ();
+extern "C" void __throw () __attribute__ ((__noreturn__));
+extern "C" short __get_eh_table_version (void *table);
+extern "C" short __get_eh_table_language (void *table);
+
+
+extern "C" void * malloc (size_t);
+extern "C" void free (void *);
+
+
+extern "C" void *
+_Jv_type_matcher (java_eh_info *info, void* match_info,
+ void *exception_table)
+{
+ if (__get_eh_table_language (exception_table) != EH_LANG_Java)
+ return NULL;
+
+ /* we don't worry about version info yet, there is only one version! */
+
+ if (match_info != NULL)
+ {
+ // The match_info is either a (java::lang::Class*) or
+ // match_info is one more than a (Utf8Const*).
+ if (sizeof(void*) != sizeof(size_t))
+ abort();
+ size_t mi = (size_t) match_info;
+ if ((mi & 1) != 0)
+ match_info = _Jv_FindClass ((Utf8Const*) (mi - 1), NULL);
+ if (! _Jv_IsInstanceOf ((jobject) info->value, (jclass) match_info))
+ return NULL;
+ }
+
+ return info->value;
+}
+
+/* Compiler hook to return a pointer to java exception object. The value
+ is cleared, so if the exception needs to be rethrown, it should be set
+ again */
+
+extern "C" void *
+_Jv_exception_info (void)
+{
+ java_eh_info *info = *(__get_eh_info ());
+ void *ptr;
+
+ if (info == NULL)
+ abort ();
+
+ ptr = info->value;
+
+ /* clear the value so another throw is an error */
+ info->value = NULL;
+
+ return ptr;
+}
+
+
+
+/* Allocate an exception info structure for java. Called the first time
+ an exception is thrown. */
+
+extern "C" void
+_Jv_eh_alloc ()
+{
+ /* FIXME: we should use _Jv_AllocBytes here. However, libgcc2
+ apparently can sometimes free() this value itself. */
+ java_eh_info *p = (java_eh_info *) malloc (sizeof (java_eh_info));
+ if (p == 0)
+ terminate ();
+
+ p->value = 0;
+ java_eh_info ** info_ptr = __get_eh_info ();
+
+ /* There should NOT be an exception info pointer already. */
+ if (*info_ptr != NULL)
+ abort ();
+
+ *info_ptr = p;
+}
+
+/* Deallocate the current exception info structure. Called at shutdown time. */
+
+extern "C" void
+_Jv_eh_free ()
+{
+ java_eh_info ** info_ptr = __get_eh_info ();
+ if (*info_ptr == NULL)
+ abort ();
+
+ /* FIXME: ideally we should just let the GC handle this. */
+ free (*info_ptr);
+ *info_ptr = NULL;
+}
+
+/* Perform a throw, Java style. Throw will unwind through this call, so
+ there better not be any handlers or exception thrown here. */
+
+
+/* Initialize an __eh_info structure with this libraries matching info. */
+
+extern "C" void
+_Jv_setup_eh_info (__eh_info *)
+{
+}
+
+extern "C" void
+_Jv_Throw (void *value)
+{
+ if (value == NULL)
+ value = (void *) new java::lang::NullPointerException ();
+ java_eh_info *ehinfo = *(__get_eh_info ());
+ if (ehinfo == NULL)
+ {
+ _Jv_eh_alloc ();
+ ehinfo = *(__get_eh_info ());
+ }
+ ehinfo->eh_info.match_function = _Jv_type_matcher;
+ ehinfo->eh_info.language = EH_LANG_Java;
+ ehinfo->eh_info.version = 1;
+ ehinfo->value = value;
+ __throw();
+}
diff --git a/libjava/gnu/gcj/convert/BytesToUnicode.java b/libjava/gnu/gcj/convert/BytesToUnicode.java
new file mode 100644
index 0000000..21c1e7e
--- /dev/null
+++ b/libjava/gnu/gcj/convert/BytesToUnicode.java
@@ -0,0 +1,105 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.convert;
+
+public abstract class BytesToUnicode
+{
+ /** Buffer to read bytes from.
+ * The characters inbuffer[inpos] ... inbuffer[inlength-1] are available. */
+ public byte[] inbuffer;
+ /** Starting index in buffer to read bytes from. */
+ public int inpos;
+ /** End of valid bytes in buffer. */
+ public int inlength;
+
+ static Class defaultDecodingClass;
+
+ static synchronized void getDefaultDecodingClass()
+ {
+ // Test (defaultDecodingClass == null) again in case of race condition.
+ if (defaultDecodingClass == null)
+ {
+ String encoding = System.getProperty("file.encoding");
+ String className = "gnu.gcj.convert.Input_"+encoding;
+ try
+ {
+ defaultDecodingClass = Class.forName(className);
+ }
+ catch (ClassNotFoundException ex)
+ {
+ throw new NoClassDefFoundError("missing default encoding "
+ + encoding + " (class "
+ + className + " not found)");
+ }
+ }
+ }
+
+ public abstract String getName();
+
+ public static BytesToUnicode getDefaultDecoder()
+ {
+ try
+ {
+ if (defaultDecodingClass == null)
+ getDefaultDecodingClass();
+ return (BytesToUnicode) defaultDecodingClass.newInstance();
+ }
+ catch (Throwable ex)
+ {
+ return new Input_8859_1();
+ }
+ }
+
+ /** Get a byte-stream->char-stream converter given an encoding name. */
+ public static BytesToUnicode getDecoder (String encoding)
+ throws java.io.UnsupportedEncodingException
+ {
+ String className = "gnu.gcj.convert.Input_"+encoding;
+ Class decodingClass;
+ try
+ {
+ decodingClass = Class.forName(className);
+ return (BytesToUnicode) decodingClass.newInstance();
+ }
+ catch (Throwable ex)
+ {
+ throw new java.io.UnsupportedEncodingException(encoding
+ + " (" + ex + ')');
+ }
+ }
+
+ /** Make input bytes available to the conversion.
+ * @param buffer source of input bytes
+ * @param pos index of first available byte
+ * @param length one more than index of last available byte
+ */
+ public final void setInput(byte[] buffer, int pos, int length)
+ {
+ inbuffer = buffer;
+ inpos = pos;
+ inlength = length;
+ }
+
+ /** Convert bytes to chars.
+ * Input bytes are taken from this.inbuffer. The available input
+ * bytes start at inbuffer[inpos], and end at inbuffer[inlength-1].
+ * @param outbuffer buffer for the converted character
+ * @param outpos position in buffer to start putting converted characters
+ * @param outlength the maximum number of characters to read
+ * @return number of chars placed in outbuffer.
+ * Also, this.inpos is incremented by the number of bytes consumed.
+ *
+ * (Note the asymmetry in that the input upper bound is inbuffer[inlength-1],
+ * while the output upper bound is outbuffer[outpos+outlength-1]. The
+ * justification is that inlength is like the count field of a
+ * BufferedInputStream, while the outlength parameter is like the
+ * length parameter of a read request.)
+ */
+ public abstract int read (char[] outbuffer, int outpos, int outlength);
+}
diff --git a/libjava/gnu/gcj/convert/Convert.java b/libjava/gnu/gcj/convert/Convert.java
new file mode 100644
index 0000000..4cdc115
--- /dev/null
+++ b/libjava/gnu/gcj/convert/Convert.java
@@ -0,0 +1,151 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.convert;
+import java.io.*;
+
+public class Convert
+{
+ static void error (String message)
+ {
+ System.err.print("convert: ");
+ System.err.println(message);
+ System.err.println("Usage: convert [--from srcEncoding] [--to dstEncoding]");
+ System.err.println(" [inputfile [outputfile]]");
+ System.exit(-1);
+ }
+
+ static void missing (String arg)
+ {
+ error("missing arg after `" + arg + "' option");
+ }
+
+ public static void main (String[] args)
+ {
+ String inName = "-";
+ String outName = "-";
+ String inEncodingName = null;
+ String outEncodingName = "JavaSrc";
+ int seenNames = 0;
+ boolean reverse = false;
+
+ for (int i = 0; i < args.length; i++)
+ {
+ String arg = args[i];
+ if (arg.length() == 0)
+ error("zero-length argument");
+ if (arg.charAt(0) == '-')
+ {
+ if (arg.equals("-encoding") || arg.equals("--encoding")
+ || args.equals("-from") || arg.equals("--from"))
+ {
+ if (++i == args.length) missing(arg);
+ inEncodingName = args[i];
+ }
+ else if (arg.equals("-to") || arg.equals("--to"))
+ {
+ if (++i == args.length) missing(arg);
+ outEncodingName = args[i];
+ }
+ else if (arg.equals("-i"))
+ {
+ if (++i == args.length) missing(arg);
+ inName = args[i];
+ }
+ else if (arg.equals("-o"))
+ {
+ if (++i == args.length) missing(arg);
+ outName = args[i];
+ }
+ else if (arg.equals("-reverse") || arg.equals("--reverse"))
+ {
+ reverse = true;
+ }
+ else if (arg.equals("-"))
+ {
+ switch (seenNames)
+ {
+ case 0:
+ inName = "-";
+ seenNames++;
+ break;
+ case 1:
+ outName = "-";
+ seenNames++;
+ break;
+ default:
+ error("too many `-' arguments");
+ }
+ }
+ else
+ error("unrecognized argument `" + arg + "'");
+ }
+ else
+ {
+ switch (seenNames)
+ {
+ case 0:
+ inName = arg;
+ seenNames++;
+ break;
+ case 1:
+ outName = arg;
+ seenNames++;
+ break;
+ default:
+ error("too many filename arguments");
+ }
+ }
+ }
+
+ if (reverse)
+ {
+ String tmp = inEncodingName;
+ inEncodingName = outEncodingName;
+ outEncodingName = tmp;
+ }
+
+ try
+ {
+ BytesToUnicode inDecoder
+ = inEncodingName == null ? BytesToUnicode.getDefaultDecoder()
+ : BytesToUnicode.getDecoder(inEncodingName);
+ UnicodeToBytes outEncoder
+ = outEncodingName == null ? UnicodeToBytes.getDefaultEncoder()
+ : UnicodeToBytes.getEncoder(outEncodingName);
+ InputStream inStream = inName == "-" ? System.in
+ : new FileInputStream(inName);
+ OutputStream outStream;
+ if (outName == "-")
+ outStream = System.out;
+ else
+ outStream = new FileOutputStream(outName);
+ InputStreamReader in
+ = new InputStreamReader(inStream, inEncodingName);
+ OutputStreamWriter out
+ = new OutputStreamWriter(outStream, outEncodingName);
+ char[] buffer = new char[2048];
+ for (;;)
+ {
+ int count = in.read(buffer);
+ if (count < 0)
+ break;
+ out.write(buffer, 0, count);
+ }
+
+ in.close();
+ out.close();
+ }
+ catch (java.io.IOException ex)
+ {
+ System.err.print("convert exception: ");
+ System.err.println(ex);
+ System.exit(-1);
+ }
+ }
+}
diff --git a/libjava/gnu/gcj/convert/Input_8859_1.java b/libjava/gnu/gcj/convert/Input_8859_1.java
new file mode 100644
index 0000000..262099a
--- /dev/null
+++ b/libjava/gnu/gcj/convert/Input_8859_1.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.convert;
+
+public class Input_8859_1 extends BytesToUnicode
+{
+ public String getName() { return "8859_1"; }
+
+ public int read (char[] outbuffer, int outpos, int outlength)
+ {
+ int origpos = outpos;
+ // Make sure fields of this are in registers.
+ int inpos = this.inpos;
+ byte[] inbuffer = this.inbuffer;
+ int inavail = this.inlength - inpos;
+ int outavail = outlength - outpos;
+ if (outavail > inavail)
+ outavail = inavail;
+ while (--outavail >= 0)
+ {
+ outbuffer[outpos++] = (char) (inbuffer[inpos++] & 0xFF);
+ }
+ this.inpos = inpos;
+ return outpos - origpos;
+ }
+}
diff --git a/libjava/gnu/gcj/convert/Input_EUCJIS.java b/libjava/gnu/gcj/convert/Input_EUCJIS.java
new file mode 100644
index 0000000..ecc0fdb
--- /dev/null
+++ b/libjava/gnu/gcj/convert/Input_EUCJIS.java
@@ -0,0 +1,19 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.convert;
+
+public class Input_EUCJIS extends BytesToUnicode
+{
+ public String getName() { return "EUCJIS"; }
+
+ int codeset = 0;
+ int first_byte;
+
+ public native int read (char[] outbuffer, int outpos, int outlength);
+}
diff --git a/libjava/gnu/gcj/convert/Input_UTF8.java b/libjava/gnu/gcj/convert/Input_UTF8.java
new file mode 100644
index 0000000..c706a52
--- /dev/null
+++ b/libjava/gnu/gcj/convert/Input_UTF8.java
@@ -0,0 +1,107 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.convert;
+
+public class Input_UTF8 extends BytesToUnicode
+{
+ public String getName() { return "UTF8"; }
+
+ int partial = 0;
+ int partial_bytes_expected = 0;
+ //int suggogate_second = -1;
+
+ public int read (char[] outbuffer, int outpos, int outlength)
+ {
+ int origpos = outpos;
+ for (;;)
+ {
+ if (outpos >= outlength)
+ break;
+ if (inpos >= inlength)
+ break;
+ int b = inbuffer[inpos++];
+ if (b >= 0)
+ outbuffer[outpos++] = (char) b;
+ else
+ {
+ if ((b & 0xC0) == 0x80) // Continuation byte
+ {
+ partial = (partial << 6) | (b & 0x3F);
+ --partial_bytes_expected;
+ if (partial_bytes_expected == 1)
+ {
+ if (partial > (0xFFFF>>6))
+ {
+ // The next continuation byte will cause the result
+ // to exceed 0xFFFF, so we must use a surrogate pair.
+ // The "Unicode scalar value" (see D28 in section 3.7
+ // of the Unicode Standard 2.0) is defined as:
+ // value == (hi-0xD800)*0x400+(lo-0xDC00)+0x10000,
+ // where (hi, lo) is the Unicode surrogate pair.
+ // After reading the first three bytes, we have:
+ // partial == (value >> 6).
+ // Substituting and simplifying, we get:
+ // partial == (hi-0xD800)*0x10+((lo-0xDC00)>>6)+0x400.
+ // The definition lo>=0xDC00 && lo<=0xDFFF implies
+ // that (lo-0xDC00)>>6 is in the range 0..15.
+ // Hence we can infer (partial-0x400)>>4 == (hi-0xDB00)
+ // and we can emit the high-surrogate without waiting
+ // for the final byte:
+ outbuffer[outpos++] = (char) (0xDA00+(partial>>4));
+
+ // Now we want to set it up so that when we read
+ // the final byte on the next iteration, we will
+ // get the low-surrogate without special handling.
+ // I.e. we want:
+ // lo == (next_partial << 6) | (next & 0x3F)
+ // where next is the next input byte and next_partial
+ // is the value of partial at the end of this
+ // iteration. This implies: next_partial == lo >> 6.
+ // We can simplify the previous:
+ // partial == (hi-0xD800)*0x10+((lo-0xDC00)>>6)+0x400,
+ // to: partial == (hi-0xD800)*0x10+(lo>>6)+0x90.
+ // Inserting the values of hi and next_partial,
+ // and simplifying, we get: partial ==
+ // ( (partial-0x400)&~0xF) + next_partial + 0x90.
+ // Solving for next_partial, we get:
+ // next_partial = partial+0x400-0x90-(partial&~0xF):
+ // or: next_partial = (partial&0xF) + 0x370. Hence:
+ partial = (partial & 0xF) + 0x370;
+ }
+ }
+ else if (partial_bytes_expected == 0)
+ {
+ outbuffer[outpos++] = (char) partial;
+ partial = 0;
+ partial_bytes_expected = 0;
+ }
+ }
+ else // prefix byte
+ {
+ if ((b & 0xE) == 0xC0)
+ {
+ partial = b & 0x1F;
+ partial_bytes_expected = 1;
+ }
+ else if ((b & 0xF) == 0xF0)
+ {
+ partial = b & 0xF;
+ partial_bytes_expected = 2;
+ }
+ else
+ {
+ partial = b & 7;
+ partial_bytes_expected = 3;
+ }
+ }
+ }
+ }
+ return outpos - origpos;
+ }
+}
diff --git a/libjava/gnu/gcj/convert/JIS0208.h b/libjava/gnu/gcj/convert/JIS0208.h
new file mode 100644
index 0000000..204348f
--- /dev/null
+++ b/libjava/gnu/gcj/convert/JIS0208.h
@@ -0,0 +1,6880 @@
+/* This file is autoamtically generated from Unicode tables */
+MAP(0x21, 0x21, 0x3000) /* IDEOGRAPHIC SPAC */
+MAP(0x21, 0x22, 0x3001) /* IDEOGRAPHIC COMM */
+MAP(0x21, 0x23, 0x3002) /* IDEOGRAPHIC FULL STO */
+MAP(0x21, 0x24, 0xFF0C) /* FULLWIDTH COMM */
+MAP(0x21, 0x25, 0xFF0E) /* FULLWIDTH FULL STO */
+MAP(0x21, 0x26, 0x30FB) /* KATAKANA MIDDLE DO */
+MAP(0x21, 0x27, 0xFF1A) /* FULLWIDTH COLO */
+MAP(0x21, 0x28, 0xFF1B) /* FULLWIDTH SEMICOLO */
+MAP(0x21, 0x29, 0xFF1F) /* FULLWIDTH QUESTION MAR */
+MAP(0x21, 0x2A, 0xFF01) /* FULLWIDTH EXCLAMATION MAR */
+MAP(0x21, 0x2B, 0x309B) /* KATAKANA-HIRAGANA VOICED SOUND MAR */
+MAP(0x21, 0x2C, 0x309C) /* KATAKANA-HIRAGANA SEMI-VOICED SOUND MAR */
+MAP(0x21, 0x2D, 0x00B4) /* ACUTE ACCEN */
+MAP(0x21, 0x2E, 0xFF40) /* FULLWIDTH GRAVE ACCEN */
+MAP(0x21, 0x2F, 0x00A8) /* DIAERESI */
+MAP(0x21, 0x30, 0xFF3E) /* FULLWIDTH CIRCUMFLEX ACCEN */
+MAP(0x21, 0x31, 0xFFE3) /* FULLWIDTH MACRO */
+MAP(0x21, 0x32, 0xFF3F) /* FULLWIDTH LOW LIN */
+MAP(0x21, 0x33, 0x30FD) /* KATAKANA ITERATION MAR */
+MAP(0x21, 0x34, 0x30FE) /* KATAKANA VOICED ITERATION MAR */
+MAP(0x21, 0x35, 0x309D) /* HIRAGANA ITERATION MAR */
+MAP(0x21, 0x36, 0x309E) /* HIRAGANA VOICED ITERATION MAR */
+MAP(0x21, 0x37, 0x3003) /* DITTO MAR */
+MAP(0x21, 0x38, 0x4EDD) /* <CJK */
+MAP(0x21, 0x39, 0x3005) /* IDEOGRAPHIC ITERATION MAR */
+MAP(0x21, 0x3A, 0x3006) /* IDEOGRAPHIC CLOSING MAR */
+MAP(0x21, 0x3B, 0x3007) /* IDEOGRAPHIC NUMBER ZER */
+MAP(0x21, 0x3C, 0x30FC) /* KATAKANA-HIRAGANA PROLONGED SOUND MAR */
+MAP(0x21, 0x3D, 0x2015) /* HORIZONTAL BA */
+MAP(0x21, 0x3E, 0x2010) /* HYPHE */
+MAP(0x21, 0x3F, 0xFF0F) /* FULLWIDTH SOLIDU */
+MAP(0x21, 0x40, 0x005C) /* REVERSE SOLIDU */
+MAP(0x21, 0x41, 0x301C) /* WAVE DAS */
+MAP(0x21, 0x42, 0x2016) /* DOUBLE VERTICAL LIN */
+MAP(0x21, 0x43, 0xFF5C) /* FULLWIDTH VERTICAL LIN */
+MAP(0x21, 0x44, 0x2026) /* HORIZONTAL ELLIPSI */
+MAP(0x21, 0x45, 0x2025) /* TWO DOT LEADE */
+MAP(0x21, 0x46, 0x2018) /* LEFT SINGLE QUOTATION MAR */
+MAP(0x21, 0x47, 0x2019) /* RIGHT SINGLE QUOTATION MAR */
+MAP(0x21, 0x48, 0x201C) /* LEFT DOUBLE QUOTATION MAR */
+MAP(0x21, 0x49, 0x201D) /* RIGHT DOUBLE QUOTATION MAR */
+MAP(0x21, 0x4A, 0xFF08) /* FULLWIDTH LEFT PARENTHESI */
+MAP(0x21, 0x4B, 0xFF09) /* FULLWIDTH RIGHT PARENTHESI */
+MAP(0x21, 0x4C, 0x3014) /* LEFT TORTOISE SHELL BRACKE */
+MAP(0x21, 0x4D, 0x3015) /* RIGHT TORTOISE SHELL BRACKE */
+MAP(0x21, 0x4E, 0xFF3B) /* FULLWIDTH LEFT SQUARE BRACKE */
+MAP(0x21, 0x4F, 0xFF3D) /* FULLWIDTH RIGHT SQUARE BRACKE */
+MAP(0x21, 0x50, 0xFF5B) /* FULLWIDTH LEFT CURLY BRACKE */
+MAP(0x21, 0x51, 0xFF5D) /* FULLWIDTH RIGHT CURLY BRACKE */
+MAP(0x21, 0x52, 0x3008) /* LEFT ANGLE BRACKE */
+MAP(0x21, 0x53, 0x3009) /* RIGHT ANGLE BRACKE */
+MAP(0x21, 0x54, 0x300A) /* LEFT DOUBLE ANGLE BRACKE */
+MAP(0x21, 0x55, 0x300B) /* RIGHT DOUBLE ANGLE BRACKE */
+MAP(0x21, 0x56, 0x300C) /* LEFT CORNER BRACKE */
+MAP(0x21, 0x57, 0x300D) /* RIGHT CORNER BRACKE */
+MAP(0x21, 0x58, 0x300E) /* LEFT WHITE CORNER BRACKE */
+MAP(0x21, 0x59, 0x300F) /* RIGHT WHITE CORNER BRACKE */
+MAP(0x21, 0x5A, 0x3010) /* LEFT BLACK LENTICULAR BRACKE */
+MAP(0x21, 0x5B, 0x3011) /* RIGHT BLACK LENTICULAR BRACKE */
+MAP(0x21, 0x5C, 0xFF0B) /* FULLWIDTH PLUS SIG */
+MAP(0x21, 0x5D, 0x2212) /* MINUS SIG */
+MAP(0x21, 0x5E, 0x00B1) /* PLUS-MINUS SIG */
+MAP(0x21, 0x5F, 0x00D7) /* MULTIPLICATION SIG */
+MAP(0x21, 0x60, 0x00F7) /* DIVISION SIG */
+MAP(0x21, 0x61, 0xFF1D) /* FULLWIDTH EQUALS SIG */
+MAP(0x21, 0x62, 0x2260) /* NOT EQUAL T */
+MAP(0x21, 0x63, 0xFF1C) /* FULLWIDTH LESS-THAN SIG */
+MAP(0x21, 0x64, 0xFF1E) /* FULLWIDTH GREATER-THAN SIG */
+MAP(0x21, 0x65, 0x2266) /* LESS-THAN OVER EQUAL T */
+MAP(0x21, 0x66, 0x2267) /* GREATER-THAN OVER EQUAL T */
+MAP(0x21, 0x67, 0x221E) /* INFINIT */
+MAP(0x21, 0x68, 0x2234) /* THEREFOR */
+MAP(0x21, 0x69, 0x2642) /* MALE SIG */
+MAP(0x21, 0x6A, 0x2640) /* FEMALE SIG */
+MAP(0x21, 0x6B, 0x00B0) /* DEGREE SIG */
+MAP(0x21, 0x6C, 0x2032) /* PRIM */
+MAP(0x21, 0x6D, 0x2033) /* DOUBLE PRIM */
+MAP(0x21, 0x6E, 0x2103) /* DEGREE CELSIU */
+MAP(0x21, 0x6F, 0xFFE5) /* FULLWIDTH YEN SIG */
+MAP(0x21, 0x70, 0xFF04) /* FULLWIDTH DOLLAR SIG */
+MAP(0x21, 0x71, 0x00A2) /* CENT SIG */
+MAP(0x21, 0x72, 0x00A3) /* POUND SIG */
+MAP(0x21, 0x73, 0xFF05) /* FULLWIDTH PERCENT SIG */
+MAP(0x21, 0x74, 0xFF03) /* FULLWIDTH NUMBER SIG */
+MAP(0x21, 0x75, 0xFF06) /* FULLWIDTH AMPERSAN */
+MAP(0x21, 0x76, 0xFF0A) /* FULLWIDTH ASTERIS */
+MAP(0x21, 0x77, 0xFF20) /* FULLWIDTH COMMERCIAL A */
+MAP(0x21, 0x78, 0x00A7) /* SECTION SIG */
+MAP(0x21, 0x79, 0x2606) /* WHITE STA */
+MAP(0x21, 0x7A, 0x2605) /* BLACK STA */
+MAP(0x21, 0x7B, 0x25CB) /* WHITE CIRCL */
+MAP(0x21, 0x7C, 0x25CF) /* BLACK CIRCL */
+MAP(0x21, 0x7D, 0x25CE) /* BULLSEY */
+MAP(0x21, 0x7E, 0x25C7) /* WHITE DIAMON */
+MAP(0x22, 0x21, 0x25C6) /* BLACK DIAMON */
+MAP(0x22, 0x22, 0x25A1) /* WHITE SQUAR */
+MAP(0x22, 0x23, 0x25A0) /* BLACK SQUAR */
+MAP(0x22, 0x24, 0x25B3) /* WHITE UP-POINTING TRIANGL */
+MAP(0x22, 0x25, 0x25B2) /* BLACK UP-POINTING TRIANGL */
+MAP(0x22, 0x26, 0x25BD) /* WHITE DOWN-POINTING TRIANGL */
+MAP(0x22, 0x27, 0x25BC) /* BLACK DOWN-POINTING TRIANGL */
+MAP(0x22, 0x28, 0x203B) /* REFERENCE MAR */
+MAP(0x22, 0x29, 0x3012) /* POSTAL MAR */
+MAP(0x22, 0x2A, 0x2192) /* RIGHTWARDS ARRO */
+MAP(0x22, 0x2B, 0x2190) /* LEFTWARDS ARRO */
+MAP(0x22, 0x2C, 0x2191) /* UPWARDS ARRO */
+MAP(0x22, 0x2D, 0x2193) /* DOWNWARDS ARRO */
+MAP(0x22, 0x2E, 0x3013) /* GETA MAR */
+MAP(0x22, 0x3A, 0x2208) /* ELEMENT O */
+MAP(0x22, 0x3B, 0x220B) /* CONTAINS AS MEMBE */
+MAP(0x22, 0x3C, 0x2286) /* SUBSET OF OR EQUAL T */
+MAP(0x22, 0x3D, 0x2287) /* SUPERSET OF OR EQUAL T */
+MAP(0x22, 0x3E, 0x2282) /* SUBSET O */
+MAP(0x22, 0x3F, 0x2283) /* SUPERSET O */
+MAP(0x22, 0x40, 0x222A) /* UNIO */
+MAP(0x22, 0x41, 0x2229) /* INTERSECTIO */
+MAP(0x22, 0x4A, 0x2227) /* LOGICAL AN */
+MAP(0x22, 0x4B, 0x2228) /* LOGICAL O */
+MAP(0x22, 0x4C, 0x00AC) /* NOT SIG */
+MAP(0x22, 0x4D, 0x21D2) /* RIGHTWARDS DOUBLE ARRO */
+MAP(0x22, 0x4E, 0x21D4) /* LEFT RIGHT DOUBLE ARRO */
+MAP(0x22, 0x4F, 0x2200) /* FOR AL */
+MAP(0x22, 0x50, 0x2203) /* THERE EXIST */
+MAP(0x22, 0x5C, 0x2220) /* ANGL */
+MAP(0x22, 0x5D, 0x22A5) /* UP TAC */
+MAP(0x22, 0x5E, 0x2312) /* AR */
+MAP(0x22, 0x5F, 0x2202) /* PARTIAL DIFFERENTIA */
+MAP(0x22, 0x60, 0x2207) /* NABL */
+MAP(0x22, 0x61, 0x2261) /* IDENTICAL T */
+MAP(0x22, 0x62, 0x2252) /* APPROXIMATELY EQUAL TO OR THE IMAGE O */
+MAP(0x22, 0x63, 0x226A) /* MUCH LESS-THA */
+MAP(0x22, 0x64, 0x226B) /* MUCH GREATER-THA */
+MAP(0x22, 0x65, 0x221A) /* SQUARE ROO */
+MAP(0x22, 0x66, 0x223D) /* REVERSED TILD */
+MAP(0x22, 0x67, 0x221D) /* PROPORTIONAL T */
+MAP(0x22, 0x68, 0x2235) /* BECAUS */
+MAP(0x22, 0x69, 0x222B) /* INTEGRA */
+MAP(0x22, 0x6A, 0x222C) /* DOUBLE INTEGRA */
+MAP(0x22, 0x72, 0x212B) /* ANGSTROM SIG */
+MAP(0x22, 0x73, 0x2030) /* PER MILLE SIG */
+MAP(0x22, 0x74, 0x266F) /* MUSIC SHARP SIG */
+MAP(0x22, 0x75, 0x266D) /* MUSIC FLAT SIG */
+MAP(0x22, 0x76, 0x266A) /* EIGHTH NOT */
+MAP(0x22, 0x77, 0x2020) /* DAGGE */
+MAP(0x22, 0x78, 0x2021) /* DOUBLE DAGGE */
+MAP(0x22, 0x79, 0x00B6) /* PILCROW SIG */
+MAP(0x22, 0x7E, 0x25EF) /* LARGE CIRCL */
+MAP(0x23, 0x30, 0xFF10) /* FULLWIDTH DIGIT ZER */
+MAP(0x23, 0x31, 0xFF11) /* FULLWIDTH DIGIT ON */
+MAP(0x23, 0x32, 0xFF12) /* FULLWIDTH DIGIT TW */
+MAP(0x23, 0x33, 0xFF13) /* FULLWIDTH DIGIT THRE */
+MAP(0x23, 0x34, 0xFF14) /* FULLWIDTH DIGIT FOU */
+MAP(0x23, 0x35, 0xFF15) /* FULLWIDTH DIGIT FIV */
+MAP(0x23, 0x36, 0xFF16) /* FULLWIDTH DIGIT SI */
+MAP(0x23, 0x37, 0xFF17) /* FULLWIDTH DIGIT SEVE */
+MAP(0x23, 0x38, 0xFF18) /* FULLWIDTH DIGIT EIGH */
+MAP(0x23, 0x39, 0xFF19) /* FULLWIDTH DIGIT NIN */
+MAP(0x23, 0x41, 0xFF21) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x42, 0xFF22) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x43, 0xFF23) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x44, 0xFF24) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x45, 0xFF25) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x46, 0xFF26) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x47, 0xFF27) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x48, 0xFF28) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x49, 0xFF29) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x4A, 0xFF2A) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x4B, 0xFF2B) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x4C, 0xFF2C) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x4D, 0xFF2D) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x4E, 0xFF2E) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x4F, 0xFF2F) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x50, 0xFF30) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x51, 0xFF31) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x52, 0xFF32) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x53, 0xFF33) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x54, 0xFF34) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x55, 0xFF35) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x56, 0xFF36) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x57, 0xFF37) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x58, 0xFF38) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x59, 0xFF39) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x5A, 0xFF3A) /* FULLWIDTH LATIN CAPITAL LETTER */
+MAP(0x23, 0x61, 0xFF41) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x62, 0xFF42) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x63, 0xFF43) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x64, 0xFF44) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x65, 0xFF45) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x66, 0xFF46) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x67, 0xFF47) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x68, 0xFF48) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x69, 0xFF49) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x6A, 0xFF4A) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x6B, 0xFF4B) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x6C, 0xFF4C) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x6D, 0xFF4D) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x6E, 0xFF4E) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x6F, 0xFF4F) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x70, 0xFF50) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x71, 0xFF51) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x72, 0xFF52) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x73, 0xFF53) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x74, 0xFF54) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x75, 0xFF55) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x76, 0xFF56) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x77, 0xFF57) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x78, 0xFF58) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x79, 0xFF59) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x23, 0x7A, 0xFF5A) /* FULLWIDTH LATIN SMALL LETTER */
+MAP(0x24, 0x21, 0x3041) /* HIRAGANA LETTER SMALL */
+MAP(0x24, 0x22, 0x3042) /* HIRAGANA LETTER */
+MAP(0x24, 0x23, 0x3043) /* HIRAGANA LETTER SMALL */
+MAP(0x24, 0x24, 0x3044) /* HIRAGANA LETTER */
+MAP(0x24, 0x25, 0x3045) /* HIRAGANA LETTER SMALL */
+MAP(0x24, 0x26, 0x3046) /* HIRAGANA LETTER */
+MAP(0x24, 0x27, 0x3047) /* HIRAGANA LETTER SMALL */
+MAP(0x24, 0x28, 0x3048) /* HIRAGANA LETTER */
+MAP(0x24, 0x29, 0x3049) /* HIRAGANA LETTER SMALL */
+MAP(0x24, 0x2A, 0x304A) /* HIRAGANA LETTER */
+MAP(0x24, 0x2B, 0x304B) /* HIRAGANA LETTER K */
+MAP(0x24, 0x2C, 0x304C) /* HIRAGANA LETTER G */
+MAP(0x24, 0x2D, 0x304D) /* HIRAGANA LETTER K */
+MAP(0x24, 0x2E, 0x304E) /* HIRAGANA LETTER G */
+MAP(0x24, 0x2F, 0x304F) /* HIRAGANA LETTER K */
+MAP(0x24, 0x30, 0x3050) /* HIRAGANA LETTER G */
+MAP(0x24, 0x31, 0x3051) /* HIRAGANA LETTER K */
+MAP(0x24, 0x32, 0x3052) /* HIRAGANA LETTER G */
+MAP(0x24, 0x33, 0x3053) /* HIRAGANA LETTER K */
+MAP(0x24, 0x34, 0x3054) /* HIRAGANA LETTER G */
+MAP(0x24, 0x35, 0x3055) /* HIRAGANA LETTER S */
+MAP(0x24, 0x36, 0x3056) /* HIRAGANA LETTER Z */
+MAP(0x24, 0x37, 0x3057) /* HIRAGANA LETTER S */
+MAP(0x24, 0x38, 0x3058) /* HIRAGANA LETTER Z */
+MAP(0x24, 0x39, 0x3059) /* HIRAGANA LETTER S */
+MAP(0x24, 0x3A, 0x305A) /* HIRAGANA LETTER Z */
+MAP(0x24, 0x3B, 0x305B) /* HIRAGANA LETTER S */
+MAP(0x24, 0x3C, 0x305C) /* HIRAGANA LETTER Z */
+MAP(0x24, 0x3D, 0x305D) /* HIRAGANA LETTER S */
+MAP(0x24, 0x3E, 0x305E) /* HIRAGANA LETTER Z */
+MAP(0x24, 0x3F, 0x305F) /* HIRAGANA LETTER T */
+MAP(0x24, 0x40, 0x3060) /* HIRAGANA LETTER D */
+MAP(0x24, 0x41, 0x3061) /* HIRAGANA LETTER T */
+MAP(0x24, 0x42, 0x3062) /* HIRAGANA LETTER D */
+MAP(0x24, 0x43, 0x3063) /* HIRAGANA LETTER SMALL T */
+MAP(0x24, 0x44, 0x3064) /* HIRAGANA LETTER T */
+MAP(0x24, 0x45, 0x3065) /* HIRAGANA LETTER D */
+MAP(0x24, 0x46, 0x3066) /* HIRAGANA LETTER T */
+MAP(0x24, 0x47, 0x3067) /* HIRAGANA LETTER D */
+MAP(0x24, 0x48, 0x3068) /* HIRAGANA LETTER T */
+MAP(0x24, 0x49, 0x3069) /* HIRAGANA LETTER D */
+MAP(0x24, 0x4A, 0x306A) /* HIRAGANA LETTER N */
+MAP(0x24, 0x4B, 0x306B) /* HIRAGANA LETTER N */
+MAP(0x24, 0x4C, 0x306C) /* HIRAGANA LETTER N */
+MAP(0x24, 0x4D, 0x306D) /* HIRAGANA LETTER N */
+MAP(0x24, 0x4E, 0x306E) /* HIRAGANA LETTER N */
+MAP(0x24, 0x4F, 0x306F) /* HIRAGANA LETTER H */
+MAP(0x24, 0x50, 0x3070) /* HIRAGANA LETTER B */
+MAP(0x24, 0x51, 0x3071) /* HIRAGANA LETTER P */
+MAP(0x24, 0x52, 0x3072) /* HIRAGANA LETTER H */
+MAP(0x24, 0x53, 0x3073) /* HIRAGANA LETTER B */
+MAP(0x24, 0x54, 0x3074) /* HIRAGANA LETTER P */
+MAP(0x24, 0x55, 0x3075) /* HIRAGANA LETTER H */
+MAP(0x24, 0x56, 0x3076) /* HIRAGANA LETTER B */
+MAP(0x24, 0x57, 0x3077) /* HIRAGANA LETTER P */
+MAP(0x24, 0x58, 0x3078) /* HIRAGANA LETTER H */
+MAP(0x24, 0x59, 0x3079) /* HIRAGANA LETTER B */
+MAP(0x24, 0x5A, 0x307A) /* HIRAGANA LETTER P */
+MAP(0x24, 0x5B, 0x307B) /* HIRAGANA LETTER H */
+MAP(0x24, 0x5C, 0x307C) /* HIRAGANA LETTER B */
+MAP(0x24, 0x5D, 0x307D) /* HIRAGANA LETTER P */
+MAP(0x24, 0x5E, 0x307E) /* HIRAGANA LETTER M */
+MAP(0x24, 0x5F, 0x307F) /* HIRAGANA LETTER M */
+MAP(0x24, 0x60, 0x3080) /* HIRAGANA LETTER M */
+MAP(0x24, 0x61, 0x3081) /* HIRAGANA LETTER M */
+MAP(0x24, 0x62, 0x3082) /* HIRAGANA LETTER M */
+MAP(0x24, 0x63, 0x3083) /* HIRAGANA LETTER SMALL Y */
+MAP(0x24, 0x64, 0x3084) /* HIRAGANA LETTER Y */
+MAP(0x24, 0x65, 0x3085) /* HIRAGANA LETTER SMALL Y */
+MAP(0x24, 0x66, 0x3086) /* HIRAGANA LETTER Y */
+MAP(0x24, 0x67, 0x3087) /* HIRAGANA LETTER SMALL Y */
+MAP(0x24, 0x68, 0x3088) /* HIRAGANA LETTER Y */
+MAP(0x24, 0x69, 0x3089) /* HIRAGANA LETTER R */
+MAP(0x24, 0x6A, 0x308A) /* HIRAGANA LETTER R */
+MAP(0x24, 0x6B, 0x308B) /* HIRAGANA LETTER R */
+MAP(0x24, 0x6C, 0x308C) /* HIRAGANA LETTER R */
+MAP(0x24, 0x6D, 0x308D) /* HIRAGANA LETTER R */
+MAP(0x24, 0x6E, 0x308E) /* HIRAGANA LETTER SMALL W */
+MAP(0x24, 0x6F, 0x308F) /* HIRAGANA LETTER W */
+MAP(0x24, 0x70, 0x3090) /* HIRAGANA LETTER W */
+MAP(0x24, 0x71, 0x3091) /* HIRAGANA LETTER W */
+MAP(0x24, 0x72, 0x3092) /* HIRAGANA LETTER W */
+MAP(0x24, 0x73, 0x3093) /* HIRAGANA LETTER */
+MAP(0x25, 0x21, 0x30A1) /* KATAKANA LETTER SMALL */
+MAP(0x25, 0x22, 0x30A2) /* KATAKANA LETTER */
+MAP(0x25, 0x23, 0x30A3) /* KATAKANA LETTER SMALL */
+MAP(0x25, 0x24, 0x30A4) /* KATAKANA LETTER */
+MAP(0x25, 0x25, 0x30A5) /* KATAKANA LETTER SMALL */
+MAP(0x25, 0x26, 0x30A6) /* KATAKANA LETTER */
+MAP(0x25, 0x27, 0x30A7) /* KATAKANA LETTER SMALL */
+MAP(0x25, 0x28, 0x30A8) /* KATAKANA LETTER */
+MAP(0x25, 0x29, 0x30A9) /* KATAKANA LETTER SMALL */
+MAP(0x25, 0x2A, 0x30AA) /* KATAKANA LETTER */
+MAP(0x25, 0x2B, 0x30AB) /* KATAKANA LETTER K */
+MAP(0x25, 0x2C, 0x30AC) /* KATAKANA LETTER G */
+MAP(0x25, 0x2D, 0x30AD) /* KATAKANA LETTER K */
+MAP(0x25, 0x2E, 0x30AE) /* KATAKANA LETTER G */
+MAP(0x25, 0x2F, 0x30AF) /* KATAKANA LETTER K */
+MAP(0x25, 0x30, 0x30B0) /* KATAKANA LETTER G */
+MAP(0x25, 0x31, 0x30B1) /* KATAKANA LETTER K */
+MAP(0x25, 0x32, 0x30B2) /* KATAKANA LETTER G */
+MAP(0x25, 0x33, 0x30B3) /* KATAKANA LETTER K */
+MAP(0x25, 0x34, 0x30B4) /* KATAKANA LETTER G */
+MAP(0x25, 0x35, 0x30B5) /* KATAKANA LETTER S */
+MAP(0x25, 0x36, 0x30B6) /* KATAKANA LETTER Z */
+MAP(0x25, 0x37, 0x30B7) /* KATAKANA LETTER S */
+MAP(0x25, 0x38, 0x30B8) /* KATAKANA LETTER Z */
+MAP(0x25, 0x39, 0x30B9) /* KATAKANA LETTER S */
+MAP(0x25, 0x3A, 0x30BA) /* KATAKANA LETTER Z */
+MAP(0x25, 0x3B, 0x30BB) /* KATAKANA LETTER S */
+MAP(0x25, 0x3C, 0x30BC) /* KATAKANA LETTER Z */
+MAP(0x25, 0x3D, 0x30BD) /* KATAKANA LETTER S */
+MAP(0x25, 0x3E, 0x30BE) /* KATAKANA LETTER Z */
+MAP(0x25, 0x3F, 0x30BF) /* KATAKANA LETTER T */
+MAP(0x25, 0x40, 0x30C0) /* KATAKANA LETTER D */
+MAP(0x25, 0x41, 0x30C1) /* KATAKANA LETTER T */
+MAP(0x25, 0x42, 0x30C2) /* KATAKANA LETTER D */
+MAP(0x25, 0x43, 0x30C3) /* KATAKANA LETTER SMALL T */
+MAP(0x25, 0x44, 0x30C4) /* KATAKANA LETTER T */
+MAP(0x25, 0x45, 0x30C5) /* KATAKANA LETTER D */
+MAP(0x25, 0x46, 0x30C6) /* KATAKANA LETTER T */
+MAP(0x25, 0x47, 0x30C7) /* KATAKANA LETTER D */
+MAP(0x25, 0x48, 0x30C8) /* KATAKANA LETTER T */
+MAP(0x25, 0x49, 0x30C9) /* KATAKANA LETTER D */
+MAP(0x25, 0x4A, 0x30CA) /* KATAKANA LETTER N */
+MAP(0x25, 0x4B, 0x30CB) /* KATAKANA LETTER N */
+MAP(0x25, 0x4C, 0x30CC) /* KATAKANA LETTER N */
+MAP(0x25, 0x4D, 0x30CD) /* KATAKANA LETTER N */
+MAP(0x25, 0x4E, 0x30CE) /* KATAKANA LETTER N */
+MAP(0x25, 0x4F, 0x30CF) /* KATAKANA LETTER H */
+MAP(0x25, 0x50, 0x30D0) /* KATAKANA LETTER B */
+MAP(0x25, 0x51, 0x30D1) /* KATAKANA LETTER P */
+MAP(0x25, 0x52, 0x30D2) /* KATAKANA LETTER H */
+MAP(0x25, 0x53, 0x30D3) /* KATAKANA LETTER B */
+MAP(0x25, 0x54, 0x30D4) /* KATAKANA LETTER P */
+MAP(0x25, 0x55, 0x30D5) /* KATAKANA LETTER H */
+MAP(0x25, 0x56, 0x30D6) /* KATAKANA LETTER B */
+MAP(0x25, 0x57, 0x30D7) /* KATAKANA LETTER P */
+MAP(0x25, 0x58, 0x30D8) /* KATAKANA LETTER H */
+MAP(0x25, 0x59, 0x30D9) /* KATAKANA LETTER B */
+MAP(0x25, 0x5A, 0x30DA) /* KATAKANA LETTER P */
+MAP(0x25, 0x5B, 0x30DB) /* KATAKANA LETTER H */
+MAP(0x25, 0x5C, 0x30DC) /* KATAKANA LETTER B */
+MAP(0x25, 0x5D, 0x30DD) /* KATAKANA LETTER P */
+MAP(0x25, 0x5E, 0x30DE) /* KATAKANA LETTER M */
+MAP(0x25, 0x5F, 0x30DF) /* KATAKANA LETTER M */
+MAP(0x25, 0x60, 0x30E0) /* KATAKANA LETTER M */
+MAP(0x25, 0x61, 0x30E1) /* KATAKANA LETTER M */
+MAP(0x25, 0x62, 0x30E2) /* KATAKANA LETTER M */
+MAP(0x25, 0x63, 0x30E3) /* KATAKANA LETTER SMALL Y */
+MAP(0x25, 0x64, 0x30E4) /* KATAKANA LETTER Y */
+MAP(0x25, 0x65, 0x30E5) /* KATAKANA LETTER SMALL Y */
+MAP(0x25, 0x66, 0x30E6) /* KATAKANA LETTER Y */
+MAP(0x25, 0x67, 0x30E7) /* KATAKANA LETTER SMALL Y */
+MAP(0x25, 0x68, 0x30E8) /* KATAKANA LETTER Y */
+MAP(0x25, 0x69, 0x30E9) /* KATAKANA LETTER R */
+MAP(0x25, 0x6A, 0x30EA) /* KATAKANA LETTER R */
+MAP(0x25, 0x6B, 0x30EB) /* KATAKANA LETTER R */
+MAP(0x25, 0x6C, 0x30EC) /* KATAKANA LETTER R */
+MAP(0x25, 0x6D, 0x30ED) /* KATAKANA LETTER R */
+MAP(0x25, 0x6E, 0x30EE) /* KATAKANA LETTER SMALL W */
+MAP(0x25, 0x6F, 0x30EF) /* KATAKANA LETTER W */
+MAP(0x25, 0x70, 0x30F0) /* KATAKANA LETTER W */
+MAP(0x25, 0x71, 0x30F1) /* KATAKANA LETTER W */
+MAP(0x25, 0x72, 0x30F2) /* KATAKANA LETTER W */
+MAP(0x25, 0x73, 0x30F3) /* KATAKANA LETTER */
+MAP(0x25, 0x74, 0x30F4) /* KATAKANA LETTER V */
+MAP(0x25, 0x75, 0x30F5) /* KATAKANA LETTER SMALL K */
+MAP(0x25, 0x76, 0x30F6) /* KATAKANA LETTER SMALL K */
+MAP(0x26, 0x21, 0x0391) /* GREEK CAPITAL LETTER ALPH */
+MAP(0x26, 0x22, 0x0392) /* GREEK CAPITAL LETTER BET */
+MAP(0x26, 0x23, 0x0393) /* GREEK CAPITAL LETTER GAMM */
+MAP(0x26, 0x24, 0x0394) /* GREEK CAPITAL LETTER DELT */
+MAP(0x26, 0x25, 0x0395) /* GREEK CAPITAL LETTER EPSILO */
+MAP(0x26, 0x26, 0x0396) /* GREEK CAPITAL LETTER ZET */
+MAP(0x26, 0x27, 0x0397) /* GREEK CAPITAL LETTER ET */
+MAP(0x26, 0x28, 0x0398) /* GREEK CAPITAL LETTER THET */
+MAP(0x26, 0x29, 0x0399) /* GREEK CAPITAL LETTER IOT */
+MAP(0x26, 0x2A, 0x039A) /* GREEK CAPITAL LETTER KAPP */
+MAP(0x26, 0x2B, 0x039B) /* GREEK CAPITAL LETTER LAMD */
+MAP(0x26, 0x2C, 0x039C) /* GREEK CAPITAL LETTER M */
+MAP(0x26, 0x2D, 0x039D) /* GREEK CAPITAL LETTER N */
+MAP(0x26, 0x2E, 0x039E) /* GREEK CAPITAL LETTER X */
+MAP(0x26, 0x2F, 0x039F) /* GREEK CAPITAL LETTER OMICRO */
+MAP(0x26, 0x30, 0x03A0) /* GREEK CAPITAL LETTER P */
+MAP(0x26, 0x31, 0x03A1) /* GREEK CAPITAL LETTER RH */
+MAP(0x26, 0x32, 0x03A3) /* GREEK CAPITAL LETTER SIGM */
+MAP(0x26, 0x33, 0x03A4) /* GREEK CAPITAL LETTER TA */
+MAP(0x26, 0x34, 0x03A5) /* GREEK CAPITAL LETTER UPSILO */
+MAP(0x26, 0x35, 0x03A6) /* GREEK CAPITAL LETTER PH */
+MAP(0x26, 0x36, 0x03A7) /* GREEK CAPITAL LETTER CH */
+MAP(0x26, 0x37, 0x03A8) /* GREEK CAPITAL LETTER PS */
+MAP(0x26, 0x38, 0x03A9) /* GREEK CAPITAL LETTER OMEG */
+MAP(0x26, 0x41, 0x03B1) /* GREEK SMALL LETTER ALPH */
+MAP(0x26, 0x42, 0x03B2) /* GREEK SMALL LETTER BET */
+MAP(0x26, 0x43, 0x03B3) /* GREEK SMALL LETTER GAMM */
+MAP(0x26, 0x44, 0x03B4) /* GREEK SMALL LETTER DELT */
+MAP(0x26, 0x45, 0x03B5) /* GREEK SMALL LETTER EPSILO */
+MAP(0x26, 0x46, 0x03B6) /* GREEK SMALL LETTER ZET */
+MAP(0x26, 0x47, 0x03B7) /* GREEK SMALL LETTER ET */
+MAP(0x26, 0x48, 0x03B8) /* GREEK SMALL LETTER THET */
+MAP(0x26, 0x49, 0x03B9) /* GREEK SMALL LETTER IOT */
+MAP(0x26, 0x4A, 0x03BA) /* GREEK SMALL LETTER KAPP */
+MAP(0x26, 0x4B, 0x03BB) /* GREEK SMALL LETTER LAMD */
+MAP(0x26, 0x4C, 0x03BC) /* GREEK SMALL LETTER M */
+MAP(0x26, 0x4D, 0x03BD) /* GREEK SMALL LETTER N */
+MAP(0x26, 0x4E, 0x03BE) /* GREEK SMALL LETTER X */
+MAP(0x26, 0x4F, 0x03BF) /* GREEK SMALL LETTER OMICRO */
+MAP(0x26, 0x50, 0x03C0) /* GREEK SMALL LETTER P */
+MAP(0x26, 0x51, 0x03C1) /* GREEK SMALL LETTER RH */
+MAP(0x26, 0x52, 0x03C3) /* GREEK SMALL LETTER SIGM */
+MAP(0x26, 0x53, 0x03C4) /* GREEK SMALL LETTER TA */
+MAP(0x26, 0x54, 0x03C5) /* GREEK SMALL LETTER UPSILO */
+MAP(0x26, 0x55, 0x03C6) /* GREEK SMALL LETTER PH */
+MAP(0x26, 0x56, 0x03C7) /* GREEK SMALL LETTER CH */
+MAP(0x26, 0x57, 0x03C8) /* GREEK SMALL LETTER PS */
+MAP(0x26, 0x58, 0x03C9) /* GREEK SMALL LETTER OMEG */
+MAP(0x27, 0x21, 0x0410) /* CYRILLIC CAPITAL LETTER */
+MAP(0x27, 0x22, 0x0411) /* CYRILLIC CAPITAL LETTER B */
+MAP(0x27, 0x23, 0x0412) /* CYRILLIC CAPITAL LETTER V */
+MAP(0x27, 0x24, 0x0413) /* CYRILLIC CAPITAL LETTER GH */
+MAP(0x27, 0x25, 0x0414) /* CYRILLIC CAPITAL LETTER D */
+MAP(0x27, 0x26, 0x0415) /* CYRILLIC CAPITAL LETTER I */
+MAP(0x27, 0x27, 0x0401) /* CYRILLIC CAPITAL LETTER I */
+MAP(0x27, 0x28, 0x0416) /* CYRILLIC CAPITAL LETTER ZH */
+MAP(0x27, 0x29, 0x0417) /* CYRILLIC CAPITAL LETTER Z */
+MAP(0x27, 0x2A, 0x0418) /* CYRILLIC CAPITAL LETTER */
+MAP(0x27, 0x2B, 0x0419) /* CYRILLIC CAPITAL LETTER SHORT */
+MAP(0x27, 0x2C, 0x041A) /* CYRILLIC CAPITAL LETTER K */
+MAP(0x27, 0x2D, 0x041B) /* CYRILLIC CAPITAL LETTER E */
+MAP(0x27, 0x2E, 0x041C) /* CYRILLIC CAPITAL LETTER E */
+MAP(0x27, 0x2F, 0x041D) /* CYRILLIC CAPITAL LETTER E */
+MAP(0x27, 0x30, 0x041E) /* CYRILLIC CAPITAL LETTER */
+MAP(0x27, 0x31, 0x041F) /* CYRILLIC CAPITAL LETTER P */
+MAP(0x27, 0x32, 0x0420) /* CYRILLIC CAPITAL LETTER E */
+MAP(0x27, 0x33, 0x0421) /* CYRILLIC CAPITAL LETTER E */
+MAP(0x27, 0x34, 0x0422) /* CYRILLIC CAPITAL LETTER T */
+MAP(0x27, 0x35, 0x0423) /* CYRILLIC CAPITAL LETTER */
+MAP(0x27, 0x36, 0x0424) /* CYRILLIC CAPITAL LETTER E */
+MAP(0x27, 0x37, 0x0425) /* CYRILLIC CAPITAL LETTER H */
+MAP(0x27, 0x38, 0x0426) /* CYRILLIC CAPITAL LETTER TS */
+MAP(0x27, 0x39, 0x0427) /* CYRILLIC CAPITAL LETTER CH */
+MAP(0x27, 0x3A, 0x0428) /* CYRILLIC CAPITAL LETTER SH */
+MAP(0x27, 0x3B, 0x0429) /* CYRILLIC CAPITAL LETTER SHCH */
+MAP(0x27, 0x3C, 0x042A) /* CYRILLIC CAPITAL LETTER HARD SIG */
+MAP(0x27, 0x3D, 0x042B) /* CYRILLIC CAPITAL LETTER YER */
+MAP(0x27, 0x3E, 0x042C) /* CYRILLIC CAPITAL LETTER SOFT SIG */
+MAP(0x27, 0x3F, 0x042D) /* CYRILLIC CAPITAL LETTER */
+MAP(0x27, 0x40, 0x042E) /* CYRILLIC CAPITAL LETTER Y */
+MAP(0x27, 0x41, 0x042F) /* CYRILLIC CAPITAL LETTER Y */
+MAP(0x27, 0x51, 0x0430) /* CYRILLIC SMALL LETTER */
+MAP(0x27, 0x52, 0x0431) /* CYRILLIC SMALL LETTER B */
+MAP(0x27, 0x53, 0x0432) /* CYRILLIC SMALL LETTER V */
+MAP(0x27, 0x54, 0x0433) /* CYRILLIC SMALL LETTER GH */
+MAP(0x27, 0x55, 0x0434) /* CYRILLIC SMALL LETTER D */
+MAP(0x27, 0x56, 0x0435) /* CYRILLIC SMALL LETTER I */
+MAP(0x27, 0x57, 0x0451) /* CYRILLIC SMALL LETTER I */
+MAP(0x27, 0x58, 0x0436) /* CYRILLIC SMALL LETTER ZH */
+MAP(0x27, 0x59, 0x0437) /* CYRILLIC SMALL LETTER Z */
+MAP(0x27, 0x5A, 0x0438) /* CYRILLIC SMALL LETTER */
+MAP(0x27, 0x5B, 0x0439) /* CYRILLIC SMALL LETTER SHORT */
+MAP(0x27, 0x5C, 0x043A) /* CYRILLIC SMALL LETTER K */
+MAP(0x27, 0x5D, 0x043B) /* CYRILLIC SMALL LETTER E */
+MAP(0x27, 0x5E, 0x043C) /* CYRILLIC SMALL LETTER E */
+MAP(0x27, 0x5F, 0x043D) /* CYRILLIC SMALL LETTER E */
+MAP(0x27, 0x60, 0x043E) /* CYRILLIC SMALL LETTER */
+MAP(0x27, 0x61, 0x043F) /* CYRILLIC SMALL LETTER P */
+MAP(0x27, 0x62, 0x0440) /* CYRILLIC SMALL LETTER E */
+MAP(0x27, 0x63, 0x0441) /* CYRILLIC SMALL LETTER E */
+MAP(0x27, 0x64, 0x0442) /* CYRILLIC SMALL LETTER T */
+MAP(0x27, 0x65, 0x0443) /* CYRILLIC SMALL LETTER */
+MAP(0x27, 0x66, 0x0444) /* CYRILLIC SMALL LETTER E */
+MAP(0x27, 0x67, 0x0445) /* CYRILLIC SMALL LETTER H */
+MAP(0x27, 0x68, 0x0446) /* CYRILLIC SMALL LETTER TS */
+MAP(0x27, 0x69, 0x0447) /* CYRILLIC SMALL LETTER CH */
+MAP(0x27, 0x6A, 0x0448) /* CYRILLIC SMALL LETTER SH */
+MAP(0x27, 0x6B, 0x0449) /* CYRILLIC SMALL LETTER SHCH */
+MAP(0x27, 0x6C, 0x044A) /* CYRILLIC SMALL LETTER HARD SIG */
+MAP(0x27, 0x6D, 0x044B) /* CYRILLIC SMALL LETTER YER */
+MAP(0x27, 0x6E, 0x044C) /* CYRILLIC SMALL LETTER SOFT SIG */
+MAP(0x27, 0x6F, 0x044D) /* CYRILLIC SMALL LETTER */
+MAP(0x27, 0x70, 0x044E) /* CYRILLIC SMALL LETTER Y */
+MAP(0x27, 0x71, 0x044F) /* CYRILLIC SMALL LETTER Y */
+MAP(0x28, 0x21, 0x2500) /* BOX DRAWINGS LIGHT HORIZONTA */
+MAP(0x28, 0x22, 0x2502) /* BOX DRAWINGS LIGHT VERTICA */
+MAP(0x28, 0x23, 0x250C) /* BOX DRAWINGS LIGHT DOWN AND RIGH */
+MAP(0x28, 0x24, 0x2510) /* BOX DRAWINGS LIGHT DOWN AND LEF */
+MAP(0x28, 0x25, 0x2518) /* BOX DRAWINGS LIGHT UP AND LEF */
+MAP(0x28, 0x26, 0x2514) /* BOX DRAWINGS LIGHT UP AND RIGH */
+MAP(0x28, 0x27, 0x251C) /* BOX DRAWINGS LIGHT VERTICAL AND RIGH */
+MAP(0x28, 0x28, 0x252C) /* BOX DRAWINGS LIGHT DOWN AND HORIZONTA */
+MAP(0x28, 0x29, 0x2524) /* BOX DRAWINGS LIGHT VERTICAL AND LEF */
+MAP(0x28, 0x2A, 0x2534) /* BOX DRAWINGS LIGHT UP AND HORIZONTA */
+MAP(0x28, 0x2B, 0x253C) /* BOX DRAWINGS LIGHT VERTICAL AND HORIZONTA */
+MAP(0x28, 0x2C, 0x2501) /* BOX DRAWINGS HEAVY HORIZONTA */
+MAP(0x28, 0x2D, 0x2503) /* BOX DRAWINGS HEAVY VERTICA */
+MAP(0x28, 0x2E, 0x250F) /* BOX DRAWINGS HEAVY DOWN AND RIGH */
+MAP(0x28, 0x2F, 0x2513) /* BOX DRAWINGS HEAVY DOWN AND LEF */
+MAP(0x28, 0x30, 0x251B) /* BOX DRAWINGS HEAVY UP AND LEF */
+MAP(0x28, 0x31, 0x2517) /* BOX DRAWINGS HEAVY UP AND RIGH */
+MAP(0x28, 0x32, 0x2523) /* BOX DRAWINGS HEAVY VERTICAL AND RIGH */
+MAP(0x28, 0x33, 0x2533) /* BOX DRAWINGS HEAVY DOWN AND HORIZONTA */
+MAP(0x28, 0x34, 0x252B) /* BOX DRAWINGS HEAVY VERTICAL AND LEF */
+MAP(0x28, 0x35, 0x253B) /* BOX DRAWINGS HEAVY UP AND HORIZONTA */
+MAP(0x28, 0x36, 0x254B) /* BOX DRAWINGS HEAVY VERTICAL AND HORIZONTA */
+MAP(0x28, 0x37, 0x2520) /* BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGH */
+MAP(0x28, 0x38, 0x252F) /* BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAV */
+MAP(0x28, 0x39, 0x2528) /* BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGH */
+MAP(0x28, 0x3A, 0x2537) /* BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAV */
+MAP(0x28, 0x3B, 0x253F) /* BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAV */
+MAP(0x28, 0x3C, 0x251D) /* BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAV */
+MAP(0x28, 0x3D, 0x2530) /* BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGH */
+MAP(0x28, 0x3E, 0x2525) /* BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAV */
+MAP(0x28, 0x3F, 0x2538) /* BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGH */
+MAP(0x28, 0x40, 0x2542) /* BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGH */
+MAP(0x30, 0x21, 0x4E9C) /* <CJK */
+MAP(0x30, 0x22, 0x5516) /* <CJK */
+MAP(0x30, 0x23, 0x5A03) /* <CJK */
+MAP(0x30, 0x24, 0x963F) /* <CJK */
+MAP(0x30, 0x25, 0x54C0) /* <CJK */
+MAP(0x30, 0x26, 0x611B) /* <CJK */
+MAP(0x30, 0x27, 0x6328) /* <CJK */
+MAP(0x30, 0x28, 0x59F6) /* <CJK */
+MAP(0x30, 0x29, 0x9022) /* <CJK */
+MAP(0x30, 0x2A, 0x8475) /* <CJK */
+MAP(0x30, 0x2B, 0x831C) /* <CJK */
+MAP(0x30, 0x2C, 0x7A50) /* <CJK */
+MAP(0x30, 0x2D, 0x60AA) /* <CJK */
+MAP(0x30, 0x2E, 0x63E1) /* <CJK */
+MAP(0x30, 0x2F, 0x6E25) /* <CJK */
+MAP(0x30, 0x30, 0x65ED) /* <CJK */
+MAP(0x30, 0x31, 0x8466) /* <CJK */
+MAP(0x30, 0x32, 0x82A6) /* <CJK */
+MAP(0x30, 0x33, 0x9BF5) /* <CJK */
+MAP(0x30, 0x34, 0x6893) /* <CJK */
+MAP(0x30, 0x35, 0x5727) /* <CJK */
+MAP(0x30, 0x36, 0x65A1) /* <CJK */
+MAP(0x30, 0x37, 0x6271) /* <CJK */
+MAP(0x30, 0x38, 0x5B9B) /* <CJK */
+MAP(0x30, 0x39, 0x59D0) /* <CJK */
+MAP(0x30, 0x3A, 0x867B) /* <CJK */
+MAP(0x30, 0x3B, 0x98F4) /* <CJK */
+MAP(0x30, 0x3C, 0x7D62) /* <CJK */
+MAP(0x30, 0x3D, 0x7DBE) /* <CJK */
+MAP(0x30, 0x3E, 0x9B8E) /* <CJK */
+MAP(0x30, 0x3F, 0x6216) /* <CJK */
+MAP(0x30, 0x40, 0x7C9F) /* <CJK */
+MAP(0x30, 0x41, 0x88B7) /* <CJK */
+MAP(0x30, 0x42, 0x5B89) /* <CJK */
+MAP(0x30, 0x43, 0x5EB5) /* <CJK */
+MAP(0x30, 0x44, 0x6309) /* <CJK */
+MAP(0x30, 0x45, 0x6697) /* <CJK */
+MAP(0x30, 0x46, 0x6848) /* <CJK */
+MAP(0x30, 0x47, 0x95C7) /* <CJK */
+MAP(0x30, 0x48, 0x978D) /* <CJK */
+MAP(0x30, 0x49, 0x674F) /* <CJK */
+MAP(0x30, 0x4A, 0x4EE5) /* <CJK */
+MAP(0x30, 0x4B, 0x4F0A) /* <CJK */
+MAP(0x30, 0x4C, 0x4F4D) /* <CJK */
+MAP(0x30, 0x4D, 0x4F9D) /* <CJK */
+MAP(0x30, 0x4E, 0x5049) /* <CJK */
+MAP(0x30, 0x4F, 0x56F2) /* <CJK */
+MAP(0x30, 0x50, 0x5937) /* <CJK */
+MAP(0x30, 0x51, 0x59D4) /* <CJK */
+MAP(0x30, 0x52, 0x5A01) /* <CJK */
+MAP(0x30, 0x53, 0x5C09) /* <CJK */
+MAP(0x30, 0x54, 0x60DF) /* <CJK */
+MAP(0x30, 0x55, 0x610F) /* <CJK */
+MAP(0x30, 0x56, 0x6170) /* <CJK */
+MAP(0x30, 0x57, 0x6613) /* <CJK */
+MAP(0x30, 0x58, 0x6905) /* <CJK */
+MAP(0x30, 0x59, 0x70BA) /* <CJK */
+MAP(0x30, 0x5A, 0x754F) /* <CJK */
+MAP(0x30, 0x5B, 0x7570) /* <CJK */
+MAP(0x30, 0x5C, 0x79FB) /* <CJK */
+MAP(0x30, 0x5D, 0x7DAD) /* <CJK */
+MAP(0x30, 0x5E, 0x7DEF) /* <CJK */
+MAP(0x30, 0x5F, 0x80C3) /* <CJK */
+MAP(0x30, 0x60, 0x840E) /* <CJK */
+MAP(0x30, 0x61, 0x8863) /* <CJK */
+MAP(0x30, 0x62, 0x8B02) /* <CJK */
+MAP(0x30, 0x63, 0x9055) /* <CJK */
+MAP(0x30, 0x64, 0x907A) /* <CJK */
+MAP(0x30, 0x65, 0x533B) /* <CJK */
+MAP(0x30, 0x66, 0x4E95) /* <CJK */
+MAP(0x30, 0x67, 0x4EA5) /* <CJK */
+MAP(0x30, 0x68, 0x57DF) /* <CJK */
+MAP(0x30, 0x69, 0x80B2) /* <CJK */
+MAP(0x30, 0x6A, 0x90C1) /* <CJK */
+MAP(0x30, 0x6B, 0x78EF) /* <CJK */
+MAP(0x30, 0x6C, 0x4E00) /* <CJK */
+MAP(0x30, 0x6D, 0x58F1) /* <CJK */
+MAP(0x30, 0x6E, 0x6EA2) /* <CJK */
+MAP(0x30, 0x6F, 0x9038) /* <CJK */
+MAP(0x30, 0x70, 0x7A32) /* <CJK */
+MAP(0x30, 0x71, 0x8328) /* <CJK */
+MAP(0x30, 0x72, 0x828B) /* <CJK */
+MAP(0x30, 0x73, 0x9C2F) /* <CJK */
+MAP(0x30, 0x74, 0x5141) /* <CJK */
+MAP(0x30, 0x75, 0x5370) /* <CJK */
+MAP(0x30, 0x76, 0x54BD) /* <CJK */
+MAP(0x30, 0x77, 0x54E1) /* <CJK */
+MAP(0x30, 0x78, 0x56E0) /* <CJK */
+MAP(0x30, 0x79, 0x59FB) /* <CJK */
+MAP(0x30, 0x7A, 0x5F15) /* <CJK */
+MAP(0x30, 0x7B, 0x98F2) /* <CJK */
+MAP(0x30, 0x7C, 0x6DEB) /* <CJK */
+MAP(0x30, 0x7D, 0x80E4) /* <CJK */
+MAP(0x30, 0x7E, 0x852D) /* <CJK */
+MAP(0x31, 0x21, 0x9662) /* <CJK */
+MAP(0x31, 0x22, 0x9670) /* <CJK */
+MAP(0x31, 0x23, 0x96A0) /* <CJK */
+MAP(0x31, 0x24, 0x97FB) /* <CJK */
+MAP(0x31, 0x25, 0x540B) /* <CJK */
+MAP(0x31, 0x26, 0x53F3) /* <CJK */
+MAP(0x31, 0x27, 0x5B87) /* <CJK */
+MAP(0x31, 0x28, 0x70CF) /* <CJK */
+MAP(0x31, 0x29, 0x7FBD) /* <CJK */
+MAP(0x31, 0x2A, 0x8FC2) /* <CJK */
+MAP(0x31, 0x2B, 0x96E8) /* <CJK */
+MAP(0x31, 0x2C, 0x536F) /* <CJK */
+MAP(0x31, 0x2D, 0x9D5C) /* <CJK */
+MAP(0x31, 0x2E, 0x7ABA) /* <CJK */
+MAP(0x31, 0x2F, 0x4E11) /* <CJK */
+MAP(0x31, 0x30, 0x7893) /* <CJK */
+MAP(0x31, 0x31, 0x81FC) /* <CJK */
+MAP(0x31, 0x32, 0x6E26) /* <CJK */
+MAP(0x31, 0x33, 0x5618) /* <CJK */
+MAP(0x31, 0x34, 0x5504) /* <CJK */
+MAP(0x31, 0x35, 0x6B1D) /* <CJK */
+MAP(0x31, 0x36, 0x851A) /* <CJK */
+MAP(0x31, 0x37, 0x9C3B) /* <CJK */
+MAP(0x31, 0x38, 0x59E5) /* <CJK */
+MAP(0x31, 0x39, 0x53A9) /* <CJK */
+MAP(0x31, 0x3A, 0x6D66) /* <CJK */
+MAP(0x31, 0x3B, 0x74DC) /* <CJK */
+MAP(0x31, 0x3C, 0x958F) /* <CJK */
+MAP(0x31, 0x3D, 0x5642) /* <CJK */
+MAP(0x31, 0x3E, 0x4E91) /* <CJK */
+MAP(0x31, 0x3F, 0x904B) /* <CJK */
+MAP(0x31, 0x40, 0x96F2) /* <CJK */
+MAP(0x31, 0x41, 0x834F) /* <CJK */
+MAP(0x31, 0x42, 0x990C) /* <CJK */
+MAP(0x31, 0x43, 0x53E1) /* <CJK */
+MAP(0x31, 0x44, 0x55B6) /* <CJK */
+MAP(0x31, 0x45, 0x5B30) /* <CJK */
+MAP(0x31, 0x46, 0x5F71) /* <CJK */
+MAP(0x31, 0x47, 0x6620) /* <CJK */
+MAP(0x31, 0x48, 0x66F3) /* <CJK */
+MAP(0x31, 0x49, 0x6804) /* <CJK */
+MAP(0x31, 0x4A, 0x6C38) /* <CJK */
+MAP(0x31, 0x4B, 0x6CF3) /* <CJK */
+MAP(0x31, 0x4C, 0x6D29) /* <CJK */
+MAP(0x31, 0x4D, 0x745B) /* <CJK */
+MAP(0x31, 0x4E, 0x76C8) /* <CJK */
+MAP(0x31, 0x4F, 0x7A4E) /* <CJK */
+MAP(0x31, 0x50, 0x9834) /* <CJK */
+MAP(0x31, 0x51, 0x82F1) /* <CJK */
+MAP(0x31, 0x52, 0x885B) /* <CJK */
+MAP(0x31, 0x53, 0x8A60) /* <CJK */
+MAP(0x31, 0x54, 0x92ED) /* <CJK */
+MAP(0x31, 0x55, 0x6DB2) /* <CJK */
+MAP(0x31, 0x56, 0x75AB) /* <CJK */
+MAP(0x31, 0x57, 0x76CA) /* <CJK */
+MAP(0x31, 0x58, 0x99C5) /* <CJK */
+MAP(0x31, 0x59, 0x60A6) /* <CJK */
+MAP(0x31, 0x5A, 0x8B01) /* <CJK */
+MAP(0x31, 0x5B, 0x8D8A) /* <CJK */
+MAP(0x31, 0x5C, 0x95B2) /* <CJK */
+MAP(0x31, 0x5D, 0x698E) /* <CJK */
+MAP(0x31, 0x5E, 0x53AD) /* <CJK */
+MAP(0x31, 0x5F, 0x5186) /* <CJK */
+MAP(0x31, 0x60, 0x5712) /* <CJK */
+MAP(0x31, 0x61, 0x5830) /* <CJK */
+MAP(0x31, 0x62, 0x5944) /* <CJK */
+MAP(0x31, 0x63, 0x5BB4) /* <CJK */
+MAP(0x31, 0x64, 0x5EF6) /* <CJK */
+MAP(0x31, 0x65, 0x6028) /* <CJK */
+MAP(0x31, 0x66, 0x63A9) /* <CJK */
+MAP(0x31, 0x67, 0x63F4) /* <CJK */
+MAP(0x31, 0x68, 0x6CBF) /* <CJK */
+MAP(0x31, 0x69, 0x6F14) /* <CJK */
+MAP(0x31, 0x6A, 0x708E) /* <CJK */
+MAP(0x31, 0x6B, 0x7114) /* <CJK */
+MAP(0x31, 0x6C, 0x7159) /* <CJK */
+MAP(0x31, 0x6D, 0x71D5) /* <CJK */
+MAP(0x31, 0x6E, 0x733F) /* <CJK */
+MAP(0x31, 0x6F, 0x7E01) /* <CJK */
+MAP(0x31, 0x70, 0x8276) /* <CJK */
+MAP(0x31, 0x71, 0x82D1) /* <CJK */
+MAP(0x31, 0x72, 0x8597) /* <CJK */
+MAP(0x31, 0x73, 0x9060) /* <CJK */
+MAP(0x31, 0x74, 0x925B) /* <CJK */
+MAP(0x31, 0x75, 0x9D1B) /* <CJK */
+MAP(0x31, 0x76, 0x5869) /* <CJK */
+MAP(0x31, 0x77, 0x65BC) /* <CJK */
+MAP(0x31, 0x78, 0x6C5A) /* <CJK */
+MAP(0x31, 0x79, 0x7525) /* <CJK */
+MAP(0x31, 0x7A, 0x51F9) /* <CJK */
+MAP(0x31, 0x7B, 0x592E) /* <CJK */
+MAP(0x31, 0x7C, 0x5965) /* <CJK */
+MAP(0x31, 0x7D, 0x5F80) /* <CJK */
+MAP(0x31, 0x7E, 0x5FDC) /* <CJK */
+MAP(0x32, 0x21, 0x62BC) /* <CJK */
+MAP(0x32, 0x22, 0x65FA) /* <CJK */
+MAP(0x32, 0x23, 0x6A2A) /* <CJK */
+MAP(0x32, 0x24, 0x6B27) /* <CJK */
+MAP(0x32, 0x25, 0x6BB4) /* <CJK */
+MAP(0x32, 0x26, 0x738B) /* <CJK */
+MAP(0x32, 0x27, 0x7FC1) /* <CJK */
+MAP(0x32, 0x28, 0x8956) /* <CJK */
+MAP(0x32, 0x29, 0x9D2C) /* <CJK */
+MAP(0x32, 0x2A, 0x9D0E) /* <CJK */
+MAP(0x32, 0x2B, 0x9EC4) /* <CJK */
+MAP(0x32, 0x2C, 0x5CA1) /* <CJK */
+MAP(0x32, 0x2D, 0x6C96) /* <CJK */
+MAP(0x32, 0x2E, 0x837B) /* <CJK */
+MAP(0x32, 0x2F, 0x5104) /* <CJK */
+MAP(0x32, 0x30, 0x5C4B) /* <CJK */
+MAP(0x32, 0x31, 0x61B6) /* <CJK */
+MAP(0x32, 0x32, 0x81C6) /* <CJK */
+MAP(0x32, 0x33, 0x6876) /* <CJK */
+MAP(0x32, 0x34, 0x7261) /* <CJK */
+MAP(0x32, 0x35, 0x4E59) /* <CJK */
+MAP(0x32, 0x36, 0x4FFA) /* <CJK */
+MAP(0x32, 0x37, 0x5378) /* <CJK */
+MAP(0x32, 0x38, 0x6069) /* <CJK */
+MAP(0x32, 0x39, 0x6E29) /* <CJK */
+MAP(0x32, 0x3A, 0x7A4F) /* <CJK */
+MAP(0x32, 0x3B, 0x97F3) /* <CJK */
+MAP(0x32, 0x3C, 0x4E0B) /* <CJK */
+MAP(0x32, 0x3D, 0x5316) /* <CJK */
+MAP(0x32, 0x3E, 0x4EEE) /* <CJK */
+MAP(0x32, 0x3F, 0x4F55) /* <CJK */
+MAP(0x32, 0x40, 0x4F3D) /* <CJK */
+MAP(0x32, 0x41, 0x4FA1) /* <CJK */
+MAP(0x32, 0x42, 0x4F73) /* <CJK */
+MAP(0x32, 0x43, 0x52A0) /* <CJK */
+MAP(0x32, 0x44, 0x53EF) /* <CJK */
+MAP(0x32, 0x45, 0x5609) /* <CJK */
+MAP(0x32, 0x46, 0x590F) /* <CJK */
+MAP(0x32, 0x47, 0x5AC1) /* <CJK */
+MAP(0x32, 0x48, 0x5BB6) /* <CJK */
+MAP(0x32, 0x49, 0x5BE1) /* <CJK */
+MAP(0x32, 0x4A, 0x79D1) /* <CJK */
+MAP(0x32, 0x4B, 0x6687) /* <CJK */
+MAP(0x32, 0x4C, 0x679C) /* <CJK */
+MAP(0x32, 0x4D, 0x67B6) /* <CJK */
+MAP(0x32, 0x4E, 0x6B4C) /* <CJK */
+MAP(0x32, 0x4F, 0x6CB3) /* <CJK */
+MAP(0x32, 0x50, 0x706B) /* <CJK */
+MAP(0x32, 0x51, 0x73C2) /* <CJK */
+MAP(0x32, 0x52, 0x798D) /* <CJK */
+MAP(0x32, 0x53, 0x79BE) /* <CJK */
+MAP(0x32, 0x54, 0x7A3C) /* <CJK */
+MAP(0x32, 0x55, 0x7B87) /* <CJK */
+MAP(0x32, 0x56, 0x82B1) /* <CJK */
+MAP(0x32, 0x57, 0x82DB) /* <CJK */
+MAP(0x32, 0x58, 0x8304) /* <CJK */
+MAP(0x32, 0x59, 0x8377) /* <CJK */
+MAP(0x32, 0x5A, 0x83EF) /* <CJK */
+MAP(0x32, 0x5B, 0x83D3) /* <CJK */
+MAP(0x32, 0x5C, 0x8766) /* <CJK */
+MAP(0x32, 0x5D, 0x8AB2) /* <CJK */
+MAP(0x32, 0x5E, 0x5629) /* <CJK */
+MAP(0x32, 0x5F, 0x8CA8) /* <CJK */
+MAP(0x32, 0x60, 0x8FE6) /* <CJK */
+MAP(0x32, 0x61, 0x904E) /* <CJK */
+MAP(0x32, 0x62, 0x971E) /* <CJK */
+MAP(0x32, 0x63, 0x868A) /* <CJK */
+MAP(0x32, 0x64, 0x4FC4) /* <CJK */
+MAP(0x32, 0x65, 0x5CE8) /* <CJK */
+MAP(0x32, 0x66, 0x6211) /* <CJK */
+MAP(0x32, 0x67, 0x7259) /* <CJK */
+MAP(0x32, 0x68, 0x753B) /* <CJK */
+MAP(0x32, 0x69, 0x81E5) /* <CJK */
+MAP(0x32, 0x6A, 0x82BD) /* <CJK */
+MAP(0x32, 0x6B, 0x86FE) /* <CJK */
+MAP(0x32, 0x6C, 0x8CC0) /* <CJK */
+MAP(0x32, 0x6D, 0x96C5) /* <CJK */
+MAP(0x32, 0x6E, 0x9913) /* <CJK */
+MAP(0x32, 0x6F, 0x99D5) /* <CJK */
+MAP(0x32, 0x70, 0x4ECB) /* <CJK */
+MAP(0x32, 0x71, 0x4F1A) /* <CJK */
+MAP(0x32, 0x72, 0x89E3) /* <CJK */
+MAP(0x32, 0x73, 0x56DE) /* <CJK */
+MAP(0x32, 0x74, 0x584A) /* <CJK */
+MAP(0x32, 0x75, 0x58CA) /* <CJK */
+MAP(0x32, 0x76, 0x5EFB) /* <CJK */
+MAP(0x32, 0x77, 0x5FEB) /* <CJK */
+MAP(0x32, 0x78, 0x602A) /* <CJK */
+MAP(0x32, 0x79, 0x6094) /* <CJK */
+MAP(0x32, 0x7A, 0x6062) /* <CJK */
+MAP(0x32, 0x7B, 0x61D0) /* <CJK */
+MAP(0x32, 0x7C, 0x6212) /* <CJK */
+MAP(0x32, 0x7D, 0x62D0) /* <CJK */
+MAP(0x32, 0x7E, 0x6539) /* <CJK */
+MAP(0x33, 0x21, 0x9B41) /* <CJK */
+MAP(0x33, 0x22, 0x6666) /* <CJK */
+MAP(0x33, 0x23, 0x68B0) /* <CJK */
+MAP(0x33, 0x24, 0x6D77) /* <CJK */
+MAP(0x33, 0x25, 0x7070) /* <CJK */
+MAP(0x33, 0x26, 0x754C) /* <CJK */
+MAP(0x33, 0x27, 0x7686) /* <CJK */
+MAP(0x33, 0x28, 0x7D75) /* <CJK */
+MAP(0x33, 0x29, 0x82A5) /* <CJK */
+MAP(0x33, 0x2A, 0x87F9) /* <CJK */
+MAP(0x33, 0x2B, 0x958B) /* <CJK */
+MAP(0x33, 0x2C, 0x968E) /* <CJK */
+MAP(0x33, 0x2D, 0x8C9D) /* <CJK */
+MAP(0x33, 0x2E, 0x51F1) /* <CJK */
+MAP(0x33, 0x2F, 0x52BE) /* <CJK */
+MAP(0x33, 0x30, 0x5916) /* <CJK */
+MAP(0x33, 0x31, 0x54B3) /* <CJK */
+MAP(0x33, 0x32, 0x5BB3) /* <CJK */
+MAP(0x33, 0x33, 0x5D16) /* <CJK */
+MAP(0x33, 0x34, 0x6168) /* <CJK */
+MAP(0x33, 0x35, 0x6982) /* <CJK */
+MAP(0x33, 0x36, 0x6DAF) /* <CJK */
+MAP(0x33, 0x37, 0x788D) /* <CJK */
+MAP(0x33, 0x38, 0x84CB) /* <CJK */
+MAP(0x33, 0x39, 0x8857) /* <CJK */
+MAP(0x33, 0x3A, 0x8A72) /* <CJK */
+MAP(0x33, 0x3B, 0x93A7) /* <CJK */
+MAP(0x33, 0x3C, 0x9AB8) /* <CJK */
+MAP(0x33, 0x3D, 0x6D6C) /* <CJK */
+MAP(0x33, 0x3E, 0x99A8) /* <CJK */
+MAP(0x33, 0x3F, 0x86D9) /* <CJK */
+MAP(0x33, 0x40, 0x57A3) /* <CJK */
+MAP(0x33, 0x41, 0x67FF) /* <CJK */
+MAP(0x33, 0x42, 0x86CE) /* <CJK */
+MAP(0x33, 0x43, 0x920E) /* <CJK */
+MAP(0x33, 0x44, 0x5283) /* <CJK */
+MAP(0x33, 0x45, 0x5687) /* <CJK */
+MAP(0x33, 0x46, 0x5404) /* <CJK */
+MAP(0x33, 0x47, 0x5ED3) /* <CJK */
+MAP(0x33, 0x48, 0x62E1) /* <CJK */
+MAP(0x33, 0x49, 0x64B9) /* <CJK */
+MAP(0x33, 0x4A, 0x683C) /* <CJK */
+MAP(0x33, 0x4B, 0x6838) /* <CJK */
+MAP(0x33, 0x4C, 0x6BBB) /* <CJK */
+MAP(0x33, 0x4D, 0x7372) /* <CJK */
+MAP(0x33, 0x4E, 0x78BA) /* <CJK */
+MAP(0x33, 0x4F, 0x7A6B) /* <CJK */
+MAP(0x33, 0x50, 0x899A) /* <CJK */
+MAP(0x33, 0x51, 0x89D2) /* <CJK */
+MAP(0x33, 0x52, 0x8D6B) /* <CJK */
+MAP(0x33, 0x53, 0x8F03) /* <CJK */
+MAP(0x33, 0x54, 0x90ED) /* <CJK */
+MAP(0x33, 0x55, 0x95A3) /* <CJK */
+MAP(0x33, 0x56, 0x9694) /* <CJK */
+MAP(0x33, 0x57, 0x9769) /* <CJK */
+MAP(0x33, 0x58, 0x5B66) /* <CJK */
+MAP(0x33, 0x59, 0x5CB3) /* <CJK */
+MAP(0x33, 0x5A, 0x697D) /* <CJK */
+MAP(0x33, 0x5B, 0x984D) /* <CJK */
+MAP(0x33, 0x5C, 0x984E) /* <CJK */
+MAP(0x33, 0x5D, 0x639B) /* <CJK */
+MAP(0x33, 0x5E, 0x7B20) /* <CJK */
+MAP(0x33, 0x5F, 0x6A2B) /* <CJK */
+MAP(0x33, 0x60, 0x6A7F) /* <CJK */
+MAP(0x33, 0x61, 0x68B6) /* <CJK */
+MAP(0x33, 0x62, 0x9C0D) /* <CJK */
+MAP(0x33, 0x63, 0x6F5F) /* <CJK */
+MAP(0x33, 0x64, 0x5272) /* <CJK */
+MAP(0x33, 0x65, 0x559D) /* <CJK */
+MAP(0x33, 0x66, 0x6070) /* <CJK */
+MAP(0x33, 0x67, 0x62EC) /* <CJK */
+MAP(0x33, 0x68, 0x6D3B) /* <CJK */
+MAP(0x33, 0x69, 0x6E07) /* <CJK */
+MAP(0x33, 0x6A, 0x6ED1) /* <CJK */
+MAP(0x33, 0x6B, 0x845B) /* <CJK */
+MAP(0x33, 0x6C, 0x8910) /* <CJK */
+MAP(0x33, 0x6D, 0x8F44) /* <CJK */
+MAP(0x33, 0x6E, 0x4E14) /* <CJK */
+MAP(0x33, 0x6F, 0x9C39) /* <CJK */
+MAP(0x33, 0x70, 0x53F6) /* <CJK */
+MAP(0x33, 0x71, 0x691B) /* <CJK */
+MAP(0x33, 0x72, 0x6A3A) /* <CJK */
+MAP(0x33, 0x73, 0x9784) /* <CJK */
+MAP(0x33, 0x74, 0x682A) /* <CJK */
+MAP(0x33, 0x75, 0x515C) /* <CJK */
+MAP(0x33, 0x76, 0x7AC3) /* <CJK */
+MAP(0x33, 0x77, 0x84B2) /* <CJK */
+MAP(0x33, 0x78, 0x91DC) /* <CJK */
+MAP(0x33, 0x79, 0x938C) /* <CJK */
+MAP(0x33, 0x7A, 0x565B) /* <CJK */
+MAP(0x33, 0x7B, 0x9D28) /* <CJK */
+MAP(0x33, 0x7C, 0x6822) /* <CJK */
+MAP(0x33, 0x7D, 0x8305) /* <CJK */
+MAP(0x33, 0x7E, 0x8431) /* <CJK */
+MAP(0x34, 0x21, 0x7CA5) /* <CJK */
+MAP(0x34, 0x22, 0x5208) /* <CJK */
+MAP(0x34, 0x23, 0x82C5) /* <CJK */
+MAP(0x34, 0x24, 0x74E6) /* <CJK */
+MAP(0x34, 0x25, 0x4E7E) /* <CJK */
+MAP(0x34, 0x26, 0x4F83) /* <CJK */
+MAP(0x34, 0x27, 0x51A0) /* <CJK */
+MAP(0x34, 0x28, 0x5BD2) /* <CJK */
+MAP(0x34, 0x29, 0x520A) /* <CJK */
+MAP(0x34, 0x2A, 0x52D8) /* <CJK */
+MAP(0x34, 0x2B, 0x52E7) /* <CJK */
+MAP(0x34, 0x2C, 0x5DFB) /* <CJK */
+MAP(0x34, 0x2D, 0x559A) /* <CJK */
+MAP(0x34, 0x2E, 0x582A) /* <CJK */
+MAP(0x34, 0x2F, 0x59E6) /* <CJK */
+MAP(0x34, 0x30, 0x5B8C) /* <CJK */
+MAP(0x34, 0x31, 0x5B98) /* <CJK */
+MAP(0x34, 0x32, 0x5BDB) /* <CJK */
+MAP(0x34, 0x33, 0x5E72) /* <CJK */
+MAP(0x34, 0x34, 0x5E79) /* <CJK */
+MAP(0x34, 0x35, 0x60A3) /* <CJK */
+MAP(0x34, 0x36, 0x611F) /* <CJK */
+MAP(0x34, 0x37, 0x6163) /* <CJK */
+MAP(0x34, 0x38, 0x61BE) /* <CJK */
+MAP(0x34, 0x39, 0x63DB) /* <CJK */
+MAP(0x34, 0x3A, 0x6562) /* <CJK */
+MAP(0x34, 0x3B, 0x67D1) /* <CJK */
+MAP(0x34, 0x3C, 0x6853) /* <CJK */
+MAP(0x34, 0x3D, 0x68FA) /* <CJK */
+MAP(0x34, 0x3E, 0x6B3E) /* <CJK */
+MAP(0x34, 0x3F, 0x6B53) /* <CJK */
+MAP(0x34, 0x40, 0x6C57) /* <CJK */
+MAP(0x34, 0x41, 0x6F22) /* <CJK */
+MAP(0x34, 0x42, 0x6F97) /* <CJK */
+MAP(0x34, 0x43, 0x6F45) /* <CJK */
+MAP(0x34, 0x44, 0x74B0) /* <CJK */
+MAP(0x34, 0x45, 0x7518) /* <CJK */
+MAP(0x34, 0x46, 0x76E3) /* <CJK */
+MAP(0x34, 0x47, 0x770B) /* <CJK */
+MAP(0x34, 0x48, 0x7AFF) /* <CJK */
+MAP(0x34, 0x49, 0x7BA1) /* <CJK */
+MAP(0x34, 0x4A, 0x7C21) /* <CJK */
+MAP(0x34, 0x4B, 0x7DE9) /* <CJK */
+MAP(0x34, 0x4C, 0x7F36) /* <CJK */
+MAP(0x34, 0x4D, 0x7FF0) /* <CJK */
+MAP(0x34, 0x4E, 0x809D) /* <CJK */
+MAP(0x34, 0x4F, 0x8266) /* <CJK */
+MAP(0x34, 0x50, 0x839E) /* <CJK */
+MAP(0x34, 0x51, 0x89B3) /* <CJK */
+MAP(0x34, 0x52, 0x8ACC) /* <CJK */
+MAP(0x34, 0x53, 0x8CAB) /* <CJK */
+MAP(0x34, 0x54, 0x9084) /* <CJK */
+MAP(0x34, 0x55, 0x9451) /* <CJK */
+MAP(0x34, 0x56, 0x9593) /* <CJK */
+MAP(0x34, 0x57, 0x9591) /* <CJK */
+MAP(0x34, 0x58, 0x95A2) /* <CJK */
+MAP(0x34, 0x59, 0x9665) /* <CJK */
+MAP(0x34, 0x5A, 0x97D3) /* <CJK */
+MAP(0x34, 0x5B, 0x9928) /* <CJK */
+MAP(0x34, 0x5C, 0x8218) /* <CJK */
+MAP(0x34, 0x5D, 0x4E38) /* <CJK */
+MAP(0x34, 0x5E, 0x542B) /* <CJK */
+MAP(0x34, 0x5F, 0x5CB8) /* <CJK */
+MAP(0x34, 0x60, 0x5DCC) /* <CJK */
+MAP(0x34, 0x61, 0x73A9) /* <CJK */
+MAP(0x34, 0x62, 0x764C) /* <CJK */
+MAP(0x34, 0x63, 0x773C) /* <CJK */
+MAP(0x34, 0x64, 0x5CA9) /* <CJK */
+MAP(0x34, 0x65, 0x7FEB) /* <CJK */
+MAP(0x34, 0x66, 0x8D0B) /* <CJK */
+MAP(0x34, 0x67, 0x96C1) /* <CJK */
+MAP(0x34, 0x68, 0x9811) /* <CJK */
+MAP(0x34, 0x69, 0x9854) /* <CJK */
+MAP(0x34, 0x6A, 0x9858) /* <CJK */
+MAP(0x34, 0x6B, 0x4F01) /* <CJK */
+MAP(0x34, 0x6C, 0x4F0E) /* <CJK */
+MAP(0x34, 0x6D, 0x5371) /* <CJK */
+MAP(0x34, 0x6E, 0x559C) /* <CJK */
+MAP(0x34, 0x6F, 0x5668) /* <CJK */
+MAP(0x34, 0x70, 0x57FA) /* <CJK */
+MAP(0x34, 0x71, 0x5947) /* <CJK */
+MAP(0x34, 0x72, 0x5B09) /* <CJK */
+MAP(0x34, 0x73, 0x5BC4) /* <CJK */
+MAP(0x34, 0x74, 0x5C90) /* <CJK */
+MAP(0x34, 0x75, 0x5E0C) /* <CJK */
+MAP(0x34, 0x76, 0x5E7E) /* <CJK */
+MAP(0x34, 0x77, 0x5FCC) /* <CJK */
+MAP(0x34, 0x78, 0x63EE) /* <CJK */
+MAP(0x34, 0x79, 0x673A) /* <CJK */
+MAP(0x34, 0x7A, 0x65D7) /* <CJK */
+MAP(0x34, 0x7B, 0x65E2) /* <CJK */
+MAP(0x34, 0x7C, 0x671F) /* <CJK */
+MAP(0x34, 0x7D, 0x68CB) /* <CJK */
+MAP(0x34, 0x7E, 0x68C4) /* <CJK */
+MAP(0x35, 0x21, 0x6A5F) /* <CJK */
+MAP(0x35, 0x22, 0x5E30) /* <CJK */
+MAP(0x35, 0x23, 0x6BC5) /* <CJK */
+MAP(0x35, 0x24, 0x6C17) /* <CJK */
+MAP(0x35, 0x25, 0x6C7D) /* <CJK */
+MAP(0x35, 0x26, 0x757F) /* <CJK */
+MAP(0x35, 0x27, 0x7948) /* <CJK */
+MAP(0x35, 0x28, 0x5B63) /* <CJK */
+MAP(0x35, 0x29, 0x7A00) /* <CJK */
+MAP(0x35, 0x2A, 0x7D00) /* <CJK */
+MAP(0x35, 0x2B, 0x5FBD) /* <CJK */
+MAP(0x35, 0x2C, 0x898F) /* <CJK */
+MAP(0x35, 0x2D, 0x8A18) /* <CJK */
+MAP(0x35, 0x2E, 0x8CB4) /* <CJK */
+MAP(0x35, 0x2F, 0x8D77) /* <CJK */
+MAP(0x35, 0x30, 0x8ECC) /* <CJK */
+MAP(0x35, 0x31, 0x8F1D) /* <CJK */
+MAP(0x35, 0x32, 0x98E2) /* <CJK */
+MAP(0x35, 0x33, 0x9A0E) /* <CJK */
+MAP(0x35, 0x34, 0x9B3C) /* <CJK */
+MAP(0x35, 0x35, 0x4E80) /* <CJK */
+MAP(0x35, 0x36, 0x507D) /* <CJK */
+MAP(0x35, 0x37, 0x5100) /* <CJK */
+MAP(0x35, 0x38, 0x5993) /* <CJK */
+MAP(0x35, 0x39, 0x5B9C) /* <CJK */
+MAP(0x35, 0x3A, 0x622F) /* <CJK */
+MAP(0x35, 0x3B, 0x6280) /* <CJK */
+MAP(0x35, 0x3C, 0x64EC) /* <CJK */
+MAP(0x35, 0x3D, 0x6B3A) /* <CJK */
+MAP(0x35, 0x3E, 0x72A0) /* <CJK */
+MAP(0x35, 0x3F, 0x7591) /* <CJK */
+MAP(0x35, 0x40, 0x7947) /* <CJK */
+MAP(0x35, 0x41, 0x7FA9) /* <CJK */
+MAP(0x35, 0x42, 0x87FB) /* <CJK */
+MAP(0x35, 0x43, 0x8ABC) /* <CJK */
+MAP(0x35, 0x44, 0x8B70) /* <CJK */
+MAP(0x35, 0x45, 0x63AC) /* <CJK */
+MAP(0x35, 0x46, 0x83CA) /* <CJK */
+MAP(0x35, 0x47, 0x97A0) /* <CJK */
+MAP(0x35, 0x48, 0x5409) /* <CJK */
+MAP(0x35, 0x49, 0x5403) /* <CJK */
+MAP(0x35, 0x4A, 0x55AB) /* <CJK */
+MAP(0x35, 0x4B, 0x6854) /* <CJK */
+MAP(0x35, 0x4C, 0x6A58) /* <CJK */
+MAP(0x35, 0x4D, 0x8A70) /* <CJK */
+MAP(0x35, 0x4E, 0x7827) /* <CJK */
+MAP(0x35, 0x4F, 0x6775) /* <CJK */
+MAP(0x35, 0x50, 0x9ECD) /* <CJK */
+MAP(0x35, 0x51, 0x5374) /* <CJK */
+MAP(0x35, 0x52, 0x5BA2) /* <CJK */
+MAP(0x35, 0x53, 0x811A) /* <CJK */
+MAP(0x35, 0x54, 0x8650) /* <CJK */
+MAP(0x35, 0x55, 0x9006) /* <CJK */
+MAP(0x35, 0x56, 0x4E18) /* <CJK */
+MAP(0x35, 0x57, 0x4E45) /* <CJK */
+MAP(0x35, 0x58, 0x4EC7) /* <CJK */
+MAP(0x35, 0x59, 0x4F11) /* <CJK */
+MAP(0x35, 0x5A, 0x53CA) /* <CJK */
+MAP(0x35, 0x5B, 0x5438) /* <CJK */
+MAP(0x35, 0x5C, 0x5BAE) /* <CJK */
+MAP(0x35, 0x5D, 0x5F13) /* <CJK */
+MAP(0x35, 0x5E, 0x6025) /* <CJK */
+MAP(0x35, 0x5F, 0x6551) /* <CJK */
+MAP(0x35, 0x60, 0x673D) /* <CJK */
+MAP(0x35, 0x61, 0x6C42) /* <CJK */
+MAP(0x35, 0x62, 0x6C72) /* <CJK */
+MAP(0x35, 0x63, 0x6CE3) /* <CJK */
+MAP(0x35, 0x64, 0x7078) /* <CJK */
+MAP(0x35, 0x65, 0x7403) /* <CJK */
+MAP(0x35, 0x66, 0x7A76) /* <CJK */
+MAP(0x35, 0x67, 0x7AAE) /* <CJK */
+MAP(0x35, 0x68, 0x7B08) /* <CJK */
+MAP(0x35, 0x69, 0x7D1A) /* <CJK */
+MAP(0x35, 0x6A, 0x7CFE) /* <CJK */
+MAP(0x35, 0x6B, 0x7D66) /* <CJK */
+MAP(0x35, 0x6C, 0x65E7) /* <CJK */
+MAP(0x35, 0x6D, 0x725B) /* <CJK */
+MAP(0x35, 0x6E, 0x53BB) /* <CJK */
+MAP(0x35, 0x6F, 0x5C45) /* <CJK */
+MAP(0x35, 0x70, 0x5DE8) /* <CJK */
+MAP(0x35, 0x71, 0x62D2) /* <CJK */
+MAP(0x35, 0x72, 0x62E0) /* <CJK */
+MAP(0x35, 0x73, 0x6319) /* <CJK */
+MAP(0x35, 0x74, 0x6E20) /* <CJK */
+MAP(0x35, 0x75, 0x865A) /* <CJK */
+MAP(0x35, 0x76, 0x8A31) /* <CJK */
+MAP(0x35, 0x77, 0x8DDD) /* <CJK */
+MAP(0x35, 0x78, 0x92F8) /* <CJK */
+MAP(0x35, 0x79, 0x6F01) /* <CJK */
+MAP(0x35, 0x7A, 0x79A6) /* <CJK */
+MAP(0x35, 0x7B, 0x9B5A) /* <CJK */
+MAP(0x35, 0x7C, 0x4EA8) /* <CJK */
+MAP(0x35, 0x7D, 0x4EAB) /* <CJK */
+MAP(0x35, 0x7E, 0x4EAC) /* <CJK */
+MAP(0x36, 0x21, 0x4F9B) /* <CJK */
+MAP(0x36, 0x22, 0x4FA0) /* <CJK */
+MAP(0x36, 0x23, 0x50D1) /* <CJK */
+MAP(0x36, 0x24, 0x5147) /* <CJK */
+MAP(0x36, 0x25, 0x7AF6) /* <CJK */
+MAP(0x36, 0x26, 0x5171) /* <CJK */
+MAP(0x36, 0x27, 0x51F6) /* <CJK */
+MAP(0x36, 0x28, 0x5354) /* <CJK */
+MAP(0x36, 0x29, 0x5321) /* <CJK */
+MAP(0x36, 0x2A, 0x537F) /* <CJK */
+MAP(0x36, 0x2B, 0x53EB) /* <CJK */
+MAP(0x36, 0x2C, 0x55AC) /* <CJK */
+MAP(0x36, 0x2D, 0x5883) /* <CJK */
+MAP(0x36, 0x2E, 0x5CE1) /* <CJK */
+MAP(0x36, 0x2F, 0x5F37) /* <CJK */
+MAP(0x36, 0x30, 0x5F4A) /* <CJK */
+MAP(0x36, 0x31, 0x602F) /* <CJK */
+MAP(0x36, 0x32, 0x6050) /* <CJK */
+MAP(0x36, 0x33, 0x606D) /* <CJK */
+MAP(0x36, 0x34, 0x631F) /* <CJK */
+MAP(0x36, 0x35, 0x6559) /* <CJK */
+MAP(0x36, 0x36, 0x6A4B) /* <CJK */
+MAP(0x36, 0x37, 0x6CC1) /* <CJK */
+MAP(0x36, 0x38, 0x72C2) /* <CJK */
+MAP(0x36, 0x39, 0x72ED) /* <CJK */
+MAP(0x36, 0x3A, 0x77EF) /* <CJK */
+MAP(0x36, 0x3B, 0x80F8) /* <CJK */
+MAP(0x36, 0x3C, 0x8105) /* <CJK */
+MAP(0x36, 0x3D, 0x8208) /* <CJK */
+MAP(0x36, 0x3E, 0x854E) /* <CJK */
+MAP(0x36, 0x3F, 0x90F7) /* <CJK */
+MAP(0x36, 0x40, 0x93E1) /* <CJK */
+MAP(0x36, 0x41, 0x97FF) /* <CJK */
+MAP(0x36, 0x42, 0x9957) /* <CJK */
+MAP(0x36, 0x43, 0x9A5A) /* <CJK */
+MAP(0x36, 0x44, 0x4EF0) /* <CJK */
+MAP(0x36, 0x45, 0x51DD) /* <CJK */
+MAP(0x36, 0x46, 0x5C2D) /* <CJK */
+MAP(0x36, 0x47, 0x6681) /* <CJK */
+MAP(0x36, 0x48, 0x696D) /* <CJK */
+MAP(0x36, 0x49, 0x5C40) /* <CJK */
+MAP(0x36, 0x4A, 0x66F2) /* <CJK */
+MAP(0x36, 0x4B, 0x6975) /* <CJK */
+MAP(0x36, 0x4C, 0x7389) /* <CJK */
+MAP(0x36, 0x4D, 0x6850) /* <CJK */
+MAP(0x36, 0x4E, 0x7C81) /* <CJK */
+MAP(0x36, 0x4F, 0x50C5) /* <CJK */
+MAP(0x36, 0x50, 0x52E4) /* <CJK */
+MAP(0x36, 0x51, 0x5747) /* <CJK */
+MAP(0x36, 0x52, 0x5DFE) /* <CJK */
+MAP(0x36, 0x53, 0x9326) /* <CJK */
+MAP(0x36, 0x54, 0x65A4) /* <CJK */
+MAP(0x36, 0x55, 0x6B23) /* <CJK */
+MAP(0x36, 0x56, 0x6B3D) /* <CJK */
+MAP(0x36, 0x57, 0x7434) /* <CJK */
+MAP(0x36, 0x58, 0x7981) /* <CJK */
+MAP(0x36, 0x59, 0x79BD) /* <CJK */
+MAP(0x36, 0x5A, 0x7B4B) /* <CJK */
+MAP(0x36, 0x5B, 0x7DCA) /* <CJK */
+MAP(0x36, 0x5C, 0x82B9) /* <CJK */
+MAP(0x36, 0x5D, 0x83CC) /* <CJK */
+MAP(0x36, 0x5E, 0x887F) /* <CJK */
+MAP(0x36, 0x5F, 0x895F) /* <CJK */
+MAP(0x36, 0x60, 0x8B39) /* <CJK */
+MAP(0x36, 0x61, 0x8FD1) /* <CJK */
+MAP(0x36, 0x62, 0x91D1) /* <CJK */
+MAP(0x36, 0x63, 0x541F) /* <CJK */
+MAP(0x36, 0x64, 0x9280) /* <CJK */
+MAP(0x36, 0x65, 0x4E5D) /* <CJK */
+MAP(0x36, 0x66, 0x5036) /* <CJK */
+MAP(0x36, 0x67, 0x53E5) /* <CJK */
+MAP(0x36, 0x68, 0x533A) /* <CJK */
+MAP(0x36, 0x69, 0x72D7) /* <CJK */
+MAP(0x36, 0x6A, 0x7396) /* <CJK */
+MAP(0x36, 0x6B, 0x77E9) /* <CJK */
+MAP(0x36, 0x6C, 0x82E6) /* <CJK */
+MAP(0x36, 0x6D, 0x8EAF) /* <CJK */
+MAP(0x36, 0x6E, 0x99C6) /* <CJK */
+MAP(0x36, 0x6F, 0x99C8) /* <CJK */
+MAP(0x36, 0x70, 0x99D2) /* <CJK */
+MAP(0x36, 0x71, 0x5177) /* <CJK */
+MAP(0x36, 0x72, 0x611A) /* <CJK */
+MAP(0x36, 0x73, 0x865E) /* <CJK */
+MAP(0x36, 0x74, 0x55B0) /* <CJK */
+MAP(0x36, 0x75, 0x7A7A) /* <CJK */
+MAP(0x36, 0x76, 0x5076) /* <CJK */
+MAP(0x36, 0x77, 0x5BD3) /* <CJK */
+MAP(0x36, 0x78, 0x9047) /* <CJK */
+MAP(0x36, 0x79, 0x9685) /* <CJK */
+MAP(0x36, 0x7A, 0x4E32) /* <CJK */
+MAP(0x36, 0x7B, 0x6ADB) /* <CJK */
+MAP(0x36, 0x7C, 0x91E7) /* <CJK */
+MAP(0x36, 0x7D, 0x5C51) /* <CJK */
+MAP(0x36, 0x7E, 0x5C48) /* <CJK */
+MAP(0x37, 0x21, 0x6398) /* <CJK */
+MAP(0x37, 0x22, 0x7A9F) /* <CJK */
+MAP(0x37, 0x23, 0x6C93) /* <CJK */
+MAP(0x37, 0x24, 0x9774) /* <CJK */
+MAP(0x37, 0x25, 0x8F61) /* <CJK */
+MAP(0x37, 0x26, 0x7AAA) /* <CJK */
+MAP(0x37, 0x27, 0x718A) /* <CJK */
+MAP(0x37, 0x28, 0x9688) /* <CJK */
+MAP(0x37, 0x29, 0x7C82) /* <CJK */
+MAP(0x37, 0x2A, 0x6817) /* <CJK */
+MAP(0x37, 0x2B, 0x7E70) /* <CJK */
+MAP(0x37, 0x2C, 0x6851) /* <CJK */
+MAP(0x37, 0x2D, 0x936C) /* <CJK */
+MAP(0x37, 0x2E, 0x52F2) /* <CJK */
+MAP(0x37, 0x2F, 0x541B) /* <CJK */
+MAP(0x37, 0x30, 0x85AB) /* <CJK */
+MAP(0x37, 0x31, 0x8A13) /* <CJK */
+MAP(0x37, 0x32, 0x7FA4) /* <CJK */
+MAP(0x37, 0x33, 0x8ECD) /* <CJK */
+MAP(0x37, 0x34, 0x90E1) /* <CJK */
+MAP(0x37, 0x35, 0x5366) /* <CJK */
+MAP(0x37, 0x36, 0x8888) /* <CJK */
+MAP(0x37, 0x37, 0x7941) /* <CJK */
+MAP(0x37, 0x38, 0x4FC2) /* <CJK */
+MAP(0x37, 0x39, 0x50BE) /* <CJK */
+MAP(0x37, 0x3A, 0x5211) /* <CJK */
+MAP(0x37, 0x3B, 0x5144) /* <CJK */
+MAP(0x37, 0x3C, 0x5553) /* <CJK */
+MAP(0x37, 0x3D, 0x572D) /* <CJK */
+MAP(0x37, 0x3E, 0x73EA) /* <CJK */
+MAP(0x37, 0x3F, 0x578B) /* <CJK */
+MAP(0x37, 0x40, 0x5951) /* <CJK */
+MAP(0x37, 0x41, 0x5F62) /* <CJK */
+MAP(0x37, 0x42, 0x5F84) /* <CJK */
+MAP(0x37, 0x43, 0x6075) /* <CJK */
+MAP(0x37, 0x44, 0x6176) /* <CJK */
+MAP(0x37, 0x45, 0x6167) /* <CJK */
+MAP(0x37, 0x46, 0x61A9) /* <CJK */
+MAP(0x37, 0x47, 0x63B2) /* <CJK */
+MAP(0x37, 0x48, 0x643A) /* <CJK */
+MAP(0x37, 0x49, 0x656C) /* <CJK */
+MAP(0x37, 0x4A, 0x666F) /* <CJK */
+MAP(0x37, 0x4B, 0x6842) /* <CJK */
+MAP(0x37, 0x4C, 0x6E13) /* <CJK */
+MAP(0x37, 0x4D, 0x7566) /* <CJK */
+MAP(0x37, 0x4E, 0x7A3D) /* <CJK */
+MAP(0x37, 0x4F, 0x7CFB) /* <CJK */
+MAP(0x37, 0x50, 0x7D4C) /* <CJK */
+MAP(0x37, 0x51, 0x7D99) /* <CJK */
+MAP(0x37, 0x52, 0x7E4B) /* <CJK */
+MAP(0x37, 0x53, 0x7F6B) /* <CJK */
+MAP(0x37, 0x54, 0x830E) /* <CJK */
+MAP(0x37, 0x55, 0x834A) /* <CJK */
+MAP(0x37, 0x56, 0x86CD) /* <CJK */
+MAP(0x37, 0x57, 0x8A08) /* <CJK */
+MAP(0x37, 0x58, 0x8A63) /* <CJK */
+MAP(0x37, 0x59, 0x8B66) /* <CJK */
+MAP(0x37, 0x5A, 0x8EFD) /* <CJK */
+MAP(0x37, 0x5B, 0x981A) /* <CJK */
+MAP(0x37, 0x5C, 0x9D8F) /* <CJK */
+MAP(0x37, 0x5D, 0x82B8) /* <CJK */
+MAP(0x37, 0x5E, 0x8FCE) /* <CJK */
+MAP(0x37, 0x5F, 0x9BE8) /* <CJK */
+MAP(0x37, 0x60, 0x5287) /* <CJK */
+MAP(0x37, 0x61, 0x621F) /* <CJK */
+MAP(0x37, 0x62, 0x6483) /* <CJK */
+MAP(0x37, 0x63, 0x6FC0) /* <CJK */
+MAP(0x37, 0x64, 0x9699) /* <CJK */
+MAP(0x37, 0x65, 0x6841) /* <CJK */
+MAP(0x37, 0x66, 0x5091) /* <CJK */
+MAP(0x37, 0x67, 0x6B20) /* <CJK */
+MAP(0x37, 0x68, 0x6C7A) /* <CJK */
+MAP(0x37, 0x69, 0x6F54) /* <CJK */
+MAP(0x37, 0x6A, 0x7A74) /* <CJK */
+MAP(0x37, 0x6B, 0x7D50) /* <CJK */
+MAP(0x37, 0x6C, 0x8840) /* <CJK */
+MAP(0x37, 0x6D, 0x8A23) /* <CJK */
+MAP(0x37, 0x6E, 0x6708) /* <CJK */
+MAP(0x37, 0x6F, 0x4EF6) /* <CJK */
+MAP(0x37, 0x70, 0x5039) /* <CJK */
+MAP(0x37, 0x71, 0x5026) /* <CJK */
+MAP(0x37, 0x72, 0x5065) /* <CJK */
+MAP(0x37, 0x73, 0x517C) /* <CJK */
+MAP(0x37, 0x74, 0x5238) /* <CJK */
+MAP(0x37, 0x75, 0x5263) /* <CJK */
+MAP(0x37, 0x76, 0x55A7) /* <CJK */
+MAP(0x37, 0x77, 0x570F) /* <CJK */
+MAP(0x37, 0x78, 0x5805) /* <CJK */
+MAP(0x37, 0x79, 0x5ACC) /* <CJK */
+MAP(0x37, 0x7A, 0x5EFA) /* <CJK */
+MAP(0x37, 0x7B, 0x61B2) /* <CJK */
+MAP(0x37, 0x7C, 0x61F8) /* <CJK */
+MAP(0x37, 0x7D, 0x62F3) /* <CJK */
+MAP(0x37, 0x7E, 0x6372) /* <CJK */
+MAP(0x38, 0x21, 0x691C) /* <CJK */
+MAP(0x38, 0x22, 0x6A29) /* <CJK */
+MAP(0x38, 0x23, 0x727D) /* <CJK */
+MAP(0x38, 0x24, 0x72AC) /* <CJK */
+MAP(0x38, 0x25, 0x732E) /* <CJK */
+MAP(0x38, 0x26, 0x7814) /* <CJK */
+MAP(0x38, 0x27, 0x786F) /* <CJK */
+MAP(0x38, 0x28, 0x7D79) /* <CJK */
+MAP(0x38, 0x29, 0x770C) /* <CJK */
+MAP(0x38, 0x2A, 0x80A9) /* <CJK */
+MAP(0x38, 0x2B, 0x898B) /* <CJK */
+MAP(0x38, 0x2C, 0x8B19) /* <CJK */
+MAP(0x38, 0x2D, 0x8CE2) /* <CJK */
+MAP(0x38, 0x2E, 0x8ED2) /* <CJK */
+MAP(0x38, 0x2F, 0x9063) /* <CJK */
+MAP(0x38, 0x30, 0x9375) /* <CJK */
+MAP(0x38, 0x31, 0x967A) /* <CJK */
+MAP(0x38, 0x32, 0x9855) /* <CJK */
+MAP(0x38, 0x33, 0x9A13) /* <CJK */
+MAP(0x38, 0x34, 0x9E78) /* <CJK */
+MAP(0x38, 0x35, 0x5143) /* <CJK */
+MAP(0x38, 0x36, 0x539F) /* <CJK */
+MAP(0x38, 0x37, 0x53B3) /* <CJK */
+MAP(0x38, 0x38, 0x5E7B) /* <CJK */
+MAP(0x38, 0x39, 0x5F26) /* <CJK */
+MAP(0x38, 0x3A, 0x6E1B) /* <CJK */
+MAP(0x38, 0x3B, 0x6E90) /* <CJK */
+MAP(0x38, 0x3C, 0x7384) /* <CJK */
+MAP(0x38, 0x3D, 0x73FE) /* <CJK */
+MAP(0x38, 0x3E, 0x7D43) /* <CJK */
+MAP(0x38, 0x3F, 0x8237) /* <CJK */
+MAP(0x38, 0x40, 0x8A00) /* <CJK */
+MAP(0x38, 0x41, 0x8AFA) /* <CJK */
+MAP(0x38, 0x42, 0x9650) /* <CJK */
+MAP(0x38, 0x43, 0x4E4E) /* <CJK */
+MAP(0x38, 0x44, 0x500B) /* <CJK */
+MAP(0x38, 0x45, 0x53E4) /* <CJK */
+MAP(0x38, 0x46, 0x547C) /* <CJK */
+MAP(0x38, 0x47, 0x56FA) /* <CJK */
+MAP(0x38, 0x48, 0x59D1) /* <CJK */
+MAP(0x38, 0x49, 0x5B64) /* <CJK */
+MAP(0x38, 0x4A, 0x5DF1) /* <CJK */
+MAP(0x38, 0x4B, 0x5EAB) /* <CJK */
+MAP(0x38, 0x4C, 0x5F27) /* <CJK */
+MAP(0x38, 0x4D, 0x6238) /* <CJK */
+MAP(0x38, 0x4E, 0x6545) /* <CJK */
+MAP(0x38, 0x4F, 0x67AF) /* <CJK */
+MAP(0x38, 0x50, 0x6E56) /* <CJK */
+MAP(0x38, 0x51, 0x72D0) /* <CJK */
+MAP(0x38, 0x52, 0x7CCA) /* <CJK */
+MAP(0x38, 0x53, 0x88B4) /* <CJK */
+MAP(0x38, 0x54, 0x80A1) /* <CJK */
+MAP(0x38, 0x55, 0x80E1) /* <CJK */
+MAP(0x38, 0x56, 0x83F0) /* <CJK */
+MAP(0x38, 0x57, 0x864E) /* <CJK */
+MAP(0x38, 0x58, 0x8A87) /* <CJK */
+MAP(0x38, 0x59, 0x8DE8) /* <CJK */
+MAP(0x38, 0x5A, 0x9237) /* <CJK */
+MAP(0x38, 0x5B, 0x96C7) /* <CJK */
+MAP(0x38, 0x5C, 0x9867) /* <CJK */
+MAP(0x38, 0x5D, 0x9F13) /* <CJK */
+MAP(0x38, 0x5E, 0x4E94) /* <CJK */
+MAP(0x38, 0x5F, 0x4E92) /* <CJK */
+MAP(0x38, 0x60, 0x4F0D) /* <CJK */
+MAP(0x38, 0x61, 0x5348) /* <CJK */
+MAP(0x38, 0x62, 0x5449) /* <CJK */
+MAP(0x38, 0x63, 0x543E) /* <CJK */
+MAP(0x38, 0x64, 0x5A2F) /* <CJK */
+MAP(0x38, 0x65, 0x5F8C) /* <CJK */
+MAP(0x38, 0x66, 0x5FA1) /* <CJK */
+MAP(0x38, 0x67, 0x609F) /* <CJK */
+MAP(0x38, 0x68, 0x68A7) /* <CJK */
+MAP(0x38, 0x69, 0x6A8E) /* <CJK */
+MAP(0x38, 0x6A, 0x745A) /* <CJK */
+MAP(0x38, 0x6B, 0x7881) /* <CJK */
+MAP(0x38, 0x6C, 0x8A9E) /* <CJK */
+MAP(0x38, 0x6D, 0x8AA4) /* <CJK */
+MAP(0x38, 0x6E, 0x8B77) /* <CJK */
+MAP(0x38, 0x6F, 0x9190) /* <CJK */
+MAP(0x38, 0x70, 0x4E5E) /* <CJK */
+MAP(0x38, 0x71, 0x9BC9) /* <CJK */
+MAP(0x38, 0x72, 0x4EA4) /* <CJK */
+MAP(0x38, 0x73, 0x4F7C) /* <CJK */
+MAP(0x38, 0x74, 0x4FAF) /* <CJK */
+MAP(0x38, 0x75, 0x5019) /* <CJK */
+MAP(0x38, 0x76, 0x5016) /* <CJK */
+MAP(0x38, 0x77, 0x5149) /* <CJK */
+MAP(0x38, 0x78, 0x516C) /* <CJK */
+MAP(0x38, 0x79, 0x529F) /* <CJK */
+MAP(0x38, 0x7A, 0x52B9) /* <CJK */
+MAP(0x38, 0x7B, 0x52FE) /* <CJK */
+MAP(0x38, 0x7C, 0x539A) /* <CJK */
+MAP(0x38, 0x7D, 0x53E3) /* <CJK */
+MAP(0x38, 0x7E, 0x5411) /* <CJK */
+MAP(0x39, 0x21, 0x540E) /* <CJK */
+MAP(0x39, 0x22, 0x5589) /* <CJK */
+MAP(0x39, 0x23, 0x5751) /* <CJK */
+MAP(0x39, 0x24, 0x57A2) /* <CJK */
+MAP(0x39, 0x25, 0x597D) /* <CJK */
+MAP(0x39, 0x26, 0x5B54) /* <CJK */
+MAP(0x39, 0x27, 0x5B5D) /* <CJK */
+MAP(0x39, 0x28, 0x5B8F) /* <CJK */
+MAP(0x39, 0x29, 0x5DE5) /* <CJK */
+MAP(0x39, 0x2A, 0x5DE7) /* <CJK */
+MAP(0x39, 0x2B, 0x5DF7) /* <CJK */
+MAP(0x39, 0x2C, 0x5E78) /* <CJK */
+MAP(0x39, 0x2D, 0x5E83) /* <CJK */
+MAP(0x39, 0x2E, 0x5E9A) /* <CJK */
+MAP(0x39, 0x2F, 0x5EB7) /* <CJK */
+MAP(0x39, 0x30, 0x5F18) /* <CJK */
+MAP(0x39, 0x31, 0x6052) /* <CJK */
+MAP(0x39, 0x32, 0x614C) /* <CJK */
+MAP(0x39, 0x33, 0x6297) /* <CJK */
+MAP(0x39, 0x34, 0x62D8) /* <CJK */
+MAP(0x39, 0x35, 0x63A7) /* <CJK */
+MAP(0x39, 0x36, 0x653B) /* <CJK */
+MAP(0x39, 0x37, 0x6602) /* <CJK */
+MAP(0x39, 0x38, 0x6643) /* <CJK */
+MAP(0x39, 0x39, 0x66F4) /* <CJK */
+MAP(0x39, 0x3A, 0x676D) /* <CJK */
+MAP(0x39, 0x3B, 0x6821) /* <CJK */
+MAP(0x39, 0x3C, 0x6897) /* <CJK */
+MAP(0x39, 0x3D, 0x69CB) /* <CJK */
+MAP(0x39, 0x3E, 0x6C5F) /* <CJK */
+MAP(0x39, 0x3F, 0x6D2A) /* <CJK */
+MAP(0x39, 0x40, 0x6D69) /* <CJK */
+MAP(0x39, 0x41, 0x6E2F) /* <CJK */
+MAP(0x39, 0x42, 0x6E9D) /* <CJK */
+MAP(0x39, 0x43, 0x7532) /* <CJK */
+MAP(0x39, 0x44, 0x7687) /* <CJK */
+MAP(0x39, 0x45, 0x786C) /* <CJK */
+MAP(0x39, 0x46, 0x7A3F) /* <CJK */
+MAP(0x39, 0x47, 0x7CE0) /* <CJK */
+MAP(0x39, 0x48, 0x7D05) /* <CJK */
+MAP(0x39, 0x49, 0x7D18) /* <CJK */
+MAP(0x39, 0x4A, 0x7D5E) /* <CJK */
+MAP(0x39, 0x4B, 0x7DB1) /* <CJK */
+MAP(0x39, 0x4C, 0x8015) /* <CJK */
+MAP(0x39, 0x4D, 0x8003) /* <CJK */
+MAP(0x39, 0x4E, 0x80AF) /* <CJK */
+MAP(0x39, 0x4F, 0x80B1) /* <CJK */
+MAP(0x39, 0x50, 0x8154) /* <CJK */
+MAP(0x39, 0x51, 0x818F) /* <CJK */
+MAP(0x39, 0x52, 0x822A) /* <CJK */
+MAP(0x39, 0x53, 0x8352) /* <CJK */
+MAP(0x39, 0x54, 0x884C) /* <CJK */
+MAP(0x39, 0x55, 0x8861) /* <CJK */
+MAP(0x39, 0x56, 0x8B1B) /* <CJK */
+MAP(0x39, 0x57, 0x8CA2) /* <CJK */
+MAP(0x39, 0x58, 0x8CFC) /* <CJK */
+MAP(0x39, 0x59, 0x90CA) /* <CJK */
+MAP(0x39, 0x5A, 0x9175) /* <CJK */
+MAP(0x39, 0x5B, 0x9271) /* <CJK */
+MAP(0x39, 0x5C, 0x783F) /* <CJK */
+MAP(0x39, 0x5D, 0x92FC) /* <CJK */
+MAP(0x39, 0x5E, 0x95A4) /* <CJK */
+MAP(0x39, 0x5F, 0x964D) /* <CJK */
+MAP(0x39, 0x60, 0x9805) /* <CJK */
+MAP(0x39, 0x61, 0x9999) /* <CJK */
+MAP(0x39, 0x62, 0x9AD8) /* <CJK */
+MAP(0x39, 0x63, 0x9D3B) /* <CJK */
+MAP(0x39, 0x64, 0x525B) /* <CJK */
+MAP(0x39, 0x65, 0x52AB) /* <CJK */
+MAP(0x39, 0x66, 0x53F7) /* <CJK */
+MAP(0x39, 0x67, 0x5408) /* <CJK */
+MAP(0x39, 0x68, 0x58D5) /* <CJK */
+MAP(0x39, 0x69, 0x62F7) /* <CJK */
+MAP(0x39, 0x6A, 0x6FE0) /* <CJK */
+MAP(0x39, 0x6B, 0x8C6A) /* <CJK */
+MAP(0x39, 0x6C, 0x8F5F) /* <CJK */
+MAP(0x39, 0x6D, 0x9EB9) /* <CJK */
+MAP(0x39, 0x6E, 0x514B) /* <CJK */
+MAP(0x39, 0x6F, 0x523B) /* <CJK */
+MAP(0x39, 0x70, 0x544A) /* <CJK */
+MAP(0x39, 0x71, 0x56FD) /* <CJK */
+MAP(0x39, 0x72, 0x7A40) /* <CJK */
+MAP(0x39, 0x73, 0x9177) /* <CJK */
+MAP(0x39, 0x74, 0x9D60) /* <CJK */
+MAP(0x39, 0x75, 0x9ED2) /* <CJK */
+MAP(0x39, 0x76, 0x7344) /* <CJK */
+MAP(0x39, 0x77, 0x6F09) /* <CJK */
+MAP(0x39, 0x78, 0x8170) /* <CJK */
+MAP(0x39, 0x79, 0x7511) /* <CJK */
+MAP(0x39, 0x7A, 0x5FFD) /* <CJK */
+MAP(0x39, 0x7B, 0x60DA) /* <CJK */
+MAP(0x39, 0x7C, 0x9AA8) /* <CJK */
+MAP(0x39, 0x7D, 0x72DB) /* <CJK */
+MAP(0x39, 0x7E, 0x8FBC) /* <CJK */
+MAP(0x3A, 0x21, 0x6B64) /* <CJK */
+MAP(0x3A, 0x22, 0x9803) /* <CJK */
+MAP(0x3A, 0x23, 0x4ECA) /* <CJK */
+MAP(0x3A, 0x24, 0x56F0) /* <CJK */
+MAP(0x3A, 0x25, 0x5764) /* <CJK */
+MAP(0x3A, 0x26, 0x58BE) /* <CJK */
+MAP(0x3A, 0x27, 0x5A5A) /* <CJK */
+MAP(0x3A, 0x28, 0x6068) /* <CJK */
+MAP(0x3A, 0x29, 0x61C7) /* <CJK */
+MAP(0x3A, 0x2A, 0x660F) /* <CJK */
+MAP(0x3A, 0x2B, 0x6606) /* <CJK */
+MAP(0x3A, 0x2C, 0x6839) /* <CJK */
+MAP(0x3A, 0x2D, 0x68B1) /* <CJK */
+MAP(0x3A, 0x2E, 0x6DF7) /* <CJK */
+MAP(0x3A, 0x2F, 0x75D5) /* <CJK */
+MAP(0x3A, 0x30, 0x7D3A) /* <CJK */
+MAP(0x3A, 0x31, 0x826E) /* <CJK */
+MAP(0x3A, 0x32, 0x9B42) /* <CJK */
+MAP(0x3A, 0x33, 0x4E9B) /* <CJK */
+MAP(0x3A, 0x34, 0x4F50) /* <CJK */
+MAP(0x3A, 0x35, 0x53C9) /* <CJK */
+MAP(0x3A, 0x36, 0x5506) /* <CJK */
+MAP(0x3A, 0x37, 0x5D6F) /* <CJK */
+MAP(0x3A, 0x38, 0x5DE6) /* <CJK */
+MAP(0x3A, 0x39, 0x5DEE) /* <CJK */
+MAP(0x3A, 0x3A, 0x67FB) /* <CJK */
+MAP(0x3A, 0x3B, 0x6C99) /* <CJK */
+MAP(0x3A, 0x3C, 0x7473) /* <CJK */
+MAP(0x3A, 0x3D, 0x7802) /* <CJK */
+MAP(0x3A, 0x3E, 0x8A50) /* <CJK */
+MAP(0x3A, 0x3F, 0x9396) /* <CJK */
+MAP(0x3A, 0x40, 0x88DF) /* <CJK */
+MAP(0x3A, 0x41, 0x5750) /* <CJK */
+MAP(0x3A, 0x42, 0x5EA7) /* <CJK */
+MAP(0x3A, 0x43, 0x632B) /* <CJK */
+MAP(0x3A, 0x44, 0x50B5) /* <CJK */
+MAP(0x3A, 0x45, 0x50AC) /* <CJK */
+MAP(0x3A, 0x46, 0x518D) /* <CJK */
+MAP(0x3A, 0x47, 0x6700) /* <CJK */
+MAP(0x3A, 0x48, 0x54C9) /* <CJK */
+MAP(0x3A, 0x49, 0x585E) /* <CJK */
+MAP(0x3A, 0x4A, 0x59BB) /* <CJK */
+MAP(0x3A, 0x4B, 0x5BB0) /* <CJK */
+MAP(0x3A, 0x4C, 0x5F69) /* <CJK */
+MAP(0x3A, 0x4D, 0x624D) /* <CJK */
+MAP(0x3A, 0x4E, 0x63A1) /* <CJK */
+MAP(0x3A, 0x4F, 0x683D) /* <CJK */
+MAP(0x3A, 0x50, 0x6B73) /* <CJK */
+MAP(0x3A, 0x51, 0x6E08) /* <CJK */
+MAP(0x3A, 0x52, 0x707D) /* <CJK */
+MAP(0x3A, 0x53, 0x91C7) /* <CJK */
+MAP(0x3A, 0x54, 0x7280) /* <CJK */
+MAP(0x3A, 0x55, 0x7815) /* <CJK */
+MAP(0x3A, 0x56, 0x7826) /* <CJK */
+MAP(0x3A, 0x57, 0x796D) /* <CJK */
+MAP(0x3A, 0x58, 0x658E) /* <CJK */
+MAP(0x3A, 0x59, 0x7D30) /* <CJK */
+MAP(0x3A, 0x5A, 0x83DC) /* <CJK */
+MAP(0x3A, 0x5B, 0x88C1) /* <CJK */
+MAP(0x3A, 0x5C, 0x8F09) /* <CJK */
+MAP(0x3A, 0x5D, 0x969B) /* <CJK */
+MAP(0x3A, 0x5E, 0x5264) /* <CJK */
+MAP(0x3A, 0x5F, 0x5728) /* <CJK */
+MAP(0x3A, 0x60, 0x6750) /* <CJK */
+MAP(0x3A, 0x61, 0x7F6A) /* <CJK */
+MAP(0x3A, 0x62, 0x8CA1) /* <CJK */
+MAP(0x3A, 0x63, 0x51B4) /* <CJK */
+MAP(0x3A, 0x64, 0x5742) /* <CJK */
+MAP(0x3A, 0x65, 0x962A) /* <CJK */
+MAP(0x3A, 0x66, 0x583A) /* <CJK */
+MAP(0x3A, 0x67, 0x698A) /* <CJK */
+MAP(0x3A, 0x68, 0x80B4) /* <CJK */
+MAP(0x3A, 0x69, 0x54B2) /* <CJK */
+MAP(0x3A, 0x6A, 0x5D0E) /* <CJK */
+MAP(0x3A, 0x6B, 0x57FC) /* <CJK */
+MAP(0x3A, 0x6C, 0x7895) /* <CJK */
+MAP(0x3A, 0x6D, 0x9DFA) /* <CJK */
+MAP(0x3A, 0x6E, 0x4F5C) /* <CJK */
+MAP(0x3A, 0x6F, 0x524A) /* <CJK */
+MAP(0x3A, 0x70, 0x548B) /* <CJK */
+MAP(0x3A, 0x71, 0x643E) /* <CJK */
+MAP(0x3A, 0x72, 0x6628) /* <CJK */
+MAP(0x3A, 0x73, 0x6714) /* <CJK */
+MAP(0x3A, 0x74, 0x67F5) /* <CJK */
+MAP(0x3A, 0x75, 0x7A84) /* <CJK */
+MAP(0x3A, 0x76, 0x7B56) /* <CJK */
+MAP(0x3A, 0x77, 0x7D22) /* <CJK */
+MAP(0x3A, 0x78, 0x932F) /* <CJK */
+MAP(0x3A, 0x79, 0x685C) /* <CJK */
+MAP(0x3A, 0x7A, 0x9BAD) /* <CJK */
+MAP(0x3A, 0x7B, 0x7B39) /* <CJK */
+MAP(0x3A, 0x7C, 0x5319) /* <CJK */
+MAP(0x3A, 0x7D, 0x518A) /* <CJK */
+MAP(0x3A, 0x7E, 0x5237) /* <CJK */
+MAP(0x3B, 0x21, 0x5BDF) /* <CJK */
+MAP(0x3B, 0x22, 0x62F6) /* <CJK */
+MAP(0x3B, 0x23, 0x64AE) /* <CJK */
+MAP(0x3B, 0x24, 0x64E6) /* <CJK */
+MAP(0x3B, 0x25, 0x672D) /* <CJK */
+MAP(0x3B, 0x26, 0x6BBA) /* <CJK */
+MAP(0x3B, 0x27, 0x85A9) /* <CJK */
+MAP(0x3B, 0x28, 0x96D1) /* <CJK */
+MAP(0x3B, 0x29, 0x7690) /* <CJK */
+MAP(0x3B, 0x2A, 0x9BD6) /* <CJK */
+MAP(0x3B, 0x2B, 0x634C) /* <CJK */
+MAP(0x3B, 0x2C, 0x9306) /* <CJK */
+MAP(0x3B, 0x2D, 0x9BAB) /* <CJK */
+MAP(0x3B, 0x2E, 0x76BF) /* <CJK */
+MAP(0x3B, 0x2F, 0x6652) /* <CJK */
+MAP(0x3B, 0x30, 0x4E09) /* <CJK */
+MAP(0x3B, 0x31, 0x5098) /* <CJK */
+MAP(0x3B, 0x32, 0x53C2) /* <CJK */
+MAP(0x3B, 0x33, 0x5C71) /* <CJK */
+MAP(0x3B, 0x34, 0x60E8) /* <CJK */
+MAP(0x3B, 0x35, 0x6492) /* <CJK */
+MAP(0x3B, 0x36, 0x6563) /* <CJK */
+MAP(0x3B, 0x37, 0x685F) /* <CJK */
+MAP(0x3B, 0x38, 0x71E6) /* <CJK */
+MAP(0x3B, 0x39, 0x73CA) /* <CJK */
+MAP(0x3B, 0x3A, 0x7523) /* <CJK */
+MAP(0x3B, 0x3B, 0x7B97) /* <CJK */
+MAP(0x3B, 0x3C, 0x7E82) /* <CJK */
+MAP(0x3B, 0x3D, 0x8695) /* <CJK */
+MAP(0x3B, 0x3E, 0x8B83) /* <CJK */
+MAP(0x3B, 0x3F, 0x8CDB) /* <CJK */
+MAP(0x3B, 0x40, 0x9178) /* <CJK */
+MAP(0x3B, 0x41, 0x9910) /* <CJK */
+MAP(0x3B, 0x42, 0x65AC) /* <CJK */
+MAP(0x3B, 0x43, 0x66AB) /* <CJK */
+MAP(0x3B, 0x44, 0x6B8B) /* <CJK */
+MAP(0x3B, 0x45, 0x4ED5) /* <CJK */
+MAP(0x3B, 0x46, 0x4ED4) /* <CJK */
+MAP(0x3B, 0x47, 0x4F3A) /* <CJK */
+MAP(0x3B, 0x48, 0x4F7F) /* <CJK */
+MAP(0x3B, 0x49, 0x523A) /* <CJK */
+MAP(0x3B, 0x4A, 0x53F8) /* <CJK */
+MAP(0x3B, 0x4B, 0x53F2) /* <CJK */
+MAP(0x3B, 0x4C, 0x55E3) /* <CJK */
+MAP(0x3B, 0x4D, 0x56DB) /* <CJK */
+MAP(0x3B, 0x4E, 0x58EB) /* <CJK */
+MAP(0x3B, 0x4F, 0x59CB) /* <CJK */
+MAP(0x3B, 0x50, 0x59C9) /* <CJK */
+MAP(0x3B, 0x51, 0x59FF) /* <CJK */
+MAP(0x3B, 0x52, 0x5B50) /* <CJK */
+MAP(0x3B, 0x53, 0x5C4D) /* <CJK */
+MAP(0x3B, 0x54, 0x5E02) /* <CJK */
+MAP(0x3B, 0x55, 0x5E2B) /* <CJK */
+MAP(0x3B, 0x56, 0x5FD7) /* <CJK */
+MAP(0x3B, 0x57, 0x601D) /* <CJK */
+MAP(0x3B, 0x58, 0x6307) /* <CJK */
+MAP(0x3B, 0x59, 0x652F) /* <CJK */
+MAP(0x3B, 0x5A, 0x5B5C) /* <CJK */
+MAP(0x3B, 0x5B, 0x65AF) /* <CJK */
+MAP(0x3B, 0x5C, 0x65BD) /* <CJK */
+MAP(0x3B, 0x5D, 0x65E8) /* <CJK */
+MAP(0x3B, 0x5E, 0x679D) /* <CJK */
+MAP(0x3B, 0x5F, 0x6B62) /* <CJK */
+MAP(0x3B, 0x60, 0x6B7B) /* <CJK */
+MAP(0x3B, 0x61, 0x6C0F) /* <CJK */
+MAP(0x3B, 0x62, 0x7345) /* <CJK */
+MAP(0x3B, 0x63, 0x7949) /* <CJK */
+MAP(0x3B, 0x64, 0x79C1) /* <CJK */
+MAP(0x3B, 0x65, 0x7CF8) /* <CJK */
+MAP(0x3B, 0x66, 0x7D19) /* <CJK */
+MAP(0x3B, 0x67, 0x7D2B) /* <CJK */
+MAP(0x3B, 0x68, 0x80A2) /* <CJK */
+MAP(0x3B, 0x69, 0x8102) /* <CJK */
+MAP(0x3B, 0x6A, 0x81F3) /* <CJK */
+MAP(0x3B, 0x6B, 0x8996) /* <CJK */
+MAP(0x3B, 0x6C, 0x8A5E) /* <CJK */
+MAP(0x3B, 0x6D, 0x8A69) /* <CJK */
+MAP(0x3B, 0x6E, 0x8A66) /* <CJK */
+MAP(0x3B, 0x6F, 0x8A8C) /* <CJK */
+MAP(0x3B, 0x70, 0x8AEE) /* <CJK */
+MAP(0x3B, 0x71, 0x8CC7) /* <CJK */
+MAP(0x3B, 0x72, 0x8CDC) /* <CJK */
+MAP(0x3B, 0x73, 0x96CC) /* <CJK */
+MAP(0x3B, 0x74, 0x98FC) /* <CJK */
+MAP(0x3B, 0x75, 0x6B6F) /* <CJK */
+MAP(0x3B, 0x76, 0x4E8B) /* <CJK */
+MAP(0x3B, 0x77, 0x4F3C) /* <CJK */
+MAP(0x3B, 0x78, 0x4F8D) /* <CJK */
+MAP(0x3B, 0x79, 0x5150) /* <CJK */
+MAP(0x3B, 0x7A, 0x5B57) /* <CJK */
+MAP(0x3B, 0x7B, 0x5BFA) /* <CJK */
+MAP(0x3B, 0x7C, 0x6148) /* <CJK */
+MAP(0x3B, 0x7D, 0x6301) /* <CJK */
+MAP(0x3B, 0x7E, 0x6642) /* <CJK */
+MAP(0x3C, 0x21, 0x6B21) /* <CJK */
+MAP(0x3C, 0x22, 0x6ECB) /* <CJK */
+MAP(0x3C, 0x23, 0x6CBB) /* <CJK */
+MAP(0x3C, 0x24, 0x723E) /* <CJK */
+MAP(0x3C, 0x25, 0x74BD) /* <CJK */
+MAP(0x3C, 0x26, 0x75D4) /* <CJK */
+MAP(0x3C, 0x27, 0x78C1) /* <CJK */
+MAP(0x3C, 0x28, 0x793A) /* <CJK */
+MAP(0x3C, 0x29, 0x800C) /* <CJK */
+MAP(0x3C, 0x2A, 0x8033) /* <CJK */
+MAP(0x3C, 0x2B, 0x81EA) /* <CJK */
+MAP(0x3C, 0x2C, 0x8494) /* <CJK */
+MAP(0x3C, 0x2D, 0x8F9E) /* <CJK */
+MAP(0x3C, 0x2E, 0x6C50) /* <CJK */
+MAP(0x3C, 0x2F, 0x9E7F) /* <CJK */
+MAP(0x3C, 0x30, 0x5F0F) /* <CJK */
+MAP(0x3C, 0x31, 0x8B58) /* <CJK */
+MAP(0x3C, 0x32, 0x9D2B) /* <CJK */
+MAP(0x3C, 0x33, 0x7AFA) /* <CJK */
+MAP(0x3C, 0x34, 0x8EF8) /* <CJK */
+MAP(0x3C, 0x35, 0x5B8D) /* <CJK */
+MAP(0x3C, 0x36, 0x96EB) /* <CJK */
+MAP(0x3C, 0x37, 0x4E03) /* <CJK */
+MAP(0x3C, 0x38, 0x53F1) /* <CJK */
+MAP(0x3C, 0x39, 0x57F7) /* <CJK */
+MAP(0x3C, 0x3A, 0x5931) /* <CJK */
+MAP(0x3C, 0x3B, 0x5AC9) /* <CJK */
+MAP(0x3C, 0x3C, 0x5BA4) /* <CJK */
+MAP(0x3C, 0x3D, 0x6089) /* <CJK */
+MAP(0x3C, 0x3E, 0x6E7F) /* <CJK */
+MAP(0x3C, 0x3F, 0x6F06) /* <CJK */
+MAP(0x3C, 0x40, 0x75BE) /* <CJK */
+MAP(0x3C, 0x41, 0x8CEA) /* <CJK */
+MAP(0x3C, 0x42, 0x5B9F) /* <CJK */
+MAP(0x3C, 0x43, 0x8500) /* <CJK */
+MAP(0x3C, 0x44, 0x7BE0) /* <CJK */
+MAP(0x3C, 0x45, 0x5072) /* <CJK */
+MAP(0x3C, 0x46, 0x67F4) /* <CJK */
+MAP(0x3C, 0x47, 0x829D) /* <CJK */
+MAP(0x3C, 0x48, 0x5C61) /* <CJK */
+MAP(0x3C, 0x49, 0x854A) /* <CJK */
+MAP(0x3C, 0x4A, 0x7E1E) /* <CJK */
+MAP(0x3C, 0x4B, 0x820E) /* <CJK */
+MAP(0x3C, 0x4C, 0x5199) /* <CJK */
+MAP(0x3C, 0x4D, 0x5C04) /* <CJK */
+MAP(0x3C, 0x4E, 0x6368) /* <CJK */
+MAP(0x3C, 0x4F, 0x8D66) /* <CJK */
+MAP(0x3C, 0x50, 0x659C) /* <CJK */
+MAP(0x3C, 0x51, 0x716E) /* <CJK */
+MAP(0x3C, 0x52, 0x793E) /* <CJK */
+MAP(0x3C, 0x53, 0x7D17) /* <CJK */
+MAP(0x3C, 0x54, 0x8005) /* <CJK */
+MAP(0x3C, 0x55, 0x8B1D) /* <CJK */
+MAP(0x3C, 0x56, 0x8ECA) /* <CJK */
+MAP(0x3C, 0x57, 0x906E) /* <CJK */
+MAP(0x3C, 0x58, 0x86C7) /* <CJK */
+MAP(0x3C, 0x59, 0x90AA) /* <CJK */
+MAP(0x3C, 0x5A, 0x501F) /* <CJK */
+MAP(0x3C, 0x5B, 0x52FA) /* <CJK */
+MAP(0x3C, 0x5C, 0x5C3A) /* <CJK */
+MAP(0x3C, 0x5D, 0x6753) /* <CJK */
+MAP(0x3C, 0x5E, 0x707C) /* <CJK */
+MAP(0x3C, 0x5F, 0x7235) /* <CJK */
+MAP(0x3C, 0x60, 0x914C) /* <CJK */
+MAP(0x3C, 0x61, 0x91C8) /* <CJK */
+MAP(0x3C, 0x62, 0x932B) /* <CJK */
+MAP(0x3C, 0x63, 0x82E5) /* <CJK */
+MAP(0x3C, 0x64, 0x5BC2) /* <CJK */
+MAP(0x3C, 0x65, 0x5F31) /* <CJK */
+MAP(0x3C, 0x66, 0x60F9) /* <CJK */
+MAP(0x3C, 0x67, 0x4E3B) /* <CJK */
+MAP(0x3C, 0x68, 0x53D6) /* <CJK */
+MAP(0x3C, 0x69, 0x5B88) /* <CJK */
+MAP(0x3C, 0x6A, 0x624B) /* <CJK */
+MAP(0x3C, 0x6B, 0x6731) /* <CJK */
+MAP(0x3C, 0x6C, 0x6B8A) /* <CJK */
+MAP(0x3C, 0x6D, 0x72E9) /* <CJK */
+MAP(0x3C, 0x6E, 0x73E0) /* <CJK */
+MAP(0x3C, 0x6F, 0x7A2E) /* <CJK */
+MAP(0x3C, 0x70, 0x816B) /* <CJK */
+MAP(0x3C, 0x71, 0x8DA3) /* <CJK */
+MAP(0x3C, 0x72, 0x9152) /* <CJK */
+MAP(0x3C, 0x73, 0x9996) /* <CJK */
+MAP(0x3C, 0x74, 0x5112) /* <CJK */
+MAP(0x3C, 0x75, 0x53D7) /* <CJK */
+MAP(0x3C, 0x76, 0x546A) /* <CJK */
+MAP(0x3C, 0x77, 0x5BFF) /* <CJK */
+MAP(0x3C, 0x78, 0x6388) /* <CJK */
+MAP(0x3C, 0x79, 0x6A39) /* <CJK */
+MAP(0x3C, 0x7A, 0x7DAC) /* <CJK */
+MAP(0x3C, 0x7B, 0x9700) /* <CJK */
+MAP(0x3C, 0x7C, 0x56DA) /* <CJK */
+MAP(0x3C, 0x7D, 0x53CE) /* <CJK */
+MAP(0x3C, 0x7E, 0x5468) /* <CJK */
+MAP(0x3D, 0x21, 0x5B97) /* <CJK */
+MAP(0x3D, 0x22, 0x5C31) /* <CJK */
+MAP(0x3D, 0x23, 0x5DDE) /* <CJK */
+MAP(0x3D, 0x24, 0x4FEE) /* <CJK */
+MAP(0x3D, 0x25, 0x6101) /* <CJK */
+MAP(0x3D, 0x26, 0x62FE) /* <CJK */
+MAP(0x3D, 0x27, 0x6D32) /* <CJK */
+MAP(0x3D, 0x28, 0x79C0) /* <CJK */
+MAP(0x3D, 0x29, 0x79CB) /* <CJK */
+MAP(0x3D, 0x2A, 0x7D42) /* <CJK */
+MAP(0x3D, 0x2B, 0x7E4D) /* <CJK */
+MAP(0x3D, 0x2C, 0x7FD2) /* <CJK */
+MAP(0x3D, 0x2D, 0x81ED) /* <CJK */
+MAP(0x3D, 0x2E, 0x821F) /* <CJK */
+MAP(0x3D, 0x2F, 0x8490) /* <CJK */
+MAP(0x3D, 0x30, 0x8846) /* <CJK */
+MAP(0x3D, 0x31, 0x8972) /* <CJK */
+MAP(0x3D, 0x32, 0x8B90) /* <CJK */
+MAP(0x3D, 0x33, 0x8E74) /* <CJK */
+MAP(0x3D, 0x34, 0x8F2F) /* <CJK */
+MAP(0x3D, 0x35, 0x9031) /* <CJK */
+MAP(0x3D, 0x36, 0x914B) /* <CJK */
+MAP(0x3D, 0x37, 0x916C) /* <CJK */
+MAP(0x3D, 0x38, 0x96C6) /* <CJK */
+MAP(0x3D, 0x39, 0x919C) /* <CJK */
+MAP(0x3D, 0x3A, 0x4EC0) /* <CJK */
+MAP(0x3D, 0x3B, 0x4F4F) /* <CJK */
+MAP(0x3D, 0x3C, 0x5145) /* <CJK */
+MAP(0x3D, 0x3D, 0x5341) /* <CJK */
+MAP(0x3D, 0x3E, 0x5F93) /* <CJK */
+MAP(0x3D, 0x3F, 0x620E) /* <CJK */
+MAP(0x3D, 0x40, 0x67D4) /* <CJK */
+MAP(0x3D, 0x41, 0x6C41) /* <CJK */
+MAP(0x3D, 0x42, 0x6E0B) /* <CJK */
+MAP(0x3D, 0x43, 0x7363) /* <CJK */
+MAP(0x3D, 0x44, 0x7E26) /* <CJK */
+MAP(0x3D, 0x45, 0x91CD) /* <CJK */
+MAP(0x3D, 0x46, 0x9283) /* <CJK */
+MAP(0x3D, 0x47, 0x53D4) /* <CJK */
+MAP(0x3D, 0x48, 0x5919) /* <CJK */
+MAP(0x3D, 0x49, 0x5BBF) /* <CJK */
+MAP(0x3D, 0x4A, 0x6DD1) /* <CJK */
+MAP(0x3D, 0x4B, 0x795D) /* <CJK */
+MAP(0x3D, 0x4C, 0x7E2E) /* <CJK */
+MAP(0x3D, 0x4D, 0x7C9B) /* <CJK */
+MAP(0x3D, 0x4E, 0x587E) /* <CJK */
+MAP(0x3D, 0x4F, 0x719F) /* <CJK */
+MAP(0x3D, 0x50, 0x51FA) /* <CJK */
+MAP(0x3D, 0x51, 0x8853) /* <CJK */
+MAP(0x3D, 0x52, 0x8FF0) /* <CJK */
+MAP(0x3D, 0x53, 0x4FCA) /* <CJK */
+MAP(0x3D, 0x54, 0x5CFB) /* <CJK */
+MAP(0x3D, 0x55, 0x6625) /* <CJK */
+MAP(0x3D, 0x56, 0x77AC) /* <CJK */
+MAP(0x3D, 0x57, 0x7AE3) /* <CJK */
+MAP(0x3D, 0x58, 0x821C) /* <CJK */
+MAP(0x3D, 0x59, 0x99FF) /* <CJK */
+MAP(0x3D, 0x5A, 0x51C6) /* <CJK */
+MAP(0x3D, 0x5B, 0x5FAA) /* <CJK */
+MAP(0x3D, 0x5C, 0x65EC) /* <CJK */
+MAP(0x3D, 0x5D, 0x696F) /* <CJK */
+MAP(0x3D, 0x5E, 0x6B89) /* <CJK */
+MAP(0x3D, 0x5F, 0x6DF3) /* <CJK */
+MAP(0x3D, 0x60, 0x6E96) /* <CJK */
+MAP(0x3D, 0x61, 0x6F64) /* <CJK */
+MAP(0x3D, 0x62, 0x76FE) /* <CJK */
+MAP(0x3D, 0x63, 0x7D14) /* <CJK */
+MAP(0x3D, 0x64, 0x5DE1) /* <CJK */
+MAP(0x3D, 0x65, 0x9075) /* <CJK */
+MAP(0x3D, 0x66, 0x9187) /* <CJK */
+MAP(0x3D, 0x67, 0x9806) /* <CJK */
+MAP(0x3D, 0x68, 0x51E6) /* <CJK */
+MAP(0x3D, 0x69, 0x521D) /* <CJK */
+MAP(0x3D, 0x6A, 0x6240) /* <CJK */
+MAP(0x3D, 0x6B, 0x6691) /* <CJK */
+MAP(0x3D, 0x6C, 0x66D9) /* <CJK */
+MAP(0x3D, 0x6D, 0x6E1A) /* <CJK */
+MAP(0x3D, 0x6E, 0x5EB6) /* <CJK */
+MAP(0x3D, 0x6F, 0x7DD2) /* <CJK */
+MAP(0x3D, 0x70, 0x7F72) /* <CJK */
+MAP(0x3D, 0x71, 0x66F8) /* <CJK */
+MAP(0x3D, 0x72, 0x85AF) /* <CJK */
+MAP(0x3D, 0x73, 0x85F7) /* <CJK */
+MAP(0x3D, 0x74, 0x8AF8) /* <CJK */
+MAP(0x3D, 0x75, 0x52A9) /* <CJK */
+MAP(0x3D, 0x76, 0x53D9) /* <CJK */
+MAP(0x3D, 0x77, 0x5973) /* <CJK */
+MAP(0x3D, 0x78, 0x5E8F) /* <CJK */
+MAP(0x3D, 0x79, 0x5F90) /* <CJK */
+MAP(0x3D, 0x7A, 0x6055) /* <CJK */
+MAP(0x3D, 0x7B, 0x92E4) /* <CJK */
+MAP(0x3D, 0x7C, 0x9664) /* <CJK */
+MAP(0x3D, 0x7D, 0x50B7) /* <CJK */
+MAP(0x3D, 0x7E, 0x511F) /* <CJK */
+MAP(0x3E, 0x21, 0x52DD) /* <CJK */
+MAP(0x3E, 0x22, 0x5320) /* <CJK */
+MAP(0x3E, 0x23, 0x5347) /* <CJK */
+MAP(0x3E, 0x24, 0x53EC) /* <CJK */
+MAP(0x3E, 0x25, 0x54E8) /* <CJK */
+MAP(0x3E, 0x26, 0x5546) /* <CJK */
+MAP(0x3E, 0x27, 0x5531) /* <CJK */
+MAP(0x3E, 0x28, 0x5617) /* <CJK */
+MAP(0x3E, 0x29, 0x5968) /* <CJK */
+MAP(0x3E, 0x2A, 0x59BE) /* <CJK */
+MAP(0x3E, 0x2B, 0x5A3C) /* <CJK */
+MAP(0x3E, 0x2C, 0x5BB5) /* <CJK */
+MAP(0x3E, 0x2D, 0x5C06) /* <CJK */
+MAP(0x3E, 0x2E, 0x5C0F) /* <CJK */
+MAP(0x3E, 0x2F, 0x5C11) /* <CJK */
+MAP(0x3E, 0x30, 0x5C1A) /* <CJK */
+MAP(0x3E, 0x31, 0x5E84) /* <CJK */
+MAP(0x3E, 0x32, 0x5E8A) /* <CJK */
+MAP(0x3E, 0x33, 0x5EE0) /* <CJK */
+MAP(0x3E, 0x34, 0x5F70) /* <CJK */
+MAP(0x3E, 0x35, 0x627F) /* <CJK */
+MAP(0x3E, 0x36, 0x6284) /* <CJK */
+MAP(0x3E, 0x37, 0x62DB) /* <CJK */
+MAP(0x3E, 0x38, 0x638C) /* <CJK */
+MAP(0x3E, 0x39, 0x6377) /* <CJK */
+MAP(0x3E, 0x3A, 0x6607) /* <CJK */
+MAP(0x3E, 0x3B, 0x660C) /* <CJK */
+MAP(0x3E, 0x3C, 0x662D) /* <CJK */
+MAP(0x3E, 0x3D, 0x6676) /* <CJK */
+MAP(0x3E, 0x3E, 0x677E) /* <CJK */
+MAP(0x3E, 0x3F, 0x68A2) /* <CJK */
+MAP(0x3E, 0x40, 0x6A1F) /* <CJK */
+MAP(0x3E, 0x41, 0x6A35) /* <CJK */
+MAP(0x3E, 0x42, 0x6CBC) /* <CJK */
+MAP(0x3E, 0x43, 0x6D88) /* <CJK */
+MAP(0x3E, 0x44, 0x6E09) /* <CJK */
+MAP(0x3E, 0x45, 0x6E58) /* <CJK */
+MAP(0x3E, 0x46, 0x713C) /* <CJK */
+MAP(0x3E, 0x47, 0x7126) /* <CJK */
+MAP(0x3E, 0x48, 0x7167) /* <CJK */
+MAP(0x3E, 0x49, 0x75C7) /* <CJK */
+MAP(0x3E, 0x4A, 0x7701) /* <CJK */
+MAP(0x3E, 0x4B, 0x785D) /* <CJK */
+MAP(0x3E, 0x4C, 0x7901) /* <CJK */
+MAP(0x3E, 0x4D, 0x7965) /* <CJK */
+MAP(0x3E, 0x4E, 0x79F0) /* <CJK */
+MAP(0x3E, 0x4F, 0x7AE0) /* <CJK */
+MAP(0x3E, 0x50, 0x7B11) /* <CJK */
+MAP(0x3E, 0x51, 0x7CA7) /* <CJK */
+MAP(0x3E, 0x52, 0x7D39) /* <CJK */
+MAP(0x3E, 0x53, 0x8096) /* <CJK */
+MAP(0x3E, 0x54, 0x83D6) /* <CJK */
+MAP(0x3E, 0x55, 0x848B) /* <CJK */
+MAP(0x3E, 0x56, 0x8549) /* <CJK */
+MAP(0x3E, 0x57, 0x885D) /* <CJK */
+MAP(0x3E, 0x58, 0x88F3) /* <CJK */
+MAP(0x3E, 0x59, 0x8A1F) /* <CJK */
+MAP(0x3E, 0x5A, 0x8A3C) /* <CJK */
+MAP(0x3E, 0x5B, 0x8A54) /* <CJK */
+MAP(0x3E, 0x5C, 0x8A73) /* <CJK */
+MAP(0x3E, 0x5D, 0x8C61) /* <CJK */
+MAP(0x3E, 0x5E, 0x8CDE) /* <CJK */
+MAP(0x3E, 0x5F, 0x91A4) /* <CJK */
+MAP(0x3E, 0x60, 0x9266) /* <CJK */
+MAP(0x3E, 0x61, 0x937E) /* <CJK */
+MAP(0x3E, 0x62, 0x9418) /* <CJK */
+MAP(0x3E, 0x63, 0x969C) /* <CJK */
+MAP(0x3E, 0x64, 0x9798) /* <CJK */
+MAP(0x3E, 0x65, 0x4E0A) /* <CJK */
+MAP(0x3E, 0x66, 0x4E08) /* <CJK */
+MAP(0x3E, 0x67, 0x4E1E) /* <CJK */
+MAP(0x3E, 0x68, 0x4E57) /* <CJK */
+MAP(0x3E, 0x69, 0x5197) /* <CJK */
+MAP(0x3E, 0x6A, 0x5270) /* <CJK */
+MAP(0x3E, 0x6B, 0x57CE) /* <CJK */
+MAP(0x3E, 0x6C, 0x5834) /* <CJK */
+MAP(0x3E, 0x6D, 0x58CC) /* <CJK */
+MAP(0x3E, 0x6E, 0x5B22) /* <CJK */
+MAP(0x3E, 0x6F, 0x5E38) /* <CJK */
+MAP(0x3E, 0x70, 0x60C5) /* <CJK */
+MAP(0x3E, 0x71, 0x64FE) /* <CJK */
+MAP(0x3E, 0x72, 0x6761) /* <CJK */
+MAP(0x3E, 0x73, 0x6756) /* <CJK */
+MAP(0x3E, 0x74, 0x6D44) /* <CJK */
+MAP(0x3E, 0x75, 0x72B6) /* <CJK */
+MAP(0x3E, 0x76, 0x7573) /* <CJK */
+MAP(0x3E, 0x77, 0x7A63) /* <CJK */
+MAP(0x3E, 0x78, 0x84B8) /* <CJK */
+MAP(0x3E, 0x79, 0x8B72) /* <CJK */
+MAP(0x3E, 0x7A, 0x91B8) /* <CJK */
+MAP(0x3E, 0x7B, 0x9320) /* <CJK */
+MAP(0x3E, 0x7C, 0x5631) /* <CJK */
+MAP(0x3E, 0x7D, 0x57F4) /* <CJK */
+MAP(0x3E, 0x7E, 0x98FE) /* <CJK */
+MAP(0x3F, 0x21, 0x62ED) /* <CJK */
+MAP(0x3F, 0x22, 0x690D) /* <CJK */
+MAP(0x3F, 0x23, 0x6B96) /* <CJK */
+MAP(0x3F, 0x24, 0x71ED) /* <CJK */
+MAP(0x3F, 0x25, 0x7E54) /* <CJK */
+MAP(0x3F, 0x26, 0x8077) /* <CJK */
+MAP(0x3F, 0x27, 0x8272) /* <CJK */
+MAP(0x3F, 0x28, 0x89E6) /* <CJK */
+MAP(0x3F, 0x29, 0x98DF) /* <CJK */
+MAP(0x3F, 0x2A, 0x8755) /* <CJK */
+MAP(0x3F, 0x2B, 0x8FB1) /* <CJK */
+MAP(0x3F, 0x2C, 0x5C3B) /* <CJK */
+MAP(0x3F, 0x2D, 0x4F38) /* <CJK */
+MAP(0x3F, 0x2E, 0x4FE1) /* <CJK */
+MAP(0x3F, 0x2F, 0x4FB5) /* <CJK */
+MAP(0x3F, 0x30, 0x5507) /* <CJK */
+MAP(0x3F, 0x31, 0x5A20) /* <CJK */
+MAP(0x3F, 0x32, 0x5BDD) /* <CJK */
+MAP(0x3F, 0x33, 0x5BE9) /* <CJK */
+MAP(0x3F, 0x34, 0x5FC3) /* <CJK */
+MAP(0x3F, 0x35, 0x614E) /* <CJK */
+MAP(0x3F, 0x36, 0x632F) /* <CJK */
+MAP(0x3F, 0x37, 0x65B0) /* <CJK */
+MAP(0x3F, 0x38, 0x664B) /* <CJK */
+MAP(0x3F, 0x39, 0x68EE) /* <CJK */
+MAP(0x3F, 0x3A, 0x699B) /* <CJK */
+MAP(0x3F, 0x3B, 0x6D78) /* <CJK */
+MAP(0x3F, 0x3C, 0x6DF1) /* <CJK */
+MAP(0x3F, 0x3D, 0x7533) /* <CJK */
+MAP(0x3F, 0x3E, 0x75B9) /* <CJK */
+MAP(0x3F, 0x3F, 0x771F) /* <CJK */
+MAP(0x3F, 0x40, 0x795E) /* <CJK */
+MAP(0x3F, 0x41, 0x79E6) /* <CJK */
+MAP(0x3F, 0x42, 0x7D33) /* <CJK */
+MAP(0x3F, 0x43, 0x81E3) /* <CJK */
+MAP(0x3F, 0x44, 0x82AF) /* <CJK */
+MAP(0x3F, 0x45, 0x85AA) /* <CJK */
+MAP(0x3F, 0x46, 0x89AA) /* <CJK */
+MAP(0x3F, 0x47, 0x8A3A) /* <CJK */
+MAP(0x3F, 0x48, 0x8EAB) /* <CJK */
+MAP(0x3F, 0x49, 0x8F9B) /* <CJK */
+MAP(0x3F, 0x4A, 0x9032) /* <CJK */
+MAP(0x3F, 0x4B, 0x91DD) /* <CJK */
+MAP(0x3F, 0x4C, 0x9707) /* <CJK */
+MAP(0x3F, 0x4D, 0x4EBA) /* <CJK */
+MAP(0x3F, 0x4E, 0x4EC1) /* <CJK */
+MAP(0x3F, 0x4F, 0x5203) /* <CJK */
+MAP(0x3F, 0x50, 0x5875) /* <CJK */
+MAP(0x3F, 0x51, 0x58EC) /* <CJK */
+MAP(0x3F, 0x52, 0x5C0B) /* <CJK */
+MAP(0x3F, 0x53, 0x751A) /* <CJK */
+MAP(0x3F, 0x54, 0x5C3D) /* <CJK */
+MAP(0x3F, 0x55, 0x814E) /* <CJK */
+MAP(0x3F, 0x56, 0x8A0A) /* <CJK */
+MAP(0x3F, 0x57, 0x8FC5) /* <CJK */
+MAP(0x3F, 0x58, 0x9663) /* <CJK */
+MAP(0x3F, 0x59, 0x976D) /* <CJK */
+MAP(0x3F, 0x5A, 0x7B25) /* <CJK */
+MAP(0x3F, 0x5B, 0x8ACF) /* <CJK */
+MAP(0x3F, 0x5C, 0x9808) /* <CJK */
+MAP(0x3F, 0x5D, 0x9162) /* <CJK */
+MAP(0x3F, 0x5E, 0x56F3) /* <CJK */
+MAP(0x3F, 0x5F, 0x53A8) /* <CJK */
+MAP(0x3F, 0x60, 0x9017) /* <CJK */
+MAP(0x3F, 0x61, 0x5439) /* <CJK */
+MAP(0x3F, 0x62, 0x5782) /* <CJK */
+MAP(0x3F, 0x63, 0x5E25) /* <CJK */
+MAP(0x3F, 0x64, 0x63A8) /* <CJK */
+MAP(0x3F, 0x65, 0x6C34) /* <CJK */
+MAP(0x3F, 0x66, 0x708A) /* <CJK */
+MAP(0x3F, 0x67, 0x7761) /* <CJK */
+MAP(0x3F, 0x68, 0x7C8B) /* <CJK */
+MAP(0x3F, 0x69, 0x7FE0) /* <CJK */
+MAP(0x3F, 0x6A, 0x8870) /* <CJK */
+MAP(0x3F, 0x6B, 0x9042) /* <CJK */
+MAP(0x3F, 0x6C, 0x9154) /* <CJK */
+MAP(0x3F, 0x6D, 0x9310) /* <CJK */
+MAP(0x3F, 0x6E, 0x9318) /* <CJK */
+MAP(0x3F, 0x6F, 0x968F) /* <CJK */
+MAP(0x3F, 0x70, 0x745E) /* <CJK */
+MAP(0x3F, 0x71, 0x9AC4) /* <CJK */
+MAP(0x3F, 0x72, 0x5D07) /* <CJK */
+MAP(0x3F, 0x73, 0x5D69) /* <CJK */
+MAP(0x3F, 0x74, 0x6570) /* <CJK */
+MAP(0x3F, 0x75, 0x67A2) /* <CJK */
+MAP(0x3F, 0x76, 0x8DA8) /* <CJK */
+MAP(0x3F, 0x77, 0x96DB) /* <CJK */
+MAP(0x3F, 0x78, 0x636E) /* <CJK */
+MAP(0x3F, 0x79, 0x6749) /* <CJK */
+MAP(0x3F, 0x7A, 0x6919) /* <CJK */
+MAP(0x3F, 0x7B, 0x83C5) /* <CJK */
+MAP(0x3F, 0x7C, 0x9817) /* <CJK */
+MAP(0x3F, 0x7D, 0x96C0) /* <CJK */
+MAP(0x3F, 0x7E, 0x88FE) /* <CJK */
+MAP(0x40, 0x21, 0x6F84) /* <CJK */
+MAP(0x40, 0x22, 0x647A) /* <CJK */
+MAP(0x40, 0x23, 0x5BF8) /* <CJK */
+MAP(0x40, 0x24, 0x4E16) /* <CJK */
+MAP(0x40, 0x25, 0x702C) /* <CJK */
+MAP(0x40, 0x26, 0x755D) /* <CJK */
+MAP(0x40, 0x27, 0x662F) /* <CJK */
+MAP(0x40, 0x28, 0x51C4) /* <CJK */
+MAP(0x40, 0x29, 0x5236) /* <CJK */
+MAP(0x40, 0x2A, 0x52E2) /* <CJK */
+MAP(0x40, 0x2B, 0x59D3) /* <CJK */
+MAP(0x40, 0x2C, 0x5F81) /* <CJK */
+MAP(0x40, 0x2D, 0x6027) /* <CJK */
+MAP(0x40, 0x2E, 0x6210) /* <CJK */
+MAP(0x40, 0x2F, 0x653F) /* <CJK */
+MAP(0x40, 0x30, 0x6574) /* <CJK */
+MAP(0x40, 0x31, 0x661F) /* <CJK */
+MAP(0x40, 0x32, 0x6674) /* <CJK */
+MAP(0x40, 0x33, 0x68F2) /* <CJK */
+MAP(0x40, 0x34, 0x6816) /* <CJK */
+MAP(0x40, 0x35, 0x6B63) /* <CJK */
+MAP(0x40, 0x36, 0x6E05) /* <CJK */
+MAP(0x40, 0x37, 0x7272) /* <CJK */
+MAP(0x40, 0x38, 0x751F) /* <CJK */
+MAP(0x40, 0x39, 0x76DB) /* <CJK */
+MAP(0x40, 0x3A, 0x7CBE) /* <CJK */
+MAP(0x40, 0x3B, 0x8056) /* <CJK */
+MAP(0x40, 0x3C, 0x58F0) /* <CJK */
+MAP(0x40, 0x3D, 0x88FD) /* <CJK */
+MAP(0x40, 0x3E, 0x897F) /* <CJK */
+MAP(0x40, 0x3F, 0x8AA0) /* <CJK */
+MAP(0x40, 0x40, 0x8A93) /* <CJK */
+MAP(0x40, 0x41, 0x8ACB) /* <CJK */
+MAP(0x40, 0x42, 0x901D) /* <CJK */
+MAP(0x40, 0x43, 0x9192) /* <CJK */
+MAP(0x40, 0x44, 0x9752) /* <CJK */
+MAP(0x40, 0x45, 0x9759) /* <CJK */
+MAP(0x40, 0x46, 0x6589) /* <CJK */
+MAP(0x40, 0x47, 0x7A0E) /* <CJK */
+MAP(0x40, 0x48, 0x8106) /* <CJK */
+MAP(0x40, 0x49, 0x96BB) /* <CJK */
+MAP(0x40, 0x4A, 0x5E2D) /* <CJK */
+MAP(0x40, 0x4B, 0x60DC) /* <CJK */
+MAP(0x40, 0x4C, 0x621A) /* <CJK */
+MAP(0x40, 0x4D, 0x65A5) /* <CJK */
+MAP(0x40, 0x4E, 0x6614) /* <CJK */
+MAP(0x40, 0x4F, 0x6790) /* <CJK */
+MAP(0x40, 0x50, 0x77F3) /* <CJK */
+MAP(0x40, 0x51, 0x7A4D) /* <CJK */
+MAP(0x40, 0x52, 0x7C4D) /* <CJK */
+MAP(0x40, 0x53, 0x7E3E) /* <CJK */
+MAP(0x40, 0x54, 0x810A) /* <CJK */
+MAP(0x40, 0x55, 0x8CAC) /* <CJK */
+MAP(0x40, 0x56, 0x8D64) /* <CJK */
+MAP(0x40, 0x57, 0x8DE1) /* <CJK */
+MAP(0x40, 0x58, 0x8E5F) /* <CJK */
+MAP(0x40, 0x59, 0x78A9) /* <CJK */
+MAP(0x40, 0x5A, 0x5207) /* <CJK */
+MAP(0x40, 0x5B, 0x62D9) /* <CJK */
+MAP(0x40, 0x5C, 0x63A5) /* <CJK */
+MAP(0x40, 0x5D, 0x6442) /* <CJK */
+MAP(0x40, 0x5E, 0x6298) /* <CJK */
+MAP(0x40, 0x5F, 0x8A2D) /* <CJK */
+MAP(0x40, 0x60, 0x7A83) /* <CJK */
+MAP(0x40, 0x61, 0x7BC0) /* <CJK */
+MAP(0x40, 0x62, 0x8AAC) /* <CJK */
+MAP(0x40, 0x63, 0x96EA) /* <CJK */
+MAP(0x40, 0x64, 0x7D76) /* <CJK */
+MAP(0x40, 0x65, 0x820C) /* <CJK */
+MAP(0x40, 0x66, 0x8749) /* <CJK */
+MAP(0x40, 0x67, 0x4ED9) /* <CJK */
+MAP(0x40, 0x68, 0x5148) /* <CJK */
+MAP(0x40, 0x69, 0x5343) /* <CJK */
+MAP(0x40, 0x6A, 0x5360) /* <CJK */
+MAP(0x40, 0x6B, 0x5BA3) /* <CJK */
+MAP(0x40, 0x6C, 0x5C02) /* <CJK */
+MAP(0x40, 0x6D, 0x5C16) /* <CJK */
+MAP(0x40, 0x6E, 0x5DDD) /* <CJK */
+MAP(0x40, 0x6F, 0x6226) /* <CJK */
+MAP(0x40, 0x70, 0x6247) /* <CJK */
+MAP(0x40, 0x71, 0x64B0) /* <CJK */
+MAP(0x40, 0x72, 0x6813) /* <CJK */
+MAP(0x40, 0x73, 0x6834) /* <CJK */
+MAP(0x40, 0x74, 0x6CC9) /* <CJK */
+MAP(0x40, 0x75, 0x6D45) /* <CJK */
+MAP(0x40, 0x76, 0x6D17) /* <CJK */
+MAP(0x40, 0x77, 0x67D3) /* <CJK */
+MAP(0x40, 0x78, 0x6F5C) /* <CJK */
+MAP(0x40, 0x79, 0x714E) /* <CJK */
+MAP(0x40, 0x7A, 0x717D) /* <CJK */
+MAP(0x40, 0x7B, 0x65CB) /* <CJK */
+MAP(0x40, 0x7C, 0x7A7F) /* <CJK */
+MAP(0x40, 0x7D, 0x7BAD) /* <CJK */
+MAP(0x40, 0x7E, 0x7DDA) /* <CJK */
+MAP(0x41, 0x21, 0x7E4A) /* <CJK */
+MAP(0x41, 0x22, 0x7FA8) /* <CJK */
+MAP(0x41, 0x23, 0x817A) /* <CJK */
+MAP(0x41, 0x24, 0x821B) /* <CJK */
+MAP(0x41, 0x25, 0x8239) /* <CJK */
+MAP(0x41, 0x26, 0x85A6) /* <CJK */
+MAP(0x41, 0x27, 0x8A6E) /* <CJK */
+MAP(0x41, 0x28, 0x8CCE) /* <CJK */
+MAP(0x41, 0x29, 0x8DF5) /* <CJK */
+MAP(0x41, 0x2A, 0x9078) /* <CJK */
+MAP(0x41, 0x2B, 0x9077) /* <CJK */
+MAP(0x41, 0x2C, 0x92AD) /* <CJK */
+MAP(0x41, 0x2D, 0x9291) /* <CJK */
+MAP(0x41, 0x2E, 0x9583) /* <CJK */
+MAP(0x41, 0x2F, 0x9BAE) /* <CJK */
+MAP(0x41, 0x30, 0x524D) /* <CJK */
+MAP(0x41, 0x31, 0x5584) /* <CJK */
+MAP(0x41, 0x32, 0x6F38) /* <CJK */
+MAP(0x41, 0x33, 0x7136) /* <CJK */
+MAP(0x41, 0x34, 0x5168) /* <CJK */
+MAP(0x41, 0x35, 0x7985) /* <CJK */
+MAP(0x41, 0x36, 0x7E55) /* <CJK */
+MAP(0x41, 0x37, 0x81B3) /* <CJK */
+MAP(0x41, 0x38, 0x7CCE) /* <CJK */
+MAP(0x41, 0x39, 0x564C) /* <CJK */
+MAP(0x41, 0x3A, 0x5851) /* <CJK */
+MAP(0x41, 0x3B, 0x5CA8) /* <CJK */
+MAP(0x41, 0x3C, 0x63AA) /* <CJK */
+MAP(0x41, 0x3D, 0x66FE) /* <CJK */
+MAP(0x41, 0x3E, 0x66FD) /* <CJK */
+MAP(0x41, 0x3F, 0x695A) /* <CJK */
+MAP(0x41, 0x40, 0x72D9) /* <CJK */
+MAP(0x41, 0x41, 0x758F) /* <CJK */
+MAP(0x41, 0x42, 0x758E) /* <CJK */
+MAP(0x41, 0x43, 0x790E) /* <CJK */
+MAP(0x41, 0x44, 0x7956) /* <CJK */
+MAP(0x41, 0x45, 0x79DF) /* <CJK */
+MAP(0x41, 0x46, 0x7C97) /* <CJK */
+MAP(0x41, 0x47, 0x7D20) /* <CJK */
+MAP(0x41, 0x48, 0x7D44) /* <CJK */
+MAP(0x41, 0x49, 0x8607) /* <CJK */
+MAP(0x41, 0x4A, 0x8A34) /* <CJK */
+MAP(0x41, 0x4B, 0x963B) /* <CJK */
+MAP(0x41, 0x4C, 0x9061) /* <CJK */
+MAP(0x41, 0x4D, 0x9F20) /* <CJK */
+MAP(0x41, 0x4E, 0x50E7) /* <CJK */
+MAP(0x41, 0x4F, 0x5275) /* <CJK */
+MAP(0x41, 0x50, 0x53CC) /* <CJK */
+MAP(0x41, 0x51, 0x53E2) /* <CJK */
+MAP(0x41, 0x52, 0x5009) /* <CJK */
+MAP(0x41, 0x53, 0x55AA) /* <CJK */
+MAP(0x41, 0x54, 0x58EE) /* <CJK */
+MAP(0x41, 0x55, 0x594F) /* <CJK */
+MAP(0x41, 0x56, 0x723D) /* <CJK */
+MAP(0x41, 0x57, 0x5B8B) /* <CJK */
+MAP(0x41, 0x58, 0x5C64) /* <CJK */
+MAP(0x41, 0x59, 0x531D) /* <CJK */
+MAP(0x41, 0x5A, 0x60E3) /* <CJK */
+MAP(0x41, 0x5B, 0x60F3) /* <CJK */
+MAP(0x41, 0x5C, 0x635C) /* <CJK */
+MAP(0x41, 0x5D, 0x6383) /* <CJK */
+MAP(0x41, 0x5E, 0x633F) /* <CJK */
+MAP(0x41, 0x5F, 0x63BB) /* <CJK */
+MAP(0x41, 0x60, 0x64CD) /* <CJK */
+MAP(0x41, 0x61, 0x65E9) /* <CJK */
+MAP(0x41, 0x62, 0x66F9) /* <CJK */
+MAP(0x41, 0x63, 0x5DE3) /* <CJK */
+MAP(0x41, 0x64, 0x69CD) /* <CJK */
+MAP(0x41, 0x65, 0x69FD) /* <CJK */
+MAP(0x41, 0x66, 0x6F15) /* <CJK */
+MAP(0x41, 0x67, 0x71E5) /* <CJK */
+MAP(0x41, 0x68, 0x4E89) /* <CJK */
+MAP(0x41, 0x69, 0x75E9) /* <CJK */
+MAP(0x41, 0x6A, 0x76F8) /* <CJK */
+MAP(0x41, 0x6B, 0x7A93) /* <CJK */
+MAP(0x41, 0x6C, 0x7CDF) /* <CJK */
+MAP(0x41, 0x6D, 0x7DCF) /* <CJK */
+MAP(0x41, 0x6E, 0x7D9C) /* <CJK */
+MAP(0x41, 0x6F, 0x8061) /* <CJK */
+MAP(0x41, 0x70, 0x8349) /* <CJK */
+MAP(0x41, 0x71, 0x8358) /* <CJK */
+MAP(0x41, 0x72, 0x846C) /* <CJK */
+MAP(0x41, 0x73, 0x84BC) /* <CJK */
+MAP(0x41, 0x74, 0x85FB) /* <CJK */
+MAP(0x41, 0x75, 0x88C5) /* <CJK */
+MAP(0x41, 0x76, 0x8D70) /* <CJK */
+MAP(0x41, 0x77, 0x9001) /* <CJK */
+MAP(0x41, 0x78, 0x906D) /* <CJK */
+MAP(0x41, 0x79, 0x9397) /* <CJK */
+MAP(0x41, 0x7A, 0x971C) /* <CJK */
+MAP(0x41, 0x7B, 0x9A12) /* <CJK */
+MAP(0x41, 0x7C, 0x50CF) /* <CJK */
+MAP(0x41, 0x7D, 0x5897) /* <CJK */
+MAP(0x41, 0x7E, 0x618E) /* <CJK */
+MAP(0x42, 0x21, 0x81D3) /* <CJK */
+MAP(0x42, 0x22, 0x8535) /* <CJK */
+MAP(0x42, 0x23, 0x8D08) /* <CJK */
+MAP(0x42, 0x24, 0x9020) /* <CJK */
+MAP(0x42, 0x25, 0x4FC3) /* <CJK */
+MAP(0x42, 0x26, 0x5074) /* <CJK */
+MAP(0x42, 0x27, 0x5247) /* <CJK */
+MAP(0x42, 0x28, 0x5373) /* <CJK */
+MAP(0x42, 0x29, 0x606F) /* <CJK */
+MAP(0x42, 0x2A, 0x6349) /* <CJK */
+MAP(0x42, 0x2B, 0x675F) /* <CJK */
+MAP(0x42, 0x2C, 0x6E2C) /* <CJK */
+MAP(0x42, 0x2D, 0x8DB3) /* <CJK */
+MAP(0x42, 0x2E, 0x901F) /* <CJK */
+MAP(0x42, 0x2F, 0x4FD7) /* <CJK */
+MAP(0x42, 0x30, 0x5C5E) /* <CJK */
+MAP(0x42, 0x31, 0x8CCA) /* <CJK */
+MAP(0x42, 0x32, 0x65CF) /* <CJK */
+MAP(0x42, 0x33, 0x7D9A) /* <CJK */
+MAP(0x42, 0x34, 0x5352) /* <CJK */
+MAP(0x42, 0x35, 0x8896) /* <CJK */
+MAP(0x42, 0x36, 0x5176) /* <CJK */
+MAP(0x42, 0x37, 0x63C3) /* <CJK */
+MAP(0x42, 0x38, 0x5B58) /* <CJK */
+MAP(0x42, 0x39, 0x5B6B) /* <CJK */
+MAP(0x42, 0x3A, 0x5C0A) /* <CJK */
+MAP(0x42, 0x3B, 0x640D) /* <CJK */
+MAP(0x42, 0x3C, 0x6751) /* <CJK */
+MAP(0x42, 0x3D, 0x905C) /* <CJK */
+MAP(0x42, 0x3E, 0x4ED6) /* <CJK */
+MAP(0x42, 0x3F, 0x591A) /* <CJK */
+MAP(0x42, 0x40, 0x592A) /* <CJK */
+MAP(0x42, 0x41, 0x6C70) /* <CJK */
+MAP(0x42, 0x42, 0x8A51) /* <CJK */
+MAP(0x42, 0x43, 0x553E) /* <CJK */
+MAP(0x42, 0x44, 0x5815) /* <CJK */
+MAP(0x42, 0x45, 0x59A5) /* <CJK */
+MAP(0x42, 0x46, 0x60F0) /* <CJK */
+MAP(0x42, 0x47, 0x6253) /* <CJK */
+MAP(0x42, 0x48, 0x67C1) /* <CJK */
+MAP(0x42, 0x49, 0x8235) /* <CJK */
+MAP(0x42, 0x4A, 0x6955) /* <CJK */
+MAP(0x42, 0x4B, 0x9640) /* <CJK */
+MAP(0x42, 0x4C, 0x99C4) /* <CJK */
+MAP(0x42, 0x4D, 0x9A28) /* <CJK */
+MAP(0x42, 0x4E, 0x4F53) /* <CJK */
+MAP(0x42, 0x4F, 0x5806) /* <CJK */
+MAP(0x42, 0x50, 0x5BFE) /* <CJK */
+MAP(0x42, 0x51, 0x8010) /* <CJK */
+MAP(0x42, 0x52, 0x5CB1) /* <CJK */
+MAP(0x42, 0x53, 0x5E2F) /* <CJK */
+MAP(0x42, 0x54, 0x5F85) /* <CJK */
+MAP(0x42, 0x55, 0x6020) /* <CJK */
+MAP(0x42, 0x56, 0x614B) /* <CJK */
+MAP(0x42, 0x57, 0x6234) /* <CJK */
+MAP(0x42, 0x58, 0x66FF) /* <CJK */
+MAP(0x42, 0x59, 0x6CF0) /* <CJK */
+MAP(0x42, 0x5A, 0x6EDE) /* <CJK */
+MAP(0x42, 0x5B, 0x80CE) /* <CJK */
+MAP(0x42, 0x5C, 0x817F) /* <CJK */
+MAP(0x42, 0x5D, 0x82D4) /* <CJK */
+MAP(0x42, 0x5E, 0x888B) /* <CJK */
+MAP(0x42, 0x5F, 0x8CB8) /* <CJK */
+MAP(0x42, 0x60, 0x9000) /* <CJK */
+MAP(0x42, 0x61, 0x902E) /* <CJK */
+MAP(0x42, 0x62, 0x968A) /* <CJK */
+MAP(0x42, 0x63, 0x9EDB) /* <CJK */
+MAP(0x42, 0x64, 0x9BDB) /* <CJK */
+MAP(0x42, 0x65, 0x4EE3) /* <CJK */
+MAP(0x42, 0x66, 0x53F0) /* <CJK */
+MAP(0x42, 0x67, 0x5927) /* <CJK */
+MAP(0x42, 0x68, 0x7B2C) /* <CJK */
+MAP(0x42, 0x69, 0x918D) /* <CJK */
+MAP(0x42, 0x6A, 0x984C) /* <CJK */
+MAP(0x42, 0x6B, 0x9DF9) /* <CJK */
+MAP(0x42, 0x6C, 0x6EDD) /* <CJK */
+MAP(0x42, 0x6D, 0x7027) /* <CJK */
+MAP(0x42, 0x6E, 0x5353) /* <CJK */
+MAP(0x42, 0x6F, 0x5544) /* <CJK */
+MAP(0x42, 0x70, 0x5B85) /* <CJK */
+MAP(0x42, 0x71, 0x6258) /* <CJK */
+MAP(0x42, 0x72, 0x629E) /* <CJK */
+MAP(0x42, 0x73, 0x62D3) /* <CJK */
+MAP(0x42, 0x74, 0x6CA2) /* <CJK */
+MAP(0x42, 0x75, 0x6FEF) /* <CJK */
+MAP(0x42, 0x76, 0x7422) /* <CJK */
+MAP(0x42, 0x77, 0x8A17) /* <CJK */
+MAP(0x42, 0x78, 0x9438) /* <CJK */
+MAP(0x42, 0x79, 0x6FC1) /* <CJK */
+MAP(0x42, 0x7A, 0x8AFE) /* <CJK */
+MAP(0x42, 0x7B, 0x8338) /* <CJK */
+MAP(0x42, 0x7C, 0x51E7) /* <CJK */
+MAP(0x42, 0x7D, 0x86F8) /* <CJK */
+MAP(0x42, 0x7E, 0x53EA) /* <CJK */
+MAP(0x43, 0x21, 0x53E9) /* <CJK */
+MAP(0x43, 0x22, 0x4F46) /* <CJK */
+MAP(0x43, 0x23, 0x9054) /* <CJK */
+MAP(0x43, 0x24, 0x8FB0) /* <CJK */
+MAP(0x43, 0x25, 0x596A) /* <CJK */
+MAP(0x43, 0x26, 0x8131) /* <CJK */
+MAP(0x43, 0x27, 0x5DFD) /* <CJK */
+MAP(0x43, 0x28, 0x7AEA) /* <CJK */
+MAP(0x43, 0x29, 0x8FBF) /* <CJK */
+MAP(0x43, 0x2A, 0x68DA) /* <CJK */
+MAP(0x43, 0x2B, 0x8C37) /* <CJK */
+MAP(0x43, 0x2C, 0x72F8) /* <CJK */
+MAP(0x43, 0x2D, 0x9C48) /* <CJK */
+MAP(0x43, 0x2E, 0x6A3D) /* <CJK */
+MAP(0x43, 0x2F, 0x8AB0) /* <CJK */
+MAP(0x43, 0x30, 0x4E39) /* <CJK */
+MAP(0x43, 0x31, 0x5358) /* <CJK */
+MAP(0x43, 0x32, 0x5606) /* <CJK */
+MAP(0x43, 0x33, 0x5766) /* <CJK */
+MAP(0x43, 0x34, 0x62C5) /* <CJK */
+MAP(0x43, 0x35, 0x63A2) /* <CJK */
+MAP(0x43, 0x36, 0x65E6) /* <CJK */
+MAP(0x43, 0x37, 0x6B4E) /* <CJK */
+MAP(0x43, 0x38, 0x6DE1) /* <CJK */
+MAP(0x43, 0x39, 0x6E5B) /* <CJK */
+MAP(0x43, 0x3A, 0x70AD) /* <CJK */
+MAP(0x43, 0x3B, 0x77ED) /* <CJK */
+MAP(0x43, 0x3C, 0x7AEF) /* <CJK */
+MAP(0x43, 0x3D, 0x7BAA) /* <CJK */
+MAP(0x43, 0x3E, 0x7DBB) /* <CJK */
+MAP(0x43, 0x3F, 0x803D) /* <CJK */
+MAP(0x43, 0x40, 0x80C6) /* <CJK */
+MAP(0x43, 0x41, 0x86CB) /* <CJK */
+MAP(0x43, 0x42, 0x8A95) /* <CJK */
+MAP(0x43, 0x43, 0x935B) /* <CJK */
+MAP(0x43, 0x44, 0x56E3) /* <CJK */
+MAP(0x43, 0x45, 0x58C7) /* <CJK */
+MAP(0x43, 0x46, 0x5F3E) /* <CJK */
+MAP(0x43, 0x47, 0x65AD) /* <CJK */
+MAP(0x43, 0x48, 0x6696) /* <CJK */
+MAP(0x43, 0x49, 0x6A80) /* <CJK */
+MAP(0x43, 0x4A, 0x6BB5) /* <CJK */
+MAP(0x43, 0x4B, 0x7537) /* <CJK */
+MAP(0x43, 0x4C, 0x8AC7) /* <CJK */
+MAP(0x43, 0x4D, 0x5024) /* <CJK */
+MAP(0x43, 0x4E, 0x77E5) /* <CJK */
+MAP(0x43, 0x4F, 0x5730) /* <CJK */
+MAP(0x43, 0x50, 0x5F1B) /* <CJK */
+MAP(0x43, 0x51, 0x6065) /* <CJK */
+MAP(0x43, 0x52, 0x667A) /* <CJK */
+MAP(0x43, 0x53, 0x6C60) /* <CJK */
+MAP(0x43, 0x54, 0x75F4) /* <CJK */
+MAP(0x43, 0x55, 0x7A1A) /* <CJK */
+MAP(0x43, 0x56, 0x7F6E) /* <CJK */
+MAP(0x43, 0x57, 0x81F4) /* <CJK */
+MAP(0x43, 0x58, 0x8718) /* <CJK */
+MAP(0x43, 0x59, 0x9045) /* <CJK */
+MAP(0x43, 0x5A, 0x99B3) /* <CJK */
+MAP(0x43, 0x5B, 0x7BC9) /* <CJK */
+MAP(0x43, 0x5C, 0x755C) /* <CJK */
+MAP(0x43, 0x5D, 0x7AF9) /* <CJK */
+MAP(0x43, 0x5E, 0x7B51) /* <CJK */
+MAP(0x43, 0x5F, 0x84C4) /* <CJK */
+MAP(0x43, 0x60, 0x9010) /* <CJK */
+MAP(0x43, 0x61, 0x79E9) /* <CJK */
+MAP(0x43, 0x62, 0x7A92) /* <CJK */
+MAP(0x43, 0x63, 0x8336) /* <CJK */
+MAP(0x43, 0x64, 0x5AE1) /* <CJK */
+MAP(0x43, 0x65, 0x7740) /* <CJK */
+MAP(0x43, 0x66, 0x4E2D) /* <CJK */
+MAP(0x43, 0x67, 0x4EF2) /* <CJK */
+MAP(0x43, 0x68, 0x5B99) /* <CJK */
+MAP(0x43, 0x69, 0x5FE0) /* <CJK */
+MAP(0x43, 0x6A, 0x62BD) /* <CJK */
+MAP(0x43, 0x6B, 0x663C) /* <CJK */
+MAP(0x43, 0x6C, 0x67F1) /* <CJK */
+MAP(0x43, 0x6D, 0x6CE8) /* <CJK */
+MAP(0x43, 0x6E, 0x866B) /* <CJK */
+MAP(0x43, 0x6F, 0x8877) /* <CJK */
+MAP(0x43, 0x70, 0x8A3B) /* <CJK */
+MAP(0x43, 0x71, 0x914E) /* <CJK */
+MAP(0x43, 0x72, 0x92F3) /* <CJK */
+MAP(0x43, 0x73, 0x99D0) /* <CJK */
+MAP(0x43, 0x74, 0x6A17) /* <CJK */
+MAP(0x43, 0x75, 0x7026) /* <CJK */
+MAP(0x43, 0x76, 0x732A) /* <CJK */
+MAP(0x43, 0x77, 0x82E7) /* <CJK */
+MAP(0x43, 0x78, 0x8457) /* <CJK */
+MAP(0x43, 0x79, 0x8CAF) /* <CJK */
+MAP(0x43, 0x7A, 0x4E01) /* <CJK */
+MAP(0x43, 0x7B, 0x5146) /* <CJK */
+MAP(0x43, 0x7C, 0x51CB) /* <CJK */
+MAP(0x43, 0x7D, 0x558B) /* <CJK */
+MAP(0x43, 0x7E, 0x5BF5) /* <CJK */
+MAP(0x44, 0x21, 0x5E16) /* <CJK */
+MAP(0x44, 0x22, 0x5E33) /* <CJK */
+MAP(0x44, 0x23, 0x5E81) /* <CJK */
+MAP(0x44, 0x24, 0x5F14) /* <CJK */
+MAP(0x44, 0x25, 0x5F35) /* <CJK */
+MAP(0x44, 0x26, 0x5F6B) /* <CJK */
+MAP(0x44, 0x27, 0x5FB4) /* <CJK */
+MAP(0x44, 0x28, 0x61F2) /* <CJK */
+MAP(0x44, 0x29, 0x6311) /* <CJK */
+MAP(0x44, 0x2A, 0x66A2) /* <CJK */
+MAP(0x44, 0x2B, 0x671D) /* <CJK */
+MAP(0x44, 0x2C, 0x6F6E) /* <CJK */
+MAP(0x44, 0x2D, 0x7252) /* <CJK */
+MAP(0x44, 0x2E, 0x753A) /* <CJK */
+MAP(0x44, 0x2F, 0x773A) /* <CJK */
+MAP(0x44, 0x30, 0x8074) /* <CJK */
+MAP(0x44, 0x31, 0x8139) /* <CJK */
+MAP(0x44, 0x32, 0x8178) /* <CJK */
+MAP(0x44, 0x33, 0x8776) /* <CJK */
+MAP(0x44, 0x34, 0x8ABF) /* <CJK */
+MAP(0x44, 0x35, 0x8ADC) /* <CJK */
+MAP(0x44, 0x36, 0x8D85) /* <CJK */
+MAP(0x44, 0x37, 0x8DF3) /* <CJK */
+MAP(0x44, 0x38, 0x929A) /* <CJK */
+MAP(0x44, 0x39, 0x9577) /* <CJK */
+MAP(0x44, 0x3A, 0x9802) /* <CJK */
+MAP(0x44, 0x3B, 0x9CE5) /* <CJK */
+MAP(0x44, 0x3C, 0x52C5) /* <CJK */
+MAP(0x44, 0x3D, 0x6357) /* <CJK */
+MAP(0x44, 0x3E, 0x76F4) /* <CJK */
+MAP(0x44, 0x3F, 0x6715) /* <CJK */
+MAP(0x44, 0x40, 0x6C88) /* <CJK */
+MAP(0x44, 0x41, 0x73CD) /* <CJK */
+MAP(0x44, 0x42, 0x8CC3) /* <CJK */
+MAP(0x44, 0x43, 0x93AE) /* <CJK */
+MAP(0x44, 0x44, 0x9673) /* <CJK */
+MAP(0x44, 0x45, 0x6D25) /* <CJK */
+MAP(0x44, 0x46, 0x589C) /* <CJK */
+MAP(0x44, 0x47, 0x690E) /* <CJK */
+MAP(0x44, 0x48, 0x69CC) /* <CJK */
+MAP(0x44, 0x49, 0x8FFD) /* <CJK */
+MAP(0x44, 0x4A, 0x939A) /* <CJK */
+MAP(0x44, 0x4B, 0x75DB) /* <CJK */
+MAP(0x44, 0x4C, 0x901A) /* <CJK */
+MAP(0x44, 0x4D, 0x585A) /* <CJK */
+MAP(0x44, 0x4E, 0x6802) /* <CJK */
+MAP(0x44, 0x4F, 0x63B4) /* <CJK */
+MAP(0x44, 0x50, 0x69FB) /* <CJK */
+MAP(0x44, 0x51, 0x4F43) /* <CJK */
+MAP(0x44, 0x52, 0x6F2C) /* <CJK */
+MAP(0x44, 0x53, 0x67D8) /* <CJK */
+MAP(0x44, 0x54, 0x8FBB) /* <CJK */
+MAP(0x44, 0x55, 0x8526) /* <CJK */
+MAP(0x44, 0x56, 0x7DB4) /* <CJK */
+MAP(0x44, 0x57, 0x9354) /* <CJK */
+MAP(0x44, 0x58, 0x693F) /* <CJK */
+MAP(0x44, 0x59, 0x6F70) /* <CJK */
+MAP(0x44, 0x5A, 0x576A) /* <CJK */
+MAP(0x44, 0x5B, 0x58F7) /* <CJK */
+MAP(0x44, 0x5C, 0x5B2C) /* <CJK */
+MAP(0x44, 0x5D, 0x7D2C) /* <CJK */
+MAP(0x44, 0x5E, 0x722A) /* <CJK */
+MAP(0x44, 0x5F, 0x540A) /* <CJK */
+MAP(0x44, 0x60, 0x91E3) /* <CJK */
+MAP(0x44, 0x61, 0x9DB4) /* <CJK */
+MAP(0x44, 0x62, 0x4EAD) /* <CJK */
+MAP(0x44, 0x63, 0x4F4E) /* <CJK */
+MAP(0x44, 0x64, 0x505C) /* <CJK */
+MAP(0x44, 0x65, 0x5075) /* <CJK */
+MAP(0x44, 0x66, 0x5243) /* <CJK */
+MAP(0x44, 0x67, 0x8C9E) /* <CJK */
+MAP(0x44, 0x68, 0x5448) /* <CJK */
+MAP(0x44, 0x69, 0x5824) /* <CJK */
+MAP(0x44, 0x6A, 0x5B9A) /* <CJK */
+MAP(0x44, 0x6B, 0x5E1D) /* <CJK */
+MAP(0x44, 0x6C, 0x5E95) /* <CJK */
+MAP(0x44, 0x6D, 0x5EAD) /* <CJK */
+MAP(0x44, 0x6E, 0x5EF7) /* <CJK */
+MAP(0x44, 0x6F, 0x5F1F) /* <CJK */
+MAP(0x44, 0x70, 0x608C) /* <CJK */
+MAP(0x44, 0x71, 0x62B5) /* <CJK */
+MAP(0x44, 0x72, 0x633A) /* <CJK */
+MAP(0x44, 0x73, 0x63D0) /* <CJK */
+MAP(0x44, 0x74, 0x68AF) /* <CJK */
+MAP(0x44, 0x75, 0x6C40) /* <CJK */
+MAP(0x44, 0x76, 0x7887) /* <CJK */
+MAP(0x44, 0x77, 0x798E) /* <CJK */
+MAP(0x44, 0x78, 0x7A0B) /* <CJK */
+MAP(0x44, 0x79, 0x7DE0) /* <CJK */
+MAP(0x44, 0x7A, 0x8247) /* <CJK */
+MAP(0x44, 0x7B, 0x8A02) /* <CJK */
+MAP(0x44, 0x7C, 0x8AE6) /* <CJK */
+MAP(0x44, 0x7D, 0x8E44) /* <CJK */
+MAP(0x44, 0x7E, 0x9013) /* <CJK */
+MAP(0x45, 0x21, 0x90B8) /* <CJK */
+MAP(0x45, 0x22, 0x912D) /* <CJK */
+MAP(0x45, 0x23, 0x91D8) /* <CJK */
+MAP(0x45, 0x24, 0x9F0E) /* <CJK */
+MAP(0x45, 0x25, 0x6CE5) /* <CJK */
+MAP(0x45, 0x26, 0x6458) /* <CJK */
+MAP(0x45, 0x27, 0x64E2) /* <CJK */
+MAP(0x45, 0x28, 0x6575) /* <CJK */
+MAP(0x45, 0x29, 0x6EF4) /* <CJK */
+MAP(0x45, 0x2A, 0x7684) /* <CJK */
+MAP(0x45, 0x2B, 0x7B1B) /* <CJK */
+MAP(0x45, 0x2C, 0x9069) /* <CJK */
+MAP(0x45, 0x2D, 0x93D1) /* <CJK */
+MAP(0x45, 0x2E, 0x6EBA) /* <CJK */
+MAP(0x45, 0x2F, 0x54F2) /* <CJK */
+MAP(0x45, 0x30, 0x5FB9) /* <CJK */
+MAP(0x45, 0x31, 0x64A4) /* <CJK */
+MAP(0x45, 0x32, 0x8F4D) /* <CJK */
+MAP(0x45, 0x33, 0x8FED) /* <CJK */
+MAP(0x45, 0x34, 0x9244) /* <CJK */
+MAP(0x45, 0x35, 0x5178) /* <CJK */
+MAP(0x45, 0x36, 0x586B) /* <CJK */
+MAP(0x45, 0x37, 0x5929) /* <CJK */
+MAP(0x45, 0x38, 0x5C55) /* <CJK */
+MAP(0x45, 0x39, 0x5E97) /* <CJK */
+MAP(0x45, 0x3A, 0x6DFB) /* <CJK */
+MAP(0x45, 0x3B, 0x7E8F) /* <CJK */
+MAP(0x45, 0x3C, 0x751C) /* <CJK */
+MAP(0x45, 0x3D, 0x8CBC) /* <CJK */
+MAP(0x45, 0x3E, 0x8EE2) /* <CJK */
+MAP(0x45, 0x3F, 0x985B) /* <CJK */
+MAP(0x45, 0x40, 0x70B9) /* <CJK */
+MAP(0x45, 0x41, 0x4F1D) /* <CJK */
+MAP(0x45, 0x42, 0x6BBF) /* <CJK */
+MAP(0x45, 0x43, 0x6FB1) /* <CJK */
+MAP(0x45, 0x44, 0x7530) /* <CJK */
+MAP(0x45, 0x45, 0x96FB) /* <CJK */
+MAP(0x45, 0x46, 0x514E) /* <CJK */
+MAP(0x45, 0x47, 0x5410) /* <CJK */
+MAP(0x45, 0x48, 0x5835) /* <CJK */
+MAP(0x45, 0x49, 0x5857) /* <CJK */
+MAP(0x45, 0x4A, 0x59AC) /* <CJK */
+MAP(0x45, 0x4B, 0x5C60) /* <CJK */
+MAP(0x45, 0x4C, 0x5F92) /* <CJK */
+MAP(0x45, 0x4D, 0x6597) /* <CJK */
+MAP(0x45, 0x4E, 0x675C) /* <CJK */
+MAP(0x45, 0x4F, 0x6E21) /* <CJK */
+MAP(0x45, 0x50, 0x767B) /* <CJK */
+MAP(0x45, 0x51, 0x83DF) /* <CJK */
+MAP(0x45, 0x52, 0x8CED) /* <CJK */
+MAP(0x45, 0x53, 0x9014) /* <CJK */
+MAP(0x45, 0x54, 0x90FD) /* <CJK */
+MAP(0x45, 0x55, 0x934D) /* <CJK */
+MAP(0x45, 0x56, 0x7825) /* <CJK */
+MAP(0x45, 0x57, 0x783A) /* <CJK */
+MAP(0x45, 0x58, 0x52AA) /* <CJK */
+MAP(0x45, 0x59, 0x5EA6) /* <CJK */
+MAP(0x45, 0x5A, 0x571F) /* <CJK */
+MAP(0x45, 0x5B, 0x5974) /* <CJK */
+MAP(0x45, 0x5C, 0x6012) /* <CJK */
+MAP(0x45, 0x5D, 0x5012) /* <CJK */
+MAP(0x45, 0x5E, 0x515A) /* <CJK */
+MAP(0x45, 0x5F, 0x51AC) /* <CJK */
+MAP(0x45, 0x60, 0x51CD) /* <CJK */
+MAP(0x45, 0x61, 0x5200) /* <CJK */
+MAP(0x45, 0x62, 0x5510) /* <CJK */
+MAP(0x45, 0x63, 0x5854) /* <CJK */
+MAP(0x45, 0x64, 0x5858) /* <CJK */
+MAP(0x45, 0x65, 0x5957) /* <CJK */
+MAP(0x45, 0x66, 0x5B95) /* <CJK */
+MAP(0x45, 0x67, 0x5CF6) /* <CJK */
+MAP(0x45, 0x68, 0x5D8B) /* <CJK */
+MAP(0x45, 0x69, 0x60BC) /* <CJK */
+MAP(0x45, 0x6A, 0x6295) /* <CJK */
+MAP(0x45, 0x6B, 0x642D) /* <CJK */
+MAP(0x45, 0x6C, 0x6771) /* <CJK */
+MAP(0x45, 0x6D, 0x6843) /* <CJK */
+MAP(0x45, 0x6E, 0x68BC) /* <CJK */
+MAP(0x45, 0x6F, 0x68DF) /* <CJK */
+MAP(0x45, 0x70, 0x76D7) /* <CJK */
+MAP(0x45, 0x71, 0x6DD8) /* <CJK */
+MAP(0x45, 0x72, 0x6E6F) /* <CJK */
+MAP(0x45, 0x73, 0x6D9B) /* <CJK */
+MAP(0x45, 0x74, 0x706F) /* <CJK */
+MAP(0x45, 0x75, 0x71C8) /* <CJK */
+MAP(0x45, 0x76, 0x5F53) /* <CJK */
+MAP(0x45, 0x77, 0x75D8) /* <CJK */
+MAP(0x45, 0x78, 0x7977) /* <CJK */
+MAP(0x45, 0x79, 0x7B49) /* <CJK */
+MAP(0x45, 0x7A, 0x7B54) /* <CJK */
+MAP(0x45, 0x7B, 0x7B52) /* <CJK */
+MAP(0x45, 0x7C, 0x7CD6) /* <CJK */
+MAP(0x45, 0x7D, 0x7D71) /* <CJK */
+MAP(0x45, 0x7E, 0x5230) /* <CJK */
+MAP(0x46, 0x21, 0x8463) /* <CJK */
+MAP(0x46, 0x22, 0x8569) /* <CJK */
+MAP(0x46, 0x23, 0x85E4) /* <CJK */
+MAP(0x46, 0x24, 0x8A0E) /* <CJK */
+MAP(0x46, 0x25, 0x8B04) /* <CJK */
+MAP(0x46, 0x26, 0x8C46) /* <CJK */
+MAP(0x46, 0x27, 0x8E0F) /* <CJK */
+MAP(0x46, 0x28, 0x9003) /* <CJK */
+MAP(0x46, 0x29, 0x900F) /* <CJK */
+MAP(0x46, 0x2A, 0x9419) /* <CJK */
+MAP(0x46, 0x2B, 0x9676) /* <CJK */
+MAP(0x46, 0x2C, 0x982D) /* <CJK */
+MAP(0x46, 0x2D, 0x9A30) /* <CJK */
+MAP(0x46, 0x2E, 0x95D8) /* <CJK */
+MAP(0x46, 0x2F, 0x50CD) /* <CJK */
+MAP(0x46, 0x30, 0x52D5) /* <CJK */
+MAP(0x46, 0x31, 0x540C) /* <CJK */
+MAP(0x46, 0x32, 0x5802) /* <CJK */
+MAP(0x46, 0x33, 0x5C0E) /* <CJK */
+MAP(0x46, 0x34, 0x61A7) /* <CJK */
+MAP(0x46, 0x35, 0x649E) /* <CJK */
+MAP(0x46, 0x36, 0x6D1E) /* <CJK */
+MAP(0x46, 0x37, 0x77B3) /* <CJK */
+MAP(0x46, 0x38, 0x7AE5) /* <CJK */
+MAP(0x46, 0x39, 0x80F4) /* <CJK */
+MAP(0x46, 0x3A, 0x8404) /* <CJK */
+MAP(0x46, 0x3B, 0x9053) /* <CJK */
+MAP(0x46, 0x3C, 0x9285) /* <CJK */
+MAP(0x46, 0x3D, 0x5CE0) /* <CJK */
+MAP(0x46, 0x3E, 0x9D07) /* <CJK */
+MAP(0x46, 0x3F, 0x533F) /* <CJK */
+MAP(0x46, 0x40, 0x5F97) /* <CJK */
+MAP(0x46, 0x41, 0x5FB3) /* <CJK */
+MAP(0x46, 0x42, 0x6D9C) /* <CJK */
+MAP(0x46, 0x43, 0x7279) /* <CJK */
+MAP(0x46, 0x44, 0x7763) /* <CJK */
+MAP(0x46, 0x45, 0x79BF) /* <CJK */
+MAP(0x46, 0x46, 0x7BE4) /* <CJK */
+MAP(0x46, 0x47, 0x6BD2) /* <CJK */
+MAP(0x46, 0x48, 0x72EC) /* <CJK */
+MAP(0x46, 0x49, 0x8AAD) /* <CJK */
+MAP(0x46, 0x4A, 0x6803) /* <CJK */
+MAP(0x46, 0x4B, 0x6A61) /* <CJK */
+MAP(0x46, 0x4C, 0x51F8) /* <CJK */
+MAP(0x46, 0x4D, 0x7A81) /* <CJK */
+MAP(0x46, 0x4E, 0x6934) /* <CJK */
+MAP(0x46, 0x4F, 0x5C4A) /* <CJK */
+MAP(0x46, 0x50, 0x9CF6) /* <CJK */
+MAP(0x46, 0x51, 0x82EB) /* <CJK */
+MAP(0x46, 0x52, 0x5BC5) /* <CJK */
+MAP(0x46, 0x53, 0x9149) /* <CJK */
+MAP(0x46, 0x54, 0x701E) /* <CJK */
+MAP(0x46, 0x55, 0x5678) /* <CJK */
+MAP(0x46, 0x56, 0x5C6F) /* <CJK */
+MAP(0x46, 0x57, 0x60C7) /* <CJK */
+MAP(0x46, 0x58, 0x6566) /* <CJK */
+MAP(0x46, 0x59, 0x6C8C) /* <CJK */
+MAP(0x46, 0x5A, 0x8C5A) /* <CJK */
+MAP(0x46, 0x5B, 0x9041) /* <CJK */
+MAP(0x46, 0x5C, 0x9813) /* <CJK */
+MAP(0x46, 0x5D, 0x5451) /* <CJK */
+MAP(0x46, 0x5E, 0x66C7) /* <CJK */
+MAP(0x46, 0x5F, 0x920D) /* <CJK */
+MAP(0x46, 0x60, 0x5948) /* <CJK */
+MAP(0x46, 0x61, 0x90A3) /* <CJK */
+MAP(0x46, 0x62, 0x5185) /* <CJK */
+MAP(0x46, 0x63, 0x4E4D) /* <CJK */
+MAP(0x46, 0x64, 0x51EA) /* <CJK */
+MAP(0x46, 0x65, 0x8599) /* <CJK */
+MAP(0x46, 0x66, 0x8B0E) /* <CJK */
+MAP(0x46, 0x67, 0x7058) /* <CJK */
+MAP(0x46, 0x68, 0x637A) /* <CJK */
+MAP(0x46, 0x69, 0x934B) /* <CJK */
+MAP(0x46, 0x6A, 0x6962) /* <CJK */
+MAP(0x46, 0x6B, 0x99B4) /* <CJK */
+MAP(0x46, 0x6C, 0x7E04) /* <CJK */
+MAP(0x46, 0x6D, 0x7577) /* <CJK */
+MAP(0x46, 0x6E, 0x5357) /* <CJK */
+MAP(0x46, 0x6F, 0x6960) /* <CJK */
+MAP(0x46, 0x70, 0x8EDF) /* <CJK */
+MAP(0x46, 0x71, 0x96E3) /* <CJK */
+MAP(0x46, 0x72, 0x6C5D) /* <CJK */
+MAP(0x46, 0x73, 0x4E8C) /* <CJK */
+MAP(0x46, 0x74, 0x5C3C) /* <CJK */
+MAP(0x46, 0x75, 0x5F10) /* <CJK */
+MAP(0x46, 0x76, 0x8FE9) /* <CJK */
+MAP(0x46, 0x77, 0x5302) /* <CJK */
+MAP(0x46, 0x78, 0x8CD1) /* <CJK */
+MAP(0x46, 0x79, 0x8089) /* <CJK */
+MAP(0x46, 0x7A, 0x8679) /* <CJK */
+MAP(0x46, 0x7B, 0x5EFF) /* <CJK */
+MAP(0x46, 0x7C, 0x65E5) /* <CJK */
+MAP(0x46, 0x7D, 0x4E73) /* <CJK */
+MAP(0x46, 0x7E, 0x5165) /* <CJK */
+MAP(0x47, 0x21, 0x5982) /* <CJK */
+MAP(0x47, 0x22, 0x5C3F) /* <CJK */
+MAP(0x47, 0x23, 0x97EE) /* <CJK */
+MAP(0x47, 0x24, 0x4EFB) /* <CJK */
+MAP(0x47, 0x25, 0x598A) /* <CJK */
+MAP(0x47, 0x26, 0x5FCD) /* <CJK */
+MAP(0x47, 0x27, 0x8A8D) /* <CJK */
+MAP(0x47, 0x28, 0x6FE1) /* <CJK */
+MAP(0x47, 0x29, 0x79B0) /* <CJK */
+MAP(0x47, 0x2A, 0x7962) /* <CJK */
+MAP(0x47, 0x2B, 0x5BE7) /* <CJK */
+MAP(0x47, 0x2C, 0x8471) /* <CJK */
+MAP(0x47, 0x2D, 0x732B) /* <CJK */
+MAP(0x47, 0x2E, 0x71B1) /* <CJK */
+MAP(0x47, 0x2F, 0x5E74) /* <CJK */
+MAP(0x47, 0x30, 0x5FF5) /* <CJK */
+MAP(0x47, 0x31, 0x637B) /* <CJK */
+MAP(0x47, 0x32, 0x649A) /* <CJK */
+MAP(0x47, 0x33, 0x71C3) /* <CJK */
+MAP(0x47, 0x34, 0x7C98) /* <CJK */
+MAP(0x47, 0x35, 0x4E43) /* <CJK */
+MAP(0x47, 0x36, 0x5EFC) /* <CJK */
+MAP(0x47, 0x37, 0x4E4B) /* <CJK */
+MAP(0x47, 0x38, 0x57DC) /* <CJK */
+MAP(0x47, 0x39, 0x56A2) /* <CJK */
+MAP(0x47, 0x3A, 0x60A9) /* <CJK */
+MAP(0x47, 0x3B, 0x6FC3) /* <CJK */
+MAP(0x47, 0x3C, 0x7D0D) /* <CJK */
+MAP(0x47, 0x3D, 0x80FD) /* <CJK */
+MAP(0x47, 0x3E, 0x8133) /* <CJK */
+MAP(0x47, 0x3F, 0x81BF) /* <CJK */
+MAP(0x47, 0x40, 0x8FB2) /* <CJK */
+MAP(0x47, 0x41, 0x8997) /* <CJK */
+MAP(0x47, 0x42, 0x86A4) /* <CJK */
+MAP(0x47, 0x43, 0x5DF4) /* <CJK */
+MAP(0x47, 0x44, 0x628A) /* <CJK */
+MAP(0x47, 0x45, 0x64AD) /* <CJK */
+MAP(0x47, 0x46, 0x8987) /* <CJK */
+MAP(0x47, 0x47, 0x6777) /* <CJK */
+MAP(0x47, 0x48, 0x6CE2) /* <CJK */
+MAP(0x47, 0x49, 0x6D3E) /* <CJK */
+MAP(0x47, 0x4A, 0x7436) /* <CJK */
+MAP(0x47, 0x4B, 0x7834) /* <CJK */
+MAP(0x47, 0x4C, 0x5A46) /* <CJK */
+MAP(0x47, 0x4D, 0x7F75) /* <CJK */
+MAP(0x47, 0x4E, 0x82AD) /* <CJK */
+MAP(0x47, 0x4F, 0x99AC) /* <CJK */
+MAP(0x47, 0x50, 0x4FF3) /* <CJK */
+MAP(0x47, 0x51, 0x5EC3) /* <CJK */
+MAP(0x47, 0x52, 0x62DD) /* <CJK */
+MAP(0x47, 0x53, 0x6392) /* <CJK */
+MAP(0x47, 0x54, 0x6557) /* <CJK */
+MAP(0x47, 0x55, 0x676F) /* <CJK */
+MAP(0x47, 0x56, 0x76C3) /* <CJK */
+MAP(0x47, 0x57, 0x724C) /* <CJK */
+MAP(0x47, 0x58, 0x80CC) /* <CJK */
+MAP(0x47, 0x59, 0x80BA) /* <CJK */
+MAP(0x47, 0x5A, 0x8F29) /* <CJK */
+MAP(0x47, 0x5B, 0x914D) /* <CJK */
+MAP(0x47, 0x5C, 0x500D) /* <CJK */
+MAP(0x47, 0x5D, 0x57F9) /* <CJK */
+MAP(0x47, 0x5E, 0x5A92) /* <CJK */
+MAP(0x47, 0x5F, 0x6885) /* <CJK */
+MAP(0x47, 0x60, 0x6973) /* <CJK */
+MAP(0x47, 0x61, 0x7164) /* <CJK */
+MAP(0x47, 0x62, 0x72FD) /* <CJK */
+MAP(0x47, 0x63, 0x8CB7) /* <CJK */
+MAP(0x47, 0x64, 0x58F2) /* <CJK */
+MAP(0x47, 0x65, 0x8CE0) /* <CJK */
+MAP(0x47, 0x66, 0x966A) /* <CJK */
+MAP(0x47, 0x67, 0x9019) /* <CJK */
+MAP(0x47, 0x68, 0x877F) /* <CJK */
+MAP(0x47, 0x69, 0x79E4) /* <CJK */
+MAP(0x47, 0x6A, 0x77E7) /* <CJK */
+MAP(0x47, 0x6B, 0x8429) /* <CJK */
+MAP(0x47, 0x6C, 0x4F2F) /* <CJK */
+MAP(0x47, 0x6D, 0x5265) /* <CJK */
+MAP(0x47, 0x6E, 0x535A) /* <CJK */
+MAP(0x47, 0x6F, 0x62CD) /* <CJK */
+MAP(0x47, 0x70, 0x67CF) /* <CJK */
+MAP(0x47, 0x71, 0x6CCA) /* <CJK */
+MAP(0x47, 0x72, 0x767D) /* <CJK */
+MAP(0x47, 0x73, 0x7B94) /* <CJK */
+MAP(0x47, 0x74, 0x7C95) /* <CJK */
+MAP(0x47, 0x75, 0x8236) /* <CJK */
+MAP(0x47, 0x76, 0x8584) /* <CJK */
+MAP(0x47, 0x77, 0x8FEB) /* <CJK */
+MAP(0x47, 0x78, 0x66DD) /* <CJK */
+MAP(0x47, 0x79, 0x6F20) /* <CJK */
+MAP(0x47, 0x7A, 0x7206) /* <CJK */
+MAP(0x47, 0x7B, 0x7E1B) /* <CJK */
+MAP(0x47, 0x7C, 0x83AB) /* <CJK */
+MAP(0x47, 0x7D, 0x99C1) /* <CJK */
+MAP(0x47, 0x7E, 0x9EA6) /* <CJK */
+MAP(0x48, 0x21, 0x51FD) /* <CJK */
+MAP(0x48, 0x22, 0x7BB1) /* <CJK */
+MAP(0x48, 0x23, 0x7872) /* <CJK */
+MAP(0x48, 0x24, 0x7BB8) /* <CJK */
+MAP(0x48, 0x25, 0x8087) /* <CJK */
+MAP(0x48, 0x26, 0x7B48) /* <CJK */
+MAP(0x48, 0x27, 0x6AE8) /* <CJK */
+MAP(0x48, 0x28, 0x5E61) /* <CJK */
+MAP(0x48, 0x29, 0x808C) /* <CJK */
+MAP(0x48, 0x2A, 0x7551) /* <CJK */
+MAP(0x48, 0x2B, 0x7560) /* <CJK */
+MAP(0x48, 0x2C, 0x516B) /* <CJK */
+MAP(0x48, 0x2D, 0x9262) /* <CJK */
+MAP(0x48, 0x2E, 0x6E8C) /* <CJK */
+MAP(0x48, 0x2F, 0x767A) /* <CJK */
+MAP(0x48, 0x30, 0x9197) /* <CJK */
+MAP(0x48, 0x31, 0x9AEA) /* <CJK */
+MAP(0x48, 0x32, 0x4F10) /* <CJK */
+MAP(0x48, 0x33, 0x7F70) /* <CJK */
+MAP(0x48, 0x34, 0x629C) /* <CJK */
+MAP(0x48, 0x35, 0x7B4F) /* <CJK */
+MAP(0x48, 0x36, 0x95A5) /* <CJK */
+MAP(0x48, 0x37, 0x9CE9) /* <CJK */
+MAP(0x48, 0x38, 0x567A) /* <CJK */
+MAP(0x48, 0x39, 0x5859) /* <CJK */
+MAP(0x48, 0x3A, 0x86E4) /* <CJK */
+MAP(0x48, 0x3B, 0x96BC) /* <CJK */
+MAP(0x48, 0x3C, 0x4F34) /* <CJK */
+MAP(0x48, 0x3D, 0x5224) /* <CJK */
+MAP(0x48, 0x3E, 0x534A) /* <CJK */
+MAP(0x48, 0x3F, 0x53CD) /* <CJK */
+MAP(0x48, 0x40, 0x53DB) /* <CJK */
+MAP(0x48, 0x41, 0x5E06) /* <CJK */
+MAP(0x48, 0x42, 0x642C) /* <CJK */
+MAP(0x48, 0x43, 0x6591) /* <CJK */
+MAP(0x48, 0x44, 0x677F) /* <CJK */
+MAP(0x48, 0x45, 0x6C3E) /* <CJK */
+MAP(0x48, 0x46, 0x6C4E) /* <CJK */
+MAP(0x48, 0x47, 0x7248) /* <CJK */
+MAP(0x48, 0x48, 0x72AF) /* <CJK */
+MAP(0x48, 0x49, 0x73ED) /* <CJK */
+MAP(0x48, 0x4A, 0x7554) /* <CJK */
+MAP(0x48, 0x4B, 0x7E41) /* <CJK */
+MAP(0x48, 0x4C, 0x822C) /* <CJK */
+MAP(0x48, 0x4D, 0x85E9) /* <CJK */
+MAP(0x48, 0x4E, 0x8CA9) /* <CJK */
+MAP(0x48, 0x4F, 0x7BC4) /* <CJK */
+MAP(0x48, 0x50, 0x91C6) /* <CJK */
+MAP(0x48, 0x51, 0x7169) /* <CJK */
+MAP(0x48, 0x52, 0x9812) /* <CJK */
+MAP(0x48, 0x53, 0x98EF) /* <CJK */
+MAP(0x48, 0x54, 0x633D) /* <CJK */
+MAP(0x48, 0x55, 0x6669) /* <CJK */
+MAP(0x48, 0x56, 0x756A) /* <CJK */
+MAP(0x48, 0x57, 0x76E4) /* <CJK */
+MAP(0x48, 0x58, 0x78D0) /* <CJK */
+MAP(0x48, 0x59, 0x8543) /* <CJK */
+MAP(0x48, 0x5A, 0x86EE) /* <CJK */
+MAP(0x48, 0x5B, 0x532A) /* <CJK */
+MAP(0x48, 0x5C, 0x5351) /* <CJK */
+MAP(0x48, 0x5D, 0x5426) /* <CJK */
+MAP(0x48, 0x5E, 0x5983) /* <CJK */
+MAP(0x48, 0x5F, 0x5E87) /* <CJK */
+MAP(0x48, 0x60, 0x5F7C) /* <CJK */
+MAP(0x48, 0x61, 0x60B2) /* <CJK */
+MAP(0x48, 0x62, 0x6249) /* <CJK */
+MAP(0x48, 0x63, 0x6279) /* <CJK */
+MAP(0x48, 0x64, 0x62AB) /* <CJK */
+MAP(0x48, 0x65, 0x6590) /* <CJK */
+MAP(0x48, 0x66, 0x6BD4) /* <CJK */
+MAP(0x48, 0x67, 0x6CCC) /* <CJK */
+MAP(0x48, 0x68, 0x75B2) /* <CJK */
+MAP(0x48, 0x69, 0x76AE) /* <CJK */
+MAP(0x48, 0x6A, 0x7891) /* <CJK */
+MAP(0x48, 0x6B, 0x79D8) /* <CJK */
+MAP(0x48, 0x6C, 0x7DCB) /* <CJK */
+MAP(0x48, 0x6D, 0x7F77) /* <CJK */
+MAP(0x48, 0x6E, 0x80A5) /* <CJK */
+MAP(0x48, 0x6F, 0x88AB) /* <CJK */
+MAP(0x48, 0x70, 0x8AB9) /* <CJK */
+MAP(0x48, 0x71, 0x8CBB) /* <CJK */
+MAP(0x48, 0x72, 0x907F) /* <CJK */
+MAP(0x48, 0x73, 0x975E) /* <CJK */
+MAP(0x48, 0x74, 0x98DB) /* <CJK */
+MAP(0x48, 0x75, 0x6A0B) /* <CJK */
+MAP(0x48, 0x76, 0x7C38) /* <CJK */
+MAP(0x48, 0x77, 0x5099) /* <CJK */
+MAP(0x48, 0x78, 0x5C3E) /* <CJK */
+MAP(0x48, 0x79, 0x5FAE) /* <CJK */
+MAP(0x48, 0x7A, 0x6787) /* <CJK */
+MAP(0x48, 0x7B, 0x6BD8) /* <CJK */
+MAP(0x48, 0x7C, 0x7435) /* <CJK */
+MAP(0x48, 0x7D, 0x7709) /* <CJK */
+MAP(0x48, 0x7E, 0x7F8E) /* <CJK */
+MAP(0x49, 0x21, 0x9F3B) /* <CJK */
+MAP(0x49, 0x22, 0x67CA) /* <CJK */
+MAP(0x49, 0x23, 0x7A17) /* <CJK */
+MAP(0x49, 0x24, 0x5339) /* <CJK */
+MAP(0x49, 0x25, 0x758B) /* <CJK */
+MAP(0x49, 0x26, 0x9AED) /* <CJK */
+MAP(0x49, 0x27, 0x5F66) /* <CJK */
+MAP(0x49, 0x28, 0x819D) /* <CJK */
+MAP(0x49, 0x29, 0x83F1) /* <CJK */
+MAP(0x49, 0x2A, 0x8098) /* <CJK */
+MAP(0x49, 0x2B, 0x5F3C) /* <CJK */
+MAP(0x49, 0x2C, 0x5FC5) /* <CJK */
+MAP(0x49, 0x2D, 0x7562) /* <CJK */
+MAP(0x49, 0x2E, 0x7B46) /* <CJK */
+MAP(0x49, 0x2F, 0x903C) /* <CJK */
+MAP(0x49, 0x30, 0x6867) /* <CJK */
+MAP(0x49, 0x31, 0x59EB) /* <CJK */
+MAP(0x49, 0x32, 0x5A9B) /* <CJK */
+MAP(0x49, 0x33, 0x7D10) /* <CJK */
+MAP(0x49, 0x34, 0x767E) /* <CJK */
+MAP(0x49, 0x35, 0x8B2C) /* <CJK */
+MAP(0x49, 0x36, 0x4FF5) /* <CJK */
+MAP(0x49, 0x37, 0x5F6A) /* <CJK */
+MAP(0x49, 0x38, 0x6A19) /* <CJK */
+MAP(0x49, 0x39, 0x6C37) /* <CJK */
+MAP(0x49, 0x3A, 0x6F02) /* <CJK */
+MAP(0x49, 0x3B, 0x74E2) /* <CJK */
+MAP(0x49, 0x3C, 0x7968) /* <CJK */
+MAP(0x49, 0x3D, 0x8868) /* <CJK */
+MAP(0x49, 0x3E, 0x8A55) /* <CJK */
+MAP(0x49, 0x3F, 0x8C79) /* <CJK */
+MAP(0x49, 0x40, 0x5EDF) /* <CJK */
+MAP(0x49, 0x41, 0x63CF) /* <CJK */
+MAP(0x49, 0x42, 0x75C5) /* <CJK */
+MAP(0x49, 0x43, 0x79D2) /* <CJK */
+MAP(0x49, 0x44, 0x82D7) /* <CJK */
+MAP(0x49, 0x45, 0x9328) /* <CJK */
+MAP(0x49, 0x46, 0x92F2) /* <CJK */
+MAP(0x49, 0x47, 0x849C) /* <CJK */
+MAP(0x49, 0x48, 0x86ED) /* <CJK */
+MAP(0x49, 0x49, 0x9C2D) /* <CJK */
+MAP(0x49, 0x4A, 0x54C1) /* <CJK */
+MAP(0x49, 0x4B, 0x5F6C) /* <CJK */
+MAP(0x49, 0x4C, 0x658C) /* <CJK */
+MAP(0x49, 0x4D, 0x6D5C) /* <CJK */
+MAP(0x49, 0x4E, 0x7015) /* <CJK */
+MAP(0x49, 0x4F, 0x8CA7) /* <CJK */
+MAP(0x49, 0x50, 0x8CD3) /* <CJK */
+MAP(0x49, 0x51, 0x983B) /* <CJK */
+MAP(0x49, 0x52, 0x654F) /* <CJK */
+MAP(0x49, 0x53, 0x74F6) /* <CJK */
+MAP(0x49, 0x54, 0x4E0D) /* <CJK */
+MAP(0x49, 0x55, 0x4ED8) /* <CJK */
+MAP(0x49, 0x56, 0x57E0) /* <CJK */
+MAP(0x49, 0x57, 0x592B) /* <CJK */
+MAP(0x49, 0x58, 0x5A66) /* <CJK */
+MAP(0x49, 0x59, 0x5BCC) /* <CJK */
+MAP(0x49, 0x5A, 0x51A8) /* <CJK */
+MAP(0x49, 0x5B, 0x5E03) /* <CJK */
+MAP(0x49, 0x5C, 0x5E9C) /* <CJK */
+MAP(0x49, 0x5D, 0x6016) /* <CJK */
+MAP(0x49, 0x5E, 0x6276) /* <CJK */
+MAP(0x49, 0x5F, 0x6577) /* <CJK */
+MAP(0x49, 0x60, 0x65A7) /* <CJK */
+MAP(0x49, 0x61, 0x666E) /* <CJK */
+MAP(0x49, 0x62, 0x6D6E) /* <CJK */
+MAP(0x49, 0x63, 0x7236) /* <CJK */
+MAP(0x49, 0x64, 0x7B26) /* <CJK */
+MAP(0x49, 0x65, 0x8150) /* <CJK */
+MAP(0x49, 0x66, 0x819A) /* <CJK */
+MAP(0x49, 0x67, 0x8299) /* <CJK */
+MAP(0x49, 0x68, 0x8B5C) /* <CJK */
+MAP(0x49, 0x69, 0x8CA0) /* <CJK */
+MAP(0x49, 0x6A, 0x8CE6) /* <CJK */
+MAP(0x49, 0x6B, 0x8D74) /* <CJK */
+MAP(0x49, 0x6C, 0x961C) /* <CJK */
+MAP(0x49, 0x6D, 0x9644) /* <CJK */
+MAP(0x49, 0x6E, 0x4FAE) /* <CJK */
+MAP(0x49, 0x6F, 0x64AB) /* <CJK */
+MAP(0x49, 0x70, 0x6B66) /* <CJK */
+MAP(0x49, 0x71, 0x821E) /* <CJK */
+MAP(0x49, 0x72, 0x8461) /* <CJK */
+MAP(0x49, 0x73, 0x856A) /* <CJK */
+MAP(0x49, 0x74, 0x90E8) /* <CJK */
+MAP(0x49, 0x75, 0x5C01) /* <CJK */
+MAP(0x49, 0x76, 0x6953) /* <CJK */
+MAP(0x49, 0x77, 0x98A8) /* <CJK */
+MAP(0x49, 0x78, 0x847A) /* <CJK */
+MAP(0x49, 0x79, 0x8557) /* <CJK */
+MAP(0x49, 0x7A, 0x4F0F) /* <CJK */
+MAP(0x49, 0x7B, 0x526F) /* <CJK */
+MAP(0x49, 0x7C, 0x5FA9) /* <CJK */
+MAP(0x49, 0x7D, 0x5E45) /* <CJK */
+MAP(0x49, 0x7E, 0x670D) /* <CJK */
+MAP(0x4A, 0x21, 0x798F) /* <CJK */
+MAP(0x4A, 0x22, 0x8179) /* <CJK */
+MAP(0x4A, 0x23, 0x8907) /* <CJK */
+MAP(0x4A, 0x24, 0x8986) /* <CJK */
+MAP(0x4A, 0x25, 0x6DF5) /* <CJK */
+MAP(0x4A, 0x26, 0x5F17) /* <CJK */
+MAP(0x4A, 0x27, 0x6255) /* <CJK */
+MAP(0x4A, 0x28, 0x6CB8) /* <CJK */
+MAP(0x4A, 0x29, 0x4ECF) /* <CJK */
+MAP(0x4A, 0x2A, 0x7269) /* <CJK */
+MAP(0x4A, 0x2B, 0x9B92) /* <CJK */
+MAP(0x4A, 0x2C, 0x5206) /* <CJK */
+MAP(0x4A, 0x2D, 0x543B) /* <CJK */
+MAP(0x4A, 0x2E, 0x5674) /* <CJK */
+MAP(0x4A, 0x2F, 0x58B3) /* <CJK */
+MAP(0x4A, 0x30, 0x61A4) /* <CJK */
+MAP(0x4A, 0x31, 0x626E) /* <CJK */
+MAP(0x4A, 0x32, 0x711A) /* <CJK */
+MAP(0x4A, 0x33, 0x596E) /* <CJK */
+MAP(0x4A, 0x34, 0x7C89) /* <CJK */
+MAP(0x4A, 0x35, 0x7CDE) /* <CJK */
+MAP(0x4A, 0x36, 0x7D1B) /* <CJK */
+MAP(0x4A, 0x37, 0x96F0) /* <CJK */
+MAP(0x4A, 0x38, 0x6587) /* <CJK */
+MAP(0x4A, 0x39, 0x805E) /* <CJK */
+MAP(0x4A, 0x3A, 0x4E19) /* <CJK */
+MAP(0x4A, 0x3B, 0x4F75) /* <CJK */
+MAP(0x4A, 0x3C, 0x5175) /* <CJK */
+MAP(0x4A, 0x3D, 0x5840) /* <CJK */
+MAP(0x4A, 0x3E, 0x5E63) /* <CJK */
+MAP(0x4A, 0x3F, 0x5E73) /* <CJK */
+MAP(0x4A, 0x40, 0x5F0A) /* <CJK */
+MAP(0x4A, 0x41, 0x67C4) /* <CJK */
+MAP(0x4A, 0x42, 0x4E26) /* <CJK */
+MAP(0x4A, 0x43, 0x853D) /* <CJK */
+MAP(0x4A, 0x44, 0x9589) /* <CJK */
+MAP(0x4A, 0x45, 0x965B) /* <CJK */
+MAP(0x4A, 0x46, 0x7C73) /* <CJK */
+MAP(0x4A, 0x47, 0x9801) /* <CJK */
+MAP(0x4A, 0x48, 0x50FB) /* <CJK */
+MAP(0x4A, 0x49, 0x58C1) /* <CJK */
+MAP(0x4A, 0x4A, 0x7656) /* <CJK */
+MAP(0x4A, 0x4B, 0x78A7) /* <CJK */
+MAP(0x4A, 0x4C, 0x5225) /* <CJK */
+MAP(0x4A, 0x4D, 0x77A5) /* <CJK */
+MAP(0x4A, 0x4E, 0x8511) /* <CJK */
+MAP(0x4A, 0x4F, 0x7B86) /* <CJK */
+MAP(0x4A, 0x50, 0x504F) /* <CJK */
+MAP(0x4A, 0x51, 0x5909) /* <CJK */
+MAP(0x4A, 0x52, 0x7247) /* <CJK */
+MAP(0x4A, 0x53, 0x7BC7) /* <CJK */
+MAP(0x4A, 0x54, 0x7DE8) /* <CJK */
+MAP(0x4A, 0x55, 0x8FBA) /* <CJK */
+MAP(0x4A, 0x56, 0x8FD4) /* <CJK */
+MAP(0x4A, 0x57, 0x904D) /* <CJK */
+MAP(0x4A, 0x58, 0x4FBF) /* <CJK */
+MAP(0x4A, 0x59, 0x52C9) /* <CJK */
+MAP(0x4A, 0x5A, 0x5A29) /* <CJK */
+MAP(0x4A, 0x5B, 0x5F01) /* <CJK */
+MAP(0x4A, 0x5C, 0x97AD) /* <CJK */
+MAP(0x4A, 0x5D, 0x4FDD) /* <CJK */
+MAP(0x4A, 0x5E, 0x8217) /* <CJK */
+MAP(0x4A, 0x5F, 0x92EA) /* <CJK */
+MAP(0x4A, 0x60, 0x5703) /* <CJK */
+MAP(0x4A, 0x61, 0x6355) /* <CJK */
+MAP(0x4A, 0x62, 0x6B69) /* <CJK */
+MAP(0x4A, 0x63, 0x752B) /* <CJK */
+MAP(0x4A, 0x64, 0x88DC) /* <CJK */
+MAP(0x4A, 0x65, 0x8F14) /* <CJK */
+MAP(0x4A, 0x66, 0x7A42) /* <CJK */
+MAP(0x4A, 0x67, 0x52DF) /* <CJK */
+MAP(0x4A, 0x68, 0x5893) /* <CJK */
+MAP(0x4A, 0x69, 0x6155) /* <CJK */
+MAP(0x4A, 0x6A, 0x620A) /* <CJK */
+MAP(0x4A, 0x6B, 0x66AE) /* <CJK */
+MAP(0x4A, 0x6C, 0x6BCD) /* <CJK */
+MAP(0x4A, 0x6D, 0x7C3F) /* <CJK */
+MAP(0x4A, 0x6E, 0x83E9) /* <CJK */
+MAP(0x4A, 0x6F, 0x5023) /* <CJK */
+MAP(0x4A, 0x70, 0x4FF8) /* <CJK */
+MAP(0x4A, 0x71, 0x5305) /* <CJK */
+MAP(0x4A, 0x72, 0x5446) /* <CJK */
+MAP(0x4A, 0x73, 0x5831) /* <CJK */
+MAP(0x4A, 0x74, 0x5949) /* <CJK */
+MAP(0x4A, 0x75, 0x5B9D) /* <CJK */
+MAP(0x4A, 0x76, 0x5CF0) /* <CJK */
+MAP(0x4A, 0x77, 0x5CEF) /* <CJK */
+MAP(0x4A, 0x78, 0x5D29) /* <CJK */
+MAP(0x4A, 0x79, 0x5E96) /* <CJK */
+MAP(0x4A, 0x7A, 0x62B1) /* <CJK */
+MAP(0x4A, 0x7B, 0x6367) /* <CJK */
+MAP(0x4A, 0x7C, 0x653E) /* <CJK */
+MAP(0x4A, 0x7D, 0x65B9) /* <CJK */
+MAP(0x4A, 0x7E, 0x670B) /* <CJK */
+MAP(0x4B, 0x21, 0x6CD5) /* <CJK */
+MAP(0x4B, 0x22, 0x6CE1) /* <CJK */
+MAP(0x4B, 0x23, 0x70F9) /* <CJK */
+MAP(0x4B, 0x24, 0x7832) /* <CJK */
+MAP(0x4B, 0x25, 0x7E2B) /* <CJK */
+MAP(0x4B, 0x26, 0x80DE) /* <CJK */
+MAP(0x4B, 0x27, 0x82B3) /* <CJK */
+MAP(0x4B, 0x28, 0x840C) /* <CJK */
+MAP(0x4B, 0x29, 0x84EC) /* <CJK */
+MAP(0x4B, 0x2A, 0x8702) /* <CJK */
+MAP(0x4B, 0x2B, 0x8912) /* <CJK */
+MAP(0x4B, 0x2C, 0x8A2A) /* <CJK */
+MAP(0x4B, 0x2D, 0x8C4A) /* <CJK */
+MAP(0x4B, 0x2E, 0x90A6) /* <CJK */
+MAP(0x4B, 0x2F, 0x92D2) /* <CJK */
+MAP(0x4B, 0x30, 0x98FD) /* <CJK */
+MAP(0x4B, 0x31, 0x9CF3) /* <CJK */
+MAP(0x4B, 0x32, 0x9D6C) /* <CJK */
+MAP(0x4B, 0x33, 0x4E4F) /* <CJK */
+MAP(0x4B, 0x34, 0x4EA1) /* <CJK */
+MAP(0x4B, 0x35, 0x508D) /* <CJK */
+MAP(0x4B, 0x36, 0x5256) /* <CJK */
+MAP(0x4B, 0x37, 0x574A) /* <CJK */
+MAP(0x4B, 0x38, 0x59A8) /* <CJK */
+MAP(0x4B, 0x39, 0x5E3D) /* <CJK */
+MAP(0x4B, 0x3A, 0x5FD8) /* <CJK */
+MAP(0x4B, 0x3B, 0x5FD9) /* <CJK */
+MAP(0x4B, 0x3C, 0x623F) /* <CJK */
+MAP(0x4B, 0x3D, 0x66B4) /* <CJK */
+MAP(0x4B, 0x3E, 0x671B) /* <CJK */
+MAP(0x4B, 0x3F, 0x67D0) /* <CJK */
+MAP(0x4B, 0x40, 0x68D2) /* <CJK */
+MAP(0x4B, 0x41, 0x5192) /* <CJK */
+MAP(0x4B, 0x42, 0x7D21) /* <CJK */
+MAP(0x4B, 0x43, 0x80AA) /* <CJK */
+MAP(0x4B, 0x44, 0x81A8) /* <CJK */
+MAP(0x4B, 0x45, 0x8B00) /* <CJK */
+MAP(0x4B, 0x46, 0x8C8C) /* <CJK */
+MAP(0x4B, 0x47, 0x8CBF) /* <CJK */
+MAP(0x4B, 0x48, 0x927E) /* <CJK */
+MAP(0x4B, 0x49, 0x9632) /* <CJK */
+MAP(0x4B, 0x4A, 0x5420) /* <CJK */
+MAP(0x4B, 0x4B, 0x982C) /* <CJK */
+MAP(0x4B, 0x4C, 0x5317) /* <CJK */
+MAP(0x4B, 0x4D, 0x50D5) /* <CJK */
+MAP(0x4B, 0x4E, 0x535C) /* <CJK */
+MAP(0x4B, 0x4F, 0x58A8) /* <CJK */
+MAP(0x4B, 0x50, 0x64B2) /* <CJK */
+MAP(0x4B, 0x51, 0x6734) /* <CJK */
+MAP(0x4B, 0x52, 0x7267) /* <CJK */
+MAP(0x4B, 0x53, 0x7766) /* <CJK */
+MAP(0x4B, 0x54, 0x7A46) /* <CJK */
+MAP(0x4B, 0x55, 0x91E6) /* <CJK */
+MAP(0x4B, 0x56, 0x52C3) /* <CJK */
+MAP(0x4B, 0x57, 0x6CA1) /* <CJK */
+MAP(0x4B, 0x58, 0x6B86) /* <CJK */
+MAP(0x4B, 0x59, 0x5800) /* <CJK */
+MAP(0x4B, 0x5A, 0x5E4C) /* <CJK */
+MAP(0x4B, 0x5B, 0x5954) /* <CJK */
+MAP(0x4B, 0x5C, 0x672C) /* <CJK */
+MAP(0x4B, 0x5D, 0x7FFB) /* <CJK */
+MAP(0x4B, 0x5E, 0x51E1) /* <CJK */
+MAP(0x4B, 0x5F, 0x76C6) /* <CJK */
+MAP(0x4B, 0x60, 0x6469) /* <CJK */
+MAP(0x4B, 0x61, 0x78E8) /* <CJK */
+MAP(0x4B, 0x62, 0x9B54) /* <CJK */
+MAP(0x4B, 0x63, 0x9EBB) /* <CJK */
+MAP(0x4B, 0x64, 0x57CB) /* <CJK */
+MAP(0x4B, 0x65, 0x59B9) /* <CJK */
+MAP(0x4B, 0x66, 0x6627) /* <CJK */
+MAP(0x4B, 0x67, 0x679A) /* <CJK */
+MAP(0x4B, 0x68, 0x6BCE) /* <CJK */
+MAP(0x4B, 0x69, 0x54E9) /* <CJK */
+MAP(0x4B, 0x6A, 0x69D9) /* <CJK */
+MAP(0x4B, 0x6B, 0x5E55) /* <CJK */
+MAP(0x4B, 0x6C, 0x819C) /* <CJK */
+MAP(0x4B, 0x6D, 0x6795) /* <CJK */
+MAP(0x4B, 0x6E, 0x9BAA) /* <CJK */
+MAP(0x4B, 0x6F, 0x67FE) /* <CJK */
+MAP(0x4B, 0x70, 0x9C52) /* <CJK */
+MAP(0x4B, 0x71, 0x685D) /* <CJK */
+MAP(0x4B, 0x72, 0x4EA6) /* <CJK */
+MAP(0x4B, 0x73, 0x4FE3) /* <CJK */
+MAP(0x4B, 0x74, 0x53C8) /* <CJK */
+MAP(0x4B, 0x75, 0x62B9) /* <CJK */
+MAP(0x4B, 0x76, 0x672B) /* <CJK */
+MAP(0x4B, 0x77, 0x6CAB) /* <CJK */
+MAP(0x4B, 0x78, 0x8FC4) /* <CJK */
+MAP(0x4B, 0x79, 0x4FAD) /* <CJK */
+MAP(0x4B, 0x7A, 0x7E6D) /* <CJK */
+MAP(0x4B, 0x7B, 0x9EBF) /* <CJK */
+MAP(0x4B, 0x7C, 0x4E07) /* <CJK */
+MAP(0x4B, 0x7D, 0x6162) /* <CJK */
+MAP(0x4B, 0x7E, 0x6E80) /* <CJK */
+MAP(0x4C, 0x21, 0x6F2B) /* <CJK */
+MAP(0x4C, 0x22, 0x8513) /* <CJK */
+MAP(0x4C, 0x23, 0x5473) /* <CJK */
+MAP(0x4C, 0x24, 0x672A) /* <CJK */
+MAP(0x4C, 0x25, 0x9B45) /* <CJK */
+MAP(0x4C, 0x26, 0x5DF3) /* <CJK */
+MAP(0x4C, 0x27, 0x7B95) /* <CJK */
+MAP(0x4C, 0x28, 0x5CAC) /* <CJK */
+MAP(0x4C, 0x29, 0x5BC6) /* <CJK */
+MAP(0x4C, 0x2A, 0x871C) /* <CJK */
+MAP(0x4C, 0x2B, 0x6E4A) /* <CJK */
+MAP(0x4C, 0x2C, 0x84D1) /* <CJK */
+MAP(0x4C, 0x2D, 0x7A14) /* <CJK */
+MAP(0x4C, 0x2E, 0x8108) /* <CJK */
+MAP(0x4C, 0x2F, 0x5999) /* <CJK */
+MAP(0x4C, 0x30, 0x7C8D) /* <CJK */
+MAP(0x4C, 0x31, 0x6C11) /* <CJK */
+MAP(0x4C, 0x32, 0x7720) /* <CJK */
+MAP(0x4C, 0x33, 0x52D9) /* <CJK */
+MAP(0x4C, 0x34, 0x5922) /* <CJK */
+MAP(0x4C, 0x35, 0x7121) /* <CJK */
+MAP(0x4C, 0x36, 0x725F) /* <CJK */
+MAP(0x4C, 0x37, 0x77DB) /* <CJK */
+MAP(0x4C, 0x38, 0x9727) /* <CJK */
+MAP(0x4C, 0x39, 0x9D61) /* <CJK */
+MAP(0x4C, 0x3A, 0x690B) /* <CJK */
+MAP(0x4C, 0x3B, 0x5A7F) /* <CJK */
+MAP(0x4C, 0x3C, 0x5A18) /* <CJK */
+MAP(0x4C, 0x3D, 0x51A5) /* <CJK */
+MAP(0x4C, 0x3E, 0x540D) /* <CJK */
+MAP(0x4C, 0x3F, 0x547D) /* <CJK */
+MAP(0x4C, 0x40, 0x660E) /* <CJK */
+MAP(0x4C, 0x41, 0x76DF) /* <CJK */
+MAP(0x4C, 0x42, 0x8FF7) /* <CJK */
+MAP(0x4C, 0x43, 0x9298) /* <CJK */
+MAP(0x4C, 0x44, 0x9CF4) /* <CJK */
+MAP(0x4C, 0x45, 0x59EA) /* <CJK */
+MAP(0x4C, 0x46, 0x725D) /* <CJK */
+MAP(0x4C, 0x47, 0x6EC5) /* <CJK */
+MAP(0x4C, 0x48, 0x514D) /* <CJK */
+MAP(0x4C, 0x49, 0x68C9) /* <CJK */
+MAP(0x4C, 0x4A, 0x7DBF) /* <CJK */
+MAP(0x4C, 0x4B, 0x7DEC) /* <CJK */
+MAP(0x4C, 0x4C, 0x9762) /* <CJK */
+MAP(0x4C, 0x4D, 0x9EBA) /* <CJK */
+MAP(0x4C, 0x4E, 0x6478) /* <CJK */
+MAP(0x4C, 0x4F, 0x6A21) /* <CJK */
+MAP(0x4C, 0x50, 0x8302) /* <CJK */
+MAP(0x4C, 0x51, 0x5984) /* <CJK */
+MAP(0x4C, 0x52, 0x5B5F) /* <CJK */
+MAP(0x4C, 0x53, 0x6BDB) /* <CJK */
+MAP(0x4C, 0x54, 0x731B) /* <CJK */
+MAP(0x4C, 0x55, 0x76F2) /* <CJK */
+MAP(0x4C, 0x56, 0x7DB2) /* <CJK */
+MAP(0x4C, 0x57, 0x8017) /* <CJK */
+MAP(0x4C, 0x58, 0x8499) /* <CJK */
+MAP(0x4C, 0x59, 0x5132) /* <CJK */
+MAP(0x4C, 0x5A, 0x6728) /* <CJK */
+MAP(0x4C, 0x5B, 0x9ED9) /* <CJK */
+MAP(0x4C, 0x5C, 0x76EE) /* <CJK */
+MAP(0x4C, 0x5D, 0x6762) /* <CJK */
+MAP(0x4C, 0x5E, 0x52FF) /* <CJK */
+MAP(0x4C, 0x5F, 0x9905) /* <CJK */
+MAP(0x4C, 0x60, 0x5C24) /* <CJK */
+MAP(0x4C, 0x61, 0x623B) /* <CJK */
+MAP(0x4C, 0x62, 0x7C7E) /* <CJK */
+MAP(0x4C, 0x63, 0x8CB0) /* <CJK */
+MAP(0x4C, 0x64, 0x554F) /* <CJK */
+MAP(0x4C, 0x65, 0x60B6) /* <CJK */
+MAP(0x4C, 0x66, 0x7D0B) /* <CJK */
+MAP(0x4C, 0x67, 0x9580) /* <CJK */
+MAP(0x4C, 0x68, 0x5301) /* <CJK */
+MAP(0x4C, 0x69, 0x4E5F) /* <CJK */
+MAP(0x4C, 0x6A, 0x51B6) /* <CJK */
+MAP(0x4C, 0x6B, 0x591C) /* <CJK */
+MAP(0x4C, 0x6C, 0x723A) /* <CJK */
+MAP(0x4C, 0x6D, 0x8036) /* <CJK */
+MAP(0x4C, 0x6E, 0x91CE) /* <CJK */
+MAP(0x4C, 0x6F, 0x5F25) /* <CJK */
+MAP(0x4C, 0x70, 0x77E2) /* <CJK */
+MAP(0x4C, 0x71, 0x5384) /* <CJK */
+MAP(0x4C, 0x72, 0x5F79) /* <CJK */
+MAP(0x4C, 0x73, 0x7D04) /* <CJK */
+MAP(0x4C, 0x74, 0x85AC) /* <CJK */
+MAP(0x4C, 0x75, 0x8A33) /* <CJK */
+MAP(0x4C, 0x76, 0x8E8D) /* <CJK */
+MAP(0x4C, 0x77, 0x9756) /* <CJK */
+MAP(0x4C, 0x78, 0x67F3) /* <CJK */
+MAP(0x4C, 0x79, 0x85AE) /* <CJK */
+MAP(0x4C, 0x7A, 0x9453) /* <CJK */
+MAP(0x4C, 0x7B, 0x6109) /* <CJK */
+MAP(0x4C, 0x7C, 0x6108) /* <CJK */
+MAP(0x4C, 0x7D, 0x6CB9) /* <CJK */
+MAP(0x4C, 0x7E, 0x7652) /* <CJK */
+MAP(0x4D, 0x21, 0x8AED) /* <CJK */
+MAP(0x4D, 0x22, 0x8F38) /* <CJK */
+MAP(0x4D, 0x23, 0x552F) /* <CJK */
+MAP(0x4D, 0x24, 0x4F51) /* <CJK */
+MAP(0x4D, 0x25, 0x512A) /* <CJK */
+MAP(0x4D, 0x26, 0x52C7) /* <CJK */
+MAP(0x4D, 0x27, 0x53CB) /* <CJK */
+MAP(0x4D, 0x28, 0x5BA5) /* <CJK */
+MAP(0x4D, 0x29, 0x5E7D) /* <CJK */
+MAP(0x4D, 0x2A, 0x60A0) /* <CJK */
+MAP(0x4D, 0x2B, 0x6182) /* <CJK */
+MAP(0x4D, 0x2C, 0x63D6) /* <CJK */
+MAP(0x4D, 0x2D, 0x6709) /* <CJK */
+MAP(0x4D, 0x2E, 0x67DA) /* <CJK */
+MAP(0x4D, 0x2F, 0x6E67) /* <CJK */
+MAP(0x4D, 0x30, 0x6D8C) /* <CJK */
+MAP(0x4D, 0x31, 0x7336) /* <CJK */
+MAP(0x4D, 0x32, 0x7337) /* <CJK */
+MAP(0x4D, 0x33, 0x7531) /* <CJK */
+MAP(0x4D, 0x34, 0x7950) /* <CJK */
+MAP(0x4D, 0x35, 0x88D5) /* <CJK */
+MAP(0x4D, 0x36, 0x8A98) /* <CJK */
+MAP(0x4D, 0x37, 0x904A) /* <CJK */
+MAP(0x4D, 0x38, 0x9091) /* <CJK */
+MAP(0x4D, 0x39, 0x90F5) /* <CJK */
+MAP(0x4D, 0x3A, 0x96C4) /* <CJK */
+MAP(0x4D, 0x3B, 0x878D) /* <CJK */
+MAP(0x4D, 0x3C, 0x5915) /* <CJK */
+MAP(0x4D, 0x3D, 0x4E88) /* <CJK */
+MAP(0x4D, 0x3E, 0x4F59) /* <CJK */
+MAP(0x4D, 0x3F, 0x4E0E) /* <CJK */
+MAP(0x4D, 0x40, 0x8A89) /* <CJK */
+MAP(0x4D, 0x41, 0x8F3F) /* <CJK */
+MAP(0x4D, 0x42, 0x9810) /* <CJK */
+MAP(0x4D, 0x43, 0x50AD) /* <CJK */
+MAP(0x4D, 0x44, 0x5E7C) /* <CJK */
+MAP(0x4D, 0x45, 0x5996) /* <CJK */
+MAP(0x4D, 0x46, 0x5BB9) /* <CJK */
+MAP(0x4D, 0x47, 0x5EB8) /* <CJK */
+MAP(0x4D, 0x48, 0x63DA) /* <CJK */
+MAP(0x4D, 0x49, 0x63FA) /* <CJK */
+MAP(0x4D, 0x4A, 0x64C1) /* <CJK */
+MAP(0x4D, 0x4B, 0x66DC) /* <CJK */
+MAP(0x4D, 0x4C, 0x694A) /* <CJK */
+MAP(0x4D, 0x4D, 0x69D8) /* <CJK */
+MAP(0x4D, 0x4E, 0x6D0B) /* <CJK */
+MAP(0x4D, 0x4F, 0x6EB6) /* <CJK */
+MAP(0x4D, 0x50, 0x7194) /* <CJK */
+MAP(0x4D, 0x51, 0x7528) /* <CJK */
+MAP(0x4D, 0x52, 0x7AAF) /* <CJK */
+MAP(0x4D, 0x53, 0x7F8A) /* <CJK */
+MAP(0x4D, 0x54, 0x8000) /* <CJK */
+MAP(0x4D, 0x55, 0x8449) /* <CJK */
+MAP(0x4D, 0x56, 0x84C9) /* <CJK */
+MAP(0x4D, 0x57, 0x8981) /* <CJK */
+MAP(0x4D, 0x58, 0x8B21) /* <CJK */
+MAP(0x4D, 0x59, 0x8E0A) /* <CJK */
+MAP(0x4D, 0x5A, 0x9065) /* <CJK */
+MAP(0x4D, 0x5B, 0x967D) /* <CJK */
+MAP(0x4D, 0x5C, 0x990A) /* <CJK */
+MAP(0x4D, 0x5D, 0x617E) /* <CJK */
+MAP(0x4D, 0x5E, 0x6291) /* <CJK */
+MAP(0x4D, 0x5F, 0x6B32) /* <CJK */
+MAP(0x4D, 0x60, 0x6C83) /* <CJK */
+MAP(0x4D, 0x61, 0x6D74) /* <CJK */
+MAP(0x4D, 0x62, 0x7FCC) /* <CJK */
+MAP(0x4D, 0x63, 0x7FFC) /* <CJK */
+MAP(0x4D, 0x64, 0x6DC0) /* <CJK */
+MAP(0x4D, 0x65, 0x7F85) /* <CJK */
+MAP(0x4D, 0x66, 0x87BA) /* <CJK */
+MAP(0x4D, 0x67, 0x88F8) /* <CJK */
+MAP(0x4D, 0x68, 0x6765) /* <CJK */
+MAP(0x4D, 0x69, 0x83B1) /* <CJK */
+MAP(0x4D, 0x6A, 0x983C) /* <CJK */
+MAP(0x4D, 0x6B, 0x96F7) /* <CJK */
+MAP(0x4D, 0x6C, 0x6D1B) /* <CJK */
+MAP(0x4D, 0x6D, 0x7D61) /* <CJK */
+MAP(0x4D, 0x6E, 0x843D) /* <CJK */
+MAP(0x4D, 0x6F, 0x916A) /* <CJK */
+MAP(0x4D, 0x70, 0x4E71) /* <CJK */
+MAP(0x4D, 0x71, 0x5375) /* <CJK */
+MAP(0x4D, 0x72, 0x5D50) /* <CJK */
+MAP(0x4D, 0x73, 0x6B04) /* <CJK */
+MAP(0x4D, 0x74, 0x6FEB) /* <CJK */
+MAP(0x4D, 0x75, 0x85CD) /* <CJK */
+MAP(0x4D, 0x76, 0x862D) /* <CJK */
+MAP(0x4D, 0x77, 0x89A7) /* <CJK */
+MAP(0x4D, 0x78, 0x5229) /* <CJK */
+MAP(0x4D, 0x79, 0x540F) /* <CJK */
+MAP(0x4D, 0x7A, 0x5C65) /* <CJK */
+MAP(0x4D, 0x7B, 0x674E) /* <CJK */
+MAP(0x4D, 0x7C, 0x68A8) /* <CJK */
+MAP(0x4D, 0x7D, 0x7406) /* <CJK */
+MAP(0x4D, 0x7E, 0x7483) /* <CJK */
+MAP(0x4E, 0x21, 0x75E2) /* <CJK */
+MAP(0x4E, 0x22, 0x88CF) /* <CJK */
+MAP(0x4E, 0x23, 0x88E1) /* <CJK */
+MAP(0x4E, 0x24, 0x91CC) /* <CJK */
+MAP(0x4E, 0x25, 0x96E2) /* <CJK */
+MAP(0x4E, 0x26, 0x9678) /* <CJK */
+MAP(0x4E, 0x27, 0x5F8B) /* <CJK */
+MAP(0x4E, 0x28, 0x7387) /* <CJK */
+MAP(0x4E, 0x29, 0x7ACB) /* <CJK */
+MAP(0x4E, 0x2A, 0x844E) /* <CJK */
+MAP(0x4E, 0x2B, 0x63A0) /* <CJK */
+MAP(0x4E, 0x2C, 0x7565) /* <CJK */
+MAP(0x4E, 0x2D, 0x5289) /* <CJK */
+MAP(0x4E, 0x2E, 0x6D41) /* <CJK */
+MAP(0x4E, 0x2F, 0x6E9C) /* <CJK */
+MAP(0x4E, 0x30, 0x7409) /* <CJK */
+MAP(0x4E, 0x31, 0x7559) /* <CJK */
+MAP(0x4E, 0x32, 0x786B) /* <CJK */
+MAP(0x4E, 0x33, 0x7C92) /* <CJK */
+MAP(0x4E, 0x34, 0x9686) /* <CJK */
+MAP(0x4E, 0x35, 0x7ADC) /* <CJK */
+MAP(0x4E, 0x36, 0x9F8D) /* <CJK */
+MAP(0x4E, 0x37, 0x4FB6) /* <CJK */
+MAP(0x4E, 0x38, 0x616E) /* <CJK */
+MAP(0x4E, 0x39, 0x65C5) /* <CJK */
+MAP(0x4E, 0x3A, 0x865C) /* <CJK */
+MAP(0x4E, 0x3B, 0x4E86) /* <CJK */
+MAP(0x4E, 0x3C, 0x4EAE) /* <CJK */
+MAP(0x4E, 0x3D, 0x50DA) /* <CJK */
+MAP(0x4E, 0x3E, 0x4E21) /* <CJK */
+MAP(0x4E, 0x3F, 0x51CC) /* <CJK */
+MAP(0x4E, 0x40, 0x5BEE) /* <CJK */
+MAP(0x4E, 0x41, 0x6599) /* <CJK */
+MAP(0x4E, 0x42, 0x6881) /* <CJK */
+MAP(0x4E, 0x43, 0x6DBC) /* <CJK */
+MAP(0x4E, 0x44, 0x731F) /* <CJK */
+MAP(0x4E, 0x45, 0x7642) /* <CJK */
+MAP(0x4E, 0x46, 0x77AD) /* <CJK */
+MAP(0x4E, 0x47, 0x7A1C) /* <CJK */
+MAP(0x4E, 0x48, 0x7CE7) /* <CJK */
+MAP(0x4E, 0x49, 0x826F) /* <CJK */
+MAP(0x4E, 0x4A, 0x8AD2) /* <CJK */
+MAP(0x4E, 0x4B, 0x907C) /* <CJK */
+MAP(0x4E, 0x4C, 0x91CF) /* <CJK */
+MAP(0x4E, 0x4D, 0x9675) /* <CJK */
+MAP(0x4E, 0x4E, 0x9818) /* <CJK */
+MAP(0x4E, 0x4F, 0x529B) /* <CJK */
+MAP(0x4E, 0x50, 0x7DD1) /* <CJK */
+MAP(0x4E, 0x51, 0x502B) /* <CJK */
+MAP(0x4E, 0x52, 0x5398) /* <CJK */
+MAP(0x4E, 0x53, 0x6797) /* <CJK */
+MAP(0x4E, 0x54, 0x6DCB) /* <CJK */
+MAP(0x4E, 0x55, 0x71D0) /* <CJK */
+MAP(0x4E, 0x56, 0x7433) /* <CJK */
+MAP(0x4E, 0x57, 0x81E8) /* <CJK */
+MAP(0x4E, 0x58, 0x8F2A) /* <CJK */
+MAP(0x4E, 0x59, 0x96A3) /* <CJK */
+MAP(0x4E, 0x5A, 0x9C57) /* <CJK */
+MAP(0x4E, 0x5B, 0x9E9F) /* <CJK */
+MAP(0x4E, 0x5C, 0x7460) /* <CJK */
+MAP(0x4E, 0x5D, 0x5841) /* <CJK */
+MAP(0x4E, 0x5E, 0x6D99) /* <CJK */
+MAP(0x4E, 0x5F, 0x7D2F) /* <CJK */
+MAP(0x4E, 0x60, 0x985E) /* <CJK */
+MAP(0x4E, 0x61, 0x4EE4) /* <CJK */
+MAP(0x4E, 0x62, 0x4F36) /* <CJK */
+MAP(0x4E, 0x63, 0x4F8B) /* <CJK */
+MAP(0x4E, 0x64, 0x51B7) /* <CJK */
+MAP(0x4E, 0x65, 0x52B1) /* <CJK */
+MAP(0x4E, 0x66, 0x5DBA) /* <CJK */
+MAP(0x4E, 0x67, 0x601C) /* <CJK */
+MAP(0x4E, 0x68, 0x73B2) /* <CJK */
+MAP(0x4E, 0x69, 0x793C) /* <CJK */
+MAP(0x4E, 0x6A, 0x82D3) /* <CJK */
+MAP(0x4E, 0x6B, 0x9234) /* <CJK */
+MAP(0x4E, 0x6C, 0x96B7) /* <CJK */
+MAP(0x4E, 0x6D, 0x96F6) /* <CJK */
+MAP(0x4E, 0x6E, 0x970A) /* <CJK */
+MAP(0x4E, 0x6F, 0x9E97) /* <CJK */
+MAP(0x4E, 0x70, 0x9F62) /* <CJK */
+MAP(0x4E, 0x71, 0x66A6) /* <CJK */
+MAP(0x4E, 0x72, 0x6B74) /* <CJK */
+MAP(0x4E, 0x73, 0x5217) /* <CJK */
+MAP(0x4E, 0x74, 0x52A3) /* <CJK */
+MAP(0x4E, 0x75, 0x70C8) /* <CJK */
+MAP(0x4E, 0x76, 0x88C2) /* <CJK */
+MAP(0x4E, 0x77, 0x5EC9) /* <CJK */
+MAP(0x4E, 0x78, 0x604B) /* <CJK */
+MAP(0x4E, 0x79, 0x6190) /* <CJK */
+MAP(0x4E, 0x7A, 0x6F23) /* <CJK */
+MAP(0x4E, 0x7B, 0x7149) /* <CJK */
+MAP(0x4E, 0x7C, 0x7C3E) /* <CJK */
+MAP(0x4E, 0x7D, 0x7DF4) /* <CJK */
+MAP(0x4E, 0x7E, 0x806F) /* <CJK */
+MAP(0x4F, 0x21, 0x84EE) /* <CJK */
+MAP(0x4F, 0x22, 0x9023) /* <CJK */
+MAP(0x4F, 0x23, 0x932C) /* <CJK */
+MAP(0x4F, 0x24, 0x5442) /* <CJK */
+MAP(0x4F, 0x25, 0x9B6F) /* <CJK */
+MAP(0x4F, 0x26, 0x6AD3) /* <CJK */
+MAP(0x4F, 0x27, 0x7089) /* <CJK */
+MAP(0x4F, 0x28, 0x8CC2) /* <CJK */
+MAP(0x4F, 0x29, 0x8DEF) /* <CJK */
+MAP(0x4F, 0x2A, 0x9732) /* <CJK */
+MAP(0x4F, 0x2B, 0x52B4) /* <CJK */
+MAP(0x4F, 0x2C, 0x5A41) /* <CJK */
+MAP(0x4F, 0x2D, 0x5ECA) /* <CJK */
+MAP(0x4F, 0x2E, 0x5F04) /* <CJK */
+MAP(0x4F, 0x2F, 0x6717) /* <CJK */
+MAP(0x4F, 0x30, 0x697C) /* <CJK */
+MAP(0x4F, 0x31, 0x6994) /* <CJK */
+MAP(0x4F, 0x32, 0x6D6A) /* <CJK */
+MAP(0x4F, 0x33, 0x6F0F) /* <CJK */
+MAP(0x4F, 0x34, 0x7262) /* <CJK */
+MAP(0x4F, 0x35, 0x72FC) /* <CJK */
+MAP(0x4F, 0x36, 0x7BED) /* <CJK */
+MAP(0x4F, 0x37, 0x8001) /* <CJK */
+MAP(0x4F, 0x38, 0x807E) /* <CJK */
+MAP(0x4F, 0x39, 0x874B) /* <CJK */
+MAP(0x4F, 0x3A, 0x90CE) /* <CJK */
+MAP(0x4F, 0x3B, 0x516D) /* <CJK */
+MAP(0x4F, 0x3C, 0x9E93) /* <CJK */
+MAP(0x4F, 0x3D, 0x7984) /* <CJK */
+MAP(0x4F, 0x3E, 0x808B) /* <CJK */
+MAP(0x4F, 0x3F, 0x9332) /* <CJK */
+MAP(0x4F, 0x40, 0x8AD6) /* <CJK */
+MAP(0x4F, 0x41, 0x502D) /* <CJK */
+MAP(0x4F, 0x42, 0x548C) /* <CJK */
+MAP(0x4F, 0x43, 0x8A71) /* <CJK */
+MAP(0x4F, 0x44, 0x6B6A) /* <CJK */
+MAP(0x4F, 0x45, 0x8CC4) /* <CJK */
+MAP(0x4F, 0x46, 0x8107) /* <CJK */
+MAP(0x4F, 0x47, 0x60D1) /* <CJK */
+MAP(0x4F, 0x48, 0x67A0) /* <CJK */
+MAP(0x4F, 0x49, 0x9DF2) /* <CJK */
+MAP(0x4F, 0x4A, 0x4E99) /* <CJK */
+MAP(0x4F, 0x4B, 0x4E98) /* <CJK */
+MAP(0x4F, 0x4C, 0x9C10) /* <CJK */
+MAP(0x4F, 0x4D, 0x8A6B) /* <CJK */
+MAP(0x4F, 0x4E, 0x85C1) /* <CJK */
+MAP(0x4F, 0x4F, 0x8568) /* <CJK */
+MAP(0x4F, 0x50, 0x6900) /* <CJK */
+MAP(0x4F, 0x51, 0x6E7E) /* <CJK */
+MAP(0x4F, 0x52, 0x7897) /* <CJK */
+MAP(0x4F, 0x53, 0x8155) /* <CJK */
+MAP(0x50, 0x21, 0x5F0C) /* <CJK */
+MAP(0x50, 0x22, 0x4E10) /* <CJK */
+MAP(0x50, 0x23, 0x4E15) /* <CJK */
+MAP(0x50, 0x24, 0x4E2A) /* <CJK */
+MAP(0x50, 0x25, 0x4E31) /* <CJK */
+MAP(0x50, 0x26, 0x4E36) /* <CJK */
+MAP(0x50, 0x27, 0x4E3C) /* <CJK */
+MAP(0x50, 0x28, 0x4E3F) /* <CJK */
+MAP(0x50, 0x29, 0x4E42) /* <CJK */
+MAP(0x50, 0x2A, 0x4E56) /* <CJK */
+MAP(0x50, 0x2B, 0x4E58) /* <CJK */
+MAP(0x50, 0x2C, 0x4E82) /* <CJK */
+MAP(0x50, 0x2D, 0x4E85) /* <CJK */
+MAP(0x50, 0x2E, 0x8C6B) /* <CJK */
+MAP(0x50, 0x2F, 0x4E8A) /* <CJK */
+MAP(0x50, 0x30, 0x8212) /* <CJK */
+MAP(0x50, 0x31, 0x5F0D) /* <CJK */
+MAP(0x50, 0x32, 0x4E8E) /* <CJK */
+MAP(0x50, 0x33, 0x4E9E) /* <CJK */
+MAP(0x50, 0x34, 0x4E9F) /* <CJK */
+MAP(0x50, 0x35, 0x4EA0) /* <CJK */
+MAP(0x50, 0x36, 0x4EA2) /* <CJK */
+MAP(0x50, 0x37, 0x4EB0) /* <CJK */
+MAP(0x50, 0x38, 0x4EB3) /* <CJK */
+MAP(0x50, 0x39, 0x4EB6) /* <CJK */
+MAP(0x50, 0x3A, 0x4ECE) /* <CJK */
+MAP(0x50, 0x3B, 0x4ECD) /* <CJK */
+MAP(0x50, 0x3C, 0x4EC4) /* <CJK */
+MAP(0x50, 0x3D, 0x4EC6) /* <CJK */
+MAP(0x50, 0x3E, 0x4EC2) /* <CJK */
+MAP(0x50, 0x3F, 0x4ED7) /* <CJK */
+MAP(0x50, 0x40, 0x4EDE) /* <CJK */
+MAP(0x50, 0x41, 0x4EED) /* <CJK */
+MAP(0x50, 0x42, 0x4EDF) /* <CJK */
+MAP(0x50, 0x43, 0x4EF7) /* <CJK */
+MAP(0x50, 0x44, 0x4F09) /* <CJK */
+MAP(0x50, 0x45, 0x4F5A) /* <CJK */
+MAP(0x50, 0x46, 0x4F30) /* <CJK */
+MAP(0x50, 0x47, 0x4F5B) /* <CJK */
+MAP(0x50, 0x48, 0x4F5D) /* <CJK */
+MAP(0x50, 0x49, 0x4F57) /* <CJK */
+MAP(0x50, 0x4A, 0x4F47) /* <CJK */
+MAP(0x50, 0x4B, 0x4F76) /* <CJK */
+MAP(0x50, 0x4C, 0x4F88) /* <CJK */
+MAP(0x50, 0x4D, 0x4F8F) /* <CJK */
+MAP(0x50, 0x4E, 0x4F98) /* <CJK */
+MAP(0x50, 0x4F, 0x4F7B) /* <CJK */
+MAP(0x50, 0x50, 0x4F69) /* <CJK */
+MAP(0x50, 0x51, 0x4F70) /* <CJK */
+MAP(0x50, 0x52, 0x4F91) /* <CJK */
+MAP(0x50, 0x53, 0x4F6F) /* <CJK */
+MAP(0x50, 0x54, 0x4F86) /* <CJK */
+MAP(0x50, 0x55, 0x4F96) /* <CJK */
+MAP(0x50, 0x56, 0x5118) /* <CJK */
+MAP(0x50, 0x57, 0x4FD4) /* <CJK */
+MAP(0x50, 0x58, 0x4FDF) /* <CJK */
+MAP(0x50, 0x59, 0x4FCE) /* <CJK */
+MAP(0x50, 0x5A, 0x4FD8) /* <CJK */
+MAP(0x50, 0x5B, 0x4FDB) /* <CJK */
+MAP(0x50, 0x5C, 0x4FD1) /* <CJK */
+MAP(0x50, 0x5D, 0x4FDA) /* <CJK */
+MAP(0x50, 0x5E, 0x4FD0) /* <CJK */
+MAP(0x50, 0x5F, 0x4FE4) /* <CJK */
+MAP(0x50, 0x60, 0x4FE5) /* <CJK */
+MAP(0x50, 0x61, 0x501A) /* <CJK */
+MAP(0x50, 0x62, 0x5028) /* <CJK */
+MAP(0x50, 0x63, 0x5014) /* <CJK */
+MAP(0x50, 0x64, 0x502A) /* <CJK */
+MAP(0x50, 0x65, 0x5025) /* <CJK */
+MAP(0x50, 0x66, 0x5005) /* <CJK */
+MAP(0x50, 0x67, 0x4F1C) /* <CJK */
+MAP(0x50, 0x68, 0x4FF6) /* <CJK */
+MAP(0x50, 0x69, 0x5021) /* <CJK */
+MAP(0x50, 0x6A, 0x5029) /* <CJK */
+MAP(0x50, 0x6B, 0x502C) /* <CJK */
+MAP(0x50, 0x6C, 0x4FFE) /* <CJK */
+MAP(0x50, 0x6D, 0x4FEF) /* <CJK */
+MAP(0x50, 0x6E, 0x5011) /* <CJK */
+MAP(0x50, 0x6F, 0x5006) /* <CJK */
+MAP(0x50, 0x70, 0x5043) /* <CJK */
+MAP(0x50, 0x71, 0x5047) /* <CJK */
+MAP(0x50, 0x72, 0x6703) /* <CJK */
+MAP(0x50, 0x73, 0x5055) /* <CJK */
+MAP(0x50, 0x74, 0x5050) /* <CJK */
+MAP(0x50, 0x75, 0x5048) /* <CJK */
+MAP(0x50, 0x76, 0x505A) /* <CJK */
+MAP(0x50, 0x77, 0x5056) /* <CJK */
+MAP(0x50, 0x78, 0x506C) /* <CJK */
+MAP(0x50, 0x79, 0x5078) /* <CJK */
+MAP(0x50, 0x7A, 0x5080) /* <CJK */
+MAP(0x50, 0x7B, 0x509A) /* <CJK */
+MAP(0x50, 0x7C, 0x5085) /* <CJK */
+MAP(0x50, 0x7D, 0x50B4) /* <CJK */
+MAP(0x50, 0x7E, 0x50B2) /* <CJK */
+MAP(0x51, 0x21, 0x50C9) /* <CJK */
+MAP(0x51, 0x22, 0x50CA) /* <CJK */
+MAP(0x51, 0x23, 0x50B3) /* <CJK */
+MAP(0x51, 0x24, 0x50C2) /* <CJK */
+MAP(0x51, 0x25, 0x50D6) /* <CJK */
+MAP(0x51, 0x26, 0x50DE) /* <CJK */
+MAP(0x51, 0x27, 0x50E5) /* <CJK */
+MAP(0x51, 0x28, 0x50ED) /* <CJK */
+MAP(0x51, 0x29, 0x50E3) /* <CJK */
+MAP(0x51, 0x2A, 0x50EE) /* <CJK */
+MAP(0x51, 0x2B, 0x50F9) /* <CJK */
+MAP(0x51, 0x2C, 0x50F5) /* <CJK */
+MAP(0x51, 0x2D, 0x5109) /* <CJK */
+MAP(0x51, 0x2E, 0x5101) /* <CJK */
+MAP(0x51, 0x2F, 0x5102) /* <CJK */
+MAP(0x51, 0x30, 0x5116) /* <CJK */
+MAP(0x51, 0x31, 0x5115) /* <CJK */
+MAP(0x51, 0x32, 0x5114) /* <CJK */
+MAP(0x51, 0x33, 0x511A) /* <CJK */
+MAP(0x51, 0x34, 0x5121) /* <CJK */
+MAP(0x51, 0x35, 0x513A) /* <CJK */
+MAP(0x51, 0x36, 0x5137) /* <CJK */
+MAP(0x51, 0x37, 0x513C) /* <CJK */
+MAP(0x51, 0x38, 0x513B) /* <CJK */
+MAP(0x51, 0x39, 0x513F) /* <CJK */
+MAP(0x51, 0x3A, 0x5140) /* <CJK */
+MAP(0x51, 0x3B, 0x5152) /* <CJK */
+MAP(0x51, 0x3C, 0x514C) /* <CJK */
+MAP(0x51, 0x3D, 0x5154) /* <CJK */
+MAP(0x51, 0x3E, 0x5162) /* <CJK */
+MAP(0x51, 0x3F, 0x7AF8) /* <CJK */
+MAP(0x51, 0x40, 0x5169) /* <CJK */
+MAP(0x51, 0x41, 0x516A) /* <CJK */
+MAP(0x51, 0x42, 0x516E) /* <CJK */
+MAP(0x51, 0x43, 0x5180) /* <CJK */
+MAP(0x51, 0x44, 0x5182) /* <CJK */
+MAP(0x51, 0x45, 0x56D8) /* <CJK */
+MAP(0x51, 0x46, 0x518C) /* <CJK */
+MAP(0x51, 0x47, 0x5189) /* <CJK */
+MAP(0x51, 0x48, 0x518F) /* <CJK */
+MAP(0x51, 0x49, 0x5191) /* <CJK */
+MAP(0x51, 0x4A, 0x5193) /* <CJK */
+MAP(0x51, 0x4B, 0x5195) /* <CJK */
+MAP(0x51, 0x4C, 0x5196) /* <CJK */
+MAP(0x51, 0x4D, 0x51A4) /* <CJK */
+MAP(0x51, 0x4E, 0x51A6) /* <CJK */
+MAP(0x51, 0x4F, 0x51A2) /* <CJK */
+MAP(0x51, 0x50, 0x51A9) /* <CJK */
+MAP(0x51, 0x51, 0x51AA) /* <CJK */
+MAP(0x51, 0x52, 0x51AB) /* <CJK */
+MAP(0x51, 0x53, 0x51B3) /* <CJK */
+MAP(0x51, 0x54, 0x51B1) /* <CJK */
+MAP(0x51, 0x55, 0x51B2) /* <CJK */
+MAP(0x51, 0x56, 0x51B0) /* <CJK */
+MAP(0x51, 0x57, 0x51B5) /* <CJK */
+MAP(0x51, 0x58, 0x51BD) /* <CJK */
+MAP(0x51, 0x59, 0x51C5) /* <CJK */
+MAP(0x51, 0x5A, 0x51C9) /* <CJK */
+MAP(0x51, 0x5B, 0x51DB) /* <CJK */
+MAP(0x51, 0x5C, 0x51E0) /* <CJK */
+MAP(0x51, 0x5D, 0x8655) /* <CJK */
+MAP(0x51, 0x5E, 0x51E9) /* <CJK */
+MAP(0x51, 0x5F, 0x51ED) /* <CJK */
+MAP(0x51, 0x60, 0x51F0) /* <CJK */
+MAP(0x51, 0x61, 0x51F5) /* <CJK */
+MAP(0x51, 0x62, 0x51FE) /* <CJK */
+MAP(0x51, 0x63, 0x5204) /* <CJK */
+MAP(0x51, 0x64, 0x520B) /* <CJK */
+MAP(0x51, 0x65, 0x5214) /* <CJK */
+MAP(0x51, 0x66, 0x520E) /* <CJK */
+MAP(0x51, 0x67, 0x5227) /* <CJK */
+MAP(0x51, 0x68, 0x522A) /* <CJK */
+MAP(0x51, 0x69, 0x522E) /* <CJK */
+MAP(0x51, 0x6A, 0x5233) /* <CJK */
+MAP(0x51, 0x6B, 0x5239) /* <CJK */
+MAP(0x51, 0x6C, 0x524F) /* <CJK */
+MAP(0x51, 0x6D, 0x5244) /* <CJK */
+MAP(0x51, 0x6E, 0x524B) /* <CJK */
+MAP(0x51, 0x6F, 0x524C) /* <CJK */
+MAP(0x51, 0x70, 0x525E) /* <CJK */
+MAP(0x51, 0x71, 0x5254) /* <CJK */
+MAP(0x51, 0x72, 0x526A) /* <CJK */
+MAP(0x51, 0x73, 0x5274) /* <CJK */
+MAP(0x51, 0x74, 0x5269) /* <CJK */
+MAP(0x51, 0x75, 0x5273) /* <CJK */
+MAP(0x51, 0x76, 0x527F) /* <CJK */
+MAP(0x51, 0x77, 0x527D) /* <CJK */
+MAP(0x51, 0x78, 0x528D) /* <CJK */
+MAP(0x51, 0x79, 0x5294) /* <CJK */
+MAP(0x51, 0x7A, 0x5292) /* <CJK */
+MAP(0x51, 0x7B, 0x5271) /* <CJK */
+MAP(0x51, 0x7C, 0x5288) /* <CJK */
+MAP(0x51, 0x7D, 0x5291) /* <CJK */
+MAP(0x51, 0x7E, 0x8FA8) /* <CJK */
+MAP(0x52, 0x21, 0x8FA7) /* <CJK */
+MAP(0x52, 0x22, 0x52AC) /* <CJK */
+MAP(0x52, 0x23, 0x52AD) /* <CJK */
+MAP(0x52, 0x24, 0x52BC) /* <CJK */
+MAP(0x52, 0x25, 0x52B5) /* <CJK */
+MAP(0x52, 0x26, 0x52C1) /* <CJK */
+MAP(0x52, 0x27, 0x52CD) /* <CJK */
+MAP(0x52, 0x28, 0x52D7) /* <CJK */
+MAP(0x52, 0x29, 0x52DE) /* <CJK */
+MAP(0x52, 0x2A, 0x52E3) /* <CJK */
+MAP(0x52, 0x2B, 0x52E6) /* <CJK */
+MAP(0x52, 0x2C, 0x98ED) /* <CJK */
+MAP(0x52, 0x2D, 0x52E0) /* <CJK */
+MAP(0x52, 0x2E, 0x52F3) /* <CJK */
+MAP(0x52, 0x2F, 0x52F5) /* <CJK */
+MAP(0x52, 0x30, 0x52F8) /* <CJK */
+MAP(0x52, 0x31, 0x52F9) /* <CJK */
+MAP(0x52, 0x32, 0x5306) /* <CJK */
+MAP(0x52, 0x33, 0x5308) /* <CJK */
+MAP(0x52, 0x34, 0x7538) /* <CJK */
+MAP(0x52, 0x35, 0x530D) /* <CJK */
+MAP(0x52, 0x36, 0x5310) /* <CJK */
+MAP(0x52, 0x37, 0x530F) /* <CJK */
+MAP(0x52, 0x38, 0x5315) /* <CJK */
+MAP(0x52, 0x39, 0x531A) /* <CJK */
+MAP(0x52, 0x3A, 0x5323) /* <CJK */
+MAP(0x52, 0x3B, 0x532F) /* <CJK */
+MAP(0x52, 0x3C, 0x5331) /* <CJK */
+MAP(0x52, 0x3D, 0x5333) /* <CJK */
+MAP(0x52, 0x3E, 0x5338) /* <CJK */
+MAP(0x52, 0x3F, 0x5340) /* <CJK */
+MAP(0x52, 0x40, 0x5346) /* <CJK */
+MAP(0x52, 0x41, 0x5345) /* <CJK */
+MAP(0x52, 0x42, 0x4E17) /* <CJK */
+MAP(0x52, 0x43, 0x5349) /* <CJK */
+MAP(0x52, 0x44, 0x534D) /* <CJK */
+MAP(0x52, 0x45, 0x51D6) /* <CJK */
+MAP(0x52, 0x46, 0x535E) /* <CJK */
+MAP(0x52, 0x47, 0x5369) /* <CJK */
+MAP(0x52, 0x48, 0x536E) /* <CJK */
+MAP(0x52, 0x49, 0x5918) /* <CJK */
+MAP(0x52, 0x4A, 0x537B) /* <CJK */
+MAP(0x52, 0x4B, 0x5377) /* <CJK */
+MAP(0x52, 0x4C, 0x5382) /* <CJK */
+MAP(0x52, 0x4D, 0x5396) /* <CJK */
+MAP(0x52, 0x4E, 0x53A0) /* <CJK */
+MAP(0x52, 0x4F, 0x53A6) /* <CJK */
+MAP(0x52, 0x50, 0x53A5) /* <CJK */
+MAP(0x52, 0x51, 0x53AE) /* <CJK */
+MAP(0x52, 0x52, 0x53B0) /* <CJK */
+MAP(0x52, 0x53, 0x53B6) /* <CJK */
+MAP(0x52, 0x54, 0x53C3) /* <CJK */
+MAP(0x52, 0x55, 0x7C12) /* <CJK */
+MAP(0x52, 0x56, 0x96D9) /* <CJK */
+MAP(0x52, 0x57, 0x53DF) /* <CJK */
+MAP(0x52, 0x58, 0x66FC) /* <CJK */
+MAP(0x52, 0x59, 0x71EE) /* <CJK */
+MAP(0x52, 0x5A, 0x53EE) /* <CJK */
+MAP(0x52, 0x5B, 0x53E8) /* <CJK */
+MAP(0x52, 0x5C, 0x53ED) /* <CJK */
+MAP(0x52, 0x5D, 0x53FA) /* <CJK */
+MAP(0x52, 0x5E, 0x5401) /* <CJK */
+MAP(0x52, 0x5F, 0x543D) /* <CJK */
+MAP(0x52, 0x60, 0x5440) /* <CJK */
+MAP(0x52, 0x61, 0x542C) /* <CJK */
+MAP(0x52, 0x62, 0x542D) /* <CJK */
+MAP(0x52, 0x63, 0x543C) /* <CJK */
+MAP(0x52, 0x64, 0x542E) /* <CJK */
+MAP(0x52, 0x65, 0x5436) /* <CJK */
+MAP(0x52, 0x66, 0x5429) /* <CJK */
+MAP(0x52, 0x67, 0x541D) /* <CJK */
+MAP(0x52, 0x68, 0x544E) /* <CJK */
+MAP(0x52, 0x69, 0x548F) /* <CJK */
+MAP(0x52, 0x6A, 0x5475) /* <CJK */
+MAP(0x52, 0x6B, 0x548E) /* <CJK */
+MAP(0x52, 0x6C, 0x545F) /* <CJK */
+MAP(0x52, 0x6D, 0x5471) /* <CJK */
+MAP(0x52, 0x6E, 0x5477) /* <CJK */
+MAP(0x52, 0x6F, 0x5470) /* <CJK */
+MAP(0x52, 0x70, 0x5492) /* <CJK */
+MAP(0x52, 0x71, 0x547B) /* <CJK */
+MAP(0x52, 0x72, 0x5480) /* <CJK */
+MAP(0x52, 0x73, 0x5476) /* <CJK */
+MAP(0x52, 0x74, 0x5484) /* <CJK */
+MAP(0x52, 0x75, 0x5490) /* <CJK */
+MAP(0x52, 0x76, 0x5486) /* <CJK */
+MAP(0x52, 0x77, 0x54C7) /* <CJK */
+MAP(0x52, 0x78, 0x54A2) /* <CJK */
+MAP(0x52, 0x79, 0x54B8) /* <CJK */
+MAP(0x52, 0x7A, 0x54A5) /* <CJK */
+MAP(0x52, 0x7B, 0x54AC) /* <CJK */
+MAP(0x52, 0x7C, 0x54C4) /* <CJK */
+MAP(0x52, 0x7D, 0x54C8) /* <CJK */
+MAP(0x52, 0x7E, 0x54A8) /* <CJK */
+MAP(0x53, 0x21, 0x54AB) /* <CJK */
+MAP(0x53, 0x22, 0x54C2) /* <CJK */
+MAP(0x53, 0x23, 0x54A4) /* <CJK */
+MAP(0x53, 0x24, 0x54BE) /* <CJK */
+MAP(0x53, 0x25, 0x54BC) /* <CJK */
+MAP(0x53, 0x26, 0x54D8) /* <CJK */
+MAP(0x53, 0x27, 0x54E5) /* <CJK */
+MAP(0x53, 0x28, 0x54E6) /* <CJK */
+MAP(0x53, 0x29, 0x550F) /* <CJK */
+MAP(0x53, 0x2A, 0x5514) /* <CJK */
+MAP(0x53, 0x2B, 0x54FD) /* <CJK */
+MAP(0x53, 0x2C, 0x54EE) /* <CJK */
+MAP(0x53, 0x2D, 0x54ED) /* <CJK */
+MAP(0x53, 0x2E, 0x54FA) /* <CJK */
+MAP(0x53, 0x2F, 0x54E2) /* <CJK */
+MAP(0x53, 0x30, 0x5539) /* <CJK */
+MAP(0x53, 0x31, 0x5540) /* <CJK */
+MAP(0x53, 0x32, 0x5563) /* <CJK */
+MAP(0x53, 0x33, 0x554C) /* <CJK */
+MAP(0x53, 0x34, 0x552E) /* <CJK */
+MAP(0x53, 0x35, 0x555C) /* <CJK */
+MAP(0x53, 0x36, 0x5545) /* <CJK */
+MAP(0x53, 0x37, 0x5556) /* <CJK */
+MAP(0x53, 0x38, 0x5557) /* <CJK */
+MAP(0x53, 0x39, 0x5538) /* <CJK */
+MAP(0x53, 0x3A, 0x5533) /* <CJK */
+MAP(0x53, 0x3B, 0x555D) /* <CJK */
+MAP(0x53, 0x3C, 0x5599) /* <CJK */
+MAP(0x53, 0x3D, 0x5580) /* <CJK */
+MAP(0x53, 0x3E, 0x54AF) /* <CJK */
+MAP(0x53, 0x3F, 0x558A) /* <CJK */
+MAP(0x53, 0x40, 0x559F) /* <CJK */
+MAP(0x53, 0x41, 0x557B) /* <CJK */
+MAP(0x53, 0x42, 0x557E) /* <CJK */
+MAP(0x53, 0x43, 0x5598) /* <CJK */
+MAP(0x53, 0x44, 0x559E) /* <CJK */
+MAP(0x53, 0x45, 0x55AE) /* <CJK */
+MAP(0x53, 0x46, 0x557C) /* <CJK */
+MAP(0x53, 0x47, 0x5583) /* <CJK */
+MAP(0x53, 0x48, 0x55A9) /* <CJK */
+MAP(0x53, 0x49, 0x5587) /* <CJK */
+MAP(0x53, 0x4A, 0x55A8) /* <CJK */
+MAP(0x53, 0x4B, 0x55DA) /* <CJK */
+MAP(0x53, 0x4C, 0x55C5) /* <CJK */
+MAP(0x53, 0x4D, 0x55DF) /* <CJK */
+MAP(0x53, 0x4E, 0x55C4) /* <CJK */
+MAP(0x53, 0x4F, 0x55DC) /* <CJK */
+MAP(0x53, 0x50, 0x55E4) /* <CJK */
+MAP(0x53, 0x51, 0x55D4) /* <CJK */
+MAP(0x53, 0x52, 0x5614) /* <CJK */
+MAP(0x53, 0x53, 0x55F7) /* <CJK */
+MAP(0x53, 0x54, 0x5616) /* <CJK */
+MAP(0x53, 0x55, 0x55FE) /* <CJK */
+MAP(0x53, 0x56, 0x55FD) /* <CJK */
+MAP(0x53, 0x57, 0x561B) /* <CJK */
+MAP(0x53, 0x58, 0x55F9) /* <CJK */
+MAP(0x53, 0x59, 0x564E) /* <CJK */
+MAP(0x53, 0x5A, 0x5650) /* <CJK */
+MAP(0x53, 0x5B, 0x71DF) /* <CJK */
+MAP(0x53, 0x5C, 0x5634) /* <CJK */
+MAP(0x53, 0x5D, 0x5636) /* <CJK */
+MAP(0x53, 0x5E, 0x5632) /* <CJK */
+MAP(0x53, 0x5F, 0x5638) /* <CJK */
+MAP(0x53, 0x60, 0x566B) /* <CJK */
+MAP(0x53, 0x61, 0x5664) /* <CJK */
+MAP(0x53, 0x62, 0x562F) /* <CJK */
+MAP(0x53, 0x63, 0x566C) /* <CJK */
+MAP(0x53, 0x64, 0x566A) /* <CJK */
+MAP(0x53, 0x65, 0x5686) /* <CJK */
+MAP(0x53, 0x66, 0x5680) /* <CJK */
+MAP(0x53, 0x67, 0x568A) /* <CJK */
+MAP(0x53, 0x68, 0x56A0) /* <CJK */
+MAP(0x53, 0x69, 0x5694) /* <CJK */
+MAP(0x53, 0x6A, 0x568F) /* <CJK */
+MAP(0x53, 0x6B, 0x56A5) /* <CJK */
+MAP(0x53, 0x6C, 0x56AE) /* <CJK */
+MAP(0x53, 0x6D, 0x56B6) /* <CJK */
+MAP(0x53, 0x6E, 0x56B4) /* <CJK */
+MAP(0x53, 0x6F, 0x56C2) /* <CJK */
+MAP(0x53, 0x70, 0x56BC) /* <CJK */
+MAP(0x53, 0x71, 0x56C1) /* <CJK */
+MAP(0x53, 0x72, 0x56C3) /* <CJK */
+MAP(0x53, 0x73, 0x56C0) /* <CJK */
+MAP(0x53, 0x74, 0x56C8) /* <CJK */
+MAP(0x53, 0x75, 0x56CE) /* <CJK */
+MAP(0x53, 0x76, 0x56D1) /* <CJK */
+MAP(0x53, 0x77, 0x56D3) /* <CJK */
+MAP(0x53, 0x78, 0x56D7) /* <CJK */
+MAP(0x53, 0x79, 0x56EE) /* <CJK */
+MAP(0x53, 0x7A, 0x56F9) /* <CJK */
+MAP(0x53, 0x7B, 0x5700) /* <CJK */
+MAP(0x53, 0x7C, 0x56FF) /* <CJK */
+MAP(0x53, 0x7D, 0x5704) /* <CJK */
+MAP(0x53, 0x7E, 0x5709) /* <CJK */
+MAP(0x54, 0x21, 0x5708) /* <CJK */
+MAP(0x54, 0x22, 0x570B) /* <CJK */
+MAP(0x54, 0x23, 0x570D) /* <CJK */
+MAP(0x54, 0x24, 0x5713) /* <CJK */
+MAP(0x54, 0x25, 0x5718) /* <CJK */
+MAP(0x54, 0x26, 0x5716) /* <CJK */
+MAP(0x54, 0x27, 0x55C7) /* <CJK */
+MAP(0x54, 0x28, 0x571C) /* <CJK */
+MAP(0x54, 0x29, 0x5726) /* <CJK */
+MAP(0x54, 0x2A, 0x5737) /* <CJK */
+MAP(0x54, 0x2B, 0x5738) /* <CJK */
+MAP(0x54, 0x2C, 0x574E) /* <CJK */
+MAP(0x54, 0x2D, 0x573B) /* <CJK */
+MAP(0x54, 0x2E, 0x5740) /* <CJK */
+MAP(0x54, 0x2F, 0x574F) /* <CJK */
+MAP(0x54, 0x30, 0x5769) /* <CJK */
+MAP(0x54, 0x31, 0x57C0) /* <CJK */
+MAP(0x54, 0x32, 0x5788) /* <CJK */
+MAP(0x54, 0x33, 0x5761) /* <CJK */
+MAP(0x54, 0x34, 0x577F) /* <CJK */
+MAP(0x54, 0x35, 0x5789) /* <CJK */
+MAP(0x54, 0x36, 0x5793) /* <CJK */
+MAP(0x54, 0x37, 0x57A0) /* <CJK */
+MAP(0x54, 0x38, 0x57B3) /* <CJK */
+MAP(0x54, 0x39, 0x57A4) /* <CJK */
+MAP(0x54, 0x3A, 0x57AA) /* <CJK */
+MAP(0x54, 0x3B, 0x57B0) /* <CJK */
+MAP(0x54, 0x3C, 0x57C3) /* <CJK */
+MAP(0x54, 0x3D, 0x57C6) /* <CJK */
+MAP(0x54, 0x3E, 0x57D4) /* <CJK */
+MAP(0x54, 0x3F, 0x57D2) /* <CJK */
+MAP(0x54, 0x40, 0x57D3) /* <CJK */
+MAP(0x54, 0x41, 0x580A) /* <CJK */
+MAP(0x54, 0x42, 0x57D6) /* <CJK */
+MAP(0x54, 0x43, 0x57E3) /* <CJK */
+MAP(0x54, 0x44, 0x580B) /* <CJK */
+MAP(0x54, 0x45, 0x5819) /* <CJK */
+MAP(0x54, 0x46, 0x581D) /* <CJK */
+MAP(0x54, 0x47, 0x5872) /* <CJK */
+MAP(0x54, 0x48, 0x5821) /* <CJK */
+MAP(0x54, 0x49, 0x5862) /* <CJK */
+MAP(0x54, 0x4A, 0x584B) /* <CJK */
+MAP(0x54, 0x4B, 0x5870) /* <CJK */
+MAP(0x54, 0x4C, 0x6BC0) /* <CJK */
+MAP(0x54, 0x4D, 0x5852) /* <CJK */
+MAP(0x54, 0x4E, 0x583D) /* <CJK */
+MAP(0x54, 0x4F, 0x5879) /* <CJK */
+MAP(0x54, 0x50, 0x5885) /* <CJK */
+MAP(0x54, 0x51, 0x58B9) /* <CJK */
+MAP(0x54, 0x52, 0x589F) /* <CJK */
+MAP(0x54, 0x53, 0x58AB) /* <CJK */
+MAP(0x54, 0x54, 0x58BA) /* <CJK */
+MAP(0x54, 0x55, 0x58DE) /* <CJK */
+MAP(0x54, 0x56, 0x58BB) /* <CJK */
+MAP(0x54, 0x57, 0x58B8) /* <CJK */
+MAP(0x54, 0x58, 0x58AE) /* <CJK */
+MAP(0x54, 0x59, 0x58C5) /* <CJK */
+MAP(0x54, 0x5A, 0x58D3) /* <CJK */
+MAP(0x54, 0x5B, 0x58D1) /* <CJK */
+MAP(0x54, 0x5C, 0x58D7) /* <CJK */
+MAP(0x54, 0x5D, 0x58D9) /* <CJK */
+MAP(0x54, 0x5E, 0x58D8) /* <CJK */
+MAP(0x54, 0x5F, 0x58E5) /* <CJK */
+MAP(0x54, 0x60, 0x58DC) /* <CJK */
+MAP(0x54, 0x61, 0x58E4) /* <CJK */
+MAP(0x54, 0x62, 0x58DF) /* <CJK */
+MAP(0x54, 0x63, 0x58EF) /* <CJK */
+MAP(0x54, 0x64, 0x58FA) /* <CJK */
+MAP(0x54, 0x65, 0x58F9) /* <CJK */
+MAP(0x54, 0x66, 0x58FB) /* <CJK */
+MAP(0x54, 0x67, 0x58FC) /* <CJK */
+MAP(0x54, 0x68, 0x58FD) /* <CJK */
+MAP(0x54, 0x69, 0x5902) /* <CJK */
+MAP(0x54, 0x6A, 0x590A) /* <CJK */
+MAP(0x54, 0x6B, 0x5910) /* <CJK */
+MAP(0x54, 0x6C, 0x591B) /* <CJK */
+MAP(0x54, 0x6D, 0x68A6) /* <CJK */
+MAP(0x54, 0x6E, 0x5925) /* <CJK */
+MAP(0x54, 0x6F, 0x592C) /* <CJK */
+MAP(0x54, 0x70, 0x592D) /* <CJK */
+MAP(0x54, 0x71, 0x5932) /* <CJK */
+MAP(0x54, 0x72, 0x5938) /* <CJK */
+MAP(0x54, 0x73, 0x593E) /* <CJK */
+MAP(0x54, 0x74, 0x7AD2) /* <CJK */
+MAP(0x54, 0x75, 0x5955) /* <CJK */
+MAP(0x54, 0x76, 0x5950) /* <CJK */
+MAP(0x54, 0x77, 0x594E) /* <CJK */
+MAP(0x54, 0x78, 0x595A) /* <CJK */
+MAP(0x54, 0x79, 0x5958) /* <CJK */
+MAP(0x54, 0x7A, 0x5962) /* <CJK */
+MAP(0x54, 0x7B, 0x5960) /* <CJK */
+MAP(0x54, 0x7C, 0x5967) /* <CJK */
+MAP(0x54, 0x7D, 0x596C) /* <CJK */
+MAP(0x54, 0x7E, 0x5969) /* <CJK */
+MAP(0x55, 0x21, 0x5978) /* <CJK */
+MAP(0x55, 0x22, 0x5981) /* <CJK */
+MAP(0x55, 0x23, 0x599D) /* <CJK */
+MAP(0x55, 0x24, 0x4F5E) /* <CJK */
+MAP(0x55, 0x25, 0x4FAB) /* <CJK */
+MAP(0x55, 0x26, 0x59A3) /* <CJK */
+MAP(0x55, 0x27, 0x59B2) /* <CJK */
+MAP(0x55, 0x28, 0x59C6) /* <CJK */
+MAP(0x55, 0x29, 0x59E8) /* <CJK */
+MAP(0x55, 0x2A, 0x59DC) /* <CJK */
+MAP(0x55, 0x2B, 0x598D) /* <CJK */
+MAP(0x55, 0x2C, 0x59D9) /* <CJK */
+MAP(0x55, 0x2D, 0x59DA) /* <CJK */
+MAP(0x55, 0x2E, 0x5A25) /* <CJK */
+MAP(0x55, 0x2F, 0x5A1F) /* <CJK */
+MAP(0x55, 0x30, 0x5A11) /* <CJK */
+MAP(0x55, 0x31, 0x5A1C) /* <CJK */
+MAP(0x55, 0x32, 0x5A09) /* <CJK */
+MAP(0x55, 0x33, 0x5A1A) /* <CJK */
+MAP(0x55, 0x34, 0x5A40) /* <CJK */
+MAP(0x55, 0x35, 0x5A6C) /* <CJK */
+MAP(0x55, 0x36, 0x5A49) /* <CJK */
+MAP(0x55, 0x37, 0x5A35) /* <CJK */
+MAP(0x55, 0x38, 0x5A36) /* <CJK */
+MAP(0x55, 0x39, 0x5A62) /* <CJK */
+MAP(0x55, 0x3A, 0x5A6A) /* <CJK */
+MAP(0x55, 0x3B, 0x5A9A) /* <CJK */
+MAP(0x55, 0x3C, 0x5ABC) /* <CJK */
+MAP(0x55, 0x3D, 0x5ABE) /* <CJK */
+MAP(0x55, 0x3E, 0x5ACB) /* <CJK */
+MAP(0x55, 0x3F, 0x5AC2) /* <CJK */
+MAP(0x55, 0x40, 0x5ABD) /* <CJK */
+MAP(0x55, 0x41, 0x5AE3) /* <CJK */
+MAP(0x55, 0x42, 0x5AD7) /* <CJK */
+MAP(0x55, 0x43, 0x5AE6) /* <CJK */
+MAP(0x55, 0x44, 0x5AE9) /* <CJK */
+MAP(0x55, 0x45, 0x5AD6) /* <CJK */
+MAP(0x55, 0x46, 0x5AFA) /* <CJK */
+MAP(0x55, 0x47, 0x5AFB) /* <CJK */
+MAP(0x55, 0x48, 0x5B0C) /* <CJK */
+MAP(0x55, 0x49, 0x5B0B) /* <CJK */
+MAP(0x55, 0x4A, 0x5B16) /* <CJK */
+MAP(0x55, 0x4B, 0x5B32) /* <CJK */
+MAP(0x55, 0x4C, 0x5AD0) /* <CJK */
+MAP(0x55, 0x4D, 0x5B2A) /* <CJK */
+MAP(0x55, 0x4E, 0x5B36) /* <CJK */
+MAP(0x55, 0x4F, 0x5B3E) /* <CJK */
+MAP(0x55, 0x50, 0x5B43) /* <CJK */
+MAP(0x55, 0x51, 0x5B45) /* <CJK */
+MAP(0x55, 0x52, 0x5B40) /* <CJK */
+MAP(0x55, 0x53, 0x5B51) /* <CJK */
+MAP(0x55, 0x54, 0x5B55) /* <CJK */
+MAP(0x55, 0x55, 0x5B5A) /* <CJK */
+MAP(0x55, 0x56, 0x5B5B) /* <CJK */
+MAP(0x55, 0x57, 0x5B65) /* <CJK */
+MAP(0x55, 0x58, 0x5B69) /* <CJK */
+MAP(0x55, 0x59, 0x5B70) /* <CJK */
+MAP(0x55, 0x5A, 0x5B73) /* <CJK */
+MAP(0x55, 0x5B, 0x5B75) /* <CJK */
+MAP(0x55, 0x5C, 0x5B78) /* <CJK */
+MAP(0x55, 0x5D, 0x6588) /* <CJK */
+MAP(0x55, 0x5E, 0x5B7A) /* <CJK */
+MAP(0x55, 0x5F, 0x5B80) /* <CJK */
+MAP(0x55, 0x60, 0x5B83) /* <CJK */
+MAP(0x55, 0x61, 0x5BA6) /* <CJK */
+MAP(0x55, 0x62, 0x5BB8) /* <CJK */
+MAP(0x55, 0x63, 0x5BC3) /* <CJK */
+MAP(0x55, 0x64, 0x5BC7) /* <CJK */
+MAP(0x55, 0x65, 0x5BC9) /* <CJK */
+MAP(0x55, 0x66, 0x5BD4) /* <CJK */
+MAP(0x55, 0x67, 0x5BD0) /* <CJK */
+MAP(0x55, 0x68, 0x5BE4) /* <CJK */
+MAP(0x55, 0x69, 0x5BE6) /* <CJK */
+MAP(0x55, 0x6A, 0x5BE2) /* <CJK */
+MAP(0x55, 0x6B, 0x5BDE) /* <CJK */
+MAP(0x55, 0x6C, 0x5BE5) /* <CJK */
+MAP(0x55, 0x6D, 0x5BEB) /* <CJK */
+MAP(0x55, 0x6E, 0x5BF0) /* <CJK */
+MAP(0x55, 0x6F, 0x5BF6) /* <CJK */
+MAP(0x55, 0x70, 0x5BF3) /* <CJK */
+MAP(0x55, 0x71, 0x5C05) /* <CJK */
+MAP(0x55, 0x72, 0x5C07) /* <CJK */
+MAP(0x55, 0x73, 0x5C08) /* <CJK */
+MAP(0x55, 0x74, 0x5C0D) /* <CJK */
+MAP(0x55, 0x75, 0x5C13) /* <CJK */
+MAP(0x55, 0x76, 0x5C20) /* <CJK */
+MAP(0x55, 0x77, 0x5C22) /* <CJK */
+MAP(0x55, 0x78, 0x5C28) /* <CJK */
+MAP(0x55, 0x79, 0x5C38) /* <CJK */
+MAP(0x55, 0x7A, 0x5C39) /* <CJK */
+MAP(0x55, 0x7B, 0x5C41) /* <CJK */
+MAP(0x55, 0x7C, 0x5C46) /* <CJK */
+MAP(0x55, 0x7D, 0x5C4E) /* <CJK */
+MAP(0x55, 0x7E, 0x5C53) /* <CJK */
+MAP(0x56, 0x21, 0x5C50) /* <CJK */
+MAP(0x56, 0x22, 0x5C4F) /* <CJK */
+MAP(0x56, 0x23, 0x5B71) /* <CJK */
+MAP(0x56, 0x24, 0x5C6C) /* <CJK */
+MAP(0x56, 0x25, 0x5C6E) /* <CJK */
+MAP(0x56, 0x26, 0x4E62) /* <CJK */
+MAP(0x56, 0x27, 0x5C76) /* <CJK */
+MAP(0x56, 0x28, 0x5C79) /* <CJK */
+MAP(0x56, 0x29, 0x5C8C) /* <CJK */
+MAP(0x56, 0x2A, 0x5C91) /* <CJK */
+MAP(0x56, 0x2B, 0x5C94) /* <CJK */
+MAP(0x56, 0x2C, 0x599B) /* <CJK */
+MAP(0x56, 0x2D, 0x5CAB) /* <CJK */
+MAP(0x56, 0x2E, 0x5CBB) /* <CJK */
+MAP(0x56, 0x2F, 0x5CB6) /* <CJK */
+MAP(0x56, 0x30, 0x5CBC) /* <CJK */
+MAP(0x56, 0x31, 0x5CB7) /* <CJK */
+MAP(0x56, 0x32, 0x5CC5) /* <CJK */
+MAP(0x56, 0x33, 0x5CBE) /* <CJK */
+MAP(0x56, 0x34, 0x5CC7) /* <CJK */
+MAP(0x56, 0x35, 0x5CD9) /* <CJK */
+MAP(0x56, 0x36, 0x5CE9) /* <CJK */
+MAP(0x56, 0x37, 0x5CFD) /* <CJK */
+MAP(0x56, 0x38, 0x5CFA) /* <CJK */
+MAP(0x56, 0x39, 0x5CED) /* <CJK */
+MAP(0x56, 0x3A, 0x5D8C) /* <CJK */
+MAP(0x56, 0x3B, 0x5CEA) /* <CJK */
+MAP(0x56, 0x3C, 0x5D0B) /* <CJK */
+MAP(0x56, 0x3D, 0x5D15) /* <CJK */
+MAP(0x56, 0x3E, 0x5D17) /* <CJK */
+MAP(0x56, 0x3F, 0x5D5C) /* <CJK */
+MAP(0x56, 0x40, 0x5D1F) /* <CJK */
+MAP(0x56, 0x41, 0x5D1B) /* <CJK */
+MAP(0x56, 0x42, 0x5D11) /* <CJK */
+MAP(0x56, 0x43, 0x5D14) /* <CJK */
+MAP(0x56, 0x44, 0x5D22) /* <CJK */
+MAP(0x56, 0x45, 0x5D1A) /* <CJK */
+MAP(0x56, 0x46, 0x5D19) /* <CJK */
+MAP(0x56, 0x47, 0x5D18) /* <CJK */
+MAP(0x56, 0x48, 0x5D4C) /* <CJK */
+MAP(0x56, 0x49, 0x5D52) /* <CJK */
+MAP(0x56, 0x4A, 0x5D4E) /* <CJK */
+MAP(0x56, 0x4B, 0x5D4B) /* <CJK */
+MAP(0x56, 0x4C, 0x5D6C) /* <CJK */
+MAP(0x56, 0x4D, 0x5D73) /* <CJK */
+MAP(0x56, 0x4E, 0x5D76) /* <CJK */
+MAP(0x56, 0x4F, 0x5D87) /* <CJK */
+MAP(0x56, 0x50, 0x5D84) /* <CJK */
+MAP(0x56, 0x51, 0x5D82) /* <CJK */
+MAP(0x56, 0x52, 0x5DA2) /* <CJK */
+MAP(0x56, 0x53, 0x5D9D) /* <CJK */
+MAP(0x56, 0x54, 0x5DAC) /* <CJK */
+MAP(0x56, 0x55, 0x5DAE) /* <CJK */
+MAP(0x56, 0x56, 0x5DBD) /* <CJK */
+MAP(0x56, 0x57, 0x5D90) /* <CJK */
+MAP(0x56, 0x58, 0x5DB7) /* <CJK */
+MAP(0x56, 0x59, 0x5DBC) /* <CJK */
+MAP(0x56, 0x5A, 0x5DC9) /* <CJK */
+MAP(0x56, 0x5B, 0x5DCD) /* <CJK */
+MAP(0x56, 0x5C, 0x5DD3) /* <CJK */
+MAP(0x56, 0x5D, 0x5DD2) /* <CJK */
+MAP(0x56, 0x5E, 0x5DD6) /* <CJK */
+MAP(0x56, 0x5F, 0x5DDB) /* <CJK */
+MAP(0x56, 0x60, 0x5DEB) /* <CJK */
+MAP(0x56, 0x61, 0x5DF2) /* <CJK */
+MAP(0x56, 0x62, 0x5DF5) /* <CJK */
+MAP(0x56, 0x63, 0x5E0B) /* <CJK */
+MAP(0x56, 0x64, 0x5E1A) /* <CJK */
+MAP(0x56, 0x65, 0x5E19) /* <CJK */
+MAP(0x56, 0x66, 0x5E11) /* <CJK */
+MAP(0x56, 0x67, 0x5E1B) /* <CJK */
+MAP(0x56, 0x68, 0x5E36) /* <CJK */
+MAP(0x56, 0x69, 0x5E37) /* <CJK */
+MAP(0x56, 0x6A, 0x5E44) /* <CJK */
+MAP(0x56, 0x6B, 0x5E43) /* <CJK */
+MAP(0x56, 0x6C, 0x5E40) /* <CJK */
+MAP(0x56, 0x6D, 0x5E4E) /* <CJK */
+MAP(0x56, 0x6E, 0x5E57) /* <CJK */
+MAP(0x56, 0x6F, 0x5E54) /* <CJK */
+MAP(0x56, 0x70, 0x5E5F) /* <CJK */
+MAP(0x56, 0x71, 0x5E62) /* <CJK */
+MAP(0x56, 0x72, 0x5E64) /* <CJK */
+MAP(0x56, 0x73, 0x5E47) /* <CJK */
+MAP(0x56, 0x74, 0x5E75) /* <CJK */
+MAP(0x56, 0x75, 0x5E76) /* <CJK */
+MAP(0x56, 0x76, 0x5E7A) /* <CJK */
+MAP(0x56, 0x77, 0x9EBC) /* <CJK */
+MAP(0x56, 0x78, 0x5E7F) /* <CJK */
+MAP(0x56, 0x79, 0x5EA0) /* <CJK */
+MAP(0x56, 0x7A, 0x5EC1) /* <CJK */
+MAP(0x56, 0x7B, 0x5EC2) /* <CJK */
+MAP(0x56, 0x7C, 0x5EC8) /* <CJK */
+MAP(0x56, 0x7D, 0x5ED0) /* <CJK */
+MAP(0x56, 0x7E, 0x5ECF) /* <CJK */
+MAP(0x57, 0x21, 0x5ED6) /* <CJK */
+MAP(0x57, 0x22, 0x5EE3) /* <CJK */
+MAP(0x57, 0x23, 0x5EDD) /* <CJK */
+MAP(0x57, 0x24, 0x5EDA) /* <CJK */
+MAP(0x57, 0x25, 0x5EDB) /* <CJK */
+MAP(0x57, 0x26, 0x5EE2) /* <CJK */
+MAP(0x57, 0x27, 0x5EE1) /* <CJK */
+MAP(0x57, 0x28, 0x5EE8) /* <CJK */
+MAP(0x57, 0x29, 0x5EE9) /* <CJK */
+MAP(0x57, 0x2A, 0x5EEC) /* <CJK */
+MAP(0x57, 0x2B, 0x5EF1) /* <CJK */
+MAP(0x57, 0x2C, 0x5EF3) /* <CJK */
+MAP(0x57, 0x2D, 0x5EF0) /* <CJK */
+MAP(0x57, 0x2E, 0x5EF4) /* <CJK */
+MAP(0x57, 0x2F, 0x5EF8) /* <CJK */
+MAP(0x57, 0x30, 0x5EFE) /* <CJK */
+MAP(0x57, 0x31, 0x5F03) /* <CJK */
+MAP(0x57, 0x32, 0x5F09) /* <CJK */
+MAP(0x57, 0x33, 0x5F5D) /* <CJK */
+MAP(0x57, 0x34, 0x5F5C) /* <CJK */
+MAP(0x57, 0x35, 0x5F0B) /* <CJK */
+MAP(0x57, 0x36, 0x5F11) /* <CJK */
+MAP(0x57, 0x37, 0x5F16) /* <CJK */
+MAP(0x57, 0x38, 0x5F29) /* <CJK */
+MAP(0x57, 0x39, 0x5F2D) /* <CJK */
+MAP(0x57, 0x3A, 0x5F38) /* <CJK */
+MAP(0x57, 0x3B, 0x5F41) /* <CJK */
+MAP(0x57, 0x3C, 0x5F48) /* <CJK */
+MAP(0x57, 0x3D, 0x5F4C) /* <CJK */
+MAP(0x57, 0x3E, 0x5F4E) /* <CJK */
+MAP(0x57, 0x3F, 0x5F2F) /* <CJK */
+MAP(0x57, 0x40, 0x5F51) /* <CJK */
+MAP(0x57, 0x41, 0x5F56) /* <CJK */
+MAP(0x57, 0x42, 0x5F57) /* <CJK */
+MAP(0x57, 0x43, 0x5F59) /* <CJK */
+MAP(0x57, 0x44, 0x5F61) /* <CJK */
+MAP(0x57, 0x45, 0x5F6D) /* <CJK */
+MAP(0x57, 0x46, 0x5F73) /* <CJK */
+MAP(0x57, 0x47, 0x5F77) /* <CJK */
+MAP(0x57, 0x48, 0x5F83) /* <CJK */
+MAP(0x57, 0x49, 0x5F82) /* <CJK */
+MAP(0x57, 0x4A, 0x5F7F) /* <CJK */
+MAP(0x57, 0x4B, 0x5F8A) /* <CJK */
+MAP(0x57, 0x4C, 0x5F88) /* <CJK */
+MAP(0x57, 0x4D, 0x5F91) /* <CJK */
+MAP(0x57, 0x4E, 0x5F87) /* <CJK */
+MAP(0x57, 0x4F, 0x5F9E) /* <CJK */
+MAP(0x57, 0x50, 0x5F99) /* <CJK */
+MAP(0x57, 0x51, 0x5F98) /* <CJK */
+MAP(0x57, 0x52, 0x5FA0) /* <CJK */
+MAP(0x57, 0x53, 0x5FA8) /* <CJK */
+MAP(0x57, 0x54, 0x5FAD) /* <CJK */
+MAP(0x57, 0x55, 0x5FBC) /* <CJK */
+MAP(0x57, 0x56, 0x5FD6) /* <CJK */
+MAP(0x57, 0x57, 0x5FFB) /* <CJK */
+MAP(0x57, 0x58, 0x5FE4) /* <CJK */
+MAP(0x57, 0x59, 0x5FF8) /* <CJK */
+MAP(0x57, 0x5A, 0x5FF1) /* <CJK */
+MAP(0x57, 0x5B, 0x5FDD) /* <CJK */
+MAP(0x57, 0x5C, 0x60B3) /* <CJK */
+MAP(0x57, 0x5D, 0x5FFF) /* <CJK */
+MAP(0x57, 0x5E, 0x6021) /* <CJK */
+MAP(0x57, 0x5F, 0x6060) /* <CJK */
+MAP(0x57, 0x60, 0x6019) /* <CJK */
+MAP(0x57, 0x61, 0x6010) /* <CJK */
+MAP(0x57, 0x62, 0x6029) /* <CJK */
+MAP(0x57, 0x63, 0x600E) /* <CJK */
+MAP(0x57, 0x64, 0x6031) /* <CJK */
+MAP(0x57, 0x65, 0x601B) /* <CJK */
+MAP(0x57, 0x66, 0x6015) /* <CJK */
+MAP(0x57, 0x67, 0x602B) /* <CJK */
+MAP(0x57, 0x68, 0x6026) /* <CJK */
+MAP(0x57, 0x69, 0x600F) /* <CJK */
+MAP(0x57, 0x6A, 0x603A) /* <CJK */
+MAP(0x57, 0x6B, 0x605A) /* <CJK */
+MAP(0x57, 0x6C, 0x6041) /* <CJK */
+MAP(0x57, 0x6D, 0x606A) /* <CJK */
+MAP(0x57, 0x6E, 0x6077) /* <CJK */
+MAP(0x57, 0x6F, 0x605F) /* <CJK */
+MAP(0x57, 0x70, 0x604A) /* <CJK */
+MAP(0x57, 0x71, 0x6046) /* <CJK */
+MAP(0x57, 0x72, 0x604D) /* <CJK */
+MAP(0x57, 0x73, 0x6063) /* <CJK */
+MAP(0x57, 0x74, 0x6043) /* <CJK */
+MAP(0x57, 0x75, 0x6064) /* <CJK */
+MAP(0x57, 0x76, 0x6042) /* <CJK */
+MAP(0x57, 0x77, 0x606C) /* <CJK */
+MAP(0x57, 0x78, 0x606B) /* <CJK */
+MAP(0x57, 0x79, 0x6059) /* <CJK */
+MAP(0x57, 0x7A, 0x6081) /* <CJK */
+MAP(0x57, 0x7B, 0x608D) /* <CJK */
+MAP(0x57, 0x7C, 0x60E7) /* <CJK */
+MAP(0x57, 0x7D, 0x6083) /* <CJK */
+MAP(0x57, 0x7E, 0x609A) /* <CJK */
+MAP(0x58, 0x21, 0x6084) /* <CJK */
+MAP(0x58, 0x22, 0x609B) /* <CJK */
+MAP(0x58, 0x23, 0x6096) /* <CJK */
+MAP(0x58, 0x24, 0x6097) /* <CJK */
+MAP(0x58, 0x25, 0x6092) /* <CJK */
+MAP(0x58, 0x26, 0x60A7) /* <CJK */
+MAP(0x58, 0x27, 0x608B) /* <CJK */
+MAP(0x58, 0x28, 0x60E1) /* <CJK */
+MAP(0x58, 0x29, 0x60B8) /* <CJK */
+MAP(0x58, 0x2A, 0x60E0) /* <CJK */
+MAP(0x58, 0x2B, 0x60D3) /* <CJK */
+MAP(0x58, 0x2C, 0x60B4) /* <CJK */
+MAP(0x58, 0x2D, 0x5FF0) /* <CJK */
+MAP(0x58, 0x2E, 0x60BD) /* <CJK */
+MAP(0x58, 0x2F, 0x60C6) /* <CJK */
+MAP(0x58, 0x30, 0x60B5) /* <CJK */
+MAP(0x58, 0x31, 0x60D8) /* <CJK */
+MAP(0x58, 0x32, 0x614D) /* <CJK */
+MAP(0x58, 0x33, 0x6115) /* <CJK */
+MAP(0x58, 0x34, 0x6106) /* <CJK */
+MAP(0x58, 0x35, 0x60F6) /* <CJK */
+MAP(0x58, 0x36, 0x60F7) /* <CJK */
+MAP(0x58, 0x37, 0x6100) /* <CJK */
+MAP(0x58, 0x38, 0x60F4) /* <CJK */
+MAP(0x58, 0x39, 0x60FA) /* <CJK */
+MAP(0x58, 0x3A, 0x6103) /* <CJK */
+MAP(0x58, 0x3B, 0x6121) /* <CJK */
+MAP(0x58, 0x3C, 0x60FB) /* <CJK */
+MAP(0x58, 0x3D, 0x60F1) /* <CJK */
+MAP(0x58, 0x3E, 0x610D) /* <CJK */
+MAP(0x58, 0x3F, 0x610E) /* <CJK */
+MAP(0x58, 0x40, 0x6147) /* <CJK */
+MAP(0x58, 0x41, 0x613E) /* <CJK */
+MAP(0x58, 0x42, 0x6128) /* <CJK */
+MAP(0x58, 0x43, 0x6127) /* <CJK */
+MAP(0x58, 0x44, 0x614A) /* <CJK */
+MAP(0x58, 0x45, 0x613F) /* <CJK */
+MAP(0x58, 0x46, 0x613C) /* <CJK */
+MAP(0x58, 0x47, 0x612C) /* <CJK */
+MAP(0x58, 0x48, 0x6134) /* <CJK */
+MAP(0x58, 0x49, 0x613D) /* <CJK */
+MAP(0x58, 0x4A, 0x6142) /* <CJK */
+MAP(0x58, 0x4B, 0x6144) /* <CJK */
+MAP(0x58, 0x4C, 0x6173) /* <CJK */
+MAP(0x58, 0x4D, 0x6177) /* <CJK */
+MAP(0x58, 0x4E, 0x6158) /* <CJK */
+MAP(0x58, 0x4F, 0x6159) /* <CJK */
+MAP(0x58, 0x50, 0x615A) /* <CJK */
+MAP(0x58, 0x51, 0x616B) /* <CJK */
+MAP(0x58, 0x52, 0x6174) /* <CJK */
+MAP(0x58, 0x53, 0x616F) /* <CJK */
+MAP(0x58, 0x54, 0x6165) /* <CJK */
+MAP(0x58, 0x55, 0x6171) /* <CJK */
+MAP(0x58, 0x56, 0x615F) /* <CJK */
+MAP(0x58, 0x57, 0x615D) /* <CJK */
+MAP(0x58, 0x58, 0x6153) /* <CJK */
+MAP(0x58, 0x59, 0x6175) /* <CJK */
+MAP(0x58, 0x5A, 0x6199) /* <CJK */
+MAP(0x58, 0x5B, 0x6196) /* <CJK */
+MAP(0x58, 0x5C, 0x6187) /* <CJK */
+MAP(0x58, 0x5D, 0x61AC) /* <CJK */
+MAP(0x58, 0x5E, 0x6194) /* <CJK */
+MAP(0x58, 0x5F, 0x619A) /* <CJK */
+MAP(0x58, 0x60, 0x618A) /* <CJK */
+MAP(0x58, 0x61, 0x6191) /* <CJK */
+MAP(0x58, 0x62, 0x61AB) /* <CJK */
+MAP(0x58, 0x63, 0x61AE) /* <CJK */
+MAP(0x58, 0x64, 0x61CC) /* <CJK */
+MAP(0x58, 0x65, 0x61CA) /* <CJK */
+MAP(0x58, 0x66, 0x61C9) /* <CJK */
+MAP(0x58, 0x67, 0x61F7) /* <CJK */
+MAP(0x58, 0x68, 0x61C8) /* <CJK */
+MAP(0x58, 0x69, 0x61C3) /* <CJK */
+MAP(0x58, 0x6A, 0x61C6) /* <CJK */
+MAP(0x58, 0x6B, 0x61BA) /* <CJK */
+MAP(0x58, 0x6C, 0x61CB) /* <CJK */
+MAP(0x58, 0x6D, 0x7F79) /* <CJK */
+MAP(0x58, 0x6E, 0x61CD) /* <CJK */
+MAP(0x58, 0x6F, 0x61E6) /* <CJK */
+MAP(0x58, 0x70, 0x61E3) /* <CJK */
+MAP(0x58, 0x71, 0x61F6) /* <CJK */
+MAP(0x58, 0x72, 0x61FA) /* <CJK */
+MAP(0x58, 0x73, 0x61F4) /* <CJK */
+MAP(0x58, 0x74, 0x61FF) /* <CJK */
+MAP(0x58, 0x75, 0x61FD) /* <CJK */
+MAP(0x58, 0x76, 0x61FC) /* <CJK */
+MAP(0x58, 0x77, 0x61FE) /* <CJK */
+MAP(0x58, 0x78, 0x6200) /* <CJK */
+MAP(0x58, 0x79, 0x6208) /* <CJK */
+MAP(0x58, 0x7A, 0x6209) /* <CJK */
+MAP(0x58, 0x7B, 0x620D) /* <CJK */
+MAP(0x58, 0x7C, 0x620C) /* <CJK */
+MAP(0x58, 0x7D, 0x6214) /* <CJK */
+MAP(0x58, 0x7E, 0x621B) /* <CJK */
+MAP(0x59, 0x21, 0x621E) /* <CJK */
+MAP(0x59, 0x22, 0x6221) /* <CJK */
+MAP(0x59, 0x23, 0x622A) /* <CJK */
+MAP(0x59, 0x24, 0x622E) /* <CJK */
+MAP(0x59, 0x25, 0x6230) /* <CJK */
+MAP(0x59, 0x26, 0x6232) /* <CJK */
+MAP(0x59, 0x27, 0x6233) /* <CJK */
+MAP(0x59, 0x28, 0x6241) /* <CJK */
+MAP(0x59, 0x29, 0x624E) /* <CJK */
+MAP(0x59, 0x2A, 0x625E) /* <CJK */
+MAP(0x59, 0x2B, 0x6263) /* <CJK */
+MAP(0x59, 0x2C, 0x625B) /* <CJK */
+MAP(0x59, 0x2D, 0x6260) /* <CJK */
+MAP(0x59, 0x2E, 0x6268) /* <CJK */
+MAP(0x59, 0x2F, 0x627C) /* <CJK */
+MAP(0x59, 0x30, 0x6282) /* <CJK */
+MAP(0x59, 0x31, 0x6289) /* <CJK */
+MAP(0x59, 0x32, 0x627E) /* <CJK */
+MAP(0x59, 0x33, 0x6292) /* <CJK */
+MAP(0x59, 0x34, 0x6293) /* <CJK */
+MAP(0x59, 0x35, 0x6296) /* <CJK */
+MAP(0x59, 0x36, 0x62D4) /* <CJK */
+MAP(0x59, 0x37, 0x6283) /* <CJK */
+MAP(0x59, 0x38, 0x6294) /* <CJK */
+MAP(0x59, 0x39, 0x62D7) /* <CJK */
+MAP(0x59, 0x3A, 0x62D1) /* <CJK */
+MAP(0x59, 0x3B, 0x62BB) /* <CJK */
+MAP(0x59, 0x3C, 0x62CF) /* <CJK */
+MAP(0x59, 0x3D, 0x62FF) /* <CJK */
+MAP(0x59, 0x3E, 0x62C6) /* <CJK */
+MAP(0x59, 0x3F, 0x64D4) /* <CJK */
+MAP(0x59, 0x40, 0x62C8) /* <CJK */
+MAP(0x59, 0x41, 0x62DC) /* <CJK */
+MAP(0x59, 0x42, 0x62CC) /* <CJK */
+MAP(0x59, 0x43, 0x62CA) /* <CJK */
+MAP(0x59, 0x44, 0x62C2) /* <CJK */
+MAP(0x59, 0x45, 0x62C7) /* <CJK */
+MAP(0x59, 0x46, 0x629B) /* <CJK */
+MAP(0x59, 0x47, 0x62C9) /* <CJK */
+MAP(0x59, 0x48, 0x630C) /* <CJK */
+MAP(0x59, 0x49, 0x62EE) /* <CJK */
+MAP(0x59, 0x4A, 0x62F1) /* <CJK */
+MAP(0x59, 0x4B, 0x6327) /* <CJK */
+MAP(0x59, 0x4C, 0x6302) /* <CJK */
+MAP(0x59, 0x4D, 0x6308) /* <CJK */
+MAP(0x59, 0x4E, 0x62EF) /* <CJK */
+MAP(0x59, 0x4F, 0x62F5) /* <CJK */
+MAP(0x59, 0x50, 0x6350) /* <CJK */
+MAP(0x59, 0x51, 0x633E) /* <CJK */
+MAP(0x59, 0x52, 0x634D) /* <CJK */
+MAP(0x59, 0x53, 0x641C) /* <CJK */
+MAP(0x59, 0x54, 0x634F) /* <CJK */
+MAP(0x59, 0x55, 0x6396) /* <CJK */
+MAP(0x59, 0x56, 0x638E) /* <CJK */
+MAP(0x59, 0x57, 0x6380) /* <CJK */
+MAP(0x59, 0x58, 0x63AB) /* <CJK */
+MAP(0x59, 0x59, 0x6376) /* <CJK */
+MAP(0x59, 0x5A, 0x63A3) /* <CJK */
+MAP(0x59, 0x5B, 0x638F) /* <CJK */
+MAP(0x59, 0x5C, 0x6389) /* <CJK */
+MAP(0x59, 0x5D, 0x639F) /* <CJK */
+MAP(0x59, 0x5E, 0x63B5) /* <CJK */
+MAP(0x59, 0x5F, 0x636B) /* <CJK */
+MAP(0x59, 0x60, 0x6369) /* <CJK */
+MAP(0x59, 0x61, 0x63BE) /* <CJK */
+MAP(0x59, 0x62, 0x63E9) /* <CJK */
+MAP(0x59, 0x63, 0x63C0) /* <CJK */
+MAP(0x59, 0x64, 0x63C6) /* <CJK */
+MAP(0x59, 0x65, 0x63E3) /* <CJK */
+MAP(0x59, 0x66, 0x63C9) /* <CJK */
+MAP(0x59, 0x67, 0x63D2) /* <CJK */
+MAP(0x59, 0x68, 0x63F6) /* <CJK */
+MAP(0x59, 0x69, 0x63C4) /* <CJK */
+MAP(0x59, 0x6A, 0x6416) /* <CJK */
+MAP(0x59, 0x6B, 0x6434) /* <CJK */
+MAP(0x59, 0x6C, 0x6406) /* <CJK */
+MAP(0x59, 0x6D, 0x6413) /* <CJK */
+MAP(0x59, 0x6E, 0x6426) /* <CJK */
+MAP(0x59, 0x6F, 0x6436) /* <CJK */
+MAP(0x59, 0x70, 0x651D) /* <CJK */
+MAP(0x59, 0x71, 0x6417) /* <CJK */
+MAP(0x59, 0x72, 0x6428) /* <CJK */
+MAP(0x59, 0x73, 0x640F) /* <CJK */
+MAP(0x59, 0x74, 0x6467) /* <CJK */
+MAP(0x59, 0x75, 0x646F) /* <CJK */
+MAP(0x59, 0x76, 0x6476) /* <CJK */
+MAP(0x59, 0x77, 0x644E) /* <CJK */
+MAP(0x59, 0x78, 0x652A) /* <CJK */
+MAP(0x59, 0x79, 0x6495) /* <CJK */
+MAP(0x59, 0x7A, 0x6493) /* <CJK */
+MAP(0x59, 0x7B, 0x64A5) /* <CJK */
+MAP(0x59, 0x7C, 0x64A9) /* <CJK */
+MAP(0x59, 0x7D, 0x6488) /* <CJK */
+MAP(0x59, 0x7E, 0x64BC) /* <CJK */
+MAP(0x5A, 0x21, 0x64DA) /* <CJK */
+MAP(0x5A, 0x22, 0x64D2) /* <CJK */
+MAP(0x5A, 0x23, 0x64C5) /* <CJK */
+MAP(0x5A, 0x24, 0x64C7) /* <CJK */
+MAP(0x5A, 0x25, 0x64BB) /* <CJK */
+MAP(0x5A, 0x26, 0x64D8) /* <CJK */
+MAP(0x5A, 0x27, 0x64C2) /* <CJK */
+MAP(0x5A, 0x28, 0x64F1) /* <CJK */
+MAP(0x5A, 0x29, 0x64E7) /* <CJK */
+MAP(0x5A, 0x2A, 0x8209) /* <CJK */
+MAP(0x5A, 0x2B, 0x64E0) /* <CJK */
+MAP(0x5A, 0x2C, 0x64E1) /* <CJK */
+MAP(0x5A, 0x2D, 0x62AC) /* <CJK */
+MAP(0x5A, 0x2E, 0x64E3) /* <CJK */
+MAP(0x5A, 0x2F, 0x64EF) /* <CJK */
+MAP(0x5A, 0x30, 0x652C) /* <CJK */
+MAP(0x5A, 0x31, 0x64F6) /* <CJK */
+MAP(0x5A, 0x32, 0x64F4) /* <CJK */
+MAP(0x5A, 0x33, 0x64F2) /* <CJK */
+MAP(0x5A, 0x34, 0x64FA) /* <CJK */
+MAP(0x5A, 0x35, 0x6500) /* <CJK */
+MAP(0x5A, 0x36, 0x64FD) /* <CJK */
+MAP(0x5A, 0x37, 0x6518) /* <CJK */
+MAP(0x5A, 0x38, 0x651C) /* <CJK */
+MAP(0x5A, 0x39, 0x6505) /* <CJK */
+MAP(0x5A, 0x3A, 0x6524) /* <CJK */
+MAP(0x5A, 0x3B, 0x6523) /* <CJK */
+MAP(0x5A, 0x3C, 0x652B) /* <CJK */
+MAP(0x5A, 0x3D, 0x6534) /* <CJK */
+MAP(0x5A, 0x3E, 0x6535) /* <CJK */
+MAP(0x5A, 0x3F, 0x6537) /* <CJK */
+MAP(0x5A, 0x40, 0x6536) /* <CJK */
+MAP(0x5A, 0x41, 0x6538) /* <CJK */
+MAP(0x5A, 0x42, 0x754B) /* <CJK */
+MAP(0x5A, 0x43, 0x6548) /* <CJK */
+MAP(0x5A, 0x44, 0x6556) /* <CJK */
+MAP(0x5A, 0x45, 0x6555) /* <CJK */
+MAP(0x5A, 0x46, 0x654D) /* <CJK */
+MAP(0x5A, 0x47, 0x6558) /* <CJK */
+MAP(0x5A, 0x48, 0x655E) /* <CJK */
+MAP(0x5A, 0x49, 0x655D) /* <CJK */
+MAP(0x5A, 0x4A, 0x6572) /* <CJK */
+MAP(0x5A, 0x4B, 0x6578) /* <CJK */
+MAP(0x5A, 0x4C, 0x6582) /* <CJK */
+MAP(0x5A, 0x4D, 0x6583) /* <CJK */
+MAP(0x5A, 0x4E, 0x8B8A) /* <CJK */
+MAP(0x5A, 0x4F, 0x659B) /* <CJK */
+MAP(0x5A, 0x50, 0x659F) /* <CJK */
+MAP(0x5A, 0x51, 0x65AB) /* <CJK */
+MAP(0x5A, 0x52, 0x65B7) /* <CJK */
+MAP(0x5A, 0x53, 0x65C3) /* <CJK */
+MAP(0x5A, 0x54, 0x65C6) /* <CJK */
+MAP(0x5A, 0x55, 0x65C1) /* <CJK */
+MAP(0x5A, 0x56, 0x65C4) /* <CJK */
+MAP(0x5A, 0x57, 0x65CC) /* <CJK */
+MAP(0x5A, 0x58, 0x65D2) /* <CJK */
+MAP(0x5A, 0x59, 0x65DB) /* <CJK */
+MAP(0x5A, 0x5A, 0x65D9) /* <CJK */
+MAP(0x5A, 0x5B, 0x65E0) /* <CJK */
+MAP(0x5A, 0x5C, 0x65E1) /* <CJK */
+MAP(0x5A, 0x5D, 0x65F1) /* <CJK */
+MAP(0x5A, 0x5E, 0x6772) /* <CJK */
+MAP(0x5A, 0x5F, 0x660A) /* <CJK */
+MAP(0x5A, 0x60, 0x6603) /* <CJK */
+MAP(0x5A, 0x61, 0x65FB) /* <CJK */
+MAP(0x5A, 0x62, 0x6773) /* <CJK */
+MAP(0x5A, 0x63, 0x6635) /* <CJK */
+MAP(0x5A, 0x64, 0x6636) /* <CJK */
+MAP(0x5A, 0x65, 0x6634) /* <CJK */
+MAP(0x5A, 0x66, 0x661C) /* <CJK */
+MAP(0x5A, 0x67, 0x664F) /* <CJK */
+MAP(0x5A, 0x68, 0x6644) /* <CJK */
+MAP(0x5A, 0x69, 0x6649) /* <CJK */
+MAP(0x5A, 0x6A, 0x6641) /* <CJK */
+MAP(0x5A, 0x6B, 0x665E) /* <CJK */
+MAP(0x5A, 0x6C, 0x665D) /* <CJK */
+MAP(0x5A, 0x6D, 0x6664) /* <CJK */
+MAP(0x5A, 0x6E, 0x6667) /* <CJK */
+MAP(0x5A, 0x6F, 0x6668) /* <CJK */
+MAP(0x5A, 0x70, 0x665F) /* <CJK */
+MAP(0x5A, 0x71, 0x6662) /* <CJK */
+MAP(0x5A, 0x72, 0x6670) /* <CJK */
+MAP(0x5A, 0x73, 0x6683) /* <CJK */
+MAP(0x5A, 0x74, 0x6688) /* <CJK */
+MAP(0x5A, 0x75, 0x668E) /* <CJK */
+MAP(0x5A, 0x76, 0x6689) /* <CJK */
+MAP(0x5A, 0x77, 0x6684) /* <CJK */
+MAP(0x5A, 0x78, 0x6698) /* <CJK */
+MAP(0x5A, 0x79, 0x669D) /* <CJK */
+MAP(0x5A, 0x7A, 0x66C1) /* <CJK */
+MAP(0x5A, 0x7B, 0x66B9) /* <CJK */
+MAP(0x5A, 0x7C, 0x66C9) /* <CJK */
+MAP(0x5A, 0x7D, 0x66BE) /* <CJK */
+MAP(0x5A, 0x7E, 0x66BC) /* <CJK */
+MAP(0x5B, 0x21, 0x66C4) /* <CJK */
+MAP(0x5B, 0x22, 0x66B8) /* <CJK */
+MAP(0x5B, 0x23, 0x66D6) /* <CJK */
+MAP(0x5B, 0x24, 0x66DA) /* <CJK */
+MAP(0x5B, 0x25, 0x66E0) /* <CJK */
+MAP(0x5B, 0x26, 0x663F) /* <CJK */
+MAP(0x5B, 0x27, 0x66E6) /* <CJK */
+MAP(0x5B, 0x28, 0x66E9) /* <CJK */
+MAP(0x5B, 0x29, 0x66F0) /* <CJK */
+MAP(0x5B, 0x2A, 0x66F5) /* <CJK */
+MAP(0x5B, 0x2B, 0x66F7) /* <CJK */
+MAP(0x5B, 0x2C, 0x670F) /* <CJK */
+MAP(0x5B, 0x2D, 0x6716) /* <CJK */
+MAP(0x5B, 0x2E, 0x671E) /* <CJK */
+MAP(0x5B, 0x2F, 0x6726) /* <CJK */
+MAP(0x5B, 0x30, 0x6727) /* <CJK */
+MAP(0x5B, 0x31, 0x9738) /* <CJK */
+MAP(0x5B, 0x32, 0x672E) /* <CJK */
+MAP(0x5B, 0x33, 0x673F) /* <CJK */
+MAP(0x5B, 0x34, 0x6736) /* <CJK */
+MAP(0x5B, 0x35, 0x6741) /* <CJK */
+MAP(0x5B, 0x36, 0x6738) /* <CJK */
+MAP(0x5B, 0x37, 0x6737) /* <CJK */
+MAP(0x5B, 0x38, 0x6746) /* <CJK */
+MAP(0x5B, 0x39, 0x675E) /* <CJK */
+MAP(0x5B, 0x3A, 0x6760) /* <CJK */
+MAP(0x5B, 0x3B, 0x6759) /* <CJK */
+MAP(0x5B, 0x3C, 0x6763) /* <CJK */
+MAP(0x5B, 0x3D, 0x6764) /* <CJK */
+MAP(0x5B, 0x3E, 0x6789) /* <CJK */
+MAP(0x5B, 0x3F, 0x6770) /* <CJK */
+MAP(0x5B, 0x40, 0x67A9) /* <CJK */
+MAP(0x5B, 0x41, 0x677C) /* <CJK */
+MAP(0x5B, 0x42, 0x676A) /* <CJK */
+MAP(0x5B, 0x43, 0x678C) /* <CJK */
+MAP(0x5B, 0x44, 0x678B) /* <CJK */
+MAP(0x5B, 0x45, 0x67A6) /* <CJK */
+MAP(0x5B, 0x46, 0x67A1) /* <CJK */
+MAP(0x5B, 0x47, 0x6785) /* <CJK */
+MAP(0x5B, 0x48, 0x67B7) /* <CJK */
+MAP(0x5B, 0x49, 0x67EF) /* <CJK */
+MAP(0x5B, 0x4A, 0x67B4) /* <CJK */
+MAP(0x5B, 0x4B, 0x67EC) /* <CJK */
+MAP(0x5B, 0x4C, 0x67B3) /* <CJK */
+MAP(0x5B, 0x4D, 0x67E9) /* <CJK */
+MAP(0x5B, 0x4E, 0x67B8) /* <CJK */
+MAP(0x5B, 0x4F, 0x67E4) /* <CJK */
+MAP(0x5B, 0x50, 0x67DE) /* <CJK */
+MAP(0x5B, 0x51, 0x67DD) /* <CJK */
+MAP(0x5B, 0x52, 0x67E2) /* <CJK */
+MAP(0x5B, 0x53, 0x67EE) /* <CJK */
+MAP(0x5B, 0x54, 0x67B9) /* <CJK */
+MAP(0x5B, 0x55, 0x67CE) /* <CJK */
+MAP(0x5B, 0x56, 0x67C6) /* <CJK */
+MAP(0x5B, 0x57, 0x67E7) /* <CJK */
+MAP(0x5B, 0x58, 0x6A9C) /* <CJK */
+MAP(0x5B, 0x59, 0x681E) /* <CJK */
+MAP(0x5B, 0x5A, 0x6846) /* <CJK */
+MAP(0x5B, 0x5B, 0x6829) /* <CJK */
+MAP(0x5B, 0x5C, 0x6840) /* <CJK */
+MAP(0x5B, 0x5D, 0x684D) /* <CJK */
+MAP(0x5B, 0x5E, 0x6832) /* <CJK */
+MAP(0x5B, 0x5F, 0x684E) /* <CJK */
+MAP(0x5B, 0x60, 0x68B3) /* <CJK */
+MAP(0x5B, 0x61, 0x682B) /* <CJK */
+MAP(0x5B, 0x62, 0x6859) /* <CJK */
+MAP(0x5B, 0x63, 0x6863) /* <CJK */
+MAP(0x5B, 0x64, 0x6877) /* <CJK */
+MAP(0x5B, 0x65, 0x687F) /* <CJK */
+MAP(0x5B, 0x66, 0x689F) /* <CJK */
+MAP(0x5B, 0x67, 0x688F) /* <CJK */
+MAP(0x5B, 0x68, 0x68AD) /* <CJK */
+MAP(0x5B, 0x69, 0x6894) /* <CJK */
+MAP(0x5B, 0x6A, 0x689D) /* <CJK */
+MAP(0x5B, 0x6B, 0x689B) /* <CJK */
+MAP(0x5B, 0x6C, 0x6883) /* <CJK */
+MAP(0x5B, 0x6D, 0x6AAE) /* <CJK */
+MAP(0x5B, 0x6E, 0x68B9) /* <CJK */
+MAP(0x5B, 0x6F, 0x6874) /* <CJK */
+MAP(0x5B, 0x70, 0x68B5) /* <CJK */
+MAP(0x5B, 0x71, 0x68A0) /* <CJK */
+MAP(0x5B, 0x72, 0x68BA) /* <CJK */
+MAP(0x5B, 0x73, 0x690F) /* <CJK */
+MAP(0x5B, 0x74, 0x688D) /* <CJK */
+MAP(0x5B, 0x75, 0x687E) /* <CJK */
+MAP(0x5B, 0x76, 0x6901) /* <CJK */
+MAP(0x5B, 0x77, 0x68CA) /* <CJK */
+MAP(0x5B, 0x78, 0x6908) /* <CJK */
+MAP(0x5B, 0x79, 0x68D8) /* <CJK */
+MAP(0x5B, 0x7A, 0x6922) /* <CJK */
+MAP(0x5B, 0x7B, 0x6926) /* <CJK */
+MAP(0x5B, 0x7C, 0x68E1) /* <CJK */
+MAP(0x5B, 0x7D, 0x690C) /* <CJK */
+MAP(0x5B, 0x7E, 0x68CD) /* <CJK */
+MAP(0x5C, 0x21, 0x68D4) /* <CJK */
+MAP(0x5C, 0x22, 0x68E7) /* <CJK */
+MAP(0x5C, 0x23, 0x68D5) /* <CJK */
+MAP(0x5C, 0x24, 0x6936) /* <CJK */
+MAP(0x5C, 0x25, 0x6912) /* <CJK */
+MAP(0x5C, 0x26, 0x6904) /* <CJK */
+MAP(0x5C, 0x27, 0x68D7) /* <CJK */
+MAP(0x5C, 0x28, 0x68E3) /* <CJK */
+MAP(0x5C, 0x29, 0x6925) /* <CJK */
+MAP(0x5C, 0x2A, 0x68F9) /* <CJK */
+MAP(0x5C, 0x2B, 0x68E0) /* <CJK */
+MAP(0x5C, 0x2C, 0x68EF) /* <CJK */
+MAP(0x5C, 0x2D, 0x6928) /* <CJK */
+MAP(0x5C, 0x2E, 0x692A) /* <CJK */
+MAP(0x5C, 0x2F, 0x691A) /* <CJK */
+MAP(0x5C, 0x30, 0x6923) /* <CJK */
+MAP(0x5C, 0x31, 0x6921) /* <CJK */
+MAP(0x5C, 0x32, 0x68C6) /* <CJK */
+MAP(0x5C, 0x33, 0x6979) /* <CJK */
+MAP(0x5C, 0x34, 0x6977) /* <CJK */
+MAP(0x5C, 0x35, 0x695C) /* <CJK */
+MAP(0x5C, 0x36, 0x6978) /* <CJK */
+MAP(0x5C, 0x37, 0x696B) /* <CJK */
+MAP(0x5C, 0x38, 0x6954) /* <CJK */
+MAP(0x5C, 0x39, 0x697E) /* <CJK */
+MAP(0x5C, 0x3A, 0x696E) /* <CJK */
+MAP(0x5C, 0x3B, 0x6939) /* <CJK */
+MAP(0x5C, 0x3C, 0x6974) /* <CJK */
+MAP(0x5C, 0x3D, 0x693D) /* <CJK */
+MAP(0x5C, 0x3E, 0x6959) /* <CJK */
+MAP(0x5C, 0x3F, 0x6930) /* <CJK */
+MAP(0x5C, 0x40, 0x6961) /* <CJK */
+MAP(0x5C, 0x41, 0x695E) /* <CJK */
+MAP(0x5C, 0x42, 0x695D) /* <CJK */
+MAP(0x5C, 0x43, 0x6981) /* <CJK */
+MAP(0x5C, 0x44, 0x696A) /* <CJK */
+MAP(0x5C, 0x45, 0x69B2) /* <CJK */
+MAP(0x5C, 0x46, 0x69AE) /* <CJK */
+MAP(0x5C, 0x47, 0x69D0) /* <CJK */
+MAP(0x5C, 0x48, 0x69BF) /* <CJK */
+MAP(0x5C, 0x49, 0x69C1) /* <CJK */
+MAP(0x5C, 0x4A, 0x69D3) /* <CJK */
+MAP(0x5C, 0x4B, 0x69BE) /* <CJK */
+MAP(0x5C, 0x4C, 0x69CE) /* <CJK */
+MAP(0x5C, 0x4D, 0x5BE8) /* <CJK */
+MAP(0x5C, 0x4E, 0x69CA) /* <CJK */
+MAP(0x5C, 0x4F, 0x69DD) /* <CJK */
+MAP(0x5C, 0x50, 0x69BB) /* <CJK */
+MAP(0x5C, 0x51, 0x69C3) /* <CJK */
+MAP(0x5C, 0x52, 0x69A7) /* <CJK */
+MAP(0x5C, 0x53, 0x6A2E) /* <CJK */
+MAP(0x5C, 0x54, 0x6991) /* <CJK */
+MAP(0x5C, 0x55, 0x69A0) /* <CJK */
+MAP(0x5C, 0x56, 0x699C) /* <CJK */
+MAP(0x5C, 0x57, 0x6995) /* <CJK */
+MAP(0x5C, 0x58, 0x69B4) /* <CJK */
+MAP(0x5C, 0x59, 0x69DE) /* <CJK */
+MAP(0x5C, 0x5A, 0x69E8) /* <CJK */
+MAP(0x5C, 0x5B, 0x6A02) /* <CJK */
+MAP(0x5C, 0x5C, 0x6A1B) /* <CJK */
+MAP(0x5C, 0x5D, 0x69FF) /* <CJK */
+MAP(0x5C, 0x5E, 0x6B0A) /* <CJK */
+MAP(0x5C, 0x5F, 0x69F9) /* <CJK */
+MAP(0x5C, 0x60, 0x69F2) /* <CJK */
+MAP(0x5C, 0x61, 0x69E7) /* <CJK */
+MAP(0x5C, 0x62, 0x6A05) /* <CJK */
+MAP(0x5C, 0x63, 0x69B1) /* <CJK */
+MAP(0x5C, 0x64, 0x6A1E) /* <CJK */
+MAP(0x5C, 0x65, 0x69ED) /* <CJK */
+MAP(0x5C, 0x66, 0x6A14) /* <CJK */
+MAP(0x5C, 0x67, 0x69EB) /* <CJK */
+MAP(0x5C, 0x68, 0x6A0A) /* <CJK */
+MAP(0x5C, 0x69, 0x6A12) /* <CJK */
+MAP(0x5C, 0x6A, 0x6AC1) /* <CJK */
+MAP(0x5C, 0x6B, 0x6A23) /* <CJK */
+MAP(0x5C, 0x6C, 0x6A13) /* <CJK */
+MAP(0x5C, 0x6D, 0x6A44) /* <CJK */
+MAP(0x5C, 0x6E, 0x6A0C) /* <CJK */
+MAP(0x5C, 0x6F, 0x6A72) /* <CJK */
+MAP(0x5C, 0x70, 0x6A36) /* <CJK */
+MAP(0x5C, 0x71, 0x6A78) /* <CJK */
+MAP(0x5C, 0x72, 0x6A47) /* <CJK */
+MAP(0x5C, 0x73, 0x6A62) /* <CJK */
+MAP(0x5C, 0x74, 0x6A59) /* <CJK */
+MAP(0x5C, 0x75, 0x6A66) /* <CJK */
+MAP(0x5C, 0x76, 0x6A48) /* <CJK */
+MAP(0x5C, 0x77, 0x6A38) /* <CJK */
+MAP(0x5C, 0x78, 0x6A22) /* <CJK */
+MAP(0x5C, 0x79, 0x6A90) /* <CJK */
+MAP(0x5C, 0x7A, 0x6A8D) /* <CJK */
+MAP(0x5C, 0x7B, 0x6AA0) /* <CJK */
+MAP(0x5C, 0x7C, 0x6A84) /* <CJK */
+MAP(0x5C, 0x7D, 0x6AA2) /* <CJK */
+MAP(0x5C, 0x7E, 0x6AA3) /* <CJK */
+MAP(0x5D, 0x21, 0x6A97) /* <CJK */
+MAP(0x5D, 0x22, 0x8617) /* <CJK */
+MAP(0x5D, 0x23, 0x6ABB) /* <CJK */
+MAP(0x5D, 0x24, 0x6AC3) /* <CJK */
+MAP(0x5D, 0x25, 0x6AC2) /* <CJK */
+MAP(0x5D, 0x26, 0x6AB8) /* <CJK */
+MAP(0x5D, 0x27, 0x6AB3) /* <CJK */
+MAP(0x5D, 0x28, 0x6AAC) /* <CJK */
+MAP(0x5D, 0x29, 0x6ADE) /* <CJK */
+MAP(0x5D, 0x2A, 0x6AD1) /* <CJK */
+MAP(0x5D, 0x2B, 0x6ADF) /* <CJK */
+MAP(0x5D, 0x2C, 0x6AAA) /* <CJK */
+MAP(0x5D, 0x2D, 0x6ADA) /* <CJK */
+MAP(0x5D, 0x2E, 0x6AEA) /* <CJK */
+MAP(0x5D, 0x2F, 0x6AFB) /* <CJK */
+MAP(0x5D, 0x30, 0x6B05) /* <CJK */
+MAP(0x5D, 0x31, 0x8616) /* <CJK */
+MAP(0x5D, 0x32, 0x6AFA) /* <CJK */
+MAP(0x5D, 0x33, 0x6B12) /* <CJK */
+MAP(0x5D, 0x34, 0x6B16) /* <CJK */
+MAP(0x5D, 0x35, 0x9B31) /* <CJK */
+MAP(0x5D, 0x36, 0x6B1F) /* <CJK */
+MAP(0x5D, 0x37, 0x6B38) /* <CJK */
+MAP(0x5D, 0x38, 0x6B37) /* <CJK */
+MAP(0x5D, 0x39, 0x76DC) /* <CJK */
+MAP(0x5D, 0x3A, 0x6B39) /* <CJK */
+MAP(0x5D, 0x3B, 0x98EE) /* <CJK */
+MAP(0x5D, 0x3C, 0x6B47) /* <CJK */
+MAP(0x5D, 0x3D, 0x6B43) /* <CJK */
+MAP(0x5D, 0x3E, 0x6B49) /* <CJK */
+MAP(0x5D, 0x3F, 0x6B50) /* <CJK */
+MAP(0x5D, 0x40, 0x6B59) /* <CJK */
+MAP(0x5D, 0x41, 0x6B54) /* <CJK */
+MAP(0x5D, 0x42, 0x6B5B) /* <CJK */
+MAP(0x5D, 0x43, 0x6B5F) /* <CJK */
+MAP(0x5D, 0x44, 0x6B61) /* <CJK */
+MAP(0x5D, 0x45, 0x6B78) /* <CJK */
+MAP(0x5D, 0x46, 0x6B79) /* <CJK */
+MAP(0x5D, 0x47, 0x6B7F) /* <CJK */
+MAP(0x5D, 0x48, 0x6B80) /* <CJK */
+MAP(0x5D, 0x49, 0x6B84) /* <CJK */
+MAP(0x5D, 0x4A, 0x6B83) /* <CJK */
+MAP(0x5D, 0x4B, 0x6B8D) /* <CJK */
+MAP(0x5D, 0x4C, 0x6B98) /* <CJK */
+MAP(0x5D, 0x4D, 0x6B95) /* <CJK */
+MAP(0x5D, 0x4E, 0x6B9E) /* <CJK */
+MAP(0x5D, 0x4F, 0x6BA4) /* <CJK */
+MAP(0x5D, 0x50, 0x6BAA) /* <CJK */
+MAP(0x5D, 0x51, 0x6BAB) /* <CJK */
+MAP(0x5D, 0x52, 0x6BAF) /* <CJK */
+MAP(0x5D, 0x53, 0x6BB2) /* <CJK */
+MAP(0x5D, 0x54, 0x6BB1) /* <CJK */
+MAP(0x5D, 0x55, 0x6BB3) /* <CJK */
+MAP(0x5D, 0x56, 0x6BB7) /* <CJK */
+MAP(0x5D, 0x57, 0x6BBC) /* <CJK */
+MAP(0x5D, 0x58, 0x6BC6) /* <CJK */
+MAP(0x5D, 0x59, 0x6BCB) /* <CJK */
+MAP(0x5D, 0x5A, 0x6BD3) /* <CJK */
+MAP(0x5D, 0x5B, 0x6BDF) /* <CJK */
+MAP(0x5D, 0x5C, 0x6BEC) /* <CJK */
+MAP(0x5D, 0x5D, 0x6BEB) /* <CJK */
+MAP(0x5D, 0x5E, 0x6BF3) /* <CJK */
+MAP(0x5D, 0x5F, 0x6BEF) /* <CJK */
+MAP(0x5D, 0x60, 0x9EBE) /* <CJK */
+MAP(0x5D, 0x61, 0x6C08) /* <CJK */
+MAP(0x5D, 0x62, 0x6C13) /* <CJK */
+MAP(0x5D, 0x63, 0x6C14) /* <CJK */
+MAP(0x5D, 0x64, 0x6C1B) /* <CJK */
+MAP(0x5D, 0x65, 0x6C24) /* <CJK */
+MAP(0x5D, 0x66, 0x6C23) /* <CJK */
+MAP(0x5D, 0x67, 0x6C5E) /* <CJK */
+MAP(0x5D, 0x68, 0x6C55) /* <CJK */
+MAP(0x5D, 0x69, 0x6C62) /* <CJK */
+MAP(0x5D, 0x6A, 0x6C6A) /* <CJK */
+MAP(0x5D, 0x6B, 0x6C82) /* <CJK */
+MAP(0x5D, 0x6C, 0x6C8D) /* <CJK */
+MAP(0x5D, 0x6D, 0x6C9A) /* <CJK */
+MAP(0x5D, 0x6E, 0x6C81) /* <CJK */
+MAP(0x5D, 0x6F, 0x6C9B) /* <CJK */
+MAP(0x5D, 0x70, 0x6C7E) /* <CJK */
+MAP(0x5D, 0x71, 0x6C68) /* <CJK */
+MAP(0x5D, 0x72, 0x6C73) /* <CJK */
+MAP(0x5D, 0x73, 0x6C92) /* <CJK */
+MAP(0x5D, 0x74, 0x6C90) /* <CJK */
+MAP(0x5D, 0x75, 0x6CC4) /* <CJK */
+MAP(0x5D, 0x76, 0x6CF1) /* <CJK */
+MAP(0x5D, 0x77, 0x6CD3) /* <CJK */
+MAP(0x5D, 0x78, 0x6CBD) /* <CJK */
+MAP(0x5D, 0x79, 0x6CD7) /* <CJK */
+MAP(0x5D, 0x7A, 0x6CC5) /* <CJK */
+MAP(0x5D, 0x7B, 0x6CDD) /* <CJK */
+MAP(0x5D, 0x7C, 0x6CAE) /* <CJK */
+MAP(0x5D, 0x7D, 0x6CB1) /* <CJK */
+MAP(0x5D, 0x7E, 0x6CBE) /* <CJK */
+MAP(0x5E, 0x21, 0x6CBA) /* <CJK */
+MAP(0x5E, 0x22, 0x6CDB) /* <CJK */
+MAP(0x5E, 0x23, 0x6CEF) /* <CJK */
+MAP(0x5E, 0x24, 0x6CD9) /* <CJK */
+MAP(0x5E, 0x25, 0x6CEA) /* <CJK */
+MAP(0x5E, 0x26, 0x6D1F) /* <CJK */
+MAP(0x5E, 0x27, 0x884D) /* <CJK */
+MAP(0x5E, 0x28, 0x6D36) /* <CJK */
+MAP(0x5E, 0x29, 0x6D2B) /* <CJK */
+MAP(0x5E, 0x2A, 0x6D3D) /* <CJK */
+MAP(0x5E, 0x2B, 0x6D38) /* <CJK */
+MAP(0x5E, 0x2C, 0x6D19) /* <CJK */
+MAP(0x5E, 0x2D, 0x6D35) /* <CJK */
+MAP(0x5E, 0x2E, 0x6D33) /* <CJK */
+MAP(0x5E, 0x2F, 0x6D12) /* <CJK */
+MAP(0x5E, 0x30, 0x6D0C) /* <CJK */
+MAP(0x5E, 0x31, 0x6D63) /* <CJK */
+MAP(0x5E, 0x32, 0x6D93) /* <CJK */
+MAP(0x5E, 0x33, 0x6D64) /* <CJK */
+MAP(0x5E, 0x34, 0x6D5A) /* <CJK */
+MAP(0x5E, 0x35, 0x6D79) /* <CJK */
+MAP(0x5E, 0x36, 0x6D59) /* <CJK */
+MAP(0x5E, 0x37, 0x6D8E) /* <CJK */
+MAP(0x5E, 0x38, 0x6D95) /* <CJK */
+MAP(0x5E, 0x39, 0x6FE4) /* <CJK */
+MAP(0x5E, 0x3A, 0x6D85) /* <CJK */
+MAP(0x5E, 0x3B, 0x6DF9) /* <CJK */
+MAP(0x5E, 0x3C, 0x6E15) /* <CJK */
+MAP(0x5E, 0x3D, 0x6E0A) /* <CJK */
+MAP(0x5E, 0x3E, 0x6DB5) /* <CJK */
+MAP(0x5E, 0x3F, 0x6DC7) /* <CJK */
+MAP(0x5E, 0x40, 0x6DE6) /* <CJK */
+MAP(0x5E, 0x41, 0x6DB8) /* <CJK */
+MAP(0x5E, 0x42, 0x6DC6) /* <CJK */
+MAP(0x5E, 0x43, 0x6DEC) /* <CJK */
+MAP(0x5E, 0x44, 0x6DDE) /* <CJK */
+MAP(0x5E, 0x45, 0x6DCC) /* <CJK */
+MAP(0x5E, 0x46, 0x6DE8) /* <CJK */
+MAP(0x5E, 0x47, 0x6DD2) /* <CJK */
+MAP(0x5E, 0x48, 0x6DC5) /* <CJK */
+MAP(0x5E, 0x49, 0x6DFA) /* <CJK */
+MAP(0x5E, 0x4A, 0x6DD9) /* <CJK */
+MAP(0x5E, 0x4B, 0x6DE4) /* <CJK */
+MAP(0x5E, 0x4C, 0x6DD5) /* <CJK */
+MAP(0x5E, 0x4D, 0x6DEA) /* <CJK */
+MAP(0x5E, 0x4E, 0x6DEE) /* <CJK */
+MAP(0x5E, 0x4F, 0x6E2D) /* <CJK */
+MAP(0x5E, 0x50, 0x6E6E) /* <CJK */
+MAP(0x5E, 0x51, 0x6E2E) /* <CJK */
+MAP(0x5E, 0x52, 0x6E19) /* <CJK */
+MAP(0x5E, 0x53, 0x6E72) /* <CJK */
+MAP(0x5E, 0x54, 0x6E5F) /* <CJK */
+MAP(0x5E, 0x55, 0x6E3E) /* <CJK */
+MAP(0x5E, 0x56, 0x6E23) /* <CJK */
+MAP(0x5E, 0x57, 0x6E6B) /* <CJK */
+MAP(0x5E, 0x58, 0x6E2B) /* <CJK */
+MAP(0x5E, 0x59, 0x6E76) /* <CJK */
+MAP(0x5E, 0x5A, 0x6E4D) /* <CJK */
+MAP(0x5E, 0x5B, 0x6E1F) /* <CJK */
+MAP(0x5E, 0x5C, 0x6E43) /* <CJK */
+MAP(0x5E, 0x5D, 0x6E3A) /* <CJK */
+MAP(0x5E, 0x5E, 0x6E4E) /* <CJK */
+MAP(0x5E, 0x5F, 0x6E24) /* <CJK */
+MAP(0x5E, 0x60, 0x6EFF) /* <CJK */
+MAP(0x5E, 0x61, 0x6E1D) /* <CJK */
+MAP(0x5E, 0x62, 0x6E38) /* <CJK */
+MAP(0x5E, 0x63, 0x6E82) /* <CJK */
+MAP(0x5E, 0x64, 0x6EAA) /* <CJK */
+MAP(0x5E, 0x65, 0x6E98) /* <CJK */
+MAP(0x5E, 0x66, 0x6EC9) /* <CJK */
+MAP(0x5E, 0x67, 0x6EB7) /* <CJK */
+MAP(0x5E, 0x68, 0x6ED3) /* <CJK */
+MAP(0x5E, 0x69, 0x6EBD) /* <CJK */
+MAP(0x5E, 0x6A, 0x6EAF) /* <CJK */
+MAP(0x5E, 0x6B, 0x6EC4) /* <CJK */
+MAP(0x5E, 0x6C, 0x6EB2) /* <CJK */
+MAP(0x5E, 0x6D, 0x6ED4) /* <CJK */
+MAP(0x5E, 0x6E, 0x6ED5) /* <CJK */
+MAP(0x5E, 0x6F, 0x6E8F) /* <CJK */
+MAP(0x5E, 0x70, 0x6EA5) /* <CJK */
+MAP(0x5E, 0x71, 0x6EC2) /* <CJK */
+MAP(0x5E, 0x72, 0x6E9F) /* <CJK */
+MAP(0x5E, 0x73, 0x6F41) /* <CJK */
+MAP(0x5E, 0x74, 0x6F11) /* <CJK */
+MAP(0x5E, 0x75, 0x704C) /* <CJK */
+MAP(0x5E, 0x76, 0x6EEC) /* <CJK */
+MAP(0x5E, 0x77, 0x6EF8) /* <CJK */
+MAP(0x5E, 0x78, 0x6EFE) /* <CJK */
+MAP(0x5E, 0x79, 0x6F3F) /* <CJK */
+MAP(0x5E, 0x7A, 0x6EF2) /* <CJK */
+MAP(0x5E, 0x7B, 0x6F31) /* <CJK */
+MAP(0x5E, 0x7C, 0x6EEF) /* <CJK */
+MAP(0x5E, 0x7D, 0x6F32) /* <CJK */
+MAP(0x5E, 0x7E, 0x6ECC) /* <CJK */
+MAP(0x5F, 0x21, 0x6F3E) /* <CJK */
+MAP(0x5F, 0x22, 0x6F13) /* <CJK */
+MAP(0x5F, 0x23, 0x6EF7) /* <CJK */
+MAP(0x5F, 0x24, 0x6F86) /* <CJK */
+MAP(0x5F, 0x25, 0x6F7A) /* <CJK */
+MAP(0x5F, 0x26, 0x6F78) /* <CJK */
+MAP(0x5F, 0x27, 0x6F81) /* <CJK */
+MAP(0x5F, 0x28, 0x6F80) /* <CJK */
+MAP(0x5F, 0x29, 0x6F6F) /* <CJK */
+MAP(0x5F, 0x2A, 0x6F5B) /* <CJK */
+MAP(0x5F, 0x2B, 0x6FF3) /* <CJK */
+MAP(0x5F, 0x2C, 0x6F6D) /* <CJK */
+MAP(0x5F, 0x2D, 0x6F82) /* <CJK */
+MAP(0x5F, 0x2E, 0x6F7C) /* <CJK */
+MAP(0x5F, 0x2F, 0x6F58) /* <CJK */
+MAP(0x5F, 0x30, 0x6F8E) /* <CJK */
+MAP(0x5F, 0x31, 0x6F91) /* <CJK */
+MAP(0x5F, 0x32, 0x6FC2) /* <CJK */
+MAP(0x5F, 0x33, 0x6F66) /* <CJK */
+MAP(0x5F, 0x34, 0x6FB3) /* <CJK */
+MAP(0x5F, 0x35, 0x6FA3) /* <CJK */
+MAP(0x5F, 0x36, 0x6FA1) /* <CJK */
+MAP(0x5F, 0x37, 0x6FA4) /* <CJK */
+MAP(0x5F, 0x38, 0x6FB9) /* <CJK */
+MAP(0x5F, 0x39, 0x6FC6) /* <CJK */
+MAP(0x5F, 0x3A, 0x6FAA) /* <CJK */
+MAP(0x5F, 0x3B, 0x6FDF) /* <CJK */
+MAP(0x5F, 0x3C, 0x6FD5) /* <CJK */
+MAP(0x5F, 0x3D, 0x6FEC) /* <CJK */
+MAP(0x5F, 0x3E, 0x6FD4) /* <CJK */
+MAP(0x5F, 0x3F, 0x6FD8) /* <CJK */
+MAP(0x5F, 0x40, 0x6FF1) /* <CJK */
+MAP(0x5F, 0x41, 0x6FEE) /* <CJK */
+MAP(0x5F, 0x42, 0x6FDB) /* <CJK */
+MAP(0x5F, 0x43, 0x7009) /* <CJK */
+MAP(0x5F, 0x44, 0x700B) /* <CJK */
+MAP(0x5F, 0x45, 0x6FFA) /* <CJK */
+MAP(0x5F, 0x46, 0x7011) /* <CJK */
+MAP(0x5F, 0x47, 0x7001) /* <CJK */
+MAP(0x5F, 0x48, 0x700F) /* <CJK */
+MAP(0x5F, 0x49, 0x6FFE) /* <CJK */
+MAP(0x5F, 0x4A, 0x701B) /* <CJK */
+MAP(0x5F, 0x4B, 0x701A) /* <CJK */
+MAP(0x5F, 0x4C, 0x6F74) /* <CJK */
+MAP(0x5F, 0x4D, 0x701D) /* <CJK */
+MAP(0x5F, 0x4E, 0x7018) /* <CJK */
+MAP(0x5F, 0x4F, 0x701F) /* <CJK */
+MAP(0x5F, 0x50, 0x7030) /* <CJK */
+MAP(0x5F, 0x51, 0x703E) /* <CJK */
+MAP(0x5F, 0x52, 0x7032) /* <CJK */
+MAP(0x5F, 0x53, 0x7051) /* <CJK */
+MAP(0x5F, 0x54, 0x7063) /* <CJK */
+MAP(0x5F, 0x55, 0x7099) /* <CJK */
+MAP(0x5F, 0x56, 0x7092) /* <CJK */
+MAP(0x5F, 0x57, 0x70AF) /* <CJK */
+MAP(0x5F, 0x58, 0x70F1) /* <CJK */
+MAP(0x5F, 0x59, 0x70AC) /* <CJK */
+MAP(0x5F, 0x5A, 0x70B8) /* <CJK */
+MAP(0x5F, 0x5B, 0x70B3) /* <CJK */
+MAP(0x5F, 0x5C, 0x70AE) /* <CJK */
+MAP(0x5F, 0x5D, 0x70DF) /* <CJK */
+MAP(0x5F, 0x5E, 0x70CB) /* <CJK */
+MAP(0x5F, 0x5F, 0x70DD) /* <CJK */
+MAP(0x5F, 0x60, 0x70D9) /* <CJK */
+MAP(0x5F, 0x61, 0x7109) /* <CJK */
+MAP(0x5F, 0x62, 0x70FD) /* <CJK */
+MAP(0x5F, 0x63, 0x711C) /* <CJK */
+MAP(0x5F, 0x64, 0x7119) /* <CJK */
+MAP(0x5F, 0x65, 0x7165) /* <CJK */
+MAP(0x5F, 0x66, 0x7155) /* <CJK */
+MAP(0x5F, 0x67, 0x7188) /* <CJK */
+MAP(0x5F, 0x68, 0x7166) /* <CJK */
+MAP(0x5F, 0x69, 0x7162) /* <CJK */
+MAP(0x5F, 0x6A, 0x714C) /* <CJK */
+MAP(0x5F, 0x6B, 0x7156) /* <CJK */
+MAP(0x5F, 0x6C, 0x716C) /* <CJK */
+MAP(0x5F, 0x6D, 0x718F) /* <CJK */
+MAP(0x5F, 0x6E, 0x71FB) /* <CJK */
+MAP(0x5F, 0x6F, 0x7184) /* <CJK */
+MAP(0x5F, 0x70, 0x7195) /* <CJK */
+MAP(0x5F, 0x71, 0x71A8) /* <CJK */
+MAP(0x5F, 0x72, 0x71AC) /* <CJK */
+MAP(0x5F, 0x73, 0x71D7) /* <CJK */
+MAP(0x5F, 0x74, 0x71B9) /* <CJK */
+MAP(0x5F, 0x75, 0x71BE) /* <CJK */
+MAP(0x5F, 0x76, 0x71D2) /* <CJK */
+MAP(0x5F, 0x77, 0x71C9) /* <CJK */
+MAP(0x5F, 0x78, 0x71D4) /* <CJK */
+MAP(0x5F, 0x79, 0x71CE) /* <CJK */
+MAP(0x5F, 0x7A, 0x71E0) /* <CJK */
+MAP(0x5F, 0x7B, 0x71EC) /* <CJK */
+MAP(0x5F, 0x7C, 0x71E7) /* <CJK */
+MAP(0x5F, 0x7D, 0x71F5) /* <CJK */
+MAP(0x5F, 0x7E, 0x71FC) /* <CJK */
+MAP(0x60, 0x21, 0x71F9) /* <CJK */
+MAP(0x60, 0x22, 0x71FF) /* <CJK */
+MAP(0x60, 0x23, 0x720D) /* <CJK */
+MAP(0x60, 0x24, 0x7210) /* <CJK */
+MAP(0x60, 0x25, 0x721B) /* <CJK */
+MAP(0x60, 0x26, 0x7228) /* <CJK */
+MAP(0x60, 0x27, 0x722D) /* <CJK */
+MAP(0x60, 0x28, 0x722C) /* <CJK */
+MAP(0x60, 0x29, 0x7230) /* <CJK */
+MAP(0x60, 0x2A, 0x7232) /* <CJK */
+MAP(0x60, 0x2B, 0x723B) /* <CJK */
+MAP(0x60, 0x2C, 0x723C) /* <CJK */
+MAP(0x60, 0x2D, 0x723F) /* <CJK */
+MAP(0x60, 0x2E, 0x7240) /* <CJK */
+MAP(0x60, 0x2F, 0x7246) /* <CJK */
+MAP(0x60, 0x30, 0x724B) /* <CJK */
+MAP(0x60, 0x31, 0x7258) /* <CJK */
+MAP(0x60, 0x32, 0x7274) /* <CJK */
+MAP(0x60, 0x33, 0x727E) /* <CJK */
+MAP(0x60, 0x34, 0x7282) /* <CJK */
+MAP(0x60, 0x35, 0x7281) /* <CJK */
+MAP(0x60, 0x36, 0x7287) /* <CJK */
+MAP(0x60, 0x37, 0x7292) /* <CJK */
+MAP(0x60, 0x38, 0x7296) /* <CJK */
+MAP(0x60, 0x39, 0x72A2) /* <CJK */
+MAP(0x60, 0x3A, 0x72A7) /* <CJK */
+MAP(0x60, 0x3B, 0x72B9) /* <CJK */
+MAP(0x60, 0x3C, 0x72B2) /* <CJK */
+MAP(0x60, 0x3D, 0x72C3) /* <CJK */
+MAP(0x60, 0x3E, 0x72C6) /* <CJK */
+MAP(0x60, 0x3F, 0x72C4) /* <CJK */
+MAP(0x60, 0x40, 0x72CE) /* <CJK */
+MAP(0x60, 0x41, 0x72D2) /* <CJK */
+MAP(0x60, 0x42, 0x72E2) /* <CJK */
+MAP(0x60, 0x43, 0x72E0) /* <CJK */
+MAP(0x60, 0x44, 0x72E1) /* <CJK */
+MAP(0x60, 0x45, 0x72F9) /* <CJK */
+MAP(0x60, 0x46, 0x72F7) /* <CJK */
+MAP(0x60, 0x47, 0x500F) /* <CJK */
+MAP(0x60, 0x48, 0x7317) /* <CJK */
+MAP(0x60, 0x49, 0x730A) /* <CJK */
+MAP(0x60, 0x4A, 0x731C) /* <CJK */
+MAP(0x60, 0x4B, 0x7316) /* <CJK */
+MAP(0x60, 0x4C, 0x731D) /* <CJK */
+MAP(0x60, 0x4D, 0x7334) /* <CJK */
+MAP(0x60, 0x4E, 0x732F) /* <CJK */
+MAP(0x60, 0x4F, 0x7329) /* <CJK */
+MAP(0x60, 0x50, 0x7325) /* <CJK */
+MAP(0x60, 0x51, 0x733E) /* <CJK */
+MAP(0x60, 0x52, 0x734E) /* <CJK */
+MAP(0x60, 0x53, 0x734F) /* <CJK */
+MAP(0x60, 0x54, 0x9ED8) /* <CJK */
+MAP(0x60, 0x55, 0x7357) /* <CJK */
+MAP(0x60, 0x56, 0x736A) /* <CJK */
+MAP(0x60, 0x57, 0x7368) /* <CJK */
+MAP(0x60, 0x58, 0x7370) /* <CJK */
+MAP(0x60, 0x59, 0x7378) /* <CJK */
+MAP(0x60, 0x5A, 0x7375) /* <CJK */
+MAP(0x60, 0x5B, 0x737B) /* <CJK */
+MAP(0x60, 0x5C, 0x737A) /* <CJK */
+MAP(0x60, 0x5D, 0x73C8) /* <CJK */
+MAP(0x60, 0x5E, 0x73B3) /* <CJK */
+MAP(0x60, 0x5F, 0x73CE) /* <CJK */
+MAP(0x60, 0x60, 0x73BB) /* <CJK */
+MAP(0x60, 0x61, 0x73C0) /* <CJK */
+MAP(0x60, 0x62, 0x73E5) /* <CJK */
+MAP(0x60, 0x63, 0x73EE) /* <CJK */
+MAP(0x60, 0x64, 0x73DE) /* <CJK */
+MAP(0x60, 0x65, 0x74A2) /* <CJK */
+MAP(0x60, 0x66, 0x7405) /* <CJK */
+MAP(0x60, 0x67, 0x746F) /* <CJK */
+MAP(0x60, 0x68, 0x7425) /* <CJK */
+MAP(0x60, 0x69, 0x73F8) /* <CJK */
+MAP(0x60, 0x6A, 0x7432) /* <CJK */
+MAP(0x60, 0x6B, 0x743A) /* <CJK */
+MAP(0x60, 0x6C, 0x7455) /* <CJK */
+MAP(0x60, 0x6D, 0x743F) /* <CJK */
+MAP(0x60, 0x6E, 0x745F) /* <CJK */
+MAP(0x60, 0x6F, 0x7459) /* <CJK */
+MAP(0x60, 0x70, 0x7441) /* <CJK */
+MAP(0x60, 0x71, 0x745C) /* <CJK */
+MAP(0x60, 0x72, 0x7469) /* <CJK */
+MAP(0x60, 0x73, 0x7470) /* <CJK */
+MAP(0x60, 0x74, 0x7463) /* <CJK */
+MAP(0x60, 0x75, 0x746A) /* <CJK */
+MAP(0x60, 0x76, 0x7476) /* <CJK */
+MAP(0x60, 0x77, 0x747E) /* <CJK */
+MAP(0x60, 0x78, 0x748B) /* <CJK */
+MAP(0x60, 0x79, 0x749E) /* <CJK */
+MAP(0x60, 0x7A, 0x74A7) /* <CJK */
+MAP(0x60, 0x7B, 0x74CA) /* <CJK */
+MAP(0x60, 0x7C, 0x74CF) /* <CJK */
+MAP(0x60, 0x7D, 0x74D4) /* <CJK */
+MAP(0x60, 0x7E, 0x73F1) /* <CJK */
+MAP(0x61, 0x21, 0x74E0) /* <CJK */
+MAP(0x61, 0x22, 0x74E3) /* <CJK */
+MAP(0x61, 0x23, 0x74E7) /* <CJK */
+MAP(0x61, 0x24, 0x74E9) /* <CJK */
+MAP(0x61, 0x25, 0x74EE) /* <CJK */
+MAP(0x61, 0x26, 0x74F2) /* <CJK */
+MAP(0x61, 0x27, 0x74F0) /* <CJK */
+MAP(0x61, 0x28, 0x74F1) /* <CJK */
+MAP(0x61, 0x29, 0x74F8) /* <CJK */
+MAP(0x61, 0x2A, 0x74F7) /* <CJK */
+MAP(0x61, 0x2B, 0x7504) /* <CJK */
+MAP(0x61, 0x2C, 0x7503) /* <CJK */
+MAP(0x61, 0x2D, 0x7505) /* <CJK */
+MAP(0x61, 0x2E, 0x750C) /* <CJK */
+MAP(0x61, 0x2F, 0x750E) /* <CJK */
+MAP(0x61, 0x30, 0x750D) /* <CJK */
+MAP(0x61, 0x31, 0x7515) /* <CJK */
+MAP(0x61, 0x32, 0x7513) /* <CJK */
+MAP(0x61, 0x33, 0x751E) /* <CJK */
+MAP(0x61, 0x34, 0x7526) /* <CJK */
+MAP(0x61, 0x35, 0x752C) /* <CJK */
+MAP(0x61, 0x36, 0x753C) /* <CJK */
+MAP(0x61, 0x37, 0x7544) /* <CJK */
+MAP(0x61, 0x38, 0x754D) /* <CJK */
+MAP(0x61, 0x39, 0x754A) /* <CJK */
+MAP(0x61, 0x3A, 0x7549) /* <CJK */
+MAP(0x61, 0x3B, 0x755B) /* <CJK */
+MAP(0x61, 0x3C, 0x7546) /* <CJK */
+MAP(0x61, 0x3D, 0x755A) /* <CJK */
+MAP(0x61, 0x3E, 0x7569) /* <CJK */
+MAP(0x61, 0x3F, 0x7564) /* <CJK */
+MAP(0x61, 0x40, 0x7567) /* <CJK */
+MAP(0x61, 0x41, 0x756B) /* <CJK */
+MAP(0x61, 0x42, 0x756D) /* <CJK */
+MAP(0x61, 0x43, 0x7578) /* <CJK */
+MAP(0x61, 0x44, 0x7576) /* <CJK */
+MAP(0x61, 0x45, 0x7586) /* <CJK */
+MAP(0x61, 0x46, 0x7587) /* <CJK */
+MAP(0x61, 0x47, 0x7574) /* <CJK */
+MAP(0x61, 0x48, 0x758A) /* <CJK */
+MAP(0x61, 0x49, 0x7589) /* <CJK */
+MAP(0x61, 0x4A, 0x7582) /* <CJK */
+MAP(0x61, 0x4B, 0x7594) /* <CJK */
+MAP(0x61, 0x4C, 0x759A) /* <CJK */
+MAP(0x61, 0x4D, 0x759D) /* <CJK */
+MAP(0x61, 0x4E, 0x75A5) /* <CJK */
+MAP(0x61, 0x4F, 0x75A3) /* <CJK */
+MAP(0x61, 0x50, 0x75C2) /* <CJK */
+MAP(0x61, 0x51, 0x75B3) /* <CJK */
+MAP(0x61, 0x52, 0x75C3) /* <CJK */
+MAP(0x61, 0x53, 0x75B5) /* <CJK */
+MAP(0x61, 0x54, 0x75BD) /* <CJK */
+MAP(0x61, 0x55, 0x75B8) /* <CJK */
+MAP(0x61, 0x56, 0x75BC) /* <CJK */
+MAP(0x61, 0x57, 0x75B1) /* <CJK */
+MAP(0x61, 0x58, 0x75CD) /* <CJK */
+MAP(0x61, 0x59, 0x75CA) /* <CJK */
+MAP(0x61, 0x5A, 0x75D2) /* <CJK */
+MAP(0x61, 0x5B, 0x75D9) /* <CJK */
+MAP(0x61, 0x5C, 0x75E3) /* <CJK */
+MAP(0x61, 0x5D, 0x75DE) /* <CJK */
+MAP(0x61, 0x5E, 0x75FE) /* <CJK */
+MAP(0x61, 0x5F, 0x75FF) /* <CJK */
+MAP(0x61, 0x60, 0x75FC) /* <CJK */
+MAP(0x61, 0x61, 0x7601) /* <CJK */
+MAP(0x61, 0x62, 0x75F0) /* <CJK */
+MAP(0x61, 0x63, 0x75FA) /* <CJK */
+MAP(0x61, 0x64, 0x75F2) /* <CJK */
+MAP(0x61, 0x65, 0x75F3) /* <CJK */
+MAP(0x61, 0x66, 0x760B) /* <CJK */
+MAP(0x61, 0x67, 0x760D) /* <CJK */
+MAP(0x61, 0x68, 0x7609) /* <CJK */
+MAP(0x61, 0x69, 0x761F) /* <CJK */
+MAP(0x61, 0x6A, 0x7627) /* <CJK */
+MAP(0x61, 0x6B, 0x7620) /* <CJK */
+MAP(0x61, 0x6C, 0x7621) /* <CJK */
+MAP(0x61, 0x6D, 0x7622) /* <CJK */
+MAP(0x61, 0x6E, 0x7624) /* <CJK */
+MAP(0x61, 0x6F, 0x7634) /* <CJK */
+MAP(0x61, 0x70, 0x7630) /* <CJK */
+MAP(0x61, 0x71, 0x763B) /* <CJK */
+MAP(0x61, 0x72, 0x7647) /* <CJK */
+MAP(0x61, 0x73, 0x7648) /* <CJK */
+MAP(0x61, 0x74, 0x7646) /* <CJK */
+MAP(0x61, 0x75, 0x765C) /* <CJK */
+MAP(0x61, 0x76, 0x7658) /* <CJK */
+MAP(0x61, 0x77, 0x7661) /* <CJK */
+MAP(0x61, 0x78, 0x7662) /* <CJK */
+MAP(0x61, 0x79, 0x7668) /* <CJK */
+MAP(0x61, 0x7A, 0x7669) /* <CJK */
+MAP(0x61, 0x7B, 0x766A) /* <CJK */
+MAP(0x61, 0x7C, 0x7667) /* <CJK */
+MAP(0x61, 0x7D, 0x766C) /* <CJK */
+MAP(0x61, 0x7E, 0x7670) /* <CJK */
+MAP(0x62, 0x21, 0x7672) /* <CJK */
+MAP(0x62, 0x22, 0x7676) /* <CJK */
+MAP(0x62, 0x23, 0x7678) /* <CJK */
+MAP(0x62, 0x24, 0x767C) /* <CJK */
+MAP(0x62, 0x25, 0x7680) /* <CJK */
+MAP(0x62, 0x26, 0x7683) /* <CJK */
+MAP(0x62, 0x27, 0x7688) /* <CJK */
+MAP(0x62, 0x28, 0x768B) /* <CJK */
+MAP(0x62, 0x29, 0x768E) /* <CJK */
+MAP(0x62, 0x2A, 0x7696) /* <CJK */
+MAP(0x62, 0x2B, 0x7693) /* <CJK */
+MAP(0x62, 0x2C, 0x7699) /* <CJK */
+MAP(0x62, 0x2D, 0x769A) /* <CJK */
+MAP(0x62, 0x2E, 0x76B0) /* <CJK */
+MAP(0x62, 0x2F, 0x76B4) /* <CJK */
+MAP(0x62, 0x30, 0x76B8) /* <CJK */
+MAP(0x62, 0x31, 0x76B9) /* <CJK */
+MAP(0x62, 0x32, 0x76BA) /* <CJK */
+MAP(0x62, 0x33, 0x76C2) /* <CJK */
+MAP(0x62, 0x34, 0x76CD) /* <CJK */
+MAP(0x62, 0x35, 0x76D6) /* <CJK */
+MAP(0x62, 0x36, 0x76D2) /* <CJK */
+MAP(0x62, 0x37, 0x76DE) /* <CJK */
+MAP(0x62, 0x38, 0x76E1) /* <CJK */
+MAP(0x62, 0x39, 0x76E5) /* <CJK */
+MAP(0x62, 0x3A, 0x76E7) /* <CJK */
+MAP(0x62, 0x3B, 0x76EA) /* <CJK */
+MAP(0x62, 0x3C, 0x862F) /* <CJK */
+MAP(0x62, 0x3D, 0x76FB) /* <CJK */
+MAP(0x62, 0x3E, 0x7708) /* <CJK */
+MAP(0x62, 0x3F, 0x7707) /* <CJK */
+MAP(0x62, 0x40, 0x7704) /* <CJK */
+MAP(0x62, 0x41, 0x7729) /* <CJK */
+MAP(0x62, 0x42, 0x7724) /* <CJK */
+MAP(0x62, 0x43, 0x771E) /* <CJK */
+MAP(0x62, 0x44, 0x7725) /* <CJK */
+MAP(0x62, 0x45, 0x7726) /* <CJK */
+MAP(0x62, 0x46, 0x771B) /* <CJK */
+MAP(0x62, 0x47, 0x7737) /* <CJK */
+MAP(0x62, 0x48, 0x7738) /* <CJK */
+MAP(0x62, 0x49, 0x7747) /* <CJK */
+MAP(0x62, 0x4A, 0x775A) /* <CJK */
+MAP(0x62, 0x4B, 0x7768) /* <CJK */
+MAP(0x62, 0x4C, 0x776B) /* <CJK */
+MAP(0x62, 0x4D, 0x775B) /* <CJK */
+MAP(0x62, 0x4E, 0x7765) /* <CJK */
+MAP(0x62, 0x4F, 0x777F) /* <CJK */
+MAP(0x62, 0x50, 0x777E) /* <CJK */
+MAP(0x62, 0x51, 0x7779) /* <CJK */
+MAP(0x62, 0x52, 0x778E) /* <CJK */
+MAP(0x62, 0x53, 0x778B) /* <CJK */
+MAP(0x62, 0x54, 0x7791) /* <CJK */
+MAP(0x62, 0x55, 0x77A0) /* <CJK */
+MAP(0x62, 0x56, 0x779E) /* <CJK */
+MAP(0x62, 0x57, 0x77B0) /* <CJK */
+MAP(0x62, 0x58, 0x77B6) /* <CJK */
+MAP(0x62, 0x59, 0x77B9) /* <CJK */
+MAP(0x62, 0x5A, 0x77BF) /* <CJK */
+MAP(0x62, 0x5B, 0x77BC) /* <CJK */
+MAP(0x62, 0x5C, 0x77BD) /* <CJK */
+MAP(0x62, 0x5D, 0x77BB) /* <CJK */
+MAP(0x62, 0x5E, 0x77C7) /* <CJK */
+MAP(0x62, 0x5F, 0x77CD) /* <CJK */
+MAP(0x62, 0x60, 0x77D7) /* <CJK */
+MAP(0x62, 0x61, 0x77DA) /* <CJK */
+MAP(0x62, 0x62, 0x77DC) /* <CJK */
+MAP(0x62, 0x63, 0x77E3) /* <CJK */
+MAP(0x62, 0x64, 0x77EE) /* <CJK */
+MAP(0x62, 0x65, 0x77FC) /* <CJK */
+MAP(0x62, 0x66, 0x780C) /* <CJK */
+MAP(0x62, 0x67, 0x7812) /* <CJK */
+MAP(0x62, 0x68, 0x7926) /* <CJK */
+MAP(0x62, 0x69, 0x7820) /* <CJK */
+MAP(0x62, 0x6A, 0x792A) /* <CJK */
+MAP(0x62, 0x6B, 0x7845) /* <CJK */
+MAP(0x62, 0x6C, 0x788E) /* <CJK */
+MAP(0x62, 0x6D, 0x7874) /* <CJK */
+MAP(0x62, 0x6E, 0x7886) /* <CJK */
+MAP(0x62, 0x6F, 0x787C) /* <CJK */
+MAP(0x62, 0x70, 0x789A) /* <CJK */
+MAP(0x62, 0x71, 0x788C) /* <CJK */
+MAP(0x62, 0x72, 0x78A3) /* <CJK */
+MAP(0x62, 0x73, 0x78B5) /* <CJK */
+MAP(0x62, 0x74, 0x78AA) /* <CJK */
+MAP(0x62, 0x75, 0x78AF) /* <CJK */
+MAP(0x62, 0x76, 0x78D1) /* <CJK */
+MAP(0x62, 0x77, 0x78C6) /* <CJK */
+MAP(0x62, 0x78, 0x78CB) /* <CJK */
+MAP(0x62, 0x79, 0x78D4) /* <CJK */
+MAP(0x62, 0x7A, 0x78BE) /* <CJK */
+MAP(0x62, 0x7B, 0x78BC) /* <CJK */
+MAP(0x62, 0x7C, 0x78C5) /* <CJK */
+MAP(0x62, 0x7D, 0x78CA) /* <CJK */
+MAP(0x62, 0x7E, 0x78EC) /* <CJK */
+MAP(0x63, 0x21, 0x78E7) /* <CJK */
+MAP(0x63, 0x22, 0x78DA) /* <CJK */
+MAP(0x63, 0x23, 0x78FD) /* <CJK */
+MAP(0x63, 0x24, 0x78F4) /* <CJK */
+MAP(0x63, 0x25, 0x7907) /* <CJK */
+MAP(0x63, 0x26, 0x7912) /* <CJK */
+MAP(0x63, 0x27, 0x7911) /* <CJK */
+MAP(0x63, 0x28, 0x7919) /* <CJK */
+MAP(0x63, 0x29, 0x792C) /* <CJK */
+MAP(0x63, 0x2A, 0x792B) /* <CJK */
+MAP(0x63, 0x2B, 0x7940) /* <CJK */
+MAP(0x63, 0x2C, 0x7960) /* <CJK */
+MAP(0x63, 0x2D, 0x7957) /* <CJK */
+MAP(0x63, 0x2E, 0x795F) /* <CJK */
+MAP(0x63, 0x2F, 0x795A) /* <CJK */
+MAP(0x63, 0x30, 0x7955) /* <CJK */
+MAP(0x63, 0x31, 0x7953) /* <CJK */
+MAP(0x63, 0x32, 0x797A) /* <CJK */
+MAP(0x63, 0x33, 0x797F) /* <CJK */
+MAP(0x63, 0x34, 0x798A) /* <CJK */
+MAP(0x63, 0x35, 0x799D) /* <CJK */
+MAP(0x63, 0x36, 0x79A7) /* <CJK */
+MAP(0x63, 0x37, 0x9F4B) /* <CJK */
+MAP(0x63, 0x38, 0x79AA) /* <CJK */
+MAP(0x63, 0x39, 0x79AE) /* <CJK */
+MAP(0x63, 0x3A, 0x79B3) /* <CJK */
+MAP(0x63, 0x3B, 0x79B9) /* <CJK */
+MAP(0x63, 0x3C, 0x79BA) /* <CJK */
+MAP(0x63, 0x3D, 0x79C9) /* <CJK */
+MAP(0x63, 0x3E, 0x79D5) /* <CJK */
+MAP(0x63, 0x3F, 0x79E7) /* <CJK */
+MAP(0x63, 0x40, 0x79EC) /* <CJK */
+MAP(0x63, 0x41, 0x79E1) /* <CJK */
+MAP(0x63, 0x42, 0x79E3) /* <CJK */
+MAP(0x63, 0x43, 0x7A08) /* <CJK */
+MAP(0x63, 0x44, 0x7A0D) /* <CJK */
+MAP(0x63, 0x45, 0x7A18) /* <CJK */
+MAP(0x63, 0x46, 0x7A19) /* <CJK */
+MAP(0x63, 0x47, 0x7A20) /* <CJK */
+MAP(0x63, 0x48, 0x7A1F) /* <CJK */
+MAP(0x63, 0x49, 0x7980) /* <CJK */
+MAP(0x63, 0x4A, 0x7A31) /* <CJK */
+MAP(0x63, 0x4B, 0x7A3B) /* <CJK */
+MAP(0x63, 0x4C, 0x7A3E) /* <CJK */
+MAP(0x63, 0x4D, 0x7A37) /* <CJK */
+MAP(0x63, 0x4E, 0x7A43) /* <CJK */
+MAP(0x63, 0x4F, 0x7A57) /* <CJK */
+MAP(0x63, 0x50, 0x7A49) /* <CJK */
+MAP(0x63, 0x51, 0x7A61) /* <CJK */
+MAP(0x63, 0x52, 0x7A62) /* <CJK */
+MAP(0x63, 0x53, 0x7A69) /* <CJK */
+MAP(0x63, 0x54, 0x9F9D) /* <CJK */
+MAP(0x63, 0x55, 0x7A70) /* <CJK */
+MAP(0x63, 0x56, 0x7A79) /* <CJK */
+MAP(0x63, 0x57, 0x7A7D) /* <CJK */
+MAP(0x63, 0x58, 0x7A88) /* <CJK */
+MAP(0x63, 0x59, 0x7A97) /* <CJK */
+MAP(0x63, 0x5A, 0x7A95) /* <CJK */
+MAP(0x63, 0x5B, 0x7A98) /* <CJK */
+MAP(0x63, 0x5C, 0x7A96) /* <CJK */
+MAP(0x63, 0x5D, 0x7AA9) /* <CJK */
+MAP(0x63, 0x5E, 0x7AC8) /* <CJK */
+MAP(0x63, 0x5F, 0x7AB0) /* <CJK */
+MAP(0x63, 0x60, 0x7AB6) /* <CJK */
+MAP(0x63, 0x61, 0x7AC5) /* <CJK */
+MAP(0x63, 0x62, 0x7AC4) /* <CJK */
+MAP(0x63, 0x63, 0x7ABF) /* <CJK */
+MAP(0x63, 0x64, 0x9083) /* <CJK */
+MAP(0x63, 0x65, 0x7AC7) /* <CJK */
+MAP(0x63, 0x66, 0x7ACA) /* <CJK */
+MAP(0x63, 0x67, 0x7ACD) /* <CJK */
+MAP(0x63, 0x68, 0x7ACF) /* <CJK */
+MAP(0x63, 0x69, 0x7AD5) /* <CJK */
+MAP(0x63, 0x6A, 0x7AD3) /* <CJK */
+MAP(0x63, 0x6B, 0x7AD9) /* <CJK */
+MAP(0x63, 0x6C, 0x7ADA) /* <CJK */
+MAP(0x63, 0x6D, 0x7ADD) /* <CJK */
+MAP(0x63, 0x6E, 0x7AE1) /* <CJK */
+MAP(0x63, 0x6F, 0x7AE2) /* <CJK */
+MAP(0x63, 0x70, 0x7AE6) /* <CJK */
+MAP(0x63, 0x71, 0x7AED) /* <CJK */
+MAP(0x63, 0x72, 0x7AF0) /* <CJK */
+MAP(0x63, 0x73, 0x7B02) /* <CJK */
+MAP(0x63, 0x74, 0x7B0F) /* <CJK */
+MAP(0x63, 0x75, 0x7B0A) /* <CJK */
+MAP(0x63, 0x76, 0x7B06) /* <CJK */
+MAP(0x63, 0x77, 0x7B33) /* <CJK */
+MAP(0x63, 0x78, 0x7B18) /* <CJK */
+MAP(0x63, 0x79, 0x7B19) /* <CJK */
+MAP(0x63, 0x7A, 0x7B1E) /* <CJK */
+MAP(0x63, 0x7B, 0x7B35) /* <CJK */
+MAP(0x63, 0x7C, 0x7B28) /* <CJK */
+MAP(0x63, 0x7D, 0x7B36) /* <CJK */
+MAP(0x63, 0x7E, 0x7B50) /* <CJK */
+MAP(0x64, 0x21, 0x7B7A) /* <CJK */
+MAP(0x64, 0x22, 0x7B04) /* <CJK */
+MAP(0x64, 0x23, 0x7B4D) /* <CJK */
+MAP(0x64, 0x24, 0x7B0B) /* <CJK */
+MAP(0x64, 0x25, 0x7B4C) /* <CJK */
+MAP(0x64, 0x26, 0x7B45) /* <CJK */
+MAP(0x64, 0x27, 0x7B75) /* <CJK */
+MAP(0x64, 0x28, 0x7B65) /* <CJK */
+MAP(0x64, 0x29, 0x7B74) /* <CJK */
+MAP(0x64, 0x2A, 0x7B67) /* <CJK */
+MAP(0x64, 0x2B, 0x7B70) /* <CJK */
+MAP(0x64, 0x2C, 0x7B71) /* <CJK */
+MAP(0x64, 0x2D, 0x7B6C) /* <CJK */
+MAP(0x64, 0x2E, 0x7B6E) /* <CJK */
+MAP(0x64, 0x2F, 0x7B9D) /* <CJK */
+MAP(0x64, 0x30, 0x7B98) /* <CJK */
+MAP(0x64, 0x31, 0x7B9F) /* <CJK */
+MAP(0x64, 0x32, 0x7B8D) /* <CJK */
+MAP(0x64, 0x33, 0x7B9C) /* <CJK */
+MAP(0x64, 0x34, 0x7B9A) /* <CJK */
+MAP(0x64, 0x35, 0x7B8B) /* <CJK */
+MAP(0x64, 0x36, 0x7B92) /* <CJK */
+MAP(0x64, 0x37, 0x7B8F) /* <CJK */
+MAP(0x64, 0x38, 0x7B5D) /* <CJK */
+MAP(0x64, 0x39, 0x7B99) /* <CJK */
+MAP(0x64, 0x3A, 0x7BCB) /* <CJK */
+MAP(0x64, 0x3B, 0x7BC1) /* <CJK */
+MAP(0x64, 0x3C, 0x7BCC) /* <CJK */
+MAP(0x64, 0x3D, 0x7BCF) /* <CJK */
+MAP(0x64, 0x3E, 0x7BB4) /* <CJK */
+MAP(0x64, 0x3F, 0x7BC6) /* <CJK */
+MAP(0x64, 0x40, 0x7BDD) /* <CJK */
+MAP(0x64, 0x41, 0x7BE9) /* <CJK */
+MAP(0x64, 0x42, 0x7C11) /* <CJK */
+MAP(0x64, 0x43, 0x7C14) /* <CJK */
+MAP(0x64, 0x44, 0x7BE6) /* <CJK */
+MAP(0x64, 0x45, 0x7BE5) /* <CJK */
+MAP(0x64, 0x46, 0x7C60) /* <CJK */
+MAP(0x64, 0x47, 0x7C00) /* <CJK */
+MAP(0x64, 0x48, 0x7C07) /* <CJK */
+MAP(0x64, 0x49, 0x7C13) /* <CJK */
+MAP(0x64, 0x4A, 0x7BF3) /* <CJK */
+MAP(0x64, 0x4B, 0x7BF7) /* <CJK */
+MAP(0x64, 0x4C, 0x7C17) /* <CJK */
+MAP(0x64, 0x4D, 0x7C0D) /* <CJK */
+MAP(0x64, 0x4E, 0x7BF6) /* <CJK */
+MAP(0x64, 0x4F, 0x7C23) /* <CJK */
+MAP(0x64, 0x50, 0x7C27) /* <CJK */
+MAP(0x64, 0x51, 0x7C2A) /* <CJK */
+MAP(0x64, 0x52, 0x7C1F) /* <CJK */
+MAP(0x64, 0x53, 0x7C37) /* <CJK */
+MAP(0x64, 0x54, 0x7C2B) /* <CJK */
+MAP(0x64, 0x55, 0x7C3D) /* <CJK */
+MAP(0x64, 0x56, 0x7C4C) /* <CJK */
+MAP(0x64, 0x57, 0x7C43) /* <CJK */
+MAP(0x64, 0x58, 0x7C54) /* <CJK */
+MAP(0x64, 0x59, 0x7C4F) /* <CJK */
+MAP(0x64, 0x5A, 0x7C40) /* <CJK */
+MAP(0x64, 0x5B, 0x7C50) /* <CJK */
+MAP(0x64, 0x5C, 0x7C58) /* <CJK */
+MAP(0x64, 0x5D, 0x7C5F) /* <CJK */
+MAP(0x64, 0x5E, 0x7C64) /* <CJK */
+MAP(0x64, 0x5F, 0x7C56) /* <CJK */
+MAP(0x64, 0x60, 0x7C65) /* <CJK */
+MAP(0x64, 0x61, 0x7C6C) /* <CJK */
+MAP(0x64, 0x62, 0x7C75) /* <CJK */
+MAP(0x64, 0x63, 0x7C83) /* <CJK */
+MAP(0x64, 0x64, 0x7C90) /* <CJK */
+MAP(0x64, 0x65, 0x7CA4) /* <CJK */
+MAP(0x64, 0x66, 0x7CAD) /* <CJK */
+MAP(0x64, 0x67, 0x7CA2) /* <CJK */
+MAP(0x64, 0x68, 0x7CAB) /* <CJK */
+MAP(0x64, 0x69, 0x7CA1) /* <CJK */
+MAP(0x64, 0x6A, 0x7CA8) /* <CJK */
+MAP(0x64, 0x6B, 0x7CB3) /* <CJK */
+MAP(0x64, 0x6C, 0x7CB2) /* <CJK */
+MAP(0x64, 0x6D, 0x7CB1) /* <CJK */
+MAP(0x64, 0x6E, 0x7CAE) /* <CJK */
+MAP(0x64, 0x6F, 0x7CB9) /* <CJK */
+MAP(0x64, 0x70, 0x7CBD) /* <CJK */
+MAP(0x64, 0x71, 0x7CC0) /* <CJK */
+MAP(0x64, 0x72, 0x7CC5) /* <CJK */
+MAP(0x64, 0x73, 0x7CC2) /* <CJK */
+MAP(0x64, 0x74, 0x7CD8) /* <CJK */
+MAP(0x64, 0x75, 0x7CD2) /* <CJK */
+MAP(0x64, 0x76, 0x7CDC) /* <CJK */
+MAP(0x64, 0x77, 0x7CE2) /* <CJK */
+MAP(0x64, 0x78, 0x9B3B) /* <CJK */
+MAP(0x64, 0x79, 0x7CEF) /* <CJK */
+MAP(0x64, 0x7A, 0x7CF2) /* <CJK */
+MAP(0x64, 0x7B, 0x7CF4) /* <CJK */
+MAP(0x64, 0x7C, 0x7CF6) /* <CJK */
+MAP(0x64, 0x7D, 0x7CFA) /* <CJK */
+MAP(0x64, 0x7E, 0x7D06) /* <CJK */
+MAP(0x65, 0x21, 0x7D02) /* <CJK */
+MAP(0x65, 0x22, 0x7D1C) /* <CJK */
+MAP(0x65, 0x23, 0x7D15) /* <CJK */
+MAP(0x65, 0x24, 0x7D0A) /* <CJK */
+MAP(0x65, 0x25, 0x7D45) /* <CJK */
+MAP(0x65, 0x26, 0x7D4B) /* <CJK */
+MAP(0x65, 0x27, 0x7D2E) /* <CJK */
+MAP(0x65, 0x28, 0x7D32) /* <CJK */
+MAP(0x65, 0x29, 0x7D3F) /* <CJK */
+MAP(0x65, 0x2A, 0x7D35) /* <CJK */
+MAP(0x65, 0x2B, 0x7D46) /* <CJK */
+MAP(0x65, 0x2C, 0x7D73) /* <CJK */
+MAP(0x65, 0x2D, 0x7D56) /* <CJK */
+MAP(0x65, 0x2E, 0x7D4E) /* <CJK */
+MAP(0x65, 0x2F, 0x7D72) /* <CJK */
+MAP(0x65, 0x30, 0x7D68) /* <CJK */
+MAP(0x65, 0x31, 0x7D6E) /* <CJK */
+MAP(0x65, 0x32, 0x7D4F) /* <CJK */
+MAP(0x65, 0x33, 0x7D63) /* <CJK */
+MAP(0x65, 0x34, 0x7D93) /* <CJK */
+MAP(0x65, 0x35, 0x7D89) /* <CJK */
+MAP(0x65, 0x36, 0x7D5B) /* <CJK */
+MAP(0x65, 0x37, 0x7D8F) /* <CJK */
+MAP(0x65, 0x38, 0x7D7D) /* <CJK */
+MAP(0x65, 0x39, 0x7D9B) /* <CJK */
+MAP(0x65, 0x3A, 0x7DBA) /* <CJK */
+MAP(0x65, 0x3B, 0x7DAE) /* <CJK */
+MAP(0x65, 0x3C, 0x7DA3) /* <CJK */
+MAP(0x65, 0x3D, 0x7DB5) /* <CJK */
+MAP(0x65, 0x3E, 0x7DC7) /* <CJK */
+MAP(0x65, 0x3F, 0x7DBD) /* <CJK */
+MAP(0x65, 0x40, 0x7DAB) /* <CJK */
+MAP(0x65, 0x41, 0x7E3D) /* <CJK */
+MAP(0x65, 0x42, 0x7DA2) /* <CJK */
+MAP(0x65, 0x43, 0x7DAF) /* <CJK */
+MAP(0x65, 0x44, 0x7DDC) /* <CJK */
+MAP(0x65, 0x45, 0x7DB8) /* <CJK */
+MAP(0x65, 0x46, 0x7D9F) /* <CJK */
+MAP(0x65, 0x47, 0x7DB0) /* <CJK */
+MAP(0x65, 0x48, 0x7DD8) /* <CJK */
+MAP(0x65, 0x49, 0x7DDD) /* <CJK */
+MAP(0x65, 0x4A, 0x7DE4) /* <CJK */
+MAP(0x65, 0x4B, 0x7DDE) /* <CJK */
+MAP(0x65, 0x4C, 0x7DFB) /* <CJK */
+MAP(0x65, 0x4D, 0x7DF2) /* <CJK */
+MAP(0x65, 0x4E, 0x7DE1) /* <CJK */
+MAP(0x65, 0x4F, 0x7E05) /* <CJK */
+MAP(0x65, 0x50, 0x7E0A) /* <CJK */
+MAP(0x65, 0x51, 0x7E23) /* <CJK */
+MAP(0x65, 0x52, 0x7E21) /* <CJK */
+MAP(0x65, 0x53, 0x7E12) /* <CJK */
+MAP(0x65, 0x54, 0x7E31) /* <CJK */
+MAP(0x65, 0x55, 0x7E1F) /* <CJK */
+MAP(0x65, 0x56, 0x7E09) /* <CJK */
+MAP(0x65, 0x57, 0x7E0B) /* <CJK */
+MAP(0x65, 0x58, 0x7E22) /* <CJK */
+MAP(0x65, 0x59, 0x7E46) /* <CJK */
+MAP(0x65, 0x5A, 0x7E66) /* <CJK */
+MAP(0x65, 0x5B, 0x7E3B) /* <CJK */
+MAP(0x65, 0x5C, 0x7E35) /* <CJK */
+MAP(0x65, 0x5D, 0x7E39) /* <CJK */
+MAP(0x65, 0x5E, 0x7E43) /* <CJK */
+MAP(0x65, 0x5F, 0x7E37) /* <CJK */
+MAP(0x65, 0x60, 0x7E32) /* <CJK */
+MAP(0x65, 0x61, 0x7E3A) /* <CJK */
+MAP(0x65, 0x62, 0x7E67) /* <CJK */
+MAP(0x65, 0x63, 0x7E5D) /* <CJK */
+MAP(0x65, 0x64, 0x7E56) /* <CJK */
+MAP(0x65, 0x65, 0x7E5E) /* <CJK */
+MAP(0x65, 0x66, 0x7E59) /* <CJK */
+MAP(0x65, 0x67, 0x7E5A) /* <CJK */
+MAP(0x65, 0x68, 0x7E79) /* <CJK */
+MAP(0x65, 0x69, 0x7E6A) /* <CJK */
+MAP(0x65, 0x6A, 0x7E69) /* <CJK */
+MAP(0x65, 0x6B, 0x7E7C) /* <CJK */
+MAP(0x65, 0x6C, 0x7E7B) /* <CJK */
+MAP(0x65, 0x6D, 0x7E83) /* <CJK */
+MAP(0x65, 0x6E, 0x7DD5) /* <CJK */
+MAP(0x65, 0x6F, 0x7E7D) /* <CJK */
+MAP(0x65, 0x70, 0x8FAE) /* <CJK */
+MAP(0x65, 0x71, 0x7E7F) /* <CJK */
+MAP(0x65, 0x72, 0x7E88) /* <CJK */
+MAP(0x65, 0x73, 0x7E89) /* <CJK */
+MAP(0x65, 0x74, 0x7E8C) /* <CJK */
+MAP(0x65, 0x75, 0x7E92) /* <CJK */
+MAP(0x65, 0x76, 0x7E90) /* <CJK */
+MAP(0x65, 0x77, 0x7E93) /* <CJK */
+MAP(0x65, 0x78, 0x7E94) /* <CJK */
+MAP(0x65, 0x79, 0x7E96) /* <CJK */
+MAP(0x65, 0x7A, 0x7E8E) /* <CJK */
+MAP(0x65, 0x7B, 0x7E9B) /* <CJK */
+MAP(0x65, 0x7C, 0x7E9C) /* <CJK */
+MAP(0x65, 0x7D, 0x7F38) /* <CJK */
+MAP(0x65, 0x7E, 0x7F3A) /* <CJK */
+MAP(0x66, 0x21, 0x7F45) /* <CJK */
+MAP(0x66, 0x22, 0x7F4C) /* <CJK */
+MAP(0x66, 0x23, 0x7F4D) /* <CJK */
+MAP(0x66, 0x24, 0x7F4E) /* <CJK */
+MAP(0x66, 0x25, 0x7F50) /* <CJK */
+MAP(0x66, 0x26, 0x7F51) /* <CJK */
+MAP(0x66, 0x27, 0x7F55) /* <CJK */
+MAP(0x66, 0x28, 0x7F54) /* <CJK */
+MAP(0x66, 0x29, 0x7F58) /* <CJK */
+MAP(0x66, 0x2A, 0x7F5F) /* <CJK */
+MAP(0x66, 0x2B, 0x7F60) /* <CJK */
+MAP(0x66, 0x2C, 0x7F68) /* <CJK */
+MAP(0x66, 0x2D, 0x7F69) /* <CJK */
+MAP(0x66, 0x2E, 0x7F67) /* <CJK */
+MAP(0x66, 0x2F, 0x7F78) /* <CJK */
+MAP(0x66, 0x30, 0x7F82) /* <CJK */
+MAP(0x66, 0x31, 0x7F86) /* <CJK */
+MAP(0x66, 0x32, 0x7F83) /* <CJK */
+MAP(0x66, 0x33, 0x7F88) /* <CJK */
+MAP(0x66, 0x34, 0x7F87) /* <CJK */
+MAP(0x66, 0x35, 0x7F8C) /* <CJK */
+MAP(0x66, 0x36, 0x7F94) /* <CJK */
+MAP(0x66, 0x37, 0x7F9E) /* <CJK */
+MAP(0x66, 0x38, 0x7F9D) /* <CJK */
+MAP(0x66, 0x39, 0x7F9A) /* <CJK */
+MAP(0x66, 0x3A, 0x7FA3) /* <CJK */
+MAP(0x66, 0x3B, 0x7FAF) /* <CJK */
+MAP(0x66, 0x3C, 0x7FB2) /* <CJK */
+MAP(0x66, 0x3D, 0x7FB9) /* <CJK */
+MAP(0x66, 0x3E, 0x7FAE) /* <CJK */
+MAP(0x66, 0x3F, 0x7FB6) /* <CJK */
+MAP(0x66, 0x40, 0x7FB8) /* <CJK */
+MAP(0x66, 0x41, 0x8B71) /* <CJK */
+MAP(0x66, 0x42, 0x7FC5) /* <CJK */
+MAP(0x66, 0x43, 0x7FC6) /* <CJK */
+MAP(0x66, 0x44, 0x7FCA) /* <CJK */
+MAP(0x66, 0x45, 0x7FD5) /* <CJK */
+MAP(0x66, 0x46, 0x7FD4) /* <CJK */
+MAP(0x66, 0x47, 0x7FE1) /* <CJK */
+MAP(0x66, 0x48, 0x7FE6) /* <CJK */
+MAP(0x66, 0x49, 0x7FE9) /* <CJK */
+MAP(0x66, 0x4A, 0x7FF3) /* <CJK */
+MAP(0x66, 0x4B, 0x7FF9) /* <CJK */
+MAP(0x66, 0x4C, 0x98DC) /* <CJK */
+MAP(0x66, 0x4D, 0x8006) /* <CJK */
+MAP(0x66, 0x4E, 0x8004) /* <CJK */
+MAP(0x66, 0x4F, 0x800B) /* <CJK */
+MAP(0x66, 0x50, 0x8012) /* <CJK */
+MAP(0x66, 0x51, 0x8018) /* <CJK */
+MAP(0x66, 0x52, 0x8019) /* <CJK */
+MAP(0x66, 0x53, 0x801C) /* <CJK */
+MAP(0x66, 0x54, 0x8021) /* <CJK */
+MAP(0x66, 0x55, 0x8028) /* <CJK */
+MAP(0x66, 0x56, 0x803F) /* <CJK */
+MAP(0x66, 0x57, 0x803B) /* <CJK */
+MAP(0x66, 0x58, 0x804A) /* <CJK */
+MAP(0x66, 0x59, 0x8046) /* <CJK */
+MAP(0x66, 0x5A, 0x8052) /* <CJK */
+MAP(0x66, 0x5B, 0x8058) /* <CJK */
+MAP(0x66, 0x5C, 0x805A) /* <CJK */
+MAP(0x66, 0x5D, 0x805F) /* <CJK */
+MAP(0x66, 0x5E, 0x8062) /* <CJK */
+MAP(0x66, 0x5F, 0x8068) /* <CJK */
+MAP(0x66, 0x60, 0x8073) /* <CJK */
+MAP(0x66, 0x61, 0x8072) /* <CJK */
+MAP(0x66, 0x62, 0x8070) /* <CJK */
+MAP(0x66, 0x63, 0x8076) /* <CJK */
+MAP(0x66, 0x64, 0x8079) /* <CJK */
+MAP(0x66, 0x65, 0x807D) /* <CJK */
+MAP(0x66, 0x66, 0x807F) /* <CJK */
+MAP(0x66, 0x67, 0x8084) /* <CJK */
+MAP(0x66, 0x68, 0x8086) /* <CJK */
+MAP(0x66, 0x69, 0x8085) /* <CJK */
+MAP(0x66, 0x6A, 0x809B) /* <CJK */
+MAP(0x66, 0x6B, 0x8093) /* <CJK */
+MAP(0x66, 0x6C, 0x809A) /* <CJK */
+MAP(0x66, 0x6D, 0x80AD) /* <CJK */
+MAP(0x66, 0x6E, 0x5190) /* <CJK */
+MAP(0x66, 0x6F, 0x80AC) /* <CJK */
+MAP(0x66, 0x70, 0x80DB) /* <CJK */
+MAP(0x66, 0x71, 0x80E5) /* <CJK */
+MAP(0x66, 0x72, 0x80D9) /* <CJK */
+MAP(0x66, 0x73, 0x80DD) /* <CJK */
+MAP(0x66, 0x74, 0x80C4) /* <CJK */
+MAP(0x66, 0x75, 0x80DA) /* <CJK */
+MAP(0x66, 0x76, 0x80D6) /* <CJK */
+MAP(0x66, 0x77, 0x8109) /* <CJK */
+MAP(0x66, 0x78, 0x80EF) /* <CJK */
+MAP(0x66, 0x79, 0x80F1) /* <CJK */
+MAP(0x66, 0x7A, 0x811B) /* <CJK */
+MAP(0x66, 0x7B, 0x8129) /* <CJK */
+MAP(0x66, 0x7C, 0x8123) /* <CJK */
+MAP(0x66, 0x7D, 0x812F) /* <CJK */
+MAP(0x66, 0x7E, 0x814B) /* <CJK */
+MAP(0x67, 0x21, 0x968B) /* <CJK */
+MAP(0x67, 0x22, 0x8146) /* <CJK */
+MAP(0x67, 0x23, 0x813E) /* <CJK */
+MAP(0x67, 0x24, 0x8153) /* <CJK */
+MAP(0x67, 0x25, 0x8151) /* <CJK */
+MAP(0x67, 0x26, 0x80FC) /* <CJK */
+MAP(0x67, 0x27, 0x8171) /* <CJK */
+MAP(0x67, 0x28, 0x816E) /* <CJK */
+MAP(0x67, 0x29, 0x8165) /* <CJK */
+MAP(0x67, 0x2A, 0x8166) /* <CJK */
+MAP(0x67, 0x2B, 0x8174) /* <CJK */
+MAP(0x67, 0x2C, 0x8183) /* <CJK */
+MAP(0x67, 0x2D, 0x8188) /* <CJK */
+MAP(0x67, 0x2E, 0x818A) /* <CJK */
+MAP(0x67, 0x2F, 0x8180) /* <CJK */
+MAP(0x67, 0x30, 0x8182) /* <CJK */
+MAP(0x67, 0x31, 0x81A0) /* <CJK */
+MAP(0x67, 0x32, 0x8195) /* <CJK */
+MAP(0x67, 0x33, 0x81A4) /* <CJK */
+MAP(0x67, 0x34, 0x81A3) /* <CJK */
+MAP(0x67, 0x35, 0x815F) /* <CJK */
+MAP(0x67, 0x36, 0x8193) /* <CJK */
+MAP(0x67, 0x37, 0x81A9) /* <CJK */
+MAP(0x67, 0x38, 0x81B0) /* <CJK */
+MAP(0x67, 0x39, 0x81B5) /* <CJK */
+MAP(0x67, 0x3A, 0x81BE) /* <CJK */
+MAP(0x67, 0x3B, 0x81B8) /* <CJK */
+MAP(0x67, 0x3C, 0x81BD) /* <CJK */
+MAP(0x67, 0x3D, 0x81C0) /* <CJK */
+MAP(0x67, 0x3E, 0x81C2) /* <CJK */
+MAP(0x67, 0x3F, 0x81BA) /* <CJK */
+MAP(0x67, 0x40, 0x81C9) /* <CJK */
+MAP(0x67, 0x41, 0x81CD) /* <CJK */
+MAP(0x67, 0x42, 0x81D1) /* <CJK */
+MAP(0x67, 0x43, 0x81D9) /* <CJK */
+MAP(0x67, 0x44, 0x81D8) /* <CJK */
+MAP(0x67, 0x45, 0x81C8) /* <CJK */
+MAP(0x67, 0x46, 0x81DA) /* <CJK */
+MAP(0x67, 0x47, 0x81DF) /* <CJK */
+MAP(0x67, 0x48, 0x81E0) /* <CJK */
+MAP(0x67, 0x49, 0x81E7) /* <CJK */
+MAP(0x67, 0x4A, 0x81FA) /* <CJK */
+MAP(0x67, 0x4B, 0x81FB) /* <CJK */
+MAP(0x67, 0x4C, 0x81FE) /* <CJK */
+MAP(0x67, 0x4D, 0x8201) /* <CJK */
+MAP(0x67, 0x4E, 0x8202) /* <CJK */
+MAP(0x67, 0x4F, 0x8205) /* <CJK */
+MAP(0x67, 0x50, 0x8207) /* <CJK */
+MAP(0x67, 0x51, 0x820A) /* <CJK */
+MAP(0x67, 0x52, 0x820D) /* <CJK */
+MAP(0x67, 0x53, 0x8210) /* <CJK */
+MAP(0x67, 0x54, 0x8216) /* <CJK */
+MAP(0x67, 0x55, 0x8229) /* <CJK */
+MAP(0x67, 0x56, 0x822B) /* <CJK */
+MAP(0x67, 0x57, 0x8238) /* <CJK */
+MAP(0x67, 0x58, 0x8233) /* <CJK */
+MAP(0x67, 0x59, 0x8240) /* <CJK */
+MAP(0x67, 0x5A, 0x8259) /* <CJK */
+MAP(0x67, 0x5B, 0x8258) /* <CJK */
+MAP(0x67, 0x5C, 0x825D) /* <CJK */
+MAP(0x67, 0x5D, 0x825A) /* <CJK */
+MAP(0x67, 0x5E, 0x825F) /* <CJK */
+MAP(0x67, 0x5F, 0x8264) /* <CJK */
+MAP(0x67, 0x60, 0x8262) /* <CJK */
+MAP(0x67, 0x61, 0x8268) /* <CJK */
+MAP(0x67, 0x62, 0x826A) /* <CJK */
+MAP(0x67, 0x63, 0x826B) /* <CJK */
+MAP(0x67, 0x64, 0x822E) /* <CJK */
+MAP(0x67, 0x65, 0x8271) /* <CJK */
+MAP(0x67, 0x66, 0x8277) /* <CJK */
+MAP(0x67, 0x67, 0x8278) /* <CJK */
+MAP(0x67, 0x68, 0x827E) /* <CJK */
+MAP(0x67, 0x69, 0x828D) /* <CJK */
+MAP(0x67, 0x6A, 0x8292) /* <CJK */
+MAP(0x67, 0x6B, 0x82AB) /* <CJK */
+MAP(0x67, 0x6C, 0x829F) /* <CJK */
+MAP(0x67, 0x6D, 0x82BB) /* <CJK */
+MAP(0x67, 0x6E, 0x82AC) /* <CJK */
+MAP(0x67, 0x6F, 0x82E1) /* <CJK */
+MAP(0x67, 0x70, 0x82E3) /* <CJK */
+MAP(0x67, 0x71, 0x82DF) /* <CJK */
+MAP(0x67, 0x72, 0x82D2) /* <CJK */
+MAP(0x67, 0x73, 0x82F4) /* <CJK */
+MAP(0x67, 0x74, 0x82F3) /* <CJK */
+MAP(0x67, 0x75, 0x82FA) /* <CJK */
+MAP(0x67, 0x76, 0x8393) /* <CJK */
+MAP(0x67, 0x77, 0x8303) /* <CJK */
+MAP(0x67, 0x78, 0x82FB) /* <CJK */
+MAP(0x67, 0x79, 0x82F9) /* <CJK */
+MAP(0x67, 0x7A, 0x82DE) /* <CJK */
+MAP(0x67, 0x7B, 0x8306) /* <CJK */
+MAP(0x67, 0x7C, 0x82DC) /* <CJK */
+MAP(0x67, 0x7D, 0x8309) /* <CJK */
+MAP(0x67, 0x7E, 0x82D9) /* <CJK */
+MAP(0x68, 0x21, 0x8335) /* <CJK */
+MAP(0x68, 0x22, 0x8334) /* <CJK */
+MAP(0x68, 0x23, 0x8316) /* <CJK */
+MAP(0x68, 0x24, 0x8332) /* <CJK */
+MAP(0x68, 0x25, 0x8331) /* <CJK */
+MAP(0x68, 0x26, 0x8340) /* <CJK */
+MAP(0x68, 0x27, 0x8339) /* <CJK */
+MAP(0x68, 0x28, 0x8350) /* <CJK */
+MAP(0x68, 0x29, 0x8345) /* <CJK */
+MAP(0x68, 0x2A, 0x832F) /* <CJK */
+MAP(0x68, 0x2B, 0x832B) /* <CJK */
+MAP(0x68, 0x2C, 0x8317) /* <CJK */
+MAP(0x68, 0x2D, 0x8318) /* <CJK */
+MAP(0x68, 0x2E, 0x8385) /* <CJK */
+MAP(0x68, 0x2F, 0x839A) /* <CJK */
+MAP(0x68, 0x30, 0x83AA) /* <CJK */
+MAP(0x68, 0x31, 0x839F) /* <CJK */
+MAP(0x68, 0x32, 0x83A2) /* <CJK */
+MAP(0x68, 0x33, 0x8396) /* <CJK */
+MAP(0x68, 0x34, 0x8323) /* <CJK */
+MAP(0x68, 0x35, 0x838E) /* <CJK */
+MAP(0x68, 0x36, 0x8387) /* <CJK */
+MAP(0x68, 0x37, 0x838A) /* <CJK */
+MAP(0x68, 0x38, 0x837C) /* <CJK */
+MAP(0x68, 0x39, 0x83B5) /* <CJK */
+MAP(0x68, 0x3A, 0x8373) /* <CJK */
+MAP(0x68, 0x3B, 0x8375) /* <CJK */
+MAP(0x68, 0x3C, 0x83A0) /* <CJK */
+MAP(0x68, 0x3D, 0x8389) /* <CJK */
+MAP(0x68, 0x3E, 0x83A8) /* <CJK */
+MAP(0x68, 0x3F, 0x83F4) /* <CJK */
+MAP(0x68, 0x40, 0x8413) /* <CJK */
+MAP(0x68, 0x41, 0x83EB) /* <CJK */
+MAP(0x68, 0x42, 0x83CE) /* <CJK */
+MAP(0x68, 0x43, 0x83FD) /* <CJK */
+MAP(0x68, 0x44, 0x8403) /* <CJK */
+MAP(0x68, 0x45, 0x83D8) /* <CJK */
+MAP(0x68, 0x46, 0x840B) /* <CJK */
+MAP(0x68, 0x47, 0x83C1) /* <CJK */
+MAP(0x68, 0x48, 0x83F7) /* <CJK */
+MAP(0x68, 0x49, 0x8407) /* <CJK */
+MAP(0x68, 0x4A, 0x83E0) /* <CJK */
+MAP(0x68, 0x4B, 0x83F2) /* <CJK */
+MAP(0x68, 0x4C, 0x840D) /* <CJK */
+MAP(0x68, 0x4D, 0x8422) /* <CJK */
+MAP(0x68, 0x4E, 0x8420) /* <CJK */
+MAP(0x68, 0x4F, 0x83BD) /* <CJK */
+MAP(0x68, 0x50, 0x8438) /* <CJK */
+MAP(0x68, 0x51, 0x8506) /* <CJK */
+MAP(0x68, 0x52, 0x83FB) /* <CJK */
+MAP(0x68, 0x53, 0x846D) /* <CJK */
+MAP(0x68, 0x54, 0x842A) /* <CJK */
+MAP(0x68, 0x55, 0x843C) /* <CJK */
+MAP(0x68, 0x56, 0x855A) /* <CJK */
+MAP(0x68, 0x57, 0x8484) /* <CJK */
+MAP(0x68, 0x58, 0x8477) /* <CJK */
+MAP(0x68, 0x59, 0x846B) /* <CJK */
+MAP(0x68, 0x5A, 0x84AD) /* <CJK */
+MAP(0x68, 0x5B, 0x846E) /* <CJK */
+MAP(0x68, 0x5C, 0x8482) /* <CJK */
+MAP(0x68, 0x5D, 0x8469) /* <CJK */
+MAP(0x68, 0x5E, 0x8446) /* <CJK */
+MAP(0x68, 0x5F, 0x842C) /* <CJK */
+MAP(0x68, 0x60, 0x846F) /* <CJK */
+MAP(0x68, 0x61, 0x8479) /* <CJK */
+MAP(0x68, 0x62, 0x8435) /* <CJK */
+MAP(0x68, 0x63, 0x84CA) /* <CJK */
+MAP(0x68, 0x64, 0x8462) /* <CJK */
+MAP(0x68, 0x65, 0x84B9) /* <CJK */
+MAP(0x68, 0x66, 0x84BF) /* <CJK */
+MAP(0x68, 0x67, 0x849F) /* <CJK */
+MAP(0x68, 0x68, 0x84D9) /* <CJK */
+MAP(0x68, 0x69, 0x84CD) /* <CJK */
+MAP(0x68, 0x6A, 0x84BB) /* <CJK */
+MAP(0x68, 0x6B, 0x84DA) /* <CJK */
+MAP(0x68, 0x6C, 0x84D0) /* <CJK */
+MAP(0x68, 0x6D, 0x84C1) /* <CJK */
+MAP(0x68, 0x6E, 0x84C6) /* <CJK */
+MAP(0x68, 0x6F, 0x84D6) /* <CJK */
+MAP(0x68, 0x70, 0x84A1) /* <CJK */
+MAP(0x68, 0x71, 0x8521) /* <CJK */
+MAP(0x68, 0x72, 0x84FF) /* <CJK */
+MAP(0x68, 0x73, 0x84F4) /* <CJK */
+MAP(0x68, 0x74, 0x8517) /* <CJK */
+MAP(0x68, 0x75, 0x8518) /* <CJK */
+MAP(0x68, 0x76, 0x852C) /* <CJK */
+MAP(0x68, 0x77, 0x851F) /* <CJK */
+MAP(0x68, 0x78, 0x8515) /* <CJK */
+MAP(0x68, 0x79, 0x8514) /* <CJK */
+MAP(0x68, 0x7A, 0x84FC) /* <CJK */
+MAP(0x68, 0x7B, 0x8540) /* <CJK */
+MAP(0x68, 0x7C, 0x8563) /* <CJK */
+MAP(0x68, 0x7D, 0x8558) /* <CJK */
+MAP(0x68, 0x7E, 0x8548) /* <CJK */
+MAP(0x69, 0x21, 0x8541) /* <CJK */
+MAP(0x69, 0x22, 0x8602) /* <CJK */
+MAP(0x69, 0x23, 0x854B) /* <CJK */
+MAP(0x69, 0x24, 0x8555) /* <CJK */
+MAP(0x69, 0x25, 0x8580) /* <CJK */
+MAP(0x69, 0x26, 0x85A4) /* <CJK */
+MAP(0x69, 0x27, 0x8588) /* <CJK */
+MAP(0x69, 0x28, 0x8591) /* <CJK */
+MAP(0x69, 0x29, 0x858A) /* <CJK */
+MAP(0x69, 0x2A, 0x85A8) /* <CJK */
+MAP(0x69, 0x2B, 0x856D) /* <CJK */
+MAP(0x69, 0x2C, 0x8594) /* <CJK */
+MAP(0x69, 0x2D, 0x859B) /* <CJK */
+MAP(0x69, 0x2E, 0x85EA) /* <CJK */
+MAP(0x69, 0x2F, 0x8587) /* <CJK */
+MAP(0x69, 0x30, 0x859C) /* <CJK */
+MAP(0x69, 0x31, 0x8577) /* <CJK */
+MAP(0x69, 0x32, 0x857E) /* <CJK */
+MAP(0x69, 0x33, 0x8590) /* <CJK */
+MAP(0x69, 0x34, 0x85C9) /* <CJK */
+MAP(0x69, 0x35, 0x85BA) /* <CJK */
+MAP(0x69, 0x36, 0x85CF) /* <CJK */
+MAP(0x69, 0x37, 0x85B9) /* <CJK */
+MAP(0x69, 0x38, 0x85D0) /* <CJK */
+MAP(0x69, 0x39, 0x85D5) /* <CJK */
+MAP(0x69, 0x3A, 0x85DD) /* <CJK */
+MAP(0x69, 0x3B, 0x85E5) /* <CJK */
+MAP(0x69, 0x3C, 0x85DC) /* <CJK */
+MAP(0x69, 0x3D, 0x85F9) /* <CJK */
+MAP(0x69, 0x3E, 0x860A) /* <CJK */
+MAP(0x69, 0x3F, 0x8613) /* <CJK */
+MAP(0x69, 0x40, 0x860B) /* <CJK */
+MAP(0x69, 0x41, 0x85FE) /* <CJK */
+MAP(0x69, 0x42, 0x85FA) /* <CJK */
+MAP(0x69, 0x43, 0x8606) /* <CJK */
+MAP(0x69, 0x44, 0x8622) /* <CJK */
+MAP(0x69, 0x45, 0x861A) /* <CJK */
+MAP(0x69, 0x46, 0x8630) /* <CJK */
+MAP(0x69, 0x47, 0x863F) /* <CJK */
+MAP(0x69, 0x48, 0x864D) /* <CJK */
+MAP(0x69, 0x49, 0x4E55) /* <CJK */
+MAP(0x69, 0x4A, 0x8654) /* <CJK */
+MAP(0x69, 0x4B, 0x865F) /* <CJK */
+MAP(0x69, 0x4C, 0x8667) /* <CJK */
+MAP(0x69, 0x4D, 0x8671) /* <CJK */
+MAP(0x69, 0x4E, 0x8693) /* <CJK */
+MAP(0x69, 0x4F, 0x86A3) /* <CJK */
+MAP(0x69, 0x50, 0x86A9) /* <CJK */
+MAP(0x69, 0x51, 0x86AA) /* <CJK */
+MAP(0x69, 0x52, 0x868B) /* <CJK */
+MAP(0x69, 0x53, 0x868C) /* <CJK */
+MAP(0x69, 0x54, 0x86B6) /* <CJK */
+MAP(0x69, 0x55, 0x86AF) /* <CJK */
+MAP(0x69, 0x56, 0x86C4) /* <CJK */
+MAP(0x69, 0x57, 0x86C6) /* <CJK */
+MAP(0x69, 0x58, 0x86B0) /* <CJK */
+MAP(0x69, 0x59, 0x86C9) /* <CJK */
+MAP(0x69, 0x5A, 0x8823) /* <CJK */
+MAP(0x69, 0x5B, 0x86AB) /* <CJK */
+MAP(0x69, 0x5C, 0x86D4) /* <CJK */
+MAP(0x69, 0x5D, 0x86DE) /* <CJK */
+MAP(0x69, 0x5E, 0x86E9) /* <CJK */
+MAP(0x69, 0x5F, 0x86EC) /* <CJK */
+MAP(0x69, 0x60, 0x86DF) /* <CJK */
+MAP(0x69, 0x61, 0x86DB) /* <CJK */
+MAP(0x69, 0x62, 0x86EF) /* <CJK */
+MAP(0x69, 0x63, 0x8712) /* <CJK */
+MAP(0x69, 0x64, 0x8706) /* <CJK */
+MAP(0x69, 0x65, 0x8708) /* <CJK */
+MAP(0x69, 0x66, 0x8700) /* <CJK */
+MAP(0x69, 0x67, 0x8703) /* <CJK */
+MAP(0x69, 0x68, 0x86FB) /* <CJK */
+MAP(0x69, 0x69, 0x8711) /* <CJK */
+MAP(0x69, 0x6A, 0x8709) /* <CJK */
+MAP(0x69, 0x6B, 0x870D) /* <CJK */
+MAP(0x69, 0x6C, 0x86F9) /* <CJK */
+MAP(0x69, 0x6D, 0x870A) /* <CJK */
+MAP(0x69, 0x6E, 0x8734) /* <CJK */
+MAP(0x69, 0x6F, 0x873F) /* <CJK */
+MAP(0x69, 0x70, 0x8737) /* <CJK */
+MAP(0x69, 0x71, 0x873B) /* <CJK */
+MAP(0x69, 0x72, 0x8725) /* <CJK */
+MAP(0x69, 0x73, 0x8729) /* <CJK */
+MAP(0x69, 0x74, 0x871A) /* <CJK */
+MAP(0x69, 0x75, 0x8760) /* <CJK */
+MAP(0x69, 0x76, 0x875F) /* <CJK */
+MAP(0x69, 0x77, 0x8778) /* <CJK */
+MAP(0x69, 0x78, 0x874C) /* <CJK */
+MAP(0x69, 0x79, 0x874E) /* <CJK */
+MAP(0x69, 0x7A, 0x8774) /* <CJK */
+MAP(0x69, 0x7B, 0x8757) /* <CJK */
+MAP(0x69, 0x7C, 0x8768) /* <CJK */
+MAP(0x69, 0x7D, 0x876E) /* <CJK */
+MAP(0x69, 0x7E, 0x8759) /* <CJK */
+MAP(0x6A, 0x21, 0x8753) /* <CJK */
+MAP(0x6A, 0x22, 0x8763) /* <CJK */
+MAP(0x6A, 0x23, 0x876A) /* <CJK */
+MAP(0x6A, 0x24, 0x8805) /* <CJK */
+MAP(0x6A, 0x25, 0x87A2) /* <CJK */
+MAP(0x6A, 0x26, 0x879F) /* <CJK */
+MAP(0x6A, 0x27, 0x8782) /* <CJK */
+MAP(0x6A, 0x28, 0x87AF) /* <CJK */
+MAP(0x6A, 0x29, 0x87CB) /* <CJK */
+MAP(0x6A, 0x2A, 0x87BD) /* <CJK */
+MAP(0x6A, 0x2B, 0x87C0) /* <CJK */
+MAP(0x6A, 0x2C, 0x87D0) /* <CJK */
+MAP(0x6A, 0x2D, 0x96D6) /* <CJK */
+MAP(0x6A, 0x2E, 0x87AB) /* <CJK */
+MAP(0x6A, 0x2F, 0x87C4) /* <CJK */
+MAP(0x6A, 0x30, 0x87B3) /* <CJK */
+MAP(0x6A, 0x31, 0x87C7) /* <CJK */
+MAP(0x6A, 0x32, 0x87C6) /* <CJK */
+MAP(0x6A, 0x33, 0x87BB) /* <CJK */
+MAP(0x6A, 0x34, 0x87EF) /* <CJK */
+MAP(0x6A, 0x35, 0x87F2) /* <CJK */
+MAP(0x6A, 0x36, 0x87E0) /* <CJK */
+MAP(0x6A, 0x37, 0x880F) /* <CJK */
+MAP(0x6A, 0x38, 0x880D) /* <CJK */
+MAP(0x6A, 0x39, 0x87FE) /* <CJK */
+MAP(0x6A, 0x3A, 0x87F6) /* <CJK */
+MAP(0x6A, 0x3B, 0x87F7) /* <CJK */
+MAP(0x6A, 0x3C, 0x880E) /* <CJK */
+MAP(0x6A, 0x3D, 0x87D2) /* <CJK */
+MAP(0x6A, 0x3E, 0x8811) /* <CJK */
+MAP(0x6A, 0x3F, 0x8816) /* <CJK */
+MAP(0x6A, 0x40, 0x8815) /* <CJK */
+MAP(0x6A, 0x41, 0x8822) /* <CJK */
+MAP(0x6A, 0x42, 0x8821) /* <CJK */
+MAP(0x6A, 0x43, 0x8831) /* <CJK */
+MAP(0x6A, 0x44, 0x8836) /* <CJK */
+MAP(0x6A, 0x45, 0x8839) /* <CJK */
+MAP(0x6A, 0x46, 0x8827) /* <CJK */
+MAP(0x6A, 0x47, 0x883B) /* <CJK */
+MAP(0x6A, 0x48, 0x8844) /* <CJK */
+MAP(0x6A, 0x49, 0x8842) /* <CJK */
+MAP(0x6A, 0x4A, 0x8852) /* <CJK */
+MAP(0x6A, 0x4B, 0x8859) /* <CJK */
+MAP(0x6A, 0x4C, 0x885E) /* <CJK */
+MAP(0x6A, 0x4D, 0x8862) /* <CJK */
+MAP(0x6A, 0x4E, 0x886B) /* <CJK */
+MAP(0x6A, 0x4F, 0x8881) /* <CJK */
+MAP(0x6A, 0x50, 0x887E) /* <CJK */
+MAP(0x6A, 0x51, 0x889E) /* <CJK */
+MAP(0x6A, 0x52, 0x8875) /* <CJK */
+MAP(0x6A, 0x53, 0x887D) /* <CJK */
+MAP(0x6A, 0x54, 0x88B5) /* <CJK */
+MAP(0x6A, 0x55, 0x8872) /* <CJK */
+MAP(0x6A, 0x56, 0x8882) /* <CJK */
+MAP(0x6A, 0x57, 0x8897) /* <CJK */
+MAP(0x6A, 0x58, 0x8892) /* <CJK */
+MAP(0x6A, 0x59, 0x88AE) /* <CJK */
+MAP(0x6A, 0x5A, 0x8899) /* <CJK */
+MAP(0x6A, 0x5B, 0x88A2) /* <CJK */
+MAP(0x6A, 0x5C, 0x888D) /* <CJK */
+MAP(0x6A, 0x5D, 0x88A4) /* <CJK */
+MAP(0x6A, 0x5E, 0x88B0) /* <CJK */
+MAP(0x6A, 0x5F, 0x88BF) /* <CJK */
+MAP(0x6A, 0x60, 0x88B1) /* <CJK */
+MAP(0x6A, 0x61, 0x88C3) /* <CJK */
+MAP(0x6A, 0x62, 0x88C4) /* <CJK */
+MAP(0x6A, 0x63, 0x88D4) /* <CJK */
+MAP(0x6A, 0x64, 0x88D8) /* <CJK */
+MAP(0x6A, 0x65, 0x88D9) /* <CJK */
+MAP(0x6A, 0x66, 0x88DD) /* <CJK */
+MAP(0x6A, 0x67, 0x88F9) /* <CJK */
+MAP(0x6A, 0x68, 0x8902) /* <CJK */
+MAP(0x6A, 0x69, 0x88FC) /* <CJK */
+MAP(0x6A, 0x6A, 0x88F4) /* <CJK */
+MAP(0x6A, 0x6B, 0x88E8) /* <CJK */
+MAP(0x6A, 0x6C, 0x88F2) /* <CJK */
+MAP(0x6A, 0x6D, 0x8904) /* <CJK */
+MAP(0x6A, 0x6E, 0x890C) /* <CJK */
+MAP(0x6A, 0x6F, 0x890A) /* <CJK */
+MAP(0x6A, 0x70, 0x8913) /* <CJK */
+MAP(0x6A, 0x71, 0x8943) /* <CJK */
+MAP(0x6A, 0x72, 0x891E) /* <CJK */
+MAP(0x6A, 0x73, 0x8925) /* <CJK */
+MAP(0x6A, 0x74, 0x892A) /* <CJK */
+MAP(0x6A, 0x75, 0x892B) /* <CJK */
+MAP(0x6A, 0x76, 0x8941) /* <CJK */
+MAP(0x6A, 0x77, 0x8944) /* <CJK */
+MAP(0x6A, 0x78, 0x893B) /* <CJK */
+MAP(0x6A, 0x79, 0x8936) /* <CJK */
+MAP(0x6A, 0x7A, 0x8938) /* <CJK */
+MAP(0x6A, 0x7B, 0x894C) /* <CJK */
+MAP(0x6A, 0x7C, 0x891D) /* <CJK */
+MAP(0x6A, 0x7D, 0x8960) /* <CJK */
+MAP(0x6A, 0x7E, 0x895E) /* <CJK */
+MAP(0x6B, 0x21, 0x8966) /* <CJK */
+MAP(0x6B, 0x22, 0x8964) /* <CJK */
+MAP(0x6B, 0x23, 0x896D) /* <CJK */
+MAP(0x6B, 0x24, 0x896A) /* <CJK */
+MAP(0x6B, 0x25, 0x896F) /* <CJK */
+MAP(0x6B, 0x26, 0x8974) /* <CJK */
+MAP(0x6B, 0x27, 0x8977) /* <CJK */
+MAP(0x6B, 0x28, 0x897E) /* <CJK */
+MAP(0x6B, 0x29, 0x8983) /* <CJK */
+MAP(0x6B, 0x2A, 0x8988) /* <CJK */
+MAP(0x6B, 0x2B, 0x898A) /* <CJK */
+MAP(0x6B, 0x2C, 0x8993) /* <CJK */
+MAP(0x6B, 0x2D, 0x8998) /* <CJK */
+MAP(0x6B, 0x2E, 0x89A1) /* <CJK */
+MAP(0x6B, 0x2F, 0x89A9) /* <CJK */
+MAP(0x6B, 0x30, 0x89A6) /* <CJK */
+MAP(0x6B, 0x31, 0x89AC) /* <CJK */
+MAP(0x6B, 0x32, 0x89AF) /* <CJK */
+MAP(0x6B, 0x33, 0x89B2) /* <CJK */
+MAP(0x6B, 0x34, 0x89BA) /* <CJK */
+MAP(0x6B, 0x35, 0x89BD) /* <CJK */
+MAP(0x6B, 0x36, 0x89BF) /* <CJK */
+MAP(0x6B, 0x37, 0x89C0) /* <CJK */
+MAP(0x6B, 0x38, 0x89DA) /* <CJK */
+MAP(0x6B, 0x39, 0x89DC) /* <CJK */
+MAP(0x6B, 0x3A, 0x89DD) /* <CJK */
+MAP(0x6B, 0x3B, 0x89E7) /* <CJK */
+MAP(0x6B, 0x3C, 0x89F4) /* <CJK */
+MAP(0x6B, 0x3D, 0x89F8) /* <CJK */
+MAP(0x6B, 0x3E, 0x8A03) /* <CJK */
+MAP(0x6B, 0x3F, 0x8A16) /* <CJK */
+MAP(0x6B, 0x40, 0x8A10) /* <CJK */
+MAP(0x6B, 0x41, 0x8A0C) /* <CJK */
+MAP(0x6B, 0x42, 0x8A1B) /* <CJK */
+MAP(0x6B, 0x43, 0x8A1D) /* <CJK */
+MAP(0x6B, 0x44, 0x8A25) /* <CJK */
+MAP(0x6B, 0x45, 0x8A36) /* <CJK */
+MAP(0x6B, 0x46, 0x8A41) /* <CJK */
+MAP(0x6B, 0x47, 0x8A5B) /* <CJK */
+MAP(0x6B, 0x48, 0x8A52) /* <CJK */
+MAP(0x6B, 0x49, 0x8A46) /* <CJK */
+MAP(0x6B, 0x4A, 0x8A48) /* <CJK */
+MAP(0x6B, 0x4B, 0x8A7C) /* <CJK */
+MAP(0x6B, 0x4C, 0x8A6D) /* <CJK */
+MAP(0x6B, 0x4D, 0x8A6C) /* <CJK */
+MAP(0x6B, 0x4E, 0x8A62) /* <CJK */
+MAP(0x6B, 0x4F, 0x8A85) /* <CJK */
+MAP(0x6B, 0x50, 0x8A82) /* <CJK */
+MAP(0x6B, 0x51, 0x8A84) /* <CJK */
+MAP(0x6B, 0x52, 0x8AA8) /* <CJK */
+MAP(0x6B, 0x53, 0x8AA1) /* <CJK */
+MAP(0x6B, 0x54, 0x8A91) /* <CJK */
+MAP(0x6B, 0x55, 0x8AA5) /* <CJK */
+MAP(0x6B, 0x56, 0x8AA6) /* <CJK */
+MAP(0x6B, 0x57, 0x8A9A) /* <CJK */
+MAP(0x6B, 0x58, 0x8AA3) /* <CJK */
+MAP(0x6B, 0x59, 0x8AC4) /* <CJK */
+MAP(0x6B, 0x5A, 0x8ACD) /* <CJK */
+MAP(0x6B, 0x5B, 0x8AC2) /* <CJK */
+MAP(0x6B, 0x5C, 0x8ADA) /* <CJK */
+MAP(0x6B, 0x5D, 0x8AEB) /* <CJK */
+MAP(0x6B, 0x5E, 0x8AF3) /* <CJK */
+MAP(0x6B, 0x5F, 0x8AE7) /* <CJK */
+MAP(0x6B, 0x60, 0x8AE4) /* <CJK */
+MAP(0x6B, 0x61, 0x8AF1) /* <CJK */
+MAP(0x6B, 0x62, 0x8B14) /* <CJK */
+MAP(0x6B, 0x63, 0x8AE0) /* <CJK */
+MAP(0x6B, 0x64, 0x8AE2) /* <CJK */
+MAP(0x6B, 0x65, 0x8AF7) /* <CJK */
+MAP(0x6B, 0x66, 0x8ADE) /* <CJK */
+MAP(0x6B, 0x67, 0x8ADB) /* <CJK */
+MAP(0x6B, 0x68, 0x8B0C) /* <CJK */
+MAP(0x6B, 0x69, 0x8B07) /* <CJK */
+MAP(0x6B, 0x6A, 0x8B1A) /* <CJK */
+MAP(0x6B, 0x6B, 0x8AE1) /* <CJK */
+MAP(0x6B, 0x6C, 0x8B16) /* <CJK */
+MAP(0x6B, 0x6D, 0x8B10) /* <CJK */
+MAP(0x6B, 0x6E, 0x8B17) /* <CJK */
+MAP(0x6B, 0x6F, 0x8B20) /* <CJK */
+MAP(0x6B, 0x70, 0x8B33) /* <CJK */
+MAP(0x6B, 0x71, 0x97AB) /* <CJK */
+MAP(0x6B, 0x72, 0x8B26) /* <CJK */
+MAP(0x6B, 0x73, 0x8B2B) /* <CJK */
+MAP(0x6B, 0x74, 0x8B3E) /* <CJK */
+MAP(0x6B, 0x75, 0x8B28) /* <CJK */
+MAP(0x6B, 0x76, 0x8B41) /* <CJK */
+MAP(0x6B, 0x77, 0x8B4C) /* <CJK */
+MAP(0x6B, 0x78, 0x8B4F) /* <CJK */
+MAP(0x6B, 0x79, 0x8B4E) /* <CJK */
+MAP(0x6B, 0x7A, 0x8B49) /* <CJK */
+MAP(0x6B, 0x7B, 0x8B56) /* <CJK */
+MAP(0x6B, 0x7C, 0x8B5B) /* <CJK */
+MAP(0x6B, 0x7D, 0x8B5A) /* <CJK */
+MAP(0x6B, 0x7E, 0x8B6B) /* <CJK */
+MAP(0x6C, 0x21, 0x8B5F) /* <CJK */
+MAP(0x6C, 0x22, 0x8B6C) /* <CJK */
+MAP(0x6C, 0x23, 0x8B6F) /* <CJK */
+MAP(0x6C, 0x24, 0x8B74) /* <CJK */
+MAP(0x6C, 0x25, 0x8B7D) /* <CJK */
+MAP(0x6C, 0x26, 0x8B80) /* <CJK */
+MAP(0x6C, 0x27, 0x8B8C) /* <CJK */
+MAP(0x6C, 0x28, 0x8B8E) /* <CJK */
+MAP(0x6C, 0x29, 0x8B92) /* <CJK */
+MAP(0x6C, 0x2A, 0x8B93) /* <CJK */
+MAP(0x6C, 0x2B, 0x8B96) /* <CJK */
+MAP(0x6C, 0x2C, 0x8B99) /* <CJK */
+MAP(0x6C, 0x2D, 0x8B9A) /* <CJK */
+MAP(0x6C, 0x2E, 0x8C3A) /* <CJK */
+MAP(0x6C, 0x2F, 0x8C41) /* <CJK */
+MAP(0x6C, 0x30, 0x8C3F) /* <CJK */
+MAP(0x6C, 0x31, 0x8C48) /* <CJK */
+MAP(0x6C, 0x32, 0x8C4C) /* <CJK */
+MAP(0x6C, 0x33, 0x8C4E) /* <CJK */
+MAP(0x6C, 0x34, 0x8C50) /* <CJK */
+MAP(0x6C, 0x35, 0x8C55) /* <CJK */
+MAP(0x6C, 0x36, 0x8C62) /* <CJK */
+MAP(0x6C, 0x37, 0x8C6C) /* <CJK */
+MAP(0x6C, 0x38, 0x8C78) /* <CJK */
+MAP(0x6C, 0x39, 0x8C7A) /* <CJK */
+MAP(0x6C, 0x3A, 0x8C82) /* <CJK */
+MAP(0x6C, 0x3B, 0x8C89) /* <CJK */
+MAP(0x6C, 0x3C, 0x8C85) /* <CJK */
+MAP(0x6C, 0x3D, 0x8C8A) /* <CJK */
+MAP(0x6C, 0x3E, 0x8C8D) /* <CJK */
+MAP(0x6C, 0x3F, 0x8C8E) /* <CJK */
+MAP(0x6C, 0x40, 0x8C94) /* <CJK */
+MAP(0x6C, 0x41, 0x8C7C) /* <CJK */
+MAP(0x6C, 0x42, 0x8C98) /* <CJK */
+MAP(0x6C, 0x43, 0x621D) /* <CJK */
+MAP(0x6C, 0x44, 0x8CAD) /* <CJK */
+MAP(0x6C, 0x45, 0x8CAA) /* <CJK */
+MAP(0x6C, 0x46, 0x8CBD) /* <CJK */
+MAP(0x6C, 0x47, 0x8CB2) /* <CJK */
+MAP(0x6C, 0x48, 0x8CB3) /* <CJK */
+MAP(0x6C, 0x49, 0x8CAE) /* <CJK */
+MAP(0x6C, 0x4A, 0x8CB6) /* <CJK */
+MAP(0x6C, 0x4B, 0x8CC8) /* <CJK */
+MAP(0x6C, 0x4C, 0x8CC1) /* <CJK */
+MAP(0x6C, 0x4D, 0x8CE4) /* <CJK */
+MAP(0x6C, 0x4E, 0x8CE3) /* <CJK */
+MAP(0x6C, 0x4F, 0x8CDA) /* <CJK */
+MAP(0x6C, 0x50, 0x8CFD) /* <CJK */
+MAP(0x6C, 0x51, 0x8CFA) /* <CJK */
+MAP(0x6C, 0x52, 0x8CFB) /* <CJK */
+MAP(0x6C, 0x53, 0x8D04) /* <CJK */
+MAP(0x6C, 0x54, 0x8D05) /* <CJK */
+MAP(0x6C, 0x55, 0x8D0A) /* <CJK */
+MAP(0x6C, 0x56, 0x8D07) /* <CJK */
+MAP(0x6C, 0x57, 0x8D0F) /* <CJK */
+MAP(0x6C, 0x58, 0x8D0D) /* <CJK */
+MAP(0x6C, 0x59, 0x8D10) /* <CJK */
+MAP(0x6C, 0x5A, 0x9F4E) /* <CJK */
+MAP(0x6C, 0x5B, 0x8D13) /* <CJK */
+MAP(0x6C, 0x5C, 0x8CCD) /* <CJK */
+MAP(0x6C, 0x5D, 0x8D14) /* <CJK */
+MAP(0x6C, 0x5E, 0x8D16) /* <CJK */
+MAP(0x6C, 0x5F, 0x8D67) /* <CJK */
+MAP(0x6C, 0x60, 0x8D6D) /* <CJK */
+MAP(0x6C, 0x61, 0x8D71) /* <CJK */
+MAP(0x6C, 0x62, 0x8D73) /* <CJK */
+MAP(0x6C, 0x63, 0x8D81) /* <CJK */
+MAP(0x6C, 0x64, 0x8D99) /* <CJK */
+MAP(0x6C, 0x65, 0x8DC2) /* <CJK */
+MAP(0x6C, 0x66, 0x8DBE) /* <CJK */
+MAP(0x6C, 0x67, 0x8DBA) /* <CJK */
+MAP(0x6C, 0x68, 0x8DCF) /* <CJK */
+MAP(0x6C, 0x69, 0x8DDA) /* <CJK */
+MAP(0x6C, 0x6A, 0x8DD6) /* <CJK */
+MAP(0x6C, 0x6B, 0x8DCC) /* <CJK */
+MAP(0x6C, 0x6C, 0x8DDB) /* <CJK */
+MAP(0x6C, 0x6D, 0x8DCB) /* <CJK */
+MAP(0x6C, 0x6E, 0x8DEA) /* <CJK */
+MAP(0x6C, 0x6F, 0x8DEB) /* <CJK */
+MAP(0x6C, 0x70, 0x8DDF) /* <CJK */
+MAP(0x6C, 0x71, 0x8DE3) /* <CJK */
+MAP(0x6C, 0x72, 0x8DFC) /* <CJK */
+MAP(0x6C, 0x73, 0x8E08) /* <CJK */
+MAP(0x6C, 0x74, 0x8E09) /* <CJK */
+MAP(0x6C, 0x75, 0x8DFF) /* <CJK */
+MAP(0x6C, 0x76, 0x8E1D) /* <CJK */
+MAP(0x6C, 0x77, 0x8E1E) /* <CJK */
+MAP(0x6C, 0x78, 0x8E10) /* <CJK */
+MAP(0x6C, 0x79, 0x8E1F) /* <CJK */
+MAP(0x6C, 0x7A, 0x8E42) /* <CJK */
+MAP(0x6C, 0x7B, 0x8E35) /* <CJK */
+MAP(0x6C, 0x7C, 0x8E30) /* <CJK */
+MAP(0x6C, 0x7D, 0x8E34) /* <CJK */
+MAP(0x6C, 0x7E, 0x8E4A) /* <CJK */
+MAP(0x6D, 0x21, 0x8E47) /* <CJK */
+MAP(0x6D, 0x22, 0x8E49) /* <CJK */
+MAP(0x6D, 0x23, 0x8E4C) /* <CJK */
+MAP(0x6D, 0x24, 0x8E50) /* <CJK */
+MAP(0x6D, 0x25, 0x8E48) /* <CJK */
+MAP(0x6D, 0x26, 0x8E59) /* <CJK */
+MAP(0x6D, 0x27, 0x8E64) /* <CJK */
+MAP(0x6D, 0x28, 0x8E60) /* <CJK */
+MAP(0x6D, 0x29, 0x8E2A) /* <CJK */
+MAP(0x6D, 0x2A, 0x8E63) /* <CJK */
+MAP(0x6D, 0x2B, 0x8E55) /* <CJK */
+MAP(0x6D, 0x2C, 0x8E76) /* <CJK */
+MAP(0x6D, 0x2D, 0x8E72) /* <CJK */
+MAP(0x6D, 0x2E, 0x8E7C) /* <CJK */
+MAP(0x6D, 0x2F, 0x8E81) /* <CJK */
+MAP(0x6D, 0x30, 0x8E87) /* <CJK */
+MAP(0x6D, 0x31, 0x8E85) /* <CJK */
+MAP(0x6D, 0x32, 0x8E84) /* <CJK */
+MAP(0x6D, 0x33, 0x8E8B) /* <CJK */
+MAP(0x6D, 0x34, 0x8E8A) /* <CJK */
+MAP(0x6D, 0x35, 0x8E93) /* <CJK */
+MAP(0x6D, 0x36, 0x8E91) /* <CJK */
+MAP(0x6D, 0x37, 0x8E94) /* <CJK */
+MAP(0x6D, 0x38, 0x8E99) /* <CJK */
+MAP(0x6D, 0x39, 0x8EAA) /* <CJK */
+MAP(0x6D, 0x3A, 0x8EA1) /* <CJK */
+MAP(0x6D, 0x3B, 0x8EAC) /* <CJK */
+MAP(0x6D, 0x3C, 0x8EB0) /* <CJK */
+MAP(0x6D, 0x3D, 0x8EC6) /* <CJK */
+MAP(0x6D, 0x3E, 0x8EB1) /* <CJK */
+MAP(0x6D, 0x3F, 0x8EBE) /* <CJK */
+MAP(0x6D, 0x40, 0x8EC5) /* <CJK */
+MAP(0x6D, 0x41, 0x8EC8) /* <CJK */
+MAP(0x6D, 0x42, 0x8ECB) /* <CJK */
+MAP(0x6D, 0x43, 0x8EDB) /* <CJK */
+MAP(0x6D, 0x44, 0x8EE3) /* <CJK */
+MAP(0x6D, 0x45, 0x8EFC) /* <CJK */
+MAP(0x6D, 0x46, 0x8EFB) /* <CJK */
+MAP(0x6D, 0x47, 0x8EEB) /* <CJK */
+MAP(0x6D, 0x48, 0x8EFE) /* <CJK */
+MAP(0x6D, 0x49, 0x8F0A) /* <CJK */
+MAP(0x6D, 0x4A, 0x8F05) /* <CJK */
+MAP(0x6D, 0x4B, 0x8F15) /* <CJK */
+MAP(0x6D, 0x4C, 0x8F12) /* <CJK */
+MAP(0x6D, 0x4D, 0x8F19) /* <CJK */
+MAP(0x6D, 0x4E, 0x8F13) /* <CJK */
+MAP(0x6D, 0x4F, 0x8F1C) /* <CJK */
+MAP(0x6D, 0x50, 0x8F1F) /* <CJK */
+MAP(0x6D, 0x51, 0x8F1B) /* <CJK */
+MAP(0x6D, 0x52, 0x8F0C) /* <CJK */
+MAP(0x6D, 0x53, 0x8F26) /* <CJK */
+MAP(0x6D, 0x54, 0x8F33) /* <CJK */
+MAP(0x6D, 0x55, 0x8F3B) /* <CJK */
+MAP(0x6D, 0x56, 0x8F39) /* <CJK */
+MAP(0x6D, 0x57, 0x8F45) /* <CJK */
+MAP(0x6D, 0x58, 0x8F42) /* <CJK */
+MAP(0x6D, 0x59, 0x8F3E) /* <CJK */
+MAP(0x6D, 0x5A, 0x8F4C) /* <CJK */
+MAP(0x6D, 0x5B, 0x8F49) /* <CJK */
+MAP(0x6D, 0x5C, 0x8F46) /* <CJK */
+MAP(0x6D, 0x5D, 0x8F4E) /* <CJK */
+MAP(0x6D, 0x5E, 0x8F57) /* <CJK */
+MAP(0x6D, 0x5F, 0x8F5C) /* <CJK */
+MAP(0x6D, 0x60, 0x8F62) /* <CJK */
+MAP(0x6D, 0x61, 0x8F63) /* <CJK */
+MAP(0x6D, 0x62, 0x8F64) /* <CJK */
+MAP(0x6D, 0x63, 0x8F9C) /* <CJK */
+MAP(0x6D, 0x64, 0x8F9F) /* <CJK */
+MAP(0x6D, 0x65, 0x8FA3) /* <CJK */
+MAP(0x6D, 0x66, 0x8FAD) /* <CJK */
+MAP(0x6D, 0x67, 0x8FAF) /* <CJK */
+MAP(0x6D, 0x68, 0x8FB7) /* <CJK */
+MAP(0x6D, 0x69, 0x8FDA) /* <CJK */
+MAP(0x6D, 0x6A, 0x8FE5) /* <CJK */
+MAP(0x6D, 0x6B, 0x8FE2) /* <CJK */
+MAP(0x6D, 0x6C, 0x8FEA) /* <CJK */
+MAP(0x6D, 0x6D, 0x8FEF) /* <CJK */
+MAP(0x6D, 0x6E, 0x9087) /* <CJK */
+MAP(0x6D, 0x6F, 0x8FF4) /* <CJK */
+MAP(0x6D, 0x70, 0x9005) /* <CJK */
+MAP(0x6D, 0x71, 0x8FF9) /* <CJK */
+MAP(0x6D, 0x72, 0x8FFA) /* <CJK */
+MAP(0x6D, 0x73, 0x9011) /* <CJK */
+MAP(0x6D, 0x74, 0x9015) /* <CJK */
+MAP(0x6D, 0x75, 0x9021) /* <CJK */
+MAP(0x6D, 0x76, 0x900D) /* <CJK */
+MAP(0x6D, 0x77, 0x901E) /* <CJK */
+MAP(0x6D, 0x78, 0x9016) /* <CJK */
+MAP(0x6D, 0x79, 0x900B) /* <CJK */
+MAP(0x6D, 0x7A, 0x9027) /* <CJK */
+MAP(0x6D, 0x7B, 0x9036) /* <CJK */
+MAP(0x6D, 0x7C, 0x9035) /* <CJK */
+MAP(0x6D, 0x7D, 0x9039) /* <CJK */
+MAP(0x6D, 0x7E, 0x8FF8) /* <CJK */
+MAP(0x6E, 0x21, 0x904F) /* <CJK */
+MAP(0x6E, 0x22, 0x9050) /* <CJK */
+MAP(0x6E, 0x23, 0x9051) /* <CJK */
+MAP(0x6E, 0x24, 0x9052) /* <CJK */
+MAP(0x6E, 0x25, 0x900E) /* <CJK */
+MAP(0x6E, 0x26, 0x9049) /* <CJK */
+MAP(0x6E, 0x27, 0x903E) /* <CJK */
+MAP(0x6E, 0x28, 0x9056) /* <CJK */
+MAP(0x6E, 0x29, 0x9058) /* <CJK */
+MAP(0x6E, 0x2A, 0x905E) /* <CJK */
+MAP(0x6E, 0x2B, 0x9068) /* <CJK */
+MAP(0x6E, 0x2C, 0x906F) /* <CJK */
+MAP(0x6E, 0x2D, 0x9076) /* <CJK */
+MAP(0x6E, 0x2E, 0x96A8) /* <CJK */
+MAP(0x6E, 0x2F, 0x9072) /* <CJK */
+MAP(0x6E, 0x30, 0x9082) /* <CJK */
+MAP(0x6E, 0x31, 0x907D) /* <CJK */
+MAP(0x6E, 0x32, 0x9081) /* <CJK */
+MAP(0x6E, 0x33, 0x9080) /* <CJK */
+MAP(0x6E, 0x34, 0x908A) /* <CJK */
+MAP(0x6E, 0x35, 0x9089) /* <CJK */
+MAP(0x6E, 0x36, 0x908F) /* <CJK */
+MAP(0x6E, 0x37, 0x90A8) /* <CJK */
+MAP(0x6E, 0x38, 0x90AF) /* <CJK */
+MAP(0x6E, 0x39, 0x90B1) /* <CJK */
+MAP(0x6E, 0x3A, 0x90B5) /* <CJK */
+MAP(0x6E, 0x3B, 0x90E2) /* <CJK */
+MAP(0x6E, 0x3C, 0x90E4) /* <CJK */
+MAP(0x6E, 0x3D, 0x6248) /* <CJK */
+MAP(0x6E, 0x3E, 0x90DB) /* <CJK */
+MAP(0x6E, 0x3F, 0x9102) /* <CJK */
+MAP(0x6E, 0x40, 0x9112) /* <CJK */
+MAP(0x6E, 0x41, 0x9119) /* <CJK */
+MAP(0x6E, 0x42, 0x9132) /* <CJK */
+MAP(0x6E, 0x43, 0x9130) /* <CJK */
+MAP(0x6E, 0x44, 0x914A) /* <CJK */
+MAP(0x6E, 0x45, 0x9156) /* <CJK */
+MAP(0x6E, 0x46, 0x9158) /* <CJK */
+MAP(0x6E, 0x47, 0x9163) /* <CJK */
+MAP(0x6E, 0x48, 0x9165) /* <CJK */
+MAP(0x6E, 0x49, 0x9169) /* <CJK */
+MAP(0x6E, 0x4A, 0x9173) /* <CJK */
+MAP(0x6E, 0x4B, 0x9172) /* <CJK */
+MAP(0x6E, 0x4C, 0x918B) /* <CJK */
+MAP(0x6E, 0x4D, 0x9189) /* <CJK */
+MAP(0x6E, 0x4E, 0x9182) /* <CJK */
+MAP(0x6E, 0x4F, 0x91A2) /* <CJK */
+MAP(0x6E, 0x50, 0x91AB) /* <CJK */
+MAP(0x6E, 0x51, 0x91AF) /* <CJK */
+MAP(0x6E, 0x52, 0x91AA) /* <CJK */
+MAP(0x6E, 0x53, 0x91B5) /* <CJK */
+MAP(0x6E, 0x54, 0x91B4) /* <CJK */
+MAP(0x6E, 0x55, 0x91BA) /* <CJK */
+MAP(0x6E, 0x56, 0x91C0) /* <CJK */
+MAP(0x6E, 0x57, 0x91C1) /* <CJK */
+MAP(0x6E, 0x58, 0x91C9) /* <CJK */
+MAP(0x6E, 0x59, 0x91CB) /* <CJK */
+MAP(0x6E, 0x5A, 0x91D0) /* <CJK */
+MAP(0x6E, 0x5B, 0x91D6) /* <CJK */
+MAP(0x6E, 0x5C, 0x91DF) /* <CJK */
+MAP(0x6E, 0x5D, 0x91E1) /* <CJK */
+MAP(0x6E, 0x5E, 0x91DB) /* <CJK */
+MAP(0x6E, 0x5F, 0x91FC) /* <CJK */
+MAP(0x6E, 0x60, 0x91F5) /* <CJK */
+MAP(0x6E, 0x61, 0x91F6) /* <CJK */
+MAP(0x6E, 0x62, 0x921E) /* <CJK */
+MAP(0x6E, 0x63, 0x91FF) /* <CJK */
+MAP(0x6E, 0x64, 0x9214) /* <CJK */
+MAP(0x6E, 0x65, 0x922C) /* <CJK */
+MAP(0x6E, 0x66, 0x9215) /* <CJK */
+MAP(0x6E, 0x67, 0x9211) /* <CJK */
+MAP(0x6E, 0x68, 0x925E) /* <CJK */
+MAP(0x6E, 0x69, 0x9257) /* <CJK */
+MAP(0x6E, 0x6A, 0x9245) /* <CJK */
+MAP(0x6E, 0x6B, 0x9249) /* <CJK */
+MAP(0x6E, 0x6C, 0x9264) /* <CJK */
+MAP(0x6E, 0x6D, 0x9248) /* <CJK */
+MAP(0x6E, 0x6E, 0x9295) /* <CJK */
+MAP(0x6E, 0x6F, 0x923F) /* <CJK */
+MAP(0x6E, 0x70, 0x924B) /* <CJK */
+MAP(0x6E, 0x71, 0x9250) /* <CJK */
+MAP(0x6E, 0x72, 0x929C) /* <CJK */
+MAP(0x6E, 0x73, 0x9296) /* <CJK */
+MAP(0x6E, 0x74, 0x9293) /* <CJK */
+MAP(0x6E, 0x75, 0x929B) /* <CJK */
+MAP(0x6E, 0x76, 0x925A) /* <CJK */
+MAP(0x6E, 0x77, 0x92CF) /* <CJK */
+MAP(0x6E, 0x78, 0x92B9) /* <CJK */
+MAP(0x6E, 0x79, 0x92B7) /* <CJK */
+MAP(0x6E, 0x7A, 0x92E9) /* <CJK */
+MAP(0x6E, 0x7B, 0x930F) /* <CJK */
+MAP(0x6E, 0x7C, 0x92FA) /* <CJK */
+MAP(0x6E, 0x7D, 0x9344) /* <CJK */
+MAP(0x6E, 0x7E, 0x932E) /* <CJK */
+MAP(0x6F, 0x21, 0x9319) /* <CJK */
+MAP(0x6F, 0x22, 0x9322) /* <CJK */
+MAP(0x6F, 0x23, 0x931A) /* <CJK */
+MAP(0x6F, 0x24, 0x9323) /* <CJK */
+MAP(0x6F, 0x25, 0x933A) /* <CJK */
+MAP(0x6F, 0x26, 0x9335) /* <CJK */
+MAP(0x6F, 0x27, 0x933B) /* <CJK */
+MAP(0x6F, 0x28, 0x935C) /* <CJK */
+MAP(0x6F, 0x29, 0x9360) /* <CJK */
+MAP(0x6F, 0x2A, 0x937C) /* <CJK */
+MAP(0x6F, 0x2B, 0x936E) /* <CJK */
+MAP(0x6F, 0x2C, 0x9356) /* <CJK */
+MAP(0x6F, 0x2D, 0x93B0) /* <CJK */
+MAP(0x6F, 0x2E, 0x93AC) /* <CJK */
+MAP(0x6F, 0x2F, 0x93AD) /* <CJK */
+MAP(0x6F, 0x30, 0x9394) /* <CJK */
+MAP(0x6F, 0x31, 0x93B9) /* <CJK */
+MAP(0x6F, 0x32, 0x93D6) /* <CJK */
+MAP(0x6F, 0x33, 0x93D7) /* <CJK */
+MAP(0x6F, 0x34, 0x93E8) /* <CJK */
+MAP(0x6F, 0x35, 0x93E5) /* <CJK */
+MAP(0x6F, 0x36, 0x93D8) /* <CJK */
+MAP(0x6F, 0x37, 0x93C3) /* <CJK */
+MAP(0x6F, 0x38, 0x93DD) /* <CJK */
+MAP(0x6F, 0x39, 0x93D0) /* <CJK */
+MAP(0x6F, 0x3A, 0x93C8) /* <CJK */
+MAP(0x6F, 0x3B, 0x93E4) /* <CJK */
+MAP(0x6F, 0x3C, 0x941A) /* <CJK */
+MAP(0x6F, 0x3D, 0x9414) /* <CJK */
+MAP(0x6F, 0x3E, 0x9413) /* <CJK */
+MAP(0x6F, 0x3F, 0x9403) /* <CJK */
+MAP(0x6F, 0x40, 0x9407) /* <CJK */
+MAP(0x6F, 0x41, 0x9410) /* <CJK */
+MAP(0x6F, 0x42, 0x9436) /* <CJK */
+MAP(0x6F, 0x43, 0x942B) /* <CJK */
+MAP(0x6F, 0x44, 0x9435) /* <CJK */
+MAP(0x6F, 0x45, 0x9421) /* <CJK */
+MAP(0x6F, 0x46, 0x943A) /* <CJK */
+MAP(0x6F, 0x47, 0x9441) /* <CJK */
+MAP(0x6F, 0x48, 0x9452) /* <CJK */
+MAP(0x6F, 0x49, 0x9444) /* <CJK */
+MAP(0x6F, 0x4A, 0x945B) /* <CJK */
+MAP(0x6F, 0x4B, 0x9460) /* <CJK */
+MAP(0x6F, 0x4C, 0x9462) /* <CJK */
+MAP(0x6F, 0x4D, 0x945E) /* <CJK */
+MAP(0x6F, 0x4E, 0x946A) /* <CJK */
+MAP(0x6F, 0x4F, 0x9229) /* <CJK */
+MAP(0x6F, 0x50, 0x9470) /* <CJK */
+MAP(0x6F, 0x51, 0x9475) /* <CJK */
+MAP(0x6F, 0x52, 0x9477) /* <CJK */
+MAP(0x6F, 0x53, 0x947D) /* <CJK */
+MAP(0x6F, 0x54, 0x945A) /* <CJK */
+MAP(0x6F, 0x55, 0x947C) /* <CJK */
+MAP(0x6F, 0x56, 0x947E) /* <CJK */
+MAP(0x6F, 0x57, 0x9481) /* <CJK */
+MAP(0x6F, 0x58, 0x947F) /* <CJK */
+MAP(0x6F, 0x59, 0x9582) /* <CJK */
+MAP(0x6F, 0x5A, 0x9587) /* <CJK */
+MAP(0x6F, 0x5B, 0x958A) /* <CJK */
+MAP(0x6F, 0x5C, 0x9594) /* <CJK */
+MAP(0x6F, 0x5D, 0x9596) /* <CJK */
+MAP(0x6F, 0x5E, 0x9598) /* <CJK */
+MAP(0x6F, 0x5F, 0x9599) /* <CJK */
+MAP(0x6F, 0x60, 0x95A0) /* <CJK */
+MAP(0x6F, 0x61, 0x95A8) /* <CJK */
+MAP(0x6F, 0x62, 0x95A7) /* <CJK */
+MAP(0x6F, 0x63, 0x95AD) /* <CJK */
+MAP(0x6F, 0x64, 0x95BC) /* <CJK */
+MAP(0x6F, 0x65, 0x95BB) /* <CJK */
+MAP(0x6F, 0x66, 0x95B9) /* <CJK */
+MAP(0x6F, 0x67, 0x95BE) /* <CJK */
+MAP(0x6F, 0x68, 0x95CA) /* <CJK */
+MAP(0x6F, 0x69, 0x6FF6) /* <CJK */
+MAP(0x6F, 0x6A, 0x95C3) /* <CJK */
+MAP(0x6F, 0x6B, 0x95CD) /* <CJK */
+MAP(0x6F, 0x6C, 0x95CC) /* <CJK */
+MAP(0x6F, 0x6D, 0x95D5) /* <CJK */
+MAP(0x6F, 0x6E, 0x95D4) /* <CJK */
+MAP(0x6F, 0x6F, 0x95D6) /* <CJK */
+MAP(0x6F, 0x70, 0x95DC) /* <CJK */
+MAP(0x6F, 0x71, 0x95E1) /* <CJK */
+MAP(0x6F, 0x72, 0x95E5) /* <CJK */
+MAP(0x6F, 0x73, 0x95E2) /* <CJK */
+MAP(0x6F, 0x74, 0x9621) /* <CJK */
+MAP(0x6F, 0x75, 0x9628) /* <CJK */
+MAP(0x6F, 0x76, 0x962E) /* <CJK */
+MAP(0x6F, 0x77, 0x962F) /* <CJK */
+MAP(0x6F, 0x78, 0x9642) /* <CJK */
+MAP(0x6F, 0x79, 0x964C) /* <CJK */
+MAP(0x6F, 0x7A, 0x964F) /* <CJK */
+MAP(0x6F, 0x7B, 0x964B) /* <CJK */
+MAP(0x6F, 0x7C, 0x9677) /* <CJK */
+MAP(0x6F, 0x7D, 0x965C) /* <CJK */
+MAP(0x6F, 0x7E, 0x965E) /* <CJK */
+MAP(0x70, 0x21, 0x965D) /* <CJK */
+MAP(0x70, 0x22, 0x965F) /* <CJK */
+MAP(0x70, 0x23, 0x9666) /* <CJK */
+MAP(0x70, 0x24, 0x9672) /* <CJK */
+MAP(0x70, 0x25, 0x966C) /* <CJK */
+MAP(0x70, 0x26, 0x968D) /* <CJK */
+MAP(0x70, 0x27, 0x9698) /* <CJK */
+MAP(0x70, 0x28, 0x9695) /* <CJK */
+MAP(0x70, 0x29, 0x9697) /* <CJK */
+MAP(0x70, 0x2A, 0x96AA) /* <CJK */
+MAP(0x70, 0x2B, 0x96A7) /* <CJK */
+MAP(0x70, 0x2C, 0x96B1) /* <CJK */
+MAP(0x70, 0x2D, 0x96B2) /* <CJK */
+MAP(0x70, 0x2E, 0x96B0) /* <CJK */
+MAP(0x70, 0x2F, 0x96B4) /* <CJK */
+MAP(0x70, 0x30, 0x96B6) /* <CJK */
+MAP(0x70, 0x31, 0x96B8) /* <CJK */
+MAP(0x70, 0x32, 0x96B9) /* <CJK */
+MAP(0x70, 0x33, 0x96CE) /* <CJK */
+MAP(0x70, 0x34, 0x96CB) /* <CJK */
+MAP(0x70, 0x35, 0x96C9) /* <CJK */
+MAP(0x70, 0x36, 0x96CD) /* <CJK */
+MAP(0x70, 0x37, 0x894D) /* <CJK */
+MAP(0x70, 0x38, 0x96DC) /* <CJK */
+MAP(0x70, 0x39, 0x970D) /* <CJK */
+MAP(0x70, 0x3A, 0x96D5) /* <CJK */
+MAP(0x70, 0x3B, 0x96F9) /* <CJK */
+MAP(0x70, 0x3C, 0x9704) /* <CJK */
+MAP(0x70, 0x3D, 0x9706) /* <CJK */
+MAP(0x70, 0x3E, 0x9708) /* <CJK */
+MAP(0x70, 0x3F, 0x9713) /* <CJK */
+MAP(0x70, 0x40, 0x970E) /* <CJK */
+MAP(0x70, 0x41, 0x9711) /* <CJK */
+MAP(0x70, 0x42, 0x970F) /* <CJK */
+MAP(0x70, 0x43, 0x9716) /* <CJK */
+MAP(0x70, 0x44, 0x9719) /* <CJK */
+MAP(0x70, 0x45, 0x9724) /* <CJK */
+MAP(0x70, 0x46, 0x972A) /* <CJK */
+MAP(0x70, 0x47, 0x9730) /* <CJK */
+MAP(0x70, 0x48, 0x9739) /* <CJK */
+MAP(0x70, 0x49, 0x973D) /* <CJK */
+MAP(0x70, 0x4A, 0x973E) /* <CJK */
+MAP(0x70, 0x4B, 0x9744) /* <CJK */
+MAP(0x70, 0x4C, 0x9746) /* <CJK */
+MAP(0x70, 0x4D, 0x9748) /* <CJK */
+MAP(0x70, 0x4E, 0x9742) /* <CJK */
+MAP(0x70, 0x4F, 0x9749) /* <CJK */
+MAP(0x70, 0x50, 0x975C) /* <CJK */
+MAP(0x70, 0x51, 0x9760) /* <CJK */
+MAP(0x70, 0x52, 0x9764) /* <CJK */
+MAP(0x70, 0x53, 0x9766) /* <CJK */
+MAP(0x70, 0x54, 0x9768) /* <CJK */
+MAP(0x70, 0x55, 0x52D2) /* <CJK */
+MAP(0x70, 0x56, 0x976B) /* <CJK */
+MAP(0x70, 0x57, 0x9771) /* <CJK */
+MAP(0x70, 0x58, 0x9779) /* <CJK */
+MAP(0x70, 0x59, 0x9785) /* <CJK */
+MAP(0x70, 0x5A, 0x977C) /* <CJK */
+MAP(0x70, 0x5B, 0x9781) /* <CJK */
+MAP(0x70, 0x5C, 0x977A) /* <CJK */
+MAP(0x70, 0x5D, 0x9786) /* <CJK */
+MAP(0x70, 0x5E, 0x978B) /* <CJK */
+MAP(0x70, 0x5F, 0x978F) /* <CJK */
+MAP(0x70, 0x60, 0x9790) /* <CJK */
+MAP(0x70, 0x61, 0x979C) /* <CJK */
+MAP(0x70, 0x62, 0x97A8) /* <CJK */
+MAP(0x70, 0x63, 0x97A6) /* <CJK */
+MAP(0x70, 0x64, 0x97A3) /* <CJK */
+MAP(0x70, 0x65, 0x97B3) /* <CJK */
+MAP(0x70, 0x66, 0x97B4) /* <CJK */
+MAP(0x70, 0x67, 0x97C3) /* <CJK */
+MAP(0x70, 0x68, 0x97C6) /* <CJK */
+MAP(0x70, 0x69, 0x97C8) /* <CJK */
+MAP(0x70, 0x6A, 0x97CB) /* <CJK */
+MAP(0x70, 0x6B, 0x97DC) /* <CJK */
+MAP(0x70, 0x6C, 0x97ED) /* <CJK */
+MAP(0x70, 0x6D, 0x9F4F) /* <CJK */
+MAP(0x70, 0x6E, 0x97F2) /* <CJK */
+MAP(0x70, 0x6F, 0x7ADF) /* <CJK */
+MAP(0x70, 0x70, 0x97F6) /* <CJK */
+MAP(0x70, 0x71, 0x97F5) /* <CJK */
+MAP(0x70, 0x72, 0x980F) /* <CJK */
+MAP(0x70, 0x73, 0x980C) /* <CJK */
+MAP(0x70, 0x74, 0x9838) /* <CJK */
+MAP(0x70, 0x75, 0x9824) /* <CJK */
+MAP(0x70, 0x76, 0x9821) /* <CJK */
+MAP(0x70, 0x77, 0x9837) /* <CJK */
+MAP(0x70, 0x78, 0x983D) /* <CJK */
+MAP(0x70, 0x79, 0x9846) /* <CJK */
+MAP(0x70, 0x7A, 0x984F) /* <CJK */
+MAP(0x70, 0x7B, 0x984B) /* <CJK */
+MAP(0x70, 0x7C, 0x986B) /* <CJK */
+MAP(0x70, 0x7D, 0x986F) /* <CJK */
+MAP(0x70, 0x7E, 0x9870) /* <CJK */
+MAP(0x71, 0x21, 0x9871) /* <CJK */
+MAP(0x71, 0x22, 0x9874) /* <CJK */
+MAP(0x71, 0x23, 0x9873) /* <CJK */
+MAP(0x71, 0x24, 0x98AA) /* <CJK */
+MAP(0x71, 0x25, 0x98AF) /* <CJK */
+MAP(0x71, 0x26, 0x98B1) /* <CJK */
+MAP(0x71, 0x27, 0x98B6) /* <CJK */
+MAP(0x71, 0x28, 0x98C4) /* <CJK */
+MAP(0x71, 0x29, 0x98C3) /* <CJK */
+MAP(0x71, 0x2A, 0x98C6) /* <CJK */
+MAP(0x71, 0x2B, 0x98E9) /* <CJK */
+MAP(0x71, 0x2C, 0x98EB) /* <CJK */
+MAP(0x71, 0x2D, 0x9903) /* <CJK */
+MAP(0x71, 0x2E, 0x9909) /* <CJK */
+MAP(0x71, 0x2F, 0x9912) /* <CJK */
+MAP(0x71, 0x30, 0x9914) /* <CJK */
+MAP(0x71, 0x31, 0x9918) /* <CJK */
+MAP(0x71, 0x32, 0x9921) /* <CJK */
+MAP(0x71, 0x33, 0x991D) /* <CJK */
+MAP(0x71, 0x34, 0x991E) /* <CJK */
+MAP(0x71, 0x35, 0x9924) /* <CJK */
+MAP(0x71, 0x36, 0x9920) /* <CJK */
+MAP(0x71, 0x37, 0x992C) /* <CJK */
+MAP(0x71, 0x38, 0x992E) /* <CJK */
+MAP(0x71, 0x39, 0x993D) /* <CJK */
+MAP(0x71, 0x3A, 0x993E) /* <CJK */
+MAP(0x71, 0x3B, 0x9942) /* <CJK */
+MAP(0x71, 0x3C, 0x9949) /* <CJK */
+MAP(0x71, 0x3D, 0x9945) /* <CJK */
+MAP(0x71, 0x3E, 0x9950) /* <CJK */
+MAP(0x71, 0x3F, 0x994B) /* <CJK */
+MAP(0x71, 0x40, 0x9951) /* <CJK */
+MAP(0x71, 0x41, 0x9952) /* <CJK */
+MAP(0x71, 0x42, 0x994C) /* <CJK */
+MAP(0x71, 0x43, 0x9955) /* <CJK */
+MAP(0x71, 0x44, 0x9997) /* <CJK */
+MAP(0x71, 0x45, 0x9998) /* <CJK */
+MAP(0x71, 0x46, 0x99A5) /* <CJK */
+MAP(0x71, 0x47, 0x99AD) /* <CJK */
+MAP(0x71, 0x48, 0x99AE) /* <CJK */
+MAP(0x71, 0x49, 0x99BC) /* <CJK */
+MAP(0x71, 0x4A, 0x99DF) /* <CJK */
+MAP(0x71, 0x4B, 0x99DB) /* <CJK */
+MAP(0x71, 0x4C, 0x99DD) /* <CJK */
+MAP(0x71, 0x4D, 0x99D8) /* <CJK */
+MAP(0x71, 0x4E, 0x99D1) /* <CJK */
+MAP(0x71, 0x4F, 0x99ED) /* <CJK */
+MAP(0x71, 0x50, 0x99EE) /* <CJK */
+MAP(0x71, 0x51, 0x99F1) /* <CJK */
+MAP(0x71, 0x52, 0x99F2) /* <CJK */
+MAP(0x71, 0x53, 0x99FB) /* <CJK */
+MAP(0x71, 0x54, 0x99F8) /* <CJK */
+MAP(0x71, 0x55, 0x9A01) /* <CJK */
+MAP(0x71, 0x56, 0x9A0F) /* <CJK */
+MAP(0x71, 0x57, 0x9A05) /* <CJK */
+MAP(0x71, 0x58, 0x99E2) /* <CJK */
+MAP(0x71, 0x59, 0x9A19) /* <CJK */
+MAP(0x71, 0x5A, 0x9A2B) /* <CJK */
+MAP(0x71, 0x5B, 0x9A37) /* <CJK */
+MAP(0x71, 0x5C, 0x9A45) /* <CJK */
+MAP(0x71, 0x5D, 0x9A42) /* <CJK */
+MAP(0x71, 0x5E, 0x9A40) /* <CJK */
+MAP(0x71, 0x5F, 0x9A43) /* <CJK */
+MAP(0x71, 0x60, 0x9A3E) /* <CJK */
+MAP(0x71, 0x61, 0x9A55) /* <CJK */
+MAP(0x71, 0x62, 0x9A4D) /* <CJK */
+MAP(0x71, 0x63, 0x9A5B) /* <CJK */
+MAP(0x71, 0x64, 0x9A57) /* <CJK */
+MAP(0x71, 0x65, 0x9A5F) /* <CJK */
+MAP(0x71, 0x66, 0x9A62) /* <CJK */
+MAP(0x71, 0x67, 0x9A65) /* <CJK */
+MAP(0x71, 0x68, 0x9A64) /* <CJK */
+MAP(0x71, 0x69, 0x9A69) /* <CJK */
+MAP(0x71, 0x6A, 0x9A6B) /* <CJK */
+MAP(0x71, 0x6B, 0x9A6A) /* <CJK */
+MAP(0x71, 0x6C, 0x9AAD) /* <CJK */
+MAP(0x71, 0x6D, 0x9AB0) /* <CJK */
+MAP(0x71, 0x6E, 0x9ABC) /* <CJK */
+MAP(0x71, 0x6F, 0x9AC0) /* <CJK */
+MAP(0x71, 0x70, 0x9ACF) /* <CJK */
+MAP(0x71, 0x71, 0x9AD1) /* <CJK */
+MAP(0x71, 0x72, 0x9AD3) /* <CJK */
+MAP(0x71, 0x73, 0x9AD4) /* <CJK */
+MAP(0x71, 0x74, 0x9ADE) /* <CJK */
+MAP(0x71, 0x75, 0x9ADF) /* <CJK */
+MAP(0x71, 0x76, 0x9AE2) /* <CJK */
+MAP(0x71, 0x77, 0x9AE3) /* <CJK */
+MAP(0x71, 0x78, 0x9AE6) /* <CJK */
+MAP(0x71, 0x79, 0x9AEF) /* <CJK */
+MAP(0x71, 0x7A, 0x9AEB) /* <CJK */
+MAP(0x71, 0x7B, 0x9AEE) /* <CJK */
+MAP(0x71, 0x7C, 0x9AF4) /* <CJK */
+MAP(0x71, 0x7D, 0x9AF1) /* <CJK */
+MAP(0x71, 0x7E, 0x9AF7) /* <CJK */
+MAP(0x72, 0x21, 0x9AFB) /* <CJK */
+MAP(0x72, 0x22, 0x9B06) /* <CJK */
+MAP(0x72, 0x23, 0x9B18) /* <CJK */
+MAP(0x72, 0x24, 0x9B1A) /* <CJK */
+MAP(0x72, 0x25, 0x9B1F) /* <CJK */
+MAP(0x72, 0x26, 0x9B22) /* <CJK */
+MAP(0x72, 0x27, 0x9B23) /* <CJK */
+MAP(0x72, 0x28, 0x9B25) /* <CJK */
+MAP(0x72, 0x29, 0x9B27) /* <CJK */
+MAP(0x72, 0x2A, 0x9B28) /* <CJK */
+MAP(0x72, 0x2B, 0x9B29) /* <CJK */
+MAP(0x72, 0x2C, 0x9B2A) /* <CJK */
+MAP(0x72, 0x2D, 0x9B2E) /* <CJK */
+MAP(0x72, 0x2E, 0x9B2F) /* <CJK */
+MAP(0x72, 0x2F, 0x9B32) /* <CJK */
+MAP(0x72, 0x30, 0x9B44) /* <CJK */
+MAP(0x72, 0x31, 0x9B43) /* <CJK */
+MAP(0x72, 0x32, 0x9B4F) /* <CJK */
+MAP(0x72, 0x33, 0x9B4D) /* <CJK */
+MAP(0x72, 0x34, 0x9B4E) /* <CJK */
+MAP(0x72, 0x35, 0x9B51) /* <CJK */
+MAP(0x72, 0x36, 0x9B58) /* <CJK */
+MAP(0x72, 0x37, 0x9B74) /* <CJK */
+MAP(0x72, 0x38, 0x9B93) /* <CJK */
+MAP(0x72, 0x39, 0x9B83) /* <CJK */
+MAP(0x72, 0x3A, 0x9B91) /* <CJK */
+MAP(0x72, 0x3B, 0x9B96) /* <CJK */
+MAP(0x72, 0x3C, 0x9B97) /* <CJK */
+MAP(0x72, 0x3D, 0x9B9F) /* <CJK */
+MAP(0x72, 0x3E, 0x9BA0) /* <CJK */
+MAP(0x72, 0x3F, 0x9BA8) /* <CJK */
+MAP(0x72, 0x40, 0x9BB4) /* <CJK */
+MAP(0x72, 0x41, 0x9BC0) /* <CJK */
+MAP(0x72, 0x42, 0x9BCA) /* <CJK */
+MAP(0x72, 0x43, 0x9BB9) /* <CJK */
+MAP(0x72, 0x44, 0x9BC6) /* <CJK */
+MAP(0x72, 0x45, 0x9BCF) /* <CJK */
+MAP(0x72, 0x46, 0x9BD1) /* <CJK */
+MAP(0x72, 0x47, 0x9BD2) /* <CJK */
+MAP(0x72, 0x48, 0x9BE3) /* <CJK */
+MAP(0x72, 0x49, 0x9BE2) /* <CJK */
+MAP(0x72, 0x4A, 0x9BE4) /* <CJK */
+MAP(0x72, 0x4B, 0x9BD4) /* <CJK */
+MAP(0x72, 0x4C, 0x9BE1) /* <CJK */
+MAP(0x72, 0x4D, 0x9C3A) /* <CJK */
+MAP(0x72, 0x4E, 0x9BF2) /* <CJK */
+MAP(0x72, 0x4F, 0x9BF1) /* <CJK */
+MAP(0x72, 0x50, 0x9BF0) /* <CJK */
+MAP(0x72, 0x51, 0x9C15) /* <CJK */
+MAP(0x72, 0x52, 0x9C14) /* <CJK */
+MAP(0x72, 0x53, 0x9C09) /* <CJK */
+MAP(0x72, 0x54, 0x9C13) /* <CJK */
+MAP(0x72, 0x55, 0x9C0C) /* <CJK */
+MAP(0x72, 0x56, 0x9C06) /* <CJK */
+MAP(0x72, 0x57, 0x9C08) /* <CJK */
+MAP(0x72, 0x58, 0x9C12) /* <CJK */
+MAP(0x72, 0x59, 0x9C0A) /* <CJK */
+MAP(0x72, 0x5A, 0x9C04) /* <CJK */
+MAP(0x72, 0x5B, 0x9C2E) /* <CJK */
+MAP(0x72, 0x5C, 0x9C1B) /* <CJK */
+MAP(0x72, 0x5D, 0x9C25) /* <CJK */
+MAP(0x72, 0x5E, 0x9C24) /* <CJK */
+MAP(0x72, 0x5F, 0x9C21) /* <CJK */
+MAP(0x72, 0x60, 0x9C30) /* <CJK */
+MAP(0x72, 0x61, 0x9C47) /* <CJK */
+MAP(0x72, 0x62, 0x9C32) /* <CJK */
+MAP(0x72, 0x63, 0x9C46) /* <CJK */
+MAP(0x72, 0x64, 0x9C3E) /* <CJK */
+MAP(0x72, 0x65, 0x9C5A) /* <CJK */
+MAP(0x72, 0x66, 0x9C60) /* <CJK */
+MAP(0x72, 0x67, 0x9C67) /* <CJK */
+MAP(0x72, 0x68, 0x9C76) /* <CJK */
+MAP(0x72, 0x69, 0x9C78) /* <CJK */
+MAP(0x72, 0x6A, 0x9CE7) /* <CJK */
+MAP(0x72, 0x6B, 0x9CEC) /* <CJK */
+MAP(0x72, 0x6C, 0x9CF0) /* <CJK */
+MAP(0x72, 0x6D, 0x9D09) /* <CJK */
+MAP(0x72, 0x6E, 0x9D08) /* <CJK */
+MAP(0x72, 0x6F, 0x9CEB) /* <CJK */
+MAP(0x72, 0x70, 0x9D03) /* <CJK */
+MAP(0x72, 0x71, 0x9D06) /* <CJK */
+MAP(0x72, 0x72, 0x9D2A) /* <CJK */
+MAP(0x72, 0x73, 0x9D26) /* <CJK */
+MAP(0x72, 0x74, 0x9DAF) /* <CJK */
+MAP(0x72, 0x75, 0x9D23) /* <CJK */
+MAP(0x72, 0x76, 0x9D1F) /* <CJK */
+MAP(0x72, 0x77, 0x9D44) /* <CJK */
+MAP(0x72, 0x78, 0x9D15) /* <CJK */
+MAP(0x72, 0x79, 0x9D12) /* <CJK */
+MAP(0x72, 0x7A, 0x9D41) /* <CJK */
+MAP(0x72, 0x7B, 0x9D3F) /* <CJK */
+MAP(0x72, 0x7C, 0x9D3E) /* <CJK */
+MAP(0x72, 0x7D, 0x9D46) /* <CJK */
+MAP(0x72, 0x7E, 0x9D48) /* <CJK */
+MAP(0x73, 0x21, 0x9D5D) /* <CJK */
+MAP(0x73, 0x22, 0x9D5E) /* <CJK */
+MAP(0x73, 0x23, 0x9D64) /* <CJK */
+MAP(0x73, 0x24, 0x9D51) /* <CJK */
+MAP(0x73, 0x25, 0x9D50) /* <CJK */
+MAP(0x73, 0x26, 0x9D59) /* <CJK */
+MAP(0x73, 0x27, 0x9D72) /* <CJK */
+MAP(0x73, 0x28, 0x9D89) /* <CJK */
+MAP(0x73, 0x29, 0x9D87) /* <CJK */
+MAP(0x73, 0x2A, 0x9DAB) /* <CJK */
+MAP(0x73, 0x2B, 0x9D6F) /* <CJK */
+MAP(0x73, 0x2C, 0x9D7A) /* <CJK */
+MAP(0x73, 0x2D, 0x9D9A) /* <CJK */
+MAP(0x73, 0x2E, 0x9DA4) /* <CJK */
+MAP(0x73, 0x2F, 0x9DA9) /* <CJK */
+MAP(0x73, 0x30, 0x9DB2) /* <CJK */
+MAP(0x73, 0x31, 0x9DC4) /* <CJK */
+MAP(0x73, 0x32, 0x9DC1) /* <CJK */
+MAP(0x73, 0x33, 0x9DBB) /* <CJK */
+MAP(0x73, 0x34, 0x9DB8) /* <CJK */
+MAP(0x73, 0x35, 0x9DBA) /* <CJK */
+MAP(0x73, 0x36, 0x9DC6) /* <CJK */
+MAP(0x73, 0x37, 0x9DCF) /* <CJK */
+MAP(0x73, 0x38, 0x9DC2) /* <CJK */
+MAP(0x73, 0x39, 0x9DD9) /* <CJK */
+MAP(0x73, 0x3A, 0x9DD3) /* <CJK */
+MAP(0x73, 0x3B, 0x9DF8) /* <CJK */
+MAP(0x73, 0x3C, 0x9DE6) /* <CJK */
+MAP(0x73, 0x3D, 0x9DED) /* <CJK */
+MAP(0x73, 0x3E, 0x9DEF) /* <CJK */
+MAP(0x73, 0x3F, 0x9DFD) /* <CJK */
+MAP(0x73, 0x40, 0x9E1A) /* <CJK */
+MAP(0x73, 0x41, 0x9E1B) /* <CJK */
+MAP(0x73, 0x42, 0x9E1E) /* <CJK */
+MAP(0x73, 0x43, 0x9E75) /* <CJK */
+MAP(0x73, 0x44, 0x9E79) /* <CJK */
+MAP(0x73, 0x45, 0x9E7D) /* <CJK */
+MAP(0x73, 0x46, 0x9E81) /* <CJK */
+MAP(0x73, 0x47, 0x9E88) /* <CJK */
+MAP(0x73, 0x48, 0x9E8B) /* <CJK */
+MAP(0x73, 0x49, 0x9E8C) /* <CJK */
+MAP(0x73, 0x4A, 0x9E92) /* <CJK */
+MAP(0x73, 0x4B, 0x9E95) /* <CJK */
+MAP(0x73, 0x4C, 0x9E91) /* <CJK */
+MAP(0x73, 0x4D, 0x9E9D) /* <CJK */
+MAP(0x73, 0x4E, 0x9EA5) /* <CJK */
+MAP(0x73, 0x4F, 0x9EA9) /* <CJK */
+MAP(0x73, 0x50, 0x9EB8) /* <CJK */
+MAP(0x73, 0x51, 0x9EAA) /* <CJK */
+MAP(0x73, 0x52, 0x9EAD) /* <CJK */
+MAP(0x73, 0x53, 0x9761) /* <CJK */
+MAP(0x73, 0x54, 0x9ECC) /* <CJK */
+MAP(0x73, 0x55, 0x9ECE) /* <CJK */
+MAP(0x73, 0x56, 0x9ECF) /* <CJK */
+MAP(0x73, 0x57, 0x9ED0) /* <CJK */
+MAP(0x73, 0x58, 0x9ED4) /* <CJK */
+MAP(0x73, 0x59, 0x9EDC) /* <CJK */
+MAP(0x73, 0x5A, 0x9EDE) /* <CJK */
+MAP(0x73, 0x5B, 0x9EDD) /* <CJK */
+MAP(0x73, 0x5C, 0x9EE0) /* <CJK */
+MAP(0x73, 0x5D, 0x9EE5) /* <CJK */
+MAP(0x73, 0x5E, 0x9EE8) /* <CJK */
+MAP(0x73, 0x5F, 0x9EEF) /* <CJK */
+MAP(0x73, 0x60, 0x9EF4) /* <CJK */
+MAP(0x73, 0x61, 0x9EF6) /* <CJK */
+MAP(0x73, 0x62, 0x9EF7) /* <CJK */
+MAP(0x73, 0x63, 0x9EF9) /* <CJK */
+MAP(0x73, 0x64, 0x9EFB) /* <CJK */
+MAP(0x73, 0x65, 0x9EFC) /* <CJK */
+MAP(0x73, 0x66, 0x9EFD) /* <CJK */
+MAP(0x73, 0x67, 0x9F07) /* <CJK */
+MAP(0x73, 0x68, 0x9F08) /* <CJK */
+MAP(0x73, 0x69, 0x76B7) /* <CJK */
+MAP(0x73, 0x6A, 0x9F15) /* <CJK */
+MAP(0x73, 0x6B, 0x9F21) /* <CJK */
+MAP(0x73, 0x6C, 0x9F2C) /* <CJK */
+MAP(0x73, 0x6D, 0x9F3E) /* <CJK */
+MAP(0x73, 0x6E, 0x9F4A) /* <CJK */
+MAP(0x73, 0x6F, 0x9F52) /* <CJK */
+MAP(0x73, 0x70, 0x9F54) /* <CJK */
+MAP(0x73, 0x71, 0x9F63) /* <CJK */
+MAP(0x73, 0x72, 0x9F5F) /* <CJK */
+MAP(0x73, 0x73, 0x9F60) /* <CJK */
+MAP(0x73, 0x74, 0x9F61) /* <CJK */
+MAP(0x73, 0x75, 0x9F66) /* <CJK */
+MAP(0x73, 0x76, 0x9F67) /* <CJK */
+MAP(0x73, 0x77, 0x9F6C) /* <CJK */
+MAP(0x73, 0x78, 0x9F6A) /* <CJK */
+MAP(0x73, 0x79, 0x9F77) /* <CJK */
+MAP(0x73, 0x7A, 0x9F72) /* <CJK */
+MAP(0x73, 0x7B, 0x9F76) /* <CJK */
+MAP(0x73, 0x7C, 0x9F95) /* <CJK */
+MAP(0x73, 0x7D, 0x9F9C) /* <CJK */
+MAP(0x73, 0x7E, 0x9FA0) /* <CJK */
+MAP(0x74, 0x21, 0x582F) /* <CJK */
+MAP(0x74, 0x22, 0x69C7) /* <CJK */
+MAP(0x74, 0x23, 0x9059) /* <CJK */
+MAP(0x74, 0x24, 0x7464) /* <CJK */
+MAP(0x74, 0x25, 0x51DC) /* <CJK */
+MAP(0x74, 0x26, 0x7199) /* <CJK */
diff --git a/libjava/gnu/gcj/convert/JIS0208_to_Unicode.cc b/libjava/gnu/gcj/convert/JIS0208_to_Unicode.cc
new file mode 100644
index 0000000..a10ad4b
--- /dev/null
+++ b/libjava/gnu/gcj/convert/JIS0208_to_Unicode.cc
@@ -0,0 +1,7325 @@
+/* This file is automatically generated from JIS0208.TXT. */
+unsigned short JIS0208_to_Unicode[84][94] = {
+/* 1st byte: 33 */ {
+ /* 2nd byte: 33 */ 0x3000,
+ /* 2nd byte: 34 */ 0x3001,
+ /* 2nd byte: 35 */ 0x3002,
+ /* 2nd byte: 36 */ 0xff0c,
+ /* 2nd byte: 37 */ 0xff0e,
+ /* 2nd byte: 38 */ 0x30fb,
+ /* 2nd byte: 39 */ 0xff1a,
+ /* 2nd byte: 40 */ 0xff1b,
+ /* 2nd byte: 41 */ 0xff1f,
+ /* 2nd byte: 42 */ 0xff01,
+ /* 2nd byte: 43 */ 0x309b,
+ /* 2nd byte: 44 */ 0x309c,
+ /* 2nd byte: 45 */ 0x00b4,
+ /* 2nd byte: 46 */ 0xff40,
+ /* 2nd byte: 47 */ 0x00a8,
+ /* 2nd byte: 48 */ 0xff3e,
+ /* 2nd byte: 49 */ 0xffe3,
+ /* 2nd byte: 50 */ 0xff3f,
+ /* 2nd byte: 51 */ 0x30fd,
+ /* 2nd byte: 52 */ 0x30fe,
+ /* 2nd byte: 53 */ 0x309d,
+ /* 2nd byte: 54 */ 0x309e,
+ /* 2nd byte: 55 */ 0x3003,
+ /* 2nd byte: 56 */ 0x4edd,
+ /* 2nd byte: 57 */ 0x3005,
+ /* 2nd byte: 58 */ 0x3006,
+ /* 2nd byte: 59 */ 0x3007,
+ /* 2nd byte: 60 */ 0x30fc,
+ /* 2nd byte: 61 */ 0x2015,
+ /* 2nd byte: 62 */ 0x2010,
+ /* 2nd byte: 63 */ 0xff0f,
+ /* 2nd byte: 64 */ 0x005c,
+ /* 2nd byte: 65 */ 0x301c,
+ /* 2nd byte: 66 */ 0x2016,
+ /* 2nd byte: 67 */ 0xff5c,
+ /* 2nd byte: 68 */ 0x2026,
+ /* 2nd byte: 69 */ 0x2025,
+ /* 2nd byte: 70 */ 0x2018,
+ /* 2nd byte: 71 */ 0x2019,
+ /* 2nd byte: 72 */ 0x201c,
+ /* 2nd byte: 73 */ 0x201d,
+ /* 2nd byte: 74 */ 0xff08,
+ /* 2nd byte: 75 */ 0xff09,
+ /* 2nd byte: 76 */ 0x3014,
+ /* 2nd byte: 77 */ 0x3015,
+ /* 2nd byte: 78 */ 0xff3b,
+ /* 2nd byte: 79 */ 0xff3d,
+ /* 2nd byte: 80 */ 0xff5b,
+ /* 2nd byte: 81 */ 0xff5d,
+ /* 2nd byte: 82 */ 0x3008,
+ /* 2nd byte: 83 */ 0x3009,
+ /* 2nd byte: 84 */ 0x300a,
+ /* 2nd byte: 85 */ 0x300b,
+ /* 2nd byte: 86 */ 0x300c,
+ /* 2nd byte: 87 */ 0x300d,
+ /* 2nd byte: 88 */ 0x300e,
+ /* 2nd byte: 89 */ 0x300f,
+ /* 2nd byte: 90 */ 0x3010,
+ /* 2nd byte: 91 */ 0x3011,
+ /* 2nd byte: 92 */ 0xff0b,
+ /* 2nd byte: 93 */ 0x2212,
+ /* 2nd byte: 94 */ 0x00b1,
+ /* 2nd byte: 95 */ 0x00d7,
+ /* 2nd byte: 96 */ 0x00f7,
+ /* 2nd byte: 97 */ 0xff1d,
+ /* 2nd byte: 98 */ 0x2260,
+ /* 2nd byte: 99 */ 0xff1c,
+ /* 2nd byte: 100 */ 0xff1e,
+ /* 2nd byte: 101 */ 0x2266,
+ /* 2nd byte: 102 */ 0x2267,
+ /* 2nd byte: 103 */ 0x221e,
+ /* 2nd byte: 104 */ 0x2234,
+ /* 2nd byte: 105 */ 0x2642,
+ /* 2nd byte: 106 */ 0x2640,
+ /* 2nd byte: 107 */ 0x00b0,
+ /* 2nd byte: 108 */ 0x2032,
+ /* 2nd byte: 109 */ 0x2033,
+ /* 2nd byte: 110 */ 0x2103,
+ /* 2nd byte: 111 */ 0xffe5,
+ /* 2nd byte: 112 */ 0xff04,
+ /* 2nd byte: 113 */ 0x00a2,
+ /* 2nd byte: 114 */ 0x00a3,
+ /* 2nd byte: 115 */ 0xff05,
+ /* 2nd byte: 116 */ 0xff03,
+ /* 2nd byte: 117 */ 0xff06,
+ /* 2nd byte: 118 */ 0xff0a,
+ /* 2nd byte: 119 */ 0xff20,
+ /* 2nd byte: 120 */ 0x00a7,
+ /* 2nd byte: 121 */ 0x2606,
+ /* 2nd byte: 122 */ 0x2605,
+ /* 2nd byte: 123 */ 0x25cb,
+ /* 2nd byte: 124 */ 0x25cf,
+ /* 2nd byte: 125 */ 0x25ce,
+ /* 2nd byte: 126 */ 0x25c7},
+/* 1st byte: 34 */ {
+ /* 2nd byte: 33 */ 0x25c6,
+ /* 2nd byte: 34 */ 0x25a1,
+ /* 2nd byte: 35 */ 0x25a0,
+ /* 2nd byte: 36 */ 0x25b3,
+ /* 2nd byte: 37 */ 0x25b2,
+ /* 2nd byte: 38 */ 0x25bd,
+ /* 2nd byte: 39 */ 0x25bc,
+ /* 2nd byte: 40 */ 0x203b,
+ /* 2nd byte: 41 */ 0x3012,
+ /* 2nd byte: 42 */ 0x2192,
+ /* 2nd byte: 43 */ 0x2190,
+ /* 2nd byte: 44 */ 0x2191,
+ /* 2nd byte: 45 */ 0x2193,
+ /* 2nd byte: 46 */ 0x3013,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 58 */ 0x2208,
+ /* 2nd byte: 59 */ 0x220b,
+ /* 2nd byte: 60 */ 0x2286,
+ /* 2nd byte: 61 */ 0x2287,
+ /* 2nd byte: 62 */ 0x2282,
+ /* 2nd byte: 63 */ 0x2283,
+ /* 2nd byte: 64 */ 0x222a,
+ /* 2nd byte: 65 */ 0x2229,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 74 */ 0x2227,
+ /* 2nd byte: 75 */ 0x2228,
+ /* 2nd byte: 76 */ 0x00ac,
+ /* 2nd byte: 77 */ 0x21d2,
+ /* 2nd byte: 78 */ 0x21d4,
+ /* 2nd byte: 79 */ 0x2200,
+ /* 2nd byte: 80 */ 0x2203,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 92 */ 0x2220,
+ /* 2nd byte: 93 */ 0x22a5,
+ /* 2nd byte: 94 */ 0x2312,
+ /* 2nd byte: 95 */ 0x2202,
+ /* 2nd byte: 96 */ 0x2207,
+ /* 2nd byte: 97 */ 0x2261,
+ /* 2nd byte: 98 */ 0x2252,
+ /* 2nd byte: 99 */ 0x226a,
+ /* 2nd byte: 100 */ 0x226b,
+ /* 2nd byte: 101 */ 0x221a,
+ /* 2nd byte: 102 */ 0x223d,
+ /* 2nd byte: 103 */ 0x221d,
+ /* 2nd byte: 104 */ 0x2235,
+ /* 2nd byte: 105 */ 0x222b,
+ /* 2nd byte: 106 */ 0x222c,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 114 */ 0x212b,
+ /* 2nd byte: 115 */ 0x2030,
+ /* 2nd byte: 116 */ 0x266f,
+ /* 2nd byte: 117 */ 0x266d,
+ /* 2nd byte: 118 */ 0x266a,
+ /* 2nd byte: 119 */ 0x2020,
+ /* 2nd byte: 120 */ 0x2021,
+ /* 2nd byte: 121 */ 0x00b6,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 126 */ 0x25ef},
+/* 1st byte: 35 */ {
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 48 */ 0xff10,
+ /* 2nd byte: 49 */ 0xff11,
+ /* 2nd byte: 50 */ 0xff12,
+ /* 2nd byte: 51 */ 0xff13,
+ /* 2nd byte: 52 */ 0xff14,
+ /* 2nd byte: 53 */ 0xff15,
+ /* 2nd byte: 54 */ 0xff16,
+ /* 2nd byte: 55 */ 0xff17,
+ /* 2nd byte: 56 */ 0xff18,
+ /* 2nd byte: 57 */ 0xff19,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 65 */ 0xff21,
+ /* 2nd byte: 66 */ 0xff22,
+ /* 2nd byte: 67 */ 0xff23,
+ /* 2nd byte: 68 */ 0xff24,
+ /* 2nd byte: 69 */ 0xff25,
+ /* 2nd byte: 70 */ 0xff26,
+ /* 2nd byte: 71 */ 0xff27,
+ /* 2nd byte: 72 */ 0xff28,
+ /* 2nd byte: 73 */ 0xff29,
+ /* 2nd byte: 74 */ 0xff2a,
+ /* 2nd byte: 75 */ 0xff2b,
+ /* 2nd byte: 76 */ 0xff2c,
+ /* 2nd byte: 77 */ 0xff2d,
+ /* 2nd byte: 78 */ 0xff2e,
+ /* 2nd byte: 79 */ 0xff2f,
+ /* 2nd byte: 80 */ 0xff30,
+ /* 2nd byte: 81 */ 0xff31,
+ /* 2nd byte: 82 */ 0xff32,
+ /* 2nd byte: 83 */ 0xff33,
+ /* 2nd byte: 84 */ 0xff34,
+ /* 2nd byte: 85 */ 0xff35,
+ /* 2nd byte: 86 */ 0xff36,
+ /* 2nd byte: 87 */ 0xff37,
+ /* 2nd byte: 88 */ 0xff38,
+ /* 2nd byte: 89 */ 0xff39,
+ /* 2nd byte: 90 */ 0xff3a,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 97 */ 0xff41,
+ /* 2nd byte: 98 */ 0xff42,
+ /* 2nd byte: 99 */ 0xff43,
+ /* 2nd byte: 100 */ 0xff44,
+ /* 2nd byte: 101 */ 0xff45,
+ /* 2nd byte: 102 */ 0xff46,
+ /* 2nd byte: 103 */ 0xff47,
+ /* 2nd byte: 104 */ 0xff48,
+ /* 2nd byte: 105 */ 0xff49,
+ /* 2nd byte: 106 */ 0xff4a,
+ /* 2nd byte: 107 */ 0xff4b,
+ /* 2nd byte: 108 */ 0xff4c,
+ /* 2nd byte: 109 */ 0xff4d,
+ /* 2nd byte: 110 */ 0xff4e,
+ /* 2nd byte: 111 */ 0xff4f,
+ /* 2nd byte: 112 */ 0xff50,
+ /* 2nd byte: 113 */ 0xff51,
+ /* 2nd byte: 114 */ 0xff52,
+ /* 2nd byte: 115 */ 0xff53,
+ /* 2nd byte: 116 */ 0xff54,
+ /* 2nd byte: 117 */ 0xff55,
+ /* 2nd byte: 118 */ 0xff56,
+ /* 2nd byte: 119 */ 0xff57,
+ /* 2nd byte: 120 */ 0xff58,
+ /* 2nd byte: 121 */ 0xff59,
+ /* 2nd byte: 122 */ 0xff5a,
+ 0,
+ 0,
+ 0,
+ 0},
+/* 1st byte: 36 */ {
+ /* 2nd byte: 33 */ 0x3041,
+ /* 2nd byte: 34 */ 0x3042,
+ /* 2nd byte: 35 */ 0x3043,
+ /* 2nd byte: 36 */ 0x3044,
+ /* 2nd byte: 37 */ 0x3045,
+ /* 2nd byte: 38 */ 0x3046,
+ /* 2nd byte: 39 */ 0x3047,
+ /* 2nd byte: 40 */ 0x3048,
+ /* 2nd byte: 41 */ 0x3049,
+ /* 2nd byte: 42 */ 0x304a,
+ /* 2nd byte: 43 */ 0x304b,
+ /* 2nd byte: 44 */ 0x304c,
+ /* 2nd byte: 45 */ 0x304d,
+ /* 2nd byte: 46 */ 0x304e,
+ /* 2nd byte: 47 */ 0x304f,
+ /* 2nd byte: 48 */ 0x3050,
+ /* 2nd byte: 49 */ 0x3051,
+ /* 2nd byte: 50 */ 0x3052,
+ /* 2nd byte: 51 */ 0x3053,
+ /* 2nd byte: 52 */ 0x3054,
+ /* 2nd byte: 53 */ 0x3055,
+ /* 2nd byte: 54 */ 0x3056,
+ /* 2nd byte: 55 */ 0x3057,
+ /* 2nd byte: 56 */ 0x3058,
+ /* 2nd byte: 57 */ 0x3059,
+ /* 2nd byte: 58 */ 0x305a,
+ /* 2nd byte: 59 */ 0x305b,
+ /* 2nd byte: 60 */ 0x305c,
+ /* 2nd byte: 61 */ 0x305d,
+ /* 2nd byte: 62 */ 0x305e,
+ /* 2nd byte: 63 */ 0x305f,
+ /* 2nd byte: 64 */ 0x3060,
+ /* 2nd byte: 65 */ 0x3061,
+ /* 2nd byte: 66 */ 0x3062,
+ /* 2nd byte: 67 */ 0x3063,
+ /* 2nd byte: 68 */ 0x3064,
+ /* 2nd byte: 69 */ 0x3065,
+ /* 2nd byte: 70 */ 0x3066,
+ /* 2nd byte: 71 */ 0x3067,
+ /* 2nd byte: 72 */ 0x3068,
+ /* 2nd byte: 73 */ 0x3069,
+ /* 2nd byte: 74 */ 0x306a,
+ /* 2nd byte: 75 */ 0x306b,
+ /* 2nd byte: 76 */ 0x306c,
+ /* 2nd byte: 77 */ 0x306d,
+ /* 2nd byte: 78 */ 0x306e,
+ /* 2nd byte: 79 */ 0x306f,
+ /* 2nd byte: 80 */ 0x3070,
+ /* 2nd byte: 81 */ 0x3071,
+ /* 2nd byte: 82 */ 0x3072,
+ /* 2nd byte: 83 */ 0x3073,
+ /* 2nd byte: 84 */ 0x3074,
+ /* 2nd byte: 85 */ 0x3075,
+ /* 2nd byte: 86 */ 0x3076,
+ /* 2nd byte: 87 */ 0x3077,
+ /* 2nd byte: 88 */ 0x3078,
+ /* 2nd byte: 89 */ 0x3079,
+ /* 2nd byte: 90 */ 0x307a,
+ /* 2nd byte: 91 */ 0x307b,
+ /* 2nd byte: 92 */ 0x307c,
+ /* 2nd byte: 93 */ 0x307d,
+ /* 2nd byte: 94 */ 0x307e,
+ /* 2nd byte: 95 */ 0x307f,
+ /* 2nd byte: 96 */ 0x3080,
+ /* 2nd byte: 97 */ 0x3081,
+ /* 2nd byte: 98 */ 0x3082,
+ /* 2nd byte: 99 */ 0x3083,
+ /* 2nd byte: 100 */ 0x3084,
+ /* 2nd byte: 101 */ 0x3085,
+ /* 2nd byte: 102 */ 0x3086,
+ /* 2nd byte: 103 */ 0x3087,
+ /* 2nd byte: 104 */ 0x3088,
+ /* 2nd byte: 105 */ 0x3089,
+ /* 2nd byte: 106 */ 0x308a,
+ /* 2nd byte: 107 */ 0x308b,
+ /* 2nd byte: 108 */ 0x308c,
+ /* 2nd byte: 109 */ 0x308d,
+ /* 2nd byte: 110 */ 0x308e,
+ /* 2nd byte: 111 */ 0x308f,
+ /* 2nd byte: 112 */ 0x3090,
+ /* 2nd byte: 113 */ 0x3091,
+ /* 2nd byte: 114 */ 0x3092,
+ /* 2nd byte: 115 */ 0x3093,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0},
+/* 1st byte: 37 */ {
+ /* 2nd byte: 33 */ 0x30a1,
+ /* 2nd byte: 34 */ 0x30a2,
+ /* 2nd byte: 35 */ 0x30a3,
+ /* 2nd byte: 36 */ 0x30a4,
+ /* 2nd byte: 37 */ 0x30a5,
+ /* 2nd byte: 38 */ 0x30a6,
+ /* 2nd byte: 39 */ 0x30a7,
+ /* 2nd byte: 40 */ 0x30a8,
+ /* 2nd byte: 41 */ 0x30a9,
+ /* 2nd byte: 42 */ 0x30aa,
+ /* 2nd byte: 43 */ 0x30ab,
+ /* 2nd byte: 44 */ 0x30ac,
+ /* 2nd byte: 45 */ 0x30ad,
+ /* 2nd byte: 46 */ 0x30ae,
+ /* 2nd byte: 47 */ 0x30af,
+ /* 2nd byte: 48 */ 0x30b0,
+ /* 2nd byte: 49 */ 0x30b1,
+ /* 2nd byte: 50 */ 0x30b2,
+ /* 2nd byte: 51 */ 0x30b3,
+ /* 2nd byte: 52 */ 0x30b4,
+ /* 2nd byte: 53 */ 0x30b5,
+ /* 2nd byte: 54 */ 0x30b6,
+ /* 2nd byte: 55 */ 0x30b7,
+ /* 2nd byte: 56 */ 0x30b8,
+ /* 2nd byte: 57 */ 0x30b9,
+ /* 2nd byte: 58 */ 0x30ba,
+ /* 2nd byte: 59 */ 0x30bb,
+ /* 2nd byte: 60 */ 0x30bc,
+ /* 2nd byte: 61 */ 0x30bd,
+ /* 2nd byte: 62 */ 0x30be,
+ /* 2nd byte: 63 */ 0x30bf,
+ /* 2nd byte: 64 */ 0x30c0,
+ /* 2nd byte: 65 */ 0x30c1,
+ /* 2nd byte: 66 */ 0x30c2,
+ /* 2nd byte: 67 */ 0x30c3,
+ /* 2nd byte: 68 */ 0x30c4,
+ /* 2nd byte: 69 */ 0x30c5,
+ /* 2nd byte: 70 */ 0x30c6,
+ /* 2nd byte: 71 */ 0x30c7,
+ /* 2nd byte: 72 */ 0x30c8,
+ /* 2nd byte: 73 */ 0x30c9,
+ /* 2nd byte: 74 */ 0x30ca,
+ /* 2nd byte: 75 */ 0x30cb,
+ /* 2nd byte: 76 */ 0x30cc,
+ /* 2nd byte: 77 */ 0x30cd,
+ /* 2nd byte: 78 */ 0x30ce,
+ /* 2nd byte: 79 */ 0x30cf,
+ /* 2nd byte: 80 */ 0x30d0,
+ /* 2nd byte: 81 */ 0x30d1,
+ /* 2nd byte: 82 */ 0x30d2,
+ /* 2nd byte: 83 */ 0x30d3,
+ /* 2nd byte: 84 */ 0x30d4,
+ /* 2nd byte: 85 */ 0x30d5,
+ /* 2nd byte: 86 */ 0x30d6,
+ /* 2nd byte: 87 */ 0x30d7,
+ /* 2nd byte: 88 */ 0x30d8,
+ /* 2nd byte: 89 */ 0x30d9,
+ /* 2nd byte: 90 */ 0x30da,
+ /* 2nd byte: 91 */ 0x30db,
+ /* 2nd byte: 92 */ 0x30dc,
+ /* 2nd byte: 93 */ 0x30dd,
+ /* 2nd byte: 94 */ 0x30de,
+ /* 2nd byte: 95 */ 0x30df,
+ /* 2nd byte: 96 */ 0x30e0,
+ /* 2nd byte: 97 */ 0x30e1,
+ /* 2nd byte: 98 */ 0x30e2,
+ /* 2nd byte: 99 */ 0x30e3,
+ /* 2nd byte: 100 */ 0x30e4,
+ /* 2nd byte: 101 */ 0x30e5,
+ /* 2nd byte: 102 */ 0x30e6,
+ /* 2nd byte: 103 */ 0x30e7,
+ /* 2nd byte: 104 */ 0x30e8,
+ /* 2nd byte: 105 */ 0x30e9,
+ /* 2nd byte: 106 */ 0x30ea,
+ /* 2nd byte: 107 */ 0x30eb,
+ /* 2nd byte: 108 */ 0x30ec,
+ /* 2nd byte: 109 */ 0x30ed,
+ /* 2nd byte: 110 */ 0x30ee,
+ /* 2nd byte: 111 */ 0x30ef,
+ /* 2nd byte: 112 */ 0x30f0,
+ /* 2nd byte: 113 */ 0x30f1,
+ /* 2nd byte: 114 */ 0x30f2,
+ /* 2nd byte: 115 */ 0x30f3,
+ /* 2nd byte: 116 */ 0x30f4,
+ /* 2nd byte: 117 */ 0x30f5,
+ /* 2nd byte: 118 */ 0x30f6,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0},
+/* 1st byte: 38 */ {
+ /* 2nd byte: 33 */ 0x0391,
+ /* 2nd byte: 34 */ 0x0392,
+ /* 2nd byte: 35 */ 0x0393,
+ /* 2nd byte: 36 */ 0x0394,
+ /* 2nd byte: 37 */ 0x0395,
+ /* 2nd byte: 38 */ 0x0396,
+ /* 2nd byte: 39 */ 0x0397,
+ /* 2nd byte: 40 */ 0x0398,
+ /* 2nd byte: 41 */ 0x0399,
+ /* 2nd byte: 42 */ 0x039a,
+ /* 2nd byte: 43 */ 0x039b,
+ /* 2nd byte: 44 */ 0x039c,
+ /* 2nd byte: 45 */ 0x039d,
+ /* 2nd byte: 46 */ 0x039e,
+ /* 2nd byte: 47 */ 0x039f,
+ /* 2nd byte: 48 */ 0x03a0,
+ /* 2nd byte: 49 */ 0x03a1,
+ /* 2nd byte: 50 */ 0x03a3,
+ /* 2nd byte: 51 */ 0x03a4,
+ /* 2nd byte: 52 */ 0x03a5,
+ /* 2nd byte: 53 */ 0x03a6,
+ /* 2nd byte: 54 */ 0x03a7,
+ /* 2nd byte: 55 */ 0x03a8,
+ /* 2nd byte: 56 */ 0x03a9,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 65 */ 0x03b1,
+ /* 2nd byte: 66 */ 0x03b2,
+ /* 2nd byte: 67 */ 0x03b3,
+ /* 2nd byte: 68 */ 0x03b4,
+ /* 2nd byte: 69 */ 0x03b5,
+ /* 2nd byte: 70 */ 0x03b6,
+ /* 2nd byte: 71 */ 0x03b7,
+ /* 2nd byte: 72 */ 0x03b8,
+ /* 2nd byte: 73 */ 0x03b9,
+ /* 2nd byte: 74 */ 0x03ba,
+ /* 2nd byte: 75 */ 0x03bb,
+ /* 2nd byte: 76 */ 0x03bc,
+ /* 2nd byte: 77 */ 0x03bd,
+ /* 2nd byte: 78 */ 0x03be,
+ /* 2nd byte: 79 */ 0x03bf,
+ /* 2nd byte: 80 */ 0x03c0,
+ /* 2nd byte: 81 */ 0x03c1,
+ /* 2nd byte: 82 */ 0x03c3,
+ /* 2nd byte: 83 */ 0x03c4,
+ /* 2nd byte: 84 */ 0x03c5,
+ /* 2nd byte: 85 */ 0x03c6,
+ /* 2nd byte: 86 */ 0x03c7,
+ /* 2nd byte: 87 */ 0x03c8,
+ /* 2nd byte: 88 */ 0x03c9,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0},
+/* 1st byte: 39 */ {
+ /* 2nd byte: 33 */ 0x0410,
+ /* 2nd byte: 34 */ 0x0411,
+ /* 2nd byte: 35 */ 0x0412,
+ /* 2nd byte: 36 */ 0x0413,
+ /* 2nd byte: 37 */ 0x0414,
+ /* 2nd byte: 38 */ 0x0415,
+ /* 2nd byte: 39 */ 0x0401,
+ /* 2nd byte: 40 */ 0x0416,
+ /* 2nd byte: 41 */ 0x0417,
+ /* 2nd byte: 42 */ 0x0418,
+ /* 2nd byte: 43 */ 0x0419,
+ /* 2nd byte: 44 */ 0x041a,
+ /* 2nd byte: 45 */ 0x041b,
+ /* 2nd byte: 46 */ 0x041c,
+ /* 2nd byte: 47 */ 0x041d,
+ /* 2nd byte: 48 */ 0x041e,
+ /* 2nd byte: 49 */ 0x041f,
+ /* 2nd byte: 50 */ 0x0420,
+ /* 2nd byte: 51 */ 0x0421,
+ /* 2nd byte: 52 */ 0x0422,
+ /* 2nd byte: 53 */ 0x0423,
+ /* 2nd byte: 54 */ 0x0424,
+ /* 2nd byte: 55 */ 0x0425,
+ /* 2nd byte: 56 */ 0x0426,
+ /* 2nd byte: 57 */ 0x0427,
+ /* 2nd byte: 58 */ 0x0428,
+ /* 2nd byte: 59 */ 0x0429,
+ /* 2nd byte: 60 */ 0x042a,
+ /* 2nd byte: 61 */ 0x042b,
+ /* 2nd byte: 62 */ 0x042c,
+ /* 2nd byte: 63 */ 0x042d,
+ /* 2nd byte: 64 */ 0x042e,
+ /* 2nd byte: 65 */ 0x042f,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 81 */ 0x0430,
+ /* 2nd byte: 82 */ 0x0431,
+ /* 2nd byte: 83 */ 0x0432,
+ /* 2nd byte: 84 */ 0x0433,
+ /* 2nd byte: 85 */ 0x0434,
+ /* 2nd byte: 86 */ 0x0435,
+ /* 2nd byte: 87 */ 0x0451,
+ /* 2nd byte: 88 */ 0x0436,
+ /* 2nd byte: 89 */ 0x0437,
+ /* 2nd byte: 90 */ 0x0438,
+ /* 2nd byte: 91 */ 0x0439,
+ /* 2nd byte: 92 */ 0x043a,
+ /* 2nd byte: 93 */ 0x043b,
+ /* 2nd byte: 94 */ 0x043c,
+ /* 2nd byte: 95 */ 0x043d,
+ /* 2nd byte: 96 */ 0x043e,
+ /* 2nd byte: 97 */ 0x043f,
+ /* 2nd byte: 98 */ 0x0440,
+ /* 2nd byte: 99 */ 0x0441,
+ /* 2nd byte: 100 */ 0x0442,
+ /* 2nd byte: 101 */ 0x0443,
+ /* 2nd byte: 102 */ 0x0444,
+ /* 2nd byte: 103 */ 0x0445,
+ /* 2nd byte: 104 */ 0x0446,
+ /* 2nd byte: 105 */ 0x0447,
+ /* 2nd byte: 106 */ 0x0448,
+ /* 2nd byte: 107 */ 0x0449,
+ /* 2nd byte: 108 */ 0x044a,
+ /* 2nd byte: 109 */ 0x044b,
+ /* 2nd byte: 110 */ 0x044c,
+ /* 2nd byte: 111 */ 0x044d,
+ /* 2nd byte: 112 */ 0x044e,
+ /* 2nd byte: 113 */ 0x044f,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0},
+/* 1st byte: 40 */ {
+ /* 2nd byte: 33 */ 0x2500,
+ /* 2nd byte: 34 */ 0x2502,
+ /* 2nd byte: 35 */ 0x250c,
+ /* 2nd byte: 36 */ 0x2510,
+ /* 2nd byte: 37 */ 0x2518,
+ /* 2nd byte: 38 */ 0x2514,
+ /* 2nd byte: 39 */ 0x251c,
+ /* 2nd byte: 40 */ 0x252c,
+ /* 2nd byte: 41 */ 0x2524,
+ /* 2nd byte: 42 */ 0x2534,
+ /* 2nd byte: 43 */ 0x253c,
+ /* 2nd byte: 44 */ 0x2501,
+ /* 2nd byte: 45 */ 0x2503,
+ /* 2nd byte: 46 */ 0x250f,
+ /* 2nd byte: 47 */ 0x2513,
+ /* 2nd byte: 48 */ 0x251b,
+ /* 2nd byte: 49 */ 0x2517,
+ /* 2nd byte: 50 */ 0x2523,
+ /* 2nd byte: 51 */ 0x2533,
+ /* 2nd byte: 52 */ 0x252b,
+ /* 2nd byte: 53 */ 0x253b,
+ /* 2nd byte: 54 */ 0x254b,
+ /* 2nd byte: 55 */ 0x2520,
+ /* 2nd byte: 56 */ 0x252f,
+ /* 2nd byte: 57 */ 0x2528,
+ /* 2nd byte: 58 */ 0x2537,
+ /* 2nd byte: 59 */ 0x253f,
+ /* 2nd byte: 60 */ 0x251d,
+ /* 2nd byte: 61 */ 0x2530,
+ /* 2nd byte: 62 */ 0x2525,
+ /* 2nd byte: 63 */ 0x2538,
+ /* 2nd byte: 64 */ 0x2542,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0},
+/* 1st byte: 41 */ { 0 }, /* unused row */
+/* 1st byte: 42 */ { 0 }, /* unused row */
+/* 1st byte: 43 */ { 0 }, /* unused row */
+/* 1st byte: 44 */ { 0 }, /* unused row */
+/* 1st byte: 45 */ { 0 }, /* unused row */
+/* 1st byte: 46 */ { 0 }, /* unused row */
+/* 1st byte: 47 */ { 0 }, /* unused row */
+/* 1st byte: 48 */ {
+ /* 2nd byte: 33 */ 0x4e9c,
+ /* 2nd byte: 34 */ 0x5516,
+ /* 2nd byte: 35 */ 0x5a03,
+ /* 2nd byte: 36 */ 0x963f,
+ /* 2nd byte: 37 */ 0x54c0,
+ /* 2nd byte: 38 */ 0x611b,
+ /* 2nd byte: 39 */ 0x6328,
+ /* 2nd byte: 40 */ 0x59f6,
+ /* 2nd byte: 41 */ 0x9022,
+ /* 2nd byte: 42 */ 0x8475,
+ /* 2nd byte: 43 */ 0x831c,
+ /* 2nd byte: 44 */ 0x7a50,
+ /* 2nd byte: 45 */ 0x60aa,
+ /* 2nd byte: 46 */ 0x63e1,
+ /* 2nd byte: 47 */ 0x6e25,
+ /* 2nd byte: 48 */ 0x65ed,
+ /* 2nd byte: 49 */ 0x8466,
+ /* 2nd byte: 50 */ 0x82a6,
+ /* 2nd byte: 51 */ 0x9bf5,
+ /* 2nd byte: 52 */ 0x6893,
+ /* 2nd byte: 53 */ 0x5727,
+ /* 2nd byte: 54 */ 0x65a1,
+ /* 2nd byte: 55 */ 0x6271,
+ /* 2nd byte: 56 */ 0x5b9b,
+ /* 2nd byte: 57 */ 0x59d0,
+ /* 2nd byte: 58 */ 0x867b,
+ /* 2nd byte: 59 */ 0x98f4,
+ /* 2nd byte: 60 */ 0x7d62,
+ /* 2nd byte: 61 */ 0x7dbe,
+ /* 2nd byte: 62 */ 0x9b8e,
+ /* 2nd byte: 63 */ 0x6216,
+ /* 2nd byte: 64 */ 0x7c9f,
+ /* 2nd byte: 65 */ 0x88b7,
+ /* 2nd byte: 66 */ 0x5b89,
+ /* 2nd byte: 67 */ 0x5eb5,
+ /* 2nd byte: 68 */ 0x6309,
+ /* 2nd byte: 69 */ 0x6697,
+ /* 2nd byte: 70 */ 0x6848,
+ /* 2nd byte: 71 */ 0x95c7,
+ /* 2nd byte: 72 */ 0x978d,
+ /* 2nd byte: 73 */ 0x674f,
+ /* 2nd byte: 74 */ 0x4ee5,
+ /* 2nd byte: 75 */ 0x4f0a,
+ /* 2nd byte: 76 */ 0x4f4d,
+ /* 2nd byte: 77 */ 0x4f9d,
+ /* 2nd byte: 78 */ 0x5049,
+ /* 2nd byte: 79 */ 0x56f2,
+ /* 2nd byte: 80 */ 0x5937,
+ /* 2nd byte: 81 */ 0x59d4,
+ /* 2nd byte: 82 */ 0x5a01,
+ /* 2nd byte: 83 */ 0x5c09,
+ /* 2nd byte: 84 */ 0x60df,
+ /* 2nd byte: 85 */ 0x610f,
+ /* 2nd byte: 86 */ 0x6170,
+ /* 2nd byte: 87 */ 0x6613,
+ /* 2nd byte: 88 */ 0x6905,
+ /* 2nd byte: 89 */ 0x70ba,
+ /* 2nd byte: 90 */ 0x754f,
+ /* 2nd byte: 91 */ 0x7570,
+ /* 2nd byte: 92 */ 0x79fb,
+ /* 2nd byte: 93 */ 0x7dad,
+ /* 2nd byte: 94 */ 0x7def,
+ /* 2nd byte: 95 */ 0x80c3,
+ /* 2nd byte: 96 */ 0x840e,
+ /* 2nd byte: 97 */ 0x8863,
+ /* 2nd byte: 98 */ 0x8b02,
+ /* 2nd byte: 99 */ 0x9055,
+ /* 2nd byte: 100 */ 0x907a,
+ /* 2nd byte: 101 */ 0x533b,
+ /* 2nd byte: 102 */ 0x4e95,
+ /* 2nd byte: 103 */ 0x4ea5,
+ /* 2nd byte: 104 */ 0x57df,
+ /* 2nd byte: 105 */ 0x80b2,
+ /* 2nd byte: 106 */ 0x90c1,
+ /* 2nd byte: 107 */ 0x78ef,
+ /* 2nd byte: 108 */ 0x4e00,
+ /* 2nd byte: 109 */ 0x58f1,
+ /* 2nd byte: 110 */ 0x6ea2,
+ /* 2nd byte: 111 */ 0x9038,
+ /* 2nd byte: 112 */ 0x7a32,
+ /* 2nd byte: 113 */ 0x8328,
+ /* 2nd byte: 114 */ 0x828b,
+ /* 2nd byte: 115 */ 0x9c2f,
+ /* 2nd byte: 116 */ 0x5141,
+ /* 2nd byte: 117 */ 0x5370,
+ /* 2nd byte: 118 */ 0x54bd,
+ /* 2nd byte: 119 */ 0x54e1,
+ /* 2nd byte: 120 */ 0x56e0,
+ /* 2nd byte: 121 */ 0x59fb,
+ /* 2nd byte: 122 */ 0x5f15,
+ /* 2nd byte: 123 */ 0x98f2,
+ /* 2nd byte: 124 */ 0x6deb,
+ /* 2nd byte: 125 */ 0x80e4,
+ /* 2nd byte: 126 */ 0x852d},
+/* 1st byte: 49 */ {
+ /* 2nd byte: 33 */ 0x9662,
+ /* 2nd byte: 34 */ 0x9670,
+ /* 2nd byte: 35 */ 0x96a0,
+ /* 2nd byte: 36 */ 0x97fb,
+ /* 2nd byte: 37 */ 0x540b,
+ /* 2nd byte: 38 */ 0x53f3,
+ /* 2nd byte: 39 */ 0x5b87,
+ /* 2nd byte: 40 */ 0x70cf,
+ /* 2nd byte: 41 */ 0x7fbd,
+ /* 2nd byte: 42 */ 0x8fc2,
+ /* 2nd byte: 43 */ 0x96e8,
+ /* 2nd byte: 44 */ 0x536f,
+ /* 2nd byte: 45 */ 0x9d5c,
+ /* 2nd byte: 46 */ 0x7aba,
+ /* 2nd byte: 47 */ 0x4e11,
+ /* 2nd byte: 48 */ 0x7893,
+ /* 2nd byte: 49 */ 0x81fc,
+ /* 2nd byte: 50 */ 0x6e26,
+ /* 2nd byte: 51 */ 0x5618,
+ /* 2nd byte: 52 */ 0x5504,
+ /* 2nd byte: 53 */ 0x6b1d,
+ /* 2nd byte: 54 */ 0x851a,
+ /* 2nd byte: 55 */ 0x9c3b,
+ /* 2nd byte: 56 */ 0x59e5,
+ /* 2nd byte: 57 */ 0x53a9,
+ /* 2nd byte: 58 */ 0x6d66,
+ /* 2nd byte: 59 */ 0x74dc,
+ /* 2nd byte: 60 */ 0x958f,
+ /* 2nd byte: 61 */ 0x5642,
+ /* 2nd byte: 62 */ 0x4e91,
+ /* 2nd byte: 63 */ 0x904b,
+ /* 2nd byte: 64 */ 0x96f2,
+ /* 2nd byte: 65 */ 0x834f,
+ /* 2nd byte: 66 */ 0x990c,
+ /* 2nd byte: 67 */ 0x53e1,
+ /* 2nd byte: 68 */ 0x55b6,
+ /* 2nd byte: 69 */ 0x5b30,
+ /* 2nd byte: 70 */ 0x5f71,
+ /* 2nd byte: 71 */ 0x6620,
+ /* 2nd byte: 72 */ 0x66f3,
+ /* 2nd byte: 73 */ 0x6804,
+ /* 2nd byte: 74 */ 0x6c38,
+ /* 2nd byte: 75 */ 0x6cf3,
+ /* 2nd byte: 76 */ 0x6d29,
+ /* 2nd byte: 77 */ 0x745b,
+ /* 2nd byte: 78 */ 0x76c8,
+ /* 2nd byte: 79 */ 0x7a4e,
+ /* 2nd byte: 80 */ 0x9834,
+ /* 2nd byte: 81 */ 0x82f1,
+ /* 2nd byte: 82 */ 0x885b,
+ /* 2nd byte: 83 */ 0x8a60,
+ /* 2nd byte: 84 */ 0x92ed,
+ /* 2nd byte: 85 */ 0x6db2,
+ /* 2nd byte: 86 */ 0x75ab,
+ /* 2nd byte: 87 */ 0x76ca,
+ /* 2nd byte: 88 */ 0x99c5,
+ /* 2nd byte: 89 */ 0x60a6,
+ /* 2nd byte: 90 */ 0x8b01,
+ /* 2nd byte: 91 */ 0x8d8a,
+ /* 2nd byte: 92 */ 0x95b2,
+ /* 2nd byte: 93 */ 0x698e,
+ /* 2nd byte: 94 */ 0x53ad,
+ /* 2nd byte: 95 */ 0x5186,
+ /* 2nd byte: 96 */ 0x5712,
+ /* 2nd byte: 97 */ 0x5830,
+ /* 2nd byte: 98 */ 0x5944,
+ /* 2nd byte: 99 */ 0x5bb4,
+ /* 2nd byte: 100 */ 0x5ef6,
+ /* 2nd byte: 101 */ 0x6028,
+ /* 2nd byte: 102 */ 0x63a9,
+ /* 2nd byte: 103 */ 0x63f4,
+ /* 2nd byte: 104 */ 0x6cbf,
+ /* 2nd byte: 105 */ 0x6f14,
+ /* 2nd byte: 106 */ 0x708e,
+ /* 2nd byte: 107 */ 0x7114,
+ /* 2nd byte: 108 */ 0x7159,
+ /* 2nd byte: 109 */ 0x71d5,
+ /* 2nd byte: 110 */ 0x733f,
+ /* 2nd byte: 111 */ 0x7e01,
+ /* 2nd byte: 112 */ 0x8276,
+ /* 2nd byte: 113 */ 0x82d1,
+ /* 2nd byte: 114 */ 0x8597,
+ /* 2nd byte: 115 */ 0x9060,
+ /* 2nd byte: 116 */ 0x925b,
+ /* 2nd byte: 117 */ 0x9d1b,
+ /* 2nd byte: 118 */ 0x5869,
+ /* 2nd byte: 119 */ 0x65bc,
+ /* 2nd byte: 120 */ 0x6c5a,
+ /* 2nd byte: 121 */ 0x7525,
+ /* 2nd byte: 122 */ 0x51f9,
+ /* 2nd byte: 123 */ 0x592e,
+ /* 2nd byte: 124 */ 0x5965,
+ /* 2nd byte: 125 */ 0x5f80,
+ /* 2nd byte: 126 */ 0x5fdc},
+/* 1st byte: 50 */ {
+ /* 2nd byte: 33 */ 0x62bc,
+ /* 2nd byte: 34 */ 0x65fa,
+ /* 2nd byte: 35 */ 0x6a2a,
+ /* 2nd byte: 36 */ 0x6b27,
+ /* 2nd byte: 37 */ 0x6bb4,
+ /* 2nd byte: 38 */ 0x738b,
+ /* 2nd byte: 39 */ 0x7fc1,
+ /* 2nd byte: 40 */ 0x8956,
+ /* 2nd byte: 41 */ 0x9d2c,
+ /* 2nd byte: 42 */ 0x9d0e,
+ /* 2nd byte: 43 */ 0x9ec4,
+ /* 2nd byte: 44 */ 0x5ca1,
+ /* 2nd byte: 45 */ 0x6c96,
+ /* 2nd byte: 46 */ 0x837b,
+ /* 2nd byte: 47 */ 0x5104,
+ /* 2nd byte: 48 */ 0x5c4b,
+ /* 2nd byte: 49 */ 0x61b6,
+ /* 2nd byte: 50 */ 0x81c6,
+ /* 2nd byte: 51 */ 0x6876,
+ /* 2nd byte: 52 */ 0x7261,
+ /* 2nd byte: 53 */ 0x4e59,
+ /* 2nd byte: 54 */ 0x4ffa,
+ /* 2nd byte: 55 */ 0x5378,
+ /* 2nd byte: 56 */ 0x6069,
+ /* 2nd byte: 57 */ 0x6e29,
+ /* 2nd byte: 58 */ 0x7a4f,
+ /* 2nd byte: 59 */ 0x97f3,
+ /* 2nd byte: 60 */ 0x4e0b,
+ /* 2nd byte: 61 */ 0x5316,
+ /* 2nd byte: 62 */ 0x4eee,
+ /* 2nd byte: 63 */ 0x4f55,
+ /* 2nd byte: 64 */ 0x4f3d,
+ /* 2nd byte: 65 */ 0x4fa1,
+ /* 2nd byte: 66 */ 0x4f73,
+ /* 2nd byte: 67 */ 0x52a0,
+ /* 2nd byte: 68 */ 0x53ef,
+ /* 2nd byte: 69 */ 0x5609,
+ /* 2nd byte: 70 */ 0x590f,
+ /* 2nd byte: 71 */ 0x5ac1,
+ /* 2nd byte: 72 */ 0x5bb6,
+ /* 2nd byte: 73 */ 0x5be1,
+ /* 2nd byte: 74 */ 0x79d1,
+ /* 2nd byte: 75 */ 0x6687,
+ /* 2nd byte: 76 */ 0x679c,
+ /* 2nd byte: 77 */ 0x67b6,
+ /* 2nd byte: 78 */ 0x6b4c,
+ /* 2nd byte: 79 */ 0x6cb3,
+ /* 2nd byte: 80 */ 0x706b,
+ /* 2nd byte: 81 */ 0x73c2,
+ /* 2nd byte: 82 */ 0x798d,
+ /* 2nd byte: 83 */ 0x79be,
+ /* 2nd byte: 84 */ 0x7a3c,
+ /* 2nd byte: 85 */ 0x7b87,
+ /* 2nd byte: 86 */ 0x82b1,
+ /* 2nd byte: 87 */ 0x82db,
+ /* 2nd byte: 88 */ 0x8304,
+ /* 2nd byte: 89 */ 0x8377,
+ /* 2nd byte: 90 */ 0x83ef,
+ /* 2nd byte: 91 */ 0x83d3,
+ /* 2nd byte: 92 */ 0x8766,
+ /* 2nd byte: 93 */ 0x8ab2,
+ /* 2nd byte: 94 */ 0x5629,
+ /* 2nd byte: 95 */ 0x8ca8,
+ /* 2nd byte: 96 */ 0x8fe6,
+ /* 2nd byte: 97 */ 0x904e,
+ /* 2nd byte: 98 */ 0x971e,
+ /* 2nd byte: 99 */ 0x868a,
+ /* 2nd byte: 100 */ 0x4fc4,
+ /* 2nd byte: 101 */ 0x5ce8,
+ /* 2nd byte: 102 */ 0x6211,
+ /* 2nd byte: 103 */ 0x7259,
+ /* 2nd byte: 104 */ 0x753b,
+ /* 2nd byte: 105 */ 0x81e5,
+ /* 2nd byte: 106 */ 0x82bd,
+ /* 2nd byte: 107 */ 0x86fe,
+ /* 2nd byte: 108 */ 0x8cc0,
+ /* 2nd byte: 109 */ 0x96c5,
+ /* 2nd byte: 110 */ 0x9913,
+ /* 2nd byte: 111 */ 0x99d5,
+ /* 2nd byte: 112 */ 0x4ecb,
+ /* 2nd byte: 113 */ 0x4f1a,
+ /* 2nd byte: 114 */ 0x89e3,
+ /* 2nd byte: 115 */ 0x56de,
+ /* 2nd byte: 116 */ 0x584a,
+ /* 2nd byte: 117 */ 0x58ca,
+ /* 2nd byte: 118 */ 0x5efb,
+ /* 2nd byte: 119 */ 0x5feb,
+ /* 2nd byte: 120 */ 0x602a,
+ /* 2nd byte: 121 */ 0x6094,
+ /* 2nd byte: 122 */ 0x6062,
+ /* 2nd byte: 123 */ 0x61d0,
+ /* 2nd byte: 124 */ 0x6212,
+ /* 2nd byte: 125 */ 0x62d0,
+ /* 2nd byte: 126 */ 0x6539},
+/* 1st byte: 51 */ {
+ /* 2nd byte: 33 */ 0x9b41,
+ /* 2nd byte: 34 */ 0x6666,
+ /* 2nd byte: 35 */ 0x68b0,
+ /* 2nd byte: 36 */ 0x6d77,
+ /* 2nd byte: 37 */ 0x7070,
+ /* 2nd byte: 38 */ 0x754c,
+ /* 2nd byte: 39 */ 0x7686,
+ /* 2nd byte: 40 */ 0x7d75,
+ /* 2nd byte: 41 */ 0x82a5,
+ /* 2nd byte: 42 */ 0x87f9,
+ /* 2nd byte: 43 */ 0x958b,
+ /* 2nd byte: 44 */ 0x968e,
+ /* 2nd byte: 45 */ 0x8c9d,
+ /* 2nd byte: 46 */ 0x51f1,
+ /* 2nd byte: 47 */ 0x52be,
+ /* 2nd byte: 48 */ 0x5916,
+ /* 2nd byte: 49 */ 0x54b3,
+ /* 2nd byte: 50 */ 0x5bb3,
+ /* 2nd byte: 51 */ 0x5d16,
+ /* 2nd byte: 52 */ 0x6168,
+ /* 2nd byte: 53 */ 0x6982,
+ /* 2nd byte: 54 */ 0x6daf,
+ /* 2nd byte: 55 */ 0x788d,
+ /* 2nd byte: 56 */ 0x84cb,
+ /* 2nd byte: 57 */ 0x8857,
+ /* 2nd byte: 58 */ 0x8a72,
+ /* 2nd byte: 59 */ 0x93a7,
+ /* 2nd byte: 60 */ 0x9ab8,
+ /* 2nd byte: 61 */ 0x6d6c,
+ /* 2nd byte: 62 */ 0x99a8,
+ /* 2nd byte: 63 */ 0x86d9,
+ /* 2nd byte: 64 */ 0x57a3,
+ /* 2nd byte: 65 */ 0x67ff,
+ /* 2nd byte: 66 */ 0x86ce,
+ /* 2nd byte: 67 */ 0x920e,
+ /* 2nd byte: 68 */ 0x5283,
+ /* 2nd byte: 69 */ 0x5687,
+ /* 2nd byte: 70 */ 0x5404,
+ /* 2nd byte: 71 */ 0x5ed3,
+ /* 2nd byte: 72 */ 0x62e1,
+ /* 2nd byte: 73 */ 0x64b9,
+ /* 2nd byte: 74 */ 0x683c,
+ /* 2nd byte: 75 */ 0x6838,
+ /* 2nd byte: 76 */ 0x6bbb,
+ /* 2nd byte: 77 */ 0x7372,
+ /* 2nd byte: 78 */ 0x78ba,
+ /* 2nd byte: 79 */ 0x7a6b,
+ /* 2nd byte: 80 */ 0x899a,
+ /* 2nd byte: 81 */ 0x89d2,
+ /* 2nd byte: 82 */ 0x8d6b,
+ /* 2nd byte: 83 */ 0x8f03,
+ /* 2nd byte: 84 */ 0x90ed,
+ /* 2nd byte: 85 */ 0x95a3,
+ /* 2nd byte: 86 */ 0x9694,
+ /* 2nd byte: 87 */ 0x9769,
+ /* 2nd byte: 88 */ 0x5b66,
+ /* 2nd byte: 89 */ 0x5cb3,
+ /* 2nd byte: 90 */ 0x697d,
+ /* 2nd byte: 91 */ 0x984d,
+ /* 2nd byte: 92 */ 0x984e,
+ /* 2nd byte: 93 */ 0x639b,
+ /* 2nd byte: 94 */ 0x7b20,
+ /* 2nd byte: 95 */ 0x6a2b,
+ /* 2nd byte: 96 */ 0x6a7f,
+ /* 2nd byte: 97 */ 0x68b6,
+ /* 2nd byte: 98 */ 0x9c0d,
+ /* 2nd byte: 99 */ 0x6f5f,
+ /* 2nd byte: 100 */ 0x5272,
+ /* 2nd byte: 101 */ 0x559d,
+ /* 2nd byte: 102 */ 0x6070,
+ /* 2nd byte: 103 */ 0x62ec,
+ /* 2nd byte: 104 */ 0x6d3b,
+ /* 2nd byte: 105 */ 0x6e07,
+ /* 2nd byte: 106 */ 0x6ed1,
+ /* 2nd byte: 107 */ 0x845b,
+ /* 2nd byte: 108 */ 0x8910,
+ /* 2nd byte: 109 */ 0x8f44,
+ /* 2nd byte: 110 */ 0x4e14,
+ /* 2nd byte: 111 */ 0x9c39,
+ /* 2nd byte: 112 */ 0x53f6,
+ /* 2nd byte: 113 */ 0x691b,
+ /* 2nd byte: 114 */ 0x6a3a,
+ /* 2nd byte: 115 */ 0x9784,
+ /* 2nd byte: 116 */ 0x682a,
+ /* 2nd byte: 117 */ 0x515c,
+ /* 2nd byte: 118 */ 0x7ac3,
+ /* 2nd byte: 119 */ 0x84b2,
+ /* 2nd byte: 120 */ 0x91dc,
+ /* 2nd byte: 121 */ 0x938c,
+ /* 2nd byte: 122 */ 0x565b,
+ /* 2nd byte: 123 */ 0x9d28,
+ /* 2nd byte: 124 */ 0x6822,
+ /* 2nd byte: 125 */ 0x8305,
+ /* 2nd byte: 126 */ 0x8431},
+/* 1st byte: 52 */ {
+ /* 2nd byte: 33 */ 0x7ca5,
+ /* 2nd byte: 34 */ 0x5208,
+ /* 2nd byte: 35 */ 0x82c5,
+ /* 2nd byte: 36 */ 0x74e6,
+ /* 2nd byte: 37 */ 0x4e7e,
+ /* 2nd byte: 38 */ 0x4f83,
+ /* 2nd byte: 39 */ 0x51a0,
+ /* 2nd byte: 40 */ 0x5bd2,
+ /* 2nd byte: 41 */ 0x520a,
+ /* 2nd byte: 42 */ 0x52d8,
+ /* 2nd byte: 43 */ 0x52e7,
+ /* 2nd byte: 44 */ 0x5dfb,
+ /* 2nd byte: 45 */ 0x559a,
+ /* 2nd byte: 46 */ 0x582a,
+ /* 2nd byte: 47 */ 0x59e6,
+ /* 2nd byte: 48 */ 0x5b8c,
+ /* 2nd byte: 49 */ 0x5b98,
+ /* 2nd byte: 50 */ 0x5bdb,
+ /* 2nd byte: 51 */ 0x5e72,
+ /* 2nd byte: 52 */ 0x5e79,
+ /* 2nd byte: 53 */ 0x60a3,
+ /* 2nd byte: 54 */ 0x611f,
+ /* 2nd byte: 55 */ 0x6163,
+ /* 2nd byte: 56 */ 0x61be,
+ /* 2nd byte: 57 */ 0x63db,
+ /* 2nd byte: 58 */ 0x6562,
+ /* 2nd byte: 59 */ 0x67d1,
+ /* 2nd byte: 60 */ 0x6853,
+ /* 2nd byte: 61 */ 0x68fa,
+ /* 2nd byte: 62 */ 0x6b3e,
+ /* 2nd byte: 63 */ 0x6b53,
+ /* 2nd byte: 64 */ 0x6c57,
+ /* 2nd byte: 65 */ 0x6f22,
+ /* 2nd byte: 66 */ 0x6f97,
+ /* 2nd byte: 67 */ 0x6f45,
+ /* 2nd byte: 68 */ 0x74b0,
+ /* 2nd byte: 69 */ 0x7518,
+ /* 2nd byte: 70 */ 0x76e3,
+ /* 2nd byte: 71 */ 0x770b,
+ /* 2nd byte: 72 */ 0x7aff,
+ /* 2nd byte: 73 */ 0x7ba1,
+ /* 2nd byte: 74 */ 0x7c21,
+ /* 2nd byte: 75 */ 0x7de9,
+ /* 2nd byte: 76 */ 0x7f36,
+ /* 2nd byte: 77 */ 0x7ff0,
+ /* 2nd byte: 78 */ 0x809d,
+ /* 2nd byte: 79 */ 0x8266,
+ /* 2nd byte: 80 */ 0x839e,
+ /* 2nd byte: 81 */ 0x89b3,
+ /* 2nd byte: 82 */ 0x8acc,
+ /* 2nd byte: 83 */ 0x8cab,
+ /* 2nd byte: 84 */ 0x9084,
+ /* 2nd byte: 85 */ 0x9451,
+ /* 2nd byte: 86 */ 0x9593,
+ /* 2nd byte: 87 */ 0x9591,
+ /* 2nd byte: 88 */ 0x95a2,
+ /* 2nd byte: 89 */ 0x9665,
+ /* 2nd byte: 90 */ 0x97d3,
+ /* 2nd byte: 91 */ 0x9928,
+ /* 2nd byte: 92 */ 0x8218,
+ /* 2nd byte: 93 */ 0x4e38,
+ /* 2nd byte: 94 */ 0x542b,
+ /* 2nd byte: 95 */ 0x5cb8,
+ /* 2nd byte: 96 */ 0x5dcc,
+ /* 2nd byte: 97 */ 0x73a9,
+ /* 2nd byte: 98 */ 0x764c,
+ /* 2nd byte: 99 */ 0x773c,
+ /* 2nd byte: 100 */ 0x5ca9,
+ /* 2nd byte: 101 */ 0x7feb,
+ /* 2nd byte: 102 */ 0x8d0b,
+ /* 2nd byte: 103 */ 0x96c1,
+ /* 2nd byte: 104 */ 0x9811,
+ /* 2nd byte: 105 */ 0x9854,
+ /* 2nd byte: 106 */ 0x9858,
+ /* 2nd byte: 107 */ 0x4f01,
+ /* 2nd byte: 108 */ 0x4f0e,
+ /* 2nd byte: 109 */ 0x5371,
+ /* 2nd byte: 110 */ 0x559c,
+ /* 2nd byte: 111 */ 0x5668,
+ /* 2nd byte: 112 */ 0x57fa,
+ /* 2nd byte: 113 */ 0x5947,
+ /* 2nd byte: 114 */ 0x5b09,
+ /* 2nd byte: 115 */ 0x5bc4,
+ /* 2nd byte: 116 */ 0x5c90,
+ /* 2nd byte: 117 */ 0x5e0c,
+ /* 2nd byte: 118 */ 0x5e7e,
+ /* 2nd byte: 119 */ 0x5fcc,
+ /* 2nd byte: 120 */ 0x63ee,
+ /* 2nd byte: 121 */ 0x673a,
+ /* 2nd byte: 122 */ 0x65d7,
+ /* 2nd byte: 123 */ 0x65e2,
+ /* 2nd byte: 124 */ 0x671f,
+ /* 2nd byte: 125 */ 0x68cb,
+ /* 2nd byte: 126 */ 0x68c4},
+/* 1st byte: 53 */ {
+ /* 2nd byte: 33 */ 0x6a5f,
+ /* 2nd byte: 34 */ 0x5e30,
+ /* 2nd byte: 35 */ 0x6bc5,
+ /* 2nd byte: 36 */ 0x6c17,
+ /* 2nd byte: 37 */ 0x6c7d,
+ /* 2nd byte: 38 */ 0x757f,
+ /* 2nd byte: 39 */ 0x7948,
+ /* 2nd byte: 40 */ 0x5b63,
+ /* 2nd byte: 41 */ 0x7a00,
+ /* 2nd byte: 42 */ 0x7d00,
+ /* 2nd byte: 43 */ 0x5fbd,
+ /* 2nd byte: 44 */ 0x898f,
+ /* 2nd byte: 45 */ 0x8a18,
+ /* 2nd byte: 46 */ 0x8cb4,
+ /* 2nd byte: 47 */ 0x8d77,
+ /* 2nd byte: 48 */ 0x8ecc,
+ /* 2nd byte: 49 */ 0x8f1d,
+ /* 2nd byte: 50 */ 0x98e2,
+ /* 2nd byte: 51 */ 0x9a0e,
+ /* 2nd byte: 52 */ 0x9b3c,
+ /* 2nd byte: 53 */ 0x4e80,
+ /* 2nd byte: 54 */ 0x507d,
+ /* 2nd byte: 55 */ 0x5100,
+ /* 2nd byte: 56 */ 0x5993,
+ /* 2nd byte: 57 */ 0x5b9c,
+ /* 2nd byte: 58 */ 0x622f,
+ /* 2nd byte: 59 */ 0x6280,
+ /* 2nd byte: 60 */ 0x64ec,
+ /* 2nd byte: 61 */ 0x6b3a,
+ /* 2nd byte: 62 */ 0x72a0,
+ /* 2nd byte: 63 */ 0x7591,
+ /* 2nd byte: 64 */ 0x7947,
+ /* 2nd byte: 65 */ 0x7fa9,
+ /* 2nd byte: 66 */ 0x87fb,
+ /* 2nd byte: 67 */ 0x8abc,
+ /* 2nd byte: 68 */ 0x8b70,
+ /* 2nd byte: 69 */ 0x63ac,
+ /* 2nd byte: 70 */ 0x83ca,
+ /* 2nd byte: 71 */ 0x97a0,
+ /* 2nd byte: 72 */ 0x5409,
+ /* 2nd byte: 73 */ 0x5403,
+ /* 2nd byte: 74 */ 0x55ab,
+ /* 2nd byte: 75 */ 0x6854,
+ /* 2nd byte: 76 */ 0x6a58,
+ /* 2nd byte: 77 */ 0x8a70,
+ /* 2nd byte: 78 */ 0x7827,
+ /* 2nd byte: 79 */ 0x6775,
+ /* 2nd byte: 80 */ 0x9ecd,
+ /* 2nd byte: 81 */ 0x5374,
+ /* 2nd byte: 82 */ 0x5ba2,
+ /* 2nd byte: 83 */ 0x811a,
+ /* 2nd byte: 84 */ 0x8650,
+ /* 2nd byte: 85 */ 0x9006,
+ /* 2nd byte: 86 */ 0x4e18,
+ /* 2nd byte: 87 */ 0x4e45,
+ /* 2nd byte: 88 */ 0x4ec7,
+ /* 2nd byte: 89 */ 0x4f11,
+ /* 2nd byte: 90 */ 0x53ca,
+ /* 2nd byte: 91 */ 0x5438,
+ /* 2nd byte: 92 */ 0x5bae,
+ /* 2nd byte: 93 */ 0x5f13,
+ /* 2nd byte: 94 */ 0x6025,
+ /* 2nd byte: 95 */ 0x6551,
+ /* 2nd byte: 96 */ 0x673d,
+ /* 2nd byte: 97 */ 0x6c42,
+ /* 2nd byte: 98 */ 0x6c72,
+ /* 2nd byte: 99 */ 0x6ce3,
+ /* 2nd byte: 100 */ 0x7078,
+ /* 2nd byte: 101 */ 0x7403,
+ /* 2nd byte: 102 */ 0x7a76,
+ /* 2nd byte: 103 */ 0x7aae,
+ /* 2nd byte: 104 */ 0x7b08,
+ /* 2nd byte: 105 */ 0x7d1a,
+ /* 2nd byte: 106 */ 0x7cfe,
+ /* 2nd byte: 107 */ 0x7d66,
+ /* 2nd byte: 108 */ 0x65e7,
+ /* 2nd byte: 109 */ 0x725b,
+ /* 2nd byte: 110 */ 0x53bb,
+ /* 2nd byte: 111 */ 0x5c45,
+ /* 2nd byte: 112 */ 0x5de8,
+ /* 2nd byte: 113 */ 0x62d2,
+ /* 2nd byte: 114 */ 0x62e0,
+ /* 2nd byte: 115 */ 0x6319,
+ /* 2nd byte: 116 */ 0x6e20,
+ /* 2nd byte: 117 */ 0x865a,
+ /* 2nd byte: 118 */ 0x8a31,
+ /* 2nd byte: 119 */ 0x8ddd,
+ /* 2nd byte: 120 */ 0x92f8,
+ /* 2nd byte: 121 */ 0x6f01,
+ /* 2nd byte: 122 */ 0x79a6,
+ /* 2nd byte: 123 */ 0x9b5a,
+ /* 2nd byte: 124 */ 0x4ea8,
+ /* 2nd byte: 125 */ 0x4eab,
+ /* 2nd byte: 126 */ 0x4eac},
+/* 1st byte: 54 */ {
+ /* 2nd byte: 33 */ 0x4f9b,
+ /* 2nd byte: 34 */ 0x4fa0,
+ /* 2nd byte: 35 */ 0x50d1,
+ /* 2nd byte: 36 */ 0x5147,
+ /* 2nd byte: 37 */ 0x7af6,
+ /* 2nd byte: 38 */ 0x5171,
+ /* 2nd byte: 39 */ 0x51f6,
+ /* 2nd byte: 40 */ 0x5354,
+ /* 2nd byte: 41 */ 0x5321,
+ /* 2nd byte: 42 */ 0x537f,
+ /* 2nd byte: 43 */ 0x53eb,
+ /* 2nd byte: 44 */ 0x55ac,
+ /* 2nd byte: 45 */ 0x5883,
+ /* 2nd byte: 46 */ 0x5ce1,
+ /* 2nd byte: 47 */ 0x5f37,
+ /* 2nd byte: 48 */ 0x5f4a,
+ /* 2nd byte: 49 */ 0x602f,
+ /* 2nd byte: 50 */ 0x6050,
+ /* 2nd byte: 51 */ 0x606d,
+ /* 2nd byte: 52 */ 0x631f,
+ /* 2nd byte: 53 */ 0x6559,
+ /* 2nd byte: 54 */ 0x6a4b,
+ /* 2nd byte: 55 */ 0x6cc1,
+ /* 2nd byte: 56 */ 0x72c2,
+ /* 2nd byte: 57 */ 0x72ed,
+ /* 2nd byte: 58 */ 0x77ef,
+ /* 2nd byte: 59 */ 0x80f8,
+ /* 2nd byte: 60 */ 0x8105,
+ /* 2nd byte: 61 */ 0x8208,
+ /* 2nd byte: 62 */ 0x854e,
+ /* 2nd byte: 63 */ 0x90f7,
+ /* 2nd byte: 64 */ 0x93e1,
+ /* 2nd byte: 65 */ 0x97ff,
+ /* 2nd byte: 66 */ 0x9957,
+ /* 2nd byte: 67 */ 0x9a5a,
+ /* 2nd byte: 68 */ 0x4ef0,
+ /* 2nd byte: 69 */ 0x51dd,
+ /* 2nd byte: 70 */ 0x5c2d,
+ /* 2nd byte: 71 */ 0x6681,
+ /* 2nd byte: 72 */ 0x696d,
+ /* 2nd byte: 73 */ 0x5c40,
+ /* 2nd byte: 74 */ 0x66f2,
+ /* 2nd byte: 75 */ 0x6975,
+ /* 2nd byte: 76 */ 0x7389,
+ /* 2nd byte: 77 */ 0x6850,
+ /* 2nd byte: 78 */ 0x7c81,
+ /* 2nd byte: 79 */ 0x50c5,
+ /* 2nd byte: 80 */ 0x52e4,
+ /* 2nd byte: 81 */ 0x5747,
+ /* 2nd byte: 82 */ 0x5dfe,
+ /* 2nd byte: 83 */ 0x9326,
+ /* 2nd byte: 84 */ 0x65a4,
+ /* 2nd byte: 85 */ 0x6b23,
+ /* 2nd byte: 86 */ 0x6b3d,
+ /* 2nd byte: 87 */ 0x7434,
+ /* 2nd byte: 88 */ 0x7981,
+ /* 2nd byte: 89 */ 0x79bd,
+ /* 2nd byte: 90 */ 0x7b4b,
+ /* 2nd byte: 91 */ 0x7dca,
+ /* 2nd byte: 92 */ 0x82b9,
+ /* 2nd byte: 93 */ 0x83cc,
+ /* 2nd byte: 94 */ 0x887f,
+ /* 2nd byte: 95 */ 0x895f,
+ /* 2nd byte: 96 */ 0x8b39,
+ /* 2nd byte: 97 */ 0x8fd1,
+ /* 2nd byte: 98 */ 0x91d1,
+ /* 2nd byte: 99 */ 0x541f,
+ /* 2nd byte: 100 */ 0x9280,
+ /* 2nd byte: 101 */ 0x4e5d,
+ /* 2nd byte: 102 */ 0x5036,
+ /* 2nd byte: 103 */ 0x53e5,
+ /* 2nd byte: 104 */ 0x533a,
+ /* 2nd byte: 105 */ 0x72d7,
+ /* 2nd byte: 106 */ 0x7396,
+ /* 2nd byte: 107 */ 0x77e9,
+ /* 2nd byte: 108 */ 0x82e6,
+ /* 2nd byte: 109 */ 0x8eaf,
+ /* 2nd byte: 110 */ 0x99c6,
+ /* 2nd byte: 111 */ 0x99c8,
+ /* 2nd byte: 112 */ 0x99d2,
+ /* 2nd byte: 113 */ 0x5177,
+ /* 2nd byte: 114 */ 0x611a,
+ /* 2nd byte: 115 */ 0x865e,
+ /* 2nd byte: 116 */ 0x55b0,
+ /* 2nd byte: 117 */ 0x7a7a,
+ /* 2nd byte: 118 */ 0x5076,
+ /* 2nd byte: 119 */ 0x5bd3,
+ /* 2nd byte: 120 */ 0x9047,
+ /* 2nd byte: 121 */ 0x9685,
+ /* 2nd byte: 122 */ 0x4e32,
+ /* 2nd byte: 123 */ 0x6adb,
+ /* 2nd byte: 124 */ 0x91e7,
+ /* 2nd byte: 125 */ 0x5c51,
+ /* 2nd byte: 126 */ 0x5c48},
+/* 1st byte: 55 */ {
+ /* 2nd byte: 33 */ 0x6398,
+ /* 2nd byte: 34 */ 0x7a9f,
+ /* 2nd byte: 35 */ 0x6c93,
+ /* 2nd byte: 36 */ 0x9774,
+ /* 2nd byte: 37 */ 0x8f61,
+ /* 2nd byte: 38 */ 0x7aaa,
+ /* 2nd byte: 39 */ 0x718a,
+ /* 2nd byte: 40 */ 0x9688,
+ /* 2nd byte: 41 */ 0x7c82,
+ /* 2nd byte: 42 */ 0x6817,
+ /* 2nd byte: 43 */ 0x7e70,
+ /* 2nd byte: 44 */ 0x6851,
+ /* 2nd byte: 45 */ 0x936c,
+ /* 2nd byte: 46 */ 0x52f2,
+ /* 2nd byte: 47 */ 0x541b,
+ /* 2nd byte: 48 */ 0x85ab,
+ /* 2nd byte: 49 */ 0x8a13,
+ /* 2nd byte: 50 */ 0x7fa4,
+ /* 2nd byte: 51 */ 0x8ecd,
+ /* 2nd byte: 52 */ 0x90e1,
+ /* 2nd byte: 53 */ 0x5366,
+ /* 2nd byte: 54 */ 0x8888,
+ /* 2nd byte: 55 */ 0x7941,
+ /* 2nd byte: 56 */ 0x4fc2,
+ /* 2nd byte: 57 */ 0x50be,
+ /* 2nd byte: 58 */ 0x5211,
+ /* 2nd byte: 59 */ 0x5144,
+ /* 2nd byte: 60 */ 0x5553,
+ /* 2nd byte: 61 */ 0x572d,
+ /* 2nd byte: 62 */ 0x73ea,
+ /* 2nd byte: 63 */ 0x578b,
+ /* 2nd byte: 64 */ 0x5951,
+ /* 2nd byte: 65 */ 0x5f62,
+ /* 2nd byte: 66 */ 0x5f84,
+ /* 2nd byte: 67 */ 0x6075,
+ /* 2nd byte: 68 */ 0x6176,
+ /* 2nd byte: 69 */ 0x6167,
+ /* 2nd byte: 70 */ 0x61a9,
+ /* 2nd byte: 71 */ 0x63b2,
+ /* 2nd byte: 72 */ 0x643a,
+ /* 2nd byte: 73 */ 0x656c,
+ /* 2nd byte: 74 */ 0x666f,
+ /* 2nd byte: 75 */ 0x6842,
+ /* 2nd byte: 76 */ 0x6e13,
+ /* 2nd byte: 77 */ 0x7566,
+ /* 2nd byte: 78 */ 0x7a3d,
+ /* 2nd byte: 79 */ 0x7cfb,
+ /* 2nd byte: 80 */ 0x7d4c,
+ /* 2nd byte: 81 */ 0x7d99,
+ /* 2nd byte: 82 */ 0x7e4b,
+ /* 2nd byte: 83 */ 0x7f6b,
+ /* 2nd byte: 84 */ 0x830e,
+ /* 2nd byte: 85 */ 0x834a,
+ /* 2nd byte: 86 */ 0x86cd,
+ /* 2nd byte: 87 */ 0x8a08,
+ /* 2nd byte: 88 */ 0x8a63,
+ /* 2nd byte: 89 */ 0x8b66,
+ /* 2nd byte: 90 */ 0x8efd,
+ /* 2nd byte: 91 */ 0x981a,
+ /* 2nd byte: 92 */ 0x9d8f,
+ /* 2nd byte: 93 */ 0x82b8,
+ /* 2nd byte: 94 */ 0x8fce,
+ /* 2nd byte: 95 */ 0x9be8,
+ /* 2nd byte: 96 */ 0x5287,
+ /* 2nd byte: 97 */ 0x621f,
+ /* 2nd byte: 98 */ 0x6483,
+ /* 2nd byte: 99 */ 0x6fc0,
+ /* 2nd byte: 100 */ 0x9699,
+ /* 2nd byte: 101 */ 0x6841,
+ /* 2nd byte: 102 */ 0x5091,
+ /* 2nd byte: 103 */ 0x6b20,
+ /* 2nd byte: 104 */ 0x6c7a,
+ /* 2nd byte: 105 */ 0x6f54,
+ /* 2nd byte: 106 */ 0x7a74,
+ /* 2nd byte: 107 */ 0x7d50,
+ /* 2nd byte: 108 */ 0x8840,
+ /* 2nd byte: 109 */ 0x8a23,
+ /* 2nd byte: 110 */ 0x6708,
+ /* 2nd byte: 111 */ 0x4ef6,
+ /* 2nd byte: 112 */ 0x5039,
+ /* 2nd byte: 113 */ 0x5026,
+ /* 2nd byte: 114 */ 0x5065,
+ /* 2nd byte: 115 */ 0x517c,
+ /* 2nd byte: 116 */ 0x5238,
+ /* 2nd byte: 117 */ 0x5263,
+ /* 2nd byte: 118 */ 0x55a7,
+ /* 2nd byte: 119 */ 0x570f,
+ /* 2nd byte: 120 */ 0x5805,
+ /* 2nd byte: 121 */ 0x5acc,
+ /* 2nd byte: 122 */ 0x5efa,
+ /* 2nd byte: 123 */ 0x61b2,
+ /* 2nd byte: 124 */ 0x61f8,
+ /* 2nd byte: 125 */ 0x62f3,
+ /* 2nd byte: 126 */ 0x6372},
+/* 1st byte: 56 */ {
+ /* 2nd byte: 33 */ 0x691c,
+ /* 2nd byte: 34 */ 0x6a29,
+ /* 2nd byte: 35 */ 0x727d,
+ /* 2nd byte: 36 */ 0x72ac,
+ /* 2nd byte: 37 */ 0x732e,
+ /* 2nd byte: 38 */ 0x7814,
+ /* 2nd byte: 39 */ 0x786f,
+ /* 2nd byte: 40 */ 0x7d79,
+ /* 2nd byte: 41 */ 0x770c,
+ /* 2nd byte: 42 */ 0x80a9,
+ /* 2nd byte: 43 */ 0x898b,
+ /* 2nd byte: 44 */ 0x8b19,
+ /* 2nd byte: 45 */ 0x8ce2,
+ /* 2nd byte: 46 */ 0x8ed2,
+ /* 2nd byte: 47 */ 0x9063,
+ /* 2nd byte: 48 */ 0x9375,
+ /* 2nd byte: 49 */ 0x967a,
+ /* 2nd byte: 50 */ 0x9855,
+ /* 2nd byte: 51 */ 0x9a13,
+ /* 2nd byte: 52 */ 0x9e78,
+ /* 2nd byte: 53 */ 0x5143,
+ /* 2nd byte: 54 */ 0x539f,
+ /* 2nd byte: 55 */ 0x53b3,
+ /* 2nd byte: 56 */ 0x5e7b,
+ /* 2nd byte: 57 */ 0x5f26,
+ /* 2nd byte: 58 */ 0x6e1b,
+ /* 2nd byte: 59 */ 0x6e90,
+ /* 2nd byte: 60 */ 0x7384,
+ /* 2nd byte: 61 */ 0x73fe,
+ /* 2nd byte: 62 */ 0x7d43,
+ /* 2nd byte: 63 */ 0x8237,
+ /* 2nd byte: 64 */ 0x8a00,
+ /* 2nd byte: 65 */ 0x8afa,
+ /* 2nd byte: 66 */ 0x9650,
+ /* 2nd byte: 67 */ 0x4e4e,
+ /* 2nd byte: 68 */ 0x500b,
+ /* 2nd byte: 69 */ 0x53e4,
+ /* 2nd byte: 70 */ 0x547c,
+ /* 2nd byte: 71 */ 0x56fa,
+ /* 2nd byte: 72 */ 0x59d1,
+ /* 2nd byte: 73 */ 0x5b64,
+ /* 2nd byte: 74 */ 0x5df1,
+ /* 2nd byte: 75 */ 0x5eab,
+ /* 2nd byte: 76 */ 0x5f27,
+ /* 2nd byte: 77 */ 0x6238,
+ /* 2nd byte: 78 */ 0x6545,
+ /* 2nd byte: 79 */ 0x67af,
+ /* 2nd byte: 80 */ 0x6e56,
+ /* 2nd byte: 81 */ 0x72d0,
+ /* 2nd byte: 82 */ 0x7cca,
+ /* 2nd byte: 83 */ 0x88b4,
+ /* 2nd byte: 84 */ 0x80a1,
+ /* 2nd byte: 85 */ 0x80e1,
+ /* 2nd byte: 86 */ 0x83f0,
+ /* 2nd byte: 87 */ 0x864e,
+ /* 2nd byte: 88 */ 0x8a87,
+ /* 2nd byte: 89 */ 0x8de8,
+ /* 2nd byte: 90 */ 0x9237,
+ /* 2nd byte: 91 */ 0x96c7,
+ /* 2nd byte: 92 */ 0x9867,
+ /* 2nd byte: 93 */ 0x9f13,
+ /* 2nd byte: 94 */ 0x4e94,
+ /* 2nd byte: 95 */ 0x4e92,
+ /* 2nd byte: 96 */ 0x4f0d,
+ /* 2nd byte: 97 */ 0x5348,
+ /* 2nd byte: 98 */ 0x5449,
+ /* 2nd byte: 99 */ 0x543e,
+ /* 2nd byte: 100 */ 0x5a2f,
+ /* 2nd byte: 101 */ 0x5f8c,
+ /* 2nd byte: 102 */ 0x5fa1,
+ /* 2nd byte: 103 */ 0x609f,
+ /* 2nd byte: 104 */ 0x68a7,
+ /* 2nd byte: 105 */ 0x6a8e,
+ /* 2nd byte: 106 */ 0x745a,
+ /* 2nd byte: 107 */ 0x7881,
+ /* 2nd byte: 108 */ 0x8a9e,
+ /* 2nd byte: 109 */ 0x8aa4,
+ /* 2nd byte: 110 */ 0x8b77,
+ /* 2nd byte: 111 */ 0x9190,
+ /* 2nd byte: 112 */ 0x4e5e,
+ /* 2nd byte: 113 */ 0x9bc9,
+ /* 2nd byte: 114 */ 0x4ea4,
+ /* 2nd byte: 115 */ 0x4f7c,
+ /* 2nd byte: 116 */ 0x4faf,
+ /* 2nd byte: 117 */ 0x5019,
+ /* 2nd byte: 118 */ 0x5016,
+ /* 2nd byte: 119 */ 0x5149,
+ /* 2nd byte: 120 */ 0x516c,
+ /* 2nd byte: 121 */ 0x529f,
+ /* 2nd byte: 122 */ 0x52b9,
+ /* 2nd byte: 123 */ 0x52fe,
+ /* 2nd byte: 124 */ 0x539a,
+ /* 2nd byte: 125 */ 0x53e3,
+ /* 2nd byte: 126 */ 0x5411},
+/* 1st byte: 57 */ {
+ /* 2nd byte: 33 */ 0x540e,
+ /* 2nd byte: 34 */ 0x5589,
+ /* 2nd byte: 35 */ 0x5751,
+ /* 2nd byte: 36 */ 0x57a2,
+ /* 2nd byte: 37 */ 0x597d,
+ /* 2nd byte: 38 */ 0x5b54,
+ /* 2nd byte: 39 */ 0x5b5d,
+ /* 2nd byte: 40 */ 0x5b8f,
+ /* 2nd byte: 41 */ 0x5de5,
+ /* 2nd byte: 42 */ 0x5de7,
+ /* 2nd byte: 43 */ 0x5df7,
+ /* 2nd byte: 44 */ 0x5e78,
+ /* 2nd byte: 45 */ 0x5e83,
+ /* 2nd byte: 46 */ 0x5e9a,
+ /* 2nd byte: 47 */ 0x5eb7,
+ /* 2nd byte: 48 */ 0x5f18,
+ /* 2nd byte: 49 */ 0x6052,
+ /* 2nd byte: 50 */ 0x614c,
+ /* 2nd byte: 51 */ 0x6297,
+ /* 2nd byte: 52 */ 0x62d8,
+ /* 2nd byte: 53 */ 0x63a7,
+ /* 2nd byte: 54 */ 0x653b,
+ /* 2nd byte: 55 */ 0x6602,
+ /* 2nd byte: 56 */ 0x6643,
+ /* 2nd byte: 57 */ 0x66f4,
+ /* 2nd byte: 58 */ 0x676d,
+ /* 2nd byte: 59 */ 0x6821,
+ /* 2nd byte: 60 */ 0x6897,
+ /* 2nd byte: 61 */ 0x69cb,
+ /* 2nd byte: 62 */ 0x6c5f,
+ /* 2nd byte: 63 */ 0x6d2a,
+ /* 2nd byte: 64 */ 0x6d69,
+ /* 2nd byte: 65 */ 0x6e2f,
+ /* 2nd byte: 66 */ 0x6e9d,
+ /* 2nd byte: 67 */ 0x7532,
+ /* 2nd byte: 68 */ 0x7687,
+ /* 2nd byte: 69 */ 0x786c,
+ /* 2nd byte: 70 */ 0x7a3f,
+ /* 2nd byte: 71 */ 0x7ce0,
+ /* 2nd byte: 72 */ 0x7d05,
+ /* 2nd byte: 73 */ 0x7d18,
+ /* 2nd byte: 74 */ 0x7d5e,
+ /* 2nd byte: 75 */ 0x7db1,
+ /* 2nd byte: 76 */ 0x8015,
+ /* 2nd byte: 77 */ 0x8003,
+ /* 2nd byte: 78 */ 0x80af,
+ /* 2nd byte: 79 */ 0x80b1,
+ /* 2nd byte: 80 */ 0x8154,
+ /* 2nd byte: 81 */ 0x818f,
+ /* 2nd byte: 82 */ 0x822a,
+ /* 2nd byte: 83 */ 0x8352,
+ /* 2nd byte: 84 */ 0x884c,
+ /* 2nd byte: 85 */ 0x8861,
+ /* 2nd byte: 86 */ 0x8b1b,
+ /* 2nd byte: 87 */ 0x8ca2,
+ /* 2nd byte: 88 */ 0x8cfc,
+ /* 2nd byte: 89 */ 0x90ca,
+ /* 2nd byte: 90 */ 0x9175,
+ /* 2nd byte: 91 */ 0x9271,
+ /* 2nd byte: 92 */ 0x783f,
+ /* 2nd byte: 93 */ 0x92fc,
+ /* 2nd byte: 94 */ 0x95a4,
+ /* 2nd byte: 95 */ 0x964d,
+ /* 2nd byte: 96 */ 0x9805,
+ /* 2nd byte: 97 */ 0x9999,
+ /* 2nd byte: 98 */ 0x9ad8,
+ /* 2nd byte: 99 */ 0x9d3b,
+ /* 2nd byte: 100 */ 0x525b,
+ /* 2nd byte: 101 */ 0x52ab,
+ /* 2nd byte: 102 */ 0x53f7,
+ /* 2nd byte: 103 */ 0x5408,
+ /* 2nd byte: 104 */ 0x58d5,
+ /* 2nd byte: 105 */ 0x62f7,
+ /* 2nd byte: 106 */ 0x6fe0,
+ /* 2nd byte: 107 */ 0x8c6a,
+ /* 2nd byte: 108 */ 0x8f5f,
+ /* 2nd byte: 109 */ 0x9eb9,
+ /* 2nd byte: 110 */ 0x514b,
+ /* 2nd byte: 111 */ 0x523b,
+ /* 2nd byte: 112 */ 0x544a,
+ /* 2nd byte: 113 */ 0x56fd,
+ /* 2nd byte: 114 */ 0x7a40,
+ /* 2nd byte: 115 */ 0x9177,
+ /* 2nd byte: 116 */ 0x9d60,
+ /* 2nd byte: 117 */ 0x9ed2,
+ /* 2nd byte: 118 */ 0x7344,
+ /* 2nd byte: 119 */ 0x6f09,
+ /* 2nd byte: 120 */ 0x8170,
+ /* 2nd byte: 121 */ 0x7511,
+ /* 2nd byte: 122 */ 0x5ffd,
+ /* 2nd byte: 123 */ 0x60da,
+ /* 2nd byte: 124 */ 0x9aa8,
+ /* 2nd byte: 125 */ 0x72db,
+ /* 2nd byte: 126 */ 0x8fbc},
+/* 1st byte: 58 */ {
+ /* 2nd byte: 33 */ 0x6b64,
+ /* 2nd byte: 34 */ 0x9803,
+ /* 2nd byte: 35 */ 0x4eca,
+ /* 2nd byte: 36 */ 0x56f0,
+ /* 2nd byte: 37 */ 0x5764,
+ /* 2nd byte: 38 */ 0x58be,
+ /* 2nd byte: 39 */ 0x5a5a,
+ /* 2nd byte: 40 */ 0x6068,
+ /* 2nd byte: 41 */ 0x61c7,
+ /* 2nd byte: 42 */ 0x660f,
+ /* 2nd byte: 43 */ 0x6606,
+ /* 2nd byte: 44 */ 0x6839,
+ /* 2nd byte: 45 */ 0x68b1,
+ /* 2nd byte: 46 */ 0x6df7,
+ /* 2nd byte: 47 */ 0x75d5,
+ /* 2nd byte: 48 */ 0x7d3a,
+ /* 2nd byte: 49 */ 0x826e,
+ /* 2nd byte: 50 */ 0x9b42,
+ /* 2nd byte: 51 */ 0x4e9b,
+ /* 2nd byte: 52 */ 0x4f50,
+ /* 2nd byte: 53 */ 0x53c9,
+ /* 2nd byte: 54 */ 0x5506,
+ /* 2nd byte: 55 */ 0x5d6f,
+ /* 2nd byte: 56 */ 0x5de6,
+ /* 2nd byte: 57 */ 0x5dee,
+ /* 2nd byte: 58 */ 0x67fb,
+ /* 2nd byte: 59 */ 0x6c99,
+ /* 2nd byte: 60 */ 0x7473,
+ /* 2nd byte: 61 */ 0x7802,
+ /* 2nd byte: 62 */ 0x8a50,
+ /* 2nd byte: 63 */ 0x9396,
+ /* 2nd byte: 64 */ 0x88df,
+ /* 2nd byte: 65 */ 0x5750,
+ /* 2nd byte: 66 */ 0x5ea7,
+ /* 2nd byte: 67 */ 0x632b,
+ /* 2nd byte: 68 */ 0x50b5,
+ /* 2nd byte: 69 */ 0x50ac,
+ /* 2nd byte: 70 */ 0x518d,
+ /* 2nd byte: 71 */ 0x6700,
+ /* 2nd byte: 72 */ 0x54c9,
+ /* 2nd byte: 73 */ 0x585e,
+ /* 2nd byte: 74 */ 0x59bb,
+ /* 2nd byte: 75 */ 0x5bb0,
+ /* 2nd byte: 76 */ 0x5f69,
+ /* 2nd byte: 77 */ 0x624d,
+ /* 2nd byte: 78 */ 0x63a1,
+ /* 2nd byte: 79 */ 0x683d,
+ /* 2nd byte: 80 */ 0x6b73,
+ /* 2nd byte: 81 */ 0x6e08,
+ /* 2nd byte: 82 */ 0x707d,
+ /* 2nd byte: 83 */ 0x91c7,
+ /* 2nd byte: 84 */ 0x7280,
+ /* 2nd byte: 85 */ 0x7815,
+ /* 2nd byte: 86 */ 0x7826,
+ /* 2nd byte: 87 */ 0x796d,
+ /* 2nd byte: 88 */ 0x658e,
+ /* 2nd byte: 89 */ 0x7d30,
+ /* 2nd byte: 90 */ 0x83dc,
+ /* 2nd byte: 91 */ 0x88c1,
+ /* 2nd byte: 92 */ 0x8f09,
+ /* 2nd byte: 93 */ 0x969b,
+ /* 2nd byte: 94 */ 0x5264,
+ /* 2nd byte: 95 */ 0x5728,
+ /* 2nd byte: 96 */ 0x6750,
+ /* 2nd byte: 97 */ 0x7f6a,
+ /* 2nd byte: 98 */ 0x8ca1,
+ /* 2nd byte: 99 */ 0x51b4,
+ /* 2nd byte: 100 */ 0x5742,
+ /* 2nd byte: 101 */ 0x962a,
+ /* 2nd byte: 102 */ 0x583a,
+ /* 2nd byte: 103 */ 0x698a,
+ /* 2nd byte: 104 */ 0x80b4,
+ /* 2nd byte: 105 */ 0x54b2,
+ /* 2nd byte: 106 */ 0x5d0e,
+ /* 2nd byte: 107 */ 0x57fc,
+ /* 2nd byte: 108 */ 0x7895,
+ /* 2nd byte: 109 */ 0x9dfa,
+ /* 2nd byte: 110 */ 0x4f5c,
+ /* 2nd byte: 111 */ 0x524a,
+ /* 2nd byte: 112 */ 0x548b,
+ /* 2nd byte: 113 */ 0x643e,
+ /* 2nd byte: 114 */ 0x6628,
+ /* 2nd byte: 115 */ 0x6714,
+ /* 2nd byte: 116 */ 0x67f5,
+ /* 2nd byte: 117 */ 0x7a84,
+ /* 2nd byte: 118 */ 0x7b56,
+ /* 2nd byte: 119 */ 0x7d22,
+ /* 2nd byte: 120 */ 0x932f,
+ /* 2nd byte: 121 */ 0x685c,
+ /* 2nd byte: 122 */ 0x9bad,
+ /* 2nd byte: 123 */ 0x7b39,
+ /* 2nd byte: 124 */ 0x5319,
+ /* 2nd byte: 125 */ 0x518a,
+ /* 2nd byte: 126 */ 0x5237},
+/* 1st byte: 59 */ {
+ /* 2nd byte: 33 */ 0x5bdf,
+ /* 2nd byte: 34 */ 0x62f6,
+ /* 2nd byte: 35 */ 0x64ae,
+ /* 2nd byte: 36 */ 0x64e6,
+ /* 2nd byte: 37 */ 0x672d,
+ /* 2nd byte: 38 */ 0x6bba,
+ /* 2nd byte: 39 */ 0x85a9,
+ /* 2nd byte: 40 */ 0x96d1,
+ /* 2nd byte: 41 */ 0x7690,
+ /* 2nd byte: 42 */ 0x9bd6,
+ /* 2nd byte: 43 */ 0x634c,
+ /* 2nd byte: 44 */ 0x9306,
+ /* 2nd byte: 45 */ 0x9bab,
+ /* 2nd byte: 46 */ 0x76bf,
+ /* 2nd byte: 47 */ 0x6652,
+ /* 2nd byte: 48 */ 0x4e09,
+ /* 2nd byte: 49 */ 0x5098,
+ /* 2nd byte: 50 */ 0x53c2,
+ /* 2nd byte: 51 */ 0x5c71,
+ /* 2nd byte: 52 */ 0x60e8,
+ /* 2nd byte: 53 */ 0x6492,
+ /* 2nd byte: 54 */ 0x6563,
+ /* 2nd byte: 55 */ 0x685f,
+ /* 2nd byte: 56 */ 0x71e6,
+ /* 2nd byte: 57 */ 0x73ca,
+ /* 2nd byte: 58 */ 0x7523,
+ /* 2nd byte: 59 */ 0x7b97,
+ /* 2nd byte: 60 */ 0x7e82,
+ /* 2nd byte: 61 */ 0x8695,
+ /* 2nd byte: 62 */ 0x8b83,
+ /* 2nd byte: 63 */ 0x8cdb,
+ /* 2nd byte: 64 */ 0x9178,
+ /* 2nd byte: 65 */ 0x9910,
+ /* 2nd byte: 66 */ 0x65ac,
+ /* 2nd byte: 67 */ 0x66ab,
+ /* 2nd byte: 68 */ 0x6b8b,
+ /* 2nd byte: 69 */ 0x4ed5,
+ /* 2nd byte: 70 */ 0x4ed4,
+ /* 2nd byte: 71 */ 0x4f3a,
+ /* 2nd byte: 72 */ 0x4f7f,
+ /* 2nd byte: 73 */ 0x523a,
+ /* 2nd byte: 74 */ 0x53f8,
+ /* 2nd byte: 75 */ 0x53f2,
+ /* 2nd byte: 76 */ 0x55e3,
+ /* 2nd byte: 77 */ 0x56db,
+ /* 2nd byte: 78 */ 0x58eb,
+ /* 2nd byte: 79 */ 0x59cb,
+ /* 2nd byte: 80 */ 0x59c9,
+ /* 2nd byte: 81 */ 0x59ff,
+ /* 2nd byte: 82 */ 0x5b50,
+ /* 2nd byte: 83 */ 0x5c4d,
+ /* 2nd byte: 84 */ 0x5e02,
+ /* 2nd byte: 85 */ 0x5e2b,
+ /* 2nd byte: 86 */ 0x5fd7,
+ /* 2nd byte: 87 */ 0x601d,
+ /* 2nd byte: 88 */ 0x6307,
+ /* 2nd byte: 89 */ 0x652f,
+ /* 2nd byte: 90 */ 0x5b5c,
+ /* 2nd byte: 91 */ 0x65af,
+ /* 2nd byte: 92 */ 0x65bd,
+ /* 2nd byte: 93 */ 0x65e8,
+ /* 2nd byte: 94 */ 0x679d,
+ /* 2nd byte: 95 */ 0x6b62,
+ /* 2nd byte: 96 */ 0x6b7b,
+ /* 2nd byte: 97 */ 0x6c0f,
+ /* 2nd byte: 98 */ 0x7345,
+ /* 2nd byte: 99 */ 0x7949,
+ /* 2nd byte: 100 */ 0x79c1,
+ /* 2nd byte: 101 */ 0x7cf8,
+ /* 2nd byte: 102 */ 0x7d19,
+ /* 2nd byte: 103 */ 0x7d2b,
+ /* 2nd byte: 104 */ 0x80a2,
+ /* 2nd byte: 105 */ 0x8102,
+ /* 2nd byte: 106 */ 0x81f3,
+ /* 2nd byte: 107 */ 0x8996,
+ /* 2nd byte: 108 */ 0x8a5e,
+ /* 2nd byte: 109 */ 0x8a69,
+ /* 2nd byte: 110 */ 0x8a66,
+ /* 2nd byte: 111 */ 0x8a8c,
+ /* 2nd byte: 112 */ 0x8aee,
+ /* 2nd byte: 113 */ 0x8cc7,
+ /* 2nd byte: 114 */ 0x8cdc,
+ /* 2nd byte: 115 */ 0x96cc,
+ /* 2nd byte: 116 */ 0x98fc,
+ /* 2nd byte: 117 */ 0x6b6f,
+ /* 2nd byte: 118 */ 0x4e8b,
+ /* 2nd byte: 119 */ 0x4f3c,
+ /* 2nd byte: 120 */ 0x4f8d,
+ /* 2nd byte: 121 */ 0x5150,
+ /* 2nd byte: 122 */ 0x5b57,
+ /* 2nd byte: 123 */ 0x5bfa,
+ /* 2nd byte: 124 */ 0x6148,
+ /* 2nd byte: 125 */ 0x6301,
+ /* 2nd byte: 126 */ 0x6642},
+/* 1st byte: 60 */ {
+ /* 2nd byte: 33 */ 0x6b21,
+ /* 2nd byte: 34 */ 0x6ecb,
+ /* 2nd byte: 35 */ 0x6cbb,
+ /* 2nd byte: 36 */ 0x723e,
+ /* 2nd byte: 37 */ 0x74bd,
+ /* 2nd byte: 38 */ 0x75d4,
+ /* 2nd byte: 39 */ 0x78c1,
+ /* 2nd byte: 40 */ 0x793a,
+ /* 2nd byte: 41 */ 0x800c,
+ /* 2nd byte: 42 */ 0x8033,
+ /* 2nd byte: 43 */ 0x81ea,
+ /* 2nd byte: 44 */ 0x8494,
+ /* 2nd byte: 45 */ 0x8f9e,
+ /* 2nd byte: 46 */ 0x6c50,
+ /* 2nd byte: 47 */ 0x9e7f,
+ /* 2nd byte: 48 */ 0x5f0f,
+ /* 2nd byte: 49 */ 0x8b58,
+ /* 2nd byte: 50 */ 0x9d2b,
+ /* 2nd byte: 51 */ 0x7afa,
+ /* 2nd byte: 52 */ 0x8ef8,
+ /* 2nd byte: 53 */ 0x5b8d,
+ /* 2nd byte: 54 */ 0x96eb,
+ /* 2nd byte: 55 */ 0x4e03,
+ /* 2nd byte: 56 */ 0x53f1,
+ /* 2nd byte: 57 */ 0x57f7,
+ /* 2nd byte: 58 */ 0x5931,
+ /* 2nd byte: 59 */ 0x5ac9,
+ /* 2nd byte: 60 */ 0x5ba4,
+ /* 2nd byte: 61 */ 0x6089,
+ /* 2nd byte: 62 */ 0x6e7f,
+ /* 2nd byte: 63 */ 0x6f06,
+ /* 2nd byte: 64 */ 0x75be,
+ /* 2nd byte: 65 */ 0x8cea,
+ /* 2nd byte: 66 */ 0x5b9f,
+ /* 2nd byte: 67 */ 0x8500,
+ /* 2nd byte: 68 */ 0x7be0,
+ /* 2nd byte: 69 */ 0x5072,
+ /* 2nd byte: 70 */ 0x67f4,
+ /* 2nd byte: 71 */ 0x829d,
+ /* 2nd byte: 72 */ 0x5c61,
+ /* 2nd byte: 73 */ 0x854a,
+ /* 2nd byte: 74 */ 0x7e1e,
+ /* 2nd byte: 75 */ 0x820e,
+ /* 2nd byte: 76 */ 0x5199,
+ /* 2nd byte: 77 */ 0x5c04,
+ /* 2nd byte: 78 */ 0x6368,
+ /* 2nd byte: 79 */ 0x8d66,
+ /* 2nd byte: 80 */ 0x659c,
+ /* 2nd byte: 81 */ 0x716e,
+ /* 2nd byte: 82 */ 0x793e,
+ /* 2nd byte: 83 */ 0x7d17,
+ /* 2nd byte: 84 */ 0x8005,
+ /* 2nd byte: 85 */ 0x8b1d,
+ /* 2nd byte: 86 */ 0x8eca,
+ /* 2nd byte: 87 */ 0x906e,
+ /* 2nd byte: 88 */ 0x86c7,
+ /* 2nd byte: 89 */ 0x90aa,
+ /* 2nd byte: 90 */ 0x501f,
+ /* 2nd byte: 91 */ 0x52fa,
+ /* 2nd byte: 92 */ 0x5c3a,
+ /* 2nd byte: 93 */ 0x6753,
+ /* 2nd byte: 94 */ 0x707c,
+ /* 2nd byte: 95 */ 0x7235,
+ /* 2nd byte: 96 */ 0x914c,
+ /* 2nd byte: 97 */ 0x91c8,
+ /* 2nd byte: 98 */ 0x932b,
+ /* 2nd byte: 99 */ 0x82e5,
+ /* 2nd byte: 100 */ 0x5bc2,
+ /* 2nd byte: 101 */ 0x5f31,
+ /* 2nd byte: 102 */ 0x60f9,
+ /* 2nd byte: 103 */ 0x4e3b,
+ /* 2nd byte: 104 */ 0x53d6,
+ /* 2nd byte: 105 */ 0x5b88,
+ /* 2nd byte: 106 */ 0x624b,
+ /* 2nd byte: 107 */ 0x6731,
+ /* 2nd byte: 108 */ 0x6b8a,
+ /* 2nd byte: 109 */ 0x72e9,
+ /* 2nd byte: 110 */ 0x73e0,
+ /* 2nd byte: 111 */ 0x7a2e,
+ /* 2nd byte: 112 */ 0x816b,
+ /* 2nd byte: 113 */ 0x8da3,
+ /* 2nd byte: 114 */ 0x9152,
+ /* 2nd byte: 115 */ 0x9996,
+ /* 2nd byte: 116 */ 0x5112,
+ /* 2nd byte: 117 */ 0x53d7,
+ /* 2nd byte: 118 */ 0x546a,
+ /* 2nd byte: 119 */ 0x5bff,
+ /* 2nd byte: 120 */ 0x6388,
+ /* 2nd byte: 121 */ 0x6a39,
+ /* 2nd byte: 122 */ 0x7dac,
+ /* 2nd byte: 123 */ 0x9700,
+ /* 2nd byte: 124 */ 0x56da,
+ /* 2nd byte: 125 */ 0x53ce,
+ /* 2nd byte: 126 */ 0x5468},
+/* 1st byte: 61 */ {
+ /* 2nd byte: 33 */ 0x5b97,
+ /* 2nd byte: 34 */ 0x5c31,
+ /* 2nd byte: 35 */ 0x5dde,
+ /* 2nd byte: 36 */ 0x4fee,
+ /* 2nd byte: 37 */ 0x6101,
+ /* 2nd byte: 38 */ 0x62fe,
+ /* 2nd byte: 39 */ 0x6d32,
+ /* 2nd byte: 40 */ 0x79c0,
+ /* 2nd byte: 41 */ 0x79cb,
+ /* 2nd byte: 42 */ 0x7d42,
+ /* 2nd byte: 43 */ 0x7e4d,
+ /* 2nd byte: 44 */ 0x7fd2,
+ /* 2nd byte: 45 */ 0x81ed,
+ /* 2nd byte: 46 */ 0x821f,
+ /* 2nd byte: 47 */ 0x8490,
+ /* 2nd byte: 48 */ 0x8846,
+ /* 2nd byte: 49 */ 0x8972,
+ /* 2nd byte: 50 */ 0x8b90,
+ /* 2nd byte: 51 */ 0x8e74,
+ /* 2nd byte: 52 */ 0x8f2f,
+ /* 2nd byte: 53 */ 0x9031,
+ /* 2nd byte: 54 */ 0x914b,
+ /* 2nd byte: 55 */ 0x916c,
+ /* 2nd byte: 56 */ 0x96c6,
+ /* 2nd byte: 57 */ 0x919c,
+ /* 2nd byte: 58 */ 0x4ec0,
+ /* 2nd byte: 59 */ 0x4f4f,
+ /* 2nd byte: 60 */ 0x5145,
+ /* 2nd byte: 61 */ 0x5341,
+ /* 2nd byte: 62 */ 0x5f93,
+ /* 2nd byte: 63 */ 0x620e,
+ /* 2nd byte: 64 */ 0x67d4,
+ /* 2nd byte: 65 */ 0x6c41,
+ /* 2nd byte: 66 */ 0x6e0b,
+ /* 2nd byte: 67 */ 0x7363,
+ /* 2nd byte: 68 */ 0x7e26,
+ /* 2nd byte: 69 */ 0x91cd,
+ /* 2nd byte: 70 */ 0x9283,
+ /* 2nd byte: 71 */ 0x53d4,
+ /* 2nd byte: 72 */ 0x5919,
+ /* 2nd byte: 73 */ 0x5bbf,
+ /* 2nd byte: 74 */ 0x6dd1,
+ /* 2nd byte: 75 */ 0x795d,
+ /* 2nd byte: 76 */ 0x7e2e,
+ /* 2nd byte: 77 */ 0x7c9b,
+ /* 2nd byte: 78 */ 0x587e,
+ /* 2nd byte: 79 */ 0x719f,
+ /* 2nd byte: 80 */ 0x51fa,
+ /* 2nd byte: 81 */ 0x8853,
+ /* 2nd byte: 82 */ 0x8ff0,
+ /* 2nd byte: 83 */ 0x4fca,
+ /* 2nd byte: 84 */ 0x5cfb,
+ /* 2nd byte: 85 */ 0x6625,
+ /* 2nd byte: 86 */ 0x77ac,
+ /* 2nd byte: 87 */ 0x7ae3,
+ /* 2nd byte: 88 */ 0x821c,
+ /* 2nd byte: 89 */ 0x99ff,
+ /* 2nd byte: 90 */ 0x51c6,
+ /* 2nd byte: 91 */ 0x5faa,
+ /* 2nd byte: 92 */ 0x65ec,
+ /* 2nd byte: 93 */ 0x696f,
+ /* 2nd byte: 94 */ 0x6b89,
+ /* 2nd byte: 95 */ 0x6df3,
+ /* 2nd byte: 96 */ 0x6e96,
+ /* 2nd byte: 97 */ 0x6f64,
+ /* 2nd byte: 98 */ 0x76fe,
+ /* 2nd byte: 99 */ 0x7d14,
+ /* 2nd byte: 100 */ 0x5de1,
+ /* 2nd byte: 101 */ 0x9075,
+ /* 2nd byte: 102 */ 0x9187,
+ /* 2nd byte: 103 */ 0x9806,
+ /* 2nd byte: 104 */ 0x51e6,
+ /* 2nd byte: 105 */ 0x521d,
+ /* 2nd byte: 106 */ 0x6240,
+ /* 2nd byte: 107 */ 0x6691,
+ /* 2nd byte: 108 */ 0x66d9,
+ /* 2nd byte: 109 */ 0x6e1a,
+ /* 2nd byte: 110 */ 0x5eb6,
+ /* 2nd byte: 111 */ 0x7dd2,
+ /* 2nd byte: 112 */ 0x7f72,
+ /* 2nd byte: 113 */ 0x66f8,
+ /* 2nd byte: 114 */ 0x85af,
+ /* 2nd byte: 115 */ 0x85f7,
+ /* 2nd byte: 116 */ 0x8af8,
+ /* 2nd byte: 117 */ 0x52a9,
+ /* 2nd byte: 118 */ 0x53d9,
+ /* 2nd byte: 119 */ 0x5973,
+ /* 2nd byte: 120 */ 0x5e8f,
+ /* 2nd byte: 121 */ 0x5f90,
+ /* 2nd byte: 122 */ 0x6055,
+ /* 2nd byte: 123 */ 0x92e4,
+ /* 2nd byte: 124 */ 0x9664,
+ /* 2nd byte: 125 */ 0x50b7,
+ /* 2nd byte: 126 */ 0x511f},
+/* 1st byte: 62 */ {
+ /* 2nd byte: 33 */ 0x52dd,
+ /* 2nd byte: 34 */ 0x5320,
+ /* 2nd byte: 35 */ 0x5347,
+ /* 2nd byte: 36 */ 0x53ec,
+ /* 2nd byte: 37 */ 0x54e8,
+ /* 2nd byte: 38 */ 0x5546,
+ /* 2nd byte: 39 */ 0x5531,
+ /* 2nd byte: 40 */ 0x5617,
+ /* 2nd byte: 41 */ 0x5968,
+ /* 2nd byte: 42 */ 0x59be,
+ /* 2nd byte: 43 */ 0x5a3c,
+ /* 2nd byte: 44 */ 0x5bb5,
+ /* 2nd byte: 45 */ 0x5c06,
+ /* 2nd byte: 46 */ 0x5c0f,
+ /* 2nd byte: 47 */ 0x5c11,
+ /* 2nd byte: 48 */ 0x5c1a,
+ /* 2nd byte: 49 */ 0x5e84,
+ /* 2nd byte: 50 */ 0x5e8a,
+ /* 2nd byte: 51 */ 0x5ee0,
+ /* 2nd byte: 52 */ 0x5f70,
+ /* 2nd byte: 53 */ 0x627f,
+ /* 2nd byte: 54 */ 0x6284,
+ /* 2nd byte: 55 */ 0x62db,
+ /* 2nd byte: 56 */ 0x638c,
+ /* 2nd byte: 57 */ 0x6377,
+ /* 2nd byte: 58 */ 0x6607,
+ /* 2nd byte: 59 */ 0x660c,
+ /* 2nd byte: 60 */ 0x662d,
+ /* 2nd byte: 61 */ 0x6676,
+ /* 2nd byte: 62 */ 0x677e,
+ /* 2nd byte: 63 */ 0x68a2,
+ /* 2nd byte: 64 */ 0x6a1f,
+ /* 2nd byte: 65 */ 0x6a35,
+ /* 2nd byte: 66 */ 0x6cbc,
+ /* 2nd byte: 67 */ 0x6d88,
+ /* 2nd byte: 68 */ 0x6e09,
+ /* 2nd byte: 69 */ 0x6e58,
+ /* 2nd byte: 70 */ 0x713c,
+ /* 2nd byte: 71 */ 0x7126,
+ /* 2nd byte: 72 */ 0x7167,
+ /* 2nd byte: 73 */ 0x75c7,
+ /* 2nd byte: 74 */ 0x7701,
+ /* 2nd byte: 75 */ 0x785d,
+ /* 2nd byte: 76 */ 0x7901,
+ /* 2nd byte: 77 */ 0x7965,
+ /* 2nd byte: 78 */ 0x79f0,
+ /* 2nd byte: 79 */ 0x7ae0,
+ /* 2nd byte: 80 */ 0x7b11,
+ /* 2nd byte: 81 */ 0x7ca7,
+ /* 2nd byte: 82 */ 0x7d39,
+ /* 2nd byte: 83 */ 0x8096,
+ /* 2nd byte: 84 */ 0x83d6,
+ /* 2nd byte: 85 */ 0x848b,
+ /* 2nd byte: 86 */ 0x8549,
+ /* 2nd byte: 87 */ 0x885d,
+ /* 2nd byte: 88 */ 0x88f3,
+ /* 2nd byte: 89 */ 0x8a1f,
+ /* 2nd byte: 90 */ 0x8a3c,
+ /* 2nd byte: 91 */ 0x8a54,
+ /* 2nd byte: 92 */ 0x8a73,
+ /* 2nd byte: 93 */ 0x8c61,
+ /* 2nd byte: 94 */ 0x8cde,
+ /* 2nd byte: 95 */ 0x91a4,
+ /* 2nd byte: 96 */ 0x9266,
+ /* 2nd byte: 97 */ 0x937e,
+ /* 2nd byte: 98 */ 0x9418,
+ /* 2nd byte: 99 */ 0x969c,
+ /* 2nd byte: 100 */ 0x9798,
+ /* 2nd byte: 101 */ 0x4e0a,
+ /* 2nd byte: 102 */ 0x4e08,
+ /* 2nd byte: 103 */ 0x4e1e,
+ /* 2nd byte: 104 */ 0x4e57,
+ /* 2nd byte: 105 */ 0x5197,
+ /* 2nd byte: 106 */ 0x5270,
+ /* 2nd byte: 107 */ 0x57ce,
+ /* 2nd byte: 108 */ 0x5834,
+ /* 2nd byte: 109 */ 0x58cc,
+ /* 2nd byte: 110 */ 0x5b22,
+ /* 2nd byte: 111 */ 0x5e38,
+ /* 2nd byte: 112 */ 0x60c5,
+ /* 2nd byte: 113 */ 0x64fe,
+ /* 2nd byte: 114 */ 0x6761,
+ /* 2nd byte: 115 */ 0x6756,
+ /* 2nd byte: 116 */ 0x6d44,
+ /* 2nd byte: 117 */ 0x72b6,
+ /* 2nd byte: 118 */ 0x7573,
+ /* 2nd byte: 119 */ 0x7a63,
+ /* 2nd byte: 120 */ 0x84b8,
+ /* 2nd byte: 121 */ 0x8b72,
+ /* 2nd byte: 122 */ 0x91b8,
+ /* 2nd byte: 123 */ 0x9320,
+ /* 2nd byte: 124 */ 0x5631,
+ /* 2nd byte: 125 */ 0x57f4,
+ /* 2nd byte: 126 */ 0x98fe},
+/* 1st byte: 63 */ {
+ /* 2nd byte: 33 */ 0x62ed,
+ /* 2nd byte: 34 */ 0x690d,
+ /* 2nd byte: 35 */ 0x6b96,
+ /* 2nd byte: 36 */ 0x71ed,
+ /* 2nd byte: 37 */ 0x7e54,
+ /* 2nd byte: 38 */ 0x8077,
+ /* 2nd byte: 39 */ 0x8272,
+ /* 2nd byte: 40 */ 0x89e6,
+ /* 2nd byte: 41 */ 0x98df,
+ /* 2nd byte: 42 */ 0x8755,
+ /* 2nd byte: 43 */ 0x8fb1,
+ /* 2nd byte: 44 */ 0x5c3b,
+ /* 2nd byte: 45 */ 0x4f38,
+ /* 2nd byte: 46 */ 0x4fe1,
+ /* 2nd byte: 47 */ 0x4fb5,
+ /* 2nd byte: 48 */ 0x5507,
+ /* 2nd byte: 49 */ 0x5a20,
+ /* 2nd byte: 50 */ 0x5bdd,
+ /* 2nd byte: 51 */ 0x5be9,
+ /* 2nd byte: 52 */ 0x5fc3,
+ /* 2nd byte: 53 */ 0x614e,
+ /* 2nd byte: 54 */ 0x632f,
+ /* 2nd byte: 55 */ 0x65b0,
+ /* 2nd byte: 56 */ 0x664b,
+ /* 2nd byte: 57 */ 0x68ee,
+ /* 2nd byte: 58 */ 0x699b,
+ /* 2nd byte: 59 */ 0x6d78,
+ /* 2nd byte: 60 */ 0x6df1,
+ /* 2nd byte: 61 */ 0x7533,
+ /* 2nd byte: 62 */ 0x75b9,
+ /* 2nd byte: 63 */ 0x771f,
+ /* 2nd byte: 64 */ 0x795e,
+ /* 2nd byte: 65 */ 0x79e6,
+ /* 2nd byte: 66 */ 0x7d33,
+ /* 2nd byte: 67 */ 0x81e3,
+ /* 2nd byte: 68 */ 0x82af,
+ /* 2nd byte: 69 */ 0x85aa,
+ /* 2nd byte: 70 */ 0x89aa,
+ /* 2nd byte: 71 */ 0x8a3a,
+ /* 2nd byte: 72 */ 0x8eab,
+ /* 2nd byte: 73 */ 0x8f9b,
+ /* 2nd byte: 74 */ 0x9032,
+ /* 2nd byte: 75 */ 0x91dd,
+ /* 2nd byte: 76 */ 0x9707,
+ /* 2nd byte: 77 */ 0x4eba,
+ /* 2nd byte: 78 */ 0x4ec1,
+ /* 2nd byte: 79 */ 0x5203,
+ /* 2nd byte: 80 */ 0x5875,
+ /* 2nd byte: 81 */ 0x58ec,
+ /* 2nd byte: 82 */ 0x5c0b,
+ /* 2nd byte: 83 */ 0x751a,
+ /* 2nd byte: 84 */ 0x5c3d,
+ /* 2nd byte: 85 */ 0x814e,
+ /* 2nd byte: 86 */ 0x8a0a,
+ /* 2nd byte: 87 */ 0x8fc5,
+ /* 2nd byte: 88 */ 0x9663,
+ /* 2nd byte: 89 */ 0x976d,
+ /* 2nd byte: 90 */ 0x7b25,
+ /* 2nd byte: 91 */ 0x8acf,
+ /* 2nd byte: 92 */ 0x9808,
+ /* 2nd byte: 93 */ 0x9162,
+ /* 2nd byte: 94 */ 0x56f3,
+ /* 2nd byte: 95 */ 0x53a8,
+ /* 2nd byte: 96 */ 0x9017,
+ /* 2nd byte: 97 */ 0x5439,
+ /* 2nd byte: 98 */ 0x5782,
+ /* 2nd byte: 99 */ 0x5e25,
+ /* 2nd byte: 100 */ 0x63a8,
+ /* 2nd byte: 101 */ 0x6c34,
+ /* 2nd byte: 102 */ 0x708a,
+ /* 2nd byte: 103 */ 0x7761,
+ /* 2nd byte: 104 */ 0x7c8b,
+ /* 2nd byte: 105 */ 0x7fe0,
+ /* 2nd byte: 106 */ 0x8870,
+ /* 2nd byte: 107 */ 0x9042,
+ /* 2nd byte: 108 */ 0x9154,
+ /* 2nd byte: 109 */ 0x9310,
+ /* 2nd byte: 110 */ 0x9318,
+ /* 2nd byte: 111 */ 0x968f,
+ /* 2nd byte: 112 */ 0x745e,
+ /* 2nd byte: 113 */ 0x9ac4,
+ /* 2nd byte: 114 */ 0x5d07,
+ /* 2nd byte: 115 */ 0x5d69,
+ /* 2nd byte: 116 */ 0x6570,
+ /* 2nd byte: 117 */ 0x67a2,
+ /* 2nd byte: 118 */ 0x8da8,
+ /* 2nd byte: 119 */ 0x96db,
+ /* 2nd byte: 120 */ 0x636e,
+ /* 2nd byte: 121 */ 0x6749,
+ /* 2nd byte: 122 */ 0x6919,
+ /* 2nd byte: 123 */ 0x83c5,
+ /* 2nd byte: 124 */ 0x9817,
+ /* 2nd byte: 125 */ 0x96c0,
+ /* 2nd byte: 126 */ 0x88fe},
+/* 1st byte: 64 */ {
+ /* 2nd byte: 33 */ 0x6f84,
+ /* 2nd byte: 34 */ 0x647a,
+ /* 2nd byte: 35 */ 0x5bf8,
+ /* 2nd byte: 36 */ 0x4e16,
+ /* 2nd byte: 37 */ 0x702c,
+ /* 2nd byte: 38 */ 0x755d,
+ /* 2nd byte: 39 */ 0x662f,
+ /* 2nd byte: 40 */ 0x51c4,
+ /* 2nd byte: 41 */ 0x5236,
+ /* 2nd byte: 42 */ 0x52e2,
+ /* 2nd byte: 43 */ 0x59d3,
+ /* 2nd byte: 44 */ 0x5f81,
+ /* 2nd byte: 45 */ 0x6027,
+ /* 2nd byte: 46 */ 0x6210,
+ /* 2nd byte: 47 */ 0x653f,
+ /* 2nd byte: 48 */ 0x6574,
+ /* 2nd byte: 49 */ 0x661f,
+ /* 2nd byte: 50 */ 0x6674,
+ /* 2nd byte: 51 */ 0x68f2,
+ /* 2nd byte: 52 */ 0x6816,
+ /* 2nd byte: 53 */ 0x6b63,
+ /* 2nd byte: 54 */ 0x6e05,
+ /* 2nd byte: 55 */ 0x7272,
+ /* 2nd byte: 56 */ 0x751f,
+ /* 2nd byte: 57 */ 0x76db,
+ /* 2nd byte: 58 */ 0x7cbe,
+ /* 2nd byte: 59 */ 0x8056,
+ /* 2nd byte: 60 */ 0x58f0,
+ /* 2nd byte: 61 */ 0x88fd,
+ /* 2nd byte: 62 */ 0x897f,
+ /* 2nd byte: 63 */ 0x8aa0,
+ /* 2nd byte: 64 */ 0x8a93,
+ /* 2nd byte: 65 */ 0x8acb,
+ /* 2nd byte: 66 */ 0x901d,
+ /* 2nd byte: 67 */ 0x9192,
+ /* 2nd byte: 68 */ 0x9752,
+ /* 2nd byte: 69 */ 0x9759,
+ /* 2nd byte: 70 */ 0x6589,
+ /* 2nd byte: 71 */ 0x7a0e,
+ /* 2nd byte: 72 */ 0x8106,
+ /* 2nd byte: 73 */ 0x96bb,
+ /* 2nd byte: 74 */ 0x5e2d,
+ /* 2nd byte: 75 */ 0x60dc,
+ /* 2nd byte: 76 */ 0x621a,
+ /* 2nd byte: 77 */ 0x65a5,
+ /* 2nd byte: 78 */ 0x6614,
+ /* 2nd byte: 79 */ 0x6790,
+ /* 2nd byte: 80 */ 0x77f3,
+ /* 2nd byte: 81 */ 0x7a4d,
+ /* 2nd byte: 82 */ 0x7c4d,
+ /* 2nd byte: 83 */ 0x7e3e,
+ /* 2nd byte: 84 */ 0x810a,
+ /* 2nd byte: 85 */ 0x8cac,
+ /* 2nd byte: 86 */ 0x8d64,
+ /* 2nd byte: 87 */ 0x8de1,
+ /* 2nd byte: 88 */ 0x8e5f,
+ /* 2nd byte: 89 */ 0x78a9,
+ /* 2nd byte: 90 */ 0x5207,
+ /* 2nd byte: 91 */ 0x62d9,
+ /* 2nd byte: 92 */ 0x63a5,
+ /* 2nd byte: 93 */ 0x6442,
+ /* 2nd byte: 94 */ 0x6298,
+ /* 2nd byte: 95 */ 0x8a2d,
+ /* 2nd byte: 96 */ 0x7a83,
+ /* 2nd byte: 97 */ 0x7bc0,
+ /* 2nd byte: 98 */ 0x8aac,
+ /* 2nd byte: 99 */ 0x96ea,
+ /* 2nd byte: 100 */ 0x7d76,
+ /* 2nd byte: 101 */ 0x820c,
+ /* 2nd byte: 102 */ 0x8749,
+ /* 2nd byte: 103 */ 0x4ed9,
+ /* 2nd byte: 104 */ 0x5148,
+ /* 2nd byte: 105 */ 0x5343,
+ /* 2nd byte: 106 */ 0x5360,
+ /* 2nd byte: 107 */ 0x5ba3,
+ /* 2nd byte: 108 */ 0x5c02,
+ /* 2nd byte: 109 */ 0x5c16,
+ /* 2nd byte: 110 */ 0x5ddd,
+ /* 2nd byte: 111 */ 0x6226,
+ /* 2nd byte: 112 */ 0x6247,
+ /* 2nd byte: 113 */ 0x64b0,
+ /* 2nd byte: 114 */ 0x6813,
+ /* 2nd byte: 115 */ 0x6834,
+ /* 2nd byte: 116 */ 0x6cc9,
+ /* 2nd byte: 117 */ 0x6d45,
+ /* 2nd byte: 118 */ 0x6d17,
+ /* 2nd byte: 119 */ 0x67d3,
+ /* 2nd byte: 120 */ 0x6f5c,
+ /* 2nd byte: 121 */ 0x714e,
+ /* 2nd byte: 122 */ 0x717d,
+ /* 2nd byte: 123 */ 0x65cb,
+ /* 2nd byte: 124 */ 0x7a7f,
+ /* 2nd byte: 125 */ 0x7bad,
+ /* 2nd byte: 126 */ 0x7dda},
+/* 1st byte: 65 */ {
+ /* 2nd byte: 33 */ 0x7e4a,
+ /* 2nd byte: 34 */ 0x7fa8,
+ /* 2nd byte: 35 */ 0x817a,
+ /* 2nd byte: 36 */ 0x821b,
+ /* 2nd byte: 37 */ 0x8239,
+ /* 2nd byte: 38 */ 0x85a6,
+ /* 2nd byte: 39 */ 0x8a6e,
+ /* 2nd byte: 40 */ 0x8cce,
+ /* 2nd byte: 41 */ 0x8df5,
+ /* 2nd byte: 42 */ 0x9078,
+ /* 2nd byte: 43 */ 0x9077,
+ /* 2nd byte: 44 */ 0x92ad,
+ /* 2nd byte: 45 */ 0x9291,
+ /* 2nd byte: 46 */ 0x9583,
+ /* 2nd byte: 47 */ 0x9bae,
+ /* 2nd byte: 48 */ 0x524d,
+ /* 2nd byte: 49 */ 0x5584,
+ /* 2nd byte: 50 */ 0x6f38,
+ /* 2nd byte: 51 */ 0x7136,
+ /* 2nd byte: 52 */ 0x5168,
+ /* 2nd byte: 53 */ 0x7985,
+ /* 2nd byte: 54 */ 0x7e55,
+ /* 2nd byte: 55 */ 0x81b3,
+ /* 2nd byte: 56 */ 0x7cce,
+ /* 2nd byte: 57 */ 0x564c,
+ /* 2nd byte: 58 */ 0x5851,
+ /* 2nd byte: 59 */ 0x5ca8,
+ /* 2nd byte: 60 */ 0x63aa,
+ /* 2nd byte: 61 */ 0x66fe,
+ /* 2nd byte: 62 */ 0x66fd,
+ /* 2nd byte: 63 */ 0x695a,
+ /* 2nd byte: 64 */ 0x72d9,
+ /* 2nd byte: 65 */ 0x758f,
+ /* 2nd byte: 66 */ 0x758e,
+ /* 2nd byte: 67 */ 0x790e,
+ /* 2nd byte: 68 */ 0x7956,
+ /* 2nd byte: 69 */ 0x79df,
+ /* 2nd byte: 70 */ 0x7c97,
+ /* 2nd byte: 71 */ 0x7d20,
+ /* 2nd byte: 72 */ 0x7d44,
+ /* 2nd byte: 73 */ 0x8607,
+ /* 2nd byte: 74 */ 0x8a34,
+ /* 2nd byte: 75 */ 0x963b,
+ /* 2nd byte: 76 */ 0x9061,
+ /* 2nd byte: 77 */ 0x9f20,
+ /* 2nd byte: 78 */ 0x50e7,
+ /* 2nd byte: 79 */ 0x5275,
+ /* 2nd byte: 80 */ 0x53cc,
+ /* 2nd byte: 81 */ 0x53e2,
+ /* 2nd byte: 82 */ 0x5009,
+ /* 2nd byte: 83 */ 0x55aa,
+ /* 2nd byte: 84 */ 0x58ee,
+ /* 2nd byte: 85 */ 0x594f,
+ /* 2nd byte: 86 */ 0x723d,
+ /* 2nd byte: 87 */ 0x5b8b,
+ /* 2nd byte: 88 */ 0x5c64,
+ /* 2nd byte: 89 */ 0x531d,
+ /* 2nd byte: 90 */ 0x60e3,
+ /* 2nd byte: 91 */ 0x60f3,
+ /* 2nd byte: 92 */ 0x635c,
+ /* 2nd byte: 93 */ 0x6383,
+ /* 2nd byte: 94 */ 0x633f,
+ /* 2nd byte: 95 */ 0x63bb,
+ /* 2nd byte: 96 */ 0x64cd,
+ /* 2nd byte: 97 */ 0x65e9,
+ /* 2nd byte: 98 */ 0x66f9,
+ /* 2nd byte: 99 */ 0x5de3,
+ /* 2nd byte: 100 */ 0x69cd,
+ /* 2nd byte: 101 */ 0x69fd,
+ /* 2nd byte: 102 */ 0x6f15,
+ /* 2nd byte: 103 */ 0x71e5,
+ /* 2nd byte: 104 */ 0x4e89,
+ /* 2nd byte: 105 */ 0x75e9,
+ /* 2nd byte: 106 */ 0x76f8,
+ /* 2nd byte: 107 */ 0x7a93,
+ /* 2nd byte: 108 */ 0x7cdf,
+ /* 2nd byte: 109 */ 0x7dcf,
+ /* 2nd byte: 110 */ 0x7d9c,
+ /* 2nd byte: 111 */ 0x8061,
+ /* 2nd byte: 112 */ 0x8349,
+ /* 2nd byte: 113 */ 0x8358,
+ /* 2nd byte: 114 */ 0x846c,
+ /* 2nd byte: 115 */ 0x84bc,
+ /* 2nd byte: 116 */ 0x85fb,
+ /* 2nd byte: 117 */ 0x88c5,
+ /* 2nd byte: 118 */ 0x8d70,
+ /* 2nd byte: 119 */ 0x9001,
+ /* 2nd byte: 120 */ 0x906d,
+ /* 2nd byte: 121 */ 0x9397,
+ /* 2nd byte: 122 */ 0x971c,
+ /* 2nd byte: 123 */ 0x9a12,
+ /* 2nd byte: 124 */ 0x50cf,
+ /* 2nd byte: 125 */ 0x5897,
+ /* 2nd byte: 126 */ 0x618e},
+/* 1st byte: 66 */ {
+ /* 2nd byte: 33 */ 0x81d3,
+ /* 2nd byte: 34 */ 0x8535,
+ /* 2nd byte: 35 */ 0x8d08,
+ /* 2nd byte: 36 */ 0x9020,
+ /* 2nd byte: 37 */ 0x4fc3,
+ /* 2nd byte: 38 */ 0x5074,
+ /* 2nd byte: 39 */ 0x5247,
+ /* 2nd byte: 40 */ 0x5373,
+ /* 2nd byte: 41 */ 0x606f,
+ /* 2nd byte: 42 */ 0x6349,
+ /* 2nd byte: 43 */ 0x675f,
+ /* 2nd byte: 44 */ 0x6e2c,
+ /* 2nd byte: 45 */ 0x8db3,
+ /* 2nd byte: 46 */ 0x901f,
+ /* 2nd byte: 47 */ 0x4fd7,
+ /* 2nd byte: 48 */ 0x5c5e,
+ /* 2nd byte: 49 */ 0x8cca,
+ /* 2nd byte: 50 */ 0x65cf,
+ /* 2nd byte: 51 */ 0x7d9a,
+ /* 2nd byte: 52 */ 0x5352,
+ /* 2nd byte: 53 */ 0x8896,
+ /* 2nd byte: 54 */ 0x5176,
+ /* 2nd byte: 55 */ 0x63c3,
+ /* 2nd byte: 56 */ 0x5b58,
+ /* 2nd byte: 57 */ 0x5b6b,
+ /* 2nd byte: 58 */ 0x5c0a,
+ /* 2nd byte: 59 */ 0x640d,
+ /* 2nd byte: 60 */ 0x6751,
+ /* 2nd byte: 61 */ 0x905c,
+ /* 2nd byte: 62 */ 0x4ed6,
+ /* 2nd byte: 63 */ 0x591a,
+ /* 2nd byte: 64 */ 0x592a,
+ /* 2nd byte: 65 */ 0x6c70,
+ /* 2nd byte: 66 */ 0x8a51,
+ /* 2nd byte: 67 */ 0x553e,
+ /* 2nd byte: 68 */ 0x5815,
+ /* 2nd byte: 69 */ 0x59a5,
+ /* 2nd byte: 70 */ 0x60f0,
+ /* 2nd byte: 71 */ 0x6253,
+ /* 2nd byte: 72 */ 0x67c1,
+ /* 2nd byte: 73 */ 0x8235,
+ /* 2nd byte: 74 */ 0x6955,
+ /* 2nd byte: 75 */ 0x9640,
+ /* 2nd byte: 76 */ 0x99c4,
+ /* 2nd byte: 77 */ 0x9a28,
+ /* 2nd byte: 78 */ 0x4f53,
+ /* 2nd byte: 79 */ 0x5806,
+ /* 2nd byte: 80 */ 0x5bfe,
+ /* 2nd byte: 81 */ 0x8010,
+ /* 2nd byte: 82 */ 0x5cb1,
+ /* 2nd byte: 83 */ 0x5e2f,
+ /* 2nd byte: 84 */ 0x5f85,
+ /* 2nd byte: 85 */ 0x6020,
+ /* 2nd byte: 86 */ 0x614b,
+ /* 2nd byte: 87 */ 0x6234,
+ /* 2nd byte: 88 */ 0x66ff,
+ /* 2nd byte: 89 */ 0x6cf0,
+ /* 2nd byte: 90 */ 0x6ede,
+ /* 2nd byte: 91 */ 0x80ce,
+ /* 2nd byte: 92 */ 0x817f,
+ /* 2nd byte: 93 */ 0x82d4,
+ /* 2nd byte: 94 */ 0x888b,
+ /* 2nd byte: 95 */ 0x8cb8,
+ /* 2nd byte: 96 */ 0x9000,
+ /* 2nd byte: 97 */ 0x902e,
+ /* 2nd byte: 98 */ 0x968a,
+ /* 2nd byte: 99 */ 0x9edb,
+ /* 2nd byte: 100 */ 0x9bdb,
+ /* 2nd byte: 101 */ 0x4ee3,
+ /* 2nd byte: 102 */ 0x53f0,
+ /* 2nd byte: 103 */ 0x5927,
+ /* 2nd byte: 104 */ 0x7b2c,
+ /* 2nd byte: 105 */ 0x918d,
+ /* 2nd byte: 106 */ 0x984c,
+ /* 2nd byte: 107 */ 0x9df9,
+ /* 2nd byte: 108 */ 0x6edd,
+ /* 2nd byte: 109 */ 0x7027,
+ /* 2nd byte: 110 */ 0x5353,
+ /* 2nd byte: 111 */ 0x5544,
+ /* 2nd byte: 112 */ 0x5b85,
+ /* 2nd byte: 113 */ 0x6258,
+ /* 2nd byte: 114 */ 0x629e,
+ /* 2nd byte: 115 */ 0x62d3,
+ /* 2nd byte: 116 */ 0x6ca2,
+ /* 2nd byte: 117 */ 0x6fef,
+ /* 2nd byte: 118 */ 0x7422,
+ /* 2nd byte: 119 */ 0x8a17,
+ /* 2nd byte: 120 */ 0x9438,
+ /* 2nd byte: 121 */ 0x6fc1,
+ /* 2nd byte: 122 */ 0x8afe,
+ /* 2nd byte: 123 */ 0x8338,
+ /* 2nd byte: 124 */ 0x51e7,
+ /* 2nd byte: 125 */ 0x86f8,
+ /* 2nd byte: 126 */ 0x53ea},
+/* 1st byte: 67 */ {
+ /* 2nd byte: 33 */ 0x53e9,
+ /* 2nd byte: 34 */ 0x4f46,
+ /* 2nd byte: 35 */ 0x9054,
+ /* 2nd byte: 36 */ 0x8fb0,
+ /* 2nd byte: 37 */ 0x596a,
+ /* 2nd byte: 38 */ 0x8131,
+ /* 2nd byte: 39 */ 0x5dfd,
+ /* 2nd byte: 40 */ 0x7aea,
+ /* 2nd byte: 41 */ 0x8fbf,
+ /* 2nd byte: 42 */ 0x68da,
+ /* 2nd byte: 43 */ 0x8c37,
+ /* 2nd byte: 44 */ 0x72f8,
+ /* 2nd byte: 45 */ 0x9c48,
+ /* 2nd byte: 46 */ 0x6a3d,
+ /* 2nd byte: 47 */ 0x8ab0,
+ /* 2nd byte: 48 */ 0x4e39,
+ /* 2nd byte: 49 */ 0x5358,
+ /* 2nd byte: 50 */ 0x5606,
+ /* 2nd byte: 51 */ 0x5766,
+ /* 2nd byte: 52 */ 0x62c5,
+ /* 2nd byte: 53 */ 0x63a2,
+ /* 2nd byte: 54 */ 0x65e6,
+ /* 2nd byte: 55 */ 0x6b4e,
+ /* 2nd byte: 56 */ 0x6de1,
+ /* 2nd byte: 57 */ 0x6e5b,
+ /* 2nd byte: 58 */ 0x70ad,
+ /* 2nd byte: 59 */ 0x77ed,
+ /* 2nd byte: 60 */ 0x7aef,
+ /* 2nd byte: 61 */ 0x7baa,
+ /* 2nd byte: 62 */ 0x7dbb,
+ /* 2nd byte: 63 */ 0x803d,
+ /* 2nd byte: 64 */ 0x80c6,
+ /* 2nd byte: 65 */ 0x86cb,
+ /* 2nd byte: 66 */ 0x8a95,
+ /* 2nd byte: 67 */ 0x935b,
+ /* 2nd byte: 68 */ 0x56e3,
+ /* 2nd byte: 69 */ 0x58c7,
+ /* 2nd byte: 70 */ 0x5f3e,
+ /* 2nd byte: 71 */ 0x65ad,
+ /* 2nd byte: 72 */ 0x6696,
+ /* 2nd byte: 73 */ 0x6a80,
+ /* 2nd byte: 74 */ 0x6bb5,
+ /* 2nd byte: 75 */ 0x7537,
+ /* 2nd byte: 76 */ 0x8ac7,
+ /* 2nd byte: 77 */ 0x5024,
+ /* 2nd byte: 78 */ 0x77e5,
+ /* 2nd byte: 79 */ 0x5730,
+ /* 2nd byte: 80 */ 0x5f1b,
+ /* 2nd byte: 81 */ 0x6065,
+ /* 2nd byte: 82 */ 0x667a,
+ /* 2nd byte: 83 */ 0x6c60,
+ /* 2nd byte: 84 */ 0x75f4,
+ /* 2nd byte: 85 */ 0x7a1a,
+ /* 2nd byte: 86 */ 0x7f6e,
+ /* 2nd byte: 87 */ 0x81f4,
+ /* 2nd byte: 88 */ 0x8718,
+ /* 2nd byte: 89 */ 0x9045,
+ /* 2nd byte: 90 */ 0x99b3,
+ /* 2nd byte: 91 */ 0x7bc9,
+ /* 2nd byte: 92 */ 0x755c,
+ /* 2nd byte: 93 */ 0x7af9,
+ /* 2nd byte: 94 */ 0x7b51,
+ /* 2nd byte: 95 */ 0x84c4,
+ /* 2nd byte: 96 */ 0x9010,
+ /* 2nd byte: 97 */ 0x79e9,
+ /* 2nd byte: 98 */ 0x7a92,
+ /* 2nd byte: 99 */ 0x8336,
+ /* 2nd byte: 100 */ 0x5ae1,
+ /* 2nd byte: 101 */ 0x7740,
+ /* 2nd byte: 102 */ 0x4e2d,
+ /* 2nd byte: 103 */ 0x4ef2,
+ /* 2nd byte: 104 */ 0x5b99,
+ /* 2nd byte: 105 */ 0x5fe0,
+ /* 2nd byte: 106 */ 0x62bd,
+ /* 2nd byte: 107 */ 0x663c,
+ /* 2nd byte: 108 */ 0x67f1,
+ /* 2nd byte: 109 */ 0x6ce8,
+ /* 2nd byte: 110 */ 0x866b,
+ /* 2nd byte: 111 */ 0x8877,
+ /* 2nd byte: 112 */ 0x8a3b,
+ /* 2nd byte: 113 */ 0x914e,
+ /* 2nd byte: 114 */ 0x92f3,
+ /* 2nd byte: 115 */ 0x99d0,
+ /* 2nd byte: 116 */ 0x6a17,
+ /* 2nd byte: 117 */ 0x7026,
+ /* 2nd byte: 118 */ 0x732a,
+ /* 2nd byte: 119 */ 0x82e7,
+ /* 2nd byte: 120 */ 0x8457,
+ /* 2nd byte: 121 */ 0x8caf,
+ /* 2nd byte: 122 */ 0x4e01,
+ /* 2nd byte: 123 */ 0x5146,
+ /* 2nd byte: 124 */ 0x51cb,
+ /* 2nd byte: 125 */ 0x558b,
+ /* 2nd byte: 126 */ 0x5bf5},
+/* 1st byte: 68 */ {
+ /* 2nd byte: 33 */ 0x5e16,
+ /* 2nd byte: 34 */ 0x5e33,
+ /* 2nd byte: 35 */ 0x5e81,
+ /* 2nd byte: 36 */ 0x5f14,
+ /* 2nd byte: 37 */ 0x5f35,
+ /* 2nd byte: 38 */ 0x5f6b,
+ /* 2nd byte: 39 */ 0x5fb4,
+ /* 2nd byte: 40 */ 0x61f2,
+ /* 2nd byte: 41 */ 0x6311,
+ /* 2nd byte: 42 */ 0x66a2,
+ /* 2nd byte: 43 */ 0x671d,
+ /* 2nd byte: 44 */ 0x6f6e,
+ /* 2nd byte: 45 */ 0x7252,
+ /* 2nd byte: 46 */ 0x753a,
+ /* 2nd byte: 47 */ 0x773a,
+ /* 2nd byte: 48 */ 0x8074,
+ /* 2nd byte: 49 */ 0x8139,
+ /* 2nd byte: 50 */ 0x8178,
+ /* 2nd byte: 51 */ 0x8776,
+ /* 2nd byte: 52 */ 0x8abf,
+ /* 2nd byte: 53 */ 0x8adc,
+ /* 2nd byte: 54 */ 0x8d85,
+ /* 2nd byte: 55 */ 0x8df3,
+ /* 2nd byte: 56 */ 0x929a,
+ /* 2nd byte: 57 */ 0x9577,
+ /* 2nd byte: 58 */ 0x9802,
+ /* 2nd byte: 59 */ 0x9ce5,
+ /* 2nd byte: 60 */ 0x52c5,
+ /* 2nd byte: 61 */ 0x6357,
+ /* 2nd byte: 62 */ 0x76f4,
+ /* 2nd byte: 63 */ 0x6715,
+ /* 2nd byte: 64 */ 0x6c88,
+ /* 2nd byte: 65 */ 0x73cd,
+ /* 2nd byte: 66 */ 0x8cc3,
+ /* 2nd byte: 67 */ 0x93ae,
+ /* 2nd byte: 68 */ 0x9673,
+ /* 2nd byte: 69 */ 0x6d25,
+ /* 2nd byte: 70 */ 0x589c,
+ /* 2nd byte: 71 */ 0x690e,
+ /* 2nd byte: 72 */ 0x69cc,
+ /* 2nd byte: 73 */ 0x8ffd,
+ /* 2nd byte: 74 */ 0x939a,
+ /* 2nd byte: 75 */ 0x75db,
+ /* 2nd byte: 76 */ 0x901a,
+ /* 2nd byte: 77 */ 0x585a,
+ /* 2nd byte: 78 */ 0x6802,
+ /* 2nd byte: 79 */ 0x63b4,
+ /* 2nd byte: 80 */ 0x69fb,
+ /* 2nd byte: 81 */ 0x4f43,
+ /* 2nd byte: 82 */ 0x6f2c,
+ /* 2nd byte: 83 */ 0x67d8,
+ /* 2nd byte: 84 */ 0x8fbb,
+ /* 2nd byte: 85 */ 0x8526,
+ /* 2nd byte: 86 */ 0x7db4,
+ /* 2nd byte: 87 */ 0x9354,
+ /* 2nd byte: 88 */ 0x693f,
+ /* 2nd byte: 89 */ 0x6f70,
+ /* 2nd byte: 90 */ 0x576a,
+ /* 2nd byte: 91 */ 0x58f7,
+ /* 2nd byte: 92 */ 0x5b2c,
+ /* 2nd byte: 93 */ 0x7d2c,
+ /* 2nd byte: 94 */ 0x722a,
+ /* 2nd byte: 95 */ 0x540a,
+ /* 2nd byte: 96 */ 0x91e3,
+ /* 2nd byte: 97 */ 0x9db4,
+ /* 2nd byte: 98 */ 0x4ead,
+ /* 2nd byte: 99 */ 0x4f4e,
+ /* 2nd byte: 100 */ 0x505c,
+ /* 2nd byte: 101 */ 0x5075,
+ /* 2nd byte: 102 */ 0x5243,
+ /* 2nd byte: 103 */ 0x8c9e,
+ /* 2nd byte: 104 */ 0x5448,
+ /* 2nd byte: 105 */ 0x5824,
+ /* 2nd byte: 106 */ 0x5b9a,
+ /* 2nd byte: 107 */ 0x5e1d,
+ /* 2nd byte: 108 */ 0x5e95,
+ /* 2nd byte: 109 */ 0x5ead,
+ /* 2nd byte: 110 */ 0x5ef7,
+ /* 2nd byte: 111 */ 0x5f1f,
+ /* 2nd byte: 112 */ 0x608c,
+ /* 2nd byte: 113 */ 0x62b5,
+ /* 2nd byte: 114 */ 0x633a,
+ /* 2nd byte: 115 */ 0x63d0,
+ /* 2nd byte: 116 */ 0x68af,
+ /* 2nd byte: 117 */ 0x6c40,
+ /* 2nd byte: 118 */ 0x7887,
+ /* 2nd byte: 119 */ 0x798e,
+ /* 2nd byte: 120 */ 0x7a0b,
+ /* 2nd byte: 121 */ 0x7de0,
+ /* 2nd byte: 122 */ 0x8247,
+ /* 2nd byte: 123 */ 0x8a02,
+ /* 2nd byte: 124 */ 0x8ae6,
+ /* 2nd byte: 125 */ 0x8e44,
+ /* 2nd byte: 126 */ 0x9013},
+/* 1st byte: 69 */ {
+ /* 2nd byte: 33 */ 0x90b8,
+ /* 2nd byte: 34 */ 0x912d,
+ /* 2nd byte: 35 */ 0x91d8,
+ /* 2nd byte: 36 */ 0x9f0e,
+ /* 2nd byte: 37 */ 0x6ce5,
+ /* 2nd byte: 38 */ 0x6458,
+ /* 2nd byte: 39 */ 0x64e2,
+ /* 2nd byte: 40 */ 0x6575,
+ /* 2nd byte: 41 */ 0x6ef4,
+ /* 2nd byte: 42 */ 0x7684,
+ /* 2nd byte: 43 */ 0x7b1b,
+ /* 2nd byte: 44 */ 0x9069,
+ /* 2nd byte: 45 */ 0x93d1,
+ /* 2nd byte: 46 */ 0x6eba,
+ /* 2nd byte: 47 */ 0x54f2,
+ /* 2nd byte: 48 */ 0x5fb9,
+ /* 2nd byte: 49 */ 0x64a4,
+ /* 2nd byte: 50 */ 0x8f4d,
+ /* 2nd byte: 51 */ 0x8fed,
+ /* 2nd byte: 52 */ 0x9244,
+ /* 2nd byte: 53 */ 0x5178,
+ /* 2nd byte: 54 */ 0x586b,
+ /* 2nd byte: 55 */ 0x5929,
+ /* 2nd byte: 56 */ 0x5c55,
+ /* 2nd byte: 57 */ 0x5e97,
+ /* 2nd byte: 58 */ 0x6dfb,
+ /* 2nd byte: 59 */ 0x7e8f,
+ /* 2nd byte: 60 */ 0x751c,
+ /* 2nd byte: 61 */ 0x8cbc,
+ /* 2nd byte: 62 */ 0x8ee2,
+ /* 2nd byte: 63 */ 0x985b,
+ /* 2nd byte: 64 */ 0x70b9,
+ /* 2nd byte: 65 */ 0x4f1d,
+ /* 2nd byte: 66 */ 0x6bbf,
+ /* 2nd byte: 67 */ 0x6fb1,
+ /* 2nd byte: 68 */ 0x7530,
+ /* 2nd byte: 69 */ 0x96fb,
+ /* 2nd byte: 70 */ 0x514e,
+ /* 2nd byte: 71 */ 0x5410,
+ /* 2nd byte: 72 */ 0x5835,
+ /* 2nd byte: 73 */ 0x5857,
+ /* 2nd byte: 74 */ 0x59ac,
+ /* 2nd byte: 75 */ 0x5c60,
+ /* 2nd byte: 76 */ 0x5f92,
+ /* 2nd byte: 77 */ 0x6597,
+ /* 2nd byte: 78 */ 0x675c,
+ /* 2nd byte: 79 */ 0x6e21,
+ /* 2nd byte: 80 */ 0x767b,
+ /* 2nd byte: 81 */ 0x83df,
+ /* 2nd byte: 82 */ 0x8ced,
+ /* 2nd byte: 83 */ 0x9014,
+ /* 2nd byte: 84 */ 0x90fd,
+ /* 2nd byte: 85 */ 0x934d,
+ /* 2nd byte: 86 */ 0x7825,
+ /* 2nd byte: 87 */ 0x783a,
+ /* 2nd byte: 88 */ 0x52aa,
+ /* 2nd byte: 89 */ 0x5ea6,
+ /* 2nd byte: 90 */ 0x571f,
+ /* 2nd byte: 91 */ 0x5974,
+ /* 2nd byte: 92 */ 0x6012,
+ /* 2nd byte: 93 */ 0x5012,
+ /* 2nd byte: 94 */ 0x515a,
+ /* 2nd byte: 95 */ 0x51ac,
+ /* 2nd byte: 96 */ 0x51cd,
+ /* 2nd byte: 97 */ 0x5200,
+ /* 2nd byte: 98 */ 0x5510,
+ /* 2nd byte: 99 */ 0x5854,
+ /* 2nd byte: 100 */ 0x5858,
+ /* 2nd byte: 101 */ 0x5957,
+ /* 2nd byte: 102 */ 0x5b95,
+ /* 2nd byte: 103 */ 0x5cf6,
+ /* 2nd byte: 104 */ 0x5d8b,
+ /* 2nd byte: 105 */ 0x60bc,
+ /* 2nd byte: 106 */ 0x6295,
+ /* 2nd byte: 107 */ 0x642d,
+ /* 2nd byte: 108 */ 0x6771,
+ /* 2nd byte: 109 */ 0x6843,
+ /* 2nd byte: 110 */ 0x68bc,
+ /* 2nd byte: 111 */ 0x68df,
+ /* 2nd byte: 112 */ 0x76d7,
+ /* 2nd byte: 113 */ 0x6dd8,
+ /* 2nd byte: 114 */ 0x6e6f,
+ /* 2nd byte: 115 */ 0x6d9b,
+ /* 2nd byte: 116 */ 0x706f,
+ /* 2nd byte: 117 */ 0x71c8,
+ /* 2nd byte: 118 */ 0x5f53,
+ /* 2nd byte: 119 */ 0x75d8,
+ /* 2nd byte: 120 */ 0x7977,
+ /* 2nd byte: 121 */ 0x7b49,
+ /* 2nd byte: 122 */ 0x7b54,
+ /* 2nd byte: 123 */ 0x7b52,
+ /* 2nd byte: 124 */ 0x7cd6,
+ /* 2nd byte: 125 */ 0x7d71,
+ /* 2nd byte: 126 */ 0x5230},
+/* 1st byte: 70 */ {
+ /* 2nd byte: 33 */ 0x8463,
+ /* 2nd byte: 34 */ 0x8569,
+ /* 2nd byte: 35 */ 0x85e4,
+ /* 2nd byte: 36 */ 0x8a0e,
+ /* 2nd byte: 37 */ 0x8b04,
+ /* 2nd byte: 38 */ 0x8c46,
+ /* 2nd byte: 39 */ 0x8e0f,
+ /* 2nd byte: 40 */ 0x9003,
+ /* 2nd byte: 41 */ 0x900f,
+ /* 2nd byte: 42 */ 0x9419,
+ /* 2nd byte: 43 */ 0x9676,
+ /* 2nd byte: 44 */ 0x982d,
+ /* 2nd byte: 45 */ 0x9a30,
+ /* 2nd byte: 46 */ 0x95d8,
+ /* 2nd byte: 47 */ 0x50cd,
+ /* 2nd byte: 48 */ 0x52d5,
+ /* 2nd byte: 49 */ 0x540c,
+ /* 2nd byte: 50 */ 0x5802,
+ /* 2nd byte: 51 */ 0x5c0e,
+ /* 2nd byte: 52 */ 0x61a7,
+ /* 2nd byte: 53 */ 0x649e,
+ /* 2nd byte: 54 */ 0x6d1e,
+ /* 2nd byte: 55 */ 0x77b3,
+ /* 2nd byte: 56 */ 0x7ae5,
+ /* 2nd byte: 57 */ 0x80f4,
+ /* 2nd byte: 58 */ 0x8404,
+ /* 2nd byte: 59 */ 0x9053,
+ /* 2nd byte: 60 */ 0x9285,
+ /* 2nd byte: 61 */ 0x5ce0,
+ /* 2nd byte: 62 */ 0x9d07,
+ /* 2nd byte: 63 */ 0x533f,
+ /* 2nd byte: 64 */ 0x5f97,
+ /* 2nd byte: 65 */ 0x5fb3,
+ /* 2nd byte: 66 */ 0x6d9c,
+ /* 2nd byte: 67 */ 0x7279,
+ /* 2nd byte: 68 */ 0x7763,
+ /* 2nd byte: 69 */ 0x79bf,
+ /* 2nd byte: 70 */ 0x7be4,
+ /* 2nd byte: 71 */ 0x6bd2,
+ /* 2nd byte: 72 */ 0x72ec,
+ /* 2nd byte: 73 */ 0x8aad,
+ /* 2nd byte: 74 */ 0x6803,
+ /* 2nd byte: 75 */ 0x6a61,
+ /* 2nd byte: 76 */ 0x51f8,
+ /* 2nd byte: 77 */ 0x7a81,
+ /* 2nd byte: 78 */ 0x6934,
+ /* 2nd byte: 79 */ 0x5c4a,
+ /* 2nd byte: 80 */ 0x9cf6,
+ /* 2nd byte: 81 */ 0x82eb,
+ /* 2nd byte: 82 */ 0x5bc5,
+ /* 2nd byte: 83 */ 0x9149,
+ /* 2nd byte: 84 */ 0x701e,
+ /* 2nd byte: 85 */ 0x5678,
+ /* 2nd byte: 86 */ 0x5c6f,
+ /* 2nd byte: 87 */ 0x60c7,
+ /* 2nd byte: 88 */ 0x6566,
+ /* 2nd byte: 89 */ 0x6c8c,
+ /* 2nd byte: 90 */ 0x8c5a,
+ /* 2nd byte: 91 */ 0x9041,
+ /* 2nd byte: 92 */ 0x9813,
+ /* 2nd byte: 93 */ 0x5451,
+ /* 2nd byte: 94 */ 0x66c7,
+ /* 2nd byte: 95 */ 0x920d,
+ /* 2nd byte: 96 */ 0x5948,
+ /* 2nd byte: 97 */ 0x90a3,
+ /* 2nd byte: 98 */ 0x5185,
+ /* 2nd byte: 99 */ 0x4e4d,
+ /* 2nd byte: 100 */ 0x51ea,
+ /* 2nd byte: 101 */ 0x8599,
+ /* 2nd byte: 102 */ 0x8b0e,
+ /* 2nd byte: 103 */ 0x7058,
+ /* 2nd byte: 104 */ 0x637a,
+ /* 2nd byte: 105 */ 0x934b,
+ /* 2nd byte: 106 */ 0x6962,
+ /* 2nd byte: 107 */ 0x99b4,
+ /* 2nd byte: 108 */ 0x7e04,
+ /* 2nd byte: 109 */ 0x7577,
+ /* 2nd byte: 110 */ 0x5357,
+ /* 2nd byte: 111 */ 0x6960,
+ /* 2nd byte: 112 */ 0x8edf,
+ /* 2nd byte: 113 */ 0x96e3,
+ /* 2nd byte: 114 */ 0x6c5d,
+ /* 2nd byte: 115 */ 0x4e8c,
+ /* 2nd byte: 116 */ 0x5c3c,
+ /* 2nd byte: 117 */ 0x5f10,
+ /* 2nd byte: 118 */ 0x8fe9,
+ /* 2nd byte: 119 */ 0x5302,
+ /* 2nd byte: 120 */ 0x8cd1,
+ /* 2nd byte: 121 */ 0x8089,
+ /* 2nd byte: 122 */ 0x8679,
+ /* 2nd byte: 123 */ 0x5eff,
+ /* 2nd byte: 124 */ 0x65e5,
+ /* 2nd byte: 125 */ 0x4e73,
+ /* 2nd byte: 126 */ 0x5165},
+/* 1st byte: 71 */ {
+ /* 2nd byte: 33 */ 0x5982,
+ /* 2nd byte: 34 */ 0x5c3f,
+ /* 2nd byte: 35 */ 0x97ee,
+ /* 2nd byte: 36 */ 0x4efb,
+ /* 2nd byte: 37 */ 0x598a,
+ /* 2nd byte: 38 */ 0x5fcd,
+ /* 2nd byte: 39 */ 0x8a8d,
+ /* 2nd byte: 40 */ 0x6fe1,
+ /* 2nd byte: 41 */ 0x79b0,
+ /* 2nd byte: 42 */ 0x7962,
+ /* 2nd byte: 43 */ 0x5be7,
+ /* 2nd byte: 44 */ 0x8471,
+ /* 2nd byte: 45 */ 0x732b,
+ /* 2nd byte: 46 */ 0x71b1,
+ /* 2nd byte: 47 */ 0x5e74,
+ /* 2nd byte: 48 */ 0x5ff5,
+ /* 2nd byte: 49 */ 0x637b,
+ /* 2nd byte: 50 */ 0x649a,
+ /* 2nd byte: 51 */ 0x71c3,
+ /* 2nd byte: 52 */ 0x7c98,
+ /* 2nd byte: 53 */ 0x4e43,
+ /* 2nd byte: 54 */ 0x5efc,
+ /* 2nd byte: 55 */ 0x4e4b,
+ /* 2nd byte: 56 */ 0x57dc,
+ /* 2nd byte: 57 */ 0x56a2,
+ /* 2nd byte: 58 */ 0x60a9,
+ /* 2nd byte: 59 */ 0x6fc3,
+ /* 2nd byte: 60 */ 0x7d0d,
+ /* 2nd byte: 61 */ 0x80fd,
+ /* 2nd byte: 62 */ 0x8133,
+ /* 2nd byte: 63 */ 0x81bf,
+ /* 2nd byte: 64 */ 0x8fb2,
+ /* 2nd byte: 65 */ 0x8997,
+ /* 2nd byte: 66 */ 0x86a4,
+ /* 2nd byte: 67 */ 0x5df4,
+ /* 2nd byte: 68 */ 0x628a,
+ /* 2nd byte: 69 */ 0x64ad,
+ /* 2nd byte: 70 */ 0x8987,
+ /* 2nd byte: 71 */ 0x6777,
+ /* 2nd byte: 72 */ 0x6ce2,
+ /* 2nd byte: 73 */ 0x6d3e,
+ /* 2nd byte: 74 */ 0x7436,
+ /* 2nd byte: 75 */ 0x7834,
+ /* 2nd byte: 76 */ 0x5a46,
+ /* 2nd byte: 77 */ 0x7f75,
+ /* 2nd byte: 78 */ 0x82ad,
+ /* 2nd byte: 79 */ 0x99ac,
+ /* 2nd byte: 80 */ 0x4ff3,
+ /* 2nd byte: 81 */ 0x5ec3,
+ /* 2nd byte: 82 */ 0x62dd,
+ /* 2nd byte: 83 */ 0x6392,
+ /* 2nd byte: 84 */ 0x6557,
+ /* 2nd byte: 85 */ 0x676f,
+ /* 2nd byte: 86 */ 0x76c3,
+ /* 2nd byte: 87 */ 0x724c,
+ /* 2nd byte: 88 */ 0x80cc,
+ /* 2nd byte: 89 */ 0x80ba,
+ /* 2nd byte: 90 */ 0x8f29,
+ /* 2nd byte: 91 */ 0x914d,
+ /* 2nd byte: 92 */ 0x500d,
+ /* 2nd byte: 93 */ 0x57f9,
+ /* 2nd byte: 94 */ 0x5a92,
+ /* 2nd byte: 95 */ 0x6885,
+ /* 2nd byte: 96 */ 0x6973,
+ /* 2nd byte: 97 */ 0x7164,
+ /* 2nd byte: 98 */ 0x72fd,
+ /* 2nd byte: 99 */ 0x8cb7,
+ /* 2nd byte: 100 */ 0x58f2,
+ /* 2nd byte: 101 */ 0x8ce0,
+ /* 2nd byte: 102 */ 0x966a,
+ /* 2nd byte: 103 */ 0x9019,
+ /* 2nd byte: 104 */ 0x877f,
+ /* 2nd byte: 105 */ 0x79e4,
+ /* 2nd byte: 106 */ 0x77e7,
+ /* 2nd byte: 107 */ 0x8429,
+ /* 2nd byte: 108 */ 0x4f2f,
+ /* 2nd byte: 109 */ 0x5265,
+ /* 2nd byte: 110 */ 0x535a,
+ /* 2nd byte: 111 */ 0x62cd,
+ /* 2nd byte: 112 */ 0x67cf,
+ /* 2nd byte: 113 */ 0x6cca,
+ /* 2nd byte: 114 */ 0x767d,
+ /* 2nd byte: 115 */ 0x7b94,
+ /* 2nd byte: 116 */ 0x7c95,
+ /* 2nd byte: 117 */ 0x8236,
+ /* 2nd byte: 118 */ 0x8584,
+ /* 2nd byte: 119 */ 0x8feb,
+ /* 2nd byte: 120 */ 0x66dd,
+ /* 2nd byte: 121 */ 0x6f20,
+ /* 2nd byte: 122 */ 0x7206,
+ /* 2nd byte: 123 */ 0x7e1b,
+ /* 2nd byte: 124 */ 0x83ab,
+ /* 2nd byte: 125 */ 0x99c1,
+ /* 2nd byte: 126 */ 0x9ea6},
+/* 1st byte: 72 */ {
+ /* 2nd byte: 33 */ 0x51fd,
+ /* 2nd byte: 34 */ 0x7bb1,
+ /* 2nd byte: 35 */ 0x7872,
+ /* 2nd byte: 36 */ 0x7bb8,
+ /* 2nd byte: 37 */ 0x8087,
+ /* 2nd byte: 38 */ 0x7b48,
+ /* 2nd byte: 39 */ 0x6ae8,
+ /* 2nd byte: 40 */ 0x5e61,
+ /* 2nd byte: 41 */ 0x808c,
+ /* 2nd byte: 42 */ 0x7551,
+ /* 2nd byte: 43 */ 0x7560,
+ /* 2nd byte: 44 */ 0x516b,
+ /* 2nd byte: 45 */ 0x9262,
+ /* 2nd byte: 46 */ 0x6e8c,
+ /* 2nd byte: 47 */ 0x767a,
+ /* 2nd byte: 48 */ 0x9197,
+ /* 2nd byte: 49 */ 0x9aea,
+ /* 2nd byte: 50 */ 0x4f10,
+ /* 2nd byte: 51 */ 0x7f70,
+ /* 2nd byte: 52 */ 0x629c,
+ /* 2nd byte: 53 */ 0x7b4f,
+ /* 2nd byte: 54 */ 0x95a5,
+ /* 2nd byte: 55 */ 0x9ce9,
+ /* 2nd byte: 56 */ 0x567a,
+ /* 2nd byte: 57 */ 0x5859,
+ /* 2nd byte: 58 */ 0x86e4,
+ /* 2nd byte: 59 */ 0x96bc,
+ /* 2nd byte: 60 */ 0x4f34,
+ /* 2nd byte: 61 */ 0x5224,
+ /* 2nd byte: 62 */ 0x534a,
+ /* 2nd byte: 63 */ 0x53cd,
+ /* 2nd byte: 64 */ 0x53db,
+ /* 2nd byte: 65 */ 0x5e06,
+ /* 2nd byte: 66 */ 0x642c,
+ /* 2nd byte: 67 */ 0x6591,
+ /* 2nd byte: 68 */ 0x677f,
+ /* 2nd byte: 69 */ 0x6c3e,
+ /* 2nd byte: 70 */ 0x6c4e,
+ /* 2nd byte: 71 */ 0x7248,
+ /* 2nd byte: 72 */ 0x72af,
+ /* 2nd byte: 73 */ 0x73ed,
+ /* 2nd byte: 74 */ 0x7554,
+ /* 2nd byte: 75 */ 0x7e41,
+ /* 2nd byte: 76 */ 0x822c,
+ /* 2nd byte: 77 */ 0x85e9,
+ /* 2nd byte: 78 */ 0x8ca9,
+ /* 2nd byte: 79 */ 0x7bc4,
+ /* 2nd byte: 80 */ 0x91c6,
+ /* 2nd byte: 81 */ 0x7169,
+ /* 2nd byte: 82 */ 0x9812,
+ /* 2nd byte: 83 */ 0x98ef,
+ /* 2nd byte: 84 */ 0x633d,
+ /* 2nd byte: 85 */ 0x6669,
+ /* 2nd byte: 86 */ 0x756a,
+ /* 2nd byte: 87 */ 0x76e4,
+ /* 2nd byte: 88 */ 0x78d0,
+ /* 2nd byte: 89 */ 0x8543,
+ /* 2nd byte: 90 */ 0x86ee,
+ /* 2nd byte: 91 */ 0x532a,
+ /* 2nd byte: 92 */ 0x5351,
+ /* 2nd byte: 93 */ 0x5426,
+ /* 2nd byte: 94 */ 0x5983,
+ /* 2nd byte: 95 */ 0x5e87,
+ /* 2nd byte: 96 */ 0x5f7c,
+ /* 2nd byte: 97 */ 0x60b2,
+ /* 2nd byte: 98 */ 0x6249,
+ /* 2nd byte: 99 */ 0x6279,
+ /* 2nd byte: 100 */ 0x62ab,
+ /* 2nd byte: 101 */ 0x6590,
+ /* 2nd byte: 102 */ 0x6bd4,
+ /* 2nd byte: 103 */ 0x6ccc,
+ /* 2nd byte: 104 */ 0x75b2,
+ /* 2nd byte: 105 */ 0x76ae,
+ /* 2nd byte: 106 */ 0x7891,
+ /* 2nd byte: 107 */ 0x79d8,
+ /* 2nd byte: 108 */ 0x7dcb,
+ /* 2nd byte: 109 */ 0x7f77,
+ /* 2nd byte: 110 */ 0x80a5,
+ /* 2nd byte: 111 */ 0x88ab,
+ /* 2nd byte: 112 */ 0x8ab9,
+ /* 2nd byte: 113 */ 0x8cbb,
+ /* 2nd byte: 114 */ 0x907f,
+ /* 2nd byte: 115 */ 0x975e,
+ /* 2nd byte: 116 */ 0x98db,
+ /* 2nd byte: 117 */ 0x6a0b,
+ /* 2nd byte: 118 */ 0x7c38,
+ /* 2nd byte: 119 */ 0x5099,
+ /* 2nd byte: 120 */ 0x5c3e,
+ /* 2nd byte: 121 */ 0x5fae,
+ /* 2nd byte: 122 */ 0x6787,
+ /* 2nd byte: 123 */ 0x6bd8,
+ /* 2nd byte: 124 */ 0x7435,
+ /* 2nd byte: 125 */ 0x7709,
+ /* 2nd byte: 126 */ 0x7f8e},
+/* 1st byte: 73 */ {
+ /* 2nd byte: 33 */ 0x9f3b,
+ /* 2nd byte: 34 */ 0x67ca,
+ /* 2nd byte: 35 */ 0x7a17,
+ /* 2nd byte: 36 */ 0x5339,
+ /* 2nd byte: 37 */ 0x758b,
+ /* 2nd byte: 38 */ 0x9aed,
+ /* 2nd byte: 39 */ 0x5f66,
+ /* 2nd byte: 40 */ 0x819d,
+ /* 2nd byte: 41 */ 0x83f1,
+ /* 2nd byte: 42 */ 0x8098,
+ /* 2nd byte: 43 */ 0x5f3c,
+ /* 2nd byte: 44 */ 0x5fc5,
+ /* 2nd byte: 45 */ 0x7562,
+ /* 2nd byte: 46 */ 0x7b46,
+ /* 2nd byte: 47 */ 0x903c,
+ /* 2nd byte: 48 */ 0x6867,
+ /* 2nd byte: 49 */ 0x59eb,
+ /* 2nd byte: 50 */ 0x5a9b,
+ /* 2nd byte: 51 */ 0x7d10,
+ /* 2nd byte: 52 */ 0x767e,
+ /* 2nd byte: 53 */ 0x8b2c,
+ /* 2nd byte: 54 */ 0x4ff5,
+ /* 2nd byte: 55 */ 0x5f6a,
+ /* 2nd byte: 56 */ 0x6a19,
+ /* 2nd byte: 57 */ 0x6c37,
+ /* 2nd byte: 58 */ 0x6f02,
+ /* 2nd byte: 59 */ 0x74e2,
+ /* 2nd byte: 60 */ 0x7968,
+ /* 2nd byte: 61 */ 0x8868,
+ /* 2nd byte: 62 */ 0x8a55,
+ /* 2nd byte: 63 */ 0x8c79,
+ /* 2nd byte: 64 */ 0x5edf,
+ /* 2nd byte: 65 */ 0x63cf,
+ /* 2nd byte: 66 */ 0x75c5,
+ /* 2nd byte: 67 */ 0x79d2,
+ /* 2nd byte: 68 */ 0x82d7,
+ /* 2nd byte: 69 */ 0x9328,
+ /* 2nd byte: 70 */ 0x92f2,
+ /* 2nd byte: 71 */ 0x849c,
+ /* 2nd byte: 72 */ 0x86ed,
+ /* 2nd byte: 73 */ 0x9c2d,
+ /* 2nd byte: 74 */ 0x54c1,
+ /* 2nd byte: 75 */ 0x5f6c,
+ /* 2nd byte: 76 */ 0x658c,
+ /* 2nd byte: 77 */ 0x6d5c,
+ /* 2nd byte: 78 */ 0x7015,
+ /* 2nd byte: 79 */ 0x8ca7,
+ /* 2nd byte: 80 */ 0x8cd3,
+ /* 2nd byte: 81 */ 0x983b,
+ /* 2nd byte: 82 */ 0x654f,
+ /* 2nd byte: 83 */ 0x74f6,
+ /* 2nd byte: 84 */ 0x4e0d,
+ /* 2nd byte: 85 */ 0x4ed8,
+ /* 2nd byte: 86 */ 0x57e0,
+ /* 2nd byte: 87 */ 0x592b,
+ /* 2nd byte: 88 */ 0x5a66,
+ /* 2nd byte: 89 */ 0x5bcc,
+ /* 2nd byte: 90 */ 0x51a8,
+ /* 2nd byte: 91 */ 0x5e03,
+ /* 2nd byte: 92 */ 0x5e9c,
+ /* 2nd byte: 93 */ 0x6016,
+ /* 2nd byte: 94 */ 0x6276,
+ /* 2nd byte: 95 */ 0x6577,
+ /* 2nd byte: 96 */ 0x65a7,
+ /* 2nd byte: 97 */ 0x666e,
+ /* 2nd byte: 98 */ 0x6d6e,
+ /* 2nd byte: 99 */ 0x7236,
+ /* 2nd byte: 100 */ 0x7b26,
+ /* 2nd byte: 101 */ 0x8150,
+ /* 2nd byte: 102 */ 0x819a,
+ /* 2nd byte: 103 */ 0x8299,
+ /* 2nd byte: 104 */ 0x8b5c,
+ /* 2nd byte: 105 */ 0x8ca0,
+ /* 2nd byte: 106 */ 0x8ce6,
+ /* 2nd byte: 107 */ 0x8d74,
+ /* 2nd byte: 108 */ 0x961c,
+ /* 2nd byte: 109 */ 0x9644,
+ /* 2nd byte: 110 */ 0x4fae,
+ /* 2nd byte: 111 */ 0x64ab,
+ /* 2nd byte: 112 */ 0x6b66,
+ /* 2nd byte: 113 */ 0x821e,
+ /* 2nd byte: 114 */ 0x8461,
+ /* 2nd byte: 115 */ 0x856a,
+ /* 2nd byte: 116 */ 0x90e8,
+ /* 2nd byte: 117 */ 0x5c01,
+ /* 2nd byte: 118 */ 0x6953,
+ /* 2nd byte: 119 */ 0x98a8,
+ /* 2nd byte: 120 */ 0x847a,
+ /* 2nd byte: 121 */ 0x8557,
+ /* 2nd byte: 122 */ 0x4f0f,
+ /* 2nd byte: 123 */ 0x526f,
+ /* 2nd byte: 124 */ 0x5fa9,
+ /* 2nd byte: 125 */ 0x5e45,
+ /* 2nd byte: 126 */ 0x670d},
+/* 1st byte: 74 */ {
+ /* 2nd byte: 33 */ 0x798f,
+ /* 2nd byte: 34 */ 0x8179,
+ /* 2nd byte: 35 */ 0x8907,
+ /* 2nd byte: 36 */ 0x8986,
+ /* 2nd byte: 37 */ 0x6df5,
+ /* 2nd byte: 38 */ 0x5f17,
+ /* 2nd byte: 39 */ 0x6255,
+ /* 2nd byte: 40 */ 0x6cb8,
+ /* 2nd byte: 41 */ 0x4ecf,
+ /* 2nd byte: 42 */ 0x7269,
+ /* 2nd byte: 43 */ 0x9b92,
+ /* 2nd byte: 44 */ 0x5206,
+ /* 2nd byte: 45 */ 0x543b,
+ /* 2nd byte: 46 */ 0x5674,
+ /* 2nd byte: 47 */ 0x58b3,
+ /* 2nd byte: 48 */ 0x61a4,
+ /* 2nd byte: 49 */ 0x626e,
+ /* 2nd byte: 50 */ 0x711a,
+ /* 2nd byte: 51 */ 0x596e,
+ /* 2nd byte: 52 */ 0x7c89,
+ /* 2nd byte: 53 */ 0x7cde,
+ /* 2nd byte: 54 */ 0x7d1b,
+ /* 2nd byte: 55 */ 0x96f0,
+ /* 2nd byte: 56 */ 0x6587,
+ /* 2nd byte: 57 */ 0x805e,
+ /* 2nd byte: 58 */ 0x4e19,
+ /* 2nd byte: 59 */ 0x4f75,
+ /* 2nd byte: 60 */ 0x5175,
+ /* 2nd byte: 61 */ 0x5840,
+ /* 2nd byte: 62 */ 0x5e63,
+ /* 2nd byte: 63 */ 0x5e73,
+ /* 2nd byte: 64 */ 0x5f0a,
+ /* 2nd byte: 65 */ 0x67c4,
+ /* 2nd byte: 66 */ 0x4e26,
+ /* 2nd byte: 67 */ 0x853d,
+ /* 2nd byte: 68 */ 0x9589,
+ /* 2nd byte: 69 */ 0x965b,
+ /* 2nd byte: 70 */ 0x7c73,
+ /* 2nd byte: 71 */ 0x9801,
+ /* 2nd byte: 72 */ 0x50fb,
+ /* 2nd byte: 73 */ 0x58c1,
+ /* 2nd byte: 74 */ 0x7656,
+ /* 2nd byte: 75 */ 0x78a7,
+ /* 2nd byte: 76 */ 0x5225,
+ /* 2nd byte: 77 */ 0x77a5,
+ /* 2nd byte: 78 */ 0x8511,
+ /* 2nd byte: 79 */ 0x7b86,
+ /* 2nd byte: 80 */ 0x504f,
+ /* 2nd byte: 81 */ 0x5909,
+ /* 2nd byte: 82 */ 0x7247,
+ /* 2nd byte: 83 */ 0x7bc7,
+ /* 2nd byte: 84 */ 0x7de8,
+ /* 2nd byte: 85 */ 0x8fba,
+ /* 2nd byte: 86 */ 0x8fd4,
+ /* 2nd byte: 87 */ 0x904d,
+ /* 2nd byte: 88 */ 0x4fbf,
+ /* 2nd byte: 89 */ 0x52c9,
+ /* 2nd byte: 90 */ 0x5a29,
+ /* 2nd byte: 91 */ 0x5f01,
+ /* 2nd byte: 92 */ 0x97ad,
+ /* 2nd byte: 93 */ 0x4fdd,
+ /* 2nd byte: 94 */ 0x8217,
+ /* 2nd byte: 95 */ 0x92ea,
+ /* 2nd byte: 96 */ 0x5703,
+ /* 2nd byte: 97 */ 0x6355,
+ /* 2nd byte: 98 */ 0x6b69,
+ /* 2nd byte: 99 */ 0x752b,
+ /* 2nd byte: 100 */ 0x88dc,
+ /* 2nd byte: 101 */ 0x8f14,
+ /* 2nd byte: 102 */ 0x7a42,
+ /* 2nd byte: 103 */ 0x52df,
+ /* 2nd byte: 104 */ 0x5893,
+ /* 2nd byte: 105 */ 0x6155,
+ /* 2nd byte: 106 */ 0x620a,
+ /* 2nd byte: 107 */ 0x66ae,
+ /* 2nd byte: 108 */ 0x6bcd,
+ /* 2nd byte: 109 */ 0x7c3f,
+ /* 2nd byte: 110 */ 0x83e9,
+ /* 2nd byte: 111 */ 0x5023,
+ /* 2nd byte: 112 */ 0x4ff8,
+ /* 2nd byte: 113 */ 0x5305,
+ /* 2nd byte: 114 */ 0x5446,
+ /* 2nd byte: 115 */ 0x5831,
+ /* 2nd byte: 116 */ 0x5949,
+ /* 2nd byte: 117 */ 0x5b9d,
+ /* 2nd byte: 118 */ 0x5cf0,
+ /* 2nd byte: 119 */ 0x5cef,
+ /* 2nd byte: 120 */ 0x5d29,
+ /* 2nd byte: 121 */ 0x5e96,
+ /* 2nd byte: 122 */ 0x62b1,
+ /* 2nd byte: 123 */ 0x6367,
+ /* 2nd byte: 124 */ 0x653e,
+ /* 2nd byte: 125 */ 0x65b9,
+ /* 2nd byte: 126 */ 0x670b},
+/* 1st byte: 75 */ {
+ /* 2nd byte: 33 */ 0x6cd5,
+ /* 2nd byte: 34 */ 0x6ce1,
+ /* 2nd byte: 35 */ 0x70f9,
+ /* 2nd byte: 36 */ 0x7832,
+ /* 2nd byte: 37 */ 0x7e2b,
+ /* 2nd byte: 38 */ 0x80de,
+ /* 2nd byte: 39 */ 0x82b3,
+ /* 2nd byte: 40 */ 0x840c,
+ /* 2nd byte: 41 */ 0x84ec,
+ /* 2nd byte: 42 */ 0x8702,
+ /* 2nd byte: 43 */ 0x8912,
+ /* 2nd byte: 44 */ 0x8a2a,
+ /* 2nd byte: 45 */ 0x8c4a,
+ /* 2nd byte: 46 */ 0x90a6,
+ /* 2nd byte: 47 */ 0x92d2,
+ /* 2nd byte: 48 */ 0x98fd,
+ /* 2nd byte: 49 */ 0x9cf3,
+ /* 2nd byte: 50 */ 0x9d6c,
+ /* 2nd byte: 51 */ 0x4e4f,
+ /* 2nd byte: 52 */ 0x4ea1,
+ /* 2nd byte: 53 */ 0x508d,
+ /* 2nd byte: 54 */ 0x5256,
+ /* 2nd byte: 55 */ 0x574a,
+ /* 2nd byte: 56 */ 0x59a8,
+ /* 2nd byte: 57 */ 0x5e3d,
+ /* 2nd byte: 58 */ 0x5fd8,
+ /* 2nd byte: 59 */ 0x5fd9,
+ /* 2nd byte: 60 */ 0x623f,
+ /* 2nd byte: 61 */ 0x66b4,
+ /* 2nd byte: 62 */ 0x671b,
+ /* 2nd byte: 63 */ 0x67d0,
+ /* 2nd byte: 64 */ 0x68d2,
+ /* 2nd byte: 65 */ 0x5192,
+ /* 2nd byte: 66 */ 0x7d21,
+ /* 2nd byte: 67 */ 0x80aa,
+ /* 2nd byte: 68 */ 0x81a8,
+ /* 2nd byte: 69 */ 0x8b00,
+ /* 2nd byte: 70 */ 0x8c8c,
+ /* 2nd byte: 71 */ 0x8cbf,
+ /* 2nd byte: 72 */ 0x927e,
+ /* 2nd byte: 73 */ 0x9632,
+ /* 2nd byte: 74 */ 0x5420,
+ /* 2nd byte: 75 */ 0x982c,
+ /* 2nd byte: 76 */ 0x5317,
+ /* 2nd byte: 77 */ 0x50d5,
+ /* 2nd byte: 78 */ 0x535c,
+ /* 2nd byte: 79 */ 0x58a8,
+ /* 2nd byte: 80 */ 0x64b2,
+ /* 2nd byte: 81 */ 0x6734,
+ /* 2nd byte: 82 */ 0x7267,
+ /* 2nd byte: 83 */ 0x7766,
+ /* 2nd byte: 84 */ 0x7a46,
+ /* 2nd byte: 85 */ 0x91e6,
+ /* 2nd byte: 86 */ 0x52c3,
+ /* 2nd byte: 87 */ 0x6ca1,
+ /* 2nd byte: 88 */ 0x6b86,
+ /* 2nd byte: 89 */ 0x5800,
+ /* 2nd byte: 90 */ 0x5e4c,
+ /* 2nd byte: 91 */ 0x5954,
+ /* 2nd byte: 92 */ 0x672c,
+ /* 2nd byte: 93 */ 0x7ffb,
+ /* 2nd byte: 94 */ 0x51e1,
+ /* 2nd byte: 95 */ 0x76c6,
+ /* 2nd byte: 96 */ 0x6469,
+ /* 2nd byte: 97 */ 0x78e8,
+ /* 2nd byte: 98 */ 0x9b54,
+ /* 2nd byte: 99 */ 0x9ebb,
+ /* 2nd byte: 100 */ 0x57cb,
+ /* 2nd byte: 101 */ 0x59b9,
+ /* 2nd byte: 102 */ 0x6627,
+ /* 2nd byte: 103 */ 0x679a,
+ /* 2nd byte: 104 */ 0x6bce,
+ /* 2nd byte: 105 */ 0x54e9,
+ /* 2nd byte: 106 */ 0x69d9,
+ /* 2nd byte: 107 */ 0x5e55,
+ /* 2nd byte: 108 */ 0x819c,
+ /* 2nd byte: 109 */ 0x6795,
+ /* 2nd byte: 110 */ 0x9baa,
+ /* 2nd byte: 111 */ 0x67fe,
+ /* 2nd byte: 112 */ 0x9c52,
+ /* 2nd byte: 113 */ 0x685d,
+ /* 2nd byte: 114 */ 0x4ea6,
+ /* 2nd byte: 115 */ 0x4fe3,
+ /* 2nd byte: 116 */ 0x53c8,
+ /* 2nd byte: 117 */ 0x62b9,
+ /* 2nd byte: 118 */ 0x672b,
+ /* 2nd byte: 119 */ 0x6cab,
+ /* 2nd byte: 120 */ 0x8fc4,
+ /* 2nd byte: 121 */ 0x4fad,
+ /* 2nd byte: 122 */ 0x7e6d,
+ /* 2nd byte: 123 */ 0x9ebf,
+ /* 2nd byte: 124 */ 0x4e07,
+ /* 2nd byte: 125 */ 0x6162,
+ /* 2nd byte: 126 */ 0x6e80},
+/* 1st byte: 76 */ {
+ /* 2nd byte: 33 */ 0x6f2b,
+ /* 2nd byte: 34 */ 0x8513,
+ /* 2nd byte: 35 */ 0x5473,
+ /* 2nd byte: 36 */ 0x672a,
+ /* 2nd byte: 37 */ 0x9b45,
+ /* 2nd byte: 38 */ 0x5df3,
+ /* 2nd byte: 39 */ 0x7b95,
+ /* 2nd byte: 40 */ 0x5cac,
+ /* 2nd byte: 41 */ 0x5bc6,
+ /* 2nd byte: 42 */ 0x871c,
+ /* 2nd byte: 43 */ 0x6e4a,
+ /* 2nd byte: 44 */ 0x84d1,
+ /* 2nd byte: 45 */ 0x7a14,
+ /* 2nd byte: 46 */ 0x8108,
+ /* 2nd byte: 47 */ 0x5999,
+ /* 2nd byte: 48 */ 0x7c8d,
+ /* 2nd byte: 49 */ 0x6c11,
+ /* 2nd byte: 50 */ 0x7720,
+ /* 2nd byte: 51 */ 0x52d9,
+ /* 2nd byte: 52 */ 0x5922,
+ /* 2nd byte: 53 */ 0x7121,
+ /* 2nd byte: 54 */ 0x725f,
+ /* 2nd byte: 55 */ 0x77db,
+ /* 2nd byte: 56 */ 0x9727,
+ /* 2nd byte: 57 */ 0x9d61,
+ /* 2nd byte: 58 */ 0x690b,
+ /* 2nd byte: 59 */ 0x5a7f,
+ /* 2nd byte: 60 */ 0x5a18,
+ /* 2nd byte: 61 */ 0x51a5,
+ /* 2nd byte: 62 */ 0x540d,
+ /* 2nd byte: 63 */ 0x547d,
+ /* 2nd byte: 64 */ 0x660e,
+ /* 2nd byte: 65 */ 0x76df,
+ /* 2nd byte: 66 */ 0x8ff7,
+ /* 2nd byte: 67 */ 0x9298,
+ /* 2nd byte: 68 */ 0x9cf4,
+ /* 2nd byte: 69 */ 0x59ea,
+ /* 2nd byte: 70 */ 0x725d,
+ /* 2nd byte: 71 */ 0x6ec5,
+ /* 2nd byte: 72 */ 0x514d,
+ /* 2nd byte: 73 */ 0x68c9,
+ /* 2nd byte: 74 */ 0x7dbf,
+ /* 2nd byte: 75 */ 0x7dec,
+ /* 2nd byte: 76 */ 0x9762,
+ /* 2nd byte: 77 */ 0x9eba,
+ /* 2nd byte: 78 */ 0x6478,
+ /* 2nd byte: 79 */ 0x6a21,
+ /* 2nd byte: 80 */ 0x8302,
+ /* 2nd byte: 81 */ 0x5984,
+ /* 2nd byte: 82 */ 0x5b5f,
+ /* 2nd byte: 83 */ 0x6bdb,
+ /* 2nd byte: 84 */ 0x731b,
+ /* 2nd byte: 85 */ 0x76f2,
+ /* 2nd byte: 86 */ 0x7db2,
+ /* 2nd byte: 87 */ 0x8017,
+ /* 2nd byte: 88 */ 0x8499,
+ /* 2nd byte: 89 */ 0x5132,
+ /* 2nd byte: 90 */ 0x6728,
+ /* 2nd byte: 91 */ 0x9ed9,
+ /* 2nd byte: 92 */ 0x76ee,
+ /* 2nd byte: 93 */ 0x6762,
+ /* 2nd byte: 94 */ 0x52ff,
+ /* 2nd byte: 95 */ 0x9905,
+ /* 2nd byte: 96 */ 0x5c24,
+ /* 2nd byte: 97 */ 0x623b,
+ /* 2nd byte: 98 */ 0x7c7e,
+ /* 2nd byte: 99 */ 0x8cb0,
+ /* 2nd byte: 100 */ 0x554f,
+ /* 2nd byte: 101 */ 0x60b6,
+ /* 2nd byte: 102 */ 0x7d0b,
+ /* 2nd byte: 103 */ 0x9580,
+ /* 2nd byte: 104 */ 0x5301,
+ /* 2nd byte: 105 */ 0x4e5f,
+ /* 2nd byte: 106 */ 0x51b6,
+ /* 2nd byte: 107 */ 0x591c,
+ /* 2nd byte: 108 */ 0x723a,
+ /* 2nd byte: 109 */ 0x8036,
+ /* 2nd byte: 110 */ 0x91ce,
+ /* 2nd byte: 111 */ 0x5f25,
+ /* 2nd byte: 112 */ 0x77e2,
+ /* 2nd byte: 113 */ 0x5384,
+ /* 2nd byte: 114 */ 0x5f79,
+ /* 2nd byte: 115 */ 0x7d04,
+ /* 2nd byte: 116 */ 0x85ac,
+ /* 2nd byte: 117 */ 0x8a33,
+ /* 2nd byte: 118 */ 0x8e8d,
+ /* 2nd byte: 119 */ 0x9756,
+ /* 2nd byte: 120 */ 0x67f3,
+ /* 2nd byte: 121 */ 0x85ae,
+ /* 2nd byte: 122 */ 0x9453,
+ /* 2nd byte: 123 */ 0x6109,
+ /* 2nd byte: 124 */ 0x6108,
+ /* 2nd byte: 125 */ 0x6cb9,
+ /* 2nd byte: 126 */ 0x7652},
+/* 1st byte: 77 */ {
+ /* 2nd byte: 33 */ 0x8aed,
+ /* 2nd byte: 34 */ 0x8f38,
+ /* 2nd byte: 35 */ 0x552f,
+ /* 2nd byte: 36 */ 0x4f51,
+ /* 2nd byte: 37 */ 0x512a,
+ /* 2nd byte: 38 */ 0x52c7,
+ /* 2nd byte: 39 */ 0x53cb,
+ /* 2nd byte: 40 */ 0x5ba5,
+ /* 2nd byte: 41 */ 0x5e7d,
+ /* 2nd byte: 42 */ 0x60a0,
+ /* 2nd byte: 43 */ 0x6182,
+ /* 2nd byte: 44 */ 0x63d6,
+ /* 2nd byte: 45 */ 0x6709,
+ /* 2nd byte: 46 */ 0x67da,
+ /* 2nd byte: 47 */ 0x6e67,
+ /* 2nd byte: 48 */ 0x6d8c,
+ /* 2nd byte: 49 */ 0x7336,
+ /* 2nd byte: 50 */ 0x7337,
+ /* 2nd byte: 51 */ 0x7531,
+ /* 2nd byte: 52 */ 0x7950,
+ /* 2nd byte: 53 */ 0x88d5,
+ /* 2nd byte: 54 */ 0x8a98,
+ /* 2nd byte: 55 */ 0x904a,
+ /* 2nd byte: 56 */ 0x9091,
+ /* 2nd byte: 57 */ 0x90f5,
+ /* 2nd byte: 58 */ 0x96c4,
+ /* 2nd byte: 59 */ 0x878d,
+ /* 2nd byte: 60 */ 0x5915,
+ /* 2nd byte: 61 */ 0x4e88,
+ /* 2nd byte: 62 */ 0x4f59,
+ /* 2nd byte: 63 */ 0x4e0e,
+ /* 2nd byte: 64 */ 0x8a89,
+ /* 2nd byte: 65 */ 0x8f3f,
+ /* 2nd byte: 66 */ 0x9810,
+ /* 2nd byte: 67 */ 0x50ad,
+ /* 2nd byte: 68 */ 0x5e7c,
+ /* 2nd byte: 69 */ 0x5996,
+ /* 2nd byte: 70 */ 0x5bb9,
+ /* 2nd byte: 71 */ 0x5eb8,
+ /* 2nd byte: 72 */ 0x63da,
+ /* 2nd byte: 73 */ 0x63fa,
+ /* 2nd byte: 74 */ 0x64c1,
+ /* 2nd byte: 75 */ 0x66dc,
+ /* 2nd byte: 76 */ 0x694a,
+ /* 2nd byte: 77 */ 0x69d8,
+ /* 2nd byte: 78 */ 0x6d0b,
+ /* 2nd byte: 79 */ 0x6eb6,
+ /* 2nd byte: 80 */ 0x7194,
+ /* 2nd byte: 81 */ 0x7528,
+ /* 2nd byte: 82 */ 0x7aaf,
+ /* 2nd byte: 83 */ 0x7f8a,
+ /* 2nd byte: 84 */ 0x8000,
+ /* 2nd byte: 85 */ 0x8449,
+ /* 2nd byte: 86 */ 0x84c9,
+ /* 2nd byte: 87 */ 0x8981,
+ /* 2nd byte: 88 */ 0x8b21,
+ /* 2nd byte: 89 */ 0x8e0a,
+ /* 2nd byte: 90 */ 0x9065,
+ /* 2nd byte: 91 */ 0x967d,
+ /* 2nd byte: 92 */ 0x990a,
+ /* 2nd byte: 93 */ 0x617e,
+ /* 2nd byte: 94 */ 0x6291,
+ /* 2nd byte: 95 */ 0x6b32,
+ /* 2nd byte: 96 */ 0x6c83,
+ /* 2nd byte: 97 */ 0x6d74,
+ /* 2nd byte: 98 */ 0x7fcc,
+ /* 2nd byte: 99 */ 0x7ffc,
+ /* 2nd byte: 100 */ 0x6dc0,
+ /* 2nd byte: 101 */ 0x7f85,
+ /* 2nd byte: 102 */ 0x87ba,
+ /* 2nd byte: 103 */ 0x88f8,
+ /* 2nd byte: 104 */ 0x6765,
+ /* 2nd byte: 105 */ 0x83b1,
+ /* 2nd byte: 106 */ 0x983c,
+ /* 2nd byte: 107 */ 0x96f7,
+ /* 2nd byte: 108 */ 0x6d1b,
+ /* 2nd byte: 109 */ 0x7d61,
+ /* 2nd byte: 110 */ 0x843d,
+ /* 2nd byte: 111 */ 0x916a,
+ /* 2nd byte: 112 */ 0x4e71,
+ /* 2nd byte: 113 */ 0x5375,
+ /* 2nd byte: 114 */ 0x5d50,
+ /* 2nd byte: 115 */ 0x6b04,
+ /* 2nd byte: 116 */ 0x6feb,
+ /* 2nd byte: 117 */ 0x85cd,
+ /* 2nd byte: 118 */ 0x862d,
+ /* 2nd byte: 119 */ 0x89a7,
+ /* 2nd byte: 120 */ 0x5229,
+ /* 2nd byte: 121 */ 0x540f,
+ /* 2nd byte: 122 */ 0x5c65,
+ /* 2nd byte: 123 */ 0x674e,
+ /* 2nd byte: 124 */ 0x68a8,
+ /* 2nd byte: 125 */ 0x7406,
+ /* 2nd byte: 126 */ 0x7483},
+/* 1st byte: 78 */ {
+ /* 2nd byte: 33 */ 0x75e2,
+ /* 2nd byte: 34 */ 0x88cf,
+ /* 2nd byte: 35 */ 0x88e1,
+ /* 2nd byte: 36 */ 0x91cc,
+ /* 2nd byte: 37 */ 0x96e2,
+ /* 2nd byte: 38 */ 0x9678,
+ /* 2nd byte: 39 */ 0x5f8b,
+ /* 2nd byte: 40 */ 0x7387,
+ /* 2nd byte: 41 */ 0x7acb,
+ /* 2nd byte: 42 */ 0x844e,
+ /* 2nd byte: 43 */ 0x63a0,
+ /* 2nd byte: 44 */ 0x7565,
+ /* 2nd byte: 45 */ 0x5289,
+ /* 2nd byte: 46 */ 0x6d41,
+ /* 2nd byte: 47 */ 0x6e9c,
+ /* 2nd byte: 48 */ 0x7409,
+ /* 2nd byte: 49 */ 0x7559,
+ /* 2nd byte: 50 */ 0x786b,
+ /* 2nd byte: 51 */ 0x7c92,
+ /* 2nd byte: 52 */ 0x9686,
+ /* 2nd byte: 53 */ 0x7adc,
+ /* 2nd byte: 54 */ 0x9f8d,
+ /* 2nd byte: 55 */ 0x4fb6,
+ /* 2nd byte: 56 */ 0x616e,
+ /* 2nd byte: 57 */ 0x65c5,
+ /* 2nd byte: 58 */ 0x865c,
+ /* 2nd byte: 59 */ 0x4e86,
+ /* 2nd byte: 60 */ 0x4eae,
+ /* 2nd byte: 61 */ 0x50da,
+ /* 2nd byte: 62 */ 0x4e21,
+ /* 2nd byte: 63 */ 0x51cc,
+ /* 2nd byte: 64 */ 0x5bee,
+ /* 2nd byte: 65 */ 0x6599,
+ /* 2nd byte: 66 */ 0x6881,
+ /* 2nd byte: 67 */ 0x6dbc,
+ /* 2nd byte: 68 */ 0x731f,
+ /* 2nd byte: 69 */ 0x7642,
+ /* 2nd byte: 70 */ 0x77ad,
+ /* 2nd byte: 71 */ 0x7a1c,
+ /* 2nd byte: 72 */ 0x7ce7,
+ /* 2nd byte: 73 */ 0x826f,
+ /* 2nd byte: 74 */ 0x8ad2,
+ /* 2nd byte: 75 */ 0x907c,
+ /* 2nd byte: 76 */ 0x91cf,
+ /* 2nd byte: 77 */ 0x9675,
+ /* 2nd byte: 78 */ 0x9818,
+ /* 2nd byte: 79 */ 0x529b,
+ /* 2nd byte: 80 */ 0x7dd1,
+ /* 2nd byte: 81 */ 0x502b,
+ /* 2nd byte: 82 */ 0x5398,
+ /* 2nd byte: 83 */ 0x6797,
+ /* 2nd byte: 84 */ 0x6dcb,
+ /* 2nd byte: 85 */ 0x71d0,
+ /* 2nd byte: 86 */ 0x7433,
+ /* 2nd byte: 87 */ 0x81e8,
+ /* 2nd byte: 88 */ 0x8f2a,
+ /* 2nd byte: 89 */ 0x96a3,
+ /* 2nd byte: 90 */ 0x9c57,
+ /* 2nd byte: 91 */ 0x9e9f,
+ /* 2nd byte: 92 */ 0x7460,
+ /* 2nd byte: 93 */ 0x5841,
+ /* 2nd byte: 94 */ 0x6d99,
+ /* 2nd byte: 95 */ 0x7d2f,
+ /* 2nd byte: 96 */ 0x985e,
+ /* 2nd byte: 97 */ 0x4ee4,
+ /* 2nd byte: 98 */ 0x4f36,
+ /* 2nd byte: 99 */ 0x4f8b,
+ /* 2nd byte: 100 */ 0x51b7,
+ /* 2nd byte: 101 */ 0x52b1,
+ /* 2nd byte: 102 */ 0x5dba,
+ /* 2nd byte: 103 */ 0x601c,
+ /* 2nd byte: 104 */ 0x73b2,
+ /* 2nd byte: 105 */ 0x793c,
+ /* 2nd byte: 106 */ 0x82d3,
+ /* 2nd byte: 107 */ 0x9234,
+ /* 2nd byte: 108 */ 0x96b7,
+ /* 2nd byte: 109 */ 0x96f6,
+ /* 2nd byte: 110 */ 0x970a,
+ /* 2nd byte: 111 */ 0x9e97,
+ /* 2nd byte: 112 */ 0x9f62,
+ /* 2nd byte: 113 */ 0x66a6,
+ /* 2nd byte: 114 */ 0x6b74,
+ /* 2nd byte: 115 */ 0x5217,
+ /* 2nd byte: 116 */ 0x52a3,
+ /* 2nd byte: 117 */ 0x70c8,
+ /* 2nd byte: 118 */ 0x88c2,
+ /* 2nd byte: 119 */ 0x5ec9,
+ /* 2nd byte: 120 */ 0x604b,
+ /* 2nd byte: 121 */ 0x6190,
+ /* 2nd byte: 122 */ 0x6f23,
+ /* 2nd byte: 123 */ 0x7149,
+ /* 2nd byte: 124 */ 0x7c3e,
+ /* 2nd byte: 125 */ 0x7df4,
+ /* 2nd byte: 126 */ 0x806f},
+/* 1st byte: 79 */ {
+ /* 2nd byte: 33 */ 0x84ee,
+ /* 2nd byte: 34 */ 0x9023,
+ /* 2nd byte: 35 */ 0x932c,
+ /* 2nd byte: 36 */ 0x5442,
+ /* 2nd byte: 37 */ 0x9b6f,
+ /* 2nd byte: 38 */ 0x6ad3,
+ /* 2nd byte: 39 */ 0x7089,
+ /* 2nd byte: 40 */ 0x8cc2,
+ /* 2nd byte: 41 */ 0x8def,
+ /* 2nd byte: 42 */ 0x9732,
+ /* 2nd byte: 43 */ 0x52b4,
+ /* 2nd byte: 44 */ 0x5a41,
+ /* 2nd byte: 45 */ 0x5eca,
+ /* 2nd byte: 46 */ 0x5f04,
+ /* 2nd byte: 47 */ 0x6717,
+ /* 2nd byte: 48 */ 0x697c,
+ /* 2nd byte: 49 */ 0x6994,
+ /* 2nd byte: 50 */ 0x6d6a,
+ /* 2nd byte: 51 */ 0x6f0f,
+ /* 2nd byte: 52 */ 0x7262,
+ /* 2nd byte: 53 */ 0x72fc,
+ /* 2nd byte: 54 */ 0x7bed,
+ /* 2nd byte: 55 */ 0x8001,
+ /* 2nd byte: 56 */ 0x807e,
+ /* 2nd byte: 57 */ 0x874b,
+ /* 2nd byte: 58 */ 0x90ce,
+ /* 2nd byte: 59 */ 0x516d,
+ /* 2nd byte: 60 */ 0x9e93,
+ /* 2nd byte: 61 */ 0x7984,
+ /* 2nd byte: 62 */ 0x808b,
+ /* 2nd byte: 63 */ 0x9332,
+ /* 2nd byte: 64 */ 0x8ad6,
+ /* 2nd byte: 65 */ 0x502d,
+ /* 2nd byte: 66 */ 0x548c,
+ /* 2nd byte: 67 */ 0x8a71,
+ /* 2nd byte: 68 */ 0x6b6a,
+ /* 2nd byte: 69 */ 0x8cc4,
+ /* 2nd byte: 70 */ 0x8107,
+ /* 2nd byte: 71 */ 0x60d1,
+ /* 2nd byte: 72 */ 0x67a0,
+ /* 2nd byte: 73 */ 0x9df2,
+ /* 2nd byte: 74 */ 0x4e99,
+ /* 2nd byte: 75 */ 0x4e98,
+ /* 2nd byte: 76 */ 0x9c10,
+ /* 2nd byte: 77 */ 0x8a6b,
+ /* 2nd byte: 78 */ 0x85c1,
+ /* 2nd byte: 79 */ 0x8568,
+ /* 2nd byte: 80 */ 0x6900,
+ /* 2nd byte: 81 */ 0x6e7e,
+ /* 2nd byte: 82 */ 0x7897,
+ /* 2nd byte: 83 */ 0x8155,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0},
+/* 1st byte: 80 */ {
+ /* 2nd byte: 33 */ 0x5f0c,
+ /* 2nd byte: 34 */ 0x4e10,
+ /* 2nd byte: 35 */ 0x4e15,
+ /* 2nd byte: 36 */ 0x4e2a,
+ /* 2nd byte: 37 */ 0x4e31,
+ /* 2nd byte: 38 */ 0x4e36,
+ /* 2nd byte: 39 */ 0x4e3c,
+ /* 2nd byte: 40 */ 0x4e3f,
+ /* 2nd byte: 41 */ 0x4e42,
+ /* 2nd byte: 42 */ 0x4e56,
+ /* 2nd byte: 43 */ 0x4e58,
+ /* 2nd byte: 44 */ 0x4e82,
+ /* 2nd byte: 45 */ 0x4e85,
+ /* 2nd byte: 46 */ 0x8c6b,
+ /* 2nd byte: 47 */ 0x4e8a,
+ /* 2nd byte: 48 */ 0x8212,
+ /* 2nd byte: 49 */ 0x5f0d,
+ /* 2nd byte: 50 */ 0x4e8e,
+ /* 2nd byte: 51 */ 0x4e9e,
+ /* 2nd byte: 52 */ 0x4e9f,
+ /* 2nd byte: 53 */ 0x4ea0,
+ /* 2nd byte: 54 */ 0x4ea2,
+ /* 2nd byte: 55 */ 0x4eb0,
+ /* 2nd byte: 56 */ 0x4eb3,
+ /* 2nd byte: 57 */ 0x4eb6,
+ /* 2nd byte: 58 */ 0x4ece,
+ /* 2nd byte: 59 */ 0x4ecd,
+ /* 2nd byte: 60 */ 0x4ec4,
+ /* 2nd byte: 61 */ 0x4ec6,
+ /* 2nd byte: 62 */ 0x4ec2,
+ /* 2nd byte: 63 */ 0x4ed7,
+ /* 2nd byte: 64 */ 0x4ede,
+ /* 2nd byte: 65 */ 0x4eed,
+ /* 2nd byte: 66 */ 0x4edf,
+ /* 2nd byte: 67 */ 0x4ef7,
+ /* 2nd byte: 68 */ 0x4f09,
+ /* 2nd byte: 69 */ 0x4f5a,
+ /* 2nd byte: 70 */ 0x4f30,
+ /* 2nd byte: 71 */ 0x4f5b,
+ /* 2nd byte: 72 */ 0x4f5d,
+ /* 2nd byte: 73 */ 0x4f57,
+ /* 2nd byte: 74 */ 0x4f47,
+ /* 2nd byte: 75 */ 0x4f76,
+ /* 2nd byte: 76 */ 0x4f88,
+ /* 2nd byte: 77 */ 0x4f8f,
+ /* 2nd byte: 78 */ 0x4f98,
+ /* 2nd byte: 79 */ 0x4f7b,
+ /* 2nd byte: 80 */ 0x4f69,
+ /* 2nd byte: 81 */ 0x4f70,
+ /* 2nd byte: 82 */ 0x4f91,
+ /* 2nd byte: 83 */ 0x4f6f,
+ /* 2nd byte: 84 */ 0x4f86,
+ /* 2nd byte: 85 */ 0x4f96,
+ /* 2nd byte: 86 */ 0x5118,
+ /* 2nd byte: 87 */ 0x4fd4,
+ /* 2nd byte: 88 */ 0x4fdf,
+ /* 2nd byte: 89 */ 0x4fce,
+ /* 2nd byte: 90 */ 0x4fd8,
+ /* 2nd byte: 91 */ 0x4fdb,
+ /* 2nd byte: 92 */ 0x4fd1,
+ /* 2nd byte: 93 */ 0x4fda,
+ /* 2nd byte: 94 */ 0x4fd0,
+ /* 2nd byte: 95 */ 0x4fe4,
+ /* 2nd byte: 96 */ 0x4fe5,
+ /* 2nd byte: 97 */ 0x501a,
+ /* 2nd byte: 98 */ 0x5028,
+ /* 2nd byte: 99 */ 0x5014,
+ /* 2nd byte: 100 */ 0x502a,
+ /* 2nd byte: 101 */ 0x5025,
+ /* 2nd byte: 102 */ 0x5005,
+ /* 2nd byte: 103 */ 0x4f1c,
+ /* 2nd byte: 104 */ 0x4ff6,
+ /* 2nd byte: 105 */ 0x5021,
+ /* 2nd byte: 106 */ 0x5029,
+ /* 2nd byte: 107 */ 0x502c,
+ /* 2nd byte: 108 */ 0x4ffe,
+ /* 2nd byte: 109 */ 0x4fef,
+ /* 2nd byte: 110 */ 0x5011,
+ /* 2nd byte: 111 */ 0x5006,
+ /* 2nd byte: 112 */ 0x5043,
+ /* 2nd byte: 113 */ 0x5047,
+ /* 2nd byte: 114 */ 0x6703,
+ /* 2nd byte: 115 */ 0x5055,
+ /* 2nd byte: 116 */ 0x5050,
+ /* 2nd byte: 117 */ 0x5048,
+ /* 2nd byte: 118 */ 0x505a,
+ /* 2nd byte: 119 */ 0x5056,
+ /* 2nd byte: 120 */ 0x506c,
+ /* 2nd byte: 121 */ 0x5078,
+ /* 2nd byte: 122 */ 0x5080,
+ /* 2nd byte: 123 */ 0x509a,
+ /* 2nd byte: 124 */ 0x5085,
+ /* 2nd byte: 125 */ 0x50b4,
+ /* 2nd byte: 126 */ 0x50b2},
+/* 1st byte: 81 */ {
+ /* 2nd byte: 33 */ 0x50c9,
+ /* 2nd byte: 34 */ 0x50ca,
+ /* 2nd byte: 35 */ 0x50b3,
+ /* 2nd byte: 36 */ 0x50c2,
+ /* 2nd byte: 37 */ 0x50d6,
+ /* 2nd byte: 38 */ 0x50de,
+ /* 2nd byte: 39 */ 0x50e5,
+ /* 2nd byte: 40 */ 0x50ed,
+ /* 2nd byte: 41 */ 0x50e3,
+ /* 2nd byte: 42 */ 0x50ee,
+ /* 2nd byte: 43 */ 0x50f9,
+ /* 2nd byte: 44 */ 0x50f5,
+ /* 2nd byte: 45 */ 0x5109,
+ /* 2nd byte: 46 */ 0x5101,
+ /* 2nd byte: 47 */ 0x5102,
+ /* 2nd byte: 48 */ 0x5116,
+ /* 2nd byte: 49 */ 0x5115,
+ /* 2nd byte: 50 */ 0x5114,
+ /* 2nd byte: 51 */ 0x511a,
+ /* 2nd byte: 52 */ 0x5121,
+ /* 2nd byte: 53 */ 0x513a,
+ /* 2nd byte: 54 */ 0x5137,
+ /* 2nd byte: 55 */ 0x513c,
+ /* 2nd byte: 56 */ 0x513b,
+ /* 2nd byte: 57 */ 0x513f,
+ /* 2nd byte: 58 */ 0x5140,
+ /* 2nd byte: 59 */ 0x5152,
+ /* 2nd byte: 60 */ 0x514c,
+ /* 2nd byte: 61 */ 0x5154,
+ /* 2nd byte: 62 */ 0x5162,
+ /* 2nd byte: 63 */ 0x7af8,
+ /* 2nd byte: 64 */ 0x5169,
+ /* 2nd byte: 65 */ 0x516a,
+ /* 2nd byte: 66 */ 0x516e,
+ /* 2nd byte: 67 */ 0x5180,
+ /* 2nd byte: 68 */ 0x5182,
+ /* 2nd byte: 69 */ 0x56d8,
+ /* 2nd byte: 70 */ 0x518c,
+ /* 2nd byte: 71 */ 0x5189,
+ /* 2nd byte: 72 */ 0x518f,
+ /* 2nd byte: 73 */ 0x5191,
+ /* 2nd byte: 74 */ 0x5193,
+ /* 2nd byte: 75 */ 0x5195,
+ /* 2nd byte: 76 */ 0x5196,
+ /* 2nd byte: 77 */ 0x51a4,
+ /* 2nd byte: 78 */ 0x51a6,
+ /* 2nd byte: 79 */ 0x51a2,
+ /* 2nd byte: 80 */ 0x51a9,
+ /* 2nd byte: 81 */ 0x51aa,
+ /* 2nd byte: 82 */ 0x51ab,
+ /* 2nd byte: 83 */ 0x51b3,
+ /* 2nd byte: 84 */ 0x51b1,
+ /* 2nd byte: 85 */ 0x51b2,
+ /* 2nd byte: 86 */ 0x51b0,
+ /* 2nd byte: 87 */ 0x51b5,
+ /* 2nd byte: 88 */ 0x51bd,
+ /* 2nd byte: 89 */ 0x51c5,
+ /* 2nd byte: 90 */ 0x51c9,
+ /* 2nd byte: 91 */ 0x51db,
+ /* 2nd byte: 92 */ 0x51e0,
+ /* 2nd byte: 93 */ 0x8655,
+ /* 2nd byte: 94 */ 0x51e9,
+ /* 2nd byte: 95 */ 0x51ed,
+ /* 2nd byte: 96 */ 0x51f0,
+ /* 2nd byte: 97 */ 0x51f5,
+ /* 2nd byte: 98 */ 0x51fe,
+ /* 2nd byte: 99 */ 0x5204,
+ /* 2nd byte: 100 */ 0x520b,
+ /* 2nd byte: 101 */ 0x5214,
+ /* 2nd byte: 102 */ 0x520e,
+ /* 2nd byte: 103 */ 0x5227,
+ /* 2nd byte: 104 */ 0x522a,
+ /* 2nd byte: 105 */ 0x522e,
+ /* 2nd byte: 106 */ 0x5233,
+ /* 2nd byte: 107 */ 0x5239,
+ /* 2nd byte: 108 */ 0x524f,
+ /* 2nd byte: 109 */ 0x5244,
+ /* 2nd byte: 110 */ 0x524b,
+ /* 2nd byte: 111 */ 0x524c,
+ /* 2nd byte: 112 */ 0x525e,
+ /* 2nd byte: 113 */ 0x5254,
+ /* 2nd byte: 114 */ 0x526a,
+ /* 2nd byte: 115 */ 0x5274,
+ /* 2nd byte: 116 */ 0x5269,
+ /* 2nd byte: 117 */ 0x5273,
+ /* 2nd byte: 118 */ 0x527f,
+ /* 2nd byte: 119 */ 0x527d,
+ /* 2nd byte: 120 */ 0x528d,
+ /* 2nd byte: 121 */ 0x5294,
+ /* 2nd byte: 122 */ 0x5292,
+ /* 2nd byte: 123 */ 0x5271,
+ /* 2nd byte: 124 */ 0x5288,
+ /* 2nd byte: 125 */ 0x5291,
+ /* 2nd byte: 126 */ 0x8fa8},
+/* 1st byte: 82 */ {
+ /* 2nd byte: 33 */ 0x8fa7,
+ /* 2nd byte: 34 */ 0x52ac,
+ /* 2nd byte: 35 */ 0x52ad,
+ /* 2nd byte: 36 */ 0x52bc,
+ /* 2nd byte: 37 */ 0x52b5,
+ /* 2nd byte: 38 */ 0x52c1,
+ /* 2nd byte: 39 */ 0x52cd,
+ /* 2nd byte: 40 */ 0x52d7,
+ /* 2nd byte: 41 */ 0x52de,
+ /* 2nd byte: 42 */ 0x52e3,
+ /* 2nd byte: 43 */ 0x52e6,
+ /* 2nd byte: 44 */ 0x98ed,
+ /* 2nd byte: 45 */ 0x52e0,
+ /* 2nd byte: 46 */ 0x52f3,
+ /* 2nd byte: 47 */ 0x52f5,
+ /* 2nd byte: 48 */ 0x52f8,
+ /* 2nd byte: 49 */ 0x52f9,
+ /* 2nd byte: 50 */ 0x5306,
+ /* 2nd byte: 51 */ 0x5308,
+ /* 2nd byte: 52 */ 0x7538,
+ /* 2nd byte: 53 */ 0x530d,
+ /* 2nd byte: 54 */ 0x5310,
+ /* 2nd byte: 55 */ 0x530f,
+ /* 2nd byte: 56 */ 0x5315,
+ /* 2nd byte: 57 */ 0x531a,
+ /* 2nd byte: 58 */ 0x5323,
+ /* 2nd byte: 59 */ 0x532f,
+ /* 2nd byte: 60 */ 0x5331,
+ /* 2nd byte: 61 */ 0x5333,
+ /* 2nd byte: 62 */ 0x5338,
+ /* 2nd byte: 63 */ 0x5340,
+ /* 2nd byte: 64 */ 0x5346,
+ /* 2nd byte: 65 */ 0x5345,
+ /* 2nd byte: 66 */ 0x4e17,
+ /* 2nd byte: 67 */ 0x5349,
+ /* 2nd byte: 68 */ 0x534d,
+ /* 2nd byte: 69 */ 0x51d6,
+ /* 2nd byte: 70 */ 0x535e,
+ /* 2nd byte: 71 */ 0x5369,
+ /* 2nd byte: 72 */ 0x536e,
+ /* 2nd byte: 73 */ 0x5918,
+ /* 2nd byte: 74 */ 0x537b,
+ /* 2nd byte: 75 */ 0x5377,
+ /* 2nd byte: 76 */ 0x5382,
+ /* 2nd byte: 77 */ 0x5396,
+ /* 2nd byte: 78 */ 0x53a0,
+ /* 2nd byte: 79 */ 0x53a6,
+ /* 2nd byte: 80 */ 0x53a5,
+ /* 2nd byte: 81 */ 0x53ae,
+ /* 2nd byte: 82 */ 0x53b0,
+ /* 2nd byte: 83 */ 0x53b6,
+ /* 2nd byte: 84 */ 0x53c3,
+ /* 2nd byte: 85 */ 0x7c12,
+ /* 2nd byte: 86 */ 0x96d9,
+ /* 2nd byte: 87 */ 0x53df,
+ /* 2nd byte: 88 */ 0x66fc,
+ /* 2nd byte: 89 */ 0x71ee,
+ /* 2nd byte: 90 */ 0x53ee,
+ /* 2nd byte: 91 */ 0x53e8,
+ /* 2nd byte: 92 */ 0x53ed,
+ /* 2nd byte: 93 */ 0x53fa,
+ /* 2nd byte: 94 */ 0x5401,
+ /* 2nd byte: 95 */ 0x543d,
+ /* 2nd byte: 96 */ 0x5440,
+ /* 2nd byte: 97 */ 0x542c,
+ /* 2nd byte: 98 */ 0x542d,
+ /* 2nd byte: 99 */ 0x543c,
+ /* 2nd byte: 100 */ 0x542e,
+ /* 2nd byte: 101 */ 0x5436,
+ /* 2nd byte: 102 */ 0x5429,
+ /* 2nd byte: 103 */ 0x541d,
+ /* 2nd byte: 104 */ 0x544e,
+ /* 2nd byte: 105 */ 0x548f,
+ /* 2nd byte: 106 */ 0x5475,
+ /* 2nd byte: 107 */ 0x548e,
+ /* 2nd byte: 108 */ 0x545f,
+ /* 2nd byte: 109 */ 0x5471,
+ /* 2nd byte: 110 */ 0x5477,
+ /* 2nd byte: 111 */ 0x5470,
+ /* 2nd byte: 112 */ 0x5492,
+ /* 2nd byte: 113 */ 0x547b,
+ /* 2nd byte: 114 */ 0x5480,
+ /* 2nd byte: 115 */ 0x5476,
+ /* 2nd byte: 116 */ 0x5484,
+ /* 2nd byte: 117 */ 0x5490,
+ /* 2nd byte: 118 */ 0x5486,
+ /* 2nd byte: 119 */ 0x54c7,
+ /* 2nd byte: 120 */ 0x54a2,
+ /* 2nd byte: 121 */ 0x54b8,
+ /* 2nd byte: 122 */ 0x54a5,
+ /* 2nd byte: 123 */ 0x54ac,
+ /* 2nd byte: 124 */ 0x54c4,
+ /* 2nd byte: 125 */ 0x54c8,
+ /* 2nd byte: 126 */ 0x54a8},
+/* 1st byte: 83 */ {
+ /* 2nd byte: 33 */ 0x54ab,
+ /* 2nd byte: 34 */ 0x54c2,
+ /* 2nd byte: 35 */ 0x54a4,
+ /* 2nd byte: 36 */ 0x54be,
+ /* 2nd byte: 37 */ 0x54bc,
+ /* 2nd byte: 38 */ 0x54d8,
+ /* 2nd byte: 39 */ 0x54e5,
+ /* 2nd byte: 40 */ 0x54e6,
+ /* 2nd byte: 41 */ 0x550f,
+ /* 2nd byte: 42 */ 0x5514,
+ /* 2nd byte: 43 */ 0x54fd,
+ /* 2nd byte: 44 */ 0x54ee,
+ /* 2nd byte: 45 */ 0x54ed,
+ /* 2nd byte: 46 */ 0x54fa,
+ /* 2nd byte: 47 */ 0x54e2,
+ /* 2nd byte: 48 */ 0x5539,
+ /* 2nd byte: 49 */ 0x5540,
+ /* 2nd byte: 50 */ 0x5563,
+ /* 2nd byte: 51 */ 0x554c,
+ /* 2nd byte: 52 */ 0x552e,
+ /* 2nd byte: 53 */ 0x555c,
+ /* 2nd byte: 54 */ 0x5545,
+ /* 2nd byte: 55 */ 0x5556,
+ /* 2nd byte: 56 */ 0x5557,
+ /* 2nd byte: 57 */ 0x5538,
+ /* 2nd byte: 58 */ 0x5533,
+ /* 2nd byte: 59 */ 0x555d,
+ /* 2nd byte: 60 */ 0x5599,
+ /* 2nd byte: 61 */ 0x5580,
+ /* 2nd byte: 62 */ 0x54af,
+ /* 2nd byte: 63 */ 0x558a,
+ /* 2nd byte: 64 */ 0x559f,
+ /* 2nd byte: 65 */ 0x557b,
+ /* 2nd byte: 66 */ 0x557e,
+ /* 2nd byte: 67 */ 0x5598,
+ /* 2nd byte: 68 */ 0x559e,
+ /* 2nd byte: 69 */ 0x55ae,
+ /* 2nd byte: 70 */ 0x557c,
+ /* 2nd byte: 71 */ 0x5583,
+ /* 2nd byte: 72 */ 0x55a9,
+ /* 2nd byte: 73 */ 0x5587,
+ /* 2nd byte: 74 */ 0x55a8,
+ /* 2nd byte: 75 */ 0x55da,
+ /* 2nd byte: 76 */ 0x55c5,
+ /* 2nd byte: 77 */ 0x55df,
+ /* 2nd byte: 78 */ 0x55c4,
+ /* 2nd byte: 79 */ 0x55dc,
+ /* 2nd byte: 80 */ 0x55e4,
+ /* 2nd byte: 81 */ 0x55d4,
+ /* 2nd byte: 82 */ 0x5614,
+ /* 2nd byte: 83 */ 0x55f7,
+ /* 2nd byte: 84 */ 0x5616,
+ /* 2nd byte: 85 */ 0x55fe,
+ /* 2nd byte: 86 */ 0x55fd,
+ /* 2nd byte: 87 */ 0x561b,
+ /* 2nd byte: 88 */ 0x55f9,
+ /* 2nd byte: 89 */ 0x564e,
+ /* 2nd byte: 90 */ 0x5650,
+ /* 2nd byte: 91 */ 0x71df,
+ /* 2nd byte: 92 */ 0x5634,
+ /* 2nd byte: 93 */ 0x5636,
+ /* 2nd byte: 94 */ 0x5632,
+ /* 2nd byte: 95 */ 0x5638,
+ /* 2nd byte: 96 */ 0x566b,
+ /* 2nd byte: 97 */ 0x5664,
+ /* 2nd byte: 98 */ 0x562f,
+ /* 2nd byte: 99 */ 0x566c,
+ /* 2nd byte: 100 */ 0x566a,
+ /* 2nd byte: 101 */ 0x5686,
+ /* 2nd byte: 102 */ 0x5680,
+ /* 2nd byte: 103 */ 0x568a,
+ /* 2nd byte: 104 */ 0x56a0,
+ /* 2nd byte: 105 */ 0x5694,
+ /* 2nd byte: 106 */ 0x568f,
+ /* 2nd byte: 107 */ 0x56a5,
+ /* 2nd byte: 108 */ 0x56ae,
+ /* 2nd byte: 109 */ 0x56b6,
+ /* 2nd byte: 110 */ 0x56b4,
+ /* 2nd byte: 111 */ 0x56c2,
+ /* 2nd byte: 112 */ 0x56bc,
+ /* 2nd byte: 113 */ 0x56c1,
+ /* 2nd byte: 114 */ 0x56c3,
+ /* 2nd byte: 115 */ 0x56c0,
+ /* 2nd byte: 116 */ 0x56c8,
+ /* 2nd byte: 117 */ 0x56ce,
+ /* 2nd byte: 118 */ 0x56d1,
+ /* 2nd byte: 119 */ 0x56d3,
+ /* 2nd byte: 120 */ 0x56d7,
+ /* 2nd byte: 121 */ 0x56ee,
+ /* 2nd byte: 122 */ 0x56f9,
+ /* 2nd byte: 123 */ 0x5700,
+ /* 2nd byte: 124 */ 0x56ff,
+ /* 2nd byte: 125 */ 0x5704,
+ /* 2nd byte: 126 */ 0x5709},
+/* 1st byte: 84 */ {
+ /* 2nd byte: 33 */ 0x5708,
+ /* 2nd byte: 34 */ 0x570b,
+ /* 2nd byte: 35 */ 0x570d,
+ /* 2nd byte: 36 */ 0x5713,
+ /* 2nd byte: 37 */ 0x5718,
+ /* 2nd byte: 38 */ 0x5716,
+ /* 2nd byte: 39 */ 0x55c7,
+ /* 2nd byte: 40 */ 0x571c,
+ /* 2nd byte: 41 */ 0x5726,
+ /* 2nd byte: 42 */ 0x5737,
+ /* 2nd byte: 43 */ 0x5738,
+ /* 2nd byte: 44 */ 0x574e,
+ /* 2nd byte: 45 */ 0x573b,
+ /* 2nd byte: 46 */ 0x5740,
+ /* 2nd byte: 47 */ 0x574f,
+ /* 2nd byte: 48 */ 0x5769,
+ /* 2nd byte: 49 */ 0x57c0,
+ /* 2nd byte: 50 */ 0x5788,
+ /* 2nd byte: 51 */ 0x5761,
+ /* 2nd byte: 52 */ 0x577f,
+ /* 2nd byte: 53 */ 0x5789,
+ /* 2nd byte: 54 */ 0x5793,
+ /* 2nd byte: 55 */ 0x57a0,
+ /* 2nd byte: 56 */ 0x57b3,
+ /* 2nd byte: 57 */ 0x57a4,
+ /* 2nd byte: 58 */ 0x57aa,
+ /* 2nd byte: 59 */ 0x57b0,
+ /* 2nd byte: 60 */ 0x57c3,
+ /* 2nd byte: 61 */ 0x57c6,
+ /* 2nd byte: 62 */ 0x57d4,
+ /* 2nd byte: 63 */ 0x57d2,
+ /* 2nd byte: 64 */ 0x57d3,
+ /* 2nd byte: 65 */ 0x580a,
+ /* 2nd byte: 66 */ 0x57d6,
+ /* 2nd byte: 67 */ 0x57e3,
+ /* 2nd byte: 68 */ 0x580b,
+ /* 2nd byte: 69 */ 0x5819,
+ /* 2nd byte: 70 */ 0x581d,
+ /* 2nd byte: 71 */ 0x5872,
+ /* 2nd byte: 72 */ 0x5821,
+ /* 2nd byte: 73 */ 0x5862,
+ /* 2nd byte: 74 */ 0x584b,
+ /* 2nd byte: 75 */ 0x5870,
+ /* 2nd byte: 76 */ 0x6bc0,
+ /* 2nd byte: 77 */ 0x5852,
+ /* 2nd byte: 78 */ 0x583d,
+ /* 2nd byte: 79 */ 0x5879,
+ /* 2nd byte: 80 */ 0x5885,
+ /* 2nd byte: 81 */ 0x58b9,
+ /* 2nd byte: 82 */ 0x589f,
+ /* 2nd byte: 83 */ 0x58ab,
+ /* 2nd byte: 84 */ 0x58ba,
+ /* 2nd byte: 85 */ 0x58de,
+ /* 2nd byte: 86 */ 0x58bb,
+ /* 2nd byte: 87 */ 0x58b8,
+ /* 2nd byte: 88 */ 0x58ae,
+ /* 2nd byte: 89 */ 0x58c5,
+ /* 2nd byte: 90 */ 0x58d3,
+ /* 2nd byte: 91 */ 0x58d1,
+ /* 2nd byte: 92 */ 0x58d7,
+ /* 2nd byte: 93 */ 0x58d9,
+ /* 2nd byte: 94 */ 0x58d8,
+ /* 2nd byte: 95 */ 0x58e5,
+ /* 2nd byte: 96 */ 0x58dc,
+ /* 2nd byte: 97 */ 0x58e4,
+ /* 2nd byte: 98 */ 0x58df,
+ /* 2nd byte: 99 */ 0x58ef,
+ /* 2nd byte: 100 */ 0x58fa,
+ /* 2nd byte: 101 */ 0x58f9,
+ /* 2nd byte: 102 */ 0x58fb,
+ /* 2nd byte: 103 */ 0x58fc,
+ /* 2nd byte: 104 */ 0x58fd,
+ /* 2nd byte: 105 */ 0x5902,
+ /* 2nd byte: 106 */ 0x590a,
+ /* 2nd byte: 107 */ 0x5910,
+ /* 2nd byte: 108 */ 0x591b,
+ /* 2nd byte: 109 */ 0x68a6,
+ /* 2nd byte: 110 */ 0x5925,
+ /* 2nd byte: 111 */ 0x592c,
+ /* 2nd byte: 112 */ 0x592d,
+ /* 2nd byte: 113 */ 0x5932,
+ /* 2nd byte: 114 */ 0x5938,
+ /* 2nd byte: 115 */ 0x593e,
+ /* 2nd byte: 116 */ 0x7ad2,
+ /* 2nd byte: 117 */ 0x5955,
+ /* 2nd byte: 118 */ 0x5950,
+ /* 2nd byte: 119 */ 0x594e,
+ /* 2nd byte: 120 */ 0x595a,
+ /* 2nd byte: 121 */ 0x5958,
+ /* 2nd byte: 122 */ 0x5962,
+ /* 2nd byte: 123 */ 0x5960,
+ /* 2nd byte: 124 */ 0x5967,
+ /* 2nd byte: 125 */ 0x596c,
+ /* 2nd byte: 126 */ 0x5969},
+/* 1st byte: 85 */ {
+ /* 2nd byte: 33 */ 0x5978,
+ /* 2nd byte: 34 */ 0x5981,
+ /* 2nd byte: 35 */ 0x599d,
+ /* 2nd byte: 36 */ 0x4f5e,
+ /* 2nd byte: 37 */ 0x4fab,
+ /* 2nd byte: 38 */ 0x59a3,
+ /* 2nd byte: 39 */ 0x59b2,
+ /* 2nd byte: 40 */ 0x59c6,
+ /* 2nd byte: 41 */ 0x59e8,
+ /* 2nd byte: 42 */ 0x59dc,
+ /* 2nd byte: 43 */ 0x598d,
+ /* 2nd byte: 44 */ 0x59d9,
+ /* 2nd byte: 45 */ 0x59da,
+ /* 2nd byte: 46 */ 0x5a25,
+ /* 2nd byte: 47 */ 0x5a1f,
+ /* 2nd byte: 48 */ 0x5a11,
+ /* 2nd byte: 49 */ 0x5a1c,
+ /* 2nd byte: 50 */ 0x5a09,
+ /* 2nd byte: 51 */ 0x5a1a,
+ /* 2nd byte: 52 */ 0x5a40,
+ /* 2nd byte: 53 */ 0x5a6c,
+ /* 2nd byte: 54 */ 0x5a49,
+ /* 2nd byte: 55 */ 0x5a35,
+ /* 2nd byte: 56 */ 0x5a36,
+ /* 2nd byte: 57 */ 0x5a62,
+ /* 2nd byte: 58 */ 0x5a6a,
+ /* 2nd byte: 59 */ 0x5a9a,
+ /* 2nd byte: 60 */ 0x5abc,
+ /* 2nd byte: 61 */ 0x5abe,
+ /* 2nd byte: 62 */ 0x5acb,
+ /* 2nd byte: 63 */ 0x5ac2,
+ /* 2nd byte: 64 */ 0x5abd,
+ /* 2nd byte: 65 */ 0x5ae3,
+ /* 2nd byte: 66 */ 0x5ad7,
+ /* 2nd byte: 67 */ 0x5ae6,
+ /* 2nd byte: 68 */ 0x5ae9,
+ /* 2nd byte: 69 */ 0x5ad6,
+ /* 2nd byte: 70 */ 0x5afa,
+ /* 2nd byte: 71 */ 0x5afb,
+ /* 2nd byte: 72 */ 0x5b0c,
+ /* 2nd byte: 73 */ 0x5b0b,
+ /* 2nd byte: 74 */ 0x5b16,
+ /* 2nd byte: 75 */ 0x5b32,
+ /* 2nd byte: 76 */ 0x5ad0,
+ /* 2nd byte: 77 */ 0x5b2a,
+ /* 2nd byte: 78 */ 0x5b36,
+ /* 2nd byte: 79 */ 0x5b3e,
+ /* 2nd byte: 80 */ 0x5b43,
+ /* 2nd byte: 81 */ 0x5b45,
+ /* 2nd byte: 82 */ 0x5b40,
+ /* 2nd byte: 83 */ 0x5b51,
+ /* 2nd byte: 84 */ 0x5b55,
+ /* 2nd byte: 85 */ 0x5b5a,
+ /* 2nd byte: 86 */ 0x5b5b,
+ /* 2nd byte: 87 */ 0x5b65,
+ /* 2nd byte: 88 */ 0x5b69,
+ /* 2nd byte: 89 */ 0x5b70,
+ /* 2nd byte: 90 */ 0x5b73,
+ /* 2nd byte: 91 */ 0x5b75,
+ /* 2nd byte: 92 */ 0x5b78,
+ /* 2nd byte: 93 */ 0x6588,
+ /* 2nd byte: 94 */ 0x5b7a,
+ /* 2nd byte: 95 */ 0x5b80,
+ /* 2nd byte: 96 */ 0x5b83,
+ /* 2nd byte: 97 */ 0x5ba6,
+ /* 2nd byte: 98 */ 0x5bb8,
+ /* 2nd byte: 99 */ 0x5bc3,
+ /* 2nd byte: 100 */ 0x5bc7,
+ /* 2nd byte: 101 */ 0x5bc9,
+ /* 2nd byte: 102 */ 0x5bd4,
+ /* 2nd byte: 103 */ 0x5bd0,
+ /* 2nd byte: 104 */ 0x5be4,
+ /* 2nd byte: 105 */ 0x5be6,
+ /* 2nd byte: 106 */ 0x5be2,
+ /* 2nd byte: 107 */ 0x5bde,
+ /* 2nd byte: 108 */ 0x5be5,
+ /* 2nd byte: 109 */ 0x5beb,
+ /* 2nd byte: 110 */ 0x5bf0,
+ /* 2nd byte: 111 */ 0x5bf6,
+ /* 2nd byte: 112 */ 0x5bf3,
+ /* 2nd byte: 113 */ 0x5c05,
+ /* 2nd byte: 114 */ 0x5c07,
+ /* 2nd byte: 115 */ 0x5c08,
+ /* 2nd byte: 116 */ 0x5c0d,
+ /* 2nd byte: 117 */ 0x5c13,
+ /* 2nd byte: 118 */ 0x5c20,
+ /* 2nd byte: 119 */ 0x5c22,
+ /* 2nd byte: 120 */ 0x5c28,
+ /* 2nd byte: 121 */ 0x5c38,
+ /* 2nd byte: 122 */ 0x5c39,
+ /* 2nd byte: 123 */ 0x5c41,
+ /* 2nd byte: 124 */ 0x5c46,
+ /* 2nd byte: 125 */ 0x5c4e,
+ /* 2nd byte: 126 */ 0x5c53},
+/* 1st byte: 86 */ {
+ /* 2nd byte: 33 */ 0x5c50,
+ /* 2nd byte: 34 */ 0x5c4f,
+ /* 2nd byte: 35 */ 0x5b71,
+ /* 2nd byte: 36 */ 0x5c6c,
+ /* 2nd byte: 37 */ 0x5c6e,
+ /* 2nd byte: 38 */ 0x4e62,
+ /* 2nd byte: 39 */ 0x5c76,
+ /* 2nd byte: 40 */ 0x5c79,
+ /* 2nd byte: 41 */ 0x5c8c,
+ /* 2nd byte: 42 */ 0x5c91,
+ /* 2nd byte: 43 */ 0x5c94,
+ /* 2nd byte: 44 */ 0x599b,
+ /* 2nd byte: 45 */ 0x5cab,
+ /* 2nd byte: 46 */ 0x5cbb,
+ /* 2nd byte: 47 */ 0x5cb6,
+ /* 2nd byte: 48 */ 0x5cbc,
+ /* 2nd byte: 49 */ 0x5cb7,
+ /* 2nd byte: 50 */ 0x5cc5,
+ /* 2nd byte: 51 */ 0x5cbe,
+ /* 2nd byte: 52 */ 0x5cc7,
+ /* 2nd byte: 53 */ 0x5cd9,
+ /* 2nd byte: 54 */ 0x5ce9,
+ /* 2nd byte: 55 */ 0x5cfd,
+ /* 2nd byte: 56 */ 0x5cfa,
+ /* 2nd byte: 57 */ 0x5ced,
+ /* 2nd byte: 58 */ 0x5d8c,
+ /* 2nd byte: 59 */ 0x5cea,
+ /* 2nd byte: 60 */ 0x5d0b,
+ /* 2nd byte: 61 */ 0x5d15,
+ /* 2nd byte: 62 */ 0x5d17,
+ /* 2nd byte: 63 */ 0x5d5c,
+ /* 2nd byte: 64 */ 0x5d1f,
+ /* 2nd byte: 65 */ 0x5d1b,
+ /* 2nd byte: 66 */ 0x5d11,
+ /* 2nd byte: 67 */ 0x5d14,
+ /* 2nd byte: 68 */ 0x5d22,
+ /* 2nd byte: 69 */ 0x5d1a,
+ /* 2nd byte: 70 */ 0x5d19,
+ /* 2nd byte: 71 */ 0x5d18,
+ /* 2nd byte: 72 */ 0x5d4c,
+ /* 2nd byte: 73 */ 0x5d52,
+ /* 2nd byte: 74 */ 0x5d4e,
+ /* 2nd byte: 75 */ 0x5d4b,
+ /* 2nd byte: 76 */ 0x5d6c,
+ /* 2nd byte: 77 */ 0x5d73,
+ /* 2nd byte: 78 */ 0x5d76,
+ /* 2nd byte: 79 */ 0x5d87,
+ /* 2nd byte: 80 */ 0x5d84,
+ /* 2nd byte: 81 */ 0x5d82,
+ /* 2nd byte: 82 */ 0x5da2,
+ /* 2nd byte: 83 */ 0x5d9d,
+ /* 2nd byte: 84 */ 0x5dac,
+ /* 2nd byte: 85 */ 0x5dae,
+ /* 2nd byte: 86 */ 0x5dbd,
+ /* 2nd byte: 87 */ 0x5d90,
+ /* 2nd byte: 88 */ 0x5db7,
+ /* 2nd byte: 89 */ 0x5dbc,
+ /* 2nd byte: 90 */ 0x5dc9,
+ /* 2nd byte: 91 */ 0x5dcd,
+ /* 2nd byte: 92 */ 0x5dd3,
+ /* 2nd byte: 93 */ 0x5dd2,
+ /* 2nd byte: 94 */ 0x5dd6,
+ /* 2nd byte: 95 */ 0x5ddb,
+ /* 2nd byte: 96 */ 0x5deb,
+ /* 2nd byte: 97 */ 0x5df2,
+ /* 2nd byte: 98 */ 0x5df5,
+ /* 2nd byte: 99 */ 0x5e0b,
+ /* 2nd byte: 100 */ 0x5e1a,
+ /* 2nd byte: 101 */ 0x5e19,
+ /* 2nd byte: 102 */ 0x5e11,
+ /* 2nd byte: 103 */ 0x5e1b,
+ /* 2nd byte: 104 */ 0x5e36,
+ /* 2nd byte: 105 */ 0x5e37,
+ /* 2nd byte: 106 */ 0x5e44,
+ /* 2nd byte: 107 */ 0x5e43,
+ /* 2nd byte: 108 */ 0x5e40,
+ /* 2nd byte: 109 */ 0x5e4e,
+ /* 2nd byte: 110 */ 0x5e57,
+ /* 2nd byte: 111 */ 0x5e54,
+ /* 2nd byte: 112 */ 0x5e5f,
+ /* 2nd byte: 113 */ 0x5e62,
+ /* 2nd byte: 114 */ 0x5e64,
+ /* 2nd byte: 115 */ 0x5e47,
+ /* 2nd byte: 116 */ 0x5e75,
+ /* 2nd byte: 117 */ 0x5e76,
+ /* 2nd byte: 118 */ 0x5e7a,
+ /* 2nd byte: 119 */ 0x9ebc,
+ /* 2nd byte: 120 */ 0x5e7f,
+ /* 2nd byte: 121 */ 0x5ea0,
+ /* 2nd byte: 122 */ 0x5ec1,
+ /* 2nd byte: 123 */ 0x5ec2,
+ /* 2nd byte: 124 */ 0x5ec8,
+ /* 2nd byte: 125 */ 0x5ed0,
+ /* 2nd byte: 126 */ 0x5ecf},
+/* 1st byte: 87 */ {
+ /* 2nd byte: 33 */ 0x5ed6,
+ /* 2nd byte: 34 */ 0x5ee3,
+ /* 2nd byte: 35 */ 0x5edd,
+ /* 2nd byte: 36 */ 0x5eda,
+ /* 2nd byte: 37 */ 0x5edb,
+ /* 2nd byte: 38 */ 0x5ee2,
+ /* 2nd byte: 39 */ 0x5ee1,
+ /* 2nd byte: 40 */ 0x5ee8,
+ /* 2nd byte: 41 */ 0x5ee9,
+ /* 2nd byte: 42 */ 0x5eec,
+ /* 2nd byte: 43 */ 0x5ef1,
+ /* 2nd byte: 44 */ 0x5ef3,
+ /* 2nd byte: 45 */ 0x5ef0,
+ /* 2nd byte: 46 */ 0x5ef4,
+ /* 2nd byte: 47 */ 0x5ef8,
+ /* 2nd byte: 48 */ 0x5efe,
+ /* 2nd byte: 49 */ 0x5f03,
+ /* 2nd byte: 50 */ 0x5f09,
+ /* 2nd byte: 51 */ 0x5f5d,
+ /* 2nd byte: 52 */ 0x5f5c,
+ /* 2nd byte: 53 */ 0x5f0b,
+ /* 2nd byte: 54 */ 0x5f11,
+ /* 2nd byte: 55 */ 0x5f16,
+ /* 2nd byte: 56 */ 0x5f29,
+ /* 2nd byte: 57 */ 0x5f2d,
+ /* 2nd byte: 58 */ 0x5f38,
+ /* 2nd byte: 59 */ 0x5f41,
+ /* 2nd byte: 60 */ 0x5f48,
+ /* 2nd byte: 61 */ 0x5f4c,
+ /* 2nd byte: 62 */ 0x5f4e,
+ /* 2nd byte: 63 */ 0x5f2f,
+ /* 2nd byte: 64 */ 0x5f51,
+ /* 2nd byte: 65 */ 0x5f56,
+ /* 2nd byte: 66 */ 0x5f57,
+ /* 2nd byte: 67 */ 0x5f59,
+ /* 2nd byte: 68 */ 0x5f61,
+ /* 2nd byte: 69 */ 0x5f6d,
+ /* 2nd byte: 70 */ 0x5f73,
+ /* 2nd byte: 71 */ 0x5f77,
+ /* 2nd byte: 72 */ 0x5f83,
+ /* 2nd byte: 73 */ 0x5f82,
+ /* 2nd byte: 74 */ 0x5f7f,
+ /* 2nd byte: 75 */ 0x5f8a,
+ /* 2nd byte: 76 */ 0x5f88,
+ /* 2nd byte: 77 */ 0x5f91,
+ /* 2nd byte: 78 */ 0x5f87,
+ /* 2nd byte: 79 */ 0x5f9e,
+ /* 2nd byte: 80 */ 0x5f99,
+ /* 2nd byte: 81 */ 0x5f98,
+ /* 2nd byte: 82 */ 0x5fa0,
+ /* 2nd byte: 83 */ 0x5fa8,
+ /* 2nd byte: 84 */ 0x5fad,
+ /* 2nd byte: 85 */ 0x5fbc,
+ /* 2nd byte: 86 */ 0x5fd6,
+ /* 2nd byte: 87 */ 0x5ffb,
+ /* 2nd byte: 88 */ 0x5fe4,
+ /* 2nd byte: 89 */ 0x5ff8,
+ /* 2nd byte: 90 */ 0x5ff1,
+ /* 2nd byte: 91 */ 0x5fdd,
+ /* 2nd byte: 92 */ 0x60b3,
+ /* 2nd byte: 93 */ 0x5fff,
+ /* 2nd byte: 94 */ 0x6021,
+ /* 2nd byte: 95 */ 0x6060,
+ /* 2nd byte: 96 */ 0x6019,
+ /* 2nd byte: 97 */ 0x6010,
+ /* 2nd byte: 98 */ 0x6029,
+ /* 2nd byte: 99 */ 0x600e,
+ /* 2nd byte: 100 */ 0x6031,
+ /* 2nd byte: 101 */ 0x601b,
+ /* 2nd byte: 102 */ 0x6015,
+ /* 2nd byte: 103 */ 0x602b,
+ /* 2nd byte: 104 */ 0x6026,
+ /* 2nd byte: 105 */ 0x600f,
+ /* 2nd byte: 106 */ 0x603a,
+ /* 2nd byte: 107 */ 0x605a,
+ /* 2nd byte: 108 */ 0x6041,
+ /* 2nd byte: 109 */ 0x606a,
+ /* 2nd byte: 110 */ 0x6077,
+ /* 2nd byte: 111 */ 0x605f,
+ /* 2nd byte: 112 */ 0x604a,
+ /* 2nd byte: 113 */ 0x6046,
+ /* 2nd byte: 114 */ 0x604d,
+ /* 2nd byte: 115 */ 0x6063,
+ /* 2nd byte: 116 */ 0x6043,
+ /* 2nd byte: 117 */ 0x6064,
+ /* 2nd byte: 118 */ 0x6042,
+ /* 2nd byte: 119 */ 0x606c,
+ /* 2nd byte: 120 */ 0x606b,
+ /* 2nd byte: 121 */ 0x6059,
+ /* 2nd byte: 122 */ 0x6081,
+ /* 2nd byte: 123 */ 0x608d,
+ /* 2nd byte: 124 */ 0x60e7,
+ /* 2nd byte: 125 */ 0x6083,
+ /* 2nd byte: 126 */ 0x609a},
+/* 1st byte: 88 */ {
+ /* 2nd byte: 33 */ 0x6084,
+ /* 2nd byte: 34 */ 0x609b,
+ /* 2nd byte: 35 */ 0x6096,
+ /* 2nd byte: 36 */ 0x6097,
+ /* 2nd byte: 37 */ 0x6092,
+ /* 2nd byte: 38 */ 0x60a7,
+ /* 2nd byte: 39 */ 0x608b,
+ /* 2nd byte: 40 */ 0x60e1,
+ /* 2nd byte: 41 */ 0x60b8,
+ /* 2nd byte: 42 */ 0x60e0,
+ /* 2nd byte: 43 */ 0x60d3,
+ /* 2nd byte: 44 */ 0x60b4,
+ /* 2nd byte: 45 */ 0x5ff0,
+ /* 2nd byte: 46 */ 0x60bd,
+ /* 2nd byte: 47 */ 0x60c6,
+ /* 2nd byte: 48 */ 0x60b5,
+ /* 2nd byte: 49 */ 0x60d8,
+ /* 2nd byte: 50 */ 0x614d,
+ /* 2nd byte: 51 */ 0x6115,
+ /* 2nd byte: 52 */ 0x6106,
+ /* 2nd byte: 53 */ 0x60f6,
+ /* 2nd byte: 54 */ 0x60f7,
+ /* 2nd byte: 55 */ 0x6100,
+ /* 2nd byte: 56 */ 0x60f4,
+ /* 2nd byte: 57 */ 0x60fa,
+ /* 2nd byte: 58 */ 0x6103,
+ /* 2nd byte: 59 */ 0x6121,
+ /* 2nd byte: 60 */ 0x60fb,
+ /* 2nd byte: 61 */ 0x60f1,
+ /* 2nd byte: 62 */ 0x610d,
+ /* 2nd byte: 63 */ 0x610e,
+ /* 2nd byte: 64 */ 0x6147,
+ /* 2nd byte: 65 */ 0x613e,
+ /* 2nd byte: 66 */ 0x6128,
+ /* 2nd byte: 67 */ 0x6127,
+ /* 2nd byte: 68 */ 0x614a,
+ /* 2nd byte: 69 */ 0x613f,
+ /* 2nd byte: 70 */ 0x613c,
+ /* 2nd byte: 71 */ 0x612c,
+ /* 2nd byte: 72 */ 0x6134,
+ /* 2nd byte: 73 */ 0x613d,
+ /* 2nd byte: 74 */ 0x6142,
+ /* 2nd byte: 75 */ 0x6144,
+ /* 2nd byte: 76 */ 0x6173,
+ /* 2nd byte: 77 */ 0x6177,
+ /* 2nd byte: 78 */ 0x6158,
+ /* 2nd byte: 79 */ 0x6159,
+ /* 2nd byte: 80 */ 0x615a,
+ /* 2nd byte: 81 */ 0x616b,
+ /* 2nd byte: 82 */ 0x6174,
+ /* 2nd byte: 83 */ 0x616f,
+ /* 2nd byte: 84 */ 0x6165,
+ /* 2nd byte: 85 */ 0x6171,
+ /* 2nd byte: 86 */ 0x615f,
+ /* 2nd byte: 87 */ 0x615d,
+ /* 2nd byte: 88 */ 0x6153,
+ /* 2nd byte: 89 */ 0x6175,
+ /* 2nd byte: 90 */ 0x6199,
+ /* 2nd byte: 91 */ 0x6196,
+ /* 2nd byte: 92 */ 0x6187,
+ /* 2nd byte: 93 */ 0x61ac,
+ /* 2nd byte: 94 */ 0x6194,
+ /* 2nd byte: 95 */ 0x619a,
+ /* 2nd byte: 96 */ 0x618a,
+ /* 2nd byte: 97 */ 0x6191,
+ /* 2nd byte: 98 */ 0x61ab,
+ /* 2nd byte: 99 */ 0x61ae,
+ /* 2nd byte: 100 */ 0x61cc,
+ /* 2nd byte: 101 */ 0x61ca,
+ /* 2nd byte: 102 */ 0x61c9,
+ /* 2nd byte: 103 */ 0x61f7,
+ /* 2nd byte: 104 */ 0x61c8,
+ /* 2nd byte: 105 */ 0x61c3,
+ /* 2nd byte: 106 */ 0x61c6,
+ /* 2nd byte: 107 */ 0x61ba,
+ /* 2nd byte: 108 */ 0x61cb,
+ /* 2nd byte: 109 */ 0x7f79,
+ /* 2nd byte: 110 */ 0x61cd,
+ /* 2nd byte: 111 */ 0x61e6,
+ /* 2nd byte: 112 */ 0x61e3,
+ /* 2nd byte: 113 */ 0x61f6,
+ /* 2nd byte: 114 */ 0x61fa,
+ /* 2nd byte: 115 */ 0x61f4,
+ /* 2nd byte: 116 */ 0x61ff,
+ /* 2nd byte: 117 */ 0x61fd,
+ /* 2nd byte: 118 */ 0x61fc,
+ /* 2nd byte: 119 */ 0x61fe,
+ /* 2nd byte: 120 */ 0x6200,
+ /* 2nd byte: 121 */ 0x6208,
+ /* 2nd byte: 122 */ 0x6209,
+ /* 2nd byte: 123 */ 0x620d,
+ /* 2nd byte: 124 */ 0x620c,
+ /* 2nd byte: 125 */ 0x6214,
+ /* 2nd byte: 126 */ 0x621b},
+/* 1st byte: 89 */ {
+ /* 2nd byte: 33 */ 0x621e,
+ /* 2nd byte: 34 */ 0x6221,
+ /* 2nd byte: 35 */ 0x622a,
+ /* 2nd byte: 36 */ 0x622e,
+ /* 2nd byte: 37 */ 0x6230,
+ /* 2nd byte: 38 */ 0x6232,
+ /* 2nd byte: 39 */ 0x6233,
+ /* 2nd byte: 40 */ 0x6241,
+ /* 2nd byte: 41 */ 0x624e,
+ /* 2nd byte: 42 */ 0x625e,
+ /* 2nd byte: 43 */ 0x6263,
+ /* 2nd byte: 44 */ 0x625b,
+ /* 2nd byte: 45 */ 0x6260,
+ /* 2nd byte: 46 */ 0x6268,
+ /* 2nd byte: 47 */ 0x627c,
+ /* 2nd byte: 48 */ 0x6282,
+ /* 2nd byte: 49 */ 0x6289,
+ /* 2nd byte: 50 */ 0x627e,
+ /* 2nd byte: 51 */ 0x6292,
+ /* 2nd byte: 52 */ 0x6293,
+ /* 2nd byte: 53 */ 0x6296,
+ /* 2nd byte: 54 */ 0x62d4,
+ /* 2nd byte: 55 */ 0x6283,
+ /* 2nd byte: 56 */ 0x6294,
+ /* 2nd byte: 57 */ 0x62d7,
+ /* 2nd byte: 58 */ 0x62d1,
+ /* 2nd byte: 59 */ 0x62bb,
+ /* 2nd byte: 60 */ 0x62cf,
+ /* 2nd byte: 61 */ 0x62ff,
+ /* 2nd byte: 62 */ 0x62c6,
+ /* 2nd byte: 63 */ 0x64d4,
+ /* 2nd byte: 64 */ 0x62c8,
+ /* 2nd byte: 65 */ 0x62dc,
+ /* 2nd byte: 66 */ 0x62cc,
+ /* 2nd byte: 67 */ 0x62ca,
+ /* 2nd byte: 68 */ 0x62c2,
+ /* 2nd byte: 69 */ 0x62c7,
+ /* 2nd byte: 70 */ 0x629b,
+ /* 2nd byte: 71 */ 0x62c9,
+ /* 2nd byte: 72 */ 0x630c,
+ /* 2nd byte: 73 */ 0x62ee,
+ /* 2nd byte: 74 */ 0x62f1,
+ /* 2nd byte: 75 */ 0x6327,
+ /* 2nd byte: 76 */ 0x6302,
+ /* 2nd byte: 77 */ 0x6308,
+ /* 2nd byte: 78 */ 0x62ef,
+ /* 2nd byte: 79 */ 0x62f5,
+ /* 2nd byte: 80 */ 0x6350,
+ /* 2nd byte: 81 */ 0x633e,
+ /* 2nd byte: 82 */ 0x634d,
+ /* 2nd byte: 83 */ 0x641c,
+ /* 2nd byte: 84 */ 0x634f,
+ /* 2nd byte: 85 */ 0x6396,
+ /* 2nd byte: 86 */ 0x638e,
+ /* 2nd byte: 87 */ 0x6380,
+ /* 2nd byte: 88 */ 0x63ab,
+ /* 2nd byte: 89 */ 0x6376,
+ /* 2nd byte: 90 */ 0x63a3,
+ /* 2nd byte: 91 */ 0x638f,
+ /* 2nd byte: 92 */ 0x6389,
+ /* 2nd byte: 93 */ 0x639f,
+ /* 2nd byte: 94 */ 0x63b5,
+ /* 2nd byte: 95 */ 0x636b,
+ /* 2nd byte: 96 */ 0x6369,
+ /* 2nd byte: 97 */ 0x63be,
+ /* 2nd byte: 98 */ 0x63e9,
+ /* 2nd byte: 99 */ 0x63c0,
+ /* 2nd byte: 100 */ 0x63c6,
+ /* 2nd byte: 101 */ 0x63e3,
+ /* 2nd byte: 102 */ 0x63c9,
+ /* 2nd byte: 103 */ 0x63d2,
+ /* 2nd byte: 104 */ 0x63f6,
+ /* 2nd byte: 105 */ 0x63c4,
+ /* 2nd byte: 106 */ 0x6416,
+ /* 2nd byte: 107 */ 0x6434,
+ /* 2nd byte: 108 */ 0x6406,
+ /* 2nd byte: 109 */ 0x6413,
+ /* 2nd byte: 110 */ 0x6426,
+ /* 2nd byte: 111 */ 0x6436,
+ /* 2nd byte: 112 */ 0x651d,
+ /* 2nd byte: 113 */ 0x6417,
+ /* 2nd byte: 114 */ 0x6428,
+ /* 2nd byte: 115 */ 0x640f,
+ /* 2nd byte: 116 */ 0x6467,
+ /* 2nd byte: 117 */ 0x646f,
+ /* 2nd byte: 118 */ 0x6476,
+ /* 2nd byte: 119 */ 0x644e,
+ /* 2nd byte: 120 */ 0x652a,
+ /* 2nd byte: 121 */ 0x6495,
+ /* 2nd byte: 122 */ 0x6493,
+ /* 2nd byte: 123 */ 0x64a5,
+ /* 2nd byte: 124 */ 0x64a9,
+ /* 2nd byte: 125 */ 0x6488,
+ /* 2nd byte: 126 */ 0x64bc},
+/* 1st byte: 90 */ {
+ /* 2nd byte: 33 */ 0x64da,
+ /* 2nd byte: 34 */ 0x64d2,
+ /* 2nd byte: 35 */ 0x64c5,
+ /* 2nd byte: 36 */ 0x64c7,
+ /* 2nd byte: 37 */ 0x64bb,
+ /* 2nd byte: 38 */ 0x64d8,
+ /* 2nd byte: 39 */ 0x64c2,
+ /* 2nd byte: 40 */ 0x64f1,
+ /* 2nd byte: 41 */ 0x64e7,
+ /* 2nd byte: 42 */ 0x8209,
+ /* 2nd byte: 43 */ 0x64e0,
+ /* 2nd byte: 44 */ 0x64e1,
+ /* 2nd byte: 45 */ 0x62ac,
+ /* 2nd byte: 46 */ 0x64e3,
+ /* 2nd byte: 47 */ 0x64ef,
+ /* 2nd byte: 48 */ 0x652c,
+ /* 2nd byte: 49 */ 0x64f6,
+ /* 2nd byte: 50 */ 0x64f4,
+ /* 2nd byte: 51 */ 0x64f2,
+ /* 2nd byte: 52 */ 0x64fa,
+ /* 2nd byte: 53 */ 0x6500,
+ /* 2nd byte: 54 */ 0x64fd,
+ /* 2nd byte: 55 */ 0x6518,
+ /* 2nd byte: 56 */ 0x651c,
+ /* 2nd byte: 57 */ 0x6505,
+ /* 2nd byte: 58 */ 0x6524,
+ /* 2nd byte: 59 */ 0x6523,
+ /* 2nd byte: 60 */ 0x652b,
+ /* 2nd byte: 61 */ 0x6534,
+ /* 2nd byte: 62 */ 0x6535,
+ /* 2nd byte: 63 */ 0x6537,
+ /* 2nd byte: 64 */ 0x6536,
+ /* 2nd byte: 65 */ 0x6538,
+ /* 2nd byte: 66 */ 0x754b,
+ /* 2nd byte: 67 */ 0x6548,
+ /* 2nd byte: 68 */ 0x6556,
+ /* 2nd byte: 69 */ 0x6555,
+ /* 2nd byte: 70 */ 0x654d,
+ /* 2nd byte: 71 */ 0x6558,
+ /* 2nd byte: 72 */ 0x655e,
+ /* 2nd byte: 73 */ 0x655d,
+ /* 2nd byte: 74 */ 0x6572,
+ /* 2nd byte: 75 */ 0x6578,
+ /* 2nd byte: 76 */ 0x6582,
+ /* 2nd byte: 77 */ 0x6583,
+ /* 2nd byte: 78 */ 0x8b8a,
+ /* 2nd byte: 79 */ 0x659b,
+ /* 2nd byte: 80 */ 0x659f,
+ /* 2nd byte: 81 */ 0x65ab,
+ /* 2nd byte: 82 */ 0x65b7,
+ /* 2nd byte: 83 */ 0x65c3,
+ /* 2nd byte: 84 */ 0x65c6,
+ /* 2nd byte: 85 */ 0x65c1,
+ /* 2nd byte: 86 */ 0x65c4,
+ /* 2nd byte: 87 */ 0x65cc,
+ /* 2nd byte: 88 */ 0x65d2,
+ /* 2nd byte: 89 */ 0x65db,
+ /* 2nd byte: 90 */ 0x65d9,
+ /* 2nd byte: 91 */ 0x65e0,
+ /* 2nd byte: 92 */ 0x65e1,
+ /* 2nd byte: 93 */ 0x65f1,
+ /* 2nd byte: 94 */ 0x6772,
+ /* 2nd byte: 95 */ 0x660a,
+ /* 2nd byte: 96 */ 0x6603,
+ /* 2nd byte: 97 */ 0x65fb,
+ /* 2nd byte: 98 */ 0x6773,
+ /* 2nd byte: 99 */ 0x6635,
+ /* 2nd byte: 100 */ 0x6636,
+ /* 2nd byte: 101 */ 0x6634,
+ /* 2nd byte: 102 */ 0x661c,
+ /* 2nd byte: 103 */ 0x664f,
+ /* 2nd byte: 104 */ 0x6644,
+ /* 2nd byte: 105 */ 0x6649,
+ /* 2nd byte: 106 */ 0x6641,
+ /* 2nd byte: 107 */ 0x665e,
+ /* 2nd byte: 108 */ 0x665d,
+ /* 2nd byte: 109 */ 0x6664,
+ /* 2nd byte: 110 */ 0x6667,
+ /* 2nd byte: 111 */ 0x6668,
+ /* 2nd byte: 112 */ 0x665f,
+ /* 2nd byte: 113 */ 0x6662,
+ /* 2nd byte: 114 */ 0x6670,
+ /* 2nd byte: 115 */ 0x6683,
+ /* 2nd byte: 116 */ 0x6688,
+ /* 2nd byte: 117 */ 0x668e,
+ /* 2nd byte: 118 */ 0x6689,
+ /* 2nd byte: 119 */ 0x6684,
+ /* 2nd byte: 120 */ 0x6698,
+ /* 2nd byte: 121 */ 0x669d,
+ /* 2nd byte: 122 */ 0x66c1,
+ /* 2nd byte: 123 */ 0x66b9,
+ /* 2nd byte: 124 */ 0x66c9,
+ /* 2nd byte: 125 */ 0x66be,
+ /* 2nd byte: 126 */ 0x66bc},
+/* 1st byte: 91 */ {
+ /* 2nd byte: 33 */ 0x66c4,
+ /* 2nd byte: 34 */ 0x66b8,
+ /* 2nd byte: 35 */ 0x66d6,
+ /* 2nd byte: 36 */ 0x66da,
+ /* 2nd byte: 37 */ 0x66e0,
+ /* 2nd byte: 38 */ 0x663f,
+ /* 2nd byte: 39 */ 0x66e6,
+ /* 2nd byte: 40 */ 0x66e9,
+ /* 2nd byte: 41 */ 0x66f0,
+ /* 2nd byte: 42 */ 0x66f5,
+ /* 2nd byte: 43 */ 0x66f7,
+ /* 2nd byte: 44 */ 0x670f,
+ /* 2nd byte: 45 */ 0x6716,
+ /* 2nd byte: 46 */ 0x671e,
+ /* 2nd byte: 47 */ 0x6726,
+ /* 2nd byte: 48 */ 0x6727,
+ /* 2nd byte: 49 */ 0x9738,
+ /* 2nd byte: 50 */ 0x672e,
+ /* 2nd byte: 51 */ 0x673f,
+ /* 2nd byte: 52 */ 0x6736,
+ /* 2nd byte: 53 */ 0x6741,
+ /* 2nd byte: 54 */ 0x6738,
+ /* 2nd byte: 55 */ 0x6737,
+ /* 2nd byte: 56 */ 0x6746,
+ /* 2nd byte: 57 */ 0x675e,
+ /* 2nd byte: 58 */ 0x6760,
+ /* 2nd byte: 59 */ 0x6759,
+ /* 2nd byte: 60 */ 0x6763,
+ /* 2nd byte: 61 */ 0x6764,
+ /* 2nd byte: 62 */ 0x6789,
+ /* 2nd byte: 63 */ 0x6770,
+ /* 2nd byte: 64 */ 0x67a9,
+ /* 2nd byte: 65 */ 0x677c,
+ /* 2nd byte: 66 */ 0x676a,
+ /* 2nd byte: 67 */ 0x678c,
+ /* 2nd byte: 68 */ 0x678b,
+ /* 2nd byte: 69 */ 0x67a6,
+ /* 2nd byte: 70 */ 0x67a1,
+ /* 2nd byte: 71 */ 0x6785,
+ /* 2nd byte: 72 */ 0x67b7,
+ /* 2nd byte: 73 */ 0x67ef,
+ /* 2nd byte: 74 */ 0x67b4,
+ /* 2nd byte: 75 */ 0x67ec,
+ /* 2nd byte: 76 */ 0x67b3,
+ /* 2nd byte: 77 */ 0x67e9,
+ /* 2nd byte: 78 */ 0x67b8,
+ /* 2nd byte: 79 */ 0x67e4,
+ /* 2nd byte: 80 */ 0x67de,
+ /* 2nd byte: 81 */ 0x67dd,
+ /* 2nd byte: 82 */ 0x67e2,
+ /* 2nd byte: 83 */ 0x67ee,
+ /* 2nd byte: 84 */ 0x67b9,
+ /* 2nd byte: 85 */ 0x67ce,
+ /* 2nd byte: 86 */ 0x67c6,
+ /* 2nd byte: 87 */ 0x67e7,
+ /* 2nd byte: 88 */ 0x6a9c,
+ /* 2nd byte: 89 */ 0x681e,
+ /* 2nd byte: 90 */ 0x6846,
+ /* 2nd byte: 91 */ 0x6829,
+ /* 2nd byte: 92 */ 0x6840,
+ /* 2nd byte: 93 */ 0x684d,
+ /* 2nd byte: 94 */ 0x6832,
+ /* 2nd byte: 95 */ 0x684e,
+ /* 2nd byte: 96 */ 0x68b3,
+ /* 2nd byte: 97 */ 0x682b,
+ /* 2nd byte: 98 */ 0x6859,
+ /* 2nd byte: 99 */ 0x6863,
+ /* 2nd byte: 100 */ 0x6877,
+ /* 2nd byte: 101 */ 0x687f,
+ /* 2nd byte: 102 */ 0x689f,
+ /* 2nd byte: 103 */ 0x688f,
+ /* 2nd byte: 104 */ 0x68ad,
+ /* 2nd byte: 105 */ 0x6894,
+ /* 2nd byte: 106 */ 0x689d,
+ /* 2nd byte: 107 */ 0x689b,
+ /* 2nd byte: 108 */ 0x6883,
+ /* 2nd byte: 109 */ 0x6aae,
+ /* 2nd byte: 110 */ 0x68b9,
+ /* 2nd byte: 111 */ 0x6874,
+ /* 2nd byte: 112 */ 0x68b5,
+ /* 2nd byte: 113 */ 0x68a0,
+ /* 2nd byte: 114 */ 0x68ba,
+ /* 2nd byte: 115 */ 0x690f,
+ /* 2nd byte: 116 */ 0x688d,
+ /* 2nd byte: 117 */ 0x687e,
+ /* 2nd byte: 118 */ 0x6901,
+ /* 2nd byte: 119 */ 0x68ca,
+ /* 2nd byte: 120 */ 0x6908,
+ /* 2nd byte: 121 */ 0x68d8,
+ /* 2nd byte: 122 */ 0x6922,
+ /* 2nd byte: 123 */ 0x6926,
+ /* 2nd byte: 124 */ 0x68e1,
+ /* 2nd byte: 125 */ 0x690c,
+ /* 2nd byte: 126 */ 0x68cd},
+/* 1st byte: 92 */ {
+ /* 2nd byte: 33 */ 0x68d4,
+ /* 2nd byte: 34 */ 0x68e7,
+ /* 2nd byte: 35 */ 0x68d5,
+ /* 2nd byte: 36 */ 0x6936,
+ /* 2nd byte: 37 */ 0x6912,
+ /* 2nd byte: 38 */ 0x6904,
+ /* 2nd byte: 39 */ 0x68d7,
+ /* 2nd byte: 40 */ 0x68e3,
+ /* 2nd byte: 41 */ 0x6925,
+ /* 2nd byte: 42 */ 0x68f9,
+ /* 2nd byte: 43 */ 0x68e0,
+ /* 2nd byte: 44 */ 0x68ef,
+ /* 2nd byte: 45 */ 0x6928,
+ /* 2nd byte: 46 */ 0x692a,
+ /* 2nd byte: 47 */ 0x691a,
+ /* 2nd byte: 48 */ 0x6923,
+ /* 2nd byte: 49 */ 0x6921,
+ /* 2nd byte: 50 */ 0x68c6,
+ /* 2nd byte: 51 */ 0x6979,
+ /* 2nd byte: 52 */ 0x6977,
+ /* 2nd byte: 53 */ 0x695c,
+ /* 2nd byte: 54 */ 0x6978,
+ /* 2nd byte: 55 */ 0x696b,
+ /* 2nd byte: 56 */ 0x6954,
+ /* 2nd byte: 57 */ 0x697e,
+ /* 2nd byte: 58 */ 0x696e,
+ /* 2nd byte: 59 */ 0x6939,
+ /* 2nd byte: 60 */ 0x6974,
+ /* 2nd byte: 61 */ 0x693d,
+ /* 2nd byte: 62 */ 0x6959,
+ /* 2nd byte: 63 */ 0x6930,
+ /* 2nd byte: 64 */ 0x6961,
+ /* 2nd byte: 65 */ 0x695e,
+ /* 2nd byte: 66 */ 0x695d,
+ /* 2nd byte: 67 */ 0x6981,
+ /* 2nd byte: 68 */ 0x696a,
+ /* 2nd byte: 69 */ 0x69b2,
+ /* 2nd byte: 70 */ 0x69ae,
+ /* 2nd byte: 71 */ 0x69d0,
+ /* 2nd byte: 72 */ 0x69bf,
+ /* 2nd byte: 73 */ 0x69c1,
+ /* 2nd byte: 74 */ 0x69d3,
+ /* 2nd byte: 75 */ 0x69be,
+ /* 2nd byte: 76 */ 0x69ce,
+ /* 2nd byte: 77 */ 0x5be8,
+ /* 2nd byte: 78 */ 0x69ca,
+ /* 2nd byte: 79 */ 0x69dd,
+ /* 2nd byte: 80 */ 0x69bb,
+ /* 2nd byte: 81 */ 0x69c3,
+ /* 2nd byte: 82 */ 0x69a7,
+ /* 2nd byte: 83 */ 0x6a2e,
+ /* 2nd byte: 84 */ 0x6991,
+ /* 2nd byte: 85 */ 0x69a0,
+ /* 2nd byte: 86 */ 0x699c,
+ /* 2nd byte: 87 */ 0x6995,
+ /* 2nd byte: 88 */ 0x69b4,
+ /* 2nd byte: 89 */ 0x69de,
+ /* 2nd byte: 90 */ 0x69e8,
+ /* 2nd byte: 91 */ 0x6a02,
+ /* 2nd byte: 92 */ 0x6a1b,
+ /* 2nd byte: 93 */ 0x69ff,
+ /* 2nd byte: 94 */ 0x6b0a,
+ /* 2nd byte: 95 */ 0x69f9,
+ /* 2nd byte: 96 */ 0x69f2,
+ /* 2nd byte: 97 */ 0x69e7,
+ /* 2nd byte: 98 */ 0x6a05,
+ /* 2nd byte: 99 */ 0x69b1,
+ /* 2nd byte: 100 */ 0x6a1e,
+ /* 2nd byte: 101 */ 0x69ed,
+ /* 2nd byte: 102 */ 0x6a14,
+ /* 2nd byte: 103 */ 0x69eb,
+ /* 2nd byte: 104 */ 0x6a0a,
+ /* 2nd byte: 105 */ 0x6a12,
+ /* 2nd byte: 106 */ 0x6ac1,
+ /* 2nd byte: 107 */ 0x6a23,
+ /* 2nd byte: 108 */ 0x6a13,
+ /* 2nd byte: 109 */ 0x6a44,
+ /* 2nd byte: 110 */ 0x6a0c,
+ /* 2nd byte: 111 */ 0x6a72,
+ /* 2nd byte: 112 */ 0x6a36,
+ /* 2nd byte: 113 */ 0x6a78,
+ /* 2nd byte: 114 */ 0x6a47,
+ /* 2nd byte: 115 */ 0x6a62,
+ /* 2nd byte: 116 */ 0x6a59,
+ /* 2nd byte: 117 */ 0x6a66,
+ /* 2nd byte: 118 */ 0x6a48,
+ /* 2nd byte: 119 */ 0x6a38,
+ /* 2nd byte: 120 */ 0x6a22,
+ /* 2nd byte: 121 */ 0x6a90,
+ /* 2nd byte: 122 */ 0x6a8d,
+ /* 2nd byte: 123 */ 0x6aa0,
+ /* 2nd byte: 124 */ 0x6a84,
+ /* 2nd byte: 125 */ 0x6aa2,
+ /* 2nd byte: 126 */ 0x6aa3},
+/* 1st byte: 93 */ {
+ /* 2nd byte: 33 */ 0x6a97,
+ /* 2nd byte: 34 */ 0x8617,
+ /* 2nd byte: 35 */ 0x6abb,
+ /* 2nd byte: 36 */ 0x6ac3,
+ /* 2nd byte: 37 */ 0x6ac2,
+ /* 2nd byte: 38 */ 0x6ab8,
+ /* 2nd byte: 39 */ 0x6ab3,
+ /* 2nd byte: 40 */ 0x6aac,
+ /* 2nd byte: 41 */ 0x6ade,
+ /* 2nd byte: 42 */ 0x6ad1,
+ /* 2nd byte: 43 */ 0x6adf,
+ /* 2nd byte: 44 */ 0x6aaa,
+ /* 2nd byte: 45 */ 0x6ada,
+ /* 2nd byte: 46 */ 0x6aea,
+ /* 2nd byte: 47 */ 0x6afb,
+ /* 2nd byte: 48 */ 0x6b05,
+ /* 2nd byte: 49 */ 0x8616,
+ /* 2nd byte: 50 */ 0x6afa,
+ /* 2nd byte: 51 */ 0x6b12,
+ /* 2nd byte: 52 */ 0x6b16,
+ /* 2nd byte: 53 */ 0x9b31,
+ /* 2nd byte: 54 */ 0x6b1f,
+ /* 2nd byte: 55 */ 0x6b38,
+ /* 2nd byte: 56 */ 0x6b37,
+ /* 2nd byte: 57 */ 0x76dc,
+ /* 2nd byte: 58 */ 0x6b39,
+ /* 2nd byte: 59 */ 0x98ee,
+ /* 2nd byte: 60 */ 0x6b47,
+ /* 2nd byte: 61 */ 0x6b43,
+ /* 2nd byte: 62 */ 0x6b49,
+ /* 2nd byte: 63 */ 0x6b50,
+ /* 2nd byte: 64 */ 0x6b59,
+ /* 2nd byte: 65 */ 0x6b54,
+ /* 2nd byte: 66 */ 0x6b5b,
+ /* 2nd byte: 67 */ 0x6b5f,
+ /* 2nd byte: 68 */ 0x6b61,
+ /* 2nd byte: 69 */ 0x6b78,
+ /* 2nd byte: 70 */ 0x6b79,
+ /* 2nd byte: 71 */ 0x6b7f,
+ /* 2nd byte: 72 */ 0x6b80,
+ /* 2nd byte: 73 */ 0x6b84,
+ /* 2nd byte: 74 */ 0x6b83,
+ /* 2nd byte: 75 */ 0x6b8d,
+ /* 2nd byte: 76 */ 0x6b98,
+ /* 2nd byte: 77 */ 0x6b95,
+ /* 2nd byte: 78 */ 0x6b9e,
+ /* 2nd byte: 79 */ 0x6ba4,
+ /* 2nd byte: 80 */ 0x6baa,
+ /* 2nd byte: 81 */ 0x6bab,
+ /* 2nd byte: 82 */ 0x6baf,
+ /* 2nd byte: 83 */ 0x6bb2,
+ /* 2nd byte: 84 */ 0x6bb1,
+ /* 2nd byte: 85 */ 0x6bb3,
+ /* 2nd byte: 86 */ 0x6bb7,
+ /* 2nd byte: 87 */ 0x6bbc,
+ /* 2nd byte: 88 */ 0x6bc6,
+ /* 2nd byte: 89 */ 0x6bcb,
+ /* 2nd byte: 90 */ 0x6bd3,
+ /* 2nd byte: 91 */ 0x6bdf,
+ /* 2nd byte: 92 */ 0x6bec,
+ /* 2nd byte: 93 */ 0x6beb,
+ /* 2nd byte: 94 */ 0x6bf3,
+ /* 2nd byte: 95 */ 0x6bef,
+ /* 2nd byte: 96 */ 0x9ebe,
+ /* 2nd byte: 97 */ 0x6c08,
+ /* 2nd byte: 98 */ 0x6c13,
+ /* 2nd byte: 99 */ 0x6c14,
+ /* 2nd byte: 100 */ 0x6c1b,
+ /* 2nd byte: 101 */ 0x6c24,
+ /* 2nd byte: 102 */ 0x6c23,
+ /* 2nd byte: 103 */ 0x6c5e,
+ /* 2nd byte: 104 */ 0x6c55,
+ /* 2nd byte: 105 */ 0x6c62,
+ /* 2nd byte: 106 */ 0x6c6a,
+ /* 2nd byte: 107 */ 0x6c82,
+ /* 2nd byte: 108 */ 0x6c8d,
+ /* 2nd byte: 109 */ 0x6c9a,
+ /* 2nd byte: 110 */ 0x6c81,
+ /* 2nd byte: 111 */ 0x6c9b,
+ /* 2nd byte: 112 */ 0x6c7e,
+ /* 2nd byte: 113 */ 0x6c68,
+ /* 2nd byte: 114 */ 0x6c73,
+ /* 2nd byte: 115 */ 0x6c92,
+ /* 2nd byte: 116 */ 0x6c90,
+ /* 2nd byte: 117 */ 0x6cc4,
+ /* 2nd byte: 118 */ 0x6cf1,
+ /* 2nd byte: 119 */ 0x6cd3,
+ /* 2nd byte: 120 */ 0x6cbd,
+ /* 2nd byte: 121 */ 0x6cd7,
+ /* 2nd byte: 122 */ 0x6cc5,
+ /* 2nd byte: 123 */ 0x6cdd,
+ /* 2nd byte: 124 */ 0x6cae,
+ /* 2nd byte: 125 */ 0x6cb1,
+ /* 2nd byte: 126 */ 0x6cbe},
+/* 1st byte: 94 */ {
+ /* 2nd byte: 33 */ 0x6cba,
+ /* 2nd byte: 34 */ 0x6cdb,
+ /* 2nd byte: 35 */ 0x6cef,
+ /* 2nd byte: 36 */ 0x6cd9,
+ /* 2nd byte: 37 */ 0x6cea,
+ /* 2nd byte: 38 */ 0x6d1f,
+ /* 2nd byte: 39 */ 0x884d,
+ /* 2nd byte: 40 */ 0x6d36,
+ /* 2nd byte: 41 */ 0x6d2b,
+ /* 2nd byte: 42 */ 0x6d3d,
+ /* 2nd byte: 43 */ 0x6d38,
+ /* 2nd byte: 44 */ 0x6d19,
+ /* 2nd byte: 45 */ 0x6d35,
+ /* 2nd byte: 46 */ 0x6d33,
+ /* 2nd byte: 47 */ 0x6d12,
+ /* 2nd byte: 48 */ 0x6d0c,
+ /* 2nd byte: 49 */ 0x6d63,
+ /* 2nd byte: 50 */ 0x6d93,
+ /* 2nd byte: 51 */ 0x6d64,
+ /* 2nd byte: 52 */ 0x6d5a,
+ /* 2nd byte: 53 */ 0x6d79,
+ /* 2nd byte: 54 */ 0x6d59,
+ /* 2nd byte: 55 */ 0x6d8e,
+ /* 2nd byte: 56 */ 0x6d95,
+ /* 2nd byte: 57 */ 0x6fe4,
+ /* 2nd byte: 58 */ 0x6d85,
+ /* 2nd byte: 59 */ 0x6df9,
+ /* 2nd byte: 60 */ 0x6e15,
+ /* 2nd byte: 61 */ 0x6e0a,
+ /* 2nd byte: 62 */ 0x6db5,
+ /* 2nd byte: 63 */ 0x6dc7,
+ /* 2nd byte: 64 */ 0x6de6,
+ /* 2nd byte: 65 */ 0x6db8,
+ /* 2nd byte: 66 */ 0x6dc6,
+ /* 2nd byte: 67 */ 0x6dec,
+ /* 2nd byte: 68 */ 0x6dde,
+ /* 2nd byte: 69 */ 0x6dcc,
+ /* 2nd byte: 70 */ 0x6de8,
+ /* 2nd byte: 71 */ 0x6dd2,
+ /* 2nd byte: 72 */ 0x6dc5,
+ /* 2nd byte: 73 */ 0x6dfa,
+ /* 2nd byte: 74 */ 0x6dd9,
+ /* 2nd byte: 75 */ 0x6de4,
+ /* 2nd byte: 76 */ 0x6dd5,
+ /* 2nd byte: 77 */ 0x6dea,
+ /* 2nd byte: 78 */ 0x6dee,
+ /* 2nd byte: 79 */ 0x6e2d,
+ /* 2nd byte: 80 */ 0x6e6e,
+ /* 2nd byte: 81 */ 0x6e2e,
+ /* 2nd byte: 82 */ 0x6e19,
+ /* 2nd byte: 83 */ 0x6e72,
+ /* 2nd byte: 84 */ 0x6e5f,
+ /* 2nd byte: 85 */ 0x6e3e,
+ /* 2nd byte: 86 */ 0x6e23,
+ /* 2nd byte: 87 */ 0x6e6b,
+ /* 2nd byte: 88 */ 0x6e2b,
+ /* 2nd byte: 89 */ 0x6e76,
+ /* 2nd byte: 90 */ 0x6e4d,
+ /* 2nd byte: 91 */ 0x6e1f,
+ /* 2nd byte: 92 */ 0x6e43,
+ /* 2nd byte: 93 */ 0x6e3a,
+ /* 2nd byte: 94 */ 0x6e4e,
+ /* 2nd byte: 95 */ 0x6e24,
+ /* 2nd byte: 96 */ 0x6eff,
+ /* 2nd byte: 97 */ 0x6e1d,
+ /* 2nd byte: 98 */ 0x6e38,
+ /* 2nd byte: 99 */ 0x6e82,
+ /* 2nd byte: 100 */ 0x6eaa,
+ /* 2nd byte: 101 */ 0x6e98,
+ /* 2nd byte: 102 */ 0x6ec9,
+ /* 2nd byte: 103 */ 0x6eb7,
+ /* 2nd byte: 104 */ 0x6ed3,
+ /* 2nd byte: 105 */ 0x6ebd,
+ /* 2nd byte: 106 */ 0x6eaf,
+ /* 2nd byte: 107 */ 0x6ec4,
+ /* 2nd byte: 108 */ 0x6eb2,
+ /* 2nd byte: 109 */ 0x6ed4,
+ /* 2nd byte: 110 */ 0x6ed5,
+ /* 2nd byte: 111 */ 0x6e8f,
+ /* 2nd byte: 112 */ 0x6ea5,
+ /* 2nd byte: 113 */ 0x6ec2,
+ /* 2nd byte: 114 */ 0x6e9f,
+ /* 2nd byte: 115 */ 0x6f41,
+ /* 2nd byte: 116 */ 0x6f11,
+ /* 2nd byte: 117 */ 0x704c,
+ /* 2nd byte: 118 */ 0x6eec,
+ /* 2nd byte: 119 */ 0x6ef8,
+ /* 2nd byte: 120 */ 0x6efe,
+ /* 2nd byte: 121 */ 0x6f3f,
+ /* 2nd byte: 122 */ 0x6ef2,
+ /* 2nd byte: 123 */ 0x6f31,
+ /* 2nd byte: 124 */ 0x6eef,
+ /* 2nd byte: 125 */ 0x6f32,
+ /* 2nd byte: 126 */ 0x6ecc},
+/* 1st byte: 95 */ {
+ /* 2nd byte: 33 */ 0x6f3e,
+ /* 2nd byte: 34 */ 0x6f13,
+ /* 2nd byte: 35 */ 0x6ef7,
+ /* 2nd byte: 36 */ 0x6f86,
+ /* 2nd byte: 37 */ 0x6f7a,
+ /* 2nd byte: 38 */ 0x6f78,
+ /* 2nd byte: 39 */ 0x6f81,
+ /* 2nd byte: 40 */ 0x6f80,
+ /* 2nd byte: 41 */ 0x6f6f,
+ /* 2nd byte: 42 */ 0x6f5b,
+ /* 2nd byte: 43 */ 0x6ff3,
+ /* 2nd byte: 44 */ 0x6f6d,
+ /* 2nd byte: 45 */ 0x6f82,
+ /* 2nd byte: 46 */ 0x6f7c,
+ /* 2nd byte: 47 */ 0x6f58,
+ /* 2nd byte: 48 */ 0x6f8e,
+ /* 2nd byte: 49 */ 0x6f91,
+ /* 2nd byte: 50 */ 0x6fc2,
+ /* 2nd byte: 51 */ 0x6f66,
+ /* 2nd byte: 52 */ 0x6fb3,
+ /* 2nd byte: 53 */ 0x6fa3,
+ /* 2nd byte: 54 */ 0x6fa1,
+ /* 2nd byte: 55 */ 0x6fa4,
+ /* 2nd byte: 56 */ 0x6fb9,
+ /* 2nd byte: 57 */ 0x6fc6,
+ /* 2nd byte: 58 */ 0x6faa,
+ /* 2nd byte: 59 */ 0x6fdf,
+ /* 2nd byte: 60 */ 0x6fd5,
+ /* 2nd byte: 61 */ 0x6fec,
+ /* 2nd byte: 62 */ 0x6fd4,
+ /* 2nd byte: 63 */ 0x6fd8,
+ /* 2nd byte: 64 */ 0x6ff1,
+ /* 2nd byte: 65 */ 0x6fee,
+ /* 2nd byte: 66 */ 0x6fdb,
+ /* 2nd byte: 67 */ 0x7009,
+ /* 2nd byte: 68 */ 0x700b,
+ /* 2nd byte: 69 */ 0x6ffa,
+ /* 2nd byte: 70 */ 0x7011,
+ /* 2nd byte: 71 */ 0x7001,
+ /* 2nd byte: 72 */ 0x700f,
+ /* 2nd byte: 73 */ 0x6ffe,
+ /* 2nd byte: 74 */ 0x701b,
+ /* 2nd byte: 75 */ 0x701a,
+ /* 2nd byte: 76 */ 0x6f74,
+ /* 2nd byte: 77 */ 0x701d,
+ /* 2nd byte: 78 */ 0x7018,
+ /* 2nd byte: 79 */ 0x701f,
+ /* 2nd byte: 80 */ 0x7030,
+ /* 2nd byte: 81 */ 0x703e,
+ /* 2nd byte: 82 */ 0x7032,
+ /* 2nd byte: 83 */ 0x7051,
+ /* 2nd byte: 84 */ 0x7063,
+ /* 2nd byte: 85 */ 0x7099,
+ /* 2nd byte: 86 */ 0x7092,
+ /* 2nd byte: 87 */ 0x70af,
+ /* 2nd byte: 88 */ 0x70f1,
+ /* 2nd byte: 89 */ 0x70ac,
+ /* 2nd byte: 90 */ 0x70b8,
+ /* 2nd byte: 91 */ 0x70b3,
+ /* 2nd byte: 92 */ 0x70ae,
+ /* 2nd byte: 93 */ 0x70df,
+ /* 2nd byte: 94 */ 0x70cb,
+ /* 2nd byte: 95 */ 0x70dd,
+ /* 2nd byte: 96 */ 0x70d9,
+ /* 2nd byte: 97 */ 0x7109,
+ /* 2nd byte: 98 */ 0x70fd,
+ /* 2nd byte: 99 */ 0x711c,
+ /* 2nd byte: 100 */ 0x7119,
+ /* 2nd byte: 101 */ 0x7165,
+ /* 2nd byte: 102 */ 0x7155,
+ /* 2nd byte: 103 */ 0x7188,
+ /* 2nd byte: 104 */ 0x7166,
+ /* 2nd byte: 105 */ 0x7162,
+ /* 2nd byte: 106 */ 0x714c,
+ /* 2nd byte: 107 */ 0x7156,
+ /* 2nd byte: 108 */ 0x716c,
+ /* 2nd byte: 109 */ 0x718f,
+ /* 2nd byte: 110 */ 0x71fb,
+ /* 2nd byte: 111 */ 0x7184,
+ /* 2nd byte: 112 */ 0x7195,
+ /* 2nd byte: 113 */ 0x71a8,
+ /* 2nd byte: 114 */ 0x71ac,
+ /* 2nd byte: 115 */ 0x71d7,
+ /* 2nd byte: 116 */ 0x71b9,
+ /* 2nd byte: 117 */ 0x71be,
+ /* 2nd byte: 118 */ 0x71d2,
+ /* 2nd byte: 119 */ 0x71c9,
+ /* 2nd byte: 120 */ 0x71d4,
+ /* 2nd byte: 121 */ 0x71ce,
+ /* 2nd byte: 122 */ 0x71e0,
+ /* 2nd byte: 123 */ 0x71ec,
+ /* 2nd byte: 124 */ 0x71e7,
+ /* 2nd byte: 125 */ 0x71f5,
+ /* 2nd byte: 126 */ 0x71fc},
+/* 1st byte: 96 */ {
+ /* 2nd byte: 33 */ 0x71f9,
+ /* 2nd byte: 34 */ 0x71ff,
+ /* 2nd byte: 35 */ 0x720d,
+ /* 2nd byte: 36 */ 0x7210,
+ /* 2nd byte: 37 */ 0x721b,
+ /* 2nd byte: 38 */ 0x7228,
+ /* 2nd byte: 39 */ 0x722d,
+ /* 2nd byte: 40 */ 0x722c,
+ /* 2nd byte: 41 */ 0x7230,
+ /* 2nd byte: 42 */ 0x7232,
+ /* 2nd byte: 43 */ 0x723b,
+ /* 2nd byte: 44 */ 0x723c,
+ /* 2nd byte: 45 */ 0x723f,
+ /* 2nd byte: 46 */ 0x7240,
+ /* 2nd byte: 47 */ 0x7246,
+ /* 2nd byte: 48 */ 0x724b,
+ /* 2nd byte: 49 */ 0x7258,
+ /* 2nd byte: 50 */ 0x7274,
+ /* 2nd byte: 51 */ 0x727e,
+ /* 2nd byte: 52 */ 0x7282,
+ /* 2nd byte: 53 */ 0x7281,
+ /* 2nd byte: 54 */ 0x7287,
+ /* 2nd byte: 55 */ 0x7292,
+ /* 2nd byte: 56 */ 0x7296,
+ /* 2nd byte: 57 */ 0x72a2,
+ /* 2nd byte: 58 */ 0x72a7,
+ /* 2nd byte: 59 */ 0x72b9,
+ /* 2nd byte: 60 */ 0x72b2,
+ /* 2nd byte: 61 */ 0x72c3,
+ /* 2nd byte: 62 */ 0x72c6,
+ /* 2nd byte: 63 */ 0x72c4,
+ /* 2nd byte: 64 */ 0x72ce,
+ /* 2nd byte: 65 */ 0x72d2,
+ /* 2nd byte: 66 */ 0x72e2,
+ /* 2nd byte: 67 */ 0x72e0,
+ /* 2nd byte: 68 */ 0x72e1,
+ /* 2nd byte: 69 */ 0x72f9,
+ /* 2nd byte: 70 */ 0x72f7,
+ /* 2nd byte: 71 */ 0x500f,
+ /* 2nd byte: 72 */ 0x7317,
+ /* 2nd byte: 73 */ 0x730a,
+ /* 2nd byte: 74 */ 0x731c,
+ /* 2nd byte: 75 */ 0x7316,
+ /* 2nd byte: 76 */ 0x731d,
+ /* 2nd byte: 77 */ 0x7334,
+ /* 2nd byte: 78 */ 0x732f,
+ /* 2nd byte: 79 */ 0x7329,
+ /* 2nd byte: 80 */ 0x7325,
+ /* 2nd byte: 81 */ 0x733e,
+ /* 2nd byte: 82 */ 0x734e,
+ /* 2nd byte: 83 */ 0x734f,
+ /* 2nd byte: 84 */ 0x9ed8,
+ /* 2nd byte: 85 */ 0x7357,
+ /* 2nd byte: 86 */ 0x736a,
+ /* 2nd byte: 87 */ 0x7368,
+ /* 2nd byte: 88 */ 0x7370,
+ /* 2nd byte: 89 */ 0x7378,
+ /* 2nd byte: 90 */ 0x7375,
+ /* 2nd byte: 91 */ 0x737b,
+ /* 2nd byte: 92 */ 0x737a,
+ /* 2nd byte: 93 */ 0x73c8,
+ /* 2nd byte: 94 */ 0x73b3,
+ /* 2nd byte: 95 */ 0x73ce,
+ /* 2nd byte: 96 */ 0x73bb,
+ /* 2nd byte: 97 */ 0x73c0,
+ /* 2nd byte: 98 */ 0x73e5,
+ /* 2nd byte: 99 */ 0x73ee,
+ /* 2nd byte: 100 */ 0x73de,
+ /* 2nd byte: 101 */ 0x74a2,
+ /* 2nd byte: 102 */ 0x7405,
+ /* 2nd byte: 103 */ 0x746f,
+ /* 2nd byte: 104 */ 0x7425,
+ /* 2nd byte: 105 */ 0x73f8,
+ /* 2nd byte: 106 */ 0x7432,
+ /* 2nd byte: 107 */ 0x743a,
+ /* 2nd byte: 108 */ 0x7455,
+ /* 2nd byte: 109 */ 0x743f,
+ /* 2nd byte: 110 */ 0x745f,
+ /* 2nd byte: 111 */ 0x7459,
+ /* 2nd byte: 112 */ 0x7441,
+ /* 2nd byte: 113 */ 0x745c,
+ /* 2nd byte: 114 */ 0x7469,
+ /* 2nd byte: 115 */ 0x7470,
+ /* 2nd byte: 116 */ 0x7463,
+ /* 2nd byte: 117 */ 0x746a,
+ /* 2nd byte: 118 */ 0x7476,
+ /* 2nd byte: 119 */ 0x747e,
+ /* 2nd byte: 120 */ 0x748b,
+ /* 2nd byte: 121 */ 0x749e,
+ /* 2nd byte: 122 */ 0x74a7,
+ /* 2nd byte: 123 */ 0x74ca,
+ /* 2nd byte: 124 */ 0x74cf,
+ /* 2nd byte: 125 */ 0x74d4,
+ /* 2nd byte: 126 */ 0x73f1},
+/* 1st byte: 97 */ {
+ /* 2nd byte: 33 */ 0x74e0,
+ /* 2nd byte: 34 */ 0x74e3,
+ /* 2nd byte: 35 */ 0x74e7,
+ /* 2nd byte: 36 */ 0x74e9,
+ /* 2nd byte: 37 */ 0x74ee,
+ /* 2nd byte: 38 */ 0x74f2,
+ /* 2nd byte: 39 */ 0x74f0,
+ /* 2nd byte: 40 */ 0x74f1,
+ /* 2nd byte: 41 */ 0x74f8,
+ /* 2nd byte: 42 */ 0x74f7,
+ /* 2nd byte: 43 */ 0x7504,
+ /* 2nd byte: 44 */ 0x7503,
+ /* 2nd byte: 45 */ 0x7505,
+ /* 2nd byte: 46 */ 0x750c,
+ /* 2nd byte: 47 */ 0x750e,
+ /* 2nd byte: 48 */ 0x750d,
+ /* 2nd byte: 49 */ 0x7515,
+ /* 2nd byte: 50 */ 0x7513,
+ /* 2nd byte: 51 */ 0x751e,
+ /* 2nd byte: 52 */ 0x7526,
+ /* 2nd byte: 53 */ 0x752c,
+ /* 2nd byte: 54 */ 0x753c,
+ /* 2nd byte: 55 */ 0x7544,
+ /* 2nd byte: 56 */ 0x754d,
+ /* 2nd byte: 57 */ 0x754a,
+ /* 2nd byte: 58 */ 0x7549,
+ /* 2nd byte: 59 */ 0x755b,
+ /* 2nd byte: 60 */ 0x7546,
+ /* 2nd byte: 61 */ 0x755a,
+ /* 2nd byte: 62 */ 0x7569,
+ /* 2nd byte: 63 */ 0x7564,
+ /* 2nd byte: 64 */ 0x7567,
+ /* 2nd byte: 65 */ 0x756b,
+ /* 2nd byte: 66 */ 0x756d,
+ /* 2nd byte: 67 */ 0x7578,
+ /* 2nd byte: 68 */ 0x7576,
+ /* 2nd byte: 69 */ 0x7586,
+ /* 2nd byte: 70 */ 0x7587,
+ /* 2nd byte: 71 */ 0x7574,
+ /* 2nd byte: 72 */ 0x758a,
+ /* 2nd byte: 73 */ 0x7589,
+ /* 2nd byte: 74 */ 0x7582,
+ /* 2nd byte: 75 */ 0x7594,
+ /* 2nd byte: 76 */ 0x759a,
+ /* 2nd byte: 77 */ 0x759d,
+ /* 2nd byte: 78 */ 0x75a5,
+ /* 2nd byte: 79 */ 0x75a3,
+ /* 2nd byte: 80 */ 0x75c2,
+ /* 2nd byte: 81 */ 0x75b3,
+ /* 2nd byte: 82 */ 0x75c3,
+ /* 2nd byte: 83 */ 0x75b5,
+ /* 2nd byte: 84 */ 0x75bd,
+ /* 2nd byte: 85 */ 0x75b8,
+ /* 2nd byte: 86 */ 0x75bc,
+ /* 2nd byte: 87 */ 0x75b1,
+ /* 2nd byte: 88 */ 0x75cd,
+ /* 2nd byte: 89 */ 0x75ca,
+ /* 2nd byte: 90 */ 0x75d2,
+ /* 2nd byte: 91 */ 0x75d9,
+ /* 2nd byte: 92 */ 0x75e3,
+ /* 2nd byte: 93 */ 0x75de,
+ /* 2nd byte: 94 */ 0x75fe,
+ /* 2nd byte: 95 */ 0x75ff,
+ /* 2nd byte: 96 */ 0x75fc,
+ /* 2nd byte: 97 */ 0x7601,
+ /* 2nd byte: 98 */ 0x75f0,
+ /* 2nd byte: 99 */ 0x75fa,
+ /* 2nd byte: 100 */ 0x75f2,
+ /* 2nd byte: 101 */ 0x75f3,
+ /* 2nd byte: 102 */ 0x760b,
+ /* 2nd byte: 103 */ 0x760d,
+ /* 2nd byte: 104 */ 0x7609,
+ /* 2nd byte: 105 */ 0x761f,
+ /* 2nd byte: 106 */ 0x7627,
+ /* 2nd byte: 107 */ 0x7620,
+ /* 2nd byte: 108 */ 0x7621,
+ /* 2nd byte: 109 */ 0x7622,
+ /* 2nd byte: 110 */ 0x7624,
+ /* 2nd byte: 111 */ 0x7634,
+ /* 2nd byte: 112 */ 0x7630,
+ /* 2nd byte: 113 */ 0x763b,
+ /* 2nd byte: 114 */ 0x7647,
+ /* 2nd byte: 115 */ 0x7648,
+ /* 2nd byte: 116 */ 0x7646,
+ /* 2nd byte: 117 */ 0x765c,
+ /* 2nd byte: 118 */ 0x7658,
+ /* 2nd byte: 119 */ 0x7661,
+ /* 2nd byte: 120 */ 0x7662,
+ /* 2nd byte: 121 */ 0x7668,
+ /* 2nd byte: 122 */ 0x7669,
+ /* 2nd byte: 123 */ 0x766a,
+ /* 2nd byte: 124 */ 0x7667,
+ /* 2nd byte: 125 */ 0x766c,
+ /* 2nd byte: 126 */ 0x7670},
+/* 1st byte: 98 */ {
+ /* 2nd byte: 33 */ 0x7672,
+ /* 2nd byte: 34 */ 0x7676,
+ /* 2nd byte: 35 */ 0x7678,
+ /* 2nd byte: 36 */ 0x767c,
+ /* 2nd byte: 37 */ 0x7680,
+ /* 2nd byte: 38 */ 0x7683,
+ /* 2nd byte: 39 */ 0x7688,
+ /* 2nd byte: 40 */ 0x768b,
+ /* 2nd byte: 41 */ 0x768e,
+ /* 2nd byte: 42 */ 0x7696,
+ /* 2nd byte: 43 */ 0x7693,
+ /* 2nd byte: 44 */ 0x7699,
+ /* 2nd byte: 45 */ 0x769a,
+ /* 2nd byte: 46 */ 0x76b0,
+ /* 2nd byte: 47 */ 0x76b4,
+ /* 2nd byte: 48 */ 0x76b8,
+ /* 2nd byte: 49 */ 0x76b9,
+ /* 2nd byte: 50 */ 0x76ba,
+ /* 2nd byte: 51 */ 0x76c2,
+ /* 2nd byte: 52 */ 0x76cd,
+ /* 2nd byte: 53 */ 0x76d6,
+ /* 2nd byte: 54 */ 0x76d2,
+ /* 2nd byte: 55 */ 0x76de,
+ /* 2nd byte: 56 */ 0x76e1,
+ /* 2nd byte: 57 */ 0x76e5,
+ /* 2nd byte: 58 */ 0x76e7,
+ /* 2nd byte: 59 */ 0x76ea,
+ /* 2nd byte: 60 */ 0x862f,
+ /* 2nd byte: 61 */ 0x76fb,
+ /* 2nd byte: 62 */ 0x7708,
+ /* 2nd byte: 63 */ 0x7707,
+ /* 2nd byte: 64 */ 0x7704,
+ /* 2nd byte: 65 */ 0x7729,
+ /* 2nd byte: 66 */ 0x7724,
+ /* 2nd byte: 67 */ 0x771e,
+ /* 2nd byte: 68 */ 0x7725,
+ /* 2nd byte: 69 */ 0x7726,
+ /* 2nd byte: 70 */ 0x771b,
+ /* 2nd byte: 71 */ 0x7737,
+ /* 2nd byte: 72 */ 0x7738,
+ /* 2nd byte: 73 */ 0x7747,
+ /* 2nd byte: 74 */ 0x775a,
+ /* 2nd byte: 75 */ 0x7768,
+ /* 2nd byte: 76 */ 0x776b,
+ /* 2nd byte: 77 */ 0x775b,
+ /* 2nd byte: 78 */ 0x7765,
+ /* 2nd byte: 79 */ 0x777f,
+ /* 2nd byte: 80 */ 0x777e,
+ /* 2nd byte: 81 */ 0x7779,
+ /* 2nd byte: 82 */ 0x778e,
+ /* 2nd byte: 83 */ 0x778b,
+ /* 2nd byte: 84 */ 0x7791,
+ /* 2nd byte: 85 */ 0x77a0,
+ /* 2nd byte: 86 */ 0x779e,
+ /* 2nd byte: 87 */ 0x77b0,
+ /* 2nd byte: 88 */ 0x77b6,
+ /* 2nd byte: 89 */ 0x77b9,
+ /* 2nd byte: 90 */ 0x77bf,
+ /* 2nd byte: 91 */ 0x77bc,
+ /* 2nd byte: 92 */ 0x77bd,
+ /* 2nd byte: 93 */ 0x77bb,
+ /* 2nd byte: 94 */ 0x77c7,
+ /* 2nd byte: 95 */ 0x77cd,
+ /* 2nd byte: 96 */ 0x77d7,
+ /* 2nd byte: 97 */ 0x77da,
+ /* 2nd byte: 98 */ 0x77dc,
+ /* 2nd byte: 99 */ 0x77e3,
+ /* 2nd byte: 100 */ 0x77ee,
+ /* 2nd byte: 101 */ 0x77fc,
+ /* 2nd byte: 102 */ 0x780c,
+ /* 2nd byte: 103 */ 0x7812,
+ /* 2nd byte: 104 */ 0x7926,
+ /* 2nd byte: 105 */ 0x7820,
+ /* 2nd byte: 106 */ 0x792a,
+ /* 2nd byte: 107 */ 0x7845,
+ /* 2nd byte: 108 */ 0x788e,
+ /* 2nd byte: 109 */ 0x7874,
+ /* 2nd byte: 110 */ 0x7886,
+ /* 2nd byte: 111 */ 0x787c,
+ /* 2nd byte: 112 */ 0x789a,
+ /* 2nd byte: 113 */ 0x788c,
+ /* 2nd byte: 114 */ 0x78a3,
+ /* 2nd byte: 115 */ 0x78b5,
+ /* 2nd byte: 116 */ 0x78aa,
+ /* 2nd byte: 117 */ 0x78af,
+ /* 2nd byte: 118 */ 0x78d1,
+ /* 2nd byte: 119 */ 0x78c6,
+ /* 2nd byte: 120 */ 0x78cb,
+ /* 2nd byte: 121 */ 0x78d4,
+ /* 2nd byte: 122 */ 0x78be,
+ /* 2nd byte: 123 */ 0x78bc,
+ /* 2nd byte: 124 */ 0x78c5,
+ /* 2nd byte: 125 */ 0x78ca,
+ /* 2nd byte: 126 */ 0x78ec},
+/* 1st byte: 99 */ {
+ /* 2nd byte: 33 */ 0x78e7,
+ /* 2nd byte: 34 */ 0x78da,
+ /* 2nd byte: 35 */ 0x78fd,
+ /* 2nd byte: 36 */ 0x78f4,
+ /* 2nd byte: 37 */ 0x7907,
+ /* 2nd byte: 38 */ 0x7912,
+ /* 2nd byte: 39 */ 0x7911,
+ /* 2nd byte: 40 */ 0x7919,
+ /* 2nd byte: 41 */ 0x792c,
+ /* 2nd byte: 42 */ 0x792b,
+ /* 2nd byte: 43 */ 0x7940,
+ /* 2nd byte: 44 */ 0x7960,
+ /* 2nd byte: 45 */ 0x7957,
+ /* 2nd byte: 46 */ 0x795f,
+ /* 2nd byte: 47 */ 0x795a,
+ /* 2nd byte: 48 */ 0x7955,
+ /* 2nd byte: 49 */ 0x7953,
+ /* 2nd byte: 50 */ 0x797a,
+ /* 2nd byte: 51 */ 0x797f,
+ /* 2nd byte: 52 */ 0x798a,
+ /* 2nd byte: 53 */ 0x799d,
+ /* 2nd byte: 54 */ 0x79a7,
+ /* 2nd byte: 55 */ 0x9f4b,
+ /* 2nd byte: 56 */ 0x79aa,
+ /* 2nd byte: 57 */ 0x79ae,
+ /* 2nd byte: 58 */ 0x79b3,
+ /* 2nd byte: 59 */ 0x79b9,
+ /* 2nd byte: 60 */ 0x79ba,
+ /* 2nd byte: 61 */ 0x79c9,
+ /* 2nd byte: 62 */ 0x79d5,
+ /* 2nd byte: 63 */ 0x79e7,
+ /* 2nd byte: 64 */ 0x79ec,
+ /* 2nd byte: 65 */ 0x79e1,
+ /* 2nd byte: 66 */ 0x79e3,
+ /* 2nd byte: 67 */ 0x7a08,
+ /* 2nd byte: 68 */ 0x7a0d,
+ /* 2nd byte: 69 */ 0x7a18,
+ /* 2nd byte: 70 */ 0x7a19,
+ /* 2nd byte: 71 */ 0x7a20,
+ /* 2nd byte: 72 */ 0x7a1f,
+ /* 2nd byte: 73 */ 0x7980,
+ /* 2nd byte: 74 */ 0x7a31,
+ /* 2nd byte: 75 */ 0x7a3b,
+ /* 2nd byte: 76 */ 0x7a3e,
+ /* 2nd byte: 77 */ 0x7a37,
+ /* 2nd byte: 78 */ 0x7a43,
+ /* 2nd byte: 79 */ 0x7a57,
+ /* 2nd byte: 80 */ 0x7a49,
+ /* 2nd byte: 81 */ 0x7a61,
+ /* 2nd byte: 82 */ 0x7a62,
+ /* 2nd byte: 83 */ 0x7a69,
+ /* 2nd byte: 84 */ 0x9f9d,
+ /* 2nd byte: 85 */ 0x7a70,
+ /* 2nd byte: 86 */ 0x7a79,
+ /* 2nd byte: 87 */ 0x7a7d,
+ /* 2nd byte: 88 */ 0x7a88,
+ /* 2nd byte: 89 */ 0x7a97,
+ /* 2nd byte: 90 */ 0x7a95,
+ /* 2nd byte: 91 */ 0x7a98,
+ /* 2nd byte: 92 */ 0x7a96,
+ /* 2nd byte: 93 */ 0x7aa9,
+ /* 2nd byte: 94 */ 0x7ac8,
+ /* 2nd byte: 95 */ 0x7ab0,
+ /* 2nd byte: 96 */ 0x7ab6,
+ /* 2nd byte: 97 */ 0x7ac5,
+ /* 2nd byte: 98 */ 0x7ac4,
+ /* 2nd byte: 99 */ 0x7abf,
+ /* 2nd byte: 100 */ 0x9083,
+ /* 2nd byte: 101 */ 0x7ac7,
+ /* 2nd byte: 102 */ 0x7aca,
+ /* 2nd byte: 103 */ 0x7acd,
+ /* 2nd byte: 104 */ 0x7acf,
+ /* 2nd byte: 105 */ 0x7ad5,
+ /* 2nd byte: 106 */ 0x7ad3,
+ /* 2nd byte: 107 */ 0x7ad9,
+ /* 2nd byte: 108 */ 0x7ada,
+ /* 2nd byte: 109 */ 0x7add,
+ /* 2nd byte: 110 */ 0x7ae1,
+ /* 2nd byte: 111 */ 0x7ae2,
+ /* 2nd byte: 112 */ 0x7ae6,
+ /* 2nd byte: 113 */ 0x7aed,
+ /* 2nd byte: 114 */ 0x7af0,
+ /* 2nd byte: 115 */ 0x7b02,
+ /* 2nd byte: 116 */ 0x7b0f,
+ /* 2nd byte: 117 */ 0x7b0a,
+ /* 2nd byte: 118 */ 0x7b06,
+ /* 2nd byte: 119 */ 0x7b33,
+ /* 2nd byte: 120 */ 0x7b18,
+ /* 2nd byte: 121 */ 0x7b19,
+ /* 2nd byte: 122 */ 0x7b1e,
+ /* 2nd byte: 123 */ 0x7b35,
+ /* 2nd byte: 124 */ 0x7b28,
+ /* 2nd byte: 125 */ 0x7b36,
+ /* 2nd byte: 126 */ 0x7b50},
+/* 1st byte: 100 */ {
+ /* 2nd byte: 33 */ 0x7b7a,
+ /* 2nd byte: 34 */ 0x7b04,
+ /* 2nd byte: 35 */ 0x7b4d,
+ /* 2nd byte: 36 */ 0x7b0b,
+ /* 2nd byte: 37 */ 0x7b4c,
+ /* 2nd byte: 38 */ 0x7b45,
+ /* 2nd byte: 39 */ 0x7b75,
+ /* 2nd byte: 40 */ 0x7b65,
+ /* 2nd byte: 41 */ 0x7b74,
+ /* 2nd byte: 42 */ 0x7b67,
+ /* 2nd byte: 43 */ 0x7b70,
+ /* 2nd byte: 44 */ 0x7b71,
+ /* 2nd byte: 45 */ 0x7b6c,
+ /* 2nd byte: 46 */ 0x7b6e,
+ /* 2nd byte: 47 */ 0x7b9d,
+ /* 2nd byte: 48 */ 0x7b98,
+ /* 2nd byte: 49 */ 0x7b9f,
+ /* 2nd byte: 50 */ 0x7b8d,
+ /* 2nd byte: 51 */ 0x7b9c,
+ /* 2nd byte: 52 */ 0x7b9a,
+ /* 2nd byte: 53 */ 0x7b8b,
+ /* 2nd byte: 54 */ 0x7b92,
+ /* 2nd byte: 55 */ 0x7b8f,
+ /* 2nd byte: 56 */ 0x7b5d,
+ /* 2nd byte: 57 */ 0x7b99,
+ /* 2nd byte: 58 */ 0x7bcb,
+ /* 2nd byte: 59 */ 0x7bc1,
+ /* 2nd byte: 60 */ 0x7bcc,
+ /* 2nd byte: 61 */ 0x7bcf,
+ /* 2nd byte: 62 */ 0x7bb4,
+ /* 2nd byte: 63 */ 0x7bc6,
+ /* 2nd byte: 64 */ 0x7bdd,
+ /* 2nd byte: 65 */ 0x7be9,
+ /* 2nd byte: 66 */ 0x7c11,
+ /* 2nd byte: 67 */ 0x7c14,
+ /* 2nd byte: 68 */ 0x7be6,
+ /* 2nd byte: 69 */ 0x7be5,
+ /* 2nd byte: 70 */ 0x7c60,
+ /* 2nd byte: 71 */ 0x7c00,
+ /* 2nd byte: 72 */ 0x7c07,
+ /* 2nd byte: 73 */ 0x7c13,
+ /* 2nd byte: 74 */ 0x7bf3,
+ /* 2nd byte: 75 */ 0x7bf7,
+ /* 2nd byte: 76 */ 0x7c17,
+ /* 2nd byte: 77 */ 0x7c0d,
+ /* 2nd byte: 78 */ 0x7bf6,
+ /* 2nd byte: 79 */ 0x7c23,
+ /* 2nd byte: 80 */ 0x7c27,
+ /* 2nd byte: 81 */ 0x7c2a,
+ /* 2nd byte: 82 */ 0x7c1f,
+ /* 2nd byte: 83 */ 0x7c37,
+ /* 2nd byte: 84 */ 0x7c2b,
+ /* 2nd byte: 85 */ 0x7c3d,
+ /* 2nd byte: 86 */ 0x7c4c,
+ /* 2nd byte: 87 */ 0x7c43,
+ /* 2nd byte: 88 */ 0x7c54,
+ /* 2nd byte: 89 */ 0x7c4f,
+ /* 2nd byte: 90 */ 0x7c40,
+ /* 2nd byte: 91 */ 0x7c50,
+ /* 2nd byte: 92 */ 0x7c58,
+ /* 2nd byte: 93 */ 0x7c5f,
+ /* 2nd byte: 94 */ 0x7c64,
+ /* 2nd byte: 95 */ 0x7c56,
+ /* 2nd byte: 96 */ 0x7c65,
+ /* 2nd byte: 97 */ 0x7c6c,
+ /* 2nd byte: 98 */ 0x7c75,
+ /* 2nd byte: 99 */ 0x7c83,
+ /* 2nd byte: 100 */ 0x7c90,
+ /* 2nd byte: 101 */ 0x7ca4,
+ /* 2nd byte: 102 */ 0x7cad,
+ /* 2nd byte: 103 */ 0x7ca2,
+ /* 2nd byte: 104 */ 0x7cab,
+ /* 2nd byte: 105 */ 0x7ca1,
+ /* 2nd byte: 106 */ 0x7ca8,
+ /* 2nd byte: 107 */ 0x7cb3,
+ /* 2nd byte: 108 */ 0x7cb2,
+ /* 2nd byte: 109 */ 0x7cb1,
+ /* 2nd byte: 110 */ 0x7cae,
+ /* 2nd byte: 111 */ 0x7cb9,
+ /* 2nd byte: 112 */ 0x7cbd,
+ /* 2nd byte: 113 */ 0x7cc0,
+ /* 2nd byte: 114 */ 0x7cc5,
+ /* 2nd byte: 115 */ 0x7cc2,
+ /* 2nd byte: 116 */ 0x7cd8,
+ /* 2nd byte: 117 */ 0x7cd2,
+ /* 2nd byte: 118 */ 0x7cdc,
+ /* 2nd byte: 119 */ 0x7ce2,
+ /* 2nd byte: 120 */ 0x9b3b,
+ /* 2nd byte: 121 */ 0x7cef,
+ /* 2nd byte: 122 */ 0x7cf2,
+ /* 2nd byte: 123 */ 0x7cf4,
+ /* 2nd byte: 124 */ 0x7cf6,
+ /* 2nd byte: 125 */ 0x7cfa,
+ /* 2nd byte: 126 */ 0x7d06},
+/* 1st byte: 101 */ {
+ /* 2nd byte: 33 */ 0x7d02,
+ /* 2nd byte: 34 */ 0x7d1c,
+ /* 2nd byte: 35 */ 0x7d15,
+ /* 2nd byte: 36 */ 0x7d0a,
+ /* 2nd byte: 37 */ 0x7d45,
+ /* 2nd byte: 38 */ 0x7d4b,
+ /* 2nd byte: 39 */ 0x7d2e,
+ /* 2nd byte: 40 */ 0x7d32,
+ /* 2nd byte: 41 */ 0x7d3f,
+ /* 2nd byte: 42 */ 0x7d35,
+ /* 2nd byte: 43 */ 0x7d46,
+ /* 2nd byte: 44 */ 0x7d73,
+ /* 2nd byte: 45 */ 0x7d56,
+ /* 2nd byte: 46 */ 0x7d4e,
+ /* 2nd byte: 47 */ 0x7d72,
+ /* 2nd byte: 48 */ 0x7d68,
+ /* 2nd byte: 49 */ 0x7d6e,
+ /* 2nd byte: 50 */ 0x7d4f,
+ /* 2nd byte: 51 */ 0x7d63,
+ /* 2nd byte: 52 */ 0x7d93,
+ /* 2nd byte: 53 */ 0x7d89,
+ /* 2nd byte: 54 */ 0x7d5b,
+ /* 2nd byte: 55 */ 0x7d8f,
+ /* 2nd byte: 56 */ 0x7d7d,
+ /* 2nd byte: 57 */ 0x7d9b,
+ /* 2nd byte: 58 */ 0x7dba,
+ /* 2nd byte: 59 */ 0x7dae,
+ /* 2nd byte: 60 */ 0x7da3,
+ /* 2nd byte: 61 */ 0x7db5,
+ /* 2nd byte: 62 */ 0x7dc7,
+ /* 2nd byte: 63 */ 0x7dbd,
+ /* 2nd byte: 64 */ 0x7dab,
+ /* 2nd byte: 65 */ 0x7e3d,
+ /* 2nd byte: 66 */ 0x7da2,
+ /* 2nd byte: 67 */ 0x7daf,
+ /* 2nd byte: 68 */ 0x7ddc,
+ /* 2nd byte: 69 */ 0x7db8,
+ /* 2nd byte: 70 */ 0x7d9f,
+ /* 2nd byte: 71 */ 0x7db0,
+ /* 2nd byte: 72 */ 0x7dd8,
+ /* 2nd byte: 73 */ 0x7ddd,
+ /* 2nd byte: 74 */ 0x7de4,
+ /* 2nd byte: 75 */ 0x7dde,
+ /* 2nd byte: 76 */ 0x7dfb,
+ /* 2nd byte: 77 */ 0x7df2,
+ /* 2nd byte: 78 */ 0x7de1,
+ /* 2nd byte: 79 */ 0x7e05,
+ /* 2nd byte: 80 */ 0x7e0a,
+ /* 2nd byte: 81 */ 0x7e23,
+ /* 2nd byte: 82 */ 0x7e21,
+ /* 2nd byte: 83 */ 0x7e12,
+ /* 2nd byte: 84 */ 0x7e31,
+ /* 2nd byte: 85 */ 0x7e1f,
+ /* 2nd byte: 86 */ 0x7e09,
+ /* 2nd byte: 87 */ 0x7e0b,
+ /* 2nd byte: 88 */ 0x7e22,
+ /* 2nd byte: 89 */ 0x7e46,
+ /* 2nd byte: 90 */ 0x7e66,
+ /* 2nd byte: 91 */ 0x7e3b,
+ /* 2nd byte: 92 */ 0x7e35,
+ /* 2nd byte: 93 */ 0x7e39,
+ /* 2nd byte: 94 */ 0x7e43,
+ /* 2nd byte: 95 */ 0x7e37,
+ /* 2nd byte: 96 */ 0x7e32,
+ /* 2nd byte: 97 */ 0x7e3a,
+ /* 2nd byte: 98 */ 0x7e67,
+ /* 2nd byte: 99 */ 0x7e5d,
+ /* 2nd byte: 100 */ 0x7e56,
+ /* 2nd byte: 101 */ 0x7e5e,
+ /* 2nd byte: 102 */ 0x7e59,
+ /* 2nd byte: 103 */ 0x7e5a,
+ /* 2nd byte: 104 */ 0x7e79,
+ /* 2nd byte: 105 */ 0x7e6a,
+ /* 2nd byte: 106 */ 0x7e69,
+ /* 2nd byte: 107 */ 0x7e7c,
+ /* 2nd byte: 108 */ 0x7e7b,
+ /* 2nd byte: 109 */ 0x7e83,
+ /* 2nd byte: 110 */ 0x7dd5,
+ /* 2nd byte: 111 */ 0x7e7d,
+ /* 2nd byte: 112 */ 0x8fae,
+ /* 2nd byte: 113 */ 0x7e7f,
+ /* 2nd byte: 114 */ 0x7e88,
+ /* 2nd byte: 115 */ 0x7e89,
+ /* 2nd byte: 116 */ 0x7e8c,
+ /* 2nd byte: 117 */ 0x7e92,
+ /* 2nd byte: 118 */ 0x7e90,
+ /* 2nd byte: 119 */ 0x7e93,
+ /* 2nd byte: 120 */ 0x7e94,
+ /* 2nd byte: 121 */ 0x7e96,
+ /* 2nd byte: 122 */ 0x7e8e,
+ /* 2nd byte: 123 */ 0x7e9b,
+ /* 2nd byte: 124 */ 0x7e9c,
+ /* 2nd byte: 125 */ 0x7f38,
+ /* 2nd byte: 126 */ 0x7f3a},
+/* 1st byte: 102 */ {
+ /* 2nd byte: 33 */ 0x7f45,
+ /* 2nd byte: 34 */ 0x7f4c,
+ /* 2nd byte: 35 */ 0x7f4d,
+ /* 2nd byte: 36 */ 0x7f4e,
+ /* 2nd byte: 37 */ 0x7f50,
+ /* 2nd byte: 38 */ 0x7f51,
+ /* 2nd byte: 39 */ 0x7f55,
+ /* 2nd byte: 40 */ 0x7f54,
+ /* 2nd byte: 41 */ 0x7f58,
+ /* 2nd byte: 42 */ 0x7f5f,
+ /* 2nd byte: 43 */ 0x7f60,
+ /* 2nd byte: 44 */ 0x7f68,
+ /* 2nd byte: 45 */ 0x7f69,
+ /* 2nd byte: 46 */ 0x7f67,
+ /* 2nd byte: 47 */ 0x7f78,
+ /* 2nd byte: 48 */ 0x7f82,
+ /* 2nd byte: 49 */ 0x7f86,
+ /* 2nd byte: 50 */ 0x7f83,
+ /* 2nd byte: 51 */ 0x7f88,
+ /* 2nd byte: 52 */ 0x7f87,
+ /* 2nd byte: 53 */ 0x7f8c,
+ /* 2nd byte: 54 */ 0x7f94,
+ /* 2nd byte: 55 */ 0x7f9e,
+ /* 2nd byte: 56 */ 0x7f9d,
+ /* 2nd byte: 57 */ 0x7f9a,
+ /* 2nd byte: 58 */ 0x7fa3,
+ /* 2nd byte: 59 */ 0x7faf,
+ /* 2nd byte: 60 */ 0x7fb2,
+ /* 2nd byte: 61 */ 0x7fb9,
+ /* 2nd byte: 62 */ 0x7fae,
+ /* 2nd byte: 63 */ 0x7fb6,
+ /* 2nd byte: 64 */ 0x7fb8,
+ /* 2nd byte: 65 */ 0x8b71,
+ /* 2nd byte: 66 */ 0x7fc5,
+ /* 2nd byte: 67 */ 0x7fc6,
+ /* 2nd byte: 68 */ 0x7fca,
+ /* 2nd byte: 69 */ 0x7fd5,
+ /* 2nd byte: 70 */ 0x7fd4,
+ /* 2nd byte: 71 */ 0x7fe1,
+ /* 2nd byte: 72 */ 0x7fe6,
+ /* 2nd byte: 73 */ 0x7fe9,
+ /* 2nd byte: 74 */ 0x7ff3,
+ /* 2nd byte: 75 */ 0x7ff9,
+ /* 2nd byte: 76 */ 0x98dc,
+ /* 2nd byte: 77 */ 0x8006,
+ /* 2nd byte: 78 */ 0x8004,
+ /* 2nd byte: 79 */ 0x800b,
+ /* 2nd byte: 80 */ 0x8012,
+ /* 2nd byte: 81 */ 0x8018,
+ /* 2nd byte: 82 */ 0x8019,
+ /* 2nd byte: 83 */ 0x801c,
+ /* 2nd byte: 84 */ 0x8021,
+ /* 2nd byte: 85 */ 0x8028,
+ /* 2nd byte: 86 */ 0x803f,
+ /* 2nd byte: 87 */ 0x803b,
+ /* 2nd byte: 88 */ 0x804a,
+ /* 2nd byte: 89 */ 0x8046,
+ /* 2nd byte: 90 */ 0x8052,
+ /* 2nd byte: 91 */ 0x8058,
+ /* 2nd byte: 92 */ 0x805a,
+ /* 2nd byte: 93 */ 0x805f,
+ /* 2nd byte: 94 */ 0x8062,
+ /* 2nd byte: 95 */ 0x8068,
+ /* 2nd byte: 96 */ 0x8073,
+ /* 2nd byte: 97 */ 0x8072,
+ /* 2nd byte: 98 */ 0x8070,
+ /* 2nd byte: 99 */ 0x8076,
+ /* 2nd byte: 100 */ 0x8079,
+ /* 2nd byte: 101 */ 0x807d,
+ /* 2nd byte: 102 */ 0x807f,
+ /* 2nd byte: 103 */ 0x8084,
+ /* 2nd byte: 104 */ 0x8086,
+ /* 2nd byte: 105 */ 0x8085,
+ /* 2nd byte: 106 */ 0x809b,
+ /* 2nd byte: 107 */ 0x8093,
+ /* 2nd byte: 108 */ 0x809a,
+ /* 2nd byte: 109 */ 0x80ad,
+ /* 2nd byte: 110 */ 0x5190,
+ /* 2nd byte: 111 */ 0x80ac,
+ /* 2nd byte: 112 */ 0x80db,
+ /* 2nd byte: 113 */ 0x80e5,
+ /* 2nd byte: 114 */ 0x80d9,
+ /* 2nd byte: 115 */ 0x80dd,
+ /* 2nd byte: 116 */ 0x80c4,
+ /* 2nd byte: 117 */ 0x80da,
+ /* 2nd byte: 118 */ 0x80d6,
+ /* 2nd byte: 119 */ 0x8109,
+ /* 2nd byte: 120 */ 0x80ef,
+ /* 2nd byte: 121 */ 0x80f1,
+ /* 2nd byte: 122 */ 0x811b,
+ /* 2nd byte: 123 */ 0x8129,
+ /* 2nd byte: 124 */ 0x8123,
+ /* 2nd byte: 125 */ 0x812f,
+ /* 2nd byte: 126 */ 0x814b},
+/* 1st byte: 103 */ {
+ /* 2nd byte: 33 */ 0x968b,
+ /* 2nd byte: 34 */ 0x8146,
+ /* 2nd byte: 35 */ 0x813e,
+ /* 2nd byte: 36 */ 0x8153,
+ /* 2nd byte: 37 */ 0x8151,
+ /* 2nd byte: 38 */ 0x80fc,
+ /* 2nd byte: 39 */ 0x8171,
+ /* 2nd byte: 40 */ 0x816e,
+ /* 2nd byte: 41 */ 0x8165,
+ /* 2nd byte: 42 */ 0x8166,
+ /* 2nd byte: 43 */ 0x8174,
+ /* 2nd byte: 44 */ 0x8183,
+ /* 2nd byte: 45 */ 0x8188,
+ /* 2nd byte: 46 */ 0x818a,
+ /* 2nd byte: 47 */ 0x8180,
+ /* 2nd byte: 48 */ 0x8182,
+ /* 2nd byte: 49 */ 0x81a0,
+ /* 2nd byte: 50 */ 0x8195,
+ /* 2nd byte: 51 */ 0x81a4,
+ /* 2nd byte: 52 */ 0x81a3,
+ /* 2nd byte: 53 */ 0x815f,
+ /* 2nd byte: 54 */ 0x8193,
+ /* 2nd byte: 55 */ 0x81a9,
+ /* 2nd byte: 56 */ 0x81b0,
+ /* 2nd byte: 57 */ 0x81b5,
+ /* 2nd byte: 58 */ 0x81be,
+ /* 2nd byte: 59 */ 0x81b8,
+ /* 2nd byte: 60 */ 0x81bd,
+ /* 2nd byte: 61 */ 0x81c0,
+ /* 2nd byte: 62 */ 0x81c2,
+ /* 2nd byte: 63 */ 0x81ba,
+ /* 2nd byte: 64 */ 0x81c9,
+ /* 2nd byte: 65 */ 0x81cd,
+ /* 2nd byte: 66 */ 0x81d1,
+ /* 2nd byte: 67 */ 0x81d9,
+ /* 2nd byte: 68 */ 0x81d8,
+ /* 2nd byte: 69 */ 0x81c8,
+ /* 2nd byte: 70 */ 0x81da,
+ /* 2nd byte: 71 */ 0x81df,
+ /* 2nd byte: 72 */ 0x81e0,
+ /* 2nd byte: 73 */ 0x81e7,
+ /* 2nd byte: 74 */ 0x81fa,
+ /* 2nd byte: 75 */ 0x81fb,
+ /* 2nd byte: 76 */ 0x81fe,
+ /* 2nd byte: 77 */ 0x8201,
+ /* 2nd byte: 78 */ 0x8202,
+ /* 2nd byte: 79 */ 0x8205,
+ /* 2nd byte: 80 */ 0x8207,
+ /* 2nd byte: 81 */ 0x820a,
+ /* 2nd byte: 82 */ 0x820d,
+ /* 2nd byte: 83 */ 0x8210,
+ /* 2nd byte: 84 */ 0x8216,
+ /* 2nd byte: 85 */ 0x8229,
+ /* 2nd byte: 86 */ 0x822b,
+ /* 2nd byte: 87 */ 0x8238,
+ /* 2nd byte: 88 */ 0x8233,
+ /* 2nd byte: 89 */ 0x8240,
+ /* 2nd byte: 90 */ 0x8259,
+ /* 2nd byte: 91 */ 0x8258,
+ /* 2nd byte: 92 */ 0x825d,
+ /* 2nd byte: 93 */ 0x825a,
+ /* 2nd byte: 94 */ 0x825f,
+ /* 2nd byte: 95 */ 0x8264,
+ /* 2nd byte: 96 */ 0x8262,
+ /* 2nd byte: 97 */ 0x8268,
+ /* 2nd byte: 98 */ 0x826a,
+ /* 2nd byte: 99 */ 0x826b,
+ /* 2nd byte: 100 */ 0x822e,
+ /* 2nd byte: 101 */ 0x8271,
+ /* 2nd byte: 102 */ 0x8277,
+ /* 2nd byte: 103 */ 0x8278,
+ /* 2nd byte: 104 */ 0x827e,
+ /* 2nd byte: 105 */ 0x828d,
+ /* 2nd byte: 106 */ 0x8292,
+ /* 2nd byte: 107 */ 0x82ab,
+ /* 2nd byte: 108 */ 0x829f,
+ /* 2nd byte: 109 */ 0x82bb,
+ /* 2nd byte: 110 */ 0x82ac,
+ /* 2nd byte: 111 */ 0x82e1,
+ /* 2nd byte: 112 */ 0x82e3,
+ /* 2nd byte: 113 */ 0x82df,
+ /* 2nd byte: 114 */ 0x82d2,
+ /* 2nd byte: 115 */ 0x82f4,
+ /* 2nd byte: 116 */ 0x82f3,
+ /* 2nd byte: 117 */ 0x82fa,
+ /* 2nd byte: 118 */ 0x8393,
+ /* 2nd byte: 119 */ 0x8303,
+ /* 2nd byte: 120 */ 0x82fb,
+ /* 2nd byte: 121 */ 0x82f9,
+ /* 2nd byte: 122 */ 0x82de,
+ /* 2nd byte: 123 */ 0x8306,
+ /* 2nd byte: 124 */ 0x82dc,
+ /* 2nd byte: 125 */ 0x8309,
+ /* 2nd byte: 126 */ 0x82d9},
+/* 1st byte: 104 */ {
+ /* 2nd byte: 33 */ 0x8335,
+ /* 2nd byte: 34 */ 0x8334,
+ /* 2nd byte: 35 */ 0x8316,
+ /* 2nd byte: 36 */ 0x8332,
+ /* 2nd byte: 37 */ 0x8331,
+ /* 2nd byte: 38 */ 0x8340,
+ /* 2nd byte: 39 */ 0x8339,
+ /* 2nd byte: 40 */ 0x8350,
+ /* 2nd byte: 41 */ 0x8345,
+ /* 2nd byte: 42 */ 0x832f,
+ /* 2nd byte: 43 */ 0x832b,
+ /* 2nd byte: 44 */ 0x8317,
+ /* 2nd byte: 45 */ 0x8318,
+ /* 2nd byte: 46 */ 0x8385,
+ /* 2nd byte: 47 */ 0x839a,
+ /* 2nd byte: 48 */ 0x83aa,
+ /* 2nd byte: 49 */ 0x839f,
+ /* 2nd byte: 50 */ 0x83a2,
+ /* 2nd byte: 51 */ 0x8396,
+ /* 2nd byte: 52 */ 0x8323,
+ /* 2nd byte: 53 */ 0x838e,
+ /* 2nd byte: 54 */ 0x8387,
+ /* 2nd byte: 55 */ 0x838a,
+ /* 2nd byte: 56 */ 0x837c,
+ /* 2nd byte: 57 */ 0x83b5,
+ /* 2nd byte: 58 */ 0x8373,
+ /* 2nd byte: 59 */ 0x8375,
+ /* 2nd byte: 60 */ 0x83a0,
+ /* 2nd byte: 61 */ 0x8389,
+ /* 2nd byte: 62 */ 0x83a8,
+ /* 2nd byte: 63 */ 0x83f4,
+ /* 2nd byte: 64 */ 0x8413,
+ /* 2nd byte: 65 */ 0x83eb,
+ /* 2nd byte: 66 */ 0x83ce,
+ /* 2nd byte: 67 */ 0x83fd,
+ /* 2nd byte: 68 */ 0x8403,
+ /* 2nd byte: 69 */ 0x83d8,
+ /* 2nd byte: 70 */ 0x840b,
+ /* 2nd byte: 71 */ 0x83c1,
+ /* 2nd byte: 72 */ 0x83f7,
+ /* 2nd byte: 73 */ 0x8407,
+ /* 2nd byte: 74 */ 0x83e0,
+ /* 2nd byte: 75 */ 0x83f2,
+ /* 2nd byte: 76 */ 0x840d,
+ /* 2nd byte: 77 */ 0x8422,
+ /* 2nd byte: 78 */ 0x8420,
+ /* 2nd byte: 79 */ 0x83bd,
+ /* 2nd byte: 80 */ 0x8438,
+ /* 2nd byte: 81 */ 0x8506,
+ /* 2nd byte: 82 */ 0x83fb,
+ /* 2nd byte: 83 */ 0x846d,
+ /* 2nd byte: 84 */ 0x842a,
+ /* 2nd byte: 85 */ 0x843c,
+ /* 2nd byte: 86 */ 0x855a,
+ /* 2nd byte: 87 */ 0x8484,
+ /* 2nd byte: 88 */ 0x8477,
+ /* 2nd byte: 89 */ 0x846b,
+ /* 2nd byte: 90 */ 0x84ad,
+ /* 2nd byte: 91 */ 0x846e,
+ /* 2nd byte: 92 */ 0x8482,
+ /* 2nd byte: 93 */ 0x8469,
+ /* 2nd byte: 94 */ 0x8446,
+ /* 2nd byte: 95 */ 0x842c,
+ /* 2nd byte: 96 */ 0x846f,
+ /* 2nd byte: 97 */ 0x8479,
+ /* 2nd byte: 98 */ 0x8435,
+ /* 2nd byte: 99 */ 0x84ca,
+ /* 2nd byte: 100 */ 0x8462,
+ /* 2nd byte: 101 */ 0x84b9,
+ /* 2nd byte: 102 */ 0x84bf,
+ /* 2nd byte: 103 */ 0x849f,
+ /* 2nd byte: 104 */ 0x84d9,
+ /* 2nd byte: 105 */ 0x84cd,
+ /* 2nd byte: 106 */ 0x84bb,
+ /* 2nd byte: 107 */ 0x84da,
+ /* 2nd byte: 108 */ 0x84d0,
+ /* 2nd byte: 109 */ 0x84c1,
+ /* 2nd byte: 110 */ 0x84c6,
+ /* 2nd byte: 111 */ 0x84d6,
+ /* 2nd byte: 112 */ 0x84a1,
+ /* 2nd byte: 113 */ 0x8521,
+ /* 2nd byte: 114 */ 0x84ff,
+ /* 2nd byte: 115 */ 0x84f4,
+ /* 2nd byte: 116 */ 0x8517,
+ /* 2nd byte: 117 */ 0x8518,
+ /* 2nd byte: 118 */ 0x852c,
+ /* 2nd byte: 119 */ 0x851f,
+ /* 2nd byte: 120 */ 0x8515,
+ /* 2nd byte: 121 */ 0x8514,
+ /* 2nd byte: 122 */ 0x84fc,
+ /* 2nd byte: 123 */ 0x8540,
+ /* 2nd byte: 124 */ 0x8563,
+ /* 2nd byte: 125 */ 0x8558,
+ /* 2nd byte: 126 */ 0x8548},
+/* 1st byte: 105 */ {
+ /* 2nd byte: 33 */ 0x8541,
+ /* 2nd byte: 34 */ 0x8602,
+ /* 2nd byte: 35 */ 0x854b,
+ /* 2nd byte: 36 */ 0x8555,
+ /* 2nd byte: 37 */ 0x8580,
+ /* 2nd byte: 38 */ 0x85a4,
+ /* 2nd byte: 39 */ 0x8588,
+ /* 2nd byte: 40 */ 0x8591,
+ /* 2nd byte: 41 */ 0x858a,
+ /* 2nd byte: 42 */ 0x85a8,
+ /* 2nd byte: 43 */ 0x856d,
+ /* 2nd byte: 44 */ 0x8594,
+ /* 2nd byte: 45 */ 0x859b,
+ /* 2nd byte: 46 */ 0x85ea,
+ /* 2nd byte: 47 */ 0x8587,
+ /* 2nd byte: 48 */ 0x859c,
+ /* 2nd byte: 49 */ 0x8577,
+ /* 2nd byte: 50 */ 0x857e,
+ /* 2nd byte: 51 */ 0x8590,
+ /* 2nd byte: 52 */ 0x85c9,
+ /* 2nd byte: 53 */ 0x85ba,
+ /* 2nd byte: 54 */ 0x85cf,
+ /* 2nd byte: 55 */ 0x85b9,
+ /* 2nd byte: 56 */ 0x85d0,
+ /* 2nd byte: 57 */ 0x85d5,
+ /* 2nd byte: 58 */ 0x85dd,
+ /* 2nd byte: 59 */ 0x85e5,
+ /* 2nd byte: 60 */ 0x85dc,
+ /* 2nd byte: 61 */ 0x85f9,
+ /* 2nd byte: 62 */ 0x860a,
+ /* 2nd byte: 63 */ 0x8613,
+ /* 2nd byte: 64 */ 0x860b,
+ /* 2nd byte: 65 */ 0x85fe,
+ /* 2nd byte: 66 */ 0x85fa,
+ /* 2nd byte: 67 */ 0x8606,
+ /* 2nd byte: 68 */ 0x8622,
+ /* 2nd byte: 69 */ 0x861a,
+ /* 2nd byte: 70 */ 0x8630,
+ /* 2nd byte: 71 */ 0x863f,
+ /* 2nd byte: 72 */ 0x864d,
+ /* 2nd byte: 73 */ 0x4e55,
+ /* 2nd byte: 74 */ 0x8654,
+ /* 2nd byte: 75 */ 0x865f,
+ /* 2nd byte: 76 */ 0x8667,
+ /* 2nd byte: 77 */ 0x8671,
+ /* 2nd byte: 78 */ 0x8693,
+ /* 2nd byte: 79 */ 0x86a3,
+ /* 2nd byte: 80 */ 0x86a9,
+ /* 2nd byte: 81 */ 0x86aa,
+ /* 2nd byte: 82 */ 0x868b,
+ /* 2nd byte: 83 */ 0x868c,
+ /* 2nd byte: 84 */ 0x86b6,
+ /* 2nd byte: 85 */ 0x86af,
+ /* 2nd byte: 86 */ 0x86c4,
+ /* 2nd byte: 87 */ 0x86c6,
+ /* 2nd byte: 88 */ 0x86b0,
+ /* 2nd byte: 89 */ 0x86c9,
+ /* 2nd byte: 90 */ 0x8823,
+ /* 2nd byte: 91 */ 0x86ab,
+ /* 2nd byte: 92 */ 0x86d4,
+ /* 2nd byte: 93 */ 0x86de,
+ /* 2nd byte: 94 */ 0x86e9,
+ /* 2nd byte: 95 */ 0x86ec,
+ /* 2nd byte: 96 */ 0x86df,
+ /* 2nd byte: 97 */ 0x86db,
+ /* 2nd byte: 98 */ 0x86ef,
+ /* 2nd byte: 99 */ 0x8712,
+ /* 2nd byte: 100 */ 0x8706,
+ /* 2nd byte: 101 */ 0x8708,
+ /* 2nd byte: 102 */ 0x8700,
+ /* 2nd byte: 103 */ 0x8703,
+ /* 2nd byte: 104 */ 0x86fb,
+ /* 2nd byte: 105 */ 0x8711,
+ /* 2nd byte: 106 */ 0x8709,
+ /* 2nd byte: 107 */ 0x870d,
+ /* 2nd byte: 108 */ 0x86f9,
+ /* 2nd byte: 109 */ 0x870a,
+ /* 2nd byte: 110 */ 0x8734,
+ /* 2nd byte: 111 */ 0x873f,
+ /* 2nd byte: 112 */ 0x8737,
+ /* 2nd byte: 113 */ 0x873b,
+ /* 2nd byte: 114 */ 0x8725,
+ /* 2nd byte: 115 */ 0x8729,
+ /* 2nd byte: 116 */ 0x871a,
+ /* 2nd byte: 117 */ 0x8760,
+ /* 2nd byte: 118 */ 0x875f,
+ /* 2nd byte: 119 */ 0x8778,
+ /* 2nd byte: 120 */ 0x874c,
+ /* 2nd byte: 121 */ 0x874e,
+ /* 2nd byte: 122 */ 0x8774,
+ /* 2nd byte: 123 */ 0x8757,
+ /* 2nd byte: 124 */ 0x8768,
+ /* 2nd byte: 125 */ 0x876e,
+ /* 2nd byte: 126 */ 0x8759},
+/* 1st byte: 106 */ {
+ /* 2nd byte: 33 */ 0x8753,
+ /* 2nd byte: 34 */ 0x8763,
+ /* 2nd byte: 35 */ 0x876a,
+ /* 2nd byte: 36 */ 0x8805,
+ /* 2nd byte: 37 */ 0x87a2,
+ /* 2nd byte: 38 */ 0x879f,
+ /* 2nd byte: 39 */ 0x8782,
+ /* 2nd byte: 40 */ 0x87af,
+ /* 2nd byte: 41 */ 0x87cb,
+ /* 2nd byte: 42 */ 0x87bd,
+ /* 2nd byte: 43 */ 0x87c0,
+ /* 2nd byte: 44 */ 0x87d0,
+ /* 2nd byte: 45 */ 0x96d6,
+ /* 2nd byte: 46 */ 0x87ab,
+ /* 2nd byte: 47 */ 0x87c4,
+ /* 2nd byte: 48 */ 0x87b3,
+ /* 2nd byte: 49 */ 0x87c7,
+ /* 2nd byte: 50 */ 0x87c6,
+ /* 2nd byte: 51 */ 0x87bb,
+ /* 2nd byte: 52 */ 0x87ef,
+ /* 2nd byte: 53 */ 0x87f2,
+ /* 2nd byte: 54 */ 0x87e0,
+ /* 2nd byte: 55 */ 0x880f,
+ /* 2nd byte: 56 */ 0x880d,
+ /* 2nd byte: 57 */ 0x87fe,
+ /* 2nd byte: 58 */ 0x87f6,
+ /* 2nd byte: 59 */ 0x87f7,
+ /* 2nd byte: 60 */ 0x880e,
+ /* 2nd byte: 61 */ 0x87d2,
+ /* 2nd byte: 62 */ 0x8811,
+ /* 2nd byte: 63 */ 0x8816,
+ /* 2nd byte: 64 */ 0x8815,
+ /* 2nd byte: 65 */ 0x8822,
+ /* 2nd byte: 66 */ 0x8821,
+ /* 2nd byte: 67 */ 0x8831,
+ /* 2nd byte: 68 */ 0x8836,
+ /* 2nd byte: 69 */ 0x8839,
+ /* 2nd byte: 70 */ 0x8827,
+ /* 2nd byte: 71 */ 0x883b,
+ /* 2nd byte: 72 */ 0x8844,
+ /* 2nd byte: 73 */ 0x8842,
+ /* 2nd byte: 74 */ 0x8852,
+ /* 2nd byte: 75 */ 0x8859,
+ /* 2nd byte: 76 */ 0x885e,
+ /* 2nd byte: 77 */ 0x8862,
+ /* 2nd byte: 78 */ 0x886b,
+ /* 2nd byte: 79 */ 0x8881,
+ /* 2nd byte: 80 */ 0x887e,
+ /* 2nd byte: 81 */ 0x889e,
+ /* 2nd byte: 82 */ 0x8875,
+ /* 2nd byte: 83 */ 0x887d,
+ /* 2nd byte: 84 */ 0x88b5,
+ /* 2nd byte: 85 */ 0x8872,
+ /* 2nd byte: 86 */ 0x8882,
+ /* 2nd byte: 87 */ 0x8897,
+ /* 2nd byte: 88 */ 0x8892,
+ /* 2nd byte: 89 */ 0x88ae,
+ /* 2nd byte: 90 */ 0x8899,
+ /* 2nd byte: 91 */ 0x88a2,
+ /* 2nd byte: 92 */ 0x888d,
+ /* 2nd byte: 93 */ 0x88a4,
+ /* 2nd byte: 94 */ 0x88b0,
+ /* 2nd byte: 95 */ 0x88bf,
+ /* 2nd byte: 96 */ 0x88b1,
+ /* 2nd byte: 97 */ 0x88c3,
+ /* 2nd byte: 98 */ 0x88c4,
+ /* 2nd byte: 99 */ 0x88d4,
+ /* 2nd byte: 100 */ 0x88d8,
+ /* 2nd byte: 101 */ 0x88d9,
+ /* 2nd byte: 102 */ 0x88dd,
+ /* 2nd byte: 103 */ 0x88f9,
+ /* 2nd byte: 104 */ 0x8902,
+ /* 2nd byte: 105 */ 0x88fc,
+ /* 2nd byte: 106 */ 0x88f4,
+ /* 2nd byte: 107 */ 0x88e8,
+ /* 2nd byte: 108 */ 0x88f2,
+ /* 2nd byte: 109 */ 0x8904,
+ /* 2nd byte: 110 */ 0x890c,
+ /* 2nd byte: 111 */ 0x890a,
+ /* 2nd byte: 112 */ 0x8913,
+ /* 2nd byte: 113 */ 0x8943,
+ /* 2nd byte: 114 */ 0x891e,
+ /* 2nd byte: 115 */ 0x8925,
+ /* 2nd byte: 116 */ 0x892a,
+ /* 2nd byte: 117 */ 0x892b,
+ /* 2nd byte: 118 */ 0x8941,
+ /* 2nd byte: 119 */ 0x8944,
+ /* 2nd byte: 120 */ 0x893b,
+ /* 2nd byte: 121 */ 0x8936,
+ /* 2nd byte: 122 */ 0x8938,
+ /* 2nd byte: 123 */ 0x894c,
+ /* 2nd byte: 124 */ 0x891d,
+ /* 2nd byte: 125 */ 0x8960,
+ /* 2nd byte: 126 */ 0x895e},
+/* 1st byte: 107 */ {
+ /* 2nd byte: 33 */ 0x8966,
+ /* 2nd byte: 34 */ 0x8964,
+ /* 2nd byte: 35 */ 0x896d,
+ /* 2nd byte: 36 */ 0x896a,
+ /* 2nd byte: 37 */ 0x896f,
+ /* 2nd byte: 38 */ 0x8974,
+ /* 2nd byte: 39 */ 0x8977,
+ /* 2nd byte: 40 */ 0x897e,
+ /* 2nd byte: 41 */ 0x8983,
+ /* 2nd byte: 42 */ 0x8988,
+ /* 2nd byte: 43 */ 0x898a,
+ /* 2nd byte: 44 */ 0x8993,
+ /* 2nd byte: 45 */ 0x8998,
+ /* 2nd byte: 46 */ 0x89a1,
+ /* 2nd byte: 47 */ 0x89a9,
+ /* 2nd byte: 48 */ 0x89a6,
+ /* 2nd byte: 49 */ 0x89ac,
+ /* 2nd byte: 50 */ 0x89af,
+ /* 2nd byte: 51 */ 0x89b2,
+ /* 2nd byte: 52 */ 0x89ba,
+ /* 2nd byte: 53 */ 0x89bd,
+ /* 2nd byte: 54 */ 0x89bf,
+ /* 2nd byte: 55 */ 0x89c0,
+ /* 2nd byte: 56 */ 0x89da,
+ /* 2nd byte: 57 */ 0x89dc,
+ /* 2nd byte: 58 */ 0x89dd,
+ /* 2nd byte: 59 */ 0x89e7,
+ /* 2nd byte: 60 */ 0x89f4,
+ /* 2nd byte: 61 */ 0x89f8,
+ /* 2nd byte: 62 */ 0x8a03,
+ /* 2nd byte: 63 */ 0x8a16,
+ /* 2nd byte: 64 */ 0x8a10,
+ /* 2nd byte: 65 */ 0x8a0c,
+ /* 2nd byte: 66 */ 0x8a1b,
+ /* 2nd byte: 67 */ 0x8a1d,
+ /* 2nd byte: 68 */ 0x8a25,
+ /* 2nd byte: 69 */ 0x8a36,
+ /* 2nd byte: 70 */ 0x8a41,
+ /* 2nd byte: 71 */ 0x8a5b,
+ /* 2nd byte: 72 */ 0x8a52,
+ /* 2nd byte: 73 */ 0x8a46,
+ /* 2nd byte: 74 */ 0x8a48,
+ /* 2nd byte: 75 */ 0x8a7c,
+ /* 2nd byte: 76 */ 0x8a6d,
+ /* 2nd byte: 77 */ 0x8a6c,
+ /* 2nd byte: 78 */ 0x8a62,
+ /* 2nd byte: 79 */ 0x8a85,
+ /* 2nd byte: 80 */ 0x8a82,
+ /* 2nd byte: 81 */ 0x8a84,
+ /* 2nd byte: 82 */ 0x8aa8,
+ /* 2nd byte: 83 */ 0x8aa1,
+ /* 2nd byte: 84 */ 0x8a91,
+ /* 2nd byte: 85 */ 0x8aa5,
+ /* 2nd byte: 86 */ 0x8aa6,
+ /* 2nd byte: 87 */ 0x8a9a,
+ /* 2nd byte: 88 */ 0x8aa3,
+ /* 2nd byte: 89 */ 0x8ac4,
+ /* 2nd byte: 90 */ 0x8acd,
+ /* 2nd byte: 91 */ 0x8ac2,
+ /* 2nd byte: 92 */ 0x8ada,
+ /* 2nd byte: 93 */ 0x8aeb,
+ /* 2nd byte: 94 */ 0x8af3,
+ /* 2nd byte: 95 */ 0x8ae7,
+ /* 2nd byte: 96 */ 0x8ae4,
+ /* 2nd byte: 97 */ 0x8af1,
+ /* 2nd byte: 98 */ 0x8b14,
+ /* 2nd byte: 99 */ 0x8ae0,
+ /* 2nd byte: 100 */ 0x8ae2,
+ /* 2nd byte: 101 */ 0x8af7,
+ /* 2nd byte: 102 */ 0x8ade,
+ /* 2nd byte: 103 */ 0x8adb,
+ /* 2nd byte: 104 */ 0x8b0c,
+ /* 2nd byte: 105 */ 0x8b07,
+ /* 2nd byte: 106 */ 0x8b1a,
+ /* 2nd byte: 107 */ 0x8ae1,
+ /* 2nd byte: 108 */ 0x8b16,
+ /* 2nd byte: 109 */ 0x8b10,
+ /* 2nd byte: 110 */ 0x8b17,
+ /* 2nd byte: 111 */ 0x8b20,
+ /* 2nd byte: 112 */ 0x8b33,
+ /* 2nd byte: 113 */ 0x97ab,
+ /* 2nd byte: 114 */ 0x8b26,
+ /* 2nd byte: 115 */ 0x8b2b,
+ /* 2nd byte: 116 */ 0x8b3e,
+ /* 2nd byte: 117 */ 0x8b28,
+ /* 2nd byte: 118 */ 0x8b41,
+ /* 2nd byte: 119 */ 0x8b4c,
+ /* 2nd byte: 120 */ 0x8b4f,
+ /* 2nd byte: 121 */ 0x8b4e,
+ /* 2nd byte: 122 */ 0x8b49,
+ /* 2nd byte: 123 */ 0x8b56,
+ /* 2nd byte: 124 */ 0x8b5b,
+ /* 2nd byte: 125 */ 0x8b5a,
+ /* 2nd byte: 126 */ 0x8b6b},
+/* 1st byte: 108 */ {
+ /* 2nd byte: 33 */ 0x8b5f,
+ /* 2nd byte: 34 */ 0x8b6c,
+ /* 2nd byte: 35 */ 0x8b6f,
+ /* 2nd byte: 36 */ 0x8b74,
+ /* 2nd byte: 37 */ 0x8b7d,
+ /* 2nd byte: 38 */ 0x8b80,
+ /* 2nd byte: 39 */ 0x8b8c,
+ /* 2nd byte: 40 */ 0x8b8e,
+ /* 2nd byte: 41 */ 0x8b92,
+ /* 2nd byte: 42 */ 0x8b93,
+ /* 2nd byte: 43 */ 0x8b96,
+ /* 2nd byte: 44 */ 0x8b99,
+ /* 2nd byte: 45 */ 0x8b9a,
+ /* 2nd byte: 46 */ 0x8c3a,
+ /* 2nd byte: 47 */ 0x8c41,
+ /* 2nd byte: 48 */ 0x8c3f,
+ /* 2nd byte: 49 */ 0x8c48,
+ /* 2nd byte: 50 */ 0x8c4c,
+ /* 2nd byte: 51 */ 0x8c4e,
+ /* 2nd byte: 52 */ 0x8c50,
+ /* 2nd byte: 53 */ 0x8c55,
+ /* 2nd byte: 54 */ 0x8c62,
+ /* 2nd byte: 55 */ 0x8c6c,
+ /* 2nd byte: 56 */ 0x8c78,
+ /* 2nd byte: 57 */ 0x8c7a,
+ /* 2nd byte: 58 */ 0x8c82,
+ /* 2nd byte: 59 */ 0x8c89,
+ /* 2nd byte: 60 */ 0x8c85,
+ /* 2nd byte: 61 */ 0x8c8a,
+ /* 2nd byte: 62 */ 0x8c8d,
+ /* 2nd byte: 63 */ 0x8c8e,
+ /* 2nd byte: 64 */ 0x8c94,
+ /* 2nd byte: 65 */ 0x8c7c,
+ /* 2nd byte: 66 */ 0x8c98,
+ /* 2nd byte: 67 */ 0x621d,
+ /* 2nd byte: 68 */ 0x8cad,
+ /* 2nd byte: 69 */ 0x8caa,
+ /* 2nd byte: 70 */ 0x8cbd,
+ /* 2nd byte: 71 */ 0x8cb2,
+ /* 2nd byte: 72 */ 0x8cb3,
+ /* 2nd byte: 73 */ 0x8cae,
+ /* 2nd byte: 74 */ 0x8cb6,
+ /* 2nd byte: 75 */ 0x8cc8,
+ /* 2nd byte: 76 */ 0x8cc1,
+ /* 2nd byte: 77 */ 0x8ce4,
+ /* 2nd byte: 78 */ 0x8ce3,
+ /* 2nd byte: 79 */ 0x8cda,
+ /* 2nd byte: 80 */ 0x8cfd,
+ /* 2nd byte: 81 */ 0x8cfa,
+ /* 2nd byte: 82 */ 0x8cfb,
+ /* 2nd byte: 83 */ 0x8d04,
+ /* 2nd byte: 84 */ 0x8d05,
+ /* 2nd byte: 85 */ 0x8d0a,
+ /* 2nd byte: 86 */ 0x8d07,
+ /* 2nd byte: 87 */ 0x8d0f,
+ /* 2nd byte: 88 */ 0x8d0d,
+ /* 2nd byte: 89 */ 0x8d10,
+ /* 2nd byte: 90 */ 0x9f4e,
+ /* 2nd byte: 91 */ 0x8d13,
+ /* 2nd byte: 92 */ 0x8ccd,
+ /* 2nd byte: 93 */ 0x8d14,
+ /* 2nd byte: 94 */ 0x8d16,
+ /* 2nd byte: 95 */ 0x8d67,
+ /* 2nd byte: 96 */ 0x8d6d,
+ /* 2nd byte: 97 */ 0x8d71,
+ /* 2nd byte: 98 */ 0x8d73,
+ /* 2nd byte: 99 */ 0x8d81,
+ /* 2nd byte: 100 */ 0x8d99,
+ /* 2nd byte: 101 */ 0x8dc2,
+ /* 2nd byte: 102 */ 0x8dbe,
+ /* 2nd byte: 103 */ 0x8dba,
+ /* 2nd byte: 104 */ 0x8dcf,
+ /* 2nd byte: 105 */ 0x8dda,
+ /* 2nd byte: 106 */ 0x8dd6,
+ /* 2nd byte: 107 */ 0x8dcc,
+ /* 2nd byte: 108 */ 0x8ddb,
+ /* 2nd byte: 109 */ 0x8dcb,
+ /* 2nd byte: 110 */ 0x8dea,
+ /* 2nd byte: 111 */ 0x8deb,
+ /* 2nd byte: 112 */ 0x8ddf,
+ /* 2nd byte: 113 */ 0x8de3,
+ /* 2nd byte: 114 */ 0x8dfc,
+ /* 2nd byte: 115 */ 0x8e08,
+ /* 2nd byte: 116 */ 0x8e09,
+ /* 2nd byte: 117 */ 0x8dff,
+ /* 2nd byte: 118 */ 0x8e1d,
+ /* 2nd byte: 119 */ 0x8e1e,
+ /* 2nd byte: 120 */ 0x8e10,
+ /* 2nd byte: 121 */ 0x8e1f,
+ /* 2nd byte: 122 */ 0x8e42,
+ /* 2nd byte: 123 */ 0x8e35,
+ /* 2nd byte: 124 */ 0x8e30,
+ /* 2nd byte: 125 */ 0x8e34,
+ /* 2nd byte: 126 */ 0x8e4a},
+/* 1st byte: 109 */ {
+ /* 2nd byte: 33 */ 0x8e47,
+ /* 2nd byte: 34 */ 0x8e49,
+ /* 2nd byte: 35 */ 0x8e4c,
+ /* 2nd byte: 36 */ 0x8e50,
+ /* 2nd byte: 37 */ 0x8e48,
+ /* 2nd byte: 38 */ 0x8e59,
+ /* 2nd byte: 39 */ 0x8e64,
+ /* 2nd byte: 40 */ 0x8e60,
+ /* 2nd byte: 41 */ 0x8e2a,
+ /* 2nd byte: 42 */ 0x8e63,
+ /* 2nd byte: 43 */ 0x8e55,
+ /* 2nd byte: 44 */ 0x8e76,
+ /* 2nd byte: 45 */ 0x8e72,
+ /* 2nd byte: 46 */ 0x8e7c,
+ /* 2nd byte: 47 */ 0x8e81,
+ /* 2nd byte: 48 */ 0x8e87,
+ /* 2nd byte: 49 */ 0x8e85,
+ /* 2nd byte: 50 */ 0x8e84,
+ /* 2nd byte: 51 */ 0x8e8b,
+ /* 2nd byte: 52 */ 0x8e8a,
+ /* 2nd byte: 53 */ 0x8e93,
+ /* 2nd byte: 54 */ 0x8e91,
+ /* 2nd byte: 55 */ 0x8e94,
+ /* 2nd byte: 56 */ 0x8e99,
+ /* 2nd byte: 57 */ 0x8eaa,
+ /* 2nd byte: 58 */ 0x8ea1,
+ /* 2nd byte: 59 */ 0x8eac,
+ /* 2nd byte: 60 */ 0x8eb0,
+ /* 2nd byte: 61 */ 0x8ec6,
+ /* 2nd byte: 62 */ 0x8eb1,
+ /* 2nd byte: 63 */ 0x8ebe,
+ /* 2nd byte: 64 */ 0x8ec5,
+ /* 2nd byte: 65 */ 0x8ec8,
+ /* 2nd byte: 66 */ 0x8ecb,
+ /* 2nd byte: 67 */ 0x8edb,
+ /* 2nd byte: 68 */ 0x8ee3,
+ /* 2nd byte: 69 */ 0x8efc,
+ /* 2nd byte: 70 */ 0x8efb,
+ /* 2nd byte: 71 */ 0x8eeb,
+ /* 2nd byte: 72 */ 0x8efe,
+ /* 2nd byte: 73 */ 0x8f0a,
+ /* 2nd byte: 74 */ 0x8f05,
+ /* 2nd byte: 75 */ 0x8f15,
+ /* 2nd byte: 76 */ 0x8f12,
+ /* 2nd byte: 77 */ 0x8f19,
+ /* 2nd byte: 78 */ 0x8f13,
+ /* 2nd byte: 79 */ 0x8f1c,
+ /* 2nd byte: 80 */ 0x8f1f,
+ /* 2nd byte: 81 */ 0x8f1b,
+ /* 2nd byte: 82 */ 0x8f0c,
+ /* 2nd byte: 83 */ 0x8f26,
+ /* 2nd byte: 84 */ 0x8f33,
+ /* 2nd byte: 85 */ 0x8f3b,
+ /* 2nd byte: 86 */ 0x8f39,
+ /* 2nd byte: 87 */ 0x8f45,
+ /* 2nd byte: 88 */ 0x8f42,
+ /* 2nd byte: 89 */ 0x8f3e,
+ /* 2nd byte: 90 */ 0x8f4c,
+ /* 2nd byte: 91 */ 0x8f49,
+ /* 2nd byte: 92 */ 0x8f46,
+ /* 2nd byte: 93 */ 0x8f4e,
+ /* 2nd byte: 94 */ 0x8f57,
+ /* 2nd byte: 95 */ 0x8f5c,
+ /* 2nd byte: 96 */ 0x8f62,
+ /* 2nd byte: 97 */ 0x8f63,
+ /* 2nd byte: 98 */ 0x8f64,
+ /* 2nd byte: 99 */ 0x8f9c,
+ /* 2nd byte: 100 */ 0x8f9f,
+ /* 2nd byte: 101 */ 0x8fa3,
+ /* 2nd byte: 102 */ 0x8fad,
+ /* 2nd byte: 103 */ 0x8faf,
+ /* 2nd byte: 104 */ 0x8fb7,
+ /* 2nd byte: 105 */ 0x8fda,
+ /* 2nd byte: 106 */ 0x8fe5,
+ /* 2nd byte: 107 */ 0x8fe2,
+ /* 2nd byte: 108 */ 0x8fea,
+ /* 2nd byte: 109 */ 0x8fef,
+ /* 2nd byte: 110 */ 0x9087,
+ /* 2nd byte: 111 */ 0x8ff4,
+ /* 2nd byte: 112 */ 0x9005,
+ /* 2nd byte: 113 */ 0x8ff9,
+ /* 2nd byte: 114 */ 0x8ffa,
+ /* 2nd byte: 115 */ 0x9011,
+ /* 2nd byte: 116 */ 0x9015,
+ /* 2nd byte: 117 */ 0x9021,
+ /* 2nd byte: 118 */ 0x900d,
+ /* 2nd byte: 119 */ 0x901e,
+ /* 2nd byte: 120 */ 0x9016,
+ /* 2nd byte: 121 */ 0x900b,
+ /* 2nd byte: 122 */ 0x9027,
+ /* 2nd byte: 123 */ 0x9036,
+ /* 2nd byte: 124 */ 0x9035,
+ /* 2nd byte: 125 */ 0x9039,
+ /* 2nd byte: 126 */ 0x8ff8},
+/* 1st byte: 110 */ {
+ /* 2nd byte: 33 */ 0x904f,
+ /* 2nd byte: 34 */ 0x9050,
+ /* 2nd byte: 35 */ 0x9051,
+ /* 2nd byte: 36 */ 0x9052,
+ /* 2nd byte: 37 */ 0x900e,
+ /* 2nd byte: 38 */ 0x9049,
+ /* 2nd byte: 39 */ 0x903e,
+ /* 2nd byte: 40 */ 0x9056,
+ /* 2nd byte: 41 */ 0x9058,
+ /* 2nd byte: 42 */ 0x905e,
+ /* 2nd byte: 43 */ 0x9068,
+ /* 2nd byte: 44 */ 0x906f,
+ /* 2nd byte: 45 */ 0x9076,
+ /* 2nd byte: 46 */ 0x96a8,
+ /* 2nd byte: 47 */ 0x9072,
+ /* 2nd byte: 48 */ 0x9082,
+ /* 2nd byte: 49 */ 0x907d,
+ /* 2nd byte: 50 */ 0x9081,
+ /* 2nd byte: 51 */ 0x9080,
+ /* 2nd byte: 52 */ 0x908a,
+ /* 2nd byte: 53 */ 0x9089,
+ /* 2nd byte: 54 */ 0x908f,
+ /* 2nd byte: 55 */ 0x90a8,
+ /* 2nd byte: 56 */ 0x90af,
+ /* 2nd byte: 57 */ 0x90b1,
+ /* 2nd byte: 58 */ 0x90b5,
+ /* 2nd byte: 59 */ 0x90e2,
+ /* 2nd byte: 60 */ 0x90e4,
+ /* 2nd byte: 61 */ 0x6248,
+ /* 2nd byte: 62 */ 0x90db,
+ /* 2nd byte: 63 */ 0x9102,
+ /* 2nd byte: 64 */ 0x9112,
+ /* 2nd byte: 65 */ 0x9119,
+ /* 2nd byte: 66 */ 0x9132,
+ /* 2nd byte: 67 */ 0x9130,
+ /* 2nd byte: 68 */ 0x914a,
+ /* 2nd byte: 69 */ 0x9156,
+ /* 2nd byte: 70 */ 0x9158,
+ /* 2nd byte: 71 */ 0x9163,
+ /* 2nd byte: 72 */ 0x9165,
+ /* 2nd byte: 73 */ 0x9169,
+ /* 2nd byte: 74 */ 0x9173,
+ /* 2nd byte: 75 */ 0x9172,
+ /* 2nd byte: 76 */ 0x918b,
+ /* 2nd byte: 77 */ 0x9189,
+ /* 2nd byte: 78 */ 0x9182,
+ /* 2nd byte: 79 */ 0x91a2,
+ /* 2nd byte: 80 */ 0x91ab,
+ /* 2nd byte: 81 */ 0x91af,
+ /* 2nd byte: 82 */ 0x91aa,
+ /* 2nd byte: 83 */ 0x91b5,
+ /* 2nd byte: 84 */ 0x91b4,
+ /* 2nd byte: 85 */ 0x91ba,
+ /* 2nd byte: 86 */ 0x91c0,
+ /* 2nd byte: 87 */ 0x91c1,
+ /* 2nd byte: 88 */ 0x91c9,
+ /* 2nd byte: 89 */ 0x91cb,
+ /* 2nd byte: 90 */ 0x91d0,
+ /* 2nd byte: 91 */ 0x91d6,
+ /* 2nd byte: 92 */ 0x91df,
+ /* 2nd byte: 93 */ 0x91e1,
+ /* 2nd byte: 94 */ 0x91db,
+ /* 2nd byte: 95 */ 0x91fc,
+ /* 2nd byte: 96 */ 0x91f5,
+ /* 2nd byte: 97 */ 0x91f6,
+ /* 2nd byte: 98 */ 0x921e,
+ /* 2nd byte: 99 */ 0x91ff,
+ /* 2nd byte: 100 */ 0x9214,
+ /* 2nd byte: 101 */ 0x922c,
+ /* 2nd byte: 102 */ 0x9215,
+ /* 2nd byte: 103 */ 0x9211,
+ /* 2nd byte: 104 */ 0x925e,
+ /* 2nd byte: 105 */ 0x9257,
+ /* 2nd byte: 106 */ 0x9245,
+ /* 2nd byte: 107 */ 0x9249,
+ /* 2nd byte: 108 */ 0x9264,
+ /* 2nd byte: 109 */ 0x9248,
+ /* 2nd byte: 110 */ 0x9295,
+ /* 2nd byte: 111 */ 0x923f,
+ /* 2nd byte: 112 */ 0x924b,
+ /* 2nd byte: 113 */ 0x9250,
+ /* 2nd byte: 114 */ 0x929c,
+ /* 2nd byte: 115 */ 0x9296,
+ /* 2nd byte: 116 */ 0x9293,
+ /* 2nd byte: 117 */ 0x929b,
+ /* 2nd byte: 118 */ 0x925a,
+ /* 2nd byte: 119 */ 0x92cf,
+ /* 2nd byte: 120 */ 0x92b9,
+ /* 2nd byte: 121 */ 0x92b7,
+ /* 2nd byte: 122 */ 0x92e9,
+ /* 2nd byte: 123 */ 0x930f,
+ /* 2nd byte: 124 */ 0x92fa,
+ /* 2nd byte: 125 */ 0x9344,
+ /* 2nd byte: 126 */ 0x932e},
+/* 1st byte: 111 */ {
+ /* 2nd byte: 33 */ 0x9319,
+ /* 2nd byte: 34 */ 0x9322,
+ /* 2nd byte: 35 */ 0x931a,
+ /* 2nd byte: 36 */ 0x9323,
+ /* 2nd byte: 37 */ 0x933a,
+ /* 2nd byte: 38 */ 0x9335,
+ /* 2nd byte: 39 */ 0x933b,
+ /* 2nd byte: 40 */ 0x935c,
+ /* 2nd byte: 41 */ 0x9360,
+ /* 2nd byte: 42 */ 0x937c,
+ /* 2nd byte: 43 */ 0x936e,
+ /* 2nd byte: 44 */ 0x9356,
+ /* 2nd byte: 45 */ 0x93b0,
+ /* 2nd byte: 46 */ 0x93ac,
+ /* 2nd byte: 47 */ 0x93ad,
+ /* 2nd byte: 48 */ 0x9394,
+ /* 2nd byte: 49 */ 0x93b9,
+ /* 2nd byte: 50 */ 0x93d6,
+ /* 2nd byte: 51 */ 0x93d7,
+ /* 2nd byte: 52 */ 0x93e8,
+ /* 2nd byte: 53 */ 0x93e5,
+ /* 2nd byte: 54 */ 0x93d8,
+ /* 2nd byte: 55 */ 0x93c3,
+ /* 2nd byte: 56 */ 0x93dd,
+ /* 2nd byte: 57 */ 0x93d0,
+ /* 2nd byte: 58 */ 0x93c8,
+ /* 2nd byte: 59 */ 0x93e4,
+ /* 2nd byte: 60 */ 0x941a,
+ /* 2nd byte: 61 */ 0x9414,
+ /* 2nd byte: 62 */ 0x9413,
+ /* 2nd byte: 63 */ 0x9403,
+ /* 2nd byte: 64 */ 0x9407,
+ /* 2nd byte: 65 */ 0x9410,
+ /* 2nd byte: 66 */ 0x9436,
+ /* 2nd byte: 67 */ 0x942b,
+ /* 2nd byte: 68 */ 0x9435,
+ /* 2nd byte: 69 */ 0x9421,
+ /* 2nd byte: 70 */ 0x943a,
+ /* 2nd byte: 71 */ 0x9441,
+ /* 2nd byte: 72 */ 0x9452,
+ /* 2nd byte: 73 */ 0x9444,
+ /* 2nd byte: 74 */ 0x945b,
+ /* 2nd byte: 75 */ 0x9460,
+ /* 2nd byte: 76 */ 0x9462,
+ /* 2nd byte: 77 */ 0x945e,
+ /* 2nd byte: 78 */ 0x946a,
+ /* 2nd byte: 79 */ 0x9229,
+ /* 2nd byte: 80 */ 0x9470,
+ /* 2nd byte: 81 */ 0x9475,
+ /* 2nd byte: 82 */ 0x9477,
+ /* 2nd byte: 83 */ 0x947d,
+ /* 2nd byte: 84 */ 0x945a,
+ /* 2nd byte: 85 */ 0x947c,
+ /* 2nd byte: 86 */ 0x947e,
+ /* 2nd byte: 87 */ 0x9481,
+ /* 2nd byte: 88 */ 0x947f,
+ /* 2nd byte: 89 */ 0x9582,
+ /* 2nd byte: 90 */ 0x9587,
+ /* 2nd byte: 91 */ 0x958a,
+ /* 2nd byte: 92 */ 0x9594,
+ /* 2nd byte: 93 */ 0x9596,
+ /* 2nd byte: 94 */ 0x9598,
+ /* 2nd byte: 95 */ 0x9599,
+ /* 2nd byte: 96 */ 0x95a0,
+ /* 2nd byte: 97 */ 0x95a8,
+ /* 2nd byte: 98 */ 0x95a7,
+ /* 2nd byte: 99 */ 0x95ad,
+ /* 2nd byte: 100 */ 0x95bc,
+ /* 2nd byte: 101 */ 0x95bb,
+ /* 2nd byte: 102 */ 0x95b9,
+ /* 2nd byte: 103 */ 0x95be,
+ /* 2nd byte: 104 */ 0x95ca,
+ /* 2nd byte: 105 */ 0x6ff6,
+ /* 2nd byte: 106 */ 0x95c3,
+ /* 2nd byte: 107 */ 0x95cd,
+ /* 2nd byte: 108 */ 0x95cc,
+ /* 2nd byte: 109 */ 0x95d5,
+ /* 2nd byte: 110 */ 0x95d4,
+ /* 2nd byte: 111 */ 0x95d6,
+ /* 2nd byte: 112 */ 0x95dc,
+ /* 2nd byte: 113 */ 0x95e1,
+ /* 2nd byte: 114 */ 0x95e5,
+ /* 2nd byte: 115 */ 0x95e2,
+ /* 2nd byte: 116 */ 0x9621,
+ /* 2nd byte: 117 */ 0x9628,
+ /* 2nd byte: 118 */ 0x962e,
+ /* 2nd byte: 119 */ 0x962f,
+ /* 2nd byte: 120 */ 0x9642,
+ /* 2nd byte: 121 */ 0x964c,
+ /* 2nd byte: 122 */ 0x964f,
+ /* 2nd byte: 123 */ 0x964b,
+ /* 2nd byte: 124 */ 0x9677,
+ /* 2nd byte: 125 */ 0x965c,
+ /* 2nd byte: 126 */ 0x965e},
+/* 1st byte: 112 */ {
+ /* 2nd byte: 33 */ 0x965d,
+ /* 2nd byte: 34 */ 0x965f,
+ /* 2nd byte: 35 */ 0x9666,
+ /* 2nd byte: 36 */ 0x9672,
+ /* 2nd byte: 37 */ 0x966c,
+ /* 2nd byte: 38 */ 0x968d,
+ /* 2nd byte: 39 */ 0x9698,
+ /* 2nd byte: 40 */ 0x9695,
+ /* 2nd byte: 41 */ 0x9697,
+ /* 2nd byte: 42 */ 0x96aa,
+ /* 2nd byte: 43 */ 0x96a7,
+ /* 2nd byte: 44 */ 0x96b1,
+ /* 2nd byte: 45 */ 0x96b2,
+ /* 2nd byte: 46 */ 0x96b0,
+ /* 2nd byte: 47 */ 0x96b4,
+ /* 2nd byte: 48 */ 0x96b6,
+ /* 2nd byte: 49 */ 0x96b8,
+ /* 2nd byte: 50 */ 0x96b9,
+ /* 2nd byte: 51 */ 0x96ce,
+ /* 2nd byte: 52 */ 0x96cb,
+ /* 2nd byte: 53 */ 0x96c9,
+ /* 2nd byte: 54 */ 0x96cd,
+ /* 2nd byte: 55 */ 0x894d,
+ /* 2nd byte: 56 */ 0x96dc,
+ /* 2nd byte: 57 */ 0x970d,
+ /* 2nd byte: 58 */ 0x96d5,
+ /* 2nd byte: 59 */ 0x96f9,
+ /* 2nd byte: 60 */ 0x9704,
+ /* 2nd byte: 61 */ 0x9706,
+ /* 2nd byte: 62 */ 0x9708,
+ /* 2nd byte: 63 */ 0x9713,
+ /* 2nd byte: 64 */ 0x970e,
+ /* 2nd byte: 65 */ 0x9711,
+ /* 2nd byte: 66 */ 0x970f,
+ /* 2nd byte: 67 */ 0x9716,
+ /* 2nd byte: 68 */ 0x9719,
+ /* 2nd byte: 69 */ 0x9724,
+ /* 2nd byte: 70 */ 0x972a,
+ /* 2nd byte: 71 */ 0x9730,
+ /* 2nd byte: 72 */ 0x9739,
+ /* 2nd byte: 73 */ 0x973d,
+ /* 2nd byte: 74 */ 0x973e,
+ /* 2nd byte: 75 */ 0x9744,
+ /* 2nd byte: 76 */ 0x9746,
+ /* 2nd byte: 77 */ 0x9748,
+ /* 2nd byte: 78 */ 0x9742,
+ /* 2nd byte: 79 */ 0x9749,
+ /* 2nd byte: 80 */ 0x975c,
+ /* 2nd byte: 81 */ 0x9760,
+ /* 2nd byte: 82 */ 0x9764,
+ /* 2nd byte: 83 */ 0x9766,
+ /* 2nd byte: 84 */ 0x9768,
+ /* 2nd byte: 85 */ 0x52d2,
+ /* 2nd byte: 86 */ 0x976b,
+ /* 2nd byte: 87 */ 0x9771,
+ /* 2nd byte: 88 */ 0x9779,
+ /* 2nd byte: 89 */ 0x9785,
+ /* 2nd byte: 90 */ 0x977c,
+ /* 2nd byte: 91 */ 0x9781,
+ /* 2nd byte: 92 */ 0x977a,
+ /* 2nd byte: 93 */ 0x9786,
+ /* 2nd byte: 94 */ 0x978b,
+ /* 2nd byte: 95 */ 0x978f,
+ /* 2nd byte: 96 */ 0x9790,
+ /* 2nd byte: 97 */ 0x979c,
+ /* 2nd byte: 98 */ 0x97a8,
+ /* 2nd byte: 99 */ 0x97a6,
+ /* 2nd byte: 100 */ 0x97a3,
+ /* 2nd byte: 101 */ 0x97b3,
+ /* 2nd byte: 102 */ 0x97b4,
+ /* 2nd byte: 103 */ 0x97c3,
+ /* 2nd byte: 104 */ 0x97c6,
+ /* 2nd byte: 105 */ 0x97c8,
+ /* 2nd byte: 106 */ 0x97cb,
+ /* 2nd byte: 107 */ 0x97dc,
+ /* 2nd byte: 108 */ 0x97ed,
+ /* 2nd byte: 109 */ 0x9f4f,
+ /* 2nd byte: 110 */ 0x97f2,
+ /* 2nd byte: 111 */ 0x7adf,
+ /* 2nd byte: 112 */ 0x97f6,
+ /* 2nd byte: 113 */ 0x97f5,
+ /* 2nd byte: 114 */ 0x980f,
+ /* 2nd byte: 115 */ 0x980c,
+ /* 2nd byte: 116 */ 0x9838,
+ /* 2nd byte: 117 */ 0x9824,
+ /* 2nd byte: 118 */ 0x9821,
+ /* 2nd byte: 119 */ 0x9837,
+ /* 2nd byte: 120 */ 0x983d,
+ /* 2nd byte: 121 */ 0x9846,
+ /* 2nd byte: 122 */ 0x984f,
+ /* 2nd byte: 123 */ 0x984b,
+ /* 2nd byte: 124 */ 0x986b,
+ /* 2nd byte: 125 */ 0x986f,
+ /* 2nd byte: 126 */ 0x9870},
+/* 1st byte: 113 */ {
+ /* 2nd byte: 33 */ 0x9871,
+ /* 2nd byte: 34 */ 0x9874,
+ /* 2nd byte: 35 */ 0x9873,
+ /* 2nd byte: 36 */ 0x98aa,
+ /* 2nd byte: 37 */ 0x98af,
+ /* 2nd byte: 38 */ 0x98b1,
+ /* 2nd byte: 39 */ 0x98b6,
+ /* 2nd byte: 40 */ 0x98c4,
+ /* 2nd byte: 41 */ 0x98c3,
+ /* 2nd byte: 42 */ 0x98c6,
+ /* 2nd byte: 43 */ 0x98e9,
+ /* 2nd byte: 44 */ 0x98eb,
+ /* 2nd byte: 45 */ 0x9903,
+ /* 2nd byte: 46 */ 0x9909,
+ /* 2nd byte: 47 */ 0x9912,
+ /* 2nd byte: 48 */ 0x9914,
+ /* 2nd byte: 49 */ 0x9918,
+ /* 2nd byte: 50 */ 0x9921,
+ /* 2nd byte: 51 */ 0x991d,
+ /* 2nd byte: 52 */ 0x991e,
+ /* 2nd byte: 53 */ 0x9924,
+ /* 2nd byte: 54 */ 0x9920,
+ /* 2nd byte: 55 */ 0x992c,
+ /* 2nd byte: 56 */ 0x992e,
+ /* 2nd byte: 57 */ 0x993d,
+ /* 2nd byte: 58 */ 0x993e,
+ /* 2nd byte: 59 */ 0x9942,
+ /* 2nd byte: 60 */ 0x9949,
+ /* 2nd byte: 61 */ 0x9945,
+ /* 2nd byte: 62 */ 0x9950,
+ /* 2nd byte: 63 */ 0x994b,
+ /* 2nd byte: 64 */ 0x9951,
+ /* 2nd byte: 65 */ 0x9952,
+ /* 2nd byte: 66 */ 0x994c,
+ /* 2nd byte: 67 */ 0x9955,
+ /* 2nd byte: 68 */ 0x9997,
+ /* 2nd byte: 69 */ 0x9998,
+ /* 2nd byte: 70 */ 0x99a5,
+ /* 2nd byte: 71 */ 0x99ad,
+ /* 2nd byte: 72 */ 0x99ae,
+ /* 2nd byte: 73 */ 0x99bc,
+ /* 2nd byte: 74 */ 0x99df,
+ /* 2nd byte: 75 */ 0x99db,
+ /* 2nd byte: 76 */ 0x99dd,
+ /* 2nd byte: 77 */ 0x99d8,
+ /* 2nd byte: 78 */ 0x99d1,
+ /* 2nd byte: 79 */ 0x99ed,
+ /* 2nd byte: 80 */ 0x99ee,
+ /* 2nd byte: 81 */ 0x99f1,
+ /* 2nd byte: 82 */ 0x99f2,
+ /* 2nd byte: 83 */ 0x99fb,
+ /* 2nd byte: 84 */ 0x99f8,
+ /* 2nd byte: 85 */ 0x9a01,
+ /* 2nd byte: 86 */ 0x9a0f,
+ /* 2nd byte: 87 */ 0x9a05,
+ /* 2nd byte: 88 */ 0x99e2,
+ /* 2nd byte: 89 */ 0x9a19,
+ /* 2nd byte: 90 */ 0x9a2b,
+ /* 2nd byte: 91 */ 0x9a37,
+ /* 2nd byte: 92 */ 0x9a45,
+ /* 2nd byte: 93 */ 0x9a42,
+ /* 2nd byte: 94 */ 0x9a40,
+ /* 2nd byte: 95 */ 0x9a43,
+ /* 2nd byte: 96 */ 0x9a3e,
+ /* 2nd byte: 97 */ 0x9a55,
+ /* 2nd byte: 98 */ 0x9a4d,
+ /* 2nd byte: 99 */ 0x9a5b,
+ /* 2nd byte: 100 */ 0x9a57,
+ /* 2nd byte: 101 */ 0x9a5f,
+ /* 2nd byte: 102 */ 0x9a62,
+ /* 2nd byte: 103 */ 0x9a65,
+ /* 2nd byte: 104 */ 0x9a64,
+ /* 2nd byte: 105 */ 0x9a69,
+ /* 2nd byte: 106 */ 0x9a6b,
+ /* 2nd byte: 107 */ 0x9a6a,
+ /* 2nd byte: 108 */ 0x9aad,
+ /* 2nd byte: 109 */ 0x9ab0,
+ /* 2nd byte: 110 */ 0x9abc,
+ /* 2nd byte: 111 */ 0x9ac0,
+ /* 2nd byte: 112 */ 0x9acf,
+ /* 2nd byte: 113 */ 0x9ad1,
+ /* 2nd byte: 114 */ 0x9ad3,
+ /* 2nd byte: 115 */ 0x9ad4,
+ /* 2nd byte: 116 */ 0x9ade,
+ /* 2nd byte: 117 */ 0x9adf,
+ /* 2nd byte: 118 */ 0x9ae2,
+ /* 2nd byte: 119 */ 0x9ae3,
+ /* 2nd byte: 120 */ 0x9ae6,
+ /* 2nd byte: 121 */ 0x9aef,
+ /* 2nd byte: 122 */ 0x9aeb,
+ /* 2nd byte: 123 */ 0x9aee,
+ /* 2nd byte: 124 */ 0x9af4,
+ /* 2nd byte: 125 */ 0x9af1,
+ /* 2nd byte: 126 */ 0x9af7},
+/* 1st byte: 114 */ {
+ /* 2nd byte: 33 */ 0x9afb,
+ /* 2nd byte: 34 */ 0x9b06,
+ /* 2nd byte: 35 */ 0x9b18,
+ /* 2nd byte: 36 */ 0x9b1a,
+ /* 2nd byte: 37 */ 0x9b1f,
+ /* 2nd byte: 38 */ 0x9b22,
+ /* 2nd byte: 39 */ 0x9b23,
+ /* 2nd byte: 40 */ 0x9b25,
+ /* 2nd byte: 41 */ 0x9b27,
+ /* 2nd byte: 42 */ 0x9b28,
+ /* 2nd byte: 43 */ 0x9b29,
+ /* 2nd byte: 44 */ 0x9b2a,
+ /* 2nd byte: 45 */ 0x9b2e,
+ /* 2nd byte: 46 */ 0x9b2f,
+ /* 2nd byte: 47 */ 0x9b32,
+ /* 2nd byte: 48 */ 0x9b44,
+ /* 2nd byte: 49 */ 0x9b43,
+ /* 2nd byte: 50 */ 0x9b4f,
+ /* 2nd byte: 51 */ 0x9b4d,
+ /* 2nd byte: 52 */ 0x9b4e,
+ /* 2nd byte: 53 */ 0x9b51,
+ /* 2nd byte: 54 */ 0x9b58,
+ /* 2nd byte: 55 */ 0x9b74,
+ /* 2nd byte: 56 */ 0x9b93,
+ /* 2nd byte: 57 */ 0x9b83,
+ /* 2nd byte: 58 */ 0x9b91,
+ /* 2nd byte: 59 */ 0x9b96,
+ /* 2nd byte: 60 */ 0x9b97,
+ /* 2nd byte: 61 */ 0x9b9f,
+ /* 2nd byte: 62 */ 0x9ba0,
+ /* 2nd byte: 63 */ 0x9ba8,
+ /* 2nd byte: 64 */ 0x9bb4,
+ /* 2nd byte: 65 */ 0x9bc0,
+ /* 2nd byte: 66 */ 0x9bca,
+ /* 2nd byte: 67 */ 0x9bb9,
+ /* 2nd byte: 68 */ 0x9bc6,
+ /* 2nd byte: 69 */ 0x9bcf,
+ /* 2nd byte: 70 */ 0x9bd1,
+ /* 2nd byte: 71 */ 0x9bd2,
+ /* 2nd byte: 72 */ 0x9be3,
+ /* 2nd byte: 73 */ 0x9be2,
+ /* 2nd byte: 74 */ 0x9be4,
+ /* 2nd byte: 75 */ 0x9bd4,
+ /* 2nd byte: 76 */ 0x9be1,
+ /* 2nd byte: 77 */ 0x9c3a,
+ /* 2nd byte: 78 */ 0x9bf2,
+ /* 2nd byte: 79 */ 0x9bf1,
+ /* 2nd byte: 80 */ 0x9bf0,
+ /* 2nd byte: 81 */ 0x9c15,
+ /* 2nd byte: 82 */ 0x9c14,
+ /* 2nd byte: 83 */ 0x9c09,
+ /* 2nd byte: 84 */ 0x9c13,
+ /* 2nd byte: 85 */ 0x9c0c,
+ /* 2nd byte: 86 */ 0x9c06,
+ /* 2nd byte: 87 */ 0x9c08,
+ /* 2nd byte: 88 */ 0x9c12,
+ /* 2nd byte: 89 */ 0x9c0a,
+ /* 2nd byte: 90 */ 0x9c04,
+ /* 2nd byte: 91 */ 0x9c2e,
+ /* 2nd byte: 92 */ 0x9c1b,
+ /* 2nd byte: 93 */ 0x9c25,
+ /* 2nd byte: 94 */ 0x9c24,
+ /* 2nd byte: 95 */ 0x9c21,
+ /* 2nd byte: 96 */ 0x9c30,
+ /* 2nd byte: 97 */ 0x9c47,
+ /* 2nd byte: 98 */ 0x9c32,
+ /* 2nd byte: 99 */ 0x9c46,
+ /* 2nd byte: 100 */ 0x9c3e,
+ /* 2nd byte: 101 */ 0x9c5a,
+ /* 2nd byte: 102 */ 0x9c60,
+ /* 2nd byte: 103 */ 0x9c67,
+ /* 2nd byte: 104 */ 0x9c76,
+ /* 2nd byte: 105 */ 0x9c78,
+ /* 2nd byte: 106 */ 0x9ce7,
+ /* 2nd byte: 107 */ 0x9cec,
+ /* 2nd byte: 108 */ 0x9cf0,
+ /* 2nd byte: 109 */ 0x9d09,
+ /* 2nd byte: 110 */ 0x9d08,
+ /* 2nd byte: 111 */ 0x9ceb,
+ /* 2nd byte: 112 */ 0x9d03,
+ /* 2nd byte: 113 */ 0x9d06,
+ /* 2nd byte: 114 */ 0x9d2a,
+ /* 2nd byte: 115 */ 0x9d26,
+ /* 2nd byte: 116 */ 0x9daf,
+ /* 2nd byte: 117 */ 0x9d23,
+ /* 2nd byte: 118 */ 0x9d1f,
+ /* 2nd byte: 119 */ 0x9d44,
+ /* 2nd byte: 120 */ 0x9d15,
+ /* 2nd byte: 121 */ 0x9d12,
+ /* 2nd byte: 122 */ 0x9d41,
+ /* 2nd byte: 123 */ 0x9d3f,
+ /* 2nd byte: 124 */ 0x9d3e,
+ /* 2nd byte: 125 */ 0x9d46,
+ /* 2nd byte: 126 */ 0x9d48},
+/* 1st byte: 115 */ {
+ /* 2nd byte: 33 */ 0x9d5d,
+ /* 2nd byte: 34 */ 0x9d5e,
+ /* 2nd byte: 35 */ 0x9d64,
+ /* 2nd byte: 36 */ 0x9d51,
+ /* 2nd byte: 37 */ 0x9d50,
+ /* 2nd byte: 38 */ 0x9d59,
+ /* 2nd byte: 39 */ 0x9d72,
+ /* 2nd byte: 40 */ 0x9d89,
+ /* 2nd byte: 41 */ 0x9d87,
+ /* 2nd byte: 42 */ 0x9dab,
+ /* 2nd byte: 43 */ 0x9d6f,
+ /* 2nd byte: 44 */ 0x9d7a,
+ /* 2nd byte: 45 */ 0x9d9a,
+ /* 2nd byte: 46 */ 0x9da4,
+ /* 2nd byte: 47 */ 0x9da9,
+ /* 2nd byte: 48 */ 0x9db2,
+ /* 2nd byte: 49 */ 0x9dc4,
+ /* 2nd byte: 50 */ 0x9dc1,
+ /* 2nd byte: 51 */ 0x9dbb,
+ /* 2nd byte: 52 */ 0x9db8,
+ /* 2nd byte: 53 */ 0x9dba,
+ /* 2nd byte: 54 */ 0x9dc6,
+ /* 2nd byte: 55 */ 0x9dcf,
+ /* 2nd byte: 56 */ 0x9dc2,
+ /* 2nd byte: 57 */ 0x9dd9,
+ /* 2nd byte: 58 */ 0x9dd3,
+ /* 2nd byte: 59 */ 0x9df8,
+ /* 2nd byte: 60 */ 0x9de6,
+ /* 2nd byte: 61 */ 0x9ded,
+ /* 2nd byte: 62 */ 0x9def,
+ /* 2nd byte: 63 */ 0x9dfd,
+ /* 2nd byte: 64 */ 0x9e1a,
+ /* 2nd byte: 65 */ 0x9e1b,
+ /* 2nd byte: 66 */ 0x9e1e,
+ /* 2nd byte: 67 */ 0x9e75,
+ /* 2nd byte: 68 */ 0x9e79,
+ /* 2nd byte: 69 */ 0x9e7d,
+ /* 2nd byte: 70 */ 0x9e81,
+ /* 2nd byte: 71 */ 0x9e88,
+ /* 2nd byte: 72 */ 0x9e8b,
+ /* 2nd byte: 73 */ 0x9e8c,
+ /* 2nd byte: 74 */ 0x9e92,
+ /* 2nd byte: 75 */ 0x9e95,
+ /* 2nd byte: 76 */ 0x9e91,
+ /* 2nd byte: 77 */ 0x9e9d,
+ /* 2nd byte: 78 */ 0x9ea5,
+ /* 2nd byte: 79 */ 0x9ea9,
+ /* 2nd byte: 80 */ 0x9eb8,
+ /* 2nd byte: 81 */ 0x9eaa,
+ /* 2nd byte: 82 */ 0x9ead,
+ /* 2nd byte: 83 */ 0x9761,
+ /* 2nd byte: 84 */ 0x9ecc,
+ /* 2nd byte: 85 */ 0x9ece,
+ /* 2nd byte: 86 */ 0x9ecf,
+ /* 2nd byte: 87 */ 0x9ed0,
+ /* 2nd byte: 88 */ 0x9ed4,
+ /* 2nd byte: 89 */ 0x9edc,
+ /* 2nd byte: 90 */ 0x9ede,
+ /* 2nd byte: 91 */ 0x9edd,
+ /* 2nd byte: 92 */ 0x9ee0,
+ /* 2nd byte: 93 */ 0x9ee5,
+ /* 2nd byte: 94 */ 0x9ee8,
+ /* 2nd byte: 95 */ 0x9eef,
+ /* 2nd byte: 96 */ 0x9ef4,
+ /* 2nd byte: 97 */ 0x9ef6,
+ /* 2nd byte: 98 */ 0x9ef7,
+ /* 2nd byte: 99 */ 0x9ef9,
+ /* 2nd byte: 100 */ 0x9efb,
+ /* 2nd byte: 101 */ 0x9efc,
+ /* 2nd byte: 102 */ 0x9efd,
+ /* 2nd byte: 103 */ 0x9f07,
+ /* 2nd byte: 104 */ 0x9f08,
+ /* 2nd byte: 105 */ 0x76b7,
+ /* 2nd byte: 106 */ 0x9f15,
+ /* 2nd byte: 107 */ 0x9f21,
+ /* 2nd byte: 108 */ 0x9f2c,
+ /* 2nd byte: 109 */ 0x9f3e,
+ /* 2nd byte: 110 */ 0x9f4a,
+ /* 2nd byte: 111 */ 0x9f52,
+ /* 2nd byte: 112 */ 0x9f54,
+ /* 2nd byte: 113 */ 0x9f63,
+ /* 2nd byte: 114 */ 0x9f5f,
+ /* 2nd byte: 115 */ 0x9f60,
+ /* 2nd byte: 116 */ 0x9f61,
+ /* 2nd byte: 117 */ 0x9f66,
+ /* 2nd byte: 118 */ 0x9f67,
+ /* 2nd byte: 119 */ 0x9f6c,
+ /* 2nd byte: 120 */ 0x9f6a,
+ /* 2nd byte: 121 */ 0x9f77,
+ /* 2nd byte: 122 */ 0x9f72,
+ /* 2nd byte: 123 */ 0x9f76,
+ /* 2nd byte: 124 */ 0x9f95,
+ /* 2nd byte: 125 */ 0x9f9c,
+ /* 2nd byte: 126 */ 0x9fa0},
+/* 1st byte: 116 */ {
+ /* 2nd byte: 33 */ 0x582f,
+ /* 2nd byte: 34 */ 0x69c7,
+ /* 2nd byte: 35 */ 0x9059,
+ /* 2nd byte: 36 */ 0x7464,
+ /* 2nd byte: 37 */ 0x51dc,
+ /* 2nd byte: 38 */ 0x7199,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0}
+};
diff --git a/libjava/gnu/gcj/convert/JIS0212.h b/libjava/gnu/gcj/convert/JIS0212.h
new file mode 100644
index 0000000..d79c259
--- /dev/null
+++ b/libjava/gnu/gcj/convert/JIS0212.h
@@ -0,0 +1,6068 @@
+/* This file is autoamtically generated from Unicode tables */
+MAP(0x22, 0x2F, 0x02D8) /* BREV */
+MAP(0x22, 0x30, 0x02C7) /* CARON (Mandarin Chinese third tone */
+MAP(0x22, 0x31, 0x00B8) /* CEDILL */
+MAP(0x22, 0x32, 0x02D9) /* DOT ABOVE (Mandarin Chinese light tone */
+MAP(0x22, 0x33, 0x02DD) /* DOUBLE ACUTE ACCEN */
+MAP(0x22, 0x34, 0x00AF) /* MACRO */
+MAP(0x22, 0x35, 0x02DB) /* OGONE */
+MAP(0x22, 0x36, 0x02DA) /* RING ABOV */
+MAP(0x22, 0x37, 0x007E) /* TILD */
+MAP(0x22, 0x38, 0x0384) /* GREEK TONO */
+MAP(0x22, 0x39, 0x0385) /* GREEK DIALYTIKA TONO */
+MAP(0x22, 0x42, 0x00A1) /* INVERTED EXCLAMATION MAR */
+MAP(0x22, 0x43, 0x00A6) /* BROKEN BA */
+MAP(0x22, 0x44, 0x00BF) /* INVERTED QUESTION MAR */
+MAP(0x22, 0x6B, 0x00BA) /* MASCULINE ORDINAL INDICATO */
+MAP(0x22, 0x6C, 0x00AA) /* FEMININE ORDINAL INDICATO */
+MAP(0x22, 0x6D, 0x00A9) /* COPYRIGHT SIG */
+MAP(0x22, 0x6E, 0x00AE) /* REGISTERED SIG */
+MAP(0x22, 0x6F, 0x2122) /* TRADE MARK SIG */
+MAP(0x22, 0x70, 0x00A4) /* CURRENCY SIG */
+MAP(0x22, 0x71, 0x2116) /* NUMERO SIG */
+MAP(0x26, 0x61, 0x0386) /* GREEK CAPITAL LETTER ALPHA WITH TONO */
+MAP(0x26, 0x62, 0x0388) /* GREEK CAPITAL LETTER EPSILON WITH TONO */
+MAP(0x26, 0x63, 0x0389) /* GREEK CAPITAL LETTER ETA WITH TONO */
+MAP(0x26, 0x64, 0x038A) /* GREEK CAPITAL LETTER IOTA WITH TONO */
+MAP(0x26, 0x65, 0x03AA) /* GREEK CAPITAL LETTER IOTA WITH DIALYTIK */
+MAP(0x26, 0x67, 0x038C) /* GREEK CAPITAL LETTER OMICRON WITH TONO */
+MAP(0x26, 0x69, 0x038E) /* GREEK CAPITAL LETTER UPSILON WITH TONO */
+MAP(0x26, 0x6A, 0x03AB) /* GREEK CAPITAL LETTER UPSILON WITH DIALYTIK */
+MAP(0x26, 0x6C, 0x038F) /* GREEK CAPITAL LETTER OMEGA WITH TONO */
+MAP(0x26, 0x71, 0x03AC) /* GREEK SMALL LETTER ALPHA WITH TONO */
+MAP(0x26, 0x72, 0x03AD) /* GREEK SMALL LETTER EPSILON WITH TONO */
+MAP(0x26, 0x73, 0x03AE) /* GREEK SMALL LETTER ETA WITH TONO */
+MAP(0x26, 0x74, 0x03AF) /* GREEK SMALL LETTER IOTA WITH TONO */
+MAP(0x26, 0x75, 0x03CA) /* GREEK SMALL LETTER IOTA WITH DIALYTIK */
+MAP(0x26, 0x76, 0x0390) /* GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONO */
+MAP(0x26, 0x77, 0x03CC) /* GREEK SMALL LETTER OMICRON WITH TONO */
+MAP(0x26, 0x78, 0x03C2) /* GREEK SMALL LETTER FINAL SIGM */
+MAP(0x26, 0x79, 0x03CD) /* GREEK SMALL LETTER UPSILON WITH TONO */
+MAP(0x26, 0x7A, 0x03CB) /* GREEK SMALL LETTER UPSILON WITH DIALYTIK */
+MAP(0x26, 0x7B, 0x03B0) /* GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONO */
+MAP(0x26, 0x7C, 0x03CE) /* GREEK SMALL LETTER OMEGA WITH TONO */
+MAP(0x27, 0x42, 0x0402) /* CYRILLIC CAPITAL LETTER DJ */
+MAP(0x27, 0x43, 0x0403) /* CYRILLIC CAPITAL LETTER GJ */
+MAP(0x27, 0x44, 0x0404) /* CYRILLIC CAPITAL LETTER UKRAINIAN I */
+MAP(0x27, 0x45, 0x0405) /* CYRILLIC CAPITAL LETTER DZ */
+MAP(0x27, 0x46, 0x0406) /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN */
+MAP(0x27, 0x47, 0x0407) /* CYRILLIC CAPITAL LETTER Y */
+MAP(0x27, 0x48, 0x0408) /* CYRILLIC CAPITAL LETTER J */
+MAP(0x27, 0x49, 0x0409) /* CYRILLIC CAPITAL LETTER LJ */
+MAP(0x27, 0x4A, 0x040A) /* CYRILLIC CAPITAL LETTER NJ */
+MAP(0x27, 0x4B, 0x040B) /* CYRILLIC CAPITAL LETTER TSH */
+MAP(0x27, 0x4C, 0x040C) /* CYRILLIC CAPITAL LETTER KJ */
+MAP(0x27, 0x4D, 0x040E) /* CYRILLIC CAPITAL LETTER SHORT */
+MAP(0x27, 0x4E, 0x040F) /* CYRILLIC CAPITAL LETTER DZH */
+MAP(0x27, 0x72, 0x0452) /* CYRILLIC SMALL LETTER DJ */
+MAP(0x27, 0x73, 0x0453) /* CYRILLIC SMALL LETTER GJ */
+MAP(0x27, 0x74, 0x0454) /* CYRILLIC SMALL LETTER UKRAINIAN I */
+MAP(0x27, 0x75, 0x0455) /* CYRILLIC SMALL LETTER DZ */
+MAP(0x27, 0x76, 0x0456) /* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN */
+MAP(0x27, 0x77, 0x0457) /* CYRILLIC SMALL LETTER Y */
+MAP(0x27, 0x78, 0x0458) /* CYRILLIC SMALL LETTER J */
+MAP(0x27, 0x79, 0x0459) /* CYRILLIC SMALL LETTER LJ */
+MAP(0x27, 0x7A, 0x045A) /* CYRILLIC SMALL LETTER NJ */
+MAP(0x27, 0x7B, 0x045B) /* CYRILLIC SMALL LETTER TSH */
+MAP(0x27, 0x7C, 0x045C) /* CYRILLIC SMALL LETTER KJ */
+MAP(0x27, 0x7D, 0x045E) /* CYRILLIC SMALL LETTER SHORT */
+MAP(0x27, 0x7E, 0x045F) /* CYRILLIC SMALL LETTER DZH */
+MAP(0x29, 0x21, 0x00C6) /* LATIN CAPITAL LIGATURE A */
+MAP(0x29, 0x22, 0x0110) /* LATIN CAPITAL LETTER D WITH STROK */
+MAP(0x29, 0x24, 0x0126) /* LATIN CAPITAL LETTER H WITH STROK */
+MAP(0x29, 0x26, 0x0132) /* LATIN CAPITAL LIGATURE I */
+MAP(0x29, 0x28, 0x0141) /* LATIN CAPITAL LETTER L WITH STROK */
+MAP(0x29, 0x29, 0x013F) /* LATIN CAPITAL LETTER L WITH MIDDLE DO */
+MAP(0x29, 0x2B, 0x014A) /* LATIN CAPITAL LETTER EN */
+MAP(0x29, 0x2C, 0x00D8) /* LATIN CAPITAL LETTER O WITH STROK */
+MAP(0x29, 0x2D, 0x0152) /* LATIN CAPITAL LIGATURE O */
+MAP(0x29, 0x2F, 0x0166) /* LATIN CAPITAL LETTER T WITH STROK */
+MAP(0x29, 0x30, 0x00DE) /* LATIN CAPITAL LETTER THOR */
+MAP(0x29, 0x41, 0x00E6) /* LATIN SMALL LIGATURE A */
+MAP(0x29, 0x42, 0x0111) /* LATIN SMALL LETTER D WITH STROK */
+MAP(0x29, 0x43, 0x00F0) /* LATIN SMALL LETTER ET */
+MAP(0x29, 0x44, 0x0127) /* LATIN SMALL LETTER H WITH STROK */
+MAP(0x29, 0x45, 0x0131) /* LATIN SMALL LETTER DOTLESS */
+MAP(0x29, 0x46, 0x0133) /* LATIN SMALL LIGATURE I */
+MAP(0x29, 0x47, 0x0138) /* LATIN SMALL LETTER KR */
+MAP(0x29, 0x48, 0x0142) /* LATIN SMALL LETTER L WITH STROK */
+MAP(0x29, 0x49, 0x0140) /* LATIN SMALL LETTER L WITH MIDDLE DO */
+MAP(0x29, 0x4A, 0x0149) /* LATIN SMALL LETTER N PRECEDED BY APOSTROPH */
+MAP(0x29, 0x4B, 0x014B) /* LATIN SMALL LETTER EN */
+MAP(0x29, 0x4C, 0x00F8) /* LATIN SMALL LETTER O WITH STROK */
+MAP(0x29, 0x4D, 0x0153) /* LATIN SMALL LIGATURE O */
+MAP(0x29, 0x4E, 0x00DF) /* LATIN SMALL LETTER SHARP */
+MAP(0x29, 0x4F, 0x0167) /* LATIN SMALL LETTER T WITH STROK */
+MAP(0x29, 0x50, 0x00FE) /* LATIN SMALL LETTER THOR */
+MAP(0x2A, 0x21, 0x00C1) /* LATIN CAPITAL LETTER A WITH ACUT */
+MAP(0x2A, 0x22, 0x00C0) /* LATIN CAPITAL LETTER A WITH GRAV */
+MAP(0x2A, 0x23, 0x00C4) /* LATIN CAPITAL LETTER A WITH DIAERESI */
+MAP(0x2A, 0x24, 0x00C2) /* LATIN CAPITAL LETTER A WITH CIRCUMFLE */
+MAP(0x2A, 0x25, 0x0102) /* LATIN CAPITAL LETTER A WITH BREV */
+MAP(0x2A, 0x26, 0x01CD) /* LATIN CAPITAL LETTER A WITH CARO */
+MAP(0x2A, 0x27, 0x0100) /* LATIN CAPITAL LETTER A WITH MACRO */
+MAP(0x2A, 0x28, 0x0104) /* LATIN CAPITAL LETTER A WITH OGONE */
+MAP(0x2A, 0x29, 0x00C5) /* LATIN CAPITAL LETTER A WITH RING ABOV */
+MAP(0x2A, 0x2A, 0x00C3) /* LATIN CAPITAL LETTER A WITH TILD */
+MAP(0x2A, 0x2B, 0x0106) /* LATIN CAPITAL LETTER C WITH ACUT */
+MAP(0x2A, 0x2C, 0x0108) /* LATIN CAPITAL LETTER C WITH CIRCUMFLE */
+MAP(0x2A, 0x2D, 0x010C) /* LATIN CAPITAL LETTER C WITH CARO */
+MAP(0x2A, 0x2E, 0x00C7) /* LATIN CAPITAL LETTER C WITH CEDILL */
+MAP(0x2A, 0x2F, 0x010A) /* LATIN CAPITAL LETTER C WITH DOT ABOV */
+MAP(0x2A, 0x30, 0x010E) /* LATIN CAPITAL LETTER D WITH CARO */
+MAP(0x2A, 0x31, 0x00C9) /* LATIN CAPITAL LETTER E WITH ACUT */
+MAP(0x2A, 0x32, 0x00C8) /* LATIN CAPITAL LETTER E WITH GRAV */
+MAP(0x2A, 0x33, 0x00CB) /* LATIN CAPITAL LETTER E WITH DIAERESI */
+MAP(0x2A, 0x34, 0x00CA) /* LATIN CAPITAL LETTER E WITH CIRCUMFLE */
+MAP(0x2A, 0x35, 0x011A) /* LATIN CAPITAL LETTER E WITH CARO */
+MAP(0x2A, 0x36, 0x0116) /* LATIN CAPITAL LETTER E WITH DOT ABOV */
+MAP(0x2A, 0x37, 0x0112) /* LATIN CAPITAL LETTER E WITH MACRO */
+MAP(0x2A, 0x38, 0x0118) /* LATIN CAPITAL LETTER E WITH OGONE */
+MAP(0x2A, 0x3A, 0x011C) /* LATIN CAPITAL LETTER G WITH CIRCUMFLE */
+MAP(0x2A, 0x3B, 0x011E) /* LATIN CAPITAL LETTER G WITH BREV */
+MAP(0x2A, 0x3C, 0x0122) /* LATIN CAPITAL LETTER G WITH CEDILL */
+MAP(0x2A, 0x3D, 0x0120) /* LATIN CAPITAL LETTER G WITH DOT ABOV */
+MAP(0x2A, 0x3E, 0x0124) /* LATIN CAPITAL LETTER H WITH CIRCUMFLE */
+MAP(0x2A, 0x3F, 0x00CD) /* LATIN CAPITAL LETTER I WITH ACUT */
+MAP(0x2A, 0x40, 0x00CC) /* LATIN CAPITAL LETTER I WITH GRAV */
+MAP(0x2A, 0x41, 0x00CF) /* LATIN CAPITAL LETTER I WITH DIAERESI */
+MAP(0x2A, 0x42, 0x00CE) /* LATIN CAPITAL LETTER I WITH CIRCUMFLE */
+MAP(0x2A, 0x43, 0x01CF) /* LATIN CAPITAL LETTER I WITH CARO */
+MAP(0x2A, 0x44, 0x0130) /* LATIN CAPITAL LETTER I WITH DOT ABOV */
+MAP(0x2A, 0x45, 0x012A) /* LATIN CAPITAL LETTER I WITH MACRO */
+MAP(0x2A, 0x46, 0x012E) /* LATIN CAPITAL LETTER I WITH OGONE */
+MAP(0x2A, 0x47, 0x0128) /* LATIN CAPITAL LETTER I WITH TILD */
+MAP(0x2A, 0x48, 0x0134) /* LATIN CAPITAL LETTER J WITH CIRCUMFLE */
+MAP(0x2A, 0x49, 0x0136) /* LATIN CAPITAL LETTER K WITH CEDILL */
+MAP(0x2A, 0x4A, 0x0139) /* LATIN CAPITAL LETTER L WITH ACUT */
+MAP(0x2A, 0x4B, 0x013D) /* LATIN CAPITAL LETTER L WITH CARO */
+MAP(0x2A, 0x4C, 0x013B) /* LATIN CAPITAL LETTER L WITH CEDILL */
+MAP(0x2A, 0x4D, 0x0143) /* LATIN CAPITAL LETTER N WITH ACUT */
+MAP(0x2A, 0x4E, 0x0147) /* LATIN CAPITAL LETTER N WITH CARO */
+MAP(0x2A, 0x4F, 0x0145) /* LATIN CAPITAL LETTER N WITH CEDILL */
+MAP(0x2A, 0x50, 0x00D1) /* LATIN CAPITAL LETTER N WITH TILD */
+MAP(0x2A, 0x51, 0x00D3) /* LATIN CAPITAL LETTER O WITH ACUT */
+MAP(0x2A, 0x52, 0x00D2) /* LATIN CAPITAL LETTER O WITH GRAV */
+MAP(0x2A, 0x53, 0x00D6) /* LATIN CAPITAL LETTER O WITH DIAERESI */
+MAP(0x2A, 0x54, 0x00D4) /* LATIN CAPITAL LETTER O WITH CIRCUMFLE */
+MAP(0x2A, 0x55, 0x01D1) /* LATIN CAPITAL LETTER O WITH CARO */
+MAP(0x2A, 0x56, 0x0150) /* LATIN CAPITAL LETTER O WITH DOUBLE ACUT */
+MAP(0x2A, 0x57, 0x014C) /* LATIN CAPITAL LETTER O WITH MACRO */
+MAP(0x2A, 0x58, 0x00D5) /* LATIN CAPITAL LETTER O WITH TILD */
+MAP(0x2A, 0x59, 0x0154) /* LATIN CAPITAL LETTER R WITH ACUT */
+MAP(0x2A, 0x5A, 0x0158) /* LATIN CAPITAL LETTER R WITH CARO */
+MAP(0x2A, 0x5B, 0x0156) /* LATIN CAPITAL LETTER R WITH CEDILL */
+MAP(0x2A, 0x5C, 0x015A) /* LATIN CAPITAL LETTER S WITH ACUT */
+MAP(0x2A, 0x5D, 0x015C) /* LATIN CAPITAL LETTER S WITH CIRCUMFLE */
+MAP(0x2A, 0x5E, 0x0160) /* LATIN CAPITAL LETTER S WITH CARO */
+MAP(0x2A, 0x5F, 0x015E) /* LATIN CAPITAL LETTER S WITH CEDILL */
+MAP(0x2A, 0x60, 0x0164) /* LATIN CAPITAL LETTER T WITH CARO */
+MAP(0x2A, 0x61, 0x0162) /* LATIN CAPITAL LETTER T WITH CEDILL */
+MAP(0x2A, 0x62, 0x00DA) /* LATIN CAPITAL LETTER U WITH ACUT */
+MAP(0x2A, 0x63, 0x00D9) /* LATIN CAPITAL LETTER U WITH GRAV */
+MAP(0x2A, 0x64, 0x00DC) /* LATIN CAPITAL LETTER U WITH DIAERESI */
+MAP(0x2A, 0x65, 0x00DB) /* LATIN CAPITAL LETTER U WITH CIRCUMFLE */
+MAP(0x2A, 0x66, 0x016C) /* LATIN CAPITAL LETTER U WITH BREV */
+MAP(0x2A, 0x67, 0x01D3) /* LATIN CAPITAL LETTER U WITH CARO */
+MAP(0x2A, 0x68, 0x0170) /* LATIN CAPITAL LETTER U WITH DOUBLE ACUT */
+MAP(0x2A, 0x69, 0x016A) /* LATIN CAPITAL LETTER U WITH MACRO */
+MAP(0x2A, 0x6A, 0x0172) /* LATIN CAPITAL LETTER U WITH OGONE */
+MAP(0x2A, 0x6B, 0x016E) /* LATIN CAPITAL LETTER U WITH RING ABOV */
+MAP(0x2A, 0x6C, 0x0168) /* LATIN CAPITAL LETTER U WITH TILD */
+MAP(0x2A, 0x6D, 0x01D7) /* LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUT */
+MAP(0x2A, 0x6E, 0x01DB) /* LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAV */
+MAP(0x2A, 0x6F, 0x01D9) /* LATIN CAPITAL LETTER U WITH DIAERESIS AND CARO */
+MAP(0x2A, 0x70, 0x01D5) /* LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRO */
+MAP(0x2A, 0x71, 0x0174) /* LATIN CAPITAL LETTER W WITH CIRCUMFLE */
+MAP(0x2A, 0x72, 0x00DD) /* LATIN CAPITAL LETTER Y WITH ACUT */
+MAP(0x2A, 0x73, 0x0178) /* LATIN CAPITAL LETTER Y WITH DIAERESI */
+MAP(0x2A, 0x74, 0x0176) /* LATIN CAPITAL LETTER Y WITH CIRCUMFLE */
+MAP(0x2A, 0x75, 0x0179) /* LATIN CAPITAL LETTER Z WITH ACUT */
+MAP(0x2A, 0x76, 0x017D) /* LATIN CAPITAL LETTER Z WITH CARO */
+MAP(0x2A, 0x77, 0x017B) /* LATIN CAPITAL LETTER Z WITH DOT ABOV */
+MAP(0x2B, 0x21, 0x00E1) /* LATIN SMALL LETTER A WITH ACUT */
+MAP(0x2B, 0x22, 0x00E0) /* LATIN SMALL LETTER A WITH GRAV */
+MAP(0x2B, 0x23, 0x00E4) /* LATIN SMALL LETTER A WITH DIAERESI */
+MAP(0x2B, 0x24, 0x00E2) /* LATIN SMALL LETTER A WITH CIRCUMFLE */
+MAP(0x2B, 0x25, 0x0103) /* LATIN SMALL LETTER A WITH BREV */
+MAP(0x2B, 0x26, 0x01CE) /* LATIN SMALL LETTER A WITH CARO */
+MAP(0x2B, 0x27, 0x0101) /* LATIN SMALL LETTER A WITH MACRO */
+MAP(0x2B, 0x28, 0x0105) /* LATIN SMALL LETTER A WITH OGONE */
+MAP(0x2B, 0x29, 0x00E5) /* LATIN SMALL LETTER A WITH RING ABOV */
+MAP(0x2B, 0x2A, 0x00E3) /* LATIN SMALL LETTER A WITH TILD */
+MAP(0x2B, 0x2B, 0x0107) /* LATIN SMALL LETTER C WITH ACUT */
+MAP(0x2B, 0x2C, 0x0109) /* LATIN SMALL LETTER C WITH CIRCUMFLE */
+MAP(0x2B, 0x2D, 0x010D) /* LATIN SMALL LETTER C WITH CARO */
+MAP(0x2B, 0x2E, 0x00E7) /* LATIN SMALL LETTER C WITH CEDILL */
+MAP(0x2B, 0x2F, 0x010B) /* LATIN SMALL LETTER C WITH DOT ABOV */
+MAP(0x2B, 0x30, 0x010F) /* LATIN SMALL LETTER D WITH CARO */
+MAP(0x2B, 0x31, 0x00E9) /* LATIN SMALL LETTER E WITH ACUT */
+MAP(0x2B, 0x32, 0x00E8) /* LATIN SMALL LETTER E WITH GRAV */
+MAP(0x2B, 0x33, 0x00EB) /* LATIN SMALL LETTER E WITH DIAERESI */
+MAP(0x2B, 0x34, 0x00EA) /* LATIN SMALL LETTER E WITH CIRCUMFLE */
+MAP(0x2B, 0x35, 0x011B) /* LATIN SMALL LETTER E WITH CARO */
+MAP(0x2B, 0x36, 0x0117) /* LATIN SMALL LETTER E WITH DOT ABOV */
+MAP(0x2B, 0x37, 0x0113) /* LATIN SMALL LETTER E WITH MACRO */
+MAP(0x2B, 0x38, 0x0119) /* LATIN SMALL LETTER E WITH OGONE */
+MAP(0x2B, 0x39, 0x01F5) /* LATIN SMALL LETTER G WITH ACUT */
+MAP(0x2B, 0x3A, 0x011D) /* LATIN SMALL LETTER G WITH CIRCUMFLE */
+MAP(0x2B, 0x3B, 0x011F) /* LATIN SMALL LETTER G WITH BREV */
+MAP(0x2B, 0x3D, 0x0121) /* LATIN SMALL LETTER G WITH DOT ABOV */
+MAP(0x2B, 0x3E, 0x0125) /* LATIN SMALL LETTER H WITH CIRCUMFLE */
+MAP(0x2B, 0x3F, 0x00ED) /* LATIN SMALL LETTER I WITH ACUT */
+MAP(0x2B, 0x40, 0x00EC) /* LATIN SMALL LETTER I WITH GRAV */
+MAP(0x2B, 0x41, 0x00EF) /* LATIN SMALL LETTER I WITH DIAERESI */
+MAP(0x2B, 0x42, 0x00EE) /* LATIN SMALL LETTER I WITH CIRCUMFLE */
+MAP(0x2B, 0x43, 0x01D0) /* LATIN SMALL LETTER I WITH CARO */
+MAP(0x2B, 0x45, 0x012B) /* LATIN SMALL LETTER I WITH MACRO */
+MAP(0x2B, 0x46, 0x012F) /* LATIN SMALL LETTER I WITH OGONE */
+MAP(0x2B, 0x47, 0x0129) /* LATIN SMALL LETTER I WITH TILD */
+MAP(0x2B, 0x48, 0x0135) /* LATIN SMALL LETTER J WITH CIRCUMFLE */
+MAP(0x2B, 0x49, 0x0137) /* LATIN SMALL LETTER K WITH CEDILL */
+MAP(0x2B, 0x4A, 0x013A) /* LATIN SMALL LETTER L WITH ACUT */
+MAP(0x2B, 0x4B, 0x013E) /* LATIN SMALL LETTER L WITH CARO */
+MAP(0x2B, 0x4C, 0x013C) /* LATIN SMALL LETTER L WITH CEDILL */
+MAP(0x2B, 0x4D, 0x0144) /* LATIN SMALL LETTER N WITH ACUT */
+MAP(0x2B, 0x4E, 0x0148) /* LATIN SMALL LETTER N WITH CARO */
+MAP(0x2B, 0x4F, 0x0146) /* LATIN SMALL LETTER N WITH CEDILL */
+MAP(0x2B, 0x50, 0x00F1) /* LATIN SMALL LETTER N WITH TILD */
+MAP(0x2B, 0x51, 0x00F3) /* LATIN SMALL LETTER O WITH ACUT */
+MAP(0x2B, 0x52, 0x00F2) /* LATIN SMALL LETTER O WITH GRAV */
+MAP(0x2B, 0x53, 0x00F6) /* LATIN SMALL LETTER O WITH DIAERESI */
+MAP(0x2B, 0x54, 0x00F4) /* LATIN SMALL LETTER O WITH CIRCUMFLE */
+MAP(0x2B, 0x55, 0x01D2) /* LATIN SMALL LETTER O WITH CARO */
+MAP(0x2B, 0x56, 0x0151) /* LATIN SMALL LETTER O WITH DOUBLE ACUT */
+MAP(0x2B, 0x57, 0x014D) /* LATIN SMALL LETTER O WITH MACRO */
+MAP(0x2B, 0x58, 0x00F5) /* LATIN SMALL LETTER O WITH TILD */
+MAP(0x2B, 0x59, 0x0155) /* LATIN SMALL LETTER R WITH ACUT */
+MAP(0x2B, 0x5A, 0x0159) /* LATIN SMALL LETTER R WITH CARO */
+MAP(0x2B, 0x5B, 0x0157) /* LATIN SMALL LETTER R WITH CEDILL */
+MAP(0x2B, 0x5C, 0x015B) /* LATIN SMALL LETTER S WITH ACUT */
+MAP(0x2B, 0x5D, 0x015D) /* LATIN SMALL LETTER S WITH CIRCUMFLE */
+MAP(0x2B, 0x5E, 0x0161) /* LATIN SMALL LETTER S WITH CARO */
+MAP(0x2B, 0x5F, 0x015F) /* LATIN SMALL LETTER S WITH CEDILL */
+MAP(0x2B, 0x60, 0x0165) /* LATIN SMALL LETTER T WITH CARO */
+MAP(0x2B, 0x61, 0x0163) /* LATIN SMALL LETTER T WITH CEDILL */
+MAP(0x2B, 0x62, 0x00FA) /* LATIN SMALL LETTER U WITH ACUT */
+MAP(0x2B, 0x63, 0x00F9) /* LATIN SMALL LETTER U WITH GRAV */
+MAP(0x2B, 0x64, 0x00FC) /* LATIN SMALL LETTER U WITH DIAERESI */
+MAP(0x2B, 0x65, 0x00FB) /* LATIN SMALL LETTER U WITH CIRCUMFLE */
+MAP(0x2B, 0x66, 0x016D) /* LATIN SMALL LETTER U WITH BREV */
+MAP(0x2B, 0x67, 0x01D4) /* LATIN SMALL LETTER U WITH CARO */
+MAP(0x2B, 0x68, 0x0171) /* LATIN SMALL LETTER U WITH DOUBLE ACUT */
+MAP(0x2B, 0x69, 0x016B) /* LATIN SMALL LETTER U WITH MACRO */
+MAP(0x2B, 0x6A, 0x0173) /* LATIN SMALL LETTER U WITH OGONE */
+MAP(0x2B, 0x6B, 0x016F) /* LATIN SMALL LETTER U WITH RING ABOV */
+MAP(0x2B, 0x6C, 0x0169) /* LATIN SMALL LETTER U WITH TILD */
+MAP(0x2B, 0x6D, 0x01D8) /* LATIN SMALL LETTER U WITH DIAERESIS AND ACUT */
+MAP(0x2B, 0x6E, 0x01DC) /* LATIN SMALL LETTER U WITH DIAERESIS AND GRAV */
+MAP(0x2B, 0x6F, 0x01DA) /* LATIN SMALL LETTER U WITH DIAERESIS AND CARO */
+MAP(0x2B, 0x70, 0x01D6) /* LATIN SMALL LETTER U WITH DIAERESIS AND MACRO */
+MAP(0x2B, 0x71, 0x0175) /* LATIN SMALL LETTER W WITH CIRCUMFLE */
+MAP(0x2B, 0x72, 0x00FD) /* LATIN SMALL LETTER Y WITH ACUT */
+MAP(0x2B, 0x73, 0x00FF) /* LATIN SMALL LETTER Y WITH DIAERESI */
+MAP(0x2B, 0x74, 0x0177) /* LATIN SMALL LETTER Y WITH CIRCUMFLE */
+MAP(0x2B, 0x75, 0x017A) /* LATIN SMALL LETTER Z WITH ACUT */
+MAP(0x2B, 0x76, 0x017E) /* LATIN SMALL LETTER Z WITH CARO */
+MAP(0x2B, 0x77, 0x017C) /* LATIN SMALL LETTER Z WITH DOT ABOV */
+MAP(0x30, 0x21, 0x4E02) /* <CJK */
+MAP(0x30, 0x22, 0x4E04) /* <CJK */
+MAP(0x30, 0x23, 0x4E05) /* <CJK */
+MAP(0x30, 0x24, 0x4E0C) /* <CJK */
+MAP(0x30, 0x25, 0x4E12) /* <CJK */
+MAP(0x30, 0x26, 0x4E1F) /* <CJK */
+MAP(0x30, 0x27, 0x4E23) /* <CJK */
+MAP(0x30, 0x28, 0x4E24) /* <CJK */
+MAP(0x30, 0x29, 0x4E28) /* <CJK */
+MAP(0x30, 0x2A, 0x4E2B) /* <CJK */
+MAP(0x30, 0x2B, 0x4E2E) /* <CJK */
+MAP(0x30, 0x2C, 0x4E2F) /* <CJK */
+MAP(0x30, 0x2D, 0x4E30) /* <CJK */
+MAP(0x30, 0x2E, 0x4E35) /* <CJK */
+MAP(0x30, 0x2F, 0x4E40) /* <CJK */
+MAP(0x30, 0x30, 0x4E41) /* <CJK */
+MAP(0x30, 0x31, 0x4E44) /* <CJK */
+MAP(0x30, 0x32, 0x4E47) /* <CJK */
+MAP(0x30, 0x33, 0x4E51) /* <CJK */
+MAP(0x30, 0x34, 0x4E5A) /* <CJK */
+MAP(0x30, 0x35, 0x4E5C) /* <CJK */
+MAP(0x30, 0x36, 0x4E63) /* <CJK */
+MAP(0x30, 0x37, 0x4E68) /* <CJK */
+MAP(0x30, 0x38, 0x4E69) /* <CJK */
+MAP(0x30, 0x39, 0x4E74) /* <CJK */
+MAP(0x30, 0x3A, 0x4E75) /* <CJK */
+MAP(0x30, 0x3B, 0x4E79) /* <CJK */
+MAP(0x30, 0x3C, 0x4E7F) /* <CJK */
+MAP(0x30, 0x3D, 0x4E8D) /* <CJK */
+MAP(0x30, 0x3E, 0x4E96) /* <CJK */
+MAP(0x30, 0x3F, 0x4E97) /* <CJK */
+MAP(0x30, 0x40, 0x4E9D) /* <CJK */
+MAP(0x30, 0x41, 0x4EAF) /* <CJK */
+MAP(0x30, 0x42, 0x4EB9) /* <CJK */
+MAP(0x30, 0x43, 0x4EC3) /* <CJK */
+MAP(0x30, 0x44, 0x4ED0) /* <CJK */
+MAP(0x30, 0x45, 0x4EDA) /* <CJK */
+MAP(0x30, 0x46, 0x4EDB) /* <CJK */
+MAP(0x30, 0x47, 0x4EE0) /* <CJK */
+MAP(0x30, 0x48, 0x4EE1) /* <CJK */
+MAP(0x30, 0x49, 0x4EE2) /* <CJK */
+MAP(0x30, 0x4A, 0x4EE8) /* <CJK */
+MAP(0x30, 0x4B, 0x4EEF) /* <CJK */
+MAP(0x30, 0x4C, 0x4EF1) /* <CJK */
+MAP(0x30, 0x4D, 0x4EF3) /* <CJK */
+MAP(0x30, 0x4E, 0x4EF5) /* <CJK */
+MAP(0x30, 0x4F, 0x4EFD) /* <CJK */
+MAP(0x30, 0x50, 0x4EFE) /* <CJK */
+MAP(0x30, 0x51, 0x4EFF) /* <CJK */
+MAP(0x30, 0x52, 0x4F00) /* <CJK */
+MAP(0x30, 0x53, 0x4F02) /* <CJK */
+MAP(0x30, 0x54, 0x4F03) /* <CJK */
+MAP(0x30, 0x55, 0x4F08) /* <CJK */
+MAP(0x30, 0x56, 0x4F0B) /* <CJK */
+MAP(0x30, 0x57, 0x4F0C) /* <CJK */
+MAP(0x30, 0x58, 0x4F12) /* <CJK */
+MAP(0x30, 0x59, 0x4F15) /* <CJK */
+MAP(0x30, 0x5A, 0x4F16) /* <CJK */
+MAP(0x30, 0x5B, 0x4F17) /* <CJK */
+MAP(0x30, 0x5C, 0x4F19) /* <CJK */
+MAP(0x30, 0x5D, 0x4F2E) /* <CJK */
+MAP(0x30, 0x5E, 0x4F31) /* <CJK */
+MAP(0x30, 0x5F, 0x4F60) /* <CJK */
+MAP(0x30, 0x60, 0x4F33) /* <CJK */
+MAP(0x30, 0x61, 0x4F35) /* <CJK */
+MAP(0x30, 0x62, 0x4F37) /* <CJK */
+MAP(0x30, 0x63, 0x4F39) /* <CJK */
+MAP(0x30, 0x64, 0x4F3B) /* <CJK */
+MAP(0x30, 0x65, 0x4F3E) /* <CJK */
+MAP(0x30, 0x66, 0x4F40) /* <CJK */
+MAP(0x30, 0x67, 0x4F42) /* <CJK */
+MAP(0x30, 0x68, 0x4F48) /* <CJK */
+MAP(0x30, 0x69, 0x4F49) /* <CJK */
+MAP(0x30, 0x6A, 0x4F4B) /* <CJK */
+MAP(0x30, 0x6B, 0x4F4C) /* <CJK */
+MAP(0x30, 0x6C, 0x4F52) /* <CJK */
+MAP(0x30, 0x6D, 0x4F54) /* <CJK */
+MAP(0x30, 0x6E, 0x4F56) /* <CJK */
+MAP(0x30, 0x6F, 0x4F58) /* <CJK */
+MAP(0x30, 0x70, 0x4F5F) /* <CJK */
+MAP(0x30, 0x71, 0x4F63) /* <CJK */
+MAP(0x30, 0x72, 0x4F6A) /* <CJK */
+MAP(0x30, 0x73, 0x4F6C) /* <CJK */
+MAP(0x30, 0x74, 0x4F6E) /* <CJK */
+MAP(0x30, 0x75, 0x4F71) /* <CJK */
+MAP(0x30, 0x76, 0x4F77) /* <CJK */
+MAP(0x30, 0x77, 0x4F78) /* <CJK */
+MAP(0x30, 0x78, 0x4F79) /* <CJK */
+MAP(0x30, 0x79, 0x4F7A) /* <CJK */
+MAP(0x30, 0x7A, 0x4F7D) /* <CJK */
+MAP(0x30, 0x7B, 0x4F7E) /* <CJK */
+MAP(0x30, 0x7C, 0x4F81) /* <CJK */
+MAP(0x30, 0x7D, 0x4F82) /* <CJK */
+MAP(0x30, 0x7E, 0x4F84) /* <CJK */
+MAP(0x31, 0x21, 0x4F85) /* <CJK */
+MAP(0x31, 0x22, 0x4F89) /* <CJK */
+MAP(0x31, 0x23, 0x4F8A) /* <CJK */
+MAP(0x31, 0x24, 0x4F8C) /* <CJK */
+MAP(0x31, 0x25, 0x4F8E) /* <CJK */
+MAP(0x31, 0x26, 0x4F90) /* <CJK */
+MAP(0x31, 0x27, 0x4F92) /* <CJK */
+MAP(0x31, 0x28, 0x4F93) /* <CJK */
+MAP(0x31, 0x29, 0x4F94) /* <CJK */
+MAP(0x31, 0x2A, 0x4F97) /* <CJK */
+MAP(0x31, 0x2B, 0x4F99) /* <CJK */
+MAP(0x31, 0x2C, 0x4F9A) /* <CJK */
+MAP(0x31, 0x2D, 0x4F9E) /* <CJK */
+MAP(0x31, 0x2E, 0x4F9F) /* <CJK */
+MAP(0x31, 0x2F, 0x4FB2) /* <CJK */
+MAP(0x31, 0x30, 0x4FB7) /* <CJK */
+MAP(0x31, 0x31, 0x4FB9) /* <CJK */
+MAP(0x31, 0x32, 0x4FBB) /* <CJK */
+MAP(0x31, 0x33, 0x4FBC) /* <CJK */
+MAP(0x31, 0x34, 0x4FBD) /* <CJK */
+MAP(0x31, 0x35, 0x4FBE) /* <CJK */
+MAP(0x31, 0x36, 0x4FC0) /* <CJK */
+MAP(0x31, 0x37, 0x4FC1) /* <CJK */
+MAP(0x31, 0x38, 0x4FC5) /* <CJK */
+MAP(0x31, 0x39, 0x4FC6) /* <CJK */
+MAP(0x31, 0x3A, 0x4FC8) /* <CJK */
+MAP(0x31, 0x3B, 0x4FC9) /* <CJK */
+MAP(0x31, 0x3C, 0x4FCB) /* <CJK */
+MAP(0x31, 0x3D, 0x4FCC) /* <CJK */
+MAP(0x31, 0x3E, 0x4FCD) /* <CJK */
+MAP(0x31, 0x3F, 0x4FCF) /* <CJK */
+MAP(0x31, 0x40, 0x4FD2) /* <CJK */
+MAP(0x31, 0x41, 0x4FDC) /* <CJK */
+MAP(0x31, 0x42, 0x4FE0) /* <CJK */
+MAP(0x31, 0x43, 0x4FE2) /* <CJK */
+MAP(0x31, 0x44, 0x4FF0) /* <CJK */
+MAP(0x31, 0x45, 0x4FF2) /* <CJK */
+MAP(0x31, 0x46, 0x4FFC) /* <CJK */
+MAP(0x31, 0x47, 0x4FFD) /* <CJK */
+MAP(0x31, 0x48, 0x4FFF) /* <CJK */
+MAP(0x31, 0x49, 0x5000) /* <CJK */
+MAP(0x31, 0x4A, 0x5001) /* <CJK */
+MAP(0x31, 0x4B, 0x5004) /* <CJK */
+MAP(0x31, 0x4C, 0x5007) /* <CJK */
+MAP(0x31, 0x4D, 0x500A) /* <CJK */
+MAP(0x31, 0x4E, 0x500C) /* <CJK */
+MAP(0x31, 0x4F, 0x500E) /* <CJK */
+MAP(0x31, 0x50, 0x5010) /* <CJK */
+MAP(0x31, 0x51, 0x5013) /* <CJK */
+MAP(0x31, 0x52, 0x5017) /* <CJK */
+MAP(0x31, 0x53, 0x5018) /* <CJK */
+MAP(0x31, 0x54, 0x501B) /* <CJK */
+MAP(0x31, 0x55, 0x501C) /* <CJK */
+MAP(0x31, 0x56, 0x501D) /* <CJK */
+MAP(0x31, 0x57, 0x501E) /* <CJK */
+MAP(0x31, 0x58, 0x5022) /* <CJK */
+MAP(0x31, 0x59, 0x5027) /* <CJK */
+MAP(0x31, 0x5A, 0x502E) /* <CJK */
+MAP(0x31, 0x5B, 0x5030) /* <CJK */
+MAP(0x31, 0x5C, 0x5032) /* <CJK */
+MAP(0x31, 0x5D, 0x5033) /* <CJK */
+MAP(0x31, 0x5E, 0x5035) /* <CJK */
+MAP(0x31, 0x5F, 0x5040) /* <CJK */
+MAP(0x31, 0x60, 0x5041) /* <CJK */
+MAP(0x31, 0x61, 0x5042) /* <CJK */
+MAP(0x31, 0x62, 0x5045) /* <CJK */
+MAP(0x31, 0x63, 0x5046) /* <CJK */
+MAP(0x31, 0x64, 0x504A) /* <CJK */
+MAP(0x31, 0x65, 0x504C) /* <CJK */
+MAP(0x31, 0x66, 0x504E) /* <CJK */
+MAP(0x31, 0x67, 0x5051) /* <CJK */
+MAP(0x31, 0x68, 0x5052) /* <CJK */
+MAP(0x31, 0x69, 0x5053) /* <CJK */
+MAP(0x31, 0x6A, 0x5057) /* <CJK */
+MAP(0x31, 0x6B, 0x5059) /* <CJK */
+MAP(0x31, 0x6C, 0x505F) /* <CJK */
+MAP(0x31, 0x6D, 0x5060) /* <CJK */
+MAP(0x31, 0x6E, 0x5062) /* <CJK */
+MAP(0x31, 0x6F, 0x5063) /* <CJK */
+MAP(0x31, 0x70, 0x5066) /* <CJK */
+MAP(0x31, 0x71, 0x5067) /* <CJK */
+MAP(0x31, 0x72, 0x506A) /* <CJK */
+MAP(0x31, 0x73, 0x506D) /* <CJK */
+MAP(0x31, 0x74, 0x5070) /* <CJK */
+MAP(0x31, 0x75, 0x5071) /* <CJK */
+MAP(0x31, 0x76, 0x503B) /* <CJK */
+MAP(0x31, 0x77, 0x5081) /* <CJK */
+MAP(0x31, 0x78, 0x5083) /* <CJK */
+MAP(0x31, 0x79, 0x5084) /* <CJK */
+MAP(0x31, 0x7A, 0x5086) /* <CJK */
+MAP(0x31, 0x7B, 0x508A) /* <CJK */
+MAP(0x31, 0x7C, 0x508E) /* <CJK */
+MAP(0x31, 0x7D, 0x508F) /* <CJK */
+MAP(0x31, 0x7E, 0x5090) /* <CJK */
+MAP(0x32, 0x21, 0x5092) /* <CJK */
+MAP(0x32, 0x22, 0x5093) /* <CJK */
+MAP(0x32, 0x23, 0x5094) /* <CJK */
+MAP(0x32, 0x24, 0x5096) /* <CJK */
+MAP(0x32, 0x25, 0x509B) /* <CJK */
+MAP(0x32, 0x26, 0x509C) /* <CJK */
+MAP(0x32, 0x27, 0x509E) /* <CJK */
+MAP(0x32, 0x28, 0x509F) /* <CJK */
+MAP(0x32, 0x29, 0x50A0) /* <CJK */
+MAP(0x32, 0x2A, 0x50A1) /* <CJK */
+MAP(0x32, 0x2B, 0x50A2) /* <CJK */
+MAP(0x32, 0x2C, 0x50AA) /* <CJK */
+MAP(0x32, 0x2D, 0x50AF) /* <CJK */
+MAP(0x32, 0x2E, 0x50B0) /* <CJK */
+MAP(0x32, 0x2F, 0x50B9) /* <CJK */
+MAP(0x32, 0x30, 0x50BA) /* <CJK */
+MAP(0x32, 0x31, 0x50BD) /* <CJK */
+MAP(0x32, 0x32, 0x50C0) /* <CJK */
+MAP(0x32, 0x33, 0x50C3) /* <CJK */
+MAP(0x32, 0x34, 0x50C4) /* <CJK */
+MAP(0x32, 0x35, 0x50C7) /* <CJK */
+MAP(0x32, 0x36, 0x50CC) /* <CJK */
+MAP(0x32, 0x37, 0x50CE) /* <CJK */
+MAP(0x32, 0x38, 0x50D0) /* <CJK */
+MAP(0x32, 0x39, 0x50D3) /* <CJK */
+MAP(0x32, 0x3A, 0x50D4) /* <CJK */
+MAP(0x32, 0x3B, 0x50D8) /* <CJK */
+MAP(0x32, 0x3C, 0x50DC) /* <CJK */
+MAP(0x32, 0x3D, 0x50DD) /* <CJK */
+MAP(0x32, 0x3E, 0x50DF) /* <CJK */
+MAP(0x32, 0x3F, 0x50E2) /* <CJK */
+MAP(0x32, 0x40, 0x50E4) /* <CJK */
+MAP(0x32, 0x41, 0x50E6) /* <CJK */
+MAP(0x32, 0x42, 0x50E8) /* <CJK */
+MAP(0x32, 0x43, 0x50E9) /* <CJK */
+MAP(0x32, 0x44, 0x50EF) /* <CJK */
+MAP(0x32, 0x45, 0x50F1) /* <CJK */
+MAP(0x32, 0x46, 0x50F6) /* <CJK */
+MAP(0x32, 0x47, 0x50FA) /* <CJK */
+MAP(0x32, 0x48, 0x50FE) /* <CJK */
+MAP(0x32, 0x49, 0x5103) /* <CJK */
+MAP(0x32, 0x4A, 0x5106) /* <CJK */
+MAP(0x32, 0x4B, 0x5107) /* <CJK */
+MAP(0x32, 0x4C, 0x5108) /* <CJK */
+MAP(0x32, 0x4D, 0x510B) /* <CJK */
+MAP(0x32, 0x4E, 0x510C) /* <CJK */
+MAP(0x32, 0x4F, 0x510D) /* <CJK */
+MAP(0x32, 0x50, 0x510E) /* <CJK */
+MAP(0x32, 0x51, 0x50F2) /* <CJK */
+MAP(0x32, 0x52, 0x5110) /* <CJK */
+MAP(0x32, 0x53, 0x5117) /* <CJK */
+MAP(0x32, 0x54, 0x5119) /* <CJK */
+MAP(0x32, 0x55, 0x511B) /* <CJK */
+MAP(0x32, 0x56, 0x511C) /* <CJK */
+MAP(0x32, 0x57, 0x511D) /* <CJK */
+MAP(0x32, 0x58, 0x511E) /* <CJK */
+MAP(0x32, 0x59, 0x5123) /* <CJK */
+MAP(0x32, 0x5A, 0x5127) /* <CJK */
+MAP(0x32, 0x5B, 0x5128) /* <CJK */
+MAP(0x32, 0x5C, 0x512C) /* <CJK */
+MAP(0x32, 0x5D, 0x512D) /* <CJK */
+MAP(0x32, 0x5E, 0x512F) /* <CJK */
+MAP(0x32, 0x5F, 0x5131) /* <CJK */
+MAP(0x32, 0x60, 0x5133) /* <CJK */
+MAP(0x32, 0x61, 0x5134) /* <CJK */
+MAP(0x32, 0x62, 0x5135) /* <CJK */
+MAP(0x32, 0x63, 0x5138) /* <CJK */
+MAP(0x32, 0x64, 0x5139) /* <CJK */
+MAP(0x32, 0x65, 0x5142) /* <CJK */
+MAP(0x32, 0x66, 0x514A) /* <CJK */
+MAP(0x32, 0x67, 0x514F) /* <CJK */
+MAP(0x32, 0x68, 0x5153) /* <CJK */
+MAP(0x32, 0x69, 0x5155) /* <CJK */
+MAP(0x32, 0x6A, 0x5157) /* <CJK */
+MAP(0x32, 0x6B, 0x5158) /* <CJK */
+MAP(0x32, 0x6C, 0x515F) /* <CJK */
+MAP(0x32, 0x6D, 0x5164) /* <CJK */
+MAP(0x32, 0x6E, 0x5166) /* <CJK */
+MAP(0x32, 0x6F, 0x517E) /* <CJK */
+MAP(0x32, 0x70, 0x5183) /* <CJK */
+MAP(0x32, 0x71, 0x5184) /* <CJK */
+MAP(0x32, 0x72, 0x518B) /* <CJK */
+MAP(0x32, 0x73, 0x518E) /* <CJK */
+MAP(0x32, 0x74, 0x5198) /* <CJK */
+MAP(0x32, 0x75, 0x519D) /* <CJK */
+MAP(0x32, 0x76, 0x51A1) /* <CJK */
+MAP(0x32, 0x77, 0x51A3) /* <CJK */
+MAP(0x32, 0x78, 0x51AD) /* <CJK */
+MAP(0x32, 0x79, 0x51B8) /* <CJK */
+MAP(0x32, 0x7A, 0x51BA) /* <CJK */
+MAP(0x32, 0x7B, 0x51BC) /* <CJK */
+MAP(0x32, 0x7C, 0x51BE) /* <CJK */
+MAP(0x32, 0x7D, 0x51BF) /* <CJK */
+MAP(0x32, 0x7E, 0x51C2) /* <CJK */
+MAP(0x33, 0x21, 0x51C8) /* <CJK */
+MAP(0x33, 0x22, 0x51CF) /* <CJK */
+MAP(0x33, 0x23, 0x51D1) /* <CJK */
+MAP(0x33, 0x24, 0x51D2) /* <CJK */
+MAP(0x33, 0x25, 0x51D3) /* <CJK */
+MAP(0x33, 0x26, 0x51D5) /* <CJK */
+MAP(0x33, 0x27, 0x51D8) /* <CJK */
+MAP(0x33, 0x28, 0x51DE) /* <CJK */
+MAP(0x33, 0x29, 0x51E2) /* <CJK */
+MAP(0x33, 0x2A, 0x51E5) /* <CJK */
+MAP(0x33, 0x2B, 0x51EE) /* <CJK */
+MAP(0x33, 0x2C, 0x51F2) /* <CJK */
+MAP(0x33, 0x2D, 0x51F3) /* <CJK */
+MAP(0x33, 0x2E, 0x51F4) /* <CJK */
+MAP(0x33, 0x2F, 0x51F7) /* <CJK */
+MAP(0x33, 0x30, 0x5201) /* <CJK */
+MAP(0x33, 0x31, 0x5202) /* <CJK */
+MAP(0x33, 0x32, 0x5205) /* <CJK */
+MAP(0x33, 0x33, 0x5212) /* <CJK */
+MAP(0x33, 0x34, 0x5213) /* <CJK */
+MAP(0x33, 0x35, 0x5215) /* <CJK */
+MAP(0x33, 0x36, 0x5216) /* <CJK */
+MAP(0x33, 0x37, 0x5218) /* <CJK */
+MAP(0x33, 0x38, 0x5222) /* <CJK */
+MAP(0x33, 0x39, 0x5228) /* <CJK */
+MAP(0x33, 0x3A, 0x5231) /* <CJK */
+MAP(0x33, 0x3B, 0x5232) /* <CJK */
+MAP(0x33, 0x3C, 0x5235) /* <CJK */
+MAP(0x33, 0x3D, 0x523C) /* <CJK */
+MAP(0x33, 0x3E, 0x5245) /* <CJK */
+MAP(0x33, 0x3F, 0x5249) /* <CJK */
+MAP(0x33, 0x40, 0x5255) /* <CJK */
+MAP(0x33, 0x41, 0x5257) /* <CJK */
+MAP(0x33, 0x42, 0x5258) /* <CJK */
+MAP(0x33, 0x43, 0x525A) /* <CJK */
+MAP(0x33, 0x44, 0x525C) /* <CJK */
+MAP(0x33, 0x45, 0x525F) /* <CJK */
+MAP(0x33, 0x46, 0x5260) /* <CJK */
+MAP(0x33, 0x47, 0x5261) /* <CJK */
+MAP(0x33, 0x48, 0x5266) /* <CJK */
+MAP(0x33, 0x49, 0x526E) /* <CJK */
+MAP(0x33, 0x4A, 0x5277) /* <CJK */
+MAP(0x33, 0x4B, 0x5278) /* <CJK */
+MAP(0x33, 0x4C, 0x5279) /* <CJK */
+MAP(0x33, 0x4D, 0x5280) /* <CJK */
+MAP(0x33, 0x4E, 0x5282) /* <CJK */
+MAP(0x33, 0x4F, 0x5285) /* <CJK */
+MAP(0x33, 0x50, 0x528A) /* <CJK */
+MAP(0x33, 0x51, 0x528C) /* <CJK */
+MAP(0x33, 0x52, 0x5293) /* <CJK */
+MAP(0x33, 0x53, 0x5295) /* <CJK */
+MAP(0x33, 0x54, 0x5296) /* <CJK */
+MAP(0x33, 0x55, 0x5297) /* <CJK */
+MAP(0x33, 0x56, 0x5298) /* <CJK */
+MAP(0x33, 0x57, 0x529A) /* <CJK */
+MAP(0x33, 0x58, 0x529C) /* <CJK */
+MAP(0x33, 0x59, 0x52A4) /* <CJK */
+MAP(0x33, 0x5A, 0x52A5) /* <CJK */
+MAP(0x33, 0x5B, 0x52A6) /* <CJK */
+MAP(0x33, 0x5C, 0x52A7) /* <CJK */
+MAP(0x33, 0x5D, 0x52AF) /* <CJK */
+MAP(0x33, 0x5E, 0x52B0) /* <CJK */
+MAP(0x33, 0x5F, 0x52B6) /* <CJK */
+MAP(0x33, 0x60, 0x52B7) /* <CJK */
+MAP(0x33, 0x61, 0x52B8) /* <CJK */
+MAP(0x33, 0x62, 0x52BA) /* <CJK */
+MAP(0x33, 0x63, 0x52BB) /* <CJK */
+MAP(0x33, 0x64, 0x52BD) /* <CJK */
+MAP(0x33, 0x65, 0x52C0) /* <CJK */
+MAP(0x33, 0x66, 0x52C4) /* <CJK */
+MAP(0x33, 0x67, 0x52C6) /* <CJK */
+MAP(0x33, 0x68, 0x52C8) /* <CJK */
+MAP(0x33, 0x69, 0x52CC) /* <CJK */
+MAP(0x33, 0x6A, 0x52CF) /* <CJK */
+MAP(0x33, 0x6B, 0x52D1) /* <CJK */
+MAP(0x33, 0x6C, 0x52D4) /* <CJK */
+MAP(0x33, 0x6D, 0x52D6) /* <CJK */
+MAP(0x33, 0x6E, 0x52DB) /* <CJK */
+MAP(0x33, 0x6F, 0x52DC) /* <CJK */
+MAP(0x33, 0x70, 0x52E1) /* <CJK */
+MAP(0x33, 0x71, 0x52E5) /* <CJK */
+MAP(0x33, 0x72, 0x52E8) /* <CJK */
+MAP(0x33, 0x73, 0x52E9) /* <CJK */
+MAP(0x33, 0x74, 0x52EA) /* <CJK */
+MAP(0x33, 0x75, 0x52EC) /* <CJK */
+MAP(0x33, 0x76, 0x52F0) /* <CJK */
+MAP(0x33, 0x77, 0x52F1) /* <CJK */
+MAP(0x33, 0x78, 0x52F4) /* <CJK */
+MAP(0x33, 0x79, 0x52F6) /* <CJK */
+MAP(0x33, 0x7A, 0x52F7) /* <CJK */
+MAP(0x33, 0x7B, 0x5300) /* <CJK */
+MAP(0x33, 0x7C, 0x5303) /* <CJK */
+MAP(0x33, 0x7D, 0x530A) /* <CJK */
+MAP(0x33, 0x7E, 0x530B) /* <CJK */
+MAP(0x34, 0x21, 0x530C) /* <CJK */
+MAP(0x34, 0x22, 0x5311) /* <CJK */
+MAP(0x34, 0x23, 0x5313) /* <CJK */
+MAP(0x34, 0x24, 0x5318) /* <CJK */
+MAP(0x34, 0x25, 0x531B) /* <CJK */
+MAP(0x34, 0x26, 0x531C) /* <CJK */
+MAP(0x34, 0x27, 0x531E) /* <CJK */
+MAP(0x34, 0x28, 0x531F) /* <CJK */
+MAP(0x34, 0x29, 0x5325) /* <CJK */
+MAP(0x34, 0x2A, 0x5327) /* <CJK */
+MAP(0x34, 0x2B, 0x5328) /* <CJK */
+MAP(0x34, 0x2C, 0x5329) /* <CJK */
+MAP(0x34, 0x2D, 0x532B) /* <CJK */
+MAP(0x34, 0x2E, 0x532C) /* <CJK */
+MAP(0x34, 0x2F, 0x532D) /* <CJK */
+MAP(0x34, 0x30, 0x5330) /* <CJK */
+MAP(0x34, 0x31, 0x5332) /* <CJK */
+MAP(0x34, 0x32, 0x5335) /* <CJK */
+MAP(0x34, 0x33, 0x533C) /* <CJK */
+MAP(0x34, 0x34, 0x533D) /* <CJK */
+MAP(0x34, 0x35, 0x533E) /* <CJK */
+MAP(0x34, 0x36, 0x5342) /* <CJK */
+MAP(0x34, 0x37, 0x534C) /* <CJK */
+MAP(0x34, 0x38, 0x534B) /* <CJK */
+MAP(0x34, 0x39, 0x5359) /* <CJK */
+MAP(0x34, 0x3A, 0x535B) /* <CJK */
+MAP(0x34, 0x3B, 0x5361) /* <CJK */
+MAP(0x34, 0x3C, 0x5363) /* <CJK */
+MAP(0x34, 0x3D, 0x5365) /* <CJK */
+MAP(0x34, 0x3E, 0x536C) /* <CJK */
+MAP(0x34, 0x3F, 0x536D) /* <CJK */
+MAP(0x34, 0x40, 0x5372) /* <CJK */
+MAP(0x34, 0x41, 0x5379) /* <CJK */
+MAP(0x34, 0x42, 0x537E) /* <CJK */
+MAP(0x34, 0x43, 0x5383) /* <CJK */
+MAP(0x34, 0x44, 0x5387) /* <CJK */
+MAP(0x34, 0x45, 0x5388) /* <CJK */
+MAP(0x34, 0x46, 0x538E) /* <CJK */
+MAP(0x34, 0x47, 0x5393) /* <CJK */
+MAP(0x34, 0x48, 0x5394) /* <CJK */
+MAP(0x34, 0x49, 0x5399) /* <CJK */
+MAP(0x34, 0x4A, 0x539D) /* <CJK */
+MAP(0x34, 0x4B, 0x53A1) /* <CJK */
+MAP(0x34, 0x4C, 0x53A4) /* <CJK */
+MAP(0x34, 0x4D, 0x53AA) /* <CJK */
+MAP(0x34, 0x4E, 0x53AB) /* <CJK */
+MAP(0x34, 0x4F, 0x53AF) /* <CJK */
+MAP(0x34, 0x50, 0x53B2) /* <CJK */
+MAP(0x34, 0x51, 0x53B4) /* <CJK */
+MAP(0x34, 0x52, 0x53B5) /* <CJK */
+MAP(0x34, 0x53, 0x53B7) /* <CJK */
+MAP(0x34, 0x54, 0x53B8) /* <CJK */
+MAP(0x34, 0x55, 0x53BA) /* <CJK */
+MAP(0x34, 0x56, 0x53BD) /* <CJK */
+MAP(0x34, 0x57, 0x53C0) /* <CJK */
+MAP(0x34, 0x58, 0x53C5) /* <CJK */
+MAP(0x34, 0x59, 0x53CF) /* <CJK */
+MAP(0x34, 0x5A, 0x53D2) /* <CJK */
+MAP(0x34, 0x5B, 0x53D3) /* <CJK */
+MAP(0x34, 0x5C, 0x53D5) /* <CJK */
+MAP(0x34, 0x5D, 0x53DA) /* <CJK */
+MAP(0x34, 0x5E, 0x53DD) /* <CJK */
+MAP(0x34, 0x5F, 0x53DE) /* <CJK */
+MAP(0x34, 0x60, 0x53E0) /* <CJK */
+MAP(0x34, 0x61, 0x53E6) /* <CJK */
+MAP(0x34, 0x62, 0x53E7) /* <CJK */
+MAP(0x34, 0x63, 0x53F5) /* <CJK */
+MAP(0x34, 0x64, 0x5402) /* <CJK */
+MAP(0x34, 0x65, 0x5413) /* <CJK */
+MAP(0x34, 0x66, 0x541A) /* <CJK */
+MAP(0x34, 0x67, 0x5421) /* <CJK */
+MAP(0x34, 0x68, 0x5427) /* <CJK */
+MAP(0x34, 0x69, 0x5428) /* <CJK */
+MAP(0x34, 0x6A, 0x542A) /* <CJK */
+MAP(0x34, 0x6B, 0x542F) /* <CJK */
+MAP(0x34, 0x6C, 0x5431) /* <CJK */
+MAP(0x34, 0x6D, 0x5434) /* <CJK */
+MAP(0x34, 0x6E, 0x5435) /* <CJK */
+MAP(0x34, 0x6F, 0x5443) /* <CJK */
+MAP(0x34, 0x70, 0x5444) /* <CJK */
+MAP(0x34, 0x71, 0x5447) /* <CJK */
+MAP(0x34, 0x72, 0x544D) /* <CJK */
+MAP(0x34, 0x73, 0x544F) /* <CJK */
+MAP(0x34, 0x74, 0x545E) /* <CJK */
+MAP(0x34, 0x75, 0x5462) /* <CJK */
+MAP(0x34, 0x76, 0x5464) /* <CJK */
+MAP(0x34, 0x77, 0x5466) /* <CJK */
+MAP(0x34, 0x78, 0x5467) /* <CJK */
+MAP(0x34, 0x79, 0x5469) /* <CJK */
+MAP(0x34, 0x7A, 0x546B) /* <CJK */
+MAP(0x34, 0x7B, 0x546D) /* <CJK */
+MAP(0x34, 0x7C, 0x546E) /* <CJK */
+MAP(0x34, 0x7D, 0x5474) /* <CJK */
+MAP(0x34, 0x7E, 0x547F) /* <CJK */
+MAP(0x35, 0x21, 0x5481) /* <CJK */
+MAP(0x35, 0x22, 0x5483) /* <CJK */
+MAP(0x35, 0x23, 0x5485) /* <CJK */
+MAP(0x35, 0x24, 0x5488) /* <CJK */
+MAP(0x35, 0x25, 0x5489) /* <CJK */
+MAP(0x35, 0x26, 0x548D) /* <CJK */
+MAP(0x35, 0x27, 0x5491) /* <CJK */
+MAP(0x35, 0x28, 0x5495) /* <CJK */
+MAP(0x35, 0x29, 0x5496) /* <CJK */
+MAP(0x35, 0x2A, 0x549C) /* <CJK */
+MAP(0x35, 0x2B, 0x549F) /* <CJK */
+MAP(0x35, 0x2C, 0x54A1) /* <CJK */
+MAP(0x35, 0x2D, 0x54A6) /* <CJK */
+MAP(0x35, 0x2E, 0x54A7) /* <CJK */
+MAP(0x35, 0x2F, 0x54A9) /* <CJK */
+MAP(0x35, 0x30, 0x54AA) /* <CJK */
+MAP(0x35, 0x31, 0x54AD) /* <CJK */
+MAP(0x35, 0x32, 0x54AE) /* <CJK */
+MAP(0x35, 0x33, 0x54B1) /* <CJK */
+MAP(0x35, 0x34, 0x54B7) /* <CJK */
+MAP(0x35, 0x35, 0x54B9) /* <CJK */
+MAP(0x35, 0x36, 0x54BA) /* <CJK */
+MAP(0x35, 0x37, 0x54BB) /* <CJK */
+MAP(0x35, 0x38, 0x54BF) /* <CJK */
+MAP(0x35, 0x39, 0x54C6) /* <CJK */
+MAP(0x35, 0x3A, 0x54CA) /* <CJK */
+MAP(0x35, 0x3B, 0x54CD) /* <CJK */
+MAP(0x35, 0x3C, 0x54CE) /* <CJK */
+MAP(0x35, 0x3D, 0x54E0) /* <CJK */
+MAP(0x35, 0x3E, 0x54EA) /* <CJK */
+MAP(0x35, 0x3F, 0x54EC) /* <CJK */
+MAP(0x35, 0x40, 0x54EF) /* <CJK */
+MAP(0x35, 0x41, 0x54F6) /* <CJK */
+MAP(0x35, 0x42, 0x54FC) /* <CJK */
+MAP(0x35, 0x43, 0x54FE) /* <CJK */
+MAP(0x35, 0x44, 0x54FF) /* <CJK */
+MAP(0x35, 0x45, 0x5500) /* <CJK */
+MAP(0x35, 0x46, 0x5501) /* <CJK */
+MAP(0x35, 0x47, 0x5505) /* <CJK */
+MAP(0x35, 0x48, 0x5508) /* <CJK */
+MAP(0x35, 0x49, 0x5509) /* <CJK */
+MAP(0x35, 0x4A, 0x550C) /* <CJK */
+MAP(0x35, 0x4B, 0x550D) /* <CJK */
+MAP(0x35, 0x4C, 0x550E) /* <CJK */
+MAP(0x35, 0x4D, 0x5515) /* <CJK */
+MAP(0x35, 0x4E, 0x552A) /* <CJK */
+MAP(0x35, 0x4F, 0x552B) /* <CJK */
+MAP(0x35, 0x50, 0x5532) /* <CJK */
+MAP(0x35, 0x51, 0x5535) /* <CJK */
+MAP(0x35, 0x52, 0x5536) /* <CJK */
+MAP(0x35, 0x53, 0x553B) /* <CJK */
+MAP(0x35, 0x54, 0x553C) /* <CJK */
+MAP(0x35, 0x55, 0x553D) /* <CJK */
+MAP(0x35, 0x56, 0x5541) /* <CJK */
+MAP(0x35, 0x57, 0x5547) /* <CJK */
+MAP(0x35, 0x58, 0x5549) /* <CJK */
+MAP(0x35, 0x59, 0x554A) /* <CJK */
+MAP(0x35, 0x5A, 0x554D) /* <CJK */
+MAP(0x35, 0x5B, 0x5550) /* <CJK */
+MAP(0x35, 0x5C, 0x5551) /* <CJK */
+MAP(0x35, 0x5D, 0x5558) /* <CJK */
+MAP(0x35, 0x5E, 0x555A) /* <CJK */
+MAP(0x35, 0x5F, 0x555B) /* <CJK */
+MAP(0x35, 0x60, 0x555E) /* <CJK */
+MAP(0x35, 0x61, 0x5560) /* <CJK */
+MAP(0x35, 0x62, 0x5561) /* <CJK */
+MAP(0x35, 0x63, 0x5564) /* <CJK */
+MAP(0x35, 0x64, 0x5566) /* <CJK */
+MAP(0x35, 0x65, 0x557F) /* <CJK */
+MAP(0x35, 0x66, 0x5581) /* <CJK */
+MAP(0x35, 0x67, 0x5582) /* <CJK */
+MAP(0x35, 0x68, 0x5586) /* <CJK */
+MAP(0x35, 0x69, 0x5588) /* <CJK */
+MAP(0x35, 0x6A, 0x558E) /* <CJK */
+MAP(0x35, 0x6B, 0x558F) /* <CJK */
+MAP(0x35, 0x6C, 0x5591) /* <CJK */
+MAP(0x35, 0x6D, 0x5592) /* <CJK */
+MAP(0x35, 0x6E, 0x5593) /* <CJK */
+MAP(0x35, 0x6F, 0x5594) /* <CJK */
+MAP(0x35, 0x70, 0x5597) /* <CJK */
+MAP(0x35, 0x71, 0x55A3) /* <CJK */
+MAP(0x35, 0x72, 0x55A4) /* <CJK */
+MAP(0x35, 0x73, 0x55AD) /* <CJK */
+MAP(0x35, 0x74, 0x55B2) /* <CJK */
+MAP(0x35, 0x75, 0x55BF) /* <CJK */
+MAP(0x35, 0x76, 0x55C1) /* <CJK */
+MAP(0x35, 0x77, 0x55C3) /* <CJK */
+MAP(0x35, 0x78, 0x55C6) /* <CJK */
+MAP(0x35, 0x79, 0x55C9) /* <CJK */
+MAP(0x35, 0x7A, 0x55CB) /* <CJK */
+MAP(0x35, 0x7B, 0x55CC) /* <CJK */
+MAP(0x35, 0x7C, 0x55CE) /* <CJK */
+MAP(0x35, 0x7D, 0x55D1) /* <CJK */
+MAP(0x35, 0x7E, 0x55D2) /* <CJK */
+MAP(0x36, 0x21, 0x55D3) /* <CJK */
+MAP(0x36, 0x22, 0x55D7) /* <CJK */
+MAP(0x36, 0x23, 0x55D8) /* <CJK */
+MAP(0x36, 0x24, 0x55DB) /* <CJK */
+MAP(0x36, 0x25, 0x55DE) /* <CJK */
+MAP(0x36, 0x26, 0x55E2) /* <CJK */
+MAP(0x36, 0x27, 0x55E9) /* <CJK */
+MAP(0x36, 0x28, 0x55F6) /* <CJK */
+MAP(0x36, 0x29, 0x55FF) /* <CJK */
+MAP(0x36, 0x2A, 0x5605) /* <CJK */
+MAP(0x36, 0x2B, 0x5608) /* <CJK */
+MAP(0x36, 0x2C, 0x560A) /* <CJK */
+MAP(0x36, 0x2D, 0x560D) /* <CJK */
+MAP(0x36, 0x2E, 0x560E) /* <CJK */
+MAP(0x36, 0x2F, 0x560F) /* <CJK */
+MAP(0x36, 0x30, 0x5610) /* <CJK */
+MAP(0x36, 0x31, 0x5611) /* <CJK */
+MAP(0x36, 0x32, 0x5612) /* <CJK */
+MAP(0x36, 0x33, 0x5619) /* <CJK */
+MAP(0x36, 0x34, 0x562C) /* <CJK */
+MAP(0x36, 0x35, 0x5630) /* <CJK */
+MAP(0x36, 0x36, 0x5633) /* <CJK */
+MAP(0x36, 0x37, 0x5635) /* <CJK */
+MAP(0x36, 0x38, 0x5637) /* <CJK */
+MAP(0x36, 0x39, 0x5639) /* <CJK */
+MAP(0x36, 0x3A, 0x563B) /* <CJK */
+MAP(0x36, 0x3B, 0x563C) /* <CJK */
+MAP(0x36, 0x3C, 0x563D) /* <CJK */
+MAP(0x36, 0x3D, 0x563F) /* <CJK */
+MAP(0x36, 0x3E, 0x5640) /* <CJK */
+MAP(0x36, 0x3F, 0x5641) /* <CJK */
+MAP(0x36, 0x40, 0x5643) /* <CJK */
+MAP(0x36, 0x41, 0x5644) /* <CJK */
+MAP(0x36, 0x42, 0x5646) /* <CJK */
+MAP(0x36, 0x43, 0x5649) /* <CJK */
+MAP(0x36, 0x44, 0x564B) /* <CJK */
+MAP(0x36, 0x45, 0x564D) /* <CJK */
+MAP(0x36, 0x46, 0x564F) /* <CJK */
+MAP(0x36, 0x47, 0x5654) /* <CJK */
+MAP(0x36, 0x48, 0x565E) /* <CJK */
+MAP(0x36, 0x49, 0x5660) /* <CJK */
+MAP(0x36, 0x4A, 0x5661) /* <CJK */
+MAP(0x36, 0x4B, 0x5662) /* <CJK */
+MAP(0x36, 0x4C, 0x5663) /* <CJK */
+MAP(0x36, 0x4D, 0x5666) /* <CJK */
+MAP(0x36, 0x4E, 0x5669) /* <CJK */
+MAP(0x36, 0x4F, 0x566D) /* <CJK */
+MAP(0x36, 0x50, 0x566F) /* <CJK */
+MAP(0x36, 0x51, 0x5671) /* <CJK */
+MAP(0x36, 0x52, 0x5672) /* <CJK */
+MAP(0x36, 0x53, 0x5675) /* <CJK */
+MAP(0x36, 0x54, 0x5684) /* <CJK */
+MAP(0x36, 0x55, 0x5685) /* <CJK */
+MAP(0x36, 0x56, 0x5688) /* <CJK */
+MAP(0x36, 0x57, 0x568B) /* <CJK */
+MAP(0x36, 0x58, 0x568C) /* <CJK */
+MAP(0x36, 0x59, 0x5695) /* <CJK */
+MAP(0x36, 0x5A, 0x5699) /* <CJK */
+MAP(0x36, 0x5B, 0x569A) /* <CJK */
+MAP(0x36, 0x5C, 0x569D) /* <CJK */
+MAP(0x36, 0x5D, 0x569E) /* <CJK */
+MAP(0x36, 0x5E, 0x569F) /* <CJK */
+MAP(0x36, 0x5F, 0x56A6) /* <CJK */
+MAP(0x36, 0x60, 0x56A7) /* <CJK */
+MAP(0x36, 0x61, 0x56A8) /* <CJK */
+MAP(0x36, 0x62, 0x56A9) /* <CJK */
+MAP(0x36, 0x63, 0x56AB) /* <CJK */
+MAP(0x36, 0x64, 0x56AC) /* <CJK */
+MAP(0x36, 0x65, 0x56AD) /* <CJK */
+MAP(0x36, 0x66, 0x56B1) /* <CJK */
+MAP(0x36, 0x67, 0x56B3) /* <CJK */
+MAP(0x36, 0x68, 0x56B7) /* <CJK */
+MAP(0x36, 0x69, 0x56BE) /* <CJK */
+MAP(0x36, 0x6A, 0x56C5) /* <CJK */
+MAP(0x36, 0x6B, 0x56C9) /* <CJK */
+MAP(0x36, 0x6C, 0x56CA) /* <CJK */
+MAP(0x36, 0x6D, 0x56CB) /* <CJK */
+MAP(0x36, 0x6E, 0x56CF) /* <CJK */
+MAP(0x36, 0x6F, 0x56D0) /* <CJK */
+MAP(0x36, 0x70, 0x56CC) /* <CJK */
+MAP(0x36, 0x71, 0x56CD) /* <CJK */
+MAP(0x36, 0x72, 0x56D9) /* <CJK */
+MAP(0x36, 0x73, 0x56DC) /* <CJK */
+MAP(0x36, 0x74, 0x56DD) /* <CJK */
+MAP(0x36, 0x75, 0x56DF) /* <CJK */
+MAP(0x36, 0x76, 0x56E1) /* <CJK */
+MAP(0x36, 0x77, 0x56E4) /* <CJK */
+MAP(0x36, 0x78, 0x56E5) /* <CJK */
+MAP(0x36, 0x79, 0x56E6) /* <CJK */
+MAP(0x36, 0x7A, 0x56E7) /* <CJK */
+MAP(0x36, 0x7B, 0x56E8) /* <CJK */
+MAP(0x36, 0x7C, 0x56F1) /* <CJK */
+MAP(0x36, 0x7D, 0x56EB) /* <CJK */
+MAP(0x36, 0x7E, 0x56ED) /* <CJK */
+MAP(0x37, 0x21, 0x56F6) /* <CJK */
+MAP(0x37, 0x22, 0x56F7) /* <CJK */
+MAP(0x37, 0x23, 0x5701) /* <CJK */
+MAP(0x37, 0x24, 0x5702) /* <CJK */
+MAP(0x37, 0x25, 0x5707) /* <CJK */
+MAP(0x37, 0x26, 0x570A) /* <CJK */
+MAP(0x37, 0x27, 0x570C) /* <CJK */
+MAP(0x37, 0x28, 0x5711) /* <CJK */
+MAP(0x37, 0x29, 0x5715) /* <CJK */
+MAP(0x37, 0x2A, 0x571A) /* <CJK */
+MAP(0x37, 0x2B, 0x571B) /* <CJK */
+MAP(0x37, 0x2C, 0x571D) /* <CJK */
+MAP(0x37, 0x2D, 0x5720) /* <CJK */
+MAP(0x37, 0x2E, 0x5722) /* <CJK */
+MAP(0x37, 0x2F, 0x5723) /* <CJK */
+MAP(0x37, 0x30, 0x5724) /* <CJK */
+MAP(0x37, 0x31, 0x5725) /* <CJK */
+MAP(0x37, 0x32, 0x5729) /* <CJK */
+MAP(0x37, 0x33, 0x572A) /* <CJK */
+MAP(0x37, 0x34, 0x572C) /* <CJK */
+MAP(0x37, 0x35, 0x572E) /* <CJK */
+MAP(0x37, 0x36, 0x572F) /* <CJK */
+MAP(0x37, 0x37, 0x5733) /* <CJK */
+MAP(0x37, 0x38, 0x5734) /* <CJK */
+MAP(0x37, 0x39, 0x573D) /* <CJK */
+MAP(0x37, 0x3A, 0x573E) /* <CJK */
+MAP(0x37, 0x3B, 0x573F) /* <CJK */
+MAP(0x37, 0x3C, 0x5745) /* <CJK */
+MAP(0x37, 0x3D, 0x5746) /* <CJK */
+MAP(0x37, 0x3E, 0x574C) /* <CJK */
+MAP(0x37, 0x3F, 0x574D) /* <CJK */
+MAP(0x37, 0x40, 0x5752) /* <CJK */
+MAP(0x37, 0x41, 0x5762) /* <CJK */
+MAP(0x37, 0x42, 0x5765) /* <CJK */
+MAP(0x37, 0x43, 0x5767) /* <CJK */
+MAP(0x37, 0x44, 0x5768) /* <CJK */
+MAP(0x37, 0x45, 0x576B) /* <CJK */
+MAP(0x37, 0x46, 0x576D) /* <CJK */
+MAP(0x37, 0x47, 0x576E) /* <CJK */
+MAP(0x37, 0x48, 0x576F) /* <CJK */
+MAP(0x37, 0x49, 0x5770) /* <CJK */
+MAP(0x37, 0x4A, 0x5771) /* <CJK */
+MAP(0x37, 0x4B, 0x5773) /* <CJK */
+MAP(0x37, 0x4C, 0x5774) /* <CJK */
+MAP(0x37, 0x4D, 0x5775) /* <CJK */
+MAP(0x37, 0x4E, 0x5777) /* <CJK */
+MAP(0x37, 0x4F, 0x5779) /* <CJK */
+MAP(0x37, 0x50, 0x577A) /* <CJK */
+MAP(0x37, 0x51, 0x577B) /* <CJK */
+MAP(0x37, 0x52, 0x577C) /* <CJK */
+MAP(0x37, 0x53, 0x577E) /* <CJK */
+MAP(0x37, 0x54, 0x5781) /* <CJK */
+MAP(0x37, 0x55, 0x5783) /* <CJK */
+MAP(0x37, 0x56, 0x578C) /* <CJK */
+MAP(0x37, 0x57, 0x5794) /* <CJK */
+MAP(0x37, 0x58, 0x5797) /* <CJK */
+MAP(0x37, 0x59, 0x5799) /* <CJK */
+MAP(0x37, 0x5A, 0x579A) /* <CJK */
+MAP(0x37, 0x5B, 0x579C) /* <CJK */
+MAP(0x37, 0x5C, 0x579D) /* <CJK */
+MAP(0x37, 0x5D, 0x579E) /* <CJK */
+MAP(0x37, 0x5E, 0x579F) /* <CJK */
+MAP(0x37, 0x5F, 0x57A1) /* <CJK */
+MAP(0x37, 0x60, 0x5795) /* <CJK */
+MAP(0x37, 0x61, 0x57A7) /* <CJK */
+MAP(0x37, 0x62, 0x57A8) /* <CJK */
+MAP(0x37, 0x63, 0x57A9) /* <CJK */
+MAP(0x37, 0x64, 0x57AC) /* <CJK */
+MAP(0x37, 0x65, 0x57B8) /* <CJK */
+MAP(0x37, 0x66, 0x57BD) /* <CJK */
+MAP(0x37, 0x67, 0x57C7) /* <CJK */
+MAP(0x37, 0x68, 0x57C8) /* <CJK */
+MAP(0x37, 0x69, 0x57CC) /* <CJK */
+MAP(0x37, 0x6A, 0x57CF) /* <CJK */
+MAP(0x37, 0x6B, 0x57D5) /* <CJK */
+MAP(0x37, 0x6C, 0x57DD) /* <CJK */
+MAP(0x37, 0x6D, 0x57DE) /* <CJK */
+MAP(0x37, 0x6E, 0x57E4) /* <CJK */
+MAP(0x37, 0x6F, 0x57E6) /* <CJK */
+MAP(0x37, 0x70, 0x57E7) /* <CJK */
+MAP(0x37, 0x71, 0x57E9) /* <CJK */
+MAP(0x37, 0x72, 0x57ED) /* <CJK */
+MAP(0x37, 0x73, 0x57F0) /* <CJK */
+MAP(0x37, 0x74, 0x57F5) /* <CJK */
+MAP(0x37, 0x75, 0x57F6) /* <CJK */
+MAP(0x37, 0x76, 0x57F8) /* <CJK */
+MAP(0x37, 0x77, 0x57FD) /* <CJK */
+MAP(0x37, 0x78, 0x57FE) /* <CJK */
+MAP(0x37, 0x79, 0x57FF) /* <CJK */
+MAP(0x37, 0x7A, 0x5803) /* <CJK */
+MAP(0x37, 0x7B, 0x5804) /* <CJK */
+MAP(0x37, 0x7C, 0x5808) /* <CJK */
+MAP(0x37, 0x7D, 0x5809) /* <CJK */
+MAP(0x37, 0x7E, 0x57E1) /* <CJK */
+MAP(0x38, 0x21, 0x580C) /* <CJK */
+MAP(0x38, 0x22, 0x580D) /* <CJK */
+MAP(0x38, 0x23, 0x581B) /* <CJK */
+MAP(0x38, 0x24, 0x581E) /* <CJK */
+MAP(0x38, 0x25, 0x581F) /* <CJK */
+MAP(0x38, 0x26, 0x5820) /* <CJK */
+MAP(0x38, 0x27, 0x5826) /* <CJK */
+MAP(0x38, 0x28, 0x5827) /* <CJK */
+MAP(0x38, 0x29, 0x582D) /* <CJK */
+MAP(0x38, 0x2A, 0x5832) /* <CJK */
+MAP(0x38, 0x2B, 0x5839) /* <CJK */
+MAP(0x38, 0x2C, 0x583F) /* <CJK */
+MAP(0x38, 0x2D, 0x5849) /* <CJK */
+MAP(0x38, 0x2E, 0x584C) /* <CJK */
+MAP(0x38, 0x2F, 0x584D) /* <CJK */
+MAP(0x38, 0x30, 0x584F) /* <CJK */
+MAP(0x38, 0x31, 0x5850) /* <CJK */
+MAP(0x38, 0x32, 0x5855) /* <CJK */
+MAP(0x38, 0x33, 0x585F) /* <CJK */
+MAP(0x38, 0x34, 0x5861) /* <CJK */
+MAP(0x38, 0x35, 0x5864) /* <CJK */
+MAP(0x38, 0x36, 0x5867) /* <CJK */
+MAP(0x38, 0x37, 0x5868) /* <CJK */
+MAP(0x38, 0x38, 0x5878) /* <CJK */
+MAP(0x38, 0x39, 0x587C) /* <CJK */
+MAP(0x38, 0x3A, 0x587F) /* <CJK */
+MAP(0x38, 0x3B, 0x5880) /* <CJK */
+MAP(0x38, 0x3C, 0x5881) /* <CJK */
+MAP(0x38, 0x3D, 0x5887) /* <CJK */
+MAP(0x38, 0x3E, 0x5888) /* <CJK */
+MAP(0x38, 0x3F, 0x5889) /* <CJK */
+MAP(0x38, 0x40, 0x588A) /* <CJK */
+MAP(0x38, 0x41, 0x588C) /* <CJK */
+MAP(0x38, 0x42, 0x588D) /* <CJK */
+MAP(0x38, 0x43, 0x588F) /* <CJK */
+MAP(0x38, 0x44, 0x5890) /* <CJK */
+MAP(0x38, 0x45, 0x5894) /* <CJK */
+MAP(0x38, 0x46, 0x5896) /* <CJK */
+MAP(0x38, 0x47, 0x589D) /* <CJK */
+MAP(0x38, 0x48, 0x58A0) /* <CJK */
+MAP(0x38, 0x49, 0x58A1) /* <CJK */
+MAP(0x38, 0x4A, 0x58A2) /* <CJK */
+MAP(0x38, 0x4B, 0x58A6) /* <CJK */
+MAP(0x38, 0x4C, 0x58A9) /* <CJK */
+MAP(0x38, 0x4D, 0x58B1) /* <CJK */
+MAP(0x38, 0x4E, 0x58B2) /* <CJK */
+MAP(0x38, 0x4F, 0x58C4) /* <CJK */
+MAP(0x38, 0x50, 0x58BC) /* <CJK */
+MAP(0x38, 0x51, 0x58C2) /* <CJK */
+MAP(0x38, 0x52, 0x58C8) /* <CJK */
+MAP(0x38, 0x53, 0x58CD) /* <CJK */
+MAP(0x38, 0x54, 0x58CE) /* <CJK */
+MAP(0x38, 0x55, 0x58D0) /* <CJK */
+MAP(0x38, 0x56, 0x58D2) /* <CJK */
+MAP(0x38, 0x57, 0x58D4) /* <CJK */
+MAP(0x38, 0x58, 0x58D6) /* <CJK */
+MAP(0x38, 0x59, 0x58DA) /* <CJK */
+MAP(0x38, 0x5A, 0x58DD) /* <CJK */
+MAP(0x38, 0x5B, 0x58E1) /* <CJK */
+MAP(0x38, 0x5C, 0x58E2) /* <CJK */
+MAP(0x38, 0x5D, 0x58E9) /* <CJK */
+MAP(0x38, 0x5E, 0x58F3) /* <CJK */
+MAP(0x38, 0x5F, 0x5905) /* <CJK */
+MAP(0x38, 0x60, 0x5906) /* <CJK */
+MAP(0x38, 0x61, 0x590B) /* <CJK */
+MAP(0x38, 0x62, 0x590C) /* <CJK */
+MAP(0x38, 0x63, 0x5912) /* <CJK */
+MAP(0x38, 0x64, 0x5913) /* <CJK */
+MAP(0x38, 0x65, 0x5914) /* <CJK */
+MAP(0x38, 0x66, 0x8641) /* <CJK */
+MAP(0x38, 0x67, 0x591D) /* <CJK */
+MAP(0x38, 0x68, 0x5921) /* <CJK */
+MAP(0x38, 0x69, 0x5923) /* <CJK */
+MAP(0x38, 0x6A, 0x5924) /* <CJK */
+MAP(0x38, 0x6B, 0x5928) /* <CJK */
+MAP(0x38, 0x6C, 0x592F) /* <CJK */
+MAP(0x38, 0x6D, 0x5930) /* <CJK */
+MAP(0x38, 0x6E, 0x5933) /* <CJK */
+MAP(0x38, 0x6F, 0x5935) /* <CJK */
+MAP(0x38, 0x70, 0x5936) /* <CJK */
+MAP(0x38, 0x71, 0x593F) /* <CJK */
+MAP(0x38, 0x72, 0x5943) /* <CJK */
+MAP(0x38, 0x73, 0x5946) /* <CJK */
+MAP(0x38, 0x74, 0x5952) /* <CJK */
+MAP(0x38, 0x75, 0x5953) /* <CJK */
+MAP(0x38, 0x76, 0x5959) /* <CJK */
+MAP(0x38, 0x77, 0x595B) /* <CJK */
+MAP(0x38, 0x78, 0x595D) /* <CJK */
+MAP(0x38, 0x79, 0x595E) /* <CJK */
+MAP(0x38, 0x7A, 0x595F) /* <CJK */
+MAP(0x38, 0x7B, 0x5961) /* <CJK */
+MAP(0x38, 0x7C, 0x5963) /* <CJK */
+MAP(0x38, 0x7D, 0x596B) /* <CJK */
+MAP(0x38, 0x7E, 0x596D) /* <CJK */
+MAP(0x39, 0x21, 0x596F) /* <CJK */
+MAP(0x39, 0x22, 0x5972) /* <CJK */
+MAP(0x39, 0x23, 0x5975) /* <CJK */
+MAP(0x39, 0x24, 0x5976) /* <CJK */
+MAP(0x39, 0x25, 0x5979) /* <CJK */
+MAP(0x39, 0x26, 0x597B) /* <CJK */
+MAP(0x39, 0x27, 0x597C) /* <CJK */
+MAP(0x39, 0x28, 0x598B) /* <CJK */
+MAP(0x39, 0x29, 0x598C) /* <CJK */
+MAP(0x39, 0x2A, 0x598E) /* <CJK */
+MAP(0x39, 0x2B, 0x5992) /* <CJK */
+MAP(0x39, 0x2C, 0x5995) /* <CJK */
+MAP(0x39, 0x2D, 0x5997) /* <CJK */
+MAP(0x39, 0x2E, 0x599F) /* <CJK */
+MAP(0x39, 0x2F, 0x59A4) /* <CJK */
+MAP(0x39, 0x30, 0x59A7) /* <CJK */
+MAP(0x39, 0x31, 0x59AD) /* <CJK */
+MAP(0x39, 0x32, 0x59AE) /* <CJK */
+MAP(0x39, 0x33, 0x59AF) /* <CJK */
+MAP(0x39, 0x34, 0x59B0) /* <CJK */
+MAP(0x39, 0x35, 0x59B3) /* <CJK */
+MAP(0x39, 0x36, 0x59B7) /* <CJK */
+MAP(0x39, 0x37, 0x59BA) /* <CJK */
+MAP(0x39, 0x38, 0x59BC) /* <CJK */
+MAP(0x39, 0x39, 0x59C1) /* <CJK */
+MAP(0x39, 0x3A, 0x59C3) /* <CJK */
+MAP(0x39, 0x3B, 0x59C4) /* <CJK */
+MAP(0x39, 0x3C, 0x59C8) /* <CJK */
+MAP(0x39, 0x3D, 0x59CA) /* <CJK */
+MAP(0x39, 0x3E, 0x59CD) /* <CJK */
+MAP(0x39, 0x3F, 0x59D2) /* <CJK */
+MAP(0x39, 0x40, 0x59DD) /* <CJK */
+MAP(0x39, 0x41, 0x59DE) /* <CJK */
+MAP(0x39, 0x42, 0x59DF) /* <CJK */
+MAP(0x39, 0x43, 0x59E3) /* <CJK */
+MAP(0x39, 0x44, 0x59E4) /* <CJK */
+MAP(0x39, 0x45, 0x59E7) /* <CJK */
+MAP(0x39, 0x46, 0x59EE) /* <CJK */
+MAP(0x39, 0x47, 0x59EF) /* <CJK */
+MAP(0x39, 0x48, 0x59F1) /* <CJK */
+MAP(0x39, 0x49, 0x59F2) /* <CJK */
+MAP(0x39, 0x4A, 0x59F4) /* <CJK */
+MAP(0x39, 0x4B, 0x59F7) /* <CJK */
+MAP(0x39, 0x4C, 0x5A00) /* <CJK */
+MAP(0x39, 0x4D, 0x5A04) /* <CJK */
+MAP(0x39, 0x4E, 0x5A0C) /* <CJK */
+MAP(0x39, 0x4F, 0x5A0D) /* <CJK */
+MAP(0x39, 0x50, 0x5A0E) /* <CJK */
+MAP(0x39, 0x51, 0x5A12) /* <CJK */
+MAP(0x39, 0x52, 0x5A13) /* <CJK */
+MAP(0x39, 0x53, 0x5A1E) /* <CJK */
+MAP(0x39, 0x54, 0x5A23) /* <CJK */
+MAP(0x39, 0x55, 0x5A24) /* <CJK */
+MAP(0x39, 0x56, 0x5A27) /* <CJK */
+MAP(0x39, 0x57, 0x5A28) /* <CJK */
+MAP(0x39, 0x58, 0x5A2A) /* <CJK */
+MAP(0x39, 0x59, 0x5A2D) /* <CJK */
+MAP(0x39, 0x5A, 0x5A30) /* <CJK */
+MAP(0x39, 0x5B, 0x5A44) /* <CJK */
+MAP(0x39, 0x5C, 0x5A45) /* <CJK */
+MAP(0x39, 0x5D, 0x5A47) /* <CJK */
+MAP(0x39, 0x5E, 0x5A48) /* <CJK */
+MAP(0x39, 0x5F, 0x5A4C) /* <CJK */
+MAP(0x39, 0x60, 0x5A50) /* <CJK */
+MAP(0x39, 0x61, 0x5A55) /* <CJK */
+MAP(0x39, 0x62, 0x5A5E) /* <CJK */
+MAP(0x39, 0x63, 0x5A63) /* <CJK */
+MAP(0x39, 0x64, 0x5A65) /* <CJK */
+MAP(0x39, 0x65, 0x5A67) /* <CJK */
+MAP(0x39, 0x66, 0x5A6D) /* <CJK */
+MAP(0x39, 0x67, 0x5A77) /* <CJK */
+MAP(0x39, 0x68, 0x5A7A) /* <CJK */
+MAP(0x39, 0x69, 0x5A7B) /* <CJK */
+MAP(0x39, 0x6A, 0x5A7E) /* <CJK */
+MAP(0x39, 0x6B, 0x5A8B) /* <CJK */
+MAP(0x39, 0x6C, 0x5A90) /* <CJK */
+MAP(0x39, 0x6D, 0x5A93) /* <CJK */
+MAP(0x39, 0x6E, 0x5A96) /* <CJK */
+MAP(0x39, 0x6F, 0x5A99) /* <CJK */
+MAP(0x39, 0x70, 0x5A9C) /* <CJK */
+MAP(0x39, 0x71, 0x5A9E) /* <CJK */
+MAP(0x39, 0x72, 0x5A9F) /* <CJK */
+MAP(0x39, 0x73, 0x5AA0) /* <CJK */
+MAP(0x39, 0x74, 0x5AA2) /* <CJK */
+MAP(0x39, 0x75, 0x5AA7) /* <CJK */
+MAP(0x39, 0x76, 0x5AAC) /* <CJK */
+MAP(0x39, 0x77, 0x5AB1) /* <CJK */
+MAP(0x39, 0x78, 0x5AB2) /* <CJK */
+MAP(0x39, 0x79, 0x5AB3) /* <CJK */
+MAP(0x39, 0x7A, 0x5AB5) /* <CJK */
+MAP(0x39, 0x7B, 0x5AB8) /* <CJK */
+MAP(0x39, 0x7C, 0x5ABA) /* <CJK */
+MAP(0x39, 0x7D, 0x5ABB) /* <CJK */
+MAP(0x39, 0x7E, 0x5ABF) /* <CJK */
+MAP(0x3A, 0x21, 0x5AC4) /* <CJK */
+MAP(0x3A, 0x22, 0x5AC6) /* <CJK */
+MAP(0x3A, 0x23, 0x5AC8) /* <CJK */
+MAP(0x3A, 0x24, 0x5ACF) /* <CJK */
+MAP(0x3A, 0x25, 0x5ADA) /* <CJK */
+MAP(0x3A, 0x26, 0x5ADC) /* <CJK */
+MAP(0x3A, 0x27, 0x5AE0) /* <CJK */
+MAP(0x3A, 0x28, 0x5AE5) /* <CJK */
+MAP(0x3A, 0x29, 0x5AEA) /* <CJK */
+MAP(0x3A, 0x2A, 0x5AEE) /* <CJK */
+MAP(0x3A, 0x2B, 0x5AF5) /* <CJK */
+MAP(0x3A, 0x2C, 0x5AF6) /* <CJK */
+MAP(0x3A, 0x2D, 0x5AFD) /* <CJK */
+MAP(0x3A, 0x2E, 0x5B00) /* <CJK */
+MAP(0x3A, 0x2F, 0x5B01) /* <CJK */
+MAP(0x3A, 0x30, 0x5B08) /* <CJK */
+MAP(0x3A, 0x31, 0x5B17) /* <CJK */
+MAP(0x3A, 0x32, 0x5B34) /* <CJK */
+MAP(0x3A, 0x33, 0x5B19) /* <CJK */
+MAP(0x3A, 0x34, 0x5B1B) /* <CJK */
+MAP(0x3A, 0x35, 0x5B1D) /* <CJK */
+MAP(0x3A, 0x36, 0x5B21) /* <CJK */
+MAP(0x3A, 0x37, 0x5B25) /* <CJK */
+MAP(0x3A, 0x38, 0x5B2D) /* <CJK */
+MAP(0x3A, 0x39, 0x5B38) /* <CJK */
+MAP(0x3A, 0x3A, 0x5B41) /* <CJK */
+MAP(0x3A, 0x3B, 0x5B4B) /* <CJK */
+MAP(0x3A, 0x3C, 0x5B4C) /* <CJK */
+MAP(0x3A, 0x3D, 0x5B52) /* <CJK */
+MAP(0x3A, 0x3E, 0x5B56) /* <CJK */
+MAP(0x3A, 0x3F, 0x5B5E) /* <CJK */
+MAP(0x3A, 0x40, 0x5B68) /* <CJK */
+MAP(0x3A, 0x41, 0x5B6E) /* <CJK */
+MAP(0x3A, 0x42, 0x5B6F) /* <CJK */
+MAP(0x3A, 0x43, 0x5B7C) /* <CJK */
+MAP(0x3A, 0x44, 0x5B7D) /* <CJK */
+MAP(0x3A, 0x45, 0x5B7E) /* <CJK */
+MAP(0x3A, 0x46, 0x5B7F) /* <CJK */
+MAP(0x3A, 0x47, 0x5B81) /* <CJK */
+MAP(0x3A, 0x48, 0x5B84) /* <CJK */
+MAP(0x3A, 0x49, 0x5B86) /* <CJK */
+MAP(0x3A, 0x4A, 0x5B8A) /* <CJK */
+MAP(0x3A, 0x4B, 0x5B8E) /* <CJK */
+MAP(0x3A, 0x4C, 0x5B90) /* <CJK */
+MAP(0x3A, 0x4D, 0x5B91) /* <CJK */
+MAP(0x3A, 0x4E, 0x5B93) /* <CJK */
+MAP(0x3A, 0x4F, 0x5B94) /* <CJK */
+MAP(0x3A, 0x50, 0x5B96) /* <CJK */
+MAP(0x3A, 0x51, 0x5BA8) /* <CJK */
+MAP(0x3A, 0x52, 0x5BA9) /* <CJK */
+MAP(0x3A, 0x53, 0x5BAC) /* <CJK */
+MAP(0x3A, 0x54, 0x5BAD) /* <CJK */
+MAP(0x3A, 0x55, 0x5BAF) /* <CJK */
+MAP(0x3A, 0x56, 0x5BB1) /* <CJK */
+MAP(0x3A, 0x57, 0x5BB2) /* <CJK */
+MAP(0x3A, 0x58, 0x5BB7) /* <CJK */
+MAP(0x3A, 0x59, 0x5BBA) /* <CJK */
+MAP(0x3A, 0x5A, 0x5BBC) /* <CJK */
+MAP(0x3A, 0x5B, 0x5BC0) /* <CJK */
+MAP(0x3A, 0x5C, 0x5BC1) /* <CJK */
+MAP(0x3A, 0x5D, 0x5BCD) /* <CJK */
+MAP(0x3A, 0x5E, 0x5BCF) /* <CJK */
+MAP(0x3A, 0x5F, 0x5BD6) /* <CJK */
+MAP(0x3A, 0x60, 0x5BD7) /* <CJK */
+MAP(0x3A, 0x61, 0x5BD8) /* <CJK */
+MAP(0x3A, 0x62, 0x5BD9) /* <CJK */
+MAP(0x3A, 0x63, 0x5BDA) /* <CJK */
+MAP(0x3A, 0x64, 0x5BE0) /* <CJK */
+MAP(0x3A, 0x65, 0x5BEF) /* <CJK */
+MAP(0x3A, 0x66, 0x5BF1) /* <CJK */
+MAP(0x3A, 0x67, 0x5BF4) /* <CJK */
+MAP(0x3A, 0x68, 0x5BFD) /* <CJK */
+MAP(0x3A, 0x69, 0x5C0C) /* <CJK */
+MAP(0x3A, 0x6A, 0x5C17) /* <CJK */
+MAP(0x3A, 0x6B, 0x5C1E) /* <CJK */
+MAP(0x3A, 0x6C, 0x5C1F) /* <CJK */
+MAP(0x3A, 0x6D, 0x5C23) /* <CJK */
+MAP(0x3A, 0x6E, 0x5C26) /* <CJK */
+MAP(0x3A, 0x6F, 0x5C29) /* <CJK */
+MAP(0x3A, 0x70, 0x5C2B) /* <CJK */
+MAP(0x3A, 0x71, 0x5C2C) /* <CJK */
+MAP(0x3A, 0x72, 0x5C2E) /* <CJK */
+MAP(0x3A, 0x73, 0x5C30) /* <CJK */
+MAP(0x3A, 0x74, 0x5C32) /* <CJK */
+MAP(0x3A, 0x75, 0x5C35) /* <CJK */
+MAP(0x3A, 0x76, 0x5C36) /* <CJK */
+MAP(0x3A, 0x77, 0x5C59) /* <CJK */
+MAP(0x3A, 0x78, 0x5C5A) /* <CJK */
+MAP(0x3A, 0x79, 0x5C5C) /* <CJK */
+MAP(0x3A, 0x7A, 0x5C62) /* <CJK */
+MAP(0x3A, 0x7B, 0x5C63) /* <CJK */
+MAP(0x3A, 0x7C, 0x5C67) /* <CJK */
+MAP(0x3A, 0x7D, 0x5C68) /* <CJK */
+MAP(0x3A, 0x7E, 0x5C69) /* <CJK */
+MAP(0x3B, 0x21, 0x5C6D) /* <CJK */
+MAP(0x3B, 0x22, 0x5C70) /* <CJK */
+MAP(0x3B, 0x23, 0x5C74) /* <CJK */
+MAP(0x3B, 0x24, 0x5C75) /* <CJK */
+MAP(0x3B, 0x25, 0x5C7A) /* <CJK */
+MAP(0x3B, 0x26, 0x5C7B) /* <CJK */
+MAP(0x3B, 0x27, 0x5C7C) /* <CJK */
+MAP(0x3B, 0x28, 0x5C7D) /* <CJK */
+MAP(0x3B, 0x29, 0x5C87) /* <CJK */
+MAP(0x3B, 0x2A, 0x5C88) /* <CJK */
+MAP(0x3B, 0x2B, 0x5C8A) /* <CJK */
+MAP(0x3B, 0x2C, 0x5C8F) /* <CJK */
+MAP(0x3B, 0x2D, 0x5C92) /* <CJK */
+MAP(0x3B, 0x2E, 0x5C9D) /* <CJK */
+MAP(0x3B, 0x2F, 0x5C9F) /* <CJK */
+MAP(0x3B, 0x30, 0x5CA0) /* <CJK */
+MAP(0x3B, 0x31, 0x5CA2) /* <CJK */
+MAP(0x3B, 0x32, 0x5CA3) /* <CJK */
+MAP(0x3B, 0x33, 0x5CA6) /* <CJK */
+MAP(0x3B, 0x34, 0x5CAA) /* <CJK */
+MAP(0x3B, 0x35, 0x5CB2) /* <CJK */
+MAP(0x3B, 0x36, 0x5CB4) /* <CJK */
+MAP(0x3B, 0x37, 0x5CB5) /* <CJK */
+MAP(0x3B, 0x38, 0x5CBA) /* <CJK */
+MAP(0x3B, 0x39, 0x5CC9) /* <CJK */
+MAP(0x3B, 0x3A, 0x5CCB) /* <CJK */
+MAP(0x3B, 0x3B, 0x5CD2) /* <CJK */
+MAP(0x3B, 0x3C, 0x5CDD) /* <CJK */
+MAP(0x3B, 0x3D, 0x5CD7) /* <CJK */
+MAP(0x3B, 0x3E, 0x5CEE) /* <CJK */
+MAP(0x3B, 0x3F, 0x5CF1) /* <CJK */
+MAP(0x3B, 0x40, 0x5CF2) /* <CJK */
+MAP(0x3B, 0x41, 0x5CF4) /* <CJK */
+MAP(0x3B, 0x42, 0x5D01) /* <CJK */
+MAP(0x3B, 0x43, 0x5D06) /* <CJK */
+MAP(0x3B, 0x44, 0x5D0D) /* <CJK */
+MAP(0x3B, 0x45, 0x5D12) /* <CJK */
+MAP(0x3B, 0x46, 0x5D2B) /* <CJK */
+MAP(0x3B, 0x47, 0x5D23) /* <CJK */
+MAP(0x3B, 0x48, 0x5D24) /* <CJK */
+MAP(0x3B, 0x49, 0x5D26) /* <CJK */
+MAP(0x3B, 0x4A, 0x5D27) /* <CJK */
+MAP(0x3B, 0x4B, 0x5D31) /* <CJK */
+MAP(0x3B, 0x4C, 0x5D34) /* <CJK */
+MAP(0x3B, 0x4D, 0x5D39) /* <CJK */
+MAP(0x3B, 0x4E, 0x5D3D) /* <CJK */
+MAP(0x3B, 0x4F, 0x5D3F) /* <CJK */
+MAP(0x3B, 0x50, 0x5D42) /* <CJK */
+MAP(0x3B, 0x51, 0x5D43) /* <CJK */
+MAP(0x3B, 0x52, 0x5D46) /* <CJK */
+MAP(0x3B, 0x53, 0x5D48) /* <CJK */
+MAP(0x3B, 0x54, 0x5D55) /* <CJK */
+MAP(0x3B, 0x55, 0x5D51) /* <CJK */
+MAP(0x3B, 0x56, 0x5D59) /* <CJK */
+MAP(0x3B, 0x57, 0x5D4A) /* <CJK */
+MAP(0x3B, 0x58, 0x5D5F) /* <CJK */
+MAP(0x3B, 0x59, 0x5D60) /* <CJK */
+MAP(0x3B, 0x5A, 0x5D61) /* <CJK */
+MAP(0x3B, 0x5B, 0x5D62) /* <CJK */
+MAP(0x3B, 0x5C, 0x5D64) /* <CJK */
+MAP(0x3B, 0x5D, 0x5D6A) /* <CJK */
+MAP(0x3B, 0x5E, 0x5D6D) /* <CJK */
+MAP(0x3B, 0x5F, 0x5D70) /* <CJK */
+MAP(0x3B, 0x60, 0x5D79) /* <CJK */
+MAP(0x3B, 0x61, 0x5D7A) /* <CJK */
+MAP(0x3B, 0x62, 0x5D7E) /* <CJK */
+MAP(0x3B, 0x63, 0x5D7F) /* <CJK */
+MAP(0x3B, 0x64, 0x5D81) /* <CJK */
+MAP(0x3B, 0x65, 0x5D83) /* <CJK */
+MAP(0x3B, 0x66, 0x5D88) /* <CJK */
+MAP(0x3B, 0x67, 0x5D8A) /* <CJK */
+MAP(0x3B, 0x68, 0x5D92) /* <CJK */
+MAP(0x3B, 0x69, 0x5D93) /* <CJK */
+MAP(0x3B, 0x6A, 0x5D94) /* <CJK */
+MAP(0x3B, 0x6B, 0x5D95) /* <CJK */
+MAP(0x3B, 0x6C, 0x5D99) /* <CJK */
+MAP(0x3B, 0x6D, 0x5D9B) /* <CJK */
+MAP(0x3B, 0x6E, 0x5D9F) /* <CJK */
+MAP(0x3B, 0x6F, 0x5DA0) /* <CJK */
+MAP(0x3B, 0x70, 0x5DA7) /* <CJK */
+MAP(0x3B, 0x71, 0x5DAB) /* <CJK */
+MAP(0x3B, 0x72, 0x5DB0) /* <CJK */
+MAP(0x3B, 0x73, 0x5DB4) /* <CJK */
+MAP(0x3B, 0x74, 0x5DB8) /* <CJK */
+MAP(0x3B, 0x75, 0x5DB9) /* <CJK */
+MAP(0x3B, 0x76, 0x5DC3) /* <CJK */
+MAP(0x3B, 0x77, 0x5DC7) /* <CJK */
+MAP(0x3B, 0x78, 0x5DCB) /* <CJK */
+MAP(0x3B, 0x79, 0x5DD0) /* <CJK */
+MAP(0x3B, 0x7A, 0x5DCE) /* <CJK */
+MAP(0x3B, 0x7B, 0x5DD8) /* <CJK */
+MAP(0x3B, 0x7C, 0x5DD9) /* <CJK */
+MAP(0x3B, 0x7D, 0x5DE0) /* <CJK */
+MAP(0x3B, 0x7E, 0x5DE4) /* <CJK */
+MAP(0x3C, 0x21, 0x5DE9) /* <CJK */
+MAP(0x3C, 0x22, 0x5DF8) /* <CJK */
+MAP(0x3C, 0x23, 0x5DF9) /* <CJK */
+MAP(0x3C, 0x24, 0x5E00) /* <CJK */
+MAP(0x3C, 0x25, 0x5E07) /* <CJK */
+MAP(0x3C, 0x26, 0x5E0D) /* <CJK */
+MAP(0x3C, 0x27, 0x5E12) /* <CJK */
+MAP(0x3C, 0x28, 0x5E14) /* <CJK */
+MAP(0x3C, 0x29, 0x5E15) /* <CJK */
+MAP(0x3C, 0x2A, 0x5E18) /* <CJK */
+MAP(0x3C, 0x2B, 0x5E1F) /* <CJK */
+MAP(0x3C, 0x2C, 0x5E20) /* <CJK */
+MAP(0x3C, 0x2D, 0x5E2E) /* <CJK */
+MAP(0x3C, 0x2E, 0x5E28) /* <CJK */
+MAP(0x3C, 0x2F, 0x5E32) /* <CJK */
+MAP(0x3C, 0x30, 0x5E35) /* <CJK */
+MAP(0x3C, 0x31, 0x5E3E) /* <CJK */
+MAP(0x3C, 0x32, 0x5E4B) /* <CJK */
+MAP(0x3C, 0x33, 0x5E50) /* <CJK */
+MAP(0x3C, 0x34, 0x5E49) /* <CJK */
+MAP(0x3C, 0x35, 0x5E51) /* <CJK */
+MAP(0x3C, 0x36, 0x5E56) /* <CJK */
+MAP(0x3C, 0x37, 0x5E58) /* <CJK */
+MAP(0x3C, 0x38, 0x5E5B) /* <CJK */
+MAP(0x3C, 0x39, 0x5E5C) /* <CJK */
+MAP(0x3C, 0x3A, 0x5E5E) /* <CJK */
+MAP(0x3C, 0x3B, 0x5E68) /* <CJK */
+MAP(0x3C, 0x3C, 0x5E6A) /* <CJK */
+MAP(0x3C, 0x3D, 0x5E6B) /* <CJK */
+MAP(0x3C, 0x3E, 0x5E6C) /* <CJK */
+MAP(0x3C, 0x3F, 0x5E6D) /* <CJK */
+MAP(0x3C, 0x40, 0x5E6E) /* <CJK */
+MAP(0x3C, 0x41, 0x5E70) /* <CJK */
+MAP(0x3C, 0x42, 0x5E80) /* <CJK */
+MAP(0x3C, 0x43, 0x5E8B) /* <CJK */
+MAP(0x3C, 0x44, 0x5E8E) /* <CJK */
+MAP(0x3C, 0x45, 0x5EA2) /* <CJK */
+MAP(0x3C, 0x46, 0x5EA4) /* <CJK */
+MAP(0x3C, 0x47, 0x5EA5) /* <CJK */
+MAP(0x3C, 0x48, 0x5EA8) /* <CJK */
+MAP(0x3C, 0x49, 0x5EAA) /* <CJK */
+MAP(0x3C, 0x4A, 0x5EAC) /* <CJK */
+MAP(0x3C, 0x4B, 0x5EB1) /* <CJK */
+MAP(0x3C, 0x4C, 0x5EB3) /* <CJK */
+MAP(0x3C, 0x4D, 0x5EBD) /* <CJK */
+MAP(0x3C, 0x4E, 0x5EBE) /* <CJK */
+MAP(0x3C, 0x4F, 0x5EBF) /* <CJK */
+MAP(0x3C, 0x50, 0x5EC6) /* <CJK */
+MAP(0x3C, 0x51, 0x5ECC) /* <CJK */
+MAP(0x3C, 0x52, 0x5ECB) /* <CJK */
+MAP(0x3C, 0x53, 0x5ECE) /* <CJK */
+MAP(0x3C, 0x54, 0x5ED1) /* <CJK */
+MAP(0x3C, 0x55, 0x5ED2) /* <CJK */
+MAP(0x3C, 0x56, 0x5ED4) /* <CJK */
+MAP(0x3C, 0x57, 0x5ED5) /* <CJK */
+MAP(0x3C, 0x58, 0x5EDC) /* <CJK */
+MAP(0x3C, 0x59, 0x5EDE) /* <CJK */
+MAP(0x3C, 0x5A, 0x5EE5) /* <CJK */
+MAP(0x3C, 0x5B, 0x5EEB) /* <CJK */
+MAP(0x3C, 0x5C, 0x5F02) /* <CJK */
+MAP(0x3C, 0x5D, 0x5F06) /* <CJK */
+MAP(0x3C, 0x5E, 0x5F07) /* <CJK */
+MAP(0x3C, 0x5F, 0x5F08) /* <CJK */
+MAP(0x3C, 0x60, 0x5F0E) /* <CJK */
+MAP(0x3C, 0x61, 0x5F19) /* <CJK */
+MAP(0x3C, 0x62, 0x5F1C) /* <CJK */
+MAP(0x3C, 0x63, 0x5F1D) /* <CJK */
+MAP(0x3C, 0x64, 0x5F21) /* <CJK */
+MAP(0x3C, 0x65, 0x5F22) /* <CJK */
+MAP(0x3C, 0x66, 0x5F23) /* <CJK */
+MAP(0x3C, 0x67, 0x5F24) /* <CJK */
+MAP(0x3C, 0x68, 0x5F28) /* <CJK */
+MAP(0x3C, 0x69, 0x5F2B) /* <CJK */
+MAP(0x3C, 0x6A, 0x5F2C) /* <CJK */
+MAP(0x3C, 0x6B, 0x5F2E) /* <CJK */
+MAP(0x3C, 0x6C, 0x5F30) /* <CJK */
+MAP(0x3C, 0x6D, 0x5F34) /* <CJK */
+MAP(0x3C, 0x6E, 0x5F36) /* <CJK */
+MAP(0x3C, 0x6F, 0x5F3B) /* <CJK */
+MAP(0x3C, 0x70, 0x5F3D) /* <CJK */
+MAP(0x3C, 0x71, 0x5F3F) /* <CJK */
+MAP(0x3C, 0x72, 0x5F40) /* <CJK */
+MAP(0x3C, 0x73, 0x5F44) /* <CJK */
+MAP(0x3C, 0x74, 0x5F45) /* <CJK */
+MAP(0x3C, 0x75, 0x5F47) /* <CJK */
+MAP(0x3C, 0x76, 0x5F4D) /* <CJK */
+MAP(0x3C, 0x77, 0x5F50) /* <CJK */
+MAP(0x3C, 0x78, 0x5F54) /* <CJK */
+MAP(0x3C, 0x79, 0x5F58) /* <CJK */
+MAP(0x3C, 0x7A, 0x5F5B) /* <CJK */
+MAP(0x3C, 0x7B, 0x5F60) /* <CJK */
+MAP(0x3C, 0x7C, 0x5F63) /* <CJK */
+MAP(0x3C, 0x7D, 0x5F64) /* <CJK */
+MAP(0x3C, 0x7E, 0x5F67) /* <CJK */
+MAP(0x3D, 0x21, 0x5F6F) /* <CJK */
+MAP(0x3D, 0x22, 0x5F72) /* <CJK */
+MAP(0x3D, 0x23, 0x5F74) /* <CJK */
+MAP(0x3D, 0x24, 0x5F75) /* <CJK */
+MAP(0x3D, 0x25, 0x5F78) /* <CJK */
+MAP(0x3D, 0x26, 0x5F7A) /* <CJK */
+MAP(0x3D, 0x27, 0x5F7D) /* <CJK */
+MAP(0x3D, 0x28, 0x5F7E) /* <CJK */
+MAP(0x3D, 0x29, 0x5F89) /* <CJK */
+MAP(0x3D, 0x2A, 0x5F8D) /* <CJK */
+MAP(0x3D, 0x2B, 0x5F8F) /* <CJK */
+MAP(0x3D, 0x2C, 0x5F96) /* <CJK */
+MAP(0x3D, 0x2D, 0x5F9C) /* <CJK */
+MAP(0x3D, 0x2E, 0x5F9D) /* <CJK */
+MAP(0x3D, 0x2F, 0x5FA2) /* <CJK */
+MAP(0x3D, 0x30, 0x5FA7) /* <CJK */
+MAP(0x3D, 0x31, 0x5FAB) /* <CJK */
+MAP(0x3D, 0x32, 0x5FA4) /* <CJK */
+MAP(0x3D, 0x33, 0x5FAC) /* <CJK */
+MAP(0x3D, 0x34, 0x5FAF) /* <CJK */
+MAP(0x3D, 0x35, 0x5FB0) /* <CJK */
+MAP(0x3D, 0x36, 0x5FB1) /* <CJK */
+MAP(0x3D, 0x37, 0x5FB8) /* <CJK */
+MAP(0x3D, 0x38, 0x5FC4) /* <CJK */
+MAP(0x3D, 0x39, 0x5FC7) /* <CJK */
+MAP(0x3D, 0x3A, 0x5FC8) /* <CJK */
+MAP(0x3D, 0x3B, 0x5FC9) /* <CJK */
+MAP(0x3D, 0x3C, 0x5FCB) /* <CJK */
+MAP(0x3D, 0x3D, 0x5FD0) /* <CJK */
+MAP(0x3D, 0x3E, 0x5FD1) /* <CJK */
+MAP(0x3D, 0x3F, 0x5FD2) /* <CJK */
+MAP(0x3D, 0x40, 0x5FD3) /* <CJK */
+MAP(0x3D, 0x41, 0x5FD4) /* <CJK */
+MAP(0x3D, 0x42, 0x5FDE) /* <CJK */
+MAP(0x3D, 0x43, 0x5FE1) /* <CJK */
+MAP(0x3D, 0x44, 0x5FE2) /* <CJK */
+MAP(0x3D, 0x45, 0x5FE8) /* <CJK */
+MAP(0x3D, 0x46, 0x5FE9) /* <CJK */
+MAP(0x3D, 0x47, 0x5FEA) /* <CJK */
+MAP(0x3D, 0x48, 0x5FEC) /* <CJK */
+MAP(0x3D, 0x49, 0x5FED) /* <CJK */
+MAP(0x3D, 0x4A, 0x5FEE) /* <CJK */
+MAP(0x3D, 0x4B, 0x5FEF) /* <CJK */
+MAP(0x3D, 0x4C, 0x5FF2) /* <CJK */
+MAP(0x3D, 0x4D, 0x5FF3) /* <CJK */
+MAP(0x3D, 0x4E, 0x5FF6) /* <CJK */
+MAP(0x3D, 0x4F, 0x5FFA) /* <CJK */
+MAP(0x3D, 0x50, 0x5FFC) /* <CJK */
+MAP(0x3D, 0x51, 0x6007) /* <CJK */
+MAP(0x3D, 0x52, 0x600A) /* <CJK */
+MAP(0x3D, 0x53, 0x600D) /* <CJK */
+MAP(0x3D, 0x54, 0x6013) /* <CJK */
+MAP(0x3D, 0x55, 0x6014) /* <CJK */
+MAP(0x3D, 0x56, 0x6017) /* <CJK */
+MAP(0x3D, 0x57, 0x6018) /* <CJK */
+MAP(0x3D, 0x58, 0x601A) /* <CJK */
+MAP(0x3D, 0x59, 0x601F) /* <CJK */
+MAP(0x3D, 0x5A, 0x6024) /* <CJK */
+MAP(0x3D, 0x5B, 0x602D) /* <CJK */
+MAP(0x3D, 0x5C, 0x6033) /* <CJK */
+MAP(0x3D, 0x5D, 0x6035) /* <CJK */
+MAP(0x3D, 0x5E, 0x6040) /* <CJK */
+MAP(0x3D, 0x5F, 0x6047) /* <CJK */
+MAP(0x3D, 0x60, 0x6048) /* <CJK */
+MAP(0x3D, 0x61, 0x6049) /* <CJK */
+MAP(0x3D, 0x62, 0x604C) /* <CJK */
+MAP(0x3D, 0x63, 0x6051) /* <CJK */
+MAP(0x3D, 0x64, 0x6054) /* <CJK */
+MAP(0x3D, 0x65, 0x6056) /* <CJK */
+MAP(0x3D, 0x66, 0x6057) /* <CJK */
+MAP(0x3D, 0x67, 0x605D) /* <CJK */
+MAP(0x3D, 0x68, 0x6061) /* <CJK */
+MAP(0x3D, 0x69, 0x6067) /* <CJK */
+MAP(0x3D, 0x6A, 0x6071) /* <CJK */
+MAP(0x3D, 0x6B, 0x607E) /* <CJK */
+MAP(0x3D, 0x6C, 0x607F) /* <CJK */
+MAP(0x3D, 0x6D, 0x6082) /* <CJK */
+MAP(0x3D, 0x6E, 0x6086) /* <CJK */
+MAP(0x3D, 0x6F, 0x6088) /* <CJK */
+MAP(0x3D, 0x70, 0x608A) /* <CJK */
+MAP(0x3D, 0x71, 0x608E) /* <CJK */
+MAP(0x3D, 0x72, 0x6091) /* <CJK */
+MAP(0x3D, 0x73, 0x6093) /* <CJK */
+MAP(0x3D, 0x74, 0x6095) /* <CJK */
+MAP(0x3D, 0x75, 0x6098) /* <CJK */
+MAP(0x3D, 0x76, 0x609D) /* <CJK */
+MAP(0x3D, 0x77, 0x609E) /* <CJK */
+MAP(0x3D, 0x78, 0x60A2) /* <CJK */
+MAP(0x3D, 0x79, 0x60A4) /* <CJK */
+MAP(0x3D, 0x7A, 0x60A5) /* <CJK */
+MAP(0x3D, 0x7B, 0x60A8) /* <CJK */
+MAP(0x3D, 0x7C, 0x60B0) /* <CJK */
+MAP(0x3D, 0x7D, 0x60B1) /* <CJK */
+MAP(0x3D, 0x7E, 0x60B7) /* <CJK */
+MAP(0x3E, 0x21, 0x60BB) /* <CJK */
+MAP(0x3E, 0x22, 0x60BE) /* <CJK */
+MAP(0x3E, 0x23, 0x60C2) /* <CJK */
+MAP(0x3E, 0x24, 0x60C4) /* <CJK */
+MAP(0x3E, 0x25, 0x60C8) /* <CJK */
+MAP(0x3E, 0x26, 0x60C9) /* <CJK */
+MAP(0x3E, 0x27, 0x60CA) /* <CJK */
+MAP(0x3E, 0x28, 0x60CB) /* <CJK */
+MAP(0x3E, 0x29, 0x60CE) /* <CJK */
+MAP(0x3E, 0x2A, 0x60CF) /* <CJK */
+MAP(0x3E, 0x2B, 0x60D4) /* <CJK */
+MAP(0x3E, 0x2C, 0x60D5) /* <CJK */
+MAP(0x3E, 0x2D, 0x60D9) /* <CJK */
+MAP(0x3E, 0x2E, 0x60DB) /* <CJK */
+MAP(0x3E, 0x2F, 0x60DD) /* <CJK */
+MAP(0x3E, 0x30, 0x60DE) /* <CJK */
+MAP(0x3E, 0x31, 0x60E2) /* <CJK */
+MAP(0x3E, 0x32, 0x60E5) /* <CJK */
+MAP(0x3E, 0x33, 0x60F2) /* <CJK */
+MAP(0x3E, 0x34, 0x60F5) /* <CJK */
+MAP(0x3E, 0x35, 0x60F8) /* <CJK */
+MAP(0x3E, 0x36, 0x60FC) /* <CJK */
+MAP(0x3E, 0x37, 0x60FD) /* <CJK */
+MAP(0x3E, 0x38, 0x6102) /* <CJK */
+MAP(0x3E, 0x39, 0x6107) /* <CJK */
+MAP(0x3E, 0x3A, 0x610A) /* <CJK */
+MAP(0x3E, 0x3B, 0x610C) /* <CJK */
+MAP(0x3E, 0x3C, 0x6110) /* <CJK */
+MAP(0x3E, 0x3D, 0x6111) /* <CJK */
+MAP(0x3E, 0x3E, 0x6112) /* <CJK */
+MAP(0x3E, 0x3F, 0x6113) /* <CJK */
+MAP(0x3E, 0x40, 0x6114) /* <CJK */
+MAP(0x3E, 0x41, 0x6116) /* <CJK */
+MAP(0x3E, 0x42, 0x6117) /* <CJK */
+MAP(0x3E, 0x43, 0x6119) /* <CJK */
+MAP(0x3E, 0x44, 0x611C) /* <CJK */
+MAP(0x3E, 0x45, 0x611E) /* <CJK */
+MAP(0x3E, 0x46, 0x6122) /* <CJK */
+MAP(0x3E, 0x47, 0x612A) /* <CJK */
+MAP(0x3E, 0x48, 0x612B) /* <CJK */
+MAP(0x3E, 0x49, 0x6130) /* <CJK */
+MAP(0x3E, 0x4A, 0x6131) /* <CJK */
+MAP(0x3E, 0x4B, 0x6135) /* <CJK */
+MAP(0x3E, 0x4C, 0x6136) /* <CJK */
+MAP(0x3E, 0x4D, 0x6137) /* <CJK */
+MAP(0x3E, 0x4E, 0x6139) /* <CJK */
+MAP(0x3E, 0x4F, 0x6141) /* <CJK */
+MAP(0x3E, 0x50, 0x6145) /* <CJK */
+MAP(0x3E, 0x51, 0x6146) /* <CJK */
+MAP(0x3E, 0x52, 0x6149) /* <CJK */
+MAP(0x3E, 0x53, 0x615E) /* <CJK */
+MAP(0x3E, 0x54, 0x6160) /* <CJK */
+MAP(0x3E, 0x55, 0x616C) /* <CJK */
+MAP(0x3E, 0x56, 0x6172) /* <CJK */
+MAP(0x3E, 0x57, 0x6178) /* <CJK */
+MAP(0x3E, 0x58, 0x617B) /* <CJK */
+MAP(0x3E, 0x59, 0x617C) /* <CJK */
+MAP(0x3E, 0x5A, 0x617F) /* <CJK */
+MAP(0x3E, 0x5B, 0x6180) /* <CJK */
+MAP(0x3E, 0x5C, 0x6181) /* <CJK */
+MAP(0x3E, 0x5D, 0x6183) /* <CJK */
+MAP(0x3E, 0x5E, 0x6184) /* <CJK */
+MAP(0x3E, 0x5F, 0x618B) /* <CJK */
+MAP(0x3E, 0x60, 0x618D) /* <CJK */
+MAP(0x3E, 0x61, 0x6192) /* <CJK */
+MAP(0x3E, 0x62, 0x6193) /* <CJK */
+MAP(0x3E, 0x63, 0x6197) /* <CJK */
+MAP(0x3E, 0x64, 0x6198) /* <CJK */
+MAP(0x3E, 0x65, 0x619C) /* <CJK */
+MAP(0x3E, 0x66, 0x619D) /* <CJK */
+MAP(0x3E, 0x67, 0x619F) /* <CJK */
+MAP(0x3E, 0x68, 0x61A0) /* <CJK */
+MAP(0x3E, 0x69, 0x61A5) /* <CJK */
+MAP(0x3E, 0x6A, 0x61A8) /* <CJK */
+MAP(0x3E, 0x6B, 0x61AA) /* <CJK */
+MAP(0x3E, 0x6C, 0x61AD) /* <CJK */
+MAP(0x3E, 0x6D, 0x61B8) /* <CJK */
+MAP(0x3E, 0x6E, 0x61B9) /* <CJK */
+MAP(0x3E, 0x6F, 0x61BC) /* <CJK */
+MAP(0x3E, 0x70, 0x61C0) /* <CJK */
+MAP(0x3E, 0x71, 0x61C1) /* <CJK */
+MAP(0x3E, 0x72, 0x61C2) /* <CJK */
+MAP(0x3E, 0x73, 0x61CE) /* <CJK */
+MAP(0x3E, 0x74, 0x61CF) /* <CJK */
+MAP(0x3E, 0x75, 0x61D5) /* <CJK */
+MAP(0x3E, 0x76, 0x61DC) /* <CJK */
+MAP(0x3E, 0x77, 0x61DD) /* <CJK */
+MAP(0x3E, 0x78, 0x61DE) /* <CJK */
+MAP(0x3E, 0x79, 0x61DF) /* <CJK */
+MAP(0x3E, 0x7A, 0x61E1) /* <CJK */
+MAP(0x3E, 0x7B, 0x61E2) /* <CJK */
+MAP(0x3E, 0x7C, 0x61E7) /* <CJK */
+MAP(0x3E, 0x7D, 0x61E9) /* <CJK */
+MAP(0x3E, 0x7E, 0x61E5) /* <CJK */
+MAP(0x3F, 0x21, 0x61EC) /* <CJK */
+MAP(0x3F, 0x22, 0x61ED) /* <CJK */
+MAP(0x3F, 0x23, 0x61EF) /* <CJK */
+MAP(0x3F, 0x24, 0x6201) /* <CJK */
+MAP(0x3F, 0x25, 0x6203) /* <CJK */
+MAP(0x3F, 0x26, 0x6204) /* <CJK */
+MAP(0x3F, 0x27, 0x6207) /* <CJK */
+MAP(0x3F, 0x28, 0x6213) /* <CJK */
+MAP(0x3F, 0x29, 0x6215) /* <CJK */
+MAP(0x3F, 0x2A, 0x621C) /* <CJK */
+MAP(0x3F, 0x2B, 0x6220) /* <CJK */
+MAP(0x3F, 0x2C, 0x6222) /* <CJK */
+MAP(0x3F, 0x2D, 0x6223) /* <CJK */
+MAP(0x3F, 0x2E, 0x6227) /* <CJK */
+MAP(0x3F, 0x2F, 0x6229) /* <CJK */
+MAP(0x3F, 0x30, 0x622B) /* <CJK */
+MAP(0x3F, 0x31, 0x6239) /* <CJK */
+MAP(0x3F, 0x32, 0x623D) /* <CJK */
+MAP(0x3F, 0x33, 0x6242) /* <CJK */
+MAP(0x3F, 0x34, 0x6243) /* <CJK */
+MAP(0x3F, 0x35, 0x6244) /* <CJK */
+MAP(0x3F, 0x36, 0x6246) /* <CJK */
+MAP(0x3F, 0x37, 0x624C) /* <CJK */
+MAP(0x3F, 0x38, 0x6250) /* <CJK */
+MAP(0x3F, 0x39, 0x6251) /* <CJK */
+MAP(0x3F, 0x3A, 0x6252) /* <CJK */
+MAP(0x3F, 0x3B, 0x6254) /* <CJK */
+MAP(0x3F, 0x3C, 0x6256) /* <CJK */
+MAP(0x3F, 0x3D, 0x625A) /* <CJK */
+MAP(0x3F, 0x3E, 0x625C) /* <CJK */
+MAP(0x3F, 0x3F, 0x6264) /* <CJK */
+MAP(0x3F, 0x40, 0x626D) /* <CJK */
+MAP(0x3F, 0x41, 0x626F) /* <CJK */
+MAP(0x3F, 0x42, 0x6273) /* <CJK */
+MAP(0x3F, 0x43, 0x627A) /* <CJK */
+MAP(0x3F, 0x44, 0x627D) /* <CJK */
+MAP(0x3F, 0x45, 0x628D) /* <CJK */
+MAP(0x3F, 0x46, 0x628E) /* <CJK */
+MAP(0x3F, 0x47, 0x628F) /* <CJK */
+MAP(0x3F, 0x48, 0x6290) /* <CJK */
+MAP(0x3F, 0x49, 0x62A6) /* <CJK */
+MAP(0x3F, 0x4A, 0x62A8) /* <CJK */
+MAP(0x3F, 0x4B, 0x62B3) /* <CJK */
+MAP(0x3F, 0x4C, 0x62B6) /* <CJK */
+MAP(0x3F, 0x4D, 0x62B7) /* <CJK */
+MAP(0x3F, 0x4E, 0x62BA) /* <CJK */
+MAP(0x3F, 0x4F, 0x62BE) /* <CJK */
+MAP(0x3F, 0x50, 0x62BF) /* <CJK */
+MAP(0x3F, 0x51, 0x62C4) /* <CJK */
+MAP(0x3F, 0x52, 0x62CE) /* <CJK */
+MAP(0x3F, 0x53, 0x62D5) /* <CJK */
+MAP(0x3F, 0x54, 0x62D6) /* <CJK */
+MAP(0x3F, 0x55, 0x62DA) /* <CJK */
+MAP(0x3F, 0x56, 0x62EA) /* <CJK */
+MAP(0x3F, 0x57, 0x62F2) /* <CJK */
+MAP(0x3F, 0x58, 0x62F4) /* <CJK */
+MAP(0x3F, 0x59, 0x62FC) /* <CJK */
+MAP(0x3F, 0x5A, 0x62FD) /* <CJK */
+MAP(0x3F, 0x5B, 0x6303) /* <CJK */
+MAP(0x3F, 0x5C, 0x6304) /* <CJK */
+MAP(0x3F, 0x5D, 0x630A) /* <CJK */
+MAP(0x3F, 0x5E, 0x630B) /* <CJK */
+MAP(0x3F, 0x5F, 0x630D) /* <CJK */
+MAP(0x3F, 0x60, 0x6310) /* <CJK */
+MAP(0x3F, 0x61, 0x6313) /* <CJK */
+MAP(0x3F, 0x62, 0x6316) /* <CJK */
+MAP(0x3F, 0x63, 0x6318) /* <CJK */
+MAP(0x3F, 0x64, 0x6329) /* <CJK */
+MAP(0x3F, 0x65, 0x632A) /* <CJK */
+MAP(0x3F, 0x66, 0x632D) /* <CJK */
+MAP(0x3F, 0x67, 0x6335) /* <CJK */
+MAP(0x3F, 0x68, 0x6336) /* <CJK */
+MAP(0x3F, 0x69, 0x6339) /* <CJK */
+MAP(0x3F, 0x6A, 0x633C) /* <CJK */
+MAP(0x3F, 0x6B, 0x6341) /* <CJK */
+MAP(0x3F, 0x6C, 0x6342) /* <CJK */
+MAP(0x3F, 0x6D, 0x6343) /* <CJK */
+MAP(0x3F, 0x6E, 0x6344) /* <CJK */
+MAP(0x3F, 0x6F, 0x6346) /* <CJK */
+MAP(0x3F, 0x70, 0x634A) /* <CJK */
+MAP(0x3F, 0x71, 0x634B) /* <CJK */
+MAP(0x3F, 0x72, 0x634E) /* <CJK */
+MAP(0x3F, 0x73, 0x6352) /* <CJK */
+MAP(0x3F, 0x74, 0x6353) /* <CJK */
+MAP(0x3F, 0x75, 0x6354) /* <CJK */
+MAP(0x3F, 0x76, 0x6358) /* <CJK */
+MAP(0x3F, 0x77, 0x635B) /* <CJK */
+MAP(0x3F, 0x78, 0x6365) /* <CJK */
+MAP(0x3F, 0x79, 0x6366) /* <CJK */
+MAP(0x3F, 0x7A, 0x636C) /* <CJK */
+MAP(0x3F, 0x7B, 0x636D) /* <CJK */
+MAP(0x3F, 0x7C, 0x6371) /* <CJK */
+MAP(0x3F, 0x7D, 0x6374) /* <CJK */
+MAP(0x3F, 0x7E, 0x6375) /* <CJK */
+MAP(0x40, 0x21, 0x6378) /* <CJK */
+MAP(0x40, 0x22, 0x637C) /* <CJK */
+MAP(0x40, 0x23, 0x637D) /* <CJK */
+MAP(0x40, 0x24, 0x637F) /* <CJK */
+MAP(0x40, 0x25, 0x6382) /* <CJK */
+MAP(0x40, 0x26, 0x6384) /* <CJK */
+MAP(0x40, 0x27, 0x6387) /* <CJK */
+MAP(0x40, 0x28, 0x638A) /* <CJK */
+MAP(0x40, 0x29, 0x6390) /* <CJK */
+MAP(0x40, 0x2A, 0x6394) /* <CJK */
+MAP(0x40, 0x2B, 0x6395) /* <CJK */
+MAP(0x40, 0x2C, 0x6399) /* <CJK */
+MAP(0x40, 0x2D, 0x639A) /* <CJK */
+MAP(0x40, 0x2E, 0x639E) /* <CJK */
+MAP(0x40, 0x2F, 0x63A4) /* <CJK */
+MAP(0x40, 0x30, 0x63A6) /* <CJK */
+MAP(0x40, 0x31, 0x63AD) /* <CJK */
+MAP(0x40, 0x32, 0x63AE) /* <CJK */
+MAP(0x40, 0x33, 0x63AF) /* <CJK */
+MAP(0x40, 0x34, 0x63BD) /* <CJK */
+MAP(0x40, 0x35, 0x63C1) /* <CJK */
+MAP(0x40, 0x36, 0x63C5) /* <CJK */
+MAP(0x40, 0x37, 0x63C8) /* <CJK */
+MAP(0x40, 0x38, 0x63CE) /* <CJK */
+MAP(0x40, 0x39, 0x63D1) /* <CJK */
+MAP(0x40, 0x3A, 0x63D3) /* <CJK */
+MAP(0x40, 0x3B, 0x63D4) /* <CJK */
+MAP(0x40, 0x3C, 0x63D5) /* <CJK */
+MAP(0x40, 0x3D, 0x63DC) /* <CJK */
+MAP(0x40, 0x3E, 0x63E0) /* <CJK */
+MAP(0x40, 0x3F, 0x63E5) /* <CJK */
+MAP(0x40, 0x40, 0x63EA) /* <CJK */
+MAP(0x40, 0x41, 0x63EC) /* <CJK */
+MAP(0x40, 0x42, 0x63F2) /* <CJK */
+MAP(0x40, 0x43, 0x63F3) /* <CJK */
+MAP(0x40, 0x44, 0x63F5) /* <CJK */
+MAP(0x40, 0x45, 0x63F8) /* <CJK */
+MAP(0x40, 0x46, 0x63F9) /* <CJK */
+MAP(0x40, 0x47, 0x6409) /* <CJK */
+MAP(0x40, 0x48, 0x640A) /* <CJK */
+MAP(0x40, 0x49, 0x6410) /* <CJK */
+MAP(0x40, 0x4A, 0x6412) /* <CJK */
+MAP(0x40, 0x4B, 0x6414) /* <CJK */
+MAP(0x40, 0x4C, 0x6418) /* <CJK */
+MAP(0x40, 0x4D, 0x641E) /* <CJK */
+MAP(0x40, 0x4E, 0x6420) /* <CJK */
+MAP(0x40, 0x4F, 0x6422) /* <CJK */
+MAP(0x40, 0x50, 0x6424) /* <CJK */
+MAP(0x40, 0x51, 0x6425) /* <CJK */
+MAP(0x40, 0x52, 0x6429) /* <CJK */
+MAP(0x40, 0x53, 0x642A) /* <CJK */
+MAP(0x40, 0x54, 0x642F) /* <CJK */
+MAP(0x40, 0x55, 0x6430) /* <CJK */
+MAP(0x40, 0x56, 0x6435) /* <CJK */
+MAP(0x40, 0x57, 0x643D) /* <CJK */
+MAP(0x40, 0x58, 0x643F) /* <CJK */
+MAP(0x40, 0x59, 0x644B) /* <CJK */
+MAP(0x40, 0x5A, 0x644F) /* <CJK */
+MAP(0x40, 0x5B, 0x6451) /* <CJK */
+MAP(0x40, 0x5C, 0x6452) /* <CJK */
+MAP(0x40, 0x5D, 0x6453) /* <CJK */
+MAP(0x40, 0x5E, 0x6454) /* <CJK */
+MAP(0x40, 0x5F, 0x645A) /* <CJK */
+MAP(0x40, 0x60, 0x645B) /* <CJK */
+MAP(0x40, 0x61, 0x645C) /* <CJK */
+MAP(0x40, 0x62, 0x645D) /* <CJK */
+MAP(0x40, 0x63, 0x645F) /* <CJK */
+MAP(0x40, 0x64, 0x6460) /* <CJK */
+MAP(0x40, 0x65, 0x6461) /* <CJK */
+MAP(0x40, 0x66, 0x6463) /* <CJK */
+MAP(0x40, 0x67, 0x646D) /* <CJK */
+MAP(0x40, 0x68, 0x6473) /* <CJK */
+MAP(0x40, 0x69, 0x6474) /* <CJK */
+MAP(0x40, 0x6A, 0x647B) /* <CJK */
+MAP(0x40, 0x6B, 0x647D) /* <CJK */
+MAP(0x40, 0x6C, 0x6485) /* <CJK */
+MAP(0x40, 0x6D, 0x6487) /* <CJK */
+MAP(0x40, 0x6E, 0x648F) /* <CJK */
+MAP(0x40, 0x6F, 0x6490) /* <CJK */
+MAP(0x40, 0x70, 0x6491) /* <CJK */
+MAP(0x40, 0x71, 0x6498) /* <CJK */
+MAP(0x40, 0x72, 0x6499) /* <CJK */
+MAP(0x40, 0x73, 0x649B) /* <CJK */
+MAP(0x40, 0x74, 0x649D) /* <CJK */
+MAP(0x40, 0x75, 0x649F) /* <CJK */
+MAP(0x40, 0x76, 0x64A1) /* <CJK */
+MAP(0x40, 0x77, 0x64A3) /* <CJK */
+MAP(0x40, 0x78, 0x64A6) /* <CJK */
+MAP(0x40, 0x79, 0x64A8) /* <CJK */
+MAP(0x40, 0x7A, 0x64AC) /* <CJK */
+MAP(0x40, 0x7B, 0x64B3) /* <CJK */
+MAP(0x40, 0x7C, 0x64BD) /* <CJK */
+MAP(0x40, 0x7D, 0x64BE) /* <CJK */
+MAP(0x40, 0x7E, 0x64BF) /* <CJK */
+MAP(0x41, 0x21, 0x64C4) /* <CJK */
+MAP(0x41, 0x22, 0x64C9) /* <CJK */
+MAP(0x41, 0x23, 0x64CA) /* <CJK */
+MAP(0x41, 0x24, 0x64CB) /* <CJK */
+MAP(0x41, 0x25, 0x64CC) /* <CJK */
+MAP(0x41, 0x26, 0x64CE) /* <CJK */
+MAP(0x41, 0x27, 0x64D0) /* <CJK */
+MAP(0x41, 0x28, 0x64D1) /* <CJK */
+MAP(0x41, 0x29, 0x64D5) /* <CJK */
+MAP(0x41, 0x2A, 0x64D7) /* <CJK */
+MAP(0x41, 0x2B, 0x64E4) /* <CJK */
+MAP(0x41, 0x2C, 0x64E5) /* <CJK */
+MAP(0x41, 0x2D, 0x64E9) /* <CJK */
+MAP(0x41, 0x2E, 0x64EA) /* <CJK */
+MAP(0x41, 0x2F, 0x64ED) /* <CJK */
+MAP(0x41, 0x30, 0x64F0) /* <CJK */
+MAP(0x41, 0x31, 0x64F5) /* <CJK */
+MAP(0x41, 0x32, 0x64F7) /* <CJK */
+MAP(0x41, 0x33, 0x64FB) /* <CJK */
+MAP(0x41, 0x34, 0x64FF) /* <CJK */
+MAP(0x41, 0x35, 0x6501) /* <CJK */
+MAP(0x41, 0x36, 0x6504) /* <CJK */
+MAP(0x41, 0x37, 0x6508) /* <CJK */
+MAP(0x41, 0x38, 0x6509) /* <CJK */
+MAP(0x41, 0x39, 0x650A) /* <CJK */
+MAP(0x41, 0x3A, 0x650F) /* <CJK */
+MAP(0x41, 0x3B, 0x6513) /* <CJK */
+MAP(0x41, 0x3C, 0x6514) /* <CJK */
+MAP(0x41, 0x3D, 0x6516) /* <CJK */
+MAP(0x41, 0x3E, 0x6519) /* <CJK */
+MAP(0x41, 0x3F, 0x651B) /* <CJK */
+MAP(0x41, 0x40, 0x651E) /* <CJK */
+MAP(0x41, 0x41, 0x651F) /* <CJK */
+MAP(0x41, 0x42, 0x6522) /* <CJK */
+MAP(0x41, 0x43, 0x6526) /* <CJK */
+MAP(0x41, 0x44, 0x6529) /* <CJK */
+MAP(0x41, 0x45, 0x652E) /* <CJK */
+MAP(0x41, 0x46, 0x6531) /* <CJK */
+MAP(0x41, 0x47, 0x653A) /* <CJK */
+MAP(0x41, 0x48, 0x653C) /* <CJK */
+MAP(0x41, 0x49, 0x653D) /* <CJK */
+MAP(0x41, 0x4A, 0x6543) /* <CJK */
+MAP(0x41, 0x4B, 0x6547) /* <CJK */
+MAP(0x41, 0x4C, 0x6549) /* <CJK */
+MAP(0x41, 0x4D, 0x6550) /* <CJK */
+MAP(0x41, 0x4E, 0x6552) /* <CJK */
+MAP(0x41, 0x4F, 0x6554) /* <CJK */
+MAP(0x41, 0x50, 0x655F) /* <CJK */
+MAP(0x41, 0x51, 0x6560) /* <CJK */
+MAP(0x41, 0x52, 0x6567) /* <CJK */
+MAP(0x41, 0x53, 0x656B) /* <CJK */
+MAP(0x41, 0x54, 0x657A) /* <CJK */
+MAP(0x41, 0x55, 0x657D) /* <CJK */
+MAP(0x41, 0x56, 0x6581) /* <CJK */
+MAP(0x41, 0x57, 0x6585) /* <CJK */
+MAP(0x41, 0x58, 0x658A) /* <CJK */
+MAP(0x41, 0x59, 0x6592) /* <CJK */
+MAP(0x41, 0x5A, 0x6595) /* <CJK */
+MAP(0x41, 0x5B, 0x6598) /* <CJK */
+MAP(0x41, 0x5C, 0x659D) /* <CJK */
+MAP(0x41, 0x5D, 0x65A0) /* <CJK */
+MAP(0x41, 0x5E, 0x65A3) /* <CJK */
+MAP(0x41, 0x5F, 0x65A6) /* <CJK */
+MAP(0x41, 0x60, 0x65AE) /* <CJK */
+MAP(0x41, 0x61, 0x65B2) /* <CJK */
+MAP(0x41, 0x62, 0x65B3) /* <CJK */
+MAP(0x41, 0x63, 0x65B4) /* <CJK */
+MAP(0x41, 0x64, 0x65BF) /* <CJK */
+MAP(0x41, 0x65, 0x65C2) /* <CJK */
+MAP(0x41, 0x66, 0x65C8) /* <CJK */
+MAP(0x41, 0x67, 0x65C9) /* <CJK */
+MAP(0x41, 0x68, 0x65CE) /* <CJK */
+MAP(0x41, 0x69, 0x65D0) /* <CJK */
+MAP(0x41, 0x6A, 0x65D4) /* <CJK */
+MAP(0x41, 0x6B, 0x65D6) /* <CJK */
+MAP(0x41, 0x6C, 0x65D8) /* <CJK */
+MAP(0x41, 0x6D, 0x65DF) /* <CJK */
+MAP(0x41, 0x6E, 0x65F0) /* <CJK */
+MAP(0x41, 0x6F, 0x65F2) /* <CJK */
+MAP(0x41, 0x70, 0x65F4) /* <CJK */
+MAP(0x41, 0x71, 0x65F5) /* <CJK */
+MAP(0x41, 0x72, 0x65F9) /* <CJK */
+MAP(0x41, 0x73, 0x65FE) /* <CJK */
+MAP(0x41, 0x74, 0x65FF) /* <CJK */
+MAP(0x41, 0x75, 0x6600) /* <CJK */
+MAP(0x41, 0x76, 0x6604) /* <CJK */
+MAP(0x41, 0x77, 0x6608) /* <CJK */
+MAP(0x41, 0x78, 0x6609) /* <CJK */
+MAP(0x41, 0x79, 0x660D) /* <CJK */
+MAP(0x41, 0x7A, 0x6611) /* <CJK */
+MAP(0x41, 0x7B, 0x6612) /* <CJK */
+MAP(0x41, 0x7C, 0x6615) /* <CJK */
+MAP(0x41, 0x7D, 0x6616) /* <CJK */
+MAP(0x41, 0x7E, 0x661D) /* <CJK */
+MAP(0x42, 0x21, 0x661E) /* <CJK */
+MAP(0x42, 0x22, 0x6621) /* <CJK */
+MAP(0x42, 0x23, 0x6622) /* <CJK */
+MAP(0x42, 0x24, 0x6623) /* <CJK */
+MAP(0x42, 0x25, 0x6624) /* <CJK */
+MAP(0x42, 0x26, 0x6626) /* <CJK */
+MAP(0x42, 0x27, 0x6629) /* <CJK */
+MAP(0x42, 0x28, 0x662A) /* <CJK */
+MAP(0x42, 0x29, 0x662B) /* <CJK */
+MAP(0x42, 0x2A, 0x662C) /* <CJK */
+MAP(0x42, 0x2B, 0x662E) /* <CJK */
+MAP(0x42, 0x2C, 0x6630) /* <CJK */
+MAP(0x42, 0x2D, 0x6631) /* <CJK */
+MAP(0x42, 0x2E, 0x6633) /* <CJK */
+MAP(0x42, 0x2F, 0x6639) /* <CJK */
+MAP(0x42, 0x30, 0x6637) /* <CJK */
+MAP(0x42, 0x31, 0x6640) /* <CJK */
+MAP(0x42, 0x32, 0x6645) /* <CJK */
+MAP(0x42, 0x33, 0x6646) /* <CJK */
+MAP(0x42, 0x34, 0x664A) /* <CJK */
+MAP(0x42, 0x35, 0x664C) /* <CJK */
+MAP(0x42, 0x36, 0x6651) /* <CJK */
+MAP(0x42, 0x37, 0x664E) /* <CJK */
+MAP(0x42, 0x38, 0x6657) /* <CJK */
+MAP(0x42, 0x39, 0x6658) /* <CJK */
+MAP(0x42, 0x3A, 0x6659) /* <CJK */
+MAP(0x42, 0x3B, 0x665B) /* <CJK */
+MAP(0x42, 0x3C, 0x665C) /* <CJK */
+MAP(0x42, 0x3D, 0x6660) /* <CJK */
+MAP(0x42, 0x3E, 0x6661) /* <CJK */
+MAP(0x42, 0x3F, 0x66FB) /* <CJK */
+MAP(0x42, 0x40, 0x666A) /* <CJK */
+MAP(0x42, 0x41, 0x666B) /* <CJK */
+MAP(0x42, 0x42, 0x666C) /* <CJK */
+MAP(0x42, 0x43, 0x667E) /* <CJK */
+MAP(0x42, 0x44, 0x6673) /* <CJK */
+MAP(0x42, 0x45, 0x6675) /* <CJK */
+MAP(0x42, 0x46, 0x667F) /* <CJK */
+MAP(0x42, 0x47, 0x6677) /* <CJK */
+MAP(0x42, 0x48, 0x6678) /* <CJK */
+MAP(0x42, 0x49, 0x6679) /* <CJK */
+MAP(0x42, 0x4A, 0x667B) /* <CJK */
+MAP(0x42, 0x4B, 0x6680) /* <CJK */
+MAP(0x42, 0x4C, 0x667C) /* <CJK */
+MAP(0x42, 0x4D, 0x668B) /* <CJK */
+MAP(0x42, 0x4E, 0x668C) /* <CJK */
+MAP(0x42, 0x4F, 0x668D) /* <CJK */
+MAP(0x42, 0x50, 0x6690) /* <CJK */
+MAP(0x42, 0x51, 0x6692) /* <CJK */
+MAP(0x42, 0x52, 0x6699) /* <CJK */
+MAP(0x42, 0x53, 0x669A) /* <CJK */
+MAP(0x42, 0x54, 0x669B) /* <CJK */
+MAP(0x42, 0x55, 0x669C) /* <CJK */
+MAP(0x42, 0x56, 0x669F) /* <CJK */
+MAP(0x42, 0x57, 0x66A0) /* <CJK */
+MAP(0x42, 0x58, 0x66A4) /* <CJK */
+MAP(0x42, 0x59, 0x66AD) /* <CJK */
+MAP(0x42, 0x5A, 0x66B1) /* <CJK */
+MAP(0x42, 0x5B, 0x66B2) /* <CJK */
+MAP(0x42, 0x5C, 0x66B5) /* <CJK */
+MAP(0x42, 0x5D, 0x66BB) /* <CJK */
+MAP(0x42, 0x5E, 0x66BF) /* <CJK */
+MAP(0x42, 0x5F, 0x66C0) /* <CJK */
+MAP(0x42, 0x60, 0x66C2) /* <CJK */
+MAP(0x42, 0x61, 0x66C3) /* <CJK */
+MAP(0x42, 0x62, 0x66C8) /* <CJK */
+MAP(0x42, 0x63, 0x66CC) /* <CJK */
+MAP(0x42, 0x64, 0x66CE) /* <CJK */
+MAP(0x42, 0x65, 0x66CF) /* <CJK */
+MAP(0x42, 0x66, 0x66D4) /* <CJK */
+MAP(0x42, 0x67, 0x66DB) /* <CJK */
+MAP(0x42, 0x68, 0x66DF) /* <CJK */
+MAP(0x42, 0x69, 0x66E8) /* <CJK */
+MAP(0x42, 0x6A, 0x66EB) /* <CJK */
+MAP(0x42, 0x6B, 0x66EC) /* <CJK */
+MAP(0x42, 0x6C, 0x66EE) /* <CJK */
+MAP(0x42, 0x6D, 0x66FA) /* <CJK */
+MAP(0x42, 0x6E, 0x6705) /* <CJK */
+MAP(0x42, 0x6F, 0x6707) /* <CJK */
+MAP(0x42, 0x70, 0x670E) /* <CJK */
+MAP(0x42, 0x71, 0x6713) /* <CJK */
+MAP(0x42, 0x72, 0x6719) /* <CJK */
+MAP(0x42, 0x73, 0x671C) /* <CJK */
+MAP(0x42, 0x74, 0x6720) /* <CJK */
+MAP(0x42, 0x75, 0x6722) /* <CJK */
+MAP(0x42, 0x76, 0x6733) /* <CJK */
+MAP(0x42, 0x77, 0x673E) /* <CJK */
+MAP(0x42, 0x78, 0x6745) /* <CJK */
+MAP(0x42, 0x79, 0x6747) /* <CJK */
+MAP(0x42, 0x7A, 0x6748) /* <CJK */
+MAP(0x42, 0x7B, 0x674C) /* <CJK */
+MAP(0x42, 0x7C, 0x6754) /* <CJK */
+MAP(0x42, 0x7D, 0x6755) /* <CJK */
+MAP(0x42, 0x7E, 0x675D) /* <CJK */
+MAP(0x43, 0x21, 0x6766) /* <CJK */
+MAP(0x43, 0x22, 0x676C) /* <CJK */
+MAP(0x43, 0x23, 0x676E) /* <CJK */
+MAP(0x43, 0x24, 0x6774) /* <CJK */
+MAP(0x43, 0x25, 0x6776) /* <CJK */
+MAP(0x43, 0x26, 0x677B) /* <CJK */
+MAP(0x43, 0x27, 0x6781) /* <CJK */
+MAP(0x43, 0x28, 0x6784) /* <CJK */
+MAP(0x43, 0x29, 0x678E) /* <CJK */
+MAP(0x43, 0x2A, 0x678F) /* <CJK */
+MAP(0x43, 0x2B, 0x6791) /* <CJK */
+MAP(0x43, 0x2C, 0x6793) /* <CJK */
+MAP(0x43, 0x2D, 0x6796) /* <CJK */
+MAP(0x43, 0x2E, 0x6798) /* <CJK */
+MAP(0x43, 0x2F, 0x6799) /* <CJK */
+MAP(0x43, 0x30, 0x679B) /* <CJK */
+MAP(0x43, 0x31, 0x67B0) /* <CJK */
+MAP(0x43, 0x32, 0x67B1) /* <CJK */
+MAP(0x43, 0x33, 0x67B2) /* <CJK */
+MAP(0x43, 0x34, 0x67B5) /* <CJK */
+MAP(0x43, 0x35, 0x67BB) /* <CJK */
+MAP(0x43, 0x36, 0x67BC) /* <CJK */
+MAP(0x43, 0x37, 0x67BD) /* <CJK */
+MAP(0x43, 0x38, 0x67F9) /* <CJK */
+MAP(0x43, 0x39, 0x67C0) /* <CJK */
+MAP(0x43, 0x3A, 0x67C2) /* <CJK */
+MAP(0x43, 0x3B, 0x67C3) /* <CJK */
+MAP(0x43, 0x3C, 0x67C5) /* <CJK */
+MAP(0x43, 0x3D, 0x67C8) /* <CJK */
+MAP(0x43, 0x3E, 0x67C9) /* <CJK */
+MAP(0x43, 0x3F, 0x67D2) /* <CJK */
+MAP(0x43, 0x40, 0x67D7) /* <CJK */
+MAP(0x43, 0x41, 0x67D9) /* <CJK */
+MAP(0x43, 0x42, 0x67DC) /* <CJK */
+MAP(0x43, 0x43, 0x67E1) /* <CJK */
+MAP(0x43, 0x44, 0x67E6) /* <CJK */
+MAP(0x43, 0x45, 0x67F0) /* <CJK */
+MAP(0x43, 0x46, 0x67F2) /* <CJK */
+MAP(0x43, 0x47, 0x67F6) /* <CJK */
+MAP(0x43, 0x48, 0x67F7) /* <CJK */
+MAP(0x43, 0x49, 0x6852) /* <CJK */
+MAP(0x43, 0x4A, 0x6814) /* <CJK */
+MAP(0x43, 0x4B, 0x6819) /* <CJK */
+MAP(0x43, 0x4C, 0x681D) /* <CJK */
+MAP(0x43, 0x4D, 0x681F) /* <CJK */
+MAP(0x43, 0x4E, 0x6828) /* <CJK */
+MAP(0x43, 0x4F, 0x6827) /* <CJK */
+MAP(0x43, 0x50, 0x682C) /* <CJK */
+MAP(0x43, 0x51, 0x682D) /* <CJK */
+MAP(0x43, 0x52, 0x682F) /* <CJK */
+MAP(0x43, 0x53, 0x6830) /* <CJK */
+MAP(0x43, 0x54, 0x6831) /* <CJK */
+MAP(0x43, 0x55, 0x6833) /* <CJK */
+MAP(0x43, 0x56, 0x683B) /* <CJK */
+MAP(0x43, 0x57, 0x683F) /* <CJK */
+MAP(0x43, 0x58, 0x6844) /* <CJK */
+MAP(0x43, 0x59, 0x6845) /* <CJK */
+MAP(0x43, 0x5A, 0x684A) /* <CJK */
+MAP(0x43, 0x5B, 0x684C) /* <CJK */
+MAP(0x43, 0x5C, 0x6855) /* <CJK */
+MAP(0x43, 0x5D, 0x6857) /* <CJK */
+MAP(0x43, 0x5E, 0x6858) /* <CJK */
+MAP(0x43, 0x5F, 0x685B) /* <CJK */
+MAP(0x43, 0x60, 0x686B) /* <CJK */
+MAP(0x43, 0x61, 0x686E) /* <CJK */
+MAP(0x43, 0x62, 0x686F) /* <CJK */
+MAP(0x43, 0x63, 0x6870) /* <CJK */
+MAP(0x43, 0x64, 0x6871) /* <CJK */
+MAP(0x43, 0x65, 0x6872) /* <CJK */
+MAP(0x43, 0x66, 0x6875) /* <CJK */
+MAP(0x43, 0x67, 0x6879) /* <CJK */
+MAP(0x43, 0x68, 0x687A) /* <CJK */
+MAP(0x43, 0x69, 0x687B) /* <CJK */
+MAP(0x43, 0x6A, 0x687C) /* <CJK */
+MAP(0x43, 0x6B, 0x6882) /* <CJK */
+MAP(0x43, 0x6C, 0x6884) /* <CJK */
+MAP(0x43, 0x6D, 0x6886) /* <CJK */
+MAP(0x43, 0x6E, 0x6888) /* <CJK */
+MAP(0x43, 0x6F, 0x6896) /* <CJK */
+MAP(0x43, 0x70, 0x6898) /* <CJK */
+MAP(0x43, 0x71, 0x689A) /* <CJK */
+MAP(0x43, 0x72, 0x689C) /* <CJK */
+MAP(0x43, 0x73, 0x68A1) /* <CJK */
+MAP(0x43, 0x74, 0x68A3) /* <CJK */
+MAP(0x43, 0x75, 0x68A5) /* <CJK */
+MAP(0x43, 0x76, 0x68A9) /* <CJK */
+MAP(0x43, 0x77, 0x68AA) /* <CJK */
+MAP(0x43, 0x78, 0x68AE) /* <CJK */
+MAP(0x43, 0x79, 0x68B2) /* <CJK */
+MAP(0x43, 0x7A, 0x68BB) /* <CJK */
+MAP(0x43, 0x7B, 0x68C5) /* <CJK */
+MAP(0x43, 0x7C, 0x68C8) /* <CJK */
+MAP(0x43, 0x7D, 0x68CC) /* <CJK */
+MAP(0x43, 0x7E, 0x68CF) /* <CJK */
+MAP(0x44, 0x21, 0x68D0) /* <CJK */
+MAP(0x44, 0x22, 0x68D1) /* <CJK */
+MAP(0x44, 0x23, 0x68D3) /* <CJK */
+MAP(0x44, 0x24, 0x68D6) /* <CJK */
+MAP(0x44, 0x25, 0x68D9) /* <CJK */
+MAP(0x44, 0x26, 0x68DC) /* <CJK */
+MAP(0x44, 0x27, 0x68DD) /* <CJK */
+MAP(0x44, 0x28, 0x68E5) /* <CJK */
+MAP(0x44, 0x29, 0x68E8) /* <CJK */
+MAP(0x44, 0x2A, 0x68EA) /* <CJK */
+MAP(0x44, 0x2B, 0x68EB) /* <CJK */
+MAP(0x44, 0x2C, 0x68EC) /* <CJK */
+MAP(0x44, 0x2D, 0x68ED) /* <CJK */
+MAP(0x44, 0x2E, 0x68F0) /* <CJK */
+MAP(0x44, 0x2F, 0x68F1) /* <CJK */
+MAP(0x44, 0x30, 0x68F5) /* <CJK */
+MAP(0x44, 0x31, 0x68F6) /* <CJK */
+MAP(0x44, 0x32, 0x68FB) /* <CJK */
+MAP(0x44, 0x33, 0x68FC) /* <CJK */
+MAP(0x44, 0x34, 0x68FD) /* <CJK */
+MAP(0x44, 0x35, 0x6906) /* <CJK */
+MAP(0x44, 0x36, 0x6909) /* <CJK */
+MAP(0x44, 0x37, 0x690A) /* <CJK */
+MAP(0x44, 0x38, 0x6910) /* <CJK */
+MAP(0x44, 0x39, 0x6911) /* <CJK */
+MAP(0x44, 0x3A, 0x6913) /* <CJK */
+MAP(0x44, 0x3B, 0x6916) /* <CJK */
+MAP(0x44, 0x3C, 0x6917) /* <CJK */
+MAP(0x44, 0x3D, 0x6931) /* <CJK */
+MAP(0x44, 0x3E, 0x6933) /* <CJK */
+MAP(0x44, 0x3F, 0x6935) /* <CJK */
+MAP(0x44, 0x40, 0x6938) /* <CJK */
+MAP(0x44, 0x41, 0x693B) /* <CJK */
+MAP(0x44, 0x42, 0x6942) /* <CJK */
+MAP(0x44, 0x43, 0x6945) /* <CJK */
+MAP(0x44, 0x44, 0x6949) /* <CJK */
+MAP(0x44, 0x45, 0x694E) /* <CJK */
+MAP(0x44, 0x46, 0x6957) /* <CJK */
+MAP(0x44, 0x47, 0x695B) /* <CJK */
+MAP(0x44, 0x48, 0x6963) /* <CJK */
+MAP(0x44, 0x49, 0x6964) /* <CJK */
+MAP(0x44, 0x4A, 0x6965) /* <CJK */
+MAP(0x44, 0x4B, 0x6966) /* <CJK */
+MAP(0x44, 0x4C, 0x6968) /* <CJK */
+MAP(0x44, 0x4D, 0x6969) /* <CJK */
+MAP(0x44, 0x4E, 0x696C) /* <CJK */
+MAP(0x44, 0x4F, 0x6970) /* <CJK */
+MAP(0x44, 0x50, 0x6971) /* <CJK */
+MAP(0x44, 0x51, 0x6972) /* <CJK */
+MAP(0x44, 0x52, 0x697A) /* <CJK */
+MAP(0x44, 0x53, 0x697B) /* <CJK */
+MAP(0x44, 0x54, 0x697F) /* <CJK */
+MAP(0x44, 0x55, 0x6980) /* <CJK */
+MAP(0x44, 0x56, 0x698D) /* <CJK */
+MAP(0x44, 0x57, 0x6992) /* <CJK */
+MAP(0x44, 0x58, 0x6996) /* <CJK */
+MAP(0x44, 0x59, 0x6998) /* <CJK */
+MAP(0x44, 0x5A, 0x69A1) /* <CJK */
+MAP(0x44, 0x5B, 0x69A5) /* <CJK */
+MAP(0x44, 0x5C, 0x69A6) /* <CJK */
+MAP(0x44, 0x5D, 0x69A8) /* <CJK */
+MAP(0x44, 0x5E, 0x69AB) /* <CJK */
+MAP(0x44, 0x5F, 0x69AD) /* <CJK */
+MAP(0x44, 0x60, 0x69AF) /* <CJK */
+MAP(0x44, 0x61, 0x69B7) /* <CJK */
+MAP(0x44, 0x62, 0x69B8) /* <CJK */
+MAP(0x44, 0x63, 0x69BA) /* <CJK */
+MAP(0x44, 0x64, 0x69BC) /* <CJK */
+MAP(0x44, 0x65, 0x69C5) /* <CJK */
+MAP(0x44, 0x66, 0x69C8) /* <CJK */
+MAP(0x44, 0x67, 0x69D1) /* <CJK */
+MAP(0x44, 0x68, 0x69D6) /* <CJK */
+MAP(0x44, 0x69, 0x69D7) /* <CJK */
+MAP(0x44, 0x6A, 0x69E2) /* <CJK */
+MAP(0x44, 0x6B, 0x69E5) /* <CJK */
+MAP(0x44, 0x6C, 0x69EE) /* <CJK */
+MAP(0x44, 0x6D, 0x69EF) /* <CJK */
+MAP(0x44, 0x6E, 0x69F1) /* <CJK */
+MAP(0x44, 0x6F, 0x69F3) /* <CJK */
+MAP(0x44, 0x70, 0x69F5) /* <CJK */
+MAP(0x44, 0x71, 0x69FE) /* <CJK */
+MAP(0x44, 0x72, 0x6A00) /* <CJK */
+MAP(0x44, 0x73, 0x6A01) /* <CJK */
+MAP(0x44, 0x74, 0x6A03) /* <CJK */
+MAP(0x44, 0x75, 0x6A0F) /* <CJK */
+MAP(0x44, 0x76, 0x6A11) /* <CJK */
+MAP(0x44, 0x77, 0x6A15) /* <CJK */
+MAP(0x44, 0x78, 0x6A1A) /* <CJK */
+MAP(0x44, 0x79, 0x6A1D) /* <CJK */
+MAP(0x44, 0x7A, 0x6A20) /* <CJK */
+MAP(0x44, 0x7B, 0x6A24) /* <CJK */
+MAP(0x44, 0x7C, 0x6A28) /* <CJK */
+MAP(0x44, 0x7D, 0x6A30) /* <CJK */
+MAP(0x44, 0x7E, 0x6A32) /* <CJK */
+MAP(0x45, 0x21, 0x6A34) /* <CJK */
+MAP(0x45, 0x22, 0x6A37) /* <CJK */
+MAP(0x45, 0x23, 0x6A3B) /* <CJK */
+MAP(0x45, 0x24, 0x6A3E) /* <CJK */
+MAP(0x45, 0x25, 0x6A3F) /* <CJK */
+MAP(0x45, 0x26, 0x6A45) /* <CJK */
+MAP(0x45, 0x27, 0x6A46) /* <CJK */
+MAP(0x45, 0x28, 0x6A49) /* <CJK */
+MAP(0x45, 0x29, 0x6A4A) /* <CJK */
+MAP(0x45, 0x2A, 0x6A4E) /* <CJK */
+MAP(0x45, 0x2B, 0x6A50) /* <CJK */
+MAP(0x45, 0x2C, 0x6A51) /* <CJK */
+MAP(0x45, 0x2D, 0x6A52) /* <CJK */
+MAP(0x45, 0x2E, 0x6A55) /* <CJK */
+MAP(0x45, 0x2F, 0x6A56) /* <CJK */
+MAP(0x45, 0x30, 0x6A5B) /* <CJK */
+MAP(0x45, 0x31, 0x6A64) /* <CJK */
+MAP(0x45, 0x32, 0x6A67) /* <CJK */
+MAP(0x45, 0x33, 0x6A6A) /* <CJK */
+MAP(0x45, 0x34, 0x6A71) /* <CJK */
+MAP(0x45, 0x35, 0x6A73) /* <CJK */
+MAP(0x45, 0x36, 0x6A7E) /* <CJK */
+MAP(0x45, 0x37, 0x6A81) /* <CJK */
+MAP(0x45, 0x38, 0x6A83) /* <CJK */
+MAP(0x45, 0x39, 0x6A86) /* <CJK */
+MAP(0x45, 0x3A, 0x6A87) /* <CJK */
+MAP(0x45, 0x3B, 0x6A89) /* <CJK */
+MAP(0x45, 0x3C, 0x6A8B) /* <CJK */
+MAP(0x45, 0x3D, 0x6A91) /* <CJK */
+MAP(0x45, 0x3E, 0x6A9B) /* <CJK */
+MAP(0x45, 0x3F, 0x6A9D) /* <CJK */
+MAP(0x45, 0x40, 0x6A9E) /* <CJK */
+MAP(0x45, 0x41, 0x6A9F) /* <CJK */
+MAP(0x45, 0x42, 0x6AA5) /* <CJK */
+MAP(0x45, 0x43, 0x6AAB) /* <CJK */
+MAP(0x45, 0x44, 0x6AAF) /* <CJK */
+MAP(0x45, 0x45, 0x6AB0) /* <CJK */
+MAP(0x45, 0x46, 0x6AB1) /* <CJK */
+MAP(0x45, 0x47, 0x6AB4) /* <CJK */
+MAP(0x45, 0x48, 0x6ABD) /* <CJK */
+MAP(0x45, 0x49, 0x6ABE) /* <CJK */
+MAP(0x45, 0x4A, 0x6ABF) /* <CJK */
+MAP(0x45, 0x4B, 0x6AC6) /* <CJK */
+MAP(0x45, 0x4C, 0x6AC9) /* <CJK */
+MAP(0x45, 0x4D, 0x6AC8) /* <CJK */
+MAP(0x45, 0x4E, 0x6ACC) /* <CJK */
+MAP(0x45, 0x4F, 0x6AD0) /* <CJK */
+MAP(0x45, 0x50, 0x6AD4) /* <CJK */
+MAP(0x45, 0x51, 0x6AD5) /* <CJK */
+MAP(0x45, 0x52, 0x6AD6) /* <CJK */
+MAP(0x45, 0x53, 0x6ADC) /* <CJK */
+MAP(0x45, 0x54, 0x6ADD) /* <CJK */
+MAP(0x45, 0x55, 0x6AE4) /* <CJK */
+MAP(0x45, 0x56, 0x6AE7) /* <CJK */
+MAP(0x45, 0x57, 0x6AEC) /* <CJK */
+MAP(0x45, 0x58, 0x6AF0) /* <CJK */
+MAP(0x45, 0x59, 0x6AF1) /* <CJK */
+MAP(0x45, 0x5A, 0x6AF2) /* <CJK */
+MAP(0x45, 0x5B, 0x6AFC) /* <CJK */
+MAP(0x45, 0x5C, 0x6AFD) /* <CJK */
+MAP(0x45, 0x5D, 0x6B02) /* <CJK */
+MAP(0x45, 0x5E, 0x6B03) /* <CJK */
+MAP(0x45, 0x5F, 0x6B06) /* <CJK */
+MAP(0x45, 0x60, 0x6B07) /* <CJK */
+MAP(0x45, 0x61, 0x6B09) /* <CJK */
+MAP(0x45, 0x62, 0x6B0F) /* <CJK */
+MAP(0x45, 0x63, 0x6B10) /* <CJK */
+MAP(0x45, 0x64, 0x6B11) /* <CJK */
+MAP(0x45, 0x65, 0x6B17) /* <CJK */
+MAP(0x45, 0x66, 0x6B1B) /* <CJK */
+MAP(0x45, 0x67, 0x6B1E) /* <CJK */
+MAP(0x45, 0x68, 0x6B24) /* <CJK */
+MAP(0x45, 0x69, 0x6B28) /* <CJK */
+MAP(0x45, 0x6A, 0x6B2B) /* <CJK */
+MAP(0x45, 0x6B, 0x6B2C) /* <CJK */
+MAP(0x45, 0x6C, 0x6B2F) /* <CJK */
+MAP(0x45, 0x6D, 0x6B35) /* <CJK */
+MAP(0x45, 0x6E, 0x6B36) /* <CJK */
+MAP(0x45, 0x6F, 0x6B3B) /* <CJK */
+MAP(0x45, 0x70, 0x6B3F) /* <CJK */
+MAP(0x45, 0x71, 0x6B46) /* <CJK */
+MAP(0x45, 0x72, 0x6B4A) /* <CJK */
+MAP(0x45, 0x73, 0x6B4D) /* <CJK */
+MAP(0x45, 0x74, 0x6B52) /* <CJK */
+MAP(0x45, 0x75, 0x6B56) /* <CJK */
+MAP(0x45, 0x76, 0x6B58) /* <CJK */
+MAP(0x45, 0x77, 0x6B5D) /* <CJK */
+MAP(0x45, 0x78, 0x6B60) /* <CJK */
+MAP(0x45, 0x79, 0x6B67) /* <CJK */
+MAP(0x45, 0x7A, 0x6B6B) /* <CJK */
+MAP(0x45, 0x7B, 0x6B6E) /* <CJK */
+MAP(0x45, 0x7C, 0x6B70) /* <CJK */
+MAP(0x45, 0x7D, 0x6B75) /* <CJK */
+MAP(0x45, 0x7E, 0x6B7D) /* <CJK */
+MAP(0x46, 0x21, 0x6B7E) /* <CJK */
+MAP(0x46, 0x22, 0x6B82) /* <CJK */
+MAP(0x46, 0x23, 0x6B85) /* <CJK */
+MAP(0x46, 0x24, 0x6B97) /* <CJK */
+MAP(0x46, 0x25, 0x6B9B) /* <CJK */
+MAP(0x46, 0x26, 0x6B9F) /* <CJK */
+MAP(0x46, 0x27, 0x6BA0) /* <CJK */
+MAP(0x46, 0x28, 0x6BA2) /* <CJK */
+MAP(0x46, 0x29, 0x6BA3) /* <CJK */
+MAP(0x46, 0x2A, 0x6BA8) /* <CJK */
+MAP(0x46, 0x2B, 0x6BA9) /* <CJK */
+MAP(0x46, 0x2C, 0x6BAC) /* <CJK */
+MAP(0x46, 0x2D, 0x6BAD) /* <CJK */
+MAP(0x46, 0x2E, 0x6BAE) /* <CJK */
+MAP(0x46, 0x2F, 0x6BB0) /* <CJK */
+MAP(0x46, 0x30, 0x6BB8) /* <CJK */
+MAP(0x46, 0x31, 0x6BB9) /* <CJK */
+MAP(0x46, 0x32, 0x6BBD) /* <CJK */
+MAP(0x46, 0x33, 0x6BBE) /* <CJK */
+MAP(0x46, 0x34, 0x6BC3) /* <CJK */
+MAP(0x46, 0x35, 0x6BC4) /* <CJK */
+MAP(0x46, 0x36, 0x6BC9) /* <CJK */
+MAP(0x46, 0x37, 0x6BCC) /* <CJK */
+MAP(0x46, 0x38, 0x6BD6) /* <CJK */
+MAP(0x46, 0x39, 0x6BDA) /* <CJK */
+MAP(0x46, 0x3A, 0x6BE1) /* <CJK */
+MAP(0x46, 0x3B, 0x6BE3) /* <CJK */
+MAP(0x46, 0x3C, 0x6BE6) /* <CJK */
+MAP(0x46, 0x3D, 0x6BE7) /* <CJK */
+MAP(0x46, 0x3E, 0x6BEE) /* <CJK */
+MAP(0x46, 0x3F, 0x6BF1) /* <CJK */
+MAP(0x46, 0x40, 0x6BF7) /* <CJK */
+MAP(0x46, 0x41, 0x6BF9) /* <CJK */
+MAP(0x46, 0x42, 0x6BFF) /* <CJK */
+MAP(0x46, 0x43, 0x6C02) /* <CJK */
+MAP(0x46, 0x44, 0x6C04) /* <CJK */
+MAP(0x46, 0x45, 0x6C05) /* <CJK */
+MAP(0x46, 0x46, 0x6C09) /* <CJK */
+MAP(0x46, 0x47, 0x6C0D) /* <CJK */
+MAP(0x46, 0x48, 0x6C0E) /* <CJK */
+MAP(0x46, 0x49, 0x6C10) /* <CJK */
+MAP(0x46, 0x4A, 0x6C12) /* <CJK */
+MAP(0x46, 0x4B, 0x6C19) /* <CJK */
+MAP(0x46, 0x4C, 0x6C1F) /* <CJK */
+MAP(0x46, 0x4D, 0x6C26) /* <CJK */
+MAP(0x46, 0x4E, 0x6C27) /* <CJK */
+MAP(0x46, 0x4F, 0x6C28) /* <CJK */
+MAP(0x46, 0x50, 0x6C2C) /* <CJK */
+MAP(0x46, 0x51, 0x6C2E) /* <CJK */
+MAP(0x46, 0x52, 0x6C33) /* <CJK */
+MAP(0x46, 0x53, 0x6C35) /* <CJK */
+MAP(0x46, 0x54, 0x6C36) /* <CJK */
+MAP(0x46, 0x55, 0x6C3A) /* <CJK */
+MAP(0x46, 0x56, 0x6C3B) /* <CJK */
+MAP(0x46, 0x57, 0x6C3F) /* <CJK */
+MAP(0x46, 0x58, 0x6C4A) /* <CJK */
+MAP(0x46, 0x59, 0x6C4B) /* <CJK */
+MAP(0x46, 0x5A, 0x6C4D) /* <CJK */
+MAP(0x46, 0x5B, 0x6C4F) /* <CJK */
+MAP(0x46, 0x5C, 0x6C52) /* <CJK */
+MAP(0x46, 0x5D, 0x6C54) /* <CJK */
+MAP(0x46, 0x5E, 0x6C59) /* <CJK */
+MAP(0x46, 0x5F, 0x6C5B) /* <CJK */
+MAP(0x46, 0x60, 0x6C5C) /* <CJK */
+MAP(0x46, 0x61, 0x6C6B) /* <CJK */
+MAP(0x46, 0x62, 0x6C6D) /* <CJK */
+MAP(0x46, 0x63, 0x6C6F) /* <CJK */
+MAP(0x46, 0x64, 0x6C74) /* <CJK */
+MAP(0x46, 0x65, 0x6C76) /* <CJK */
+MAP(0x46, 0x66, 0x6C78) /* <CJK */
+MAP(0x46, 0x67, 0x6C79) /* <CJK */
+MAP(0x46, 0x68, 0x6C7B) /* <CJK */
+MAP(0x46, 0x69, 0x6C85) /* <CJK */
+MAP(0x46, 0x6A, 0x6C86) /* <CJK */
+MAP(0x46, 0x6B, 0x6C87) /* <CJK */
+MAP(0x46, 0x6C, 0x6C89) /* <CJK */
+MAP(0x46, 0x6D, 0x6C94) /* <CJK */
+MAP(0x46, 0x6E, 0x6C95) /* <CJK */
+MAP(0x46, 0x6F, 0x6C97) /* <CJK */
+MAP(0x46, 0x70, 0x6C98) /* <CJK */
+MAP(0x46, 0x71, 0x6C9C) /* <CJK */
+MAP(0x46, 0x72, 0x6C9F) /* <CJK */
+MAP(0x46, 0x73, 0x6CB0) /* <CJK */
+MAP(0x46, 0x74, 0x6CB2) /* <CJK */
+MAP(0x46, 0x75, 0x6CB4) /* <CJK */
+MAP(0x46, 0x76, 0x6CC2) /* <CJK */
+MAP(0x46, 0x77, 0x6CC6) /* <CJK */
+MAP(0x46, 0x78, 0x6CCD) /* <CJK */
+MAP(0x46, 0x79, 0x6CCF) /* <CJK */
+MAP(0x46, 0x7A, 0x6CD0) /* <CJK */
+MAP(0x46, 0x7B, 0x6CD1) /* <CJK */
+MAP(0x46, 0x7C, 0x6CD2) /* <CJK */
+MAP(0x46, 0x7D, 0x6CD4) /* <CJK */
+MAP(0x46, 0x7E, 0x6CD6) /* <CJK */
+MAP(0x47, 0x21, 0x6CDA) /* <CJK */
+MAP(0x47, 0x22, 0x6CDC) /* <CJK */
+MAP(0x47, 0x23, 0x6CE0) /* <CJK */
+MAP(0x47, 0x24, 0x6CE7) /* <CJK */
+MAP(0x47, 0x25, 0x6CE9) /* <CJK */
+MAP(0x47, 0x26, 0x6CEB) /* <CJK */
+MAP(0x47, 0x27, 0x6CEC) /* <CJK */
+MAP(0x47, 0x28, 0x6CEE) /* <CJK */
+MAP(0x47, 0x29, 0x6CF2) /* <CJK */
+MAP(0x47, 0x2A, 0x6CF4) /* <CJK */
+MAP(0x47, 0x2B, 0x6D04) /* <CJK */
+MAP(0x47, 0x2C, 0x6D07) /* <CJK */
+MAP(0x47, 0x2D, 0x6D0A) /* <CJK */
+MAP(0x47, 0x2E, 0x6D0E) /* <CJK */
+MAP(0x47, 0x2F, 0x6D0F) /* <CJK */
+MAP(0x47, 0x30, 0x6D11) /* <CJK */
+MAP(0x47, 0x31, 0x6D13) /* <CJK */
+MAP(0x47, 0x32, 0x6D1A) /* <CJK */
+MAP(0x47, 0x33, 0x6D26) /* <CJK */
+MAP(0x47, 0x34, 0x6D27) /* <CJK */
+MAP(0x47, 0x35, 0x6D28) /* <CJK */
+MAP(0x47, 0x36, 0x6C67) /* <CJK */
+MAP(0x47, 0x37, 0x6D2E) /* <CJK */
+MAP(0x47, 0x38, 0x6D2F) /* <CJK */
+MAP(0x47, 0x39, 0x6D31) /* <CJK */
+MAP(0x47, 0x3A, 0x6D39) /* <CJK */
+MAP(0x47, 0x3B, 0x6D3C) /* <CJK */
+MAP(0x47, 0x3C, 0x6D3F) /* <CJK */
+MAP(0x47, 0x3D, 0x6D57) /* <CJK */
+MAP(0x47, 0x3E, 0x6D5E) /* <CJK */
+MAP(0x47, 0x3F, 0x6D5F) /* <CJK */
+MAP(0x47, 0x40, 0x6D61) /* <CJK */
+MAP(0x47, 0x41, 0x6D65) /* <CJK */
+MAP(0x47, 0x42, 0x6D67) /* <CJK */
+MAP(0x47, 0x43, 0x6D6F) /* <CJK */
+MAP(0x47, 0x44, 0x6D70) /* <CJK */
+MAP(0x47, 0x45, 0x6D7C) /* <CJK */
+MAP(0x47, 0x46, 0x6D82) /* <CJK */
+MAP(0x47, 0x47, 0x6D87) /* <CJK */
+MAP(0x47, 0x48, 0x6D91) /* <CJK */
+MAP(0x47, 0x49, 0x6D92) /* <CJK */
+MAP(0x47, 0x4A, 0x6D94) /* <CJK */
+MAP(0x47, 0x4B, 0x6D96) /* <CJK */
+MAP(0x47, 0x4C, 0x6D97) /* <CJK */
+MAP(0x47, 0x4D, 0x6D98) /* <CJK */
+MAP(0x47, 0x4E, 0x6DAA) /* <CJK */
+MAP(0x47, 0x4F, 0x6DAC) /* <CJK */
+MAP(0x47, 0x50, 0x6DB4) /* <CJK */
+MAP(0x47, 0x51, 0x6DB7) /* <CJK */
+MAP(0x47, 0x52, 0x6DB9) /* <CJK */
+MAP(0x47, 0x53, 0x6DBD) /* <CJK */
+MAP(0x47, 0x54, 0x6DBF) /* <CJK */
+MAP(0x47, 0x55, 0x6DC4) /* <CJK */
+MAP(0x47, 0x56, 0x6DC8) /* <CJK */
+MAP(0x47, 0x57, 0x6DCA) /* <CJK */
+MAP(0x47, 0x58, 0x6DCE) /* <CJK */
+MAP(0x47, 0x59, 0x6DCF) /* <CJK */
+MAP(0x47, 0x5A, 0x6DD6) /* <CJK */
+MAP(0x47, 0x5B, 0x6DDB) /* <CJK */
+MAP(0x47, 0x5C, 0x6DDD) /* <CJK */
+MAP(0x47, 0x5D, 0x6DDF) /* <CJK */
+MAP(0x47, 0x5E, 0x6DE0) /* <CJK */
+MAP(0x47, 0x5F, 0x6DE2) /* <CJK */
+MAP(0x47, 0x60, 0x6DE5) /* <CJK */
+MAP(0x47, 0x61, 0x6DE9) /* <CJK */
+MAP(0x47, 0x62, 0x6DEF) /* <CJK */
+MAP(0x47, 0x63, 0x6DF0) /* <CJK */
+MAP(0x47, 0x64, 0x6DF4) /* <CJK */
+MAP(0x47, 0x65, 0x6DF6) /* <CJK */
+MAP(0x47, 0x66, 0x6DFC) /* <CJK */
+MAP(0x47, 0x67, 0x6E00) /* <CJK */
+MAP(0x47, 0x68, 0x6E04) /* <CJK */
+MAP(0x47, 0x69, 0x6E1E) /* <CJK */
+MAP(0x47, 0x6A, 0x6E22) /* <CJK */
+MAP(0x47, 0x6B, 0x6E27) /* <CJK */
+MAP(0x47, 0x6C, 0x6E32) /* <CJK */
+MAP(0x47, 0x6D, 0x6E36) /* <CJK */
+MAP(0x47, 0x6E, 0x6E39) /* <CJK */
+MAP(0x47, 0x6F, 0x6E3B) /* <CJK */
+MAP(0x47, 0x70, 0x6E3C) /* <CJK */
+MAP(0x47, 0x71, 0x6E44) /* <CJK */
+MAP(0x47, 0x72, 0x6E45) /* <CJK */
+MAP(0x47, 0x73, 0x6E48) /* <CJK */
+MAP(0x47, 0x74, 0x6E49) /* <CJK */
+MAP(0x47, 0x75, 0x6E4B) /* <CJK */
+MAP(0x47, 0x76, 0x6E4F) /* <CJK */
+MAP(0x47, 0x77, 0x6E51) /* <CJK */
+MAP(0x47, 0x78, 0x6E52) /* <CJK */
+MAP(0x47, 0x79, 0x6E53) /* <CJK */
+MAP(0x47, 0x7A, 0x6E54) /* <CJK */
+MAP(0x47, 0x7B, 0x6E57) /* <CJK */
+MAP(0x47, 0x7C, 0x6E5C) /* <CJK */
+MAP(0x47, 0x7D, 0x6E5D) /* <CJK */
+MAP(0x47, 0x7E, 0x6E5E) /* <CJK */
+MAP(0x48, 0x21, 0x6E62) /* <CJK */
+MAP(0x48, 0x22, 0x6E63) /* <CJK */
+MAP(0x48, 0x23, 0x6E68) /* <CJK */
+MAP(0x48, 0x24, 0x6E73) /* <CJK */
+MAP(0x48, 0x25, 0x6E7B) /* <CJK */
+MAP(0x48, 0x26, 0x6E7D) /* <CJK */
+MAP(0x48, 0x27, 0x6E8D) /* <CJK */
+MAP(0x48, 0x28, 0x6E93) /* <CJK */
+MAP(0x48, 0x29, 0x6E99) /* <CJK */
+MAP(0x48, 0x2A, 0x6EA0) /* <CJK */
+MAP(0x48, 0x2B, 0x6EA7) /* <CJK */
+MAP(0x48, 0x2C, 0x6EAD) /* <CJK */
+MAP(0x48, 0x2D, 0x6EAE) /* <CJK */
+MAP(0x48, 0x2E, 0x6EB1) /* <CJK */
+MAP(0x48, 0x2F, 0x6EB3) /* <CJK */
+MAP(0x48, 0x30, 0x6EBB) /* <CJK */
+MAP(0x48, 0x31, 0x6EBF) /* <CJK */
+MAP(0x48, 0x32, 0x6EC0) /* <CJK */
+MAP(0x48, 0x33, 0x6EC1) /* <CJK */
+MAP(0x48, 0x34, 0x6EC3) /* <CJK */
+MAP(0x48, 0x35, 0x6EC7) /* <CJK */
+MAP(0x48, 0x36, 0x6EC8) /* <CJK */
+MAP(0x48, 0x37, 0x6ECA) /* <CJK */
+MAP(0x48, 0x38, 0x6ECD) /* <CJK */
+MAP(0x48, 0x39, 0x6ECE) /* <CJK */
+MAP(0x48, 0x3A, 0x6ECF) /* <CJK */
+MAP(0x48, 0x3B, 0x6EEB) /* <CJK */
+MAP(0x48, 0x3C, 0x6EED) /* <CJK */
+MAP(0x48, 0x3D, 0x6EEE) /* <CJK */
+MAP(0x48, 0x3E, 0x6EF9) /* <CJK */
+MAP(0x48, 0x3F, 0x6EFB) /* <CJK */
+MAP(0x48, 0x40, 0x6EFD) /* <CJK */
+MAP(0x48, 0x41, 0x6F04) /* <CJK */
+MAP(0x48, 0x42, 0x6F08) /* <CJK */
+MAP(0x48, 0x43, 0x6F0A) /* <CJK */
+MAP(0x48, 0x44, 0x6F0C) /* <CJK */
+MAP(0x48, 0x45, 0x6F0D) /* <CJK */
+MAP(0x48, 0x46, 0x6F16) /* <CJK */
+MAP(0x48, 0x47, 0x6F18) /* <CJK */
+MAP(0x48, 0x48, 0x6F1A) /* <CJK */
+MAP(0x48, 0x49, 0x6F1B) /* <CJK */
+MAP(0x48, 0x4A, 0x6F26) /* <CJK */
+MAP(0x48, 0x4B, 0x6F29) /* <CJK */
+MAP(0x48, 0x4C, 0x6F2A) /* <CJK */
+MAP(0x48, 0x4D, 0x6F2F) /* <CJK */
+MAP(0x48, 0x4E, 0x6F30) /* <CJK */
+MAP(0x48, 0x4F, 0x6F33) /* <CJK */
+MAP(0x48, 0x50, 0x6F36) /* <CJK */
+MAP(0x48, 0x51, 0x6F3B) /* <CJK */
+MAP(0x48, 0x52, 0x6F3C) /* <CJK */
+MAP(0x48, 0x53, 0x6F2D) /* <CJK */
+MAP(0x48, 0x54, 0x6F4F) /* <CJK */
+MAP(0x48, 0x55, 0x6F51) /* <CJK */
+MAP(0x48, 0x56, 0x6F52) /* <CJK */
+MAP(0x48, 0x57, 0x6F53) /* <CJK */
+MAP(0x48, 0x58, 0x6F57) /* <CJK */
+MAP(0x48, 0x59, 0x6F59) /* <CJK */
+MAP(0x48, 0x5A, 0x6F5A) /* <CJK */
+MAP(0x48, 0x5B, 0x6F5D) /* <CJK */
+MAP(0x48, 0x5C, 0x6F5E) /* <CJK */
+MAP(0x48, 0x5D, 0x6F61) /* <CJK */
+MAP(0x48, 0x5E, 0x6F62) /* <CJK */
+MAP(0x48, 0x5F, 0x6F68) /* <CJK */
+MAP(0x48, 0x60, 0x6F6C) /* <CJK */
+MAP(0x48, 0x61, 0x6F7D) /* <CJK */
+MAP(0x48, 0x62, 0x6F7E) /* <CJK */
+MAP(0x48, 0x63, 0x6F83) /* <CJK */
+MAP(0x48, 0x64, 0x6F87) /* <CJK */
+MAP(0x48, 0x65, 0x6F88) /* <CJK */
+MAP(0x48, 0x66, 0x6F8B) /* <CJK */
+MAP(0x48, 0x67, 0x6F8C) /* <CJK */
+MAP(0x48, 0x68, 0x6F8D) /* <CJK */
+MAP(0x48, 0x69, 0x6F90) /* <CJK */
+MAP(0x48, 0x6A, 0x6F92) /* <CJK */
+MAP(0x48, 0x6B, 0x6F93) /* <CJK */
+MAP(0x48, 0x6C, 0x6F94) /* <CJK */
+MAP(0x48, 0x6D, 0x6F96) /* <CJK */
+MAP(0x48, 0x6E, 0x6F9A) /* <CJK */
+MAP(0x48, 0x6F, 0x6F9F) /* <CJK */
+MAP(0x48, 0x70, 0x6FA0) /* <CJK */
+MAP(0x48, 0x71, 0x6FA5) /* <CJK */
+MAP(0x48, 0x72, 0x6FA6) /* <CJK */
+MAP(0x48, 0x73, 0x6FA7) /* <CJK */
+MAP(0x48, 0x74, 0x6FA8) /* <CJK */
+MAP(0x48, 0x75, 0x6FAE) /* <CJK */
+MAP(0x48, 0x76, 0x6FAF) /* <CJK */
+MAP(0x48, 0x77, 0x6FB0) /* <CJK */
+MAP(0x48, 0x78, 0x6FB5) /* <CJK */
+MAP(0x48, 0x79, 0x6FB6) /* <CJK */
+MAP(0x48, 0x7A, 0x6FBC) /* <CJK */
+MAP(0x48, 0x7B, 0x6FC5) /* <CJK */
+MAP(0x48, 0x7C, 0x6FC7) /* <CJK */
+MAP(0x48, 0x7D, 0x6FC8) /* <CJK */
+MAP(0x48, 0x7E, 0x6FCA) /* <CJK */
+MAP(0x49, 0x21, 0x6FDA) /* <CJK */
+MAP(0x49, 0x22, 0x6FDE) /* <CJK */
+MAP(0x49, 0x23, 0x6FE8) /* <CJK */
+MAP(0x49, 0x24, 0x6FE9) /* <CJK */
+MAP(0x49, 0x25, 0x6FF0) /* <CJK */
+MAP(0x49, 0x26, 0x6FF5) /* <CJK */
+MAP(0x49, 0x27, 0x6FF9) /* <CJK */
+MAP(0x49, 0x28, 0x6FFC) /* <CJK */
+MAP(0x49, 0x29, 0x6FFD) /* <CJK */
+MAP(0x49, 0x2A, 0x7000) /* <CJK */
+MAP(0x49, 0x2B, 0x7005) /* <CJK */
+MAP(0x49, 0x2C, 0x7006) /* <CJK */
+MAP(0x49, 0x2D, 0x7007) /* <CJK */
+MAP(0x49, 0x2E, 0x700D) /* <CJK */
+MAP(0x49, 0x2F, 0x7017) /* <CJK */
+MAP(0x49, 0x30, 0x7020) /* <CJK */
+MAP(0x49, 0x31, 0x7023) /* <CJK */
+MAP(0x49, 0x32, 0x702F) /* <CJK */
+MAP(0x49, 0x33, 0x7034) /* <CJK */
+MAP(0x49, 0x34, 0x7037) /* <CJK */
+MAP(0x49, 0x35, 0x7039) /* <CJK */
+MAP(0x49, 0x36, 0x703C) /* <CJK */
+MAP(0x49, 0x37, 0x7043) /* <CJK */
+MAP(0x49, 0x38, 0x7044) /* <CJK */
+MAP(0x49, 0x39, 0x7048) /* <CJK */
+MAP(0x49, 0x3A, 0x7049) /* <CJK */
+MAP(0x49, 0x3B, 0x704A) /* <CJK */
+MAP(0x49, 0x3C, 0x704B) /* <CJK */
+MAP(0x49, 0x3D, 0x7054) /* <CJK */
+MAP(0x49, 0x3E, 0x7055) /* <CJK */
+MAP(0x49, 0x3F, 0x705D) /* <CJK */
+MAP(0x49, 0x40, 0x705E) /* <CJK */
+MAP(0x49, 0x41, 0x704E) /* <CJK */
+MAP(0x49, 0x42, 0x7064) /* <CJK */
+MAP(0x49, 0x43, 0x7065) /* <CJK */
+MAP(0x49, 0x44, 0x706C) /* <CJK */
+MAP(0x49, 0x45, 0x706E) /* <CJK */
+MAP(0x49, 0x46, 0x7075) /* <CJK */
+MAP(0x49, 0x47, 0x7076) /* <CJK */
+MAP(0x49, 0x48, 0x707E) /* <CJK */
+MAP(0x49, 0x49, 0x7081) /* <CJK */
+MAP(0x49, 0x4A, 0x7085) /* <CJK */
+MAP(0x49, 0x4B, 0x7086) /* <CJK */
+MAP(0x49, 0x4C, 0x7094) /* <CJK */
+MAP(0x49, 0x4D, 0x7095) /* <CJK */
+MAP(0x49, 0x4E, 0x7096) /* <CJK */
+MAP(0x49, 0x4F, 0x7097) /* <CJK */
+MAP(0x49, 0x50, 0x7098) /* <CJK */
+MAP(0x49, 0x51, 0x709B) /* <CJK */
+MAP(0x49, 0x52, 0x70A4) /* <CJK */
+MAP(0x49, 0x53, 0x70AB) /* <CJK */
+MAP(0x49, 0x54, 0x70B0) /* <CJK */
+MAP(0x49, 0x55, 0x70B1) /* <CJK */
+MAP(0x49, 0x56, 0x70B4) /* <CJK */
+MAP(0x49, 0x57, 0x70B7) /* <CJK */
+MAP(0x49, 0x58, 0x70CA) /* <CJK */
+MAP(0x49, 0x59, 0x70D1) /* <CJK */
+MAP(0x49, 0x5A, 0x70D3) /* <CJK */
+MAP(0x49, 0x5B, 0x70D4) /* <CJK */
+MAP(0x49, 0x5C, 0x70D5) /* <CJK */
+MAP(0x49, 0x5D, 0x70D6) /* <CJK */
+MAP(0x49, 0x5E, 0x70D8) /* <CJK */
+MAP(0x49, 0x5F, 0x70DC) /* <CJK */
+MAP(0x49, 0x60, 0x70E4) /* <CJK */
+MAP(0x49, 0x61, 0x70FA) /* <CJK */
+MAP(0x49, 0x62, 0x7103) /* <CJK */
+MAP(0x49, 0x63, 0x7104) /* <CJK */
+MAP(0x49, 0x64, 0x7105) /* <CJK */
+MAP(0x49, 0x65, 0x7106) /* <CJK */
+MAP(0x49, 0x66, 0x7107) /* <CJK */
+MAP(0x49, 0x67, 0x710B) /* <CJK */
+MAP(0x49, 0x68, 0x710C) /* <CJK */
+MAP(0x49, 0x69, 0x710F) /* <CJK */
+MAP(0x49, 0x6A, 0x711E) /* <CJK */
+MAP(0x49, 0x6B, 0x7120) /* <CJK */
+MAP(0x49, 0x6C, 0x712B) /* <CJK */
+MAP(0x49, 0x6D, 0x712D) /* <CJK */
+MAP(0x49, 0x6E, 0x712F) /* <CJK */
+MAP(0x49, 0x6F, 0x7130) /* <CJK */
+MAP(0x49, 0x70, 0x7131) /* <CJK */
+MAP(0x49, 0x71, 0x7138) /* <CJK */
+MAP(0x49, 0x72, 0x7141) /* <CJK */
+MAP(0x49, 0x73, 0x7145) /* <CJK */
+MAP(0x49, 0x74, 0x7146) /* <CJK */
+MAP(0x49, 0x75, 0x7147) /* <CJK */
+MAP(0x49, 0x76, 0x714A) /* <CJK */
+MAP(0x49, 0x77, 0x714B) /* <CJK */
+MAP(0x49, 0x78, 0x7150) /* <CJK */
+MAP(0x49, 0x79, 0x7152) /* <CJK */
+MAP(0x49, 0x7A, 0x7157) /* <CJK */
+MAP(0x49, 0x7B, 0x715A) /* <CJK */
+MAP(0x49, 0x7C, 0x715C) /* <CJK */
+MAP(0x49, 0x7D, 0x715E) /* <CJK */
+MAP(0x49, 0x7E, 0x7160) /* <CJK */
+MAP(0x4A, 0x21, 0x7168) /* <CJK */
+MAP(0x4A, 0x22, 0x7179) /* <CJK */
+MAP(0x4A, 0x23, 0x7180) /* <CJK */
+MAP(0x4A, 0x24, 0x7185) /* <CJK */
+MAP(0x4A, 0x25, 0x7187) /* <CJK */
+MAP(0x4A, 0x26, 0x718C) /* <CJK */
+MAP(0x4A, 0x27, 0x7192) /* <CJK */
+MAP(0x4A, 0x28, 0x719A) /* <CJK */
+MAP(0x4A, 0x29, 0x719B) /* <CJK */
+MAP(0x4A, 0x2A, 0x71A0) /* <CJK */
+MAP(0x4A, 0x2B, 0x71A2) /* <CJK */
+MAP(0x4A, 0x2C, 0x71AF) /* <CJK */
+MAP(0x4A, 0x2D, 0x71B0) /* <CJK */
+MAP(0x4A, 0x2E, 0x71B2) /* <CJK */
+MAP(0x4A, 0x2F, 0x71B3) /* <CJK */
+MAP(0x4A, 0x30, 0x71BA) /* <CJK */
+MAP(0x4A, 0x31, 0x71BF) /* <CJK */
+MAP(0x4A, 0x32, 0x71C0) /* <CJK */
+MAP(0x4A, 0x33, 0x71C1) /* <CJK */
+MAP(0x4A, 0x34, 0x71C4) /* <CJK */
+MAP(0x4A, 0x35, 0x71CB) /* <CJK */
+MAP(0x4A, 0x36, 0x71CC) /* <CJK */
+MAP(0x4A, 0x37, 0x71D3) /* <CJK */
+MAP(0x4A, 0x38, 0x71D6) /* <CJK */
+MAP(0x4A, 0x39, 0x71D9) /* <CJK */
+MAP(0x4A, 0x3A, 0x71DA) /* <CJK */
+MAP(0x4A, 0x3B, 0x71DC) /* <CJK */
+MAP(0x4A, 0x3C, 0x71F8) /* <CJK */
+MAP(0x4A, 0x3D, 0x71FE) /* <CJK */
+MAP(0x4A, 0x3E, 0x7200) /* <CJK */
+MAP(0x4A, 0x3F, 0x7207) /* <CJK */
+MAP(0x4A, 0x40, 0x7208) /* <CJK */
+MAP(0x4A, 0x41, 0x7209) /* <CJK */
+MAP(0x4A, 0x42, 0x7213) /* <CJK */
+MAP(0x4A, 0x43, 0x7217) /* <CJK */
+MAP(0x4A, 0x44, 0x721A) /* <CJK */
+MAP(0x4A, 0x45, 0x721D) /* <CJK */
+MAP(0x4A, 0x46, 0x721F) /* <CJK */
+MAP(0x4A, 0x47, 0x7224) /* <CJK */
+MAP(0x4A, 0x48, 0x722B) /* <CJK */
+MAP(0x4A, 0x49, 0x722F) /* <CJK */
+MAP(0x4A, 0x4A, 0x7234) /* <CJK */
+MAP(0x4A, 0x4B, 0x7238) /* <CJK */
+MAP(0x4A, 0x4C, 0x7239) /* <CJK */
+MAP(0x4A, 0x4D, 0x7241) /* <CJK */
+MAP(0x4A, 0x4E, 0x7242) /* <CJK */
+MAP(0x4A, 0x4F, 0x7243) /* <CJK */
+MAP(0x4A, 0x50, 0x7245) /* <CJK */
+MAP(0x4A, 0x51, 0x724E) /* <CJK */
+MAP(0x4A, 0x52, 0x724F) /* <CJK */
+MAP(0x4A, 0x53, 0x7250) /* <CJK */
+MAP(0x4A, 0x54, 0x7253) /* <CJK */
+MAP(0x4A, 0x55, 0x7255) /* <CJK */
+MAP(0x4A, 0x56, 0x7256) /* <CJK */
+MAP(0x4A, 0x57, 0x725A) /* <CJK */
+MAP(0x4A, 0x58, 0x725C) /* <CJK */
+MAP(0x4A, 0x59, 0x725E) /* <CJK */
+MAP(0x4A, 0x5A, 0x7260) /* <CJK */
+MAP(0x4A, 0x5B, 0x7263) /* <CJK */
+MAP(0x4A, 0x5C, 0x7268) /* <CJK */
+MAP(0x4A, 0x5D, 0x726B) /* <CJK */
+MAP(0x4A, 0x5E, 0x726E) /* <CJK */
+MAP(0x4A, 0x5F, 0x726F) /* <CJK */
+MAP(0x4A, 0x60, 0x7271) /* <CJK */
+MAP(0x4A, 0x61, 0x7277) /* <CJK */
+MAP(0x4A, 0x62, 0x7278) /* <CJK */
+MAP(0x4A, 0x63, 0x727B) /* <CJK */
+MAP(0x4A, 0x64, 0x727C) /* <CJK */
+MAP(0x4A, 0x65, 0x727F) /* <CJK */
+MAP(0x4A, 0x66, 0x7284) /* <CJK */
+MAP(0x4A, 0x67, 0x7289) /* <CJK */
+MAP(0x4A, 0x68, 0x728D) /* <CJK */
+MAP(0x4A, 0x69, 0x728E) /* <CJK */
+MAP(0x4A, 0x6A, 0x7293) /* <CJK */
+MAP(0x4A, 0x6B, 0x729B) /* <CJK */
+MAP(0x4A, 0x6C, 0x72A8) /* <CJK */
+MAP(0x4A, 0x6D, 0x72AD) /* <CJK */
+MAP(0x4A, 0x6E, 0x72AE) /* <CJK */
+MAP(0x4A, 0x6F, 0x72B1) /* <CJK */
+MAP(0x4A, 0x70, 0x72B4) /* <CJK */
+MAP(0x4A, 0x71, 0x72BE) /* <CJK */
+MAP(0x4A, 0x72, 0x72C1) /* <CJK */
+MAP(0x4A, 0x73, 0x72C7) /* <CJK */
+MAP(0x4A, 0x74, 0x72C9) /* <CJK */
+MAP(0x4A, 0x75, 0x72CC) /* <CJK */
+MAP(0x4A, 0x76, 0x72D5) /* <CJK */
+MAP(0x4A, 0x77, 0x72D6) /* <CJK */
+MAP(0x4A, 0x78, 0x72D8) /* <CJK */
+MAP(0x4A, 0x79, 0x72DF) /* <CJK */
+MAP(0x4A, 0x7A, 0x72E5) /* <CJK */
+MAP(0x4A, 0x7B, 0x72F3) /* <CJK */
+MAP(0x4A, 0x7C, 0x72F4) /* <CJK */
+MAP(0x4A, 0x7D, 0x72FA) /* <CJK */
+MAP(0x4A, 0x7E, 0x72FB) /* <CJK */
+MAP(0x4B, 0x21, 0x72FE) /* <CJK */
+MAP(0x4B, 0x22, 0x7302) /* <CJK */
+MAP(0x4B, 0x23, 0x7304) /* <CJK */
+MAP(0x4B, 0x24, 0x7305) /* <CJK */
+MAP(0x4B, 0x25, 0x7307) /* <CJK */
+MAP(0x4B, 0x26, 0x730B) /* <CJK */
+MAP(0x4B, 0x27, 0x730D) /* <CJK */
+MAP(0x4B, 0x28, 0x7312) /* <CJK */
+MAP(0x4B, 0x29, 0x7313) /* <CJK */
+MAP(0x4B, 0x2A, 0x7318) /* <CJK */
+MAP(0x4B, 0x2B, 0x7319) /* <CJK */
+MAP(0x4B, 0x2C, 0x731E) /* <CJK */
+MAP(0x4B, 0x2D, 0x7322) /* <CJK */
+MAP(0x4B, 0x2E, 0x7324) /* <CJK */
+MAP(0x4B, 0x2F, 0x7327) /* <CJK */
+MAP(0x4B, 0x30, 0x7328) /* <CJK */
+MAP(0x4B, 0x31, 0x732C) /* <CJK */
+MAP(0x4B, 0x32, 0x7331) /* <CJK */
+MAP(0x4B, 0x33, 0x7332) /* <CJK */
+MAP(0x4B, 0x34, 0x7335) /* <CJK */
+MAP(0x4B, 0x35, 0x733A) /* <CJK */
+MAP(0x4B, 0x36, 0x733B) /* <CJK */
+MAP(0x4B, 0x37, 0x733D) /* <CJK */
+MAP(0x4B, 0x38, 0x7343) /* <CJK */
+MAP(0x4B, 0x39, 0x734D) /* <CJK */
+MAP(0x4B, 0x3A, 0x7350) /* <CJK */
+MAP(0x4B, 0x3B, 0x7352) /* <CJK */
+MAP(0x4B, 0x3C, 0x7356) /* <CJK */
+MAP(0x4B, 0x3D, 0x7358) /* <CJK */
+MAP(0x4B, 0x3E, 0x735D) /* <CJK */
+MAP(0x4B, 0x3F, 0x735E) /* <CJK */
+MAP(0x4B, 0x40, 0x735F) /* <CJK */
+MAP(0x4B, 0x41, 0x7360) /* <CJK */
+MAP(0x4B, 0x42, 0x7366) /* <CJK */
+MAP(0x4B, 0x43, 0x7367) /* <CJK */
+MAP(0x4B, 0x44, 0x7369) /* <CJK */
+MAP(0x4B, 0x45, 0x736B) /* <CJK */
+MAP(0x4B, 0x46, 0x736C) /* <CJK */
+MAP(0x4B, 0x47, 0x736E) /* <CJK */
+MAP(0x4B, 0x48, 0x736F) /* <CJK */
+MAP(0x4B, 0x49, 0x7371) /* <CJK */
+MAP(0x4B, 0x4A, 0x7377) /* <CJK */
+MAP(0x4B, 0x4B, 0x7379) /* <CJK */
+MAP(0x4B, 0x4C, 0x737C) /* <CJK */
+MAP(0x4B, 0x4D, 0x7380) /* <CJK */
+MAP(0x4B, 0x4E, 0x7381) /* <CJK */
+MAP(0x4B, 0x4F, 0x7383) /* <CJK */
+MAP(0x4B, 0x50, 0x7385) /* <CJK */
+MAP(0x4B, 0x51, 0x7386) /* <CJK */
+MAP(0x4B, 0x52, 0x738E) /* <CJK */
+MAP(0x4B, 0x53, 0x7390) /* <CJK */
+MAP(0x4B, 0x54, 0x7393) /* <CJK */
+MAP(0x4B, 0x55, 0x7395) /* <CJK */
+MAP(0x4B, 0x56, 0x7397) /* <CJK */
+MAP(0x4B, 0x57, 0x7398) /* <CJK */
+MAP(0x4B, 0x58, 0x739C) /* <CJK */
+MAP(0x4B, 0x59, 0x739E) /* <CJK */
+MAP(0x4B, 0x5A, 0x739F) /* <CJK */
+MAP(0x4B, 0x5B, 0x73A0) /* <CJK */
+MAP(0x4B, 0x5C, 0x73A2) /* <CJK */
+MAP(0x4B, 0x5D, 0x73A5) /* <CJK */
+MAP(0x4B, 0x5E, 0x73A6) /* <CJK */
+MAP(0x4B, 0x5F, 0x73AA) /* <CJK */
+MAP(0x4B, 0x60, 0x73AB) /* <CJK */
+MAP(0x4B, 0x61, 0x73AD) /* <CJK */
+MAP(0x4B, 0x62, 0x73B5) /* <CJK */
+MAP(0x4B, 0x63, 0x73B7) /* <CJK */
+MAP(0x4B, 0x64, 0x73B9) /* <CJK */
+MAP(0x4B, 0x65, 0x73BC) /* <CJK */
+MAP(0x4B, 0x66, 0x73BD) /* <CJK */
+MAP(0x4B, 0x67, 0x73BF) /* <CJK */
+MAP(0x4B, 0x68, 0x73C5) /* <CJK */
+MAP(0x4B, 0x69, 0x73C6) /* <CJK */
+MAP(0x4B, 0x6A, 0x73C9) /* <CJK */
+MAP(0x4B, 0x6B, 0x73CB) /* <CJK */
+MAP(0x4B, 0x6C, 0x73CC) /* <CJK */
+MAP(0x4B, 0x6D, 0x73CF) /* <CJK */
+MAP(0x4B, 0x6E, 0x73D2) /* <CJK */
+MAP(0x4B, 0x6F, 0x73D3) /* <CJK */
+MAP(0x4B, 0x70, 0x73D6) /* <CJK */
+MAP(0x4B, 0x71, 0x73D9) /* <CJK */
+MAP(0x4B, 0x72, 0x73DD) /* <CJK */
+MAP(0x4B, 0x73, 0x73E1) /* <CJK */
+MAP(0x4B, 0x74, 0x73E3) /* <CJK */
+MAP(0x4B, 0x75, 0x73E6) /* <CJK */
+MAP(0x4B, 0x76, 0x73E7) /* <CJK */
+MAP(0x4B, 0x77, 0x73E9) /* <CJK */
+MAP(0x4B, 0x78, 0x73F4) /* <CJK */
+MAP(0x4B, 0x79, 0x73F5) /* <CJK */
+MAP(0x4B, 0x7A, 0x73F7) /* <CJK */
+MAP(0x4B, 0x7B, 0x73F9) /* <CJK */
+MAP(0x4B, 0x7C, 0x73FA) /* <CJK */
+MAP(0x4B, 0x7D, 0x73FB) /* <CJK */
+MAP(0x4B, 0x7E, 0x73FD) /* <CJK */
+MAP(0x4C, 0x21, 0x73FF) /* <CJK */
+MAP(0x4C, 0x22, 0x7400) /* <CJK */
+MAP(0x4C, 0x23, 0x7401) /* <CJK */
+MAP(0x4C, 0x24, 0x7404) /* <CJK */
+MAP(0x4C, 0x25, 0x7407) /* <CJK */
+MAP(0x4C, 0x26, 0x740A) /* <CJK */
+MAP(0x4C, 0x27, 0x7411) /* <CJK */
+MAP(0x4C, 0x28, 0x741A) /* <CJK */
+MAP(0x4C, 0x29, 0x741B) /* <CJK */
+MAP(0x4C, 0x2A, 0x7424) /* <CJK */
+MAP(0x4C, 0x2B, 0x7426) /* <CJK */
+MAP(0x4C, 0x2C, 0x7428) /* <CJK */
+MAP(0x4C, 0x2D, 0x7429) /* <CJK */
+MAP(0x4C, 0x2E, 0x742A) /* <CJK */
+MAP(0x4C, 0x2F, 0x742B) /* <CJK */
+MAP(0x4C, 0x30, 0x742C) /* <CJK */
+MAP(0x4C, 0x31, 0x742D) /* <CJK */
+MAP(0x4C, 0x32, 0x742E) /* <CJK */
+MAP(0x4C, 0x33, 0x742F) /* <CJK */
+MAP(0x4C, 0x34, 0x7430) /* <CJK */
+MAP(0x4C, 0x35, 0x7431) /* <CJK */
+MAP(0x4C, 0x36, 0x7439) /* <CJK */
+MAP(0x4C, 0x37, 0x7440) /* <CJK */
+MAP(0x4C, 0x38, 0x7443) /* <CJK */
+MAP(0x4C, 0x39, 0x7444) /* <CJK */
+MAP(0x4C, 0x3A, 0x7446) /* <CJK */
+MAP(0x4C, 0x3B, 0x7447) /* <CJK */
+MAP(0x4C, 0x3C, 0x744B) /* <CJK */
+MAP(0x4C, 0x3D, 0x744D) /* <CJK */
+MAP(0x4C, 0x3E, 0x7451) /* <CJK */
+MAP(0x4C, 0x3F, 0x7452) /* <CJK */
+MAP(0x4C, 0x40, 0x7457) /* <CJK */
+MAP(0x4C, 0x41, 0x745D) /* <CJK */
+MAP(0x4C, 0x42, 0x7462) /* <CJK */
+MAP(0x4C, 0x43, 0x7466) /* <CJK */
+MAP(0x4C, 0x44, 0x7467) /* <CJK */
+MAP(0x4C, 0x45, 0x7468) /* <CJK */
+MAP(0x4C, 0x46, 0x746B) /* <CJK */
+MAP(0x4C, 0x47, 0x746D) /* <CJK */
+MAP(0x4C, 0x48, 0x746E) /* <CJK */
+MAP(0x4C, 0x49, 0x7471) /* <CJK */
+MAP(0x4C, 0x4A, 0x7472) /* <CJK */
+MAP(0x4C, 0x4B, 0x7480) /* <CJK */
+MAP(0x4C, 0x4C, 0x7481) /* <CJK */
+MAP(0x4C, 0x4D, 0x7485) /* <CJK */
+MAP(0x4C, 0x4E, 0x7486) /* <CJK */
+MAP(0x4C, 0x4F, 0x7487) /* <CJK */
+MAP(0x4C, 0x50, 0x7489) /* <CJK */
+MAP(0x4C, 0x51, 0x748F) /* <CJK */
+MAP(0x4C, 0x52, 0x7490) /* <CJK */
+MAP(0x4C, 0x53, 0x7491) /* <CJK */
+MAP(0x4C, 0x54, 0x7492) /* <CJK */
+MAP(0x4C, 0x55, 0x7498) /* <CJK */
+MAP(0x4C, 0x56, 0x7499) /* <CJK */
+MAP(0x4C, 0x57, 0x749A) /* <CJK */
+MAP(0x4C, 0x58, 0x749C) /* <CJK */
+MAP(0x4C, 0x59, 0x749F) /* <CJK */
+MAP(0x4C, 0x5A, 0x74A0) /* <CJK */
+MAP(0x4C, 0x5B, 0x74A1) /* <CJK */
+MAP(0x4C, 0x5C, 0x74A3) /* <CJK */
+MAP(0x4C, 0x5D, 0x74A6) /* <CJK */
+MAP(0x4C, 0x5E, 0x74A8) /* <CJK */
+MAP(0x4C, 0x5F, 0x74A9) /* <CJK */
+MAP(0x4C, 0x60, 0x74AA) /* <CJK */
+MAP(0x4C, 0x61, 0x74AB) /* <CJK */
+MAP(0x4C, 0x62, 0x74AE) /* <CJK */
+MAP(0x4C, 0x63, 0x74AF) /* <CJK */
+MAP(0x4C, 0x64, 0x74B1) /* <CJK */
+MAP(0x4C, 0x65, 0x74B2) /* <CJK */
+MAP(0x4C, 0x66, 0x74B5) /* <CJK */
+MAP(0x4C, 0x67, 0x74B9) /* <CJK */
+MAP(0x4C, 0x68, 0x74BB) /* <CJK */
+MAP(0x4C, 0x69, 0x74BF) /* <CJK */
+MAP(0x4C, 0x6A, 0x74C8) /* <CJK */
+MAP(0x4C, 0x6B, 0x74C9) /* <CJK */
+MAP(0x4C, 0x6C, 0x74CC) /* <CJK */
+MAP(0x4C, 0x6D, 0x74D0) /* <CJK */
+MAP(0x4C, 0x6E, 0x74D3) /* <CJK */
+MAP(0x4C, 0x6F, 0x74D8) /* <CJK */
+MAP(0x4C, 0x70, 0x74DA) /* <CJK */
+MAP(0x4C, 0x71, 0x74DB) /* <CJK */
+MAP(0x4C, 0x72, 0x74DE) /* <CJK */
+MAP(0x4C, 0x73, 0x74DF) /* <CJK */
+MAP(0x4C, 0x74, 0x74E4) /* <CJK */
+MAP(0x4C, 0x75, 0x74E8) /* <CJK */
+MAP(0x4C, 0x76, 0x74EA) /* <CJK */
+MAP(0x4C, 0x77, 0x74EB) /* <CJK */
+MAP(0x4C, 0x78, 0x74EF) /* <CJK */
+MAP(0x4C, 0x79, 0x74F4) /* <CJK */
+MAP(0x4C, 0x7A, 0x74FA) /* <CJK */
+MAP(0x4C, 0x7B, 0x74FB) /* <CJK */
+MAP(0x4C, 0x7C, 0x74FC) /* <CJK */
+MAP(0x4C, 0x7D, 0x74FF) /* <CJK */
+MAP(0x4C, 0x7E, 0x7506) /* <CJK */
+MAP(0x4D, 0x21, 0x7512) /* <CJK */
+MAP(0x4D, 0x22, 0x7516) /* <CJK */
+MAP(0x4D, 0x23, 0x7517) /* <CJK */
+MAP(0x4D, 0x24, 0x7520) /* <CJK */
+MAP(0x4D, 0x25, 0x7521) /* <CJK */
+MAP(0x4D, 0x26, 0x7524) /* <CJK */
+MAP(0x4D, 0x27, 0x7527) /* <CJK */
+MAP(0x4D, 0x28, 0x7529) /* <CJK */
+MAP(0x4D, 0x29, 0x752A) /* <CJK */
+MAP(0x4D, 0x2A, 0x752F) /* <CJK */
+MAP(0x4D, 0x2B, 0x7536) /* <CJK */
+MAP(0x4D, 0x2C, 0x7539) /* <CJK */
+MAP(0x4D, 0x2D, 0x753D) /* <CJK */
+MAP(0x4D, 0x2E, 0x753E) /* <CJK */
+MAP(0x4D, 0x2F, 0x753F) /* <CJK */
+MAP(0x4D, 0x30, 0x7540) /* <CJK */
+MAP(0x4D, 0x31, 0x7543) /* <CJK */
+MAP(0x4D, 0x32, 0x7547) /* <CJK */
+MAP(0x4D, 0x33, 0x7548) /* <CJK */
+MAP(0x4D, 0x34, 0x754E) /* <CJK */
+MAP(0x4D, 0x35, 0x7550) /* <CJK */
+MAP(0x4D, 0x36, 0x7552) /* <CJK */
+MAP(0x4D, 0x37, 0x7557) /* <CJK */
+MAP(0x4D, 0x38, 0x755E) /* <CJK */
+MAP(0x4D, 0x39, 0x755F) /* <CJK */
+MAP(0x4D, 0x3A, 0x7561) /* <CJK */
+MAP(0x4D, 0x3B, 0x756F) /* <CJK */
+MAP(0x4D, 0x3C, 0x7571) /* <CJK */
+MAP(0x4D, 0x3D, 0x7579) /* <CJK */
+MAP(0x4D, 0x3E, 0x757A) /* <CJK */
+MAP(0x4D, 0x3F, 0x757B) /* <CJK */
+MAP(0x4D, 0x40, 0x757C) /* <CJK */
+MAP(0x4D, 0x41, 0x757D) /* <CJK */
+MAP(0x4D, 0x42, 0x757E) /* <CJK */
+MAP(0x4D, 0x43, 0x7581) /* <CJK */
+MAP(0x4D, 0x44, 0x7585) /* <CJK */
+MAP(0x4D, 0x45, 0x7590) /* <CJK */
+MAP(0x4D, 0x46, 0x7592) /* <CJK */
+MAP(0x4D, 0x47, 0x7593) /* <CJK */
+MAP(0x4D, 0x48, 0x7595) /* <CJK */
+MAP(0x4D, 0x49, 0x7599) /* <CJK */
+MAP(0x4D, 0x4A, 0x759C) /* <CJK */
+MAP(0x4D, 0x4B, 0x75A2) /* <CJK */
+MAP(0x4D, 0x4C, 0x75A4) /* <CJK */
+MAP(0x4D, 0x4D, 0x75B4) /* <CJK */
+MAP(0x4D, 0x4E, 0x75BA) /* <CJK */
+MAP(0x4D, 0x4F, 0x75BF) /* <CJK */
+MAP(0x4D, 0x50, 0x75C0) /* <CJK */
+MAP(0x4D, 0x51, 0x75C1) /* <CJK */
+MAP(0x4D, 0x52, 0x75C4) /* <CJK */
+MAP(0x4D, 0x53, 0x75C6) /* <CJK */
+MAP(0x4D, 0x54, 0x75CC) /* <CJK */
+MAP(0x4D, 0x55, 0x75CE) /* <CJK */
+MAP(0x4D, 0x56, 0x75CF) /* <CJK */
+MAP(0x4D, 0x57, 0x75D7) /* <CJK */
+MAP(0x4D, 0x58, 0x75DC) /* <CJK */
+MAP(0x4D, 0x59, 0x75DF) /* <CJK */
+MAP(0x4D, 0x5A, 0x75E0) /* <CJK */
+MAP(0x4D, 0x5B, 0x75E1) /* <CJK */
+MAP(0x4D, 0x5C, 0x75E4) /* <CJK */
+MAP(0x4D, 0x5D, 0x75E7) /* <CJK */
+MAP(0x4D, 0x5E, 0x75EC) /* <CJK */
+MAP(0x4D, 0x5F, 0x75EE) /* <CJK */
+MAP(0x4D, 0x60, 0x75EF) /* <CJK */
+MAP(0x4D, 0x61, 0x75F1) /* <CJK */
+MAP(0x4D, 0x62, 0x75F9) /* <CJK */
+MAP(0x4D, 0x63, 0x7600) /* <CJK */
+MAP(0x4D, 0x64, 0x7602) /* <CJK */
+MAP(0x4D, 0x65, 0x7603) /* <CJK */
+MAP(0x4D, 0x66, 0x7604) /* <CJK */
+MAP(0x4D, 0x67, 0x7607) /* <CJK */
+MAP(0x4D, 0x68, 0x7608) /* <CJK */
+MAP(0x4D, 0x69, 0x760A) /* <CJK */
+MAP(0x4D, 0x6A, 0x760C) /* <CJK */
+MAP(0x4D, 0x6B, 0x760F) /* <CJK */
+MAP(0x4D, 0x6C, 0x7612) /* <CJK */
+MAP(0x4D, 0x6D, 0x7613) /* <CJK */
+MAP(0x4D, 0x6E, 0x7615) /* <CJK */
+MAP(0x4D, 0x6F, 0x7616) /* <CJK */
+MAP(0x4D, 0x70, 0x7619) /* <CJK */
+MAP(0x4D, 0x71, 0x761B) /* <CJK */
+MAP(0x4D, 0x72, 0x761C) /* <CJK */
+MAP(0x4D, 0x73, 0x761D) /* <CJK */
+MAP(0x4D, 0x74, 0x761E) /* <CJK */
+MAP(0x4D, 0x75, 0x7623) /* <CJK */
+MAP(0x4D, 0x76, 0x7625) /* <CJK */
+MAP(0x4D, 0x77, 0x7626) /* <CJK */
+MAP(0x4D, 0x78, 0x7629) /* <CJK */
+MAP(0x4D, 0x79, 0x762D) /* <CJK */
+MAP(0x4D, 0x7A, 0x7632) /* <CJK */
+MAP(0x4D, 0x7B, 0x7633) /* <CJK */
+MAP(0x4D, 0x7C, 0x7635) /* <CJK */
+MAP(0x4D, 0x7D, 0x7638) /* <CJK */
+MAP(0x4D, 0x7E, 0x7639) /* <CJK */
+MAP(0x4E, 0x21, 0x763A) /* <CJK */
+MAP(0x4E, 0x22, 0x763C) /* <CJK */
+MAP(0x4E, 0x23, 0x764A) /* <CJK */
+MAP(0x4E, 0x24, 0x7640) /* <CJK */
+MAP(0x4E, 0x25, 0x7641) /* <CJK */
+MAP(0x4E, 0x26, 0x7643) /* <CJK */
+MAP(0x4E, 0x27, 0x7644) /* <CJK */
+MAP(0x4E, 0x28, 0x7645) /* <CJK */
+MAP(0x4E, 0x29, 0x7649) /* <CJK */
+MAP(0x4E, 0x2A, 0x764B) /* <CJK */
+MAP(0x4E, 0x2B, 0x7655) /* <CJK */
+MAP(0x4E, 0x2C, 0x7659) /* <CJK */
+MAP(0x4E, 0x2D, 0x765F) /* <CJK */
+MAP(0x4E, 0x2E, 0x7664) /* <CJK */
+MAP(0x4E, 0x2F, 0x7665) /* <CJK */
+MAP(0x4E, 0x30, 0x766D) /* <CJK */
+MAP(0x4E, 0x31, 0x766E) /* <CJK */
+MAP(0x4E, 0x32, 0x766F) /* <CJK */
+MAP(0x4E, 0x33, 0x7671) /* <CJK */
+MAP(0x4E, 0x34, 0x7674) /* <CJK */
+MAP(0x4E, 0x35, 0x7681) /* <CJK */
+MAP(0x4E, 0x36, 0x7685) /* <CJK */
+MAP(0x4E, 0x37, 0x768C) /* <CJK */
+MAP(0x4E, 0x38, 0x768D) /* <CJK */
+MAP(0x4E, 0x39, 0x7695) /* <CJK */
+MAP(0x4E, 0x3A, 0x769B) /* <CJK */
+MAP(0x4E, 0x3B, 0x769C) /* <CJK */
+MAP(0x4E, 0x3C, 0x769D) /* <CJK */
+MAP(0x4E, 0x3D, 0x769F) /* <CJK */
+MAP(0x4E, 0x3E, 0x76A0) /* <CJK */
+MAP(0x4E, 0x3F, 0x76A2) /* <CJK */
+MAP(0x4E, 0x40, 0x76A3) /* <CJK */
+MAP(0x4E, 0x41, 0x76A4) /* <CJK */
+MAP(0x4E, 0x42, 0x76A5) /* <CJK */
+MAP(0x4E, 0x43, 0x76A6) /* <CJK */
+MAP(0x4E, 0x44, 0x76A7) /* <CJK */
+MAP(0x4E, 0x45, 0x76A8) /* <CJK */
+MAP(0x4E, 0x46, 0x76AA) /* <CJK */
+MAP(0x4E, 0x47, 0x76AD) /* <CJK */
+MAP(0x4E, 0x48, 0x76BD) /* <CJK */
+MAP(0x4E, 0x49, 0x76C1) /* <CJK */
+MAP(0x4E, 0x4A, 0x76C5) /* <CJK */
+MAP(0x4E, 0x4B, 0x76C9) /* <CJK */
+MAP(0x4E, 0x4C, 0x76CB) /* <CJK */
+MAP(0x4E, 0x4D, 0x76CC) /* <CJK */
+MAP(0x4E, 0x4E, 0x76CE) /* <CJK */
+MAP(0x4E, 0x4F, 0x76D4) /* <CJK */
+MAP(0x4E, 0x50, 0x76D9) /* <CJK */
+MAP(0x4E, 0x51, 0x76E0) /* <CJK */
+MAP(0x4E, 0x52, 0x76E6) /* <CJK */
+MAP(0x4E, 0x53, 0x76E8) /* <CJK */
+MAP(0x4E, 0x54, 0x76EC) /* <CJK */
+MAP(0x4E, 0x55, 0x76F0) /* <CJK */
+MAP(0x4E, 0x56, 0x76F1) /* <CJK */
+MAP(0x4E, 0x57, 0x76F6) /* <CJK */
+MAP(0x4E, 0x58, 0x76F9) /* <CJK */
+MAP(0x4E, 0x59, 0x76FC) /* <CJK */
+MAP(0x4E, 0x5A, 0x7700) /* <CJK */
+MAP(0x4E, 0x5B, 0x7706) /* <CJK */
+MAP(0x4E, 0x5C, 0x770A) /* <CJK */
+MAP(0x4E, 0x5D, 0x770E) /* <CJK */
+MAP(0x4E, 0x5E, 0x7712) /* <CJK */
+MAP(0x4E, 0x5F, 0x7714) /* <CJK */
+MAP(0x4E, 0x60, 0x7715) /* <CJK */
+MAP(0x4E, 0x61, 0x7717) /* <CJK */
+MAP(0x4E, 0x62, 0x7719) /* <CJK */
+MAP(0x4E, 0x63, 0x771A) /* <CJK */
+MAP(0x4E, 0x64, 0x771C) /* <CJK */
+MAP(0x4E, 0x65, 0x7722) /* <CJK */
+MAP(0x4E, 0x66, 0x7728) /* <CJK */
+MAP(0x4E, 0x67, 0x772D) /* <CJK */
+MAP(0x4E, 0x68, 0x772E) /* <CJK */
+MAP(0x4E, 0x69, 0x772F) /* <CJK */
+MAP(0x4E, 0x6A, 0x7734) /* <CJK */
+MAP(0x4E, 0x6B, 0x7735) /* <CJK */
+MAP(0x4E, 0x6C, 0x7736) /* <CJK */
+MAP(0x4E, 0x6D, 0x7739) /* <CJK */
+MAP(0x4E, 0x6E, 0x773D) /* <CJK */
+MAP(0x4E, 0x6F, 0x773E) /* <CJK */
+MAP(0x4E, 0x70, 0x7742) /* <CJK */
+MAP(0x4E, 0x71, 0x7745) /* <CJK */
+MAP(0x4E, 0x72, 0x7746) /* <CJK */
+MAP(0x4E, 0x73, 0x774A) /* <CJK */
+MAP(0x4E, 0x74, 0x774D) /* <CJK */
+MAP(0x4E, 0x75, 0x774E) /* <CJK */
+MAP(0x4E, 0x76, 0x774F) /* <CJK */
+MAP(0x4E, 0x77, 0x7752) /* <CJK */
+MAP(0x4E, 0x78, 0x7756) /* <CJK */
+MAP(0x4E, 0x79, 0x7757) /* <CJK */
+MAP(0x4E, 0x7A, 0x775C) /* <CJK */
+MAP(0x4E, 0x7B, 0x775E) /* <CJK */
+MAP(0x4E, 0x7C, 0x775F) /* <CJK */
+MAP(0x4E, 0x7D, 0x7760) /* <CJK */
+MAP(0x4E, 0x7E, 0x7762) /* <CJK */
+MAP(0x4F, 0x21, 0x7764) /* <CJK */
+MAP(0x4F, 0x22, 0x7767) /* <CJK */
+MAP(0x4F, 0x23, 0x776A) /* <CJK */
+MAP(0x4F, 0x24, 0x776C) /* <CJK */
+MAP(0x4F, 0x25, 0x7770) /* <CJK */
+MAP(0x4F, 0x26, 0x7772) /* <CJK */
+MAP(0x4F, 0x27, 0x7773) /* <CJK */
+MAP(0x4F, 0x28, 0x7774) /* <CJK */
+MAP(0x4F, 0x29, 0x777A) /* <CJK */
+MAP(0x4F, 0x2A, 0x777D) /* <CJK */
+MAP(0x4F, 0x2B, 0x7780) /* <CJK */
+MAP(0x4F, 0x2C, 0x7784) /* <CJK */
+MAP(0x4F, 0x2D, 0x778C) /* <CJK */
+MAP(0x4F, 0x2E, 0x778D) /* <CJK */
+MAP(0x4F, 0x2F, 0x7794) /* <CJK */
+MAP(0x4F, 0x30, 0x7795) /* <CJK */
+MAP(0x4F, 0x31, 0x7796) /* <CJK */
+MAP(0x4F, 0x32, 0x779A) /* <CJK */
+MAP(0x4F, 0x33, 0x779F) /* <CJK */
+MAP(0x4F, 0x34, 0x77A2) /* <CJK */
+MAP(0x4F, 0x35, 0x77A7) /* <CJK */
+MAP(0x4F, 0x36, 0x77AA) /* <CJK */
+MAP(0x4F, 0x37, 0x77AE) /* <CJK */
+MAP(0x4F, 0x38, 0x77AF) /* <CJK */
+MAP(0x4F, 0x39, 0x77B1) /* <CJK */
+MAP(0x4F, 0x3A, 0x77B5) /* <CJK */
+MAP(0x4F, 0x3B, 0x77BE) /* <CJK */
+MAP(0x4F, 0x3C, 0x77C3) /* <CJK */
+MAP(0x4F, 0x3D, 0x77C9) /* <CJK */
+MAP(0x4F, 0x3E, 0x77D1) /* <CJK */
+MAP(0x4F, 0x3F, 0x77D2) /* <CJK */
+MAP(0x4F, 0x40, 0x77D5) /* <CJK */
+MAP(0x4F, 0x41, 0x77D9) /* <CJK */
+MAP(0x4F, 0x42, 0x77DE) /* <CJK */
+MAP(0x4F, 0x43, 0x77DF) /* <CJK */
+MAP(0x4F, 0x44, 0x77E0) /* <CJK */
+MAP(0x4F, 0x45, 0x77E4) /* <CJK */
+MAP(0x4F, 0x46, 0x77E6) /* <CJK */
+MAP(0x4F, 0x47, 0x77EA) /* <CJK */
+MAP(0x4F, 0x48, 0x77EC) /* <CJK */
+MAP(0x4F, 0x49, 0x77F0) /* <CJK */
+MAP(0x4F, 0x4A, 0x77F1) /* <CJK */
+MAP(0x4F, 0x4B, 0x77F4) /* <CJK */
+MAP(0x4F, 0x4C, 0x77F8) /* <CJK */
+MAP(0x4F, 0x4D, 0x77FB) /* <CJK */
+MAP(0x4F, 0x4E, 0x7805) /* <CJK */
+MAP(0x4F, 0x4F, 0x7806) /* <CJK */
+MAP(0x4F, 0x50, 0x7809) /* <CJK */
+MAP(0x4F, 0x51, 0x780D) /* <CJK */
+MAP(0x4F, 0x52, 0x780E) /* <CJK */
+MAP(0x4F, 0x53, 0x7811) /* <CJK */
+MAP(0x4F, 0x54, 0x781D) /* <CJK */
+MAP(0x4F, 0x55, 0x7821) /* <CJK */
+MAP(0x4F, 0x56, 0x7822) /* <CJK */
+MAP(0x4F, 0x57, 0x7823) /* <CJK */
+MAP(0x4F, 0x58, 0x782D) /* <CJK */
+MAP(0x4F, 0x59, 0x782E) /* <CJK */
+MAP(0x4F, 0x5A, 0x7830) /* <CJK */
+MAP(0x4F, 0x5B, 0x7835) /* <CJK */
+MAP(0x4F, 0x5C, 0x7837) /* <CJK */
+MAP(0x4F, 0x5D, 0x7843) /* <CJK */
+MAP(0x4F, 0x5E, 0x7844) /* <CJK */
+MAP(0x4F, 0x5F, 0x7847) /* <CJK */
+MAP(0x4F, 0x60, 0x7848) /* <CJK */
+MAP(0x4F, 0x61, 0x784C) /* <CJK */
+MAP(0x4F, 0x62, 0x784E) /* <CJK */
+MAP(0x4F, 0x63, 0x7852) /* <CJK */
+MAP(0x4F, 0x64, 0x785C) /* <CJK */
+MAP(0x4F, 0x65, 0x785E) /* <CJK */
+MAP(0x4F, 0x66, 0x7860) /* <CJK */
+MAP(0x4F, 0x67, 0x7861) /* <CJK */
+MAP(0x4F, 0x68, 0x7863) /* <CJK */
+MAP(0x4F, 0x69, 0x7864) /* <CJK */
+MAP(0x4F, 0x6A, 0x7868) /* <CJK */
+MAP(0x4F, 0x6B, 0x786A) /* <CJK */
+MAP(0x4F, 0x6C, 0x786E) /* <CJK */
+MAP(0x4F, 0x6D, 0x787A) /* <CJK */
+MAP(0x4F, 0x6E, 0x787E) /* <CJK */
+MAP(0x4F, 0x6F, 0x788A) /* <CJK */
+MAP(0x4F, 0x70, 0x788F) /* <CJK */
+MAP(0x4F, 0x71, 0x7894) /* <CJK */
+MAP(0x4F, 0x72, 0x7898) /* <CJK */
+MAP(0x4F, 0x73, 0x78A1) /* <CJK */
+MAP(0x4F, 0x74, 0x789D) /* <CJK */
+MAP(0x4F, 0x75, 0x789E) /* <CJK */
+MAP(0x4F, 0x76, 0x789F) /* <CJK */
+MAP(0x4F, 0x77, 0x78A4) /* <CJK */
+MAP(0x4F, 0x78, 0x78A8) /* <CJK */
+MAP(0x4F, 0x79, 0x78AC) /* <CJK */
+MAP(0x4F, 0x7A, 0x78AD) /* <CJK */
+MAP(0x4F, 0x7B, 0x78B0) /* <CJK */
+MAP(0x4F, 0x7C, 0x78B1) /* <CJK */
+MAP(0x4F, 0x7D, 0x78B2) /* <CJK */
+MAP(0x4F, 0x7E, 0x78B3) /* <CJK */
+MAP(0x50, 0x21, 0x78BB) /* <CJK */
+MAP(0x50, 0x22, 0x78BD) /* <CJK */
+MAP(0x50, 0x23, 0x78BF) /* <CJK */
+MAP(0x50, 0x24, 0x78C7) /* <CJK */
+MAP(0x50, 0x25, 0x78C8) /* <CJK */
+MAP(0x50, 0x26, 0x78C9) /* <CJK */
+MAP(0x50, 0x27, 0x78CC) /* <CJK */
+MAP(0x50, 0x28, 0x78CE) /* <CJK */
+MAP(0x50, 0x29, 0x78D2) /* <CJK */
+MAP(0x50, 0x2A, 0x78D3) /* <CJK */
+MAP(0x50, 0x2B, 0x78D5) /* <CJK */
+MAP(0x50, 0x2C, 0x78D6) /* <CJK */
+MAP(0x50, 0x2D, 0x78E4) /* <CJK */
+MAP(0x50, 0x2E, 0x78DB) /* <CJK */
+MAP(0x50, 0x2F, 0x78DF) /* <CJK */
+MAP(0x50, 0x30, 0x78E0) /* <CJK */
+MAP(0x50, 0x31, 0x78E1) /* <CJK */
+MAP(0x50, 0x32, 0x78E6) /* <CJK */
+MAP(0x50, 0x33, 0x78EA) /* <CJK */
+MAP(0x50, 0x34, 0x78F2) /* <CJK */
+MAP(0x50, 0x35, 0x78F3) /* <CJK */
+MAP(0x50, 0x36, 0x7900) /* <CJK */
+MAP(0x50, 0x37, 0x78F6) /* <CJK */
+MAP(0x50, 0x38, 0x78F7) /* <CJK */
+MAP(0x50, 0x39, 0x78FA) /* <CJK */
+MAP(0x50, 0x3A, 0x78FB) /* <CJK */
+MAP(0x50, 0x3B, 0x78FF) /* <CJK */
+MAP(0x50, 0x3C, 0x7906) /* <CJK */
+MAP(0x50, 0x3D, 0x790C) /* <CJK */
+MAP(0x50, 0x3E, 0x7910) /* <CJK */
+MAP(0x50, 0x3F, 0x791A) /* <CJK */
+MAP(0x50, 0x40, 0x791C) /* <CJK */
+MAP(0x50, 0x41, 0x791E) /* <CJK */
+MAP(0x50, 0x42, 0x791F) /* <CJK */
+MAP(0x50, 0x43, 0x7920) /* <CJK */
+MAP(0x50, 0x44, 0x7925) /* <CJK */
+MAP(0x50, 0x45, 0x7927) /* <CJK */
+MAP(0x50, 0x46, 0x7929) /* <CJK */
+MAP(0x50, 0x47, 0x792D) /* <CJK */
+MAP(0x50, 0x48, 0x7931) /* <CJK */
+MAP(0x50, 0x49, 0x7934) /* <CJK */
+MAP(0x50, 0x4A, 0x7935) /* <CJK */
+MAP(0x50, 0x4B, 0x793B) /* <CJK */
+MAP(0x50, 0x4C, 0x793D) /* <CJK */
+MAP(0x50, 0x4D, 0x793F) /* <CJK */
+MAP(0x50, 0x4E, 0x7944) /* <CJK */
+MAP(0x50, 0x4F, 0x7945) /* <CJK */
+MAP(0x50, 0x50, 0x7946) /* <CJK */
+MAP(0x50, 0x51, 0x794A) /* <CJK */
+MAP(0x50, 0x52, 0x794B) /* <CJK */
+MAP(0x50, 0x53, 0x794F) /* <CJK */
+MAP(0x50, 0x54, 0x7951) /* <CJK */
+MAP(0x50, 0x55, 0x7954) /* <CJK */
+MAP(0x50, 0x56, 0x7958) /* <CJK */
+MAP(0x50, 0x57, 0x795B) /* <CJK */
+MAP(0x50, 0x58, 0x795C) /* <CJK */
+MAP(0x50, 0x59, 0x7967) /* <CJK */
+MAP(0x50, 0x5A, 0x7969) /* <CJK */
+MAP(0x50, 0x5B, 0x796B) /* <CJK */
+MAP(0x50, 0x5C, 0x7972) /* <CJK */
+MAP(0x50, 0x5D, 0x7979) /* <CJK */
+MAP(0x50, 0x5E, 0x797B) /* <CJK */
+MAP(0x50, 0x5F, 0x797C) /* <CJK */
+MAP(0x50, 0x60, 0x797E) /* <CJK */
+MAP(0x50, 0x61, 0x798B) /* <CJK */
+MAP(0x50, 0x62, 0x798C) /* <CJK */
+MAP(0x50, 0x63, 0x7991) /* <CJK */
+MAP(0x50, 0x64, 0x7993) /* <CJK */
+MAP(0x50, 0x65, 0x7994) /* <CJK */
+MAP(0x50, 0x66, 0x7995) /* <CJK */
+MAP(0x50, 0x67, 0x7996) /* <CJK */
+MAP(0x50, 0x68, 0x7998) /* <CJK */
+MAP(0x50, 0x69, 0x799B) /* <CJK */
+MAP(0x50, 0x6A, 0x799C) /* <CJK */
+MAP(0x50, 0x6B, 0x79A1) /* <CJK */
+MAP(0x50, 0x6C, 0x79A8) /* <CJK */
+MAP(0x50, 0x6D, 0x79A9) /* <CJK */
+MAP(0x50, 0x6E, 0x79AB) /* <CJK */
+MAP(0x50, 0x6F, 0x79AF) /* <CJK */
+MAP(0x50, 0x70, 0x79B1) /* <CJK */
+MAP(0x50, 0x71, 0x79B4) /* <CJK */
+MAP(0x50, 0x72, 0x79B8) /* <CJK */
+MAP(0x50, 0x73, 0x79BB) /* <CJK */
+MAP(0x50, 0x74, 0x79C2) /* <CJK */
+MAP(0x50, 0x75, 0x79C4) /* <CJK */
+MAP(0x50, 0x76, 0x79C7) /* <CJK */
+MAP(0x50, 0x77, 0x79C8) /* <CJK */
+MAP(0x50, 0x78, 0x79CA) /* <CJK */
+MAP(0x50, 0x79, 0x79CF) /* <CJK */
+MAP(0x50, 0x7A, 0x79D4) /* <CJK */
+MAP(0x50, 0x7B, 0x79D6) /* <CJK */
+MAP(0x50, 0x7C, 0x79DA) /* <CJK */
+MAP(0x50, 0x7D, 0x79DD) /* <CJK */
+MAP(0x50, 0x7E, 0x79DE) /* <CJK */
+MAP(0x51, 0x21, 0x79E0) /* <CJK */
+MAP(0x51, 0x22, 0x79E2) /* <CJK */
+MAP(0x51, 0x23, 0x79E5) /* <CJK */
+MAP(0x51, 0x24, 0x79EA) /* <CJK */
+MAP(0x51, 0x25, 0x79EB) /* <CJK */
+MAP(0x51, 0x26, 0x79ED) /* <CJK */
+MAP(0x51, 0x27, 0x79F1) /* <CJK */
+MAP(0x51, 0x28, 0x79F8) /* <CJK */
+MAP(0x51, 0x29, 0x79FC) /* <CJK */
+MAP(0x51, 0x2A, 0x7A02) /* <CJK */
+MAP(0x51, 0x2B, 0x7A03) /* <CJK */
+MAP(0x51, 0x2C, 0x7A07) /* <CJK */
+MAP(0x51, 0x2D, 0x7A09) /* <CJK */
+MAP(0x51, 0x2E, 0x7A0A) /* <CJK */
+MAP(0x51, 0x2F, 0x7A0C) /* <CJK */
+MAP(0x51, 0x30, 0x7A11) /* <CJK */
+MAP(0x51, 0x31, 0x7A15) /* <CJK */
+MAP(0x51, 0x32, 0x7A1B) /* <CJK */
+MAP(0x51, 0x33, 0x7A1E) /* <CJK */
+MAP(0x51, 0x34, 0x7A21) /* <CJK */
+MAP(0x51, 0x35, 0x7A27) /* <CJK */
+MAP(0x51, 0x36, 0x7A2B) /* <CJK */
+MAP(0x51, 0x37, 0x7A2D) /* <CJK */
+MAP(0x51, 0x38, 0x7A2F) /* <CJK */
+MAP(0x51, 0x39, 0x7A30) /* <CJK */
+MAP(0x51, 0x3A, 0x7A34) /* <CJK */
+MAP(0x51, 0x3B, 0x7A35) /* <CJK */
+MAP(0x51, 0x3C, 0x7A38) /* <CJK */
+MAP(0x51, 0x3D, 0x7A39) /* <CJK */
+MAP(0x51, 0x3E, 0x7A3A) /* <CJK */
+MAP(0x51, 0x3F, 0x7A44) /* <CJK */
+MAP(0x51, 0x40, 0x7A45) /* <CJK */
+MAP(0x51, 0x41, 0x7A47) /* <CJK */
+MAP(0x51, 0x42, 0x7A48) /* <CJK */
+MAP(0x51, 0x43, 0x7A4C) /* <CJK */
+MAP(0x51, 0x44, 0x7A55) /* <CJK */
+MAP(0x51, 0x45, 0x7A56) /* <CJK */
+MAP(0x51, 0x46, 0x7A59) /* <CJK */
+MAP(0x51, 0x47, 0x7A5C) /* <CJK */
+MAP(0x51, 0x48, 0x7A5D) /* <CJK */
+MAP(0x51, 0x49, 0x7A5F) /* <CJK */
+MAP(0x51, 0x4A, 0x7A60) /* <CJK */
+MAP(0x51, 0x4B, 0x7A65) /* <CJK */
+MAP(0x51, 0x4C, 0x7A67) /* <CJK */
+MAP(0x51, 0x4D, 0x7A6A) /* <CJK */
+MAP(0x51, 0x4E, 0x7A6D) /* <CJK */
+MAP(0x51, 0x4F, 0x7A75) /* <CJK */
+MAP(0x51, 0x50, 0x7A78) /* <CJK */
+MAP(0x51, 0x51, 0x7A7E) /* <CJK */
+MAP(0x51, 0x52, 0x7A80) /* <CJK */
+MAP(0x51, 0x53, 0x7A82) /* <CJK */
+MAP(0x51, 0x54, 0x7A85) /* <CJK */
+MAP(0x51, 0x55, 0x7A86) /* <CJK */
+MAP(0x51, 0x56, 0x7A8A) /* <CJK */
+MAP(0x51, 0x57, 0x7A8B) /* <CJK */
+MAP(0x51, 0x58, 0x7A90) /* <CJK */
+MAP(0x51, 0x59, 0x7A91) /* <CJK */
+MAP(0x51, 0x5A, 0x7A94) /* <CJK */
+MAP(0x51, 0x5B, 0x7A9E) /* <CJK */
+MAP(0x51, 0x5C, 0x7AA0) /* <CJK */
+MAP(0x51, 0x5D, 0x7AA3) /* <CJK */
+MAP(0x51, 0x5E, 0x7AAC) /* <CJK */
+MAP(0x51, 0x5F, 0x7AB3) /* <CJK */
+MAP(0x51, 0x60, 0x7AB5) /* <CJK */
+MAP(0x51, 0x61, 0x7AB9) /* <CJK */
+MAP(0x51, 0x62, 0x7ABB) /* <CJK */
+MAP(0x51, 0x63, 0x7ABC) /* <CJK */
+MAP(0x51, 0x64, 0x7AC6) /* <CJK */
+MAP(0x51, 0x65, 0x7AC9) /* <CJK */
+MAP(0x51, 0x66, 0x7ACC) /* <CJK */
+MAP(0x51, 0x67, 0x7ACE) /* <CJK */
+MAP(0x51, 0x68, 0x7AD1) /* <CJK */
+MAP(0x51, 0x69, 0x7ADB) /* <CJK */
+MAP(0x51, 0x6A, 0x7AE8) /* <CJK */
+MAP(0x51, 0x6B, 0x7AE9) /* <CJK */
+MAP(0x51, 0x6C, 0x7AEB) /* <CJK */
+MAP(0x51, 0x6D, 0x7AEC) /* <CJK */
+MAP(0x51, 0x6E, 0x7AF1) /* <CJK */
+MAP(0x51, 0x6F, 0x7AF4) /* <CJK */
+MAP(0x51, 0x70, 0x7AFB) /* <CJK */
+MAP(0x51, 0x71, 0x7AFD) /* <CJK */
+MAP(0x51, 0x72, 0x7AFE) /* <CJK */
+MAP(0x51, 0x73, 0x7B07) /* <CJK */
+MAP(0x51, 0x74, 0x7B14) /* <CJK */
+MAP(0x51, 0x75, 0x7B1F) /* <CJK */
+MAP(0x51, 0x76, 0x7B23) /* <CJK */
+MAP(0x51, 0x77, 0x7B27) /* <CJK */
+MAP(0x51, 0x78, 0x7B29) /* <CJK */
+MAP(0x51, 0x79, 0x7B2A) /* <CJK */
+MAP(0x51, 0x7A, 0x7B2B) /* <CJK */
+MAP(0x51, 0x7B, 0x7B2D) /* <CJK */
+MAP(0x51, 0x7C, 0x7B2E) /* <CJK */
+MAP(0x51, 0x7D, 0x7B2F) /* <CJK */
+MAP(0x51, 0x7E, 0x7B30) /* <CJK */
+MAP(0x52, 0x21, 0x7B31) /* <CJK */
+MAP(0x52, 0x22, 0x7B34) /* <CJK */
+MAP(0x52, 0x23, 0x7B3D) /* <CJK */
+MAP(0x52, 0x24, 0x7B3F) /* <CJK */
+MAP(0x52, 0x25, 0x7B40) /* <CJK */
+MAP(0x52, 0x26, 0x7B41) /* <CJK */
+MAP(0x52, 0x27, 0x7B47) /* <CJK */
+MAP(0x52, 0x28, 0x7B4E) /* <CJK */
+MAP(0x52, 0x29, 0x7B55) /* <CJK */
+MAP(0x52, 0x2A, 0x7B60) /* <CJK */
+MAP(0x52, 0x2B, 0x7B64) /* <CJK */
+MAP(0x52, 0x2C, 0x7B66) /* <CJK */
+MAP(0x52, 0x2D, 0x7B69) /* <CJK */
+MAP(0x52, 0x2E, 0x7B6A) /* <CJK */
+MAP(0x52, 0x2F, 0x7B6D) /* <CJK */
+MAP(0x52, 0x30, 0x7B6F) /* <CJK */
+MAP(0x52, 0x31, 0x7B72) /* <CJK */
+MAP(0x52, 0x32, 0x7B73) /* <CJK */
+MAP(0x52, 0x33, 0x7B77) /* <CJK */
+MAP(0x52, 0x34, 0x7B84) /* <CJK */
+MAP(0x52, 0x35, 0x7B89) /* <CJK */
+MAP(0x52, 0x36, 0x7B8E) /* <CJK */
+MAP(0x52, 0x37, 0x7B90) /* <CJK */
+MAP(0x52, 0x38, 0x7B91) /* <CJK */
+MAP(0x52, 0x39, 0x7B96) /* <CJK */
+MAP(0x52, 0x3A, 0x7B9B) /* <CJK */
+MAP(0x52, 0x3B, 0x7B9E) /* <CJK */
+MAP(0x52, 0x3C, 0x7BA0) /* <CJK */
+MAP(0x52, 0x3D, 0x7BA5) /* <CJK */
+MAP(0x52, 0x3E, 0x7BAC) /* <CJK */
+MAP(0x52, 0x3F, 0x7BAF) /* <CJK */
+MAP(0x52, 0x40, 0x7BB0) /* <CJK */
+MAP(0x52, 0x41, 0x7BB2) /* <CJK */
+MAP(0x52, 0x42, 0x7BB5) /* <CJK */
+MAP(0x52, 0x43, 0x7BB6) /* <CJK */
+MAP(0x52, 0x44, 0x7BBA) /* <CJK */
+MAP(0x52, 0x45, 0x7BBB) /* <CJK */
+MAP(0x52, 0x46, 0x7BBC) /* <CJK */
+MAP(0x52, 0x47, 0x7BBD) /* <CJK */
+MAP(0x52, 0x48, 0x7BC2) /* <CJK */
+MAP(0x52, 0x49, 0x7BC5) /* <CJK */
+MAP(0x52, 0x4A, 0x7BC8) /* <CJK */
+MAP(0x52, 0x4B, 0x7BCA) /* <CJK */
+MAP(0x52, 0x4C, 0x7BD4) /* <CJK */
+MAP(0x52, 0x4D, 0x7BD6) /* <CJK */
+MAP(0x52, 0x4E, 0x7BD7) /* <CJK */
+MAP(0x52, 0x4F, 0x7BD9) /* <CJK */
+MAP(0x52, 0x50, 0x7BDA) /* <CJK */
+MAP(0x52, 0x51, 0x7BDB) /* <CJK */
+MAP(0x52, 0x52, 0x7BE8) /* <CJK */
+MAP(0x52, 0x53, 0x7BEA) /* <CJK */
+MAP(0x52, 0x54, 0x7BF2) /* <CJK */
+MAP(0x52, 0x55, 0x7BF4) /* <CJK */
+MAP(0x52, 0x56, 0x7BF5) /* <CJK */
+MAP(0x52, 0x57, 0x7BF8) /* <CJK */
+MAP(0x52, 0x58, 0x7BF9) /* <CJK */
+MAP(0x52, 0x59, 0x7BFA) /* <CJK */
+MAP(0x52, 0x5A, 0x7BFC) /* <CJK */
+MAP(0x52, 0x5B, 0x7BFE) /* <CJK */
+MAP(0x52, 0x5C, 0x7C01) /* <CJK */
+MAP(0x52, 0x5D, 0x7C02) /* <CJK */
+MAP(0x52, 0x5E, 0x7C03) /* <CJK */
+MAP(0x52, 0x5F, 0x7C04) /* <CJK */
+MAP(0x52, 0x60, 0x7C06) /* <CJK */
+MAP(0x52, 0x61, 0x7C09) /* <CJK */
+MAP(0x52, 0x62, 0x7C0B) /* <CJK */
+MAP(0x52, 0x63, 0x7C0C) /* <CJK */
+MAP(0x52, 0x64, 0x7C0E) /* <CJK */
+MAP(0x52, 0x65, 0x7C0F) /* <CJK */
+MAP(0x52, 0x66, 0x7C19) /* <CJK */
+MAP(0x52, 0x67, 0x7C1B) /* <CJK */
+MAP(0x52, 0x68, 0x7C20) /* <CJK */
+MAP(0x52, 0x69, 0x7C25) /* <CJK */
+MAP(0x52, 0x6A, 0x7C26) /* <CJK */
+MAP(0x52, 0x6B, 0x7C28) /* <CJK */
+MAP(0x52, 0x6C, 0x7C2C) /* <CJK */
+MAP(0x52, 0x6D, 0x7C31) /* <CJK */
+MAP(0x52, 0x6E, 0x7C33) /* <CJK */
+MAP(0x52, 0x6F, 0x7C34) /* <CJK */
+MAP(0x52, 0x70, 0x7C36) /* <CJK */
+MAP(0x52, 0x71, 0x7C39) /* <CJK */
+MAP(0x52, 0x72, 0x7C3A) /* <CJK */
+MAP(0x52, 0x73, 0x7C46) /* <CJK */
+MAP(0x52, 0x74, 0x7C4A) /* <CJK */
+MAP(0x52, 0x75, 0x7C55) /* <CJK */
+MAP(0x52, 0x76, 0x7C51) /* <CJK */
+MAP(0x52, 0x77, 0x7C52) /* <CJK */
+MAP(0x52, 0x78, 0x7C53) /* <CJK */
+MAP(0x52, 0x79, 0x7C59) /* <CJK */
+MAP(0x52, 0x7A, 0x7C5A) /* <CJK */
+MAP(0x52, 0x7B, 0x7C5B) /* <CJK */
+MAP(0x52, 0x7C, 0x7C5C) /* <CJK */
+MAP(0x52, 0x7D, 0x7C5D) /* <CJK */
+MAP(0x52, 0x7E, 0x7C5E) /* <CJK */
+MAP(0x53, 0x21, 0x7C61) /* <CJK */
+MAP(0x53, 0x22, 0x7C63) /* <CJK */
+MAP(0x53, 0x23, 0x7C67) /* <CJK */
+MAP(0x53, 0x24, 0x7C69) /* <CJK */
+MAP(0x53, 0x25, 0x7C6D) /* <CJK */
+MAP(0x53, 0x26, 0x7C6E) /* <CJK */
+MAP(0x53, 0x27, 0x7C70) /* <CJK */
+MAP(0x53, 0x28, 0x7C72) /* <CJK */
+MAP(0x53, 0x29, 0x7C79) /* <CJK */
+MAP(0x53, 0x2A, 0x7C7C) /* <CJK */
+MAP(0x53, 0x2B, 0x7C7D) /* <CJK */
+MAP(0x53, 0x2C, 0x7C86) /* <CJK */
+MAP(0x53, 0x2D, 0x7C87) /* <CJK */
+MAP(0x53, 0x2E, 0x7C8F) /* <CJK */
+MAP(0x53, 0x2F, 0x7C94) /* <CJK */
+MAP(0x53, 0x30, 0x7C9E) /* <CJK */
+MAP(0x53, 0x31, 0x7CA0) /* <CJK */
+MAP(0x53, 0x32, 0x7CA6) /* <CJK */
+MAP(0x53, 0x33, 0x7CB0) /* <CJK */
+MAP(0x53, 0x34, 0x7CB6) /* <CJK */
+MAP(0x53, 0x35, 0x7CB7) /* <CJK */
+MAP(0x53, 0x36, 0x7CBA) /* <CJK */
+MAP(0x53, 0x37, 0x7CBB) /* <CJK */
+MAP(0x53, 0x38, 0x7CBC) /* <CJK */
+MAP(0x53, 0x39, 0x7CBF) /* <CJK */
+MAP(0x53, 0x3A, 0x7CC4) /* <CJK */
+MAP(0x53, 0x3B, 0x7CC7) /* <CJK */
+MAP(0x53, 0x3C, 0x7CC8) /* <CJK */
+MAP(0x53, 0x3D, 0x7CC9) /* <CJK */
+MAP(0x53, 0x3E, 0x7CCD) /* <CJK */
+MAP(0x53, 0x3F, 0x7CCF) /* <CJK */
+MAP(0x53, 0x40, 0x7CD3) /* <CJK */
+MAP(0x53, 0x41, 0x7CD4) /* <CJK */
+MAP(0x53, 0x42, 0x7CD5) /* <CJK */
+MAP(0x53, 0x43, 0x7CD7) /* <CJK */
+MAP(0x53, 0x44, 0x7CD9) /* <CJK */
+MAP(0x53, 0x45, 0x7CDA) /* <CJK */
+MAP(0x53, 0x46, 0x7CDD) /* <CJK */
+MAP(0x53, 0x47, 0x7CE6) /* <CJK */
+MAP(0x53, 0x48, 0x7CE9) /* <CJK */
+MAP(0x53, 0x49, 0x7CEB) /* <CJK */
+MAP(0x53, 0x4A, 0x7CF5) /* <CJK */
+MAP(0x53, 0x4B, 0x7D03) /* <CJK */
+MAP(0x53, 0x4C, 0x7D07) /* <CJK */
+MAP(0x53, 0x4D, 0x7D08) /* <CJK */
+MAP(0x53, 0x4E, 0x7D09) /* <CJK */
+MAP(0x53, 0x4F, 0x7D0F) /* <CJK */
+MAP(0x53, 0x50, 0x7D11) /* <CJK */
+MAP(0x53, 0x51, 0x7D12) /* <CJK */
+MAP(0x53, 0x52, 0x7D13) /* <CJK */
+MAP(0x53, 0x53, 0x7D16) /* <CJK */
+MAP(0x53, 0x54, 0x7D1D) /* <CJK */
+MAP(0x53, 0x55, 0x7D1E) /* <CJK */
+MAP(0x53, 0x56, 0x7D23) /* <CJK */
+MAP(0x53, 0x57, 0x7D26) /* <CJK */
+MAP(0x53, 0x58, 0x7D2A) /* <CJK */
+MAP(0x53, 0x59, 0x7D2D) /* <CJK */
+MAP(0x53, 0x5A, 0x7D31) /* <CJK */
+MAP(0x53, 0x5B, 0x7D3C) /* <CJK */
+MAP(0x53, 0x5C, 0x7D3D) /* <CJK */
+MAP(0x53, 0x5D, 0x7D3E) /* <CJK */
+MAP(0x53, 0x5E, 0x7D40) /* <CJK */
+MAP(0x53, 0x5F, 0x7D41) /* <CJK */
+MAP(0x53, 0x60, 0x7D47) /* <CJK */
+MAP(0x53, 0x61, 0x7D48) /* <CJK */
+MAP(0x53, 0x62, 0x7D4D) /* <CJK */
+MAP(0x53, 0x63, 0x7D51) /* <CJK */
+MAP(0x53, 0x64, 0x7D53) /* <CJK */
+MAP(0x53, 0x65, 0x7D57) /* <CJK */
+MAP(0x53, 0x66, 0x7D59) /* <CJK */
+MAP(0x53, 0x67, 0x7D5A) /* <CJK */
+MAP(0x53, 0x68, 0x7D5C) /* <CJK */
+MAP(0x53, 0x69, 0x7D5D) /* <CJK */
+MAP(0x53, 0x6A, 0x7D65) /* <CJK */
+MAP(0x53, 0x6B, 0x7D67) /* <CJK */
+MAP(0x53, 0x6C, 0x7D6A) /* <CJK */
+MAP(0x53, 0x6D, 0x7D70) /* <CJK */
+MAP(0x53, 0x6E, 0x7D78) /* <CJK */
+MAP(0x53, 0x6F, 0x7D7A) /* <CJK */
+MAP(0x53, 0x70, 0x7D7B) /* <CJK */
+MAP(0x53, 0x71, 0x7D7F) /* <CJK */
+MAP(0x53, 0x72, 0x7D81) /* <CJK */
+MAP(0x53, 0x73, 0x7D82) /* <CJK */
+MAP(0x53, 0x74, 0x7D83) /* <CJK */
+MAP(0x53, 0x75, 0x7D85) /* <CJK */
+MAP(0x53, 0x76, 0x7D86) /* <CJK */
+MAP(0x53, 0x77, 0x7D88) /* <CJK */
+MAP(0x53, 0x78, 0x7D8B) /* <CJK */
+MAP(0x53, 0x79, 0x7D8C) /* <CJK */
+MAP(0x53, 0x7A, 0x7D8D) /* <CJK */
+MAP(0x53, 0x7B, 0x7D91) /* <CJK */
+MAP(0x53, 0x7C, 0x7D96) /* <CJK */
+MAP(0x53, 0x7D, 0x7D97) /* <CJK */
+MAP(0x53, 0x7E, 0x7D9D) /* <CJK */
+MAP(0x54, 0x21, 0x7D9E) /* <CJK */
+MAP(0x54, 0x22, 0x7DA6) /* <CJK */
+MAP(0x54, 0x23, 0x7DA7) /* <CJK */
+MAP(0x54, 0x24, 0x7DAA) /* <CJK */
+MAP(0x54, 0x25, 0x7DB3) /* <CJK */
+MAP(0x54, 0x26, 0x7DB6) /* <CJK */
+MAP(0x54, 0x27, 0x7DB7) /* <CJK */
+MAP(0x54, 0x28, 0x7DB9) /* <CJK */
+MAP(0x54, 0x29, 0x7DC2) /* <CJK */
+MAP(0x54, 0x2A, 0x7DC3) /* <CJK */
+MAP(0x54, 0x2B, 0x7DC4) /* <CJK */
+MAP(0x54, 0x2C, 0x7DC5) /* <CJK */
+MAP(0x54, 0x2D, 0x7DC6) /* <CJK */
+MAP(0x54, 0x2E, 0x7DCC) /* <CJK */
+MAP(0x54, 0x2F, 0x7DCD) /* <CJK */
+MAP(0x54, 0x30, 0x7DCE) /* <CJK */
+MAP(0x54, 0x31, 0x7DD7) /* <CJK */
+MAP(0x54, 0x32, 0x7DD9) /* <CJK */
+MAP(0x54, 0x33, 0x7E00) /* <CJK */
+MAP(0x54, 0x34, 0x7DE2) /* <CJK */
+MAP(0x54, 0x35, 0x7DE5) /* <CJK */
+MAP(0x54, 0x36, 0x7DE6) /* <CJK */
+MAP(0x54, 0x37, 0x7DEA) /* <CJK */
+MAP(0x54, 0x38, 0x7DEB) /* <CJK */
+MAP(0x54, 0x39, 0x7DED) /* <CJK */
+MAP(0x54, 0x3A, 0x7DF1) /* <CJK */
+MAP(0x54, 0x3B, 0x7DF5) /* <CJK */
+MAP(0x54, 0x3C, 0x7DF6) /* <CJK */
+MAP(0x54, 0x3D, 0x7DF9) /* <CJK */
+MAP(0x54, 0x3E, 0x7DFA) /* <CJK */
+MAP(0x54, 0x3F, 0x7E08) /* <CJK */
+MAP(0x54, 0x40, 0x7E10) /* <CJK */
+MAP(0x54, 0x41, 0x7E11) /* <CJK */
+MAP(0x54, 0x42, 0x7E15) /* <CJK */
+MAP(0x54, 0x43, 0x7E17) /* <CJK */
+MAP(0x54, 0x44, 0x7E1C) /* <CJK */
+MAP(0x54, 0x45, 0x7E1D) /* <CJK */
+MAP(0x54, 0x46, 0x7E20) /* <CJK */
+MAP(0x54, 0x47, 0x7E27) /* <CJK */
+MAP(0x54, 0x48, 0x7E28) /* <CJK */
+MAP(0x54, 0x49, 0x7E2C) /* <CJK */
+MAP(0x54, 0x4A, 0x7E2D) /* <CJK */
+MAP(0x54, 0x4B, 0x7E2F) /* <CJK */
+MAP(0x54, 0x4C, 0x7E33) /* <CJK */
+MAP(0x54, 0x4D, 0x7E36) /* <CJK */
+MAP(0x54, 0x4E, 0x7E3F) /* <CJK */
+MAP(0x54, 0x4F, 0x7E44) /* <CJK */
+MAP(0x54, 0x50, 0x7E45) /* <CJK */
+MAP(0x54, 0x51, 0x7E47) /* <CJK */
+MAP(0x54, 0x52, 0x7E4E) /* <CJK */
+MAP(0x54, 0x53, 0x7E50) /* <CJK */
+MAP(0x54, 0x54, 0x7E52) /* <CJK */
+MAP(0x54, 0x55, 0x7E58) /* <CJK */
+MAP(0x54, 0x56, 0x7E5F) /* <CJK */
+MAP(0x54, 0x57, 0x7E61) /* <CJK */
+MAP(0x54, 0x58, 0x7E62) /* <CJK */
+MAP(0x54, 0x59, 0x7E65) /* <CJK */
+MAP(0x54, 0x5A, 0x7E6B) /* <CJK */
+MAP(0x54, 0x5B, 0x7E6E) /* <CJK */
+MAP(0x54, 0x5C, 0x7E6F) /* <CJK */
+MAP(0x54, 0x5D, 0x7E73) /* <CJK */
+MAP(0x54, 0x5E, 0x7E78) /* <CJK */
+MAP(0x54, 0x5F, 0x7E7E) /* <CJK */
+MAP(0x54, 0x60, 0x7E81) /* <CJK */
+MAP(0x54, 0x61, 0x7E86) /* <CJK */
+MAP(0x54, 0x62, 0x7E87) /* <CJK */
+MAP(0x54, 0x63, 0x7E8A) /* <CJK */
+MAP(0x54, 0x64, 0x7E8D) /* <CJK */
+MAP(0x54, 0x65, 0x7E91) /* <CJK */
+MAP(0x54, 0x66, 0x7E95) /* <CJK */
+MAP(0x54, 0x67, 0x7E98) /* <CJK */
+MAP(0x54, 0x68, 0x7E9A) /* <CJK */
+MAP(0x54, 0x69, 0x7E9D) /* <CJK */
+MAP(0x54, 0x6A, 0x7E9E) /* <CJK */
+MAP(0x54, 0x6B, 0x7F3C) /* <CJK */
+MAP(0x54, 0x6C, 0x7F3B) /* <CJK */
+MAP(0x54, 0x6D, 0x7F3D) /* <CJK */
+MAP(0x54, 0x6E, 0x7F3E) /* <CJK */
+MAP(0x54, 0x6F, 0x7F3F) /* <CJK */
+MAP(0x54, 0x70, 0x7F43) /* <CJK */
+MAP(0x54, 0x71, 0x7F44) /* <CJK */
+MAP(0x54, 0x72, 0x7F47) /* <CJK */
+MAP(0x54, 0x73, 0x7F4F) /* <CJK */
+MAP(0x54, 0x74, 0x7F52) /* <CJK */
+MAP(0x54, 0x75, 0x7F53) /* <CJK */
+MAP(0x54, 0x76, 0x7F5B) /* <CJK */
+MAP(0x54, 0x77, 0x7F5C) /* <CJK */
+MAP(0x54, 0x78, 0x7F5D) /* <CJK */
+MAP(0x54, 0x79, 0x7F61) /* <CJK */
+MAP(0x54, 0x7A, 0x7F63) /* <CJK */
+MAP(0x54, 0x7B, 0x7F64) /* <CJK */
+MAP(0x54, 0x7C, 0x7F65) /* <CJK */
+MAP(0x54, 0x7D, 0x7F66) /* <CJK */
+MAP(0x54, 0x7E, 0x7F6D) /* <CJK */
+MAP(0x55, 0x21, 0x7F71) /* <CJK */
+MAP(0x55, 0x22, 0x7F7D) /* <CJK */
+MAP(0x55, 0x23, 0x7F7E) /* <CJK */
+MAP(0x55, 0x24, 0x7F7F) /* <CJK */
+MAP(0x55, 0x25, 0x7F80) /* <CJK */
+MAP(0x55, 0x26, 0x7F8B) /* <CJK */
+MAP(0x55, 0x27, 0x7F8D) /* <CJK */
+MAP(0x55, 0x28, 0x7F8F) /* <CJK */
+MAP(0x55, 0x29, 0x7F90) /* <CJK */
+MAP(0x55, 0x2A, 0x7F91) /* <CJK */
+MAP(0x55, 0x2B, 0x7F96) /* <CJK */
+MAP(0x55, 0x2C, 0x7F97) /* <CJK */
+MAP(0x55, 0x2D, 0x7F9C) /* <CJK */
+MAP(0x55, 0x2E, 0x7FA1) /* <CJK */
+MAP(0x55, 0x2F, 0x7FA2) /* <CJK */
+MAP(0x55, 0x30, 0x7FA6) /* <CJK */
+MAP(0x55, 0x31, 0x7FAA) /* <CJK */
+MAP(0x55, 0x32, 0x7FAD) /* <CJK */
+MAP(0x55, 0x33, 0x7FB4) /* <CJK */
+MAP(0x55, 0x34, 0x7FBC) /* <CJK */
+MAP(0x55, 0x35, 0x7FBF) /* <CJK */
+MAP(0x55, 0x36, 0x7FC0) /* <CJK */
+MAP(0x55, 0x37, 0x7FC3) /* <CJK */
+MAP(0x55, 0x38, 0x7FC8) /* <CJK */
+MAP(0x55, 0x39, 0x7FCE) /* <CJK */
+MAP(0x55, 0x3A, 0x7FCF) /* <CJK */
+MAP(0x55, 0x3B, 0x7FDB) /* <CJK */
+MAP(0x55, 0x3C, 0x7FDF) /* <CJK */
+MAP(0x55, 0x3D, 0x7FE3) /* <CJK */
+MAP(0x55, 0x3E, 0x7FE5) /* <CJK */
+MAP(0x55, 0x3F, 0x7FE8) /* <CJK */
+MAP(0x55, 0x40, 0x7FEC) /* <CJK */
+MAP(0x55, 0x41, 0x7FEE) /* <CJK */
+MAP(0x55, 0x42, 0x7FEF) /* <CJK */
+MAP(0x55, 0x43, 0x7FF2) /* <CJK */
+MAP(0x55, 0x44, 0x7FFA) /* <CJK */
+MAP(0x55, 0x45, 0x7FFD) /* <CJK */
+MAP(0x55, 0x46, 0x7FFE) /* <CJK */
+MAP(0x55, 0x47, 0x7FFF) /* <CJK */
+MAP(0x55, 0x48, 0x8007) /* <CJK */
+MAP(0x55, 0x49, 0x8008) /* <CJK */
+MAP(0x55, 0x4A, 0x800A) /* <CJK */
+MAP(0x55, 0x4B, 0x800D) /* <CJK */
+MAP(0x55, 0x4C, 0x800E) /* <CJK */
+MAP(0x55, 0x4D, 0x800F) /* <CJK */
+MAP(0x55, 0x4E, 0x8011) /* <CJK */
+MAP(0x55, 0x4F, 0x8013) /* <CJK */
+MAP(0x55, 0x50, 0x8014) /* <CJK */
+MAP(0x55, 0x51, 0x8016) /* <CJK */
+MAP(0x55, 0x52, 0x801D) /* <CJK */
+MAP(0x55, 0x53, 0x801E) /* <CJK */
+MAP(0x55, 0x54, 0x801F) /* <CJK */
+MAP(0x55, 0x55, 0x8020) /* <CJK */
+MAP(0x55, 0x56, 0x8024) /* <CJK */
+MAP(0x55, 0x57, 0x8026) /* <CJK */
+MAP(0x55, 0x58, 0x802C) /* <CJK */
+MAP(0x55, 0x59, 0x802E) /* <CJK */
+MAP(0x55, 0x5A, 0x8030) /* <CJK */
+MAP(0x55, 0x5B, 0x8034) /* <CJK */
+MAP(0x55, 0x5C, 0x8035) /* <CJK */
+MAP(0x55, 0x5D, 0x8037) /* <CJK */
+MAP(0x55, 0x5E, 0x8039) /* <CJK */
+MAP(0x55, 0x5F, 0x803A) /* <CJK */
+MAP(0x55, 0x60, 0x803C) /* <CJK */
+MAP(0x55, 0x61, 0x803E) /* <CJK */
+MAP(0x55, 0x62, 0x8040) /* <CJK */
+MAP(0x55, 0x63, 0x8044) /* <CJK */
+MAP(0x55, 0x64, 0x8060) /* <CJK */
+MAP(0x55, 0x65, 0x8064) /* <CJK */
+MAP(0x55, 0x66, 0x8066) /* <CJK */
+MAP(0x55, 0x67, 0x806D) /* <CJK */
+MAP(0x55, 0x68, 0x8071) /* <CJK */
+MAP(0x55, 0x69, 0x8075) /* <CJK */
+MAP(0x55, 0x6A, 0x8081) /* <CJK */
+MAP(0x55, 0x6B, 0x8088) /* <CJK */
+MAP(0x55, 0x6C, 0x808E) /* <CJK */
+MAP(0x55, 0x6D, 0x809C) /* <CJK */
+MAP(0x55, 0x6E, 0x809E) /* <CJK */
+MAP(0x55, 0x6F, 0x80A6) /* <CJK */
+MAP(0x55, 0x70, 0x80A7) /* <CJK */
+MAP(0x55, 0x71, 0x80AB) /* <CJK */
+MAP(0x55, 0x72, 0x80B8) /* <CJK */
+MAP(0x55, 0x73, 0x80B9) /* <CJK */
+MAP(0x55, 0x74, 0x80C8) /* <CJK */
+MAP(0x55, 0x75, 0x80CD) /* <CJK */
+MAP(0x55, 0x76, 0x80CF) /* <CJK */
+MAP(0x55, 0x77, 0x80D2) /* <CJK */
+MAP(0x55, 0x78, 0x80D4) /* <CJK */
+MAP(0x55, 0x79, 0x80D5) /* <CJK */
+MAP(0x55, 0x7A, 0x80D7) /* <CJK */
+MAP(0x55, 0x7B, 0x80D8) /* <CJK */
+MAP(0x55, 0x7C, 0x80E0) /* <CJK */
+MAP(0x55, 0x7D, 0x80ED) /* <CJK */
+MAP(0x55, 0x7E, 0x80EE) /* <CJK */
+MAP(0x56, 0x21, 0x80F0) /* <CJK */
+MAP(0x56, 0x22, 0x80F2) /* <CJK */
+MAP(0x56, 0x23, 0x80F3) /* <CJK */
+MAP(0x56, 0x24, 0x80F6) /* <CJK */
+MAP(0x56, 0x25, 0x80F9) /* <CJK */
+MAP(0x56, 0x26, 0x80FA) /* <CJK */
+MAP(0x56, 0x27, 0x80FE) /* <CJK */
+MAP(0x56, 0x28, 0x8103) /* <CJK */
+MAP(0x56, 0x29, 0x810B) /* <CJK */
+MAP(0x56, 0x2A, 0x8116) /* <CJK */
+MAP(0x56, 0x2B, 0x8117) /* <CJK */
+MAP(0x56, 0x2C, 0x8118) /* <CJK */
+MAP(0x56, 0x2D, 0x811C) /* <CJK */
+MAP(0x56, 0x2E, 0x811E) /* <CJK */
+MAP(0x56, 0x2F, 0x8120) /* <CJK */
+MAP(0x56, 0x30, 0x8124) /* <CJK */
+MAP(0x56, 0x31, 0x8127) /* <CJK */
+MAP(0x56, 0x32, 0x812C) /* <CJK */
+MAP(0x56, 0x33, 0x8130) /* <CJK */
+MAP(0x56, 0x34, 0x8135) /* <CJK */
+MAP(0x56, 0x35, 0x813A) /* <CJK */
+MAP(0x56, 0x36, 0x813C) /* <CJK */
+MAP(0x56, 0x37, 0x8145) /* <CJK */
+MAP(0x56, 0x38, 0x8147) /* <CJK */
+MAP(0x56, 0x39, 0x814A) /* <CJK */
+MAP(0x56, 0x3A, 0x814C) /* <CJK */
+MAP(0x56, 0x3B, 0x8152) /* <CJK */
+MAP(0x56, 0x3C, 0x8157) /* <CJK */
+MAP(0x56, 0x3D, 0x8160) /* <CJK */
+MAP(0x56, 0x3E, 0x8161) /* <CJK */
+MAP(0x56, 0x3F, 0x8167) /* <CJK */
+MAP(0x56, 0x40, 0x8168) /* <CJK */
+MAP(0x56, 0x41, 0x8169) /* <CJK */
+MAP(0x56, 0x42, 0x816D) /* <CJK */
+MAP(0x56, 0x43, 0x816F) /* <CJK */
+MAP(0x56, 0x44, 0x8177) /* <CJK */
+MAP(0x56, 0x45, 0x8181) /* <CJK */
+MAP(0x56, 0x46, 0x8190) /* <CJK */
+MAP(0x56, 0x47, 0x8184) /* <CJK */
+MAP(0x56, 0x48, 0x8185) /* <CJK */
+MAP(0x56, 0x49, 0x8186) /* <CJK */
+MAP(0x56, 0x4A, 0x818B) /* <CJK */
+MAP(0x56, 0x4B, 0x818E) /* <CJK */
+MAP(0x56, 0x4C, 0x8196) /* <CJK */
+MAP(0x56, 0x4D, 0x8198) /* <CJK */
+MAP(0x56, 0x4E, 0x819B) /* <CJK */
+MAP(0x56, 0x4F, 0x819E) /* <CJK */
+MAP(0x56, 0x50, 0x81A2) /* <CJK */
+MAP(0x56, 0x51, 0x81AE) /* <CJK */
+MAP(0x56, 0x52, 0x81B2) /* <CJK */
+MAP(0x56, 0x53, 0x81B4) /* <CJK */
+MAP(0x56, 0x54, 0x81BB) /* <CJK */
+MAP(0x56, 0x55, 0x81CB) /* <CJK */
+MAP(0x56, 0x56, 0x81C3) /* <CJK */
+MAP(0x56, 0x57, 0x81C5) /* <CJK */
+MAP(0x56, 0x58, 0x81CA) /* <CJK */
+MAP(0x56, 0x59, 0x81CE) /* <CJK */
+MAP(0x56, 0x5A, 0x81CF) /* <CJK */
+MAP(0x56, 0x5B, 0x81D5) /* <CJK */
+MAP(0x56, 0x5C, 0x81D7) /* <CJK */
+MAP(0x56, 0x5D, 0x81DB) /* <CJK */
+MAP(0x56, 0x5E, 0x81DD) /* <CJK */
+MAP(0x56, 0x5F, 0x81DE) /* <CJK */
+MAP(0x56, 0x60, 0x81E1) /* <CJK */
+MAP(0x56, 0x61, 0x81E4) /* <CJK */
+MAP(0x56, 0x62, 0x81EB) /* <CJK */
+MAP(0x56, 0x63, 0x81EC) /* <CJK */
+MAP(0x56, 0x64, 0x81F0) /* <CJK */
+MAP(0x56, 0x65, 0x81F1) /* <CJK */
+MAP(0x56, 0x66, 0x81F2) /* <CJK */
+MAP(0x56, 0x67, 0x81F5) /* <CJK */
+MAP(0x56, 0x68, 0x81F6) /* <CJK */
+MAP(0x56, 0x69, 0x81F8) /* <CJK */
+MAP(0x56, 0x6A, 0x81F9) /* <CJK */
+MAP(0x56, 0x6B, 0x81FD) /* <CJK */
+MAP(0x56, 0x6C, 0x81FF) /* <CJK */
+MAP(0x56, 0x6D, 0x8200) /* <CJK */
+MAP(0x56, 0x6E, 0x8203) /* <CJK */
+MAP(0x56, 0x6F, 0x820F) /* <CJK */
+MAP(0x56, 0x70, 0x8213) /* <CJK */
+MAP(0x56, 0x71, 0x8214) /* <CJK */
+MAP(0x56, 0x72, 0x8219) /* <CJK */
+MAP(0x56, 0x73, 0x821A) /* <CJK */
+MAP(0x56, 0x74, 0x821D) /* <CJK */
+MAP(0x56, 0x75, 0x8221) /* <CJK */
+MAP(0x56, 0x76, 0x8222) /* <CJK */
+MAP(0x56, 0x77, 0x8228) /* <CJK */
+MAP(0x56, 0x78, 0x8232) /* <CJK */
+MAP(0x56, 0x79, 0x8234) /* <CJK */
+MAP(0x56, 0x7A, 0x823A) /* <CJK */
+MAP(0x56, 0x7B, 0x8243) /* <CJK */
+MAP(0x56, 0x7C, 0x8244) /* <CJK */
+MAP(0x56, 0x7D, 0x8245) /* <CJK */
+MAP(0x56, 0x7E, 0x8246) /* <CJK */
+MAP(0x57, 0x21, 0x824B) /* <CJK */
+MAP(0x57, 0x22, 0x824E) /* <CJK */
+MAP(0x57, 0x23, 0x824F) /* <CJK */
+MAP(0x57, 0x24, 0x8251) /* <CJK */
+MAP(0x57, 0x25, 0x8256) /* <CJK */
+MAP(0x57, 0x26, 0x825C) /* <CJK */
+MAP(0x57, 0x27, 0x8260) /* <CJK */
+MAP(0x57, 0x28, 0x8263) /* <CJK */
+MAP(0x57, 0x29, 0x8267) /* <CJK */
+MAP(0x57, 0x2A, 0x826D) /* <CJK */
+MAP(0x57, 0x2B, 0x8274) /* <CJK */
+MAP(0x57, 0x2C, 0x827B) /* <CJK */
+MAP(0x57, 0x2D, 0x827D) /* <CJK */
+MAP(0x57, 0x2E, 0x827F) /* <CJK */
+MAP(0x57, 0x2F, 0x8280) /* <CJK */
+MAP(0x57, 0x30, 0x8281) /* <CJK */
+MAP(0x57, 0x31, 0x8283) /* <CJK */
+MAP(0x57, 0x32, 0x8284) /* <CJK */
+MAP(0x57, 0x33, 0x8287) /* <CJK */
+MAP(0x57, 0x34, 0x8289) /* <CJK */
+MAP(0x57, 0x35, 0x828A) /* <CJK */
+MAP(0x57, 0x36, 0x828E) /* <CJK */
+MAP(0x57, 0x37, 0x8291) /* <CJK */
+MAP(0x57, 0x38, 0x8294) /* <CJK */
+MAP(0x57, 0x39, 0x8296) /* <CJK */
+MAP(0x57, 0x3A, 0x8298) /* <CJK */
+MAP(0x57, 0x3B, 0x829A) /* <CJK */
+MAP(0x57, 0x3C, 0x829B) /* <CJK */
+MAP(0x57, 0x3D, 0x82A0) /* <CJK */
+MAP(0x57, 0x3E, 0x82A1) /* <CJK */
+MAP(0x57, 0x3F, 0x82A3) /* <CJK */
+MAP(0x57, 0x40, 0x82A4) /* <CJK */
+MAP(0x57, 0x41, 0x82A7) /* <CJK */
+MAP(0x57, 0x42, 0x82A8) /* <CJK */
+MAP(0x57, 0x43, 0x82A9) /* <CJK */
+MAP(0x57, 0x44, 0x82AA) /* <CJK */
+MAP(0x57, 0x45, 0x82AE) /* <CJK */
+MAP(0x57, 0x46, 0x82B0) /* <CJK */
+MAP(0x57, 0x47, 0x82B2) /* <CJK */
+MAP(0x57, 0x48, 0x82B4) /* <CJK */
+MAP(0x57, 0x49, 0x82B7) /* <CJK */
+MAP(0x57, 0x4A, 0x82BA) /* <CJK */
+MAP(0x57, 0x4B, 0x82BC) /* <CJK */
+MAP(0x57, 0x4C, 0x82BE) /* <CJK */
+MAP(0x57, 0x4D, 0x82BF) /* <CJK */
+MAP(0x57, 0x4E, 0x82C6) /* <CJK */
+MAP(0x57, 0x4F, 0x82D0) /* <CJK */
+MAP(0x57, 0x50, 0x82D5) /* <CJK */
+MAP(0x57, 0x51, 0x82DA) /* <CJK */
+MAP(0x57, 0x52, 0x82E0) /* <CJK */
+MAP(0x57, 0x53, 0x82E2) /* <CJK */
+MAP(0x57, 0x54, 0x82E4) /* <CJK */
+MAP(0x57, 0x55, 0x82E8) /* <CJK */
+MAP(0x57, 0x56, 0x82EA) /* <CJK */
+MAP(0x57, 0x57, 0x82ED) /* <CJK */
+MAP(0x57, 0x58, 0x82EF) /* <CJK */
+MAP(0x57, 0x59, 0x82F6) /* <CJK */
+MAP(0x57, 0x5A, 0x82F7) /* <CJK */
+MAP(0x57, 0x5B, 0x82FD) /* <CJK */
+MAP(0x57, 0x5C, 0x82FE) /* <CJK */
+MAP(0x57, 0x5D, 0x8300) /* <CJK */
+MAP(0x57, 0x5E, 0x8301) /* <CJK */
+MAP(0x57, 0x5F, 0x8307) /* <CJK */
+MAP(0x57, 0x60, 0x8308) /* <CJK */
+MAP(0x57, 0x61, 0x830A) /* <CJK */
+MAP(0x57, 0x62, 0x830B) /* <CJK */
+MAP(0x57, 0x63, 0x8354) /* <CJK */
+MAP(0x57, 0x64, 0x831B) /* <CJK */
+MAP(0x57, 0x65, 0x831D) /* <CJK */
+MAP(0x57, 0x66, 0x831E) /* <CJK */
+MAP(0x57, 0x67, 0x831F) /* <CJK */
+MAP(0x57, 0x68, 0x8321) /* <CJK */
+MAP(0x57, 0x69, 0x8322) /* <CJK */
+MAP(0x57, 0x6A, 0x832C) /* <CJK */
+MAP(0x57, 0x6B, 0x832D) /* <CJK */
+MAP(0x57, 0x6C, 0x832E) /* <CJK */
+MAP(0x57, 0x6D, 0x8330) /* <CJK */
+MAP(0x57, 0x6E, 0x8333) /* <CJK */
+MAP(0x57, 0x6F, 0x8337) /* <CJK */
+MAP(0x57, 0x70, 0x833A) /* <CJK */
+MAP(0x57, 0x71, 0x833C) /* <CJK */
+MAP(0x57, 0x72, 0x833D) /* <CJK */
+MAP(0x57, 0x73, 0x8342) /* <CJK */
+MAP(0x57, 0x74, 0x8343) /* <CJK */
+MAP(0x57, 0x75, 0x8344) /* <CJK */
+MAP(0x57, 0x76, 0x8347) /* <CJK */
+MAP(0x57, 0x77, 0x834D) /* <CJK */
+MAP(0x57, 0x78, 0x834E) /* <CJK */
+MAP(0x57, 0x79, 0x8351) /* <CJK */
+MAP(0x57, 0x7A, 0x8355) /* <CJK */
+MAP(0x57, 0x7B, 0x8356) /* <CJK */
+MAP(0x57, 0x7C, 0x8357) /* <CJK */
+MAP(0x57, 0x7D, 0x8370) /* <CJK */
+MAP(0x57, 0x7E, 0x8378) /* <CJK */
+MAP(0x58, 0x21, 0x837D) /* <CJK */
+MAP(0x58, 0x22, 0x837F) /* <CJK */
+MAP(0x58, 0x23, 0x8380) /* <CJK */
+MAP(0x58, 0x24, 0x8382) /* <CJK */
+MAP(0x58, 0x25, 0x8384) /* <CJK */
+MAP(0x58, 0x26, 0x8386) /* <CJK */
+MAP(0x58, 0x27, 0x838D) /* <CJK */
+MAP(0x58, 0x28, 0x8392) /* <CJK */
+MAP(0x58, 0x29, 0x8394) /* <CJK */
+MAP(0x58, 0x2A, 0x8395) /* <CJK */
+MAP(0x58, 0x2B, 0x8398) /* <CJK */
+MAP(0x58, 0x2C, 0x8399) /* <CJK */
+MAP(0x58, 0x2D, 0x839B) /* <CJK */
+MAP(0x58, 0x2E, 0x839C) /* <CJK */
+MAP(0x58, 0x2F, 0x839D) /* <CJK */
+MAP(0x58, 0x30, 0x83A6) /* <CJK */
+MAP(0x58, 0x31, 0x83A7) /* <CJK */
+MAP(0x58, 0x32, 0x83A9) /* <CJK */
+MAP(0x58, 0x33, 0x83AC) /* <CJK */
+MAP(0x58, 0x34, 0x83BE) /* <CJK */
+MAP(0x58, 0x35, 0x83BF) /* <CJK */
+MAP(0x58, 0x36, 0x83C0) /* <CJK */
+MAP(0x58, 0x37, 0x83C7) /* <CJK */
+MAP(0x58, 0x38, 0x83C9) /* <CJK */
+MAP(0x58, 0x39, 0x83CF) /* <CJK */
+MAP(0x58, 0x3A, 0x83D0) /* <CJK */
+MAP(0x58, 0x3B, 0x83D1) /* <CJK */
+MAP(0x58, 0x3C, 0x83D4) /* <CJK */
+MAP(0x58, 0x3D, 0x83DD) /* <CJK */
+MAP(0x58, 0x3E, 0x8353) /* <CJK */
+MAP(0x58, 0x3F, 0x83E8) /* <CJK */
+MAP(0x58, 0x40, 0x83EA) /* <CJK */
+MAP(0x58, 0x41, 0x83F6) /* <CJK */
+MAP(0x58, 0x42, 0x83F8) /* <CJK */
+MAP(0x58, 0x43, 0x83F9) /* <CJK */
+MAP(0x58, 0x44, 0x83FC) /* <CJK */
+MAP(0x58, 0x45, 0x8401) /* <CJK */
+MAP(0x58, 0x46, 0x8406) /* <CJK */
+MAP(0x58, 0x47, 0x840A) /* <CJK */
+MAP(0x58, 0x48, 0x840F) /* <CJK */
+MAP(0x58, 0x49, 0x8411) /* <CJK */
+MAP(0x58, 0x4A, 0x8415) /* <CJK */
+MAP(0x58, 0x4B, 0x8419) /* <CJK */
+MAP(0x58, 0x4C, 0x83AD) /* <CJK */
+MAP(0x58, 0x4D, 0x842F) /* <CJK */
+MAP(0x58, 0x4E, 0x8439) /* <CJK */
+MAP(0x58, 0x4F, 0x8445) /* <CJK */
+MAP(0x58, 0x50, 0x8447) /* <CJK */
+MAP(0x58, 0x51, 0x8448) /* <CJK */
+MAP(0x58, 0x52, 0x844A) /* <CJK */
+MAP(0x58, 0x53, 0x844D) /* <CJK */
+MAP(0x58, 0x54, 0x844F) /* <CJK */
+MAP(0x58, 0x55, 0x8451) /* <CJK */
+MAP(0x58, 0x56, 0x8452) /* <CJK */
+MAP(0x58, 0x57, 0x8456) /* <CJK */
+MAP(0x58, 0x58, 0x8458) /* <CJK */
+MAP(0x58, 0x59, 0x8459) /* <CJK */
+MAP(0x58, 0x5A, 0x845A) /* <CJK */
+MAP(0x58, 0x5B, 0x845C) /* <CJK */
+MAP(0x58, 0x5C, 0x8460) /* <CJK */
+MAP(0x58, 0x5D, 0x8464) /* <CJK */
+MAP(0x58, 0x5E, 0x8465) /* <CJK */
+MAP(0x58, 0x5F, 0x8467) /* <CJK */
+MAP(0x58, 0x60, 0x846A) /* <CJK */
+MAP(0x58, 0x61, 0x8470) /* <CJK */
+MAP(0x58, 0x62, 0x8473) /* <CJK */
+MAP(0x58, 0x63, 0x8474) /* <CJK */
+MAP(0x58, 0x64, 0x8476) /* <CJK */
+MAP(0x58, 0x65, 0x8478) /* <CJK */
+MAP(0x58, 0x66, 0x847C) /* <CJK */
+MAP(0x58, 0x67, 0x847D) /* <CJK */
+MAP(0x58, 0x68, 0x8481) /* <CJK */
+MAP(0x58, 0x69, 0x8485) /* <CJK */
+MAP(0x58, 0x6A, 0x8492) /* <CJK */
+MAP(0x58, 0x6B, 0x8493) /* <CJK */
+MAP(0x58, 0x6C, 0x8495) /* <CJK */
+MAP(0x58, 0x6D, 0x849E) /* <CJK */
+MAP(0x58, 0x6E, 0x84A6) /* <CJK */
+MAP(0x58, 0x6F, 0x84A8) /* <CJK */
+MAP(0x58, 0x70, 0x84A9) /* <CJK */
+MAP(0x58, 0x71, 0x84AA) /* <CJK */
+MAP(0x58, 0x72, 0x84AF) /* <CJK */
+MAP(0x58, 0x73, 0x84B1) /* <CJK */
+MAP(0x58, 0x74, 0x84B4) /* <CJK */
+MAP(0x58, 0x75, 0x84BA) /* <CJK */
+MAP(0x58, 0x76, 0x84BD) /* <CJK */
+MAP(0x58, 0x77, 0x84BE) /* <CJK */
+MAP(0x58, 0x78, 0x84C0) /* <CJK */
+MAP(0x58, 0x79, 0x84C2) /* <CJK */
+MAP(0x58, 0x7A, 0x84C7) /* <CJK */
+MAP(0x58, 0x7B, 0x84C8) /* <CJK */
+MAP(0x58, 0x7C, 0x84CC) /* <CJK */
+MAP(0x58, 0x7D, 0x84CF) /* <CJK */
+MAP(0x58, 0x7E, 0x84D3) /* <CJK */
+MAP(0x59, 0x21, 0x84DC) /* <CJK */
+MAP(0x59, 0x22, 0x84E7) /* <CJK */
+MAP(0x59, 0x23, 0x84EA) /* <CJK */
+MAP(0x59, 0x24, 0x84EF) /* <CJK */
+MAP(0x59, 0x25, 0x84F0) /* <CJK */
+MAP(0x59, 0x26, 0x84F1) /* <CJK */
+MAP(0x59, 0x27, 0x84F2) /* <CJK */
+MAP(0x59, 0x28, 0x84F7) /* <CJK */
+MAP(0x59, 0x29, 0x8532) /* <CJK */
+MAP(0x59, 0x2A, 0x84FA) /* <CJK */
+MAP(0x59, 0x2B, 0x84FB) /* <CJK */
+MAP(0x59, 0x2C, 0x84FD) /* <CJK */
+MAP(0x59, 0x2D, 0x8502) /* <CJK */
+MAP(0x59, 0x2E, 0x8503) /* <CJK */
+MAP(0x59, 0x2F, 0x8507) /* <CJK */
+MAP(0x59, 0x30, 0x850C) /* <CJK */
+MAP(0x59, 0x31, 0x850E) /* <CJK */
+MAP(0x59, 0x32, 0x8510) /* <CJK */
+MAP(0x59, 0x33, 0x851C) /* <CJK */
+MAP(0x59, 0x34, 0x851E) /* <CJK */
+MAP(0x59, 0x35, 0x8522) /* <CJK */
+MAP(0x59, 0x36, 0x8523) /* <CJK */
+MAP(0x59, 0x37, 0x8524) /* <CJK */
+MAP(0x59, 0x38, 0x8525) /* <CJK */
+MAP(0x59, 0x39, 0x8527) /* <CJK */
+MAP(0x59, 0x3A, 0x852A) /* <CJK */
+MAP(0x59, 0x3B, 0x852B) /* <CJK */
+MAP(0x59, 0x3C, 0x852F) /* <CJK */
+MAP(0x59, 0x3D, 0x8533) /* <CJK */
+MAP(0x59, 0x3E, 0x8534) /* <CJK */
+MAP(0x59, 0x3F, 0x8536) /* <CJK */
+MAP(0x59, 0x40, 0x853F) /* <CJK */
+MAP(0x59, 0x41, 0x8546) /* <CJK */
+MAP(0x59, 0x42, 0x854F) /* <CJK */
+MAP(0x59, 0x43, 0x8550) /* <CJK */
+MAP(0x59, 0x44, 0x8551) /* <CJK */
+MAP(0x59, 0x45, 0x8552) /* <CJK */
+MAP(0x59, 0x46, 0x8553) /* <CJK */
+MAP(0x59, 0x47, 0x8556) /* <CJK */
+MAP(0x59, 0x48, 0x8559) /* <CJK */
+MAP(0x59, 0x49, 0x855C) /* <CJK */
+MAP(0x59, 0x4A, 0x855D) /* <CJK */
+MAP(0x59, 0x4B, 0x855E) /* <CJK */
+MAP(0x59, 0x4C, 0x855F) /* <CJK */
+MAP(0x59, 0x4D, 0x8560) /* <CJK */
+MAP(0x59, 0x4E, 0x8561) /* <CJK */
+MAP(0x59, 0x4F, 0x8562) /* <CJK */
+MAP(0x59, 0x50, 0x8564) /* <CJK */
+MAP(0x59, 0x51, 0x856B) /* <CJK */
+MAP(0x59, 0x52, 0x856F) /* <CJK */
+MAP(0x59, 0x53, 0x8579) /* <CJK */
+MAP(0x59, 0x54, 0x857A) /* <CJK */
+MAP(0x59, 0x55, 0x857B) /* <CJK */
+MAP(0x59, 0x56, 0x857D) /* <CJK */
+MAP(0x59, 0x57, 0x857F) /* <CJK */
+MAP(0x59, 0x58, 0x8581) /* <CJK */
+MAP(0x59, 0x59, 0x8585) /* <CJK */
+MAP(0x59, 0x5A, 0x8586) /* <CJK */
+MAP(0x59, 0x5B, 0x8589) /* <CJK */
+MAP(0x59, 0x5C, 0x858B) /* <CJK */
+MAP(0x59, 0x5D, 0x858C) /* <CJK */
+MAP(0x59, 0x5E, 0x858F) /* <CJK */
+MAP(0x59, 0x5F, 0x8593) /* <CJK */
+MAP(0x59, 0x60, 0x8598) /* <CJK */
+MAP(0x59, 0x61, 0x859D) /* <CJK */
+MAP(0x59, 0x62, 0x859F) /* <CJK */
+MAP(0x59, 0x63, 0x85A0) /* <CJK */
+MAP(0x59, 0x64, 0x85A2) /* <CJK */
+MAP(0x59, 0x65, 0x85A5) /* <CJK */
+MAP(0x59, 0x66, 0x85A7) /* <CJK */
+MAP(0x59, 0x67, 0x85B4) /* <CJK */
+MAP(0x59, 0x68, 0x85B6) /* <CJK */
+MAP(0x59, 0x69, 0x85B7) /* <CJK */
+MAP(0x59, 0x6A, 0x85B8) /* <CJK */
+MAP(0x59, 0x6B, 0x85BC) /* <CJK */
+MAP(0x59, 0x6C, 0x85BD) /* <CJK */
+MAP(0x59, 0x6D, 0x85BE) /* <CJK */
+MAP(0x59, 0x6E, 0x85BF) /* <CJK */
+MAP(0x59, 0x6F, 0x85C2) /* <CJK */
+MAP(0x59, 0x70, 0x85C7) /* <CJK */
+MAP(0x59, 0x71, 0x85CA) /* <CJK */
+MAP(0x59, 0x72, 0x85CB) /* <CJK */
+MAP(0x59, 0x73, 0x85CE) /* <CJK */
+MAP(0x59, 0x74, 0x85AD) /* <CJK */
+MAP(0x59, 0x75, 0x85D8) /* <CJK */
+MAP(0x59, 0x76, 0x85DA) /* <CJK */
+MAP(0x59, 0x77, 0x85DF) /* <CJK */
+MAP(0x59, 0x78, 0x85E0) /* <CJK */
+MAP(0x59, 0x79, 0x85E6) /* <CJK */
+MAP(0x59, 0x7A, 0x85E8) /* <CJK */
+MAP(0x59, 0x7B, 0x85ED) /* <CJK */
+MAP(0x59, 0x7C, 0x85F3) /* <CJK */
+MAP(0x59, 0x7D, 0x85F6) /* <CJK */
+MAP(0x59, 0x7E, 0x85FC) /* <CJK */
+MAP(0x5A, 0x21, 0x85FF) /* <CJK */
+MAP(0x5A, 0x22, 0x8600) /* <CJK */
+MAP(0x5A, 0x23, 0x8604) /* <CJK */
+MAP(0x5A, 0x24, 0x8605) /* <CJK */
+MAP(0x5A, 0x25, 0x860D) /* <CJK */
+MAP(0x5A, 0x26, 0x860E) /* <CJK */
+MAP(0x5A, 0x27, 0x8610) /* <CJK */
+MAP(0x5A, 0x28, 0x8611) /* <CJK */
+MAP(0x5A, 0x29, 0x8612) /* <CJK */
+MAP(0x5A, 0x2A, 0x8618) /* <CJK */
+MAP(0x5A, 0x2B, 0x8619) /* <CJK */
+MAP(0x5A, 0x2C, 0x861B) /* <CJK */
+MAP(0x5A, 0x2D, 0x861E) /* <CJK */
+MAP(0x5A, 0x2E, 0x8621) /* <CJK */
+MAP(0x5A, 0x2F, 0x8627) /* <CJK */
+MAP(0x5A, 0x30, 0x8629) /* <CJK */
+MAP(0x5A, 0x31, 0x8636) /* <CJK */
+MAP(0x5A, 0x32, 0x8638) /* <CJK */
+MAP(0x5A, 0x33, 0x863A) /* <CJK */
+MAP(0x5A, 0x34, 0x863C) /* <CJK */
+MAP(0x5A, 0x35, 0x863D) /* <CJK */
+MAP(0x5A, 0x36, 0x8640) /* <CJK */
+MAP(0x5A, 0x37, 0x8642) /* <CJK */
+MAP(0x5A, 0x38, 0x8646) /* <CJK */
+MAP(0x5A, 0x39, 0x8652) /* <CJK */
+MAP(0x5A, 0x3A, 0x8653) /* <CJK */
+MAP(0x5A, 0x3B, 0x8656) /* <CJK */
+MAP(0x5A, 0x3C, 0x8657) /* <CJK */
+MAP(0x5A, 0x3D, 0x8658) /* <CJK */
+MAP(0x5A, 0x3E, 0x8659) /* <CJK */
+MAP(0x5A, 0x3F, 0x865D) /* <CJK */
+MAP(0x5A, 0x40, 0x8660) /* <CJK */
+MAP(0x5A, 0x41, 0x8661) /* <CJK */
+MAP(0x5A, 0x42, 0x8662) /* <CJK */
+MAP(0x5A, 0x43, 0x8663) /* <CJK */
+MAP(0x5A, 0x44, 0x8664) /* <CJK */
+MAP(0x5A, 0x45, 0x8669) /* <CJK */
+MAP(0x5A, 0x46, 0x866C) /* <CJK */
+MAP(0x5A, 0x47, 0x866F) /* <CJK */
+MAP(0x5A, 0x48, 0x8675) /* <CJK */
+MAP(0x5A, 0x49, 0x8676) /* <CJK */
+MAP(0x5A, 0x4A, 0x8677) /* <CJK */
+MAP(0x5A, 0x4B, 0x867A) /* <CJK */
+MAP(0x5A, 0x4C, 0x868D) /* <CJK */
+MAP(0x5A, 0x4D, 0x8691) /* <CJK */
+MAP(0x5A, 0x4E, 0x8696) /* <CJK */
+MAP(0x5A, 0x4F, 0x8698) /* <CJK */
+MAP(0x5A, 0x50, 0x869A) /* <CJK */
+MAP(0x5A, 0x51, 0x869C) /* <CJK */
+MAP(0x5A, 0x52, 0x86A1) /* <CJK */
+MAP(0x5A, 0x53, 0x86A6) /* <CJK */
+MAP(0x5A, 0x54, 0x86A7) /* <CJK */
+MAP(0x5A, 0x55, 0x86A8) /* <CJK */
+MAP(0x5A, 0x56, 0x86AD) /* <CJK */
+MAP(0x5A, 0x57, 0x86B1) /* <CJK */
+MAP(0x5A, 0x58, 0x86B3) /* <CJK */
+MAP(0x5A, 0x59, 0x86B4) /* <CJK */
+MAP(0x5A, 0x5A, 0x86B5) /* <CJK */
+MAP(0x5A, 0x5B, 0x86B7) /* <CJK */
+MAP(0x5A, 0x5C, 0x86B8) /* <CJK */
+MAP(0x5A, 0x5D, 0x86B9) /* <CJK */
+MAP(0x5A, 0x5E, 0x86BF) /* <CJK */
+MAP(0x5A, 0x5F, 0x86C0) /* <CJK */
+MAP(0x5A, 0x60, 0x86C1) /* <CJK */
+MAP(0x5A, 0x61, 0x86C3) /* <CJK */
+MAP(0x5A, 0x62, 0x86C5) /* <CJK */
+MAP(0x5A, 0x63, 0x86D1) /* <CJK */
+MAP(0x5A, 0x64, 0x86D2) /* <CJK */
+MAP(0x5A, 0x65, 0x86D5) /* <CJK */
+MAP(0x5A, 0x66, 0x86D7) /* <CJK */
+MAP(0x5A, 0x67, 0x86DA) /* <CJK */
+MAP(0x5A, 0x68, 0x86DC) /* <CJK */
+MAP(0x5A, 0x69, 0x86E0) /* <CJK */
+MAP(0x5A, 0x6A, 0x86E3) /* <CJK */
+MAP(0x5A, 0x6B, 0x86E5) /* <CJK */
+MAP(0x5A, 0x6C, 0x86E7) /* <CJK */
+MAP(0x5A, 0x6D, 0x8688) /* <CJK */
+MAP(0x5A, 0x6E, 0x86FA) /* <CJK */
+MAP(0x5A, 0x6F, 0x86FC) /* <CJK */
+MAP(0x5A, 0x70, 0x86FD) /* <CJK */
+MAP(0x5A, 0x71, 0x8704) /* <CJK */
+MAP(0x5A, 0x72, 0x8705) /* <CJK */
+MAP(0x5A, 0x73, 0x8707) /* <CJK */
+MAP(0x5A, 0x74, 0x870B) /* <CJK */
+MAP(0x5A, 0x75, 0x870E) /* <CJK */
+MAP(0x5A, 0x76, 0x870F) /* <CJK */
+MAP(0x5A, 0x77, 0x8710) /* <CJK */
+MAP(0x5A, 0x78, 0x8713) /* <CJK */
+MAP(0x5A, 0x79, 0x8714) /* <CJK */
+MAP(0x5A, 0x7A, 0x8719) /* <CJK */
+MAP(0x5A, 0x7B, 0x871E) /* <CJK */
+MAP(0x5A, 0x7C, 0x871F) /* <CJK */
+MAP(0x5A, 0x7D, 0x8721) /* <CJK */
+MAP(0x5A, 0x7E, 0x8723) /* <CJK */
+MAP(0x5B, 0x21, 0x8728) /* <CJK */
+MAP(0x5B, 0x22, 0x872E) /* <CJK */
+MAP(0x5B, 0x23, 0x872F) /* <CJK */
+MAP(0x5B, 0x24, 0x8731) /* <CJK */
+MAP(0x5B, 0x25, 0x8732) /* <CJK */
+MAP(0x5B, 0x26, 0x8739) /* <CJK */
+MAP(0x5B, 0x27, 0x873A) /* <CJK */
+MAP(0x5B, 0x28, 0x873C) /* <CJK */
+MAP(0x5B, 0x29, 0x873D) /* <CJK */
+MAP(0x5B, 0x2A, 0x873E) /* <CJK */
+MAP(0x5B, 0x2B, 0x8740) /* <CJK */
+MAP(0x5B, 0x2C, 0x8743) /* <CJK */
+MAP(0x5B, 0x2D, 0x8745) /* <CJK */
+MAP(0x5B, 0x2E, 0x874D) /* <CJK */
+MAP(0x5B, 0x2F, 0x8758) /* <CJK */
+MAP(0x5B, 0x30, 0x875D) /* <CJK */
+MAP(0x5B, 0x31, 0x8761) /* <CJK */
+MAP(0x5B, 0x32, 0x8764) /* <CJK */
+MAP(0x5B, 0x33, 0x8765) /* <CJK */
+MAP(0x5B, 0x34, 0x876F) /* <CJK */
+MAP(0x5B, 0x35, 0x8771) /* <CJK */
+MAP(0x5B, 0x36, 0x8772) /* <CJK */
+MAP(0x5B, 0x37, 0x877B) /* <CJK */
+MAP(0x5B, 0x38, 0x8783) /* <CJK */
+MAP(0x5B, 0x39, 0x8784) /* <CJK */
+MAP(0x5B, 0x3A, 0x8785) /* <CJK */
+MAP(0x5B, 0x3B, 0x8786) /* <CJK */
+MAP(0x5B, 0x3C, 0x8787) /* <CJK */
+MAP(0x5B, 0x3D, 0x8788) /* <CJK */
+MAP(0x5B, 0x3E, 0x8789) /* <CJK */
+MAP(0x5B, 0x3F, 0x878B) /* <CJK */
+MAP(0x5B, 0x40, 0x878C) /* <CJK */
+MAP(0x5B, 0x41, 0x8790) /* <CJK */
+MAP(0x5B, 0x42, 0x8793) /* <CJK */
+MAP(0x5B, 0x43, 0x8795) /* <CJK */
+MAP(0x5B, 0x44, 0x8797) /* <CJK */
+MAP(0x5B, 0x45, 0x8798) /* <CJK */
+MAP(0x5B, 0x46, 0x8799) /* <CJK */
+MAP(0x5B, 0x47, 0x879E) /* <CJK */
+MAP(0x5B, 0x48, 0x87A0) /* <CJK */
+MAP(0x5B, 0x49, 0x87A3) /* <CJK */
+MAP(0x5B, 0x4A, 0x87A7) /* <CJK */
+MAP(0x5B, 0x4B, 0x87AC) /* <CJK */
+MAP(0x5B, 0x4C, 0x87AD) /* <CJK */
+MAP(0x5B, 0x4D, 0x87AE) /* <CJK */
+MAP(0x5B, 0x4E, 0x87B1) /* <CJK */
+MAP(0x5B, 0x4F, 0x87B5) /* <CJK */
+MAP(0x5B, 0x50, 0x87BE) /* <CJK */
+MAP(0x5B, 0x51, 0x87BF) /* <CJK */
+MAP(0x5B, 0x52, 0x87C1) /* <CJK */
+MAP(0x5B, 0x53, 0x87C8) /* <CJK */
+MAP(0x5B, 0x54, 0x87C9) /* <CJK */
+MAP(0x5B, 0x55, 0x87CA) /* <CJK */
+MAP(0x5B, 0x56, 0x87CE) /* <CJK */
+MAP(0x5B, 0x57, 0x87D5) /* <CJK */
+MAP(0x5B, 0x58, 0x87D6) /* <CJK */
+MAP(0x5B, 0x59, 0x87D9) /* <CJK */
+MAP(0x5B, 0x5A, 0x87DA) /* <CJK */
+MAP(0x5B, 0x5B, 0x87DC) /* <CJK */
+MAP(0x5B, 0x5C, 0x87DF) /* <CJK */
+MAP(0x5B, 0x5D, 0x87E2) /* <CJK */
+MAP(0x5B, 0x5E, 0x87E3) /* <CJK */
+MAP(0x5B, 0x5F, 0x87E4) /* <CJK */
+MAP(0x5B, 0x60, 0x87EA) /* <CJK */
+MAP(0x5B, 0x61, 0x87EB) /* <CJK */
+MAP(0x5B, 0x62, 0x87ED) /* <CJK */
+MAP(0x5B, 0x63, 0x87F1) /* <CJK */
+MAP(0x5B, 0x64, 0x87F3) /* <CJK */
+MAP(0x5B, 0x65, 0x87F8) /* <CJK */
+MAP(0x5B, 0x66, 0x87FA) /* <CJK */
+MAP(0x5B, 0x67, 0x87FF) /* <CJK */
+MAP(0x5B, 0x68, 0x8801) /* <CJK */
+MAP(0x5B, 0x69, 0x8803) /* <CJK */
+MAP(0x5B, 0x6A, 0x8806) /* <CJK */
+MAP(0x5B, 0x6B, 0x8809) /* <CJK */
+MAP(0x5B, 0x6C, 0x880A) /* <CJK */
+MAP(0x5B, 0x6D, 0x880B) /* <CJK */
+MAP(0x5B, 0x6E, 0x8810) /* <CJK */
+MAP(0x5B, 0x6F, 0x8819) /* <CJK */
+MAP(0x5B, 0x70, 0x8812) /* <CJK */
+MAP(0x5B, 0x71, 0x8813) /* <CJK */
+MAP(0x5B, 0x72, 0x8814) /* <CJK */
+MAP(0x5B, 0x73, 0x8818) /* <CJK */
+MAP(0x5B, 0x74, 0x881A) /* <CJK */
+MAP(0x5B, 0x75, 0x881B) /* <CJK */
+MAP(0x5B, 0x76, 0x881C) /* <CJK */
+MAP(0x5B, 0x77, 0x881E) /* <CJK */
+MAP(0x5B, 0x78, 0x881F) /* <CJK */
+MAP(0x5B, 0x79, 0x8828) /* <CJK */
+MAP(0x5B, 0x7A, 0x882D) /* <CJK */
+MAP(0x5B, 0x7B, 0x882E) /* <CJK */
+MAP(0x5B, 0x7C, 0x8830) /* <CJK */
+MAP(0x5B, 0x7D, 0x8832) /* <CJK */
+MAP(0x5B, 0x7E, 0x8835) /* <CJK */
+MAP(0x5C, 0x21, 0x883A) /* <CJK */
+MAP(0x5C, 0x22, 0x883C) /* <CJK */
+MAP(0x5C, 0x23, 0x8841) /* <CJK */
+MAP(0x5C, 0x24, 0x8843) /* <CJK */
+MAP(0x5C, 0x25, 0x8845) /* <CJK */
+MAP(0x5C, 0x26, 0x8848) /* <CJK */
+MAP(0x5C, 0x27, 0x8849) /* <CJK */
+MAP(0x5C, 0x28, 0x884A) /* <CJK */
+MAP(0x5C, 0x29, 0x884B) /* <CJK */
+MAP(0x5C, 0x2A, 0x884E) /* <CJK */
+MAP(0x5C, 0x2B, 0x8851) /* <CJK */
+MAP(0x5C, 0x2C, 0x8855) /* <CJK */
+MAP(0x5C, 0x2D, 0x8856) /* <CJK */
+MAP(0x5C, 0x2E, 0x8858) /* <CJK */
+MAP(0x5C, 0x2F, 0x885A) /* <CJK */
+MAP(0x5C, 0x30, 0x885C) /* <CJK */
+MAP(0x5C, 0x31, 0x885F) /* <CJK */
+MAP(0x5C, 0x32, 0x8860) /* <CJK */
+MAP(0x5C, 0x33, 0x8864) /* <CJK */
+MAP(0x5C, 0x34, 0x8869) /* <CJK */
+MAP(0x5C, 0x35, 0x8871) /* <CJK */
+MAP(0x5C, 0x36, 0x8879) /* <CJK */
+MAP(0x5C, 0x37, 0x887B) /* <CJK */
+MAP(0x5C, 0x38, 0x8880) /* <CJK */
+MAP(0x5C, 0x39, 0x8898) /* <CJK */
+MAP(0x5C, 0x3A, 0x889A) /* <CJK */
+MAP(0x5C, 0x3B, 0x889B) /* <CJK */
+MAP(0x5C, 0x3C, 0x889C) /* <CJK */
+MAP(0x5C, 0x3D, 0x889F) /* <CJK */
+MAP(0x5C, 0x3E, 0x88A0) /* <CJK */
+MAP(0x5C, 0x3F, 0x88A8) /* <CJK */
+MAP(0x5C, 0x40, 0x88AA) /* <CJK */
+MAP(0x5C, 0x41, 0x88BA) /* <CJK */
+MAP(0x5C, 0x42, 0x88BD) /* <CJK */
+MAP(0x5C, 0x43, 0x88BE) /* <CJK */
+MAP(0x5C, 0x44, 0x88C0) /* <CJK */
+MAP(0x5C, 0x45, 0x88CA) /* <CJK */
+MAP(0x5C, 0x46, 0x88CB) /* <CJK */
+MAP(0x5C, 0x47, 0x88CC) /* <CJK */
+MAP(0x5C, 0x48, 0x88CD) /* <CJK */
+MAP(0x5C, 0x49, 0x88CE) /* <CJK */
+MAP(0x5C, 0x4A, 0x88D1) /* <CJK */
+MAP(0x5C, 0x4B, 0x88D2) /* <CJK */
+MAP(0x5C, 0x4C, 0x88D3) /* <CJK */
+MAP(0x5C, 0x4D, 0x88DB) /* <CJK */
+MAP(0x5C, 0x4E, 0x88DE) /* <CJK */
+MAP(0x5C, 0x4F, 0x88E7) /* <CJK */
+MAP(0x5C, 0x50, 0x88EF) /* <CJK */
+MAP(0x5C, 0x51, 0x88F0) /* <CJK */
+MAP(0x5C, 0x52, 0x88F1) /* <CJK */
+MAP(0x5C, 0x53, 0x88F5) /* <CJK */
+MAP(0x5C, 0x54, 0x88F7) /* <CJK */
+MAP(0x5C, 0x55, 0x8901) /* <CJK */
+MAP(0x5C, 0x56, 0x8906) /* <CJK */
+MAP(0x5C, 0x57, 0x890D) /* <CJK */
+MAP(0x5C, 0x58, 0x890E) /* <CJK */
+MAP(0x5C, 0x59, 0x890F) /* <CJK */
+MAP(0x5C, 0x5A, 0x8915) /* <CJK */
+MAP(0x5C, 0x5B, 0x8916) /* <CJK */
+MAP(0x5C, 0x5C, 0x8918) /* <CJK */
+MAP(0x5C, 0x5D, 0x8919) /* <CJK */
+MAP(0x5C, 0x5E, 0x891A) /* <CJK */
+MAP(0x5C, 0x5F, 0x891C) /* <CJK */
+MAP(0x5C, 0x60, 0x8920) /* <CJK */
+MAP(0x5C, 0x61, 0x8926) /* <CJK */
+MAP(0x5C, 0x62, 0x8927) /* <CJK */
+MAP(0x5C, 0x63, 0x8928) /* <CJK */
+MAP(0x5C, 0x64, 0x8930) /* <CJK */
+MAP(0x5C, 0x65, 0x8931) /* <CJK */
+MAP(0x5C, 0x66, 0x8932) /* <CJK */
+MAP(0x5C, 0x67, 0x8935) /* <CJK */
+MAP(0x5C, 0x68, 0x8939) /* <CJK */
+MAP(0x5C, 0x69, 0x893A) /* <CJK */
+MAP(0x5C, 0x6A, 0x893E) /* <CJK */
+MAP(0x5C, 0x6B, 0x8940) /* <CJK */
+MAP(0x5C, 0x6C, 0x8942) /* <CJK */
+MAP(0x5C, 0x6D, 0x8945) /* <CJK */
+MAP(0x5C, 0x6E, 0x8946) /* <CJK */
+MAP(0x5C, 0x6F, 0x8949) /* <CJK */
+MAP(0x5C, 0x70, 0x894F) /* <CJK */
+MAP(0x5C, 0x71, 0x8952) /* <CJK */
+MAP(0x5C, 0x72, 0x8957) /* <CJK */
+MAP(0x5C, 0x73, 0x895A) /* <CJK */
+MAP(0x5C, 0x74, 0x895B) /* <CJK */
+MAP(0x5C, 0x75, 0x895C) /* <CJK */
+MAP(0x5C, 0x76, 0x8961) /* <CJK */
+MAP(0x5C, 0x77, 0x8962) /* <CJK */
+MAP(0x5C, 0x78, 0x8963) /* <CJK */
+MAP(0x5C, 0x79, 0x896B) /* <CJK */
+MAP(0x5C, 0x7A, 0x896E) /* <CJK */
+MAP(0x5C, 0x7B, 0x8970) /* <CJK */
+MAP(0x5C, 0x7C, 0x8973) /* <CJK */
+MAP(0x5C, 0x7D, 0x8975) /* <CJK */
+MAP(0x5C, 0x7E, 0x897A) /* <CJK */
+MAP(0x5D, 0x21, 0x897B) /* <CJK */
+MAP(0x5D, 0x22, 0x897C) /* <CJK */
+MAP(0x5D, 0x23, 0x897D) /* <CJK */
+MAP(0x5D, 0x24, 0x8989) /* <CJK */
+MAP(0x5D, 0x25, 0x898D) /* <CJK */
+MAP(0x5D, 0x26, 0x8990) /* <CJK */
+MAP(0x5D, 0x27, 0x8994) /* <CJK */
+MAP(0x5D, 0x28, 0x8995) /* <CJK */
+MAP(0x5D, 0x29, 0x899B) /* <CJK */
+MAP(0x5D, 0x2A, 0x899C) /* <CJK */
+MAP(0x5D, 0x2B, 0x899F) /* <CJK */
+MAP(0x5D, 0x2C, 0x89A0) /* <CJK */
+MAP(0x5D, 0x2D, 0x89A5) /* <CJK */
+MAP(0x5D, 0x2E, 0x89B0) /* <CJK */
+MAP(0x5D, 0x2F, 0x89B4) /* <CJK */
+MAP(0x5D, 0x30, 0x89B5) /* <CJK */
+MAP(0x5D, 0x31, 0x89B6) /* <CJK */
+MAP(0x5D, 0x32, 0x89B7) /* <CJK */
+MAP(0x5D, 0x33, 0x89BC) /* <CJK */
+MAP(0x5D, 0x34, 0x89D4) /* <CJK */
+MAP(0x5D, 0x35, 0x89D5) /* <CJK */
+MAP(0x5D, 0x36, 0x89D6) /* <CJK */
+MAP(0x5D, 0x37, 0x89D7) /* <CJK */
+MAP(0x5D, 0x38, 0x89D8) /* <CJK */
+MAP(0x5D, 0x39, 0x89E5) /* <CJK */
+MAP(0x5D, 0x3A, 0x89E9) /* <CJK */
+MAP(0x5D, 0x3B, 0x89EB) /* <CJK */
+MAP(0x5D, 0x3C, 0x89ED) /* <CJK */
+MAP(0x5D, 0x3D, 0x89F1) /* <CJK */
+MAP(0x5D, 0x3E, 0x89F3) /* <CJK */
+MAP(0x5D, 0x3F, 0x89F6) /* <CJK */
+MAP(0x5D, 0x40, 0x89F9) /* <CJK */
+MAP(0x5D, 0x41, 0x89FD) /* <CJK */
+MAP(0x5D, 0x42, 0x89FF) /* <CJK */
+MAP(0x5D, 0x43, 0x8A04) /* <CJK */
+MAP(0x5D, 0x44, 0x8A05) /* <CJK */
+MAP(0x5D, 0x45, 0x8A07) /* <CJK */
+MAP(0x5D, 0x46, 0x8A0F) /* <CJK */
+MAP(0x5D, 0x47, 0x8A11) /* <CJK */
+MAP(0x5D, 0x48, 0x8A12) /* <CJK */
+MAP(0x5D, 0x49, 0x8A14) /* <CJK */
+MAP(0x5D, 0x4A, 0x8A15) /* <CJK */
+MAP(0x5D, 0x4B, 0x8A1E) /* <CJK */
+MAP(0x5D, 0x4C, 0x8A20) /* <CJK */
+MAP(0x5D, 0x4D, 0x8A22) /* <CJK */
+MAP(0x5D, 0x4E, 0x8A24) /* <CJK */
+MAP(0x5D, 0x4F, 0x8A26) /* <CJK */
+MAP(0x5D, 0x50, 0x8A2B) /* <CJK */
+MAP(0x5D, 0x51, 0x8A2C) /* <CJK */
+MAP(0x5D, 0x52, 0x8A2F) /* <CJK */
+MAP(0x5D, 0x53, 0x8A35) /* <CJK */
+MAP(0x5D, 0x54, 0x8A37) /* <CJK */
+MAP(0x5D, 0x55, 0x8A3D) /* <CJK */
+MAP(0x5D, 0x56, 0x8A3E) /* <CJK */
+MAP(0x5D, 0x57, 0x8A40) /* <CJK */
+MAP(0x5D, 0x58, 0x8A43) /* <CJK */
+MAP(0x5D, 0x59, 0x8A45) /* <CJK */
+MAP(0x5D, 0x5A, 0x8A47) /* <CJK */
+MAP(0x5D, 0x5B, 0x8A49) /* <CJK */
+MAP(0x5D, 0x5C, 0x8A4D) /* <CJK */
+MAP(0x5D, 0x5D, 0x8A4E) /* <CJK */
+MAP(0x5D, 0x5E, 0x8A53) /* <CJK */
+MAP(0x5D, 0x5F, 0x8A56) /* <CJK */
+MAP(0x5D, 0x60, 0x8A57) /* <CJK */
+MAP(0x5D, 0x61, 0x8A58) /* <CJK */
+MAP(0x5D, 0x62, 0x8A5C) /* <CJK */
+MAP(0x5D, 0x63, 0x8A5D) /* <CJK */
+MAP(0x5D, 0x64, 0x8A61) /* <CJK */
+MAP(0x5D, 0x65, 0x8A65) /* <CJK */
+MAP(0x5D, 0x66, 0x8A67) /* <CJK */
+MAP(0x5D, 0x67, 0x8A75) /* <CJK */
+MAP(0x5D, 0x68, 0x8A76) /* <CJK */
+MAP(0x5D, 0x69, 0x8A77) /* <CJK */
+MAP(0x5D, 0x6A, 0x8A79) /* <CJK */
+MAP(0x5D, 0x6B, 0x8A7A) /* <CJK */
+MAP(0x5D, 0x6C, 0x8A7B) /* <CJK */
+MAP(0x5D, 0x6D, 0x8A7E) /* <CJK */
+MAP(0x5D, 0x6E, 0x8A7F) /* <CJK */
+MAP(0x5D, 0x6F, 0x8A80) /* <CJK */
+MAP(0x5D, 0x70, 0x8A83) /* <CJK */
+MAP(0x5D, 0x71, 0x8A86) /* <CJK */
+MAP(0x5D, 0x72, 0x8A8B) /* <CJK */
+MAP(0x5D, 0x73, 0x8A8F) /* <CJK */
+MAP(0x5D, 0x74, 0x8A90) /* <CJK */
+MAP(0x5D, 0x75, 0x8A92) /* <CJK */
+MAP(0x5D, 0x76, 0x8A96) /* <CJK */
+MAP(0x5D, 0x77, 0x8A97) /* <CJK */
+MAP(0x5D, 0x78, 0x8A99) /* <CJK */
+MAP(0x5D, 0x79, 0x8A9F) /* <CJK */
+MAP(0x5D, 0x7A, 0x8AA7) /* <CJK */
+MAP(0x5D, 0x7B, 0x8AA9) /* <CJK */
+MAP(0x5D, 0x7C, 0x8AAE) /* <CJK */
+MAP(0x5D, 0x7D, 0x8AAF) /* <CJK */
+MAP(0x5D, 0x7E, 0x8AB3) /* <CJK */
+MAP(0x5E, 0x21, 0x8AB6) /* <CJK */
+MAP(0x5E, 0x22, 0x8AB7) /* <CJK */
+MAP(0x5E, 0x23, 0x8ABB) /* <CJK */
+MAP(0x5E, 0x24, 0x8ABE) /* <CJK */
+MAP(0x5E, 0x25, 0x8AC3) /* <CJK */
+MAP(0x5E, 0x26, 0x8AC6) /* <CJK */
+MAP(0x5E, 0x27, 0x8AC8) /* <CJK */
+MAP(0x5E, 0x28, 0x8AC9) /* <CJK */
+MAP(0x5E, 0x29, 0x8ACA) /* <CJK */
+MAP(0x5E, 0x2A, 0x8AD1) /* <CJK */
+MAP(0x5E, 0x2B, 0x8AD3) /* <CJK */
+MAP(0x5E, 0x2C, 0x8AD4) /* <CJK */
+MAP(0x5E, 0x2D, 0x8AD5) /* <CJK */
+MAP(0x5E, 0x2E, 0x8AD7) /* <CJK */
+MAP(0x5E, 0x2F, 0x8ADD) /* <CJK */
+MAP(0x5E, 0x30, 0x8ADF) /* <CJK */
+MAP(0x5E, 0x31, 0x8AEC) /* <CJK */
+MAP(0x5E, 0x32, 0x8AF0) /* <CJK */
+MAP(0x5E, 0x33, 0x8AF4) /* <CJK */
+MAP(0x5E, 0x34, 0x8AF5) /* <CJK */
+MAP(0x5E, 0x35, 0x8AF6) /* <CJK */
+MAP(0x5E, 0x36, 0x8AFC) /* <CJK */
+MAP(0x5E, 0x37, 0x8AFF) /* <CJK */
+MAP(0x5E, 0x38, 0x8B05) /* <CJK */
+MAP(0x5E, 0x39, 0x8B06) /* <CJK */
+MAP(0x5E, 0x3A, 0x8B0B) /* <CJK */
+MAP(0x5E, 0x3B, 0x8B11) /* <CJK */
+MAP(0x5E, 0x3C, 0x8B1C) /* <CJK */
+MAP(0x5E, 0x3D, 0x8B1E) /* <CJK */
+MAP(0x5E, 0x3E, 0x8B1F) /* <CJK */
+MAP(0x5E, 0x3F, 0x8B0A) /* <CJK */
+MAP(0x5E, 0x40, 0x8B2D) /* <CJK */
+MAP(0x5E, 0x41, 0x8B30) /* <CJK */
+MAP(0x5E, 0x42, 0x8B37) /* <CJK */
+MAP(0x5E, 0x43, 0x8B3C) /* <CJK */
+MAP(0x5E, 0x44, 0x8B42) /* <CJK */
+MAP(0x5E, 0x45, 0x8B43) /* <CJK */
+MAP(0x5E, 0x46, 0x8B44) /* <CJK */
+MAP(0x5E, 0x47, 0x8B45) /* <CJK */
+MAP(0x5E, 0x48, 0x8B46) /* <CJK */
+MAP(0x5E, 0x49, 0x8B48) /* <CJK */
+MAP(0x5E, 0x4A, 0x8B52) /* <CJK */
+MAP(0x5E, 0x4B, 0x8B53) /* <CJK */
+MAP(0x5E, 0x4C, 0x8B54) /* <CJK */
+MAP(0x5E, 0x4D, 0x8B59) /* <CJK */
+MAP(0x5E, 0x4E, 0x8B4D) /* <CJK */
+MAP(0x5E, 0x4F, 0x8B5E) /* <CJK */
+MAP(0x5E, 0x50, 0x8B63) /* <CJK */
+MAP(0x5E, 0x51, 0x8B6D) /* <CJK */
+MAP(0x5E, 0x52, 0x8B76) /* <CJK */
+MAP(0x5E, 0x53, 0x8B78) /* <CJK */
+MAP(0x5E, 0x54, 0x8B79) /* <CJK */
+MAP(0x5E, 0x55, 0x8B7C) /* <CJK */
+MAP(0x5E, 0x56, 0x8B7E) /* <CJK */
+MAP(0x5E, 0x57, 0x8B81) /* <CJK */
+MAP(0x5E, 0x58, 0x8B84) /* <CJK */
+MAP(0x5E, 0x59, 0x8B85) /* <CJK */
+MAP(0x5E, 0x5A, 0x8B8B) /* <CJK */
+MAP(0x5E, 0x5B, 0x8B8D) /* <CJK */
+MAP(0x5E, 0x5C, 0x8B8F) /* <CJK */
+MAP(0x5E, 0x5D, 0x8B94) /* <CJK */
+MAP(0x5E, 0x5E, 0x8B95) /* <CJK */
+MAP(0x5E, 0x5F, 0x8B9C) /* <CJK */
+MAP(0x5E, 0x60, 0x8B9E) /* <CJK */
+MAP(0x5E, 0x61, 0x8B9F) /* <CJK */
+MAP(0x5E, 0x62, 0x8C38) /* <CJK */
+MAP(0x5E, 0x63, 0x8C39) /* <CJK */
+MAP(0x5E, 0x64, 0x8C3D) /* <CJK */
+MAP(0x5E, 0x65, 0x8C3E) /* <CJK */
+MAP(0x5E, 0x66, 0x8C45) /* <CJK */
+MAP(0x5E, 0x67, 0x8C47) /* <CJK */
+MAP(0x5E, 0x68, 0x8C49) /* <CJK */
+MAP(0x5E, 0x69, 0x8C4B) /* <CJK */
+MAP(0x5E, 0x6A, 0x8C4F) /* <CJK */
+MAP(0x5E, 0x6B, 0x8C51) /* <CJK */
+MAP(0x5E, 0x6C, 0x8C53) /* <CJK */
+MAP(0x5E, 0x6D, 0x8C54) /* <CJK */
+MAP(0x5E, 0x6E, 0x8C57) /* <CJK */
+MAP(0x5E, 0x6F, 0x8C58) /* <CJK */
+MAP(0x5E, 0x70, 0x8C5B) /* <CJK */
+MAP(0x5E, 0x71, 0x8C5D) /* <CJK */
+MAP(0x5E, 0x72, 0x8C59) /* <CJK */
+MAP(0x5E, 0x73, 0x8C63) /* <CJK */
+MAP(0x5E, 0x74, 0x8C64) /* <CJK */
+MAP(0x5E, 0x75, 0x8C66) /* <CJK */
+MAP(0x5E, 0x76, 0x8C68) /* <CJK */
+MAP(0x5E, 0x77, 0x8C69) /* <CJK */
+MAP(0x5E, 0x78, 0x8C6D) /* <CJK */
+MAP(0x5E, 0x79, 0x8C73) /* <CJK */
+MAP(0x5E, 0x7A, 0x8C75) /* <CJK */
+MAP(0x5E, 0x7B, 0x8C76) /* <CJK */
+MAP(0x5E, 0x7C, 0x8C7B) /* <CJK */
+MAP(0x5E, 0x7D, 0x8C7E) /* <CJK */
+MAP(0x5E, 0x7E, 0x8C86) /* <CJK */
+MAP(0x5F, 0x21, 0x8C87) /* <CJK */
+MAP(0x5F, 0x22, 0x8C8B) /* <CJK */
+MAP(0x5F, 0x23, 0x8C90) /* <CJK */
+MAP(0x5F, 0x24, 0x8C92) /* <CJK */
+MAP(0x5F, 0x25, 0x8C93) /* <CJK */
+MAP(0x5F, 0x26, 0x8C99) /* <CJK */
+MAP(0x5F, 0x27, 0x8C9B) /* <CJK */
+MAP(0x5F, 0x28, 0x8C9C) /* <CJK */
+MAP(0x5F, 0x29, 0x8CA4) /* <CJK */
+MAP(0x5F, 0x2A, 0x8CB9) /* <CJK */
+MAP(0x5F, 0x2B, 0x8CBA) /* <CJK */
+MAP(0x5F, 0x2C, 0x8CC5) /* <CJK */
+MAP(0x5F, 0x2D, 0x8CC6) /* <CJK */
+MAP(0x5F, 0x2E, 0x8CC9) /* <CJK */
+MAP(0x5F, 0x2F, 0x8CCB) /* <CJK */
+MAP(0x5F, 0x30, 0x8CCF) /* <CJK */
+MAP(0x5F, 0x31, 0x8CD6) /* <CJK */
+MAP(0x5F, 0x32, 0x8CD5) /* <CJK */
+MAP(0x5F, 0x33, 0x8CD9) /* <CJK */
+MAP(0x5F, 0x34, 0x8CDD) /* <CJK */
+MAP(0x5F, 0x35, 0x8CE1) /* <CJK */
+MAP(0x5F, 0x36, 0x8CE8) /* <CJK */
+MAP(0x5F, 0x37, 0x8CEC) /* <CJK */
+MAP(0x5F, 0x38, 0x8CEF) /* <CJK */
+MAP(0x5F, 0x39, 0x8CF0) /* <CJK */
+MAP(0x5F, 0x3A, 0x8CF2) /* <CJK */
+MAP(0x5F, 0x3B, 0x8CF5) /* <CJK */
+MAP(0x5F, 0x3C, 0x8CF7) /* <CJK */
+MAP(0x5F, 0x3D, 0x8CF8) /* <CJK */
+MAP(0x5F, 0x3E, 0x8CFE) /* <CJK */
+MAP(0x5F, 0x3F, 0x8CFF) /* <CJK */
+MAP(0x5F, 0x40, 0x8D01) /* <CJK */
+MAP(0x5F, 0x41, 0x8D03) /* <CJK */
+MAP(0x5F, 0x42, 0x8D09) /* <CJK */
+MAP(0x5F, 0x43, 0x8D12) /* <CJK */
+MAP(0x5F, 0x44, 0x8D17) /* <CJK */
+MAP(0x5F, 0x45, 0x8D1B) /* <CJK */
+MAP(0x5F, 0x46, 0x8D65) /* <CJK */
+MAP(0x5F, 0x47, 0x8D69) /* <CJK */
+MAP(0x5F, 0x48, 0x8D6C) /* <CJK */
+MAP(0x5F, 0x49, 0x8D6E) /* <CJK */
+MAP(0x5F, 0x4A, 0x8D7F) /* <CJK */
+MAP(0x5F, 0x4B, 0x8D82) /* <CJK */
+MAP(0x5F, 0x4C, 0x8D84) /* <CJK */
+MAP(0x5F, 0x4D, 0x8D88) /* <CJK */
+MAP(0x5F, 0x4E, 0x8D8D) /* <CJK */
+MAP(0x5F, 0x4F, 0x8D90) /* <CJK */
+MAP(0x5F, 0x50, 0x8D91) /* <CJK */
+MAP(0x5F, 0x51, 0x8D95) /* <CJK */
+MAP(0x5F, 0x52, 0x8D9E) /* <CJK */
+MAP(0x5F, 0x53, 0x8D9F) /* <CJK */
+MAP(0x5F, 0x54, 0x8DA0) /* <CJK */
+MAP(0x5F, 0x55, 0x8DA6) /* <CJK */
+MAP(0x5F, 0x56, 0x8DAB) /* <CJK */
+MAP(0x5F, 0x57, 0x8DAC) /* <CJK */
+MAP(0x5F, 0x58, 0x8DAF) /* <CJK */
+MAP(0x5F, 0x59, 0x8DB2) /* <CJK */
+MAP(0x5F, 0x5A, 0x8DB5) /* <CJK */
+MAP(0x5F, 0x5B, 0x8DB7) /* <CJK */
+MAP(0x5F, 0x5C, 0x8DB9) /* <CJK */
+MAP(0x5F, 0x5D, 0x8DBB) /* <CJK */
+MAP(0x5F, 0x5E, 0x8DC0) /* <CJK */
+MAP(0x5F, 0x5F, 0x8DC5) /* <CJK */
+MAP(0x5F, 0x60, 0x8DC6) /* <CJK */
+MAP(0x5F, 0x61, 0x8DC7) /* <CJK */
+MAP(0x5F, 0x62, 0x8DC8) /* <CJK */
+MAP(0x5F, 0x63, 0x8DCA) /* <CJK */
+MAP(0x5F, 0x64, 0x8DCE) /* <CJK */
+MAP(0x5F, 0x65, 0x8DD1) /* <CJK */
+MAP(0x5F, 0x66, 0x8DD4) /* <CJK */
+MAP(0x5F, 0x67, 0x8DD5) /* <CJK */
+MAP(0x5F, 0x68, 0x8DD7) /* <CJK */
+MAP(0x5F, 0x69, 0x8DD9) /* <CJK */
+MAP(0x5F, 0x6A, 0x8DE4) /* <CJK */
+MAP(0x5F, 0x6B, 0x8DE5) /* <CJK */
+MAP(0x5F, 0x6C, 0x8DE7) /* <CJK */
+MAP(0x5F, 0x6D, 0x8DEC) /* <CJK */
+MAP(0x5F, 0x6E, 0x8DF0) /* <CJK */
+MAP(0x5F, 0x6F, 0x8DBC) /* <CJK */
+MAP(0x5F, 0x70, 0x8DF1) /* <CJK */
+MAP(0x5F, 0x71, 0x8DF2) /* <CJK */
+MAP(0x5F, 0x72, 0x8DF4) /* <CJK */
+MAP(0x5F, 0x73, 0x8DFD) /* <CJK */
+MAP(0x5F, 0x74, 0x8E01) /* <CJK */
+MAP(0x5F, 0x75, 0x8E04) /* <CJK */
+MAP(0x5F, 0x76, 0x8E05) /* <CJK */
+MAP(0x5F, 0x77, 0x8E06) /* <CJK */
+MAP(0x5F, 0x78, 0x8E0B) /* <CJK */
+MAP(0x5F, 0x79, 0x8E11) /* <CJK */
+MAP(0x5F, 0x7A, 0x8E14) /* <CJK */
+MAP(0x5F, 0x7B, 0x8E16) /* <CJK */
+MAP(0x5F, 0x7C, 0x8E20) /* <CJK */
+MAP(0x5F, 0x7D, 0x8E21) /* <CJK */
+MAP(0x5F, 0x7E, 0x8E22) /* <CJK */
+MAP(0x60, 0x21, 0x8E23) /* <CJK */
+MAP(0x60, 0x22, 0x8E26) /* <CJK */
+MAP(0x60, 0x23, 0x8E27) /* <CJK */
+MAP(0x60, 0x24, 0x8E31) /* <CJK */
+MAP(0x60, 0x25, 0x8E33) /* <CJK */
+MAP(0x60, 0x26, 0x8E36) /* <CJK */
+MAP(0x60, 0x27, 0x8E37) /* <CJK */
+MAP(0x60, 0x28, 0x8E38) /* <CJK */
+MAP(0x60, 0x29, 0x8E39) /* <CJK */
+MAP(0x60, 0x2A, 0x8E3D) /* <CJK */
+MAP(0x60, 0x2B, 0x8E40) /* <CJK */
+MAP(0x60, 0x2C, 0x8E41) /* <CJK */
+MAP(0x60, 0x2D, 0x8E4B) /* <CJK */
+MAP(0x60, 0x2E, 0x8E4D) /* <CJK */
+MAP(0x60, 0x2F, 0x8E4E) /* <CJK */
+MAP(0x60, 0x30, 0x8E4F) /* <CJK */
+MAP(0x60, 0x31, 0x8E54) /* <CJK */
+MAP(0x60, 0x32, 0x8E5B) /* <CJK */
+MAP(0x60, 0x33, 0x8E5C) /* <CJK */
+MAP(0x60, 0x34, 0x8E5D) /* <CJK */
+MAP(0x60, 0x35, 0x8E5E) /* <CJK */
+MAP(0x60, 0x36, 0x8E61) /* <CJK */
+MAP(0x60, 0x37, 0x8E62) /* <CJK */
+MAP(0x60, 0x38, 0x8E69) /* <CJK */
+MAP(0x60, 0x39, 0x8E6C) /* <CJK */
+MAP(0x60, 0x3A, 0x8E6D) /* <CJK */
+MAP(0x60, 0x3B, 0x8E6F) /* <CJK */
+MAP(0x60, 0x3C, 0x8E70) /* <CJK */
+MAP(0x60, 0x3D, 0x8E71) /* <CJK */
+MAP(0x60, 0x3E, 0x8E79) /* <CJK */
+MAP(0x60, 0x3F, 0x8E7A) /* <CJK */
+MAP(0x60, 0x40, 0x8E7B) /* <CJK */
+MAP(0x60, 0x41, 0x8E82) /* <CJK */
+MAP(0x60, 0x42, 0x8E83) /* <CJK */
+MAP(0x60, 0x43, 0x8E89) /* <CJK */
+MAP(0x60, 0x44, 0x8E90) /* <CJK */
+MAP(0x60, 0x45, 0x8E92) /* <CJK */
+MAP(0x60, 0x46, 0x8E95) /* <CJK */
+MAP(0x60, 0x47, 0x8E9A) /* <CJK */
+MAP(0x60, 0x48, 0x8E9B) /* <CJK */
+MAP(0x60, 0x49, 0x8E9D) /* <CJK */
+MAP(0x60, 0x4A, 0x8E9E) /* <CJK */
+MAP(0x60, 0x4B, 0x8EA2) /* <CJK */
+MAP(0x60, 0x4C, 0x8EA7) /* <CJK */
+MAP(0x60, 0x4D, 0x8EA9) /* <CJK */
+MAP(0x60, 0x4E, 0x8EAD) /* <CJK */
+MAP(0x60, 0x4F, 0x8EAE) /* <CJK */
+MAP(0x60, 0x50, 0x8EB3) /* <CJK */
+MAP(0x60, 0x51, 0x8EB5) /* <CJK */
+MAP(0x60, 0x52, 0x8EBA) /* <CJK */
+MAP(0x60, 0x53, 0x8EBB) /* <CJK */
+MAP(0x60, 0x54, 0x8EC0) /* <CJK */
+MAP(0x60, 0x55, 0x8EC1) /* <CJK */
+MAP(0x60, 0x56, 0x8EC3) /* <CJK */
+MAP(0x60, 0x57, 0x8EC4) /* <CJK */
+MAP(0x60, 0x58, 0x8EC7) /* <CJK */
+MAP(0x60, 0x59, 0x8ECF) /* <CJK */
+MAP(0x60, 0x5A, 0x8ED1) /* <CJK */
+MAP(0x60, 0x5B, 0x8ED4) /* <CJK */
+MAP(0x60, 0x5C, 0x8EDC) /* <CJK */
+MAP(0x60, 0x5D, 0x8EE8) /* <CJK */
+MAP(0x60, 0x5E, 0x8EEE) /* <CJK */
+MAP(0x60, 0x5F, 0x8EF0) /* <CJK */
+MAP(0x60, 0x60, 0x8EF1) /* <CJK */
+MAP(0x60, 0x61, 0x8EF7) /* <CJK */
+MAP(0x60, 0x62, 0x8EF9) /* <CJK */
+MAP(0x60, 0x63, 0x8EFA) /* <CJK */
+MAP(0x60, 0x64, 0x8EED) /* <CJK */
+MAP(0x60, 0x65, 0x8F00) /* <CJK */
+MAP(0x60, 0x66, 0x8F02) /* <CJK */
+MAP(0x60, 0x67, 0x8F07) /* <CJK */
+MAP(0x60, 0x68, 0x8F08) /* <CJK */
+MAP(0x60, 0x69, 0x8F0F) /* <CJK */
+MAP(0x60, 0x6A, 0x8F10) /* <CJK */
+MAP(0x60, 0x6B, 0x8F16) /* <CJK */
+MAP(0x60, 0x6C, 0x8F17) /* <CJK */
+MAP(0x60, 0x6D, 0x8F18) /* <CJK */
+MAP(0x60, 0x6E, 0x8F1E) /* <CJK */
+MAP(0x60, 0x6F, 0x8F20) /* <CJK */
+MAP(0x60, 0x70, 0x8F21) /* <CJK */
+MAP(0x60, 0x71, 0x8F23) /* <CJK */
+MAP(0x60, 0x72, 0x8F25) /* <CJK */
+MAP(0x60, 0x73, 0x8F27) /* <CJK */
+MAP(0x60, 0x74, 0x8F28) /* <CJK */
+MAP(0x60, 0x75, 0x8F2C) /* <CJK */
+MAP(0x60, 0x76, 0x8F2D) /* <CJK */
+MAP(0x60, 0x77, 0x8F2E) /* <CJK */
+MAP(0x60, 0x78, 0x8F34) /* <CJK */
+MAP(0x60, 0x79, 0x8F35) /* <CJK */
+MAP(0x60, 0x7A, 0x8F36) /* <CJK */
+MAP(0x60, 0x7B, 0x8F37) /* <CJK */
+MAP(0x60, 0x7C, 0x8F3A) /* <CJK */
+MAP(0x60, 0x7D, 0x8F40) /* <CJK */
+MAP(0x60, 0x7E, 0x8F41) /* <CJK */
+MAP(0x61, 0x21, 0x8F43) /* <CJK */
+MAP(0x61, 0x22, 0x8F47) /* <CJK */
+MAP(0x61, 0x23, 0x8F4F) /* <CJK */
+MAP(0x61, 0x24, 0x8F51) /* <CJK */
+MAP(0x61, 0x25, 0x8F52) /* <CJK */
+MAP(0x61, 0x26, 0x8F53) /* <CJK */
+MAP(0x61, 0x27, 0x8F54) /* <CJK */
+MAP(0x61, 0x28, 0x8F55) /* <CJK */
+MAP(0x61, 0x29, 0x8F58) /* <CJK */
+MAP(0x61, 0x2A, 0x8F5D) /* <CJK */
+MAP(0x61, 0x2B, 0x8F5E) /* <CJK */
+MAP(0x61, 0x2C, 0x8F65) /* <CJK */
+MAP(0x61, 0x2D, 0x8F9D) /* <CJK */
+MAP(0x61, 0x2E, 0x8FA0) /* <CJK */
+MAP(0x61, 0x2F, 0x8FA1) /* <CJK */
+MAP(0x61, 0x30, 0x8FA4) /* <CJK */
+MAP(0x61, 0x31, 0x8FA5) /* <CJK */
+MAP(0x61, 0x32, 0x8FA6) /* <CJK */
+MAP(0x61, 0x33, 0x8FB5) /* <CJK */
+MAP(0x61, 0x34, 0x8FB6) /* <CJK */
+MAP(0x61, 0x35, 0x8FB8) /* <CJK */
+MAP(0x61, 0x36, 0x8FBE) /* <CJK */
+MAP(0x61, 0x37, 0x8FC0) /* <CJK */
+MAP(0x61, 0x38, 0x8FC1) /* <CJK */
+MAP(0x61, 0x39, 0x8FC6) /* <CJK */
+MAP(0x61, 0x3A, 0x8FCA) /* <CJK */
+MAP(0x61, 0x3B, 0x8FCB) /* <CJK */
+MAP(0x61, 0x3C, 0x8FCD) /* <CJK */
+MAP(0x61, 0x3D, 0x8FD0) /* <CJK */
+MAP(0x61, 0x3E, 0x8FD2) /* <CJK */
+MAP(0x61, 0x3F, 0x8FD3) /* <CJK */
+MAP(0x61, 0x40, 0x8FD5) /* <CJK */
+MAP(0x61, 0x41, 0x8FE0) /* <CJK */
+MAP(0x61, 0x42, 0x8FE3) /* <CJK */
+MAP(0x61, 0x43, 0x8FE4) /* <CJK */
+MAP(0x61, 0x44, 0x8FE8) /* <CJK */
+MAP(0x61, 0x45, 0x8FEE) /* <CJK */
+MAP(0x61, 0x46, 0x8FF1) /* <CJK */
+MAP(0x61, 0x47, 0x8FF5) /* <CJK */
+MAP(0x61, 0x48, 0x8FF6) /* <CJK */
+MAP(0x61, 0x49, 0x8FFB) /* <CJK */
+MAP(0x61, 0x4A, 0x8FFE) /* <CJK */
+MAP(0x61, 0x4B, 0x9002) /* <CJK */
+MAP(0x61, 0x4C, 0x9004) /* <CJK */
+MAP(0x61, 0x4D, 0x9008) /* <CJK */
+MAP(0x61, 0x4E, 0x900C) /* <CJK */
+MAP(0x61, 0x4F, 0x9018) /* <CJK */
+MAP(0x61, 0x50, 0x901B) /* <CJK */
+MAP(0x61, 0x51, 0x9028) /* <CJK */
+MAP(0x61, 0x52, 0x9029) /* <CJK */
+MAP(0x61, 0x53, 0x902F) /* <CJK */
+MAP(0x61, 0x54, 0x902A) /* <CJK */
+MAP(0x61, 0x55, 0x902C) /* <CJK */
+MAP(0x61, 0x56, 0x902D) /* <CJK */
+MAP(0x61, 0x57, 0x9033) /* <CJK */
+MAP(0x61, 0x58, 0x9034) /* <CJK */
+MAP(0x61, 0x59, 0x9037) /* <CJK */
+MAP(0x61, 0x5A, 0x903F) /* <CJK */
+MAP(0x61, 0x5B, 0x9043) /* <CJK */
+MAP(0x61, 0x5C, 0x9044) /* <CJK */
+MAP(0x61, 0x5D, 0x904C) /* <CJK */
+MAP(0x61, 0x5E, 0x905B) /* <CJK */
+MAP(0x61, 0x5F, 0x905D) /* <CJK */
+MAP(0x61, 0x60, 0x9062) /* <CJK */
+MAP(0x61, 0x61, 0x9066) /* <CJK */
+MAP(0x61, 0x62, 0x9067) /* <CJK */
+MAP(0x61, 0x63, 0x906C) /* <CJK */
+MAP(0x61, 0x64, 0x9070) /* <CJK */
+MAP(0x61, 0x65, 0x9074) /* <CJK */
+MAP(0x61, 0x66, 0x9079) /* <CJK */
+MAP(0x61, 0x67, 0x9085) /* <CJK */
+MAP(0x61, 0x68, 0x9088) /* <CJK */
+MAP(0x61, 0x69, 0x908B) /* <CJK */
+MAP(0x61, 0x6A, 0x908C) /* <CJK */
+MAP(0x61, 0x6B, 0x908E) /* <CJK */
+MAP(0x61, 0x6C, 0x9090) /* <CJK */
+MAP(0x61, 0x6D, 0x9095) /* <CJK */
+MAP(0x61, 0x6E, 0x9097) /* <CJK */
+MAP(0x61, 0x6F, 0x9098) /* <CJK */
+MAP(0x61, 0x70, 0x9099) /* <CJK */
+MAP(0x61, 0x71, 0x909B) /* <CJK */
+MAP(0x61, 0x72, 0x90A0) /* <CJK */
+MAP(0x61, 0x73, 0x90A1) /* <CJK */
+MAP(0x61, 0x74, 0x90A2) /* <CJK */
+MAP(0x61, 0x75, 0x90A5) /* <CJK */
+MAP(0x61, 0x76, 0x90B0) /* <CJK */
+MAP(0x61, 0x77, 0x90B2) /* <CJK */
+MAP(0x61, 0x78, 0x90B3) /* <CJK */
+MAP(0x61, 0x79, 0x90B4) /* <CJK */
+MAP(0x61, 0x7A, 0x90B6) /* <CJK */
+MAP(0x61, 0x7B, 0x90BD) /* <CJK */
+MAP(0x61, 0x7C, 0x90CC) /* <CJK */
+MAP(0x61, 0x7D, 0x90BE) /* <CJK */
+MAP(0x61, 0x7E, 0x90C3) /* <CJK */
+MAP(0x62, 0x21, 0x90C4) /* <CJK */
+MAP(0x62, 0x22, 0x90C5) /* <CJK */
+MAP(0x62, 0x23, 0x90C7) /* <CJK */
+MAP(0x62, 0x24, 0x90C8) /* <CJK */
+MAP(0x62, 0x25, 0x90D5) /* <CJK */
+MAP(0x62, 0x26, 0x90D7) /* <CJK */
+MAP(0x62, 0x27, 0x90D8) /* <CJK */
+MAP(0x62, 0x28, 0x90D9) /* <CJK */
+MAP(0x62, 0x29, 0x90DC) /* <CJK */
+MAP(0x62, 0x2A, 0x90DD) /* <CJK */
+MAP(0x62, 0x2B, 0x90DF) /* <CJK */
+MAP(0x62, 0x2C, 0x90E5) /* <CJK */
+MAP(0x62, 0x2D, 0x90D2) /* <CJK */
+MAP(0x62, 0x2E, 0x90F6) /* <CJK */
+MAP(0x62, 0x2F, 0x90EB) /* <CJK */
+MAP(0x62, 0x30, 0x90EF) /* <CJK */
+MAP(0x62, 0x31, 0x90F0) /* <CJK */
+MAP(0x62, 0x32, 0x90F4) /* <CJK */
+MAP(0x62, 0x33, 0x90FE) /* <CJK */
+MAP(0x62, 0x34, 0x90FF) /* <CJK */
+MAP(0x62, 0x35, 0x9100) /* <CJK */
+MAP(0x62, 0x36, 0x9104) /* <CJK */
+MAP(0x62, 0x37, 0x9105) /* <CJK */
+MAP(0x62, 0x38, 0x9106) /* <CJK */
+MAP(0x62, 0x39, 0x9108) /* <CJK */
+MAP(0x62, 0x3A, 0x910D) /* <CJK */
+MAP(0x62, 0x3B, 0x9110) /* <CJK */
+MAP(0x62, 0x3C, 0x9114) /* <CJK */
+MAP(0x62, 0x3D, 0x9116) /* <CJK */
+MAP(0x62, 0x3E, 0x9117) /* <CJK */
+MAP(0x62, 0x3F, 0x9118) /* <CJK */
+MAP(0x62, 0x40, 0x911A) /* <CJK */
+MAP(0x62, 0x41, 0x911C) /* <CJK */
+MAP(0x62, 0x42, 0x911E) /* <CJK */
+MAP(0x62, 0x43, 0x9120) /* <CJK */
+MAP(0x62, 0x44, 0x9125) /* <CJK */
+MAP(0x62, 0x45, 0x9122) /* <CJK */
+MAP(0x62, 0x46, 0x9123) /* <CJK */
+MAP(0x62, 0x47, 0x9127) /* <CJK */
+MAP(0x62, 0x48, 0x9129) /* <CJK */
+MAP(0x62, 0x49, 0x912E) /* <CJK */
+MAP(0x62, 0x4A, 0x912F) /* <CJK */
+MAP(0x62, 0x4B, 0x9131) /* <CJK */
+MAP(0x62, 0x4C, 0x9134) /* <CJK */
+MAP(0x62, 0x4D, 0x9136) /* <CJK */
+MAP(0x62, 0x4E, 0x9137) /* <CJK */
+MAP(0x62, 0x4F, 0x9139) /* <CJK */
+MAP(0x62, 0x50, 0x913A) /* <CJK */
+MAP(0x62, 0x51, 0x913C) /* <CJK */
+MAP(0x62, 0x52, 0x913D) /* <CJK */
+MAP(0x62, 0x53, 0x9143) /* <CJK */
+MAP(0x62, 0x54, 0x9147) /* <CJK */
+MAP(0x62, 0x55, 0x9148) /* <CJK */
+MAP(0x62, 0x56, 0x914F) /* <CJK */
+MAP(0x62, 0x57, 0x9153) /* <CJK */
+MAP(0x62, 0x58, 0x9157) /* <CJK */
+MAP(0x62, 0x59, 0x9159) /* <CJK */
+MAP(0x62, 0x5A, 0x915A) /* <CJK */
+MAP(0x62, 0x5B, 0x915B) /* <CJK */
+MAP(0x62, 0x5C, 0x9161) /* <CJK */
+MAP(0x62, 0x5D, 0x9164) /* <CJK */
+MAP(0x62, 0x5E, 0x9167) /* <CJK */
+MAP(0x62, 0x5F, 0x916D) /* <CJK */
+MAP(0x62, 0x60, 0x9174) /* <CJK */
+MAP(0x62, 0x61, 0x9179) /* <CJK */
+MAP(0x62, 0x62, 0x917A) /* <CJK */
+MAP(0x62, 0x63, 0x917B) /* <CJK */
+MAP(0x62, 0x64, 0x9181) /* <CJK */
+MAP(0x62, 0x65, 0x9183) /* <CJK */
+MAP(0x62, 0x66, 0x9185) /* <CJK */
+MAP(0x62, 0x67, 0x9186) /* <CJK */
+MAP(0x62, 0x68, 0x918A) /* <CJK */
+MAP(0x62, 0x69, 0x918E) /* <CJK */
+MAP(0x62, 0x6A, 0x9191) /* <CJK */
+MAP(0x62, 0x6B, 0x9193) /* <CJK */
+MAP(0x62, 0x6C, 0x9194) /* <CJK */
+MAP(0x62, 0x6D, 0x9195) /* <CJK */
+MAP(0x62, 0x6E, 0x9198) /* <CJK */
+MAP(0x62, 0x6F, 0x919E) /* <CJK */
+MAP(0x62, 0x70, 0x91A1) /* <CJK */
+MAP(0x62, 0x71, 0x91A6) /* <CJK */
+MAP(0x62, 0x72, 0x91A8) /* <CJK */
+MAP(0x62, 0x73, 0x91AC) /* <CJK */
+MAP(0x62, 0x74, 0x91AD) /* <CJK */
+MAP(0x62, 0x75, 0x91AE) /* <CJK */
+MAP(0x62, 0x76, 0x91B0) /* <CJK */
+MAP(0x62, 0x77, 0x91B1) /* <CJK */
+MAP(0x62, 0x78, 0x91B2) /* <CJK */
+MAP(0x62, 0x79, 0x91B3) /* <CJK */
+MAP(0x62, 0x7A, 0x91B6) /* <CJK */
+MAP(0x62, 0x7B, 0x91BB) /* <CJK */
+MAP(0x62, 0x7C, 0x91BC) /* <CJK */
+MAP(0x62, 0x7D, 0x91BD) /* <CJK */
+MAP(0x62, 0x7E, 0x91BF) /* <CJK */
+MAP(0x63, 0x21, 0x91C2) /* <CJK */
+MAP(0x63, 0x22, 0x91C3) /* <CJK */
+MAP(0x63, 0x23, 0x91C5) /* <CJK */
+MAP(0x63, 0x24, 0x91D3) /* <CJK */
+MAP(0x63, 0x25, 0x91D4) /* <CJK */
+MAP(0x63, 0x26, 0x91D7) /* <CJK */
+MAP(0x63, 0x27, 0x91D9) /* <CJK */
+MAP(0x63, 0x28, 0x91DA) /* <CJK */
+MAP(0x63, 0x29, 0x91DE) /* <CJK */
+MAP(0x63, 0x2A, 0x91E4) /* <CJK */
+MAP(0x63, 0x2B, 0x91E5) /* <CJK */
+MAP(0x63, 0x2C, 0x91E9) /* <CJK */
+MAP(0x63, 0x2D, 0x91EA) /* <CJK */
+MAP(0x63, 0x2E, 0x91EC) /* <CJK */
+MAP(0x63, 0x2F, 0x91ED) /* <CJK */
+MAP(0x63, 0x30, 0x91EE) /* <CJK */
+MAP(0x63, 0x31, 0x91EF) /* <CJK */
+MAP(0x63, 0x32, 0x91F0) /* <CJK */
+MAP(0x63, 0x33, 0x91F1) /* <CJK */
+MAP(0x63, 0x34, 0x91F7) /* <CJK */
+MAP(0x63, 0x35, 0x91F9) /* <CJK */
+MAP(0x63, 0x36, 0x91FB) /* <CJK */
+MAP(0x63, 0x37, 0x91FD) /* <CJK */
+MAP(0x63, 0x38, 0x9200) /* <CJK */
+MAP(0x63, 0x39, 0x9201) /* <CJK */
+MAP(0x63, 0x3A, 0x9204) /* <CJK */
+MAP(0x63, 0x3B, 0x9205) /* <CJK */
+MAP(0x63, 0x3C, 0x9206) /* <CJK */
+MAP(0x63, 0x3D, 0x9207) /* <CJK */
+MAP(0x63, 0x3E, 0x9209) /* <CJK */
+MAP(0x63, 0x3F, 0x920A) /* <CJK */
+MAP(0x63, 0x40, 0x920C) /* <CJK */
+MAP(0x63, 0x41, 0x9210) /* <CJK */
+MAP(0x63, 0x42, 0x9212) /* <CJK */
+MAP(0x63, 0x43, 0x9213) /* <CJK */
+MAP(0x63, 0x44, 0x9216) /* <CJK */
+MAP(0x63, 0x45, 0x9218) /* <CJK */
+MAP(0x63, 0x46, 0x921C) /* <CJK */
+MAP(0x63, 0x47, 0x921D) /* <CJK */
+MAP(0x63, 0x48, 0x9223) /* <CJK */
+MAP(0x63, 0x49, 0x9224) /* <CJK */
+MAP(0x63, 0x4A, 0x9225) /* <CJK */
+MAP(0x63, 0x4B, 0x9226) /* <CJK */
+MAP(0x63, 0x4C, 0x9228) /* <CJK */
+MAP(0x63, 0x4D, 0x922E) /* <CJK */
+MAP(0x63, 0x4E, 0x922F) /* <CJK */
+MAP(0x63, 0x4F, 0x9230) /* <CJK */
+MAP(0x63, 0x50, 0x9233) /* <CJK */
+MAP(0x63, 0x51, 0x9235) /* <CJK */
+MAP(0x63, 0x52, 0x9236) /* <CJK */
+MAP(0x63, 0x53, 0x9238) /* <CJK */
+MAP(0x63, 0x54, 0x9239) /* <CJK */
+MAP(0x63, 0x55, 0x923A) /* <CJK */
+MAP(0x63, 0x56, 0x923C) /* <CJK */
+MAP(0x63, 0x57, 0x923E) /* <CJK */
+MAP(0x63, 0x58, 0x9240) /* <CJK */
+MAP(0x63, 0x59, 0x9242) /* <CJK */
+MAP(0x63, 0x5A, 0x9243) /* <CJK */
+MAP(0x63, 0x5B, 0x9246) /* <CJK */
+MAP(0x63, 0x5C, 0x9247) /* <CJK */
+MAP(0x63, 0x5D, 0x924A) /* <CJK */
+MAP(0x63, 0x5E, 0x924D) /* <CJK */
+MAP(0x63, 0x5F, 0x924E) /* <CJK */
+MAP(0x63, 0x60, 0x924F) /* <CJK */
+MAP(0x63, 0x61, 0x9251) /* <CJK */
+MAP(0x63, 0x62, 0x9258) /* <CJK */
+MAP(0x63, 0x63, 0x9259) /* <CJK */
+MAP(0x63, 0x64, 0x925C) /* <CJK */
+MAP(0x63, 0x65, 0x925D) /* <CJK */
+MAP(0x63, 0x66, 0x9260) /* <CJK */
+MAP(0x63, 0x67, 0x9261) /* <CJK */
+MAP(0x63, 0x68, 0x9265) /* <CJK */
+MAP(0x63, 0x69, 0x9267) /* <CJK */
+MAP(0x63, 0x6A, 0x9268) /* <CJK */
+MAP(0x63, 0x6B, 0x9269) /* <CJK */
+MAP(0x63, 0x6C, 0x926E) /* <CJK */
+MAP(0x63, 0x6D, 0x926F) /* <CJK */
+MAP(0x63, 0x6E, 0x9270) /* <CJK */
+MAP(0x63, 0x6F, 0x9275) /* <CJK */
+MAP(0x63, 0x70, 0x9276) /* <CJK */
+MAP(0x63, 0x71, 0x9277) /* <CJK */
+MAP(0x63, 0x72, 0x9278) /* <CJK */
+MAP(0x63, 0x73, 0x9279) /* <CJK */
+MAP(0x63, 0x74, 0x927B) /* <CJK */
+MAP(0x63, 0x75, 0x927C) /* <CJK */
+MAP(0x63, 0x76, 0x927D) /* <CJK */
+MAP(0x63, 0x77, 0x927F) /* <CJK */
+MAP(0x63, 0x78, 0x9288) /* <CJK */
+MAP(0x63, 0x79, 0x9289) /* <CJK */
+MAP(0x63, 0x7A, 0x928A) /* <CJK */
+MAP(0x63, 0x7B, 0x928D) /* <CJK */
+MAP(0x63, 0x7C, 0x928E) /* <CJK */
+MAP(0x63, 0x7D, 0x9292) /* <CJK */
+MAP(0x63, 0x7E, 0x9297) /* <CJK */
+MAP(0x64, 0x21, 0x9299) /* <CJK */
+MAP(0x64, 0x22, 0x929F) /* <CJK */
+MAP(0x64, 0x23, 0x92A0) /* <CJK */
+MAP(0x64, 0x24, 0x92A4) /* <CJK */
+MAP(0x64, 0x25, 0x92A5) /* <CJK */
+MAP(0x64, 0x26, 0x92A7) /* <CJK */
+MAP(0x64, 0x27, 0x92A8) /* <CJK */
+MAP(0x64, 0x28, 0x92AB) /* <CJK */
+MAP(0x64, 0x29, 0x92AF) /* <CJK */
+MAP(0x64, 0x2A, 0x92B2) /* <CJK */
+MAP(0x64, 0x2B, 0x92B6) /* <CJK */
+MAP(0x64, 0x2C, 0x92B8) /* <CJK */
+MAP(0x64, 0x2D, 0x92BA) /* <CJK */
+MAP(0x64, 0x2E, 0x92BB) /* <CJK */
+MAP(0x64, 0x2F, 0x92BC) /* <CJK */
+MAP(0x64, 0x30, 0x92BD) /* <CJK */
+MAP(0x64, 0x31, 0x92BF) /* <CJK */
+MAP(0x64, 0x32, 0x92C0) /* <CJK */
+MAP(0x64, 0x33, 0x92C1) /* <CJK */
+MAP(0x64, 0x34, 0x92C2) /* <CJK */
+MAP(0x64, 0x35, 0x92C3) /* <CJK */
+MAP(0x64, 0x36, 0x92C5) /* <CJK */
+MAP(0x64, 0x37, 0x92C6) /* <CJK */
+MAP(0x64, 0x38, 0x92C7) /* <CJK */
+MAP(0x64, 0x39, 0x92C8) /* <CJK */
+MAP(0x64, 0x3A, 0x92CB) /* <CJK */
+MAP(0x64, 0x3B, 0x92CC) /* <CJK */
+MAP(0x64, 0x3C, 0x92CD) /* <CJK */
+MAP(0x64, 0x3D, 0x92CE) /* <CJK */
+MAP(0x64, 0x3E, 0x92D0) /* <CJK */
+MAP(0x64, 0x3F, 0x92D3) /* <CJK */
+MAP(0x64, 0x40, 0x92D5) /* <CJK */
+MAP(0x64, 0x41, 0x92D7) /* <CJK */
+MAP(0x64, 0x42, 0x92D8) /* <CJK */
+MAP(0x64, 0x43, 0x92D9) /* <CJK */
+MAP(0x64, 0x44, 0x92DC) /* <CJK */
+MAP(0x64, 0x45, 0x92DD) /* <CJK */
+MAP(0x64, 0x46, 0x92DF) /* <CJK */
+MAP(0x64, 0x47, 0x92E0) /* <CJK */
+MAP(0x64, 0x48, 0x92E1) /* <CJK */
+MAP(0x64, 0x49, 0x92E3) /* <CJK */
+MAP(0x64, 0x4A, 0x92E5) /* <CJK */
+MAP(0x64, 0x4B, 0x92E7) /* <CJK */
+MAP(0x64, 0x4C, 0x92E8) /* <CJK */
+MAP(0x64, 0x4D, 0x92EC) /* <CJK */
+MAP(0x64, 0x4E, 0x92EE) /* <CJK */
+MAP(0x64, 0x4F, 0x92F0) /* <CJK */
+MAP(0x64, 0x50, 0x92F9) /* <CJK */
+MAP(0x64, 0x51, 0x92FB) /* <CJK */
+MAP(0x64, 0x52, 0x92FF) /* <CJK */
+MAP(0x64, 0x53, 0x9300) /* <CJK */
+MAP(0x64, 0x54, 0x9302) /* <CJK */
+MAP(0x64, 0x55, 0x9308) /* <CJK */
+MAP(0x64, 0x56, 0x930D) /* <CJK */
+MAP(0x64, 0x57, 0x9311) /* <CJK */
+MAP(0x64, 0x58, 0x9314) /* <CJK */
+MAP(0x64, 0x59, 0x9315) /* <CJK */
+MAP(0x64, 0x5A, 0x931C) /* <CJK */
+MAP(0x64, 0x5B, 0x931D) /* <CJK */
+MAP(0x64, 0x5C, 0x931E) /* <CJK */
+MAP(0x64, 0x5D, 0x931F) /* <CJK */
+MAP(0x64, 0x5E, 0x9321) /* <CJK */
+MAP(0x64, 0x5F, 0x9324) /* <CJK */
+MAP(0x64, 0x60, 0x9325) /* <CJK */
+MAP(0x64, 0x61, 0x9327) /* <CJK */
+MAP(0x64, 0x62, 0x9329) /* <CJK */
+MAP(0x64, 0x63, 0x932A) /* <CJK */
+MAP(0x64, 0x64, 0x9333) /* <CJK */
+MAP(0x64, 0x65, 0x9334) /* <CJK */
+MAP(0x64, 0x66, 0x9336) /* <CJK */
+MAP(0x64, 0x67, 0x9337) /* <CJK */
+MAP(0x64, 0x68, 0x9347) /* <CJK */
+MAP(0x64, 0x69, 0x9348) /* <CJK */
+MAP(0x64, 0x6A, 0x9349) /* <CJK */
+MAP(0x64, 0x6B, 0x9350) /* <CJK */
+MAP(0x64, 0x6C, 0x9351) /* <CJK */
+MAP(0x64, 0x6D, 0x9352) /* <CJK */
+MAP(0x64, 0x6E, 0x9355) /* <CJK */
+MAP(0x64, 0x6F, 0x9357) /* <CJK */
+MAP(0x64, 0x70, 0x9358) /* <CJK */
+MAP(0x64, 0x71, 0x935A) /* <CJK */
+MAP(0x64, 0x72, 0x935E) /* <CJK */
+MAP(0x64, 0x73, 0x9364) /* <CJK */
+MAP(0x64, 0x74, 0x9365) /* <CJK */
+MAP(0x64, 0x75, 0x9367) /* <CJK */
+MAP(0x64, 0x76, 0x9369) /* <CJK */
+MAP(0x64, 0x77, 0x936A) /* <CJK */
+MAP(0x64, 0x78, 0x936D) /* <CJK */
+MAP(0x64, 0x79, 0x936F) /* <CJK */
+MAP(0x64, 0x7A, 0x9370) /* <CJK */
+MAP(0x64, 0x7B, 0x9371) /* <CJK */
+MAP(0x64, 0x7C, 0x9373) /* <CJK */
+MAP(0x64, 0x7D, 0x9374) /* <CJK */
+MAP(0x64, 0x7E, 0x9376) /* <CJK */
+MAP(0x65, 0x21, 0x937A) /* <CJK */
+MAP(0x65, 0x22, 0x937D) /* <CJK */
+MAP(0x65, 0x23, 0x937F) /* <CJK */
+MAP(0x65, 0x24, 0x9380) /* <CJK */
+MAP(0x65, 0x25, 0x9381) /* <CJK */
+MAP(0x65, 0x26, 0x9382) /* <CJK */
+MAP(0x65, 0x27, 0x9388) /* <CJK */
+MAP(0x65, 0x28, 0x938A) /* <CJK */
+MAP(0x65, 0x29, 0x938B) /* <CJK */
+MAP(0x65, 0x2A, 0x938D) /* <CJK */
+MAP(0x65, 0x2B, 0x938F) /* <CJK */
+MAP(0x65, 0x2C, 0x9392) /* <CJK */
+MAP(0x65, 0x2D, 0x9395) /* <CJK */
+MAP(0x65, 0x2E, 0x9398) /* <CJK */
+MAP(0x65, 0x2F, 0x939B) /* <CJK */
+MAP(0x65, 0x30, 0x939E) /* <CJK */
+MAP(0x65, 0x31, 0x93A1) /* <CJK */
+MAP(0x65, 0x32, 0x93A3) /* <CJK */
+MAP(0x65, 0x33, 0x93A4) /* <CJK */
+MAP(0x65, 0x34, 0x93A6) /* <CJK */
+MAP(0x65, 0x35, 0x93A8) /* <CJK */
+MAP(0x65, 0x36, 0x93AB) /* <CJK */
+MAP(0x65, 0x37, 0x93B4) /* <CJK */
+MAP(0x65, 0x38, 0x93B5) /* <CJK */
+MAP(0x65, 0x39, 0x93B6) /* <CJK */
+MAP(0x65, 0x3A, 0x93BA) /* <CJK */
+MAP(0x65, 0x3B, 0x93A9) /* <CJK */
+MAP(0x65, 0x3C, 0x93C1) /* <CJK */
+MAP(0x65, 0x3D, 0x93C4) /* <CJK */
+MAP(0x65, 0x3E, 0x93C5) /* <CJK */
+MAP(0x65, 0x3F, 0x93C6) /* <CJK */
+MAP(0x65, 0x40, 0x93C7) /* <CJK */
+MAP(0x65, 0x41, 0x93C9) /* <CJK */
+MAP(0x65, 0x42, 0x93CA) /* <CJK */
+MAP(0x65, 0x43, 0x93CB) /* <CJK */
+MAP(0x65, 0x44, 0x93CC) /* <CJK */
+MAP(0x65, 0x45, 0x93CD) /* <CJK */
+MAP(0x65, 0x46, 0x93D3) /* <CJK */
+MAP(0x65, 0x47, 0x93D9) /* <CJK */
+MAP(0x65, 0x48, 0x93DC) /* <CJK */
+MAP(0x65, 0x49, 0x93DE) /* <CJK */
+MAP(0x65, 0x4A, 0x93DF) /* <CJK */
+MAP(0x65, 0x4B, 0x93E2) /* <CJK */
+MAP(0x65, 0x4C, 0x93E6) /* <CJK */
+MAP(0x65, 0x4D, 0x93E7) /* <CJK */
+MAP(0x65, 0x4E, 0x93F9) /* <CJK */
+MAP(0x65, 0x4F, 0x93F7) /* <CJK */
+MAP(0x65, 0x50, 0x93F8) /* <CJK */
+MAP(0x65, 0x51, 0x93FA) /* <CJK */
+MAP(0x65, 0x52, 0x93FB) /* <CJK */
+MAP(0x65, 0x53, 0x93FD) /* <CJK */
+MAP(0x65, 0x54, 0x9401) /* <CJK */
+MAP(0x65, 0x55, 0x9402) /* <CJK */
+MAP(0x65, 0x56, 0x9404) /* <CJK */
+MAP(0x65, 0x57, 0x9408) /* <CJK */
+MAP(0x65, 0x58, 0x9409) /* <CJK */
+MAP(0x65, 0x59, 0x940D) /* <CJK */
+MAP(0x65, 0x5A, 0x940E) /* <CJK */
+MAP(0x65, 0x5B, 0x940F) /* <CJK */
+MAP(0x65, 0x5C, 0x9415) /* <CJK */
+MAP(0x65, 0x5D, 0x9416) /* <CJK */
+MAP(0x65, 0x5E, 0x9417) /* <CJK */
+MAP(0x65, 0x5F, 0x941F) /* <CJK */
+MAP(0x65, 0x60, 0x942E) /* <CJK */
+MAP(0x65, 0x61, 0x942F) /* <CJK */
+MAP(0x65, 0x62, 0x9431) /* <CJK */
+MAP(0x65, 0x63, 0x9432) /* <CJK */
+MAP(0x65, 0x64, 0x9433) /* <CJK */
+MAP(0x65, 0x65, 0x9434) /* <CJK */
+MAP(0x65, 0x66, 0x943B) /* <CJK */
+MAP(0x65, 0x67, 0x943F) /* <CJK */
+MAP(0x65, 0x68, 0x943D) /* <CJK */
+MAP(0x65, 0x69, 0x9443) /* <CJK */
+MAP(0x65, 0x6A, 0x9445) /* <CJK */
+MAP(0x65, 0x6B, 0x9448) /* <CJK */
+MAP(0x65, 0x6C, 0x944A) /* <CJK */
+MAP(0x65, 0x6D, 0x944C) /* <CJK */
+MAP(0x65, 0x6E, 0x9455) /* <CJK */
+MAP(0x65, 0x6F, 0x9459) /* <CJK */
+MAP(0x65, 0x70, 0x945C) /* <CJK */
+MAP(0x65, 0x71, 0x945F) /* <CJK */
+MAP(0x65, 0x72, 0x9461) /* <CJK */
+MAP(0x65, 0x73, 0x9463) /* <CJK */
+MAP(0x65, 0x74, 0x9468) /* <CJK */
+MAP(0x65, 0x75, 0x946B) /* <CJK */
+MAP(0x65, 0x76, 0x946D) /* <CJK */
+MAP(0x65, 0x77, 0x946E) /* <CJK */
+MAP(0x65, 0x78, 0x946F) /* <CJK */
+MAP(0x65, 0x79, 0x9471) /* <CJK */
+MAP(0x65, 0x7A, 0x9472) /* <CJK */
+MAP(0x65, 0x7B, 0x9484) /* <CJK */
+MAP(0x65, 0x7C, 0x9483) /* <CJK */
+MAP(0x65, 0x7D, 0x9578) /* <CJK */
+MAP(0x65, 0x7E, 0x9579) /* <CJK */
+MAP(0x66, 0x21, 0x957E) /* <CJK */
+MAP(0x66, 0x22, 0x9584) /* <CJK */
+MAP(0x66, 0x23, 0x9588) /* <CJK */
+MAP(0x66, 0x24, 0x958C) /* <CJK */
+MAP(0x66, 0x25, 0x958D) /* <CJK */
+MAP(0x66, 0x26, 0x958E) /* <CJK */
+MAP(0x66, 0x27, 0x959D) /* <CJK */
+MAP(0x66, 0x28, 0x959E) /* <CJK */
+MAP(0x66, 0x29, 0x959F) /* <CJK */
+MAP(0x66, 0x2A, 0x95A1) /* <CJK */
+MAP(0x66, 0x2B, 0x95A6) /* <CJK */
+MAP(0x66, 0x2C, 0x95A9) /* <CJK */
+MAP(0x66, 0x2D, 0x95AB) /* <CJK */
+MAP(0x66, 0x2E, 0x95AC) /* <CJK */
+MAP(0x66, 0x2F, 0x95B4) /* <CJK */
+MAP(0x66, 0x30, 0x95B6) /* <CJK */
+MAP(0x66, 0x31, 0x95BA) /* <CJK */
+MAP(0x66, 0x32, 0x95BD) /* <CJK */
+MAP(0x66, 0x33, 0x95BF) /* <CJK */
+MAP(0x66, 0x34, 0x95C6) /* <CJK */
+MAP(0x66, 0x35, 0x95C8) /* <CJK */
+MAP(0x66, 0x36, 0x95C9) /* <CJK */
+MAP(0x66, 0x37, 0x95CB) /* <CJK */
+MAP(0x66, 0x38, 0x95D0) /* <CJK */
+MAP(0x66, 0x39, 0x95D1) /* <CJK */
+MAP(0x66, 0x3A, 0x95D2) /* <CJK */
+MAP(0x66, 0x3B, 0x95D3) /* <CJK */
+MAP(0x66, 0x3C, 0x95D9) /* <CJK */
+MAP(0x66, 0x3D, 0x95DA) /* <CJK */
+MAP(0x66, 0x3E, 0x95DD) /* <CJK */
+MAP(0x66, 0x3F, 0x95DE) /* <CJK */
+MAP(0x66, 0x40, 0x95DF) /* <CJK */
+MAP(0x66, 0x41, 0x95E0) /* <CJK */
+MAP(0x66, 0x42, 0x95E4) /* <CJK */
+MAP(0x66, 0x43, 0x95E6) /* <CJK */
+MAP(0x66, 0x44, 0x961D) /* <CJK */
+MAP(0x66, 0x45, 0x961E) /* <CJK */
+MAP(0x66, 0x46, 0x9622) /* <CJK */
+MAP(0x66, 0x47, 0x9624) /* <CJK */
+MAP(0x66, 0x48, 0x9625) /* <CJK */
+MAP(0x66, 0x49, 0x9626) /* <CJK */
+MAP(0x66, 0x4A, 0x962C) /* <CJK */
+MAP(0x66, 0x4B, 0x9631) /* <CJK */
+MAP(0x66, 0x4C, 0x9633) /* <CJK */
+MAP(0x66, 0x4D, 0x9637) /* <CJK */
+MAP(0x66, 0x4E, 0x9638) /* <CJK */
+MAP(0x66, 0x4F, 0x9639) /* <CJK */
+MAP(0x66, 0x50, 0x963A) /* <CJK */
+MAP(0x66, 0x51, 0x963C) /* <CJK */
+MAP(0x66, 0x52, 0x963D) /* <CJK */
+MAP(0x66, 0x53, 0x9641) /* <CJK */
+MAP(0x66, 0x54, 0x9652) /* <CJK */
+MAP(0x66, 0x55, 0x9654) /* <CJK */
+MAP(0x66, 0x56, 0x9656) /* <CJK */
+MAP(0x66, 0x57, 0x9657) /* <CJK */
+MAP(0x66, 0x58, 0x9658) /* <CJK */
+MAP(0x66, 0x59, 0x9661) /* <CJK */
+MAP(0x66, 0x5A, 0x966E) /* <CJK */
+MAP(0x66, 0x5B, 0x9674) /* <CJK */
+MAP(0x66, 0x5C, 0x967B) /* <CJK */
+MAP(0x66, 0x5D, 0x967C) /* <CJK */
+MAP(0x66, 0x5E, 0x967E) /* <CJK */
+MAP(0x66, 0x5F, 0x967F) /* <CJK */
+MAP(0x66, 0x60, 0x9681) /* <CJK */
+MAP(0x66, 0x61, 0x9682) /* <CJK */
+MAP(0x66, 0x62, 0x9683) /* <CJK */
+MAP(0x66, 0x63, 0x9684) /* <CJK */
+MAP(0x66, 0x64, 0x9689) /* <CJK */
+MAP(0x66, 0x65, 0x9691) /* <CJK */
+MAP(0x66, 0x66, 0x9696) /* <CJK */
+MAP(0x66, 0x67, 0x969A) /* <CJK */
+MAP(0x66, 0x68, 0x969D) /* <CJK */
+MAP(0x66, 0x69, 0x969F) /* <CJK */
+MAP(0x66, 0x6A, 0x96A4) /* <CJK */
+MAP(0x66, 0x6B, 0x96A5) /* <CJK */
+MAP(0x66, 0x6C, 0x96A6) /* <CJK */
+MAP(0x66, 0x6D, 0x96A9) /* <CJK */
+MAP(0x66, 0x6E, 0x96AE) /* <CJK */
+MAP(0x66, 0x6F, 0x96AF) /* <CJK */
+MAP(0x66, 0x70, 0x96B3) /* <CJK */
+MAP(0x66, 0x71, 0x96BA) /* <CJK */
+MAP(0x66, 0x72, 0x96CA) /* <CJK */
+MAP(0x66, 0x73, 0x96D2) /* <CJK */
+MAP(0x66, 0x74, 0x5DB2) /* <CJK */
+MAP(0x66, 0x75, 0x96D8) /* <CJK */
+MAP(0x66, 0x76, 0x96DA) /* <CJK */
+MAP(0x66, 0x77, 0x96DD) /* <CJK */
+MAP(0x66, 0x78, 0x96DE) /* <CJK */
+MAP(0x66, 0x79, 0x96DF) /* <CJK */
+MAP(0x66, 0x7A, 0x96E9) /* <CJK */
+MAP(0x66, 0x7B, 0x96EF) /* <CJK */
+MAP(0x66, 0x7C, 0x96F1) /* <CJK */
+MAP(0x66, 0x7D, 0x96FA) /* <CJK */
+MAP(0x66, 0x7E, 0x9702) /* <CJK */
+MAP(0x67, 0x21, 0x9703) /* <CJK */
+MAP(0x67, 0x22, 0x9705) /* <CJK */
+MAP(0x67, 0x23, 0x9709) /* <CJK */
+MAP(0x67, 0x24, 0x971A) /* <CJK */
+MAP(0x67, 0x25, 0x971B) /* <CJK */
+MAP(0x67, 0x26, 0x971D) /* <CJK */
+MAP(0x67, 0x27, 0x9721) /* <CJK */
+MAP(0x67, 0x28, 0x9722) /* <CJK */
+MAP(0x67, 0x29, 0x9723) /* <CJK */
+MAP(0x67, 0x2A, 0x9728) /* <CJK */
+MAP(0x67, 0x2B, 0x9731) /* <CJK */
+MAP(0x67, 0x2C, 0x9733) /* <CJK */
+MAP(0x67, 0x2D, 0x9741) /* <CJK */
+MAP(0x67, 0x2E, 0x9743) /* <CJK */
+MAP(0x67, 0x2F, 0x974A) /* <CJK */
+MAP(0x67, 0x30, 0x974E) /* <CJK */
+MAP(0x67, 0x31, 0x974F) /* <CJK */
+MAP(0x67, 0x32, 0x9755) /* <CJK */
+MAP(0x67, 0x33, 0x9757) /* <CJK */
+MAP(0x67, 0x34, 0x9758) /* <CJK */
+MAP(0x67, 0x35, 0x975A) /* <CJK */
+MAP(0x67, 0x36, 0x975B) /* <CJK */
+MAP(0x67, 0x37, 0x9763) /* <CJK */
+MAP(0x67, 0x38, 0x9767) /* <CJK */
+MAP(0x67, 0x39, 0x976A) /* <CJK */
+MAP(0x67, 0x3A, 0x976E) /* <CJK */
+MAP(0x67, 0x3B, 0x9773) /* <CJK */
+MAP(0x67, 0x3C, 0x9776) /* <CJK */
+MAP(0x67, 0x3D, 0x9777) /* <CJK */
+MAP(0x67, 0x3E, 0x9778) /* <CJK */
+MAP(0x67, 0x3F, 0x977B) /* <CJK */
+MAP(0x67, 0x40, 0x977D) /* <CJK */
+MAP(0x67, 0x41, 0x977F) /* <CJK */
+MAP(0x67, 0x42, 0x9780) /* <CJK */
+MAP(0x67, 0x43, 0x9789) /* <CJK */
+MAP(0x67, 0x44, 0x9795) /* <CJK */
+MAP(0x67, 0x45, 0x9796) /* <CJK */
+MAP(0x67, 0x46, 0x9797) /* <CJK */
+MAP(0x67, 0x47, 0x9799) /* <CJK */
+MAP(0x67, 0x48, 0x979A) /* <CJK */
+MAP(0x67, 0x49, 0x979E) /* <CJK */
+MAP(0x67, 0x4A, 0x979F) /* <CJK */
+MAP(0x67, 0x4B, 0x97A2) /* <CJK */
+MAP(0x67, 0x4C, 0x97AC) /* <CJK */
+MAP(0x67, 0x4D, 0x97AE) /* <CJK */
+MAP(0x67, 0x4E, 0x97B1) /* <CJK */
+MAP(0x67, 0x4F, 0x97B2) /* <CJK */
+MAP(0x67, 0x50, 0x97B5) /* <CJK */
+MAP(0x67, 0x51, 0x97B6) /* <CJK */
+MAP(0x67, 0x52, 0x97B8) /* <CJK */
+MAP(0x67, 0x53, 0x97B9) /* <CJK */
+MAP(0x67, 0x54, 0x97BA) /* <CJK */
+MAP(0x67, 0x55, 0x97BC) /* <CJK */
+MAP(0x67, 0x56, 0x97BE) /* <CJK */
+MAP(0x67, 0x57, 0x97BF) /* <CJK */
+MAP(0x67, 0x58, 0x97C1) /* <CJK */
+MAP(0x67, 0x59, 0x97C4) /* <CJK */
+MAP(0x67, 0x5A, 0x97C5) /* <CJK */
+MAP(0x67, 0x5B, 0x97C7) /* <CJK */
+MAP(0x67, 0x5C, 0x97C9) /* <CJK */
+MAP(0x67, 0x5D, 0x97CA) /* <CJK */
+MAP(0x67, 0x5E, 0x97CC) /* <CJK */
+MAP(0x67, 0x5F, 0x97CD) /* <CJK */
+MAP(0x67, 0x60, 0x97CE) /* <CJK */
+MAP(0x67, 0x61, 0x97D0) /* <CJK */
+MAP(0x67, 0x62, 0x97D1) /* <CJK */
+MAP(0x67, 0x63, 0x97D4) /* <CJK */
+MAP(0x67, 0x64, 0x97D7) /* <CJK */
+MAP(0x67, 0x65, 0x97D8) /* <CJK */
+MAP(0x67, 0x66, 0x97D9) /* <CJK */
+MAP(0x67, 0x67, 0x97DD) /* <CJK */
+MAP(0x67, 0x68, 0x97DE) /* <CJK */
+MAP(0x67, 0x69, 0x97E0) /* <CJK */
+MAP(0x67, 0x6A, 0x97DB) /* <CJK */
+MAP(0x67, 0x6B, 0x97E1) /* <CJK */
+MAP(0x67, 0x6C, 0x97E4) /* <CJK */
+MAP(0x67, 0x6D, 0x97EF) /* <CJK */
+MAP(0x67, 0x6E, 0x97F1) /* <CJK */
+MAP(0x67, 0x6F, 0x97F4) /* <CJK */
+MAP(0x67, 0x70, 0x97F7) /* <CJK */
+MAP(0x67, 0x71, 0x97F8) /* <CJK */
+MAP(0x67, 0x72, 0x97FA) /* <CJK */
+MAP(0x67, 0x73, 0x9807) /* <CJK */
+MAP(0x67, 0x74, 0x980A) /* <CJK */
+MAP(0x67, 0x75, 0x9819) /* <CJK */
+MAP(0x67, 0x76, 0x980D) /* <CJK */
+MAP(0x67, 0x77, 0x980E) /* <CJK */
+MAP(0x67, 0x78, 0x9814) /* <CJK */
+MAP(0x67, 0x79, 0x9816) /* <CJK */
+MAP(0x67, 0x7A, 0x981C) /* <CJK */
+MAP(0x67, 0x7B, 0x981E) /* <CJK */
+MAP(0x67, 0x7C, 0x9820) /* <CJK */
+MAP(0x67, 0x7D, 0x9823) /* <CJK */
+MAP(0x67, 0x7E, 0x9826) /* <CJK */
+MAP(0x68, 0x21, 0x982B) /* <CJK */
+MAP(0x68, 0x22, 0x982E) /* <CJK */
+MAP(0x68, 0x23, 0x982F) /* <CJK */
+MAP(0x68, 0x24, 0x9830) /* <CJK */
+MAP(0x68, 0x25, 0x9832) /* <CJK */
+MAP(0x68, 0x26, 0x9833) /* <CJK */
+MAP(0x68, 0x27, 0x9835) /* <CJK */
+MAP(0x68, 0x28, 0x9825) /* <CJK */
+MAP(0x68, 0x29, 0x983E) /* <CJK */
+MAP(0x68, 0x2A, 0x9844) /* <CJK */
+MAP(0x68, 0x2B, 0x9847) /* <CJK */
+MAP(0x68, 0x2C, 0x984A) /* <CJK */
+MAP(0x68, 0x2D, 0x9851) /* <CJK */
+MAP(0x68, 0x2E, 0x9852) /* <CJK */
+MAP(0x68, 0x2F, 0x9853) /* <CJK */
+MAP(0x68, 0x30, 0x9856) /* <CJK */
+MAP(0x68, 0x31, 0x9857) /* <CJK */
+MAP(0x68, 0x32, 0x9859) /* <CJK */
+MAP(0x68, 0x33, 0x985A) /* <CJK */
+MAP(0x68, 0x34, 0x9862) /* <CJK */
+MAP(0x68, 0x35, 0x9863) /* <CJK */
+MAP(0x68, 0x36, 0x9865) /* <CJK */
+MAP(0x68, 0x37, 0x9866) /* <CJK */
+MAP(0x68, 0x38, 0x986A) /* <CJK */
+MAP(0x68, 0x39, 0x986C) /* <CJK */
+MAP(0x68, 0x3A, 0x98AB) /* <CJK */
+MAP(0x68, 0x3B, 0x98AD) /* <CJK */
+MAP(0x68, 0x3C, 0x98AE) /* <CJK */
+MAP(0x68, 0x3D, 0x98B0) /* <CJK */
+MAP(0x68, 0x3E, 0x98B4) /* <CJK */
+MAP(0x68, 0x3F, 0x98B7) /* <CJK */
+MAP(0x68, 0x40, 0x98B8) /* <CJK */
+MAP(0x68, 0x41, 0x98BA) /* <CJK */
+MAP(0x68, 0x42, 0x98BB) /* <CJK */
+MAP(0x68, 0x43, 0x98BF) /* <CJK */
+MAP(0x68, 0x44, 0x98C2) /* <CJK */
+MAP(0x68, 0x45, 0x98C5) /* <CJK */
+MAP(0x68, 0x46, 0x98C8) /* <CJK */
+MAP(0x68, 0x47, 0x98CC) /* <CJK */
+MAP(0x68, 0x48, 0x98E1) /* <CJK */
+MAP(0x68, 0x49, 0x98E3) /* <CJK */
+MAP(0x68, 0x4A, 0x98E5) /* <CJK */
+MAP(0x68, 0x4B, 0x98E6) /* <CJK */
+MAP(0x68, 0x4C, 0x98E7) /* <CJK */
+MAP(0x68, 0x4D, 0x98EA) /* <CJK */
+MAP(0x68, 0x4E, 0x98F3) /* <CJK */
+MAP(0x68, 0x4F, 0x98F6) /* <CJK */
+MAP(0x68, 0x50, 0x9902) /* <CJK */
+MAP(0x68, 0x51, 0x9907) /* <CJK */
+MAP(0x68, 0x52, 0x9908) /* <CJK */
+MAP(0x68, 0x53, 0x9911) /* <CJK */
+MAP(0x68, 0x54, 0x9915) /* <CJK */
+MAP(0x68, 0x55, 0x9916) /* <CJK */
+MAP(0x68, 0x56, 0x9917) /* <CJK */
+MAP(0x68, 0x57, 0x991A) /* <CJK */
+MAP(0x68, 0x58, 0x991B) /* <CJK */
+MAP(0x68, 0x59, 0x991C) /* <CJK */
+MAP(0x68, 0x5A, 0x991F) /* <CJK */
+MAP(0x68, 0x5B, 0x9922) /* <CJK */
+MAP(0x68, 0x5C, 0x9926) /* <CJK */
+MAP(0x68, 0x5D, 0x9927) /* <CJK */
+MAP(0x68, 0x5E, 0x992B) /* <CJK */
+MAP(0x68, 0x5F, 0x9931) /* <CJK */
+MAP(0x68, 0x60, 0x9932) /* <CJK */
+MAP(0x68, 0x61, 0x9933) /* <CJK */
+MAP(0x68, 0x62, 0x9934) /* <CJK */
+MAP(0x68, 0x63, 0x9935) /* <CJK */
+MAP(0x68, 0x64, 0x9939) /* <CJK */
+MAP(0x68, 0x65, 0x993A) /* <CJK */
+MAP(0x68, 0x66, 0x993B) /* <CJK */
+MAP(0x68, 0x67, 0x993C) /* <CJK */
+MAP(0x68, 0x68, 0x9940) /* <CJK */
+MAP(0x68, 0x69, 0x9941) /* <CJK */
+MAP(0x68, 0x6A, 0x9946) /* <CJK */
+MAP(0x68, 0x6B, 0x9947) /* <CJK */
+MAP(0x68, 0x6C, 0x9948) /* <CJK */
+MAP(0x68, 0x6D, 0x994D) /* <CJK */
+MAP(0x68, 0x6E, 0x994E) /* <CJK */
+MAP(0x68, 0x6F, 0x9954) /* <CJK */
+MAP(0x68, 0x70, 0x9958) /* <CJK */
+MAP(0x68, 0x71, 0x9959) /* <CJK */
+MAP(0x68, 0x72, 0x995B) /* <CJK */
+MAP(0x68, 0x73, 0x995C) /* <CJK */
+MAP(0x68, 0x74, 0x995E) /* <CJK */
+MAP(0x68, 0x75, 0x995F) /* <CJK */
+MAP(0x68, 0x76, 0x9960) /* <CJK */
+MAP(0x68, 0x77, 0x999B) /* <CJK */
+MAP(0x68, 0x78, 0x999D) /* <CJK */
+MAP(0x68, 0x79, 0x999F) /* <CJK */
+MAP(0x68, 0x7A, 0x99A6) /* <CJK */
+MAP(0x68, 0x7B, 0x99B0) /* <CJK */
+MAP(0x68, 0x7C, 0x99B1) /* <CJK */
+MAP(0x68, 0x7D, 0x99B2) /* <CJK */
+MAP(0x68, 0x7E, 0x99B5) /* <CJK */
+MAP(0x69, 0x21, 0x99B9) /* <CJK */
+MAP(0x69, 0x22, 0x99BA) /* <CJK */
+MAP(0x69, 0x23, 0x99BD) /* <CJK */
+MAP(0x69, 0x24, 0x99BF) /* <CJK */
+MAP(0x69, 0x25, 0x99C3) /* <CJK */
+MAP(0x69, 0x26, 0x99C9) /* <CJK */
+MAP(0x69, 0x27, 0x99D3) /* <CJK */
+MAP(0x69, 0x28, 0x99D4) /* <CJK */
+MAP(0x69, 0x29, 0x99D9) /* <CJK */
+MAP(0x69, 0x2A, 0x99DA) /* <CJK */
+MAP(0x69, 0x2B, 0x99DC) /* <CJK */
+MAP(0x69, 0x2C, 0x99DE) /* <CJK */
+MAP(0x69, 0x2D, 0x99E7) /* <CJK */
+MAP(0x69, 0x2E, 0x99EA) /* <CJK */
+MAP(0x69, 0x2F, 0x99EB) /* <CJK */
+MAP(0x69, 0x30, 0x99EC) /* <CJK */
+MAP(0x69, 0x31, 0x99F0) /* <CJK */
+MAP(0x69, 0x32, 0x99F4) /* <CJK */
+MAP(0x69, 0x33, 0x99F5) /* <CJK */
+MAP(0x69, 0x34, 0x99F9) /* <CJK */
+MAP(0x69, 0x35, 0x99FD) /* <CJK */
+MAP(0x69, 0x36, 0x99FE) /* <CJK */
+MAP(0x69, 0x37, 0x9A02) /* <CJK */
+MAP(0x69, 0x38, 0x9A03) /* <CJK */
+MAP(0x69, 0x39, 0x9A04) /* <CJK */
+MAP(0x69, 0x3A, 0x9A0B) /* <CJK */
+MAP(0x69, 0x3B, 0x9A0C) /* <CJK */
+MAP(0x69, 0x3C, 0x9A10) /* <CJK */
+MAP(0x69, 0x3D, 0x9A11) /* <CJK */
+MAP(0x69, 0x3E, 0x9A16) /* <CJK */
+MAP(0x69, 0x3F, 0x9A1E) /* <CJK */
+MAP(0x69, 0x40, 0x9A20) /* <CJK */
+MAP(0x69, 0x41, 0x9A22) /* <CJK */
+MAP(0x69, 0x42, 0x9A23) /* <CJK */
+MAP(0x69, 0x43, 0x9A24) /* <CJK */
+MAP(0x69, 0x44, 0x9A27) /* <CJK */
+MAP(0x69, 0x45, 0x9A2D) /* <CJK */
+MAP(0x69, 0x46, 0x9A2E) /* <CJK */
+MAP(0x69, 0x47, 0x9A33) /* <CJK */
+MAP(0x69, 0x48, 0x9A35) /* <CJK */
+MAP(0x69, 0x49, 0x9A36) /* <CJK */
+MAP(0x69, 0x4A, 0x9A38) /* <CJK */
+MAP(0x69, 0x4B, 0x9A47) /* <CJK */
+MAP(0x69, 0x4C, 0x9A41) /* <CJK */
+MAP(0x69, 0x4D, 0x9A44) /* <CJK */
+MAP(0x69, 0x4E, 0x9A4A) /* <CJK */
+MAP(0x69, 0x4F, 0x9A4B) /* <CJK */
+MAP(0x69, 0x50, 0x9A4C) /* <CJK */
+MAP(0x69, 0x51, 0x9A4E) /* <CJK */
+MAP(0x69, 0x52, 0x9A51) /* <CJK */
+MAP(0x69, 0x53, 0x9A54) /* <CJK */
+MAP(0x69, 0x54, 0x9A56) /* <CJK */
+MAP(0x69, 0x55, 0x9A5D) /* <CJK */
+MAP(0x69, 0x56, 0x9AAA) /* <CJK */
+MAP(0x69, 0x57, 0x9AAC) /* <CJK */
+MAP(0x69, 0x58, 0x9AAE) /* <CJK */
+MAP(0x69, 0x59, 0x9AAF) /* <CJK */
+MAP(0x69, 0x5A, 0x9AB2) /* <CJK */
+MAP(0x69, 0x5B, 0x9AB4) /* <CJK */
+MAP(0x69, 0x5C, 0x9AB5) /* <CJK */
+MAP(0x69, 0x5D, 0x9AB6) /* <CJK */
+MAP(0x69, 0x5E, 0x9AB9) /* <CJK */
+MAP(0x69, 0x5F, 0x9ABB) /* <CJK */
+MAP(0x69, 0x60, 0x9ABE) /* <CJK */
+MAP(0x69, 0x61, 0x9ABF) /* <CJK */
+MAP(0x69, 0x62, 0x9AC1) /* <CJK */
+MAP(0x69, 0x63, 0x9AC3) /* <CJK */
+MAP(0x69, 0x64, 0x9AC6) /* <CJK */
+MAP(0x69, 0x65, 0x9AC8) /* <CJK */
+MAP(0x69, 0x66, 0x9ACE) /* <CJK */
+MAP(0x69, 0x67, 0x9AD0) /* <CJK */
+MAP(0x69, 0x68, 0x9AD2) /* <CJK */
+MAP(0x69, 0x69, 0x9AD5) /* <CJK */
+MAP(0x69, 0x6A, 0x9AD6) /* <CJK */
+MAP(0x69, 0x6B, 0x9AD7) /* <CJK */
+MAP(0x69, 0x6C, 0x9ADB) /* <CJK */
+MAP(0x69, 0x6D, 0x9ADC) /* <CJK */
+MAP(0x69, 0x6E, 0x9AE0) /* <CJK */
+MAP(0x69, 0x6F, 0x9AE4) /* <CJK */
+MAP(0x69, 0x70, 0x9AE5) /* <CJK */
+MAP(0x69, 0x71, 0x9AE7) /* <CJK */
+MAP(0x69, 0x72, 0x9AE9) /* <CJK */
+MAP(0x69, 0x73, 0x9AEC) /* <CJK */
+MAP(0x69, 0x74, 0x9AF2) /* <CJK */
+MAP(0x69, 0x75, 0x9AF3) /* <CJK */
+MAP(0x69, 0x76, 0x9AF5) /* <CJK */
+MAP(0x69, 0x77, 0x9AF9) /* <CJK */
+MAP(0x69, 0x78, 0x9AFA) /* <CJK */
+MAP(0x69, 0x79, 0x9AFD) /* <CJK */
+MAP(0x69, 0x7A, 0x9AFF) /* <CJK */
+MAP(0x69, 0x7B, 0x9B00) /* <CJK */
+MAP(0x69, 0x7C, 0x9B01) /* <CJK */
+MAP(0x69, 0x7D, 0x9B02) /* <CJK */
+MAP(0x69, 0x7E, 0x9B03) /* <CJK */
+MAP(0x6A, 0x21, 0x9B04) /* <CJK */
+MAP(0x6A, 0x22, 0x9B05) /* <CJK */
+MAP(0x6A, 0x23, 0x9B08) /* <CJK */
+MAP(0x6A, 0x24, 0x9B09) /* <CJK */
+MAP(0x6A, 0x25, 0x9B0B) /* <CJK */
+MAP(0x6A, 0x26, 0x9B0C) /* <CJK */
+MAP(0x6A, 0x27, 0x9B0D) /* <CJK */
+MAP(0x6A, 0x28, 0x9B0E) /* <CJK */
+MAP(0x6A, 0x29, 0x9B10) /* <CJK */
+MAP(0x6A, 0x2A, 0x9B12) /* <CJK */
+MAP(0x6A, 0x2B, 0x9B16) /* <CJK */
+MAP(0x6A, 0x2C, 0x9B19) /* <CJK */
+MAP(0x6A, 0x2D, 0x9B1B) /* <CJK */
+MAP(0x6A, 0x2E, 0x9B1C) /* <CJK */
+MAP(0x6A, 0x2F, 0x9B20) /* <CJK */
+MAP(0x6A, 0x30, 0x9B26) /* <CJK */
+MAP(0x6A, 0x31, 0x9B2B) /* <CJK */
+MAP(0x6A, 0x32, 0x9B2D) /* <CJK */
+MAP(0x6A, 0x33, 0x9B33) /* <CJK */
+MAP(0x6A, 0x34, 0x9B34) /* <CJK */
+MAP(0x6A, 0x35, 0x9B35) /* <CJK */
+MAP(0x6A, 0x36, 0x9B37) /* <CJK */
+MAP(0x6A, 0x37, 0x9B39) /* <CJK */
+MAP(0x6A, 0x38, 0x9B3A) /* <CJK */
+MAP(0x6A, 0x39, 0x9B3D) /* <CJK */
+MAP(0x6A, 0x3A, 0x9B48) /* <CJK */
+MAP(0x6A, 0x3B, 0x9B4B) /* <CJK */
+MAP(0x6A, 0x3C, 0x9B4C) /* <CJK */
+MAP(0x6A, 0x3D, 0x9B55) /* <CJK */
+MAP(0x6A, 0x3E, 0x9B56) /* <CJK */
+MAP(0x6A, 0x3F, 0x9B57) /* <CJK */
+MAP(0x6A, 0x40, 0x9B5B) /* <CJK */
+MAP(0x6A, 0x41, 0x9B5E) /* <CJK */
+MAP(0x6A, 0x42, 0x9B61) /* <CJK */
+MAP(0x6A, 0x43, 0x9B63) /* <CJK */
+MAP(0x6A, 0x44, 0x9B65) /* <CJK */
+MAP(0x6A, 0x45, 0x9B66) /* <CJK */
+MAP(0x6A, 0x46, 0x9B68) /* <CJK */
+MAP(0x6A, 0x47, 0x9B6A) /* <CJK */
+MAP(0x6A, 0x48, 0x9B6B) /* <CJK */
+MAP(0x6A, 0x49, 0x9B6C) /* <CJK */
+MAP(0x6A, 0x4A, 0x9B6D) /* <CJK */
+MAP(0x6A, 0x4B, 0x9B6E) /* <CJK */
+MAP(0x6A, 0x4C, 0x9B73) /* <CJK */
+MAP(0x6A, 0x4D, 0x9B75) /* <CJK */
+MAP(0x6A, 0x4E, 0x9B77) /* <CJK */
+MAP(0x6A, 0x4F, 0x9B78) /* <CJK */
+MAP(0x6A, 0x50, 0x9B79) /* <CJK */
+MAP(0x6A, 0x51, 0x9B7F) /* <CJK */
+MAP(0x6A, 0x52, 0x9B80) /* <CJK */
+MAP(0x6A, 0x53, 0x9B84) /* <CJK */
+MAP(0x6A, 0x54, 0x9B85) /* <CJK */
+MAP(0x6A, 0x55, 0x9B86) /* <CJK */
+MAP(0x6A, 0x56, 0x9B87) /* <CJK */
+MAP(0x6A, 0x57, 0x9B89) /* <CJK */
+MAP(0x6A, 0x58, 0x9B8A) /* <CJK */
+MAP(0x6A, 0x59, 0x9B8B) /* <CJK */
+MAP(0x6A, 0x5A, 0x9B8D) /* <CJK */
+MAP(0x6A, 0x5B, 0x9B8F) /* <CJK */
+MAP(0x6A, 0x5C, 0x9B90) /* <CJK */
+MAP(0x6A, 0x5D, 0x9B94) /* <CJK */
+MAP(0x6A, 0x5E, 0x9B9A) /* <CJK */
+MAP(0x6A, 0x5F, 0x9B9D) /* <CJK */
+MAP(0x6A, 0x60, 0x9B9E) /* <CJK */
+MAP(0x6A, 0x61, 0x9BA6) /* <CJK */
+MAP(0x6A, 0x62, 0x9BA7) /* <CJK */
+MAP(0x6A, 0x63, 0x9BA9) /* <CJK */
+MAP(0x6A, 0x64, 0x9BAC) /* <CJK */
+MAP(0x6A, 0x65, 0x9BB0) /* <CJK */
+MAP(0x6A, 0x66, 0x9BB1) /* <CJK */
+MAP(0x6A, 0x67, 0x9BB2) /* <CJK */
+MAP(0x6A, 0x68, 0x9BB7) /* <CJK */
+MAP(0x6A, 0x69, 0x9BB8) /* <CJK */
+MAP(0x6A, 0x6A, 0x9BBB) /* <CJK */
+MAP(0x6A, 0x6B, 0x9BBC) /* <CJK */
+MAP(0x6A, 0x6C, 0x9BBE) /* <CJK */
+MAP(0x6A, 0x6D, 0x9BBF) /* <CJK */
+MAP(0x6A, 0x6E, 0x9BC1) /* <CJK */
+MAP(0x6A, 0x6F, 0x9BC7) /* <CJK */
+MAP(0x6A, 0x70, 0x9BC8) /* <CJK */
+MAP(0x6A, 0x71, 0x9BCE) /* <CJK */
+MAP(0x6A, 0x72, 0x9BD0) /* <CJK */
+MAP(0x6A, 0x73, 0x9BD7) /* <CJK */
+MAP(0x6A, 0x74, 0x9BD8) /* <CJK */
+MAP(0x6A, 0x75, 0x9BDD) /* <CJK */
+MAP(0x6A, 0x76, 0x9BDF) /* <CJK */
+MAP(0x6A, 0x77, 0x9BE5) /* <CJK */
+MAP(0x6A, 0x78, 0x9BE7) /* <CJK */
+MAP(0x6A, 0x79, 0x9BEA) /* <CJK */
+MAP(0x6A, 0x7A, 0x9BEB) /* <CJK */
+MAP(0x6A, 0x7B, 0x9BEF) /* <CJK */
+MAP(0x6A, 0x7C, 0x9BF3) /* <CJK */
+MAP(0x6A, 0x7D, 0x9BF7) /* <CJK */
+MAP(0x6A, 0x7E, 0x9BF8) /* <CJK */
+MAP(0x6B, 0x21, 0x9BF9) /* <CJK */
+MAP(0x6B, 0x22, 0x9BFA) /* <CJK */
+MAP(0x6B, 0x23, 0x9BFD) /* <CJK */
+MAP(0x6B, 0x24, 0x9BFF) /* <CJK */
+MAP(0x6B, 0x25, 0x9C00) /* <CJK */
+MAP(0x6B, 0x26, 0x9C02) /* <CJK */
+MAP(0x6B, 0x27, 0x9C0B) /* <CJK */
+MAP(0x6B, 0x28, 0x9C0F) /* <CJK */
+MAP(0x6B, 0x29, 0x9C11) /* <CJK */
+MAP(0x6B, 0x2A, 0x9C16) /* <CJK */
+MAP(0x6B, 0x2B, 0x9C18) /* <CJK */
+MAP(0x6B, 0x2C, 0x9C19) /* <CJK */
+MAP(0x6B, 0x2D, 0x9C1A) /* <CJK */
+MAP(0x6B, 0x2E, 0x9C1C) /* <CJK */
+MAP(0x6B, 0x2F, 0x9C1E) /* <CJK */
+MAP(0x6B, 0x30, 0x9C22) /* <CJK */
+MAP(0x6B, 0x31, 0x9C23) /* <CJK */
+MAP(0x6B, 0x32, 0x9C26) /* <CJK */
+MAP(0x6B, 0x33, 0x9C27) /* <CJK */
+MAP(0x6B, 0x34, 0x9C28) /* <CJK */
+MAP(0x6B, 0x35, 0x9C29) /* <CJK */
+MAP(0x6B, 0x36, 0x9C2A) /* <CJK */
+MAP(0x6B, 0x37, 0x9C31) /* <CJK */
+MAP(0x6B, 0x38, 0x9C35) /* <CJK */
+MAP(0x6B, 0x39, 0x9C36) /* <CJK */
+MAP(0x6B, 0x3A, 0x9C37) /* <CJK */
+MAP(0x6B, 0x3B, 0x9C3D) /* <CJK */
+MAP(0x6B, 0x3C, 0x9C41) /* <CJK */
+MAP(0x6B, 0x3D, 0x9C43) /* <CJK */
+MAP(0x6B, 0x3E, 0x9C44) /* <CJK */
+MAP(0x6B, 0x3F, 0x9C45) /* <CJK */
+MAP(0x6B, 0x40, 0x9C49) /* <CJK */
+MAP(0x6B, 0x41, 0x9C4A) /* <CJK */
+MAP(0x6B, 0x42, 0x9C4E) /* <CJK */
+MAP(0x6B, 0x43, 0x9C4F) /* <CJK */
+MAP(0x6B, 0x44, 0x9C50) /* <CJK */
+MAP(0x6B, 0x45, 0x9C53) /* <CJK */
+MAP(0x6B, 0x46, 0x9C54) /* <CJK */
+MAP(0x6B, 0x47, 0x9C56) /* <CJK */
+MAP(0x6B, 0x48, 0x9C58) /* <CJK */
+MAP(0x6B, 0x49, 0x9C5B) /* <CJK */
+MAP(0x6B, 0x4A, 0x9C5D) /* <CJK */
+MAP(0x6B, 0x4B, 0x9C5E) /* <CJK */
+MAP(0x6B, 0x4C, 0x9C5F) /* <CJK */
+MAP(0x6B, 0x4D, 0x9C63) /* <CJK */
+MAP(0x6B, 0x4E, 0x9C69) /* <CJK */
+MAP(0x6B, 0x4F, 0x9C6A) /* <CJK */
+MAP(0x6B, 0x50, 0x9C5C) /* <CJK */
+MAP(0x6B, 0x51, 0x9C6B) /* <CJK */
+MAP(0x6B, 0x52, 0x9C68) /* <CJK */
+MAP(0x6B, 0x53, 0x9C6E) /* <CJK */
+MAP(0x6B, 0x54, 0x9C70) /* <CJK */
+MAP(0x6B, 0x55, 0x9C72) /* <CJK */
+MAP(0x6B, 0x56, 0x9C75) /* <CJK */
+MAP(0x6B, 0x57, 0x9C77) /* <CJK */
+MAP(0x6B, 0x58, 0x9C7B) /* <CJK */
+MAP(0x6B, 0x59, 0x9CE6) /* <CJK */
+MAP(0x6B, 0x5A, 0x9CF2) /* <CJK */
+MAP(0x6B, 0x5B, 0x9CF7) /* <CJK */
+MAP(0x6B, 0x5C, 0x9CF9) /* <CJK */
+MAP(0x6B, 0x5D, 0x9D0B) /* <CJK */
+MAP(0x6B, 0x5E, 0x9D02) /* <CJK */
+MAP(0x6B, 0x5F, 0x9D11) /* <CJK */
+MAP(0x6B, 0x60, 0x9D17) /* <CJK */
+MAP(0x6B, 0x61, 0x9D18) /* <CJK */
+MAP(0x6B, 0x62, 0x9D1C) /* <CJK */
+MAP(0x6B, 0x63, 0x9D1D) /* <CJK */
+MAP(0x6B, 0x64, 0x9D1E) /* <CJK */
+MAP(0x6B, 0x65, 0x9D2F) /* <CJK */
+MAP(0x6B, 0x66, 0x9D30) /* <CJK */
+MAP(0x6B, 0x67, 0x9D32) /* <CJK */
+MAP(0x6B, 0x68, 0x9D33) /* <CJK */
+MAP(0x6B, 0x69, 0x9D34) /* <CJK */
+MAP(0x6B, 0x6A, 0x9D3A) /* <CJK */
+MAP(0x6B, 0x6B, 0x9D3C) /* <CJK */
+MAP(0x6B, 0x6C, 0x9D45) /* <CJK */
+MAP(0x6B, 0x6D, 0x9D3D) /* <CJK */
+MAP(0x6B, 0x6E, 0x9D42) /* <CJK */
+MAP(0x6B, 0x6F, 0x9D43) /* <CJK */
+MAP(0x6B, 0x70, 0x9D47) /* <CJK */
+MAP(0x6B, 0x71, 0x9D4A) /* <CJK */
+MAP(0x6B, 0x72, 0x9D53) /* <CJK */
+MAP(0x6B, 0x73, 0x9D54) /* <CJK */
+MAP(0x6B, 0x74, 0x9D5F) /* <CJK */
+MAP(0x6B, 0x75, 0x9D63) /* <CJK */
+MAP(0x6B, 0x76, 0x9D62) /* <CJK */
+MAP(0x6B, 0x77, 0x9D65) /* <CJK */
+MAP(0x6B, 0x78, 0x9D69) /* <CJK */
+MAP(0x6B, 0x79, 0x9D6A) /* <CJK */
+MAP(0x6B, 0x7A, 0x9D6B) /* <CJK */
+MAP(0x6B, 0x7B, 0x9D70) /* <CJK */
+MAP(0x6B, 0x7C, 0x9D76) /* <CJK */
+MAP(0x6B, 0x7D, 0x9D77) /* <CJK */
+MAP(0x6B, 0x7E, 0x9D7B) /* <CJK */
+MAP(0x6C, 0x21, 0x9D7C) /* <CJK */
+MAP(0x6C, 0x22, 0x9D7E) /* <CJK */
+MAP(0x6C, 0x23, 0x9D83) /* <CJK */
+MAP(0x6C, 0x24, 0x9D84) /* <CJK */
+MAP(0x6C, 0x25, 0x9D86) /* <CJK */
+MAP(0x6C, 0x26, 0x9D8A) /* <CJK */
+MAP(0x6C, 0x27, 0x9D8D) /* <CJK */
+MAP(0x6C, 0x28, 0x9D8E) /* <CJK */
+MAP(0x6C, 0x29, 0x9D92) /* <CJK */
+MAP(0x6C, 0x2A, 0x9D93) /* <CJK */
+MAP(0x6C, 0x2B, 0x9D95) /* <CJK */
+MAP(0x6C, 0x2C, 0x9D96) /* <CJK */
+MAP(0x6C, 0x2D, 0x9D97) /* <CJK */
+MAP(0x6C, 0x2E, 0x9D98) /* <CJK */
+MAP(0x6C, 0x2F, 0x9DA1) /* <CJK */
+MAP(0x6C, 0x30, 0x9DAA) /* <CJK */
+MAP(0x6C, 0x31, 0x9DAC) /* <CJK */
+MAP(0x6C, 0x32, 0x9DAE) /* <CJK */
+MAP(0x6C, 0x33, 0x9DB1) /* <CJK */
+MAP(0x6C, 0x34, 0x9DB5) /* <CJK */
+MAP(0x6C, 0x35, 0x9DB9) /* <CJK */
+MAP(0x6C, 0x36, 0x9DBC) /* <CJK */
+MAP(0x6C, 0x37, 0x9DBF) /* <CJK */
+MAP(0x6C, 0x38, 0x9DC3) /* <CJK */
+MAP(0x6C, 0x39, 0x9DC7) /* <CJK */
+MAP(0x6C, 0x3A, 0x9DC9) /* <CJK */
+MAP(0x6C, 0x3B, 0x9DCA) /* <CJK */
+MAP(0x6C, 0x3C, 0x9DD4) /* <CJK */
+MAP(0x6C, 0x3D, 0x9DD5) /* <CJK */
+MAP(0x6C, 0x3E, 0x9DD6) /* <CJK */
+MAP(0x6C, 0x3F, 0x9DD7) /* <CJK */
+MAP(0x6C, 0x40, 0x9DDA) /* <CJK */
+MAP(0x6C, 0x41, 0x9DDE) /* <CJK */
+MAP(0x6C, 0x42, 0x9DDF) /* <CJK */
+MAP(0x6C, 0x43, 0x9DE0) /* <CJK */
+MAP(0x6C, 0x44, 0x9DE5) /* <CJK */
+MAP(0x6C, 0x45, 0x9DE7) /* <CJK */
+MAP(0x6C, 0x46, 0x9DE9) /* <CJK */
+MAP(0x6C, 0x47, 0x9DEB) /* <CJK */
+MAP(0x6C, 0x48, 0x9DEE) /* <CJK */
+MAP(0x6C, 0x49, 0x9DF0) /* <CJK */
+MAP(0x6C, 0x4A, 0x9DF3) /* <CJK */
+MAP(0x6C, 0x4B, 0x9DF4) /* <CJK */
+MAP(0x6C, 0x4C, 0x9DFE) /* <CJK */
+MAP(0x6C, 0x4D, 0x9E0A) /* <CJK */
+MAP(0x6C, 0x4E, 0x9E02) /* <CJK */
+MAP(0x6C, 0x4F, 0x9E07) /* <CJK */
+MAP(0x6C, 0x50, 0x9E0E) /* <CJK */
+MAP(0x6C, 0x51, 0x9E10) /* <CJK */
+MAP(0x6C, 0x52, 0x9E11) /* <CJK */
+MAP(0x6C, 0x53, 0x9E12) /* <CJK */
+MAP(0x6C, 0x54, 0x9E15) /* <CJK */
+MAP(0x6C, 0x55, 0x9E16) /* <CJK */
+MAP(0x6C, 0x56, 0x9E19) /* <CJK */
+MAP(0x6C, 0x57, 0x9E1C) /* <CJK */
+MAP(0x6C, 0x58, 0x9E1D) /* <CJK */
+MAP(0x6C, 0x59, 0x9E7A) /* <CJK */
+MAP(0x6C, 0x5A, 0x9E7B) /* <CJK */
+MAP(0x6C, 0x5B, 0x9E7C) /* <CJK */
+MAP(0x6C, 0x5C, 0x9E80) /* <CJK */
+MAP(0x6C, 0x5D, 0x9E82) /* <CJK */
+MAP(0x6C, 0x5E, 0x9E83) /* <CJK */
+MAP(0x6C, 0x5F, 0x9E84) /* <CJK */
+MAP(0x6C, 0x60, 0x9E85) /* <CJK */
+MAP(0x6C, 0x61, 0x9E87) /* <CJK */
+MAP(0x6C, 0x62, 0x9E8E) /* <CJK */
+MAP(0x6C, 0x63, 0x9E8F) /* <CJK */
+MAP(0x6C, 0x64, 0x9E96) /* <CJK */
+MAP(0x6C, 0x65, 0x9E98) /* <CJK */
+MAP(0x6C, 0x66, 0x9E9B) /* <CJK */
+MAP(0x6C, 0x67, 0x9E9E) /* <CJK */
+MAP(0x6C, 0x68, 0x9EA4) /* <CJK */
+MAP(0x6C, 0x69, 0x9EA8) /* <CJK */
+MAP(0x6C, 0x6A, 0x9EAC) /* <CJK */
+MAP(0x6C, 0x6B, 0x9EAE) /* <CJK */
+MAP(0x6C, 0x6C, 0x9EAF) /* <CJK */
+MAP(0x6C, 0x6D, 0x9EB0) /* <CJK */
+MAP(0x6C, 0x6E, 0x9EB3) /* <CJK */
+MAP(0x6C, 0x6F, 0x9EB4) /* <CJK */
+MAP(0x6C, 0x70, 0x9EB5) /* <CJK */
+MAP(0x6C, 0x71, 0x9EC6) /* <CJK */
+MAP(0x6C, 0x72, 0x9EC8) /* <CJK */
+MAP(0x6C, 0x73, 0x9ECB) /* <CJK */
+MAP(0x6C, 0x74, 0x9ED5) /* <CJK */
+MAP(0x6C, 0x75, 0x9EDF) /* <CJK */
+MAP(0x6C, 0x76, 0x9EE4) /* <CJK */
+MAP(0x6C, 0x77, 0x9EE7) /* <CJK */
+MAP(0x6C, 0x78, 0x9EEC) /* <CJK */
+MAP(0x6C, 0x79, 0x9EED) /* <CJK */
+MAP(0x6C, 0x7A, 0x9EEE) /* <CJK */
+MAP(0x6C, 0x7B, 0x9EF0) /* <CJK */
+MAP(0x6C, 0x7C, 0x9EF1) /* <CJK */
+MAP(0x6C, 0x7D, 0x9EF2) /* <CJK */
+MAP(0x6C, 0x7E, 0x9EF5) /* <CJK */
+MAP(0x6D, 0x21, 0x9EF8) /* <CJK */
+MAP(0x6D, 0x22, 0x9EFF) /* <CJK */
+MAP(0x6D, 0x23, 0x9F02) /* <CJK */
+MAP(0x6D, 0x24, 0x9F03) /* <CJK */
+MAP(0x6D, 0x25, 0x9F09) /* <CJK */
+MAP(0x6D, 0x26, 0x9F0F) /* <CJK */
+MAP(0x6D, 0x27, 0x9F10) /* <CJK */
+MAP(0x6D, 0x28, 0x9F11) /* <CJK */
+MAP(0x6D, 0x29, 0x9F12) /* <CJK */
+MAP(0x6D, 0x2A, 0x9F14) /* <CJK */
+MAP(0x6D, 0x2B, 0x9F16) /* <CJK */
+MAP(0x6D, 0x2C, 0x9F17) /* <CJK */
+MAP(0x6D, 0x2D, 0x9F19) /* <CJK */
+MAP(0x6D, 0x2E, 0x9F1A) /* <CJK */
+MAP(0x6D, 0x2F, 0x9F1B) /* <CJK */
+MAP(0x6D, 0x30, 0x9F1F) /* <CJK */
+MAP(0x6D, 0x31, 0x9F22) /* <CJK */
+MAP(0x6D, 0x32, 0x9F26) /* <CJK */
+MAP(0x6D, 0x33, 0x9F2A) /* <CJK */
+MAP(0x6D, 0x34, 0x9F2B) /* <CJK */
+MAP(0x6D, 0x35, 0x9F2F) /* <CJK */
+MAP(0x6D, 0x36, 0x9F31) /* <CJK */
+MAP(0x6D, 0x37, 0x9F32) /* <CJK */
+MAP(0x6D, 0x38, 0x9F34) /* <CJK */
+MAP(0x6D, 0x39, 0x9F37) /* <CJK */
+MAP(0x6D, 0x3A, 0x9F39) /* <CJK */
+MAP(0x6D, 0x3B, 0x9F3A) /* <CJK */
+MAP(0x6D, 0x3C, 0x9F3C) /* <CJK */
+MAP(0x6D, 0x3D, 0x9F3D) /* <CJK */
+MAP(0x6D, 0x3E, 0x9F3F) /* <CJK */
+MAP(0x6D, 0x3F, 0x9F41) /* <CJK */
+MAP(0x6D, 0x40, 0x9F43) /* <CJK */
+MAP(0x6D, 0x41, 0x9F44) /* <CJK */
+MAP(0x6D, 0x42, 0x9F45) /* <CJK */
+MAP(0x6D, 0x43, 0x9F46) /* <CJK */
+MAP(0x6D, 0x44, 0x9F47) /* <CJK */
+MAP(0x6D, 0x45, 0x9F53) /* <CJK */
+MAP(0x6D, 0x46, 0x9F55) /* <CJK */
+MAP(0x6D, 0x47, 0x9F56) /* <CJK */
+MAP(0x6D, 0x48, 0x9F57) /* <CJK */
+MAP(0x6D, 0x49, 0x9F58) /* <CJK */
+MAP(0x6D, 0x4A, 0x9F5A) /* <CJK */
+MAP(0x6D, 0x4B, 0x9F5D) /* <CJK */
+MAP(0x6D, 0x4C, 0x9F5E) /* <CJK */
+MAP(0x6D, 0x4D, 0x9F68) /* <CJK */
+MAP(0x6D, 0x4E, 0x9F69) /* <CJK */
+MAP(0x6D, 0x4F, 0x9F6D) /* <CJK */
+MAP(0x6D, 0x50, 0x9F6E) /* <CJK */
+MAP(0x6D, 0x51, 0x9F6F) /* <CJK */
+MAP(0x6D, 0x52, 0x9F70) /* <CJK */
+MAP(0x6D, 0x53, 0x9F71) /* <CJK */
+MAP(0x6D, 0x54, 0x9F73) /* <CJK */
+MAP(0x6D, 0x55, 0x9F75) /* <CJK */
+MAP(0x6D, 0x56, 0x9F7A) /* <CJK */
+MAP(0x6D, 0x57, 0x9F7D) /* <CJK */
+MAP(0x6D, 0x58, 0x9F8F) /* <CJK */
+MAP(0x6D, 0x59, 0x9F90) /* <CJK */
+MAP(0x6D, 0x5A, 0x9F91) /* <CJK */
+MAP(0x6D, 0x5B, 0x9F92) /* <CJK */
+MAP(0x6D, 0x5C, 0x9F94) /* <CJK */
+MAP(0x6D, 0x5D, 0x9F96) /* <CJK */
+MAP(0x6D, 0x5E, 0x9F97) /* <CJK */
+MAP(0x6D, 0x5F, 0x9F9E) /* <CJK */
+MAP(0x6D, 0x60, 0x9FA1) /* <CJK */
+MAP(0x6D, 0x61, 0x9FA2) /* <CJK */
+MAP(0x6D, 0x62, 0x9FA3) /* <CJK */
+MAP(0x6D, 0x63, 0x9FA5) /* <CJK */
diff --git a/libjava/gnu/gcj/convert/JIS0212_to_Unicode.cc b/libjava/gnu/gcj/convert/JIS0212_to_Unicode.cc
new file mode 100644
index 0000000..f05ef32
--- /dev/null
+++ b/libjava/gnu/gcj/convert/JIS0212_to_Unicode.cc
@@ -0,0 +1,6471 @@
+/* This file is automatically generated from JIS0212.TXT. */
+unsigned short JIS0212_to_Unicode[76][94] = {
+/* 1st byte: 34 */ {
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 47 */ 0x02d8,
+ /* 2nd byte: 48 */ 0x02c7,
+ /* 2nd byte: 49 */ 0x00b8,
+ /* 2nd byte: 50 */ 0x02d9,
+ /* 2nd byte: 51 */ 0x02dd,
+ /* 2nd byte: 52 */ 0x00af,
+ /* 2nd byte: 53 */ 0x02db,
+ /* 2nd byte: 54 */ 0x02da,
+ /* 2nd byte: 55 */ 0x007e,
+ /* 2nd byte: 56 */ 0x0384,
+ /* 2nd byte: 57 */ 0x0385,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 66 */ 0x00a1,
+ /* 2nd byte: 67 */ 0x00a6,
+ /* 2nd byte: 68 */ 0x00bf,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 107 */ 0x00ba,
+ /* 2nd byte: 108 */ 0x00aa,
+ /* 2nd byte: 109 */ 0x00a9,
+ /* 2nd byte: 110 */ 0x00ae,
+ /* 2nd byte: 111 */ 0x2122,
+ /* 2nd byte: 112 */ 0x00a4,
+ /* 2nd byte: 113 */ 0x2116,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0},
+/* 1st byte: 35 */ { 0 }, /* unused row */
+/* 1st byte: 36 */ { 0 }, /* unused row */
+/* 1st byte: 37 */ { 0 }, /* unused row */
+/* 1st byte: 38 */ {
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 97 */ 0x0386,
+ /* 2nd byte: 98 */ 0x0388,
+ /* 2nd byte: 99 */ 0x0389,
+ /* 2nd byte: 100 */ 0x038a,
+ /* 2nd byte: 101 */ 0x03aa,
+ 0,
+ /* 2nd byte: 103 */ 0x038c,
+ 0,
+ /* 2nd byte: 105 */ 0x038e,
+ /* 2nd byte: 106 */ 0x03ab,
+ 0,
+ /* 2nd byte: 108 */ 0x038f,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 113 */ 0x03ac,
+ /* 2nd byte: 114 */ 0x03ad,
+ /* 2nd byte: 115 */ 0x03ae,
+ /* 2nd byte: 116 */ 0x03af,
+ /* 2nd byte: 117 */ 0x03ca,
+ /* 2nd byte: 118 */ 0x0390,
+ /* 2nd byte: 119 */ 0x03cc,
+ /* 2nd byte: 120 */ 0x03c2,
+ /* 2nd byte: 121 */ 0x03cd,
+ /* 2nd byte: 122 */ 0x03cb,
+ /* 2nd byte: 123 */ 0x03b0,
+ /* 2nd byte: 124 */ 0x03ce,
+ 0,
+ 0},
+/* 1st byte: 39 */ {
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 66 */ 0x0402,
+ /* 2nd byte: 67 */ 0x0403,
+ /* 2nd byte: 68 */ 0x0404,
+ /* 2nd byte: 69 */ 0x0405,
+ /* 2nd byte: 70 */ 0x0406,
+ /* 2nd byte: 71 */ 0x0407,
+ /* 2nd byte: 72 */ 0x0408,
+ /* 2nd byte: 73 */ 0x0409,
+ /* 2nd byte: 74 */ 0x040a,
+ /* 2nd byte: 75 */ 0x040b,
+ /* 2nd byte: 76 */ 0x040c,
+ /* 2nd byte: 77 */ 0x040e,
+ /* 2nd byte: 78 */ 0x040f,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 114 */ 0x0452,
+ /* 2nd byte: 115 */ 0x0453,
+ /* 2nd byte: 116 */ 0x0454,
+ /* 2nd byte: 117 */ 0x0455,
+ /* 2nd byte: 118 */ 0x0456,
+ /* 2nd byte: 119 */ 0x0457,
+ /* 2nd byte: 120 */ 0x0458,
+ /* 2nd byte: 121 */ 0x0459,
+ /* 2nd byte: 122 */ 0x045a,
+ /* 2nd byte: 123 */ 0x045b,
+ /* 2nd byte: 124 */ 0x045c,
+ /* 2nd byte: 125 */ 0x045e,
+ /* 2nd byte: 126 */ 0x045f},
+/* 1st byte: 40 */ { 0 }, /* unused row */
+/* 1st byte: 41 */ {
+ /* 2nd byte: 33 */ 0x00c6,
+ /* 2nd byte: 34 */ 0x0110,
+ 0,
+ /* 2nd byte: 36 */ 0x0126,
+ 0,
+ /* 2nd byte: 38 */ 0x0132,
+ 0,
+ /* 2nd byte: 40 */ 0x0141,
+ /* 2nd byte: 41 */ 0x013f,
+ 0,
+ /* 2nd byte: 43 */ 0x014a,
+ /* 2nd byte: 44 */ 0x00d8,
+ /* 2nd byte: 45 */ 0x0152,
+ 0,
+ /* 2nd byte: 47 */ 0x0166,
+ /* 2nd byte: 48 */ 0x00de,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ /* 2nd byte: 65 */ 0x00e6,
+ /* 2nd byte: 66 */ 0x0111,
+ /* 2nd byte: 67 */ 0x00f0,
+ /* 2nd byte: 68 */ 0x0127,
+ /* 2nd byte: 69 */ 0x0131,
+ /* 2nd byte: 70 */ 0x0133,
+ /* 2nd byte: 71 */ 0x0138,
+ /* 2nd byte: 72 */ 0x0142,
+ /* 2nd byte: 73 */ 0x0140,
+ /* 2nd byte: 74 */ 0x0149,
+ /* 2nd byte: 75 */ 0x014b,
+ /* 2nd byte: 76 */ 0x00f8,
+ /* 2nd byte: 77 */ 0x0153,
+ /* 2nd byte: 78 */ 0x00df,
+ /* 2nd byte: 79 */ 0x0167,
+ /* 2nd byte: 80 */ 0x00fe,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0},
+/* 1st byte: 42 */ {
+ /* 2nd byte: 33 */ 0x00c1,
+ /* 2nd byte: 34 */ 0x00c0,
+ /* 2nd byte: 35 */ 0x00c4,
+ /* 2nd byte: 36 */ 0x00c2,
+ /* 2nd byte: 37 */ 0x0102,
+ /* 2nd byte: 38 */ 0x01cd,
+ /* 2nd byte: 39 */ 0x0100,
+ /* 2nd byte: 40 */ 0x0104,
+ /* 2nd byte: 41 */ 0x00c5,
+ /* 2nd byte: 42 */ 0x00c3,
+ /* 2nd byte: 43 */ 0x0106,
+ /* 2nd byte: 44 */ 0x0108,
+ /* 2nd byte: 45 */ 0x010c,
+ /* 2nd byte: 46 */ 0x00c7,
+ /* 2nd byte: 47 */ 0x010a,
+ /* 2nd byte: 48 */ 0x010e,
+ /* 2nd byte: 49 */ 0x00c9,
+ /* 2nd byte: 50 */ 0x00c8,
+ /* 2nd byte: 51 */ 0x00cb,
+ /* 2nd byte: 52 */ 0x00ca,
+ /* 2nd byte: 53 */ 0x011a,
+ /* 2nd byte: 54 */ 0x0116,
+ /* 2nd byte: 55 */ 0x0112,
+ /* 2nd byte: 56 */ 0x0118,
+ 0,
+ /* 2nd byte: 58 */ 0x011c,
+ /* 2nd byte: 59 */ 0x011e,
+ /* 2nd byte: 60 */ 0x0122,
+ /* 2nd byte: 61 */ 0x0120,
+ /* 2nd byte: 62 */ 0x0124,
+ /* 2nd byte: 63 */ 0x00cd,
+ /* 2nd byte: 64 */ 0x00cc,
+ /* 2nd byte: 65 */ 0x00cf,
+ /* 2nd byte: 66 */ 0x00ce,
+ /* 2nd byte: 67 */ 0x01cf,
+ /* 2nd byte: 68 */ 0x0130,
+ /* 2nd byte: 69 */ 0x012a,
+ /* 2nd byte: 70 */ 0x012e,
+ /* 2nd byte: 71 */ 0x0128,
+ /* 2nd byte: 72 */ 0x0134,
+ /* 2nd byte: 73 */ 0x0136,
+ /* 2nd byte: 74 */ 0x0139,
+ /* 2nd byte: 75 */ 0x013d,
+ /* 2nd byte: 76 */ 0x013b,
+ /* 2nd byte: 77 */ 0x0143,
+ /* 2nd byte: 78 */ 0x0147,
+ /* 2nd byte: 79 */ 0x0145,
+ /* 2nd byte: 80 */ 0x00d1,
+ /* 2nd byte: 81 */ 0x00d3,
+ /* 2nd byte: 82 */ 0x00d2,
+ /* 2nd byte: 83 */ 0x00d6,
+ /* 2nd byte: 84 */ 0x00d4,
+ /* 2nd byte: 85 */ 0x01d1,
+ /* 2nd byte: 86 */ 0x0150,
+ /* 2nd byte: 87 */ 0x014c,
+ /* 2nd byte: 88 */ 0x00d5,
+ /* 2nd byte: 89 */ 0x0154,
+ /* 2nd byte: 90 */ 0x0158,
+ /* 2nd byte: 91 */ 0x0156,
+ /* 2nd byte: 92 */ 0x015a,
+ /* 2nd byte: 93 */ 0x015c,
+ /* 2nd byte: 94 */ 0x0160,
+ /* 2nd byte: 95 */ 0x015e,
+ /* 2nd byte: 96 */ 0x0164,
+ /* 2nd byte: 97 */ 0x0162,
+ /* 2nd byte: 98 */ 0x00da,
+ /* 2nd byte: 99 */ 0x00d9,
+ /* 2nd byte: 100 */ 0x00dc,
+ /* 2nd byte: 101 */ 0x00db,
+ /* 2nd byte: 102 */ 0x016c,
+ /* 2nd byte: 103 */ 0x01d3,
+ /* 2nd byte: 104 */ 0x0170,
+ /* 2nd byte: 105 */ 0x016a,
+ /* 2nd byte: 106 */ 0x0172,
+ /* 2nd byte: 107 */ 0x016e,
+ /* 2nd byte: 108 */ 0x0168,
+ /* 2nd byte: 109 */ 0x01d7,
+ /* 2nd byte: 110 */ 0x01db,
+ /* 2nd byte: 111 */ 0x01d9,
+ /* 2nd byte: 112 */ 0x01d5,
+ /* 2nd byte: 113 */ 0x0174,
+ /* 2nd byte: 114 */ 0x00dd,
+ /* 2nd byte: 115 */ 0x0178,
+ /* 2nd byte: 116 */ 0x0176,
+ /* 2nd byte: 117 */ 0x0179,
+ /* 2nd byte: 118 */ 0x017d,
+ /* 2nd byte: 119 */ 0x017b,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0},
+/* 1st byte: 43 */ {
+ /* 2nd byte: 33 */ 0x00e1,
+ /* 2nd byte: 34 */ 0x00e0,
+ /* 2nd byte: 35 */ 0x00e4,
+ /* 2nd byte: 36 */ 0x00e2,
+ /* 2nd byte: 37 */ 0x0103,
+ /* 2nd byte: 38 */ 0x01ce,
+ /* 2nd byte: 39 */ 0x0101,
+ /* 2nd byte: 40 */ 0x0105,
+ /* 2nd byte: 41 */ 0x00e5,
+ /* 2nd byte: 42 */ 0x00e3,
+ /* 2nd byte: 43 */ 0x0107,
+ /* 2nd byte: 44 */ 0x0109,
+ /* 2nd byte: 45 */ 0x010d,
+ /* 2nd byte: 46 */ 0x00e7,
+ /* 2nd byte: 47 */ 0x010b,
+ /* 2nd byte: 48 */ 0x010f,
+ /* 2nd byte: 49 */ 0x00e9,
+ /* 2nd byte: 50 */ 0x00e8,
+ /* 2nd byte: 51 */ 0x00eb,
+ /* 2nd byte: 52 */ 0x00ea,
+ /* 2nd byte: 53 */ 0x011b,
+ /* 2nd byte: 54 */ 0x0117,
+ /* 2nd byte: 55 */ 0x0113,
+ /* 2nd byte: 56 */ 0x0119,
+ /* 2nd byte: 57 */ 0x01f5,
+ /* 2nd byte: 58 */ 0x011d,
+ /* 2nd byte: 59 */ 0x011f,
+ 0,
+ /* 2nd byte: 61 */ 0x0121,
+ /* 2nd byte: 62 */ 0x0125,
+ /* 2nd byte: 63 */ 0x00ed,
+ /* 2nd byte: 64 */ 0x00ec,
+ /* 2nd byte: 65 */ 0x00ef,
+ /* 2nd byte: 66 */ 0x00ee,
+ /* 2nd byte: 67 */ 0x01d0,
+ 0,
+ /* 2nd byte: 69 */ 0x012b,
+ /* 2nd byte: 70 */ 0x012f,
+ /* 2nd byte: 71 */ 0x0129,
+ /* 2nd byte: 72 */ 0x0135,
+ /* 2nd byte: 73 */ 0x0137,
+ /* 2nd byte: 74 */ 0x013a,
+ /* 2nd byte: 75 */ 0x013e,
+ /* 2nd byte: 76 */ 0x013c,
+ /* 2nd byte: 77 */ 0x0144,
+ /* 2nd byte: 78 */ 0x0148,
+ /* 2nd byte: 79 */ 0x0146,
+ /* 2nd byte: 80 */ 0x00f1,
+ /* 2nd byte: 81 */ 0x00f3,
+ /* 2nd byte: 82 */ 0x00f2,
+ /* 2nd byte: 83 */ 0x00f6,
+ /* 2nd byte: 84 */ 0x00f4,
+ /* 2nd byte: 85 */ 0x01d2,
+ /* 2nd byte: 86 */ 0x0151,
+ /* 2nd byte: 87 */ 0x014d,
+ /* 2nd byte: 88 */ 0x00f5,
+ /* 2nd byte: 89 */ 0x0155,
+ /* 2nd byte: 90 */ 0x0159,
+ /* 2nd byte: 91 */ 0x0157,
+ /* 2nd byte: 92 */ 0x015b,
+ /* 2nd byte: 93 */ 0x015d,
+ /* 2nd byte: 94 */ 0x0161,
+ /* 2nd byte: 95 */ 0x015f,
+ /* 2nd byte: 96 */ 0x0165,
+ /* 2nd byte: 97 */ 0x0163,
+ /* 2nd byte: 98 */ 0x00fa,
+ /* 2nd byte: 99 */ 0x00f9,
+ /* 2nd byte: 100 */ 0x00fc,
+ /* 2nd byte: 101 */ 0x00fb,
+ /* 2nd byte: 102 */ 0x016d,
+ /* 2nd byte: 103 */ 0x01d4,
+ /* 2nd byte: 104 */ 0x0171,
+ /* 2nd byte: 105 */ 0x016b,
+ /* 2nd byte: 106 */ 0x0173,
+ /* 2nd byte: 107 */ 0x016f,
+ /* 2nd byte: 108 */ 0x0169,
+ /* 2nd byte: 109 */ 0x01d8,
+ /* 2nd byte: 110 */ 0x01dc,
+ /* 2nd byte: 111 */ 0x01da,
+ /* 2nd byte: 112 */ 0x01d6,
+ /* 2nd byte: 113 */ 0x0175,
+ /* 2nd byte: 114 */ 0x00fd,
+ /* 2nd byte: 115 */ 0x00ff,
+ /* 2nd byte: 116 */ 0x0177,
+ /* 2nd byte: 117 */ 0x017a,
+ /* 2nd byte: 118 */ 0x017e,
+ /* 2nd byte: 119 */ 0x017c,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0},
+/* 1st byte: 44 */ { 0 }, /* unused row */
+/* 1st byte: 45 */ { 0 }, /* unused row */
+/* 1st byte: 46 */ { 0 }, /* unused row */
+/* 1st byte: 47 */ { 0 }, /* unused row */
+/* 1st byte: 48 */ {
+ /* 2nd byte: 33 */ 0x4e02,
+ /* 2nd byte: 34 */ 0x4e04,
+ /* 2nd byte: 35 */ 0x4e05,
+ /* 2nd byte: 36 */ 0x4e0c,
+ /* 2nd byte: 37 */ 0x4e12,
+ /* 2nd byte: 38 */ 0x4e1f,
+ /* 2nd byte: 39 */ 0x4e23,
+ /* 2nd byte: 40 */ 0x4e24,
+ /* 2nd byte: 41 */ 0x4e28,
+ /* 2nd byte: 42 */ 0x4e2b,
+ /* 2nd byte: 43 */ 0x4e2e,
+ /* 2nd byte: 44 */ 0x4e2f,
+ /* 2nd byte: 45 */ 0x4e30,
+ /* 2nd byte: 46 */ 0x4e35,
+ /* 2nd byte: 47 */ 0x4e40,
+ /* 2nd byte: 48 */ 0x4e41,
+ /* 2nd byte: 49 */ 0x4e44,
+ /* 2nd byte: 50 */ 0x4e47,
+ /* 2nd byte: 51 */ 0x4e51,
+ /* 2nd byte: 52 */ 0x4e5a,
+ /* 2nd byte: 53 */ 0x4e5c,
+ /* 2nd byte: 54 */ 0x4e63,
+ /* 2nd byte: 55 */ 0x4e68,
+ /* 2nd byte: 56 */ 0x4e69,
+ /* 2nd byte: 57 */ 0x4e74,
+ /* 2nd byte: 58 */ 0x4e75,
+ /* 2nd byte: 59 */ 0x4e79,
+ /* 2nd byte: 60 */ 0x4e7f,
+ /* 2nd byte: 61 */ 0x4e8d,
+ /* 2nd byte: 62 */ 0x4e96,
+ /* 2nd byte: 63 */ 0x4e97,
+ /* 2nd byte: 64 */ 0x4e9d,
+ /* 2nd byte: 65 */ 0x4eaf,
+ /* 2nd byte: 66 */ 0x4eb9,
+ /* 2nd byte: 67 */ 0x4ec3,
+ /* 2nd byte: 68 */ 0x4ed0,
+ /* 2nd byte: 69 */ 0x4eda,
+ /* 2nd byte: 70 */ 0x4edb,
+ /* 2nd byte: 71 */ 0x4ee0,
+ /* 2nd byte: 72 */ 0x4ee1,
+ /* 2nd byte: 73 */ 0x4ee2,
+ /* 2nd byte: 74 */ 0x4ee8,
+ /* 2nd byte: 75 */ 0x4eef,
+ /* 2nd byte: 76 */ 0x4ef1,
+ /* 2nd byte: 77 */ 0x4ef3,
+ /* 2nd byte: 78 */ 0x4ef5,
+ /* 2nd byte: 79 */ 0x4efd,
+ /* 2nd byte: 80 */ 0x4efe,
+ /* 2nd byte: 81 */ 0x4eff,
+ /* 2nd byte: 82 */ 0x4f00,
+ /* 2nd byte: 83 */ 0x4f02,
+ /* 2nd byte: 84 */ 0x4f03,
+ /* 2nd byte: 85 */ 0x4f08,
+ /* 2nd byte: 86 */ 0x4f0b,
+ /* 2nd byte: 87 */ 0x4f0c,
+ /* 2nd byte: 88 */ 0x4f12,
+ /* 2nd byte: 89 */ 0x4f15,
+ /* 2nd byte: 90 */ 0x4f16,
+ /* 2nd byte: 91 */ 0x4f17,
+ /* 2nd byte: 92 */ 0x4f19,
+ /* 2nd byte: 93 */ 0x4f2e,
+ /* 2nd byte: 94 */ 0x4f31,
+ /* 2nd byte: 95 */ 0x4f60,
+ /* 2nd byte: 96 */ 0x4f33,
+ /* 2nd byte: 97 */ 0x4f35,
+ /* 2nd byte: 98 */ 0x4f37,
+ /* 2nd byte: 99 */ 0x4f39,
+ /* 2nd byte: 100 */ 0x4f3b,
+ /* 2nd byte: 101 */ 0x4f3e,
+ /* 2nd byte: 102 */ 0x4f40,
+ /* 2nd byte: 103 */ 0x4f42,
+ /* 2nd byte: 104 */ 0x4f48,
+ /* 2nd byte: 105 */ 0x4f49,
+ /* 2nd byte: 106 */ 0x4f4b,
+ /* 2nd byte: 107 */ 0x4f4c,
+ /* 2nd byte: 108 */ 0x4f52,
+ /* 2nd byte: 109 */ 0x4f54,
+ /* 2nd byte: 110 */ 0x4f56,
+ /* 2nd byte: 111 */ 0x4f58,
+ /* 2nd byte: 112 */ 0x4f5f,
+ /* 2nd byte: 113 */ 0x4f63,
+ /* 2nd byte: 114 */ 0x4f6a,
+ /* 2nd byte: 115 */ 0x4f6c,
+ /* 2nd byte: 116 */ 0x4f6e,
+ /* 2nd byte: 117 */ 0x4f71,
+ /* 2nd byte: 118 */ 0x4f77,
+ /* 2nd byte: 119 */ 0x4f78,
+ /* 2nd byte: 120 */ 0x4f79,
+ /* 2nd byte: 121 */ 0x4f7a,
+ /* 2nd byte: 122 */ 0x4f7d,
+ /* 2nd byte: 123 */ 0x4f7e,
+ /* 2nd byte: 124 */ 0x4f81,
+ /* 2nd byte: 125 */ 0x4f82,
+ /* 2nd byte: 126 */ 0x4f84},
+/* 1st byte: 49 */ {
+ /* 2nd byte: 33 */ 0x4f85,
+ /* 2nd byte: 34 */ 0x4f89,
+ /* 2nd byte: 35 */ 0x4f8a,
+ /* 2nd byte: 36 */ 0x4f8c,
+ /* 2nd byte: 37 */ 0x4f8e,
+ /* 2nd byte: 38 */ 0x4f90,
+ /* 2nd byte: 39 */ 0x4f92,
+ /* 2nd byte: 40 */ 0x4f93,
+ /* 2nd byte: 41 */ 0x4f94,
+ /* 2nd byte: 42 */ 0x4f97,
+ /* 2nd byte: 43 */ 0x4f99,
+ /* 2nd byte: 44 */ 0x4f9a,
+ /* 2nd byte: 45 */ 0x4f9e,
+ /* 2nd byte: 46 */ 0x4f9f,
+ /* 2nd byte: 47 */ 0x4fb2,
+ /* 2nd byte: 48 */ 0x4fb7,
+ /* 2nd byte: 49 */ 0x4fb9,
+ /* 2nd byte: 50 */ 0x4fbb,
+ /* 2nd byte: 51 */ 0x4fbc,
+ /* 2nd byte: 52 */ 0x4fbd,
+ /* 2nd byte: 53 */ 0x4fbe,
+ /* 2nd byte: 54 */ 0x4fc0,
+ /* 2nd byte: 55 */ 0x4fc1,
+ /* 2nd byte: 56 */ 0x4fc5,
+ /* 2nd byte: 57 */ 0x4fc6,
+ /* 2nd byte: 58 */ 0x4fc8,
+ /* 2nd byte: 59 */ 0x4fc9,
+ /* 2nd byte: 60 */ 0x4fcb,
+ /* 2nd byte: 61 */ 0x4fcc,
+ /* 2nd byte: 62 */ 0x4fcd,
+ /* 2nd byte: 63 */ 0x4fcf,
+ /* 2nd byte: 64 */ 0x4fd2,
+ /* 2nd byte: 65 */ 0x4fdc,
+ /* 2nd byte: 66 */ 0x4fe0,
+ /* 2nd byte: 67 */ 0x4fe2,
+ /* 2nd byte: 68 */ 0x4ff0,
+ /* 2nd byte: 69 */ 0x4ff2,
+ /* 2nd byte: 70 */ 0x4ffc,
+ /* 2nd byte: 71 */ 0x4ffd,
+ /* 2nd byte: 72 */ 0x4fff,
+ /* 2nd byte: 73 */ 0x5000,
+ /* 2nd byte: 74 */ 0x5001,
+ /* 2nd byte: 75 */ 0x5004,
+ /* 2nd byte: 76 */ 0x5007,
+ /* 2nd byte: 77 */ 0x500a,
+ /* 2nd byte: 78 */ 0x500c,
+ /* 2nd byte: 79 */ 0x500e,
+ /* 2nd byte: 80 */ 0x5010,
+ /* 2nd byte: 81 */ 0x5013,
+ /* 2nd byte: 82 */ 0x5017,
+ /* 2nd byte: 83 */ 0x5018,
+ /* 2nd byte: 84 */ 0x501b,
+ /* 2nd byte: 85 */ 0x501c,
+ /* 2nd byte: 86 */ 0x501d,
+ /* 2nd byte: 87 */ 0x501e,
+ /* 2nd byte: 88 */ 0x5022,
+ /* 2nd byte: 89 */ 0x5027,
+ /* 2nd byte: 90 */ 0x502e,
+ /* 2nd byte: 91 */ 0x5030,
+ /* 2nd byte: 92 */ 0x5032,
+ /* 2nd byte: 93 */ 0x5033,
+ /* 2nd byte: 94 */ 0x5035,
+ /* 2nd byte: 95 */ 0x5040,
+ /* 2nd byte: 96 */ 0x5041,
+ /* 2nd byte: 97 */ 0x5042,
+ /* 2nd byte: 98 */ 0x5045,
+ /* 2nd byte: 99 */ 0x5046,
+ /* 2nd byte: 100 */ 0x504a,
+ /* 2nd byte: 101 */ 0x504c,
+ /* 2nd byte: 102 */ 0x504e,
+ /* 2nd byte: 103 */ 0x5051,
+ /* 2nd byte: 104 */ 0x5052,
+ /* 2nd byte: 105 */ 0x5053,
+ /* 2nd byte: 106 */ 0x5057,
+ /* 2nd byte: 107 */ 0x5059,
+ /* 2nd byte: 108 */ 0x505f,
+ /* 2nd byte: 109 */ 0x5060,
+ /* 2nd byte: 110 */ 0x5062,
+ /* 2nd byte: 111 */ 0x5063,
+ /* 2nd byte: 112 */ 0x5066,
+ /* 2nd byte: 113 */ 0x5067,
+ /* 2nd byte: 114 */ 0x506a,
+ /* 2nd byte: 115 */ 0x506d,
+ /* 2nd byte: 116 */ 0x5070,
+ /* 2nd byte: 117 */ 0x5071,
+ /* 2nd byte: 118 */ 0x503b,
+ /* 2nd byte: 119 */ 0x5081,
+ /* 2nd byte: 120 */ 0x5083,
+ /* 2nd byte: 121 */ 0x5084,
+ /* 2nd byte: 122 */ 0x5086,
+ /* 2nd byte: 123 */ 0x508a,
+ /* 2nd byte: 124 */ 0x508e,
+ /* 2nd byte: 125 */ 0x508f,
+ /* 2nd byte: 126 */ 0x5090},
+/* 1st byte: 50 */ {
+ /* 2nd byte: 33 */ 0x5092,
+ /* 2nd byte: 34 */ 0x5093,
+ /* 2nd byte: 35 */ 0x5094,
+ /* 2nd byte: 36 */ 0x5096,
+ /* 2nd byte: 37 */ 0x509b,
+ /* 2nd byte: 38 */ 0x509c,
+ /* 2nd byte: 39 */ 0x509e,
+ /* 2nd byte: 40 */ 0x509f,
+ /* 2nd byte: 41 */ 0x50a0,
+ /* 2nd byte: 42 */ 0x50a1,
+ /* 2nd byte: 43 */ 0x50a2,
+ /* 2nd byte: 44 */ 0x50aa,
+ /* 2nd byte: 45 */ 0x50af,
+ /* 2nd byte: 46 */ 0x50b0,
+ /* 2nd byte: 47 */ 0x50b9,
+ /* 2nd byte: 48 */ 0x50ba,
+ /* 2nd byte: 49 */ 0x50bd,
+ /* 2nd byte: 50 */ 0x50c0,
+ /* 2nd byte: 51 */ 0x50c3,
+ /* 2nd byte: 52 */ 0x50c4,
+ /* 2nd byte: 53 */ 0x50c7,
+ /* 2nd byte: 54 */ 0x50cc,
+ /* 2nd byte: 55 */ 0x50ce,
+ /* 2nd byte: 56 */ 0x50d0,
+ /* 2nd byte: 57 */ 0x50d3,
+ /* 2nd byte: 58 */ 0x50d4,
+ /* 2nd byte: 59 */ 0x50d8,
+ /* 2nd byte: 60 */ 0x50dc,
+ /* 2nd byte: 61 */ 0x50dd,
+ /* 2nd byte: 62 */ 0x50df,
+ /* 2nd byte: 63 */ 0x50e2,
+ /* 2nd byte: 64 */ 0x50e4,
+ /* 2nd byte: 65 */ 0x50e6,
+ /* 2nd byte: 66 */ 0x50e8,
+ /* 2nd byte: 67 */ 0x50e9,
+ /* 2nd byte: 68 */ 0x50ef,
+ /* 2nd byte: 69 */ 0x50f1,
+ /* 2nd byte: 70 */ 0x50f6,
+ /* 2nd byte: 71 */ 0x50fa,
+ /* 2nd byte: 72 */ 0x50fe,
+ /* 2nd byte: 73 */ 0x5103,
+ /* 2nd byte: 74 */ 0x5106,
+ /* 2nd byte: 75 */ 0x5107,
+ /* 2nd byte: 76 */ 0x5108,
+ /* 2nd byte: 77 */ 0x510b,
+ /* 2nd byte: 78 */ 0x510c,
+ /* 2nd byte: 79 */ 0x510d,
+ /* 2nd byte: 80 */ 0x510e,
+ /* 2nd byte: 81 */ 0x50f2,
+ /* 2nd byte: 82 */ 0x5110,
+ /* 2nd byte: 83 */ 0x5117,
+ /* 2nd byte: 84 */ 0x5119,
+ /* 2nd byte: 85 */ 0x511b,
+ /* 2nd byte: 86 */ 0x511c,
+ /* 2nd byte: 87 */ 0x511d,
+ /* 2nd byte: 88 */ 0x511e,
+ /* 2nd byte: 89 */ 0x5123,
+ /* 2nd byte: 90 */ 0x5127,
+ /* 2nd byte: 91 */ 0x5128,
+ /* 2nd byte: 92 */ 0x512c,
+ /* 2nd byte: 93 */ 0x512d,
+ /* 2nd byte: 94 */ 0x512f,
+ /* 2nd byte: 95 */ 0x5131,
+ /* 2nd byte: 96 */ 0x5133,
+ /* 2nd byte: 97 */ 0x5134,
+ /* 2nd byte: 98 */ 0x5135,
+ /* 2nd byte: 99 */ 0x5138,
+ /* 2nd byte: 100 */ 0x5139,
+ /* 2nd byte: 101 */ 0x5142,
+ /* 2nd byte: 102 */ 0x514a,
+ /* 2nd byte: 103 */ 0x514f,
+ /* 2nd byte: 104 */ 0x5153,
+ /* 2nd byte: 105 */ 0x5155,
+ /* 2nd byte: 106 */ 0x5157,
+ /* 2nd byte: 107 */ 0x5158,
+ /* 2nd byte: 108 */ 0x515f,
+ /* 2nd byte: 109 */ 0x5164,
+ /* 2nd byte: 110 */ 0x5166,
+ /* 2nd byte: 111 */ 0x517e,
+ /* 2nd byte: 112 */ 0x5183,
+ /* 2nd byte: 113 */ 0x5184,
+ /* 2nd byte: 114 */ 0x518b,
+ /* 2nd byte: 115 */ 0x518e,
+ /* 2nd byte: 116 */ 0x5198,
+ /* 2nd byte: 117 */ 0x519d,
+ /* 2nd byte: 118 */ 0x51a1,
+ /* 2nd byte: 119 */ 0x51a3,
+ /* 2nd byte: 120 */ 0x51ad,
+ /* 2nd byte: 121 */ 0x51b8,
+ /* 2nd byte: 122 */ 0x51ba,
+ /* 2nd byte: 123 */ 0x51bc,
+ /* 2nd byte: 124 */ 0x51be,
+ /* 2nd byte: 125 */ 0x51bf,
+ /* 2nd byte: 126 */ 0x51c2},
+/* 1st byte: 51 */ {
+ /* 2nd byte: 33 */ 0x51c8,
+ /* 2nd byte: 34 */ 0x51cf,
+ /* 2nd byte: 35 */ 0x51d1,
+ /* 2nd byte: 36 */ 0x51d2,
+ /* 2nd byte: 37 */ 0x51d3,
+ /* 2nd byte: 38 */ 0x51d5,
+ /* 2nd byte: 39 */ 0x51d8,
+ /* 2nd byte: 40 */ 0x51de,
+ /* 2nd byte: 41 */ 0x51e2,
+ /* 2nd byte: 42 */ 0x51e5,
+ /* 2nd byte: 43 */ 0x51ee,
+ /* 2nd byte: 44 */ 0x51f2,
+ /* 2nd byte: 45 */ 0x51f3,
+ /* 2nd byte: 46 */ 0x51f4,
+ /* 2nd byte: 47 */ 0x51f7,
+ /* 2nd byte: 48 */ 0x5201,
+ /* 2nd byte: 49 */ 0x5202,
+ /* 2nd byte: 50 */ 0x5205,
+ /* 2nd byte: 51 */ 0x5212,
+ /* 2nd byte: 52 */ 0x5213,
+ /* 2nd byte: 53 */ 0x5215,
+ /* 2nd byte: 54 */ 0x5216,
+ /* 2nd byte: 55 */ 0x5218,
+ /* 2nd byte: 56 */ 0x5222,
+ /* 2nd byte: 57 */ 0x5228,
+ /* 2nd byte: 58 */ 0x5231,
+ /* 2nd byte: 59 */ 0x5232,
+ /* 2nd byte: 60 */ 0x5235,
+ /* 2nd byte: 61 */ 0x523c,
+ /* 2nd byte: 62 */ 0x5245,
+ /* 2nd byte: 63 */ 0x5249,
+ /* 2nd byte: 64 */ 0x5255,
+ /* 2nd byte: 65 */ 0x5257,
+ /* 2nd byte: 66 */ 0x5258,
+ /* 2nd byte: 67 */ 0x525a,
+ /* 2nd byte: 68 */ 0x525c,
+ /* 2nd byte: 69 */ 0x525f,
+ /* 2nd byte: 70 */ 0x5260,
+ /* 2nd byte: 71 */ 0x5261,
+ /* 2nd byte: 72 */ 0x5266,
+ /* 2nd byte: 73 */ 0x526e,
+ /* 2nd byte: 74 */ 0x5277,
+ /* 2nd byte: 75 */ 0x5278,
+ /* 2nd byte: 76 */ 0x5279,
+ /* 2nd byte: 77 */ 0x5280,
+ /* 2nd byte: 78 */ 0x5282,
+ /* 2nd byte: 79 */ 0x5285,
+ /* 2nd byte: 80 */ 0x528a,
+ /* 2nd byte: 81 */ 0x528c,
+ /* 2nd byte: 82 */ 0x5293,
+ /* 2nd byte: 83 */ 0x5295,
+ /* 2nd byte: 84 */ 0x5296,
+ /* 2nd byte: 85 */ 0x5297,
+ /* 2nd byte: 86 */ 0x5298,
+ /* 2nd byte: 87 */ 0x529a,
+ /* 2nd byte: 88 */ 0x529c,
+ /* 2nd byte: 89 */ 0x52a4,
+ /* 2nd byte: 90 */ 0x52a5,
+ /* 2nd byte: 91 */ 0x52a6,
+ /* 2nd byte: 92 */ 0x52a7,
+ /* 2nd byte: 93 */ 0x52af,
+ /* 2nd byte: 94 */ 0x52b0,
+ /* 2nd byte: 95 */ 0x52b6,
+ /* 2nd byte: 96 */ 0x52b7,
+ /* 2nd byte: 97 */ 0x52b8,
+ /* 2nd byte: 98 */ 0x52ba,
+ /* 2nd byte: 99 */ 0x52bb,
+ /* 2nd byte: 100 */ 0x52bd,
+ /* 2nd byte: 101 */ 0x52c0,
+ /* 2nd byte: 102 */ 0x52c4,
+ /* 2nd byte: 103 */ 0x52c6,
+ /* 2nd byte: 104 */ 0x52c8,
+ /* 2nd byte: 105 */ 0x52cc,
+ /* 2nd byte: 106 */ 0x52cf,
+ /* 2nd byte: 107 */ 0x52d1,
+ /* 2nd byte: 108 */ 0x52d4,
+ /* 2nd byte: 109 */ 0x52d6,
+ /* 2nd byte: 110 */ 0x52db,
+ /* 2nd byte: 111 */ 0x52dc,
+ /* 2nd byte: 112 */ 0x52e1,
+ /* 2nd byte: 113 */ 0x52e5,
+ /* 2nd byte: 114 */ 0x52e8,
+ /* 2nd byte: 115 */ 0x52e9,
+ /* 2nd byte: 116 */ 0x52ea,
+ /* 2nd byte: 117 */ 0x52ec,
+ /* 2nd byte: 118 */ 0x52f0,
+ /* 2nd byte: 119 */ 0x52f1,
+ /* 2nd byte: 120 */ 0x52f4,
+ /* 2nd byte: 121 */ 0x52f6,
+ /* 2nd byte: 122 */ 0x52f7,
+ /* 2nd byte: 123 */ 0x5300,
+ /* 2nd byte: 124 */ 0x5303,
+ /* 2nd byte: 125 */ 0x530a,
+ /* 2nd byte: 126 */ 0x530b},
+/* 1st byte: 52 */ {
+ /* 2nd byte: 33 */ 0x530c,
+ /* 2nd byte: 34 */ 0x5311,
+ /* 2nd byte: 35 */ 0x5313,
+ /* 2nd byte: 36 */ 0x5318,
+ /* 2nd byte: 37 */ 0x531b,
+ /* 2nd byte: 38 */ 0x531c,
+ /* 2nd byte: 39 */ 0x531e,
+ /* 2nd byte: 40 */ 0x531f,
+ /* 2nd byte: 41 */ 0x5325,
+ /* 2nd byte: 42 */ 0x5327,
+ /* 2nd byte: 43 */ 0x5328,
+ /* 2nd byte: 44 */ 0x5329,
+ /* 2nd byte: 45 */ 0x532b,
+ /* 2nd byte: 46 */ 0x532c,
+ /* 2nd byte: 47 */ 0x532d,
+ /* 2nd byte: 48 */ 0x5330,
+ /* 2nd byte: 49 */ 0x5332,
+ /* 2nd byte: 50 */ 0x5335,
+ /* 2nd byte: 51 */ 0x533c,
+ /* 2nd byte: 52 */ 0x533d,
+ /* 2nd byte: 53 */ 0x533e,
+ /* 2nd byte: 54 */ 0x5342,
+ /* 2nd byte: 55 */ 0x534c,
+ /* 2nd byte: 56 */ 0x534b,
+ /* 2nd byte: 57 */ 0x5359,
+ /* 2nd byte: 58 */ 0x535b,
+ /* 2nd byte: 59 */ 0x5361,
+ /* 2nd byte: 60 */ 0x5363,
+ /* 2nd byte: 61 */ 0x5365,
+ /* 2nd byte: 62 */ 0x536c,
+ /* 2nd byte: 63 */ 0x536d,
+ /* 2nd byte: 64 */ 0x5372,
+ /* 2nd byte: 65 */ 0x5379,
+ /* 2nd byte: 66 */ 0x537e,
+ /* 2nd byte: 67 */ 0x5383,
+ /* 2nd byte: 68 */ 0x5387,
+ /* 2nd byte: 69 */ 0x5388,
+ /* 2nd byte: 70 */ 0x538e,
+ /* 2nd byte: 71 */ 0x5393,
+ /* 2nd byte: 72 */ 0x5394,
+ /* 2nd byte: 73 */ 0x5399,
+ /* 2nd byte: 74 */ 0x539d,
+ /* 2nd byte: 75 */ 0x53a1,
+ /* 2nd byte: 76 */ 0x53a4,
+ /* 2nd byte: 77 */ 0x53aa,
+ /* 2nd byte: 78 */ 0x53ab,
+ /* 2nd byte: 79 */ 0x53af,
+ /* 2nd byte: 80 */ 0x53b2,
+ /* 2nd byte: 81 */ 0x53b4,
+ /* 2nd byte: 82 */ 0x53b5,
+ /* 2nd byte: 83 */ 0x53b7,
+ /* 2nd byte: 84 */ 0x53b8,
+ /* 2nd byte: 85 */ 0x53ba,
+ /* 2nd byte: 86 */ 0x53bd,
+ /* 2nd byte: 87 */ 0x53c0,
+ /* 2nd byte: 88 */ 0x53c5,
+ /* 2nd byte: 89 */ 0x53cf,
+ /* 2nd byte: 90 */ 0x53d2,
+ /* 2nd byte: 91 */ 0x53d3,
+ /* 2nd byte: 92 */ 0x53d5,
+ /* 2nd byte: 93 */ 0x53da,
+ /* 2nd byte: 94 */ 0x53dd,
+ /* 2nd byte: 95 */ 0x53de,
+ /* 2nd byte: 96 */ 0x53e0,
+ /* 2nd byte: 97 */ 0x53e6,
+ /* 2nd byte: 98 */ 0x53e7,
+ /* 2nd byte: 99 */ 0x53f5,
+ /* 2nd byte: 100 */ 0x5402,
+ /* 2nd byte: 101 */ 0x5413,
+ /* 2nd byte: 102 */ 0x541a,
+ /* 2nd byte: 103 */ 0x5421,
+ /* 2nd byte: 104 */ 0x5427,
+ /* 2nd byte: 105 */ 0x5428,
+ /* 2nd byte: 106 */ 0x542a,
+ /* 2nd byte: 107 */ 0x542f,
+ /* 2nd byte: 108 */ 0x5431,
+ /* 2nd byte: 109 */ 0x5434,
+ /* 2nd byte: 110 */ 0x5435,
+ /* 2nd byte: 111 */ 0x5443,
+ /* 2nd byte: 112 */ 0x5444,
+ /* 2nd byte: 113 */ 0x5447,
+ /* 2nd byte: 114 */ 0x544d,
+ /* 2nd byte: 115 */ 0x544f,
+ /* 2nd byte: 116 */ 0x545e,
+ /* 2nd byte: 117 */ 0x5462,
+ /* 2nd byte: 118 */ 0x5464,
+ /* 2nd byte: 119 */ 0x5466,
+ /* 2nd byte: 120 */ 0x5467,
+ /* 2nd byte: 121 */ 0x5469,
+ /* 2nd byte: 122 */ 0x546b,
+ /* 2nd byte: 123 */ 0x546d,
+ /* 2nd byte: 124 */ 0x546e,
+ /* 2nd byte: 125 */ 0x5474,
+ /* 2nd byte: 126 */ 0x547f},
+/* 1st byte: 53 */ {
+ /* 2nd byte: 33 */ 0x5481,
+ /* 2nd byte: 34 */ 0x5483,
+ /* 2nd byte: 35 */ 0x5485,
+ /* 2nd byte: 36 */ 0x5488,
+ /* 2nd byte: 37 */ 0x5489,
+ /* 2nd byte: 38 */ 0x548d,
+ /* 2nd byte: 39 */ 0x5491,
+ /* 2nd byte: 40 */ 0x5495,
+ /* 2nd byte: 41 */ 0x5496,
+ /* 2nd byte: 42 */ 0x549c,
+ /* 2nd byte: 43 */ 0x549f,
+ /* 2nd byte: 44 */ 0x54a1,
+ /* 2nd byte: 45 */ 0x54a6,
+ /* 2nd byte: 46 */ 0x54a7,
+ /* 2nd byte: 47 */ 0x54a9,
+ /* 2nd byte: 48 */ 0x54aa,
+ /* 2nd byte: 49 */ 0x54ad,
+ /* 2nd byte: 50 */ 0x54ae,
+ /* 2nd byte: 51 */ 0x54b1,
+ /* 2nd byte: 52 */ 0x54b7,
+ /* 2nd byte: 53 */ 0x54b9,
+ /* 2nd byte: 54 */ 0x54ba,
+ /* 2nd byte: 55 */ 0x54bb,
+ /* 2nd byte: 56 */ 0x54bf,
+ /* 2nd byte: 57 */ 0x54c6,
+ /* 2nd byte: 58 */ 0x54ca,
+ /* 2nd byte: 59 */ 0x54cd,
+ /* 2nd byte: 60 */ 0x54ce,
+ /* 2nd byte: 61 */ 0x54e0,
+ /* 2nd byte: 62 */ 0x54ea,
+ /* 2nd byte: 63 */ 0x54ec,
+ /* 2nd byte: 64 */ 0x54ef,
+ /* 2nd byte: 65 */ 0x54f6,
+ /* 2nd byte: 66 */ 0x54fc,
+ /* 2nd byte: 67 */ 0x54fe,
+ /* 2nd byte: 68 */ 0x54ff,
+ /* 2nd byte: 69 */ 0x5500,
+ /* 2nd byte: 70 */ 0x5501,
+ /* 2nd byte: 71 */ 0x5505,
+ /* 2nd byte: 72 */ 0x5508,
+ /* 2nd byte: 73 */ 0x5509,
+ /* 2nd byte: 74 */ 0x550c,
+ /* 2nd byte: 75 */ 0x550d,
+ /* 2nd byte: 76 */ 0x550e,
+ /* 2nd byte: 77 */ 0x5515,
+ /* 2nd byte: 78 */ 0x552a,
+ /* 2nd byte: 79 */ 0x552b,
+ /* 2nd byte: 80 */ 0x5532,
+ /* 2nd byte: 81 */ 0x5535,
+ /* 2nd byte: 82 */ 0x5536,
+ /* 2nd byte: 83 */ 0x553b,
+ /* 2nd byte: 84 */ 0x553c,
+ /* 2nd byte: 85 */ 0x553d,
+ /* 2nd byte: 86 */ 0x5541,
+ /* 2nd byte: 87 */ 0x5547,
+ /* 2nd byte: 88 */ 0x5549,
+ /* 2nd byte: 89 */ 0x554a,
+ /* 2nd byte: 90 */ 0x554d,
+ /* 2nd byte: 91 */ 0x5550,
+ /* 2nd byte: 92 */ 0x5551,
+ /* 2nd byte: 93 */ 0x5558,
+ /* 2nd byte: 94 */ 0x555a,
+ /* 2nd byte: 95 */ 0x555b,
+ /* 2nd byte: 96 */ 0x555e,
+ /* 2nd byte: 97 */ 0x5560,
+ /* 2nd byte: 98 */ 0x5561,
+ /* 2nd byte: 99 */ 0x5564,
+ /* 2nd byte: 100 */ 0x5566,
+ /* 2nd byte: 101 */ 0x557f,
+ /* 2nd byte: 102 */ 0x5581,
+ /* 2nd byte: 103 */ 0x5582,
+ /* 2nd byte: 104 */ 0x5586,
+ /* 2nd byte: 105 */ 0x5588,
+ /* 2nd byte: 106 */ 0x558e,
+ /* 2nd byte: 107 */ 0x558f,
+ /* 2nd byte: 108 */ 0x5591,
+ /* 2nd byte: 109 */ 0x5592,
+ /* 2nd byte: 110 */ 0x5593,
+ /* 2nd byte: 111 */ 0x5594,
+ /* 2nd byte: 112 */ 0x5597,
+ /* 2nd byte: 113 */ 0x55a3,
+ /* 2nd byte: 114 */ 0x55a4,
+ /* 2nd byte: 115 */ 0x55ad,
+ /* 2nd byte: 116 */ 0x55b2,
+ /* 2nd byte: 117 */ 0x55bf,
+ /* 2nd byte: 118 */ 0x55c1,
+ /* 2nd byte: 119 */ 0x55c3,
+ /* 2nd byte: 120 */ 0x55c6,
+ /* 2nd byte: 121 */ 0x55c9,
+ /* 2nd byte: 122 */ 0x55cb,
+ /* 2nd byte: 123 */ 0x55cc,
+ /* 2nd byte: 124 */ 0x55ce,
+ /* 2nd byte: 125 */ 0x55d1,
+ /* 2nd byte: 126 */ 0x55d2},
+/* 1st byte: 54 */ {
+ /* 2nd byte: 33 */ 0x55d3,
+ /* 2nd byte: 34 */ 0x55d7,
+ /* 2nd byte: 35 */ 0x55d8,
+ /* 2nd byte: 36 */ 0x55db,
+ /* 2nd byte: 37 */ 0x55de,
+ /* 2nd byte: 38 */ 0x55e2,
+ /* 2nd byte: 39 */ 0x55e9,
+ /* 2nd byte: 40 */ 0x55f6,
+ /* 2nd byte: 41 */ 0x55ff,
+ /* 2nd byte: 42 */ 0x5605,
+ /* 2nd byte: 43 */ 0x5608,
+ /* 2nd byte: 44 */ 0x560a,
+ /* 2nd byte: 45 */ 0x560d,
+ /* 2nd byte: 46 */ 0x560e,
+ /* 2nd byte: 47 */ 0x560f,
+ /* 2nd byte: 48 */ 0x5610,
+ /* 2nd byte: 49 */ 0x5611,
+ /* 2nd byte: 50 */ 0x5612,
+ /* 2nd byte: 51 */ 0x5619,
+ /* 2nd byte: 52 */ 0x562c,
+ /* 2nd byte: 53 */ 0x5630,
+ /* 2nd byte: 54 */ 0x5633,
+ /* 2nd byte: 55 */ 0x5635,
+ /* 2nd byte: 56 */ 0x5637,
+ /* 2nd byte: 57 */ 0x5639,
+ /* 2nd byte: 58 */ 0x563b,
+ /* 2nd byte: 59 */ 0x563c,
+ /* 2nd byte: 60 */ 0x563d,
+ /* 2nd byte: 61 */ 0x563f,
+ /* 2nd byte: 62 */ 0x5640,
+ /* 2nd byte: 63 */ 0x5641,
+ /* 2nd byte: 64 */ 0x5643,
+ /* 2nd byte: 65 */ 0x5644,
+ /* 2nd byte: 66 */ 0x5646,
+ /* 2nd byte: 67 */ 0x5649,
+ /* 2nd byte: 68 */ 0x564b,
+ /* 2nd byte: 69 */ 0x564d,
+ /* 2nd byte: 70 */ 0x564f,
+ /* 2nd byte: 71 */ 0x5654,
+ /* 2nd byte: 72 */ 0x565e,
+ /* 2nd byte: 73 */ 0x5660,
+ /* 2nd byte: 74 */ 0x5661,
+ /* 2nd byte: 75 */ 0x5662,
+ /* 2nd byte: 76 */ 0x5663,
+ /* 2nd byte: 77 */ 0x5666,
+ /* 2nd byte: 78 */ 0x5669,
+ /* 2nd byte: 79 */ 0x566d,
+ /* 2nd byte: 80 */ 0x566f,
+ /* 2nd byte: 81 */ 0x5671,
+ /* 2nd byte: 82 */ 0x5672,
+ /* 2nd byte: 83 */ 0x5675,
+ /* 2nd byte: 84 */ 0x5684,
+ /* 2nd byte: 85 */ 0x5685,
+ /* 2nd byte: 86 */ 0x5688,
+ /* 2nd byte: 87 */ 0x568b,
+ /* 2nd byte: 88 */ 0x568c,
+ /* 2nd byte: 89 */ 0x5695,
+ /* 2nd byte: 90 */ 0x5699,
+ /* 2nd byte: 91 */ 0x569a,
+ /* 2nd byte: 92 */ 0x569d,
+ /* 2nd byte: 93 */ 0x569e,
+ /* 2nd byte: 94 */ 0x569f,
+ /* 2nd byte: 95 */ 0x56a6,
+ /* 2nd byte: 96 */ 0x56a7,
+ /* 2nd byte: 97 */ 0x56a8,
+ /* 2nd byte: 98 */ 0x56a9,
+ /* 2nd byte: 99 */ 0x56ab,
+ /* 2nd byte: 100 */ 0x56ac,
+ /* 2nd byte: 101 */ 0x56ad,
+ /* 2nd byte: 102 */ 0x56b1,
+ /* 2nd byte: 103 */ 0x56b3,
+ /* 2nd byte: 104 */ 0x56b7,
+ /* 2nd byte: 105 */ 0x56be,
+ /* 2nd byte: 106 */ 0x56c5,
+ /* 2nd byte: 107 */ 0x56c9,
+ /* 2nd byte: 108 */ 0x56ca,
+ /* 2nd byte: 109 */ 0x56cb,
+ /* 2nd byte: 110 */ 0x56cf,
+ /* 2nd byte: 111 */ 0x56d0,
+ /* 2nd byte: 112 */ 0x56cc,
+ /* 2nd byte: 113 */ 0x56cd,
+ /* 2nd byte: 114 */ 0x56d9,
+ /* 2nd byte: 115 */ 0x56dc,
+ /* 2nd byte: 116 */ 0x56dd,
+ /* 2nd byte: 117 */ 0x56df,
+ /* 2nd byte: 118 */ 0x56e1,
+ /* 2nd byte: 119 */ 0x56e4,
+ /* 2nd byte: 120 */ 0x56e5,
+ /* 2nd byte: 121 */ 0x56e6,
+ /* 2nd byte: 122 */ 0x56e7,
+ /* 2nd byte: 123 */ 0x56e8,
+ /* 2nd byte: 124 */ 0x56f1,
+ /* 2nd byte: 125 */ 0x56eb,
+ /* 2nd byte: 126 */ 0x56ed},
+/* 1st byte: 55 */ {
+ /* 2nd byte: 33 */ 0x56f6,
+ /* 2nd byte: 34 */ 0x56f7,
+ /* 2nd byte: 35 */ 0x5701,
+ /* 2nd byte: 36 */ 0x5702,
+ /* 2nd byte: 37 */ 0x5707,
+ /* 2nd byte: 38 */ 0x570a,
+ /* 2nd byte: 39 */ 0x570c,
+ /* 2nd byte: 40 */ 0x5711,
+ /* 2nd byte: 41 */ 0x5715,
+ /* 2nd byte: 42 */ 0x571a,
+ /* 2nd byte: 43 */ 0x571b,
+ /* 2nd byte: 44 */ 0x571d,
+ /* 2nd byte: 45 */ 0x5720,
+ /* 2nd byte: 46 */ 0x5722,
+ /* 2nd byte: 47 */ 0x5723,
+ /* 2nd byte: 48 */ 0x5724,
+ /* 2nd byte: 49 */ 0x5725,
+ /* 2nd byte: 50 */ 0x5729,
+ /* 2nd byte: 51 */ 0x572a,
+ /* 2nd byte: 52 */ 0x572c,
+ /* 2nd byte: 53 */ 0x572e,
+ /* 2nd byte: 54 */ 0x572f,
+ /* 2nd byte: 55 */ 0x5733,
+ /* 2nd byte: 56 */ 0x5734,
+ /* 2nd byte: 57 */ 0x573d,
+ /* 2nd byte: 58 */ 0x573e,
+ /* 2nd byte: 59 */ 0x573f,
+ /* 2nd byte: 60 */ 0x5745,
+ /* 2nd byte: 61 */ 0x5746,
+ /* 2nd byte: 62 */ 0x574c,
+ /* 2nd byte: 63 */ 0x574d,
+ /* 2nd byte: 64 */ 0x5752,
+ /* 2nd byte: 65 */ 0x5762,
+ /* 2nd byte: 66 */ 0x5765,
+ /* 2nd byte: 67 */ 0x5767,
+ /* 2nd byte: 68 */ 0x5768,
+ /* 2nd byte: 69 */ 0x576b,
+ /* 2nd byte: 70 */ 0x576d,
+ /* 2nd byte: 71 */ 0x576e,
+ /* 2nd byte: 72 */ 0x576f,
+ /* 2nd byte: 73 */ 0x5770,
+ /* 2nd byte: 74 */ 0x5771,
+ /* 2nd byte: 75 */ 0x5773,
+ /* 2nd byte: 76 */ 0x5774,
+ /* 2nd byte: 77 */ 0x5775,
+ /* 2nd byte: 78 */ 0x5777,
+ /* 2nd byte: 79 */ 0x5779,
+ /* 2nd byte: 80 */ 0x577a,
+ /* 2nd byte: 81 */ 0x577b,
+ /* 2nd byte: 82 */ 0x577c,
+ /* 2nd byte: 83 */ 0x577e,
+ /* 2nd byte: 84 */ 0x5781,
+ /* 2nd byte: 85 */ 0x5783,
+ /* 2nd byte: 86 */ 0x578c,
+ /* 2nd byte: 87 */ 0x5794,
+ /* 2nd byte: 88 */ 0x5797,
+ /* 2nd byte: 89 */ 0x5799,
+ /* 2nd byte: 90 */ 0x579a,
+ /* 2nd byte: 91 */ 0x579c,
+ /* 2nd byte: 92 */ 0x579d,
+ /* 2nd byte: 93 */ 0x579e,
+ /* 2nd byte: 94 */ 0x579f,
+ /* 2nd byte: 95 */ 0x57a1,
+ /* 2nd byte: 96 */ 0x5795,
+ /* 2nd byte: 97 */ 0x57a7,
+ /* 2nd byte: 98 */ 0x57a8,
+ /* 2nd byte: 99 */ 0x57a9,
+ /* 2nd byte: 100 */ 0x57ac,
+ /* 2nd byte: 101 */ 0x57b8,
+ /* 2nd byte: 102 */ 0x57bd,
+ /* 2nd byte: 103 */ 0x57c7,
+ /* 2nd byte: 104 */ 0x57c8,
+ /* 2nd byte: 105 */ 0x57cc,
+ /* 2nd byte: 106 */ 0x57cf,
+ /* 2nd byte: 107 */ 0x57d5,
+ /* 2nd byte: 108 */ 0x57dd,
+ /* 2nd byte: 109 */ 0x57de,
+ /* 2nd byte: 110 */ 0x57e4,
+ /* 2nd byte: 111 */ 0x57e6,
+ /* 2nd byte: 112 */ 0x57e7,
+ /* 2nd byte: 113 */ 0x57e9,
+ /* 2nd byte: 114 */ 0x57ed,
+ /* 2nd byte: 115 */ 0x57f0,
+ /* 2nd byte: 116 */ 0x57f5,
+ /* 2nd byte: 117 */ 0x57f6,
+ /* 2nd byte: 118 */ 0x57f8,
+ /* 2nd byte: 119 */ 0x57fd,
+ /* 2nd byte: 120 */ 0x57fe,
+ /* 2nd byte: 121 */ 0x57ff,
+ /* 2nd byte: 122 */ 0x5803,
+ /* 2nd byte: 123 */ 0x5804,
+ /* 2nd byte: 124 */ 0x5808,
+ /* 2nd byte: 125 */ 0x5809,
+ /* 2nd byte: 126 */ 0x57e1},
+/* 1st byte: 56 */ {
+ /* 2nd byte: 33 */ 0x580c,
+ /* 2nd byte: 34 */ 0x580d,
+ /* 2nd byte: 35 */ 0x581b,
+ /* 2nd byte: 36 */ 0x581e,
+ /* 2nd byte: 37 */ 0x581f,
+ /* 2nd byte: 38 */ 0x5820,
+ /* 2nd byte: 39 */ 0x5826,
+ /* 2nd byte: 40 */ 0x5827,
+ /* 2nd byte: 41 */ 0x582d,
+ /* 2nd byte: 42 */ 0x5832,
+ /* 2nd byte: 43 */ 0x5839,
+ /* 2nd byte: 44 */ 0x583f,
+ /* 2nd byte: 45 */ 0x5849,
+ /* 2nd byte: 46 */ 0x584c,
+ /* 2nd byte: 47 */ 0x584d,
+ /* 2nd byte: 48 */ 0x584f,
+ /* 2nd byte: 49 */ 0x5850,
+ /* 2nd byte: 50 */ 0x5855,
+ /* 2nd byte: 51 */ 0x585f,
+ /* 2nd byte: 52 */ 0x5861,
+ /* 2nd byte: 53 */ 0x5864,
+ /* 2nd byte: 54 */ 0x5867,
+ /* 2nd byte: 55 */ 0x5868,
+ /* 2nd byte: 56 */ 0x5878,
+ /* 2nd byte: 57 */ 0x587c,
+ /* 2nd byte: 58 */ 0x587f,
+ /* 2nd byte: 59 */ 0x5880,
+ /* 2nd byte: 60 */ 0x5881,
+ /* 2nd byte: 61 */ 0x5887,
+ /* 2nd byte: 62 */ 0x5888,
+ /* 2nd byte: 63 */ 0x5889,
+ /* 2nd byte: 64 */ 0x588a,
+ /* 2nd byte: 65 */ 0x588c,
+ /* 2nd byte: 66 */ 0x588d,
+ /* 2nd byte: 67 */ 0x588f,
+ /* 2nd byte: 68 */ 0x5890,
+ /* 2nd byte: 69 */ 0x5894,
+ /* 2nd byte: 70 */ 0x5896,
+ /* 2nd byte: 71 */ 0x589d,
+ /* 2nd byte: 72 */ 0x58a0,
+ /* 2nd byte: 73 */ 0x58a1,
+ /* 2nd byte: 74 */ 0x58a2,
+ /* 2nd byte: 75 */ 0x58a6,
+ /* 2nd byte: 76 */ 0x58a9,
+ /* 2nd byte: 77 */ 0x58b1,
+ /* 2nd byte: 78 */ 0x58b2,
+ /* 2nd byte: 79 */ 0x58c4,
+ /* 2nd byte: 80 */ 0x58bc,
+ /* 2nd byte: 81 */ 0x58c2,
+ /* 2nd byte: 82 */ 0x58c8,
+ /* 2nd byte: 83 */ 0x58cd,
+ /* 2nd byte: 84 */ 0x58ce,
+ /* 2nd byte: 85 */ 0x58d0,
+ /* 2nd byte: 86 */ 0x58d2,
+ /* 2nd byte: 87 */ 0x58d4,
+ /* 2nd byte: 88 */ 0x58d6,
+ /* 2nd byte: 89 */ 0x58da,
+ /* 2nd byte: 90 */ 0x58dd,
+ /* 2nd byte: 91 */ 0x58e1,
+ /* 2nd byte: 92 */ 0x58e2,
+ /* 2nd byte: 93 */ 0x58e9,
+ /* 2nd byte: 94 */ 0x58f3,
+ /* 2nd byte: 95 */ 0x5905,
+ /* 2nd byte: 96 */ 0x5906,
+ /* 2nd byte: 97 */ 0x590b,
+ /* 2nd byte: 98 */ 0x590c,
+ /* 2nd byte: 99 */ 0x5912,
+ /* 2nd byte: 100 */ 0x5913,
+ /* 2nd byte: 101 */ 0x5914,
+ /* 2nd byte: 102 */ 0x8641,
+ /* 2nd byte: 103 */ 0x591d,
+ /* 2nd byte: 104 */ 0x5921,
+ /* 2nd byte: 105 */ 0x5923,
+ /* 2nd byte: 106 */ 0x5924,
+ /* 2nd byte: 107 */ 0x5928,
+ /* 2nd byte: 108 */ 0x592f,
+ /* 2nd byte: 109 */ 0x5930,
+ /* 2nd byte: 110 */ 0x5933,
+ /* 2nd byte: 111 */ 0x5935,
+ /* 2nd byte: 112 */ 0x5936,
+ /* 2nd byte: 113 */ 0x593f,
+ /* 2nd byte: 114 */ 0x5943,
+ /* 2nd byte: 115 */ 0x5946,
+ /* 2nd byte: 116 */ 0x5952,
+ /* 2nd byte: 117 */ 0x5953,
+ /* 2nd byte: 118 */ 0x5959,
+ /* 2nd byte: 119 */ 0x595b,
+ /* 2nd byte: 120 */ 0x595d,
+ /* 2nd byte: 121 */ 0x595e,
+ /* 2nd byte: 122 */ 0x595f,
+ /* 2nd byte: 123 */ 0x5961,
+ /* 2nd byte: 124 */ 0x5963,
+ /* 2nd byte: 125 */ 0x596b,
+ /* 2nd byte: 126 */ 0x596d},
+/* 1st byte: 57 */ {
+ /* 2nd byte: 33 */ 0x596f,
+ /* 2nd byte: 34 */ 0x5972,
+ /* 2nd byte: 35 */ 0x5975,
+ /* 2nd byte: 36 */ 0x5976,
+ /* 2nd byte: 37 */ 0x5979,
+ /* 2nd byte: 38 */ 0x597b,
+ /* 2nd byte: 39 */ 0x597c,
+ /* 2nd byte: 40 */ 0x598b,
+ /* 2nd byte: 41 */ 0x598c,
+ /* 2nd byte: 42 */ 0x598e,
+ /* 2nd byte: 43 */ 0x5992,
+ /* 2nd byte: 44 */ 0x5995,
+ /* 2nd byte: 45 */ 0x5997,
+ /* 2nd byte: 46 */ 0x599f,
+ /* 2nd byte: 47 */ 0x59a4,
+ /* 2nd byte: 48 */ 0x59a7,
+ /* 2nd byte: 49 */ 0x59ad,
+ /* 2nd byte: 50 */ 0x59ae,
+ /* 2nd byte: 51 */ 0x59af,
+ /* 2nd byte: 52 */ 0x59b0,
+ /* 2nd byte: 53 */ 0x59b3,
+ /* 2nd byte: 54 */ 0x59b7,
+ /* 2nd byte: 55 */ 0x59ba,
+ /* 2nd byte: 56 */ 0x59bc,
+ /* 2nd byte: 57 */ 0x59c1,
+ /* 2nd byte: 58 */ 0x59c3,
+ /* 2nd byte: 59 */ 0x59c4,
+ /* 2nd byte: 60 */ 0x59c8,
+ /* 2nd byte: 61 */ 0x59ca,
+ /* 2nd byte: 62 */ 0x59cd,
+ /* 2nd byte: 63 */ 0x59d2,
+ /* 2nd byte: 64 */ 0x59dd,
+ /* 2nd byte: 65 */ 0x59de,
+ /* 2nd byte: 66 */ 0x59df,
+ /* 2nd byte: 67 */ 0x59e3,
+ /* 2nd byte: 68 */ 0x59e4,
+ /* 2nd byte: 69 */ 0x59e7,
+ /* 2nd byte: 70 */ 0x59ee,
+ /* 2nd byte: 71 */ 0x59ef,
+ /* 2nd byte: 72 */ 0x59f1,
+ /* 2nd byte: 73 */ 0x59f2,
+ /* 2nd byte: 74 */ 0x59f4,
+ /* 2nd byte: 75 */ 0x59f7,
+ /* 2nd byte: 76 */ 0x5a00,
+ /* 2nd byte: 77 */ 0x5a04,
+ /* 2nd byte: 78 */ 0x5a0c,
+ /* 2nd byte: 79 */ 0x5a0d,
+ /* 2nd byte: 80 */ 0x5a0e,
+ /* 2nd byte: 81 */ 0x5a12,
+ /* 2nd byte: 82 */ 0x5a13,
+ /* 2nd byte: 83 */ 0x5a1e,
+ /* 2nd byte: 84 */ 0x5a23,
+ /* 2nd byte: 85 */ 0x5a24,
+ /* 2nd byte: 86 */ 0x5a27,
+ /* 2nd byte: 87 */ 0x5a28,
+ /* 2nd byte: 88 */ 0x5a2a,
+ /* 2nd byte: 89 */ 0x5a2d,
+ /* 2nd byte: 90 */ 0x5a30,
+ /* 2nd byte: 91 */ 0x5a44,
+ /* 2nd byte: 92 */ 0x5a45,
+ /* 2nd byte: 93 */ 0x5a47,
+ /* 2nd byte: 94 */ 0x5a48,
+ /* 2nd byte: 95 */ 0x5a4c,
+ /* 2nd byte: 96 */ 0x5a50,
+ /* 2nd byte: 97 */ 0x5a55,
+ /* 2nd byte: 98 */ 0x5a5e,
+ /* 2nd byte: 99 */ 0x5a63,
+ /* 2nd byte: 100 */ 0x5a65,
+ /* 2nd byte: 101 */ 0x5a67,
+ /* 2nd byte: 102 */ 0x5a6d,
+ /* 2nd byte: 103 */ 0x5a77,
+ /* 2nd byte: 104 */ 0x5a7a,
+ /* 2nd byte: 105 */ 0x5a7b,
+ /* 2nd byte: 106 */ 0x5a7e,
+ /* 2nd byte: 107 */ 0x5a8b,
+ /* 2nd byte: 108 */ 0x5a90,
+ /* 2nd byte: 109 */ 0x5a93,
+ /* 2nd byte: 110 */ 0x5a96,
+ /* 2nd byte: 111 */ 0x5a99,
+ /* 2nd byte: 112 */ 0x5a9c,
+ /* 2nd byte: 113 */ 0x5a9e,
+ /* 2nd byte: 114 */ 0x5a9f,
+ /* 2nd byte: 115 */ 0x5aa0,
+ /* 2nd byte: 116 */ 0x5aa2,
+ /* 2nd byte: 117 */ 0x5aa7,
+ /* 2nd byte: 118 */ 0x5aac,
+ /* 2nd byte: 119 */ 0x5ab1,
+ /* 2nd byte: 120 */ 0x5ab2,
+ /* 2nd byte: 121 */ 0x5ab3,
+ /* 2nd byte: 122 */ 0x5ab5,
+ /* 2nd byte: 123 */ 0x5ab8,
+ /* 2nd byte: 124 */ 0x5aba,
+ /* 2nd byte: 125 */ 0x5abb,
+ /* 2nd byte: 126 */ 0x5abf},
+/* 1st byte: 58 */ {
+ /* 2nd byte: 33 */ 0x5ac4,
+ /* 2nd byte: 34 */ 0x5ac6,
+ /* 2nd byte: 35 */ 0x5ac8,
+ /* 2nd byte: 36 */ 0x5acf,
+ /* 2nd byte: 37 */ 0x5ada,
+ /* 2nd byte: 38 */ 0x5adc,
+ /* 2nd byte: 39 */ 0x5ae0,
+ /* 2nd byte: 40 */ 0x5ae5,
+ /* 2nd byte: 41 */ 0x5aea,
+ /* 2nd byte: 42 */ 0x5aee,
+ /* 2nd byte: 43 */ 0x5af5,
+ /* 2nd byte: 44 */ 0x5af6,
+ /* 2nd byte: 45 */ 0x5afd,
+ /* 2nd byte: 46 */ 0x5b00,
+ /* 2nd byte: 47 */ 0x5b01,
+ /* 2nd byte: 48 */ 0x5b08,
+ /* 2nd byte: 49 */ 0x5b17,
+ /* 2nd byte: 50 */ 0x5b34,
+ /* 2nd byte: 51 */ 0x5b19,
+ /* 2nd byte: 52 */ 0x5b1b,
+ /* 2nd byte: 53 */ 0x5b1d,
+ /* 2nd byte: 54 */ 0x5b21,
+ /* 2nd byte: 55 */ 0x5b25,
+ /* 2nd byte: 56 */ 0x5b2d,
+ /* 2nd byte: 57 */ 0x5b38,
+ /* 2nd byte: 58 */ 0x5b41,
+ /* 2nd byte: 59 */ 0x5b4b,
+ /* 2nd byte: 60 */ 0x5b4c,
+ /* 2nd byte: 61 */ 0x5b52,
+ /* 2nd byte: 62 */ 0x5b56,
+ /* 2nd byte: 63 */ 0x5b5e,
+ /* 2nd byte: 64 */ 0x5b68,
+ /* 2nd byte: 65 */ 0x5b6e,
+ /* 2nd byte: 66 */ 0x5b6f,
+ /* 2nd byte: 67 */ 0x5b7c,
+ /* 2nd byte: 68 */ 0x5b7d,
+ /* 2nd byte: 69 */ 0x5b7e,
+ /* 2nd byte: 70 */ 0x5b7f,
+ /* 2nd byte: 71 */ 0x5b81,
+ /* 2nd byte: 72 */ 0x5b84,
+ /* 2nd byte: 73 */ 0x5b86,
+ /* 2nd byte: 74 */ 0x5b8a,
+ /* 2nd byte: 75 */ 0x5b8e,
+ /* 2nd byte: 76 */ 0x5b90,
+ /* 2nd byte: 77 */ 0x5b91,
+ /* 2nd byte: 78 */ 0x5b93,
+ /* 2nd byte: 79 */ 0x5b94,
+ /* 2nd byte: 80 */ 0x5b96,
+ /* 2nd byte: 81 */ 0x5ba8,
+ /* 2nd byte: 82 */ 0x5ba9,
+ /* 2nd byte: 83 */ 0x5bac,
+ /* 2nd byte: 84 */ 0x5bad,
+ /* 2nd byte: 85 */ 0x5baf,
+ /* 2nd byte: 86 */ 0x5bb1,
+ /* 2nd byte: 87 */ 0x5bb2,
+ /* 2nd byte: 88 */ 0x5bb7,
+ /* 2nd byte: 89 */ 0x5bba,
+ /* 2nd byte: 90 */ 0x5bbc,
+ /* 2nd byte: 91 */ 0x5bc0,
+ /* 2nd byte: 92 */ 0x5bc1,
+ /* 2nd byte: 93 */ 0x5bcd,
+ /* 2nd byte: 94 */ 0x5bcf,
+ /* 2nd byte: 95 */ 0x5bd6,
+ /* 2nd byte: 96 */ 0x5bd7,
+ /* 2nd byte: 97 */ 0x5bd8,
+ /* 2nd byte: 98 */ 0x5bd9,
+ /* 2nd byte: 99 */ 0x5bda,
+ /* 2nd byte: 100 */ 0x5be0,
+ /* 2nd byte: 101 */ 0x5bef,
+ /* 2nd byte: 102 */ 0x5bf1,
+ /* 2nd byte: 103 */ 0x5bf4,
+ /* 2nd byte: 104 */ 0x5bfd,
+ /* 2nd byte: 105 */ 0x5c0c,
+ /* 2nd byte: 106 */ 0x5c17,
+ /* 2nd byte: 107 */ 0x5c1e,
+ /* 2nd byte: 108 */ 0x5c1f,
+ /* 2nd byte: 109 */ 0x5c23,
+ /* 2nd byte: 110 */ 0x5c26,
+ /* 2nd byte: 111 */ 0x5c29,
+ /* 2nd byte: 112 */ 0x5c2b,
+ /* 2nd byte: 113 */ 0x5c2c,
+ /* 2nd byte: 114 */ 0x5c2e,
+ /* 2nd byte: 115 */ 0x5c30,
+ /* 2nd byte: 116 */ 0x5c32,
+ /* 2nd byte: 117 */ 0x5c35,
+ /* 2nd byte: 118 */ 0x5c36,
+ /* 2nd byte: 119 */ 0x5c59,
+ /* 2nd byte: 120 */ 0x5c5a,
+ /* 2nd byte: 121 */ 0x5c5c,
+ /* 2nd byte: 122 */ 0x5c62,
+ /* 2nd byte: 123 */ 0x5c63,
+ /* 2nd byte: 124 */ 0x5c67,
+ /* 2nd byte: 125 */ 0x5c68,
+ /* 2nd byte: 126 */ 0x5c69},
+/* 1st byte: 59 */ {
+ /* 2nd byte: 33 */ 0x5c6d,
+ /* 2nd byte: 34 */ 0x5c70,
+ /* 2nd byte: 35 */ 0x5c74,
+ /* 2nd byte: 36 */ 0x5c75,
+ /* 2nd byte: 37 */ 0x5c7a,
+ /* 2nd byte: 38 */ 0x5c7b,
+ /* 2nd byte: 39 */ 0x5c7c,
+ /* 2nd byte: 40 */ 0x5c7d,
+ /* 2nd byte: 41 */ 0x5c87,
+ /* 2nd byte: 42 */ 0x5c88,
+ /* 2nd byte: 43 */ 0x5c8a,
+ /* 2nd byte: 44 */ 0x5c8f,
+ /* 2nd byte: 45 */ 0x5c92,
+ /* 2nd byte: 46 */ 0x5c9d,
+ /* 2nd byte: 47 */ 0x5c9f,
+ /* 2nd byte: 48 */ 0x5ca0,
+ /* 2nd byte: 49 */ 0x5ca2,
+ /* 2nd byte: 50 */ 0x5ca3,
+ /* 2nd byte: 51 */ 0x5ca6,
+ /* 2nd byte: 52 */ 0x5caa,
+ /* 2nd byte: 53 */ 0x5cb2,
+ /* 2nd byte: 54 */ 0x5cb4,
+ /* 2nd byte: 55 */ 0x5cb5,
+ /* 2nd byte: 56 */ 0x5cba,
+ /* 2nd byte: 57 */ 0x5cc9,
+ /* 2nd byte: 58 */ 0x5ccb,
+ /* 2nd byte: 59 */ 0x5cd2,
+ /* 2nd byte: 60 */ 0x5cdd,
+ /* 2nd byte: 61 */ 0x5cd7,
+ /* 2nd byte: 62 */ 0x5cee,
+ /* 2nd byte: 63 */ 0x5cf1,
+ /* 2nd byte: 64 */ 0x5cf2,
+ /* 2nd byte: 65 */ 0x5cf4,
+ /* 2nd byte: 66 */ 0x5d01,
+ /* 2nd byte: 67 */ 0x5d06,
+ /* 2nd byte: 68 */ 0x5d0d,
+ /* 2nd byte: 69 */ 0x5d12,
+ /* 2nd byte: 70 */ 0x5d2b,
+ /* 2nd byte: 71 */ 0x5d23,
+ /* 2nd byte: 72 */ 0x5d24,
+ /* 2nd byte: 73 */ 0x5d26,
+ /* 2nd byte: 74 */ 0x5d27,
+ /* 2nd byte: 75 */ 0x5d31,
+ /* 2nd byte: 76 */ 0x5d34,
+ /* 2nd byte: 77 */ 0x5d39,
+ /* 2nd byte: 78 */ 0x5d3d,
+ /* 2nd byte: 79 */ 0x5d3f,
+ /* 2nd byte: 80 */ 0x5d42,
+ /* 2nd byte: 81 */ 0x5d43,
+ /* 2nd byte: 82 */ 0x5d46,
+ /* 2nd byte: 83 */ 0x5d48,
+ /* 2nd byte: 84 */ 0x5d55,
+ /* 2nd byte: 85 */ 0x5d51,
+ /* 2nd byte: 86 */ 0x5d59,
+ /* 2nd byte: 87 */ 0x5d4a,
+ /* 2nd byte: 88 */ 0x5d5f,
+ /* 2nd byte: 89 */ 0x5d60,
+ /* 2nd byte: 90 */ 0x5d61,
+ /* 2nd byte: 91 */ 0x5d62,
+ /* 2nd byte: 92 */ 0x5d64,
+ /* 2nd byte: 93 */ 0x5d6a,
+ /* 2nd byte: 94 */ 0x5d6d,
+ /* 2nd byte: 95 */ 0x5d70,
+ /* 2nd byte: 96 */ 0x5d79,
+ /* 2nd byte: 97 */ 0x5d7a,
+ /* 2nd byte: 98 */ 0x5d7e,
+ /* 2nd byte: 99 */ 0x5d7f,
+ /* 2nd byte: 100 */ 0x5d81,
+ /* 2nd byte: 101 */ 0x5d83,
+ /* 2nd byte: 102 */ 0x5d88,
+ /* 2nd byte: 103 */ 0x5d8a,
+ /* 2nd byte: 104 */ 0x5d92,
+ /* 2nd byte: 105 */ 0x5d93,
+ /* 2nd byte: 106 */ 0x5d94,
+ /* 2nd byte: 107 */ 0x5d95,
+ /* 2nd byte: 108 */ 0x5d99,
+ /* 2nd byte: 109 */ 0x5d9b,
+ /* 2nd byte: 110 */ 0x5d9f,
+ /* 2nd byte: 111 */ 0x5da0,
+ /* 2nd byte: 112 */ 0x5da7,
+ /* 2nd byte: 113 */ 0x5dab,
+ /* 2nd byte: 114 */ 0x5db0,
+ /* 2nd byte: 115 */ 0x5db4,
+ /* 2nd byte: 116 */ 0x5db8,
+ /* 2nd byte: 117 */ 0x5db9,
+ /* 2nd byte: 118 */ 0x5dc3,
+ /* 2nd byte: 119 */ 0x5dc7,
+ /* 2nd byte: 120 */ 0x5dcb,
+ /* 2nd byte: 121 */ 0x5dd0,
+ /* 2nd byte: 122 */ 0x5dce,
+ /* 2nd byte: 123 */ 0x5dd8,
+ /* 2nd byte: 124 */ 0x5dd9,
+ /* 2nd byte: 125 */ 0x5de0,
+ /* 2nd byte: 126 */ 0x5de4},
+/* 1st byte: 60 */ {
+ /* 2nd byte: 33 */ 0x5de9,
+ /* 2nd byte: 34 */ 0x5df8,
+ /* 2nd byte: 35 */ 0x5df9,
+ /* 2nd byte: 36 */ 0x5e00,
+ /* 2nd byte: 37 */ 0x5e07,
+ /* 2nd byte: 38 */ 0x5e0d,
+ /* 2nd byte: 39 */ 0x5e12,
+ /* 2nd byte: 40 */ 0x5e14,
+ /* 2nd byte: 41 */ 0x5e15,
+ /* 2nd byte: 42 */ 0x5e18,
+ /* 2nd byte: 43 */ 0x5e1f,
+ /* 2nd byte: 44 */ 0x5e20,
+ /* 2nd byte: 45 */ 0x5e2e,
+ /* 2nd byte: 46 */ 0x5e28,
+ /* 2nd byte: 47 */ 0x5e32,
+ /* 2nd byte: 48 */ 0x5e35,
+ /* 2nd byte: 49 */ 0x5e3e,
+ /* 2nd byte: 50 */ 0x5e4b,
+ /* 2nd byte: 51 */ 0x5e50,
+ /* 2nd byte: 52 */ 0x5e49,
+ /* 2nd byte: 53 */ 0x5e51,
+ /* 2nd byte: 54 */ 0x5e56,
+ /* 2nd byte: 55 */ 0x5e58,
+ /* 2nd byte: 56 */ 0x5e5b,
+ /* 2nd byte: 57 */ 0x5e5c,
+ /* 2nd byte: 58 */ 0x5e5e,
+ /* 2nd byte: 59 */ 0x5e68,
+ /* 2nd byte: 60 */ 0x5e6a,
+ /* 2nd byte: 61 */ 0x5e6b,
+ /* 2nd byte: 62 */ 0x5e6c,
+ /* 2nd byte: 63 */ 0x5e6d,
+ /* 2nd byte: 64 */ 0x5e6e,
+ /* 2nd byte: 65 */ 0x5e70,
+ /* 2nd byte: 66 */ 0x5e80,
+ /* 2nd byte: 67 */ 0x5e8b,
+ /* 2nd byte: 68 */ 0x5e8e,
+ /* 2nd byte: 69 */ 0x5ea2,
+ /* 2nd byte: 70 */ 0x5ea4,
+ /* 2nd byte: 71 */ 0x5ea5,
+ /* 2nd byte: 72 */ 0x5ea8,
+ /* 2nd byte: 73 */ 0x5eaa,
+ /* 2nd byte: 74 */ 0x5eac,
+ /* 2nd byte: 75 */ 0x5eb1,
+ /* 2nd byte: 76 */ 0x5eb3,
+ /* 2nd byte: 77 */ 0x5ebd,
+ /* 2nd byte: 78 */ 0x5ebe,
+ /* 2nd byte: 79 */ 0x5ebf,
+ /* 2nd byte: 80 */ 0x5ec6,
+ /* 2nd byte: 81 */ 0x5ecc,
+ /* 2nd byte: 82 */ 0x5ecb,
+ /* 2nd byte: 83 */ 0x5ece,
+ /* 2nd byte: 84 */ 0x5ed1,
+ /* 2nd byte: 85 */ 0x5ed2,
+ /* 2nd byte: 86 */ 0x5ed4,
+ /* 2nd byte: 87 */ 0x5ed5,
+ /* 2nd byte: 88 */ 0x5edc,
+ /* 2nd byte: 89 */ 0x5ede,
+ /* 2nd byte: 90 */ 0x5ee5,
+ /* 2nd byte: 91 */ 0x5eeb,
+ /* 2nd byte: 92 */ 0x5f02,
+ /* 2nd byte: 93 */ 0x5f06,
+ /* 2nd byte: 94 */ 0x5f07,
+ /* 2nd byte: 95 */ 0x5f08,
+ /* 2nd byte: 96 */ 0x5f0e,
+ /* 2nd byte: 97 */ 0x5f19,
+ /* 2nd byte: 98 */ 0x5f1c,
+ /* 2nd byte: 99 */ 0x5f1d,
+ /* 2nd byte: 100 */ 0x5f21,
+ /* 2nd byte: 101 */ 0x5f22,
+ /* 2nd byte: 102 */ 0x5f23,
+ /* 2nd byte: 103 */ 0x5f24,
+ /* 2nd byte: 104 */ 0x5f28,
+ /* 2nd byte: 105 */ 0x5f2b,
+ /* 2nd byte: 106 */ 0x5f2c,
+ /* 2nd byte: 107 */ 0x5f2e,
+ /* 2nd byte: 108 */ 0x5f30,
+ /* 2nd byte: 109 */ 0x5f34,
+ /* 2nd byte: 110 */ 0x5f36,
+ /* 2nd byte: 111 */ 0x5f3b,
+ /* 2nd byte: 112 */ 0x5f3d,
+ /* 2nd byte: 113 */ 0x5f3f,
+ /* 2nd byte: 114 */ 0x5f40,
+ /* 2nd byte: 115 */ 0x5f44,
+ /* 2nd byte: 116 */ 0x5f45,
+ /* 2nd byte: 117 */ 0x5f47,
+ /* 2nd byte: 118 */ 0x5f4d,
+ /* 2nd byte: 119 */ 0x5f50,
+ /* 2nd byte: 120 */ 0x5f54,
+ /* 2nd byte: 121 */ 0x5f58,
+ /* 2nd byte: 122 */ 0x5f5b,
+ /* 2nd byte: 123 */ 0x5f60,
+ /* 2nd byte: 124 */ 0x5f63,
+ /* 2nd byte: 125 */ 0x5f64,
+ /* 2nd byte: 126 */ 0x5f67},
+/* 1st byte: 61 */ {
+ /* 2nd byte: 33 */ 0x5f6f,
+ /* 2nd byte: 34 */ 0x5f72,
+ /* 2nd byte: 35 */ 0x5f74,
+ /* 2nd byte: 36 */ 0x5f75,
+ /* 2nd byte: 37 */ 0x5f78,
+ /* 2nd byte: 38 */ 0x5f7a,
+ /* 2nd byte: 39 */ 0x5f7d,
+ /* 2nd byte: 40 */ 0x5f7e,
+ /* 2nd byte: 41 */ 0x5f89,
+ /* 2nd byte: 42 */ 0x5f8d,
+ /* 2nd byte: 43 */ 0x5f8f,
+ /* 2nd byte: 44 */ 0x5f96,
+ /* 2nd byte: 45 */ 0x5f9c,
+ /* 2nd byte: 46 */ 0x5f9d,
+ /* 2nd byte: 47 */ 0x5fa2,
+ /* 2nd byte: 48 */ 0x5fa7,
+ /* 2nd byte: 49 */ 0x5fab,
+ /* 2nd byte: 50 */ 0x5fa4,
+ /* 2nd byte: 51 */ 0x5fac,
+ /* 2nd byte: 52 */ 0x5faf,
+ /* 2nd byte: 53 */ 0x5fb0,
+ /* 2nd byte: 54 */ 0x5fb1,
+ /* 2nd byte: 55 */ 0x5fb8,
+ /* 2nd byte: 56 */ 0x5fc4,
+ /* 2nd byte: 57 */ 0x5fc7,
+ /* 2nd byte: 58 */ 0x5fc8,
+ /* 2nd byte: 59 */ 0x5fc9,
+ /* 2nd byte: 60 */ 0x5fcb,
+ /* 2nd byte: 61 */ 0x5fd0,
+ /* 2nd byte: 62 */ 0x5fd1,
+ /* 2nd byte: 63 */ 0x5fd2,
+ /* 2nd byte: 64 */ 0x5fd3,
+ /* 2nd byte: 65 */ 0x5fd4,
+ /* 2nd byte: 66 */ 0x5fde,
+ /* 2nd byte: 67 */ 0x5fe1,
+ /* 2nd byte: 68 */ 0x5fe2,
+ /* 2nd byte: 69 */ 0x5fe8,
+ /* 2nd byte: 70 */ 0x5fe9,
+ /* 2nd byte: 71 */ 0x5fea,
+ /* 2nd byte: 72 */ 0x5fec,
+ /* 2nd byte: 73 */ 0x5fed,
+ /* 2nd byte: 74 */ 0x5fee,
+ /* 2nd byte: 75 */ 0x5fef,
+ /* 2nd byte: 76 */ 0x5ff2,
+ /* 2nd byte: 77 */ 0x5ff3,
+ /* 2nd byte: 78 */ 0x5ff6,
+ /* 2nd byte: 79 */ 0x5ffa,
+ /* 2nd byte: 80 */ 0x5ffc,
+ /* 2nd byte: 81 */ 0x6007,
+ /* 2nd byte: 82 */ 0x600a,
+ /* 2nd byte: 83 */ 0x600d,
+ /* 2nd byte: 84 */ 0x6013,
+ /* 2nd byte: 85 */ 0x6014,
+ /* 2nd byte: 86 */ 0x6017,
+ /* 2nd byte: 87 */ 0x6018,
+ /* 2nd byte: 88 */ 0x601a,
+ /* 2nd byte: 89 */ 0x601f,
+ /* 2nd byte: 90 */ 0x6024,
+ /* 2nd byte: 91 */ 0x602d,
+ /* 2nd byte: 92 */ 0x6033,
+ /* 2nd byte: 93 */ 0x6035,
+ /* 2nd byte: 94 */ 0x6040,
+ /* 2nd byte: 95 */ 0x6047,
+ /* 2nd byte: 96 */ 0x6048,
+ /* 2nd byte: 97 */ 0x6049,
+ /* 2nd byte: 98 */ 0x604c,
+ /* 2nd byte: 99 */ 0x6051,
+ /* 2nd byte: 100 */ 0x6054,
+ /* 2nd byte: 101 */ 0x6056,
+ /* 2nd byte: 102 */ 0x6057,
+ /* 2nd byte: 103 */ 0x605d,
+ /* 2nd byte: 104 */ 0x6061,
+ /* 2nd byte: 105 */ 0x6067,
+ /* 2nd byte: 106 */ 0x6071,
+ /* 2nd byte: 107 */ 0x607e,
+ /* 2nd byte: 108 */ 0x607f,
+ /* 2nd byte: 109 */ 0x6082,
+ /* 2nd byte: 110 */ 0x6086,
+ /* 2nd byte: 111 */ 0x6088,
+ /* 2nd byte: 112 */ 0x608a,
+ /* 2nd byte: 113 */ 0x608e,
+ /* 2nd byte: 114 */ 0x6091,
+ /* 2nd byte: 115 */ 0x6093,
+ /* 2nd byte: 116 */ 0x6095,
+ /* 2nd byte: 117 */ 0x6098,
+ /* 2nd byte: 118 */ 0x609d,
+ /* 2nd byte: 119 */ 0x609e,
+ /* 2nd byte: 120 */ 0x60a2,
+ /* 2nd byte: 121 */ 0x60a4,
+ /* 2nd byte: 122 */ 0x60a5,
+ /* 2nd byte: 123 */ 0x60a8,
+ /* 2nd byte: 124 */ 0x60b0,
+ /* 2nd byte: 125 */ 0x60b1,
+ /* 2nd byte: 126 */ 0x60b7},
+/* 1st byte: 62 */ {
+ /* 2nd byte: 33 */ 0x60bb,
+ /* 2nd byte: 34 */ 0x60be,
+ /* 2nd byte: 35 */ 0x60c2,
+ /* 2nd byte: 36 */ 0x60c4,
+ /* 2nd byte: 37 */ 0x60c8,
+ /* 2nd byte: 38 */ 0x60c9,
+ /* 2nd byte: 39 */ 0x60ca,
+ /* 2nd byte: 40 */ 0x60cb,
+ /* 2nd byte: 41 */ 0x60ce,
+ /* 2nd byte: 42 */ 0x60cf,
+ /* 2nd byte: 43 */ 0x60d4,
+ /* 2nd byte: 44 */ 0x60d5,
+ /* 2nd byte: 45 */ 0x60d9,
+ /* 2nd byte: 46 */ 0x60db,
+ /* 2nd byte: 47 */ 0x60dd,
+ /* 2nd byte: 48 */ 0x60de,
+ /* 2nd byte: 49 */ 0x60e2,
+ /* 2nd byte: 50 */ 0x60e5,
+ /* 2nd byte: 51 */ 0x60f2,
+ /* 2nd byte: 52 */ 0x60f5,
+ /* 2nd byte: 53 */ 0x60f8,
+ /* 2nd byte: 54 */ 0x60fc,
+ /* 2nd byte: 55 */ 0x60fd,
+ /* 2nd byte: 56 */ 0x6102,
+ /* 2nd byte: 57 */ 0x6107,
+ /* 2nd byte: 58 */ 0x610a,
+ /* 2nd byte: 59 */ 0x610c,
+ /* 2nd byte: 60 */ 0x6110,
+ /* 2nd byte: 61 */ 0x6111,
+ /* 2nd byte: 62 */ 0x6112,
+ /* 2nd byte: 63 */ 0x6113,
+ /* 2nd byte: 64 */ 0x6114,
+ /* 2nd byte: 65 */ 0x6116,
+ /* 2nd byte: 66 */ 0x6117,
+ /* 2nd byte: 67 */ 0x6119,
+ /* 2nd byte: 68 */ 0x611c,
+ /* 2nd byte: 69 */ 0x611e,
+ /* 2nd byte: 70 */ 0x6122,
+ /* 2nd byte: 71 */ 0x612a,
+ /* 2nd byte: 72 */ 0x612b,
+ /* 2nd byte: 73 */ 0x6130,
+ /* 2nd byte: 74 */ 0x6131,
+ /* 2nd byte: 75 */ 0x6135,
+ /* 2nd byte: 76 */ 0x6136,
+ /* 2nd byte: 77 */ 0x6137,
+ /* 2nd byte: 78 */ 0x6139,
+ /* 2nd byte: 79 */ 0x6141,
+ /* 2nd byte: 80 */ 0x6145,
+ /* 2nd byte: 81 */ 0x6146,
+ /* 2nd byte: 82 */ 0x6149,
+ /* 2nd byte: 83 */ 0x615e,
+ /* 2nd byte: 84 */ 0x6160,
+ /* 2nd byte: 85 */ 0x616c,
+ /* 2nd byte: 86 */ 0x6172,
+ /* 2nd byte: 87 */ 0x6178,
+ /* 2nd byte: 88 */ 0x617b,
+ /* 2nd byte: 89 */ 0x617c,
+ /* 2nd byte: 90 */ 0x617f,
+ /* 2nd byte: 91 */ 0x6180,
+ /* 2nd byte: 92 */ 0x6181,
+ /* 2nd byte: 93 */ 0x6183,
+ /* 2nd byte: 94 */ 0x6184,
+ /* 2nd byte: 95 */ 0x618b,
+ /* 2nd byte: 96 */ 0x618d,
+ /* 2nd byte: 97 */ 0x6192,
+ /* 2nd byte: 98 */ 0x6193,
+ /* 2nd byte: 99 */ 0x6197,
+ /* 2nd byte: 100 */ 0x6198,
+ /* 2nd byte: 101 */ 0x619c,
+ /* 2nd byte: 102 */ 0x619d,
+ /* 2nd byte: 103 */ 0x619f,
+ /* 2nd byte: 104 */ 0x61a0,
+ /* 2nd byte: 105 */ 0x61a5,
+ /* 2nd byte: 106 */ 0x61a8,
+ /* 2nd byte: 107 */ 0x61aa,
+ /* 2nd byte: 108 */ 0x61ad,
+ /* 2nd byte: 109 */ 0x61b8,
+ /* 2nd byte: 110 */ 0x61b9,
+ /* 2nd byte: 111 */ 0x61bc,
+ /* 2nd byte: 112 */ 0x61c0,
+ /* 2nd byte: 113 */ 0x61c1,
+ /* 2nd byte: 114 */ 0x61c2,
+ /* 2nd byte: 115 */ 0x61ce,
+ /* 2nd byte: 116 */ 0x61cf,
+ /* 2nd byte: 117 */ 0x61d5,
+ /* 2nd byte: 118 */ 0x61dc,
+ /* 2nd byte: 119 */ 0x61dd,
+ /* 2nd byte: 120 */ 0x61de,
+ /* 2nd byte: 121 */ 0x61df,
+ /* 2nd byte: 122 */ 0x61e1,
+ /* 2nd byte: 123 */ 0x61e2,
+ /* 2nd byte: 124 */ 0x61e7,
+ /* 2nd byte: 125 */ 0x61e9,
+ /* 2nd byte: 126 */ 0x61e5},
+/* 1st byte: 63 */ {
+ /* 2nd byte: 33 */ 0x61ec,
+ /* 2nd byte: 34 */ 0x61ed,
+ /* 2nd byte: 35 */ 0x61ef,
+ /* 2nd byte: 36 */ 0x6201,
+ /* 2nd byte: 37 */ 0x6203,
+ /* 2nd byte: 38 */ 0x6204,
+ /* 2nd byte: 39 */ 0x6207,
+ /* 2nd byte: 40 */ 0x6213,
+ /* 2nd byte: 41 */ 0x6215,
+ /* 2nd byte: 42 */ 0x621c,
+ /* 2nd byte: 43 */ 0x6220,
+ /* 2nd byte: 44 */ 0x6222,
+ /* 2nd byte: 45 */ 0x6223,
+ /* 2nd byte: 46 */ 0x6227,
+ /* 2nd byte: 47 */ 0x6229,
+ /* 2nd byte: 48 */ 0x622b,
+ /* 2nd byte: 49 */ 0x6239,
+ /* 2nd byte: 50 */ 0x623d,
+ /* 2nd byte: 51 */ 0x6242,
+ /* 2nd byte: 52 */ 0x6243,
+ /* 2nd byte: 53 */ 0x6244,
+ /* 2nd byte: 54 */ 0x6246,
+ /* 2nd byte: 55 */ 0x624c,
+ /* 2nd byte: 56 */ 0x6250,
+ /* 2nd byte: 57 */ 0x6251,
+ /* 2nd byte: 58 */ 0x6252,
+ /* 2nd byte: 59 */ 0x6254,
+ /* 2nd byte: 60 */ 0x6256,
+ /* 2nd byte: 61 */ 0x625a,
+ /* 2nd byte: 62 */ 0x625c,
+ /* 2nd byte: 63 */ 0x6264,
+ /* 2nd byte: 64 */ 0x626d,
+ /* 2nd byte: 65 */ 0x626f,
+ /* 2nd byte: 66 */ 0x6273,
+ /* 2nd byte: 67 */ 0x627a,
+ /* 2nd byte: 68 */ 0x627d,
+ /* 2nd byte: 69 */ 0x628d,
+ /* 2nd byte: 70 */ 0x628e,
+ /* 2nd byte: 71 */ 0x628f,
+ /* 2nd byte: 72 */ 0x6290,
+ /* 2nd byte: 73 */ 0x62a6,
+ /* 2nd byte: 74 */ 0x62a8,
+ /* 2nd byte: 75 */ 0x62b3,
+ /* 2nd byte: 76 */ 0x62b6,
+ /* 2nd byte: 77 */ 0x62b7,
+ /* 2nd byte: 78 */ 0x62ba,
+ /* 2nd byte: 79 */ 0x62be,
+ /* 2nd byte: 80 */ 0x62bf,
+ /* 2nd byte: 81 */ 0x62c4,
+ /* 2nd byte: 82 */ 0x62ce,
+ /* 2nd byte: 83 */ 0x62d5,
+ /* 2nd byte: 84 */ 0x62d6,
+ /* 2nd byte: 85 */ 0x62da,
+ /* 2nd byte: 86 */ 0x62ea,
+ /* 2nd byte: 87 */ 0x62f2,
+ /* 2nd byte: 88 */ 0x62f4,
+ /* 2nd byte: 89 */ 0x62fc,
+ /* 2nd byte: 90 */ 0x62fd,
+ /* 2nd byte: 91 */ 0x6303,
+ /* 2nd byte: 92 */ 0x6304,
+ /* 2nd byte: 93 */ 0x630a,
+ /* 2nd byte: 94 */ 0x630b,
+ /* 2nd byte: 95 */ 0x630d,
+ /* 2nd byte: 96 */ 0x6310,
+ /* 2nd byte: 97 */ 0x6313,
+ /* 2nd byte: 98 */ 0x6316,
+ /* 2nd byte: 99 */ 0x6318,
+ /* 2nd byte: 100 */ 0x6329,
+ /* 2nd byte: 101 */ 0x632a,
+ /* 2nd byte: 102 */ 0x632d,
+ /* 2nd byte: 103 */ 0x6335,
+ /* 2nd byte: 104 */ 0x6336,
+ /* 2nd byte: 105 */ 0x6339,
+ /* 2nd byte: 106 */ 0x633c,
+ /* 2nd byte: 107 */ 0x6341,
+ /* 2nd byte: 108 */ 0x6342,
+ /* 2nd byte: 109 */ 0x6343,
+ /* 2nd byte: 110 */ 0x6344,
+ /* 2nd byte: 111 */ 0x6346,
+ /* 2nd byte: 112 */ 0x634a,
+ /* 2nd byte: 113 */ 0x634b,
+ /* 2nd byte: 114 */ 0x634e,
+ /* 2nd byte: 115 */ 0x6352,
+ /* 2nd byte: 116 */ 0x6353,
+ /* 2nd byte: 117 */ 0x6354,
+ /* 2nd byte: 118 */ 0x6358,
+ /* 2nd byte: 119 */ 0x635b,
+ /* 2nd byte: 120 */ 0x6365,
+ /* 2nd byte: 121 */ 0x6366,
+ /* 2nd byte: 122 */ 0x636c,
+ /* 2nd byte: 123 */ 0x636d,
+ /* 2nd byte: 124 */ 0x6371,
+ /* 2nd byte: 125 */ 0x6374,
+ /* 2nd byte: 126 */ 0x6375},
+/* 1st byte: 64 */ {
+ /* 2nd byte: 33 */ 0x6378,
+ /* 2nd byte: 34 */ 0x637c,
+ /* 2nd byte: 35 */ 0x637d,
+ /* 2nd byte: 36 */ 0x637f,
+ /* 2nd byte: 37 */ 0x6382,
+ /* 2nd byte: 38 */ 0x6384,
+ /* 2nd byte: 39 */ 0x6387,
+ /* 2nd byte: 40 */ 0x638a,
+ /* 2nd byte: 41 */ 0x6390,
+ /* 2nd byte: 42 */ 0x6394,
+ /* 2nd byte: 43 */ 0x6395,
+ /* 2nd byte: 44 */ 0x6399,
+ /* 2nd byte: 45 */ 0x639a,
+ /* 2nd byte: 46 */ 0x639e,
+ /* 2nd byte: 47 */ 0x63a4,
+ /* 2nd byte: 48 */ 0x63a6,
+ /* 2nd byte: 49 */ 0x63ad,
+ /* 2nd byte: 50 */ 0x63ae,
+ /* 2nd byte: 51 */ 0x63af,
+ /* 2nd byte: 52 */ 0x63bd,
+ /* 2nd byte: 53 */ 0x63c1,
+ /* 2nd byte: 54 */ 0x63c5,
+ /* 2nd byte: 55 */ 0x63c8,
+ /* 2nd byte: 56 */ 0x63ce,
+ /* 2nd byte: 57 */ 0x63d1,
+ /* 2nd byte: 58 */ 0x63d3,
+ /* 2nd byte: 59 */ 0x63d4,
+ /* 2nd byte: 60 */ 0x63d5,
+ /* 2nd byte: 61 */ 0x63dc,
+ /* 2nd byte: 62 */ 0x63e0,
+ /* 2nd byte: 63 */ 0x63e5,
+ /* 2nd byte: 64 */ 0x63ea,
+ /* 2nd byte: 65 */ 0x63ec,
+ /* 2nd byte: 66 */ 0x63f2,
+ /* 2nd byte: 67 */ 0x63f3,
+ /* 2nd byte: 68 */ 0x63f5,
+ /* 2nd byte: 69 */ 0x63f8,
+ /* 2nd byte: 70 */ 0x63f9,
+ /* 2nd byte: 71 */ 0x6409,
+ /* 2nd byte: 72 */ 0x640a,
+ /* 2nd byte: 73 */ 0x6410,
+ /* 2nd byte: 74 */ 0x6412,
+ /* 2nd byte: 75 */ 0x6414,
+ /* 2nd byte: 76 */ 0x6418,
+ /* 2nd byte: 77 */ 0x641e,
+ /* 2nd byte: 78 */ 0x6420,
+ /* 2nd byte: 79 */ 0x6422,
+ /* 2nd byte: 80 */ 0x6424,
+ /* 2nd byte: 81 */ 0x6425,
+ /* 2nd byte: 82 */ 0x6429,
+ /* 2nd byte: 83 */ 0x642a,
+ /* 2nd byte: 84 */ 0x642f,
+ /* 2nd byte: 85 */ 0x6430,
+ /* 2nd byte: 86 */ 0x6435,
+ /* 2nd byte: 87 */ 0x643d,
+ /* 2nd byte: 88 */ 0x643f,
+ /* 2nd byte: 89 */ 0x644b,
+ /* 2nd byte: 90 */ 0x644f,
+ /* 2nd byte: 91 */ 0x6451,
+ /* 2nd byte: 92 */ 0x6452,
+ /* 2nd byte: 93 */ 0x6453,
+ /* 2nd byte: 94 */ 0x6454,
+ /* 2nd byte: 95 */ 0x645a,
+ /* 2nd byte: 96 */ 0x645b,
+ /* 2nd byte: 97 */ 0x645c,
+ /* 2nd byte: 98 */ 0x645d,
+ /* 2nd byte: 99 */ 0x645f,
+ /* 2nd byte: 100 */ 0x6460,
+ /* 2nd byte: 101 */ 0x6461,
+ /* 2nd byte: 102 */ 0x6463,
+ /* 2nd byte: 103 */ 0x646d,
+ /* 2nd byte: 104 */ 0x6473,
+ /* 2nd byte: 105 */ 0x6474,
+ /* 2nd byte: 106 */ 0x647b,
+ /* 2nd byte: 107 */ 0x647d,
+ /* 2nd byte: 108 */ 0x6485,
+ /* 2nd byte: 109 */ 0x6487,
+ /* 2nd byte: 110 */ 0x648f,
+ /* 2nd byte: 111 */ 0x6490,
+ /* 2nd byte: 112 */ 0x6491,
+ /* 2nd byte: 113 */ 0x6498,
+ /* 2nd byte: 114 */ 0x6499,
+ /* 2nd byte: 115 */ 0x649b,
+ /* 2nd byte: 116 */ 0x649d,
+ /* 2nd byte: 117 */ 0x649f,
+ /* 2nd byte: 118 */ 0x64a1,
+ /* 2nd byte: 119 */ 0x64a3,
+ /* 2nd byte: 120 */ 0x64a6,
+ /* 2nd byte: 121 */ 0x64a8,
+ /* 2nd byte: 122 */ 0x64ac,
+ /* 2nd byte: 123 */ 0x64b3,
+ /* 2nd byte: 124 */ 0x64bd,
+ /* 2nd byte: 125 */ 0x64be,
+ /* 2nd byte: 126 */ 0x64bf},
+/* 1st byte: 65 */ {
+ /* 2nd byte: 33 */ 0x64c4,
+ /* 2nd byte: 34 */ 0x64c9,
+ /* 2nd byte: 35 */ 0x64ca,
+ /* 2nd byte: 36 */ 0x64cb,
+ /* 2nd byte: 37 */ 0x64cc,
+ /* 2nd byte: 38 */ 0x64ce,
+ /* 2nd byte: 39 */ 0x64d0,
+ /* 2nd byte: 40 */ 0x64d1,
+ /* 2nd byte: 41 */ 0x64d5,
+ /* 2nd byte: 42 */ 0x64d7,
+ /* 2nd byte: 43 */ 0x64e4,
+ /* 2nd byte: 44 */ 0x64e5,
+ /* 2nd byte: 45 */ 0x64e9,
+ /* 2nd byte: 46 */ 0x64ea,
+ /* 2nd byte: 47 */ 0x64ed,
+ /* 2nd byte: 48 */ 0x64f0,
+ /* 2nd byte: 49 */ 0x64f5,
+ /* 2nd byte: 50 */ 0x64f7,
+ /* 2nd byte: 51 */ 0x64fb,
+ /* 2nd byte: 52 */ 0x64ff,
+ /* 2nd byte: 53 */ 0x6501,
+ /* 2nd byte: 54 */ 0x6504,
+ /* 2nd byte: 55 */ 0x6508,
+ /* 2nd byte: 56 */ 0x6509,
+ /* 2nd byte: 57 */ 0x650a,
+ /* 2nd byte: 58 */ 0x650f,
+ /* 2nd byte: 59 */ 0x6513,
+ /* 2nd byte: 60 */ 0x6514,
+ /* 2nd byte: 61 */ 0x6516,
+ /* 2nd byte: 62 */ 0x6519,
+ /* 2nd byte: 63 */ 0x651b,
+ /* 2nd byte: 64 */ 0x651e,
+ /* 2nd byte: 65 */ 0x651f,
+ /* 2nd byte: 66 */ 0x6522,
+ /* 2nd byte: 67 */ 0x6526,
+ /* 2nd byte: 68 */ 0x6529,
+ /* 2nd byte: 69 */ 0x652e,
+ /* 2nd byte: 70 */ 0x6531,
+ /* 2nd byte: 71 */ 0x653a,
+ /* 2nd byte: 72 */ 0x653c,
+ /* 2nd byte: 73 */ 0x653d,
+ /* 2nd byte: 74 */ 0x6543,
+ /* 2nd byte: 75 */ 0x6547,
+ /* 2nd byte: 76 */ 0x6549,
+ /* 2nd byte: 77 */ 0x6550,
+ /* 2nd byte: 78 */ 0x6552,
+ /* 2nd byte: 79 */ 0x6554,
+ /* 2nd byte: 80 */ 0x655f,
+ /* 2nd byte: 81 */ 0x6560,
+ /* 2nd byte: 82 */ 0x6567,
+ /* 2nd byte: 83 */ 0x656b,
+ /* 2nd byte: 84 */ 0x657a,
+ /* 2nd byte: 85 */ 0x657d,
+ /* 2nd byte: 86 */ 0x6581,
+ /* 2nd byte: 87 */ 0x6585,
+ /* 2nd byte: 88 */ 0x658a,
+ /* 2nd byte: 89 */ 0x6592,
+ /* 2nd byte: 90 */ 0x6595,
+ /* 2nd byte: 91 */ 0x6598,
+ /* 2nd byte: 92 */ 0x659d,
+ /* 2nd byte: 93 */ 0x65a0,
+ /* 2nd byte: 94 */ 0x65a3,
+ /* 2nd byte: 95 */ 0x65a6,
+ /* 2nd byte: 96 */ 0x65ae,
+ /* 2nd byte: 97 */ 0x65b2,
+ /* 2nd byte: 98 */ 0x65b3,
+ /* 2nd byte: 99 */ 0x65b4,
+ /* 2nd byte: 100 */ 0x65bf,
+ /* 2nd byte: 101 */ 0x65c2,
+ /* 2nd byte: 102 */ 0x65c8,
+ /* 2nd byte: 103 */ 0x65c9,
+ /* 2nd byte: 104 */ 0x65ce,
+ /* 2nd byte: 105 */ 0x65d0,
+ /* 2nd byte: 106 */ 0x65d4,
+ /* 2nd byte: 107 */ 0x65d6,
+ /* 2nd byte: 108 */ 0x65d8,
+ /* 2nd byte: 109 */ 0x65df,
+ /* 2nd byte: 110 */ 0x65f0,
+ /* 2nd byte: 111 */ 0x65f2,
+ /* 2nd byte: 112 */ 0x65f4,
+ /* 2nd byte: 113 */ 0x65f5,
+ /* 2nd byte: 114 */ 0x65f9,
+ /* 2nd byte: 115 */ 0x65fe,
+ /* 2nd byte: 116 */ 0x65ff,
+ /* 2nd byte: 117 */ 0x6600,
+ /* 2nd byte: 118 */ 0x6604,
+ /* 2nd byte: 119 */ 0x6608,
+ /* 2nd byte: 120 */ 0x6609,
+ /* 2nd byte: 121 */ 0x660d,
+ /* 2nd byte: 122 */ 0x6611,
+ /* 2nd byte: 123 */ 0x6612,
+ /* 2nd byte: 124 */ 0x6615,
+ /* 2nd byte: 125 */ 0x6616,
+ /* 2nd byte: 126 */ 0x661d},
+/* 1st byte: 66 */ {
+ /* 2nd byte: 33 */ 0x661e,
+ /* 2nd byte: 34 */ 0x6621,
+ /* 2nd byte: 35 */ 0x6622,
+ /* 2nd byte: 36 */ 0x6623,
+ /* 2nd byte: 37 */ 0x6624,
+ /* 2nd byte: 38 */ 0x6626,
+ /* 2nd byte: 39 */ 0x6629,
+ /* 2nd byte: 40 */ 0x662a,
+ /* 2nd byte: 41 */ 0x662b,
+ /* 2nd byte: 42 */ 0x662c,
+ /* 2nd byte: 43 */ 0x662e,
+ /* 2nd byte: 44 */ 0x6630,
+ /* 2nd byte: 45 */ 0x6631,
+ /* 2nd byte: 46 */ 0x6633,
+ /* 2nd byte: 47 */ 0x6639,
+ /* 2nd byte: 48 */ 0x6637,
+ /* 2nd byte: 49 */ 0x6640,
+ /* 2nd byte: 50 */ 0x6645,
+ /* 2nd byte: 51 */ 0x6646,
+ /* 2nd byte: 52 */ 0x664a,
+ /* 2nd byte: 53 */ 0x664c,
+ /* 2nd byte: 54 */ 0x6651,
+ /* 2nd byte: 55 */ 0x664e,
+ /* 2nd byte: 56 */ 0x6657,
+ /* 2nd byte: 57 */ 0x6658,
+ /* 2nd byte: 58 */ 0x6659,
+ /* 2nd byte: 59 */ 0x665b,
+ /* 2nd byte: 60 */ 0x665c,
+ /* 2nd byte: 61 */ 0x6660,
+ /* 2nd byte: 62 */ 0x6661,
+ /* 2nd byte: 63 */ 0x66fb,
+ /* 2nd byte: 64 */ 0x666a,
+ /* 2nd byte: 65 */ 0x666b,
+ /* 2nd byte: 66 */ 0x666c,
+ /* 2nd byte: 67 */ 0x667e,
+ /* 2nd byte: 68 */ 0x6673,
+ /* 2nd byte: 69 */ 0x6675,
+ /* 2nd byte: 70 */ 0x667f,
+ /* 2nd byte: 71 */ 0x6677,
+ /* 2nd byte: 72 */ 0x6678,
+ /* 2nd byte: 73 */ 0x6679,
+ /* 2nd byte: 74 */ 0x667b,
+ /* 2nd byte: 75 */ 0x6680,
+ /* 2nd byte: 76 */ 0x667c,
+ /* 2nd byte: 77 */ 0x668b,
+ /* 2nd byte: 78 */ 0x668c,
+ /* 2nd byte: 79 */ 0x668d,
+ /* 2nd byte: 80 */ 0x6690,
+ /* 2nd byte: 81 */ 0x6692,
+ /* 2nd byte: 82 */ 0x6699,
+ /* 2nd byte: 83 */ 0x669a,
+ /* 2nd byte: 84 */ 0x669b,
+ /* 2nd byte: 85 */ 0x669c,
+ /* 2nd byte: 86 */ 0x669f,
+ /* 2nd byte: 87 */ 0x66a0,
+ /* 2nd byte: 88 */ 0x66a4,
+ /* 2nd byte: 89 */ 0x66ad,
+ /* 2nd byte: 90 */ 0x66b1,
+ /* 2nd byte: 91 */ 0x66b2,
+ /* 2nd byte: 92 */ 0x66b5,
+ /* 2nd byte: 93 */ 0x66bb,
+ /* 2nd byte: 94 */ 0x66bf,
+ /* 2nd byte: 95 */ 0x66c0,
+ /* 2nd byte: 96 */ 0x66c2,
+ /* 2nd byte: 97 */ 0x66c3,
+ /* 2nd byte: 98 */ 0x66c8,
+ /* 2nd byte: 99 */ 0x66cc,
+ /* 2nd byte: 100 */ 0x66ce,
+ /* 2nd byte: 101 */ 0x66cf,
+ /* 2nd byte: 102 */ 0x66d4,
+ /* 2nd byte: 103 */ 0x66db,
+ /* 2nd byte: 104 */ 0x66df,
+ /* 2nd byte: 105 */ 0x66e8,
+ /* 2nd byte: 106 */ 0x66eb,
+ /* 2nd byte: 107 */ 0x66ec,
+ /* 2nd byte: 108 */ 0x66ee,
+ /* 2nd byte: 109 */ 0x66fa,
+ /* 2nd byte: 110 */ 0x6705,
+ /* 2nd byte: 111 */ 0x6707,
+ /* 2nd byte: 112 */ 0x670e,
+ /* 2nd byte: 113 */ 0x6713,
+ /* 2nd byte: 114 */ 0x6719,
+ /* 2nd byte: 115 */ 0x671c,
+ /* 2nd byte: 116 */ 0x6720,
+ /* 2nd byte: 117 */ 0x6722,
+ /* 2nd byte: 118 */ 0x6733,
+ /* 2nd byte: 119 */ 0x673e,
+ /* 2nd byte: 120 */ 0x6745,
+ /* 2nd byte: 121 */ 0x6747,
+ /* 2nd byte: 122 */ 0x6748,
+ /* 2nd byte: 123 */ 0x674c,
+ /* 2nd byte: 124 */ 0x6754,
+ /* 2nd byte: 125 */ 0x6755,
+ /* 2nd byte: 126 */ 0x675d},
+/* 1st byte: 67 */ {
+ /* 2nd byte: 33 */ 0x6766,
+ /* 2nd byte: 34 */ 0x676c,
+ /* 2nd byte: 35 */ 0x676e,
+ /* 2nd byte: 36 */ 0x6774,
+ /* 2nd byte: 37 */ 0x6776,
+ /* 2nd byte: 38 */ 0x677b,
+ /* 2nd byte: 39 */ 0x6781,
+ /* 2nd byte: 40 */ 0x6784,
+ /* 2nd byte: 41 */ 0x678e,
+ /* 2nd byte: 42 */ 0x678f,
+ /* 2nd byte: 43 */ 0x6791,
+ /* 2nd byte: 44 */ 0x6793,
+ /* 2nd byte: 45 */ 0x6796,
+ /* 2nd byte: 46 */ 0x6798,
+ /* 2nd byte: 47 */ 0x6799,
+ /* 2nd byte: 48 */ 0x679b,
+ /* 2nd byte: 49 */ 0x67b0,
+ /* 2nd byte: 50 */ 0x67b1,
+ /* 2nd byte: 51 */ 0x67b2,
+ /* 2nd byte: 52 */ 0x67b5,
+ /* 2nd byte: 53 */ 0x67bb,
+ /* 2nd byte: 54 */ 0x67bc,
+ /* 2nd byte: 55 */ 0x67bd,
+ /* 2nd byte: 56 */ 0x67f9,
+ /* 2nd byte: 57 */ 0x67c0,
+ /* 2nd byte: 58 */ 0x67c2,
+ /* 2nd byte: 59 */ 0x67c3,
+ /* 2nd byte: 60 */ 0x67c5,
+ /* 2nd byte: 61 */ 0x67c8,
+ /* 2nd byte: 62 */ 0x67c9,
+ /* 2nd byte: 63 */ 0x67d2,
+ /* 2nd byte: 64 */ 0x67d7,
+ /* 2nd byte: 65 */ 0x67d9,
+ /* 2nd byte: 66 */ 0x67dc,
+ /* 2nd byte: 67 */ 0x67e1,
+ /* 2nd byte: 68 */ 0x67e6,
+ /* 2nd byte: 69 */ 0x67f0,
+ /* 2nd byte: 70 */ 0x67f2,
+ /* 2nd byte: 71 */ 0x67f6,
+ /* 2nd byte: 72 */ 0x67f7,
+ /* 2nd byte: 73 */ 0x6852,
+ /* 2nd byte: 74 */ 0x6814,
+ /* 2nd byte: 75 */ 0x6819,
+ /* 2nd byte: 76 */ 0x681d,
+ /* 2nd byte: 77 */ 0x681f,
+ /* 2nd byte: 78 */ 0x6828,
+ /* 2nd byte: 79 */ 0x6827,
+ /* 2nd byte: 80 */ 0x682c,
+ /* 2nd byte: 81 */ 0x682d,
+ /* 2nd byte: 82 */ 0x682f,
+ /* 2nd byte: 83 */ 0x6830,
+ /* 2nd byte: 84 */ 0x6831,
+ /* 2nd byte: 85 */ 0x6833,
+ /* 2nd byte: 86 */ 0x683b,
+ /* 2nd byte: 87 */ 0x683f,
+ /* 2nd byte: 88 */ 0x6844,
+ /* 2nd byte: 89 */ 0x6845,
+ /* 2nd byte: 90 */ 0x684a,
+ /* 2nd byte: 91 */ 0x684c,
+ /* 2nd byte: 92 */ 0x6855,
+ /* 2nd byte: 93 */ 0x6857,
+ /* 2nd byte: 94 */ 0x6858,
+ /* 2nd byte: 95 */ 0x685b,
+ /* 2nd byte: 96 */ 0x686b,
+ /* 2nd byte: 97 */ 0x686e,
+ /* 2nd byte: 98 */ 0x686f,
+ /* 2nd byte: 99 */ 0x6870,
+ /* 2nd byte: 100 */ 0x6871,
+ /* 2nd byte: 101 */ 0x6872,
+ /* 2nd byte: 102 */ 0x6875,
+ /* 2nd byte: 103 */ 0x6879,
+ /* 2nd byte: 104 */ 0x687a,
+ /* 2nd byte: 105 */ 0x687b,
+ /* 2nd byte: 106 */ 0x687c,
+ /* 2nd byte: 107 */ 0x6882,
+ /* 2nd byte: 108 */ 0x6884,
+ /* 2nd byte: 109 */ 0x6886,
+ /* 2nd byte: 110 */ 0x6888,
+ /* 2nd byte: 111 */ 0x6896,
+ /* 2nd byte: 112 */ 0x6898,
+ /* 2nd byte: 113 */ 0x689a,
+ /* 2nd byte: 114 */ 0x689c,
+ /* 2nd byte: 115 */ 0x68a1,
+ /* 2nd byte: 116 */ 0x68a3,
+ /* 2nd byte: 117 */ 0x68a5,
+ /* 2nd byte: 118 */ 0x68a9,
+ /* 2nd byte: 119 */ 0x68aa,
+ /* 2nd byte: 120 */ 0x68ae,
+ /* 2nd byte: 121 */ 0x68b2,
+ /* 2nd byte: 122 */ 0x68bb,
+ /* 2nd byte: 123 */ 0x68c5,
+ /* 2nd byte: 124 */ 0x68c8,
+ /* 2nd byte: 125 */ 0x68cc,
+ /* 2nd byte: 126 */ 0x68cf},
+/* 1st byte: 68 */ {
+ /* 2nd byte: 33 */ 0x68d0,
+ /* 2nd byte: 34 */ 0x68d1,
+ /* 2nd byte: 35 */ 0x68d3,
+ /* 2nd byte: 36 */ 0x68d6,
+ /* 2nd byte: 37 */ 0x68d9,
+ /* 2nd byte: 38 */ 0x68dc,
+ /* 2nd byte: 39 */ 0x68dd,
+ /* 2nd byte: 40 */ 0x68e5,
+ /* 2nd byte: 41 */ 0x68e8,
+ /* 2nd byte: 42 */ 0x68ea,
+ /* 2nd byte: 43 */ 0x68eb,
+ /* 2nd byte: 44 */ 0x68ec,
+ /* 2nd byte: 45 */ 0x68ed,
+ /* 2nd byte: 46 */ 0x68f0,
+ /* 2nd byte: 47 */ 0x68f1,
+ /* 2nd byte: 48 */ 0x68f5,
+ /* 2nd byte: 49 */ 0x68f6,
+ /* 2nd byte: 50 */ 0x68fb,
+ /* 2nd byte: 51 */ 0x68fc,
+ /* 2nd byte: 52 */ 0x68fd,
+ /* 2nd byte: 53 */ 0x6906,
+ /* 2nd byte: 54 */ 0x6909,
+ /* 2nd byte: 55 */ 0x690a,
+ /* 2nd byte: 56 */ 0x6910,
+ /* 2nd byte: 57 */ 0x6911,
+ /* 2nd byte: 58 */ 0x6913,
+ /* 2nd byte: 59 */ 0x6916,
+ /* 2nd byte: 60 */ 0x6917,
+ /* 2nd byte: 61 */ 0x6931,
+ /* 2nd byte: 62 */ 0x6933,
+ /* 2nd byte: 63 */ 0x6935,
+ /* 2nd byte: 64 */ 0x6938,
+ /* 2nd byte: 65 */ 0x693b,
+ /* 2nd byte: 66 */ 0x6942,
+ /* 2nd byte: 67 */ 0x6945,
+ /* 2nd byte: 68 */ 0x6949,
+ /* 2nd byte: 69 */ 0x694e,
+ /* 2nd byte: 70 */ 0x6957,
+ /* 2nd byte: 71 */ 0x695b,
+ /* 2nd byte: 72 */ 0x6963,
+ /* 2nd byte: 73 */ 0x6964,
+ /* 2nd byte: 74 */ 0x6965,
+ /* 2nd byte: 75 */ 0x6966,
+ /* 2nd byte: 76 */ 0x6968,
+ /* 2nd byte: 77 */ 0x6969,
+ /* 2nd byte: 78 */ 0x696c,
+ /* 2nd byte: 79 */ 0x6970,
+ /* 2nd byte: 80 */ 0x6971,
+ /* 2nd byte: 81 */ 0x6972,
+ /* 2nd byte: 82 */ 0x697a,
+ /* 2nd byte: 83 */ 0x697b,
+ /* 2nd byte: 84 */ 0x697f,
+ /* 2nd byte: 85 */ 0x6980,
+ /* 2nd byte: 86 */ 0x698d,
+ /* 2nd byte: 87 */ 0x6992,
+ /* 2nd byte: 88 */ 0x6996,
+ /* 2nd byte: 89 */ 0x6998,
+ /* 2nd byte: 90 */ 0x69a1,
+ /* 2nd byte: 91 */ 0x69a5,
+ /* 2nd byte: 92 */ 0x69a6,
+ /* 2nd byte: 93 */ 0x69a8,
+ /* 2nd byte: 94 */ 0x69ab,
+ /* 2nd byte: 95 */ 0x69ad,
+ /* 2nd byte: 96 */ 0x69af,
+ /* 2nd byte: 97 */ 0x69b7,
+ /* 2nd byte: 98 */ 0x69b8,
+ /* 2nd byte: 99 */ 0x69ba,
+ /* 2nd byte: 100 */ 0x69bc,
+ /* 2nd byte: 101 */ 0x69c5,
+ /* 2nd byte: 102 */ 0x69c8,
+ /* 2nd byte: 103 */ 0x69d1,
+ /* 2nd byte: 104 */ 0x69d6,
+ /* 2nd byte: 105 */ 0x69d7,
+ /* 2nd byte: 106 */ 0x69e2,
+ /* 2nd byte: 107 */ 0x69e5,
+ /* 2nd byte: 108 */ 0x69ee,
+ /* 2nd byte: 109 */ 0x69ef,
+ /* 2nd byte: 110 */ 0x69f1,
+ /* 2nd byte: 111 */ 0x69f3,
+ /* 2nd byte: 112 */ 0x69f5,
+ /* 2nd byte: 113 */ 0x69fe,
+ /* 2nd byte: 114 */ 0x6a00,
+ /* 2nd byte: 115 */ 0x6a01,
+ /* 2nd byte: 116 */ 0x6a03,
+ /* 2nd byte: 117 */ 0x6a0f,
+ /* 2nd byte: 118 */ 0x6a11,
+ /* 2nd byte: 119 */ 0x6a15,
+ /* 2nd byte: 120 */ 0x6a1a,
+ /* 2nd byte: 121 */ 0x6a1d,
+ /* 2nd byte: 122 */ 0x6a20,
+ /* 2nd byte: 123 */ 0x6a24,
+ /* 2nd byte: 124 */ 0x6a28,
+ /* 2nd byte: 125 */ 0x6a30,
+ /* 2nd byte: 126 */ 0x6a32},
+/* 1st byte: 69 */ {
+ /* 2nd byte: 33 */ 0x6a34,
+ /* 2nd byte: 34 */ 0x6a37,
+ /* 2nd byte: 35 */ 0x6a3b,
+ /* 2nd byte: 36 */ 0x6a3e,
+ /* 2nd byte: 37 */ 0x6a3f,
+ /* 2nd byte: 38 */ 0x6a45,
+ /* 2nd byte: 39 */ 0x6a46,
+ /* 2nd byte: 40 */ 0x6a49,
+ /* 2nd byte: 41 */ 0x6a4a,
+ /* 2nd byte: 42 */ 0x6a4e,
+ /* 2nd byte: 43 */ 0x6a50,
+ /* 2nd byte: 44 */ 0x6a51,
+ /* 2nd byte: 45 */ 0x6a52,
+ /* 2nd byte: 46 */ 0x6a55,
+ /* 2nd byte: 47 */ 0x6a56,
+ /* 2nd byte: 48 */ 0x6a5b,
+ /* 2nd byte: 49 */ 0x6a64,
+ /* 2nd byte: 50 */ 0x6a67,
+ /* 2nd byte: 51 */ 0x6a6a,
+ /* 2nd byte: 52 */ 0x6a71,
+ /* 2nd byte: 53 */ 0x6a73,
+ /* 2nd byte: 54 */ 0x6a7e,
+ /* 2nd byte: 55 */ 0x6a81,
+ /* 2nd byte: 56 */ 0x6a83,
+ /* 2nd byte: 57 */ 0x6a86,
+ /* 2nd byte: 58 */ 0x6a87,
+ /* 2nd byte: 59 */ 0x6a89,
+ /* 2nd byte: 60 */ 0x6a8b,
+ /* 2nd byte: 61 */ 0x6a91,
+ /* 2nd byte: 62 */ 0x6a9b,
+ /* 2nd byte: 63 */ 0x6a9d,
+ /* 2nd byte: 64 */ 0x6a9e,
+ /* 2nd byte: 65 */ 0x6a9f,
+ /* 2nd byte: 66 */ 0x6aa5,
+ /* 2nd byte: 67 */ 0x6aab,
+ /* 2nd byte: 68 */ 0x6aaf,
+ /* 2nd byte: 69 */ 0x6ab0,
+ /* 2nd byte: 70 */ 0x6ab1,
+ /* 2nd byte: 71 */ 0x6ab4,
+ /* 2nd byte: 72 */ 0x6abd,
+ /* 2nd byte: 73 */ 0x6abe,
+ /* 2nd byte: 74 */ 0x6abf,
+ /* 2nd byte: 75 */ 0x6ac6,
+ /* 2nd byte: 76 */ 0x6ac9,
+ /* 2nd byte: 77 */ 0x6ac8,
+ /* 2nd byte: 78 */ 0x6acc,
+ /* 2nd byte: 79 */ 0x6ad0,
+ /* 2nd byte: 80 */ 0x6ad4,
+ /* 2nd byte: 81 */ 0x6ad5,
+ /* 2nd byte: 82 */ 0x6ad6,
+ /* 2nd byte: 83 */ 0x6adc,
+ /* 2nd byte: 84 */ 0x6add,
+ /* 2nd byte: 85 */ 0x6ae4,
+ /* 2nd byte: 86 */ 0x6ae7,
+ /* 2nd byte: 87 */ 0x6aec,
+ /* 2nd byte: 88 */ 0x6af0,
+ /* 2nd byte: 89 */ 0x6af1,
+ /* 2nd byte: 90 */ 0x6af2,
+ /* 2nd byte: 91 */ 0x6afc,
+ /* 2nd byte: 92 */ 0x6afd,
+ /* 2nd byte: 93 */ 0x6b02,
+ /* 2nd byte: 94 */ 0x6b03,
+ /* 2nd byte: 95 */ 0x6b06,
+ /* 2nd byte: 96 */ 0x6b07,
+ /* 2nd byte: 97 */ 0x6b09,
+ /* 2nd byte: 98 */ 0x6b0f,
+ /* 2nd byte: 99 */ 0x6b10,
+ /* 2nd byte: 100 */ 0x6b11,
+ /* 2nd byte: 101 */ 0x6b17,
+ /* 2nd byte: 102 */ 0x6b1b,
+ /* 2nd byte: 103 */ 0x6b1e,
+ /* 2nd byte: 104 */ 0x6b24,
+ /* 2nd byte: 105 */ 0x6b28,
+ /* 2nd byte: 106 */ 0x6b2b,
+ /* 2nd byte: 107 */ 0x6b2c,
+ /* 2nd byte: 108 */ 0x6b2f,
+ /* 2nd byte: 109 */ 0x6b35,
+ /* 2nd byte: 110 */ 0x6b36,
+ /* 2nd byte: 111 */ 0x6b3b,
+ /* 2nd byte: 112 */ 0x6b3f,
+ /* 2nd byte: 113 */ 0x6b46,
+ /* 2nd byte: 114 */ 0x6b4a,
+ /* 2nd byte: 115 */ 0x6b4d,
+ /* 2nd byte: 116 */ 0x6b52,
+ /* 2nd byte: 117 */ 0x6b56,
+ /* 2nd byte: 118 */ 0x6b58,
+ /* 2nd byte: 119 */ 0x6b5d,
+ /* 2nd byte: 120 */ 0x6b60,
+ /* 2nd byte: 121 */ 0x6b67,
+ /* 2nd byte: 122 */ 0x6b6b,
+ /* 2nd byte: 123 */ 0x6b6e,
+ /* 2nd byte: 124 */ 0x6b70,
+ /* 2nd byte: 125 */ 0x6b75,
+ /* 2nd byte: 126 */ 0x6b7d},
+/* 1st byte: 70 */ {
+ /* 2nd byte: 33 */ 0x6b7e,
+ /* 2nd byte: 34 */ 0x6b82,
+ /* 2nd byte: 35 */ 0x6b85,
+ /* 2nd byte: 36 */ 0x6b97,
+ /* 2nd byte: 37 */ 0x6b9b,
+ /* 2nd byte: 38 */ 0x6b9f,
+ /* 2nd byte: 39 */ 0x6ba0,
+ /* 2nd byte: 40 */ 0x6ba2,
+ /* 2nd byte: 41 */ 0x6ba3,
+ /* 2nd byte: 42 */ 0x6ba8,
+ /* 2nd byte: 43 */ 0x6ba9,
+ /* 2nd byte: 44 */ 0x6bac,
+ /* 2nd byte: 45 */ 0x6bad,
+ /* 2nd byte: 46 */ 0x6bae,
+ /* 2nd byte: 47 */ 0x6bb0,
+ /* 2nd byte: 48 */ 0x6bb8,
+ /* 2nd byte: 49 */ 0x6bb9,
+ /* 2nd byte: 50 */ 0x6bbd,
+ /* 2nd byte: 51 */ 0x6bbe,
+ /* 2nd byte: 52 */ 0x6bc3,
+ /* 2nd byte: 53 */ 0x6bc4,
+ /* 2nd byte: 54 */ 0x6bc9,
+ /* 2nd byte: 55 */ 0x6bcc,
+ /* 2nd byte: 56 */ 0x6bd6,
+ /* 2nd byte: 57 */ 0x6bda,
+ /* 2nd byte: 58 */ 0x6be1,
+ /* 2nd byte: 59 */ 0x6be3,
+ /* 2nd byte: 60 */ 0x6be6,
+ /* 2nd byte: 61 */ 0x6be7,
+ /* 2nd byte: 62 */ 0x6bee,
+ /* 2nd byte: 63 */ 0x6bf1,
+ /* 2nd byte: 64 */ 0x6bf7,
+ /* 2nd byte: 65 */ 0x6bf9,
+ /* 2nd byte: 66 */ 0x6bff,
+ /* 2nd byte: 67 */ 0x6c02,
+ /* 2nd byte: 68 */ 0x6c04,
+ /* 2nd byte: 69 */ 0x6c05,
+ /* 2nd byte: 70 */ 0x6c09,
+ /* 2nd byte: 71 */ 0x6c0d,
+ /* 2nd byte: 72 */ 0x6c0e,
+ /* 2nd byte: 73 */ 0x6c10,
+ /* 2nd byte: 74 */ 0x6c12,
+ /* 2nd byte: 75 */ 0x6c19,
+ /* 2nd byte: 76 */ 0x6c1f,
+ /* 2nd byte: 77 */ 0x6c26,
+ /* 2nd byte: 78 */ 0x6c27,
+ /* 2nd byte: 79 */ 0x6c28,
+ /* 2nd byte: 80 */ 0x6c2c,
+ /* 2nd byte: 81 */ 0x6c2e,
+ /* 2nd byte: 82 */ 0x6c33,
+ /* 2nd byte: 83 */ 0x6c35,
+ /* 2nd byte: 84 */ 0x6c36,
+ /* 2nd byte: 85 */ 0x6c3a,
+ /* 2nd byte: 86 */ 0x6c3b,
+ /* 2nd byte: 87 */ 0x6c3f,
+ /* 2nd byte: 88 */ 0x6c4a,
+ /* 2nd byte: 89 */ 0x6c4b,
+ /* 2nd byte: 90 */ 0x6c4d,
+ /* 2nd byte: 91 */ 0x6c4f,
+ /* 2nd byte: 92 */ 0x6c52,
+ /* 2nd byte: 93 */ 0x6c54,
+ /* 2nd byte: 94 */ 0x6c59,
+ /* 2nd byte: 95 */ 0x6c5b,
+ /* 2nd byte: 96 */ 0x6c5c,
+ /* 2nd byte: 97 */ 0x6c6b,
+ /* 2nd byte: 98 */ 0x6c6d,
+ /* 2nd byte: 99 */ 0x6c6f,
+ /* 2nd byte: 100 */ 0x6c74,
+ /* 2nd byte: 101 */ 0x6c76,
+ /* 2nd byte: 102 */ 0x6c78,
+ /* 2nd byte: 103 */ 0x6c79,
+ /* 2nd byte: 104 */ 0x6c7b,
+ /* 2nd byte: 105 */ 0x6c85,
+ /* 2nd byte: 106 */ 0x6c86,
+ /* 2nd byte: 107 */ 0x6c87,
+ /* 2nd byte: 108 */ 0x6c89,
+ /* 2nd byte: 109 */ 0x6c94,
+ /* 2nd byte: 110 */ 0x6c95,
+ /* 2nd byte: 111 */ 0x6c97,
+ /* 2nd byte: 112 */ 0x6c98,
+ /* 2nd byte: 113 */ 0x6c9c,
+ /* 2nd byte: 114 */ 0x6c9f,
+ /* 2nd byte: 115 */ 0x6cb0,
+ /* 2nd byte: 116 */ 0x6cb2,
+ /* 2nd byte: 117 */ 0x6cb4,
+ /* 2nd byte: 118 */ 0x6cc2,
+ /* 2nd byte: 119 */ 0x6cc6,
+ /* 2nd byte: 120 */ 0x6ccd,
+ /* 2nd byte: 121 */ 0x6ccf,
+ /* 2nd byte: 122 */ 0x6cd0,
+ /* 2nd byte: 123 */ 0x6cd1,
+ /* 2nd byte: 124 */ 0x6cd2,
+ /* 2nd byte: 125 */ 0x6cd4,
+ /* 2nd byte: 126 */ 0x6cd6},
+/* 1st byte: 71 */ {
+ /* 2nd byte: 33 */ 0x6cda,
+ /* 2nd byte: 34 */ 0x6cdc,
+ /* 2nd byte: 35 */ 0x6ce0,
+ /* 2nd byte: 36 */ 0x6ce7,
+ /* 2nd byte: 37 */ 0x6ce9,
+ /* 2nd byte: 38 */ 0x6ceb,
+ /* 2nd byte: 39 */ 0x6cec,
+ /* 2nd byte: 40 */ 0x6cee,
+ /* 2nd byte: 41 */ 0x6cf2,
+ /* 2nd byte: 42 */ 0x6cf4,
+ /* 2nd byte: 43 */ 0x6d04,
+ /* 2nd byte: 44 */ 0x6d07,
+ /* 2nd byte: 45 */ 0x6d0a,
+ /* 2nd byte: 46 */ 0x6d0e,
+ /* 2nd byte: 47 */ 0x6d0f,
+ /* 2nd byte: 48 */ 0x6d11,
+ /* 2nd byte: 49 */ 0x6d13,
+ /* 2nd byte: 50 */ 0x6d1a,
+ /* 2nd byte: 51 */ 0x6d26,
+ /* 2nd byte: 52 */ 0x6d27,
+ /* 2nd byte: 53 */ 0x6d28,
+ /* 2nd byte: 54 */ 0x6c67,
+ /* 2nd byte: 55 */ 0x6d2e,
+ /* 2nd byte: 56 */ 0x6d2f,
+ /* 2nd byte: 57 */ 0x6d31,
+ /* 2nd byte: 58 */ 0x6d39,
+ /* 2nd byte: 59 */ 0x6d3c,
+ /* 2nd byte: 60 */ 0x6d3f,
+ /* 2nd byte: 61 */ 0x6d57,
+ /* 2nd byte: 62 */ 0x6d5e,
+ /* 2nd byte: 63 */ 0x6d5f,
+ /* 2nd byte: 64 */ 0x6d61,
+ /* 2nd byte: 65 */ 0x6d65,
+ /* 2nd byte: 66 */ 0x6d67,
+ /* 2nd byte: 67 */ 0x6d6f,
+ /* 2nd byte: 68 */ 0x6d70,
+ /* 2nd byte: 69 */ 0x6d7c,
+ /* 2nd byte: 70 */ 0x6d82,
+ /* 2nd byte: 71 */ 0x6d87,
+ /* 2nd byte: 72 */ 0x6d91,
+ /* 2nd byte: 73 */ 0x6d92,
+ /* 2nd byte: 74 */ 0x6d94,
+ /* 2nd byte: 75 */ 0x6d96,
+ /* 2nd byte: 76 */ 0x6d97,
+ /* 2nd byte: 77 */ 0x6d98,
+ /* 2nd byte: 78 */ 0x6daa,
+ /* 2nd byte: 79 */ 0x6dac,
+ /* 2nd byte: 80 */ 0x6db4,
+ /* 2nd byte: 81 */ 0x6db7,
+ /* 2nd byte: 82 */ 0x6db9,
+ /* 2nd byte: 83 */ 0x6dbd,
+ /* 2nd byte: 84 */ 0x6dbf,
+ /* 2nd byte: 85 */ 0x6dc4,
+ /* 2nd byte: 86 */ 0x6dc8,
+ /* 2nd byte: 87 */ 0x6dca,
+ /* 2nd byte: 88 */ 0x6dce,
+ /* 2nd byte: 89 */ 0x6dcf,
+ /* 2nd byte: 90 */ 0x6dd6,
+ /* 2nd byte: 91 */ 0x6ddb,
+ /* 2nd byte: 92 */ 0x6ddd,
+ /* 2nd byte: 93 */ 0x6ddf,
+ /* 2nd byte: 94 */ 0x6de0,
+ /* 2nd byte: 95 */ 0x6de2,
+ /* 2nd byte: 96 */ 0x6de5,
+ /* 2nd byte: 97 */ 0x6de9,
+ /* 2nd byte: 98 */ 0x6def,
+ /* 2nd byte: 99 */ 0x6df0,
+ /* 2nd byte: 100 */ 0x6df4,
+ /* 2nd byte: 101 */ 0x6df6,
+ /* 2nd byte: 102 */ 0x6dfc,
+ /* 2nd byte: 103 */ 0x6e00,
+ /* 2nd byte: 104 */ 0x6e04,
+ /* 2nd byte: 105 */ 0x6e1e,
+ /* 2nd byte: 106 */ 0x6e22,
+ /* 2nd byte: 107 */ 0x6e27,
+ /* 2nd byte: 108 */ 0x6e32,
+ /* 2nd byte: 109 */ 0x6e36,
+ /* 2nd byte: 110 */ 0x6e39,
+ /* 2nd byte: 111 */ 0x6e3b,
+ /* 2nd byte: 112 */ 0x6e3c,
+ /* 2nd byte: 113 */ 0x6e44,
+ /* 2nd byte: 114 */ 0x6e45,
+ /* 2nd byte: 115 */ 0x6e48,
+ /* 2nd byte: 116 */ 0x6e49,
+ /* 2nd byte: 117 */ 0x6e4b,
+ /* 2nd byte: 118 */ 0x6e4f,
+ /* 2nd byte: 119 */ 0x6e51,
+ /* 2nd byte: 120 */ 0x6e52,
+ /* 2nd byte: 121 */ 0x6e53,
+ /* 2nd byte: 122 */ 0x6e54,
+ /* 2nd byte: 123 */ 0x6e57,
+ /* 2nd byte: 124 */ 0x6e5c,
+ /* 2nd byte: 125 */ 0x6e5d,
+ /* 2nd byte: 126 */ 0x6e5e},
+/* 1st byte: 72 */ {
+ /* 2nd byte: 33 */ 0x6e62,
+ /* 2nd byte: 34 */ 0x6e63,
+ /* 2nd byte: 35 */ 0x6e68,
+ /* 2nd byte: 36 */ 0x6e73,
+ /* 2nd byte: 37 */ 0x6e7b,
+ /* 2nd byte: 38 */ 0x6e7d,
+ /* 2nd byte: 39 */ 0x6e8d,
+ /* 2nd byte: 40 */ 0x6e93,
+ /* 2nd byte: 41 */ 0x6e99,
+ /* 2nd byte: 42 */ 0x6ea0,
+ /* 2nd byte: 43 */ 0x6ea7,
+ /* 2nd byte: 44 */ 0x6ead,
+ /* 2nd byte: 45 */ 0x6eae,
+ /* 2nd byte: 46 */ 0x6eb1,
+ /* 2nd byte: 47 */ 0x6eb3,
+ /* 2nd byte: 48 */ 0x6ebb,
+ /* 2nd byte: 49 */ 0x6ebf,
+ /* 2nd byte: 50 */ 0x6ec0,
+ /* 2nd byte: 51 */ 0x6ec1,
+ /* 2nd byte: 52 */ 0x6ec3,
+ /* 2nd byte: 53 */ 0x6ec7,
+ /* 2nd byte: 54 */ 0x6ec8,
+ /* 2nd byte: 55 */ 0x6eca,
+ /* 2nd byte: 56 */ 0x6ecd,
+ /* 2nd byte: 57 */ 0x6ece,
+ /* 2nd byte: 58 */ 0x6ecf,
+ /* 2nd byte: 59 */ 0x6eeb,
+ /* 2nd byte: 60 */ 0x6eed,
+ /* 2nd byte: 61 */ 0x6eee,
+ /* 2nd byte: 62 */ 0x6ef9,
+ /* 2nd byte: 63 */ 0x6efb,
+ /* 2nd byte: 64 */ 0x6efd,
+ /* 2nd byte: 65 */ 0x6f04,
+ /* 2nd byte: 66 */ 0x6f08,
+ /* 2nd byte: 67 */ 0x6f0a,
+ /* 2nd byte: 68 */ 0x6f0c,
+ /* 2nd byte: 69 */ 0x6f0d,
+ /* 2nd byte: 70 */ 0x6f16,
+ /* 2nd byte: 71 */ 0x6f18,
+ /* 2nd byte: 72 */ 0x6f1a,
+ /* 2nd byte: 73 */ 0x6f1b,
+ /* 2nd byte: 74 */ 0x6f26,
+ /* 2nd byte: 75 */ 0x6f29,
+ /* 2nd byte: 76 */ 0x6f2a,
+ /* 2nd byte: 77 */ 0x6f2f,
+ /* 2nd byte: 78 */ 0x6f30,
+ /* 2nd byte: 79 */ 0x6f33,
+ /* 2nd byte: 80 */ 0x6f36,
+ /* 2nd byte: 81 */ 0x6f3b,
+ /* 2nd byte: 82 */ 0x6f3c,
+ /* 2nd byte: 83 */ 0x6f2d,
+ /* 2nd byte: 84 */ 0x6f4f,
+ /* 2nd byte: 85 */ 0x6f51,
+ /* 2nd byte: 86 */ 0x6f52,
+ /* 2nd byte: 87 */ 0x6f53,
+ /* 2nd byte: 88 */ 0x6f57,
+ /* 2nd byte: 89 */ 0x6f59,
+ /* 2nd byte: 90 */ 0x6f5a,
+ /* 2nd byte: 91 */ 0x6f5d,
+ /* 2nd byte: 92 */ 0x6f5e,
+ /* 2nd byte: 93 */ 0x6f61,
+ /* 2nd byte: 94 */ 0x6f62,
+ /* 2nd byte: 95 */ 0x6f68,
+ /* 2nd byte: 96 */ 0x6f6c,
+ /* 2nd byte: 97 */ 0x6f7d,
+ /* 2nd byte: 98 */ 0x6f7e,
+ /* 2nd byte: 99 */ 0x6f83,
+ /* 2nd byte: 100 */ 0x6f87,
+ /* 2nd byte: 101 */ 0x6f88,
+ /* 2nd byte: 102 */ 0x6f8b,
+ /* 2nd byte: 103 */ 0x6f8c,
+ /* 2nd byte: 104 */ 0x6f8d,
+ /* 2nd byte: 105 */ 0x6f90,
+ /* 2nd byte: 106 */ 0x6f92,
+ /* 2nd byte: 107 */ 0x6f93,
+ /* 2nd byte: 108 */ 0x6f94,
+ /* 2nd byte: 109 */ 0x6f96,
+ /* 2nd byte: 110 */ 0x6f9a,
+ /* 2nd byte: 111 */ 0x6f9f,
+ /* 2nd byte: 112 */ 0x6fa0,
+ /* 2nd byte: 113 */ 0x6fa5,
+ /* 2nd byte: 114 */ 0x6fa6,
+ /* 2nd byte: 115 */ 0x6fa7,
+ /* 2nd byte: 116 */ 0x6fa8,
+ /* 2nd byte: 117 */ 0x6fae,
+ /* 2nd byte: 118 */ 0x6faf,
+ /* 2nd byte: 119 */ 0x6fb0,
+ /* 2nd byte: 120 */ 0x6fb5,
+ /* 2nd byte: 121 */ 0x6fb6,
+ /* 2nd byte: 122 */ 0x6fbc,
+ /* 2nd byte: 123 */ 0x6fc5,
+ /* 2nd byte: 124 */ 0x6fc7,
+ /* 2nd byte: 125 */ 0x6fc8,
+ /* 2nd byte: 126 */ 0x6fca},
+/* 1st byte: 73 */ {
+ /* 2nd byte: 33 */ 0x6fda,
+ /* 2nd byte: 34 */ 0x6fde,
+ /* 2nd byte: 35 */ 0x6fe8,
+ /* 2nd byte: 36 */ 0x6fe9,
+ /* 2nd byte: 37 */ 0x6ff0,
+ /* 2nd byte: 38 */ 0x6ff5,
+ /* 2nd byte: 39 */ 0x6ff9,
+ /* 2nd byte: 40 */ 0x6ffc,
+ /* 2nd byte: 41 */ 0x6ffd,
+ /* 2nd byte: 42 */ 0x7000,
+ /* 2nd byte: 43 */ 0x7005,
+ /* 2nd byte: 44 */ 0x7006,
+ /* 2nd byte: 45 */ 0x7007,
+ /* 2nd byte: 46 */ 0x700d,
+ /* 2nd byte: 47 */ 0x7017,
+ /* 2nd byte: 48 */ 0x7020,
+ /* 2nd byte: 49 */ 0x7023,
+ /* 2nd byte: 50 */ 0x702f,
+ /* 2nd byte: 51 */ 0x7034,
+ /* 2nd byte: 52 */ 0x7037,
+ /* 2nd byte: 53 */ 0x7039,
+ /* 2nd byte: 54 */ 0x703c,
+ /* 2nd byte: 55 */ 0x7043,
+ /* 2nd byte: 56 */ 0x7044,
+ /* 2nd byte: 57 */ 0x7048,
+ /* 2nd byte: 58 */ 0x7049,
+ /* 2nd byte: 59 */ 0x704a,
+ /* 2nd byte: 60 */ 0x704b,
+ /* 2nd byte: 61 */ 0x7054,
+ /* 2nd byte: 62 */ 0x7055,
+ /* 2nd byte: 63 */ 0x705d,
+ /* 2nd byte: 64 */ 0x705e,
+ /* 2nd byte: 65 */ 0x704e,
+ /* 2nd byte: 66 */ 0x7064,
+ /* 2nd byte: 67 */ 0x7065,
+ /* 2nd byte: 68 */ 0x706c,
+ /* 2nd byte: 69 */ 0x706e,
+ /* 2nd byte: 70 */ 0x7075,
+ /* 2nd byte: 71 */ 0x7076,
+ /* 2nd byte: 72 */ 0x707e,
+ /* 2nd byte: 73 */ 0x7081,
+ /* 2nd byte: 74 */ 0x7085,
+ /* 2nd byte: 75 */ 0x7086,
+ /* 2nd byte: 76 */ 0x7094,
+ /* 2nd byte: 77 */ 0x7095,
+ /* 2nd byte: 78 */ 0x7096,
+ /* 2nd byte: 79 */ 0x7097,
+ /* 2nd byte: 80 */ 0x7098,
+ /* 2nd byte: 81 */ 0x709b,
+ /* 2nd byte: 82 */ 0x70a4,
+ /* 2nd byte: 83 */ 0x70ab,
+ /* 2nd byte: 84 */ 0x70b0,
+ /* 2nd byte: 85 */ 0x70b1,
+ /* 2nd byte: 86 */ 0x70b4,
+ /* 2nd byte: 87 */ 0x70b7,
+ /* 2nd byte: 88 */ 0x70ca,
+ /* 2nd byte: 89 */ 0x70d1,
+ /* 2nd byte: 90 */ 0x70d3,
+ /* 2nd byte: 91 */ 0x70d4,
+ /* 2nd byte: 92 */ 0x70d5,
+ /* 2nd byte: 93 */ 0x70d6,
+ /* 2nd byte: 94 */ 0x70d8,
+ /* 2nd byte: 95 */ 0x70dc,
+ /* 2nd byte: 96 */ 0x70e4,
+ /* 2nd byte: 97 */ 0x70fa,
+ /* 2nd byte: 98 */ 0x7103,
+ /* 2nd byte: 99 */ 0x7104,
+ /* 2nd byte: 100 */ 0x7105,
+ /* 2nd byte: 101 */ 0x7106,
+ /* 2nd byte: 102 */ 0x7107,
+ /* 2nd byte: 103 */ 0x710b,
+ /* 2nd byte: 104 */ 0x710c,
+ /* 2nd byte: 105 */ 0x710f,
+ /* 2nd byte: 106 */ 0x711e,
+ /* 2nd byte: 107 */ 0x7120,
+ /* 2nd byte: 108 */ 0x712b,
+ /* 2nd byte: 109 */ 0x712d,
+ /* 2nd byte: 110 */ 0x712f,
+ /* 2nd byte: 111 */ 0x7130,
+ /* 2nd byte: 112 */ 0x7131,
+ /* 2nd byte: 113 */ 0x7138,
+ /* 2nd byte: 114 */ 0x7141,
+ /* 2nd byte: 115 */ 0x7145,
+ /* 2nd byte: 116 */ 0x7146,
+ /* 2nd byte: 117 */ 0x7147,
+ /* 2nd byte: 118 */ 0x714a,
+ /* 2nd byte: 119 */ 0x714b,
+ /* 2nd byte: 120 */ 0x7150,
+ /* 2nd byte: 121 */ 0x7152,
+ /* 2nd byte: 122 */ 0x7157,
+ /* 2nd byte: 123 */ 0x715a,
+ /* 2nd byte: 124 */ 0x715c,
+ /* 2nd byte: 125 */ 0x715e,
+ /* 2nd byte: 126 */ 0x7160},
+/* 1st byte: 74 */ {
+ /* 2nd byte: 33 */ 0x7168,
+ /* 2nd byte: 34 */ 0x7179,
+ /* 2nd byte: 35 */ 0x7180,
+ /* 2nd byte: 36 */ 0x7185,
+ /* 2nd byte: 37 */ 0x7187,
+ /* 2nd byte: 38 */ 0x718c,
+ /* 2nd byte: 39 */ 0x7192,
+ /* 2nd byte: 40 */ 0x719a,
+ /* 2nd byte: 41 */ 0x719b,
+ /* 2nd byte: 42 */ 0x71a0,
+ /* 2nd byte: 43 */ 0x71a2,
+ /* 2nd byte: 44 */ 0x71af,
+ /* 2nd byte: 45 */ 0x71b0,
+ /* 2nd byte: 46 */ 0x71b2,
+ /* 2nd byte: 47 */ 0x71b3,
+ /* 2nd byte: 48 */ 0x71ba,
+ /* 2nd byte: 49 */ 0x71bf,
+ /* 2nd byte: 50 */ 0x71c0,
+ /* 2nd byte: 51 */ 0x71c1,
+ /* 2nd byte: 52 */ 0x71c4,
+ /* 2nd byte: 53 */ 0x71cb,
+ /* 2nd byte: 54 */ 0x71cc,
+ /* 2nd byte: 55 */ 0x71d3,
+ /* 2nd byte: 56 */ 0x71d6,
+ /* 2nd byte: 57 */ 0x71d9,
+ /* 2nd byte: 58 */ 0x71da,
+ /* 2nd byte: 59 */ 0x71dc,
+ /* 2nd byte: 60 */ 0x71f8,
+ /* 2nd byte: 61 */ 0x71fe,
+ /* 2nd byte: 62 */ 0x7200,
+ /* 2nd byte: 63 */ 0x7207,
+ /* 2nd byte: 64 */ 0x7208,
+ /* 2nd byte: 65 */ 0x7209,
+ /* 2nd byte: 66 */ 0x7213,
+ /* 2nd byte: 67 */ 0x7217,
+ /* 2nd byte: 68 */ 0x721a,
+ /* 2nd byte: 69 */ 0x721d,
+ /* 2nd byte: 70 */ 0x721f,
+ /* 2nd byte: 71 */ 0x7224,
+ /* 2nd byte: 72 */ 0x722b,
+ /* 2nd byte: 73 */ 0x722f,
+ /* 2nd byte: 74 */ 0x7234,
+ /* 2nd byte: 75 */ 0x7238,
+ /* 2nd byte: 76 */ 0x7239,
+ /* 2nd byte: 77 */ 0x7241,
+ /* 2nd byte: 78 */ 0x7242,
+ /* 2nd byte: 79 */ 0x7243,
+ /* 2nd byte: 80 */ 0x7245,
+ /* 2nd byte: 81 */ 0x724e,
+ /* 2nd byte: 82 */ 0x724f,
+ /* 2nd byte: 83 */ 0x7250,
+ /* 2nd byte: 84 */ 0x7253,
+ /* 2nd byte: 85 */ 0x7255,
+ /* 2nd byte: 86 */ 0x7256,
+ /* 2nd byte: 87 */ 0x725a,
+ /* 2nd byte: 88 */ 0x725c,
+ /* 2nd byte: 89 */ 0x725e,
+ /* 2nd byte: 90 */ 0x7260,
+ /* 2nd byte: 91 */ 0x7263,
+ /* 2nd byte: 92 */ 0x7268,
+ /* 2nd byte: 93 */ 0x726b,
+ /* 2nd byte: 94 */ 0x726e,
+ /* 2nd byte: 95 */ 0x726f,
+ /* 2nd byte: 96 */ 0x7271,
+ /* 2nd byte: 97 */ 0x7277,
+ /* 2nd byte: 98 */ 0x7278,
+ /* 2nd byte: 99 */ 0x727b,
+ /* 2nd byte: 100 */ 0x727c,
+ /* 2nd byte: 101 */ 0x727f,
+ /* 2nd byte: 102 */ 0x7284,
+ /* 2nd byte: 103 */ 0x7289,
+ /* 2nd byte: 104 */ 0x728d,
+ /* 2nd byte: 105 */ 0x728e,
+ /* 2nd byte: 106 */ 0x7293,
+ /* 2nd byte: 107 */ 0x729b,
+ /* 2nd byte: 108 */ 0x72a8,
+ /* 2nd byte: 109 */ 0x72ad,
+ /* 2nd byte: 110 */ 0x72ae,
+ /* 2nd byte: 111 */ 0x72b1,
+ /* 2nd byte: 112 */ 0x72b4,
+ /* 2nd byte: 113 */ 0x72be,
+ /* 2nd byte: 114 */ 0x72c1,
+ /* 2nd byte: 115 */ 0x72c7,
+ /* 2nd byte: 116 */ 0x72c9,
+ /* 2nd byte: 117 */ 0x72cc,
+ /* 2nd byte: 118 */ 0x72d5,
+ /* 2nd byte: 119 */ 0x72d6,
+ /* 2nd byte: 120 */ 0x72d8,
+ /* 2nd byte: 121 */ 0x72df,
+ /* 2nd byte: 122 */ 0x72e5,
+ /* 2nd byte: 123 */ 0x72f3,
+ /* 2nd byte: 124 */ 0x72f4,
+ /* 2nd byte: 125 */ 0x72fa,
+ /* 2nd byte: 126 */ 0x72fb},
+/* 1st byte: 75 */ {
+ /* 2nd byte: 33 */ 0x72fe,
+ /* 2nd byte: 34 */ 0x7302,
+ /* 2nd byte: 35 */ 0x7304,
+ /* 2nd byte: 36 */ 0x7305,
+ /* 2nd byte: 37 */ 0x7307,
+ /* 2nd byte: 38 */ 0x730b,
+ /* 2nd byte: 39 */ 0x730d,
+ /* 2nd byte: 40 */ 0x7312,
+ /* 2nd byte: 41 */ 0x7313,
+ /* 2nd byte: 42 */ 0x7318,
+ /* 2nd byte: 43 */ 0x7319,
+ /* 2nd byte: 44 */ 0x731e,
+ /* 2nd byte: 45 */ 0x7322,
+ /* 2nd byte: 46 */ 0x7324,
+ /* 2nd byte: 47 */ 0x7327,
+ /* 2nd byte: 48 */ 0x7328,
+ /* 2nd byte: 49 */ 0x732c,
+ /* 2nd byte: 50 */ 0x7331,
+ /* 2nd byte: 51 */ 0x7332,
+ /* 2nd byte: 52 */ 0x7335,
+ /* 2nd byte: 53 */ 0x733a,
+ /* 2nd byte: 54 */ 0x733b,
+ /* 2nd byte: 55 */ 0x733d,
+ /* 2nd byte: 56 */ 0x7343,
+ /* 2nd byte: 57 */ 0x734d,
+ /* 2nd byte: 58 */ 0x7350,
+ /* 2nd byte: 59 */ 0x7352,
+ /* 2nd byte: 60 */ 0x7356,
+ /* 2nd byte: 61 */ 0x7358,
+ /* 2nd byte: 62 */ 0x735d,
+ /* 2nd byte: 63 */ 0x735e,
+ /* 2nd byte: 64 */ 0x735f,
+ /* 2nd byte: 65 */ 0x7360,
+ /* 2nd byte: 66 */ 0x7366,
+ /* 2nd byte: 67 */ 0x7367,
+ /* 2nd byte: 68 */ 0x7369,
+ /* 2nd byte: 69 */ 0x736b,
+ /* 2nd byte: 70 */ 0x736c,
+ /* 2nd byte: 71 */ 0x736e,
+ /* 2nd byte: 72 */ 0x736f,
+ /* 2nd byte: 73 */ 0x7371,
+ /* 2nd byte: 74 */ 0x7377,
+ /* 2nd byte: 75 */ 0x7379,
+ /* 2nd byte: 76 */ 0x737c,
+ /* 2nd byte: 77 */ 0x7380,
+ /* 2nd byte: 78 */ 0x7381,
+ /* 2nd byte: 79 */ 0x7383,
+ /* 2nd byte: 80 */ 0x7385,
+ /* 2nd byte: 81 */ 0x7386,
+ /* 2nd byte: 82 */ 0x738e,
+ /* 2nd byte: 83 */ 0x7390,
+ /* 2nd byte: 84 */ 0x7393,
+ /* 2nd byte: 85 */ 0x7395,
+ /* 2nd byte: 86 */ 0x7397,
+ /* 2nd byte: 87 */ 0x7398,
+ /* 2nd byte: 88 */ 0x739c,
+ /* 2nd byte: 89 */ 0x739e,
+ /* 2nd byte: 90 */ 0x739f,
+ /* 2nd byte: 91 */ 0x73a0,
+ /* 2nd byte: 92 */ 0x73a2,
+ /* 2nd byte: 93 */ 0x73a5,
+ /* 2nd byte: 94 */ 0x73a6,
+ /* 2nd byte: 95 */ 0x73aa,
+ /* 2nd byte: 96 */ 0x73ab,
+ /* 2nd byte: 97 */ 0x73ad,
+ /* 2nd byte: 98 */ 0x73b5,
+ /* 2nd byte: 99 */ 0x73b7,
+ /* 2nd byte: 100 */ 0x73b9,
+ /* 2nd byte: 101 */ 0x73bc,
+ /* 2nd byte: 102 */ 0x73bd,
+ /* 2nd byte: 103 */ 0x73bf,
+ /* 2nd byte: 104 */ 0x73c5,
+ /* 2nd byte: 105 */ 0x73c6,
+ /* 2nd byte: 106 */ 0x73c9,
+ /* 2nd byte: 107 */ 0x73cb,
+ /* 2nd byte: 108 */ 0x73cc,
+ /* 2nd byte: 109 */ 0x73cf,
+ /* 2nd byte: 110 */ 0x73d2,
+ /* 2nd byte: 111 */ 0x73d3,
+ /* 2nd byte: 112 */ 0x73d6,
+ /* 2nd byte: 113 */ 0x73d9,
+ /* 2nd byte: 114 */ 0x73dd,
+ /* 2nd byte: 115 */ 0x73e1,
+ /* 2nd byte: 116 */ 0x73e3,
+ /* 2nd byte: 117 */ 0x73e6,
+ /* 2nd byte: 118 */ 0x73e7,
+ /* 2nd byte: 119 */ 0x73e9,
+ /* 2nd byte: 120 */ 0x73f4,
+ /* 2nd byte: 121 */ 0x73f5,
+ /* 2nd byte: 122 */ 0x73f7,
+ /* 2nd byte: 123 */ 0x73f9,
+ /* 2nd byte: 124 */ 0x73fa,
+ /* 2nd byte: 125 */ 0x73fb,
+ /* 2nd byte: 126 */ 0x73fd},
+/* 1st byte: 76 */ {
+ /* 2nd byte: 33 */ 0x73ff,
+ /* 2nd byte: 34 */ 0x7400,
+ /* 2nd byte: 35 */ 0x7401,
+ /* 2nd byte: 36 */ 0x7404,
+ /* 2nd byte: 37 */ 0x7407,
+ /* 2nd byte: 38 */ 0x740a,
+ /* 2nd byte: 39 */ 0x7411,
+ /* 2nd byte: 40 */ 0x741a,
+ /* 2nd byte: 41 */ 0x741b,
+ /* 2nd byte: 42 */ 0x7424,
+ /* 2nd byte: 43 */ 0x7426,
+ /* 2nd byte: 44 */ 0x7428,
+ /* 2nd byte: 45 */ 0x7429,
+ /* 2nd byte: 46 */ 0x742a,
+ /* 2nd byte: 47 */ 0x742b,
+ /* 2nd byte: 48 */ 0x742c,
+ /* 2nd byte: 49 */ 0x742d,
+ /* 2nd byte: 50 */ 0x742e,
+ /* 2nd byte: 51 */ 0x742f,
+ /* 2nd byte: 52 */ 0x7430,
+ /* 2nd byte: 53 */ 0x7431,
+ /* 2nd byte: 54 */ 0x7439,
+ /* 2nd byte: 55 */ 0x7440,
+ /* 2nd byte: 56 */ 0x7443,
+ /* 2nd byte: 57 */ 0x7444,
+ /* 2nd byte: 58 */ 0x7446,
+ /* 2nd byte: 59 */ 0x7447,
+ /* 2nd byte: 60 */ 0x744b,
+ /* 2nd byte: 61 */ 0x744d,
+ /* 2nd byte: 62 */ 0x7451,
+ /* 2nd byte: 63 */ 0x7452,
+ /* 2nd byte: 64 */ 0x7457,
+ /* 2nd byte: 65 */ 0x745d,
+ /* 2nd byte: 66 */ 0x7462,
+ /* 2nd byte: 67 */ 0x7466,
+ /* 2nd byte: 68 */ 0x7467,
+ /* 2nd byte: 69 */ 0x7468,
+ /* 2nd byte: 70 */ 0x746b,
+ /* 2nd byte: 71 */ 0x746d,
+ /* 2nd byte: 72 */ 0x746e,
+ /* 2nd byte: 73 */ 0x7471,
+ /* 2nd byte: 74 */ 0x7472,
+ /* 2nd byte: 75 */ 0x7480,
+ /* 2nd byte: 76 */ 0x7481,
+ /* 2nd byte: 77 */ 0x7485,
+ /* 2nd byte: 78 */ 0x7486,
+ /* 2nd byte: 79 */ 0x7487,
+ /* 2nd byte: 80 */ 0x7489,
+ /* 2nd byte: 81 */ 0x748f,
+ /* 2nd byte: 82 */ 0x7490,
+ /* 2nd byte: 83 */ 0x7491,
+ /* 2nd byte: 84 */ 0x7492,
+ /* 2nd byte: 85 */ 0x7498,
+ /* 2nd byte: 86 */ 0x7499,
+ /* 2nd byte: 87 */ 0x749a,
+ /* 2nd byte: 88 */ 0x749c,
+ /* 2nd byte: 89 */ 0x749f,
+ /* 2nd byte: 90 */ 0x74a0,
+ /* 2nd byte: 91 */ 0x74a1,
+ /* 2nd byte: 92 */ 0x74a3,
+ /* 2nd byte: 93 */ 0x74a6,
+ /* 2nd byte: 94 */ 0x74a8,
+ /* 2nd byte: 95 */ 0x74a9,
+ /* 2nd byte: 96 */ 0x74aa,
+ /* 2nd byte: 97 */ 0x74ab,
+ /* 2nd byte: 98 */ 0x74ae,
+ /* 2nd byte: 99 */ 0x74af,
+ /* 2nd byte: 100 */ 0x74b1,
+ /* 2nd byte: 101 */ 0x74b2,
+ /* 2nd byte: 102 */ 0x74b5,
+ /* 2nd byte: 103 */ 0x74b9,
+ /* 2nd byte: 104 */ 0x74bb,
+ /* 2nd byte: 105 */ 0x74bf,
+ /* 2nd byte: 106 */ 0x74c8,
+ /* 2nd byte: 107 */ 0x74c9,
+ /* 2nd byte: 108 */ 0x74cc,
+ /* 2nd byte: 109 */ 0x74d0,
+ /* 2nd byte: 110 */ 0x74d3,
+ /* 2nd byte: 111 */ 0x74d8,
+ /* 2nd byte: 112 */ 0x74da,
+ /* 2nd byte: 113 */ 0x74db,
+ /* 2nd byte: 114 */ 0x74de,
+ /* 2nd byte: 115 */ 0x74df,
+ /* 2nd byte: 116 */ 0x74e4,
+ /* 2nd byte: 117 */ 0x74e8,
+ /* 2nd byte: 118 */ 0x74ea,
+ /* 2nd byte: 119 */ 0x74eb,
+ /* 2nd byte: 120 */ 0x74ef,
+ /* 2nd byte: 121 */ 0x74f4,
+ /* 2nd byte: 122 */ 0x74fa,
+ /* 2nd byte: 123 */ 0x74fb,
+ /* 2nd byte: 124 */ 0x74fc,
+ /* 2nd byte: 125 */ 0x74ff,
+ /* 2nd byte: 126 */ 0x7506},
+/* 1st byte: 77 */ {
+ /* 2nd byte: 33 */ 0x7512,
+ /* 2nd byte: 34 */ 0x7516,
+ /* 2nd byte: 35 */ 0x7517,
+ /* 2nd byte: 36 */ 0x7520,
+ /* 2nd byte: 37 */ 0x7521,
+ /* 2nd byte: 38 */ 0x7524,
+ /* 2nd byte: 39 */ 0x7527,
+ /* 2nd byte: 40 */ 0x7529,
+ /* 2nd byte: 41 */ 0x752a,
+ /* 2nd byte: 42 */ 0x752f,
+ /* 2nd byte: 43 */ 0x7536,
+ /* 2nd byte: 44 */ 0x7539,
+ /* 2nd byte: 45 */ 0x753d,
+ /* 2nd byte: 46 */ 0x753e,
+ /* 2nd byte: 47 */ 0x753f,
+ /* 2nd byte: 48 */ 0x7540,
+ /* 2nd byte: 49 */ 0x7543,
+ /* 2nd byte: 50 */ 0x7547,
+ /* 2nd byte: 51 */ 0x7548,
+ /* 2nd byte: 52 */ 0x754e,
+ /* 2nd byte: 53 */ 0x7550,
+ /* 2nd byte: 54 */ 0x7552,
+ /* 2nd byte: 55 */ 0x7557,
+ /* 2nd byte: 56 */ 0x755e,
+ /* 2nd byte: 57 */ 0x755f,
+ /* 2nd byte: 58 */ 0x7561,
+ /* 2nd byte: 59 */ 0x756f,
+ /* 2nd byte: 60 */ 0x7571,
+ /* 2nd byte: 61 */ 0x7579,
+ /* 2nd byte: 62 */ 0x757a,
+ /* 2nd byte: 63 */ 0x757b,
+ /* 2nd byte: 64 */ 0x757c,
+ /* 2nd byte: 65 */ 0x757d,
+ /* 2nd byte: 66 */ 0x757e,
+ /* 2nd byte: 67 */ 0x7581,
+ /* 2nd byte: 68 */ 0x7585,
+ /* 2nd byte: 69 */ 0x7590,
+ /* 2nd byte: 70 */ 0x7592,
+ /* 2nd byte: 71 */ 0x7593,
+ /* 2nd byte: 72 */ 0x7595,
+ /* 2nd byte: 73 */ 0x7599,
+ /* 2nd byte: 74 */ 0x759c,
+ /* 2nd byte: 75 */ 0x75a2,
+ /* 2nd byte: 76 */ 0x75a4,
+ /* 2nd byte: 77 */ 0x75b4,
+ /* 2nd byte: 78 */ 0x75ba,
+ /* 2nd byte: 79 */ 0x75bf,
+ /* 2nd byte: 80 */ 0x75c0,
+ /* 2nd byte: 81 */ 0x75c1,
+ /* 2nd byte: 82 */ 0x75c4,
+ /* 2nd byte: 83 */ 0x75c6,
+ /* 2nd byte: 84 */ 0x75cc,
+ /* 2nd byte: 85 */ 0x75ce,
+ /* 2nd byte: 86 */ 0x75cf,
+ /* 2nd byte: 87 */ 0x75d7,
+ /* 2nd byte: 88 */ 0x75dc,
+ /* 2nd byte: 89 */ 0x75df,
+ /* 2nd byte: 90 */ 0x75e0,
+ /* 2nd byte: 91 */ 0x75e1,
+ /* 2nd byte: 92 */ 0x75e4,
+ /* 2nd byte: 93 */ 0x75e7,
+ /* 2nd byte: 94 */ 0x75ec,
+ /* 2nd byte: 95 */ 0x75ee,
+ /* 2nd byte: 96 */ 0x75ef,
+ /* 2nd byte: 97 */ 0x75f1,
+ /* 2nd byte: 98 */ 0x75f9,
+ /* 2nd byte: 99 */ 0x7600,
+ /* 2nd byte: 100 */ 0x7602,
+ /* 2nd byte: 101 */ 0x7603,
+ /* 2nd byte: 102 */ 0x7604,
+ /* 2nd byte: 103 */ 0x7607,
+ /* 2nd byte: 104 */ 0x7608,
+ /* 2nd byte: 105 */ 0x760a,
+ /* 2nd byte: 106 */ 0x760c,
+ /* 2nd byte: 107 */ 0x760f,
+ /* 2nd byte: 108 */ 0x7612,
+ /* 2nd byte: 109 */ 0x7613,
+ /* 2nd byte: 110 */ 0x7615,
+ /* 2nd byte: 111 */ 0x7616,
+ /* 2nd byte: 112 */ 0x7619,
+ /* 2nd byte: 113 */ 0x761b,
+ /* 2nd byte: 114 */ 0x761c,
+ /* 2nd byte: 115 */ 0x761d,
+ /* 2nd byte: 116 */ 0x761e,
+ /* 2nd byte: 117 */ 0x7623,
+ /* 2nd byte: 118 */ 0x7625,
+ /* 2nd byte: 119 */ 0x7626,
+ /* 2nd byte: 120 */ 0x7629,
+ /* 2nd byte: 121 */ 0x762d,
+ /* 2nd byte: 122 */ 0x7632,
+ /* 2nd byte: 123 */ 0x7633,
+ /* 2nd byte: 124 */ 0x7635,
+ /* 2nd byte: 125 */ 0x7638,
+ /* 2nd byte: 126 */ 0x7639},
+/* 1st byte: 78 */ {
+ /* 2nd byte: 33 */ 0x763a,
+ /* 2nd byte: 34 */ 0x763c,
+ /* 2nd byte: 35 */ 0x764a,
+ /* 2nd byte: 36 */ 0x7640,
+ /* 2nd byte: 37 */ 0x7641,
+ /* 2nd byte: 38 */ 0x7643,
+ /* 2nd byte: 39 */ 0x7644,
+ /* 2nd byte: 40 */ 0x7645,
+ /* 2nd byte: 41 */ 0x7649,
+ /* 2nd byte: 42 */ 0x764b,
+ /* 2nd byte: 43 */ 0x7655,
+ /* 2nd byte: 44 */ 0x7659,
+ /* 2nd byte: 45 */ 0x765f,
+ /* 2nd byte: 46 */ 0x7664,
+ /* 2nd byte: 47 */ 0x7665,
+ /* 2nd byte: 48 */ 0x766d,
+ /* 2nd byte: 49 */ 0x766e,
+ /* 2nd byte: 50 */ 0x766f,
+ /* 2nd byte: 51 */ 0x7671,
+ /* 2nd byte: 52 */ 0x7674,
+ /* 2nd byte: 53 */ 0x7681,
+ /* 2nd byte: 54 */ 0x7685,
+ /* 2nd byte: 55 */ 0x768c,
+ /* 2nd byte: 56 */ 0x768d,
+ /* 2nd byte: 57 */ 0x7695,
+ /* 2nd byte: 58 */ 0x769b,
+ /* 2nd byte: 59 */ 0x769c,
+ /* 2nd byte: 60 */ 0x769d,
+ /* 2nd byte: 61 */ 0x769f,
+ /* 2nd byte: 62 */ 0x76a0,
+ /* 2nd byte: 63 */ 0x76a2,
+ /* 2nd byte: 64 */ 0x76a3,
+ /* 2nd byte: 65 */ 0x76a4,
+ /* 2nd byte: 66 */ 0x76a5,
+ /* 2nd byte: 67 */ 0x76a6,
+ /* 2nd byte: 68 */ 0x76a7,
+ /* 2nd byte: 69 */ 0x76a8,
+ /* 2nd byte: 70 */ 0x76aa,
+ /* 2nd byte: 71 */ 0x76ad,
+ /* 2nd byte: 72 */ 0x76bd,
+ /* 2nd byte: 73 */ 0x76c1,
+ /* 2nd byte: 74 */ 0x76c5,
+ /* 2nd byte: 75 */ 0x76c9,
+ /* 2nd byte: 76 */ 0x76cb,
+ /* 2nd byte: 77 */ 0x76cc,
+ /* 2nd byte: 78 */ 0x76ce,
+ /* 2nd byte: 79 */ 0x76d4,
+ /* 2nd byte: 80 */ 0x76d9,
+ /* 2nd byte: 81 */ 0x76e0,
+ /* 2nd byte: 82 */ 0x76e6,
+ /* 2nd byte: 83 */ 0x76e8,
+ /* 2nd byte: 84 */ 0x76ec,
+ /* 2nd byte: 85 */ 0x76f0,
+ /* 2nd byte: 86 */ 0x76f1,
+ /* 2nd byte: 87 */ 0x76f6,
+ /* 2nd byte: 88 */ 0x76f9,
+ /* 2nd byte: 89 */ 0x76fc,
+ /* 2nd byte: 90 */ 0x7700,
+ /* 2nd byte: 91 */ 0x7706,
+ /* 2nd byte: 92 */ 0x770a,
+ /* 2nd byte: 93 */ 0x770e,
+ /* 2nd byte: 94 */ 0x7712,
+ /* 2nd byte: 95 */ 0x7714,
+ /* 2nd byte: 96 */ 0x7715,
+ /* 2nd byte: 97 */ 0x7717,
+ /* 2nd byte: 98 */ 0x7719,
+ /* 2nd byte: 99 */ 0x771a,
+ /* 2nd byte: 100 */ 0x771c,
+ /* 2nd byte: 101 */ 0x7722,
+ /* 2nd byte: 102 */ 0x7728,
+ /* 2nd byte: 103 */ 0x772d,
+ /* 2nd byte: 104 */ 0x772e,
+ /* 2nd byte: 105 */ 0x772f,
+ /* 2nd byte: 106 */ 0x7734,
+ /* 2nd byte: 107 */ 0x7735,
+ /* 2nd byte: 108 */ 0x7736,
+ /* 2nd byte: 109 */ 0x7739,
+ /* 2nd byte: 110 */ 0x773d,
+ /* 2nd byte: 111 */ 0x773e,
+ /* 2nd byte: 112 */ 0x7742,
+ /* 2nd byte: 113 */ 0x7745,
+ /* 2nd byte: 114 */ 0x7746,
+ /* 2nd byte: 115 */ 0x774a,
+ /* 2nd byte: 116 */ 0x774d,
+ /* 2nd byte: 117 */ 0x774e,
+ /* 2nd byte: 118 */ 0x774f,
+ /* 2nd byte: 119 */ 0x7752,
+ /* 2nd byte: 120 */ 0x7756,
+ /* 2nd byte: 121 */ 0x7757,
+ /* 2nd byte: 122 */ 0x775c,
+ /* 2nd byte: 123 */ 0x775e,
+ /* 2nd byte: 124 */ 0x775f,
+ /* 2nd byte: 125 */ 0x7760,
+ /* 2nd byte: 126 */ 0x7762},
+/* 1st byte: 79 */ {
+ /* 2nd byte: 33 */ 0x7764,
+ /* 2nd byte: 34 */ 0x7767,
+ /* 2nd byte: 35 */ 0x776a,
+ /* 2nd byte: 36 */ 0x776c,
+ /* 2nd byte: 37 */ 0x7770,
+ /* 2nd byte: 38 */ 0x7772,
+ /* 2nd byte: 39 */ 0x7773,
+ /* 2nd byte: 40 */ 0x7774,
+ /* 2nd byte: 41 */ 0x777a,
+ /* 2nd byte: 42 */ 0x777d,
+ /* 2nd byte: 43 */ 0x7780,
+ /* 2nd byte: 44 */ 0x7784,
+ /* 2nd byte: 45 */ 0x778c,
+ /* 2nd byte: 46 */ 0x778d,
+ /* 2nd byte: 47 */ 0x7794,
+ /* 2nd byte: 48 */ 0x7795,
+ /* 2nd byte: 49 */ 0x7796,
+ /* 2nd byte: 50 */ 0x779a,
+ /* 2nd byte: 51 */ 0x779f,
+ /* 2nd byte: 52 */ 0x77a2,
+ /* 2nd byte: 53 */ 0x77a7,
+ /* 2nd byte: 54 */ 0x77aa,
+ /* 2nd byte: 55 */ 0x77ae,
+ /* 2nd byte: 56 */ 0x77af,
+ /* 2nd byte: 57 */ 0x77b1,
+ /* 2nd byte: 58 */ 0x77b5,
+ /* 2nd byte: 59 */ 0x77be,
+ /* 2nd byte: 60 */ 0x77c3,
+ /* 2nd byte: 61 */ 0x77c9,
+ /* 2nd byte: 62 */ 0x77d1,
+ /* 2nd byte: 63 */ 0x77d2,
+ /* 2nd byte: 64 */ 0x77d5,
+ /* 2nd byte: 65 */ 0x77d9,
+ /* 2nd byte: 66 */ 0x77de,
+ /* 2nd byte: 67 */ 0x77df,
+ /* 2nd byte: 68 */ 0x77e0,
+ /* 2nd byte: 69 */ 0x77e4,
+ /* 2nd byte: 70 */ 0x77e6,
+ /* 2nd byte: 71 */ 0x77ea,
+ /* 2nd byte: 72 */ 0x77ec,
+ /* 2nd byte: 73 */ 0x77f0,
+ /* 2nd byte: 74 */ 0x77f1,
+ /* 2nd byte: 75 */ 0x77f4,
+ /* 2nd byte: 76 */ 0x77f8,
+ /* 2nd byte: 77 */ 0x77fb,
+ /* 2nd byte: 78 */ 0x7805,
+ /* 2nd byte: 79 */ 0x7806,
+ /* 2nd byte: 80 */ 0x7809,
+ /* 2nd byte: 81 */ 0x780d,
+ /* 2nd byte: 82 */ 0x780e,
+ /* 2nd byte: 83 */ 0x7811,
+ /* 2nd byte: 84 */ 0x781d,
+ /* 2nd byte: 85 */ 0x7821,
+ /* 2nd byte: 86 */ 0x7822,
+ /* 2nd byte: 87 */ 0x7823,
+ /* 2nd byte: 88 */ 0x782d,
+ /* 2nd byte: 89 */ 0x782e,
+ /* 2nd byte: 90 */ 0x7830,
+ /* 2nd byte: 91 */ 0x7835,
+ /* 2nd byte: 92 */ 0x7837,
+ /* 2nd byte: 93 */ 0x7843,
+ /* 2nd byte: 94 */ 0x7844,
+ /* 2nd byte: 95 */ 0x7847,
+ /* 2nd byte: 96 */ 0x7848,
+ /* 2nd byte: 97 */ 0x784c,
+ /* 2nd byte: 98 */ 0x784e,
+ /* 2nd byte: 99 */ 0x7852,
+ /* 2nd byte: 100 */ 0x785c,
+ /* 2nd byte: 101 */ 0x785e,
+ /* 2nd byte: 102 */ 0x7860,
+ /* 2nd byte: 103 */ 0x7861,
+ /* 2nd byte: 104 */ 0x7863,
+ /* 2nd byte: 105 */ 0x7864,
+ /* 2nd byte: 106 */ 0x7868,
+ /* 2nd byte: 107 */ 0x786a,
+ /* 2nd byte: 108 */ 0x786e,
+ /* 2nd byte: 109 */ 0x787a,
+ /* 2nd byte: 110 */ 0x787e,
+ /* 2nd byte: 111 */ 0x788a,
+ /* 2nd byte: 112 */ 0x788f,
+ /* 2nd byte: 113 */ 0x7894,
+ /* 2nd byte: 114 */ 0x7898,
+ /* 2nd byte: 115 */ 0x78a1,
+ /* 2nd byte: 116 */ 0x789d,
+ /* 2nd byte: 117 */ 0x789e,
+ /* 2nd byte: 118 */ 0x789f,
+ /* 2nd byte: 119 */ 0x78a4,
+ /* 2nd byte: 120 */ 0x78a8,
+ /* 2nd byte: 121 */ 0x78ac,
+ /* 2nd byte: 122 */ 0x78ad,
+ /* 2nd byte: 123 */ 0x78b0,
+ /* 2nd byte: 124 */ 0x78b1,
+ /* 2nd byte: 125 */ 0x78b2,
+ /* 2nd byte: 126 */ 0x78b3},
+/* 1st byte: 80 */ {
+ /* 2nd byte: 33 */ 0x78bb,
+ /* 2nd byte: 34 */ 0x78bd,
+ /* 2nd byte: 35 */ 0x78bf,
+ /* 2nd byte: 36 */ 0x78c7,
+ /* 2nd byte: 37 */ 0x78c8,
+ /* 2nd byte: 38 */ 0x78c9,
+ /* 2nd byte: 39 */ 0x78cc,
+ /* 2nd byte: 40 */ 0x78ce,
+ /* 2nd byte: 41 */ 0x78d2,
+ /* 2nd byte: 42 */ 0x78d3,
+ /* 2nd byte: 43 */ 0x78d5,
+ /* 2nd byte: 44 */ 0x78d6,
+ /* 2nd byte: 45 */ 0x78e4,
+ /* 2nd byte: 46 */ 0x78db,
+ /* 2nd byte: 47 */ 0x78df,
+ /* 2nd byte: 48 */ 0x78e0,
+ /* 2nd byte: 49 */ 0x78e1,
+ /* 2nd byte: 50 */ 0x78e6,
+ /* 2nd byte: 51 */ 0x78ea,
+ /* 2nd byte: 52 */ 0x78f2,
+ /* 2nd byte: 53 */ 0x78f3,
+ /* 2nd byte: 54 */ 0x7900,
+ /* 2nd byte: 55 */ 0x78f6,
+ /* 2nd byte: 56 */ 0x78f7,
+ /* 2nd byte: 57 */ 0x78fa,
+ /* 2nd byte: 58 */ 0x78fb,
+ /* 2nd byte: 59 */ 0x78ff,
+ /* 2nd byte: 60 */ 0x7906,
+ /* 2nd byte: 61 */ 0x790c,
+ /* 2nd byte: 62 */ 0x7910,
+ /* 2nd byte: 63 */ 0x791a,
+ /* 2nd byte: 64 */ 0x791c,
+ /* 2nd byte: 65 */ 0x791e,
+ /* 2nd byte: 66 */ 0x791f,
+ /* 2nd byte: 67 */ 0x7920,
+ /* 2nd byte: 68 */ 0x7925,
+ /* 2nd byte: 69 */ 0x7927,
+ /* 2nd byte: 70 */ 0x7929,
+ /* 2nd byte: 71 */ 0x792d,
+ /* 2nd byte: 72 */ 0x7931,
+ /* 2nd byte: 73 */ 0x7934,
+ /* 2nd byte: 74 */ 0x7935,
+ /* 2nd byte: 75 */ 0x793b,
+ /* 2nd byte: 76 */ 0x793d,
+ /* 2nd byte: 77 */ 0x793f,
+ /* 2nd byte: 78 */ 0x7944,
+ /* 2nd byte: 79 */ 0x7945,
+ /* 2nd byte: 80 */ 0x7946,
+ /* 2nd byte: 81 */ 0x794a,
+ /* 2nd byte: 82 */ 0x794b,
+ /* 2nd byte: 83 */ 0x794f,
+ /* 2nd byte: 84 */ 0x7951,
+ /* 2nd byte: 85 */ 0x7954,
+ /* 2nd byte: 86 */ 0x7958,
+ /* 2nd byte: 87 */ 0x795b,
+ /* 2nd byte: 88 */ 0x795c,
+ /* 2nd byte: 89 */ 0x7967,
+ /* 2nd byte: 90 */ 0x7969,
+ /* 2nd byte: 91 */ 0x796b,
+ /* 2nd byte: 92 */ 0x7972,
+ /* 2nd byte: 93 */ 0x7979,
+ /* 2nd byte: 94 */ 0x797b,
+ /* 2nd byte: 95 */ 0x797c,
+ /* 2nd byte: 96 */ 0x797e,
+ /* 2nd byte: 97 */ 0x798b,
+ /* 2nd byte: 98 */ 0x798c,
+ /* 2nd byte: 99 */ 0x7991,
+ /* 2nd byte: 100 */ 0x7993,
+ /* 2nd byte: 101 */ 0x7994,
+ /* 2nd byte: 102 */ 0x7995,
+ /* 2nd byte: 103 */ 0x7996,
+ /* 2nd byte: 104 */ 0x7998,
+ /* 2nd byte: 105 */ 0x799b,
+ /* 2nd byte: 106 */ 0x799c,
+ /* 2nd byte: 107 */ 0x79a1,
+ /* 2nd byte: 108 */ 0x79a8,
+ /* 2nd byte: 109 */ 0x79a9,
+ /* 2nd byte: 110 */ 0x79ab,
+ /* 2nd byte: 111 */ 0x79af,
+ /* 2nd byte: 112 */ 0x79b1,
+ /* 2nd byte: 113 */ 0x79b4,
+ /* 2nd byte: 114 */ 0x79b8,
+ /* 2nd byte: 115 */ 0x79bb,
+ /* 2nd byte: 116 */ 0x79c2,
+ /* 2nd byte: 117 */ 0x79c4,
+ /* 2nd byte: 118 */ 0x79c7,
+ /* 2nd byte: 119 */ 0x79c8,
+ /* 2nd byte: 120 */ 0x79ca,
+ /* 2nd byte: 121 */ 0x79cf,
+ /* 2nd byte: 122 */ 0x79d4,
+ /* 2nd byte: 123 */ 0x79d6,
+ /* 2nd byte: 124 */ 0x79da,
+ /* 2nd byte: 125 */ 0x79dd,
+ /* 2nd byte: 126 */ 0x79de},
+/* 1st byte: 81 */ {
+ /* 2nd byte: 33 */ 0x79e0,
+ /* 2nd byte: 34 */ 0x79e2,
+ /* 2nd byte: 35 */ 0x79e5,
+ /* 2nd byte: 36 */ 0x79ea,
+ /* 2nd byte: 37 */ 0x79eb,
+ /* 2nd byte: 38 */ 0x79ed,
+ /* 2nd byte: 39 */ 0x79f1,
+ /* 2nd byte: 40 */ 0x79f8,
+ /* 2nd byte: 41 */ 0x79fc,
+ /* 2nd byte: 42 */ 0x7a02,
+ /* 2nd byte: 43 */ 0x7a03,
+ /* 2nd byte: 44 */ 0x7a07,
+ /* 2nd byte: 45 */ 0x7a09,
+ /* 2nd byte: 46 */ 0x7a0a,
+ /* 2nd byte: 47 */ 0x7a0c,
+ /* 2nd byte: 48 */ 0x7a11,
+ /* 2nd byte: 49 */ 0x7a15,
+ /* 2nd byte: 50 */ 0x7a1b,
+ /* 2nd byte: 51 */ 0x7a1e,
+ /* 2nd byte: 52 */ 0x7a21,
+ /* 2nd byte: 53 */ 0x7a27,
+ /* 2nd byte: 54 */ 0x7a2b,
+ /* 2nd byte: 55 */ 0x7a2d,
+ /* 2nd byte: 56 */ 0x7a2f,
+ /* 2nd byte: 57 */ 0x7a30,
+ /* 2nd byte: 58 */ 0x7a34,
+ /* 2nd byte: 59 */ 0x7a35,
+ /* 2nd byte: 60 */ 0x7a38,
+ /* 2nd byte: 61 */ 0x7a39,
+ /* 2nd byte: 62 */ 0x7a3a,
+ /* 2nd byte: 63 */ 0x7a44,
+ /* 2nd byte: 64 */ 0x7a45,
+ /* 2nd byte: 65 */ 0x7a47,
+ /* 2nd byte: 66 */ 0x7a48,
+ /* 2nd byte: 67 */ 0x7a4c,
+ /* 2nd byte: 68 */ 0x7a55,
+ /* 2nd byte: 69 */ 0x7a56,
+ /* 2nd byte: 70 */ 0x7a59,
+ /* 2nd byte: 71 */ 0x7a5c,
+ /* 2nd byte: 72 */ 0x7a5d,
+ /* 2nd byte: 73 */ 0x7a5f,
+ /* 2nd byte: 74 */ 0x7a60,
+ /* 2nd byte: 75 */ 0x7a65,
+ /* 2nd byte: 76 */ 0x7a67,
+ /* 2nd byte: 77 */ 0x7a6a,
+ /* 2nd byte: 78 */ 0x7a6d,
+ /* 2nd byte: 79 */ 0x7a75,
+ /* 2nd byte: 80 */ 0x7a78,
+ /* 2nd byte: 81 */ 0x7a7e,
+ /* 2nd byte: 82 */ 0x7a80,
+ /* 2nd byte: 83 */ 0x7a82,
+ /* 2nd byte: 84 */ 0x7a85,
+ /* 2nd byte: 85 */ 0x7a86,
+ /* 2nd byte: 86 */ 0x7a8a,
+ /* 2nd byte: 87 */ 0x7a8b,
+ /* 2nd byte: 88 */ 0x7a90,
+ /* 2nd byte: 89 */ 0x7a91,
+ /* 2nd byte: 90 */ 0x7a94,
+ /* 2nd byte: 91 */ 0x7a9e,
+ /* 2nd byte: 92 */ 0x7aa0,
+ /* 2nd byte: 93 */ 0x7aa3,
+ /* 2nd byte: 94 */ 0x7aac,
+ /* 2nd byte: 95 */ 0x7ab3,
+ /* 2nd byte: 96 */ 0x7ab5,
+ /* 2nd byte: 97 */ 0x7ab9,
+ /* 2nd byte: 98 */ 0x7abb,
+ /* 2nd byte: 99 */ 0x7abc,
+ /* 2nd byte: 100 */ 0x7ac6,
+ /* 2nd byte: 101 */ 0x7ac9,
+ /* 2nd byte: 102 */ 0x7acc,
+ /* 2nd byte: 103 */ 0x7ace,
+ /* 2nd byte: 104 */ 0x7ad1,
+ /* 2nd byte: 105 */ 0x7adb,
+ /* 2nd byte: 106 */ 0x7ae8,
+ /* 2nd byte: 107 */ 0x7ae9,
+ /* 2nd byte: 108 */ 0x7aeb,
+ /* 2nd byte: 109 */ 0x7aec,
+ /* 2nd byte: 110 */ 0x7af1,
+ /* 2nd byte: 111 */ 0x7af4,
+ /* 2nd byte: 112 */ 0x7afb,
+ /* 2nd byte: 113 */ 0x7afd,
+ /* 2nd byte: 114 */ 0x7afe,
+ /* 2nd byte: 115 */ 0x7b07,
+ /* 2nd byte: 116 */ 0x7b14,
+ /* 2nd byte: 117 */ 0x7b1f,
+ /* 2nd byte: 118 */ 0x7b23,
+ /* 2nd byte: 119 */ 0x7b27,
+ /* 2nd byte: 120 */ 0x7b29,
+ /* 2nd byte: 121 */ 0x7b2a,
+ /* 2nd byte: 122 */ 0x7b2b,
+ /* 2nd byte: 123 */ 0x7b2d,
+ /* 2nd byte: 124 */ 0x7b2e,
+ /* 2nd byte: 125 */ 0x7b2f,
+ /* 2nd byte: 126 */ 0x7b30},
+/* 1st byte: 82 */ {
+ /* 2nd byte: 33 */ 0x7b31,
+ /* 2nd byte: 34 */ 0x7b34,
+ /* 2nd byte: 35 */ 0x7b3d,
+ /* 2nd byte: 36 */ 0x7b3f,
+ /* 2nd byte: 37 */ 0x7b40,
+ /* 2nd byte: 38 */ 0x7b41,
+ /* 2nd byte: 39 */ 0x7b47,
+ /* 2nd byte: 40 */ 0x7b4e,
+ /* 2nd byte: 41 */ 0x7b55,
+ /* 2nd byte: 42 */ 0x7b60,
+ /* 2nd byte: 43 */ 0x7b64,
+ /* 2nd byte: 44 */ 0x7b66,
+ /* 2nd byte: 45 */ 0x7b69,
+ /* 2nd byte: 46 */ 0x7b6a,
+ /* 2nd byte: 47 */ 0x7b6d,
+ /* 2nd byte: 48 */ 0x7b6f,
+ /* 2nd byte: 49 */ 0x7b72,
+ /* 2nd byte: 50 */ 0x7b73,
+ /* 2nd byte: 51 */ 0x7b77,
+ /* 2nd byte: 52 */ 0x7b84,
+ /* 2nd byte: 53 */ 0x7b89,
+ /* 2nd byte: 54 */ 0x7b8e,
+ /* 2nd byte: 55 */ 0x7b90,
+ /* 2nd byte: 56 */ 0x7b91,
+ /* 2nd byte: 57 */ 0x7b96,
+ /* 2nd byte: 58 */ 0x7b9b,
+ /* 2nd byte: 59 */ 0x7b9e,
+ /* 2nd byte: 60 */ 0x7ba0,
+ /* 2nd byte: 61 */ 0x7ba5,
+ /* 2nd byte: 62 */ 0x7bac,
+ /* 2nd byte: 63 */ 0x7baf,
+ /* 2nd byte: 64 */ 0x7bb0,
+ /* 2nd byte: 65 */ 0x7bb2,
+ /* 2nd byte: 66 */ 0x7bb5,
+ /* 2nd byte: 67 */ 0x7bb6,
+ /* 2nd byte: 68 */ 0x7bba,
+ /* 2nd byte: 69 */ 0x7bbb,
+ /* 2nd byte: 70 */ 0x7bbc,
+ /* 2nd byte: 71 */ 0x7bbd,
+ /* 2nd byte: 72 */ 0x7bc2,
+ /* 2nd byte: 73 */ 0x7bc5,
+ /* 2nd byte: 74 */ 0x7bc8,
+ /* 2nd byte: 75 */ 0x7bca,
+ /* 2nd byte: 76 */ 0x7bd4,
+ /* 2nd byte: 77 */ 0x7bd6,
+ /* 2nd byte: 78 */ 0x7bd7,
+ /* 2nd byte: 79 */ 0x7bd9,
+ /* 2nd byte: 80 */ 0x7bda,
+ /* 2nd byte: 81 */ 0x7bdb,
+ /* 2nd byte: 82 */ 0x7be8,
+ /* 2nd byte: 83 */ 0x7bea,
+ /* 2nd byte: 84 */ 0x7bf2,
+ /* 2nd byte: 85 */ 0x7bf4,
+ /* 2nd byte: 86 */ 0x7bf5,
+ /* 2nd byte: 87 */ 0x7bf8,
+ /* 2nd byte: 88 */ 0x7bf9,
+ /* 2nd byte: 89 */ 0x7bfa,
+ /* 2nd byte: 90 */ 0x7bfc,
+ /* 2nd byte: 91 */ 0x7bfe,
+ /* 2nd byte: 92 */ 0x7c01,
+ /* 2nd byte: 93 */ 0x7c02,
+ /* 2nd byte: 94 */ 0x7c03,
+ /* 2nd byte: 95 */ 0x7c04,
+ /* 2nd byte: 96 */ 0x7c06,
+ /* 2nd byte: 97 */ 0x7c09,
+ /* 2nd byte: 98 */ 0x7c0b,
+ /* 2nd byte: 99 */ 0x7c0c,
+ /* 2nd byte: 100 */ 0x7c0e,
+ /* 2nd byte: 101 */ 0x7c0f,
+ /* 2nd byte: 102 */ 0x7c19,
+ /* 2nd byte: 103 */ 0x7c1b,
+ /* 2nd byte: 104 */ 0x7c20,
+ /* 2nd byte: 105 */ 0x7c25,
+ /* 2nd byte: 106 */ 0x7c26,
+ /* 2nd byte: 107 */ 0x7c28,
+ /* 2nd byte: 108 */ 0x7c2c,
+ /* 2nd byte: 109 */ 0x7c31,
+ /* 2nd byte: 110 */ 0x7c33,
+ /* 2nd byte: 111 */ 0x7c34,
+ /* 2nd byte: 112 */ 0x7c36,
+ /* 2nd byte: 113 */ 0x7c39,
+ /* 2nd byte: 114 */ 0x7c3a,
+ /* 2nd byte: 115 */ 0x7c46,
+ /* 2nd byte: 116 */ 0x7c4a,
+ /* 2nd byte: 117 */ 0x7c55,
+ /* 2nd byte: 118 */ 0x7c51,
+ /* 2nd byte: 119 */ 0x7c52,
+ /* 2nd byte: 120 */ 0x7c53,
+ /* 2nd byte: 121 */ 0x7c59,
+ /* 2nd byte: 122 */ 0x7c5a,
+ /* 2nd byte: 123 */ 0x7c5b,
+ /* 2nd byte: 124 */ 0x7c5c,
+ /* 2nd byte: 125 */ 0x7c5d,
+ /* 2nd byte: 126 */ 0x7c5e},
+/* 1st byte: 83 */ {
+ /* 2nd byte: 33 */ 0x7c61,
+ /* 2nd byte: 34 */ 0x7c63,
+ /* 2nd byte: 35 */ 0x7c67,
+ /* 2nd byte: 36 */ 0x7c69,
+ /* 2nd byte: 37 */ 0x7c6d,
+ /* 2nd byte: 38 */ 0x7c6e,
+ /* 2nd byte: 39 */ 0x7c70,
+ /* 2nd byte: 40 */ 0x7c72,
+ /* 2nd byte: 41 */ 0x7c79,
+ /* 2nd byte: 42 */ 0x7c7c,
+ /* 2nd byte: 43 */ 0x7c7d,
+ /* 2nd byte: 44 */ 0x7c86,
+ /* 2nd byte: 45 */ 0x7c87,
+ /* 2nd byte: 46 */ 0x7c8f,
+ /* 2nd byte: 47 */ 0x7c94,
+ /* 2nd byte: 48 */ 0x7c9e,
+ /* 2nd byte: 49 */ 0x7ca0,
+ /* 2nd byte: 50 */ 0x7ca6,
+ /* 2nd byte: 51 */ 0x7cb0,
+ /* 2nd byte: 52 */ 0x7cb6,
+ /* 2nd byte: 53 */ 0x7cb7,
+ /* 2nd byte: 54 */ 0x7cba,
+ /* 2nd byte: 55 */ 0x7cbb,
+ /* 2nd byte: 56 */ 0x7cbc,
+ /* 2nd byte: 57 */ 0x7cbf,
+ /* 2nd byte: 58 */ 0x7cc4,
+ /* 2nd byte: 59 */ 0x7cc7,
+ /* 2nd byte: 60 */ 0x7cc8,
+ /* 2nd byte: 61 */ 0x7cc9,
+ /* 2nd byte: 62 */ 0x7ccd,
+ /* 2nd byte: 63 */ 0x7ccf,
+ /* 2nd byte: 64 */ 0x7cd3,
+ /* 2nd byte: 65 */ 0x7cd4,
+ /* 2nd byte: 66 */ 0x7cd5,
+ /* 2nd byte: 67 */ 0x7cd7,
+ /* 2nd byte: 68 */ 0x7cd9,
+ /* 2nd byte: 69 */ 0x7cda,
+ /* 2nd byte: 70 */ 0x7cdd,
+ /* 2nd byte: 71 */ 0x7ce6,
+ /* 2nd byte: 72 */ 0x7ce9,
+ /* 2nd byte: 73 */ 0x7ceb,
+ /* 2nd byte: 74 */ 0x7cf5,
+ /* 2nd byte: 75 */ 0x7d03,
+ /* 2nd byte: 76 */ 0x7d07,
+ /* 2nd byte: 77 */ 0x7d08,
+ /* 2nd byte: 78 */ 0x7d09,
+ /* 2nd byte: 79 */ 0x7d0f,
+ /* 2nd byte: 80 */ 0x7d11,
+ /* 2nd byte: 81 */ 0x7d12,
+ /* 2nd byte: 82 */ 0x7d13,
+ /* 2nd byte: 83 */ 0x7d16,
+ /* 2nd byte: 84 */ 0x7d1d,
+ /* 2nd byte: 85 */ 0x7d1e,
+ /* 2nd byte: 86 */ 0x7d23,
+ /* 2nd byte: 87 */ 0x7d26,
+ /* 2nd byte: 88 */ 0x7d2a,
+ /* 2nd byte: 89 */ 0x7d2d,
+ /* 2nd byte: 90 */ 0x7d31,
+ /* 2nd byte: 91 */ 0x7d3c,
+ /* 2nd byte: 92 */ 0x7d3d,
+ /* 2nd byte: 93 */ 0x7d3e,
+ /* 2nd byte: 94 */ 0x7d40,
+ /* 2nd byte: 95 */ 0x7d41,
+ /* 2nd byte: 96 */ 0x7d47,
+ /* 2nd byte: 97 */ 0x7d48,
+ /* 2nd byte: 98 */ 0x7d4d,
+ /* 2nd byte: 99 */ 0x7d51,
+ /* 2nd byte: 100 */ 0x7d53,
+ /* 2nd byte: 101 */ 0x7d57,
+ /* 2nd byte: 102 */ 0x7d59,
+ /* 2nd byte: 103 */ 0x7d5a,
+ /* 2nd byte: 104 */ 0x7d5c,
+ /* 2nd byte: 105 */ 0x7d5d,
+ /* 2nd byte: 106 */ 0x7d65,
+ /* 2nd byte: 107 */ 0x7d67,
+ /* 2nd byte: 108 */ 0x7d6a,
+ /* 2nd byte: 109 */ 0x7d70,
+ /* 2nd byte: 110 */ 0x7d78,
+ /* 2nd byte: 111 */ 0x7d7a,
+ /* 2nd byte: 112 */ 0x7d7b,
+ /* 2nd byte: 113 */ 0x7d7f,
+ /* 2nd byte: 114 */ 0x7d81,
+ /* 2nd byte: 115 */ 0x7d82,
+ /* 2nd byte: 116 */ 0x7d83,
+ /* 2nd byte: 117 */ 0x7d85,
+ /* 2nd byte: 118 */ 0x7d86,
+ /* 2nd byte: 119 */ 0x7d88,
+ /* 2nd byte: 120 */ 0x7d8b,
+ /* 2nd byte: 121 */ 0x7d8c,
+ /* 2nd byte: 122 */ 0x7d8d,
+ /* 2nd byte: 123 */ 0x7d91,
+ /* 2nd byte: 124 */ 0x7d96,
+ /* 2nd byte: 125 */ 0x7d97,
+ /* 2nd byte: 126 */ 0x7d9d},
+/* 1st byte: 84 */ {
+ /* 2nd byte: 33 */ 0x7d9e,
+ /* 2nd byte: 34 */ 0x7da6,
+ /* 2nd byte: 35 */ 0x7da7,
+ /* 2nd byte: 36 */ 0x7daa,
+ /* 2nd byte: 37 */ 0x7db3,
+ /* 2nd byte: 38 */ 0x7db6,
+ /* 2nd byte: 39 */ 0x7db7,
+ /* 2nd byte: 40 */ 0x7db9,
+ /* 2nd byte: 41 */ 0x7dc2,
+ /* 2nd byte: 42 */ 0x7dc3,
+ /* 2nd byte: 43 */ 0x7dc4,
+ /* 2nd byte: 44 */ 0x7dc5,
+ /* 2nd byte: 45 */ 0x7dc6,
+ /* 2nd byte: 46 */ 0x7dcc,
+ /* 2nd byte: 47 */ 0x7dcd,
+ /* 2nd byte: 48 */ 0x7dce,
+ /* 2nd byte: 49 */ 0x7dd7,
+ /* 2nd byte: 50 */ 0x7dd9,
+ /* 2nd byte: 51 */ 0x7e00,
+ /* 2nd byte: 52 */ 0x7de2,
+ /* 2nd byte: 53 */ 0x7de5,
+ /* 2nd byte: 54 */ 0x7de6,
+ /* 2nd byte: 55 */ 0x7dea,
+ /* 2nd byte: 56 */ 0x7deb,
+ /* 2nd byte: 57 */ 0x7ded,
+ /* 2nd byte: 58 */ 0x7df1,
+ /* 2nd byte: 59 */ 0x7df5,
+ /* 2nd byte: 60 */ 0x7df6,
+ /* 2nd byte: 61 */ 0x7df9,
+ /* 2nd byte: 62 */ 0x7dfa,
+ /* 2nd byte: 63 */ 0x7e08,
+ /* 2nd byte: 64 */ 0x7e10,
+ /* 2nd byte: 65 */ 0x7e11,
+ /* 2nd byte: 66 */ 0x7e15,
+ /* 2nd byte: 67 */ 0x7e17,
+ /* 2nd byte: 68 */ 0x7e1c,
+ /* 2nd byte: 69 */ 0x7e1d,
+ /* 2nd byte: 70 */ 0x7e20,
+ /* 2nd byte: 71 */ 0x7e27,
+ /* 2nd byte: 72 */ 0x7e28,
+ /* 2nd byte: 73 */ 0x7e2c,
+ /* 2nd byte: 74 */ 0x7e2d,
+ /* 2nd byte: 75 */ 0x7e2f,
+ /* 2nd byte: 76 */ 0x7e33,
+ /* 2nd byte: 77 */ 0x7e36,
+ /* 2nd byte: 78 */ 0x7e3f,
+ /* 2nd byte: 79 */ 0x7e44,
+ /* 2nd byte: 80 */ 0x7e45,
+ /* 2nd byte: 81 */ 0x7e47,
+ /* 2nd byte: 82 */ 0x7e4e,
+ /* 2nd byte: 83 */ 0x7e50,
+ /* 2nd byte: 84 */ 0x7e52,
+ /* 2nd byte: 85 */ 0x7e58,
+ /* 2nd byte: 86 */ 0x7e5f,
+ /* 2nd byte: 87 */ 0x7e61,
+ /* 2nd byte: 88 */ 0x7e62,
+ /* 2nd byte: 89 */ 0x7e65,
+ /* 2nd byte: 90 */ 0x7e6b,
+ /* 2nd byte: 91 */ 0x7e6e,
+ /* 2nd byte: 92 */ 0x7e6f,
+ /* 2nd byte: 93 */ 0x7e73,
+ /* 2nd byte: 94 */ 0x7e78,
+ /* 2nd byte: 95 */ 0x7e7e,
+ /* 2nd byte: 96 */ 0x7e81,
+ /* 2nd byte: 97 */ 0x7e86,
+ /* 2nd byte: 98 */ 0x7e87,
+ /* 2nd byte: 99 */ 0x7e8a,
+ /* 2nd byte: 100 */ 0x7e8d,
+ /* 2nd byte: 101 */ 0x7e91,
+ /* 2nd byte: 102 */ 0x7e95,
+ /* 2nd byte: 103 */ 0x7e98,
+ /* 2nd byte: 104 */ 0x7e9a,
+ /* 2nd byte: 105 */ 0x7e9d,
+ /* 2nd byte: 106 */ 0x7e9e,
+ /* 2nd byte: 107 */ 0x7f3c,
+ /* 2nd byte: 108 */ 0x7f3b,
+ /* 2nd byte: 109 */ 0x7f3d,
+ /* 2nd byte: 110 */ 0x7f3e,
+ /* 2nd byte: 111 */ 0x7f3f,
+ /* 2nd byte: 112 */ 0x7f43,
+ /* 2nd byte: 113 */ 0x7f44,
+ /* 2nd byte: 114 */ 0x7f47,
+ /* 2nd byte: 115 */ 0x7f4f,
+ /* 2nd byte: 116 */ 0x7f52,
+ /* 2nd byte: 117 */ 0x7f53,
+ /* 2nd byte: 118 */ 0x7f5b,
+ /* 2nd byte: 119 */ 0x7f5c,
+ /* 2nd byte: 120 */ 0x7f5d,
+ /* 2nd byte: 121 */ 0x7f61,
+ /* 2nd byte: 122 */ 0x7f63,
+ /* 2nd byte: 123 */ 0x7f64,
+ /* 2nd byte: 124 */ 0x7f65,
+ /* 2nd byte: 125 */ 0x7f66,
+ /* 2nd byte: 126 */ 0x7f6d},
+/* 1st byte: 85 */ {
+ /* 2nd byte: 33 */ 0x7f71,
+ /* 2nd byte: 34 */ 0x7f7d,
+ /* 2nd byte: 35 */ 0x7f7e,
+ /* 2nd byte: 36 */ 0x7f7f,
+ /* 2nd byte: 37 */ 0x7f80,
+ /* 2nd byte: 38 */ 0x7f8b,
+ /* 2nd byte: 39 */ 0x7f8d,
+ /* 2nd byte: 40 */ 0x7f8f,
+ /* 2nd byte: 41 */ 0x7f90,
+ /* 2nd byte: 42 */ 0x7f91,
+ /* 2nd byte: 43 */ 0x7f96,
+ /* 2nd byte: 44 */ 0x7f97,
+ /* 2nd byte: 45 */ 0x7f9c,
+ /* 2nd byte: 46 */ 0x7fa1,
+ /* 2nd byte: 47 */ 0x7fa2,
+ /* 2nd byte: 48 */ 0x7fa6,
+ /* 2nd byte: 49 */ 0x7faa,
+ /* 2nd byte: 50 */ 0x7fad,
+ /* 2nd byte: 51 */ 0x7fb4,
+ /* 2nd byte: 52 */ 0x7fbc,
+ /* 2nd byte: 53 */ 0x7fbf,
+ /* 2nd byte: 54 */ 0x7fc0,
+ /* 2nd byte: 55 */ 0x7fc3,
+ /* 2nd byte: 56 */ 0x7fc8,
+ /* 2nd byte: 57 */ 0x7fce,
+ /* 2nd byte: 58 */ 0x7fcf,
+ /* 2nd byte: 59 */ 0x7fdb,
+ /* 2nd byte: 60 */ 0x7fdf,
+ /* 2nd byte: 61 */ 0x7fe3,
+ /* 2nd byte: 62 */ 0x7fe5,
+ /* 2nd byte: 63 */ 0x7fe8,
+ /* 2nd byte: 64 */ 0x7fec,
+ /* 2nd byte: 65 */ 0x7fee,
+ /* 2nd byte: 66 */ 0x7fef,
+ /* 2nd byte: 67 */ 0x7ff2,
+ /* 2nd byte: 68 */ 0x7ffa,
+ /* 2nd byte: 69 */ 0x7ffd,
+ /* 2nd byte: 70 */ 0x7ffe,
+ /* 2nd byte: 71 */ 0x7fff,
+ /* 2nd byte: 72 */ 0x8007,
+ /* 2nd byte: 73 */ 0x8008,
+ /* 2nd byte: 74 */ 0x800a,
+ /* 2nd byte: 75 */ 0x800d,
+ /* 2nd byte: 76 */ 0x800e,
+ /* 2nd byte: 77 */ 0x800f,
+ /* 2nd byte: 78 */ 0x8011,
+ /* 2nd byte: 79 */ 0x8013,
+ /* 2nd byte: 80 */ 0x8014,
+ /* 2nd byte: 81 */ 0x8016,
+ /* 2nd byte: 82 */ 0x801d,
+ /* 2nd byte: 83 */ 0x801e,
+ /* 2nd byte: 84 */ 0x801f,
+ /* 2nd byte: 85 */ 0x8020,
+ /* 2nd byte: 86 */ 0x8024,
+ /* 2nd byte: 87 */ 0x8026,
+ /* 2nd byte: 88 */ 0x802c,
+ /* 2nd byte: 89 */ 0x802e,
+ /* 2nd byte: 90 */ 0x8030,
+ /* 2nd byte: 91 */ 0x8034,
+ /* 2nd byte: 92 */ 0x8035,
+ /* 2nd byte: 93 */ 0x8037,
+ /* 2nd byte: 94 */ 0x8039,
+ /* 2nd byte: 95 */ 0x803a,
+ /* 2nd byte: 96 */ 0x803c,
+ /* 2nd byte: 97 */ 0x803e,
+ /* 2nd byte: 98 */ 0x8040,
+ /* 2nd byte: 99 */ 0x8044,
+ /* 2nd byte: 100 */ 0x8060,
+ /* 2nd byte: 101 */ 0x8064,
+ /* 2nd byte: 102 */ 0x8066,
+ /* 2nd byte: 103 */ 0x806d,
+ /* 2nd byte: 104 */ 0x8071,
+ /* 2nd byte: 105 */ 0x8075,
+ /* 2nd byte: 106 */ 0x8081,
+ /* 2nd byte: 107 */ 0x8088,
+ /* 2nd byte: 108 */ 0x808e,
+ /* 2nd byte: 109 */ 0x809c,
+ /* 2nd byte: 110 */ 0x809e,
+ /* 2nd byte: 111 */ 0x80a6,
+ /* 2nd byte: 112 */ 0x80a7,
+ /* 2nd byte: 113 */ 0x80ab,
+ /* 2nd byte: 114 */ 0x80b8,
+ /* 2nd byte: 115 */ 0x80b9,
+ /* 2nd byte: 116 */ 0x80c8,
+ /* 2nd byte: 117 */ 0x80cd,
+ /* 2nd byte: 118 */ 0x80cf,
+ /* 2nd byte: 119 */ 0x80d2,
+ /* 2nd byte: 120 */ 0x80d4,
+ /* 2nd byte: 121 */ 0x80d5,
+ /* 2nd byte: 122 */ 0x80d7,
+ /* 2nd byte: 123 */ 0x80d8,
+ /* 2nd byte: 124 */ 0x80e0,
+ /* 2nd byte: 125 */ 0x80ed,
+ /* 2nd byte: 126 */ 0x80ee},
+/* 1st byte: 86 */ {
+ /* 2nd byte: 33 */ 0x80f0,
+ /* 2nd byte: 34 */ 0x80f2,
+ /* 2nd byte: 35 */ 0x80f3,
+ /* 2nd byte: 36 */ 0x80f6,
+ /* 2nd byte: 37 */ 0x80f9,
+ /* 2nd byte: 38 */ 0x80fa,
+ /* 2nd byte: 39 */ 0x80fe,
+ /* 2nd byte: 40 */ 0x8103,
+ /* 2nd byte: 41 */ 0x810b,
+ /* 2nd byte: 42 */ 0x8116,
+ /* 2nd byte: 43 */ 0x8117,
+ /* 2nd byte: 44 */ 0x8118,
+ /* 2nd byte: 45 */ 0x811c,
+ /* 2nd byte: 46 */ 0x811e,
+ /* 2nd byte: 47 */ 0x8120,
+ /* 2nd byte: 48 */ 0x8124,
+ /* 2nd byte: 49 */ 0x8127,
+ /* 2nd byte: 50 */ 0x812c,
+ /* 2nd byte: 51 */ 0x8130,
+ /* 2nd byte: 52 */ 0x8135,
+ /* 2nd byte: 53 */ 0x813a,
+ /* 2nd byte: 54 */ 0x813c,
+ /* 2nd byte: 55 */ 0x8145,
+ /* 2nd byte: 56 */ 0x8147,
+ /* 2nd byte: 57 */ 0x814a,
+ /* 2nd byte: 58 */ 0x814c,
+ /* 2nd byte: 59 */ 0x8152,
+ /* 2nd byte: 60 */ 0x8157,
+ /* 2nd byte: 61 */ 0x8160,
+ /* 2nd byte: 62 */ 0x8161,
+ /* 2nd byte: 63 */ 0x8167,
+ /* 2nd byte: 64 */ 0x8168,
+ /* 2nd byte: 65 */ 0x8169,
+ /* 2nd byte: 66 */ 0x816d,
+ /* 2nd byte: 67 */ 0x816f,
+ /* 2nd byte: 68 */ 0x8177,
+ /* 2nd byte: 69 */ 0x8181,
+ /* 2nd byte: 70 */ 0x8190,
+ /* 2nd byte: 71 */ 0x8184,
+ /* 2nd byte: 72 */ 0x8185,
+ /* 2nd byte: 73 */ 0x8186,
+ /* 2nd byte: 74 */ 0x818b,
+ /* 2nd byte: 75 */ 0x818e,
+ /* 2nd byte: 76 */ 0x8196,
+ /* 2nd byte: 77 */ 0x8198,
+ /* 2nd byte: 78 */ 0x819b,
+ /* 2nd byte: 79 */ 0x819e,
+ /* 2nd byte: 80 */ 0x81a2,
+ /* 2nd byte: 81 */ 0x81ae,
+ /* 2nd byte: 82 */ 0x81b2,
+ /* 2nd byte: 83 */ 0x81b4,
+ /* 2nd byte: 84 */ 0x81bb,
+ /* 2nd byte: 85 */ 0x81cb,
+ /* 2nd byte: 86 */ 0x81c3,
+ /* 2nd byte: 87 */ 0x81c5,
+ /* 2nd byte: 88 */ 0x81ca,
+ /* 2nd byte: 89 */ 0x81ce,
+ /* 2nd byte: 90 */ 0x81cf,
+ /* 2nd byte: 91 */ 0x81d5,
+ /* 2nd byte: 92 */ 0x81d7,
+ /* 2nd byte: 93 */ 0x81db,
+ /* 2nd byte: 94 */ 0x81dd,
+ /* 2nd byte: 95 */ 0x81de,
+ /* 2nd byte: 96 */ 0x81e1,
+ /* 2nd byte: 97 */ 0x81e4,
+ /* 2nd byte: 98 */ 0x81eb,
+ /* 2nd byte: 99 */ 0x81ec,
+ /* 2nd byte: 100 */ 0x81f0,
+ /* 2nd byte: 101 */ 0x81f1,
+ /* 2nd byte: 102 */ 0x81f2,
+ /* 2nd byte: 103 */ 0x81f5,
+ /* 2nd byte: 104 */ 0x81f6,
+ /* 2nd byte: 105 */ 0x81f8,
+ /* 2nd byte: 106 */ 0x81f9,
+ /* 2nd byte: 107 */ 0x81fd,
+ /* 2nd byte: 108 */ 0x81ff,
+ /* 2nd byte: 109 */ 0x8200,
+ /* 2nd byte: 110 */ 0x8203,
+ /* 2nd byte: 111 */ 0x820f,
+ /* 2nd byte: 112 */ 0x8213,
+ /* 2nd byte: 113 */ 0x8214,
+ /* 2nd byte: 114 */ 0x8219,
+ /* 2nd byte: 115 */ 0x821a,
+ /* 2nd byte: 116 */ 0x821d,
+ /* 2nd byte: 117 */ 0x8221,
+ /* 2nd byte: 118 */ 0x8222,
+ /* 2nd byte: 119 */ 0x8228,
+ /* 2nd byte: 120 */ 0x8232,
+ /* 2nd byte: 121 */ 0x8234,
+ /* 2nd byte: 122 */ 0x823a,
+ /* 2nd byte: 123 */ 0x8243,
+ /* 2nd byte: 124 */ 0x8244,
+ /* 2nd byte: 125 */ 0x8245,
+ /* 2nd byte: 126 */ 0x8246},
+/* 1st byte: 87 */ {
+ /* 2nd byte: 33 */ 0x824b,
+ /* 2nd byte: 34 */ 0x824e,
+ /* 2nd byte: 35 */ 0x824f,
+ /* 2nd byte: 36 */ 0x8251,
+ /* 2nd byte: 37 */ 0x8256,
+ /* 2nd byte: 38 */ 0x825c,
+ /* 2nd byte: 39 */ 0x8260,
+ /* 2nd byte: 40 */ 0x8263,
+ /* 2nd byte: 41 */ 0x8267,
+ /* 2nd byte: 42 */ 0x826d,
+ /* 2nd byte: 43 */ 0x8274,
+ /* 2nd byte: 44 */ 0x827b,
+ /* 2nd byte: 45 */ 0x827d,
+ /* 2nd byte: 46 */ 0x827f,
+ /* 2nd byte: 47 */ 0x8280,
+ /* 2nd byte: 48 */ 0x8281,
+ /* 2nd byte: 49 */ 0x8283,
+ /* 2nd byte: 50 */ 0x8284,
+ /* 2nd byte: 51 */ 0x8287,
+ /* 2nd byte: 52 */ 0x8289,
+ /* 2nd byte: 53 */ 0x828a,
+ /* 2nd byte: 54 */ 0x828e,
+ /* 2nd byte: 55 */ 0x8291,
+ /* 2nd byte: 56 */ 0x8294,
+ /* 2nd byte: 57 */ 0x8296,
+ /* 2nd byte: 58 */ 0x8298,
+ /* 2nd byte: 59 */ 0x829a,
+ /* 2nd byte: 60 */ 0x829b,
+ /* 2nd byte: 61 */ 0x82a0,
+ /* 2nd byte: 62 */ 0x82a1,
+ /* 2nd byte: 63 */ 0x82a3,
+ /* 2nd byte: 64 */ 0x82a4,
+ /* 2nd byte: 65 */ 0x82a7,
+ /* 2nd byte: 66 */ 0x82a8,
+ /* 2nd byte: 67 */ 0x82a9,
+ /* 2nd byte: 68 */ 0x82aa,
+ /* 2nd byte: 69 */ 0x82ae,
+ /* 2nd byte: 70 */ 0x82b0,
+ /* 2nd byte: 71 */ 0x82b2,
+ /* 2nd byte: 72 */ 0x82b4,
+ /* 2nd byte: 73 */ 0x82b7,
+ /* 2nd byte: 74 */ 0x82ba,
+ /* 2nd byte: 75 */ 0x82bc,
+ /* 2nd byte: 76 */ 0x82be,
+ /* 2nd byte: 77 */ 0x82bf,
+ /* 2nd byte: 78 */ 0x82c6,
+ /* 2nd byte: 79 */ 0x82d0,
+ /* 2nd byte: 80 */ 0x82d5,
+ /* 2nd byte: 81 */ 0x82da,
+ /* 2nd byte: 82 */ 0x82e0,
+ /* 2nd byte: 83 */ 0x82e2,
+ /* 2nd byte: 84 */ 0x82e4,
+ /* 2nd byte: 85 */ 0x82e8,
+ /* 2nd byte: 86 */ 0x82ea,
+ /* 2nd byte: 87 */ 0x82ed,
+ /* 2nd byte: 88 */ 0x82ef,
+ /* 2nd byte: 89 */ 0x82f6,
+ /* 2nd byte: 90 */ 0x82f7,
+ /* 2nd byte: 91 */ 0x82fd,
+ /* 2nd byte: 92 */ 0x82fe,
+ /* 2nd byte: 93 */ 0x8300,
+ /* 2nd byte: 94 */ 0x8301,
+ /* 2nd byte: 95 */ 0x8307,
+ /* 2nd byte: 96 */ 0x8308,
+ /* 2nd byte: 97 */ 0x830a,
+ /* 2nd byte: 98 */ 0x830b,
+ /* 2nd byte: 99 */ 0x8354,
+ /* 2nd byte: 100 */ 0x831b,
+ /* 2nd byte: 101 */ 0x831d,
+ /* 2nd byte: 102 */ 0x831e,
+ /* 2nd byte: 103 */ 0x831f,
+ /* 2nd byte: 104 */ 0x8321,
+ /* 2nd byte: 105 */ 0x8322,
+ /* 2nd byte: 106 */ 0x832c,
+ /* 2nd byte: 107 */ 0x832d,
+ /* 2nd byte: 108 */ 0x832e,
+ /* 2nd byte: 109 */ 0x8330,
+ /* 2nd byte: 110 */ 0x8333,
+ /* 2nd byte: 111 */ 0x8337,
+ /* 2nd byte: 112 */ 0x833a,
+ /* 2nd byte: 113 */ 0x833c,
+ /* 2nd byte: 114 */ 0x833d,
+ /* 2nd byte: 115 */ 0x8342,
+ /* 2nd byte: 116 */ 0x8343,
+ /* 2nd byte: 117 */ 0x8344,
+ /* 2nd byte: 118 */ 0x8347,
+ /* 2nd byte: 119 */ 0x834d,
+ /* 2nd byte: 120 */ 0x834e,
+ /* 2nd byte: 121 */ 0x8351,
+ /* 2nd byte: 122 */ 0x8355,
+ /* 2nd byte: 123 */ 0x8356,
+ /* 2nd byte: 124 */ 0x8357,
+ /* 2nd byte: 125 */ 0x8370,
+ /* 2nd byte: 126 */ 0x8378},
+/* 1st byte: 88 */ {
+ /* 2nd byte: 33 */ 0x837d,
+ /* 2nd byte: 34 */ 0x837f,
+ /* 2nd byte: 35 */ 0x8380,
+ /* 2nd byte: 36 */ 0x8382,
+ /* 2nd byte: 37 */ 0x8384,
+ /* 2nd byte: 38 */ 0x8386,
+ /* 2nd byte: 39 */ 0x838d,
+ /* 2nd byte: 40 */ 0x8392,
+ /* 2nd byte: 41 */ 0x8394,
+ /* 2nd byte: 42 */ 0x8395,
+ /* 2nd byte: 43 */ 0x8398,
+ /* 2nd byte: 44 */ 0x8399,
+ /* 2nd byte: 45 */ 0x839b,
+ /* 2nd byte: 46 */ 0x839c,
+ /* 2nd byte: 47 */ 0x839d,
+ /* 2nd byte: 48 */ 0x83a6,
+ /* 2nd byte: 49 */ 0x83a7,
+ /* 2nd byte: 50 */ 0x83a9,
+ /* 2nd byte: 51 */ 0x83ac,
+ /* 2nd byte: 52 */ 0x83be,
+ /* 2nd byte: 53 */ 0x83bf,
+ /* 2nd byte: 54 */ 0x83c0,
+ /* 2nd byte: 55 */ 0x83c7,
+ /* 2nd byte: 56 */ 0x83c9,
+ /* 2nd byte: 57 */ 0x83cf,
+ /* 2nd byte: 58 */ 0x83d0,
+ /* 2nd byte: 59 */ 0x83d1,
+ /* 2nd byte: 60 */ 0x83d4,
+ /* 2nd byte: 61 */ 0x83dd,
+ /* 2nd byte: 62 */ 0x8353,
+ /* 2nd byte: 63 */ 0x83e8,
+ /* 2nd byte: 64 */ 0x83ea,
+ /* 2nd byte: 65 */ 0x83f6,
+ /* 2nd byte: 66 */ 0x83f8,
+ /* 2nd byte: 67 */ 0x83f9,
+ /* 2nd byte: 68 */ 0x83fc,
+ /* 2nd byte: 69 */ 0x8401,
+ /* 2nd byte: 70 */ 0x8406,
+ /* 2nd byte: 71 */ 0x840a,
+ /* 2nd byte: 72 */ 0x840f,
+ /* 2nd byte: 73 */ 0x8411,
+ /* 2nd byte: 74 */ 0x8415,
+ /* 2nd byte: 75 */ 0x8419,
+ /* 2nd byte: 76 */ 0x83ad,
+ /* 2nd byte: 77 */ 0x842f,
+ /* 2nd byte: 78 */ 0x8439,
+ /* 2nd byte: 79 */ 0x8445,
+ /* 2nd byte: 80 */ 0x8447,
+ /* 2nd byte: 81 */ 0x8448,
+ /* 2nd byte: 82 */ 0x844a,
+ /* 2nd byte: 83 */ 0x844d,
+ /* 2nd byte: 84 */ 0x844f,
+ /* 2nd byte: 85 */ 0x8451,
+ /* 2nd byte: 86 */ 0x8452,
+ /* 2nd byte: 87 */ 0x8456,
+ /* 2nd byte: 88 */ 0x8458,
+ /* 2nd byte: 89 */ 0x8459,
+ /* 2nd byte: 90 */ 0x845a,
+ /* 2nd byte: 91 */ 0x845c,
+ /* 2nd byte: 92 */ 0x8460,
+ /* 2nd byte: 93 */ 0x8464,
+ /* 2nd byte: 94 */ 0x8465,
+ /* 2nd byte: 95 */ 0x8467,
+ /* 2nd byte: 96 */ 0x846a,
+ /* 2nd byte: 97 */ 0x8470,
+ /* 2nd byte: 98 */ 0x8473,
+ /* 2nd byte: 99 */ 0x8474,
+ /* 2nd byte: 100 */ 0x8476,
+ /* 2nd byte: 101 */ 0x8478,
+ /* 2nd byte: 102 */ 0x847c,
+ /* 2nd byte: 103 */ 0x847d,
+ /* 2nd byte: 104 */ 0x8481,
+ /* 2nd byte: 105 */ 0x8485,
+ /* 2nd byte: 106 */ 0x8492,
+ /* 2nd byte: 107 */ 0x8493,
+ /* 2nd byte: 108 */ 0x8495,
+ /* 2nd byte: 109 */ 0x849e,
+ /* 2nd byte: 110 */ 0x84a6,
+ /* 2nd byte: 111 */ 0x84a8,
+ /* 2nd byte: 112 */ 0x84a9,
+ /* 2nd byte: 113 */ 0x84aa,
+ /* 2nd byte: 114 */ 0x84af,
+ /* 2nd byte: 115 */ 0x84b1,
+ /* 2nd byte: 116 */ 0x84b4,
+ /* 2nd byte: 117 */ 0x84ba,
+ /* 2nd byte: 118 */ 0x84bd,
+ /* 2nd byte: 119 */ 0x84be,
+ /* 2nd byte: 120 */ 0x84c0,
+ /* 2nd byte: 121 */ 0x84c2,
+ /* 2nd byte: 122 */ 0x84c7,
+ /* 2nd byte: 123 */ 0x84c8,
+ /* 2nd byte: 124 */ 0x84cc,
+ /* 2nd byte: 125 */ 0x84cf,
+ /* 2nd byte: 126 */ 0x84d3},
+/* 1st byte: 89 */ {
+ /* 2nd byte: 33 */ 0x84dc,
+ /* 2nd byte: 34 */ 0x84e7,
+ /* 2nd byte: 35 */ 0x84ea,
+ /* 2nd byte: 36 */ 0x84ef,
+ /* 2nd byte: 37 */ 0x84f0,
+ /* 2nd byte: 38 */ 0x84f1,
+ /* 2nd byte: 39 */ 0x84f2,
+ /* 2nd byte: 40 */ 0x84f7,
+ /* 2nd byte: 41 */ 0x8532,
+ /* 2nd byte: 42 */ 0x84fa,
+ /* 2nd byte: 43 */ 0x84fb,
+ /* 2nd byte: 44 */ 0x84fd,
+ /* 2nd byte: 45 */ 0x8502,
+ /* 2nd byte: 46 */ 0x8503,
+ /* 2nd byte: 47 */ 0x8507,
+ /* 2nd byte: 48 */ 0x850c,
+ /* 2nd byte: 49 */ 0x850e,
+ /* 2nd byte: 50 */ 0x8510,
+ /* 2nd byte: 51 */ 0x851c,
+ /* 2nd byte: 52 */ 0x851e,
+ /* 2nd byte: 53 */ 0x8522,
+ /* 2nd byte: 54 */ 0x8523,
+ /* 2nd byte: 55 */ 0x8524,
+ /* 2nd byte: 56 */ 0x8525,
+ /* 2nd byte: 57 */ 0x8527,
+ /* 2nd byte: 58 */ 0x852a,
+ /* 2nd byte: 59 */ 0x852b,
+ /* 2nd byte: 60 */ 0x852f,
+ /* 2nd byte: 61 */ 0x8533,
+ /* 2nd byte: 62 */ 0x8534,
+ /* 2nd byte: 63 */ 0x8536,
+ /* 2nd byte: 64 */ 0x853f,
+ /* 2nd byte: 65 */ 0x8546,
+ /* 2nd byte: 66 */ 0x854f,
+ /* 2nd byte: 67 */ 0x8550,
+ /* 2nd byte: 68 */ 0x8551,
+ /* 2nd byte: 69 */ 0x8552,
+ /* 2nd byte: 70 */ 0x8553,
+ /* 2nd byte: 71 */ 0x8556,
+ /* 2nd byte: 72 */ 0x8559,
+ /* 2nd byte: 73 */ 0x855c,
+ /* 2nd byte: 74 */ 0x855d,
+ /* 2nd byte: 75 */ 0x855e,
+ /* 2nd byte: 76 */ 0x855f,
+ /* 2nd byte: 77 */ 0x8560,
+ /* 2nd byte: 78 */ 0x8561,
+ /* 2nd byte: 79 */ 0x8562,
+ /* 2nd byte: 80 */ 0x8564,
+ /* 2nd byte: 81 */ 0x856b,
+ /* 2nd byte: 82 */ 0x856f,
+ /* 2nd byte: 83 */ 0x8579,
+ /* 2nd byte: 84 */ 0x857a,
+ /* 2nd byte: 85 */ 0x857b,
+ /* 2nd byte: 86 */ 0x857d,
+ /* 2nd byte: 87 */ 0x857f,
+ /* 2nd byte: 88 */ 0x8581,
+ /* 2nd byte: 89 */ 0x8585,
+ /* 2nd byte: 90 */ 0x8586,
+ /* 2nd byte: 91 */ 0x8589,
+ /* 2nd byte: 92 */ 0x858b,
+ /* 2nd byte: 93 */ 0x858c,
+ /* 2nd byte: 94 */ 0x858f,
+ /* 2nd byte: 95 */ 0x8593,
+ /* 2nd byte: 96 */ 0x8598,
+ /* 2nd byte: 97 */ 0x859d,
+ /* 2nd byte: 98 */ 0x859f,
+ /* 2nd byte: 99 */ 0x85a0,
+ /* 2nd byte: 100 */ 0x85a2,
+ /* 2nd byte: 101 */ 0x85a5,
+ /* 2nd byte: 102 */ 0x85a7,
+ /* 2nd byte: 103 */ 0x85b4,
+ /* 2nd byte: 104 */ 0x85b6,
+ /* 2nd byte: 105 */ 0x85b7,
+ /* 2nd byte: 106 */ 0x85b8,
+ /* 2nd byte: 107 */ 0x85bc,
+ /* 2nd byte: 108 */ 0x85bd,
+ /* 2nd byte: 109 */ 0x85be,
+ /* 2nd byte: 110 */ 0x85bf,
+ /* 2nd byte: 111 */ 0x85c2,
+ /* 2nd byte: 112 */ 0x85c7,
+ /* 2nd byte: 113 */ 0x85ca,
+ /* 2nd byte: 114 */ 0x85cb,
+ /* 2nd byte: 115 */ 0x85ce,
+ /* 2nd byte: 116 */ 0x85ad,
+ /* 2nd byte: 117 */ 0x85d8,
+ /* 2nd byte: 118 */ 0x85da,
+ /* 2nd byte: 119 */ 0x85df,
+ /* 2nd byte: 120 */ 0x85e0,
+ /* 2nd byte: 121 */ 0x85e6,
+ /* 2nd byte: 122 */ 0x85e8,
+ /* 2nd byte: 123 */ 0x85ed,
+ /* 2nd byte: 124 */ 0x85f3,
+ /* 2nd byte: 125 */ 0x85f6,
+ /* 2nd byte: 126 */ 0x85fc},
+/* 1st byte: 90 */ {
+ /* 2nd byte: 33 */ 0x85ff,
+ /* 2nd byte: 34 */ 0x8600,
+ /* 2nd byte: 35 */ 0x8604,
+ /* 2nd byte: 36 */ 0x8605,
+ /* 2nd byte: 37 */ 0x860d,
+ /* 2nd byte: 38 */ 0x860e,
+ /* 2nd byte: 39 */ 0x8610,
+ /* 2nd byte: 40 */ 0x8611,
+ /* 2nd byte: 41 */ 0x8612,
+ /* 2nd byte: 42 */ 0x8618,
+ /* 2nd byte: 43 */ 0x8619,
+ /* 2nd byte: 44 */ 0x861b,
+ /* 2nd byte: 45 */ 0x861e,
+ /* 2nd byte: 46 */ 0x8621,
+ /* 2nd byte: 47 */ 0x8627,
+ /* 2nd byte: 48 */ 0x8629,
+ /* 2nd byte: 49 */ 0x8636,
+ /* 2nd byte: 50 */ 0x8638,
+ /* 2nd byte: 51 */ 0x863a,
+ /* 2nd byte: 52 */ 0x863c,
+ /* 2nd byte: 53 */ 0x863d,
+ /* 2nd byte: 54 */ 0x8640,
+ /* 2nd byte: 55 */ 0x8642,
+ /* 2nd byte: 56 */ 0x8646,
+ /* 2nd byte: 57 */ 0x8652,
+ /* 2nd byte: 58 */ 0x8653,
+ /* 2nd byte: 59 */ 0x8656,
+ /* 2nd byte: 60 */ 0x8657,
+ /* 2nd byte: 61 */ 0x8658,
+ /* 2nd byte: 62 */ 0x8659,
+ /* 2nd byte: 63 */ 0x865d,
+ /* 2nd byte: 64 */ 0x8660,
+ /* 2nd byte: 65 */ 0x8661,
+ /* 2nd byte: 66 */ 0x8662,
+ /* 2nd byte: 67 */ 0x8663,
+ /* 2nd byte: 68 */ 0x8664,
+ /* 2nd byte: 69 */ 0x8669,
+ /* 2nd byte: 70 */ 0x866c,
+ /* 2nd byte: 71 */ 0x866f,
+ /* 2nd byte: 72 */ 0x8675,
+ /* 2nd byte: 73 */ 0x8676,
+ /* 2nd byte: 74 */ 0x8677,
+ /* 2nd byte: 75 */ 0x867a,
+ /* 2nd byte: 76 */ 0x868d,
+ /* 2nd byte: 77 */ 0x8691,
+ /* 2nd byte: 78 */ 0x8696,
+ /* 2nd byte: 79 */ 0x8698,
+ /* 2nd byte: 80 */ 0x869a,
+ /* 2nd byte: 81 */ 0x869c,
+ /* 2nd byte: 82 */ 0x86a1,
+ /* 2nd byte: 83 */ 0x86a6,
+ /* 2nd byte: 84 */ 0x86a7,
+ /* 2nd byte: 85 */ 0x86a8,
+ /* 2nd byte: 86 */ 0x86ad,
+ /* 2nd byte: 87 */ 0x86b1,
+ /* 2nd byte: 88 */ 0x86b3,
+ /* 2nd byte: 89 */ 0x86b4,
+ /* 2nd byte: 90 */ 0x86b5,
+ /* 2nd byte: 91 */ 0x86b7,
+ /* 2nd byte: 92 */ 0x86b8,
+ /* 2nd byte: 93 */ 0x86b9,
+ /* 2nd byte: 94 */ 0x86bf,
+ /* 2nd byte: 95 */ 0x86c0,
+ /* 2nd byte: 96 */ 0x86c1,
+ /* 2nd byte: 97 */ 0x86c3,
+ /* 2nd byte: 98 */ 0x86c5,
+ /* 2nd byte: 99 */ 0x86d1,
+ /* 2nd byte: 100 */ 0x86d2,
+ /* 2nd byte: 101 */ 0x86d5,
+ /* 2nd byte: 102 */ 0x86d7,
+ /* 2nd byte: 103 */ 0x86da,
+ /* 2nd byte: 104 */ 0x86dc,
+ /* 2nd byte: 105 */ 0x86e0,
+ /* 2nd byte: 106 */ 0x86e3,
+ /* 2nd byte: 107 */ 0x86e5,
+ /* 2nd byte: 108 */ 0x86e7,
+ /* 2nd byte: 109 */ 0x8688,
+ /* 2nd byte: 110 */ 0x86fa,
+ /* 2nd byte: 111 */ 0x86fc,
+ /* 2nd byte: 112 */ 0x86fd,
+ /* 2nd byte: 113 */ 0x8704,
+ /* 2nd byte: 114 */ 0x8705,
+ /* 2nd byte: 115 */ 0x8707,
+ /* 2nd byte: 116 */ 0x870b,
+ /* 2nd byte: 117 */ 0x870e,
+ /* 2nd byte: 118 */ 0x870f,
+ /* 2nd byte: 119 */ 0x8710,
+ /* 2nd byte: 120 */ 0x8713,
+ /* 2nd byte: 121 */ 0x8714,
+ /* 2nd byte: 122 */ 0x8719,
+ /* 2nd byte: 123 */ 0x871e,
+ /* 2nd byte: 124 */ 0x871f,
+ /* 2nd byte: 125 */ 0x8721,
+ /* 2nd byte: 126 */ 0x8723},
+/* 1st byte: 91 */ {
+ /* 2nd byte: 33 */ 0x8728,
+ /* 2nd byte: 34 */ 0x872e,
+ /* 2nd byte: 35 */ 0x872f,
+ /* 2nd byte: 36 */ 0x8731,
+ /* 2nd byte: 37 */ 0x8732,
+ /* 2nd byte: 38 */ 0x8739,
+ /* 2nd byte: 39 */ 0x873a,
+ /* 2nd byte: 40 */ 0x873c,
+ /* 2nd byte: 41 */ 0x873d,
+ /* 2nd byte: 42 */ 0x873e,
+ /* 2nd byte: 43 */ 0x8740,
+ /* 2nd byte: 44 */ 0x8743,
+ /* 2nd byte: 45 */ 0x8745,
+ /* 2nd byte: 46 */ 0x874d,
+ /* 2nd byte: 47 */ 0x8758,
+ /* 2nd byte: 48 */ 0x875d,
+ /* 2nd byte: 49 */ 0x8761,
+ /* 2nd byte: 50 */ 0x8764,
+ /* 2nd byte: 51 */ 0x8765,
+ /* 2nd byte: 52 */ 0x876f,
+ /* 2nd byte: 53 */ 0x8771,
+ /* 2nd byte: 54 */ 0x8772,
+ /* 2nd byte: 55 */ 0x877b,
+ /* 2nd byte: 56 */ 0x8783,
+ /* 2nd byte: 57 */ 0x8784,
+ /* 2nd byte: 58 */ 0x8785,
+ /* 2nd byte: 59 */ 0x8786,
+ /* 2nd byte: 60 */ 0x8787,
+ /* 2nd byte: 61 */ 0x8788,
+ /* 2nd byte: 62 */ 0x8789,
+ /* 2nd byte: 63 */ 0x878b,
+ /* 2nd byte: 64 */ 0x878c,
+ /* 2nd byte: 65 */ 0x8790,
+ /* 2nd byte: 66 */ 0x8793,
+ /* 2nd byte: 67 */ 0x8795,
+ /* 2nd byte: 68 */ 0x8797,
+ /* 2nd byte: 69 */ 0x8798,
+ /* 2nd byte: 70 */ 0x8799,
+ /* 2nd byte: 71 */ 0x879e,
+ /* 2nd byte: 72 */ 0x87a0,
+ /* 2nd byte: 73 */ 0x87a3,
+ /* 2nd byte: 74 */ 0x87a7,
+ /* 2nd byte: 75 */ 0x87ac,
+ /* 2nd byte: 76 */ 0x87ad,
+ /* 2nd byte: 77 */ 0x87ae,
+ /* 2nd byte: 78 */ 0x87b1,
+ /* 2nd byte: 79 */ 0x87b5,
+ /* 2nd byte: 80 */ 0x87be,
+ /* 2nd byte: 81 */ 0x87bf,
+ /* 2nd byte: 82 */ 0x87c1,
+ /* 2nd byte: 83 */ 0x87c8,
+ /* 2nd byte: 84 */ 0x87c9,
+ /* 2nd byte: 85 */ 0x87ca,
+ /* 2nd byte: 86 */ 0x87ce,
+ /* 2nd byte: 87 */ 0x87d5,
+ /* 2nd byte: 88 */ 0x87d6,
+ /* 2nd byte: 89 */ 0x87d9,
+ /* 2nd byte: 90 */ 0x87da,
+ /* 2nd byte: 91 */ 0x87dc,
+ /* 2nd byte: 92 */ 0x87df,
+ /* 2nd byte: 93 */ 0x87e2,
+ /* 2nd byte: 94 */ 0x87e3,
+ /* 2nd byte: 95 */ 0x87e4,
+ /* 2nd byte: 96 */ 0x87ea,
+ /* 2nd byte: 97 */ 0x87eb,
+ /* 2nd byte: 98 */ 0x87ed,
+ /* 2nd byte: 99 */ 0x87f1,
+ /* 2nd byte: 100 */ 0x87f3,
+ /* 2nd byte: 101 */ 0x87f8,
+ /* 2nd byte: 102 */ 0x87fa,
+ /* 2nd byte: 103 */ 0x87ff,
+ /* 2nd byte: 104 */ 0x8801,
+ /* 2nd byte: 105 */ 0x8803,
+ /* 2nd byte: 106 */ 0x8806,
+ /* 2nd byte: 107 */ 0x8809,
+ /* 2nd byte: 108 */ 0x880a,
+ /* 2nd byte: 109 */ 0x880b,
+ /* 2nd byte: 110 */ 0x8810,
+ /* 2nd byte: 111 */ 0x8819,
+ /* 2nd byte: 112 */ 0x8812,
+ /* 2nd byte: 113 */ 0x8813,
+ /* 2nd byte: 114 */ 0x8814,
+ /* 2nd byte: 115 */ 0x8818,
+ /* 2nd byte: 116 */ 0x881a,
+ /* 2nd byte: 117 */ 0x881b,
+ /* 2nd byte: 118 */ 0x881c,
+ /* 2nd byte: 119 */ 0x881e,
+ /* 2nd byte: 120 */ 0x881f,
+ /* 2nd byte: 121 */ 0x8828,
+ /* 2nd byte: 122 */ 0x882d,
+ /* 2nd byte: 123 */ 0x882e,
+ /* 2nd byte: 124 */ 0x8830,
+ /* 2nd byte: 125 */ 0x8832,
+ /* 2nd byte: 126 */ 0x8835},
+/* 1st byte: 92 */ {
+ /* 2nd byte: 33 */ 0x883a,
+ /* 2nd byte: 34 */ 0x883c,
+ /* 2nd byte: 35 */ 0x8841,
+ /* 2nd byte: 36 */ 0x8843,
+ /* 2nd byte: 37 */ 0x8845,
+ /* 2nd byte: 38 */ 0x8848,
+ /* 2nd byte: 39 */ 0x8849,
+ /* 2nd byte: 40 */ 0x884a,
+ /* 2nd byte: 41 */ 0x884b,
+ /* 2nd byte: 42 */ 0x884e,
+ /* 2nd byte: 43 */ 0x8851,
+ /* 2nd byte: 44 */ 0x8855,
+ /* 2nd byte: 45 */ 0x8856,
+ /* 2nd byte: 46 */ 0x8858,
+ /* 2nd byte: 47 */ 0x885a,
+ /* 2nd byte: 48 */ 0x885c,
+ /* 2nd byte: 49 */ 0x885f,
+ /* 2nd byte: 50 */ 0x8860,
+ /* 2nd byte: 51 */ 0x8864,
+ /* 2nd byte: 52 */ 0x8869,
+ /* 2nd byte: 53 */ 0x8871,
+ /* 2nd byte: 54 */ 0x8879,
+ /* 2nd byte: 55 */ 0x887b,
+ /* 2nd byte: 56 */ 0x8880,
+ /* 2nd byte: 57 */ 0x8898,
+ /* 2nd byte: 58 */ 0x889a,
+ /* 2nd byte: 59 */ 0x889b,
+ /* 2nd byte: 60 */ 0x889c,
+ /* 2nd byte: 61 */ 0x889f,
+ /* 2nd byte: 62 */ 0x88a0,
+ /* 2nd byte: 63 */ 0x88a8,
+ /* 2nd byte: 64 */ 0x88aa,
+ /* 2nd byte: 65 */ 0x88ba,
+ /* 2nd byte: 66 */ 0x88bd,
+ /* 2nd byte: 67 */ 0x88be,
+ /* 2nd byte: 68 */ 0x88c0,
+ /* 2nd byte: 69 */ 0x88ca,
+ /* 2nd byte: 70 */ 0x88cb,
+ /* 2nd byte: 71 */ 0x88cc,
+ /* 2nd byte: 72 */ 0x88cd,
+ /* 2nd byte: 73 */ 0x88ce,
+ /* 2nd byte: 74 */ 0x88d1,
+ /* 2nd byte: 75 */ 0x88d2,
+ /* 2nd byte: 76 */ 0x88d3,
+ /* 2nd byte: 77 */ 0x88db,
+ /* 2nd byte: 78 */ 0x88de,
+ /* 2nd byte: 79 */ 0x88e7,
+ /* 2nd byte: 80 */ 0x88ef,
+ /* 2nd byte: 81 */ 0x88f0,
+ /* 2nd byte: 82 */ 0x88f1,
+ /* 2nd byte: 83 */ 0x88f5,
+ /* 2nd byte: 84 */ 0x88f7,
+ /* 2nd byte: 85 */ 0x8901,
+ /* 2nd byte: 86 */ 0x8906,
+ /* 2nd byte: 87 */ 0x890d,
+ /* 2nd byte: 88 */ 0x890e,
+ /* 2nd byte: 89 */ 0x890f,
+ /* 2nd byte: 90 */ 0x8915,
+ /* 2nd byte: 91 */ 0x8916,
+ /* 2nd byte: 92 */ 0x8918,
+ /* 2nd byte: 93 */ 0x8919,
+ /* 2nd byte: 94 */ 0x891a,
+ /* 2nd byte: 95 */ 0x891c,
+ /* 2nd byte: 96 */ 0x8920,
+ /* 2nd byte: 97 */ 0x8926,
+ /* 2nd byte: 98 */ 0x8927,
+ /* 2nd byte: 99 */ 0x8928,
+ /* 2nd byte: 100 */ 0x8930,
+ /* 2nd byte: 101 */ 0x8931,
+ /* 2nd byte: 102 */ 0x8932,
+ /* 2nd byte: 103 */ 0x8935,
+ /* 2nd byte: 104 */ 0x8939,
+ /* 2nd byte: 105 */ 0x893a,
+ /* 2nd byte: 106 */ 0x893e,
+ /* 2nd byte: 107 */ 0x8940,
+ /* 2nd byte: 108 */ 0x8942,
+ /* 2nd byte: 109 */ 0x8945,
+ /* 2nd byte: 110 */ 0x8946,
+ /* 2nd byte: 111 */ 0x8949,
+ /* 2nd byte: 112 */ 0x894f,
+ /* 2nd byte: 113 */ 0x8952,
+ /* 2nd byte: 114 */ 0x8957,
+ /* 2nd byte: 115 */ 0x895a,
+ /* 2nd byte: 116 */ 0x895b,
+ /* 2nd byte: 117 */ 0x895c,
+ /* 2nd byte: 118 */ 0x8961,
+ /* 2nd byte: 119 */ 0x8962,
+ /* 2nd byte: 120 */ 0x8963,
+ /* 2nd byte: 121 */ 0x896b,
+ /* 2nd byte: 122 */ 0x896e,
+ /* 2nd byte: 123 */ 0x8970,
+ /* 2nd byte: 124 */ 0x8973,
+ /* 2nd byte: 125 */ 0x8975,
+ /* 2nd byte: 126 */ 0x897a},
+/* 1st byte: 93 */ {
+ /* 2nd byte: 33 */ 0x897b,
+ /* 2nd byte: 34 */ 0x897c,
+ /* 2nd byte: 35 */ 0x897d,
+ /* 2nd byte: 36 */ 0x8989,
+ /* 2nd byte: 37 */ 0x898d,
+ /* 2nd byte: 38 */ 0x8990,
+ /* 2nd byte: 39 */ 0x8994,
+ /* 2nd byte: 40 */ 0x8995,
+ /* 2nd byte: 41 */ 0x899b,
+ /* 2nd byte: 42 */ 0x899c,
+ /* 2nd byte: 43 */ 0x899f,
+ /* 2nd byte: 44 */ 0x89a0,
+ /* 2nd byte: 45 */ 0x89a5,
+ /* 2nd byte: 46 */ 0x89b0,
+ /* 2nd byte: 47 */ 0x89b4,
+ /* 2nd byte: 48 */ 0x89b5,
+ /* 2nd byte: 49 */ 0x89b6,
+ /* 2nd byte: 50 */ 0x89b7,
+ /* 2nd byte: 51 */ 0x89bc,
+ /* 2nd byte: 52 */ 0x89d4,
+ /* 2nd byte: 53 */ 0x89d5,
+ /* 2nd byte: 54 */ 0x89d6,
+ /* 2nd byte: 55 */ 0x89d7,
+ /* 2nd byte: 56 */ 0x89d8,
+ /* 2nd byte: 57 */ 0x89e5,
+ /* 2nd byte: 58 */ 0x89e9,
+ /* 2nd byte: 59 */ 0x89eb,
+ /* 2nd byte: 60 */ 0x89ed,
+ /* 2nd byte: 61 */ 0x89f1,
+ /* 2nd byte: 62 */ 0x89f3,
+ /* 2nd byte: 63 */ 0x89f6,
+ /* 2nd byte: 64 */ 0x89f9,
+ /* 2nd byte: 65 */ 0x89fd,
+ /* 2nd byte: 66 */ 0x89ff,
+ /* 2nd byte: 67 */ 0x8a04,
+ /* 2nd byte: 68 */ 0x8a05,
+ /* 2nd byte: 69 */ 0x8a07,
+ /* 2nd byte: 70 */ 0x8a0f,
+ /* 2nd byte: 71 */ 0x8a11,
+ /* 2nd byte: 72 */ 0x8a12,
+ /* 2nd byte: 73 */ 0x8a14,
+ /* 2nd byte: 74 */ 0x8a15,
+ /* 2nd byte: 75 */ 0x8a1e,
+ /* 2nd byte: 76 */ 0x8a20,
+ /* 2nd byte: 77 */ 0x8a22,
+ /* 2nd byte: 78 */ 0x8a24,
+ /* 2nd byte: 79 */ 0x8a26,
+ /* 2nd byte: 80 */ 0x8a2b,
+ /* 2nd byte: 81 */ 0x8a2c,
+ /* 2nd byte: 82 */ 0x8a2f,
+ /* 2nd byte: 83 */ 0x8a35,
+ /* 2nd byte: 84 */ 0x8a37,
+ /* 2nd byte: 85 */ 0x8a3d,
+ /* 2nd byte: 86 */ 0x8a3e,
+ /* 2nd byte: 87 */ 0x8a40,
+ /* 2nd byte: 88 */ 0x8a43,
+ /* 2nd byte: 89 */ 0x8a45,
+ /* 2nd byte: 90 */ 0x8a47,
+ /* 2nd byte: 91 */ 0x8a49,
+ /* 2nd byte: 92 */ 0x8a4d,
+ /* 2nd byte: 93 */ 0x8a4e,
+ /* 2nd byte: 94 */ 0x8a53,
+ /* 2nd byte: 95 */ 0x8a56,
+ /* 2nd byte: 96 */ 0x8a57,
+ /* 2nd byte: 97 */ 0x8a58,
+ /* 2nd byte: 98 */ 0x8a5c,
+ /* 2nd byte: 99 */ 0x8a5d,
+ /* 2nd byte: 100 */ 0x8a61,
+ /* 2nd byte: 101 */ 0x8a65,
+ /* 2nd byte: 102 */ 0x8a67,
+ /* 2nd byte: 103 */ 0x8a75,
+ /* 2nd byte: 104 */ 0x8a76,
+ /* 2nd byte: 105 */ 0x8a77,
+ /* 2nd byte: 106 */ 0x8a79,
+ /* 2nd byte: 107 */ 0x8a7a,
+ /* 2nd byte: 108 */ 0x8a7b,
+ /* 2nd byte: 109 */ 0x8a7e,
+ /* 2nd byte: 110 */ 0x8a7f,
+ /* 2nd byte: 111 */ 0x8a80,
+ /* 2nd byte: 112 */ 0x8a83,
+ /* 2nd byte: 113 */ 0x8a86,
+ /* 2nd byte: 114 */ 0x8a8b,
+ /* 2nd byte: 115 */ 0x8a8f,
+ /* 2nd byte: 116 */ 0x8a90,
+ /* 2nd byte: 117 */ 0x8a92,
+ /* 2nd byte: 118 */ 0x8a96,
+ /* 2nd byte: 119 */ 0x8a97,
+ /* 2nd byte: 120 */ 0x8a99,
+ /* 2nd byte: 121 */ 0x8a9f,
+ /* 2nd byte: 122 */ 0x8aa7,
+ /* 2nd byte: 123 */ 0x8aa9,
+ /* 2nd byte: 124 */ 0x8aae,
+ /* 2nd byte: 125 */ 0x8aaf,
+ /* 2nd byte: 126 */ 0x8ab3},
+/* 1st byte: 94 */ {
+ /* 2nd byte: 33 */ 0x8ab6,
+ /* 2nd byte: 34 */ 0x8ab7,
+ /* 2nd byte: 35 */ 0x8abb,
+ /* 2nd byte: 36 */ 0x8abe,
+ /* 2nd byte: 37 */ 0x8ac3,
+ /* 2nd byte: 38 */ 0x8ac6,
+ /* 2nd byte: 39 */ 0x8ac8,
+ /* 2nd byte: 40 */ 0x8ac9,
+ /* 2nd byte: 41 */ 0x8aca,
+ /* 2nd byte: 42 */ 0x8ad1,
+ /* 2nd byte: 43 */ 0x8ad3,
+ /* 2nd byte: 44 */ 0x8ad4,
+ /* 2nd byte: 45 */ 0x8ad5,
+ /* 2nd byte: 46 */ 0x8ad7,
+ /* 2nd byte: 47 */ 0x8add,
+ /* 2nd byte: 48 */ 0x8adf,
+ /* 2nd byte: 49 */ 0x8aec,
+ /* 2nd byte: 50 */ 0x8af0,
+ /* 2nd byte: 51 */ 0x8af4,
+ /* 2nd byte: 52 */ 0x8af5,
+ /* 2nd byte: 53 */ 0x8af6,
+ /* 2nd byte: 54 */ 0x8afc,
+ /* 2nd byte: 55 */ 0x8aff,
+ /* 2nd byte: 56 */ 0x8b05,
+ /* 2nd byte: 57 */ 0x8b06,
+ /* 2nd byte: 58 */ 0x8b0b,
+ /* 2nd byte: 59 */ 0x8b11,
+ /* 2nd byte: 60 */ 0x8b1c,
+ /* 2nd byte: 61 */ 0x8b1e,
+ /* 2nd byte: 62 */ 0x8b1f,
+ /* 2nd byte: 63 */ 0x8b0a,
+ /* 2nd byte: 64 */ 0x8b2d,
+ /* 2nd byte: 65 */ 0x8b30,
+ /* 2nd byte: 66 */ 0x8b37,
+ /* 2nd byte: 67 */ 0x8b3c,
+ /* 2nd byte: 68 */ 0x8b42,
+ /* 2nd byte: 69 */ 0x8b43,
+ /* 2nd byte: 70 */ 0x8b44,
+ /* 2nd byte: 71 */ 0x8b45,
+ /* 2nd byte: 72 */ 0x8b46,
+ /* 2nd byte: 73 */ 0x8b48,
+ /* 2nd byte: 74 */ 0x8b52,
+ /* 2nd byte: 75 */ 0x8b53,
+ /* 2nd byte: 76 */ 0x8b54,
+ /* 2nd byte: 77 */ 0x8b59,
+ /* 2nd byte: 78 */ 0x8b4d,
+ /* 2nd byte: 79 */ 0x8b5e,
+ /* 2nd byte: 80 */ 0x8b63,
+ /* 2nd byte: 81 */ 0x8b6d,
+ /* 2nd byte: 82 */ 0x8b76,
+ /* 2nd byte: 83 */ 0x8b78,
+ /* 2nd byte: 84 */ 0x8b79,
+ /* 2nd byte: 85 */ 0x8b7c,
+ /* 2nd byte: 86 */ 0x8b7e,
+ /* 2nd byte: 87 */ 0x8b81,
+ /* 2nd byte: 88 */ 0x8b84,
+ /* 2nd byte: 89 */ 0x8b85,
+ /* 2nd byte: 90 */ 0x8b8b,
+ /* 2nd byte: 91 */ 0x8b8d,
+ /* 2nd byte: 92 */ 0x8b8f,
+ /* 2nd byte: 93 */ 0x8b94,
+ /* 2nd byte: 94 */ 0x8b95,
+ /* 2nd byte: 95 */ 0x8b9c,
+ /* 2nd byte: 96 */ 0x8b9e,
+ /* 2nd byte: 97 */ 0x8b9f,
+ /* 2nd byte: 98 */ 0x8c38,
+ /* 2nd byte: 99 */ 0x8c39,
+ /* 2nd byte: 100 */ 0x8c3d,
+ /* 2nd byte: 101 */ 0x8c3e,
+ /* 2nd byte: 102 */ 0x8c45,
+ /* 2nd byte: 103 */ 0x8c47,
+ /* 2nd byte: 104 */ 0x8c49,
+ /* 2nd byte: 105 */ 0x8c4b,
+ /* 2nd byte: 106 */ 0x8c4f,
+ /* 2nd byte: 107 */ 0x8c51,
+ /* 2nd byte: 108 */ 0x8c53,
+ /* 2nd byte: 109 */ 0x8c54,
+ /* 2nd byte: 110 */ 0x8c57,
+ /* 2nd byte: 111 */ 0x8c58,
+ /* 2nd byte: 112 */ 0x8c5b,
+ /* 2nd byte: 113 */ 0x8c5d,
+ /* 2nd byte: 114 */ 0x8c59,
+ /* 2nd byte: 115 */ 0x8c63,
+ /* 2nd byte: 116 */ 0x8c64,
+ /* 2nd byte: 117 */ 0x8c66,
+ /* 2nd byte: 118 */ 0x8c68,
+ /* 2nd byte: 119 */ 0x8c69,
+ /* 2nd byte: 120 */ 0x8c6d,
+ /* 2nd byte: 121 */ 0x8c73,
+ /* 2nd byte: 122 */ 0x8c75,
+ /* 2nd byte: 123 */ 0x8c76,
+ /* 2nd byte: 124 */ 0x8c7b,
+ /* 2nd byte: 125 */ 0x8c7e,
+ /* 2nd byte: 126 */ 0x8c86},
+/* 1st byte: 95 */ {
+ /* 2nd byte: 33 */ 0x8c87,
+ /* 2nd byte: 34 */ 0x8c8b,
+ /* 2nd byte: 35 */ 0x8c90,
+ /* 2nd byte: 36 */ 0x8c92,
+ /* 2nd byte: 37 */ 0x8c93,
+ /* 2nd byte: 38 */ 0x8c99,
+ /* 2nd byte: 39 */ 0x8c9b,
+ /* 2nd byte: 40 */ 0x8c9c,
+ /* 2nd byte: 41 */ 0x8ca4,
+ /* 2nd byte: 42 */ 0x8cb9,
+ /* 2nd byte: 43 */ 0x8cba,
+ /* 2nd byte: 44 */ 0x8cc5,
+ /* 2nd byte: 45 */ 0x8cc6,
+ /* 2nd byte: 46 */ 0x8cc9,
+ /* 2nd byte: 47 */ 0x8ccb,
+ /* 2nd byte: 48 */ 0x8ccf,
+ /* 2nd byte: 49 */ 0x8cd6,
+ /* 2nd byte: 50 */ 0x8cd5,
+ /* 2nd byte: 51 */ 0x8cd9,
+ /* 2nd byte: 52 */ 0x8cdd,
+ /* 2nd byte: 53 */ 0x8ce1,
+ /* 2nd byte: 54 */ 0x8ce8,
+ /* 2nd byte: 55 */ 0x8cec,
+ /* 2nd byte: 56 */ 0x8cef,
+ /* 2nd byte: 57 */ 0x8cf0,
+ /* 2nd byte: 58 */ 0x8cf2,
+ /* 2nd byte: 59 */ 0x8cf5,
+ /* 2nd byte: 60 */ 0x8cf7,
+ /* 2nd byte: 61 */ 0x8cf8,
+ /* 2nd byte: 62 */ 0x8cfe,
+ /* 2nd byte: 63 */ 0x8cff,
+ /* 2nd byte: 64 */ 0x8d01,
+ /* 2nd byte: 65 */ 0x8d03,
+ /* 2nd byte: 66 */ 0x8d09,
+ /* 2nd byte: 67 */ 0x8d12,
+ /* 2nd byte: 68 */ 0x8d17,
+ /* 2nd byte: 69 */ 0x8d1b,
+ /* 2nd byte: 70 */ 0x8d65,
+ /* 2nd byte: 71 */ 0x8d69,
+ /* 2nd byte: 72 */ 0x8d6c,
+ /* 2nd byte: 73 */ 0x8d6e,
+ /* 2nd byte: 74 */ 0x8d7f,
+ /* 2nd byte: 75 */ 0x8d82,
+ /* 2nd byte: 76 */ 0x8d84,
+ /* 2nd byte: 77 */ 0x8d88,
+ /* 2nd byte: 78 */ 0x8d8d,
+ /* 2nd byte: 79 */ 0x8d90,
+ /* 2nd byte: 80 */ 0x8d91,
+ /* 2nd byte: 81 */ 0x8d95,
+ /* 2nd byte: 82 */ 0x8d9e,
+ /* 2nd byte: 83 */ 0x8d9f,
+ /* 2nd byte: 84 */ 0x8da0,
+ /* 2nd byte: 85 */ 0x8da6,
+ /* 2nd byte: 86 */ 0x8dab,
+ /* 2nd byte: 87 */ 0x8dac,
+ /* 2nd byte: 88 */ 0x8daf,
+ /* 2nd byte: 89 */ 0x8db2,
+ /* 2nd byte: 90 */ 0x8db5,
+ /* 2nd byte: 91 */ 0x8db7,
+ /* 2nd byte: 92 */ 0x8db9,
+ /* 2nd byte: 93 */ 0x8dbb,
+ /* 2nd byte: 94 */ 0x8dc0,
+ /* 2nd byte: 95 */ 0x8dc5,
+ /* 2nd byte: 96 */ 0x8dc6,
+ /* 2nd byte: 97 */ 0x8dc7,
+ /* 2nd byte: 98 */ 0x8dc8,
+ /* 2nd byte: 99 */ 0x8dca,
+ /* 2nd byte: 100 */ 0x8dce,
+ /* 2nd byte: 101 */ 0x8dd1,
+ /* 2nd byte: 102 */ 0x8dd4,
+ /* 2nd byte: 103 */ 0x8dd5,
+ /* 2nd byte: 104 */ 0x8dd7,
+ /* 2nd byte: 105 */ 0x8dd9,
+ /* 2nd byte: 106 */ 0x8de4,
+ /* 2nd byte: 107 */ 0x8de5,
+ /* 2nd byte: 108 */ 0x8de7,
+ /* 2nd byte: 109 */ 0x8dec,
+ /* 2nd byte: 110 */ 0x8df0,
+ /* 2nd byte: 111 */ 0x8dbc,
+ /* 2nd byte: 112 */ 0x8df1,
+ /* 2nd byte: 113 */ 0x8df2,
+ /* 2nd byte: 114 */ 0x8df4,
+ /* 2nd byte: 115 */ 0x8dfd,
+ /* 2nd byte: 116 */ 0x8e01,
+ /* 2nd byte: 117 */ 0x8e04,
+ /* 2nd byte: 118 */ 0x8e05,
+ /* 2nd byte: 119 */ 0x8e06,
+ /* 2nd byte: 120 */ 0x8e0b,
+ /* 2nd byte: 121 */ 0x8e11,
+ /* 2nd byte: 122 */ 0x8e14,
+ /* 2nd byte: 123 */ 0x8e16,
+ /* 2nd byte: 124 */ 0x8e20,
+ /* 2nd byte: 125 */ 0x8e21,
+ /* 2nd byte: 126 */ 0x8e22},
+/* 1st byte: 96 */ {
+ /* 2nd byte: 33 */ 0x8e23,
+ /* 2nd byte: 34 */ 0x8e26,
+ /* 2nd byte: 35 */ 0x8e27,
+ /* 2nd byte: 36 */ 0x8e31,
+ /* 2nd byte: 37 */ 0x8e33,
+ /* 2nd byte: 38 */ 0x8e36,
+ /* 2nd byte: 39 */ 0x8e37,
+ /* 2nd byte: 40 */ 0x8e38,
+ /* 2nd byte: 41 */ 0x8e39,
+ /* 2nd byte: 42 */ 0x8e3d,
+ /* 2nd byte: 43 */ 0x8e40,
+ /* 2nd byte: 44 */ 0x8e41,
+ /* 2nd byte: 45 */ 0x8e4b,
+ /* 2nd byte: 46 */ 0x8e4d,
+ /* 2nd byte: 47 */ 0x8e4e,
+ /* 2nd byte: 48 */ 0x8e4f,
+ /* 2nd byte: 49 */ 0x8e54,
+ /* 2nd byte: 50 */ 0x8e5b,
+ /* 2nd byte: 51 */ 0x8e5c,
+ /* 2nd byte: 52 */ 0x8e5d,
+ /* 2nd byte: 53 */ 0x8e5e,
+ /* 2nd byte: 54 */ 0x8e61,
+ /* 2nd byte: 55 */ 0x8e62,
+ /* 2nd byte: 56 */ 0x8e69,
+ /* 2nd byte: 57 */ 0x8e6c,
+ /* 2nd byte: 58 */ 0x8e6d,
+ /* 2nd byte: 59 */ 0x8e6f,
+ /* 2nd byte: 60 */ 0x8e70,
+ /* 2nd byte: 61 */ 0x8e71,
+ /* 2nd byte: 62 */ 0x8e79,
+ /* 2nd byte: 63 */ 0x8e7a,
+ /* 2nd byte: 64 */ 0x8e7b,
+ /* 2nd byte: 65 */ 0x8e82,
+ /* 2nd byte: 66 */ 0x8e83,
+ /* 2nd byte: 67 */ 0x8e89,
+ /* 2nd byte: 68 */ 0x8e90,
+ /* 2nd byte: 69 */ 0x8e92,
+ /* 2nd byte: 70 */ 0x8e95,
+ /* 2nd byte: 71 */ 0x8e9a,
+ /* 2nd byte: 72 */ 0x8e9b,
+ /* 2nd byte: 73 */ 0x8e9d,
+ /* 2nd byte: 74 */ 0x8e9e,
+ /* 2nd byte: 75 */ 0x8ea2,
+ /* 2nd byte: 76 */ 0x8ea7,
+ /* 2nd byte: 77 */ 0x8ea9,
+ /* 2nd byte: 78 */ 0x8ead,
+ /* 2nd byte: 79 */ 0x8eae,
+ /* 2nd byte: 80 */ 0x8eb3,
+ /* 2nd byte: 81 */ 0x8eb5,
+ /* 2nd byte: 82 */ 0x8eba,
+ /* 2nd byte: 83 */ 0x8ebb,
+ /* 2nd byte: 84 */ 0x8ec0,
+ /* 2nd byte: 85 */ 0x8ec1,
+ /* 2nd byte: 86 */ 0x8ec3,
+ /* 2nd byte: 87 */ 0x8ec4,
+ /* 2nd byte: 88 */ 0x8ec7,
+ /* 2nd byte: 89 */ 0x8ecf,
+ /* 2nd byte: 90 */ 0x8ed1,
+ /* 2nd byte: 91 */ 0x8ed4,
+ /* 2nd byte: 92 */ 0x8edc,
+ /* 2nd byte: 93 */ 0x8ee8,
+ /* 2nd byte: 94 */ 0x8eee,
+ /* 2nd byte: 95 */ 0x8ef0,
+ /* 2nd byte: 96 */ 0x8ef1,
+ /* 2nd byte: 97 */ 0x8ef7,
+ /* 2nd byte: 98 */ 0x8ef9,
+ /* 2nd byte: 99 */ 0x8efa,
+ /* 2nd byte: 100 */ 0x8eed,
+ /* 2nd byte: 101 */ 0x8f00,
+ /* 2nd byte: 102 */ 0x8f02,
+ /* 2nd byte: 103 */ 0x8f07,
+ /* 2nd byte: 104 */ 0x8f08,
+ /* 2nd byte: 105 */ 0x8f0f,
+ /* 2nd byte: 106 */ 0x8f10,
+ /* 2nd byte: 107 */ 0x8f16,
+ /* 2nd byte: 108 */ 0x8f17,
+ /* 2nd byte: 109 */ 0x8f18,
+ /* 2nd byte: 110 */ 0x8f1e,
+ /* 2nd byte: 111 */ 0x8f20,
+ /* 2nd byte: 112 */ 0x8f21,
+ /* 2nd byte: 113 */ 0x8f23,
+ /* 2nd byte: 114 */ 0x8f25,
+ /* 2nd byte: 115 */ 0x8f27,
+ /* 2nd byte: 116 */ 0x8f28,
+ /* 2nd byte: 117 */ 0x8f2c,
+ /* 2nd byte: 118 */ 0x8f2d,
+ /* 2nd byte: 119 */ 0x8f2e,
+ /* 2nd byte: 120 */ 0x8f34,
+ /* 2nd byte: 121 */ 0x8f35,
+ /* 2nd byte: 122 */ 0x8f36,
+ /* 2nd byte: 123 */ 0x8f37,
+ /* 2nd byte: 124 */ 0x8f3a,
+ /* 2nd byte: 125 */ 0x8f40,
+ /* 2nd byte: 126 */ 0x8f41},
+/* 1st byte: 97 */ {
+ /* 2nd byte: 33 */ 0x8f43,
+ /* 2nd byte: 34 */ 0x8f47,
+ /* 2nd byte: 35 */ 0x8f4f,
+ /* 2nd byte: 36 */ 0x8f51,
+ /* 2nd byte: 37 */ 0x8f52,
+ /* 2nd byte: 38 */ 0x8f53,
+ /* 2nd byte: 39 */ 0x8f54,
+ /* 2nd byte: 40 */ 0x8f55,
+ /* 2nd byte: 41 */ 0x8f58,
+ /* 2nd byte: 42 */ 0x8f5d,
+ /* 2nd byte: 43 */ 0x8f5e,
+ /* 2nd byte: 44 */ 0x8f65,
+ /* 2nd byte: 45 */ 0x8f9d,
+ /* 2nd byte: 46 */ 0x8fa0,
+ /* 2nd byte: 47 */ 0x8fa1,
+ /* 2nd byte: 48 */ 0x8fa4,
+ /* 2nd byte: 49 */ 0x8fa5,
+ /* 2nd byte: 50 */ 0x8fa6,
+ /* 2nd byte: 51 */ 0x8fb5,
+ /* 2nd byte: 52 */ 0x8fb6,
+ /* 2nd byte: 53 */ 0x8fb8,
+ /* 2nd byte: 54 */ 0x8fbe,
+ /* 2nd byte: 55 */ 0x8fc0,
+ /* 2nd byte: 56 */ 0x8fc1,
+ /* 2nd byte: 57 */ 0x8fc6,
+ /* 2nd byte: 58 */ 0x8fca,
+ /* 2nd byte: 59 */ 0x8fcb,
+ /* 2nd byte: 60 */ 0x8fcd,
+ /* 2nd byte: 61 */ 0x8fd0,
+ /* 2nd byte: 62 */ 0x8fd2,
+ /* 2nd byte: 63 */ 0x8fd3,
+ /* 2nd byte: 64 */ 0x8fd5,
+ /* 2nd byte: 65 */ 0x8fe0,
+ /* 2nd byte: 66 */ 0x8fe3,
+ /* 2nd byte: 67 */ 0x8fe4,
+ /* 2nd byte: 68 */ 0x8fe8,
+ /* 2nd byte: 69 */ 0x8fee,
+ /* 2nd byte: 70 */ 0x8ff1,
+ /* 2nd byte: 71 */ 0x8ff5,
+ /* 2nd byte: 72 */ 0x8ff6,
+ /* 2nd byte: 73 */ 0x8ffb,
+ /* 2nd byte: 74 */ 0x8ffe,
+ /* 2nd byte: 75 */ 0x9002,
+ /* 2nd byte: 76 */ 0x9004,
+ /* 2nd byte: 77 */ 0x9008,
+ /* 2nd byte: 78 */ 0x900c,
+ /* 2nd byte: 79 */ 0x9018,
+ /* 2nd byte: 80 */ 0x901b,
+ /* 2nd byte: 81 */ 0x9028,
+ /* 2nd byte: 82 */ 0x9029,
+ /* 2nd byte: 83 */ 0x902f,
+ /* 2nd byte: 84 */ 0x902a,
+ /* 2nd byte: 85 */ 0x902c,
+ /* 2nd byte: 86 */ 0x902d,
+ /* 2nd byte: 87 */ 0x9033,
+ /* 2nd byte: 88 */ 0x9034,
+ /* 2nd byte: 89 */ 0x9037,
+ /* 2nd byte: 90 */ 0x903f,
+ /* 2nd byte: 91 */ 0x9043,
+ /* 2nd byte: 92 */ 0x9044,
+ /* 2nd byte: 93 */ 0x904c,
+ /* 2nd byte: 94 */ 0x905b,
+ /* 2nd byte: 95 */ 0x905d,
+ /* 2nd byte: 96 */ 0x9062,
+ /* 2nd byte: 97 */ 0x9066,
+ /* 2nd byte: 98 */ 0x9067,
+ /* 2nd byte: 99 */ 0x906c,
+ /* 2nd byte: 100 */ 0x9070,
+ /* 2nd byte: 101 */ 0x9074,
+ /* 2nd byte: 102 */ 0x9079,
+ /* 2nd byte: 103 */ 0x9085,
+ /* 2nd byte: 104 */ 0x9088,
+ /* 2nd byte: 105 */ 0x908b,
+ /* 2nd byte: 106 */ 0x908c,
+ /* 2nd byte: 107 */ 0x908e,
+ /* 2nd byte: 108 */ 0x9090,
+ /* 2nd byte: 109 */ 0x9095,
+ /* 2nd byte: 110 */ 0x9097,
+ /* 2nd byte: 111 */ 0x9098,
+ /* 2nd byte: 112 */ 0x9099,
+ /* 2nd byte: 113 */ 0x909b,
+ /* 2nd byte: 114 */ 0x90a0,
+ /* 2nd byte: 115 */ 0x90a1,
+ /* 2nd byte: 116 */ 0x90a2,
+ /* 2nd byte: 117 */ 0x90a5,
+ /* 2nd byte: 118 */ 0x90b0,
+ /* 2nd byte: 119 */ 0x90b2,
+ /* 2nd byte: 120 */ 0x90b3,
+ /* 2nd byte: 121 */ 0x90b4,
+ /* 2nd byte: 122 */ 0x90b6,
+ /* 2nd byte: 123 */ 0x90bd,
+ /* 2nd byte: 124 */ 0x90cc,
+ /* 2nd byte: 125 */ 0x90be,
+ /* 2nd byte: 126 */ 0x90c3},
+/* 1st byte: 98 */ {
+ /* 2nd byte: 33 */ 0x90c4,
+ /* 2nd byte: 34 */ 0x90c5,
+ /* 2nd byte: 35 */ 0x90c7,
+ /* 2nd byte: 36 */ 0x90c8,
+ /* 2nd byte: 37 */ 0x90d5,
+ /* 2nd byte: 38 */ 0x90d7,
+ /* 2nd byte: 39 */ 0x90d8,
+ /* 2nd byte: 40 */ 0x90d9,
+ /* 2nd byte: 41 */ 0x90dc,
+ /* 2nd byte: 42 */ 0x90dd,
+ /* 2nd byte: 43 */ 0x90df,
+ /* 2nd byte: 44 */ 0x90e5,
+ /* 2nd byte: 45 */ 0x90d2,
+ /* 2nd byte: 46 */ 0x90f6,
+ /* 2nd byte: 47 */ 0x90eb,
+ /* 2nd byte: 48 */ 0x90ef,
+ /* 2nd byte: 49 */ 0x90f0,
+ /* 2nd byte: 50 */ 0x90f4,
+ /* 2nd byte: 51 */ 0x90fe,
+ /* 2nd byte: 52 */ 0x90ff,
+ /* 2nd byte: 53 */ 0x9100,
+ /* 2nd byte: 54 */ 0x9104,
+ /* 2nd byte: 55 */ 0x9105,
+ /* 2nd byte: 56 */ 0x9106,
+ /* 2nd byte: 57 */ 0x9108,
+ /* 2nd byte: 58 */ 0x910d,
+ /* 2nd byte: 59 */ 0x9110,
+ /* 2nd byte: 60 */ 0x9114,
+ /* 2nd byte: 61 */ 0x9116,
+ /* 2nd byte: 62 */ 0x9117,
+ /* 2nd byte: 63 */ 0x9118,
+ /* 2nd byte: 64 */ 0x911a,
+ /* 2nd byte: 65 */ 0x911c,
+ /* 2nd byte: 66 */ 0x911e,
+ /* 2nd byte: 67 */ 0x9120,
+ /* 2nd byte: 68 */ 0x9125,
+ /* 2nd byte: 69 */ 0x9122,
+ /* 2nd byte: 70 */ 0x9123,
+ /* 2nd byte: 71 */ 0x9127,
+ /* 2nd byte: 72 */ 0x9129,
+ /* 2nd byte: 73 */ 0x912e,
+ /* 2nd byte: 74 */ 0x912f,
+ /* 2nd byte: 75 */ 0x9131,
+ /* 2nd byte: 76 */ 0x9134,
+ /* 2nd byte: 77 */ 0x9136,
+ /* 2nd byte: 78 */ 0x9137,
+ /* 2nd byte: 79 */ 0x9139,
+ /* 2nd byte: 80 */ 0x913a,
+ /* 2nd byte: 81 */ 0x913c,
+ /* 2nd byte: 82 */ 0x913d,
+ /* 2nd byte: 83 */ 0x9143,
+ /* 2nd byte: 84 */ 0x9147,
+ /* 2nd byte: 85 */ 0x9148,
+ /* 2nd byte: 86 */ 0x914f,
+ /* 2nd byte: 87 */ 0x9153,
+ /* 2nd byte: 88 */ 0x9157,
+ /* 2nd byte: 89 */ 0x9159,
+ /* 2nd byte: 90 */ 0x915a,
+ /* 2nd byte: 91 */ 0x915b,
+ /* 2nd byte: 92 */ 0x9161,
+ /* 2nd byte: 93 */ 0x9164,
+ /* 2nd byte: 94 */ 0x9167,
+ /* 2nd byte: 95 */ 0x916d,
+ /* 2nd byte: 96 */ 0x9174,
+ /* 2nd byte: 97 */ 0x9179,
+ /* 2nd byte: 98 */ 0x917a,
+ /* 2nd byte: 99 */ 0x917b,
+ /* 2nd byte: 100 */ 0x9181,
+ /* 2nd byte: 101 */ 0x9183,
+ /* 2nd byte: 102 */ 0x9185,
+ /* 2nd byte: 103 */ 0x9186,
+ /* 2nd byte: 104 */ 0x918a,
+ /* 2nd byte: 105 */ 0x918e,
+ /* 2nd byte: 106 */ 0x9191,
+ /* 2nd byte: 107 */ 0x9193,
+ /* 2nd byte: 108 */ 0x9194,
+ /* 2nd byte: 109 */ 0x9195,
+ /* 2nd byte: 110 */ 0x9198,
+ /* 2nd byte: 111 */ 0x919e,
+ /* 2nd byte: 112 */ 0x91a1,
+ /* 2nd byte: 113 */ 0x91a6,
+ /* 2nd byte: 114 */ 0x91a8,
+ /* 2nd byte: 115 */ 0x91ac,
+ /* 2nd byte: 116 */ 0x91ad,
+ /* 2nd byte: 117 */ 0x91ae,
+ /* 2nd byte: 118 */ 0x91b0,
+ /* 2nd byte: 119 */ 0x91b1,
+ /* 2nd byte: 120 */ 0x91b2,
+ /* 2nd byte: 121 */ 0x91b3,
+ /* 2nd byte: 122 */ 0x91b6,
+ /* 2nd byte: 123 */ 0x91bb,
+ /* 2nd byte: 124 */ 0x91bc,
+ /* 2nd byte: 125 */ 0x91bd,
+ /* 2nd byte: 126 */ 0x91bf},
+/* 1st byte: 99 */ {
+ /* 2nd byte: 33 */ 0x91c2,
+ /* 2nd byte: 34 */ 0x91c3,
+ /* 2nd byte: 35 */ 0x91c5,
+ /* 2nd byte: 36 */ 0x91d3,
+ /* 2nd byte: 37 */ 0x91d4,
+ /* 2nd byte: 38 */ 0x91d7,
+ /* 2nd byte: 39 */ 0x91d9,
+ /* 2nd byte: 40 */ 0x91da,
+ /* 2nd byte: 41 */ 0x91de,
+ /* 2nd byte: 42 */ 0x91e4,
+ /* 2nd byte: 43 */ 0x91e5,
+ /* 2nd byte: 44 */ 0x91e9,
+ /* 2nd byte: 45 */ 0x91ea,
+ /* 2nd byte: 46 */ 0x91ec,
+ /* 2nd byte: 47 */ 0x91ed,
+ /* 2nd byte: 48 */ 0x91ee,
+ /* 2nd byte: 49 */ 0x91ef,
+ /* 2nd byte: 50 */ 0x91f0,
+ /* 2nd byte: 51 */ 0x91f1,
+ /* 2nd byte: 52 */ 0x91f7,
+ /* 2nd byte: 53 */ 0x91f9,
+ /* 2nd byte: 54 */ 0x91fb,
+ /* 2nd byte: 55 */ 0x91fd,
+ /* 2nd byte: 56 */ 0x9200,
+ /* 2nd byte: 57 */ 0x9201,
+ /* 2nd byte: 58 */ 0x9204,
+ /* 2nd byte: 59 */ 0x9205,
+ /* 2nd byte: 60 */ 0x9206,
+ /* 2nd byte: 61 */ 0x9207,
+ /* 2nd byte: 62 */ 0x9209,
+ /* 2nd byte: 63 */ 0x920a,
+ /* 2nd byte: 64 */ 0x920c,
+ /* 2nd byte: 65 */ 0x9210,
+ /* 2nd byte: 66 */ 0x9212,
+ /* 2nd byte: 67 */ 0x9213,
+ /* 2nd byte: 68 */ 0x9216,
+ /* 2nd byte: 69 */ 0x9218,
+ /* 2nd byte: 70 */ 0x921c,
+ /* 2nd byte: 71 */ 0x921d,
+ /* 2nd byte: 72 */ 0x9223,
+ /* 2nd byte: 73 */ 0x9224,
+ /* 2nd byte: 74 */ 0x9225,
+ /* 2nd byte: 75 */ 0x9226,
+ /* 2nd byte: 76 */ 0x9228,
+ /* 2nd byte: 77 */ 0x922e,
+ /* 2nd byte: 78 */ 0x922f,
+ /* 2nd byte: 79 */ 0x9230,
+ /* 2nd byte: 80 */ 0x9233,
+ /* 2nd byte: 81 */ 0x9235,
+ /* 2nd byte: 82 */ 0x9236,
+ /* 2nd byte: 83 */ 0x9238,
+ /* 2nd byte: 84 */ 0x9239,
+ /* 2nd byte: 85 */ 0x923a,
+ /* 2nd byte: 86 */ 0x923c,
+ /* 2nd byte: 87 */ 0x923e,
+ /* 2nd byte: 88 */ 0x9240,
+ /* 2nd byte: 89 */ 0x9242,
+ /* 2nd byte: 90 */ 0x9243,
+ /* 2nd byte: 91 */ 0x9246,
+ /* 2nd byte: 92 */ 0x9247,
+ /* 2nd byte: 93 */ 0x924a,
+ /* 2nd byte: 94 */ 0x924d,
+ /* 2nd byte: 95 */ 0x924e,
+ /* 2nd byte: 96 */ 0x924f,
+ /* 2nd byte: 97 */ 0x9251,
+ /* 2nd byte: 98 */ 0x9258,
+ /* 2nd byte: 99 */ 0x9259,
+ /* 2nd byte: 100 */ 0x925c,
+ /* 2nd byte: 101 */ 0x925d,
+ /* 2nd byte: 102 */ 0x9260,
+ /* 2nd byte: 103 */ 0x9261,
+ /* 2nd byte: 104 */ 0x9265,
+ /* 2nd byte: 105 */ 0x9267,
+ /* 2nd byte: 106 */ 0x9268,
+ /* 2nd byte: 107 */ 0x9269,
+ /* 2nd byte: 108 */ 0x926e,
+ /* 2nd byte: 109 */ 0x926f,
+ /* 2nd byte: 110 */ 0x9270,
+ /* 2nd byte: 111 */ 0x9275,
+ /* 2nd byte: 112 */ 0x9276,
+ /* 2nd byte: 113 */ 0x9277,
+ /* 2nd byte: 114 */ 0x9278,
+ /* 2nd byte: 115 */ 0x9279,
+ /* 2nd byte: 116 */ 0x927b,
+ /* 2nd byte: 117 */ 0x927c,
+ /* 2nd byte: 118 */ 0x927d,
+ /* 2nd byte: 119 */ 0x927f,
+ /* 2nd byte: 120 */ 0x9288,
+ /* 2nd byte: 121 */ 0x9289,
+ /* 2nd byte: 122 */ 0x928a,
+ /* 2nd byte: 123 */ 0x928d,
+ /* 2nd byte: 124 */ 0x928e,
+ /* 2nd byte: 125 */ 0x9292,
+ /* 2nd byte: 126 */ 0x9297},
+/* 1st byte: 100 */ {
+ /* 2nd byte: 33 */ 0x9299,
+ /* 2nd byte: 34 */ 0x929f,
+ /* 2nd byte: 35 */ 0x92a0,
+ /* 2nd byte: 36 */ 0x92a4,
+ /* 2nd byte: 37 */ 0x92a5,
+ /* 2nd byte: 38 */ 0x92a7,
+ /* 2nd byte: 39 */ 0x92a8,
+ /* 2nd byte: 40 */ 0x92ab,
+ /* 2nd byte: 41 */ 0x92af,
+ /* 2nd byte: 42 */ 0x92b2,
+ /* 2nd byte: 43 */ 0x92b6,
+ /* 2nd byte: 44 */ 0x92b8,
+ /* 2nd byte: 45 */ 0x92ba,
+ /* 2nd byte: 46 */ 0x92bb,
+ /* 2nd byte: 47 */ 0x92bc,
+ /* 2nd byte: 48 */ 0x92bd,
+ /* 2nd byte: 49 */ 0x92bf,
+ /* 2nd byte: 50 */ 0x92c0,
+ /* 2nd byte: 51 */ 0x92c1,
+ /* 2nd byte: 52 */ 0x92c2,
+ /* 2nd byte: 53 */ 0x92c3,
+ /* 2nd byte: 54 */ 0x92c5,
+ /* 2nd byte: 55 */ 0x92c6,
+ /* 2nd byte: 56 */ 0x92c7,
+ /* 2nd byte: 57 */ 0x92c8,
+ /* 2nd byte: 58 */ 0x92cb,
+ /* 2nd byte: 59 */ 0x92cc,
+ /* 2nd byte: 60 */ 0x92cd,
+ /* 2nd byte: 61 */ 0x92ce,
+ /* 2nd byte: 62 */ 0x92d0,
+ /* 2nd byte: 63 */ 0x92d3,
+ /* 2nd byte: 64 */ 0x92d5,
+ /* 2nd byte: 65 */ 0x92d7,
+ /* 2nd byte: 66 */ 0x92d8,
+ /* 2nd byte: 67 */ 0x92d9,
+ /* 2nd byte: 68 */ 0x92dc,
+ /* 2nd byte: 69 */ 0x92dd,
+ /* 2nd byte: 70 */ 0x92df,
+ /* 2nd byte: 71 */ 0x92e0,
+ /* 2nd byte: 72 */ 0x92e1,
+ /* 2nd byte: 73 */ 0x92e3,
+ /* 2nd byte: 74 */ 0x92e5,
+ /* 2nd byte: 75 */ 0x92e7,
+ /* 2nd byte: 76 */ 0x92e8,
+ /* 2nd byte: 77 */ 0x92ec,
+ /* 2nd byte: 78 */ 0x92ee,
+ /* 2nd byte: 79 */ 0x92f0,
+ /* 2nd byte: 80 */ 0x92f9,
+ /* 2nd byte: 81 */ 0x92fb,
+ /* 2nd byte: 82 */ 0x92ff,
+ /* 2nd byte: 83 */ 0x9300,
+ /* 2nd byte: 84 */ 0x9302,
+ /* 2nd byte: 85 */ 0x9308,
+ /* 2nd byte: 86 */ 0x930d,
+ /* 2nd byte: 87 */ 0x9311,
+ /* 2nd byte: 88 */ 0x9314,
+ /* 2nd byte: 89 */ 0x9315,
+ /* 2nd byte: 90 */ 0x931c,
+ /* 2nd byte: 91 */ 0x931d,
+ /* 2nd byte: 92 */ 0x931e,
+ /* 2nd byte: 93 */ 0x931f,
+ /* 2nd byte: 94 */ 0x9321,
+ /* 2nd byte: 95 */ 0x9324,
+ /* 2nd byte: 96 */ 0x9325,
+ /* 2nd byte: 97 */ 0x9327,
+ /* 2nd byte: 98 */ 0x9329,
+ /* 2nd byte: 99 */ 0x932a,
+ /* 2nd byte: 100 */ 0x9333,
+ /* 2nd byte: 101 */ 0x9334,
+ /* 2nd byte: 102 */ 0x9336,
+ /* 2nd byte: 103 */ 0x9337,
+ /* 2nd byte: 104 */ 0x9347,
+ /* 2nd byte: 105 */ 0x9348,
+ /* 2nd byte: 106 */ 0x9349,
+ /* 2nd byte: 107 */ 0x9350,
+ /* 2nd byte: 108 */ 0x9351,
+ /* 2nd byte: 109 */ 0x9352,
+ /* 2nd byte: 110 */ 0x9355,
+ /* 2nd byte: 111 */ 0x9357,
+ /* 2nd byte: 112 */ 0x9358,
+ /* 2nd byte: 113 */ 0x935a,
+ /* 2nd byte: 114 */ 0x935e,
+ /* 2nd byte: 115 */ 0x9364,
+ /* 2nd byte: 116 */ 0x9365,
+ /* 2nd byte: 117 */ 0x9367,
+ /* 2nd byte: 118 */ 0x9369,
+ /* 2nd byte: 119 */ 0x936a,
+ /* 2nd byte: 120 */ 0x936d,
+ /* 2nd byte: 121 */ 0x936f,
+ /* 2nd byte: 122 */ 0x9370,
+ /* 2nd byte: 123 */ 0x9371,
+ /* 2nd byte: 124 */ 0x9373,
+ /* 2nd byte: 125 */ 0x9374,
+ /* 2nd byte: 126 */ 0x9376},
+/* 1st byte: 101 */ {
+ /* 2nd byte: 33 */ 0x937a,
+ /* 2nd byte: 34 */ 0x937d,
+ /* 2nd byte: 35 */ 0x937f,
+ /* 2nd byte: 36 */ 0x9380,
+ /* 2nd byte: 37 */ 0x9381,
+ /* 2nd byte: 38 */ 0x9382,
+ /* 2nd byte: 39 */ 0x9388,
+ /* 2nd byte: 40 */ 0x938a,
+ /* 2nd byte: 41 */ 0x938b,
+ /* 2nd byte: 42 */ 0x938d,
+ /* 2nd byte: 43 */ 0x938f,
+ /* 2nd byte: 44 */ 0x9392,
+ /* 2nd byte: 45 */ 0x9395,
+ /* 2nd byte: 46 */ 0x9398,
+ /* 2nd byte: 47 */ 0x939b,
+ /* 2nd byte: 48 */ 0x939e,
+ /* 2nd byte: 49 */ 0x93a1,
+ /* 2nd byte: 50 */ 0x93a3,
+ /* 2nd byte: 51 */ 0x93a4,
+ /* 2nd byte: 52 */ 0x93a6,
+ /* 2nd byte: 53 */ 0x93a8,
+ /* 2nd byte: 54 */ 0x93ab,
+ /* 2nd byte: 55 */ 0x93b4,
+ /* 2nd byte: 56 */ 0x93b5,
+ /* 2nd byte: 57 */ 0x93b6,
+ /* 2nd byte: 58 */ 0x93ba,
+ /* 2nd byte: 59 */ 0x93a9,
+ /* 2nd byte: 60 */ 0x93c1,
+ /* 2nd byte: 61 */ 0x93c4,
+ /* 2nd byte: 62 */ 0x93c5,
+ /* 2nd byte: 63 */ 0x93c6,
+ /* 2nd byte: 64 */ 0x93c7,
+ /* 2nd byte: 65 */ 0x93c9,
+ /* 2nd byte: 66 */ 0x93ca,
+ /* 2nd byte: 67 */ 0x93cb,
+ /* 2nd byte: 68 */ 0x93cc,
+ /* 2nd byte: 69 */ 0x93cd,
+ /* 2nd byte: 70 */ 0x93d3,
+ /* 2nd byte: 71 */ 0x93d9,
+ /* 2nd byte: 72 */ 0x93dc,
+ /* 2nd byte: 73 */ 0x93de,
+ /* 2nd byte: 74 */ 0x93df,
+ /* 2nd byte: 75 */ 0x93e2,
+ /* 2nd byte: 76 */ 0x93e6,
+ /* 2nd byte: 77 */ 0x93e7,
+ /* 2nd byte: 78 */ 0x93f9,
+ /* 2nd byte: 79 */ 0x93f7,
+ /* 2nd byte: 80 */ 0x93f8,
+ /* 2nd byte: 81 */ 0x93fa,
+ /* 2nd byte: 82 */ 0x93fb,
+ /* 2nd byte: 83 */ 0x93fd,
+ /* 2nd byte: 84 */ 0x9401,
+ /* 2nd byte: 85 */ 0x9402,
+ /* 2nd byte: 86 */ 0x9404,
+ /* 2nd byte: 87 */ 0x9408,
+ /* 2nd byte: 88 */ 0x9409,
+ /* 2nd byte: 89 */ 0x940d,
+ /* 2nd byte: 90 */ 0x940e,
+ /* 2nd byte: 91 */ 0x940f,
+ /* 2nd byte: 92 */ 0x9415,
+ /* 2nd byte: 93 */ 0x9416,
+ /* 2nd byte: 94 */ 0x9417,
+ /* 2nd byte: 95 */ 0x941f,
+ /* 2nd byte: 96 */ 0x942e,
+ /* 2nd byte: 97 */ 0x942f,
+ /* 2nd byte: 98 */ 0x9431,
+ /* 2nd byte: 99 */ 0x9432,
+ /* 2nd byte: 100 */ 0x9433,
+ /* 2nd byte: 101 */ 0x9434,
+ /* 2nd byte: 102 */ 0x943b,
+ /* 2nd byte: 103 */ 0x943f,
+ /* 2nd byte: 104 */ 0x943d,
+ /* 2nd byte: 105 */ 0x9443,
+ /* 2nd byte: 106 */ 0x9445,
+ /* 2nd byte: 107 */ 0x9448,
+ /* 2nd byte: 108 */ 0x944a,
+ /* 2nd byte: 109 */ 0x944c,
+ /* 2nd byte: 110 */ 0x9455,
+ /* 2nd byte: 111 */ 0x9459,
+ /* 2nd byte: 112 */ 0x945c,
+ /* 2nd byte: 113 */ 0x945f,
+ /* 2nd byte: 114 */ 0x9461,
+ /* 2nd byte: 115 */ 0x9463,
+ /* 2nd byte: 116 */ 0x9468,
+ /* 2nd byte: 117 */ 0x946b,
+ /* 2nd byte: 118 */ 0x946d,
+ /* 2nd byte: 119 */ 0x946e,
+ /* 2nd byte: 120 */ 0x946f,
+ /* 2nd byte: 121 */ 0x9471,
+ /* 2nd byte: 122 */ 0x9472,
+ /* 2nd byte: 123 */ 0x9484,
+ /* 2nd byte: 124 */ 0x9483,
+ /* 2nd byte: 125 */ 0x9578,
+ /* 2nd byte: 126 */ 0x9579},
+/* 1st byte: 102 */ {
+ /* 2nd byte: 33 */ 0x957e,
+ /* 2nd byte: 34 */ 0x9584,
+ /* 2nd byte: 35 */ 0x9588,
+ /* 2nd byte: 36 */ 0x958c,
+ /* 2nd byte: 37 */ 0x958d,
+ /* 2nd byte: 38 */ 0x958e,
+ /* 2nd byte: 39 */ 0x959d,
+ /* 2nd byte: 40 */ 0x959e,
+ /* 2nd byte: 41 */ 0x959f,
+ /* 2nd byte: 42 */ 0x95a1,
+ /* 2nd byte: 43 */ 0x95a6,
+ /* 2nd byte: 44 */ 0x95a9,
+ /* 2nd byte: 45 */ 0x95ab,
+ /* 2nd byte: 46 */ 0x95ac,
+ /* 2nd byte: 47 */ 0x95b4,
+ /* 2nd byte: 48 */ 0x95b6,
+ /* 2nd byte: 49 */ 0x95ba,
+ /* 2nd byte: 50 */ 0x95bd,
+ /* 2nd byte: 51 */ 0x95bf,
+ /* 2nd byte: 52 */ 0x95c6,
+ /* 2nd byte: 53 */ 0x95c8,
+ /* 2nd byte: 54 */ 0x95c9,
+ /* 2nd byte: 55 */ 0x95cb,
+ /* 2nd byte: 56 */ 0x95d0,
+ /* 2nd byte: 57 */ 0x95d1,
+ /* 2nd byte: 58 */ 0x95d2,
+ /* 2nd byte: 59 */ 0x95d3,
+ /* 2nd byte: 60 */ 0x95d9,
+ /* 2nd byte: 61 */ 0x95da,
+ /* 2nd byte: 62 */ 0x95dd,
+ /* 2nd byte: 63 */ 0x95de,
+ /* 2nd byte: 64 */ 0x95df,
+ /* 2nd byte: 65 */ 0x95e0,
+ /* 2nd byte: 66 */ 0x95e4,
+ /* 2nd byte: 67 */ 0x95e6,
+ /* 2nd byte: 68 */ 0x961d,
+ /* 2nd byte: 69 */ 0x961e,
+ /* 2nd byte: 70 */ 0x9622,
+ /* 2nd byte: 71 */ 0x9624,
+ /* 2nd byte: 72 */ 0x9625,
+ /* 2nd byte: 73 */ 0x9626,
+ /* 2nd byte: 74 */ 0x962c,
+ /* 2nd byte: 75 */ 0x9631,
+ /* 2nd byte: 76 */ 0x9633,
+ /* 2nd byte: 77 */ 0x9637,
+ /* 2nd byte: 78 */ 0x9638,
+ /* 2nd byte: 79 */ 0x9639,
+ /* 2nd byte: 80 */ 0x963a,
+ /* 2nd byte: 81 */ 0x963c,
+ /* 2nd byte: 82 */ 0x963d,
+ /* 2nd byte: 83 */ 0x9641,
+ /* 2nd byte: 84 */ 0x9652,
+ /* 2nd byte: 85 */ 0x9654,
+ /* 2nd byte: 86 */ 0x9656,
+ /* 2nd byte: 87 */ 0x9657,
+ /* 2nd byte: 88 */ 0x9658,
+ /* 2nd byte: 89 */ 0x9661,
+ /* 2nd byte: 90 */ 0x966e,
+ /* 2nd byte: 91 */ 0x9674,
+ /* 2nd byte: 92 */ 0x967b,
+ /* 2nd byte: 93 */ 0x967c,
+ /* 2nd byte: 94 */ 0x967e,
+ /* 2nd byte: 95 */ 0x967f,
+ /* 2nd byte: 96 */ 0x9681,
+ /* 2nd byte: 97 */ 0x9682,
+ /* 2nd byte: 98 */ 0x9683,
+ /* 2nd byte: 99 */ 0x9684,
+ /* 2nd byte: 100 */ 0x9689,
+ /* 2nd byte: 101 */ 0x9691,
+ /* 2nd byte: 102 */ 0x9696,
+ /* 2nd byte: 103 */ 0x969a,
+ /* 2nd byte: 104 */ 0x969d,
+ /* 2nd byte: 105 */ 0x969f,
+ /* 2nd byte: 106 */ 0x96a4,
+ /* 2nd byte: 107 */ 0x96a5,
+ /* 2nd byte: 108 */ 0x96a6,
+ /* 2nd byte: 109 */ 0x96a9,
+ /* 2nd byte: 110 */ 0x96ae,
+ /* 2nd byte: 111 */ 0x96af,
+ /* 2nd byte: 112 */ 0x96b3,
+ /* 2nd byte: 113 */ 0x96ba,
+ /* 2nd byte: 114 */ 0x96ca,
+ /* 2nd byte: 115 */ 0x96d2,
+ /* 2nd byte: 116 */ 0x5db2,
+ /* 2nd byte: 117 */ 0x96d8,
+ /* 2nd byte: 118 */ 0x96da,
+ /* 2nd byte: 119 */ 0x96dd,
+ /* 2nd byte: 120 */ 0x96de,
+ /* 2nd byte: 121 */ 0x96df,
+ /* 2nd byte: 122 */ 0x96e9,
+ /* 2nd byte: 123 */ 0x96ef,
+ /* 2nd byte: 124 */ 0x96f1,
+ /* 2nd byte: 125 */ 0x96fa,
+ /* 2nd byte: 126 */ 0x9702},
+/* 1st byte: 103 */ {
+ /* 2nd byte: 33 */ 0x9703,
+ /* 2nd byte: 34 */ 0x9705,
+ /* 2nd byte: 35 */ 0x9709,
+ /* 2nd byte: 36 */ 0x971a,
+ /* 2nd byte: 37 */ 0x971b,
+ /* 2nd byte: 38 */ 0x971d,
+ /* 2nd byte: 39 */ 0x9721,
+ /* 2nd byte: 40 */ 0x9722,
+ /* 2nd byte: 41 */ 0x9723,
+ /* 2nd byte: 42 */ 0x9728,
+ /* 2nd byte: 43 */ 0x9731,
+ /* 2nd byte: 44 */ 0x9733,
+ /* 2nd byte: 45 */ 0x9741,
+ /* 2nd byte: 46 */ 0x9743,
+ /* 2nd byte: 47 */ 0x974a,
+ /* 2nd byte: 48 */ 0x974e,
+ /* 2nd byte: 49 */ 0x974f,
+ /* 2nd byte: 50 */ 0x9755,
+ /* 2nd byte: 51 */ 0x9757,
+ /* 2nd byte: 52 */ 0x9758,
+ /* 2nd byte: 53 */ 0x975a,
+ /* 2nd byte: 54 */ 0x975b,
+ /* 2nd byte: 55 */ 0x9763,
+ /* 2nd byte: 56 */ 0x9767,
+ /* 2nd byte: 57 */ 0x976a,
+ /* 2nd byte: 58 */ 0x976e,
+ /* 2nd byte: 59 */ 0x9773,
+ /* 2nd byte: 60 */ 0x9776,
+ /* 2nd byte: 61 */ 0x9777,
+ /* 2nd byte: 62 */ 0x9778,
+ /* 2nd byte: 63 */ 0x977b,
+ /* 2nd byte: 64 */ 0x977d,
+ /* 2nd byte: 65 */ 0x977f,
+ /* 2nd byte: 66 */ 0x9780,
+ /* 2nd byte: 67 */ 0x9789,
+ /* 2nd byte: 68 */ 0x9795,
+ /* 2nd byte: 69 */ 0x9796,
+ /* 2nd byte: 70 */ 0x9797,
+ /* 2nd byte: 71 */ 0x9799,
+ /* 2nd byte: 72 */ 0x979a,
+ /* 2nd byte: 73 */ 0x979e,
+ /* 2nd byte: 74 */ 0x979f,
+ /* 2nd byte: 75 */ 0x97a2,
+ /* 2nd byte: 76 */ 0x97ac,
+ /* 2nd byte: 77 */ 0x97ae,
+ /* 2nd byte: 78 */ 0x97b1,
+ /* 2nd byte: 79 */ 0x97b2,
+ /* 2nd byte: 80 */ 0x97b5,
+ /* 2nd byte: 81 */ 0x97b6,
+ /* 2nd byte: 82 */ 0x97b8,
+ /* 2nd byte: 83 */ 0x97b9,
+ /* 2nd byte: 84 */ 0x97ba,
+ /* 2nd byte: 85 */ 0x97bc,
+ /* 2nd byte: 86 */ 0x97be,
+ /* 2nd byte: 87 */ 0x97bf,
+ /* 2nd byte: 88 */ 0x97c1,
+ /* 2nd byte: 89 */ 0x97c4,
+ /* 2nd byte: 90 */ 0x97c5,
+ /* 2nd byte: 91 */ 0x97c7,
+ /* 2nd byte: 92 */ 0x97c9,
+ /* 2nd byte: 93 */ 0x97ca,
+ /* 2nd byte: 94 */ 0x97cc,
+ /* 2nd byte: 95 */ 0x97cd,
+ /* 2nd byte: 96 */ 0x97ce,
+ /* 2nd byte: 97 */ 0x97d0,
+ /* 2nd byte: 98 */ 0x97d1,
+ /* 2nd byte: 99 */ 0x97d4,
+ /* 2nd byte: 100 */ 0x97d7,
+ /* 2nd byte: 101 */ 0x97d8,
+ /* 2nd byte: 102 */ 0x97d9,
+ /* 2nd byte: 103 */ 0x97dd,
+ /* 2nd byte: 104 */ 0x97de,
+ /* 2nd byte: 105 */ 0x97e0,
+ /* 2nd byte: 106 */ 0x97db,
+ /* 2nd byte: 107 */ 0x97e1,
+ /* 2nd byte: 108 */ 0x97e4,
+ /* 2nd byte: 109 */ 0x97ef,
+ /* 2nd byte: 110 */ 0x97f1,
+ /* 2nd byte: 111 */ 0x97f4,
+ /* 2nd byte: 112 */ 0x97f7,
+ /* 2nd byte: 113 */ 0x97f8,
+ /* 2nd byte: 114 */ 0x97fa,
+ /* 2nd byte: 115 */ 0x9807,
+ /* 2nd byte: 116 */ 0x980a,
+ /* 2nd byte: 117 */ 0x9819,
+ /* 2nd byte: 118 */ 0x980d,
+ /* 2nd byte: 119 */ 0x980e,
+ /* 2nd byte: 120 */ 0x9814,
+ /* 2nd byte: 121 */ 0x9816,
+ /* 2nd byte: 122 */ 0x981c,
+ /* 2nd byte: 123 */ 0x981e,
+ /* 2nd byte: 124 */ 0x9820,
+ /* 2nd byte: 125 */ 0x9823,
+ /* 2nd byte: 126 */ 0x9826},
+/* 1st byte: 104 */ {
+ /* 2nd byte: 33 */ 0x982b,
+ /* 2nd byte: 34 */ 0x982e,
+ /* 2nd byte: 35 */ 0x982f,
+ /* 2nd byte: 36 */ 0x9830,
+ /* 2nd byte: 37 */ 0x9832,
+ /* 2nd byte: 38 */ 0x9833,
+ /* 2nd byte: 39 */ 0x9835,
+ /* 2nd byte: 40 */ 0x9825,
+ /* 2nd byte: 41 */ 0x983e,
+ /* 2nd byte: 42 */ 0x9844,
+ /* 2nd byte: 43 */ 0x9847,
+ /* 2nd byte: 44 */ 0x984a,
+ /* 2nd byte: 45 */ 0x9851,
+ /* 2nd byte: 46 */ 0x9852,
+ /* 2nd byte: 47 */ 0x9853,
+ /* 2nd byte: 48 */ 0x9856,
+ /* 2nd byte: 49 */ 0x9857,
+ /* 2nd byte: 50 */ 0x9859,
+ /* 2nd byte: 51 */ 0x985a,
+ /* 2nd byte: 52 */ 0x9862,
+ /* 2nd byte: 53 */ 0x9863,
+ /* 2nd byte: 54 */ 0x9865,
+ /* 2nd byte: 55 */ 0x9866,
+ /* 2nd byte: 56 */ 0x986a,
+ /* 2nd byte: 57 */ 0x986c,
+ /* 2nd byte: 58 */ 0x98ab,
+ /* 2nd byte: 59 */ 0x98ad,
+ /* 2nd byte: 60 */ 0x98ae,
+ /* 2nd byte: 61 */ 0x98b0,
+ /* 2nd byte: 62 */ 0x98b4,
+ /* 2nd byte: 63 */ 0x98b7,
+ /* 2nd byte: 64 */ 0x98b8,
+ /* 2nd byte: 65 */ 0x98ba,
+ /* 2nd byte: 66 */ 0x98bb,
+ /* 2nd byte: 67 */ 0x98bf,
+ /* 2nd byte: 68 */ 0x98c2,
+ /* 2nd byte: 69 */ 0x98c5,
+ /* 2nd byte: 70 */ 0x98c8,
+ /* 2nd byte: 71 */ 0x98cc,
+ /* 2nd byte: 72 */ 0x98e1,
+ /* 2nd byte: 73 */ 0x98e3,
+ /* 2nd byte: 74 */ 0x98e5,
+ /* 2nd byte: 75 */ 0x98e6,
+ /* 2nd byte: 76 */ 0x98e7,
+ /* 2nd byte: 77 */ 0x98ea,
+ /* 2nd byte: 78 */ 0x98f3,
+ /* 2nd byte: 79 */ 0x98f6,
+ /* 2nd byte: 80 */ 0x9902,
+ /* 2nd byte: 81 */ 0x9907,
+ /* 2nd byte: 82 */ 0x9908,
+ /* 2nd byte: 83 */ 0x9911,
+ /* 2nd byte: 84 */ 0x9915,
+ /* 2nd byte: 85 */ 0x9916,
+ /* 2nd byte: 86 */ 0x9917,
+ /* 2nd byte: 87 */ 0x991a,
+ /* 2nd byte: 88 */ 0x991b,
+ /* 2nd byte: 89 */ 0x991c,
+ /* 2nd byte: 90 */ 0x991f,
+ /* 2nd byte: 91 */ 0x9922,
+ /* 2nd byte: 92 */ 0x9926,
+ /* 2nd byte: 93 */ 0x9927,
+ /* 2nd byte: 94 */ 0x992b,
+ /* 2nd byte: 95 */ 0x9931,
+ /* 2nd byte: 96 */ 0x9932,
+ /* 2nd byte: 97 */ 0x9933,
+ /* 2nd byte: 98 */ 0x9934,
+ /* 2nd byte: 99 */ 0x9935,
+ /* 2nd byte: 100 */ 0x9939,
+ /* 2nd byte: 101 */ 0x993a,
+ /* 2nd byte: 102 */ 0x993b,
+ /* 2nd byte: 103 */ 0x993c,
+ /* 2nd byte: 104 */ 0x9940,
+ /* 2nd byte: 105 */ 0x9941,
+ /* 2nd byte: 106 */ 0x9946,
+ /* 2nd byte: 107 */ 0x9947,
+ /* 2nd byte: 108 */ 0x9948,
+ /* 2nd byte: 109 */ 0x994d,
+ /* 2nd byte: 110 */ 0x994e,
+ /* 2nd byte: 111 */ 0x9954,
+ /* 2nd byte: 112 */ 0x9958,
+ /* 2nd byte: 113 */ 0x9959,
+ /* 2nd byte: 114 */ 0x995b,
+ /* 2nd byte: 115 */ 0x995c,
+ /* 2nd byte: 116 */ 0x995e,
+ /* 2nd byte: 117 */ 0x995f,
+ /* 2nd byte: 118 */ 0x9960,
+ /* 2nd byte: 119 */ 0x999b,
+ /* 2nd byte: 120 */ 0x999d,
+ /* 2nd byte: 121 */ 0x999f,
+ /* 2nd byte: 122 */ 0x99a6,
+ /* 2nd byte: 123 */ 0x99b0,
+ /* 2nd byte: 124 */ 0x99b1,
+ /* 2nd byte: 125 */ 0x99b2,
+ /* 2nd byte: 126 */ 0x99b5},
+/* 1st byte: 105 */ {
+ /* 2nd byte: 33 */ 0x99b9,
+ /* 2nd byte: 34 */ 0x99ba,
+ /* 2nd byte: 35 */ 0x99bd,
+ /* 2nd byte: 36 */ 0x99bf,
+ /* 2nd byte: 37 */ 0x99c3,
+ /* 2nd byte: 38 */ 0x99c9,
+ /* 2nd byte: 39 */ 0x99d3,
+ /* 2nd byte: 40 */ 0x99d4,
+ /* 2nd byte: 41 */ 0x99d9,
+ /* 2nd byte: 42 */ 0x99da,
+ /* 2nd byte: 43 */ 0x99dc,
+ /* 2nd byte: 44 */ 0x99de,
+ /* 2nd byte: 45 */ 0x99e7,
+ /* 2nd byte: 46 */ 0x99ea,
+ /* 2nd byte: 47 */ 0x99eb,
+ /* 2nd byte: 48 */ 0x99ec,
+ /* 2nd byte: 49 */ 0x99f0,
+ /* 2nd byte: 50 */ 0x99f4,
+ /* 2nd byte: 51 */ 0x99f5,
+ /* 2nd byte: 52 */ 0x99f9,
+ /* 2nd byte: 53 */ 0x99fd,
+ /* 2nd byte: 54 */ 0x99fe,
+ /* 2nd byte: 55 */ 0x9a02,
+ /* 2nd byte: 56 */ 0x9a03,
+ /* 2nd byte: 57 */ 0x9a04,
+ /* 2nd byte: 58 */ 0x9a0b,
+ /* 2nd byte: 59 */ 0x9a0c,
+ /* 2nd byte: 60 */ 0x9a10,
+ /* 2nd byte: 61 */ 0x9a11,
+ /* 2nd byte: 62 */ 0x9a16,
+ /* 2nd byte: 63 */ 0x9a1e,
+ /* 2nd byte: 64 */ 0x9a20,
+ /* 2nd byte: 65 */ 0x9a22,
+ /* 2nd byte: 66 */ 0x9a23,
+ /* 2nd byte: 67 */ 0x9a24,
+ /* 2nd byte: 68 */ 0x9a27,
+ /* 2nd byte: 69 */ 0x9a2d,
+ /* 2nd byte: 70 */ 0x9a2e,
+ /* 2nd byte: 71 */ 0x9a33,
+ /* 2nd byte: 72 */ 0x9a35,
+ /* 2nd byte: 73 */ 0x9a36,
+ /* 2nd byte: 74 */ 0x9a38,
+ /* 2nd byte: 75 */ 0x9a47,
+ /* 2nd byte: 76 */ 0x9a41,
+ /* 2nd byte: 77 */ 0x9a44,
+ /* 2nd byte: 78 */ 0x9a4a,
+ /* 2nd byte: 79 */ 0x9a4b,
+ /* 2nd byte: 80 */ 0x9a4c,
+ /* 2nd byte: 81 */ 0x9a4e,
+ /* 2nd byte: 82 */ 0x9a51,
+ /* 2nd byte: 83 */ 0x9a54,
+ /* 2nd byte: 84 */ 0x9a56,
+ /* 2nd byte: 85 */ 0x9a5d,
+ /* 2nd byte: 86 */ 0x9aaa,
+ /* 2nd byte: 87 */ 0x9aac,
+ /* 2nd byte: 88 */ 0x9aae,
+ /* 2nd byte: 89 */ 0x9aaf,
+ /* 2nd byte: 90 */ 0x9ab2,
+ /* 2nd byte: 91 */ 0x9ab4,
+ /* 2nd byte: 92 */ 0x9ab5,
+ /* 2nd byte: 93 */ 0x9ab6,
+ /* 2nd byte: 94 */ 0x9ab9,
+ /* 2nd byte: 95 */ 0x9abb,
+ /* 2nd byte: 96 */ 0x9abe,
+ /* 2nd byte: 97 */ 0x9abf,
+ /* 2nd byte: 98 */ 0x9ac1,
+ /* 2nd byte: 99 */ 0x9ac3,
+ /* 2nd byte: 100 */ 0x9ac6,
+ /* 2nd byte: 101 */ 0x9ac8,
+ /* 2nd byte: 102 */ 0x9ace,
+ /* 2nd byte: 103 */ 0x9ad0,
+ /* 2nd byte: 104 */ 0x9ad2,
+ /* 2nd byte: 105 */ 0x9ad5,
+ /* 2nd byte: 106 */ 0x9ad6,
+ /* 2nd byte: 107 */ 0x9ad7,
+ /* 2nd byte: 108 */ 0x9adb,
+ /* 2nd byte: 109 */ 0x9adc,
+ /* 2nd byte: 110 */ 0x9ae0,
+ /* 2nd byte: 111 */ 0x9ae4,
+ /* 2nd byte: 112 */ 0x9ae5,
+ /* 2nd byte: 113 */ 0x9ae7,
+ /* 2nd byte: 114 */ 0x9ae9,
+ /* 2nd byte: 115 */ 0x9aec,
+ /* 2nd byte: 116 */ 0x9af2,
+ /* 2nd byte: 117 */ 0x9af3,
+ /* 2nd byte: 118 */ 0x9af5,
+ /* 2nd byte: 119 */ 0x9af9,
+ /* 2nd byte: 120 */ 0x9afa,
+ /* 2nd byte: 121 */ 0x9afd,
+ /* 2nd byte: 122 */ 0x9aff,
+ /* 2nd byte: 123 */ 0x9b00,
+ /* 2nd byte: 124 */ 0x9b01,
+ /* 2nd byte: 125 */ 0x9b02,
+ /* 2nd byte: 126 */ 0x9b03},
+/* 1st byte: 106 */ {
+ /* 2nd byte: 33 */ 0x9b04,
+ /* 2nd byte: 34 */ 0x9b05,
+ /* 2nd byte: 35 */ 0x9b08,
+ /* 2nd byte: 36 */ 0x9b09,
+ /* 2nd byte: 37 */ 0x9b0b,
+ /* 2nd byte: 38 */ 0x9b0c,
+ /* 2nd byte: 39 */ 0x9b0d,
+ /* 2nd byte: 40 */ 0x9b0e,
+ /* 2nd byte: 41 */ 0x9b10,
+ /* 2nd byte: 42 */ 0x9b12,
+ /* 2nd byte: 43 */ 0x9b16,
+ /* 2nd byte: 44 */ 0x9b19,
+ /* 2nd byte: 45 */ 0x9b1b,
+ /* 2nd byte: 46 */ 0x9b1c,
+ /* 2nd byte: 47 */ 0x9b20,
+ /* 2nd byte: 48 */ 0x9b26,
+ /* 2nd byte: 49 */ 0x9b2b,
+ /* 2nd byte: 50 */ 0x9b2d,
+ /* 2nd byte: 51 */ 0x9b33,
+ /* 2nd byte: 52 */ 0x9b34,
+ /* 2nd byte: 53 */ 0x9b35,
+ /* 2nd byte: 54 */ 0x9b37,
+ /* 2nd byte: 55 */ 0x9b39,
+ /* 2nd byte: 56 */ 0x9b3a,
+ /* 2nd byte: 57 */ 0x9b3d,
+ /* 2nd byte: 58 */ 0x9b48,
+ /* 2nd byte: 59 */ 0x9b4b,
+ /* 2nd byte: 60 */ 0x9b4c,
+ /* 2nd byte: 61 */ 0x9b55,
+ /* 2nd byte: 62 */ 0x9b56,
+ /* 2nd byte: 63 */ 0x9b57,
+ /* 2nd byte: 64 */ 0x9b5b,
+ /* 2nd byte: 65 */ 0x9b5e,
+ /* 2nd byte: 66 */ 0x9b61,
+ /* 2nd byte: 67 */ 0x9b63,
+ /* 2nd byte: 68 */ 0x9b65,
+ /* 2nd byte: 69 */ 0x9b66,
+ /* 2nd byte: 70 */ 0x9b68,
+ /* 2nd byte: 71 */ 0x9b6a,
+ /* 2nd byte: 72 */ 0x9b6b,
+ /* 2nd byte: 73 */ 0x9b6c,
+ /* 2nd byte: 74 */ 0x9b6d,
+ /* 2nd byte: 75 */ 0x9b6e,
+ /* 2nd byte: 76 */ 0x9b73,
+ /* 2nd byte: 77 */ 0x9b75,
+ /* 2nd byte: 78 */ 0x9b77,
+ /* 2nd byte: 79 */ 0x9b78,
+ /* 2nd byte: 80 */ 0x9b79,
+ /* 2nd byte: 81 */ 0x9b7f,
+ /* 2nd byte: 82 */ 0x9b80,
+ /* 2nd byte: 83 */ 0x9b84,
+ /* 2nd byte: 84 */ 0x9b85,
+ /* 2nd byte: 85 */ 0x9b86,
+ /* 2nd byte: 86 */ 0x9b87,
+ /* 2nd byte: 87 */ 0x9b89,
+ /* 2nd byte: 88 */ 0x9b8a,
+ /* 2nd byte: 89 */ 0x9b8b,
+ /* 2nd byte: 90 */ 0x9b8d,
+ /* 2nd byte: 91 */ 0x9b8f,
+ /* 2nd byte: 92 */ 0x9b90,
+ /* 2nd byte: 93 */ 0x9b94,
+ /* 2nd byte: 94 */ 0x9b9a,
+ /* 2nd byte: 95 */ 0x9b9d,
+ /* 2nd byte: 96 */ 0x9b9e,
+ /* 2nd byte: 97 */ 0x9ba6,
+ /* 2nd byte: 98 */ 0x9ba7,
+ /* 2nd byte: 99 */ 0x9ba9,
+ /* 2nd byte: 100 */ 0x9bac,
+ /* 2nd byte: 101 */ 0x9bb0,
+ /* 2nd byte: 102 */ 0x9bb1,
+ /* 2nd byte: 103 */ 0x9bb2,
+ /* 2nd byte: 104 */ 0x9bb7,
+ /* 2nd byte: 105 */ 0x9bb8,
+ /* 2nd byte: 106 */ 0x9bbb,
+ /* 2nd byte: 107 */ 0x9bbc,
+ /* 2nd byte: 108 */ 0x9bbe,
+ /* 2nd byte: 109 */ 0x9bbf,
+ /* 2nd byte: 110 */ 0x9bc1,
+ /* 2nd byte: 111 */ 0x9bc7,
+ /* 2nd byte: 112 */ 0x9bc8,
+ /* 2nd byte: 113 */ 0x9bce,
+ /* 2nd byte: 114 */ 0x9bd0,
+ /* 2nd byte: 115 */ 0x9bd7,
+ /* 2nd byte: 116 */ 0x9bd8,
+ /* 2nd byte: 117 */ 0x9bdd,
+ /* 2nd byte: 118 */ 0x9bdf,
+ /* 2nd byte: 119 */ 0x9be5,
+ /* 2nd byte: 120 */ 0x9be7,
+ /* 2nd byte: 121 */ 0x9bea,
+ /* 2nd byte: 122 */ 0x9beb,
+ /* 2nd byte: 123 */ 0x9bef,
+ /* 2nd byte: 124 */ 0x9bf3,
+ /* 2nd byte: 125 */ 0x9bf7,
+ /* 2nd byte: 126 */ 0x9bf8},
+/* 1st byte: 107 */ {
+ /* 2nd byte: 33 */ 0x9bf9,
+ /* 2nd byte: 34 */ 0x9bfa,
+ /* 2nd byte: 35 */ 0x9bfd,
+ /* 2nd byte: 36 */ 0x9bff,
+ /* 2nd byte: 37 */ 0x9c00,
+ /* 2nd byte: 38 */ 0x9c02,
+ /* 2nd byte: 39 */ 0x9c0b,
+ /* 2nd byte: 40 */ 0x9c0f,
+ /* 2nd byte: 41 */ 0x9c11,
+ /* 2nd byte: 42 */ 0x9c16,
+ /* 2nd byte: 43 */ 0x9c18,
+ /* 2nd byte: 44 */ 0x9c19,
+ /* 2nd byte: 45 */ 0x9c1a,
+ /* 2nd byte: 46 */ 0x9c1c,
+ /* 2nd byte: 47 */ 0x9c1e,
+ /* 2nd byte: 48 */ 0x9c22,
+ /* 2nd byte: 49 */ 0x9c23,
+ /* 2nd byte: 50 */ 0x9c26,
+ /* 2nd byte: 51 */ 0x9c27,
+ /* 2nd byte: 52 */ 0x9c28,
+ /* 2nd byte: 53 */ 0x9c29,
+ /* 2nd byte: 54 */ 0x9c2a,
+ /* 2nd byte: 55 */ 0x9c31,
+ /* 2nd byte: 56 */ 0x9c35,
+ /* 2nd byte: 57 */ 0x9c36,
+ /* 2nd byte: 58 */ 0x9c37,
+ /* 2nd byte: 59 */ 0x9c3d,
+ /* 2nd byte: 60 */ 0x9c41,
+ /* 2nd byte: 61 */ 0x9c43,
+ /* 2nd byte: 62 */ 0x9c44,
+ /* 2nd byte: 63 */ 0x9c45,
+ /* 2nd byte: 64 */ 0x9c49,
+ /* 2nd byte: 65 */ 0x9c4a,
+ /* 2nd byte: 66 */ 0x9c4e,
+ /* 2nd byte: 67 */ 0x9c4f,
+ /* 2nd byte: 68 */ 0x9c50,
+ /* 2nd byte: 69 */ 0x9c53,
+ /* 2nd byte: 70 */ 0x9c54,
+ /* 2nd byte: 71 */ 0x9c56,
+ /* 2nd byte: 72 */ 0x9c58,
+ /* 2nd byte: 73 */ 0x9c5b,
+ /* 2nd byte: 74 */ 0x9c5d,
+ /* 2nd byte: 75 */ 0x9c5e,
+ /* 2nd byte: 76 */ 0x9c5f,
+ /* 2nd byte: 77 */ 0x9c63,
+ /* 2nd byte: 78 */ 0x9c69,
+ /* 2nd byte: 79 */ 0x9c6a,
+ /* 2nd byte: 80 */ 0x9c5c,
+ /* 2nd byte: 81 */ 0x9c6b,
+ /* 2nd byte: 82 */ 0x9c68,
+ /* 2nd byte: 83 */ 0x9c6e,
+ /* 2nd byte: 84 */ 0x9c70,
+ /* 2nd byte: 85 */ 0x9c72,
+ /* 2nd byte: 86 */ 0x9c75,
+ /* 2nd byte: 87 */ 0x9c77,
+ /* 2nd byte: 88 */ 0x9c7b,
+ /* 2nd byte: 89 */ 0x9ce6,
+ /* 2nd byte: 90 */ 0x9cf2,
+ /* 2nd byte: 91 */ 0x9cf7,
+ /* 2nd byte: 92 */ 0x9cf9,
+ /* 2nd byte: 93 */ 0x9d0b,
+ /* 2nd byte: 94 */ 0x9d02,
+ /* 2nd byte: 95 */ 0x9d11,
+ /* 2nd byte: 96 */ 0x9d17,
+ /* 2nd byte: 97 */ 0x9d18,
+ /* 2nd byte: 98 */ 0x9d1c,
+ /* 2nd byte: 99 */ 0x9d1d,
+ /* 2nd byte: 100 */ 0x9d1e,
+ /* 2nd byte: 101 */ 0x9d2f,
+ /* 2nd byte: 102 */ 0x9d30,
+ /* 2nd byte: 103 */ 0x9d32,
+ /* 2nd byte: 104 */ 0x9d33,
+ /* 2nd byte: 105 */ 0x9d34,
+ /* 2nd byte: 106 */ 0x9d3a,
+ /* 2nd byte: 107 */ 0x9d3c,
+ /* 2nd byte: 108 */ 0x9d45,
+ /* 2nd byte: 109 */ 0x9d3d,
+ /* 2nd byte: 110 */ 0x9d42,
+ /* 2nd byte: 111 */ 0x9d43,
+ /* 2nd byte: 112 */ 0x9d47,
+ /* 2nd byte: 113 */ 0x9d4a,
+ /* 2nd byte: 114 */ 0x9d53,
+ /* 2nd byte: 115 */ 0x9d54,
+ /* 2nd byte: 116 */ 0x9d5f,
+ /* 2nd byte: 117 */ 0x9d63,
+ /* 2nd byte: 118 */ 0x9d62,
+ /* 2nd byte: 119 */ 0x9d65,
+ /* 2nd byte: 120 */ 0x9d69,
+ /* 2nd byte: 121 */ 0x9d6a,
+ /* 2nd byte: 122 */ 0x9d6b,
+ /* 2nd byte: 123 */ 0x9d70,
+ /* 2nd byte: 124 */ 0x9d76,
+ /* 2nd byte: 125 */ 0x9d77,
+ /* 2nd byte: 126 */ 0x9d7b},
+/* 1st byte: 108 */ {
+ /* 2nd byte: 33 */ 0x9d7c,
+ /* 2nd byte: 34 */ 0x9d7e,
+ /* 2nd byte: 35 */ 0x9d83,
+ /* 2nd byte: 36 */ 0x9d84,
+ /* 2nd byte: 37 */ 0x9d86,
+ /* 2nd byte: 38 */ 0x9d8a,
+ /* 2nd byte: 39 */ 0x9d8d,
+ /* 2nd byte: 40 */ 0x9d8e,
+ /* 2nd byte: 41 */ 0x9d92,
+ /* 2nd byte: 42 */ 0x9d93,
+ /* 2nd byte: 43 */ 0x9d95,
+ /* 2nd byte: 44 */ 0x9d96,
+ /* 2nd byte: 45 */ 0x9d97,
+ /* 2nd byte: 46 */ 0x9d98,
+ /* 2nd byte: 47 */ 0x9da1,
+ /* 2nd byte: 48 */ 0x9daa,
+ /* 2nd byte: 49 */ 0x9dac,
+ /* 2nd byte: 50 */ 0x9dae,
+ /* 2nd byte: 51 */ 0x9db1,
+ /* 2nd byte: 52 */ 0x9db5,
+ /* 2nd byte: 53 */ 0x9db9,
+ /* 2nd byte: 54 */ 0x9dbc,
+ /* 2nd byte: 55 */ 0x9dbf,
+ /* 2nd byte: 56 */ 0x9dc3,
+ /* 2nd byte: 57 */ 0x9dc7,
+ /* 2nd byte: 58 */ 0x9dc9,
+ /* 2nd byte: 59 */ 0x9dca,
+ /* 2nd byte: 60 */ 0x9dd4,
+ /* 2nd byte: 61 */ 0x9dd5,
+ /* 2nd byte: 62 */ 0x9dd6,
+ /* 2nd byte: 63 */ 0x9dd7,
+ /* 2nd byte: 64 */ 0x9dda,
+ /* 2nd byte: 65 */ 0x9dde,
+ /* 2nd byte: 66 */ 0x9ddf,
+ /* 2nd byte: 67 */ 0x9de0,
+ /* 2nd byte: 68 */ 0x9de5,
+ /* 2nd byte: 69 */ 0x9de7,
+ /* 2nd byte: 70 */ 0x9de9,
+ /* 2nd byte: 71 */ 0x9deb,
+ /* 2nd byte: 72 */ 0x9dee,
+ /* 2nd byte: 73 */ 0x9df0,
+ /* 2nd byte: 74 */ 0x9df3,
+ /* 2nd byte: 75 */ 0x9df4,
+ /* 2nd byte: 76 */ 0x9dfe,
+ /* 2nd byte: 77 */ 0x9e0a,
+ /* 2nd byte: 78 */ 0x9e02,
+ /* 2nd byte: 79 */ 0x9e07,
+ /* 2nd byte: 80 */ 0x9e0e,
+ /* 2nd byte: 81 */ 0x9e10,
+ /* 2nd byte: 82 */ 0x9e11,
+ /* 2nd byte: 83 */ 0x9e12,
+ /* 2nd byte: 84 */ 0x9e15,
+ /* 2nd byte: 85 */ 0x9e16,
+ /* 2nd byte: 86 */ 0x9e19,
+ /* 2nd byte: 87 */ 0x9e1c,
+ /* 2nd byte: 88 */ 0x9e1d,
+ /* 2nd byte: 89 */ 0x9e7a,
+ /* 2nd byte: 90 */ 0x9e7b,
+ /* 2nd byte: 91 */ 0x9e7c,
+ /* 2nd byte: 92 */ 0x9e80,
+ /* 2nd byte: 93 */ 0x9e82,
+ /* 2nd byte: 94 */ 0x9e83,
+ /* 2nd byte: 95 */ 0x9e84,
+ /* 2nd byte: 96 */ 0x9e85,
+ /* 2nd byte: 97 */ 0x9e87,
+ /* 2nd byte: 98 */ 0x9e8e,
+ /* 2nd byte: 99 */ 0x9e8f,
+ /* 2nd byte: 100 */ 0x9e96,
+ /* 2nd byte: 101 */ 0x9e98,
+ /* 2nd byte: 102 */ 0x9e9b,
+ /* 2nd byte: 103 */ 0x9e9e,
+ /* 2nd byte: 104 */ 0x9ea4,
+ /* 2nd byte: 105 */ 0x9ea8,
+ /* 2nd byte: 106 */ 0x9eac,
+ /* 2nd byte: 107 */ 0x9eae,
+ /* 2nd byte: 108 */ 0x9eaf,
+ /* 2nd byte: 109 */ 0x9eb0,
+ /* 2nd byte: 110 */ 0x9eb3,
+ /* 2nd byte: 111 */ 0x9eb4,
+ /* 2nd byte: 112 */ 0x9eb5,
+ /* 2nd byte: 113 */ 0x9ec6,
+ /* 2nd byte: 114 */ 0x9ec8,
+ /* 2nd byte: 115 */ 0x9ecb,
+ /* 2nd byte: 116 */ 0x9ed5,
+ /* 2nd byte: 117 */ 0x9edf,
+ /* 2nd byte: 118 */ 0x9ee4,
+ /* 2nd byte: 119 */ 0x9ee7,
+ /* 2nd byte: 120 */ 0x9eec,
+ /* 2nd byte: 121 */ 0x9eed,
+ /* 2nd byte: 122 */ 0x9eee,
+ /* 2nd byte: 123 */ 0x9ef0,
+ /* 2nd byte: 124 */ 0x9ef1,
+ /* 2nd byte: 125 */ 0x9ef2,
+ /* 2nd byte: 126 */ 0x9ef5},
+/* 1st byte: 109 */ {
+ /* 2nd byte: 33 */ 0x9ef8,
+ /* 2nd byte: 34 */ 0x9eff,
+ /* 2nd byte: 35 */ 0x9f02,
+ /* 2nd byte: 36 */ 0x9f03,
+ /* 2nd byte: 37 */ 0x9f09,
+ /* 2nd byte: 38 */ 0x9f0f,
+ /* 2nd byte: 39 */ 0x9f10,
+ /* 2nd byte: 40 */ 0x9f11,
+ /* 2nd byte: 41 */ 0x9f12,
+ /* 2nd byte: 42 */ 0x9f14,
+ /* 2nd byte: 43 */ 0x9f16,
+ /* 2nd byte: 44 */ 0x9f17,
+ /* 2nd byte: 45 */ 0x9f19,
+ /* 2nd byte: 46 */ 0x9f1a,
+ /* 2nd byte: 47 */ 0x9f1b,
+ /* 2nd byte: 48 */ 0x9f1f,
+ /* 2nd byte: 49 */ 0x9f22,
+ /* 2nd byte: 50 */ 0x9f26,
+ /* 2nd byte: 51 */ 0x9f2a,
+ /* 2nd byte: 52 */ 0x9f2b,
+ /* 2nd byte: 53 */ 0x9f2f,
+ /* 2nd byte: 54 */ 0x9f31,
+ /* 2nd byte: 55 */ 0x9f32,
+ /* 2nd byte: 56 */ 0x9f34,
+ /* 2nd byte: 57 */ 0x9f37,
+ /* 2nd byte: 58 */ 0x9f39,
+ /* 2nd byte: 59 */ 0x9f3a,
+ /* 2nd byte: 60 */ 0x9f3c,
+ /* 2nd byte: 61 */ 0x9f3d,
+ /* 2nd byte: 62 */ 0x9f3f,
+ /* 2nd byte: 63 */ 0x9f41,
+ /* 2nd byte: 64 */ 0x9f43,
+ /* 2nd byte: 65 */ 0x9f44,
+ /* 2nd byte: 66 */ 0x9f45,
+ /* 2nd byte: 67 */ 0x9f46,
+ /* 2nd byte: 68 */ 0x9f47,
+ /* 2nd byte: 69 */ 0x9f53,
+ /* 2nd byte: 70 */ 0x9f55,
+ /* 2nd byte: 71 */ 0x9f56,
+ /* 2nd byte: 72 */ 0x9f57,
+ /* 2nd byte: 73 */ 0x9f58,
+ /* 2nd byte: 74 */ 0x9f5a,
+ /* 2nd byte: 75 */ 0x9f5d,
+ /* 2nd byte: 76 */ 0x9f5e,
+ /* 2nd byte: 77 */ 0x9f68,
+ /* 2nd byte: 78 */ 0x9f69,
+ /* 2nd byte: 79 */ 0x9f6d,
+ /* 2nd byte: 80 */ 0x9f6e,
+ /* 2nd byte: 81 */ 0x9f6f,
+ /* 2nd byte: 82 */ 0x9f70,
+ /* 2nd byte: 83 */ 0x9f71,
+ /* 2nd byte: 84 */ 0x9f73,
+ /* 2nd byte: 85 */ 0x9f75,
+ /* 2nd byte: 86 */ 0x9f7a,
+ /* 2nd byte: 87 */ 0x9f7d,
+ /* 2nd byte: 88 */ 0x9f8f,
+ /* 2nd byte: 89 */ 0x9f90,
+ /* 2nd byte: 90 */ 0x9f91,
+ /* 2nd byte: 91 */ 0x9f92,
+ /* 2nd byte: 92 */ 0x9f94,
+ /* 2nd byte: 93 */ 0x9f96,
+ /* 2nd byte: 94 */ 0x9f97,
+ /* 2nd byte: 95 */ 0x9f9e,
+ /* 2nd byte: 96 */ 0x9fa1,
+ /* 2nd byte: 97 */ 0x9fa2,
+ /* 2nd byte: 98 */ 0x9fa3,
+ /* 2nd byte: 99 */ 0x9fa5,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0}
+};
diff --git a/libjava/gnu/gcj/convert/Output_8859_1.java b/libjava/gnu/gcj/convert/Output_8859_1.java
new file mode 100644
index 0000000..ef6e211
--- /dev/null
+++ b/libjava/gnu/gcj/convert/Output_8859_1.java
@@ -0,0 +1,31 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.convert;
+
+public class Output_8859_1 extends UnicodeToBytes
+{
+ public String getName() { return "8859_1"; }
+
+ /**
+ * @return number of chars converted. */
+ public int write (char[] inbuffer, int inpos, int inlength)
+ {
+ int count = this.count;
+ byte[] buf = this.buf;
+ int avail = buf.length - count;
+ if (inlength > avail)
+ inlength = avail;
+ for (int i = inlength; --i >= 0; )
+ {
+ buf[count++] = (byte) inbuffer[inpos++];
+ }
+ this.count = count;
+ return inlength;
+ }
+}
diff --git a/libjava/gnu/gcj/convert/Output_JavaSrc.java b/libjava/gnu/gcj/convert/Output_JavaSrc.java
new file mode 100644
index 0000000..aa23361
--- /dev/null
+++ b/libjava/gnu/gcj/convert/Output_JavaSrc.java
@@ -0,0 +1,82 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.convert;
+
+/** Convert Unicode to Ascii with \ u XXXX-escapes. */
+
+public class Output_JavaSrc extends UnicodeToBytes
+{
+ public String getName() { return "JavaSrc"; }
+
+ // Number of bytes remaining before pending_char has been written.
+ int todo;
+ int pending_char;
+
+ public int write (char[] inbuffer, int inpos, int inlength)
+ {
+ int start_pos = inpos;
+ int avail = buf.length - count;
+ for (;;)
+ {
+ if (avail == 0)
+ break;
+ switch (todo)
+ {
+ case 1:
+ if (pending_char == '\\')
+ {
+ buf[count++] = (byte) '\\';
+ avail--;
+ todo = 0;
+ continue;
+ }
+ /* ... else fall through ... */
+ case 2:
+ case 3:
+ case 4:
+ todo--;
+ int digit = ((int) pending_char >> (todo * 4)) & 0xF;
+ buf[count++] = (byte) Character.forDigit(digit, 16);
+ avail--;
+ continue;
+ case 5:
+ buf[count++] = (byte) 'u';
+ avail--;
+ todo = 4;
+ continue;
+ default:
+ ;
+ }
+ if (inlength == 0)
+ break;
+ char ch = inbuffer[inpos++];
+ inlength--;
+ if (ch == '\\')
+ {
+ buf[count++] = (byte) '\\';
+ pending_char = ch;
+ todo = 1;
+ avail--;
+ }
+ else if (ch < 127)
+ {
+ buf[count++] = (byte) ch;
+ avail--;
+ }
+ else
+ {
+ buf[count++] = (byte) '\\';
+ pending_char = ch;
+ todo = 5;
+ avail--;
+ }
+ }
+ return inpos - start_pos;
+ }
+}
diff --git a/libjava/gnu/gcj/convert/Output_UTF8.java b/libjava/gnu/gcj/convert/Output_UTF8.java
new file mode 100644
index 0000000..6be753b
--- /dev/null
+++ b/libjava/gnu/gcj/convert/Output_UTF8.java
@@ -0,0 +1,108 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.convert;
+
+public class Output_UTF8 extends UnicodeToBytes
+{
+ public String getName() { return "UTF8"; }
+
+ /** True if a surrogate pair should be emitted as a single UTF8 sequence.
+ * Otherwise, a surrogate pair is treated as two separate characters.
+ * Also, '\0' is emitted as {0} if true, and as {0xC0,0x80} if false. */
+ public boolean standardUTF8;
+
+ // Saves the previous char if it was a high-surrogate.
+ char hi_part;
+ // Value of imcomplete character.
+ int value;
+ // Number of continuation bytes still to emit.
+ int bytes_todo;
+
+ public int write (char[] inbuffer, int inpos, int inlength)
+ {
+ int start_pos = inpos;
+ int avail = buf.length - count;
+ for (;;)
+ {
+ if (inlength == 0 || avail == 0)
+ break;
+ // The algororith is made more complicated because we want to write
+ // at least one byte in the output buffer, if there is room for
+ // that byte, and at least one input character is available.
+ // This makes the code more robust, since client code will
+ // always "make progress", even in the complicated cases,
+ // where the output buffer only has room for only *part* of a
+ // multi-byte sequence, or the input char buffer only has half
+ // of a surrogate pair (when standardUTF8 is set), or both.
+
+ // Handle continuation characters we did not have room for before.
+ if (bytes_todo > 0)
+ {
+ do
+ {
+ bytes_todo--;
+ buf[count++] = (byte)
+ (((value >> (bytes_todo * 6)) & 0xC0) | 0x80);
+ avail--;
+ }
+ while (bytes_todo > 0 && avail > 0);
+ continue;
+ }
+ char ch = inbuffer[inpos++];
+ inlength--;
+ if (ch < 128 && (ch != 0 || standardUTF8))
+ {
+ avail--;
+ buf[count++] = (byte) ch;
+ }
+ else if (ch <= 0x07FF)
+ {
+ buf[count++] = (byte) (0xC0 | (ch >> 6));
+ if (--avail > 0)
+ {
+ buf[count++] = (byte) ((ch & 0x3F) | 0x80);
+ avail--;
+ }
+ else
+ {
+ value = ch;
+ bytes_todo = 1;
+ break;
+ }
+ }
+ else if (ch >= 0xD800 && ch <= 0xDFFF && standardUTF8)
+ {
+ if (ch <= 0xDBFF) // High surrogates
+ {
+ // The first byte is (0xF0 | value>>18), where value is the
+ // Unicode scalar value of the combine character - which
+ // we may not know yet. But from substituting:
+ // value == (hi-0xD800)*0x400+(lo-0xDC00)+0x10000,
+ // hi==ch, and cancelling we get:
+ buf[count++] = (byte) (0xF0 | ((ch-0xD800) >> 8));
+ avail--;
+ hi_part = ch;
+ }
+ else // Low surrogates
+ {
+ value = (hi_part - 0xD800) * 0x400 + (ch - 0xDC00) + 0x10000;
+ bytes_todo = 3;
+ }
+ }
+ else
+ {
+ buf[count++] = (byte) (0xE0 | (ch >> 12));
+ value = ch;
+ avail--;
+ bytes_todo = 2;
+ }
+ }
+ return inpos - start_pos;
+ }
+}
diff --git a/libjava/gnu/gcj/convert/UnicodeToBytes.java b/libjava/gnu/gcj/convert/UnicodeToBytes.java
new file mode 100644
index 0000000..4b772f9
--- /dev/null
+++ b/libjava/gnu/gcj/convert/UnicodeToBytes.java
@@ -0,0 +1,90 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.convert;
+
+public abstract class UnicodeToBytes
+{
+ /** Buffer to emit bytes to.
+ * The locations buf[count] ... buf[buf.length-1] are available. */
+ public byte[] buf;
+ public int count;
+
+ static Class defaultEncodingClass;
+
+ static synchronized void getDefaultEncodingClass()
+ {
+ // Test (defaultEncodingClass == null) again in case of race condition.
+ if (defaultEncodingClass == null)
+ {
+ String encoding = System.getProperty("file.encoding");
+ String className = "gnu.gcj.convert.Output_"+encoding;
+ try
+ {
+ defaultEncodingClass = Class.forName(className);
+ }
+ catch (ClassNotFoundException ex)
+ {
+ throw new NoClassDefFoundError("missing default encoding "
+ + encoding + " (class "
+ + className + " not found)");
+
+ }
+ }
+ }
+
+ public abstract String getName();
+
+ public static UnicodeToBytes getDefaultEncoder()
+ {
+ try
+ {
+ if (defaultEncodingClass == null)
+ getDefaultEncodingClass();
+ return (UnicodeToBytes) defaultEncodingClass.newInstance();
+ }
+ catch (Throwable ex)
+ {
+ return new Output_8859_1();
+ }
+ }
+
+ /** Get a char-stream->byte-stream converter given an encoding name. */
+ public static UnicodeToBytes getEncoder (String encoding)
+ throws java.io.UnsupportedEncodingException
+ {
+ String className = "gnu.gcj.convert.Output_"+encoding;
+ Class encodingClass;
+ try
+ {
+ encodingClass = Class.forName(className);
+ return (UnicodeToBytes) encodingClass.newInstance();
+ }
+ catch (Throwable ex)
+ {
+ throw new java.io.UnsupportedEncodingException(encoding + " ("
+ + ex + ')');
+ }
+ }
+
+ public final void setOutput(byte[] buffer, int count)
+ {
+ this.buf = buffer;
+ this.count = count;
+ }
+
+ /** Convert chars to bytes.
+ * Converted bytes are written to buf, starting at count.
+ * @param inbuffer sources of characters to convert
+ * @param inpos index of initial character ininbuffer to convert
+ * @param inlength number of characters to convert
+ * @return number of chars converted
+ * Also, this.count is increment by the number of bytes converted.
+ */
+ public abstract int write (char[] inbuffer, int inpos, int inlength);
+}
diff --git a/libjava/gnu/gcj/convert/gen-from-JIS.c b/libjava/gnu/gcj/convert/gen-from-JIS.c
new file mode 100644
index 0000000..c49b894
--- /dev/null
+++ b/libjava/gnu/gcj/convert/gen-from-JIS.c
@@ -0,0 +1,154 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <stdio.h>
+struct chval
+{
+ unsigned char b1; /* 1st byte */
+ unsigned char b2; /* 2nd byte */
+ unsigned short uc; /* unicode value */
+};
+
+#define MAP(B1, B2, C) { B1, B2, C },
+
+struct chval chtab_0208[] = {
+#include "JIS0208.h"
+ { 255, 255, 0}
+};
+
+struct chval chtab_0212[] = {
+#include "JIS0212.h"
+ { 255, 255, 0}
+};
+#undef MAP
+
+struct chval sorted[] = {
+#define MAP(B1, B2, C) { B1, B2, C },
+#include "JIS0208.h"
+#undef MAP
+#define MAP(B1, B2, C) { 0x80|B1, B2, C },
+#include "JIS0212.h"
+#undef MAP
+};
+
+struct chval *chtab;
+
+int
+compare (void *p1, void *p2)
+{
+ struct chval *c1 = (struct chval *) p1;
+ struct chval *c2 = (struct chval *) p2;
+ return (int) c1->uc - (int) c2->uc;
+}
+
+int
+main(int argc, char** argv)
+{
+ FILE *out = stdout;
+ unsigned min1 = 256, max1 = 0, min2 = 256, max2 = 0, count = 0;
+ unsigned short low1_uc = 0xFFFF, high1_uc = 0;
+ unsigned short low2_uc = 0xFFFF, high2_uc = 0;
+ int i; int row, col;
+ if (strcmp (argv[1], "JIS0208") == 0)
+ chtab = chtab_0208;
+ else if (strcmp (argv[1], "JIS0212") == 0)
+ chtab = chtab_0212;
+ else if (strcmp (argv[1], "toJIS") == 0)
+ {
+ int i;
+ int count = sizeof(sorted)/sizeof(struct chval);
+ qsort (sorted, count, sizeof(struct chval),
+ compare);
+ for (i = 0; i < count; i++)
+ {
+ fprintf (out, " 0x%04x -> 0x%02x, 0x%02x\n",
+ sorted[i].uc, sorted[i].b1, sorted[i].b2);
+ }
+ exit(0);
+ }
+ else
+ {
+ fprintf (stderr, "bad argument!");
+ exit (-1);
+ }
+ for (i = 0; chtab[i].b1 != 255; i++)
+ {
+ if (chtab[i].b1 < min1) min1 = chtab[i].b1;
+ if (chtab[i].b2 < min2) min2 = chtab[i].b2;
+ if (chtab[i].b1 > max1) max1 = chtab[i].b1;
+ if (chtab[i].b2 > max2) max2 = chtab[i].b2;
+ count++;
+ }
+ fprintf(stderr, "1st byte ranges from %d to %d.\n", min1, max1);
+ fprintf(stderr, "2nd byte ranges from %d to %d.\n", min2, max2);
+
+ fprintf(out,"/* This file is automatically generated from %s.TXT. */\n",
+ argv[1]);
+ fprintf(out, "unsigned short %s_to_Unicode[%d][%d] = {\n",
+ argv[1], max1 - min1 + 1, max2 - min2 + 1);
+ i = 0;
+ for (row = min1; row <= max1; row++)
+ {
+ fprintf(out, "/* 1st byte: %d */ { ", row);
+ if (row < chtab[i].b1)
+ {
+ fprintf(out, "0 }, /* unused row */\n");
+ }
+ else if (row > chtab[i].b1)
+ {
+ fprintf (stderr, "error - char table out of order!\n");
+ exit (-1);
+ }
+ else
+ {
+ fprintf(out, "\n");
+ for (col = min2; col <= max2; col++)
+ {
+ if (row == chtab[i].b1 && col == chtab[i].b2)
+ {
+ unsigned uc = chtab[i].uc;
+ if (uc < 0x2000)
+ {
+ if (uc > high1_uc)
+ high1_uc = uc;
+ if (uc < low1_uc)
+ low1_uc = uc;
+ }
+ else
+ {
+ if (uc > high2_uc)
+ high2_uc = uc;
+ if (uc < low2_uc)
+ low2_uc = uc;
+ }
+ fprintf (out, " /* 2nd byte: %d */ 0x%04x",
+ chtab[i].b2, uc);
+ i++;
+ }
+ else if (row < chtab[i].b1
+ || (row == chtab[i].b1 && col < chtab[i].b2))
+ {
+ fprintf (out, " 0");
+ }
+ else
+ {
+ fprintf (stderr, "error - char table our of order!\n");
+ exit (-1);
+ }
+ if (col != max2)
+ fprintf (out, ",\n");
+ }
+ fprintf(out, row == max1 ? "}\n" : "},\n");
+ }
+ }
+ fprintf(out, "};\n");
+ fprintf(stderr, "total number of characters is %d.\n", count);
+ fprintf(stderr, "Range is 0x%04x-0x%04x and 0x%04x-0x%04x.\n",
+ low1_uc, high1_uc, low2_uc, high2_uc);
+ return 0;
+}
diff --git a/libjava/gnu/gcj/convert/natInput_EUCJIS.cc b/libjava/gnu/gcj/convert/natInput_EUCJIS.cc
new file mode 100644
index 0000000..68e4cae
--- /dev/null
+++ b/libjava/gnu/gcj/convert/natInput_EUCJIS.cc
@@ -0,0 +1,101 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+#include <cni.h>
+#include <gnu/gcj/convert/Input_EUCJIS.h>
+
+#define ERROR_CHAR 0xFFFD
+
+extern unsigned short JIS0208_to_Unicode[84][94];
+extern unsigned short JIS0212_to_Unicode[76][94];
+
+jint
+gnu::gcj::convert::Input_EUCJIS::read(jcharArray outbuffer, jint outpos,
+ jint outlength)
+{
+ jint start_outpos = outpos;
+ for (;;)
+ {
+ if (outpos >= outlength)
+ break;
+ if (inpos >= inlength)
+ break;
+ int b = ((unsigned char*) elements(inbuffer))[inpos++];
+ if (codeset == 0) // ASCII or JIS-Roman
+ {
+ if (b < 128)
+ {
+#if 0
+ // Technically, we should translate 0x5c to Yen symbol;
+ // in practice, it is not clear.
+ if (b == 0x5c)
+ b = 0x00A5; // Yen sign.
+#endif
+ elements(outbuffer)[outpos++] = (char) b;
+ }
+ else
+ {
+ if (b == 0x8E) // SS2
+ codeset = 2;
+ else if (b == 0x8F) // SS3
+ codeset = 3;
+ else
+ {
+ codeset = 1;
+ first_byte = b;
+ }
+ }
+ }
+ else if (codeset == 1) // JIS X 0208:1997
+ {
+ first_byte -= 0x80 + 33;
+ b -= 0x80 + 33;
+ if ((unsigned) first_byte >= 84 || (unsigned) b >= 94)
+ b = ERROR_CHAR;
+ else
+ {
+ b = JIS0208_to_Unicode[first_byte][b];
+ if (b == 0)
+ b = ERROR_CHAR;
+ }
+ elements(outbuffer)[outpos++] = b;
+ codeset = 0;
+ }
+ else if (codeset == 2) // Half-width katakana
+ {
+ if (b >= 0xA1 && b <= 0xDF)
+ b += 0xFF61 - 0xA1;
+ else
+ b = ERROR_CHAR;
+ elements(outbuffer)[outpos++] = b;
+ codeset = 0;
+ }
+ else if (codeset == 3) // second byte of JIS X 0212-1990
+ {
+ first_byte = b;
+ codeset = 4;
+ }
+ else // codeset == 4 // third byte of JIS X 0212-1990
+ {
+ first_byte -= 0x80 + 34;
+ b -= 0x80 + 33;
+ if ((unsigned) first_byte >= 76 || (unsigned) b >= 94)
+ b = ERROR_CHAR;
+ else
+ {
+ b = JIS0208_to_Unicode[first_byte][b];
+ if (b == 0)
+ b = ERROR_CHAR;
+ }
+ elements(outbuffer)[outpos++] = b;
+ codeset = 0;
+ }
+ }
+ return outpos - start_outpos;
+}
diff --git a/libjava/gnu/gcj/protocol/http/Connection.java b/libjava/gnu/gcj/protocol/http/Connection.java
new file mode 100644
index 0000000..aee6fdd
--- /dev/null
+++ b/libjava/gnu/gcj/protocol/http/Connection.java
@@ -0,0 +1,285 @@
+// Connection.java - Implementation of HttpURLConnection for http protocol.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.protocol.http;
+
+import java.net.*;
+import java.io.*;
+import java.util.Vector;
+import java.util.Hashtable;
+import java.util.Enumeration;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 29, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Minimal subset of functionality. Proxies and Redirects
+ * not yet handled. FileNameMap handling needs to be considered.
+ * useCaches, ifModifiedSince, and allowUserInteraction need
+ * consideration as well as doInput and doOutput.
+ */
+
+class Connection extends HttpURLConnection
+{
+ protected Socket sock = null;
+ private static Hashtable defRequestProperties = new Hashtable();
+ private Hashtable requestProperties;
+ private Hashtable hdrHash = new Hashtable();
+ private Vector hdrVec = new Vector();
+ private boolean gotHeaders = false;
+ private BufferedInputStream bufferedIn;
+
+ public Connection(URL url)
+ {
+ super(url);
+ requestProperties = (Hashtable) defRequestProperties.clone();
+ }
+
+ // Override method in URLConnection.
+ public static void setDefaultRequestProperty(String key, String value)
+ {
+ defRequestProperties.put(key, value);
+ }
+
+ // Override method in URLConnection.
+ public static String getDefaultRequestProperty(String key)
+ {
+ return (String) defRequestProperties.get(key);
+ }
+
+ // Override method in URLConnection.
+ public void setRequestProperty(String key, String value)
+ {
+ if (connected)
+ throw new IllegalAccessError("Connection already established.");
+
+ requestProperties.put(key, value);
+ }
+
+ // Override method in URLConnection.
+ public String getRequestProperty(String key)
+ {
+ if (connected)
+ throw new IllegalAccessError("Connection already established.");
+
+ return (String) requestProperties.get(key);
+ }
+
+ // Implementation of abstract method.
+ public void connect() throws IOException
+ {
+ // Call is ignored if already connected.
+ if (connected)
+ return;
+
+ // Get address and port number.
+ int port;
+ InetAddress destAddr = InetAddress.getByName(url.getHost());
+ if ((port = url.getPort()) == -1)
+ port = 80;
+
+ // Open socket and output stream.
+ sock = new Socket(destAddr, port);
+ PrintWriter out = new PrintWriter(sock.getOutputStream());
+
+ // Send request including any request properties that were set.
+ out.print(getRequestMethod() + " " + url.getFile() + " HTTP/1.1\n");
+ out.print("Host: " + url.getHost() + ":" + port + "\n");
+ Enumeration reqKeys = requestProperties.keys();
+ Enumeration reqVals = requestProperties.elements();
+ while (reqKeys.hasMoreElements())
+ out.print(reqKeys.nextElement() + ": " + reqVals.nextElement() + "\n");
+ out.print("\n");
+ out.flush();
+ connected = true;
+ }
+
+ // Implementation of abstract method.
+ public void disconnect()
+ {
+ if (sock != null)
+ {
+ try
+ {
+ sock.close();
+ }
+ catch (IOException ex)
+ {
+ ; // Ignore errors in closing socket.
+ }
+ sock = null;
+ }
+ connected = false;
+ }
+
+ // TODO: public boolean usingProxy()
+ public boolean usingProxy()
+ {
+ throw new InternalError("HttpURLConnection.usingProxy not implemented");
+ }
+
+ // Override default method in URLConnection.
+ public InputStream getInputStream() throws IOException
+ {
+ if (!connected)
+ connect();
+
+ if (bufferedIn == null)
+ bufferedIn = new BufferedInputStream(sock.getInputStream());
+ return bufferedIn;
+ }
+
+ // Override default method in URLConnection.
+ public OutputStream getOutputStream() throws IOException
+ {
+ if (!connected)
+ connect();
+
+ return sock.getOutputStream();
+ }
+
+ // Override default method in URLConnection.
+ public String getHeaderField(String name)
+ {
+ try
+ {
+ getHttpHeaders();
+ }
+ catch (IOException x)
+ {
+ return null;
+ }
+ return (String) hdrHash.get(name.toLowerCase());
+ }
+
+ // Override default method in URLConnection.
+ public String getHeaderField(int n)
+ {
+ try
+ {
+ getHttpHeaders();
+ }
+ catch (IOException x)
+ {
+ return null;
+ }
+ if (n < hdrVec.size())
+ return getField((String) hdrVec.elementAt(n));
+
+ return null;
+ }
+
+ // Override default method in URLConnection.
+ public String getHeaderFieldKey(int n)
+ {
+ try
+ {
+ getHttpHeaders();
+ }
+ catch (IOException x)
+ {
+ return null;
+ }
+ if (n < hdrVec.size())
+ return getKey((String) hdrVec.elementAt(n));
+
+ return null;
+ }
+
+ private String getKey(String str)
+ {
+ if (str == null)
+ return null;
+ int index = str.indexOf(':');
+ if (index >= 0)
+ return str.substring(0, index);
+ else
+ return null;
+ }
+
+ private String getField(String str)
+ {
+ if (str == null)
+ return null;
+ int index = str.indexOf(':');
+ if (index >= 0)
+ return str.substring(index + 1).trim();
+ else
+ return str;
+ }
+
+ private void getHttpHeaders() throws IOException
+ {
+ if (gotHeaders)
+ return;
+ gotHeaders = true;
+
+ connect();
+
+ // Originally tried using a BufferedReader here to take advantage of
+ // the readLine method and avoid the following, but the buffer read
+ // past the end of the headers so the first part of the content was lost.
+ // It is probably more robust than it needs to be, e.g. the byte[]
+ // is unlikely to overflow and a '\r' should always be followed by a '\n',
+ // but it is better to be safe just in case.
+ if (bufferedIn == null)
+ bufferedIn = new BufferedInputStream(sock.getInputStream());
+
+ int buflen = 100;
+ byte[] buf = new byte[buflen];
+ String line = "";
+ boolean gotnl = false;
+ byte[] ch = new byte[1];
+ ch[0] = (byte) '\n';
+ while (true)
+ {
+ // Check for leftover byte from non-'\n' after a '\r'.
+ if (ch[0] != '\n')
+ line = line + '\r' + new String(ch, 0, 1);
+
+ int i;
+ for (i = 0; i < buflen; i++)
+ {
+ bufferedIn.read(buf, i, 1);
+ if (buf[i] == '\r')
+ {
+ bufferedIn.read(ch, 0, 1);
+ if (ch[0] == '\n')
+ gotnl = true;
+ break;
+ }
+ }
+ line = line + new String(buf, 0, i);
+
+ // A '\r' '\n' combo indicates the end of the header entry.
+ // If it wasn't found, cycle back through the loop and append
+ // to 'line' until one is found.
+ if (gotnl)
+ {
+ // A zero length entry signals the end of the headers.
+ if (line.length() == 0)
+ break;
+
+ // Store the header and reinitialize for next cycle.
+ hdrVec.addElement(line);
+ String key = getKey(line);
+ if (key != null)
+ hdrHash.put(key.toLowerCase(), getField(line));
+ line = "";
+ ch[0] = (byte) '\n';
+ gotnl = false;
+ }
+ }
+ }
+}
diff --git a/libjava/gnu/gcj/protocol/http/Handler.java b/libjava/gnu/gcj/protocol/http/Handler.java
new file mode 100644
index 0000000..7e37989
--- /dev/null
+++ b/libjava/gnu/gcj/protocol/http/Handler.java
@@ -0,0 +1,35 @@
+// Handler.java - URLStreamHandler for http protocol.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.protocol.http;
+
+import java.net.URL;
+import java.net.URLConnection;
+import java.net.URLStreamHandler;
+import java.io.IOException;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 26, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Minimal functionality.
+ */
+
+public class Handler extends URLStreamHandler
+{
+ protected URLConnection openConnection(URL url) throws IOException
+ {
+ return new Connection(url);
+ }
+}
diff --git a/libjava/gnu/gcj/text/BaseBreakIterator.java b/libjava/gnu/gcj/text/BaseBreakIterator.java
new file mode 100644
index 0000000..794fb2e
--- /dev/null
+++ b/libjava/gnu/gcj/text/BaseBreakIterator.java
@@ -0,0 +1,82 @@
+// Base class for default BreakIterators.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.text;
+
+import java.text.BreakIterator;
+import java.text.CharacterIterator;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date March 22, 1999
+ */
+
+public abstract class BaseBreakIterator extends BreakIterator
+{
+ public int current ()
+ {
+ return iter.getIndex();
+ }
+
+ public int first ()
+ {
+ iter.first();
+ return iter.getBeginIndex();
+ }
+
+ public int following (int pos)
+ {
+ int save = iter.getIndex();
+ iter.setIndex(pos);
+ int r = next ();
+ iter.setIndex(save);
+ return r;
+ }
+
+ public CharacterIterator getText ()
+ {
+ return iter;
+ }
+
+ public int last ()
+ {
+ iter.last();
+ return iter.getEndIndex();
+ }
+
+ public int next (int n)
+ {
+ int r = iter.getIndex ();
+ if (n > 0)
+ {
+ while (n > 0 && r != DONE)
+ {
+ r = next ();
+ --n;
+ }
+ }
+ else if (n < 0)
+ {
+ while (n < 0 && r != DONE)
+ {
+ r = previous ();
+ ++n;
+ }
+ }
+ return r;
+ }
+
+ public void setText (CharacterIterator newText)
+ {
+ iter = newText;
+ }
+
+ protected CharacterIterator iter;
+}
diff --git a/libjava/gnu/gcj/text/CharacterBreakIterator.java b/libjava/gnu/gcj/text/CharacterBreakIterator.java
new file mode 100644
index 0000000..e1777fd
--- /dev/null
+++ b/libjava/gnu/gcj/text/CharacterBreakIterator.java
@@ -0,0 +1,188 @@
+// Default character BreakIterator.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.text;
+
+import java.text.BreakIterator;
+import java.text.CharacterIterator;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date March 19, 1999
+ * Written using The Unicode Standard, Version 2.0.
+ */
+
+public class CharacterBreakIterator extends BaseBreakIterator
+{
+ // Hangul Jamo constants from Unicode book.
+ private static final int LBase = 0x1100;
+ private static final int VBase = 0x1161;
+ private static final int TBase = 0x11a7;
+ private static final int LCount = 19;
+ private static final int VCount = 21;
+ private static final int TCount = 28;
+
+ // Information about surrogates.
+ private static final int highSurrogateStart = 0xD800;
+ private static final int highSurrogateEnd = 0xDBFF;
+ private static final int lowSurrogateStart = 0xDC00;
+ private static final int lowSurrogateEnd = 0xDFFF;
+
+ public Object clone ()
+ {
+ return new CharacterBreakIterator (this);
+ }
+
+ public CharacterBreakIterator ()
+ {
+ iter = null; // FIXME?
+ }
+
+ private CharacterBreakIterator (CharacterBreakIterator other)
+ {
+ iter = (CharacterIterator) other.iter.clone();
+ }
+
+ // Some methods to tell us different properties of characters.
+ private final boolean isL (char c)
+ {
+ return c >= LBase && c <= LBase + LCount;
+ }
+ private final boolean isV (char c)
+ {
+ return c >= VBase && c <= VBase + VCount;
+ }
+ private final boolean isT (char c)
+ {
+ return c >= TBase && c <= TBase + TCount;
+ }
+ private final boolean isLVT (char c)
+ {
+ return isL (c) || isV (c) || isT (c);
+ }
+ private final boolean isHighSurrogate (char c)
+ {
+ return c >= highSurrogateStart && c <= highSurrogateEnd;
+ }
+ private final boolean isLowSurrogate (char c)
+ {
+ return c >= lowSurrogateStart && c <= lowSurrogateEnd;
+ }
+
+ public int next ()
+ {
+ int end = iter.getEndIndex();
+ if (iter.getIndex() == end)
+ return DONE;
+
+ char c;
+ for (char prev = CharacterIterator.DONE; iter.getIndex() < end; prev = c)
+ {
+ c = iter.next();
+ if (c == CharacterIterator.DONE)
+ break;
+ int type = Character.getType(c);
+
+ // Break after paragraph separators.
+ if (type == Character.PARAGRAPH_SEPARATOR)
+ break;
+
+ // Now we need some lookahead.
+ char ahead = iter.next();
+ iter.previous();
+ if (ahead == CharacterIterator.DONE)
+ break;
+ int aheadType = Character.getType(ahead);
+
+ if (aheadType != Character.NON_SPACING_MARK
+ && ! isLowSurrogate (ahead)
+ && ! isLVT (ahead))
+ break;
+ if (! isLVT (c) && isLVT (ahead))
+ break;
+ if (isL (c) && ! isLVT (ahead)
+ && aheadType != Character.NON_SPACING_MARK)
+ break;
+ if (isV (c) && ! isV (ahead) && !isT (ahead)
+ && aheadType != Character.NON_SPACING_MARK)
+ break;
+ if (isT (c) && ! isT (ahead)
+ && aheadType != Character.NON_SPACING_MARK)
+ break;
+
+ if (! isHighSurrogate (c) && isLowSurrogate (ahead))
+ break;
+ if (isHighSurrogate (c) && ! isLowSurrogate (ahead))
+ break;
+ if (! isHighSurrogate (prev) && isLowSurrogate (c))
+ break;
+ }
+
+ return iter.getIndex();
+ }
+
+ public int previous ()
+ {
+ if (iter.getIndex() == iter.getBeginIndex())
+ return DONE;
+
+ int start = iter.getBeginIndex();
+ while (iter.getIndex() >= iter.getBeginIndex())
+ {
+ char c = iter.previous();
+ if (c == CharacterIterator.DONE)
+ break;
+ int type = Character.getType(c);
+
+ if (type != Character.NON_SPACING_MARK
+ && ! isLowSurrogate (c)
+ && ! isLVT (c))
+ break;
+
+ // Now we need some lookahead.
+ char ahead = iter.previous();
+ if (ahead == CharacterIterator.DONE)
+ {
+ iter.next();
+ break;
+ }
+ char ahead2 = iter.previous();
+ iter.next();
+ iter.next();
+ if (ahead2 == CharacterIterator.DONE)
+ break;
+ int aheadType = Character.getType(ahead);
+
+ if (aheadType == Character.PARAGRAPH_SEPARATOR)
+ break;
+
+ if (isLVT (c) && ! isLVT (ahead))
+ break;
+ if (! isLVT (c) && type != Character.NON_SPACING_MARK
+ && isL (ahead))
+ break;
+ if (! isV (c) && ! isT (c) && type != Character.NON_SPACING_MARK
+ && isV (ahead))
+ break;
+ if (! isT (c) && type != Character.NON_SPACING_MARK
+ && isT (ahead))
+ break;
+
+ if (isLowSurrogate (c) && ! isHighSurrogate (ahead))
+ break;
+ if (! isLowSurrogate (c) && isHighSurrogate (ahead))
+ break;
+ if (isLowSurrogate (ahead) && ! isHighSurrogate (ahead2))
+ break;
+ }
+
+ return iter.getIndex();
+ }
+}
diff --git a/libjava/gnu/gcj/text/LineBreakIterator.java b/libjava/gnu/gcj/text/LineBreakIterator.java
new file mode 100644
index 0000000..b42881c
--- /dev/null
+++ b/libjava/gnu/gcj/text/LineBreakIterator.java
@@ -0,0 +1,168 @@
+// Default word BreakIterator.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.text;
+
+import java.text.BreakIterator;
+import java.text.CharacterIterator;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date March 22, 1999
+ * Written using The Unicode Standard, Version 2.0.
+ */
+
+public class LineBreakIterator extends BaseBreakIterator
+{
+ public Object clone ()
+ {
+ return new LineBreakIterator (this);
+ }
+
+ public LineBreakIterator ()
+ {
+ iter = null;
+ }
+
+ private LineBreakIterator (LineBreakIterator other)
+ {
+ iter = (CharacterIterator) other.iter.clone();
+ }
+
+ // Some methods to tell us different properties of characters.
+ private final boolean isNb (char c)
+ {
+ return (c == 0x00a0 // NO-BREAK SPACE
+ || c == 0x2011 // NON-BREAKING HYPHEN
+ || c == 0xfeff); // ZERO WITH NO-BREAK SPACE
+ }
+ private final boolean isClose (int type)
+ {
+ return (type == Character.END_PUNCTUATION
+ // Unicode book says "comma, period, ...", which I take to
+ // mean "Po" class.
+ || type == Character.OTHER_PUNCTUATION);
+ }
+ private final boolean isIdeo (char c)
+ {
+ return (c >= 0x3040 && c <= 0x309f // Hiragana
+ || c >= 0x30a0 && c <= 0x30ff // Katakana
+ || c >= 0x4e00 && c <= 0x9fff // Han
+ || c >= 0x3100 && c <= 0x312f); // Bopomofo
+ }
+
+ public int next ()
+ {
+ int end = iter.getEndIndex();
+ if (iter.getIndex() == end)
+ return DONE;
+
+ while (iter.getIndex() < end)
+ {
+ char c = iter.current();
+ int type = Character.getType(c);
+
+ char n = iter.next();
+
+ if (n == CharacterIterator.DONE
+ || type == Character.PARAGRAPH_SEPARATOR
+ || type == Character.LINE_SEPARATOR)
+ break;
+
+ // Handle two cases where we must scan for non-spacing marks.
+ int start = iter.getIndex();
+ if (type == Character.SPACE_SEPARATOR
+ || type == Character.START_PUNCTUATION
+ || isIdeo (c))
+ {
+ while (n != CharacterIterator.DONE
+ && Character.getType(n) == Character.NON_SPACING_MARK)
+ n = iter.next();
+ if (n == CharacterIterator.DONE)
+ break;
+
+ if (type == Character.SPACE_SEPARATOR)
+ {
+ int nt = Character.getType(n);
+ if (nt != Character.NON_SPACING_MARK
+ && nt != Character.SPACE_SEPARATOR
+ && ! isNb (n))
+ break;
+ }
+ else if (type == Character.START_PUNCTUATION)
+ {
+ if (isIdeo (n))
+ {
+ // Open punctuation followed by non spacing marks
+ // and then ideograph does not have a break in
+ // it. So skip all this.
+ start = iter.getIndex();
+ }
+ }
+ else
+ {
+ // Ideograph preceded this character.
+ if (isClose (Character.getType(n)))
+ break;
+ }
+ }
+ iter.setIndex(start);
+ }
+
+ return iter.getIndex();
+ }
+
+ public int previous ()
+ {
+ int start = iter.getBeginIndex();
+ if (iter.getIndex() == start)
+ return DONE;
+
+ while (iter.getIndex() >= start)
+ {
+ char c = iter.previous();
+ if (c == CharacterIterator.DONE)
+ break;
+ int type = Character.getType(c);
+
+ char n = iter.previous();
+ if (n == CharacterIterator.DONE)
+ break;
+ iter.next();
+
+ int nt = Character.getType(n);
+ // Break after paragraph separators.
+ if (nt == Character.PARAGRAPH_SEPARATOR
+ || nt == Character.LINE_SEPARATOR)
+ break;
+
+ // Skip non-spacing marks.
+ int init = iter.getIndex();
+ while (n != CharacterIterator.DONE && nt == Character.NON_SPACING_MARK)
+ {
+ n = iter.previous();
+ nt = Character.getType(n);
+ }
+
+ if (nt == Character.SPACE_SEPARATOR
+ && type != Character.SPACE_SEPARATOR
+ && type != Character.NON_SPACING_MARK
+ && ! isNb (c))
+ break;
+ if (! isClose (type) && isIdeo (n))
+ break;
+ if (isIdeo (c) && nt != Character.START_PUNCTUATION)
+ break;
+ iter.setIndex(init);
+ }
+
+ return iter.getIndex();
+ }
+}
diff --git a/libjava/gnu/gcj/text/LocaleData_en.java b/libjava/gnu/gcj/text/LocaleData_en.java
new file mode 100644
index 0000000..df5a0de
--- /dev/null
+++ b/libjava/gnu/gcj/text/LocaleData_en.java
@@ -0,0 +1,75 @@
+// Generic English locale data for java.text.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.text;
+
+import java.util.ListResourceBundle;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date March 4, 1999
+ */
+
+public final class LocaleData_en extends ListResourceBundle
+{
+ // These are for DateFormatSymbols.
+ static final String[] ampmsDefault = {"AM", "PM" };
+ static final String[] erasDefault = {"BC", "AD" };
+ static final String localPatternCharsDefault = "GyMdkHmsSEDFwWahKz";
+ static final String[] monthsDefault = {
+ "January", "February", "March", "April", "May", "June",
+ "July", "August", "September", "October", "November", "December", ""
+ };
+ static final String[] shortMonthsDefault = {
+ "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+ "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", ""
+ };
+ static final String[] shortWeekdaysDefault = {
+ "", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
+ };
+ static final String[] weekdaysDefault = {
+ "", "Sunday", "Monday", "Tuesday",
+ "Wednesday", "Thursday", "Friday", "Saturday"
+ };
+
+ private static final Object[][] contents =
+ {
+ // These are for DecimalFormatSymbols.
+ { "decimalSeparator", "." },
+ { "digit", "#" },
+ { "exponential", "E" },
+ { "groupingSeparator", "," },
+ { "infinity", "\u221e" },
+ { "minusSign", "-" },
+ { "NaN", "\ufffd" },
+ { "patternSeparator", ";" },
+ { "percent", "%" },
+ { "perMill", "\u2030" },
+ { "zeroDigit", "0" },
+
+ // These are for NumberFormat.
+ { "numberFormat", "#,##0.###" },
+ { "percentFormat", "#,##0%" },
+
+ // These are for DateFormatSymbols.
+ { "ampm", ampmsDefault },
+ { "eras", erasDefault },
+ { "datePatternChars", localPatternCharsDefault },
+ { "months", monthsDefault },
+ { "shortMonths", shortMonthsDefault },
+ { "shortWeekdays", shortWeekdaysDefault },
+ { "weekdays", weekdaysDefault }
+ };
+
+ protected Object[][] getContents ()
+ {
+ return contents;
+ }
+}
diff --git a/libjava/gnu/gcj/text/LocaleData_en_US.java b/libjava/gnu/gcj/text/LocaleData_en_US.java
new file mode 100644
index 0000000..a0f0209
--- /dev/null
+++ b/libjava/gnu/gcj/text/LocaleData_en_US.java
@@ -0,0 +1,71 @@
+// US English locale data for java.text.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.text;
+
+import java.util.ListResourceBundle;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date March 4, 1999
+ */
+
+public final class LocaleData_en_US extends ListResourceBundle
+{
+ // These are for DateFormatSymbols.
+ static String[][] zoneStringsDefault = {
+ { "PST", "Pacific Standard Time", "PST",
+ /**/ "Pacific Daylight Time", "PDT", "San Francisco" },
+ { "MST", "Mountain Standard Time", "MST",
+ /**/ "Mountain Daylight Time", "MDT", "Denver" },
+ { "PNT", "Mountain Standard Time", "MST",
+ /**/ "Mountain Standard Time", "MST", "Phoenix" },
+ { "CST", "Central Standard Time", "CST",
+ /**/ "Central Daylight Time", "CDT", "Chicago" },
+ { "EST", "Eastern Standard Time", "EST",
+ /**/ "Eastern Daylight Time", "EDT", "Boston" },
+ { "IET", "Eastern Standard Time", "EST",
+ /**/ "Eastern Standard Time", "EST", "Indianapolis" },
+ { "PRT", "Atlantic Standard Time", "AST",
+ /**/ "Atlantic Daylight Time", "ADT", "Halifax" },
+ { "HST", "Hawaii Standard Time", "HST",
+ /**/ "Hawaii Daylight Time", "HDT", "Honolulu" },
+ { "AST", "Alaska Standard Time", "AST",
+ /**/ "Alaska Daylight Time", "ADT", "Anchorage" }
+ };
+
+ private static final Object[][] contents =
+ {
+ // These are for DecimalFormatSymbols.
+ { "currency", "$" },
+ { "intlCurrencySymbol", "$" }, // FIXME?
+
+ // These are for NumberFormat.
+ { "currencyFormat", "$#,##0.00;($#,##0.00)" },
+
+ // These are for DateFormatSymbols.
+ { "zoneStrings", zoneStringsDefault },
+
+ // These are for DateFormat.
+ { "shortDateFormat", "M/d/yy" }, // Java's Y2K bug.
+ { "mediumDateFormat", "d-MMM-yy" },
+ { "longDateFormat", "MMMM d, yyyy" },
+ { "fullDateFormat", "EEEE MMMM d, yyyy G" },
+ { "shortTimeFormat", "h:mm a" },
+ { "mediumTimeFormat", "h:mm:ss a" },
+ { "longTimeFormat", "h:mm:ss a z" },
+ { "fullTimeFormat", "h:mm:ss;S 'o''clock' a z" }
+ };
+
+ protected Object[][] getContents ()
+ {
+ return contents;
+ }
+}
diff --git a/libjava/gnu/gcj/text/SentenceBreakIterator.java b/libjava/gnu/gcj/text/SentenceBreakIterator.java
new file mode 100644
index 0000000..8668087
--- /dev/null
+++ b/libjava/gnu/gcj/text/SentenceBreakIterator.java
@@ -0,0 +1,226 @@
+// Default sentence BreakIterator.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.text;
+
+import java.text.BreakIterator;
+import java.text.CharacterIterator;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date March 23, 1999
+ * Written using The Unicode Standard, Version 2.0.
+ */
+
+public class SentenceBreakIterator extends BaseBreakIterator
+{
+ public Object clone ()
+ {
+ return new SentenceBreakIterator (this);
+ }
+
+ public SentenceBreakIterator ()
+ {
+ iter = null;
+ }
+
+ private SentenceBreakIterator (SentenceBreakIterator other)
+ {
+ iter = (CharacterIterator) other.iter.clone();
+ }
+
+ public int next ()
+ {
+ int end = iter.getEndIndex();
+ if (iter.getIndex() == end)
+ return DONE;
+
+ while (iter.getIndex() < end)
+ {
+ char c = iter.current();
+ if (c == CharacterIterator.DONE)
+ break;
+ int type = Character.getType(c);
+
+ char n = iter.next();
+ if (n == CharacterIterator.DONE)
+ break;
+
+ // Always break after paragraph separator.
+ if (type == Character.PARAGRAPH_SEPARATOR)
+ break;
+
+ if (c == '!' || c == '?')
+ {
+ // Skip close punctuation.
+ while (n != CharacterIterator.DONE
+ && Character.getType(n) == Character.END_PUNCTUATION)
+ n = iter.next();
+ // Skip spaces.
+ while (n != CharacterIterator.DONE
+ && Character.getType(n) == Character.SPACE_SEPARATOR)
+ n = iter.next();
+ // Skip optional paragraph separator.
+ if (n != CharacterIterator.DONE
+ && Character.getType(n) == Character.PARAGRAPH_SEPARATOR)
+ n = iter.next();
+
+ // There's always a break somewhere after `!' or `?'.
+ break;
+ }
+
+ if (c == '.')
+ {
+ int save = iter.getIndex();
+ // Skip close punctuation.
+ while (n != CharacterIterator.DONE
+ && Character.getType(n) == Character.END_PUNCTUATION)
+ n = iter.next();
+ // Skip spaces. We keep count because we need at least
+ // one for this period to represent a terminator.
+ int spcount = 0;
+ while (n != CharacterIterator.DONE
+ && Character.getType(n) == Character.SPACE_SEPARATOR)
+ {
+ n = iter.next();
+ ++spcount;
+ }
+ if (spcount > 0)
+ {
+ int save2 = iter.getIndex();
+ // Skip over open puncutation.
+ while (n != CharacterIterator.DONE
+ && Character.getType(n) == Character.START_PUNCTUATION)
+ n = iter.next();
+ // Next character must not be lower case.
+ if (n == CharacterIterator.DONE
+ || ! Character.isLowerCase(n))
+ {
+ iter.setIndex(save2);
+ break;
+ }
+ }
+ iter.setIndex(save);
+ }
+ }
+
+ return iter.getIndex();
+ }
+
+ private final int previous_internal ()
+ {
+ int start = iter.getBeginIndex();
+ if (iter.getIndex() == start)
+ return DONE;
+
+ while (iter.getIndex() >= start)
+ {
+ char c = iter.previous();
+ if (c == CharacterIterator.DONE)
+ break;
+
+ char n = iter.previous();
+ if (n == CharacterIterator.DONE)
+ break;
+ iter.next();
+ int nt = Character.getType(n);
+
+ if (! Character.isLowerCase(c)
+ && (nt == Character.START_PUNCTUATION
+ || nt == Character.SPACE_SEPARATOR))
+ {
+ int save = iter.getIndex();
+ int save_nt = nt;
+ char save_n = n;
+ // Skip open punctuation.
+ while (n != CharacterIterator.DONE
+ && Character.getType(n) == Character.START_PUNCTUATION)
+ n = iter.previous();
+ if (n == CharacterIterator.DONE)
+ break;
+ if (Character.getType(n) == Character.SPACE_SEPARATOR)
+ {
+ // Must have at least once space after the `.'.
+ int save2 = iter.getIndex();
+ while (n != CharacterIterator.DONE
+ && Character.getType(n) == Character.SPACE_SEPARATOR)
+ n = iter.previous();
+ // Skip close punctuation.
+ while (n != CharacterIterator.DONE
+ && Character.getType(n) == Character.END_PUNCTUATION)
+ n = iter.previous();
+ if (n == CharacterIterator.DONE || n == '.')
+ {
+ // Communicate location of actual end.
+ period = iter.getIndex();
+ iter.setIndex(save2);
+ break;
+ }
+ }
+ iter.setIndex(save);
+ nt = save_nt;
+ n = save_n;
+ }
+
+ if (nt == Character.PARAGRAPH_SEPARATOR)
+ {
+ // Communicate location of actual end.
+ period = iter.getIndex();
+ break;
+ }
+ else if (nt == Character.SPACE_SEPARATOR
+ || nt == Character.END_PUNCTUATION)
+ {
+ int save = iter.getIndex();
+ // Skip spaces.
+ while (n != CharacterIterator.DONE
+ && Character.getType(n) == Character.SPACE_SEPARATOR)
+ n = iter.previous();
+ // Skip close punctuation.
+ while (n != CharacterIterator.DONE
+ && Character.getType(n) == Character.END_PUNCTUATION)
+ n = iter.previous();
+ int here = iter.getIndex();
+ iter.setIndex(save);
+ if (n == CharacterIterator.DONE || n == '!' || n == '?')
+ {
+ // Communicate location of actual end.
+ period = here;
+ break;
+ }
+ }
+ else if (n == '!' || n == '?')
+ {
+ // Communicate location of actual end.
+ period = iter.getIndex();
+ break;
+ }
+ }
+
+ return iter.getIndex();
+ }
+
+ public int previous ()
+ {
+ // We want to skip over the first sentence end to the second one.
+ // However, at the end of the string we want the first end.
+ int here = iter.getIndex();
+ period = here;
+ int first = previous_internal ();
+ if (here == iter.getEndIndex() || first == DONE)
+ return first;
+ iter.setIndex(period);
+ return previous_internal ();
+ }
+
+ // This is used for communication between previous and
+ // previous_internal.
+ private int period;
+}
diff --git a/libjava/gnu/gcj/text/WordBreakIterator.java b/libjava/gnu/gcj/text/WordBreakIterator.java
new file mode 100644
index 0000000..b2fcb97
--- /dev/null
+++ b/libjava/gnu/gcj/text/WordBreakIterator.java
@@ -0,0 +1,224 @@
+// Default word BreakIterator.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package gnu.gcj.text;
+
+import java.text.BreakIterator;
+import java.text.CharacterIterator;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date March 22, 1999
+ * Written using The Unicode Standard, Version 2.0.
+ */
+
+public class WordBreakIterator extends BaseBreakIterator
+{
+ public Object clone ()
+ {
+ return new WordBreakIterator (this);
+ }
+
+ public WordBreakIterator ()
+ {
+ iter = null;
+ }
+
+ private WordBreakIterator (WordBreakIterator other)
+ {
+ iter = (CharacterIterator) other.iter.clone();
+ }
+
+ // Some methods to tell us different properties of characters.
+ private final boolean isHira (char c)
+ {
+ return c >= 0x3040 && c <= 0x309f;
+ }
+ private final boolean isKata (char c)
+ {
+ return c >= 0x30a0 && c <= 0x30ff;
+ }
+ private final boolean isHan (char c)
+ {
+ return c >= 0x4e00 && c <= 0x9fff;
+ }
+
+ public int next ()
+ {
+ int end = iter.getEndIndex();
+ if (iter.getIndex() == end)
+ return DONE;
+
+ while (iter.getIndex() < end)
+ {
+ char c = iter.current();
+ if (c == CharacterIterator.DONE)
+ break;
+ int type = Character.getType(c);
+
+ char n = iter.next();
+ if (n == CharacterIterator.DONE)
+ break;
+
+ // Break after paragraph separators.
+ if (type == Character.PARAGRAPH_SEPARATOR
+ || type == Character.LINE_SEPARATOR)
+ break;
+
+ // Break between letters and non-letters.
+ // FIXME: we treat apostrophe as part of a word. This
+ // is an English-ism.
+ boolean is_letter = Character.isLetter(c);
+ if (c != '\'' && ! is_letter && type != Character.NON_SPACING_MARK
+ && Character.isLetter(n))
+ break;
+
+ // Always break after certain symbols, such as punctuation.
+ // This heuristic is derived from hints in the JCL book and is
+ // not part of Unicode. It seems to be right, however.
+ // FIXME: we treat apostrophe as part of a word. This
+ // is an English-ism.
+ if (c != '\''
+ && (type == Character.DASH_PUNCTUATION
+ || type == Character.START_PUNCTUATION
+ || type == Character.END_PUNCTUATION
+ || type == Character.CONNECTOR_PUNCTUATION
+ || type == Character.OTHER_PUNCTUATION
+ || type == Character.MATH_SYMBOL
+ || type == Character.CURRENCY_SYMBOL
+ || type == Character.MODIFIER_SYMBOL
+ || type == Character.OTHER_SYMBOL
+ || type == Character.FORMAT
+ || type == Character.CONTROL))
+ break;
+
+ boolean is_hira = isHira (c);
+ boolean is_kata = isKata (c);
+ boolean is_han = isHan (c);
+
+ // Special case Japanese.
+ if (! is_hira && ! is_kata && ! is_han
+ && type != Character.NON_SPACING_MARK
+ && (isHira (n) || isKata (n) || isHan (n)))
+ break;
+
+ if (is_hira || is_kata || is_han || is_letter)
+ {
+ // Now we need to do some lookahead. We might need to do
+ // quite a bit of lookahead, so we save our position and
+ // restore it later.
+ int save = iter.getIndex();
+ // Skip string of non spacing marks.
+ while (n != CharacterIterator.DONE
+ && Character.getType(n) == Character.NON_SPACING_MARK)
+ n = iter.next();
+ if (n == CharacterIterator.DONE)
+ break;
+ if ((is_hira && ! isHira (n))
+ || (is_kata && ! isHira (n) && ! isKata (n))
+ || (is_han && ! isHira (n) && ! isHan (n))
+ // FIXME: we treat apostrophe as part of a word. This
+ // is an English-ism.
+ || (is_letter && ! Character.isLetter(n) && n != '\''))
+ break;
+ iter.setIndex(save);
+ }
+ }
+
+ return iter.getIndex();
+ }
+
+ public int previous ()
+ {
+ int start = iter.getBeginIndex();
+ if (iter.getIndex() == start)
+ return DONE;
+
+ while (iter.getIndex() >= start)
+ {
+ char c = iter.previous();
+ if (c == CharacterIterator.DONE)
+ break;
+
+ boolean is_hira = isHira (c);
+ boolean is_kata = isKata (c);
+ boolean is_han = isHan (c);
+ boolean is_letter = Character.isLetter(c);
+
+ char n = iter.previous();
+ if (n == CharacterIterator.DONE)
+ break;
+ iter.next();
+ int type = Character.getType(n);
+ // Break after paragraph separators.
+ if (type == Character.PARAGRAPH_SEPARATOR
+ || type == Character.LINE_SEPARATOR)
+ break;
+
+ // Break between letters and non-letters.
+ // FIXME: we treat apostrophe as part of a word. This
+ // is an English-ism.
+ if (n != '\'' && ! Character.isLetter(n)
+ && type != Character.NON_SPACING_MARK
+ && is_letter)
+ break;
+
+ // Always break after certain symbols, such as punctuation.
+ // This heuristic is derived from hints in the JCL book and is
+ // not part of Unicode. It seems to be right, however.
+ // FIXME: we treat apostrophe as part of a word. This
+ // is an English-ism.
+ if (n != '\''
+ && (type == Character.DASH_PUNCTUATION
+ || type == Character.START_PUNCTUATION
+ || type == Character.END_PUNCTUATION
+ || type == Character.CONNECTOR_PUNCTUATION
+ || type == Character.OTHER_PUNCTUATION
+ || type == Character.MATH_SYMBOL
+ || type == Character.CURRENCY_SYMBOL
+ || type == Character.MODIFIER_SYMBOL
+ || type == Character.OTHER_SYMBOL
+ || type == Character.FORMAT
+ || type == Character.CONTROL))
+ break;
+
+ // Special case Japanese.
+ if ((is_hira || is_kata || is_han)
+ && ! isHira (n) && ! isKata (n) && ! isHan (n)
+ && type != Character.NON_SPACING_MARK)
+ break;
+
+ // We might have to skip over non spacing marks to see what's
+ // on the other side.
+ if (! is_hira || (! is_letter && c != '\''))
+ {
+ int save = iter.getIndex();
+ while (n != CharacterIterator.DONE
+ && Character.getType(n) == Character.NON_SPACING_MARK)
+ n = iter.previous();
+ iter.setIndex(save);
+ // This is a strange case: a bunch of non-spacing marks at
+ // the beginning. We treat the current location as a word
+ // break.
+ if (n == CharacterIterator.DONE)
+ break;
+ if ((isHira (n) && ! is_hira)
+ || (isKata (n) && ! is_hira && ! is_kata)
+ || (isHan (n) && ! is_hira && ! is_han)
+ // FIXME: we treat apostrophe as part of a word. This
+ // is an English-ism.
+ || (! is_letter && c != '\'' && Character.isLetter(n)))
+ break;
+ }
+ }
+
+ return iter.getIndex();
+ }
+}
diff --git a/libjava/include/boehm-gc.h b/libjava/include/boehm-gc.h
new file mode 100644
index 0000000..6081a89
--- /dev/null
+++ b/libjava/include/boehm-gc.h
@@ -0,0 +1,24 @@
+// -*- c++ -*-
+// boehm-gc.h - Defines for Boehm collector.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#ifndef __JV_BOEHM_GC__
+#define __JV_BOEHM_GC__
+
+#define JV_MARKOBJ_DECL void *_Jv_MarkObj (void *, void *, void *, void *)
+#define JV_MARKARRAY_DECL void *_Jv_MarkArray (void *, void *, void *, void *)
+
+extern "C"
+{
+ JV_MARKOBJ_DECL;
+ JV_MARKARRAY_DECL;
+};
+
+#endif /* __JV_BOEHM_GC__ */
diff --git a/libjava/include/cni.h b/libjava/include/cni.h
new file mode 100644
index 0000000..b9b202d
--- /dev/null
+++ b/libjava/include/cni.h
@@ -0,0 +1,133 @@
+// cni.h -*- c++ -*-
+// This file describes the Cygnus Native Interface, CNI.
+// It provides a nicer interface to many of the things in javaprims.h.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#ifndef __JAVA_CNI_H__
+#define __JAVA_CNI_H__
+
+#include <java/lang/Object.h>
+#include <java/lang/Class.h>
+
+#include <java-threads.h>
+#include <java-array.h>
+
+extern inline jobject
+JvAllocObject (jclass cls)
+{
+ return _Jv_AllocObject (cls, cls->size());
+}
+
+extern inline jobject
+JvAllocObject (jclass cls, jsize sz)
+{
+ return _Jv_AllocObject (cls, sz);
+}
+
+extern "C" jstring _Jv_NewStringUTF (const char *bytes);
+extern "C" void _Jv_InitClass (jclass);
+
+extern inline void
+JvInitClass (jclass cls)
+{
+ return _Jv_InitClass (cls);
+}
+
+extern inline jstring
+JvAllocString (jsize sz)
+{
+ return _Jv_AllocString (sz);
+}
+
+extern inline jstring
+JvNewString (const jchar *chars, jsize len)
+{
+ return _Jv_NewString (chars, len);
+}
+
+extern inline jstring
+JvNewStringLatin1 (const char *bytes, jsize len)
+{
+ return _Jv_NewStringLatin1 (bytes, len);
+}
+
+extern inline jstring
+JvNewStringLatin1 (const char *bytes)
+{
+ return _Jv_NewStringLatin1 (bytes, strlen (bytes));
+}
+
+extern inline jchar *
+_Jv_GetStringChars (jstring str)
+{
+ return (jchar*)((char*) str->data + str->boffset);
+}
+
+extern inline jchar*
+JvGetStringChars (jstring str)
+{
+ return _Jv_GetStringChars (str);
+}
+
+extern inline jsize
+JvGetStringUTFLength (jstring string)
+{
+ return _Jv_GetStringUTFLength (string);
+}
+
+extern inline jsize
+JvGetStringUTFRegion (jstring str, jsize start, jsize len, char *buf)
+{
+ return _Jv_GetStringUTFRegion (str, start, len, buf);
+}
+
+extern inline jstring
+JvNewStringUTF (const char *bytes)
+{
+ return _Jv_NewStringUTF (bytes);
+}
+
+extern class _Jv_PrimClass _Jv_byteClass, _Jv_shortClass, _Jv_intClass,
+ _Jv_longClass, _Jv_booleanClass, _Jv_charClass, _Jv_floatClass,
+ _Jv_doubleClass, _Jv_voidClass;
+#define JvPrimClass(TYPE) ((jclass) & _Jv_##TYPE##Class)
+
+class JvSynchronize
+{
+private:
+ jobject obj;
+public:
+ JvSynchronize (const jobject &o) : obj (o)
+ { _Jv_MonitorEnter (obj); }
+ ~JvSynchronize ()
+ { _Jv_MonitorExit (obj); }
+};
+
+// Throw some exception.
+extern void JvThrow (jobject obj) __attribute__ ((__noreturn__));
+extern inline void
+JvThrow (jobject obj)
+{
+ _Jv_Throw ((void *) obj);
+}
+
+/* Call malloc, but throw exception if insufficient memory. */
+extern inline void *
+JvMalloc (jsize size)
+{
+ return _Jv_Malloc (size);
+}
+
+extern inline void
+JvFree (void *ptr)
+{
+ return _Jv_Free (ptr);
+}
+#endif /* __JAVA_CNI_H__ */
diff --git a/libjava/include/config.h.in b/libjava/include/config.h.in
new file mode 100644
index 0000000..7575b77
--- /dev/null
+++ b/libjava/include/config.h.in
@@ -0,0 +1,252 @@
+/* include/config.h.in. Generated automatically from configure.in by autoheader. */
+
+/* Define if using alloca.c. */
+#undef C_ALLOCA
+
+/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
+ This function is required for alloca.c support on those systems. */
+#undef CRAY_STACKSEG_END
+
+/* Define if you have alloca, as a function or macro. */
+#undef HAVE_ALLOCA
+
+/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
+#undef HAVE_ALLOCA_H
+
+/* If using the C implementation of alloca, define if you know the
+ direction of stack growth for your system; otherwise it will be
+ automatically deduced at run-time.
+ STACK_DIRECTION > 0 => grows toward higher addresses
+ STACK_DIRECTION < 0 => grows toward lower addresses
+ STACK_DIRECTION = 0 => direction of growth unknown
+ */
+#undef STACK_DIRECTION
+
+/* Define this if you want runtime debugging enabled. */
+#undef DEBUG
+
+/* Define if using POSIX threads that have the mutexattr functions. */
+#undef HAVE_PTHREAD_MUTEXATTR_INIT
+
+/* Define this if you prefer size over speed for java.lang.Character. */
+#undef COMPACT_CHARACTER
+
+/* Define if you have memcpy. */
+#undef HAVE_MEMCPY
+
+/* Define if you have memmove. */
+#undef HAVE_MEMMOVE
+
+/* Define if you have strerror. */
+#undef HAVE_STRERROR
+
+/* Define if you have __int32_t and __uint32_t. */
+#undef HAVE_INT32_DEFINED
+
+/* Define if you're running eCos. */
+#undef ECOS
+
+/* */
+#undef HAVE_LOCALTIME
+
+/* */
+#undef HAVE_MKTIME
+
+/* Define if using POSIX threads on Linux. */
+#undef LINUX_THREADS
+
+/* Define if you have the `ctime_r' function. */
+#undef HAVE_CTIME_R
+
+/* Define if you have the `gmtime_r' function. */
+#undef HAVE_GMTIME_R
+
+/* Define if you have the `localtime_r' function. */
+#undef HAVE_LOCALTIME_R
+
+/* Define if inet6 structures are defined in netinet/in.h. */
+#undef HAVE_INET6
+
+/* Define it socklen_t typedef is in sys/socket.h. */
+#undef HAVE_SOCKLEN_T
+
+/* Define if Boehm GC in use. */
+#undef HAVE_BOEHM_GC
+
+/* Define if gethostname is declared in <unistd.h>. */
+#undef HAVE_GETHOSTNAME_DECL
+
+/* Define if gethostbyname_r returns `int'. */
+#undef GETHOSTBYNAME_R_RETURNS_INT
+
+/* Define if gethostbyaddr_r returns `int'. */
+#undef GETHOSTBYADDR_R_RETURNS_INT
+
+/* Define if struct tm has tm_gmtoff field. */
+#undef STRUCT_TM_HAS_GMTOFF
+
+/* Define if global `timezone' exists. */
+#undef HAVE_TIMEZONE
+
+/* Define if you have the appropriate function. */
+#undef HAVE_ACCESS
+#undef HAVE_STAT
+#undef HAVE_MKDIR
+#undef HAVE_RENAME
+#undef HAVE_RMDIR
+#undef HAVE_UNLINK
+#undef HAVE_REALPATH
+#undef HAVE_READDIR_R
+#undef HAVE_GETHOSTBYNAME_R
+#undef HAVE_GETHOSTBYADDR_R
+
+/* Define if you have the access function. */
+#undef HAVE_ACCESS
+
+/* Define if you have the ctime function. */
+#undef HAVE_CTIME
+
+/* Define if you have the ctime_r function. */
+#undef HAVE_CTIME_R
+
+/* Define if you have the fsync function. */
+#undef HAVE_FSYNC
+
+/* Define if you have the ftime function. */
+#undef HAVE_FTIME
+
+/* Define if you have the gethostbyaddr_r function. */
+#undef HAVE_GETHOSTBYADDR_R
+
+/* Define if you have the gethostbyname_r function. */
+#undef HAVE_GETHOSTBYNAME_R
+
+/* Define if you have the gethostname function. */
+#undef HAVE_GETHOSTNAME
+
+/* Define if you have the getpwuid_r function. */
+#undef HAVE_GETPWUID_R
+
+/* Define if you have the gettimeofday function. */
+#undef HAVE_GETTIMEOFDAY
+
+/* Define if you have the gmtime_r function. */
+#undef HAVE_GMTIME_R
+
+/* Define if you have the inet_addr function. */
+#undef HAVE_INET_ADDR
+
+/* Define if you have the inet_aton function. */
+#undef HAVE_INET_ATON
+
+/* Define if you have the inet_pton function. */
+#undef HAVE_INET_PTON
+
+/* Define if you have the ioctl function. */
+#undef HAVE_IOCTL
+
+/* Define if you have the localtime_r function. */
+#undef HAVE_LOCALTIME_R
+
+/* Define if you have the memcpy function. */
+#undef HAVE_MEMCPY
+
+/* Define if you have the memmove function. */
+#undef HAVE_MEMMOVE
+
+/* Define if you have the mkdir function. */
+#undef HAVE_MKDIR
+
+/* Define if you have the open function. */
+#undef HAVE_OPEN
+
+/* Define if you have the pthread_mutexattr_setkind_np function. */
+#undef HAVE_PTHREAD_MUTEXATTR_SETKIND_NP
+
+/* Define if you have the pthread_mutexattr_settype function. */
+#undef HAVE_PTHREAD_MUTEXATTR_SETTYPE
+
+/* Define if you have the readdir_r function. */
+#undef HAVE_READDIR_R
+
+/* Define if you have the realpath function. */
+#undef HAVE_REALPATH
+
+/* Define if you have the rename function. */
+#undef HAVE_RENAME
+
+/* Define if you have the rmdir function. */
+#undef HAVE_RMDIR
+
+/* Define if you have the sched_yield function. */
+#undef HAVE_SCHED_YIELD
+
+/* Define if you have the select function. */
+#undef HAVE_SELECT
+
+/* Define if you have the sleep function. */
+#undef HAVE_SLEEP
+
+/* Define if you have the stat function. */
+#undef HAVE_STAT
+
+/* Define if you have the strerror function. */
+#undef HAVE_STRERROR
+
+/* Define if you have the time function. */
+#undef HAVE_TIME
+
+/* Define if you have the uname function. */
+#undef HAVE_UNAME
+
+/* Define if you have the unlink function. */
+#undef HAVE_UNLINK
+
+/* Define if you have the <arpa/inet.h> header file. */
+#undef HAVE_ARPA_INET_H
+
+/* Define if you have the <dirent.h> header file. */
+#undef HAVE_DIRENT_H
+
+/* Define if you have the <fcntl.h> header file. */
+#undef HAVE_FCNTL_H
+
+/* Define if you have the <netdb.h> header file. */
+#undef HAVE_NETDB_H
+
+/* Define if you have the <netinet/in.h> header file. */
+#undef HAVE_NETINET_IN_H
+
+/* Define if you have the <pwd.h> header file. */
+#undef HAVE_PWD_H
+
+/* Define if you have the <sys/filio.h> header file. */
+#undef HAVE_SYS_FILIO_H
+
+/* Define if you have the <sys/ioctl.h> header file. */
+#undef HAVE_SYS_IOCTL_H
+
+/* Define if you have the <sys/select.h> header file. */
+#undef HAVE_SYS_SELECT_H
+
+/* Define if you have the <sys/socket.h> header file. */
+#undef HAVE_SYS_SOCKET_H
+
+/* Define if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define if you have the <sys/time.h> header file. */
+#undef HAVE_SYS_TIME_H
+
+/* Define if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* Define if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* Name of package */
+#undef PACKAGE
+
+/* Version number of package */
+#undef VERSION
+
diff --git a/libjava/include/java-array.h b/libjava/include/java-array.h
new file mode 100644
index 0000000..3be61b6
--- /dev/null
+++ b/libjava/include/java-array.h
@@ -0,0 +1,78 @@
+// java-array.h - Header file for CNI arrays. -*- c++ -*-
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#ifndef __JAVA_ARRAY_H__
+#define __JAVA_ARRAY_H__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+
+extern "Java" {
+
+class __JArray : public java::lang::Object
+{
+public:
+ int length;
+ friend jsize JvGetArrayLength (__JArray*);
+};
+
+template<class T>
+class JArray : public __JArray
+{
+ T data[0];
+public:
+ friend T* elements<>(JArray<T>& x);
+ friend T* elements<>(JArray<T>* x);
+ // T* getData() { return data; }
+ // T& operator[](jint i) { return data[i]; }
+};
+
+template<class T>
+T* elements(JArray<T>& x) { return x.data; }
+template<class T>
+T* elements(JArray<T>* x) { return x->data; }
+
+}; // end extern "Java"
+
+/* These typesdefs match those in JNI. */
+typedef __JArray *jarray;
+typedef JArray<jobject> *jobjectArray;
+typedef JArray<jboolean> *jbooleanArray;
+typedef JArray<jbyte> *jbyteArray;
+typedef JArray<jchar> *jcharArray;
+typedef JArray<jshort> *jshortArray;
+typedef JArray<jint> *jintArray;
+typedef JArray<jlong> *jlongArray;
+typedef JArray<jfloat> *jfloatArray;
+typedef JArray<jdouble> *jdoubleArray;
+typedef JArray<jstring> *jstringArray;
+// Temporary work-around for gcjh bug. FIXME
+typedef JArray<jcharArray> *jobjectArrayjchar;
+
+extern "C" jbooleanArray JvNewBooleanArray (jint length);
+extern "C" jbyteArray JvNewByteArray (jint length);
+extern "C" jcharArray JvNewCharArray (jint length);
+extern "C" jshortArray JvNewShortArray (jint length);
+extern "C" jintArray JvNewIntArray (jint length);
+extern "C" jlongArray JvNewLongArray (jint length);
+extern "C" jfloatArray JvNewFloatArray (jint length);
+extern "C" jdoubleArray JvNewDoubleArray (jint length);
+extern "C" jobjectArray _Jv_NewObjectArray(jsize length, jclass, jobject init);
+
+inline jobjectArray JvNewObjectArray (jsize length, jclass cls, jobject init)
+{ return _Jv_NewObjectArray (length, cls, init); }
+
+extern "C" jstringArray JvConvertArgv(int argc, const char **argv);
+extern "C" void JvRunMain (jclass klass, int argc, const char **argv);
+
+inline jsize JvGetArrayLength (jarray array) { return array->length; }
+
+#endif /* __JAVA_ARRAY_H__ */
diff --git a/libjava/include/java-assert.h b/libjava/include/java-assert.h
new file mode 100644
index 0000000..6e942f2
--- /dev/null
+++ b/libjava/include/java-assert.h
@@ -0,0 +1,38 @@
+// java-assert.h - Header file holding assertion definitions. -*- c++ -*-
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#ifndef __JAVA_ASSERT_H__
+#define __JAVA_ASSERT_H__
+
+// This is a libgcj implementation header.
+
+void _Jv_Abort (const char *, const char *, int, const char *)
+ __attribute__ ((__noreturn__));
+
+#ifdef DEBUG
+#define _Jv_AssertDoCall(Message) _Jv_Abort (__FUNCTION__, __FILE__, __LINE__, Message)
+
+#define JvAssertMessage(Expr, Message) \
+ do { if (! (Expr)) _Jv_AssertDoCall (Message); } while (0)
+#define JvAssert(Expr) \
+ do { if (! (Expr)) _Jv_AssertDoCall (# Expr); } while (0)
+
+#define JvFail(Message) _Jv_AssertDoCall (Message)
+
+#else /* DEBUG */
+
+#define _Jv_AssertDoCall(Message)
+#define JvAssertMessage(Expr, Message)
+#define JvAssert(Expr)
+#define JvFail(Message) _Jv_Abort (0, 0, 0, Message)
+
+#endif /* not DEBUG */
+
+#endif /* __JAVA_ASSERT_H__ */
diff --git a/libjava/include/java-chardecomp.h b/libjava/include/java-chardecomp.h
new file mode 100644
index 0000000..346492a
--- /dev/null
+++ b/libjava/include/java-chardecomp.h
@@ -0,0 +1,3416 @@
+// java-chardecomp.h - Decomposition character tables -*- c++ -*-
+
+#ifndef __JAVA_CHARDECOMP_H__
+#define __JAVA_CHARDECOMP_H__
+
+// These tables are automatically generated by the chartables.pl
+// script. DO NOT EDIT the tables. Instead, fix the script
+// and run it again.
+
+// This file should only be included by natCollator.cc
+
+struct decomp_entry
+{
+ jchar key;
+ const char *value;
+};
+
+static const decomp_entry canonical_decomposition[] =
+{
+ { 0x00c0, "\x00\x41\x03\x00" },
+ { 0x00c1, "\x00\x41\x03\x01" },
+ { 0x00c2, "\x00\x41\x03\x02" },
+ { 0x00c3, "\x00\x41\x03\x03" },
+ { 0x00c4, "\x00\x41\x03\x08" },
+ { 0x00c5, "\x00\x41\x03\x0a" },
+ { 0x00c7, "\x00\x43\x03\x27" },
+ { 0x00c8, "\x00\x45\x03\x00" },
+ { 0x00c9, "\x00\x45\x03\x01" },
+ { 0x00ca, "\x00\x45\x03\x02" },
+ { 0x00cb, "\x00\x45\x03\x08" },
+ { 0x00cc, "\x00\x49\x03\x00" },
+ { 0x00cd, "\x00\x49\x03\x01" },
+ { 0x00ce, "\x00\x49\x03\x02" },
+ { 0x00cf, "\x00\x49\x03\x08" },
+ { 0x00d1, "\x00\x4e\x03\x03" },
+ { 0x00d2, "\x00\x4f\x03\x00" },
+ { 0x00d3, "\x00\x4f\x03\x01" },
+ { 0x00d4, "\x00\x4f\x03\x02" },
+ { 0x00d5, "\x00\x4f\x03\x03" },
+ { 0x00d6, "\x00\x4f\x03\x08" },
+ { 0x00d9, "\x00\x55\x03\x00" },
+ { 0x00da, "\x00\x55\x03\x01" },
+ { 0x00db, "\x00\x55\x03\x02" },
+ { 0x00dc, "\x00\x55\x03\x08" },
+ { 0x00dd, "\x00\x59\x03\x01" },
+ { 0x00e0, "\x00\x61\x03\x00" },
+ { 0x00e1, "\x00\x61\x03\x01" },
+ { 0x00e2, "\x00\x61\x03\x02" },
+ { 0x00e3, "\x00\x61\x03\x03" },
+ { 0x00e4, "\x00\x61\x03\x08" },
+ { 0x00e5, "\x00\x61\x03\x0a" },
+ { 0x00e7, "\x00\x63\x03\x27" },
+ { 0x00e8, "\x00\x65\x03\x00" },
+ { 0x00e9, "\x00\x65\x03\x01" },
+ { 0x00ea, "\x00\x65\x03\x02" },
+ { 0x00eb, "\x00\x65\x03\x08" },
+ { 0x00ec, "\x00\x69\x03\x00" },
+ { 0x00ed, "\x00\x69\x03\x01" },
+ { 0x00ee, "\x00\x69\x03\x02" },
+ { 0x00ef, "\x00\x69\x03\x08" },
+ { 0x00f1, "\x00\x6e\x03\x03" },
+ { 0x00f2, "\x00\x6f\x03\x00" },
+ { 0x00f3, "\x00\x6f\x03\x01" },
+ { 0x00f4, "\x00\x6f\x03\x02" },
+ { 0x00f5, "\x00\x6f\x03\x03" },
+ { 0x00f6, "\x00\x6f\x03\x08" },
+ { 0x00f9, "\x00\x75\x03\x00" },
+ { 0x00fa, "\x00\x75\x03\x01" },
+ { 0x00fb, "\x00\x75\x03\x02" },
+ { 0x00fc, "\x00\x75\x03\x08" },
+ { 0x00fd, "\x00\x79\x03\x01" },
+ { 0x00ff, "\x00\x79\x03\x08" },
+ { 0x0100, "\x00\x41\x03\x04" },
+ { 0x0101, "\x00\x61\x03\x04" },
+ { 0x0102, "\x00\x41\x03\x06" },
+ { 0x0103, "\x00\x61\x03\x06" },
+ { 0x0104, "\x00\x41\x03\x28" },
+ { 0x0105, "\x00\x61\x03\x28" },
+ { 0x0106, "\x00\x43\x03\x01" },
+ { 0x0107, "\x00\x63\x03\x01" },
+ { 0x0108, "\x00\x43\x03\x02" },
+ { 0x0109, "\x00\x63\x03\x02" },
+ { 0x010a, "\x00\x43\x03\x07" },
+ { 0x010b, "\x00\x63\x03\x07" },
+ { 0x010c, "\x00\x43\x03\x0c" },
+ { 0x010d, "\x00\x63\x03\x0c" },
+ { 0x010e, "\x00\x44\x03\x0c" },
+ { 0x010f, "\x00\x64\x03\x0c" },
+ { 0x0112, "\x00\x45\x03\x04" },
+ { 0x0113, "\x00\x65\x03\x04" },
+ { 0x0114, "\x00\x45\x03\x06" },
+ { 0x0115, "\x00\x65\x03\x06" },
+ { 0x0116, "\x00\x45\x03\x07" },
+ { 0x0117, "\x00\x65\x03\x07" },
+ { 0x0118, "\x00\x45\x03\x28" },
+ { 0x0119, "\x00\x65\x03\x28" },
+ { 0x011a, "\x00\x45\x03\x0c" },
+ { 0x011b, "\x00\x65\x03\x0c" },
+ { 0x011c, "\x00\x47\x03\x02" },
+ { 0x011d, "\x00\x67\x03\x02" },
+ { 0x011e, "\x00\x47\x03\x06" },
+ { 0x011f, "\x00\x67\x03\x06" },
+ { 0x0120, "\x00\x47\x03\x07" },
+ { 0x0121, "\x00\x67\x03\x07" },
+ { 0x0122, "\x00\x47\x03\x27" },
+ { 0x0123, "\x00\x67\x03\x27" },
+ { 0x0124, "\x00\x48\x03\x02" },
+ { 0x0125, "\x00\x68\x03\x02" },
+ { 0x0128, "\x00\x49\x03\x03" },
+ { 0x0129, "\x00\x69\x03\x03" },
+ { 0x012a, "\x00\x49\x03\x04" },
+ { 0x012b, "\x00\x69\x03\x04" },
+ { 0x012c, "\x00\x49\x03\x06" },
+ { 0x012d, "\x00\x69\x03\x06" },
+ { 0x012e, "\x00\x49\x03\x28" },
+ { 0x012f, "\x00\x69\x03\x28" },
+ { 0x0130, "\x00\x49\x03\x07" },
+ { 0x0134, "\x00\x4a\x03\x02" },
+ { 0x0135, "\x00\x6a\x03\x02" },
+ { 0x0136, "\x00\x4b\x03\x27" },
+ { 0x0137, "\x00\x6b\x03\x27" },
+ { 0x0139, "\x00\x4c\x03\x01" },
+ { 0x013a, "\x00\x6c\x03\x01" },
+ { 0x013b, "\x00\x4c\x03\x27" },
+ { 0x013c, "\x00\x6c\x03\x27" },
+ { 0x013d, "\x00\x4c\x03\x0c" },
+ { 0x013e, "\x00\x6c\x03\x0c" },
+ { 0x0143, "\x00\x4e\x03\x01" },
+ { 0x0144, "\x00\x6e\x03\x01" },
+ { 0x0145, "\x00\x4e\x03\x27" },
+ { 0x0146, "\x00\x6e\x03\x27" },
+ { 0x0147, "\x00\x4e\x03\x0c" },
+ { 0x0148, "\x00\x6e\x03\x0c" },
+ { 0x014c, "\x00\x4f\x03\x04" },
+ { 0x014d, "\x00\x6f\x03\x04" },
+ { 0x014e, "\x00\x4f\x03\x06" },
+ { 0x014f, "\x00\x6f\x03\x06" },
+ { 0x0150, "\x00\x4f\x03\x0b" },
+ { 0x0151, "\x00\x6f\x03\x0b" },
+ { 0x0154, "\x00\x52\x03\x01" },
+ { 0x0155, "\x00\x72\x03\x01" },
+ { 0x0156, "\x00\x52\x03\x27" },
+ { 0x0157, "\x00\x72\x03\x27" },
+ { 0x0158, "\x00\x52\x03\x0c" },
+ { 0x0159, "\x00\x72\x03\x0c" },
+ { 0x015a, "\x00\x53\x03\x01" },
+ { 0x015b, "\x00\x73\x03\x01" },
+ { 0x015c, "\x00\x53\x03\x02" },
+ { 0x015d, "\x00\x73\x03\x02" },
+ { 0x015e, "\x00\x53\x03\x27" },
+ { 0x015f, "\x00\x73\x03\x27" },
+ { 0x0160, "\x00\x53\x03\x0c" },
+ { 0x0161, "\x00\x73\x03\x0c" },
+ { 0x0162, "\x00\x54\x03\x27" },
+ { 0x0163, "\x00\x74\x03\x27" },
+ { 0x0164, "\x00\x54\x03\x0c" },
+ { 0x0165, "\x00\x74\x03\x0c" },
+ { 0x0168, "\x00\x55\x03\x03" },
+ { 0x0169, "\x00\x75\x03\x03" },
+ { 0x016a, "\x00\x55\x03\x04" },
+ { 0x016b, "\x00\x75\x03\x04" },
+ { 0x016c, "\x00\x55\x03\x06" },
+ { 0x016d, "\x00\x75\x03\x06" },
+ { 0x016e, "\x00\x55\x03\x0a" },
+ { 0x016f, "\x00\x75\x03\x0a" },
+ { 0x0170, "\x00\x55\x03\x0b" },
+ { 0x0171, "\x00\x75\x03\x0b" },
+ { 0x0172, "\x00\x55\x03\x28" },
+ { 0x0173, "\x00\x75\x03\x28" },
+ { 0x0174, "\x00\x57\x03\x02" },
+ { 0x0175, "\x00\x77\x03\x02" },
+ { 0x0176, "\x00\x59\x03\x02" },
+ { 0x0177, "\x00\x79\x03\x02" },
+ { 0x0178, "\x00\x59\x03\x08" },
+ { 0x0179, "\x00\x5a\x03\x01" },
+ { 0x017a, "\x00\x7a\x03\x01" },
+ { 0x017b, "\x00\x5a\x03\x07" },
+ { 0x017c, "\x00\x7a\x03\x07" },
+ { 0x017d, "\x00\x5a\x03\x0c" },
+ { 0x017e, "\x00\x7a\x03\x0c" },
+ { 0x01a0, "\x00\x4f\x03\x1b" },
+ { 0x01a1, "\x00\x6f\x03\x1b" },
+ { 0x01af, "\x00\x55\x03\x1b" },
+ { 0x01b0, "\x00\x75\x03\x1b" },
+ { 0x01cd, "\x00\x41\x03\x0c" },
+ { 0x01ce, "\x00\x61\x03\x0c" },
+ { 0x01cf, "\x00\x49\x03\x0c" },
+ { 0x01d0, "\x00\x69\x03\x0c" },
+ { 0x01d1, "\x00\x4f\x03\x0c" },
+ { 0x01d2, "\x00\x6f\x03\x0c" },
+ { 0x01d3, "\x00\x55\x03\x0c" },
+ { 0x01d4, "\x00\x75\x03\x0c" },
+ { 0x01d5, "\x00\xdc\x03\x04" },
+ { 0x01d6, "\x00\xfc\x03\x04" },
+ { 0x01d7, "\x00\xdc\x03\x01" },
+ { 0x01d8, "\x00\xfc\x03\x01" },
+ { 0x01d9, "\x00\xdc\x03\x0c" },
+ { 0x01da, "\x00\xfc\x03\x0c" },
+ { 0x01db, "\x00\xdc\x03\x00" },
+ { 0x01dc, "\x00\xfc\x03\x00" },
+ { 0x01de, "\x00\xc4\x03\x04" },
+ { 0x01df, "\x00\xe4\x03\x04" },
+ { 0x01e0, "\x00\x41\x03\x07\x03\x04" },
+ { 0x01e1, "\x00\x61\x03\x07\x03\x04" },
+ { 0x01e2, "\x00\xc6\x03\x04" },
+ { 0x01e3, "\x00\xe6\x03\x04" },
+ { 0x01e6, "\x00\x47\x03\x0c" },
+ { 0x01e7, "\x00\x67\x03\x0c" },
+ { 0x01e8, "\x00\x4b\x03\x0c" },
+ { 0x01e9, "\x00\x6b\x03\x0c" },
+ { 0x01ea, "\x00\x4f\x03\x28" },
+ { 0x01eb, "\x00\x6f\x03\x28" },
+ { 0x01ec, "\x01\xea\x03\x04" },
+ { 0x01ed, "\x01\xeb\x03\x04" },
+ { 0x01ee, "\x01\xb7\x03\x0c" },
+ { 0x01ef, "\x02\x92\x03\x0c" },
+ { 0x01f0, "\x00\x6a\x03\x0c" },
+ { 0x01f4, "\x00\x47\x03\x01" },
+ { 0x01f5, "\x00\x67\x03\x01" },
+ { 0x01fa, "\x00\xc5\x03\x01" },
+ { 0x01fb, "\x00\xe5\x03\x01" },
+ { 0x01fc, "\x00\xc6\x03\x01" },
+ { 0x01fd, "\x00\xe6\x03\x01" },
+ { 0x01fe, "\x00\xd8\x03\x01" },
+ { 0x01ff, "\x00\xf8\x03\x01" },
+ { 0x0200, "\x00\x41\x03\x0f" },
+ { 0x0201, "\x00\x61\x03\x0f" },
+ { 0x0202, "\x00\x41\x03\x11" },
+ { 0x0203, "\x00\x61\x03\x11" },
+ { 0x0204, "\x00\x45\x03\x0f" },
+ { 0x0205, "\x00\x65\x03\x0f" },
+ { 0x0206, "\x00\x45\x03\x11" },
+ { 0x0207, "\x00\x65\x03\x11" },
+ { 0x0208, "\x00\x49\x03\x0f" },
+ { 0x0209, "\x00\x69\x03\x0f" },
+ { 0x020a, "\x00\x49\x03\x11" },
+ { 0x020b, "\x00\x69\x03\x11" },
+ { 0x020c, "\x00\x4f\x03\x0f" },
+ { 0x020d, "\x00\x6f\x03\x0f" },
+ { 0x020e, "\x00\x4f\x03\x11" },
+ { 0x020f, "\x00\x6f\x03\x11" },
+ { 0x0210, "\x00\x52\x03\x0f" },
+ { 0x0211, "\x00\x72\x03\x0f" },
+ { 0x0212, "\x00\x52\x03\x11" },
+ { 0x0213, "\x00\x72\x03\x11" },
+ { 0x0214, "\x00\x55\x03\x0f" },
+ { 0x0215, "\x00\x75\x03\x0f" },
+ { 0x0216, "\x00\x55\x03\x11" },
+ { 0x0217, "\x00\x75\x03\x11" },
+ { 0x0340, "\x03\x00" },
+ { 0x0341, "\x03\x01" },
+ { 0x0343, "\x03\x13" },
+ { 0x0344, "\x03\x08\x03\x01" },
+ { 0x0374, "\x02\xb9" },
+ { 0x037e, "\x00\x3b" },
+ { 0x0385, "\x00\xa8\x03\x01" },
+ { 0x0386, "\x03\x91\x03\x01" },
+ { 0x0387, "\x00\xb7" },
+ { 0x0388, "\x03\x95\x03\x01" },
+ { 0x0389, "\x03\x97\x03\x01" },
+ { 0x038a, "\x03\x99\x03\x01" },
+ { 0x038c, "\x03\x9f\x03\x01" },
+ { 0x038e, "\x03\xa5\x03\x01" },
+ { 0x038f, "\x03\xa9\x03\x01" },
+ { 0x0390, "\x03\xca\x03\x01" },
+ { 0x03aa, "\x03\x99\x03\x08" },
+ { 0x03ab, "\x03\xa5\x03\x08" },
+ { 0x03ac, "\x03\xb1\x03\x01" },
+ { 0x03ad, "\x03\xb5\x03\x01" },
+ { 0x03ae, "\x03\xb7\x03\x01" },
+ { 0x03af, "\x03\xb9\x03\x01" },
+ { 0x03b0, "\x03\xcb\x03\x01" },
+ { 0x03ca, "\x03\xb9\x03\x08" },
+ { 0x03cb, "\x03\xc5\x03\x08" },
+ { 0x03cc, "\x03\xbf\x03\x01" },
+ { 0x03cd, "\x03\xc5\x03\x01" },
+ { 0x03ce, "\x03\xc9\x03\x01" },
+ { 0x03d3, "\x03\xd2\x03\x01" },
+ { 0x03d4, "\x03\xd2\x03\x08" },
+ { 0x0401, "\x04\x15\x03\x08" },
+ { 0x0403, "\x04\x13\x03\x01" },
+ { 0x0407, "\x04\x06\x03\x08" },
+ { 0x040c, "\x04\x1a\x03\x01" },
+ { 0x040e, "\x04\x23\x03\x06" },
+ { 0x0419, "\x04\x18\x03\x06" },
+ { 0x0439, "\x04\x38\x03\x06" },
+ { 0x0451, "\x04\x35\x03\x08" },
+ { 0x0453, "\x04\x33\x03\x01" },
+ { 0x0457, "\x04\x56\x03\x08" },
+ { 0x045c, "\x04\x3a\x03\x01" },
+ { 0x045e, "\x04\x43\x03\x06" },
+ { 0x0476, "\x04\x74\x03\x0f" },
+ { 0x0477, "\x04\x75\x03\x0f" },
+ { 0x04c1, "\x04\x16\x03\x06" },
+ { 0x04c2, "\x04\x36\x03\x06" },
+ { 0x04d0, "\x04\x10\x03\x06" },
+ { 0x04d1, "\x04\x30\x03\x06" },
+ { 0x04d2, "\x04\x10\x03\x08" },
+ { 0x04d3, "\x04\x30\x03\x08" },
+ { 0x04d6, "\x04\x15\x03\x06" },
+ { 0x04d7, "\x04\x35\x03\x06" },
+ { 0x04da, "\x04\xd8\x03\x08" },
+ { 0x04db, "\x04\xd9\x03\x08" },
+ { 0x04dc, "\x04\x16\x03\x08" },
+ { 0x04dd, "\x04\x36\x03\x08" },
+ { 0x04de, "\x04\x17\x03\x08" },
+ { 0x04df, "\x04\x37\x03\x08" },
+ { 0x04e2, "\x04\x18\x03\x04" },
+ { 0x04e3, "\x04\x38\x03\x04" },
+ { 0x04e4, "\x04\x18\x03\x08" },
+ { 0x04e5, "\x04\x38\x03\x08" },
+ { 0x04e6, "\x04\x1e\x03\x08" },
+ { 0x04e7, "\x04\x3e\x03\x08" },
+ { 0x04ea, "\x04\xe8\x03\x08" },
+ { 0x04eb, "\x04\xe9\x03\x08" },
+ { 0x04ee, "\x04\x23\x03\x04" },
+ { 0x04ef, "\x04\x43\x03\x04" },
+ { 0x04f0, "\x04\x23\x03\x08" },
+ { 0x04f1, "\x04\x43\x03\x08" },
+ { 0x04f2, "\x04\x23\x03\x0b" },
+ { 0x04f3, "\x04\x43\x03\x0b" },
+ { 0x04f4, "\x04\x27\x03\x08" },
+ { 0x04f5, "\x04\x47\x03\x08" },
+ { 0x04f8, "\x04\x2b\x03\x08" },
+ { 0x04f9, "\x04\x4b\x03\x08" },
+ { 0x0929, "\x09\x28\x09\x3c" },
+ { 0x0931, "\x09\x30\x09\x3c" },
+ { 0x0934, "\x09\x33\x09\x3c" },
+ { 0x0958, "\x09\x15\x09\x3c" },
+ { 0x0959, "\x09\x16\x09\x3c" },
+ { 0x095a, "\x09\x17\x09\x3c" },
+ { 0x095b, "\x09\x1c\x09\x3c" },
+ { 0x095c, "\x09\x21\x09\x3c" },
+ { 0x095d, "\x09\x22\x09\x3c" },
+ { 0x095e, "\x09\x2b\x09\x3c" },
+ { 0x095f, "\x09\x2f\x09\x3c" },
+ { 0x09b0, "\x09\xac\x09\xbc" },
+ { 0x09cb, "\x09\xc7\x09\xbe" },
+ { 0x09cc, "\x09\xc7\x09\xd7" },
+ { 0x09dc, "\x09\xa1\x09\xbc" },
+ { 0x09dd, "\x09\xa2\x09\xbc" },
+ { 0x09df, "\x09\xaf\x09\xbc" },
+ { 0x0a59, "\x0a\x16\x0a\x3c" },
+ { 0x0a5a, "\x0a\x17\x0a\x3c" },
+ { 0x0a5b, "\x0a\x1c\x0a\x3c" },
+ { 0x0a5c, "\x0a\x21\x0a\x3c" },
+ { 0x0a5e, "\x0a\x2b\x0a\x3c" },
+ { 0x0b48, "\x0b\x47\x0b\x56" },
+ { 0x0b4b, "\x0b\x47\x0b\x3e" },
+ { 0x0b4c, "\x0b\x47\x0b\x57" },
+ { 0x0b5c, "\x0b\x21\x0b\x3c" },
+ { 0x0b5d, "\x0b\x22\x0b\x3c" },
+ { 0x0b5f, "\x0b\x2f\x0b\x3c" },
+ { 0x0b94, "\x0b\x92\x0b\xd7" },
+ { 0x0bca, "\x0b\xc6\x0b\xbe" },
+ { 0x0bcb, "\x0b\xc7\x0b\xbe" },
+ { 0x0bcc, "\x0b\xc6\x0b\xd7" },
+ { 0x0c48, "\x0c\x46\x0c\x56" },
+ { 0x0cc0, "\x0c\xbf\x0c\xd5" },
+ { 0x0cc7, "\x0c\xc6\x0c\xd5" },
+ { 0x0cc8, "\x0c\xc6\x0c\xd6" },
+ { 0x0cca, "\x0c\xc6\x0c\xc2" },
+ { 0x0ccb, "\x0c\xca\x0c\xd5" },
+ { 0x0d4a, "\x0d\x46\x0d\x3e" },
+ { 0x0d4b, "\x0d\x47\x0d\x3e" },
+ { 0x0d4c, "\x0d\x46\x0d\x57" },
+ { 0x0e33, "\x0e\x4d\x0e\x32" },
+ { 0x0eb3, "\x0e\xcd\x0e\xb2" },
+ { 0x0f43, "\x0f\x42\x0f\xb7" },
+ { 0x0f4d, "\x0f\x4c\x0f\xb7" },
+ { 0x0f52, "\x0f\x51\x0f\xb7" },
+ { 0x0f57, "\x0f\x56\x0f\xb7" },
+ { 0x0f5c, "\x0f\x5b\x0f\xb7" },
+ { 0x0f69, "\x0f\x40\x0f\xb5" },
+ { 0x0f73, "\x0f\x72\x0f\x71" },
+ { 0x0f75, "\x0f\x71\x0f\x74" },
+ { 0x0f76, "\x0f\xb2\x0f\x80" },
+ { 0x0f77, "\x0f\x76\x0f\x71" },
+ { 0x0f78, "\x0f\xb3\x0f\x80" },
+ { 0x0f79, "\x0f\x78\x0f\x71" },
+ { 0x0f81, "\x0f\x80\x0f\x71" },
+ { 0x0f93, "\x0f\x92\x0f\xb7" },
+ { 0x0f9d, "\x0f\x9c\x0f\xb7" },
+ { 0x0fa2, "\x0f\xa1\x0f\xb7" },
+ { 0x0fa7, "\x0f\xa6\x0f\xb7" },
+ { 0x0fac, "\x0f\xab\x0f\xb7" },
+ { 0x0fb9, "\x0f\x90\x0f\xb5" },
+ { 0x1e00, "\x00\x41\x03\x25" },
+ { 0x1e01, "\x00\x61\x03\x25" },
+ { 0x1e02, "\x00\x42\x03\x07" },
+ { 0x1e03, "\x00\x62\x03\x07" },
+ { 0x1e04, "\x00\x42\x03\x23" },
+ { 0x1e05, "\x00\x62\x03\x23" },
+ { 0x1e06, "\x00\x42\x03\x31" },
+ { 0x1e07, "\x00\x62\x03\x31" },
+ { 0x1e08, "\x00\xc7\x03\x01" },
+ { 0x1e09, "\x00\xe7\x03\x01" },
+ { 0x1e0a, "\x00\x44\x03\x07" },
+ { 0x1e0b, "\x00\x64\x03\x07" },
+ { 0x1e0c, "\x00\x44\x03\x23" },
+ { 0x1e0d, "\x00\x64\x03\x23" },
+ { 0x1e0e, "\x00\x44\x03\x31" },
+ { 0x1e0f, "\x00\x64\x03\x31" },
+ { 0x1e10, "\x00\x44\x03\x27" },
+ { 0x1e11, "\x00\x64\x03\x27" },
+ { 0x1e12, "\x00\x44\x03\x2d" },
+ { 0x1e13, "\x00\x64\x03\x2d" },
+ { 0x1e14, "\x01\x12\x03\x00" },
+ { 0x1e15, "\x01\x13\x03\x00" },
+ { 0x1e16, "\x01\x12\x03\x01" },
+ { 0x1e17, "\x01\x13\x03\x01" },
+ { 0x1e18, "\x00\x45\x03\x2d" },
+ { 0x1e19, "\x00\x65\x03\x2d" },
+ { 0x1e1a, "\x00\x45\x03\x30" },
+ { 0x1e1b, "\x00\x65\x03\x30" },
+ { 0x1e1c, "\x01\x14\x03\x27" },
+ { 0x1e1d, "\x01\x15\x03\x27" },
+ { 0x1e1e, "\x00\x46\x03\x07" },
+ { 0x1e1f, "\x00\x66\x03\x07" },
+ { 0x1e20, "\x00\x47\x03\x04" },
+ { 0x1e21, "\x00\x67\x03\x04" },
+ { 0x1e22, "\x00\x48\x03\x07" },
+ { 0x1e23, "\x00\x68\x03\x07" },
+ { 0x1e24, "\x00\x48\x03\x23" },
+ { 0x1e25, "\x00\x68\x03\x23" },
+ { 0x1e26, "\x00\x48\x03\x08" },
+ { 0x1e27, "\x00\x68\x03\x08" },
+ { 0x1e28, "\x00\x48\x03\x27" },
+ { 0x1e29, "\x00\x68\x03\x27" },
+ { 0x1e2a, "\x00\x48\x03\x2e" },
+ { 0x1e2b, "\x00\x68\x03\x2e" },
+ { 0x1e2c, "\x00\x49\x03\x30" },
+ { 0x1e2d, "\x00\x69\x03\x30" },
+ { 0x1e2e, "\x00\xcf\x03\x01" },
+ { 0x1e2f, "\x00\xef\x03\x01" },
+ { 0x1e30, "\x00\x4b\x03\x01" },
+ { 0x1e31, "\x00\x6b\x03\x01" },
+ { 0x1e32, "\x00\x4b\x03\x23" },
+ { 0x1e33, "\x00\x6b\x03\x23" },
+ { 0x1e34, "\x00\x4b\x03\x31" },
+ { 0x1e35, "\x00\x6b\x03\x31" },
+ { 0x1e36, "\x00\x4c\x03\x23" },
+ { 0x1e37, "\x00\x6c\x03\x23" },
+ { 0x1e38, "\x1e\x36\x03\x04" },
+ { 0x1e39, "\x1e\x37\x03\x04" },
+ { 0x1e3a, "\x00\x4c\x03\x31" },
+ { 0x1e3b, "\x00\x6c\x03\x31" },
+ { 0x1e3c, "\x00\x4c\x03\x2d" },
+ { 0x1e3d, "\x00\x6c\x03\x2d" },
+ { 0x1e3e, "\x00\x4d\x03\x01" },
+ { 0x1e3f, "\x00\x6d\x03\x01" },
+ { 0x1e40, "\x00\x4d\x03\x07" },
+ { 0x1e41, "\x00\x6d\x03\x07" },
+ { 0x1e42, "\x00\x4d\x03\x23" },
+ { 0x1e43, "\x00\x6d\x03\x23" },
+ { 0x1e44, "\x00\x4e\x03\x07" },
+ { 0x1e45, "\x00\x6e\x03\x07" },
+ { 0x1e46, "\x00\x4e\x03\x23" },
+ { 0x1e47, "\x00\x6e\x03\x23" },
+ { 0x1e48, "\x00\x4e\x03\x31" },
+ { 0x1e49, "\x00\x6e\x03\x31" },
+ { 0x1e4a, "\x00\x4e\x03\x2d" },
+ { 0x1e4b, "\x00\x6e\x03\x2d" },
+ { 0x1e4c, "\x00\xd5\x03\x01" },
+ { 0x1e4d, "\x00\xf5\x03\x01" },
+ { 0x1e4e, "\x00\xd5\x03\x08" },
+ { 0x1e4f, "\x00\xf5\x03\x08" },
+ { 0x1e50, "\x01\x4c\x03\x00" },
+ { 0x1e51, "\x01\x4d\x03\x00" },
+ { 0x1e52, "\x01\x4c\x03\x01" },
+ { 0x1e53, "\x01\x4d\x03\x01" },
+ { 0x1e54, "\x00\x50\x03\x01" },
+ { 0x1e55, "\x00\x70\x03\x01" },
+ { 0x1e56, "\x00\x50\x03\x07" },
+ { 0x1e57, "\x00\x70\x03\x07" },
+ { 0x1e58, "\x00\x52\x03\x07" },
+ { 0x1e59, "\x00\x72\x03\x07" },
+ { 0x1e5a, "\x00\x52\x03\x23" },
+ { 0x1e5b, "\x00\x72\x03\x23" },
+ { 0x1e5c, "\x1e\x5a\x03\x04" },
+ { 0x1e5d, "\x1e\x5b\x03\x04" },
+ { 0x1e5e, "\x00\x52\x03\x31" },
+ { 0x1e5f, "\x00\x72\x03\x31" },
+ { 0x1e60, "\x00\x53\x03\x07" },
+ { 0x1e61, "\x00\x73\x03\x07" },
+ { 0x1e62, "\x00\x53\x03\x23" },
+ { 0x1e63, "\x00\x73\x03\x23" },
+ { 0x1e64, "\x01\x5a\x03\x07" },
+ { 0x1e65, "\x01\x5b\x03\x07" },
+ { 0x1e66, "\x01\x60\x03\x07" },
+ { 0x1e67, "\x01\x61\x03\x07" },
+ { 0x1e68, "\x1e\x62\x03\x07" },
+ { 0x1e69, "\x1e\x63\x03\x07" },
+ { 0x1e6a, "\x00\x54\x03\x07" },
+ { 0x1e6b, "\x00\x74\x03\x07" },
+ { 0x1e6c, "\x00\x54\x03\x23" },
+ { 0x1e6d, "\x00\x74\x03\x23" },
+ { 0x1e6e, "\x00\x54\x03\x31" },
+ { 0x1e6f, "\x00\x74\x03\x31" },
+ { 0x1e70, "\x00\x54\x03\x2d" },
+ { 0x1e71, "\x00\x74\x03\x2d" },
+ { 0x1e72, "\x00\x55\x03\x24" },
+ { 0x1e73, "\x00\x75\x03\x24" },
+ { 0x1e74, "\x00\x55\x03\x30" },
+ { 0x1e75, "\x00\x75\x03\x30" },
+ { 0x1e76, "\x00\x55\x03\x2d" },
+ { 0x1e77, "\x00\x75\x03\x2d" },
+ { 0x1e78, "\x01\x68\x03\x01" },
+ { 0x1e79, "\x01\x69\x03\x01" },
+ { 0x1e7a, "\x01\x6a\x03\x08" },
+ { 0x1e7b, "\x01\x6b\x03\x08" },
+ { 0x1e7c, "\x00\x56\x03\x03" },
+ { 0x1e7d, "\x00\x76\x03\x03" },
+ { 0x1e7e, "\x00\x56\x03\x23" },
+ { 0x1e7f, "\x00\x76\x03\x23" },
+ { 0x1e80, "\x00\x57\x03\x00" },
+ { 0x1e81, "\x00\x77\x03\x00" },
+ { 0x1e82, "\x00\x57\x03\x01" },
+ { 0x1e83, "\x00\x77\x03\x01" },
+ { 0x1e84, "\x00\x57\x03\x08" },
+ { 0x1e85, "\x00\x77\x03\x08" },
+ { 0x1e86, "\x00\x57\x03\x07" },
+ { 0x1e87, "\x00\x77\x03\x07" },
+ { 0x1e88, "\x00\x57\x03\x23" },
+ { 0x1e89, "\x00\x77\x03\x23" },
+ { 0x1e8a, "\x00\x58\x03\x07" },
+ { 0x1e8b, "\x00\x78\x03\x07" },
+ { 0x1e8c, "\x00\x58\x03\x08" },
+ { 0x1e8d, "\x00\x78\x03\x08" },
+ { 0x1e8e, "\x00\x59\x03\x07" },
+ { 0x1e8f, "\x00\x79\x03\x07" },
+ { 0x1e90, "\x00\x5a\x03\x02" },
+ { 0x1e91, "\x00\x7a\x03\x02" },
+ { 0x1e92, "\x00\x5a\x03\x23" },
+ { 0x1e93, "\x00\x7a\x03\x23" },
+ { 0x1e94, "\x00\x5a\x03\x31" },
+ { 0x1e95, "\x00\x7a\x03\x31" },
+ { 0x1e96, "\x00\x68\x03\x31" },
+ { 0x1e97, "\x00\x74\x03\x08" },
+ { 0x1e98, "\x00\x77\x03\x0a" },
+ { 0x1e99, "\x00\x79\x03\x0a" },
+ { 0x1e9b, "\x01\x7f\x03\x07" },
+ { 0x1ea0, "\x00\x41\x03\x23" },
+ { 0x1ea1, "\x00\x61\x03\x23" },
+ { 0x1ea2, "\x00\x41\x03\x09" },
+ { 0x1ea3, "\x00\x61\x03\x09" },
+ { 0x1ea4, "\x00\xc2\x03\x01" },
+ { 0x1ea5, "\x00\xe2\x03\x01" },
+ { 0x1ea6, "\x00\xc2\x03\x00" },
+ { 0x1ea7, "\x00\xe2\x03\x00" },
+ { 0x1ea8, "\x00\xc2\x03\x09" },
+ { 0x1ea9, "\x00\xe2\x03\x09" },
+ { 0x1eaa, "\x00\xc2\x03\x03" },
+ { 0x1eab, "\x00\xe2\x03\x03" },
+ { 0x1eac, "\x00\xc2\x03\x23" },
+ { 0x1ead, "\x00\xe2\x03\x23" },
+ { 0x1eae, "\x01\x02\x03\x01" },
+ { 0x1eaf, "\x01\x03\x03\x01" },
+ { 0x1eb0, "\x01\x02\x03\x00" },
+ { 0x1eb1, "\x01\x03\x03\x00" },
+ { 0x1eb2, "\x01\x02\x03\x09" },
+ { 0x1eb3, "\x01\x03\x03\x09" },
+ { 0x1eb4, "\x01\x02\x03\x03" },
+ { 0x1eb5, "\x01\x03\x03\x03" },
+ { 0x1eb6, "\x01\x02\x03\x23" },
+ { 0x1eb7, "\x01\x03\x03\x23" },
+ { 0x1eb8, "\x00\x45\x03\x23" },
+ { 0x1eb9, "\x00\x65\x03\x23" },
+ { 0x1eba, "\x00\x45\x03\x09" },
+ { 0x1ebb, "\x00\x65\x03\x09" },
+ { 0x1ebc, "\x00\x45\x03\x03" },
+ { 0x1ebd, "\x00\x65\x03\x03" },
+ { 0x1ebe, "\x00\xca\x03\x01" },
+ { 0x1ebf, "\x00\xea\x03\x01" },
+ { 0x1ec0, "\x00\xca\x03\x00" },
+ { 0x1ec1, "\x00\xea\x03\x00" },
+ { 0x1ec2, "\x00\xca\x03\x09" },
+ { 0x1ec3, "\x00\xea\x03\x09" },
+ { 0x1ec4, "\x00\xca\x03\x03" },
+ { 0x1ec5, "\x00\xea\x03\x03" },
+ { 0x1ec6, "\x00\xca\x03\x23" },
+ { 0x1ec7, "\x00\xea\x03\x23" },
+ { 0x1ec8, "\x00\x49\x03\x09" },
+ { 0x1ec9, "\x00\x69\x03\x09" },
+ { 0x1eca, "\x00\x49\x03\x23" },
+ { 0x1ecb, "\x00\x69\x03\x23" },
+ { 0x1ecc, "\x00\x4f\x03\x23" },
+ { 0x1ecd, "\x00\x6f\x03\x23" },
+ { 0x1ece, "\x00\x4f\x03\x09" },
+ { 0x1ecf, "\x00\x6f\x03\x09" },
+ { 0x1ed0, "\x00\xd4\x03\x01" },
+ { 0x1ed1, "\x00\xf4\x03\x01" },
+ { 0x1ed2, "\x00\xd4\x03\x00" },
+ { 0x1ed3, "\x00\xf4\x03\x00" },
+ { 0x1ed4, "\x00\xd4\x03\x09" },
+ { 0x1ed5, "\x00\xf4\x03\x09" },
+ { 0x1ed6, "\x00\xd4\x03\x03" },
+ { 0x1ed7, "\x00\xf4\x03\x03" },
+ { 0x1ed8, "\x00\xd4\x03\x23" },
+ { 0x1ed9, "\x00\xf4\x03\x23" },
+ { 0x1eda, "\x01\xa0\x03\x01" },
+ { 0x1edb, "\x01\xa1\x03\x01" },
+ { 0x1edc, "\x01\xa0\x03\x00" },
+ { 0x1edd, "\x01\xa1\x03\x00" },
+ { 0x1ede, "\x01\xa0\x03\x09" },
+ { 0x1edf, "\x01\xa1\x03\x09" },
+ { 0x1ee0, "\x01\xa0\x03\x03" },
+ { 0x1ee1, "\x01\xa1\x03\x03" },
+ { 0x1ee2, "\x01\xa0\x03\x23" },
+ { 0x1ee3, "\x01\xa1\x03\x23" },
+ { 0x1ee4, "\x00\x55\x03\x23" },
+ { 0x1ee5, "\x00\x75\x03\x23" },
+ { 0x1ee6, "\x00\x55\x03\x09" },
+ { 0x1ee7, "\x00\x75\x03\x09" },
+ { 0x1ee8, "\x01\xaf\x03\x01" },
+ { 0x1ee9, "\x01\xb0\x03\x01" },
+ { 0x1eea, "\x01\xaf\x03\x00" },
+ { 0x1eeb, "\x01\xb0\x03\x00" },
+ { 0x1eec, "\x01\xaf\x03\x09" },
+ { 0x1eed, "\x01\xb0\x03\x09" },
+ { 0x1eee, "\x01\xaf\x03\x03" },
+ { 0x1eef, "\x01\xb0\x03\x03" },
+ { 0x1ef0, "\x01\xaf\x03\x23" },
+ { 0x1ef1, "\x01\xb0\x03\x23" },
+ { 0x1ef2, "\x00\x59\x03\x00" },
+ { 0x1ef3, "\x00\x79\x03\x00" },
+ { 0x1ef4, "\x00\x59\x03\x23" },
+ { 0x1ef5, "\x00\x79\x03\x23" },
+ { 0x1ef6, "\x00\x59\x03\x09" },
+ { 0x1ef7, "\x00\x79\x03\x09" },
+ { 0x1ef8, "\x00\x59\x03\x03" },
+ { 0x1ef9, "\x00\x79\x03\x03" },
+ { 0x1f00, "\x03\xb1\x03\x13" },
+ { 0x1f01, "\x03\xb1\x03\x14" },
+ { 0x1f02, "\x1f\x00\x03\x00" },
+ { 0x1f03, "\x1f\x01\x03\x00" },
+ { 0x1f04, "\x1f\x00\x03\x01" },
+ { 0x1f05, "\x1f\x01\x03\x01" },
+ { 0x1f06, "\x1f\x00\x03\x42" },
+ { 0x1f07, "\x1f\x01\x03\x42" },
+ { 0x1f08, "\x03\x91\x03\x13" },
+ { 0x1f09, "\x03\x91\x03\x14" },
+ { 0x1f0a, "\x1f\x08\x03\x00" },
+ { 0x1f0b, "\x1f\x09\x03\x00" },
+ { 0x1f0c, "\x1f\x08\x03\x01" },
+ { 0x1f0d, "\x1f\x09\x03\x01" },
+ { 0x1f0e, "\x1f\x08\x03\x42" },
+ { 0x1f0f, "\x1f\x09\x03\x42" },
+ { 0x1f10, "\x03\xb5\x03\x13" },
+ { 0x1f11, "\x03\xb5\x03\x14" },
+ { 0x1f12, "\x1f\x10\x03\x00" },
+ { 0x1f13, "\x1f\x11\x03\x00" },
+ { 0x1f14, "\x1f\x10\x03\x01" },
+ { 0x1f15, "\x1f\x11\x03\x01" },
+ { 0x1f18, "\x03\x95\x03\x13" },
+ { 0x1f19, "\x03\x95\x03\x14" },
+ { 0x1f1a, "\x1f\x18\x03\x00" },
+ { 0x1f1b, "\x1f\x19\x03\x00" },
+ { 0x1f1c, "\x1f\x18\x03\x01" },
+ { 0x1f1d, "\x1f\x19\x03\x01" },
+ { 0x1f20, "\x03\xb7\x03\x13" },
+ { 0x1f21, "\x03\xb7\x03\x14" },
+ { 0x1f22, "\x1f\x20\x03\x00" },
+ { 0x1f23, "\x1f\x21\x03\x00" },
+ { 0x1f24, "\x1f\x20\x03\x01" },
+ { 0x1f25, "\x1f\x21\x03\x01" },
+ { 0x1f26, "\x1f\x20\x03\x42" },
+ { 0x1f27, "\x1f\x21\x03\x42" },
+ { 0x1f28, "\x03\x97\x03\x13" },
+ { 0x1f29, "\x03\x97\x03\x14" },
+ { 0x1f2a, "\x1f\x28\x03\x00" },
+ { 0x1f2b, "\x1f\x29\x03\x00" },
+ { 0x1f2c, "\x1f\x28\x03\x01" },
+ { 0x1f2d, "\x1f\x29\x03\x01" },
+ { 0x1f2e, "\x1f\x28\x03\x42" },
+ { 0x1f2f, "\x1f\x29\x03\x42" },
+ { 0x1f30, "\x03\xb9\x03\x13" },
+ { 0x1f31, "\x03\xb9\x03\x14" },
+ { 0x1f32, "\x1f\x30\x03\x00" },
+ { 0x1f33, "\x1f\x31\x03\x00" },
+ { 0x1f34, "\x1f\x30\x03\x01" },
+ { 0x1f35, "\x1f\x31\x03\x01" },
+ { 0x1f36, "\x1f\x30\x03\x42" },
+ { 0x1f37, "\x1f\x31\x03\x42" },
+ { 0x1f38, "\x03\x99\x03\x13" },
+ { 0x1f39, "\x03\x99\x03\x14" },
+ { 0x1f3a, "\x1f\x38\x03\x00" },
+ { 0x1f3b, "\x1f\x39\x03\x00" },
+ { 0x1f3c, "\x1f\x38\x03\x01" },
+ { 0x1f3d, "\x1f\x39\x03\x01" },
+ { 0x1f3e, "\x1f\x38\x03\x42" },
+ { 0x1f3f, "\x1f\x39\x03\x42" },
+ { 0x1f40, "\x03\xbf\x03\x13" },
+ { 0x1f41, "\x03\xbf\x03\x14" },
+ { 0x1f42, "\x1f\x40\x03\x00" },
+ { 0x1f43, "\x1f\x41\x03\x00" },
+ { 0x1f44, "\x1f\x40\x03\x01" },
+ { 0x1f45, "\x1f\x41\x03\x01" },
+ { 0x1f48, "\x03\x9f\x03\x13" },
+ { 0x1f49, "\x03\x9f\x03\x14" },
+ { 0x1f4a, "\x1f\x48\x03\x00" },
+ { 0x1f4b, "\x1f\x49\x03\x00" },
+ { 0x1f4c, "\x1f\x48\x03\x01" },
+ { 0x1f4d, "\x1f\x49\x03\x01" },
+ { 0x1f50, "\x03\xc5\x03\x13" },
+ { 0x1f51, "\x03\xc5\x03\x14" },
+ { 0x1f52, "\x1f\x50\x03\x00" },
+ { 0x1f53, "\x1f\x51\x03\x00" },
+ { 0x1f54, "\x1f\x50\x03\x01" },
+ { 0x1f55, "\x1f\x51\x03\x01" },
+ { 0x1f56, "\x1f\x50\x03\x42" },
+ { 0x1f57, "\x1f\x51\x03\x42" },
+ { 0x1f59, "\x03\xa5\x03\x14" },
+ { 0x1f5b, "\x1f\x59\x03\x00" },
+ { 0x1f5d, "\x1f\x59\x03\x01" },
+ { 0x1f5f, "\x1f\x59\x03\x42" },
+ { 0x1f60, "\x03\xc9\x03\x13" },
+ { 0x1f61, "\x03\xc9\x03\x14" },
+ { 0x1f62, "\x1f\x60\x03\x00" },
+ { 0x1f63, "\x1f\x61\x03\x00" },
+ { 0x1f64, "\x1f\x60\x03\x01" },
+ { 0x1f65, "\x1f\x61\x03\x01" },
+ { 0x1f66, "\x1f\x60\x03\x42" },
+ { 0x1f67, "\x1f\x61\x03\x42" },
+ { 0x1f68, "\x03\xa9\x03\x13" },
+ { 0x1f69, "\x03\xa9\x03\x14" },
+ { 0x1f6a, "\x1f\x68\x03\x00" },
+ { 0x1f6b, "\x1f\x69\x03\x00" },
+ { 0x1f6c, "\x1f\x68\x03\x01" },
+ { 0x1f6d, "\x1f\x69\x03\x01" },
+ { 0x1f6e, "\x1f\x68\x03\x42" },
+ { 0x1f6f, "\x1f\x69\x03\x42" },
+ { 0x1f70, "\x03\xb1\x03\x00" },
+ { 0x1f71, "\x03\xac" },
+ { 0x1f72, "\x03\xb5\x03\x00" },
+ { 0x1f73, "\x03\xad" },
+ { 0x1f74, "\x03\xb7\x03\x00" },
+ { 0x1f75, "\x03\xae" },
+ { 0x1f76, "\x03\xb9\x03\x00" },
+ { 0x1f77, "\x03\xaf" },
+ { 0x1f78, "\x03\xbf\x03\x00" },
+ { 0x1f79, "\x03\xcc" },
+ { 0x1f7a, "\x03\xc5\x03\x00" },
+ { 0x1f7b, "\x03\xcd" },
+ { 0x1f7c, "\x03\xc9\x03\x00" },
+ { 0x1f7d, "\x03\xce" },
+ { 0x1f80, "\x1f\x00\x03\x45" },
+ { 0x1f81, "\x1f\x01\x03\x45" },
+ { 0x1f82, "\x1f\x02\x03\x45" },
+ { 0x1f83, "\x1f\x03\x03\x45" },
+ { 0x1f84, "\x1f\x04\x03\x45" },
+ { 0x1f85, "\x1f\x05\x03\x45" },
+ { 0x1f86, "\x1f\x06\x03\x45" },
+ { 0x1f87, "\x1f\x07\x03\x45" },
+ { 0x1f88, "\x1f\x08\x03\x45" },
+ { 0x1f89, "\x1f\x09\x03\x45" },
+ { 0x1f8a, "\x1f\x0a\x03\x45" },
+ { 0x1f8b, "\x1f\x0b\x03\x45" },
+ { 0x1f8c, "\x1f\x0c\x03\x45" },
+ { 0x1f8d, "\x1f\x0d\x03\x45" },
+ { 0x1f8e, "\x1f\x0e\x03\x45" },
+ { 0x1f8f, "\x1f\x0f\x03\x45" },
+ { 0x1f90, "\x1f\x20\x03\x45" },
+ { 0x1f91, "\x1f\x21\x03\x45" },
+ { 0x1f92, "\x1f\x22\x03\x45" },
+ { 0x1f93, "\x1f\x23\x03\x45" },
+ { 0x1f94, "\x1f\x24\x03\x45" },
+ { 0x1f95, "\x1f\x25\x03\x45" },
+ { 0x1f96, "\x1f\x26\x03\x45" },
+ { 0x1f97, "\x1f\x27\x03\x45" },
+ { 0x1f98, "\x1f\x28\x03\x45" },
+ { 0x1f99, "\x1f\x29\x03\x45" },
+ { 0x1f9a, "\x1f\x2a\x03\x45" },
+ { 0x1f9b, "\x1f\x2b\x03\x45" },
+ { 0x1f9c, "\x1f\x2c\x03\x45" },
+ { 0x1f9d, "\x1f\x2d\x03\x45" },
+ { 0x1f9e, "\x1f\x2e\x03\x45" },
+ { 0x1f9f, "\x1f\x2f\x03\x45" },
+ { 0x1fa0, "\x1f\x60\x03\x45" },
+ { 0x1fa1, "\x1f\x61\x03\x45" },
+ { 0x1fa2, "\x1f\x62\x03\x45" },
+ { 0x1fa3, "\x1f\x63\x03\x45" },
+ { 0x1fa4, "\x1f\x64\x03\x45" },
+ { 0x1fa5, "\x1f\x65\x03\x45" },
+ { 0x1fa6, "\x1f\x66\x03\x45" },
+ { 0x1fa7, "\x1f\x67\x03\x45" },
+ { 0x1fa8, "\x1f\x68\x03\x45" },
+ { 0x1fa9, "\x1f\x69\x03\x45" },
+ { 0x1faa, "\x1f\x6a\x03\x45" },
+ { 0x1fab, "\x1f\x6b\x03\x45" },
+ { 0x1fac, "\x1f\x6c\x03\x45" },
+ { 0x1fad, "\x1f\x6d\x03\x45" },
+ { 0x1fae, "\x1f\x6e\x03\x45" },
+ { 0x1faf, "\x1f\x6f\x03\x45" },
+ { 0x1fb0, "\x03\xb1\x03\x06" },
+ { 0x1fb1, "\x03\xb1\x03\x04" },
+ { 0x1fb2, "\x1f\x70\x03\x45" },
+ { 0x1fb3, "\x03\xb1\x03\x45" },
+ { 0x1fb4, "\x03\xac\x03\x45" },
+ { 0x1fb6, "\x03\xb1\x03\x42" },
+ { 0x1fb7, "\x1f\xb6\x03\x45" },
+ { 0x1fb8, "\x03\x91\x03\x06" },
+ { 0x1fb9, "\x03\x91\x03\x04" },
+ { 0x1fba, "\x03\x91\x03\x00" },
+ { 0x1fbb, "\x03\x86" },
+ { 0x1fbc, "\x03\x91\x03\x45" },
+ { 0x1fbe, "\x03\xb9" },
+ { 0x1fc1, "\x00\xa8\x03\x42" },
+ { 0x1fc2, "\x1f\x74\x03\x45" },
+ { 0x1fc3, "\x03\xb7\x03\x45" },
+ { 0x1fc4, "\x03\xae\x03\x45" },
+ { 0x1fc6, "\x03\xb7\x03\x42" },
+ { 0x1fc7, "\x1f\xc6\x03\x45" },
+ { 0x1fc8, "\x03\x95\x03\x00" },
+ { 0x1fc9, "\x03\x88" },
+ { 0x1fca, "\x03\x97\x03\x00" },
+ { 0x1fcb, "\x03\x89" },
+ { 0x1fcc, "\x03\x97\x03\x45" },
+ { 0x1fcd, "\x1f\xbf\x03\x00" },
+ { 0x1fce, "\x1f\xbf\x03\x01" },
+ { 0x1fcf, "\x1f\xbf\x03\x42" },
+ { 0x1fd0, "\x03\xb9\x03\x06" },
+ { 0x1fd1, "\x03\xb9\x03\x04" },
+ { 0x1fd2, "\x03\xca\x03\x00" },
+ { 0x1fd3, "\x03\x90" },
+ { 0x1fd6, "\x03\xb9\x03\x42" },
+ { 0x1fd7, "\x03\xca\x03\x42" },
+ { 0x1fd8, "\x03\x99\x03\x06" },
+ { 0x1fd9, "\x03\x99\x03\x04" },
+ { 0x1fda, "\x03\x99\x03\x00" },
+ { 0x1fdb, "\x03\x8a" },
+ { 0x1fdd, "\x1f\xfe\x03\x00" },
+ { 0x1fde, "\x1f\xfe\x03\x01" },
+ { 0x1fdf, "\x1f\xfe\x03\x42" },
+ { 0x1fe0, "\x03\xc5\x03\x06" },
+ { 0x1fe1, "\x03\xc5\x03\x04" },
+ { 0x1fe2, "\x03\xcb\x03\x00" },
+ { 0x1fe3, "\x03\xb0" },
+ { 0x1fe4, "\x03\xc1\x03\x13" },
+ { 0x1fe5, "\x03\xc1\x03\x14" },
+ { 0x1fe6, "\x03\xc5\x03\x42" },
+ { 0x1fe7, "\x03\xcb\x03\x42" },
+ { 0x1fe8, "\x03\xa5\x03\x06" },
+ { 0x1fe9, "\x03\xa5\x03\x04" },
+ { 0x1fea, "\x03\xa5\x03\x00" },
+ { 0x1feb, "\x03\x8e" },
+ { 0x1fec, "\x03\xa1\x03\x14" },
+ { 0x1fed, "\x00\xa8\x03\x00" },
+ { 0x1fee, "\x03\x85" },
+ { 0x1fef, "\x00\x60" },
+ { 0x1ff2, "\x1f\x7c\x03\x45" },
+ { 0x1ff3, "\x03\xc9\x03\x45" },
+ { 0x1ff4, "\x03\xce\x03\x45" },
+ { 0x1ff6, "\x03\xc9\x03\x42" },
+ { 0x1ff7, "\x1f\xf6\x03\x45" },
+ { 0x1ff8, "\x03\x9f\x03\x00" },
+ { 0x1ff9, "\x03\x8c" },
+ { 0x1ffa, "\x03\xa9\x03\x00" },
+ { 0x1ffb, "\x03\x8f" },
+ { 0x1ffc, "\x03\xa9\x03\x45" },
+ { 0x1ffd, "\x00\xb4" },
+ { 0x2000, "\x20\x02" },
+ { 0x2001, "\x20\x03" },
+ { 0x2126, "\x03\xa9" },
+ { 0x212a, "\x00\x4b" },
+ { 0x212b, "\x00\xc5" },
+ { 0x2204, "\x22\x03\x03\x38" },
+ { 0x2209, "\x22\x08\x03\x38" },
+ { 0x220c, "\x22\x0b\x03\x38" },
+ { 0x2224, "\x22\x23\x03\x38" },
+ { 0x2226, "\x22\x25\x03\x38" },
+ { 0x2241, "\x00\x7e\x03\x38" },
+ { 0x2244, "\x22\x43\x03\x38" },
+ { 0x2247, "\x22\x45\x03\x38" },
+ { 0x2249, "\x22\x48\x03\x38" },
+ { 0x2260, "\x00\x3d\x03\x38" },
+ { 0x2262, "\x22\x61\x03\x38" },
+ { 0x226d, "\x22\x4d\x03\x38" },
+ { 0x226e, "\x00\x3c\x03\x38" },
+ { 0x226f, "\x00\x3e\x03\x38" },
+ { 0x2270, "\x22\x64\x03\x38" },
+ { 0x2271, "\x22\x65\x03\x38" },
+ { 0x2274, "\x22\x72\x03\x38" },
+ { 0x2275, "\x22\x73\x03\x38" },
+ { 0x2278, "\x22\x76\x03\x38" },
+ { 0x2279, "\x22\x77\x03\x38" },
+ { 0x2280, "\x22\x7a\x03\x38" },
+ { 0x2281, "\x22\x7b\x03\x38" },
+ { 0x2284, "\x22\x82\x03\x38" },
+ { 0x2285, "\x22\x83\x03\x38" },
+ { 0x2288, "\x22\x86\x03\x38" },
+ { 0x2289, "\x22\x87\x03\x38" },
+ { 0x22ac, "\x22\xa2\x03\x38" },
+ { 0x22ad, "\x22\xa8\x03\x38" },
+ { 0x22ae, "\x22\xa9\x03\x38" },
+ { 0x22af, "\x22\xab\x03\x38" },
+ { 0x22e0, "\x22\x7c\x03\x38" },
+ { 0x22e1, "\x22\x7d\x03\x38" },
+ { 0x22e2, "\x22\x91\x03\x38" },
+ { 0x22e3, "\x22\x92\x03\x38" },
+ { 0x22ea, "\x22\xb2\x03\x38" },
+ { 0x22eb, "\x22\xb3\x03\x38" },
+ { 0x22ec, "\x22\xb4\x03\x38" },
+ { 0x22ed, "\x22\xb5\x03\x38" },
+ { 0x2329, "\x30\x08" },
+ { 0x232a, "\x30\x09" },
+ { 0x304c, "\x30\x4b\x30\x99" },
+ { 0x304e, "\x30\x4d\x30\x99" },
+ { 0x3050, "\x30\x4f\x30\x99" },
+ { 0x3052, "\x30\x51\x30\x99" },
+ { 0x3054, "\x30\x53\x30\x99" },
+ { 0x3056, "\x30\x55\x30\x99" },
+ { 0x3058, "\x30\x57\x30\x99" },
+ { 0x305a, "\x30\x59\x30\x99" },
+ { 0x305c, "\x30\x5b\x30\x99" },
+ { 0x305e, "\x30\x5d\x30\x99" },
+ { 0x3060, "\x30\x5f\x30\x99" },
+ { 0x3062, "\x30\x61\x30\x99" },
+ { 0x3065, "\x30\x64\x30\x99" },
+ { 0x3067, "\x30\x66\x30\x99" },
+ { 0x3069, "\x30\x68\x30\x99" },
+ { 0x3070, "\x30\x6f\x30\x99" },
+ { 0x3071, "\x30\x6f\x30\x9a" },
+ { 0x3073, "\x30\x72\x30\x99" },
+ { 0x3074, "\x30\x72\x30\x9a" },
+ { 0x3076, "\x30\x75\x30\x99" },
+ { 0x3077, "\x30\x75\x30\x9a" },
+ { 0x3079, "\x30\x78\x30\x99" },
+ { 0x307a, "\x30\x78\x30\x9a" },
+ { 0x307c, "\x30\x7b\x30\x99" },
+ { 0x307d, "\x30\x7b\x30\x9a" },
+ { 0x3094, "\x30\x46\x30\x99" },
+ { 0x309e, "\x30\x9d\x30\x99" },
+ { 0x30ac, "\x30\xab\x30\x99" },
+ { 0x30ae, "\x30\xad\x30\x99" },
+ { 0x30b0, "\x30\xaf\x30\x99" },
+ { 0x30b2, "\x30\xb1\x30\x99" },
+ { 0x30b4, "\x30\xb3\x30\x99" },
+ { 0x30b6, "\x30\xb5\x30\x99" },
+ { 0x30b8, "\x30\xb7\x30\x99" },
+ { 0x30ba, "\x30\xb9\x30\x99" },
+ { 0x30bc, "\x30\xbb\x30\x99" },
+ { 0x30be, "\x30\xbd\x30\x99" },
+ { 0x30c0, "\x30\xbf\x30\x99" },
+ { 0x30c2, "\x30\xc1\x30\x99" },
+ { 0x30c5, "\x30\xc4\x30\x99" },
+ { 0x30c7, "\x30\xc6\x30\x99" },
+ { 0x30c9, "\x30\xc8\x30\x99" },
+ { 0x30d0, "\x30\xcf\x30\x99" },
+ { 0x30d1, "\x30\xcf\x30\x9a" },
+ { 0x30d3, "\x30\xd2\x30\x99" },
+ { 0x30d4, "\x30\xd2\x30\x9a" },
+ { 0x30d6, "\x30\xd5\x30\x99" },
+ { 0x30d7, "\x30\xd5\x30\x9a" },
+ { 0x30d9, "\x30\xd8\x30\x99" },
+ { 0x30da, "\x30\xd8\x30\x9a" },
+ { 0x30dc, "\x30\xdb\x30\x99" },
+ { 0x30dd, "\x30\xdb\x30\x9a" },
+ { 0x30f4, "\x30\xa6\x30\x99" },
+ { 0x30f7, "\x30\xef\x30\x99" },
+ { 0x30f8, "\x30\xf0\x30\x99" },
+ { 0x30f9, "\x30\xf1\x30\x99" },
+ { 0x30fa, "\x30\xf2\x30\x99" },
+ { 0x30fe, "\x30\xfd\x30\x99" },
+ { 0xf900, "\x8c\x48" },
+ { 0xf901, "\x66\xf4" },
+ { 0xf902, "\x8e\xca" },
+ { 0xf903, "\x8c\xc8" },
+ { 0xf904, "\x6e\xd1" },
+ { 0xf905, "\x4e\x32" },
+ { 0xf906, "\x53\xe5" },
+ { 0xf907, "\x9f\x9c" },
+ { 0xf908, "\x9f\x9c" },
+ { 0xf909, "\x59\x51" },
+ { 0xf90a, "\x91\xd1" },
+ { 0xf90b, "\x55\x87" },
+ { 0xf90c, "\x59\x48" },
+ { 0xf90d, "\x61\xf6" },
+ { 0xf90e, "\x76\x69" },
+ { 0xf90f, "\x7f\x85" },
+ { 0xf910, "\x86\x3f" },
+ { 0xf911, "\x87\xba" },
+ { 0xf912, "\x88\xf8" },
+ { 0xf913, "\x90\x8f" },
+ { 0xf914, "\x6a\x02" },
+ { 0xf915, "\x6d\x1b" },
+ { 0xf916, "\x70\xd9" },
+ { 0xf917, "\x73\xde" },
+ { 0xf918, "\x84\x3d" },
+ { 0xf919, "\x91\x6a" },
+ { 0xf91a, "\x99\xf1" },
+ { 0xf91b, "\x4e\x82" },
+ { 0xf91c, "\x53\x75" },
+ { 0xf91d, "\x6b\x04" },
+ { 0xf91e, "\x72\x1b" },
+ { 0xf91f, "\x86\x2d" },
+ { 0xf920, "\x9e\x1e" },
+ { 0xf921, "\x5d\x50" },
+ { 0xf922, "\x6f\xeb" },
+ { 0xf923, "\x85\xcd" },
+ { 0xf924, "\x89\x64" },
+ { 0xf925, "\x62\xc9" },
+ { 0xf926, "\x81\xd8" },
+ { 0xf927, "\x88\x1f" },
+ { 0xf928, "\x5e\xca" },
+ { 0xf929, "\x67\x17" },
+ { 0xf92a, "\x6d\x6a" },
+ { 0xf92b, "\x72\xfc" },
+ { 0xf92c, "\x90\xce" },
+ { 0xf92d, "\x4f\x86" },
+ { 0xf92e, "\x51\xb7" },
+ { 0xf92f, "\x52\xde" },
+ { 0xf930, "\x64\xc4" },
+ { 0xf931, "\x6a\xd3" },
+ { 0xf932, "\x72\x10" },
+ { 0xf933, "\x76\xe7" },
+ { 0xf934, "\x80\x01" },
+ { 0xf935, "\x86\x06" },
+ { 0xf936, "\x86\x5c" },
+ { 0xf937, "\x8d\xef" },
+ { 0xf938, "\x97\x32" },
+ { 0xf939, "\x9b\x6f" },
+ { 0xf93a, "\x9d\xfa" },
+ { 0xf93b, "\x78\x8c" },
+ { 0xf93c, "\x79\x7f" },
+ { 0xf93d, "\x7d\xa0" },
+ { 0xf93e, "\x83\xc9" },
+ { 0xf93f, "\x93\x04" },
+ { 0xf940, "\x9e\x7f" },
+ { 0xf941, "\x8a\xd6" },
+ { 0xf942, "\x58\xdf" },
+ { 0xf943, "\x5f\x04" },
+ { 0xf944, "\x7c\x60" },
+ { 0xf945, "\x80\x7e" },
+ { 0xf946, "\x72\x62" },
+ { 0xf947, "\x78\xca" },
+ { 0xf948, "\x8c\xc2" },
+ { 0xf949, "\x96\xf7" },
+ { 0xf94a, "\x58\xd8" },
+ { 0xf94b, "\x5c\x62" },
+ { 0xf94c, "\x6a\x13" },
+ { 0xf94d, "\x6d\xda" },
+ { 0xf94e, "\x6f\x0f" },
+ { 0xf94f, "\x7d\x2f" },
+ { 0xf950, "\x7e\x37" },
+ { 0xf951, "\x96\xfb" },
+ { 0xf952, "\x52\xd2" },
+ { 0xf953, "\x80\x8b" },
+ { 0xf954, "\x51\xdc" },
+ { 0xf955, "\x51\xcc" },
+ { 0xf956, "\x7a\x1c" },
+ { 0xf957, "\x7d\xbe" },
+ { 0xf958, "\x83\xf1" },
+ { 0xf959, "\x96\x75" },
+ { 0xf95a, "\x8b\x80" },
+ { 0xf95b, "\x62\xcf" },
+ { 0xf95c, "\x6a\x02" },
+ { 0xf95d, "\x8a\xfe" },
+ { 0xf95e, "\x4e\x39" },
+ { 0xf95f, "\x5b\xe7" },
+ { 0xf960, "\x60\x12" },
+ { 0xf961, "\x73\x87" },
+ { 0xf962, "\x75\x70" },
+ { 0xf963, "\x53\x17" },
+ { 0xf964, "\x78\xfb" },
+ { 0xf965, "\x4f\xbf" },
+ { 0xf966, "\x5f\xa9" },
+ { 0xf967, "\x4e\x0d" },
+ { 0xf968, "\x6c\xcc" },
+ { 0xf969, "\x65\x78" },
+ { 0xf96a, "\x7d\x22" },
+ { 0xf96b, "\x53\xc3" },
+ { 0xf96c, "\x58\x5e" },
+ { 0xf96d, "\x77\x01" },
+ { 0xf96e, "\x84\x49" },
+ { 0xf96f, "\x8a\xaa" },
+ { 0xf970, "\x6b\xba" },
+ { 0xf971, "\x8f\xb0" },
+ { 0xf972, "\x6c\x88" },
+ { 0xf973, "\x62\xfe" },
+ { 0xf974, "\x82\xe5" },
+ { 0xf975, "\x63\xa0" },
+ { 0xf976, "\x75\x65" },
+ { 0xf977, "\x4e\xae" },
+ { 0xf978, "\x51\x69" },
+ { 0xf979, "\x51\xc9" },
+ { 0xf97a, "\x68\x81" },
+ { 0xf97b, "\x7c\xe7" },
+ { 0xf97c, "\x82\x6f" },
+ { 0xf97d, "\x8a\xd2" },
+ { 0xf97e, "\x91\xcf" },
+ { 0xf97f, "\x52\xf5" },
+ { 0xf980, "\x54\x42" },
+ { 0xf981, "\x59\x73" },
+ { 0xf982, "\x5e\xec" },
+ { 0xf983, "\x65\xc5" },
+ { 0xf984, "\x6f\xfe" },
+ { 0xf985, "\x79\x2a" },
+ { 0xf986, "\x95\xad" },
+ { 0xf987, "\x9a\x6a" },
+ { 0xf988, "\x9e\x97" },
+ { 0xf989, "\x9e\xce" },
+ { 0xf98a, "\x52\x9b" },
+ { 0xf98b, "\x66\xc6" },
+ { 0xf98c, "\x6b\x77" },
+ { 0xf98d, "\x8f\x62" },
+ { 0xf98e, "\x5e\x74" },
+ { 0xf98f, "\x61\x90" },
+ { 0xf990, "\x62\x00" },
+ { 0xf991, "\x64\x9a" },
+ { 0xf992, "\x6f\x23" },
+ { 0xf993, "\x71\x49" },
+ { 0xf994, "\x74\x89" },
+ { 0xf995, "\x79\xca" },
+ { 0xf996, "\x7d\xf4" },
+ { 0xf997, "\x80\x6f" },
+ { 0xf998, "\x8f\x26" },
+ { 0xf999, "\x84\xee" },
+ { 0xf99a, "\x90\x23" },
+ { 0xf99b, "\x93\x4a" },
+ { 0xf99c, "\x52\x17" },
+ { 0xf99d, "\x52\xa3" },
+ { 0xf99e, "\x54\xbd" },
+ { 0xf99f, "\x70\xc8" },
+ { 0xf9a0, "\x88\xc2" },
+ { 0xf9a1, "\x8a\xaa" },
+ { 0xf9a2, "\x5e\xc9" },
+ { 0xf9a3, "\x5f\xf5" },
+ { 0xf9a4, "\x63\x7b" },
+ { 0xf9a5, "\x6b\xae" },
+ { 0xf9a6, "\x7c\x3e" },
+ { 0xf9a7, "\x73\x75" },
+ { 0xf9a8, "\x4e\xe4" },
+ { 0xf9a9, "\x56\xf9" },
+ { 0xf9aa, "\x5b\xe7" },
+ { 0xf9ab, "\x5d\xba" },
+ { 0xf9ac, "\x60\x1c" },
+ { 0xf9ad, "\x73\xb2" },
+ { 0xf9ae, "\x74\x69" },
+ { 0xf9af, "\x7f\x9a" },
+ { 0xf9b0, "\x80\x46" },
+ { 0xf9b1, "\x92\x34" },
+ { 0xf9b2, "\x96\xf6" },
+ { 0xf9b3, "\x97\x48" },
+ { 0xf9b4, "\x98\x18" },
+ { 0xf9b5, "\x4f\x8b" },
+ { 0xf9b6, "\x79\xae" },
+ { 0xf9b7, "\x91\xb4" },
+ { 0xf9b8, "\x96\xb8" },
+ { 0xf9b9, "\x60\xe1" },
+ { 0xf9ba, "\x4e\x86" },
+ { 0xf9bb, "\x50\xda" },
+ { 0xf9bc, "\x5b\xee" },
+ { 0xf9bd, "\x5c\x3f" },
+ { 0xf9be, "\x65\x99" },
+ { 0xf9bf, "\x6a\x02" },
+ { 0xf9c0, "\x71\xce" },
+ { 0xf9c1, "\x76\x42" },
+ { 0xf9c2, "\x84\xfc" },
+ { 0xf9c3, "\x90\x7c" },
+ { 0xf9c4, "\x9f\x8d" },
+ { 0xf9c5, "\x66\x88" },
+ { 0xf9c6, "\x96\x2e" },
+ { 0xf9c7, "\x52\x89" },
+ { 0xf9c8, "\x67\x7b" },
+ { 0xf9c9, "\x67\xf3" },
+ { 0xf9ca, "\x6d\x41" },
+ { 0xf9cb, "\x6e\x9c" },
+ { 0xf9cc, "\x74\x09" },
+ { 0xf9cd, "\x75\x59" },
+ { 0xf9ce, "\x78\x6b" },
+ { 0xf9cf, "\x7d\x10" },
+ { 0xf9d0, "\x98\x5e" },
+ { 0xf9d1, "\x51\x6d" },
+ { 0xf9d2, "\x62\x2e" },
+ { 0xf9d3, "\x96\x78" },
+ { 0xf9d4, "\x50\x2b" },
+ { 0xf9d5, "\x5d\x19" },
+ { 0xf9d6, "\x6d\xea" },
+ { 0xf9d7, "\x8f\x2a" },
+ { 0xf9d8, "\x5f\x8b" },
+ { 0xf9d9, "\x61\x44" },
+ { 0xf9da, "\x68\x17" },
+ { 0xf9db, "\x73\x87" },
+ { 0xf9dc, "\x96\x86" },
+ { 0xf9dd, "\x52\x29" },
+ { 0xf9de, "\x54\x0f" },
+ { 0xf9df, "\x5c\x65" },
+ { 0xf9e0, "\x66\x13" },
+ { 0xf9e1, "\x67\x4e" },
+ { 0xf9e2, "\x68\xa8" },
+ { 0xf9e3, "\x6c\xe5" },
+ { 0xf9e4, "\x74\x06" },
+ { 0xf9e5, "\x75\xe2" },
+ { 0xf9e6, "\x7f\x79" },
+ { 0xf9e7, "\x88\xcf" },
+ { 0xf9e8, "\x88\xe1" },
+ { 0xf9e9, "\x91\xcc" },
+ { 0xf9ea, "\x96\xe2" },
+ { 0xf9eb, "\x53\x3f" },
+ { 0xf9ec, "\x6e\xba" },
+ { 0xf9ed, "\x54\x1d" },
+ { 0xf9ee, "\x71\xd0" },
+ { 0xf9ef, "\x74\x98" },
+ { 0xf9f0, "\x85\xfa" },
+ { 0xf9f1, "\x96\xa3" },
+ { 0xf9f2, "\x9c\x57" },
+ { 0xf9f3, "\x9e\x9f" },
+ { 0xf9f4, "\x67\x97" },
+ { 0xf9f5, "\x6d\xcb" },
+ { 0xf9f6, "\x81\xe8" },
+ { 0xf9f7, "\x7a\xcb" },
+ { 0xf9f8, "\x7b\x20" },
+ { 0xf9f9, "\x7c\x92" },
+ { 0xf9fa, "\x72\xc0" },
+ { 0xf9fb, "\x70\x99" },
+ { 0xf9fc, "\x8b\x58" },
+ { 0xf9fd, "\x4e\xc0" },
+ { 0xf9fe, "\x83\x36" },
+ { 0xf9ff, "\x52\x3a" },
+ { 0xfa00, "\x52\x07" },
+ { 0xfa01, "\x5e\xa6" },
+ { 0xfa02, "\x62\xd3" },
+ { 0xfa03, "\x7c\xd6" },
+ { 0xfa04, "\x5b\x85" },
+ { 0xfa05, "\x6d\x1e" },
+ { 0xfa06, "\x66\xb4" },
+ { 0xfa07, "\x8f\x3b" },
+ { 0xfa08, "\x88\x4c" },
+ { 0xfa09, "\x96\x4d" },
+ { 0xfa0a, "\x89\x8b" },
+ { 0xfa0b, "\x5e\xd3" },
+ { 0xfa0c, "\x51\x40" },
+ { 0xfa0d, "\x55\xc0" },
+ { 0xfa10, "\x58\x5a" },
+ { 0xfa12, "\x66\x74" },
+ { 0xfa15, "\x51\xde" },
+ { 0xfa16, "\x73\x2a" },
+ { 0xfa17, "\x76\xca" },
+ { 0xfa18, "\x79\x3c" },
+ { 0xfa19, "\x79\x5e" },
+ { 0xfa1a, "\x79\x65" },
+ { 0xfa1b, "\x79\x8f" },
+ { 0xfa1c, "\x97\x56" },
+ { 0xfa1d, "\x7c\xbe" },
+ { 0xfa1e, "\x7f\xbd" },
+ { 0xfa20, "\x86\x12" },
+ { 0xfa22, "\x8a\xf8" },
+ { 0xfa25, "\x90\x38" },
+ { 0xfa26, "\x90\xfd" },
+ { 0xfa2a, "\x98\xef" },
+ { 0xfa2b, "\x98\xfc" },
+ { 0xfa2c, "\x99\x28" },
+ { 0xfa2d, "\x9d\xb4" },
+ { 0xfb1f, "\x05\xf2\x05\xb7" },
+ { 0xfb2a, "\x05\xe9\x05\xc1" },
+ { 0xfb2b, "\x05\xe9\x05\xc2" },
+ { 0xfb2c, "\xfb\x49\x05\xc1" },
+ { 0xfb2d, "\xfb\x49\x05\xc2" },
+ { 0xfb2e, "\x05\xd0\x05\xb7" },
+ { 0xfb2f, "\x05\xd0\x05\xb8" },
+ { 0xfb30, "\x05\xd0\x05\xbc" },
+ { 0xfb31, "\x05\xd1\x05\xbc" },
+ { 0xfb32, "\x05\xd2\x05\xbc" },
+ { 0xfb33, "\x05\xd3\x05\xbc" },
+ { 0xfb34, "\x05\xd4\x05\xbc" },
+ { 0xfb35, "\x05\xd5\x05\xbc" },
+ { 0xfb36, "\x05\xd6\x05\xbc" },
+ { 0xfb38, "\x05\xd8\x05\xbc" },
+ { 0xfb39, "\x05\xd9\x05\xbc" },
+ { 0xfb3a, "\x05\xda\x05\xbc" },
+ { 0xfb3b, "\x05\xdb\x05\xbc" },
+ { 0xfb3c, "\x05\xdc\x05\xbc" },
+ { 0xfb3e, "\x05\xde\x05\xbc" },
+ { 0xfb40, "\x05\xe0\x05\xbc" },
+ { 0xfb41, "\x05\xe1\x05\xbc" },
+ { 0xfb43, "\x05\xe3\x05\xbc" },
+ { 0xfb44, "\x05\xe4\x05\xbc" },
+ { 0xfb46, "\x05\xe6\x05\xbc" },
+ { 0xfb47, "\x05\xe7\x05\xbc" },
+ { 0xfb48, "\x05\xe8\x05\xbc" },
+ { 0xfb49, "\x05\xe9\x05\xbc" },
+ { 0xfb4a, "\x05\xea\x05\xbc" },
+ { 0xfb4b, "\x05\xd5\x05\xb9" },
+ { 0xfb4c, "\x05\xd1\x05\xbf" },
+ { 0xfb4d, "\x05\xdb\x05\xbf" },
+ { 0xfb4e, "\x05\xe4\x05\xbf" }
+};
+
+static const decomp_entry full_decomposition[] =
+{
+ { 0x005e, "\x00\x20\x03\x02" },
+ { 0x005f, "\x00\x20\x03\x32" },
+ { 0x0060, "\x00\x20\x03\x00" },
+ { 0x00a0, "\x00\x20" },
+ { 0x00a8, "\x00\x20\x03\x08" },
+ { 0x00aa, "\x00\x61" },
+ { 0x00af, "\x00\x20\x03\x04" },
+ { 0x00b2, "\x00\x32" },
+ { 0x00b3, "\x00\x33" },
+ { 0x00b4, "\x00\x20\x03\x01" },
+ { 0x00b5, "\x03\xbc" },
+ { 0x00b8, "\x00\x20\x03\x27" },
+ { 0x00b9, "\x00\x31" },
+ { 0x00ba, "\x00\x6f" },
+ { 0x00bc, "\x00\x31\x20\x44\x00\x34" },
+ { 0x00bd, "\x00\x31\x20\x44\x00\x32" },
+ { 0x00be, "\x00\x33\x20\x44\x00\x34" },
+ { 0x0132, "\x00\x49\x00\x4a" },
+ { 0x0133, "\x00\x69\x00\x6a" },
+ { 0x013f, "\x00\x4c\x00\xb7" },
+ { 0x0140, "\x00\x6c\x00\xb7" },
+ { 0x0149, "\x02\xbc\x00\x6e" },
+ { 0x017f, "\x00\x73" },
+ { 0x01c4, "\x00\x44\x01\x7d" },
+ { 0x01c5, "\x00\x44\x01\x7e" },
+ { 0x01c6, "\x00\x64\x01\x7e" },
+ { 0x01c7, "\x00\x4c\x00\x4a" },
+ { 0x01c8, "\x00\x4c\x00\x6a" },
+ { 0x01c9, "\x00\x6c\x00\x6a" },
+ { 0x01ca, "\x00\x4e\x00\x4a" },
+ { 0x01cb, "\x00\x4e\x00\x6a" },
+ { 0x01cc, "\x00\x6e\x00\x6a" },
+ { 0x01f1, "\x00\x44\x00\x5a" },
+ { 0x01f2, "\x00\x44\x00\x7a" },
+ { 0x01f3, "\x00\x64\x00\x7a" },
+ { 0x02b0, "\x00\x68" },
+ { 0x02b1, "\x02\x66" },
+ { 0x02b2, "\x00\x6a" },
+ { 0x02b3, "\x00\x72" },
+ { 0x02b4, "\x02\x79" },
+ { 0x02b5, "\x02\x7b" },
+ { 0x02b6, "\x02\x81" },
+ { 0x02b7, "\x00\x77" },
+ { 0x02b8, "\x00\x79" },
+ { 0x02d8, "\x00\x20\x03\x06" },
+ { 0x02d9, "\x00\x20\x03\x07" },
+ { 0x02da, "\x00\x20\x03\x0a" },
+ { 0x02db, "\x00\x20\x03\x28" },
+ { 0x02dc, "\x00\x20\x03\x03" },
+ { 0x02dd, "\x00\x20\x03\x0b" },
+ { 0x02e0, "\x02\x63" },
+ { 0x02e1, "\x00\x6c" },
+ { 0x02e2, "\x00\x73" },
+ { 0x02e3, "\x00\x78" },
+ { 0x02e4, "\x02\x95" },
+ { 0x037a, "\x00\x20\x03\x45" },
+ { 0x0384, "\x00\x20\x03\x01" },
+ { 0x0587, "\x05\x65\x05\x82" },
+ { 0x0edc, "\x0e\xab\x0e\x99" },
+ { 0x0edd, "\x0e\xab\x0e\xa1" },
+ { 0x1101, "\x11\x00\x11\x00" },
+ { 0x1104, "\x11\x03\x11\x03" },
+ { 0x1108, "\x11\x07\x11\x07" },
+ { 0x110a, "\x11\x09\x11\x09" },
+ { 0x110d, "\x11\x0c\x11\x0c" },
+ { 0x1113, "\x11\x02\x11\x00" },
+ { 0x1114, "\x11\x02\x11\x02" },
+ { 0x1115, "\x11\x02\x11\x03" },
+ { 0x1116, "\x11\x02\x11\x07" },
+ { 0x1117, "\x11\x03\x11\x00" },
+ { 0x1118, "\x11\x05\x11\x02" },
+ { 0x1119, "\x11\x05\x11\x05" },
+ { 0x111a, "\x11\x05\x11\x12" },
+ { 0x111b, "\x11\x05\x11\x0b" },
+ { 0x111c, "\x11\x06\x11\x07" },
+ { 0x111d, "\x11\x06\x11\x0b" },
+ { 0x111e, "\x11\x07\x11\x00" },
+ { 0x111f, "\x11\x07\x11\x02" },
+ { 0x1120, "\x11\x07\x11\x03" },
+ { 0x1121, "\x11\x07\x11\x09" },
+ { 0x1122, "\x11\x07\x11\x09\x11\x00" },
+ { 0x1123, "\x11\x07\x11\x09\x11\x03" },
+ { 0x1124, "\x11\x07\x11\x09\x11\x07" },
+ { 0x1125, "\x11\x07\x11\x09\x11\x09" },
+ { 0x1126, "\x11\x07\x11\x09\x11\x0c" },
+ { 0x1127, "\x11\x07\x11\x0c" },
+ { 0x1128, "\x11\x07\x11\x0e" },
+ { 0x1129, "\x11\x07\x11\x10" },
+ { 0x112a, "\x11\x07\x11\x11" },
+ { 0x112b, "\x11\x07\x11\x0b" },
+ { 0x112c, "\x11\x07\x11\x07\x11\x0b" },
+ { 0x112d, "\x11\x09\x11\x00" },
+ { 0x112e, "\x11\x09\x11\x02" },
+ { 0x112f, "\x11\x09\x11\x03" },
+ { 0x1130, "\x11\x09\x11\x05" },
+ { 0x1131, "\x11\x09\x11\x06" },
+ { 0x1132, "\x11\x09\x11\x07" },
+ { 0x1133, "\x11\x09\x11\x07\x11\x00" },
+ { 0x1134, "\x11\x09\x11\x09\x11\x09" },
+ { 0x1135, "\x11\x09\x11\x0b" },
+ { 0x1136, "\x11\x09\x11\x0c" },
+ { 0x1137, "\x11\x09\x11\x0e" },
+ { 0x1138, "\x11\x09\x11\x0f" },
+ { 0x1139, "\x11\x09\x11\x10" },
+ { 0x113a, "\x11\x09\x11\x11" },
+ { 0x113b, "\x11\x09\x11\x12" },
+ { 0x113d, "\x11\x3c\x11\x3c" },
+ { 0x113f, "\x11\x3e\x11\x3e" },
+ { 0x1141, "\x11\x0b\x11\x00" },
+ { 0x1142, "\x11\x0b\x11\x03" },
+ { 0x1143, "\x11\x0b\x11\x06" },
+ { 0x1144, "\x11\x0b\x11\x07" },
+ { 0x1145, "\x11\x0b\x11\x09" },
+ { 0x1146, "\x11\x0b\x11\x40" },
+ { 0x1147, "\x11\x0b\x11\x0b" },
+ { 0x1148, "\x11\x0b\x11\x0c" },
+ { 0x1149, "\x11\x0b\x11\x0e" },
+ { 0x114a, "\x11\x0b\x11\x10" },
+ { 0x114b, "\x11\x0b\x11\x11" },
+ { 0x114d, "\x11\x0c\x11\x0b" },
+ { 0x114f, "\x11\x4e\x11\x4e" },
+ { 0x1151, "\x11\x50\x11\x50" },
+ { 0x1152, "\x11\x0e\x11\x0f" },
+ { 0x1153, "\x11\x0e\x11\x12" },
+ { 0x1156, "\x11\x11\x11\x07" },
+ { 0x1157, "\x11\x11\x11\x0b" },
+ { 0x1158, "\x11\x12\x11\x12" },
+ { 0x1162, "\x11\x61\x11\x75" },
+ { 0x1164, "\x11\x63\x11\x75" },
+ { 0x1166, "\x11\x65\x11\x75" },
+ { 0x1168, "\x11\x67\x11\x75" },
+ { 0x116a, "\x11\x69\x11\x61" },
+ { 0x116b, "\x11\x69\x11\x61\x11\x75" },
+ { 0x116c, "\x11\x69\x11\x75" },
+ { 0x116f, "\x11\x6e\x11\x65" },
+ { 0x1170, "\x11\x6e\x11\x65\x11\x75" },
+ { 0x1171, "\x11\x6e\x11\x75" },
+ { 0x1174, "\x11\x73\x11\x75" },
+ { 0x1176, "\x11\x61\x11\x69" },
+ { 0x1177, "\x11\x61\x11\x6e" },
+ { 0x1178, "\x11\x63\x11\x69" },
+ { 0x1179, "\x11\x63\x11\x6d" },
+ { 0x117a, "\x11\x65\x11\x69" },
+ { 0x117b, "\x11\x65\x11\x6e" },
+ { 0x117c, "\x11\x65\x11\x73" },
+ { 0x117d, "\x11\x67\x11\x69" },
+ { 0x117e, "\x11\x67\x11\x6e" },
+ { 0x117f, "\x11\x69\x11\x65" },
+ { 0x1180, "\x11\x69\x11\x66" },
+ { 0x1181, "\x11\x69\x11\x68" },
+ { 0x1182, "\x11\x69\x11\x69" },
+ { 0x1183, "\x11\x69\x11\x6e" },
+ { 0x1184, "\x11\x6d\x11\x63" },
+ { 0x1185, "\x11\x6d\x11\x64" },
+ { 0x1186, "\x11\x6d\x11\x67" },
+ { 0x1187, "\x11\x6d\x11\x69" },
+ { 0x1188, "\x11\x6d\x11\x75" },
+ { 0x1189, "\x11\x6e\x11\x61" },
+ { 0x118a, "\x11\x6e\x11\x62" },
+ { 0x118b, "\x11\x6e\x11\x65\x11\x73" },
+ { 0x118c, "\x11\x6e\x11\x68" },
+ { 0x118d, "\x11\x6e\x11\x6e" },
+ { 0x118e, "\x11\x72\x11\x61" },
+ { 0x118f, "\x11\x72\x11\x65" },
+ { 0x1190, "\x11\x72\x11\x66" },
+ { 0x1191, "\x11\x72\x11\x67" },
+ { 0x1192, "\x11\x72\x11\x68" },
+ { 0x1193, "\x11\x72\x11\x6e" },
+ { 0x1194, "\x11\x72\x11\x75" },
+ { 0x1195, "\x11\x73\x11\x6e" },
+ { 0x1196, "\x11\x73\x11\x73" },
+ { 0x1197, "\x11\x74\x11\x6e" },
+ { 0x1198, "\x11\x75\x11\x61" },
+ { 0x1199, "\x11\x75\x11\x63" },
+ { 0x119a, "\x11\x75\x11\x69" },
+ { 0x119b, "\x11\x75\x11\x6e" },
+ { 0x119c, "\x11\x75\x11\x73" },
+ { 0x119d, "\x11\x75\x11\x9e" },
+ { 0x119f, "\x11\x9e\x11\x65" },
+ { 0x11a0, "\x11\x9e\x11\x6e" },
+ { 0x11a1, "\x11\x9e\x11\x75" },
+ { 0x11a2, "\x11\x9e\x11\x9e" },
+ { 0x11a9, "\x11\xa8\x11\xa8" },
+ { 0x11aa, "\x11\xa8\x11\xba" },
+ { 0x11ac, "\x11\xab\x11\xbd" },
+ { 0x11ad, "\x11\xab\x11\xc2" },
+ { 0x11b0, "\x11\xaf\x11\xa8" },
+ { 0x11b1, "\x11\xaf\x11\xb7" },
+ { 0x11b2, "\x11\xaf\x11\xb8" },
+ { 0x11b3, "\x11\xaf\x11\xba" },
+ { 0x11b4, "\x11\xaf\x11\xc0" },
+ { 0x11b5, "\x11\xaf\x11\xc1" },
+ { 0x11b6, "\x11\xaf\x11\xc2" },
+ { 0x11b9, "\x11\xb8\x11\xba" },
+ { 0x11bb, "\x11\xba\x11\xba" },
+ { 0x11c3, "\x11\xa8\x11\xaf" },
+ { 0x11c4, "\x11\xa8\x11\xba\x11\xa8" },
+ { 0x11c5, "\x11\xab\x11\xa8" },
+ { 0x11c6, "\x11\xab\x11\xae" },
+ { 0x11c7, "\x11\xab\x11\xba" },
+ { 0x11c8, "\x11\xab\x11\xeb" },
+ { 0x11c9, "\x11\xab\x11\xc0" },
+ { 0x11ca, "\x11\xae\x11\xa8" },
+ { 0x11cb, "\x11\xae\x11\xaf" },
+ { 0x11cc, "\x11\xaf\x11\xa8\x11\xba" },
+ { 0x11cd, "\x11\xaf\x11\xab" },
+ { 0x11ce, "\x11\xaf\x11\xae" },
+ { 0x11cf, "\x11\xaf\x11\xae\x11\xc2" },
+ { 0x11d0, "\x11\xaf\x11\xaf" },
+ { 0x11d1, "\x11\xaf\x11\xb7\x11\xa8" },
+ { 0x11d2, "\x11\xaf\x11\xb7\x11\xba" },
+ { 0x11d3, "\x11\xaf\x11\xb8\x11\xba" },
+ { 0x11d4, "\x11\xaf\x11\xb8\x11\xc2" },
+ { 0x11d5, "\x11\xaf\x11\xb8\x11\xbc" },
+ { 0x11d6, "\x11\xaf\x11\xba\x11\xba" },
+ { 0x11d7, "\x11\xaf\x11\xeb" },
+ { 0x11d8, "\x11\xaf\x11\xbf" },
+ { 0x11d9, "\x11\xaf\x11\xf9" },
+ { 0x11da, "\x11\xb7\x11\xa8" },
+ { 0x11db, "\x11\xb7\x11\xaf" },
+ { 0x11dc, "\x11\xb7\x11\xb8" },
+ { 0x11dd, "\x11\xb7\x11\xba" },
+ { 0x11de, "\x11\xb7\x11\xba\x11\xba" },
+ { 0x11df, "\x11\xb7\x11\xeb" },
+ { 0x11e0, "\x11\xb7\x11\xbe" },
+ { 0x11e1, "\x11\xb7\x11\xc2" },
+ { 0x11e2, "\x11\xb7\x11\xbc" },
+ { 0x11e3, "\x11\xb8\x11\xaf" },
+ { 0x11e4, "\x11\xb8\x11\xc1" },
+ { 0x11e5, "\x11\xb8\x11\xc2" },
+ { 0x11e6, "\x11\xb8\x11\xbc" },
+ { 0x11e7, "\x11\xba\x11\xa8" },
+ { 0x11e8, "\x11\xba\x11\xae" },
+ { 0x11e9, "\x11\xba\x11\xaf" },
+ { 0x11ea, "\x11\xba\x11\xb8" },
+ { 0x11ec, "\x11\xbc\x11\xa8" },
+ { 0x11ed, "\x11\xbc\x11\xa8\x11\xa8" },
+ { 0x11ee, "\x11\xbc\x11\xbc" },
+ { 0x11ef, "\x11\xbc\x11\xbf" },
+ { 0x11f1, "\x11\xf0\x11\xba" },
+ { 0x11f2, "\x11\xf0\x11\xeb" },
+ { 0x11f3, "\x11\xc1\x11\xb8" },
+ { 0x11f4, "\x11\xc1\x11\xbc" },
+ { 0x11f5, "\x11\xc2\x11\xab" },
+ { 0x11f6, "\x11\xc2\x11\xaf" },
+ { 0x11f7, "\x11\xc2\x11\xb7" },
+ { 0x11f8, "\x11\xc2\x11\xb8" },
+ { 0x1e9a, "\x00\x61\x02\xbe" },
+ { 0x1fbd, "\x00\x20\x03\x13" },
+ { 0x1fbf, "\x00\x20\x03\x13" },
+ { 0x1fc0, "\x00\x20\x03\x42" },
+ { 0x1ffe, "\x00\x20\x03\x14" },
+ { 0x2002, "\x00\x20" },
+ { 0x2003, "\x00\x20" },
+ { 0x2004, "\x00\x20" },
+ { 0x2005, "\x00\x20" },
+ { 0x2006, "\x00\x20" },
+ { 0x2007, "\x00\x20" },
+ { 0x2008, "\x00\x20" },
+ { 0x2009, "\x00\x20" },
+ { 0x200a, "\x00\x20" },
+ { 0x2011, "\x20\x10" },
+ { 0x2017, "\x00\x20\x03\x33" },
+ { 0x2024, "\x00\x2e" },
+ { 0x2025, "\x00\x2e\x00\x2e" },
+ { 0x2026, "\x00\x2e\x00\x2e\x00\x2e" },
+ { 0x2033, "\x20\x32\x20\x32" },
+ { 0x2034, "\x20\x32\x20\x32\x20\x32" },
+ { 0x2036, "\x20\x35\x20\x35" },
+ { 0x2037, "\x20\x35\x20\x35\x20\x35" },
+ { 0x203c, "\x00\x21\x00\x21" },
+ { 0x203e, "\x00\x20\x03\x05" },
+ { 0x2070, "\x00\x30" },
+ { 0x2074, "\x00\x34" },
+ { 0x2075, "\x00\x35" },
+ { 0x2076, "\x00\x36" },
+ { 0x2077, "\x00\x37" },
+ { 0x2078, "\x00\x38" },
+ { 0x2079, "\x00\x39" },
+ { 0x207a, "\x00\x2b" },
+ { 0x207b, "\x22\x12" },
+ { 0x207c, "\x00\x3d" },
+ { 0x207d, "\x00\x28" },
+ { 0x207e, "\x00\x29" },
+ { 0x207f, "\x00\x6e" },
+ { 0x2080, "\x00\x30" },
+ { 0x2081, "\x00\x31" },
+ { 0x2082, "\x00\x32" },
+ { 0x2083, "\x00\x33" },
+ { 0x2084, "\x00\x34" },
+ { 0x2085, "\x00\x35" },
+ { 0x2086, "\x00\x36" },
+ { 0x2087, "\x00\x37" },
+ { 0x2088, "\x00\x38" },
+ { 0x2089, "\x00\x39" },
+ { 0x208a, "\x00\x2b" },
+ { 0x208b, "\x22\x12" },
+ { 0x208c, "\x00\x3d" },
+ { 0x208d, "\x00\x28" },
+ { 0x208e, "\x00\x29" },
+ { 0x20a8, "\x00\x52\x00\x73" },
+ { 0x2100, "\x00\x61\x00\x2f\x00\x63" },
+ { 0x2101, "\x00\x61\x00\x2f\x00\x73" },
+ { 0x2102, "\x00\x43" },
+ { 0x2103, "\x00\xb0\x00\x43" },
+ { 0x2105, "\x00\x63\x00\x2f\x00\x6f" },
+ { 0x2106, "\x00\x63\x00\x2f\x00\x75" },
+ { 0x2107, "\x01\x90" },
+ { 0x2109, "\x00\xb0\x00\x46" },
+ { 0x210a, "\x00\x67" },
+ { 0x210b, "\x00\x48" },
+ { 0x210c, "\x00\x48" },
+ { 0x210d, "\x00\x48" },
+ { 0x210e, "\x00\x68" },
+ { 0x210f, "\x01\x27" },
+ { 0x2110, "\x00\x49" },
+ { 0x2111, "\x00\x49" },
+ { 0x2112, "\x00\x4c" },
+ { 0x2113, "\x00\x6c" },
+ { 0x2115, "\x00\x4e" },
+ { 0x2116, "\x00\x4e\x00\x6f" },
+ { 0x2119, "\x00\x50" },
+ { 0x211a, "\x00\x51" },
+ { 0x211b, "\x00\x52" },
+ { 0x211c, "\x00\x52" },
+ { 0x211d, "\x00\x52" },
+ { 0x2120, "\x00\x53\x00\x4d" },
+ { 0x2121, "\x00\x54\x00\x45\x00\x4c" },
+ { 0x2122, "\x00\x54\x00\x4d" },
+ { 0x2124, "\x00\x5a" },
+ { 0x2128, "\x00\x5a" },
+ { 0x212c, "\x00\x42" },
+ { 0x212d, "\x00\x43" },
+ { 0x212f, "\x00\x65" },
+ { 0x2130, "\x00\x45" },
+ { 0x2131, "\x00\x46" },
+ { 0x2133, "\x00\x4d" },
+ { 0x2134, "\x00\x6f" },
+ { 0x2135, "\x05\xd0" },
+ { 0x2136, "\x05\xd1" },
+ { 0x2137, "\x05\xd2" },
+ { 0x2138, "\x05\xd3" },
+ { 0x2153, "\x00\x31\x20\x44\x00\x33" },
+ { 0x2154, "\x00\x32\x20\x44\x00\x33" },
+ { 0x2155, "\x00\x31\x20\x44\x00\x35" },
+ { 0x2156, "\x00\x32\x20\x44\x00\x35" },
+ { 0x2157, "\x00\x33\x20\x44\x00\x35" },
+ { 0x2158, "\x00\x34\x20\x44\x00\x35" },
+ { 0x2159, "\x00\x31\x20\x44\x00\x36" },
+ { 0x215a, "\x00\x35\x20\x44\x00\x36" },
+ { 0x215b, "\x00\x31\x20\x44\x00\x38" },
+ { 0x215c, "\x00\x33\x20\x44\x00\x38" },
+ { 0x215d, "\x00\x35\x20\x44\x00\x38" },
+ { 0x215e, "\x00\x37\x20\x44\x00\x38" },
+ { 0x215f, "\x00\x31\x20\x44" },
+ { 0x2160, "\x00\x49" },
+ { 0x2161, "\x00\x49\x00\x49" },
+ { 0x2162, "\x00\x49\x00\x49\x00\x49" },
+ { 0x2163, "\x00\x49\x00\x56" },
+ { 0x2164, "\x00\x56" },
+ { 0x2165, "\x00\x56\x00\x49" },
+ { 0x2166, "\x00\x56\x00\x49\x00\x49" },
+ { 0x2167, "\x00\x56\x00\x49\x00\x49\x00\x49" },
+ { 0x2168, "\x00\x49\x00\x58" },
+ { 0x2169, "\x00\x58" },
+ { 0x216a, "\x00\x58\x00\x49" },
+ { 0x216b, "\x00\x58\x00\x49\x00\x49" },
+ { 0x216c, "\x00\x4c" },
+ { 0x216d, "\x00\x43" },
+ { 0x216e, "\x00\x44" },
+ { 0x216f, "\x00\x4d" },
+ { 0x2170, "\x00\x69" },
+ { 0x2171, "\x00\x69\x00\x69" },
+ { 0x2172, "\x00\x69\x00\x69\x00\x69" },
+ { 0x2173, "\x00\x69\x00\x76" },
+ { 0x2174, "\x00\x76" },
+ { 0x2175, "\x00\x76\x00\x69" },
+ { 0x2176, "\x00\x76\x00\x69\x00\x69" },
+ { 0x2177, "\x00\x76\x00\x69\x00\x69\x00\x69" },
+ { 0x2178, "\x00\x69\x00\x78" },
+ { 0x2179, "\x00\x78" },
+ { 0x217a, "\x00\x78\x00\x69" },
+ { 0x217b, "\x00\x78\x00\x69\x00\x69" },
+ { 0x217c, "\x00\x6c" },
+ { 0x217d, "\x00\x63" },
+ { 0x217e, "\x00\x64" },
+ { 0x217f, "\x00\x6d" },
+ { 0x222c, "\x22\x2b\x22\x2b" },
+ { 0x222d, "\x22\x2b\x22\x2b\x22\x2b" },
+ { 0x222f, "\x22\x2e\x22\x2e" },
+ { 0x2230, "\x22\x2e\x22\x2e\x22\x2e" },
+ { 0x2460, "\x00\x31" },
+ { 0x2461, "\x00\x32" },
+ { 0x2462, "\x00\x33" },
+ { 0x2463, "\x00\x34" },
+ { 0x2464, "\x00\x35" },
+ { 0x2465, "\x00\x36" },
+ { 0x2466, "\x00\x37" },
+ { 0x2467, "\x00\x38" },
+ { 0x2468, "\x00\x39" },
+ { 0x2469, "\x00\x31\x00\x30" },
+ { 0x246a, "\x00\x31\x00\x31" },
+ { 0x246b, "\x00\x31\x00\x32" },
+ { 0x246c, "\x00\x31\x00\x33" },
+ { 0x246d, "\x00\x31\x00\x34" },
+ { 0x246e, "\x00\x31\x00\x35" },
+ { 0x246f, "\x00\x31\x00\x36" },
+ { 0x2470, "\x00\x31\x00\x37" },
+ { 0x2471, "\x00\x31\x00\x38" },
+ { 0x2472, "\x00\x31\x00\x39" },
+ { 0x2473, "\x00\x32\x00\x30" },
+ { 0x2474, "\x00\x28\x00\x31\x00\x29" },
+ { 0x2475, "\x00\x28\x00\x32\x00\x29" },
+ { 0x2476, "\x00\x28\x00\x33\x00\x29" },
+ { 0x2477, "\x00\x28\x00\x34\x00\x29" },
+ { 0x2478, "\x00\x28\x00\x35\x00\x29" },
+ { 0x2479, "\x00\x28\x00\x36\x00\x29" },
+ { 0x247a, "\x00\x28\x00\x37\x00\x29" },
+ { 0x247b, "\x00\x28\x00\x38\x00\x29" },
+ { 0x247c, "\x00\x28\x00\x39\x00\x29" },
+ { 0x247d, "\x00\x28\x00\x31\x00\x30\x00\x29" },
+ { 0x247e, "\x00\x28\x00\x31\x00\x31\x00\x29" },
+ { 0x247f, "\x00\x28\x00\x31\x00\x32\x00\x29" },
+ { 0x2480, "\x00\x28\x00\x31\x00\x33\x00\x29" },
+ { 0x2481, "\x00\x28\x00\x31\x00\x34\x00\x29" },
+ { 0x2482, "\x00\x28\x00\x31\x00\x35\x00\x29" },
+ { 0x2483, "\x00\x28\x00\x31\x00\x36\x00\x29" },
+ { 0x2484, "\x00\x28\x00\x31\x00\x37\x00\x29" },
+ { 0x2485, "\x00\x28\x00\x31\x00\x38\x00\x29" },
+ { 0x2486, "\x00\x28\x00\x31\x00\x39\x00\x29" },
+ { 0x2487, "\x00\x28\x00\x32\x00\x30\x00\x29" },
+ { 0x2488, "\x00\x31\x00\x2e" },
+ { 0x2489, "\x00\x32\x00\x2e" },
+ { 0x248a, "\x00\x33\x00\x2e" },
+ { 0x248b, "\x00\x34\x00\x2e" },
+ { 0x248c, "\x00\x35\x00\x2e" },
+ { 0x248d, "\x00\x36\x00\x2e" },
+ { 0x248e, "\x00\x37\x00\x2e" },
+ { 0x248f, "\x00\x38\x00\x2e" },
+ { 0x2490, "\x00\x39\x00\x2e" },
+ { 0x2491, "\x00\x31\x00\x30\x00\x2e" },
+ { 0x2492, "\x00\x31\x00\x31\x00\x2e" },
+ { 0x2493, "\x00\x31\x00\x32\x00\x2e" },
+ { 0x2494, "\x00\x31\x00\x33\x00\x2e" },
+ { 0x2495, "\x00\x31\x00\x34\x00\x2e" },
+ { 0x2496, "\x00\x31\x00\x35\x00\x2e" },
+ { 0x2497, "\x00\x31\x00\x36\x00\x2e" },
+ { 0x2498, "\x00\x31\x00\x37\x00\x2e" },
+ { 0x2499, "\x00\x31\x00\x38\x00\x2e" },
+ { 0x249a, "\x00\x31\x00\x39\x00\x2e" },
+ { 0x249b, "\x00\x32\x00\x30\x00\x2e" },
+ { 0x249c, "\x00\x28\x00\x61\x00\x29" },
+ { 0x249d, "\x00\x28\x00\x62\x00\x29" },
+ { 0x249e, "\x00\x28\x00\x63\x00\x29" },
+ { 0x249f, "\x00\x28\x00\x64\x00\x29" },
+ { 0x24a0, "\x00\x28\x00\x65\x00\x29" },
+ { 0x24a1, "\x00\x28\x00\x66\x00\x29" },
+ { 0x24a2, "\x00\x28\x00\x67\x00\x29" },
+ { 0x24a3, "\x00\x28\x00\x68\x00\x29" },
+ { 0x24a4, "\x00\x28\x00\x69\x00\x29" },
+ { 0x24a5, "\x00\x28\x00\x6a\x00\x29" },
+ { 0x24a6, "\x00\x28\x00\x6b\x00\x29" },
+ { 0x24a7, "\x00\x28\x00\x6c\x00\x29" },
+ { 0x24a8, "\x00\x28\x00\x6d\x00\x29" },
+ { 0x24a9, "\x00\x28\x00\x6e\x00\x29" },
+ { 0x24aa, "\x00\x28\x00\x6f\x00\x29" },
+ { 0x24ab, "\x00\x28\x00\x70\x00\x29" },
+ { 0x24ac, "\x00\x28\x00\x71\x00\x29" },
+ { 0x24ad, "\x00\x28\x00\x72\x00\x29" },
+ { 0x24ae, "\x00\x28\x00\x73\x00\x29" },
+ { 0x24af, "\x00\x28\x00\x74\x00\x29" },
+ { 0x24b0, "\x00\x28\x00\x75\x00\x29" },
+ { 0x24b1, "\x00\x28\x00\x76\x00\x29" },
+ { 0x24b2, "\x00\x28\x00\x77\x00\x29" },
+ { 0x24b3, "\x00\x28\x00\x78\x00\x29" },
+ { 0x24b4, "\x00\x28\x00\x79\x00\x29" },
+ { 0x24b5, "\x00\x28\x00\x7a\x00\x29" },
+ { 0x24b6, "\x00\x41" },
+ { 0x24b7, "\x00\x42" },
+ { 0x24b8, "\x00\x43" },
+ { 0x24b9, "\x00\x44" },
+ { 0x24ba, "\x00\x45" },
+ { 0x24bb, "\x00\x46" },
+ { 0x24bc, "\x00\x47" },
+ { 0x24bd, "\x00\x48" },
+ { 0x24be, "\x00\x49" },
+ { 0x24bf, "\x00\x4a" },
+ { 0x24c0, "\x00\x4b" },
+ { 0x24c1, "\x00\x4c" },
+ { 0x24c2, "\x00\x4d" },
+ { 0x24c3, "\x00\x4e" },
+ { 0x24c4, "\x00\x4f" },
+ { 0x24c5, "\x00\x50" },
+ { 0x24c6, "\x00\x51" },
+ { 0x24c7, "\x00\x52" },
+ { 0x24c8, "\x00\x53" },
+ { 0x24c9, "\x00\x54" },
+ { 0x24ca, "\x00\x55" },
+ { 0x24cb, "\x00\x56" },
+ { 0x24cc, "\x00\x57" },
+ { 0x24cd, "\x00\x58" },
+ { 0x24ce, "\x00\x59" },
+ { 0x24cf, "\x00\x5a" },
+ { 0x24d0, "\x00\x61" },
+ { 0x24d1, "\x00\x62" },
+ { 0x24d2, "\x00\x63" },
+ { 0x24d3, "\x00\x64" },
+ { 0x24d4, "\x00\x65" },
+ { 0x24d5, "\x00\x66" },
+ { 0x24d6, "\x00\x67" },
+ { 0x24d7, "\x00\x68" },
+ { 0x24d8, "\x00\x69" },
+ { 0x24d9, "\x00\x6a" },
+ { 0x24da, "\x00\x6b" },
+ { 0x24db, "\x00\x6c" },
+ { 0x24dc, "\x00\x6d" },
+ { 0x24dd, "\x00\x6e" },
+ { 0x24de, "\x00\x6f" },
+ { 0x24df, "\x00\x70" },
+ { 0x24e0, "\x00\x71" },
+ { 0x24e1, "\x00\x72" },
+ { 0x24e2, "\x00\x73" },
+ { 0x24e3, "\x00\x74" },
+ { 0x24e4, "\x00\x75" },
+ { 0x24e5, "\x00\x76" },
+ { 0x24e6, "\x00\x77" },
+ { 0x24e7, "\x00\x78" },
+ { 0x24e8, "\x00\x79" },
+ { 0x24e9, "\x00\x7a" },
+ { 0x24ea, "\x00\x30" },
+ { 0x3000, "\x00\x20" },
+ { 0x3036, "\x30\x12" },
+ { 0x309b, "\x00\x20\x30\x99" },
+ { 0x309c, "\x00\x20\x30\x9a" },
+ { 0x3131, "\x11\x00" },
+ { 0x3132, "\x11\x01" },
+ { 0x3133, "\x11\xaa" },
+ { 0x3134, "\x11\x02" },
+ { 0x3135, "\x11\xac" },
+ { 0x3136, "\x11\xad" },
+ { 0x3137, "\x11\x03" },
+ { 0x3138, "\x11\x04" },
+ { 0x3139, "\x11\x05" },
+ { 0x313a, "\x11\xb0" },
+ { 0x313b, "\x11\xb1" },
+ { 0x313c, "\x11\xb2" },
+ { 0x313d, "\x11\xb3" },
+ { 0x313e, "\x11\xb4" },
+ { 0x313f, "\x11\xb5" },
+ { 0x3140, "\x11\x1a" },
+ { 0x3141, "\x11\x06" },
+ { 0x3142, "\x11\x07" },
+ { 0x3143, "\x11\x08" },
+ { 0x3144, "\x11\x21" },
+ { 0x3145, "\x11\x09" },
+ { 0x3146, "\x11\x0a" },
+ { 0x3147, "\x11\x0b" },
+ { 0x3148, "\x11\x0c" },
+ { 0x3149, "\x11\x0d" },
+ { 0x314a, "\x11\x0e" },
+ { 0x314b, "\x11\x0f" },
+ { 0x314c, "\x11\x10" },
+ { 0x314d, "\x11\x11" },
+ { 0x314e, "\x11\x12" },
+ { 0x314f, "\x11\x61" },
+ { 0x3150, "\x11\x62" },
+ { 0x3151, "\x11\x63" },
+ { 0x3152, "\x11\x64" },
+ { 0x3153, "\x11\x65" },
+ { 0x3154, "\x11\x66" },
+ { 0x3155, "\x11\x67" },
+ { 0x3156, "\x11\x68" },
+ { 0x3157, "\x11\x69" },
+ { 0x3158, "\x11\x6a" },
+ { 0x3159, "\x11\x6b" },
+ { 0x315a, "\x11\x6c" },
+ { 0x315b, "\x11\x6d" },
+ { 0x315c, "\x11\x6e" },
+ { 0x315d, "\x11\x6f" },
+ { 0x315e, "\x11\x70" },
+ { 0x315f, "\x11\x71" },
+ { 0x3160, "\x11\x72" },
+ { 0x3161, "\x11\x73" },
+ { 0x3162, "\x11\x74" },
+ { 0x3163, "\x11\x75" },
+ { 0x3164, "\x11\x60" },
+ { 0x3165, "\x11\x14" },
+ { 0x3166, "\x11\x15" },
+ { 0x3167, "\x11\xc7" },
+ { 0x3168, "\x11\xc8" },
+ { 0x3169, "\x11\xcc" },
+ { 0x316a, "\x11\xce" },
+ { 0x316b, "\x11\xd3" },
+ { 0x316c, "\x11\xd7" },
+ { 0x316d, "\x11\xd9" },
+ { 0x316e, "\x11\x1c" },
+ { 0x316f, "\x11\xdd" },
+ { 0x3170, "\x11\xdf" },
+ { 0x3171, "\x11\x1d" },
+ { 0x3172, "\x11\x1e" },
+ { 0x3173, "\x11\x20" },
+ { 0x3174, "\x11\x22" },
+ { 0x3175, "\x11\x23" },
+ { 0x3176, "\x11\x27" },
+ { 0x3177, "\x11\x29" },
+ { 0x3178, "\x11\x2b" },
+ { 0x3179, "\x11\x2c" },
+ { 0x317a, "\x11\x2d" },
+ { 0x317b, "\x11\x2e" },
+ { 0x317c, "\x11\x2f" },
+ { 0x317d, "\x11\x32" },
+ { 0x317e, "\x11\x36" },
+ { 0x317f, "\x11\x40" },
+ { 0x3180, "\x11\x47" },
+ { 0x3181, "\x11\x4c" },
+ { 0x3182, "\x11\xf1" },
+ { 0x3183, "\x11\xf2" },
+ { 0x3184, "\x11\x57" },
+ { 0x3185, "\x11\x58" },
+ { 0x3186, "\x11\x59" },
+ { 0x3187, "\x11\x84" },
+ { 0x3188, "\x11\x85" },
+ { 0x3189, "\x11\x88" },
+ { 0x318a, "\x11\x91" },
+ { 0x318b, "\x11\x92" },
+ { 0x318c, "\x11\x94" },
+ { 0x318d, "\x11\x9e" },
+ { 0x318e, "\x11\xa1" },
+ { 0x3192, "\x4e\x00" },
+ { 0x3193, "\x4e\x8c" },
+ { 0x3194, "\x4e\x09" },
+ { 0x3195, "\x56\xdb" },
+ { 0x3196, "\x4e\x0a" },
+ { 0x3197, "\x4e\x2d" },
+ { 0x3198, "\x4e\x0b" },
+ { 0x3199, "\x75\x32" },
+ { 0x319a, "\x4e\x59" },
+ { 0x319b, "\x4e\x19" },
+ { 0x319c, "\x4e\x01" },
+ { 0x319d, "\x59\x29" },
+ { 0x319e, "\x57\x30" },
+ { 0x319f, "\x4e\xba" },
+ { 0x3200, "\x00\x28\x11\x00\x00\x29" },
+ { 0x3201, "\x00\x28\x11\x02\x00\x29" },
+ { 0x3202, "\x00\x28\x11\x03\x00\x29" },
+ { 0x3203, "\x00\x28\x11\x05\x00\x29" },
+ { 0x3204, "\x00\x28\x11\x06\x00\x29" },
+ { 0x3205, "\x00\x28\x11\x07\x00\x29" },
+ { 0x3206, "\x00\x28\x11\x09\x00\x29" },
+ { 0x3207, "\x00\x28\x11\x0b\x00\x29" },
+ { 0x3208, "\x00\x28\x11\x0c\x00\x29" },
+ { 0x3209, "\x00\x28\x11\x0e\x00\x29" },
+ { 0x320a, "\x00\x28\x11\x0f\x00\x29" },
+ { 0x320b, "\x00\x28\x11\x10\x00\x29" },
+ { 0x320c, "\x00\x28\x11\x11\x00\x29" },
+ { 0x320d, "\x00\x28\x11\x12\x00\x29" },
+ { 0x320e, "\x00\x28\x11\x00\x11\x61\x00\x29" },
+ { 0x320f, "\x00\x28\x11\x02\x11\x61\x00\x29" },
+ { 0x3210, "\x00\x28\x11\x03\x11\x61\x00\x29" },
+ { 0x3211, "\x00\x28\x11\x05\x11\x61\x00\x29" },
+ { 0x3212, "\x00\x28\x11\x06\x11\x61\x00\x29" },
+ { 0x3213, "\x00\x28\x11\x07\x11\x61\x00\x29" },
+ { 0x3214, "\x00\x28\x11\x09\x11\x61\x00\x29" },
+ { 0x3215, "\x00\x28\x11\x0b\x11\x61\x00\x29" },
+ { 0x3216, "\x00\x28\x11\x0c\x11\x61\x00\x29" },
+ { 0x3217, "\x00\x28\x11\x0e\x11\x61\x00\x29" },
+ { 0x3218, "\x00\x28\x11\x0f\x11\x61\x00\x29" },
+ { 0x3219, "\x00\x28\x11\x10\x11\x61\x00\x29" },
+ { 0x321a, "\x00\x28\x11\x11\x11\x61\x00\x29" },
+ { 0x321b, "\x00\x28\x11\x12\x11\x61\x00\x29" },
+ { 0x321c, "\x00\x28\x11\x0c\x11\x6e\x00\x29" },
+ { 0x3220, "\x00\x28\x4e\x00\x00\x29" },
+ { 0x3221, "\x00\x28\x4e\x8c\x00\x29" },
+ { 0x3222, "\x00\x28\x4e\x09\x00\x29" },
+ { 0x3223, "\x00\x28\x56\xdb\x00\x29" },
+ { 0x3224, "\x00\x28\x4e\x94\x00\x29" },
+ { 0x3225, "\x00\x28\x51\x6d\x00\x29" },
+ { 0x3226, "\x00\x28\x4e\x03\x00\x29" },
+ { 0x3227, "\x00\x28\x51\x6b\x00\x29" },
+ { 0x3228, "\x00\x28\x4e\x5d\x00\x29" },
+ { 0x3229, "\x00\x28\x53\x41\x00\x29" },
+ { 0x322a, "\x00\x28\x67\x08\x00\x29" },
+ { 0x322b, "\x00\x28\x70\x6b\x00\x29" },
+ { 0x322c, "\x00\x28\x6c\x34\x00\x29" },
+ { 0x322d, "\x00\x28\x67\x28\x00\x29" },
+ { 0x322e, "\x00\x28\x91\xd1\x00\x29" },
+ { 0x322f, "\x00\x28\x57\x1f\x00\x29" },
+ { 0x3230, "\x00\x28\x65\xe5\x00\x29" },
+ { 0x3231, "\x00\x28\x68\x2a\x00\x29" },
+ { 0x3232, "\x00\x28\x67\x09\x00\x29" },
+ { 0x3233, "\x00\x28\x79\x3e\x00\x29" },
+ { 0x3234, "\x00\x28\x54\x0d\x00\x29" },
+ { 0x3235, "\x00\x28\x72\x79\x00\x29" },
+ { 0x3236, "\x00\x28\x8c\xa1\x00\x29" },
+ { 0x3237, "\x00\x28\x79\x5d\x00\x29" },
+ { 0x3238, "\x00\x28\x52\xb4\x00\x29" },
+ { 0x3239, "\x00\x28\x4e\xe3\x00\x29" },
+ { 0x323a, "\x00\x28\x54\x7c\x00\x29" },
+ { 0x323b, "\x00\x28\x5b\x66\x00\x29" },
+ { 0x323c, "\x00\x28\x76\xe3\x00\x29" },
+ { 0x323d, "\x00\x28\x4f\x01\x00\x29" },
+ { 0x323e, "\x00\x28\x8c\xc7\x00\x29" },
+ { 0x323f, "\x00\x28\x53\x54\x00\x29" },
+ { 0x3240, "\x00\x28\x79\x6d\x00\x29" },
+ { 0x3241, "\x00\x28\x4f\x11\x00\x29" },
+ { 0x3242, "\x00\x28\x81\xea\x00\x29" },
+ { 0x3243, "\x00\x28\x81\xf3\x00\x29" },
+ { 0x3260, "\x11\x00" },
+ { 0x3261, "\x11\x02" },
+ { 0x3262, "\x11\x03" },
+ { 0x3263, "\x11\x05" },
+ { 0x3264, "\x11\x06" },
+ { 0x3265, "\x11\x07" },
+ { 0x3266, "\x11\x09" },
+ { 0x3267, "\x11\x0b" },
+ { 0x3268, "\x11\x0c" },
+ { 0x3269, "\x11\x0e" },
+ { 0x326a, "\x11\x0f" },
+ { 0x326b, "\x11\x10" },
+ { 0x326c, "\x11\x11" },
+ { 0x326d, "\x11\x12" },
+ { 0x326e, "\x11\x00\x11\x61" },
+ { 0x326f, "\x11\x02\x11\x61" },
+ { 0x3270, "\x11\x03\x11\x61" },
+ { 0x3271, "\x11\x05\x11\x61" },
+ { 0x3272, "\x11\x06\x11\x61" },
+ { 0x3273, "\x11\x07\x11\x61" },
+ { 0x3274, "\x11\x09\x11\x61" },
+ { 0x3275, "\x11\x0b\x11\x61" },
+ { 0x3276, "\x11\x0c\x11\x61" },
+ { 0x3277, "\x11\x0e\x11\x61" },
+ { 0x3278, "\x11\x0f\x11\x61" },
+ { 0x3279, "\x11\x10\x11\x61" },
+ { 0x327a, "\x11\x11\x11\x61" },
+ { 0x327b, "\x11\x12\x11\x61" },
+ { 0x3280, "\x4e\x00" },
+ { 0x3281, "\x4e\x8c" },
+ { 0x3282, "\x4e\x09" },
+ { 0x3283, "\x56\xdb" },
+ { 0x3284, "\x4e\x94" },
+ { 0x3285, "\x51\x6d" },
+ { 0x3286, "\x4e\x03" },
+ { 0x3287, "\x51\x6b" },
+ { 0x3288, "\x4e\x5d" },
+ { 0x3289, "\x53\x41" },
+ { 0x328a, "\x67\x08" },
+ { 0x328b, "\x70\x6b" },
+ { 0x328c, "\x6c\x34" },
+ { 0x328d, "\x67\x28" },
+ { 0x328e, "\x91\xd1" },
+ { 0x328f, "\x57\x1f" },
+ { 0x3290, "\x65\xe5" },
+ { 0x3291, "\x68\x2a" },
+ { 0x3292, "\x67\x09" },
+ { 0x3293, "\x79\x3e" },
+ { 0x3294, "\x54\x0d" },
+ { 0x3295, "\x72\x79" },
+ { 0x3296, "\x8c\xa1" },
+ { 0x3297, "\x79\x5d" },
+ { 0x3298, "\x52\xb4" },
+ { 0x3299, "\x79\xd8" },
+ { 0x329a, "\x75\x37" },
+ { 0x329b, "\x59\x73" },
+ { 0x329c, "\x90\x69" },
+ { 0x329d, "\x51\x2a" },
+ { 0x329e, "\x53\x70" },
+ { 0x329f, "\x6c\xe8" },
+ { 0x32a0, "\x98\x05" },
+ { 0x32a1, "\x4f\x11" },
+ { 0x32a2, "\x51\x99" },
+ { 0x32a3, "\x6b\x63" },
+ { 0x32a4, "\x4e\x0a" },
+ { 0x32a5, "\x4e\x2d" },
+ { 0x32a6, "\x4e\x0b" },
+ { 0x32a7, "\x5d\xe6" },
+ { 0x32a8, "\x53\xf3" },
+ { 0x32a9, "\x53\x3b" },
+ { 0x32aa, "\x5b\x97" },
+ { 0x32ab, "\x5b\x66" },
+ { 0x32ac, "\x76\xe3" },
+ { 0x32ad, "\x4f\x01" },
+ { 0x32ae, "\x8c\xc7" },
+ { 0x32af, "\x53\x54" },
+ { 0x32b0, "\x59\x1c" },
+ { 0x32c0, "\x00\x31\x67\x08" },
+ { 0x32c1, "\x00\x32\x67\x08" },
+ { 0x32c2, "\x00\x33\x67\x08" },
+ { 0x32c3, "\x00\x34\x67\x08" },
+ { 0x32c4, "\x00\x35\x67\x08" },
+ { 0x32c5, "\x00\x36\x67\x08" },
+ { 0x32c6, "\x00\x37\x67\x08" },
+ { 0x32c7, "\x00\x38\x67\x08" },
+ { 0x32c8, "\x00\x39\x67\x08" },
+ { 0x32c9, "\x00\x31\x00\x30\x67\x08" },
+ { 0x32ca, "\x00\x31\x00\x31\x67\x08" },
+ { 0x32cb, "\x00\x31\x00\x32\x67\x08" },
+ { 0x32d0, "\x30\xa2" },
+ { 0x32d1, "\x30\xa4" },
+ { 0x32d2, "\x30\xa6" },
+ { 0x32d3, "\x30\xa8" },
+ { 0x32d4, "\x30\xaa" },
+ { 0x32d5, "\x30\xab" },
+ { 0x32d6, "\x30\xad" },
+ { 0x32d7, "\x30\xaf" },
+ { 0x32d8, "\x30\xb1" },
+ { 0x32d9, "\x30\xb3" },
+ { 0x32da, "\x30\xb5" },
+ { 0x32db, "\x30\xb7" },
+ { 0x32dc, "\x30\xb9" },
+ { 0x32dd, "\x30\xbb" },
+ { 0x32de, "\x30\xbd" },
+ { 0x32df, "\x30\xbf" },
+ { 0x32e0, "\x30\xc1" },
+ { 0x32e1, "\x30\xc4" },
+ { 0x32e2, "\x30\xc6" },
+ { 0x32e3, "\x30\xc8" },
+ { 0x32e4, "\x30\xca" },
+ { 0x32e5, "\x30\xcb" },
+ { 0x32e6, "\x30\xcc" },
+ { 0x32e7, "\x30\xcd" },
+ { 0x32e8, "\x30\xce" },
+ { 0x32e9, "\x30\xcf" },
+ { 0x32ea, "\x30\xd2" },
+ { 0x32eb, "\x30\xd5" },
+ { 0x32ec, "\x30\xd8" },
+ { 0x32ed, "\x30\xdb" },
+ { 0x32ee, "\x30\xde" },
+ { 0x32ef, "\x30\xdf" },
+ { 0x32f0, "\x30\xe0" },
+ { 0x32f1, "\x30\xe1" },
+ { 0x32f2, "\x30\xe2" },
+ { 0x32f3, "\x30\xe4" },
+ { 0x32f4, "\x30\xe6" },
+ { 0x32f5, "\x30\xe8" },
+ { 0x32f6, "\x30\xe9" },
+ { 0x32f7, "\x30\xea" },
+ { 0x32f8, "\x30\xeb" },
+ { 0x32f9, "\x30\xec" },
+ { 0x32fa, "\x30\xed" },
+ { 0x32fb, "\x30\xef" },
+ { 0x32fc, "\x30\xf0" },
+ { 0x32fd, "\x30\xf1" },
+ { 0x32fe, "\x30\xf2" },
+ { 0x3300, "\x30\xa2\x30\xd1\x30\xfc\x30\xc8" },
+ { 0x3301, "\x30\xa2\x30\xeb\x30\xd5\x30\xa1" },
+ { 0x3302, "\x30\xa2\x30\xf3\x30\xda\x30\xa2" },
+ { 0x3303, "\x30\xa2\x30\xfc\x30\xeb" },
+ { 0x3304, "\x30\xa4\x30\xcb\x30\xf3\x30\xb0" },
+ { 0x3305, "\x30\xa4\x30\xf3\x30\xc1" },
+ { 0x3306, "\x30\xa6\x30\xa9\x30\xf3" },
+ { 0x3307, "\x30\xa8\x30\xb9\x30\xaf\x30\xfc\x30\xc9" },
+ { 0x3308, "\x30\xa8\x30\xfc\x30\xab\x30\xfc" },
+ { 0x3309, "\x30\xaa\x30\xf3\x30\xb9" },
+ { 0x330a, "\x30\xaa\x30\xfc\x30\xe0" },
+ { 0x330b, "\x30\xab\x30\xa4\x30\xea" },
+ { 0x330c, "\x30\xab\x30\xe9\x30\xc3\x30\xc8" },
+ { 0x330d, "\x30\xab\x30\xed\x30\xea\x30\xfc" },
+ { 0x330e, "\x30\xac\x30\xed\x30\xf3" },
+ { 0x330f, "\x30\xac\x30\xf3\x30\xde" },
+ { 0x3310, "\x30\xae\x30\xac" },
+ { 0x3311, "\x30\xae\x30\xcb\x30\xfc" },
+ { 0x3312, "\x30\xad\x30\xe5\x30\xea\x30\xfc" },
+ { 0x3313, "\x30\xae\x30\xeb\x30\xc0\x30\xfc" },
+ { 0x3314, "\x30\xad\x30\xed" },
+ { 0x3315, "\x30\xad\x30\xed\x30\xb0\x30\xe9\x30\xe0" },
+ { 0x3316, "\x30\xad\x30\xed\x30\xe1\x30\xfc\x30\xc8\x30\xeb" },
+ { 0x3317, "\x30\xad\x30\xed\x30\xef\x30\xc3\x30\xc8" },
+ { 0x3318, "\x30\xb0\x30\xe9\x30\xe0" },
+ { 0x3319, "\x30\xb0\x30\xe9\x30\xe0\x30\xc8\x30\xf3" },
+ { 0x331a, "\x30\xaf\x30\xeb\x30\xbc\x30\xa4\x30\xed" },
+ { 0x331b, "\x30\xaf\x30\xed\x30\xfc\x30\xcd" },
+ { 0x331c, "\x30\xb1\x30\xfc\x30\xb9" },
+ { 0x331d, "\x30\xb3\x30\xeb\x30\xca" },
+ { 0x331e, "\x30\xb3\x30\xfc\x30\xdd" },
+ { 0x331f, "\x30\xb5\x30\xa4\x30\xaf\x30\xeb" },
+ { 0x3320, "\x30\xb5\x30\xf3\x30\xc1\x30\xfc\x30\xe0" },
+ { 0x3321, "\x30\xb7\x30\xea\x30\xf3\x30\xb0" },
+ { 0x3322, "\x30\xbb\x30\xf3\x30\xc1" },
+ { 0x3323, "\x30\xbb\x30\xf3\x30\xc8" },
+ { 0x3324, "\x30\xc0\x30\xfc\x30\xb9" },
+ { 0x3325, "\x30\xc7\x30\xb7" },
+ { 0x3326, "\x30\xc9\x30\xeb" },
+ { 0x3327, "\x30\xc8\x30\xf3" },
+ { 0x3328, "\x30\xca\x30\xce" },
+ { 0x3329, "\x30\xce\x30\xc3\x30\xc8" },
+ { 0x332a, "\x30\xcf\x30\xa4\x30\xc4" },
+ { 0x332b, "\x30\xd1\x30\xfc\x30\xbb\x30\xf3\x30\xc8" },
+ { 0x332c, "\x30\xd1\x30\xfc\x30\xc4" },
+ { 0x332d, "\x30\xd0\x30\xfc\x30\xec\x30\xeb" },
+ { 0x332e, "\x30\xd4\x30\xa2\x30\xb9\x30\xc8\x30\xeb" },
+ { 0x332f, "\x30\xd4\x30\xaf\x30\xeb" },
+ { 0x3330, "\x30\xd4\x30\xb3" },
+ { 0x3331, "\x30\xd3\x30\xeb" },
+ { 0x3332, "\x30\xd5\x30\xa1\x30\xe9\x30\xc3\x30\xc9" },
+ { 0x3333, "\x30\xd5\x30\xa3\x30\xfc\x30\xc8" },
+ { 0x3334, "\x30\xd6\x30\xc3\x30\xb7\x30\xa7\x30\xeb" },
+ { 0x3335, "\x30\xd5\x30\xe9\x30\xf3" },
+ { 0x3336, "\x30\xd8\x30\xaf\x30\xbf\x30\xfc\x30\xeb" },
+ { 0x3337, "\x30\xda\x30\xbd" },
+ { 0x3338, "\x30\xda\x30\xcb\x30\xd2" },
+ { 0x3339, "\x30\xd8\x30\xeb\x30\xc4" },
+ { 0x333a, "\x30\xda\x30\xf3\x30\xb9" },
+ { 0x333b, "\x30\xda\x30\xfc\x30\xb8" },
+ { 0x333c, "\x30\xd9\x30\xfc\x30\xbf" },
+ { 0x333d, "\x30\xdd\x30\xa4\x30\xf3\x30\xc8" },
+ { 0x333e, "\x30\xdc\x30\xeb\x30\xc8" },
+ { 0x333f, "\x30\xdb\x30\xf3" },
+ { 0x3340, "\x30\xdd\x30\xf3\x30\xc9" },
+ { 0x3341, "\x30\xdb\x30\xfc\x30\xeb" },
+ { 0x3342, "\x30\xdb\x30\xfc\x30\xf3" },
+ { 0x3343, "\x30\xde\x30\xa4\x30\xaf\x30\xed" },
+ { 0x3344, "\x30\xde\x30\xa4\x30\xeb" },
+ { 0x3345, "\x30\xde\x30\xc3\x30\xcf" },
+ { 0x3346, "\x30\xde\x30\xeb\x30\xaf" },
+ { 0x3347, "\x30\xde\x30\xf3\x30\xb7\x30\xe7\x30\xf3" },
+ { 0x3348, "\x30\xdf\x30\xaf\x30\xed\x30\xf3" },
+ { 0x3349, "\x30\xdf\x30\xea" },
+ { 0x334a, "\x30\xdf\x30\xea\x30\xd0\x30\xfc\x30\xeb" },
+ { 0x334b, "\x30\xe1\x30\xac" },
+ { 0x334c, "\x30\xe1\x30\xac\x30\xc8\x30\xf3" },
+ { 0x334d, "\x30\xe1\x30\xfc\x30\xc8\x30\xeb" },
+ { 0x334e, "\x30\xe4\x30\xfc\x30\xc9" },
+ { 0x334f, "\x30\xe4\x30\xfc\x30\xeb" },
+ { 0x3350, "\x30\xe6\x30\xa2\x30\xf3" },
+ { 0x3351, "\x30\xea\x30\xc3\x30\xc8\x30\xeb" },
+ { 0x3352, "\x30\xea\x30\xe9" },
+ { 0x3353, "\x30\xeb\x30\xd4\x30\xfc" },
+ { 0x3354, "\x30\xeb\x30\xfc\x30\xd6\x30\xeb" },
+ { 0x3355, "\x30\xec\x30\xe0" },
+ { 0x3356, "\x30\xec\x30\xf3\x30\xc8\x30\xb2\x30\xf3" },
+ { 0x3357, "\x30\xef\x30\xc3\x30\xc8" },
+ { 0x3358, "\x00\x30\x70\xb9" },
+ { 0x3359, "\x00\x31\x70\xb9" },
+ { 0x335a, "\x00\x32\x70\xb9" },
+ { 0x335b, "\x00\x33\x70\xb9" },
+ { 0x335c, "\x00\x34\x70\xb9" },
+ { 0x335d, "\x00\x35\x70\xb9" },
+ { 0x335e, "\x00\x36\x70\xb9" },
+ { 0x335f, "\x00\x37\x70\xb9" },
+ { 0x3360, "\x00\x38\x70\xb9" },
+ { 0x3361, "\x00\x39\x70\xb9" },
+ { 0x3362, "\x00\x31\x00\x30\x70\xb9" },
+ { 0x3363, "\x00\x31\x00\x31\x70\xb9" },
+ { 0x3364, "\x00\x31\x00\x32\x70\xb9" },
+ { 0x3365, "\x00\x31\x00\x33\x70\xb9" },
+ { 0x3366, "\x00\x31\x00\x34\x70\xb9" },
+ { 0x3367, "\x00\x31\x00\x35\x70\xb9" },
+ { 0x3368, "\x00\x31\x00\x36\x70\xb9" },
+ { 0x3369, "\x00\x31\x00\x37\x70\xb9" },
+ { 0x336a, "\x00\x31\x00\x38\x70\xb9" },
+ { 0x336b, "\x00\x31\x00\x39\x70\xb9" },
+ { 0x336c, "\x00\x32\x00\x30\x70\xb9" },
+ { 0x336d, "\x00\x32\x00\x31\x70\xb9" },
+ { 0x336e, "\x00\x32\x00\x32\x70\xb9" },
+ { 0x336f, "\x00\x32\x00\x33\x70\xb9" },
+ { 0x3370, "\x00\x32\x00\x34\x70\xb9" },
+ { 0x3371, "\x00\x68\x00\x50\x00\x61" },
+ { 0x3372, "\x00\x64\x00\x61" },
+ { 0x3373, "\x00\x41\x00\x55" },
+ { 0x3374, "\x00\x62\x00\x61\x00\x72" },
+ { 0x3375, "\x00\x6f\x00\x56" },
+ { 0x3376, "\x00\x70\x00\x63" },
+ { 0x337b, "\x5e\x73\x62\x10" },
+ { 0x337c, "\x66\x2d\x54\x8c" },
+ { 0x337d, "\x59\x27\x6b\x63" },
+ { 0x337e, "\x66\x0e\x6c\xbb" },
+ { 0x337f, "\x68\x2a\x5f\x0f\x4f\x1a\x79\x3e" },
+ { 0x3380, "\x00\x70\x00\x41" },
+ { 0x3381, "\x00\x6e\x00\x41" },
+ { 0x3382, "\x03\xbc\x00\x41" },
+ { 0x3383, "\x00\x6d\x00\x41" },
+ { 0x3384, "\x00\x6b\x00\x41" },
+ { 0x3385, "\x00\x4b\x00\x42" },
+ { 0x3386, "\x00\x4d\x00\x42" },
+ { 0x3387, "\x00\x47\x00\x42" },
+ { 0x3388, "\x00\x63\x00\x61\x00\x6c" },
+ { 0x3389, "\x00\x6b\x00\x63\x00\x61\x00\x6c" },
+ { 0x338a, "\x00\x70\x00\x46" },
+ { 0x338b, "\x00\x6e\x00\x46" },
+ { 0x338c, "\x03\xbc\x00\x46" },
+ { 0x338d, "\x03\xbc\x00\x67" },
+ { 0x338e, "\x00\x6d\x00\x67" },
+ { 0x338f, "\x00\x6b\x00\x67" },
+ { 0x3390, "\x00\x48\x00\x7a" },
+ { 0x3391, "\x00\x6b\x00\x48\x00\x7a" },
+ { 0x3392, "\x00\x4d\x00\x48\x00\x7a" },
+ { 0x3393, "\x00\x47\x00\x48\x00\x7a" },
+ { 0x3394, "\x00\x54\x00\x48\x00\x7a" },
+ { 0x3395, "\x03\xbc\x21\x13" },
+ { 0x3396, "\x00\x6d\x21\x13" },
+ { 0x3397, "\x00\x64\x21\x13" },
+ { 0x3398, "\x00\x6b\x21\x13" },
+ { 0x3399, "\x00\x66\x00\x6d" },
+ { 0x339a, "\x00\x6e\x00\x6d" },
+ { 0x339b, "\x03\xbc\x00\x6d" },
+ { 0x339c, "\x00\x6d\x00\x6d" },
+ { 0x339d, "\x00\x63\x00\x6d" },
+ { 0x339e, "\x00\x6b\x00\x6d" },
+ { 0x339f, "\x00\x6d\x00\x6d\x00\xb2" },
+ { 0x33a0, "\x00\x63\x00\x6d\x00\xb2" },
+ { 0x33a1, "\x00\x6d\x00\xb2" },
+ { 0x33a2, "\x00\x6b\x00\x6d\x00\xb2" },
+ { 0x33a3, "\x00\x6d\x00\x6d\x00\xb3" },
+ { 0x33a4, "\x00\x63\x00\x6d\x00\xb3" },
+ { 0x33a5, "\x00\x6d\x00\xb3" },
+ { 0x33a6, "\x00\x6b\x00\x6d\x00\xb3" },
+ { 0x33a7, "\x00\x6d\x22\x15\x00\x73" },
+ { 0x33a8, "\x00\x6d\x22\x15\x00\x73\x00\xb2" },
+ { 0x33a9, "\x00\x50\x00\x61" },
+ { 0x33aa, "\x00\x6b\x00\x50\x00\x61" },
+ { 0x33ab, "\x00\x4d\x00\x50\x00\x61" },
+ { 0x33ac, "\x00\x47\x00\x50\x00\x61" },
+ { 0x33ad, "\x00\x72\x00\x61\x00\x64" },
+ { 0x33ae, "\x00\x72\x00\x61\x00\x64\x22\x15\x00\x73" },
+ { 0x33af, "\x00\x72\x00\x61\x00\x64\x22\x15\x00\x73\x00\xb2" },
+ { 0x33b0, "\x00\x70\x00\x73" },
+ { 0x33b1, "\x00\x6e\x00\x73" },
+ { 0x33b2, "\x03\xbc\x00\x73" },
+ { 0x33b3, "\x00\x6d\x00\x73" },
+ { 0x33b4, "\x00\x70\x00\x56" },
+ { 0x33b5, "\x00\x6e\x00\x56" },
+ { 0x33b6, "\x03\xbc\x00\x56" },
+ { 0x33b7, "\x00\x6d\x00\x56" },
+ { 0x33b8, "\x00\x6b\x00\x56" },
+ { 0x33b9, "\x00\x4d\x00\x56" },
+ { 0x33ba, "\x00\x70\x00\x57" },
+ { 0x33bb, "\x00\x6e\x00\x57" },
+ { 0x33bc, "\x03\xbc\x00\x57" },
+ { 0x33bd, "\x00\x6d\x00\x57" },
+ { 0x33be, "\x00\x6b\x00\x57" },
+ { 0x33bf, "\x00\x4d\x00\x57" },
+ { 0x33c0, "\x00\x6b\x03\xa9" },
+ { 0x33c1, "\x00\x4d\x03\xa9" },
+ { 0x33c2, "\x00\x61\x00\x2e\x00\x6d\x00\x2e" },
+ { 0x33c3, "\x00\x42\x00\x71" },
+ { 0x33c4, "\x00\x63\x00\x63" },
+ { 0x33c5, "\x00\x63\x00\x64" },
+ { 0x33c6, "\x00\x43\x22\x15\x00\x6b\x00\x67" },
+ { 0x33c7, "\x00\x43\x00\x6f\x00\x2e" },
+ { 0x33c8, "\x00\x64\x00\x42" },
+ { 0x33c9, "\x00\x47\x00\x79" },
+ { 0x33ca, "\x00\x68\x00\x61" },
+ { 0x33cb, "\x00\x48\x00\x50" },
+ { 0x33cc, "\x00\x69\x00\x6e" },
+ { 0x33cd, "\x00\x4b\x00\x4b" },
+ { 0x33ce, "\x00\x4b\x00\x4d" },
+ { 0x33cf, "\x00\x6b\x00\x74" },
+ { 0x33d0, "\x00\x6c\x00\x6d" },
+ { 0x33d1, "\x00\x6c\x00\x6e" },
+ { 0x33d2, "\x00\x6c\x00\x6f\x00\x67" },
+ { 0x33d3, "\x00\x6c\x00\x78" },
+ { 0x33d4, "\x00\x6d\x00\x62" },
+ { 0x33d5, "\x00\x6d\x00\x69\x00\x6c" },
+ { 0x33d6, "\x00\x6d\x00\x6f\x00\x6c" },
+ { 0x33d7, "\x00\x50\x00\x48" },
+ { 0x33d8, "\x00\x70\x00\x2e\x00\x6d\x00\x2e" },
+ { 0x33d9, "\x00\x50\x00\x50\x00\x4d" },
+ { 0x33da, "\x00\x50\x00\x52" },
+ { 0x33db, "\x00\x73\x00\x72" },
+ { 0x33dc, "\x00\x53\x00\x76" },
+ { 0x33dd, "\x00\x57\x00\x62" },
+ { 0x33e0, "\x00\x31\x65\xe5" },
+ { 0x33e1, "\x00\x32\x65\xe5" },
+ { 0x33e2, "\x00\x33\x65\xe5" },
+ { 0x33e3, "\x00\x34\x65\xe5" },
+ { 0x33e4, "\x00\x35\x65\xe5" },
+ { 0x33e5, "\x00\x36\x65\xe5" },
+ { 0x33e6, "\x00\x37\x65\xe5" },
+ { 0x33e7, "\x00\x38\x65\xe5" },
+ { 0x33e8, "\x00\x39\x65\xe5" },
+ { 0x33e9, "\x00\x31\x00\x30\x65\xe5" },
+ { 0x33ea, "\x00\x31\x00\x31\x65\xe5" },
+ { 0x33eb, "\x00\x31\x00\x32\x65\xe5" },
+ { 0x33ec, "\x00\x31\x00\x33\x65\xe5" },
+ { 0x33ed, "\x00\x31\x00\x34\x65\xe5" },
+ { 0x33ee, "\x00\x31\x00\x35\x65\xe5" },
+ { 0x33ef, "\x00\x31\x00\x36\x65\xe5" },
+ { 0x33f0, "\x00\x31\x00\x37\x65\xe5" },
+ { 0x33f1, "\x00\x31\x00\x38\x65\xe5" },
+ { 0x33f2, "\x00\x31\x00\x39\x65\xe5" },
+ { 0x33f3, "\x00\x32\x00\x30\x65\xe5" },
+ { 0x33f4, "\x00\x32\x00\x31\x65\xe5" },
+ { 0x33f5, "\x00\x32\x00\x32\x65\xe5" },
+ { 0x33f6, "\x00\x32\x00\x33\x65\xe5" },
+ { 0x33f7, "\x00\x32\x00\x34\x65\xe5" },
+ { 0x33f8, "\x00\x32\x00\x35\x65\xe5" },
+ { 0x33f9, "\x00\x32\x00\x36\x65\xe5" },
+ { 0x33fa, "\x00\x32\x00\x37\x65\xe5" },
+ { 0x33fb, "\x00\x32\x00\x38\x65\xe5" },
+ { 0x33fc, "\x00\x32\x00\x39\x65\xe5" },
+ { 0x33fd, "\x00\x33\x00\x30\x65\xe5" },
+ { 0x33fe, "\x00\x33\x00\x31\x65\xe5" },
+ { 0xfb00, "\x00\x66\x00\x66" },
+ { 0xfb01, "\x00\x66\x00\x69" },
+ { 0xfb02, "\x00\x66\x00\x6c" },
+ { 0xfb03, "\x00\x66\x00\x66\x00\x69" },
+ { 0xfb04, "\x00\x66\x00\x66\x00\x6c" },
+ { 0xfb05, "\x01\x7f\x00\x74" },
+ { 0xfb06, "\x00\x73\x00\x74" },
+ { 0xfb13, "\x05\x74\x05\x76" },
+ { 0xfb14, "\x05\x74\x05\x65" },
+ { 0xfb15, "\x05\x74\x05\x6b" },
+ { 0xfb16, "\x05\x7e\x05\x76" },
+ { 0xfb17, "\x05\x74\x05\x6d" },
+ { 0xfb20, "\x05\xe2" },
+ { 0xfb21, "\x05\xd0" },
+ { 0xfb22, "\x05\xd3" },
+ { 0xfb23, "\x05\xd4" },
+ { 0xfb24, "\x05\xdb" },
+ { 0xfb25, "\x05\xdc" },
+ { 0xfb26, "\x05\xdd" },
+ { 0xfb27, "\x05\xe8" },
+ { 0xfb28, "\x05\xea" },
+ { 0xfb29, "\x00\x2b" },
+ { 0xfb4f, "\x05\xd0\x05\xdc" },
+ { 0xfb50, "\x06\x71" },
+ { 0xfb51, "\x06\x71" },
+ { 0xfb52, "\x06\x7b" },
+ { 0xfb53, "\x06\x7b" },
+ { 0xfb54, "\x06\x7b" },
+ { 0xfb55, "\x06\x7b" },
+ { 0xfb56, "\x06\x7e" },
+ { 0xfb57, "\x06\x7e" },
+ { 0xfb58, "\x06\x7e" },
+ { 0xfb59, "\x06\x7e" },
+ { 0xfb5a, "\x06\x80" },
+ { 0xfb5b, "\x06\x80" },
+ { 0xfb5c, "\x06\x80" },
+ { 0xfb5d, "\x06\x80" },
+ { 0xfb5e, "\x06\x7a" },
+ { 0xfb5f, "\x06\x7a" },
+ { 0xfb60, "\x06\x7a" },
+ { 0xfb61, "\x06\x7a" },
+ { 0xfb62, "\x06\x7f" },
+ { 0xfb63, "\x06\x7f" },
+ { 0xfb64, "\x06\x7f" },
+ { 0xfb65, "\x06\x7f" },
+ { 0xfb66, "\x06\x79" },
+ { 0xfb67, "\x06\x79" },
+ { 0xfb68, "\x06\x79" },
+ { 0xfb69, "\x06\x79" },
+ { 0xfb6a, "\x06\xa4" },
+ { 0xfb6b, "\x06\xa4" },
+ { 0xfb6c, "\x06\xa4" },
+ { 0xfb6d, "\x06\xa4" },
+ { 0xfb6e, "\x06\xa6" },
+ { 0xfb6f, "\x06\xa6" },
+ { 0xfb70, "\x06\xa6" },
+ { 0xfb71, "\x06\xa6" },
+ { 0xfb72, "\x06\x84" },
+ { 0xfb73, "\x06\x84" },
+ { 0xfb74, "\x06\x84" },
+ { 0xfb75, "\x06\x84" },
+ { 0xfb76, "\x06\x83" },
+ { 0xfb77, "\x06\x83" },
+ { 0xfb78, "\x06\x83" },
+ { 0xfb79, "\x06\x83" },
+ { 0xfb7a, "\x06\x86" },
+ { 0xfb7b, "\x06\x86" },
+ { 0xfb7c, "\x06\x86" },
+ { 0xfb7d, "\x06\x86" },
+ { 0xfb7e, "\x06\x87" },
+ { 0xfb7f, "\x06\x87" },
+ { 0xfb80, "\x06\x87" },
+ { 0xfb81, "\x06\x87" },
+ { 0xfb82, "\x06\x8d" },
+ { 0xfb83, "\x06\x8d" },
+ { 0xfb84, "\x06\x8c" },
+ { 0xfb85, "\x06\x8c" },
+ { 0xfb86, "\x06\x8e" },
+ { 0xfb87, "\x06\x8e" },
+ { 0xfb88, "\x06\x88" },
+ { 0xfb89, "\x06\x88" },
+ { 0xfb8a, "\x06\x98" },
+ { 0xfb8b, "\x06\x98" },
+ { 0xfb8c, "\x06\x91" },
+ { 0xfb8d, "\x06\x91" },
+ { 0xfb8e, "\x06\xa9" },
+ { 0xfb8f, "\x06\xa9" },
+ { 0xfb90, "\x06\xa9" },
+ { 0xfb91, "\x06\xa9" },
+ { 0xfb92, "\x06\xaf" },
+ { 0xfb93, "\x06\xaf" },
+ { 0xfb94, "\x06\xaf" },
+ { 0xfb95, "\x06\xaf" },
+ { 0xfb96, "\x06\xb3" },
+ { 0xfb97, "\x06\xb3" },
+ { 0xfb98, "\x06\xb3" },
+ { 0xfb99, "\x06\xb3" },
+ { 0xfb9a, "\x06\xb1" },
+ { 0xfb9b, "\x06\xb1" },
+ { 0xfb9c, "\x06\xb1" },
+ { 0xfb9d, "\x06\xb1" },
+ { 0xfb9e, "\x06\xba" },
+ { 0xfb9f, "\x06\xba" },
+ { 0xfba0, "\x06\xbb" },
+ { 0xfba1, "\x06\xbb" },
+ { 0xfba2, "\x06\xbb" },
+ { 0xfba3, "\x06\xbb" },
+ { 0xfba4, "\x06\xc0" },
+ { 0xfba5, "\x06\xc0" },
+ { 0xfba6, "\x06\xc1" },
+ { 0xfba7, "\x06\xc1" },
+ { 0xfba8, "\x06\xc1" },
+ { 0xfba9, "\x06\xc1" },
+ { 0xfbaa, "\x06\xbe" },
+ { 0xfbab, "\x06\xbe" },
+ { 0xfbac, "\x06\xbe" },
+ { 0xfbad, "\x06\xbe" },
+ { 0xfbae, "\x06\xd2" },
+ { 0xfbaf, "\x06\xd2" },
+ { 0xfbb0, "\x06\xd3" },
+ { 0xfbb1, "\x06\xd3" },
+ { 0xfbd3, "\x06\xad" },
+ { 0xfbd4, "\x06\xad" },
+ { 0xfbd5, "\x06\xad" },
+ { 0xfbd6, "\x06\xad" },
+ { 0xfbd7, "\x06\xc7" },
+ { 0xfbd8, "\x06\xc7" },
+ { 0xfbd9, "\x06\xc6" },
+ { 0xfbda, "\x06\xc6" },
+ { 0xfbdb, "\x06\xc8" },
+ { 0xfbdc, "\x06\xc8" },
+ { 0xfbdd, "\x06\x77" },
+ { 0xfbde, "\x06\xcb" },
+ { 0xfbdf, "\x06\xcb" },
+ { 0xfbe0, "\x06\xc5" },
+ { 0xfbe1, "\x06\xc5" },
+ { 0xfbe2, "\x06\xc9" },
+ { 0xfbe3, "\x06\xc9" },
+ { 0xfbe4, "\x06\xd0" },
+ { 0xfbe5, "\x06\xd0" },
+ { 0xfbe6, "\x06\xd0" },
+ { 0xfbe7, "\x06\xd0" },
+ { 0xfbe8, "\x06\x49" },
+ { 0xfbe9, "\x06\x49" },
+ { 0xfbea, "\x06\x26\x06\x27" },
+ { 0xfbeb, "\x06\x26\x06\x27" },
+ { 0xfbec, "\x06\x26\x06\xd5" },
+ { 0xfbed, "\x06\x26\x06\xd5" },
+ { 0xfbee, "\x06\x26\x06\x48" },
+ { 0xfbef, "\x06\x26\x06\x48" },
+ { 0xfbf0, "\x06\x26\x06\xc7" },
+ { 0xfbf1, "\x06\x26\x06\xc7" },
+ { 0xfbf2, "\x06\x26\x06\xc6" },
+ { 0xfbf3, "\x06\x26\x06\xc6" },
+ { 0xfbf4, "\x06\x26\x06\xc8" },
+ { 0xfbf5, "\x06\x26\x06\xc8" },
+ { 0xfbf6, "\x06\x26\x06\xd0" },
+ { 0xfbf7, "\x06\x26\x06\xd0" },
+ { 0xfbf8, "\x06\x26\x06\xd0" },
+ { 0xfbf9, "\x06\x26\x06\x49" },
+ { 0xfbfa, "\x06\x26\x06\x49" },
+ { 0xfbfb, "\x06\x26\x06\x49" },
+ { 0xfbfc, "\x06\xcc" },
+ { 0xfbfd, "\x06\xcc" },
+ { 0xfbfe, "\x06\xcc" },
+ { 0xfbff, "\x06\xcc" },
+ { 0xfc00, "\x06\x26\x06\x2c" },
+ { 0xfc01, "\x06\x26\x06\x2d" },
+ { 0xfc02, "\x06\x26\x06\x45" },
+ { 0xfc03, "\x06\x26\x06\x49" },
+ { 0xfc04, "\x06\x26\x06\x4a" },
+ { 0xfc05, "\x06\x28\x06\x2c" },
+ { 0xfc06, "\x06\x28\x06\x2d" },
+ { 0xfc07, "\x06\x28\x06\x2e" },
+ { 0xfc08, "\x06\x28\x06\x45" },
+ { 0xfc09, "\x06\x28\x06\x49" },
+ { 0xfc0a, "\x06\x28\x06\x4a" },
+ { 0xfc0b, "\x06\x2a\x06\x2c" },
+ { 0xfc0c, "\x06\x2a\x06\x2d" },
+ { 0xfc0d, "\x06\x2a\x06\x2e" },
+ { 0xfc0e, "\x06\x2a\x06\x45" },
+ { 0xfc0f, "\x06\x2a\x06\x49" },
+ { 0xfc10, "\x06\x2a\x06\x4a" },
+ { 0xfc11, "\x06\x2b\x06\x2c" },
+ { 0xfc12, "\x06\x2b\x06\x45" },
+ { 0xfc13, "\x06\x2b\x06\x49" },
+ { 0xfc14, "\x06\x2b\x06\x4a" },
+ { 0xfc15, "\x06\x2c\x06\x2d" },
+ { 0xfc16, "\x06\x2c\x06\x45" },
+ { 0xfc17, "\x06\x2d\x06\x2c" },
+ { 0xfc18, "\x06\x2d\x06\x45" },
+ { 0xfc19, "\x06\x2e\x06\x2c" },
+ { 0xfc1a, "\x06\x2e\x06\x2d" },
+ { 0xfc1b, "\x06\x2e\x06\x45" },
+ { 0xfc1c, "\x06\x33\x06\x2c" },
+ { 0xfc1d, "\x06\x33\x06\x2d" },
+ { 0xfc1e, "\x06\x33\x06\x2e" },
+ { 0xfc1f, "\x06\x33\x06\x45" },
+ { 0xfc20, "\x06\x35\x06\x2d" },
+ { 0xfc21, "\x06\x35\x06\x45" },
+ { 0xfc22, "\x06\x36\x06\x2c" },
+ { 0xfc23, "\x06\x36\x06\x2d" },
+ { 0xfc24, "\x06\x36\x06\x2e" },
+ { 0xfc25, "\x06\x36\x06\x45" },
+ { 0xfc26, "\x06\x37\x06\x2d" },
+ { 0xfc27, "\x06\x37\x06\x45" },
+ { 0xfc28, "\x06\x38\x06\x45" },
+ { 0xfc29, "\x06\x39\x06\x2c" },
+ { 0xfc2a, "\x06\x39\x06\x45" },
+ { 0xfc2b, "\x06\x3a\x06\x2c" },
+ { 0xfc2c, "\x06\x3a\x06\x45" },
+ { 0xfc2d, "\x06\x41\x06\x2c" },
+ { 0xfc2e, "\x06\x41\x06\x2d" },
+ { 0xfc2f, "\x06\x41\x06\x2e" },
+ { 0xfc30, "\x06\x41\x06\x45" },
+ { 0xfc31, "\x06\x41\x06\x49" },
+ { 0xfc32, "\x06\x41\x06\x4a" },
+ { 0xfc33, "\x06\x42\x06\x2d" },
+ { 0xfc34, "\x06\x42\x06\x45" },
+ { 0xfc35, "\x06\x42\x06\x49" },
+ { 0xfc36, "\x06\x42\x06\x4a" },
+ { 0xfc37, "\x06\x43\x06\x27" },
+ { 0xfc38, "\x06\x43\x06\x2c" },
+ { 0xfc39, "\x06\x43\x06\x2d" },
+ { 0xfc3a, "\x06\x43\x06\x2e" },
+ { 0xfc3b, "\x06\x43\x06\x44" },
+ { 0xfc3c, "\x06\x43\x06\x45" },
+ { 0xfc3d, "\x06\x43\x06\x49" },
+ { 0xfc3e, "\x06\x43\x06\x4a" },
+ { 0xfc3f, "\x06\x44\x06\x2c" },
+ { 0xfc40, "\x06\x44\x06\x2d" },
+ { 0xfc41, "\x06\x44\x06\x2e" },
+ { 0xfc42, "\x06\x44\x06\x45" },
+ { 0xfc43, "\x06\x44\x06\x49" },
+ { 0xfc44, "\x06\x44\x06\x4a" },
+ { 0xfc45, "\x06\x45\x06\x2c" },
+ { 0xfc46, "\x06\x45\x06\x2d" },
+ { 0xfc47, "\x06\x45\x06\x2e" },
+ { 0xfc48, "\x06\x45\x06\x45" },
+ { 0xfc49, "\x06\x45\x06\x49" },
+ { 0xfc4a, "\x06\x45\x06\x4a" },
+ { 0xfc4b, "\x06\x46\x06\x2c" },
+ { 0xfc4c, "\x06\x46\x06\x2d" },
+ { 0xfc4d, "\x06\x46\x06\x2e" },
+ { 0xfc4e, "\x06\x46\x06\x45" },
+ { 0xfc4f, "\x06\x46\x06\x49" },
+ { 0xfc50, "\x06\x46\x06\x4a" },
+ { 0xfc51, "\x06\x47\x06\x2c" },
+ { 0xfc52, "\x06\x47\x06\x45" },
+ { 0xfc53, "\x06\x47\x06\x49" },
+ { 0xfc54, "\x06\x47\x06\x4a" },
+ { 0xfc55, "\x06\x4a\x06\x2c" },
+ { 0xfc56, "\x06\x4a\x06\x2d" },
+ { 0xfc57, "\x06\x4a\x06\x2e" },
+ { 0xfc58, "\x06\x4a\x06\x45" },
+ { 0xfc59, "\x06\x4a\x06\x49" },
+ { 0xfc5a, "\x06\x4a\x06\x4a" },
+ { 0xfc5b, "\x06\x30\x06\x70" },
+ { 0xfc5c, "\x06\x31\x06\x70" },
+ { 0xfc5d, "\x06\x49\x06\x70" },
+ { 0xfc5e, "\x00\x20\x06\x51\x06\x4c" },
+ { 0xfc5f, "\x00\x20\x06\x51\x06\x4d" },
+ { 0xfc60, "\x00\x20\x06\x51\x06\x4e" },
+ { 0xfc61, "\x00\x20\x06\x51\x06\x4f" },
+ { 0xfc62, "\x00\x20\x06\x51\x06\x50" },
+ { 0xfc63, "\x00\x20\x06\x51\x06\x70" },
+ { 0xfc64, "\x06\x26\x06\x31" },
+ { 0xfc65, "\x06\x26\x06\x32" },
+ { 0xfc66, "\x06\x26\x06\x45" },
+ { 0xfc67, "\x06\x26\x06\x46" },
+ { 0xfc68, "\x06\x26\x06\x49" },
+ { 0xfc69, "\x06\x26\x06\x4a" },
+ { 0xfc6a, "\x06\x28\x06\x31" },
+ { 0xfc6b, "\x06\x28\x06\x32" },
+ { 0xfc6c, "\x06\x28\x06\x45" },
+ { 0xfc6d, "\x06\x28\x06\x46" },
+ { 0xfc6e, "\x06\x28\x06\x49" },
+ { 0xfc6f, "\x06\x28\x06\x4a" },
+ { 0xfc70, "\x06\x2a\x06\x31" },
+ { 0xfc71, "\x06\x2a\x06\x32" },
+ { 0xfc72, "\x06\x2a\x06\x45" },
+ { 0xfc73, "\x06\x2a\x06\x46" },
+ { 0xfc74, "\x06\x2a\x06\x49" },
+ { 0xfc75, "\x06\x2a\x06\x4a" },
+ { 0xfc76, "\x06\x2b\x06\x31" },
+ { 0xfc77, "\x06\x2b\x06\x32" },
+ { 0xfc78, "\x06\x2b\x06\x45" },
+ { 0xfc79, "\x06\x2b\x06\x46" },
+ { 0xfc7a, "\x06\x2b\x06\x49" },
+ { 0xfc7b, "\x06\x2b\x06\x4a" },
+ { 0xfc7c, "\x06\x41\x06\x49" },
+ { 0xfc7d, "\x06\x41\x06\x4a" },
+ { 0xfc7e, "\x06\x42\x06\x49" },
+ { 0xfc7f, "\x06\x42\x06\x4a" },
+ { 0xfc80, "\x06\x43\x06\x27" },
+ { 0xfc81, "\x06\x43\x06\x44" },
+ { 0xfc82, "\x06\x43\x06\x45" },
+ { 0xfc83, "\x06\x43\x06\x49" },
+ { 0xfc84, "\x06\x43\x06\x4a" },
+ { 0xfc85, "\x06\x44\x06\x45" },
+ { 0xfc86, "\x06\x44\x06\x49" },
+ { 0xfc87, "\x06\x44\x06\x4a" },
+ { 0xfc88, "\x06\x45\x06\x27" },
+ { 0xfc89, "\x06\x45\x06\x45" },
+ { 0xfc8a, "\x06\x46\x06\x31" },
+ { 0xfc8b, "\x06\x46\x06\x32" },
+ { 0xfc8c, "\x06\x46\x06\x45" },
+ { 0xfc8d, "\x06\x46\x06\x46" },
+ { 0xfc8e, "\x06\x46\x06\x49" },
+ { 0xfc8f, "\x06\x46\x06\x4a" },
+ { 0xfc90, "\x06\x49\x06\x70" },
+ { 0xfc91, "\x06\x4a\x06\x31" },
+ { 0xfc92, "\x06\x4a\x06\x32" },
+ { 0xfc93, "\x06\x4a\x06\x45" },
+ { 0xfc94, "\x06\x4a\x06\x46" },
+ { 0xfc95, "\x06\x4a\x06\x49" },
+ { 0xfc96, "\x06\x4a\x06\x4a" },
+ { 0xfc97, "\x06\x26\x06\x2c" },
+ { 0xfc98, "\x06\x26\x06\x2d" },
+ { 0xfc99, "\x06\x26\x06\x2e" },
+ { 0xfc9a, "\x06\x26\x06\x45" },
+ { 0xfc9b, "\x06\x26\x06\x47" },
+ { 0xfc9c, "\x06\x28\x06\x2c" },
+ { 0xfc9d, "\x06\x28\x06\x2d" },
+ { 0xfc9e, "\x06\x28\x06\x2e" },
+ { 0xfc9f, "\x06\x28\x06\x45" },
+ { 0xfca0, "\x06\x28\x06\x47" },
+ { 0xfca1, "\x06\x2a\x06\x2c" },
+ { 0xfca2, "\x06\x2a\x06\x2d" },
+ { 0xfca3, "\x06\x2a\x06\x2e" },
+ { 0xfca4, "\x06\x2a\x06\x45" },
+ { 0xfca5, "\x06\x2a\x06\x47" },
+ { 0xfca6, "\x06\x2b\x06\x45" },
+ { 0xfca7, "\x06\x2c\x06\x2d" },
+ { 0xfca8, "\x06\x2c\x06\x45" },
+ { 0xfca9, "\x06\x2d\x06\x2c" },
+ { 0xfcaa, "\x06\x2d\x06\x45" },
+ { 0xfcab, "\x06\x2e\x06\x2c" },
+ { 0xfcac, "\x06\x2e\x06\x45" },
+ { 0xfcad, "\x06\x33\x06\x2c" },
+ { 0xfcae, "\x06\x33\x06\x2d" },
+ { 0xfcaf, "\x06\x33\x06\x2e" },
+ { 0xfcb0, "\x06\x33\x06\x45" },
+ { 0xfcb1, "\x06\x35\x06\x2d" },
+ { 0xfcb2, "\x06\x35\x06\x2e" },
+ { 0xfcb3, "\x06\x35\x06\x45" },
+ { 0xfcb4, "\x06\x36\x06\x2c" },
+ { 0xfcb5, "\x06\x36\x06\x2d" },
+ { 0xfcb6, "\x06\x36\x06\x2e" },
+ { 0xfcb7, "\x06\x36\x06\x45" },
+ { 0xfcb8, "\x06\x37\x06\x2d" },
+ { 0xfcb9, "\x06\x38\x06\x45" },
+ { 0xfcba, "\x06\x39\x06\x2c" },
+ { 0xfcbb, "\x06\x39\x06\x45" },
+ { 0xfcbc, "\x06\x3a\x06\x2c" },
+ { 0xfcbd, "\x06\x3a\x06\x45" },
+ { 0xfcbe, "\x06\x41\x06\x2c" },
+ { 0xfcbf, "\x06\x41\x06\x2d" },
+ { 0xfcc0, "\x06\x41\x06\x2e" },
+ { 0xfcc1, "\x06\x41\x06\x45" },
+ { 0xfcc2, "\x06\x42\x06\x2d" },
+ { 0xfcc3, "\x06\x42\x06\x45" },
+ { 0xfcc4, "\x06\x43\x06\x2c" },
+ { 0xfcc5, "\x06\x43\x06\x2d" },
+ { 0xfcc6, "\x06\x43\x06\x2e" },
+ { 0xfcc7, "\x06\x43\x06\x44" },
+ { 0xfcc8, "\x06\x43\x06\x45" },
+ { 0xfcc9, "\x06\x44\x06\x2c" },
+ { 0xfcca, "\x06\x44\x06\x2d" },
+ { 0xfccb, "\x06\x44\x06\x2e" },
+ { 0xfccc, "\x06\x44\x06\x45" },
+ { 0xfccd, "\x06\x44\x06\x47" },
+ { 0xfcce, "\x06\x45\x06\x2c" },
+ { 0xfccf, "\x06\x45\x06\x2d" },
+ { 0xfcd0, "\x06\x45\x06\x2e" },
+ { 0xfcd1, "\x06\x45\x06\x45" },
+ { 0xfcd2, "\x06\x46\x06\x2c" },
+ { 0xfcd3, "\x06\x46\x06\x2d" },
+ { 0xfcd4, "\x06\x46\x06\x2e" },
+ { 0xfcd5, "\x06\x46\x06\x45" },
+ { 0xfcd6, "\x06\x46\x06\x47" },
+ { 0xfcd7, "\x06\x47\x06\x2c" },
+ { 0xfcd8, "\x06\x47\x06\x45" },
+ { 0xfcd9, "\x06\x47\x06\x70" },
+ { 0xfcda, "\x06\x4a\x06\x2c" },
+ { 0xfcdb, "\x06\x4a\x06\x2d" },
+ { 0xfcdc, "\x06\x4a\x06\x2e" },
+ { 0xfcdd, "\x06\x4a\x06\x45" },
+ { 0xfcde, "\x06\x4a\x06\x47" },
+ { 0xfcdf, "\x06\x26\x06\x45" },
+ { 0xfce0, "\x06\x26\x06\x47" },
+ { 0xfce1, "\x06\x28\x06\x45" },
+ { 0xfce2, "\x06\x28\x06\x47" },
+ { 0xfce3, "\x06\x2a\x06\x45" },
+ { 0xfce4, "\x06\x2a\x06\x47" },
+ { 0xfce5, "\x06\x2b\x06\x45" },
+ { 0xfce6, "\x06\x2b\x06\x47" },
+ { 0xfce7, "\x06\x33\x06\x45" },
+ { 0xfce8, "\x06\x33\x06\x47" },
+ { 0xfce9, "\x06\x34\x06\x45" },
+ { 0xfcea, "\x06\x34\x06\x47" },
+ { 0xfceb, "\x06\x43\x06\x44" },
+ { 0xfcec, "\x06\x43\x06\x45" },
+ { 0xfced, "\x06\x44\x06\x45" },
+ { 0xfcee, "\x06\x46\x06\x45" },
+ { 0xfcef, "\x06\x46\x06\x47" },
+ { 0xfcf0, "\x06\x4a\x06\x45" },
+ { 0xfcf1, "\x06\x4a\x06\x47" },
+ { 0xfcf2, "\x06\x40\x06\x51\x06\x4e" },
+ { 0xfcf3, "\x06\x40\x06\x51\x06\x4f" },
+ { 0xfcf4, "\x06\x40\x06\x51\x06\x50" },
+ { 0xfcf5, "\x06\x37\x06\x49" },
+ { 0xfcf6, "\x06\x37\x06\x4a" },
+ { 0xfcf7, "\x06\x39\x06\x49" },
+ { 0xfcf8, "\x06\x39\x06\x4a" },
+ { 0xfcf9, "\x06\x3a\x06\x49" },
+ { 0xfcfa, "\x06\x3a\x06\x4a" },
+ { 0xfcfb, "\x06\x33\x06\x49" },
+ { 0xfcfc, "\x06\x33\x06\x4a" },
+ { 0xfcfd, "\x06\x34\x06\x49" },
+ { 0xfcfe, "\x06\x34\x06\x4a" },
+ { 0xfcff, "\x06\x2d\x06\x49" },
+ { 0xfd00, "\x06\x2d\x06\x4a" },
+ { 0xfd01, "\x06\x2c\x06\x49" },
+ { 0xfd02, "\x06\x2c\x06\x4a" },
+ { 0xfd03, "\x06\x2e\x06\x49" },
+ { 0xfd04, "\x06\x2e\x06\x4a" },
+ { 0xfd05, "\x06\x35\x06\x49" },
+ { 0xfd06, "\x06\x35\x06\x4a" },
+ { 0xfd07, "\x06\x36\x06\x49" },
+ { 0xfd08, "\x06\x36\x06\x4a" },
+ { 0xfd09, "\x06\x34\x06\x2c" },
+ { 0xfd0a, "\x06\x34\x06\x2d" },
+ { 0xfd0b, "\x06\x34\x06\x2e" },
+ { 0xfd0c, "\x06\x34\x06\x45" },
+ { 0xfd0d, "\x06\x34\x06\x31" },
+ { 0xfd0e, "\x06\x33\x06\x31" },
+ { 0xfd0f, "\x06\x35\x06\x31" },
+ { 0xfd10, "\x06\x36\x06\x31" },
+ { 0xfd11, "\x06\x37\x06\x49" },
+ { 0xfd12, "\x06\x37\x06\x4a" },
+ { 0xfd13, "\x06\x39\x06\x49" },
+ { 0xfd14, "\x06\x39\x06\x4a" },
+ { 0xfd15, "\x06\x3a\x06\x49" },
+ { 0xfd16, "\x06\x3a\x06\x4a" },
+ { 0xfd17, "\x06\x33\x06\x49" },
+ { 0xfd18, "\x06\x33\x06\x4a" },
+ { 0xfd19, "\x06\x34\x06\x49" },
+ { 0xfd1a, "\x06\x34\x06\x4a" },
+ { 0xfd1b, "\x06\x2d\x06\x49" },
+ { 0xfd1c, "\x06\x2d\x06\x4a" },
+ { 0xfd1d, "\x06\x2c\x06\x49" },
+ { 0xfd1e, "\x06\x2c\x06\x4a" },
+ { 0xfd1f, "\x06\x2e\x06\x49" },
+ { 0xfd20, "\x06\x2e\x06\x4a" },
+ { 0xfd21, "\x06\x35\x06\x49" },
+ { 0xfd22, "\x06\x35\x06\x4a" },
+ { 0xfd23, "\x06\x36\x06\x49" },
+ { 0xfd24, "\x06\x36\x06\x4a" },
+ { 0xfd25, "\x06\x34\x06\x2c" },
+ { 0xfd26, "\x06\x34\x06\x2d" },
+ { 0xfd27, "\x06\x34\x06\x2e" },
+ { 0xfd28, "\x06\x34\x06\x45" },
+ { 0xfd29, "\x06\x34\x06\x31" },
+ { 0xfd2a, "\x06\x33\x06\x31" },
+ { 0xfd2b, "\x06\x35\x06\x31" },
+ { 0xfd2c, "\x06\x36\x06\x31" },
+ { 0xfd2d, "\x06\x34\x06\x2c" },
+ { 0xfd2e, "\x06\x34\x06\x2d" },
+ { 0xfd2f, "\x06\x34\x06\x2e" },
+ { 0xfd30, "\x06\x34\x06\x45" },
+ { 0xfd31, "\x06\x33\x06\x47" },
+ { 0xfd32, "\x06\x34\x06\x47" },
+ { 0xfd33, "\x06\x37\x06\x45" },
+ { 0xfd34, "\x06\x33\x06\x2c" },
+ { 0xfd35, "\x06\x33\x06\x2d" },
+ { 0xfd36, "\x06\x33\x06\x2e" },
+ { 0xfd37, "\x06\x34\x06\x2c" },
+ { 0xfd38, "\x06\x34\x06\x2d" },
+ { 0xfd39, "\x06\x34\x06\x2e" },
+ { 0xfd3a, "\x06\x37\x06\x45" },
+ { 0xfd3b, "\x06\x38\x06\x45" },
+ { 0xfd3c, "\x06\x27\x06\x4b" },
+ { 0xfd3d, "\x06\x27\x06\x4b" },
+ { 0xfd50, "\x06\x2a\x06\x2c\x06\x45" },
+ { 0xfd51, "\x06\x2a\x06\x2d\x06\x2c" },
+ { 0xfd52, "\x06\x2a\x06\x2d\x06\x2c" },
+ { 0xfd53, "\x06\x2a\x06\x2d\x06\x45" },
+ { 0xfd54, "\x06\x2a\x06\x2e\x06\x45" },
+ { 0xfd55, "\x06\x2a\x06\x45\x06\x2c" },
+ { 0xfd56, "\x06\x2a\x06\x45\x06\x2d" },
+ { 0xfd57, "\x06\x2a\x06\x45\x06\x2e" },
+ { 0xfd58, "\x06\x2c\x06\x45\x06\x2d" },
+ { 0xfd59, "\x06\x2c\x06\x45\x06\x2d" },
+ { 0xfd5a, "\x06\x2d\x06\x45\x06\x4a" },
+ { 0xfd5b, "\x06\x2d\x06\x45\x06\x49" },
+ { 0xfd5c, "\x06\x33\x06\x2d\x06\x2c" },
+ { 0xfd5d, "\x06\x33\x06\x2c\x06\x2d" },
+ { 0xfd5e, "\x06\x33\x06\x2c\x06\x49" },
+ { 0xfd5f, "\x06\x33\x06\x45\x06\x2d" },
+ { 0xfd60, "\x06\x33\x06\x45\x06\x2d" },
+ { 0xfd61, "\x06\x33\x06\x45\x06\x2c" },
+ { 0xfd62, "\x06\x33\x06\x45\x06\x45" },
+ { 0xfd63, "\x06\x33\x06\x45\x06\x45" },
+ { 0xfd64, "\x06\x35\x06\x2d\x06\x2d" },
+ { 0xfd65, "\x06\x35\x06\x2d\x06\x2d" },
+ { 0xfd66, "\x06\x35\x06\x45\x06\x45" },
+ { 0xfd67, "\x06\x34\x06\x2d\x06\x45" },
+ { 0xfd68, "\x06\x34\x06\x2d\x06\x45" },
+ { 0xfd69, "\x06\x34\x06\x2c\x06\x4a" },
+ { 0xfd6a, "\x06\x34\x06\x45\x06\x2e" },
+ { 0xfd6b, "\x06\x34\x06\x45\x06\x2e" },
+ { 0xfd6c, "\x06\x34\x06\x45\x06\x45" },
+ { 0xfd6d, "\x06\x34\x06\x45\x06\x45" },
+ { 0xfd6e, "\x06\x36\x06\x2d\x06\x49" },
+ { 0xfd6f, "\x06\x36\x06\x2e\x06\x45" },
+ { 0xfd70, "\x06\x36\x06\x2e\x06\x45" },
+ { 0xfd71, "\x06\x37\x06\x45\x06\x2d" },
+ { 0xfd72, "\x06\x37\x06\x45\x06\x2d" },
+ { 0xfd73, "\x06\x37\x06\x45\x06\x45" },
+ { 0xfd74, "\x06\x37\x06\x45\x06\x4a" },
+ { 0xfd75, "\x06\x39\x06\x2c\x06\x45" },
+ { 0xfd76, "\x06\x39\x06\x45\x06\x45" },
+ { 0xfd77, "\x06\x39\x06\x45\x06\x45" },
+ { 0xfd78, "\x06\x39\x06\x45\x06\x49" },
+ { 0xfd79, "\x06\x3a\x06\x45\x06\x45" },
+ { 0xfd7a, "\x06\x3a\x06\x45\x06\x4a" },
+ { 0xfd7b, "\x06\x3a\x06\x45\x06\x49" },
+ { 0xfd7c, "\x06\x41\x06\x2e\x06\x45" },
+ { 0xfd7d, "\x06\x41\x06\x2e\x06\x45" },
+ { 0xfd7e, "\x06\x42\x06\x45\x06\x2d" },
+ { 0xfd7f, "\x06\x42\x06\x45\x06\x45" },
+ { 0xfd80, "\x06\x44\x06\x2d\x06\x45" },
+ { 0xfd81, "\x06\x44\x06\x2d\x06\x4a" },
+ { 0xfd82, "\x06\x44\x06\x2d\x06\x49" },
+ { 0xfd83, "\x06\x44\x06\x2c\x06\x2c" },
+ { 0xfd84, "\x06\x44\x06\x2c\x06\x2c" },
+ { 0xfd85, "\x06\x44\x06\x2e\x06\x45" },
+ { 0xfd86, "\x06\x44\x06\x2e\x06\x45" },
+ { 0xfd87, "\x06\x44\x06\x45\x06\x2d" },
+ { 0xfd88, "\x06\x44\x06\x45\x06\x2d" },
+ { 0xfd89, "\x06\x45\x06\x2d\x06\x2c" },
+ { 0xfd8a, "\x06\x45\x06\x2d\x06\x45" },
+ { 0xfd8b, "\x06\x45\x06\x2d\x06\x4a" },
+ { 0xfd8c, "\x06\x45\x06\x2c\x06\x2d" },
+ { 0xfd8d, "\x06\x45\x06\x2c\x06\x45" },
+ { 0xfd8e, "\x06\x45\x06\x2e\x06\x2c" },
+ { 0xfd8f, "\x06\x45\x06\x2e\x06\x45" },
+ { 0xfd92, "\x06\x45\x06\x2c\x06\x2e" },
+ { 0xfd93, "\x06\x47\x06\x45\x06\x2c" },
+ { 0xfd94, "\x06\x47\x06\x45\x06\x45" },
+ { 0xfd95, "\x06\x46\x06\x2d\x06\x45" },
+ { 0xfd96, "\x06\x46\x06\x2d\x06\x49" },
+ { 0xfd97, "\x06\x46\x06\x2c\x06\x45" },
+ { 0xfd98, "\x06\x46\x06\x2c\x06\x45" },
+ { 0xfd99, "\x06\x46\x06\x2c\x06\x49" },
+ { 0xfd9a, "\x06\x46\x06\x45\x06\x4a" },
+ { 0xfd9b, "\x06\x46\x06\x45\x06\x49" },
+ { 0xfd9c, "\x06\x4a\x06\x45\x06\x45" },
+ { 0xfd9d, "\x06\x4a\x06\x45\x06\x45" },
+ { 0xfd9e, "\x06\x28\x06\x2e\x06\x4a" },
+ { 0xfd9f, "\x06\x2a\x06\x2c\x06\x4a" },
+ { 0xfda0, "\x06\x2a\x06\x2c\x06\x49" },
+ { 0xfda1, "\x06\x2a\x06\x2e\x06\x4a" },
+ { 0xfda2, "\x06\x2a\x06\x2e\x06\x49" },
+ { 0xfda3, "\x06\x2a\x06\x45\x06\x4a" },
+ { 0xfda4, "\x06\x2a\x06\x45\x06\x49" },
+ { 0xfda5, "\x06\x2c\x06\x45\x06\x4a" },
+ { 0xfda6, "\x06\x2c\x06\x2d\x06\x49" },
+ { 0xfda7, "\x06\x2c\x06\x45\x06\x49" },
+ { 0xfda8, "\x06\x33\x06\x2e\x06\x49" },
+ { 0xfda9, "\x06\x35\x06\x2d\x06\x4a" },
+ { 0xfdaa, "\x06\x34\x06\x2d\x06\x4a" },
+ { 0xfdab, "\x06\x36\x06\x2d\x06\x4a" },
+ { 0xfdac, "\x06\x44\x06\x2c\x06\x4a" },
+ { 0xfdad, "\x06\x44\x06\x45\x06\x4a" },
+ { 0xfdae, "\x06\x4a\x06\x2d\x06\x4a" },
+ { 0xfdaf, "\x06\x4a\x06\x2c\x06\x4a" },
+ { 0xfdb0, "\x06\x4a\x06\x45\x06\x4a" },
+ { 0xfdb1, "\x06\x45\x06\x45\x06\x4a" },
+ { 0xfdb2, "\x06\x42\x06\x45\x06\x4a" },
+ { 0xfdb3, "\x06\x46\x06\x2d\x06\x4a" },
+ { 0xfdb4, "\x06\x42\x06\x45\x06\x2d" },
+ { 0xfdb5, "\x06\x44\x06\x2d\x06\x45" },
+ { 0xfdb6, "\x06\x39\x06\x45\x06\x4a" },
+ { 0xfdb7, "\x06\x43\x06\x45\x06\x4a" },
+ { 0xfdb8, "\x06\x46\x06\x2c\x06\x2d" },
+ { 0xfdb9, "\x06\x45\x06\x2e\x06\x4a" },
+ { 0xfdba, "\x06\x44\x06\x2c\x06\x45" },
+ { 0xfdbb, "\x06\x43\x06\x45\x06\x45" },
+ { 0xfdbc, "\x06\x44\x06\x2c\x06\x45" },
+ { 0xfdbd, "\x06\x46\x06\x2c\x06\x2d" },
+ { 0xfdbe, "\x06\x2c\x06\x2d\x06\x4a" },
+ { 0xfdbf, "\x06\x2d\x06\x2c\x06\x4a" },
+ { 0xfdc0, "\x06\x45\x06\x2c\x06\x4a" },
+ { 0xfdc1, "\x06\x41\x06\x45\x06\x4a" },
+ { 0xfdc2, "\x06\x28\x06\x2d\x06\x4a" },
+ { 0xfdc3, "\x06\x43\x06\x45\x06\x45" },
+ { 0xfdc4, "\x06\x39\x06\x2c\x06\x45" },
+ { 0xfdc5, "\x06\x35\x06\x45\x06\x45" },
+ { 0xfdc6, "\x06\x33\x06\x2e\x06\x4a" },
+ { 0xfdc7, "\x06\x46\x06\x2c\x06\x4a" },
+ { 0xfdf0, "\x06\x35\x06\x44\x06\xd2" },
+ { 0xfdf1, "\x06\x42\x06\x44\x06\xd2" },
+ { 0xfdf2, "\x06\x27\x06\x44\x06\x44\x06\x47" },
+ { 0xfdf3, "\x06\x27\x06\x43\x06\x28\x06\x31" },
+ { 0xfdf4, "\x06\x45\x06\x2d\x06\x45\x06\x2f" },
+ { 0xfdf5, "\x06\x35\x06\x44\x06\x39\x06\x45" },
+ { 0xfdf6, "\x06\x31\x06\x33\x06\x48\x06\x44" },
+ { 0xfdf7, "\x06\x39\x06\x44\x06\x4a\x06\x47" },
+ { 0xfdf8, "\x06\x48\x06\x33\x06\x44\x06\x45" },
+ { 0xfdf9, "\x06\x35\x06\x44\x06\x49" },
+ { 0xfdfa, "\x06\x35\x06\x44\x06\x49\x00\x20\x06\x27\x06\x44\x06\x44\x06\x47\x00\x20\x06\x39\x06\x44\x06\x4a\x06\x47\x00\x20\x06\x48\x06\x33\x06\x44\x06\x45" },
+ { 0xfdfb, "\x06\x2c\x06\x44\x00\x20\x06\x2c\x06\x44\x06\x27\x06\x44\x06\x47" },
+ { 0xfe30, "\x20\x25" },
+ { 0xfe31, "\x20\x14" },
+ { 0xfe32, "\x20\x13" },
+ { 0xfe33, "\x00\x5f" },
+ { 0xfe34, "\x00\x5f" },
+ { 0xfe35, "\x00\x28" },
+ { 0xfe36, "\x00\x29" },
+ { 0xfe37, "\x00\x7b" },
+ { 0xfe38, "\x00\x7d" },
+ { 0xfe39, "\x30\x14" },
+ { 0xfe3a, "\x30\x15" },
+ { 0xfe3b, "\x30\x10" },
+ { 0xfe3c, "\x30\x11" },
+ { 0xfe3d, "\x30\x0a" },
+ { 0xfe3e, "\x30\x0b" },
+ { 0xfe3f, "\x30\x08" },
+ { 0xfe40, "\x30\x09" },
+ { 0xfe41, "\x30\x0c" },
+ { 0xfe42, "\x30\x0d" },
+ { 0xfe43, "\x30\x0e" },
+ { 0xfe44, "\x30\x0f" },
+ { 0xfe49, "\x20\x3e" },
+ { 0xfe4a, "\x20\x3e" },
+ { 0xfe4b, "\x20\x3e" },
+ { 0xfe4c, "\x20\x3e" },
+ { 0xfe4d, "\x00\x5f" },
+ { 0xfe4e, "\x00\x5f" },
+ { 0xfe4f, "\x00\x5f" },
+ { 0xfe50, "\x00\x2c" },
+ { 0xfe51, "\x30\x01" },
+ { 0xfe52, "\x00\x2e" },
+ { 0xfe54, "\x00\x3b" },
+ { 0xfe55, "\x00\x3a" },
+ { 0xfe56, "\x00\x3f" },
+ { 0xfe57, "\x00\x21" },
+ { 0xfe58, "\x20\x14" },
+ { 0xfe59, "\x00\x28" },
+ { 0xfe5a, "\x00\x29" },
+ { 0xfe5b, "\x00\x7b" },
+ { 0xfe5c, "\x00\x7d" },
+ { 0xfe5d, "\x30\x14" },
+ { 0xfe5e, "\x30\x15" },
+ { 0xfe5f, "\x00\x23" },
+ { 0xfe60, "\x00\x26" },
+ { 0xfe61, "\x00\x2a" },
+ { 0xfe62, "\x00\x2b" },
+ { 0xfe63, "\x00\x2d" },
+ { 0xfe64, "\x00\x3c" },
+ { 0xfe65, "\x00\x3e" },
+ { 0xfe66, "\x00\x3d" },
+ { 0xfe68, "\x00\x5c" },
+ { 0xfe69, "\x00\x24" },
+ { 0xfe6a, "\x00\x25" },
+ { 0xfe6b, "\x00\x40" },
+ { 0xfe70, "\x00\x20\x06\x4b" },
+ { 0xfe71, "\x06\x40\x06\x4b" },
+ { 0xfe72, "\x00\x20\x06\x4c" },
+ { 0xfe74, "\x00\x20\x06\x4d" },
+ { 0xfe76, "\x00\x20\x06\x4e" },
+ { 0xfe77, "\x06\x40\x06\x4e" },
+ { 0xfe78, "\x00\x20\x06\x4f" },
+ { 0xfe79, "\x06\x40\x06\x4f" },
+ { 0xfe7a, "\x00\x20\x06\x50" },
+ { 0xfe7b, "\x06\x40\x06\x50" },
+ { 0xfe7c, "\x00\x20\x06\x51" },
+ { 0xfe7d, "\x06\x40\x06\x51" },
+ { 0xfe7e, "\x00\x20\x06\x52" },
+ { 0xfe7f, "\x06\x40\x06\x52" },
+ { 0xfe80, "\x06\x21" },
+ { 0xfe81, "\x06\x22" },
+ { 0xfe82, "\x06\x22" },
+ { 0xfe83, "\x06\x23" },
+ { 0xfe84, "\x06\x23" },
+ { 0xfe85, "\x06\x24" },
+ { 0xfe86, "\x06\x24" },
+ { 0xfe87, "\x06\x25" },
+ { 0xfe88, "\x06\x25" },
+ { 0xfe89, "\x06\x26" },
+ { 0xfe8a, "\x06\x26" },
+ { 0xfe8b, "\x06\x26" },
+ { 0xfe8c, "\x06\x26" },
+ { 0xfe8d, "\x06\x27" },
+ { 0xfe8e, "\x06\x27" },
+ { 0xfe8f, "\x06\x28" },
+ { 0xfe90, "\x06\x28" },
+ { 0xfe91, "\x06\x28" },
+ { 0xfe92, "\x06\x28" },
+ { 0xfe93, "\x06\x29" },
+ { 0xfe94, "\x06\x29" },
+ { 0xfe95, "\x06\x2a" },
+ { 0xfe96, "\x06\x2a" },
+ { 0xfe97, "\x06\x2a" },
+ { 0xfe98, "\x06\x2a" },
+ { 0xfe99, "\x06\x2b" },
+ { 0xfe9a, "\x06\x2b" },
+ { 0xfe9b, "\x06\x2b" },
+ { 0xfe9c, "\x06\x2b" },
+ { 0xfe9d, "\x06\x2c" },
+ { 0xfe9e, "\x06\x2c" },
+ { 0xfe9f, "\x06\x2c" },
+ { 0xfea0, "\x06\x2c" },
+ { 0xfea1, "\x06\x2d" },
+ { 0xfea2, "\x06\x2d" },
+ { 0xfea3, "\x06\x2d" },
+ { 0xfea4, "\x06\x2d" },
+ { 0xfea5, "\x06\x2e" },
+ { 0xfea6, "\x06\x2e" },
+ { 0xfea7, "\x06\x2e" },
+ { 0xfea8, "\x06\x2e" },
+ { 0xfea9, "\x06\x2f" },
+ { 0xfeaa, "\x06\x2f" },
+ { 0xfeab, "\x06\x30" },
+ { 0xfeac, "\x06\x30" },
+ { 0xfead, "\x06\x31" },
+ { 0xfeae, "\x06\x31" },
+ { 0xfeaf, "\x06\x32" },
+ { 0xfeb0, "\x06\x32" },
+ { 0xfeb1, "\x06\x33" },
+ { 0xfeb2, "\x06\x33" },
+ { 0xfeb3, "\x06\x33" },
+ { 0xfeb4, "\x06\x33" },
+ { 0xfeb5, "\x06\x34" },
+ { 0xfeb6, "\x06\x34" },
+ { 0xfeb7, "\x06\x34" },
+ { 0xfeb8, "\x06\x34" },
+ { 0xfeb9, "\x06\x35" },
+ { 0xfeba, "\x06\x35" },
+ { 0xfebb, "\x06\x35" },
+ { 0xfebc, "\x06\x35" },
+ { 0xfebd, "\x06\x36" },
+ { 0xfebe, "\x06\x36" },
+ { 0xfebf, "\x06\x36" },
+ { 0xfec0, "\x06\x36" },
+ { 0xfec1, "\x06\x37" },
+ { 0xfec2, "\x06\x37" },
+ { 0xfec3, "\x06\x37" },
+ { 0xfec4, "\x06\x37" },
+ { 0xfec5, "\x06\x38" },
+ { 0xfec6, "\x06\x38" },
+ { 0xfec7, "\x06\x38" },
+ { 0xfec8, "\x06\x38" },
+ { 0xfec9, "\x06\x39" },
+ { 0xfeca, "\x06\x39" },
+ { 0xfecb, "\x06\x39" },
+ { 0xfecc, "\x06\x39" },
+ { 0xfecd, "\x06\x3a" },
+ { 0xfece, "\x06\x3a" },
+ { 0xfecf, "\x06\x3a" },
+ { 0xfed0, "\x06\x3a" },
+ { 0xfed1, "\x06\x41" },
+ { 0xfed2, "\x06\x41" },
+ { 0xfed3, "\x06\x41" },
+ { 0xfed4, "\x06\x41" },
+ { 0xfed5, "\x06\x42" },
+ { 0xfed6, "\x06\x42" },
+ { 0xfed7, "\x06\x42" },
+ { 0xfed8, "\x06\x42" },
+ { 0xfed9, "\x06\x43" },
+ { 0xfeda, "\x06\x43" },
+ { 0xfedb, "\x06\x43" },
+ { 0xfedc, "\x06\x43" },
+ { 0xfedd, "\x06\x44" },
+ { 0xfede, "\x06\x44" },
+ { 0xfedf, "\x06\x44" },
+ { 0xfee0, "\x06\x44" },
+ { 0xfee1, "\x06\x45" },
+ { 0xfee2, "\x06\x45" },
+ { 0xfee3, "\x06\x45" },
+ { 0xfee4, "\x06\x45" },
+ { 0xfee5, "\x06\x46" },
+ { 0xfee6, "\x06\x46" },
+ { 0xfee7, "\x06\x46" },
+ { 0xfee8, "\x06\x46" },
+ { 0xfee9, "\x06\x47" },
+ { 0xfeea, "\x06\x47" },
+ { 0xfeeb, "\x06\x47" },
+ { 0xfeec, "\x06\x47" },
+ { 0xfeed, "\x06\x48" },
+ { 0xfeee, "\x06\x48" },
+ { 0xfeef, "\x06\x49" },
+ { 0xfef0, "\x06\x49" },
+ { 0xfef1, "\x06\x4a" },
+ { 0xfef2, "\x06\x4a" },
+ { 0xfef3, "\x06\x4a" },
+ { 0xfef4, "\x06\x4a" },
+ { 0xfef5, "\x06\x44\x06\x22" },
+ { 0xfef6, "\x06\x44\x06\x22" },
+ { 0xfef7, "\x06\x44\x06\x23" },
+ { 0xfef8, "\x06\x44\x06\x23" },
+ { 0xfef9, "\x06\x44\x06\x25" },
+ { 0xfefa, "\x06\x44\x06\x25" },
+ { 0xfefb, "\x06\x44\x06\x27" },
+ { 0xfefc, "\x06\x44\x06\x27" },
+ { 0xff01, "\x00\x21" },
+ { 0xff02, "\x00\x22" },
+ { 0xff03, "\x00\x23" },
+ { 0xff04, "\x00\x24" },
+ { 0xff05, "\x00\x25" },
+ { 0xff06, "\x00\x26" },
+ { 0xff07, "\x00\x27" },
+ { 0xff08, "\x00\x28" },
+ { 0xff09, "\x00\x29" },
+ { 0xff0a, "\x00\x2a" },
+ { 0xff0b, "\x00\x2b" },
+ { 0xff0c, "\x00\x2c" },
+ { 0xff0d, "\x00\x2d" },
+ { 0xff0e, "\x00\x2e" },
+ { 0xff0f, "\x00\x2f" },
+ { 0xff10, "\x00\x30" },
+ { 0xff11, "\x00\x31" },
+ { 0xff12, "\x00\x32" },
+ { 0xff13, "\x00\x33" },
+ { 0xff14, "\x00\x34" },
+ { 0xff15, "\x00\x35" },
+ { 0xff16, "\x00\x36" },
+ { 0xff17, "\x00\x37" },
+ { 0xff18, "\x00\x38" },
+ { 0xff19, "\x00\x39" },
+ { 0xff1a, "\x00\x3a" },
+ { 0xff1b, "\x00\x3b" },
+ { 0xff1c, "\x00\x3c" },
+ { 0xff1d, "\x00\x3d" },
+ { 0xff1e, "\x00\x3e" },
+ { 0xff1f, "\x00\x3f" },
+ { 0xff20, "\x00\x40" },
+ { 0xff21, "\x00\x41" },
+ { 0xff22, "\x00\x42" },
+ { 0xff23, "\x00\x43" },
+ { 0xff24, "\x00\x44" },
+ { 0xff25, "\x00\x45" },
+ { 0xff26, "\x00\x46" },
+ { 0xff27, "\x00\x47" },
+ { 0xff28, "\x00\x48" },
+ { 0xff29, "\x00\x49" },
+ { 0xff2a, "\x00\x4a" },
+ { 0xff2b, "\x00\x4b" },
+ { 0xff2c, "\x00\x4c" },
+ { 0xff2d, "\x00\x4d" },
+ { 0xff2e, "\x00\x4e" },
+ { 0xff2f, "\x00\x4f" },
+ { 0xff30, "\x00\x50" },
+ { 0xff31, "\x00\x51" },
+ { 0xff32, "\x00\x52" },
+ { 0xff33, "\x00\x53" },
+ { 0xff34, "\x00\x54" },
+ { 0xff35, "\x00\x55" },
+ { 0xff36, "\x00\x56" },
+ { 0xff37, "\x00\x57" },
+ { 0xff38, "\x00\x58" },
+ { 0xff39, "\x00\x59" },
+ { 0xff3a, "\x00\x5a" },
+ { 0xff3b, "\x00\x5b" },
+ { 0xff3c, "\x00\x5c" },
+ { 0xff3d, "\x00\x5d" },
+ { 0xff3e, "\x00\x5e" },
+ { 0xff3f, "\x00\x5f" },
+ { 0xff40, "\x00\x60" },
+ { 0xff41, "\x00\x61" },
+ { 0xff42, "\x00\x62" },
+ { 0xff43, "\x00\x63" },
+ { 0xff44, "\x00\x64" },
+ { 0xff45, "\x00\x65" },
+ { 0xff46, "\x00\x66" },
+ { 0xff47, "\x00\x67" },
+ { 0xff48, "\x00\x68" },
+ { 0xff49, "\x00\x69" },
+ { 0xff4a, "\x00\x6a" },
+ { 0xff4b, "\x00\x6b" },
+ { 0xff4c, "\x00\x6c" },
+ { 0xff4d, "\x00\x6d" },
+ { 0xff4e, "\x00\x6e" },
+ { 0xff4f, "\x00\x6f" },
+ { 0xff50, "\x00\x70" },
+ { 0xff51, "\x00\x71" },
+ { 0xff52, "\x00\x72" },
+ { 0xff53, "\x00\x73" },
+ { 0xff54, "\x00\x74" },
+ { 0xff55, "\x00\x75" },
+ { 0xff56, "\x00\x76" },
+ { 0xff57, "\x00\x77" },
+ { 0xff58, "\x00\x78" },
+ { 0xff59, "\x00\x79" },
+ { 0xff5a, "\x00\x7a" },
+ { 0xff5b, "\x00\x7b" },
+ { 0xff5c, "\x00\x7c" },
+ { 0xff5d, "\x00\x7d" },
+ { 0xff5e, "\x00\x7e" },
+ { 0xff61, "\x30\x02" },
+ { 0xff62, "\x30\x0c" },
+ { 0xff63, "\x30\x0d" },
+ { 0xff64, "\x30\x01" },
+ { 0xff65, "\x30\xfb" },
+ { 0xff66, "\x30\xf2" },
+ { 0xff67, "\x30\xa1" },
+ { 0xff68, "\x30\xa3" },
+ { 0xff69, "\x30\xa5" },
+ { 0xff6a, "\x30\xa7" },
+ { 0xff6b, "\x30\xa9" },
+ { 0xff6c, "\x30\xe3" },
+ { 0xff6d, "\x30\xe5" },
+ { 0xff6e, "\x30\xe7" },
+ { 0xff6f, "\x30\xc3" },
+ { 0xff70, "\x30\xfc" },
+ { 0xff71, "\x30\xa2" },
+ { 0xff72, "\x30\xa4" },
+ { 0xff73, "\x30\xa6" },
+ { 0xff74, "\x30\xa8" },
+ { 0xff75, "\x30\xaa" },
+ { 0xff76, "\x30\xab" },
+ { 0xff77, "\x30\xad" },
+ { 0xff78, "\x30\xaf" },
+ { 0xff79, "\x30\xb1" },
+ { 0xff7a, "\x30\xb3" },
+ { 0xff7b, "\x30\xb5" },
+ { 0xff7c, "\x30\xb7" },
+ { 0xff7d, "\x30\xb9" },
+ { 0xff7e, "\x30\xbb" },
+ { 0xff7f, "\x30\xbd" },
+ { 0xff80, "\x30\xbf" },
+ { 0xff81, "\x30\xc1" },
+ { 0xff82, "\x30\xc4" },
+ { 0xff83, "\x30\xc6" },
+ { 0xff84, "\x30\xc8" },
+ { 0xff85, "\x30\xca" },
+ { 0xff86, "\x30\xcb" },
+ { 0xff87, "\x30\xcc" },
+ { 0xff88, "\x30\xcd" },
+ { 0xff89, "\x30\xce" },
+ { 0xff8a, "\x30\xcf" },
+ { 0xff8b, "\x30\xd2" },
+ { 0xff8c, "\x30\xd5" },
+ { 0xff8d, "\x30\xd8" },
+ { 0xff8e, "\x30\xdb" },
+ { 0xff8f, "\x30\xde" },
+ { 0xff90, "\x30\xdf" },
+ { 0xff91, "\x30\xe0" },
+ { 0xff92, "\x30\xe1" },
+ { 0xff93, "\x30\xe2" },
+ { 0xff94, "\x30\xe4" },
+ { 0xff95, "\x30\xe6" },
+ { 0xff96, "\x30\xe8" },
+ { 0xff97, "\x30\xe9" },
+ { 0xff98, "\x30\xea" },
+ { 0xff99, "\x30\xeb" },
+ { 0xff9a, "\x30\xec" },
+ { 0xff9b, "\x30\xed" },
+ { 0xff9c, "\x30\xef" },
+ { 0xff9d, "\x30\xf3" },
+ { 0xff9e, "\x30\x99" },
+ { 0xff9f, "\x30\x9a" },
+ { 0xffa0, "\x31\x64" },
+ { 0xffa1, "\x31\x31" },
+ { 0xffa2, "\x31\x32" },
+ { 0xffa3, "\x31\x33" },
+ { 0xffa4, "\x31\x34" },
+ { 0xffa5, "\x31\x35" },
+ { 0xffa6, "\x31\x36" },
+ { 0xffa7, "\x31\x37" },
+ { 0xffa8, "\x31\x38" },
+ { 0xffa9, "\x31\x39" },
+ { 0xffaa, "\x31\x3a" },
+ { 0xffab, "\x31\x3b" },
+ { 0xffac, "\x31\x3c" },
+ { 0xffad, "\x31\x3d" },
+ { 0xffae, "\x31\x3e" },
+ { 0xffaf, "\x31\x3f" },
+ { 0xffb0, "\x31\x40" },
+ { 0xffb1, "\x31\x41" },
+ { 0xffb2, "\x31\x42" },
+ { 0xffb3, "\x31\x43" },
+ { 0xffb4, "\x31\x44" },
+ { 0xffb5, "\x31\x45" },
+ { 0xffb6, "\x31\x46" },
+ { 0xffb7, "\x31\x47" },
+ { 0xffb8, "\x31\x48" },
+ { 0xffb9, "\x31\x49" },
+ { 0xffba, "\x31\x4a" },
+ { 0xffbb, "\x31\x4b" },
+ { 0xffbc, "\x31\x4c" },
+ { 0xffbd, "\x31\x4d" },
+ { 0xffbe, "\x31\x4e" },
+ { 0xffc2, "\x31\x4f" },
+ { 0xffc3, "\x31\x50" },
+ { 0xffc4, "\x31\x51" },
+ { 0xffc5, "\x31\x52" },
+ { 0xffc6, "\x31\x53" },
+ { 0xffc7, "\x31\x54" },
+ { 0xffca, "\x31\x55" },
+ { 0xffcb, "\x31\x56" },
+ { 0xffcc, "\x31\x57" },
+ { 0xffcd, "\x31\x58" },
+ { 0xffce, "\x31\x59" },
+ { 0xffcf, "\x31\x5a" },
+ { 0xffd2, "\x31\x5b" },
+ { 0xffd3, "\x31\x5c" },
+ { 0xffd4, "\x31\x5d" },
+ { 0xffd5, "\x31\x5e" },
+ { 0xffd6, "\x31\x5f" },
+ { 0xffd7, "\x31\x60" },
+ { 0xffda, "\x31\x61" },
+ { 0xffdb, "\x31\x62" },
+ { 0xffdc, "\x31\x63" },
+ { 0xffe0, "\x00\xa2" },
+ { 0xffe1, "\x00\xa3" },
+ { 0xffe2, "\x00\xac" },
+ { 0xffe3, "\x00\xaf" },
+ { 0xffe4, "\x00\xa6" },
+ { 0xffe5, "\x00\xa5" },
+ { 0xffe6, "\x20\xa9" },
+ { 0xffe8, "\x25\x02" },
+ { 0xffe9, "\x21\x90" },
+ { 0xffea, "\x21\x91" },
+ { 0xffeb, "\x21\x92" },
+ { 0xffec, "\x21\x93" },
+ { 0xffed, "\x25\xa0" },
+ { 0xffee, "\x25\xcb" }
+};
+
+#endif /* __JAVA_CHARDECOMP_H__ */
diff --git a/libjava/include/java-chartables.h b/libjava/include/java-chartables.h
new file mode 100644
index 0000000..b1053da
--- /dev/null
+++ b/libjava/include/java-chartables.h
@@ -0,0 +1,82984 @@
+// java-chartables.h - Character tables for java.lang.Character -*- c++ -*-
+
+#ifndef __JAVA_CHARTABLES_H__
+#define __JAVA_CHARTABLES_H__
+
+// These tables are automatically generated by the chartables.pl
+// script. DO NOT EDIT the tables. Instead, fix the script
+// and run it again.
+
+// This file should only be included by natCharacter.cc
+
+static const jchar title_to_lower_table[][2] =
+ {
+ { 0x01c5, 0x01c6 }, // LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+ { 0x01c8, 0x01c9 }, // LATIN CAPITAL LETTER L WITH SMALL LETTER J
+ { 0x01cb, 0x01cc }, // LATIN CAPITAL LETTER N WITH SMALL LETTER J
+ { 0x01f2, 0x01f3 } // LATIN CAPITAL LETTER D WITH SMALL LETTER Z
+ };
+
+static const jchar title_to_upper_table[][2] =
+ {
+ { 0x01c5, 0x01c4 }, // LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON
+ { 0x01c8, 0x01c7 }, // LATIN CAPITAL LETTER L WITH SMALL LETTER J
+ { 0x01cb, 0x01ca }, // LATIN CAPITAL LETTER N WITH SMALL LETTER J
+ { 0x01f2, 0x01f1 } // LATIN CAPITAL LETTER D WITH SMALL LETTER Z
+ };
+
+#ifdef COMPACT_CHARACTER
+
+#define TAMIL_DIGIT_ONE 0x0be7
+
+static const jchar numeric_table[] =
+ { 0x00b2, 0x00b3, 0x00b9, 0x00bc, 0x00bd,
+ 0x00be, 0x09f4, 0x09f5, 0x09f6, 0x09f7,
+ 0x09f8, 0x09f9, 0x0bf0, 0x0bf1, 0x0bf2,
+ 0x2070, 0x2074, 0x2075, 0x2076, 0x2077,
+ 0x2078, 0x2079, 0x2080, 0x2081, 0x2082,
+ 0x2083, 0x2084, 0x2085, 0x2086, 0x2087,
+ 0x2088, 0x2089, 0x2153, 0x2154, 0x2155,
+ 0x2156, 0x2157, 0x2158, 0x2159, 0x215a,
+ 0x215b, 0x215c, 0x215d, 0x215e, 0x215f,
+ 0x2160, 0x2161, 0x2162, 0x2163, 0x2164,
+ 0x2165, 0x2166, 0x2167, 0x2168, 0x2169,
+ 0x216a, 0x216b, 0x216c, 0x216d, 0x216e,
+ 0x216f, 0x2170, 0x2171, 0x2172, 0x2173,
+ 0x2174, 0x2175, 0x2176, 0x2177, 0x2178,
+ 0x2179, 0x217a, 0x217b, 0x217c, 0x217d,
+ 0x217e, 0x217f, 0x2180, 0x2181, 0x2182,
+ 0x2460, 0x2461, 0x2462, 0x2463, 0x2464,
+ 0x2465, 0x2466, 0x2467, 0x2468, 0x2469,
+ 0x246a, 0x246b, 0x246c, 0x246d, 0x246e,
+ 0x246f, 0x2470, 0x2471, 0x2472, 0x2473,
+ 0x2474, 0x2475, 0x2476, 0x2477, 0x2478,
+ 0x2479, 0x247a, 0x247b, 0x247c, 0x247d,
+ 0x247e, 0x247f, 0x2480, 0x2481, 0x2482,
+ 0x2483, 0x2484, 0x2485, 0x2486, 0x2487,
+ 0x2488, 0x2489, 0x248a, 0x248b, 0x248c,
+ 0x248d, 0x248e, 0x248f, 0x2490, 0x2491,
+ 0x2492, 0x2493, 0x2494, 0x2495, 0x2496,
+ 0x2497, 0x2498, 0x2499, 0x249a, 0x249b,
+ 0x24ea, 0x2776, 0x2777, 0x2778, 0x2779,
+ 0x277a, 0x277b, 0x277c, 0x277d, 0x277e,
+ 0x277f, 0x2780, 0x2781, 0x2782, 0x2783,
+ 0x2784, 0x2785, 0x2786, 0x2787, 0x2788,
+ 0x2789, 0x278a, 0x278b, 0x278c, 0x278d,
+ 0x278e, 0x278f, 0x2790, 0x2791, 0x2792,
+ 0x2793, 0x3007, 0x3021, 0x3022, 0x3023,
+ 0x3024, 0x3025, 0x3026, 0x3027, 0x3028,
+ 0x3029, 0x3280, 0x3281, 0x3282, 0x3283,
+ 0x3284, 0x3285, 0x3286, 0x3287, 0x3288,
+ 0x3289 };
+
+static const jshort numeric_value[] =
+ { 2, 3, 1, -2, -2, -2, 1, 2, 3, 4,
+ -2, 16, 10, 100, 1000, 0, 4, 5, 6, 7,
+ 8, 9, 0, 1, 2, 3, 4, 5, 6, 7,
+ 8, 9, -2, -2, -2, -2, -2, -2, -2, -2,
+ -2, -2, -2, -2, 1, 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10, 11, 12, 50, 100, 500,
+ 1000, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 11, 12, 50, 100, 500, 1000, 1000, 5000, 10000,
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10, 0, 1, 2, 3, 4, 5, 6, 7, 8,
+ 9, 1, 2, 3, 4, 5, 6, 7, 8, 9,
+ 10 };
+
+static const jchar digit_table[][2] =
+ {
+ { 0x0030, 0x0039 },
+ { 0x0660, 0x0669 },
+ { 0x06f0, 0x06f9 },
+ { 0x0966, 0x096f },
+ { 0x09e6, 0x09ef },
+ { 0x0a66, 0x0a6f },
+ { 0x0ae6, 0x0aef },
+ { 0x0b66, 0x0b6f },
+ { 0x0be7, 0x0bef },
+ { 0x0c66, 0x0c6f },
+ { 0x0ce6, 0x0cef },
+ { 0x0d66, 0x0d6f },
+ { 0x0e50, 0x0e59 },
+ { 0x0ed0, 0x0ed9 },
+ { 0x0f20, 0x0f29 },
+ { 0xff10, 0xff19 }
+ };
+
+static const jchar space_table[][2] =
+ {
+ { 0x0020, 0x0020 },
+ { 0x00a0, 0x00a0 },
+ { 0x2000, 0x200b },
+ { 0x2028, 0x2029 },
+ { 0x3000, 0x3000 }
+ };
+
+static const jchar upper_case_table[][2] =
+ {
+ { 0x0041, 0x005a },
+ { 0x00c0, 0x00d6 },
+ { 0x00d8, 0x00de },
+ { 0x0100, 0x0100 },
+ { 0x0102, 0x0102 },
+ { 0x0104, 0x0104 },
+ { 0x0106, 0x0106 },
+ { 0x0108, 0x0108 },
+ { 0x010a, 0x010a },
+ { 0x010c, 0x010c },
+ { 0x010e, 0x010e },
+ { 0x0110, 0x0110 },
+ { 0x0112, 0x0112 },
+ { 0x0114, 0x0114 },
+ { 0x0116, 0x0116 },
+ { 0x0118, 0x0118 },
+ { 0x011a, 0x011a },
+ { 0x011c, 0x011c },
+ { 0x011e, 0x011e },
+ { 0x0120, 0x0120 },
+ { 0x0122, 0x0122 },
+ { 0x0124, 0x0124 },
+ { 0x0126, 0x0126 },
+ { 0x0128, 0x0128 },
+ { 0x012a, 0x012a },
+ { 0x012c, 0x012c },
+ { 0x012e, 0x012e },
+ { 0x0130, 0x0130 },
+ { 0x0132, 0x0132 },
+ { 0x0134, 0x0134 },
+ { 0x0136, 0x0136 },
+ { 0x0139, 0x0139 },
+ { 0x013b, 0x013b },
+ { 0x013d, 0x013d },
+ { 0x013f, 0x013f },
+ { 0x0141, 0x0141 },
+ { 0x0143, 0x0143 },
+ { 0x0145, 0x0145 },
+ { 0x0147, 0x0147 },
+ { 0x014a, 0x014a },
+ { 0x014c, 0x014c },
+ { 0x014e, 0x014e },
+ { 0x0150, 0x0150 },
+ { 0x0152, 0x0152 },
+ { 0x0154, 0x0154 },
+ { 0x0156, 0x0156 },
+ { 0x0158, 0x0158 },
+ { 0x015a, 0x015a },
+ { 0x015c, 0x015c },
+ { 0x015e, 0x015e },
+ { 0x0160, 0x0160 },
+ { 0x0162, 0x0162 },
+ { 0x0164, 0x0164 },
+ { 0x0166, 0x0166 },
+ { 0x0168, 0x0168 },
+ { 0x016a, 0x016a },
+ { 0x016c, 0x016c },
+ { 0x016e, 0x016e },
+ { 0x0170, 0x0170 },
+ { 0x0172, 0x0172 },
+ { 0x0174, 0x0174 },
+ { 0x0176, 0x0176 },
+ { 0x0178, 0x0178 },
+ { 0x0179, 0x0179 },
+ { 0x017b, 0x017b },
+ { 0x017d, 0x017d },
+ { 0x0181, 0x0181 },
+ { 0x0182, 0x0182 },
+ { 0x0184, 0x0184 },
+ { 0x0186, 0x0186 },
+ { 0x0187, 0x0187 },
+ { 0x0189, 0x018a },
+ { 0x018b, 0x018b },
+ { 0x018e, 0x018e },
+ { 0x018f, 0x018f },
+ { 0x0190, 0x0190 },
+ { 0x0191, 0x0191 },
+ { 0x0193, 0x0193 },
+ { 0x0194, 0x0194 },
+ { 0x0196, 0x0196 },
+ { 0x0197, 0x0197 },
+ { 0x0198, 0x0198 },
+ { 0x019c, 0x019c },
+ { 0x019d, 0x019d },
+ { 0x019f, 0x019f },
+ { 0x01a0, 0x01a0 },
+ { 0x01a2, 0x01a2 },
+ { 0x01a4, 0x01a4 },
+ { 0x01a6, 0x01a6 },
+ { 0x01a7, 0x01a7 },
+ { 0x01a9, 0x01a9 },
+ { 0x01ac, 0x01ac },
+ { 0x01ae, 0x01ae },
+ { 0x01af, 0x01af },
+ { 0x01b1, 0x01b2 },
+ { 0x01b3, 0x01b3 },
+ { 0x01b5, 0x01b5 },
+ { 0x01b7, 0x01b7 },
+ { 0x01b8, 0x01b8 },
+ { 0x01bc, 0x01bc },
+ { 0x01c4, 0x01c4 },
+ { 0x01c7, 0x01c7 },
+ { 0x01ca, 0x01ca },
+ { 0x01cd, 0x01cd },
+ { 0x01cf, 0x01cf },
+ { 0x01d1, 0x01d1 },
+ { 0x01d3, 0x01d3 },
+ { 0x01d5, 0x01d5 },
+ { 0x01d7, 0x01d7 },
+ { 0x01d9, 0x01d9 },
+ { 0x01db, 0x01db },
+ { 0x01de, 0x01de },
+ { 0x01e0, 0x01e0 },
+ { 0x01e2, 0x01e2 },
+ { 0x01e4, 0x01e4 },
+ { 0x01e6, 0x01e6 },
+ { 0x01e8, 0x01e8 },
+ { 0x01ea, 0x01ea },
+ { 0x01ec, 0x01ec },
+ { 0x01ee, 0x01ee },
+ { 0x01f1, 0x01f1 },
+ { 0x01f4, 0x01f4 },
+ { 0x01fa, 0x01fa },
+ { 0x01fc, 0x01fc },
+ { 0x01fe, 0x01fe },
+ { 0x0200, 0x0200 },
+ { 0x0202, 0x0202 },
+ { 0x0204, 0x0204 },
+ { 0x0206, 0x0206 },
+ { 0x0208, 0x0208 },
+ { 0x020a, 0x020a },
+ { 0x020c, 0x020c },
+ { 0x020e, 0x020e },
+ { 0x0210, 0x0210 },
+ { 0x0212, 0x0212 },
+ { 0x0214, 0x0214 },
+ { 0x0216, 0x0216 },
+ { 0x0386, 0x0386 },
+ { 0x0388, 0x038a },
+ { 0x038c, 0x038c },
+ { 0x038e, 0x038f },
+ { 0x0391, 0x03a1 },
+ { 0x03a3, 0x03ab },
+ { 0x03e2, 0x03e2 },
+ { 0x03e4, 0x03e4 },
+ { 0x03e6, 0x03e6 },
+ { 0x03e8, 0x03e8 },
+ { 0x03ea, 0x03ea },
+ { 0x03ec, 0x03ec },
+ { 0x03ee, 0x03ee },
+ { 0x0401, 0x040c },
+ { 0x040e, 0x040f },
+ { 0x0410, 0x042f },
+ { 0x0460, 0x0460 },
+ { 0x0462, 0x0462 },
+ { 0x0464, 0x0464 },
+ { 0x0466, 0x0466 },
+ { 0x0468, 0x0468 },
+ { 0x046a, 0x046a },
+ { 0x046c, 0x046c },
+ { 0x046e, 0x046e },
+ { 0x0470, 0x0470 },
+ { 0x0472, 0x0472 },
+ { 0x0474, 0x0474 },
+ { 0x0476, 0x0476 },
+ { 0x0478, 0x0478 },
+ { 0x047a, 0x047a },
+ { 0x047c, 0x047c },
+ { 0x047e, 0x047e },
+ { 0x0480, 0x0480 },
+ { 0x0490, 0x0490 },
+ { 0x0492, 0x0492 },
+ { 0x0494, 0x0494 },
+ { 0x0496, 0x0496 },
+ { 0x0498, 0x0498 },
+ { 0x049a, 0x049a },
+ { 0x049c, 0x049c },
+ { 0x049e, 0x049e },
+ { 0x04a0, 0x04a0 },
+ { 0x04a2, 0x04a2 },
+ { 0x04a4, 0x04a4 },
+ { 0x04a6, 0x04a6 },
+ { 0x04a8, 0x04a8 },
+ { 0x04aa, 0x04aa },
+ { 0x04ac, 0x04ac },
+ { 0x04ae, 0x04ae },
+ { 0x04b0, 0x04b0 },
+ { 0x04b2, 0x04b2 },
+ { 0x04b4, 0x04b4 },
+ { 0x04b6, 0x04b6 },
+ { 0x04b8, 0x04b8 },
+ { 0x04ba, 0x04ba },
+ { 0x04bc, 0x04bc },
+ { 0x04be, 0x04be },
+ { 0x04c1, 0x04c1 },
+ { 0x04c3, 0x04c3 },
+ { 0x04c7, 0x04c7 },
+ { 0x04cb, 0x04cb },
+ { 0x04d0, 0x04d0 },
+ { 0x04d2, 0x04d2 },
+ { 0x04d4, 0x04d4 },
+ { 0x04d6, 0x04d6 },
+ { 0x04d8, 0x04d8 },
+ { 0x04da, 0x04da },
+ { 0x04dc, 0x04dc },
+ { 0x04de, 0x04de },
+ { 0x04e0, 0x04e0 },
+ { 0x04e2, 0x04e2 },
+ { 0x04e4, 0x04e4 },
+ { 0x04e6, 0x04e6 },
+ { 0x04e8, 0x04e8 },
+ { 0x04ea, 0x04ea },
+ { 0x04ee, 0x04ee },
+ { 0x04f0, 0x04f0 },
+ { 0x04f2, 0x04f2 },
+ { 0x04f4, 0x04f4 },
+ { 0x04f8, 0x04f8 },
+ { 0x0531, 0x0556 },
+ { 0x10a0, 0x10c5 },
+ { 0x1e00, 0x1e00 },
+ { 0x1e02, 0x1e02 },
+ { 0x1e04, 0x1e04 },
+ { 0x1e06, 0x1e06 },
+ { 0x1e08, 0x1e08 },
+ { 0x1e0a, 0x1e0a },
+ { 0x1e0c, 0x1e0c },
+ { 0x1e0e, 0x1e0e },
+ { 0x1e10, 0x1e10 },
+ { 0x1e12, 0x1e12 },
+ { 0x1e14, 0x1e14 },
+ { 0x1e16, 0x1e16 },
+ { 0x1e18, 0x1e18 },
+ { 0x1e1a, 0x1e1a },
+ { 0x1e1c, 0x1e1c },
+ { 0x1e1e, 0x1e1e },
+ { 0x1e20, 0x1e20 },
+ { 0x1e22, 0x1e22 },
+ { 0x1e24, 0x1e24 },
+ { 0x1e26, 0x1e26 },
+ { 0x1e28, 0x1e28 },
+ { 0x1e2a, 0x1e2a },
+ { 0x1e2c, 0x1e2c },
+ { 0x1e2e, 0x1e2e },
+ { 0x1e30, 0x1e30 },
+ { 0x1e32, 0x1e32 },
+ { 0x1e34, 0x1e34 },
+ { 0x1e36, 0x1e36 },
+ { 0x1e38, 0x1e38 },
+ { 0x1e3a, 0x1e3a },
+ { 0x1e3c, 0x1e3c },
+ { 0x1e3e, 0x1e3e },
+ { 0x1e40, 0x1e40 },
+ { 0x1e42, 0x1e42 },
+ { 0x1e44, 0x1e44 },
+ { 0x1e46, 0x1e46 },
+ { 0x1e48, 0x1e48 },
+ { 0x1e4a, 0x1e4a },
+ { 0x1e4c, 0x1e4c },
+ { 0x1e4e, 0x1e4e },
+ { 0x1e50, 0x1e50 },
+ { 0x1e52, 0x1e52 },
+ { 0x1e54, 0x1e54 },
+ { 0x1e56, 0x1e56 },
+ { 0x1e58, 0x1e58 },
+ { 0x1e5a, 0x1e5a },
+ { 0x1e5c, 0x1e5c },
+ { 0x1e5e, 0x1e5e },
+ { 0x1e60, 0x1e60 },
+ { 0x1e62, 0x1e62 },
+ { 0x1e64, 0x1e64 },
+ { 0x1e66, 0x1e66 },
+ { 0x1e68, 0x1e68 },
+ { 0x1e6a, 0x1e6a },
+ { 0x1e6c, 0x1e6c },
+ { 0x1e6e, 0x1e6e },
+ { 0x1e70, 0x1e70 },
+ { 0x1e72, 0x1e72 },
+ { 0x1e74, 0x1e74 },
+ { 0x1e76, 0x1e76 },
+ { 0x1e78, 0x1e78 },
+ { 0x1e7a, 0x1e7a },
+ { 0x1e7c, 0x1e7c },
+ { 0x1e7e, 0x1e7e },
+ { 0x1e80, 0x1e80 },
+ { 0x1e82, 0x1e82 },
+ { 0x1e84, 0x1e84 },
+ { 0x1e86, 0x1e86 },
+ { 0x1e88, 0x1e88 },
+ { 0x1e8a, 0x1e8a },
+ { 0x1e8c, 0x1e8c },
+ { 0x1e8e, 0x1e8e },
+ { 0x1e90, 0x1e90 },
+ { 0x1e92, 0x1e92 },
+ { 0x1e94, 0x1e94 },
+ { 0x1ea0, 0x1ea0 },
+ { 0x1ea2, 0x1ea2 },
+ { 0x1ea4, 0x1ea4 },
+ { 0x1ea6, 0x1ea6 },
+ { 0x1ea8, 0x1ea8 },
+ { 0x1eaa, 0x1eaa },
+ { 0x1eac, 0x1eac },
+ { 0x1eae, 0x1eae },
+ { 0x1eb0, 0x1eb0 },
+ { 0x1eb2, 0x1eb2 },
+ { 0x1eb4, 0x1eb4 },
+ { 0x1eb6, 0x1eb6 },
+ { 0x1eb8, 0x1eb8 },
+ { 0x1eba, 0x1eba },
+ { 0x1ebc, 0x1ebc },
+ { 0x1ebe, 0x1ebe },
+ { 0x1ec0, 0x1ec0 },
+ { 0x1ec2, 0x1ec2 },
+ { 0x1ec4, 0x1ec4 },
+ { 0x1ec6, 0x1ec6 },
+ { 0x1ec8, 0x1ec8 },
+ { 0x1eca, 0x1eca },
+ { 0x1ecc, 0x1ecc },
+ { 0x1ece, 0x1ece },
+ { 0x1ed0, 0x1ed0 },
+ { 0x1ed2, 0x1ed2 },
+ { 0x1ed4, 0x1ed4 },
+ { 0x1ed6, 0x1ed6 },
+ { 0x1ed8, 0x1ed8 },
+ { 0x1eda, 0x1eda },
+ { 0x1edc, 0x1edc },
+ { 0x1ede, 0x1ede },
+ { 0x1ee0, 0x1ee0 },
+ { 0x1ee2, 0x1ee2 },
+ { 0x1ee4, 0x1ee4 },
+ { 0x1ee6, 0x1ee6 },
+ { 0x1ee8, 0x1ee8 },
+ { 0x1eea, 0x1eea },
+ { 0x1eec, 0x1eec },
+ { 0x1eee, 0x1eee },
+ { 0x1ef0, 0x1ef0 },
+ { 0x1ef2, 0x1ef2 },
+ { 0x1ef4, 0x1ef4 },
+ { 0x1ef6, 0x1ef6 },
+ { 0x1ef8, 0x1ef8 },
+ { 0x1f08, 0x1f0f },
+ { 0x1f18, 0x1f1d },
+ { 0x1f28, 0x1f2f },
+ { 0x1f38, 0x1f3f },
+ { 0x1f48, 0x1f4d },
+ { 0x1f59, 0x1f59 },
+ { 0x1f5b, 0x1f5b },
+ { 0x1f5d, 0x1f5d },
+ { 0x1f5f, 0x1f5f },
+ { 0x1f68, 0x1f6f },
+ { 0x1f88, 0x1f8f },
+ { 0x1f98, 0x1f9f },
+ { 0x1fa8, 0x1faf },
+ { 0x1fb8, 0x1fb9 },
+ { 0x1fba, 0x1fbb },
+ { 0x1fbc, 0x1fbc },
+ { 0x1fc8, 0x1fcb },
+ { 0x1fcc, 0x1fcc },
+ { 0x1fd8, 0x1fd9 },
+ { 0x1fda, 0x1fdb },
+ { 0x1fe8, 0x1fe9 },
+ { 0x1fea, 0x1feb },
+ { 0x1fec, 0x1fec },
+ { 0x1ff8, 0x1ff9 },
+ { 0x1ffa, 0x1ffb },
+ { 0x1ffc, 0x1ffc },
+ { 0x2160, 0x216f },
+ { 0x24b6, 0x24cf },
+ { 0xff21, 0xff3a }
+ };
+
+static const jchar upper_case_map_table[] =
+ { 0x0061, 0x00e0, 0x00f8, 0x0101, 0x0103,
+ 0x0105, 0x0107, 0x0109, 0x010b, 0x010d,
+ 0x010f, 0x0111, 0x0113, 0x0115, 0x0117,
+ 0x0119, 0x011b, 0x011d, 0x011f, 0x0121,
+ 0x0123, 0x0125, 0x0127, 0x0129, 0x012b,
+ 0x012d, 0x012f, 0x0069, 0x0133, 0x0135,
+ 0x0137, 0x013a, 0x013c, 0x013e, 0x0140,
+ 0x0142, 0x0144, 0x0146, 0x0148, 0x014b,
+ 0x014d, 0x014f, 0x0151, 0x0153, 0x0155,
+ 0x0157, 0x0159, 0x015b, 0x015d, 0x015f,
+ 0x0161, 0x0163, 0x0165, 0x0167, 0x0169,
+ 0x016b, 0x016d, 0x016f, 0x0171, 0x0173,
+ 0x0175, 0x0177, 0x00ff, 0x017a, 0x017c,
+ 0x017e, 0x0253, 0x0183, 0x0185, 0x0254,
+ 0x0188, 0x0256, 0x018c, 0x01dd, 0x0259,
+ 0x025b, 0x0192, 0x0260, 0x0263, 0x0269,
+ 0x0268, 0x0199, 0x026f, 0x0272, 0x0275,
+ 0x01a1, 0x01a3, 0x01a5, 0x0280, 0x01a8,
+ 0x0283, 0x01ad, 0x0288, 0x01b0, 0x028a,
+ 0x01b4, 0x01b6, 0x0292, 0x01b9, 0x01bd,
+ 0x01c6, 0x01c9, 0x01cc, 0x01ce, 0x01d0,
+ 0x01d2, 0x01d4, 0x01d6, 0x01d8, 0x01da,
+ 0x01dc, 0x01df, 0x01e1, 0x01e3, 0x01e5,
+ 0x01e7, 0x01e9, 0x01eb, 0x01ed, 0x01ef,
+ 0x01f3, 0x01f5, 0x01fb, 0x01fd, 0x01ff,
+ 0x0201, 0x0203, 0x0205, 0x0207, 0x0209,
+ 0x020b, 0x020d, 0x020f, 0x0211, 0x0213,
+ 0x0215, 0x0217, 0x03ac, 0x03ad, 0x03cc,
+ 0x03cd, 0x03b1, 0x03c3, 0x03e3, 0x03e5,
+ 0x03e7, 0x03e9, 0x03eb, 0x03ed, 0x03ef,
+ 0x0451, 0x045e, 0x0430, 0x0461, 0x0463,
+ 0x0465, 0x0467, 0x0469, 0x046b, 0x046d,
+ 0x046f, 0x0471, 0x0473, 0x0475, 0x0477,
+ 0x0479, 0x047b, 0x047d, 0x047f, 0x0481,
+ 0x0491, 0x0493, 0x0495, 0x0497, 0x0499,
+ 0x049b, 0x049d, 0x049f, 0x04a1, 0x04a3,
+ 0x04a5, 0x04a7, 0x04a9, 0x04ab, 0x04ad,
+ 0x04af, 0x04b1, 0x04b3, 0x04b5, 0x04b7,
+ 0x04b9, 0x04bb, 0x04bd, 0x04bf, 0x04c2,
+ 0x04c4, 0x04c8, 0x04cc, 0x04d1, 0x04d3,
+ 0x04d5, 0x04d7, 0x04d9, 0x04db, 0x04dd,
+ 0x04df, 0x04e1, 0x04e3, 0x04e5, 0x04e7,
+ 0x04e9, 0x04eb, 0x04ef, 0x04f1, 0x04f3,
+ 0x04f5, 0x04f9, 0x0561, 0x10d0, 0x1e01,
+ 0x1e03, 0x1e05, 0x1e07, 0x1e09, 0x1e0b,
+ 0x1e0d, 0x1e0f, 0x1e11, 0x1e13, 0x1e15,
+ 0x1e17, 0x1e19, 0x1e1b, 0x1e1d, 0x1e1f,
+ 0x1e21, 0x1e23, 0x1e25, 0x1e27, 0x1e29,
+ 0x1e2b, 0x1e2d, 0x1e2f, 0x1e31, 0x1e33,
+ 0x1e35, 0x1e37, 0x1e39, 0x1e3b, 0x1e3d,
+ 0x1e3f, 0x1e41, 0x1e43, 0x1e45, 0x1e47,
+ 0x1e49, 0x1e4b, 0x1e4d, 0x1e4f, 0x1e51,
+ 0x1e53, 0x1e55, 0x1e57, 0x1e59, 0x1e5b,
+ 0x1e5d, 0x1e5f, 0x1e61, 0x1e63, 0x1e65,
+ 0x1e67, 0x1e69, 0x1e6b, 0x1e6d, 0x1e6f,
+ 0x1e71, 0x1e73, 0x1e75, 0x1e77, 0x1e79,
+ 0x1e7b, 0x1e7d, 0x1e7f, 0x1e81, 0x1e83,
+ 0x1e85, 0x1e87, 0x1e89, 0x1e8b, 0x1e8d,
+ 0x1e8f, 0x1e91, 0x1e93, 0x1e95, 0x1ea1,
+ 0x1ea3, 0x1ea5, 0x1ea7, 0x1ea9, 0x1eab,
+ 0x1ead, 0x1eaf, 0x1eb1, 0x1eb3, 0x1eb5,
+ 0x1eb7, 0x1eb9, 0x1ebb, 0x1ebd, 0x1ebf,
+ 0x1ec1, 0x1ec3, 0x1ec5, 0x1ec7, 0x1ec9,
+ 0x1ecb, 0x1ecd, 0x1ecf, 0x1ed1, 0x1ed3,
+ 0x1ed5, 0x1ed7, 0x1ed9, 0x1edb, 0x1edd,
+ 0x1edf, 0x1ee1, 0x1ee3, 0x1ee5, 0x1ee7,
+ 0x1ee9, 0x1eeb, 0x1eed, 0x1eef, 0x1ef1,
+ 0x1ef3, 0x1ef5, 0x1ef7, 0x1ef9, 0x1f00,
+ 0x1f10, 0x1f20, 0x1f30, 0x1f40, 0x1f51,
+ 0x1f53, 0x1f55, 0x1f57, 0x1f60, 0x1f80,
+ 0x1f90, 0x1fa0, 0x1fb0, 0x1f70, 0x1fb3,
+ 0x1f72, 0x1fc3, 0x1fd0, 0x1f76, 0x1fe0,
+ 0x1f7a, 0x1fe5, 0x1f78, 0x1f7c, 0x1ff3,
+ 0x2170, 0x24d0, 0xff41 };
+
+static const jchar lower_case_table[][2] =
+ {
+ { 0x0061, 0x007a },
+ { 0x00e0, 0x00f6 },
+ { 0x00f8, 0x00fe },
+ { 0x00ff, 0x00ff },
+ { 0x0101, 0x0101 },
+ { 0x0103, 0x0103 },
+ { 0x0105, 0x0105 },
+ { 0x0107, 0x0107 },
+ { 0x0109, 0x0109 },
+ { 0x010b, 0x010b },
+ { 0x010d, 0x010d },
+ { 0x010f, 0x010f },
+ { 0x0111, 0x0111 },
+ { 0x0113, 0x0113 },
+ { 0x0115, 0x0115 },
+ { 0x0117, 0x0117 },
+ { 0x0119, 0x0119 },
+ { 0x011b, 0x011b },
+ { 0x011d, 0x011d },
+ { 0x011f, 0x011f },
+ { 0x0121, 0x0121 },
+ { 0x0123, 0x0123 },
+ { 0x0125, 0x0125 },
+ { 0x0127, 0x0127 },
+ { 0x0129, 0x0129 },
+ { 0x012b, 0x012b },
+ { 0x012d, 0x012d },
+ { 0x012f, 0x012f },
+ { 0x0131, 0x0131 },
+ { 0x0133, 0x0133 },
+ { 0x0135, 0x0135 },
+ { 0x0137, 0x0137 },
+ { 0x013a, 0x013a },
+ { 0x013c, 0x013c },
+ { 0x013e, 0x013e },
+ { 0x0140, 0x0140 },
+ { 0x0142, 0x0142 },
+ { 0x0144, 0x0144 },
+ { 0x0146, 0x0146 },
+ { 0x0148, 0x0148 },
+ { 0x014b, 0x014b },
+ { 0x014d, 0x014d },
+ { 0x014f, 0x014f },
+ { 0x0151, 0x0151 },
+ { 0x0153, 0x0153 },
+ { 0x0155, 0x0155 },
+ { 0x0157, 0x0157 },
+ { 0x0159, 0x0159 },
+ { 0x015b, 0x015b },
+ { 0x015d, 0x015d },
+ { 0x015f, 0x015f },
+ { 0x0161, 0x0161 },
+ { 0x0163, 0x0163 },
+ { 0x0165, 0x0165 },
+ { 0x0167, 0x0167 },
+ { 0x0169, 0x0169 },
+ { 0x016b, 0x016b },
+ { 0x016d, 0x016d },
+ { 0x016f, 0x016f },
+ { 0x0171, 0x0171 },
+ { 0x0173, 0x0173 },
+ { 0x0175, 0x0175 },
+ { 0x0177, 0x0177 },
+ { 0x017a, 0x017a },
+ { 0x017c, 0x017c },
+ { 0x017e, 0x017e },
+ { 0x017f, 0x017f },
+ { 0x0183, 0x0183 },
+ { 0x0185, 0x0185 },
+ { 0x0188, 0x0188 },
+ { 0x018c, 0x018c },
+ { 0x0192, 0x0192 },
+ { 0x0199, 0x0199 },
+ { 0x01a1, 0x01a1 },
+ { 0x01a3, 0x01a3 },
+ { 0x01a5, 0x01a5 },
+ { 0x01a8, 0x01a8 },
+ { 0x01ad, 0x01ad },
+ { 0x01b0, 0x01b0 },
+ { 0x01b4, 0x01b4 },
+ { 0x01b6, 0x01b6 },
+ { 0x01b9, 0x01b9 },
+ { 0x01bd, 0x01bd },
+ { 0x01c6, 0x01c6 },
+ { 0x01c9, 0x01c9 },
+ { 0x01cc, 0x01cc },
+ { 0x01ce, 0x01ce },
+ { 0x01d0, 0x01d0 },
+ { 0x01d2, 0x01d2 },
+ { 0x01d4, 0x01d4 },
+ { 0x01d6, 0x01d6 },
+ { 0x01d8, 0x01d8 },
+ { 0x01da, 0x01da },
+ { 0x01dc, 0x01dc },
+ { 0x01dd, 0x01dd },
+ { 0x01df, 0x01df },
+ { 0x01e1, 0x01e1 },
+ { 0x01e3, 0x01e3 },
+ { 0x01e5, 0x01e5 },
+ { 0x01e7, 0x01e7 },
+ { 0x01e9, 0x01e9 },
+ { 0x01eb, 0x01eb },
+ { 0x01ed, 0x01ed },
+ { 0x01ef, 0x01ef },
+ { 0x01f3, 0x01f3 },
+ { 0x01f5, 0x01f5 },
+ { 0x01fb, 0x01fb },
+ { 0x01fd, 0x01fd },
+ { 0x01ff, 0x01ff },
+ { 0x0201, 0x0201 },
+ { 0x0203, 0x0203 },
+ { 0x0205, 0x0205 },
+ { 0x0207, 0x0207 },
+ { 0x0209, 0x0209 },
+ { 0x020b, 0x020b },
+ { 0x020d, 0x020d },
+ { 0x020f, 0x020f },
+ { 0x0211, 0x0211 },
+ { 0x0213, 0x0213 },
+ { 0x0215, 0x0215 },
+ { 0x0217, 0x0217 },
+ { 0x0253, 0x0253 },
+ { 0x0254, 0x0254 },
+ { 0x0256, 0x0257 },
+ { 0x0259, 0x0259 },
+ { 0x025b, 0x025b },
+ { 0x0260, 0x0260 },
+ { 0x0263, 0x0263 },
+ { 0x0268, 0x0268 },
+ { 0x0269, 0x0269 },
+ { 0x026f, 0x026f },
+ { 0x0272, 0x0272 },
+ { 0x0275, 0x0275 },
+ { 0x0280, 0x0280 },
+ { 0x0283, 0x0283 },
+ { 0x0288, 0x0288 },
+ { 0x028a, 0x028b },
+ { 0x0292, 0x0292 },
+ { 0x0345, 0x0345 },
+ { 0x03ac, 0x03ac },
+ { 0x03ad, 0x03af },
+ { 0x03b1, 0x03c1 },
+ { 0x03c2, 0x03c2 },
+ { 0x03c3, 0x03cb },
+ { 0x03cc, 0x03cc },
+ { 0x03cd, 0x03ce },
+ { 0x03d0, 0x03d0 },
+ { 0x03d1, 0x03d1 },
+ { 0x03d5, 0x03d5 },
+ { 0x03d6, 0x03d6 },
+ { 0x03e3, 0x03e3 },
+ { 0x03e5, 0x03e5 },
+ { 0x03e7, 0x03e7 },
+ { 0x03e9, 0x03e9 },
+ { 0x03eb, 0x03eb },
+ { 0x03ed, 0x03ed },
+ { 0x03ef, 0x03ef },
+ { 0x03f0, 0x03f0 },
+ { 0x03f1, 0x03f1 },
+ { 0x03f2, 0x03f2 },
+ { 0x0430, 0x044f },
+ { 0x0451, 0x045c },
+ { 0x045e, 0x045f },
+ { 0x0461, 0x0461 },
+ { 0x0463, 0x0463 },
+ { 0x0465, 0x0465 },
+ { 0x0467, 0x0467 },
+ { 0x0469, 0x0469 },
+ { 0x046b, 0x046b },
+ { 0x046d, 0x046d },
+ { 0x046f, 0x046f },
+ { 0x0471, 0x0471 },
+ { 0x0473, 0x0473 },
+ { 0x0475, 0x0475 },
+ { 0x0477, 0x0477 },
+ { 0x0479, 0x0479 },
+ { 0x047b, 0x047b },
+ { 0x047d, 0x047d },
+ { 0x047f, 0x047f },
+ { 0x0481, 0x0481 },
+ { 0x0491, 0x0491 },
+ { 0x0493, 0x0493 },
+ { 0x0495, 0x0495 },
+ { 0x0497, 0x0497 },
+ { 0x0499, 0x0499 },
+ { 0x049b, 0x049b },
+ { 0x049d, 0x049d },
+ { 0x049f, 0x049f },
+ { 0x04a1, 0x04a1 },
+ { 0x04a3, 0x04a3 },
+ { 0x04a5, 0x04a5 },
+ { 0x04a7, 0x04a7 },
+ { 0x04a9, 0x04a9 },
+ { 0x04ab, 0x04ab },
+ { 0x04ad, 0x04ad },
+ { 0x04af, 0x04af },
+ { 0x04b1, 0x04b1 },
+ { 0x04b3, 0x04b3 },
+ { 0x04b5, 0x04b5 },
+ { 0x04b7, 0x04b7 },
+ { 0x04b9, 0x04b9 },
+ { 0x04bb, 0x04bb },
+ { 0x04bd, 0x04bd },
+ { 0x04bf, 0x04bf },
+ { 0x04c2, 0x04c2 },
+ { 0x04c4, 0x04c4 },
+ { 0x04c8, 0x04c8 },
+ { 0x04cc, 0x04cc },
+ { 0x04d1, 0x04d1 },
+ { 0x04d3, 0x04d3 },
+ { 0x04d5, 0x04d5 },
+ { 0x04d7, 0x04d7 },
+ { 0x04d9, 0x04d9 },
+ { 0x04db, 0x04db },
+ { 0x04dd, 0x04dd },
+ { 0x04df, 0x04df },
+ { 0x04e1, 0x04e1 },
+ { 0x04e3, 0x04e3 },
+ { 0x04e5, 0x04e5 },
+ { 0x04e7, 0x04e7 },
+ { 0x04e9, 0x04e9 },
+ { 0x04eb, 0x04eb },
+ { 0x04ef, 0x04ef },
+ { 0x04f1, 0x04f1 },
+ { 0x04f3, 0x04f3 },
+ { 0x04f5, 0x04f5 },
+ { 0x04f9, 0x04f9 },
+ { 0x0561, 0x0586 },
+ { 0x1e01, 0x1e01 },
+ { 0x1e03, 0x1e03 },
+ { 0x1e05, 0x1e05 },
+ { 0x1e07, 0x1e07 },
+ { 0x1e09, 0x1e09 },
+ { 0x1e0b, 0x1e0b },
+ { 0x1e0d, 0x1e0d },
+ { 0x1e0f, 0x1e0f },
+ { 0x1e11, 0x1e11 },
+ { 0x1e13, 0x1e13 },
+ { 0x1e15, 0x1e15 },
+ { 0x1e17, 0x1e17 },
+ { 0x1e19, 0x1e19 },
+ { 0x1e1b, 0x1e1b },
+ { 0x1e1d, 0x1e1d },
+ { 0x1e1f, 0x1e1f },
+ { 0x1e21, 0x1e21 },
+ { 0x1e23, 0x1e23 },
+ { 0x1e25, 0x1e25 },
+ { 0x1e27, 0x1e27 },
+ { 0x1e29, 0x1e29 },
+ { 0x1e2b, 0x1e2b },
+ { 0x1e2d, 0x1e2d },
+ { 0x1e2f, 0x1e2f },
+ { 0x1e31, 0x1e31 },
+ { 0x1e33, 0x1e33 },
+ { 0x1e35, 0x1e35 },
+ { 0x1e37, 0x1e37 },
+ { 0x1e39, 0x1e39 },
+ { 0x1e3b, 0x1e3b },
+ { 0x1e3d, 0x1e3d },
+ { 0x1e3f, 0x1e3f },
+ { 0x1e41, 0x1e41 },
+ { 0x1e43, 0x1e43 },
+ { 0x1e45, 0x1e45 },
+ { 0x1e47, 0x1e47 },
+ { 0x1e49, 0x1e49 },
+ { 0x1e4b, 0x1e4b },
+ { 0x1e4d, 0x1e4d },
+ { 0x1e4f, 0x1e4f },
+ { 0x1e51, 0x1e51 },
+ { 0x1e53, 0x1e53 },
+ { 0x1e55, 0x1e55 },
+ { 0x1e57, 0x1e57 },
+ { 0x1e59, 0x1e59 },
+ { 0x1e5b, 0x1e5b },
+ { 0x1e5d, 0x1e5d },
+ { 0x1e5f, 0x1e5f },
+ { 0x1e61, 0x1e61 },
+ { 0x1e63, 0x1e63 },
+ { 0x1e65, 0x1e65 },
+ { 0x1e67, 0x1e67 },
+ { 0x1e69, 0x1e69 },
+ { 0x1e6b, 0x1e6b },
+ { 0x1e6d, 0x1e6d },
+ { 0x1e6f, 0x1e6f },
+ { 0x1e71, 0x1e71 },
+ { 0x1e73, 0x1e73 },
+ { 0x1e75, 0x1e75 },
+ { 0x1e77, 0x1e77 },
+ { 0x1e79, 0x1e79 },
+ { 0x1e7b, 0x1e7b },
+ { 0x1e7d, 0x1e7d },
+ { 0x1e7f, 0x1e7f },
+ { 0x1e81, 0x1e81 },
+ { 0x1e83, 0x1e83 },
+ { 0x1e85, 0x1e85 },
+ { 0x1e87, 0x1e87 },
+ { 0x1e89, 0x1e89 },
+ { 0x1e8b, 0x1e8b },
+ { 0x1e8d, 0x1e8d },
+ { 0x1e8f, 0x1e8f },
+ { 0x1e91, 0x1e91 },
+ { 0x1e93, 0x1e93 },
+ { 0x1e95, 0x1e95 },
+ { 0x1e9b, 0x1e9b },
+ { 0x1ea1, 0x1ea1 },
+ { 0x1ea3, 0x1ea3 },
+ { 0x1ea5, 0x1ea5 },
+ { 0x1ea7, 0x1ea7 },
+ { 0x1ea9, 0x1ea9 },
+ { 0x1eab, 0x1eab },
+ { 0x1ead, 0x1ead },
+ { 0x1eaf, 0x1eaf },
+ { 0x1eb1, 0x1eb1 },
+ { 0x1eb3, 0x1eb3 },
+ { 0x1eb5, 0x1eb5 },
+ { 0x1eb7, 0x1eb7 },
+ { 0x1eb9, 0x1eb9 },
+ { 0x1ebb, 0x1ebb },
+ { 0x1ebd, 0x1ebd },
+ { 0x1ebf, 0x1ebf },
+ { 0x1ec1, 0x1ec1 },
+ { 0x1ec3, 0x1ec3 },
+ { 0x1ec5, 0x1ec5 },
+ { 0x1ec7, 0x1ec7 },
+ { 0x1ec9, 0x1ec9 },
+ { 0x1ecb, 0x1ecb },
+ { 0x1ecd, 0x1ecd },
+ { 0x1ecf, 0x1ecf },
+ { 0x1ed1, 0x1ed1 },
+ { 0x1ed3, 0x1ed3 },
+ { 0x1ed5, 0x1ed5 },
+ { 0x1ed7, 0x1ed7 },
+ { 0x1ed9, 0x1ed9 },
+ { 0x1edb, 0x1edb },
+ { 0x1edd, 0x1edd },
+ { 0x1edf, 0x1edf },
+ { 0x1ee1, 0x1ee1 },
+ { 0x1ee3, 0x1ee3 },
+ { 0x1ee5, 0x1ee5 },
+ { 0x1ee7, 0x1ee7 },
+ { 0x1ee9, 0x1ee9 },
+ { 0x1eeb, 0x1eeb },
+ { 0x1eed, 0x1eed },
+ { 0x1eef, 0x1eef },
+ { 0x1ef1, 0x1ef1 },
+ { 0x1ef3, 0x1ef3 },
+ { 0x1ef5, 0x1ef5 },
+ { 0x1ef7, 0x1ef7 },
+ { 0x1ef9, 0x1ef9 },
+ { 0x1f00, 0x1f07 },
+ { 0x1f10, 0x1f15 },
+ { 0x1f20, 0x1f27 },
+ { 0x1f30, 0x1f37 },
+ { 0x1f40, 0x1f45 },
+ { 0x1f51, 0x1f51 },
+ { 0x1f53, 0x1f53 },
+ { 0x1f55, 0x1f55 },
+ { 0x1f57, 0x1f57 },
+ { 0x1f60, 0x1f67 },
+ { 0x1f70, 0x1f71 },
+ { 0x1f72, 0x1f75 },
+ { 0x1f76, 0x1f77 },
+ { 0x1f78, 0x1f79 },
+ { 0x1f7a, 0x1f7b },
+ { 0x1f7c, 0x1f7d },
+ { 0x1f80, 0x1f87 },
+ { 0x1f90, 0x1f97 },
+ { 0x1fa0, 0x1fa7 },
+ { 0x1fb0, 0x1fb1 },
+ { 0x1fb3, 0x1fb3 },
+ { 0x1fbe, 0x1fbe },
+ { 0x1fc3, 0x1fc3 },
+ { 0x1fd0, 0x1fd1 },
+ { 0x1fe0, 0x1fe1 },
+ { 0x1fe5, 0x1fe5 },
+ { 0x1ff3, 0x1ff3 },
+ { 0x2170, 0x217f },
+ { 0x24d0, 0x24e9 },
+ { 0xff41, 0xff5a }
+ };
+
+static const jchar lower_case_map_table[] =
+ { 0x0041, 0x00c0, 0x00d8, 0x0178, 0x0100,
+ 0x0102, 0x0104, 0x0106, 0x0108, 0x010a,
+ 0x010c, 0x010e, 0x0110, 0x0112, 0x0114,
+ 0x0116, 0x0118, 0x011a, 0x011c, 0x011e,
+ 0x0120, 0x0122, 0x0124, 0x0126, 0x0128,
+ 0x012a, 0x012c, 0x012e, 0x0049, 0x0132,
+ 0x0134, 0x0136, 0x0139, 0x013b, 0x013d,
+ 0x013f, 0x0141, 0x0143, 0x0145, 0x0147,
+ 0x014a, 0x014c, 0x014e, 0x0150, 0x0152,
+ 0x0154, 0x0156, 0x0158, 0x015a, 0x015c,
+ 0x015e, 0x0160, 0x0162, 0x0164, 0x0166,
+ 0x0168, 0x016a, 0x016c, 0x016e, 0x0170,
+ 0x0172, 0x0174, 0x0176, 0x0179, 0x017b,
+ 0x017d, 0x0053, 0x0182, 0x0184, 0x0187,
+ 0x018b, 0x0191, 0x0198, 0x01a0, 0x01a2,
+ 0x01a4, 0x01a7, 0x01ac, 0x01af, 0x01b3,
+ 0x01b5, 0x01b8, 0x01bc, 0x01c4, 0x01c7,
+ 0x01ca, 0x01cd, 0x01cf, 0x01d1, 0x01d3,
+ 0x01d5, 0x01d7, 0x01d9, 0x01db, 0x018e,
+ 0x01de, 0x01e0, 0x01e2, 0x01e4, 0x01e6,
+ 0x01e8, 0x01ea, 0x01ec, 0x01ee, 0x01f1,
+ 0x01f4, 0x01fa, 0x01fc, 0x01fe, 0x0200,
+ 0x0202, 0x0204, 0x0206, 0x0208, 0x020a,
+ 0x020c, 0x020e, 0x0210, 0x0212, 0x0214,
+ 0x0216, 0x0181, 0x0186, 0x0189, 0x018f,
+ 0x0190, 0x0193, 0x0194, 0x0197, 0x0196,
+ 0x019c, 0x019d, 0x019f, 0x01a6, 0x01a9,
+ 0x01ae, 0x01b1, 0x01b7, 0x0399, 0x0386,
+ 0x0388, 0x0391, 0x03a3, 0x03a3, 0x038c,
+ 0x038e, 0x0392, 0x0398, 0x03a6, 0x03a0,
+ 0x03e2, 0x03e4, 0x03e6, 0x03e8, 0x03ea,
+ 0x03ec, 0x03ee, 0x039a, 0x03a1, 0x03a3,
+ 0x0410, 0x0401, 0x040e, 0x0460, 0x0462,
+ 0x0464, 0x0466, 0x0468, 0x046a, 0x046c,
+ 0x046e, 0x0470, 0x0472, 0x0474, 0x0476,
+ 0x0478, 0x047a, 0x047c, 0x047e, 0x0480,
+ 0x0490, 0x0492, 0x0494, 0x0496, 0x0498,
+ 0x049a, 0x049c, 0x049e, 0x04a0, 0x04a2,
+ 0x04a4, 0x04a6, 0x04a8, 0x04aa, 0x04ac,
+ 0x04ae, 0x04b0, 0x04b2, 0x04b4, 0x04b6,
+ 0x04b8, 0x04ba, 0x04bc, 0x04be, 0x04c1,
+ 0x04c3, 0x04c7, 0x04cb, 0x04d0, 0x04d2,
+ 0x04d4, 0x04d6, 0x04d8, 0x04da, 0x04dc,
+ 0x04de, 0x04e0, 0x04e2, 0x04e4, 0x04e6,
+ 0x04e8, 0x04ea, 0x04ee, 0x04f0, 0x04f2,
+ 0x04f4, 0x04f8, 0x0531, 0x1e00, 0x1e02,
+ 0x1e04, 0x1e06, 0x1e08, 0x1e0a, 0x1e0c,
+ 0x1e0e, 0x1e10, 0x1e12, 0x1e14, 0x1e16,
+ 0x1e18, 0x1e1a, 0x1e1c, 0x1e1e, 0x1e20,
+ 0x1e22, 0x1e24, 0x1e26, 0x1e28, 0x1e2a,
+ 0x1e2c, 0x1e2e, 0x1e30, 0x1e32, 0x1e34,
+ 0x1e36, 0x1e38, 0x1e3a, 0x1e3c, 0x1e3e,
+ 0x1e40, 0x1e42, 0x1e44, 0x1e46, 0x1e48,
+ 0x1e4a, 0x1e4c, 0x1e4e, 0x1e50, 0x1e52,
+ 0x1e54, 0x1e56, 0x1e58, 0x1e5a, 0x1e5c,
+ 0x1e5e, 0x1e60, 0x1e62, 0x1e64, 0x1e66,
+ 0x1e68, 0x1e6a, 0x1e6c, 0x1e6e, 0x1e70,
+ 0x1e72, 0x1e74, 0x1e76, 0x1e78, 0x1e7a,
+ 0x1e7c, 0x1e7e, 0x1e80, 0x1e82, 0x1e84,
+ 0x1e86, 0x1e88, 0x1e8a, 0x1e8c, 0x1e8e,
+ 0x1e90, 0x1e92, 0x1e94, 0x1e60, 0x1ea0,
+ 0x1ea2, 0x1ea4, 0x1ea6, 0x1ea8, 0x1eaa,
+ 0x1eac, 0x1eae, 0x1eb0, 0x1eb2, 0x1eb4,
+ 0x1eb6, 0x1eb8, 0x1eba, 0x1ebc, 0x1ebe,
+ 0x1ec0, 0x1ec2, 0x1ec4, 0x1ec6, 0x1ec8,
+ 0x1eca, 0x1ecc, 0x1ece, 0x1ed0, 0x1ed2,
+ 0x1ed4, 0x1ed6, 0x1ed8, 0x1eda, 0x1edc,
+ 0x1ede, 0x1ee0, 0x1ee2, 0x1ee4, 0x1ee6,
+ 0x1ee8, 0x1eea, 0x1eec, 0x1eee, 0x1ef0,
+ 0x1ef2, 0x1ef4, 0x1ef6, 0x1ef8, 0x1f08,
+ 0x1f18, 0x1f28, 0x1f38, 0x1f48, 0x1f59,
+ 0x1f5b, 0x1f5d, 0x1f5f, 0x1f68, 0x1fba,
+ 0x1fc8, 0x1fda, 0x1ff8, 0x1fea, 0x1ffa,
+ 0x1f88, 0x1f98, 0x1fa8, 0x1fb8, 0x1fbc,
+ 0x0399, 0x1fcc, 0x1fd8, 0x1fe8, 0x1fec,
+ 0x1ffc, 0x2160, 0x24b6, 0xff21 };
+
+static const jchar lower_anomalous_table[] =
+ { 0x00df, 0x0138, 0x0149, 0x0180, 0x018d,
+ 0x0195, 0x019a, 0x019b, 0x019e, 0x01ab,
+ 0x01ba, 0x01f0, 0x0250, 0x0251, 0x0252,
+ 0x0255, 0x0258, 0x025a, 0x025c, 0x025d,
+ 0x025e, 0x025f, 0x0261, 0x0264, 0x0265,
+ 0x0266, 0x0267, 0x026b, 0x026c, 0x026d,
+ 0x026e, 0x0270, 0x0271, 0x0273, 0x0277,
+ 0x0278, 0x0279, 0x027a, 0x027b, 0x027c,
+ 0x027d, 0x027e, 0x027f, 0x0282, 0x0284,
+ 0x0285, 0x0286, 0x0287, 0x0289, 0x028c,
+ 0x028d, 0x028e, 0x0290, 0x0291, 0x0293,
+ 0x029a, 0x029d, 0x029e, 0x02a0, 0x02a3,
+ 0x02a4, 0x02a5, 0x02a6, 0x02a7, 0x02a8,
+ 0x0390, 0x03b0, 0x0587, 0x1e96, 0x1e97,
+ 0x1e98, 0x1e99, 0x1e9a, 0x1f50, 0x1f52,
+ 0x1f54, 0x1f56, 0x1fb2, 0x1fb4, 0x1fb6,
+ 0x1fb7, 0x1fc2, 0x1fc4, 0x1fc6, 0x1fc7,
+ 0x1fd2, 0x1fd3, 0x1fd6, 0x1fd7, 0x1fe2,
+ 0x1fe3, 0x1fe4, 0x1fe6, 0x1fe7, 0x1ff2,
+ 0x1ff4, 0x1ff6, 0x1ff7, 0x207f, 0x2129,
+ 0x249c, 0x249d, 0x249e, 0x249f, 0x24a0,
+ 0x24a1, 0x24a2, 0x24a3, 0x24a4, 0x24a5,
+ 0x24a6, 0x24a7, 0x24a8, 0x24a9, 0x24aa,
+ 0x24ab, 0x24ac, 0x24ad, 0x24ae, 0x24af,
+ 0x24b0, 0x24b1, 0x24b2, 0x24b3, 0x24b4,
+ 0x24b5, 0xfb00, 0xfb01, 0xfb02, 0xfb03,
+ 0xfb04, 0xfb05, 0xfb06, 0xfb13, 0xfb14,
+ 0xfb15, 0xfb16, 0xfb17 };
+
+static const jchar all_table[][2] =
+ {
+ { 0x0000, 0x001f },
+ { 0x0020, 0x0020 },
+ { 0x0021, 0x0023 },
+ { 0x0024, 0x0024 },
+ { 0x0025, 0x0027 },
+ { 0x0028, 0x0028 },
+ { 0x0029, 0x0029 },
+ { 0x002a, 0x002a },
+ { 0x002b, 0x002b },
+ { 0x002c, 0x002c },
+ { 0x002d, 0x002d },
+ { 0x002e, 0x002f },
+ { 0x0030, 0x0039 },
+ { 0x003a, 0x003b },
+ { 0x003c, 0x003e },
+ { 0x003f, 0x0040 },
+ { 0x0041, 0x005a },
+ { 0x005b, 0x005b },
+ { 0x005c, 0x005c },
+ { 0x005d, 0x005d },
+ { 0x005e, 0x005e },
+ { 0x005f, 0x005f },
+ { 0x0060, 0x0060 },
+ { 0x0061, 0x007a },
+ { 0x007b, 0x007b },
+ { 0x007c, 0x007c },
+ { 0x007d, 0x007d },
+ { 0x007e, 0x007e },
+ { 0x007f, 0x009f },
+ { 0x00a0, 0x00a0 },
+ { 0x00a1, 0x00a1 },
+ { 0x00a2, 0x00a5 },
+ { 0x00a6, 0x00a7 },
+ { 0x00a8, 0x00a8 },
+ { 0x00a9, 0x00a9 },
+ { 0x00aa, 0x00aa },
+ { 0x00ab, 0x00ab },
+ { 0x00ac, 0x00ac },
+ { 0x00ad, 0x00ad },
+ { 0x00ae, 0x00ae },
+ { 0x00af, 0x00af },
+ { 0x00b0, 0x00b0 },
+ { 0x00b1, 0x00b1 },
+ { 0x00b2, 0x00b3 },
+ { 0x00b4, 0x00b4 },
+ { 0x00b5, 0x00b5 },
+ { 0x00b6, 0x00b6 },
+ { 0x00b7, 0x00b7 },
+ { 0x00b8, 0x00b8 },
+ { 0x00b9, 0x00b9 },
+ { 0x00ba, 0x00ba },
+ { 0x00bb, 0x00bb },
+ { 0x00bc, 0x00be },
+ { 0x00bf, 0x00bf },
+ { 0x00c0, 0x00d6 },
+ { 0x00d7, 0x00d7 },
+ { 0x00d8, 0x00de },
+ { 0x00df, 0x00f6 },
+ { 0x00f7, 0x00f7 },
+ { 0x00f8, 0x00ff },
+ { 0x0100, 0x0100 },
+ { 0x0101, 0x0101 },
+ { 0x0102, 0x0102 },
+ { 0x0103, 0x0103 },
+ { 0x0104, 0x0104 },
+ { 0x0105, 0x0105 },
+ { 0x0106, 0x0106 },
+ { 0x0107, 0x0107 },
+ { 0x0108, 0x0108 },
+ { 0x0109, 0x0109 },
+ { 0x010a, 0x010a },
+ { 0x010b, 0x010b },
+ { 0x010c, 0x010c },
+ { 0x010d, 0x010d },
+ { 0x010e, 0x010e },
+ { 0x010f, 0x010f },
+ { 0x0110, 0x0110 },
+ { 0x0111, 0x0111 },
+ { 0x0112, 0x0112 },
+ { 0x0113, 0x0113 },
+ { 0x0114, 0x0114 },
+ { 0x0115, 0x0115 },
+ { 0x0116, 0x0116 },
+ { 0x0117, 0x0117 },
+ { 0x0118, 0x0118 },
+ { 0x0119, 0x0119 },
+ { 0x011a, 0x011a },
+ { 0x011b, 0x011b },
+ { 0x011c, 0x011c },
+ { 0x011d, 0x011d },
+ { 0x011e, 0x011e },
+ { 0x011f, 0x011f },
+ { 0x0120, 0x0120 },
+ { 0x0121, 0x0121 },
+ { 0x0122, 0x0122 },
+ { 0x0123, 0x0123 },
+ { 0x0124, 0x0124 },
+ { 0x0125, 0x0125 },
+ { 0x0126, 0x0126 },
+ { 0x0127, 0x0127 },
+ { 0x0128, 0x0128 },
+ { 0x0129, 0x0129 },
+ { 0x012a, 0x012a },
+ { 0x012b, 0x012b },
+ { 0x012c, 0x012c },
+ { 0x012d, 0x012d },
+ { 0x012e, 0x012e },
+ { 0x012f, 0x012f },
+ { 0x0130, 0x0130 },
+ { 0x0131, 0x0131 },
+ { 0x0132, 0x0132 },
+ { 0x0133, 0x0133 },
+ { 0x0134, 0x0134 },
+ { 0x0135, 0x0135 },
+ { 0x0136, 0x0136 },
+ { 0x0137, 0x0138 },
+ { 0x0139, 0x0139 },
+ { 0x013a, 0x013a },
+ { 0x013b, 0x013b },
+ { 0x013c, 0x013c },
+ { 0x013d, 0x013d },
+ { 0x013e, 0x013e },
+ { 0x013f, 0x013f },
+ { 0x0140, 0x0140 },
+ { 0x0141, 0x0141 },
+ { 0x0142, 0x0142 },
+ { 0x0143, 0x0143 },
+ { 0x0144, 0x0144 },
+ { 0x0145, 0x0145 },
+ { 0x0146, 0x0146 },
+ { 0x0147, 0x0147 },
+ { 0x0148, 0x0149 },
+ { 0x014a, 0x014a },
+ { 0x014b, 0x014b },
+ { 0x014c, 0x014c },
+ { 0x014d, 0x014d },
+ { 0x014e, 0x014e },
+ { 0x014f, 0x014f },
+ { 0x0150, 0x0150 },
+ { 0x0151, 0x0151 },
+ { 0x0152, 0x0152 },
+ { 0x0153, 0x0153 },
+ { 0x0154, 0x0154 },
+ { 0x0155, 0x0155 },
+ { 0x0156, 0x0156 },
+ { 0x0157, 0x0157 },
+ { 0x0158, 0x0158 },
+ { 0x0159, 0x0159 },
+ { 0x015a, 0x015a },
+ { 0x015b, 0x015b },
+ { 0x015c, 0x015c },
+ { 0x015d, 0x015d },
+ { 0x015e, 0x015e },
+ { 0x015f, 0x015f },
+ { 0x0160, 0x0160 },
+ { 0x0161, 0x0161 },
+ { 0x0162, 0x0162 },
+ { 0x0163, 0x0163 },
+ { 0x0164, 0x0164 },
+ { 0x0165, 0x0165 },
+ { 0x0166, 0x0166 },
+ { 0x0167, 0x0167 },
+ { 0x0168, 0x0168 },
+ { 0x0169, 0x0169 },
+ { 0x016a, 0x016a },
+ { 0x016b, 0x016b },
+ { 0x016c, 0x016c },
+ { 0x016d, 0x016d },
+ { 0x016e, 0x016e },
+ { 0x016f, 0x016f },
+ { 0x0170, 0x0170 },
+ { 0x0171, 0x0171 },
+ { 0x0172, 0x0172 },
+ { 0x0173, 0x0173 },
+ { 0x0174, 0x0174 },
+ { 0x0175, 0x0175 },
+ { 0x0176, 0x0176 },
+ { 0x0177, 0x0177 },
+ { 0x0178, 0x0179 },
+ { 0x017a, 0x017a },
+ { 0x017b, 0x017b },
+ { 0x017c, 0x017c },
+ { 0x017d, 0x017d },
+ { 0x017e, 0x0180 },
+ { 0x0181, 0x0182 },
+ { 0x0183, 0x0183 },
+ { 0x0184, 0x0184 },
+ { 0x0185, 0x0185 },
+ { 0x0186, 0x0187 },
+ { 0x0188, 0x0188 },
+ { 0x0189, 0x018b },
+ { 0x018c, 0x018d },
+ { 0x018e, 0x0191 },
+ { 0x0192, 0x0192 },
+ { 0x0193, 0x0194 },
+ { 0x0195, 0x0195 },
+ { 0x0196, 0x0198 },
+ { 0x0199, 0x019b },
+ { 0x019c, 0x019d },
+ { 0x019e, 0x019e },
+ { 0x019f, 0x01a0 },
+ { 0x01a1, 0x01a1 },
+ { 0x01a2, 0x01a2 },
+ { 0x01a3, 0x01a3 },
+ { 0x01a4, 0x01a4 },
+ { 0x01a5, 0x01a5 },
+ { 0x01a6, 0x01a7 },
+ { 0x01a8, 0x01a8 },
+ { 0x01a9, 0x01a9 },
+ { 0x01aa, 0x01aa },
+ { 0x01ab, 0x01ab },
+ { 0x01ac, 0x01ac },
+ { 0x01ad, 0x01ad },
+ { 0x01ae, 0x01af },
+ { 0x01b0, 0x01b0 },
+ { 0x01b1, 0x01b3 },
+ { 0x01b4, 0x01b4 },
+ { 0x01b5, 0x01b5 },
+ { 0x01b6, 0x01b6 },
+ { 0x01b7, 0x01b8 },
+ { 0x01b9, 0x01ba },
+ { 0x01bb, 0x01bb },
+ { 0x01bc, 0x01bc },
+ { 0x01bd, 0x01bd },
+ { 0x01be, 0x01c3 },
+ { 0x01c4, 0x01c4 },
+ { 0x01c5, 0x01c5 },
+ { 0x01c6, 0x01c6 },
+ { 0x01c7, 0x01c7 },
+ { 0x01c8, 0x01c8 },
+ { 0x01c9, 0x01c9 },
+ { 0x01ca, 0x01ca },
+ { 0x01cb, 0x01cb },
+ { 0x01cc, 0x01cc },
+ { 0x01cd, 0x01cd },
+ { 0x01ce, 0x01ce },
+ { 0x01cf, 0x01cf },
+ { 0x01d0, 0x01d0 },
+ { 0x01d1, 0x01d1 },
+ { 0x01d2, 0x01d2 },
+ { 0x01d3, 0x01d3 },
+ { 0x01d4, 0x01d4 },
+ { 0x01d5, 0x01d5 },
+ { 0x01d6, 0x01d6 },
+ { 0x01d7, 0x01d7 },
+ { 0x01d8, 0x01d8 },
+ { 0x01d9, 0x01d9 },
+ { 0x01da, 0x01da },
+ { 0x01db, 0x01db },
+ { 0x01dc, 0x01dd },
+ { 0x01de, 0x01de },
+ { 0x01df, 0x01df },
+ { 0x01e0, 0x01e0 },
+ { 0x01e1, 0x01e1 },
+ { 0x01e2, 0x01e2 },
+ { 0x01e3, 0x01e3 },
+ { 0x01e4, 0x01e4 },
+ { 0x01e5, 0x01e5 },
+ { 0x01e6, 0x01e6 },
+ { 0x01e7, 0x01e7 },
+ { 0x01e8, 0x01e8 },
+ { 0x01e9, 0x01e9 },
+ { 0x01ea, 0x01ea },
+ { 0x01eb, 0x01eb },
+ { 0x01ec, 0x01ec },
+ { 0x01ed, 0x01ed },
+ { 0x01ee, 0x01ee },
+ { 0x01ef, 0x01f0 },
+ { 0x01f1, 0x01f1 },
+ { 0x01f2, 0x01f2 },
+ { 0x01f3, 0x01f3 },
+ { 0x01f4, 0x01f4 },
+ { 0x01f5, 0x01f5 },
+ { 0x01f6, 0x01f9 },
+ { 0x01fa, 0x01fa },
+ { 0x01fb, 0x01fb },
+ { 0x01fc, 0x01fc },
+ { 0x01fd, 0x01fd },
+ { 0x01fe, 0x01fe },
+ { 0x01ff, 0x01ff },
+ { 0x0200, 0x0200 },
+ { 0x0201, 0x0201 },
+ { 0x0202, 0x0202 },
+ { 0x0203, 0x0203 },
+ { 0x0204, 0x0204 },
+ { 0x0205, 0x0205 },
+ { 0x0206, 0x0206 },
+ { 0x0207, 0x0207 },
+ { 0x0208, 0x0208 },
+ { 0x0209, 0x0209 },
+ { 0x020a, 0x020a },
+ { 0x020b, 0x020b },
+ { 0x020c, 0x020c },
+ { 0x020d, 0x020d },
+ { 0x020e, 0x020e },
+ { 0x020f, 0x020f },
+ { 0x0210, 0x0210 },
+ { 0x0211, 0x0211 },
+ { 0x0212, 0x0212 },
+ { 0x0213, 0x0213 },
+ { 0x0214, 0x0214 },
+ { 0x0215, 0x0215 },
+ { 0x0216, 0x0216 },
+ { 0x0217, 0x0217 },
+ { 0x0218, 0x024f },
+ { 0x0250, 0x02a8 },
+ { 0x02a9, 0x02af },
+ { 0x02b0, 0x02b8 },
+ { 0x02b9, 0x02ba },
+ { 0x02bb, 0x02c1 },
+ { 0x02c2, 0x02cf },
+ { 0x02d0, 0x02d1 },
+ { 0x02d2, 0x02de },
+ { 0x02df, 0x02df },
+ { 0x02e0, 0x02e4 },
+ { 0x02e5, 0x02e9 },
+ { 0x02ea, 0x02ff },
+ { 0x0300, 0x0345 },
+ { 0x0346, 0x035f },
+ { 0x0360, 0x0361 },
+ { 0x0362, 0x0373 },
+ { 0x0374, 0x0375 },
+ { 0x0376, 0x0379 },
+ { 0x037a, 0x037a },
+ { 0x037b, 0x037d },
+ { 0x037e, 0x037e },
+ { 0x037f, 0x0383 },
+ { 0x0384, 0x0385 },
+ { 0x0386, 0x0386 },
+ { 0x0387, 0x0387 },
+ { 0x0388, 0x038a },
+ { 0x038b, 0x038b },
+ { 0x038c, 0x038c },
+ { 0x038d, 0x038d },
+ { 0x038e, 0x038f },
+ { 0x0390, 0x0390 },
+ { 0x0391, 0x03a1 },
+ { 0x03a2, 0x03a2 },
+ { 0x03a3, 0x03ab },
+ { 0x03ac, 0x03ce },
+ { 0x03cf, 0x03cf },
+ { 0x03d0, 0x03d1 },
+ { 0x03d2, 0x03d4 },
+ { 0x03d5, 0x03d6 },
+ { 0x03d7, 0x03d9 },
+ { 0x03da, 0x03da },
+ { 0x03db, 0x03db },
+ { 0x03dc, 0x03dc },
+ { 0x03dd, 0x03dd },
+ { 0x03de, 0x03de },
+ { 0x03df, 0x03df },
+ { 0x03e0, 0x03e0 },
+ { 0x03e1, 0x03e1 },
+ { 0x03e2, 0x03e2 },
+ { 0x03e3, 0x03e3 },
+ { 0x03e4, 0x03e4 },
+ { 0x03e5, 0x03e5 },
+ { 0x03e6, 0x03e6 },
+ { 0x03e7, 0x03e7 },
+ { 0x03e8, 0x03e8 },
+ { 0x03e9, 0x03e9 },
+ { 0x03ea, 0x03ea },
+ { 0x03eb, 0x03eb },
+ { 0x03ec, 0x03ec },
+ { 0x03ed, 0x03ed },
+ { 0x03ee, 0x03ee },
+ { 0x03ef, 0x03f2 },
+ { 0x03f3, 0x03f3 },
+ { 0x03f4, 0x0400 },
+ { 0x0401, 0x040c },
+ { 0x040d, 0x040d },
+ { 0x040e, 0x042f },
+ { 0x0430, 0x044f },
+ { 0x0450, 0x0450 },
+ { 0x0451, 0x045c },
+ { 0x045d, 0x045d },
+ { 0x045e, 0x045f },
+ { 0x0460, 0x0460 },
+ { 0x0461, 0x0461 },
+ { 0x0462, 0x0462 },
+ { 0x0463, 0x0463 },
+ { 0x0464, 0x0464 },
+ { 0x0465, 0x0465 },
+ { 0x0466, 0x0466 },
+ { 0x0467, 0x0467 },
+ { 0x0468, 0x0468 },
+ { 0x0469, 0x0469 },
+ { 0x046a, 0x046a },
+ { 0x046b, 0x046b },
+ { 0x046c, 0x046c },
+ { 0x046d, 0x046d },
+ { 0x046e, 0x046e },
+ { 0x046f, 0x046f },
+ { 0x0470, 0x0470 },
+ { 0x0471, 0x0471 },
+ { 0x0472, 0x0472 },
+ { 0x0473, 0x0473 },
+ { 0x0474, 0x0474 },
+ { 0x0475, 0x0475 },
+ { 0x0476, 0x0476 },
+ { 0x0477, 0x0477 },
+ { 0x0478, 0x0478 },
+ { 0x0479, 0x0479 },
+ { 0x047a, 0x047a },
+ { 0x047b, 0x047b },
+ { 0x047c, 0x047c },
+ { 0x047d, 0x047d },
+ { 0x047e, 0x047e },
+ { 0x047f, 0x047f },
+ { 0x0480, 0x0480 },
+ { 0x0481, 0x0481 },
+ { 0x0482, 0x0482 },
+ { 0x0483, 0x0486 },
+ { 0x0487, 0x048f },
+ { 0x0490, 0x0490 },
+ { 0x0491, 0x0491 },
+ { 0x0492, 0x0492 },
+ { 0x0493, 0x0493 },
+ { 0x0494, 0x0494 },
+ { 0x0495, 0x0495 },
+ { 0x0496, 0x0496 },
+ { 0x0497, 0x0497 },
+ { 0x0498, 0x0498 },
+ { 0x0499, 0x0499 },
+ { 0x049a, 0x049a },
+ { 0x049b, 0x049b },
+ { 0x049c, 0x049c },
+ { 0x049d, 0x049d },
+ { 0x049e, 0x049e },
+ { 0x049f, 0x049f },
+ { 0x04a0, 0x04a0 },
+ { 0x04a1, 0x04a1 },
+ { 0x04a2, 0x04a2 },
+ { 0x04a3, 0x04a3 },
+ { 0x04a4, 0x04a4 },
+ { 0x04a5, 0x04a5 },
+ { 0x04a6, 0x04a6 },
+ { 0x04a7, 0x04a7 },
+ { 0x04a8, 0x04a8 },
+ { 0x04a9, 0x04a9 },
+ { 0x04aa, 0x04aa },
+ { 0x04ab, 0x04ab },
+ { 0x04ac, 0x04ac },
+ { 0x04ad, 0x04ad },
+ { 0x04ae, 0x04ae },
+ { 0x04af, 0x04af },
+ { 0x04b0, 0x04b0 },
+ { 0x04b1, 0x04b1 },
+ { 0x04b2, 0x04b2 },
+ { 0x04b3, 0x04b3 },
+ { 0x04b4, 0x04b4 },
+ { 0x04b5, 0x04b5 },
+ { 0x04b6, 0x04b6 },
+ { 0x04b7, 0x04b7 },
+ { 0x04b8, 0x04b8 },
+ { 0x04b9, 0x04b9 },
+ { 0x04ba, 0x04ba },
+ { 0x04bb, 0x04bb },
+ { 0x04bc, 0x04bc },
+ { 0x04bd, 0x04bd },
+ { 0x04be, 0x04be },
+ { 0x04bf, 0x04bf },
+ { 0x04c0, 0x04c0 },
+ { 0x04c1, 0x04c1 },
+ { 0x04c2, 0x04c2 },
+ { 0x04c3, 0x04c3 },
+ { 0x04c4, 0x04c4 },
+ { 0x04c5, 0x04c6 },
+ { 0x04c7, 0x04c7 },
+ { 0x04c8, 0x04c8 },
+ { 0x04c9, 0x04ca },
+ { 0x04cb, 0x04cb },
+ { 0x04cc, 0x04cc },
+ { 0x04cd, 0x04cf },
+ { 0x04d0, 0x04d0 },
+ { 0x04d1, 0x04d1 },
+ { 0x04d2, 0x04d2 },
+ { 0x04d3, 0x04d3 },
+ { 0x04d4, 0x04d4 },
+ { 0x04d5, 0x04d5 },
+ { 0x04d6, 0x04d6 },
+ { 0x04d7, 0x04d7 },
+ { 0x04d8, 0x04d8 },
+ { 0x04d9, 0x04d9 },
+ { 0x04da, 0x04da },
+ { 0x04db, 0x04db },
+ { 0x04dc, 0x04dc },
+ { 0x04dd, 0x04dd },
+ { 0x04de, 0x04de },
+ { 0x04df, 0x04df },
+ { 0x04e0, 0x04e0 },
+ { 0x04e1, 0x04e1 },
+ { 0x04e2, 0x04e2 },
+ { 0x04e3, 0x04e3 },
+ { 0x04e4, 0x04e4 },
+ { 0x04e5, 0x04e5 },
+ { 0x04e6, 0x04e6 },
+ { 0x04e7, 0x04e7 },
+ { 0x04e8, 0x04e8 },
+ { 0x04e9, 0x04e9 },
+ { 0x04ea, 0x04ea },
+ { 0x04eb, 0x04eb },
+ { 0x04ec, 0x04ed },
+ { 0x04ee, 0x04ee },
+ { 0x04ef, 0x04ef },
+ { 0x04f0, 0x04f0 },
+ { 0x04f1, 0x04f1 },
+ { 0x04f2, 0x04f2 },
+ { 0x04f3, 0x04f3 },
+ { 0x04f4, 0x04f4 },
+ { 0x04f5, 0x04f5 },
+ { 0x04f6, 0x04f7 },
+ { 0x04f8, 0x04f8 },
+ { 0x04f9, 0x04f9 },
+ { 0x04fa, 0x0530 },
+ { 0x0531, 0x0556 },
+ { 0x0557, 0x0558 },
+ { 0x0559, 0x0559 },
+ { 0x055a, 0x055f },
+ { 0x0560, 0x0560 },
+ { 0x0561, 0x0587 },
+ { 0x0588, 0x0588 },
+ { 0x0589, 0x0589 },
+ { 0x058a, 0x0590 },
+ { 0x0591, 0x05a1 },
+ { 0x05a2, 0x05a2 },
+ { 0x05a3, 0x05b9 },
+ { 0x05ba, 0x05ba },
+ { 0x05bb, 0x05bd },
+ { 0x05be, 0x05be },
+ { 0x05bf, 0x05bf },
+ { 0x05c0, 0x05c0 },
+ { 0x05c1, 0x05c2 },
+ { 0x05c3, 0x05c3 },
+ { 0x05c4, 0x05c4 },
+ { 0x05c5, 0x05cf },
+ { 0x05d0, 0x05ea },
+ { 0x05eb, 0x05ef },
+ { 0x05f0, 0x05f2 },
+ { 0x05f3, 0x05f4 },
+ { 0x05f5, 0x060b },
+ { 0x060c, 0x060c },
+ { 0x060d, 0x061a },
+ { 0x061b, 0x061b },
+ { 0x061c, 0x061e },
+ { 0x061f, 0x061f },
+ { 0x0620, 0x0620 },
+ { 0x0621, 0x063a },
+ { 0x063b, 0x063f },
+ { 0x0640, 0x0640 },
+ { 0x0641, 0x064a },
+ { 0x064b, 0x0652 },
+ { 0x0653, 0x065f },
+ { 0x0660, 0x0669 },
+ { 0x066a, 0x066d },
+ { 0x066e, 0x066f },
+ { 0x0670, 0x0670 },
+ { 0x0671, 0x06b7 },
+ { 0x06b8, 0x06b9 },
+ { 0x06ba, 0x06be },
+ { 0x06bf, 0x06bf },
+ { 0x06c0, 0x06ce },
+ { 0x06cf, 0x06cf },
+ { 0x06d0, 0x06d3 },
+ { 0x06d4, 0x06d4 },
+ { 0x06d5, 0x06d5 },
+ { 0x06d6, 0x06dc },
+ { 0x06dd, 0x06de },
+ { 0x06df, 0x06e4 },
+ { 0x06e5, 0x06e6 },
+ { 0x06e7, 0x06e8 },
+ { 0x06e9, 0x06e9 },
+ { 0x06ea, 0x06ed },
+ { 0x06ee, 0x06ef },
+ { 0x06f0, 0x06f9 },
+ { 0x06fa, 0x0900 },
+ { 0x0901, 0x0902 },
+ { 0x0903, 0x0903 },
+ { 0x0904, 0x0904 },
+ { 0x0905, 0x0939 },
+ { 0x093a, 0x093b },
+ { 0x093c, 0x093c },
+ { 0x093d, 0x093d },
+ { 0x093e, 0x0940 },
+ { 0x0941, 0x0948 },
+ { 0x0949, 0x094c },
+ { 0x094d, 0x094d },
+ { 0x094e, 0x094f },
+ { 0x0950, 0x0950 },
+ { 0x0951, 0x0954 },
+ { 0x0955, 0x0957 },
+ { 0x0958, 0x0961 },
+ { 0x0962, 0x0963 },
+ { 0x0964, 0x0965 },
+ { 0x0966, 0x096f },
+ { 0x0970, 0x0970 },
+ { 0x0971, 0x0980 },
+ { 0x0981, 0x0981 },
+ { 0x0982, 0x0983 },
+ { 0x0984, 0x0984 },
+ { 0x0985, 0x098c },
+ { 0x098d, 0x098e },
+ { 0x098f, 0x0990 },
+ { 0x0991, 0x0992 },
+ { 0x0993, 0x09a8 },
+ { 0x09a9, 0x09a9 },
+ { 0x09aa, 0x09b0 },
+ { 0x09b1, 0x09b1 },
+ { 0x09b2, 0x09b2 },
+ { 0x09b3, 0x09b5 },
+ { 0x09b6, 0x09b9 },
+ { 0x09ba, 0x09bb },
+ { 0x09bc, 0x09bc },
+ { 0x09bd, 0x09bd },
+ { 0x09be, 0x09c0 },
+ { 0x09c1, 0x09c4 },
+ { 0x09c5, 0x09c6 },
+ { 0x09c7, 0x09c8 },
+ { 0x09c9, 0x09ca },
+ { 0x09cb, 0x09cc },
+ { 0x09cd, 0x09cd },
+ { 0x09ce, 0x09d6 },
+ { 0x09d7, 0x09d7 },
+ { 0x09d8, 0x09db },
+ { 0x09dc, 0x09dd },
+ { 0x09de, 0x09de },
+ { 0x09df, 0x09e1 },
+ { 0x09e2, 0x09e3 },
+ { 0x09e4, 0x09e5 },
+ { 0x09e6, 0x09ef },
+ { 0x09f0, 0x09f1 },
+ { 0x09f2, 0x09f3 },
+ { 0x09f4, 0x09f9 },
+ { 0x09fa, 0x09fa },
+ { 0x09fb, 0x0a01 },
+ { 0x0a02, 0x0a02 },
+ { 0x0a03, 0x0a04 },
+ { 0x0a05, 0x0a0a },
+ { 0x0a0b, 0x0a0e },
+ { 0x0a0f, 0x0a10 },
+ { 0x0a11, 0x0a12 },
+ { 0x0a13, 0x0a28 },
+ { 0x0a29, 0x0a29 },
+ { 0x0a2a, 0x0a30 },
+ { 0x0a31, 0x0a31 },
+ { 0x0a32, 0x0a33 },
+ { 0x0a34, 0x0a34 },
+ { 0x0a35, 0x0a36 },
+ { 0x0a37, 0x0a37 },
+ { 0x0a38, 0x0a39 },
+ { 0x0a3a, 0x0a3b },
+ { 0x0a3c, 0x0a3c },
+ { 0x0a3d, 0x0a3d },
+ { 0x0a3e, 0x0a40 },
+ { 0x0a41, 0x0a42 },
+ { 0x0a43, 0x0a46 },
+ { 0x0a47, 0x0a48 },
+ { 0x0a49, 0x0a4a },
+ { 0x0a4b, 0x0a4d },
+ { 0x0a4e, 0x0a58 },
+ { 0x0a59, 0x0a5c },
+ { 0x0a5d, 0x0a5d },
+ { 0x0a5e, 0x0a5e },
+ { 0x0a5f, 0x0a65 },
+ { 0x0a66, 0x0a6f },
+ { 0x0a70, 0x0a71 },
+ { 0x0a72, 0x0a74 },
+ { 0x0a75, 0x0a80 },
+ { 0x0a81, 0x0a82 },
+ { 0x0a83, 0x0a83 },
+ { 0x0a84, 0x0a84 },
+ { 0x0a85, 0x0a8b },
+ { 0x0a8c, 0x0a8c },
+ { 0x0a8d, 0x0a8d },
+ { 0x0a8e, 0x0a8e },
+ { 0x0a8f, 0x0a91 },
+ { 0x0a92, 0x0a92 },
+ { 0x0a93, 0x0aa8 },
+ { 0x0aa9, 0x0aa9 },
+ { 0x0aaa, 0x0ab0 },
+ { 0x0ab1, 0x0ab1 },
+ { 0x0ab2, 0x0ab3 },
+ { 0x0ab4, 0x0ab4 },
+ { 0x0ab5, 0x0ab9 },
+ { 0x0aba, 0x0abb },
+ { 0x0abc, 0x0abc },
+ { 0x0abd, 0x0abd },
+ { 0x0abe, 0x0ac0 },
+ { 0x0ac1, 0x0ac5 },
+ { 0x0ac6, 0x0ac6 },
+ { 0x0ac7, 0x0ac8 },
+ { 0x0ac9, 0x0ac9 },
+ { 0x0aca, 0x0aca },
+ { 0x0acb, 0x0acc },
+ { 0x0acd, 0x0acd },
+ { 0x0ace, 0x0acf },
+ { 0x0ad0, 0x0ad0 },
+ { 0x0ad1, 0x0adf },
+ { 0x0ae0, 0x0ae0 },
+ { 0x0ae1, 0x0ae5 },
+ { 0x0ae6, 0x0aef },
+ { 0x0af0, 0x0b00 },
+ { 0x0b01, 0x0b01 },
+ { 0x0b02, 0x0b03 },
+ { 0x0b04, 0x0b04 },
+ { 0x0b05, 0x0b0c },
+ { 0x0b0d, 0x0b0e },
+ { 0x0b0f, 0x0b10 },
+ { 0x0b11, 0x0b12 },
+ { 0x0b13, 0x0b28 },
+ { 0x0b29, 0x0b29 },
+ { 0x0b2a, 0x0b30 },
+ { 0x0b31, 0x0b31 },
+ { 0x0b32, 0x0b33 },
+ { 0x0b34, 0x0b35 },
+ { 0x0b36, 0x0b39 },
+ { 0x0b3a, 0x0b3b },
+ { 0x0b3c, 0x0b3c },
+ { 0x0b3d, 0x0b3d },
+ { 0x0b3e, 0x0b3e },
+ { 0x0b3f, 0x0b3f },
+ { 0x0b40, 0x0b40 },
+ { 0x0b41, 0x0b43 },
+ { 0x0b44, 0x0b46 },
+ { 0x0b47, 0x0b48 },
+ { 0x0b49, 0x0b4a },
+ { 0x0b4b, 0x0b4c },
+ { 0x0b4d, 0x0b4d },
+ { 0x0b4e, 0x0b55 },
+ { 0x0b56, 0x0b56 },
+ { 0x0b57, 0x0b57 },
+ { 0x0b58, 0x0b5b },
+ { 0x0b5c, 0x0b5d },
+ { 0x0b5e, 0x0b5e },
+ { 0x0b5f, 0x0b61 },
+ { 0x0b62, 0x0b65 },
+ { 0x0b66, 0x0b6f },
+ { 0x0b70, 0x0b70 },
+ { 0x0b71, 0x0b81 },
+ { 0x0b82, 0x0b82 },
+ { 0x0b83, 0x0b83 },
+ { 0x0b84, 0x0b84 },
+ { 0x0b85, 0x0b8a },
+ { 0x0b8b, 0x0b8d },
+ { 0x0b8e, 0x0b90 },
+ { 0x0b91, 0x0b91 },
+ { 0x0b92, 0x0b95 },
+ { 0x0b96, 0x0b98 },
+ { 0x0b99, 0x0b9a },
+ { 0x0b9b, 0x0b9b },
+ { 0x0b9c, 0x0b9c },
+ { 0x0b9d, 0x0b9d },
+ { 0x0b9e, 0x0b9f },
+ { 0x0ba0, 0x0ba2 },
+ { 0x0ba3, 0x0ba4 },
+ { 0x0ba5, 0x0ba7 },
+ { 0x0ba8, 0x0baa },
+ { 0x0bab, 0x0bad },
+ { 0x0bae, 0x0bb5 },
+ { 0x0bb6, 0x0bb6 },
+ { 0x0bb7, 0x0bb9 },
+ { 0x0bba, 0x0bbd },
+ { 0x0bbe, 0x0bbf },
+ { 0x0bc0, 0x0bc0 },
+ { 0x0bc1, 0x0bc2 },
+ { 0x0bc3, 0x0bc5 },
+ { 0x0bc6, 0x0bc8 },
+ { 0x0bc9, 0x0bc9 },
+ { 0x0bca, 0x0bcc },
+ { 0x0bcd, 0x0bcd },
+ { 0x0bce, 0x0bd6 },
+ { 0x0bd7, 0x0bd7 },
+ { 0x0bd8, 0x0be6 },
+ { 0x0be7, 0x0bef },
+ { 0x0bf0, 0x0bf2 },
+ { 0x0bf3, 0x0c00 },
+ { 0x0c01, 0x0c03 },
+ { 0x0c04, 0x0c04 },
+ { 0x0c05, 0x0c0c },
+ { 0x0c0d, 0x0c0d },
+ { 0x0c0e, 0x0c10 },
+ { 0x0c11, 0x0c11 },
+ { 0x0c12, 0x0c28 },
+ { 0x0c29, 0x0c29 },
+ { 0x0c2a, 0x0c33 },
+ { 0x0c34, 0x0c34 },
+ { 0x0c35, 0x0c39 },
+ { 0x0c3a, 0x0c3d },
+ { 0x0c3e, 0x0c40 },
+ { 0x0c41, 0x0c44 },
+ { 0x0c45, 0x0c45 },
+ { 0x0c46, 0x0c48 },
+ { 0x0c49, 0x0c49 },
+ { 0x0c4a, 0x0c4d },
+ { 0x0c4e, 0x0c54 },
+ { 0x0c55, 0x0c56 },
+ { 0x0c57, 0x0c5f },
+ { 0x0c60, 0x0c61 },
+ { 0x0c62, 0x0c65 },
+ { 0x0c66, 0x0c6f },
+ { 0x0c70, 0x0c81 },
+ { 0x0c82, 0x0c83 },
+ { 0x0c84, 0x0c84 },
+ { 0x0c85, 0x0c8c },
+ { 0x0c8d, 0x0c8d },
+ { 0x0c8e, 0x0c90 },
+ { 0x0c91, 0x0c91 },
+ { 0x0c92, 0x0ca8 },
+ { 0x0ca9, 0x0ca9 },
+ { 0x0caa, 0x0cb3 },
+ { 0x0cb4, 0x0cb4 },
+ { 0x0cb5, 0x0cb9 },
+ { 0x0cba, 0x0cbd },
+ { 0x0cbe, 0x0cbe },
+ { 0x0cbf, 0x0cbf },
+ { 0x0cc0, 0x0cc4 },
+ { 0x0cc5, 0x0cc5 },
+ { 0x0cc6, 0x0cc6 },
+ { 0x0cc7, 0x0cc8 },
+ { 0x0cc9, 0x0cc9 },
+ { 0x0cca, 0x0ccb },
+ { 0x0ccc, 0x0ccd },
+ { 0x0cce, 0x0cd4 },
+ { 0x0cd5, 0x0cd6 },
+ { 0x0cd7, 0x0cdd },
+ { 0x0cde, 0x0cde },
+ { 0x0cdf, 0x0cdf },
+ { 0x0ce0, 0x0ce1 },
+ { 0x0ce2, 0x0ce5 },
+ { 0x0ce6, 0x0cef },
+ { 0x0cf0, 0x0d01 },
+ { 0x0d02, 0x0d03 },
+ { 0x0d04, 0x0d04 },
+ { 0x0d05, 0x0d0c },
+ { 0x0d0d, 0x0d0d },
+ { 0x0d0e, 0x0d10 },
+ { 0x0d11, 0x0d11 },
+ { 0x0d12, 0x0d28 },
+ { 0x0d29, 0x0d29 },
+ { 0x0d2a, 0x0d39 },
+ { 0x0d3a, 0x0d3d },
+ { 0x0d3e, 0x0d40 },
+ { 0x0d41, 0x0d43 },
+ { 0x0d44, 0x0d45 },
+ { 0x0d46, 0x0d48 },
+ { 0x0d49, 0x0d49 },
+ { 0x0d4a, 0x0d4c },
+ { 0x0d4d, 0x0d4d },
+ { 0x0d4e, 0x0d56 },
+ { 0x0d57, 0x0d57 },
+ { 0x0d58, 0x0d5f },
+ { 0x0d60, 0x0d61 },
+ { 0x0d62, 0x0d65 },
+ { 0x0d66, 0x0d6f },
+ { 0x0d70, 0x0e00 },
+ { 0x0e01, 0x0e30 },
+ { 0x0e31, 0x0e31 },
+ { 0x0e32, 0x0e33 },
+ { 0x0e34, 0x0e3a },
+ { 0x0e3b, 0x0e3e },
+ { 0x0e3f, 0x0e3f },
+ { 0x0e40, 0x0e45 },
+ { 0x0e46, 0x0e46 },
+ { 0x0e47, 0x0e4e },
+ { 0x0e4f, 0x0e4f },
+ { 0x0e50, 0x0e59 },
+ { 0x0e5a, 0x0e5b },
+ { 0x0e5c, 0x0e80 },
+ { 0x0e81, 0x0e82 },
+ { 0x0e83, 0x0e83 },
+ { 0x0e84, 0x0e84 },
+ { 0x0e85, 0x0e86 },
+ { 0x0e87, 0x0e88 },
+ { 0x0e89, 0x0e89 },
+ { 0x0e8a, 0x0e8a },
+ { 0x0e8b, 0x0e8c },
+ { 0x0e8d, 0x0e8d },
+ { 0x0e8e, 0x0e93 },
+ { 0x0e94, 0x0e97 },
+ { 0x0e98, 0x0e98 },
+ { 0x0e99, 0x0e9f },
+ { 0x0ea0, 0x0ea0 },
+ { 0x0ea1, 0x0ea3 },
+ { 0x0ea4, 0x0ea4 },
+ { 0x0ea5, 0x0ea5 },
+ { 0x0ea6, 0x0ea6 },
+ { 0x0ea7, 0x0ea7 },
+ { 0x0ea8, 0x0ea9 },
+ { 0x0eaa, 0x0eab },
+ { 0x0eac, 0x0eac },
+ { 0x0ead, 0x0eb0 },
+ { 0x0eb1, 0x0eb1 },
+ { 0x0eb2, 0x0eb3 },
+ { 0x0eb4, 0x0eb9 },
+ { 0x0eba, 0x0eba },
+ { 0x0ebb, 0x0ebc },
+ { 0x0ebd, 0x0ebd },
+ { 0x0ebe, 0x0ebf },
+ { 0x0ec0, 0x0ec4 },
+ { 0x0ec5, 0x0ec5 },
+ { 0x0ec6, 0x0ec6 },
+ { 0x0ec7, 0x0ec7 },
+ { 0x0ec8, 0x0ecd },
+ { 0x0ece, 0x0ecf },
+ { 0x0ed0, 0x0ed9 },
+ { 0x0eda, 0x0edb },
+ { 0x0edc, 0x0edd },
+ { 0x0ede, 0x0eff },
+ { 0x0f00, 0x0f00 },
+ { 0x0f01, 0x0f03 },
+ { 0x0f04, 0x0f12 },
+ { 0x0f13, 0x0f17 },
+ { 0x0f18, 0x0f19 },
+ { 0x0f1a, 0x0f1f },
+ { 0x0f20, 0x0f29 },
+ { 0x0f2a, 0x0f33 },
+ { 0x0f34, 0x0f34 },
+ { 0x0f35, 0x0f35 },
+ { 0x0f36, 0x0f36 },
+ { 0x0f37, 0x0f37 },
+ { 0x0f38, 0x0f38 },
+ { 0x0f39, 0x0f39 },
+ { 0x0f3a, 0x0f3a },
+ { 0x0f3b, 0x0f3b },
+ { 0x0f3c, 0x0f3c },
+ { 0x0f3d, 0x0f3d },
+ { 0x0f3e, 0x0f3f },
+ { 0x0f40, 0x0f47 },
+ { 0x0f48, 0x0f48 },
+ { 0x0f49, 0x0f69 },
+ { 0x0f6a, 0x0f70 },
+ { 0x0f71, 0x0f7e },
+ { 0x0f7f, 0x0f7f },
+ { 0x0f80, 0x0f84 },
+ { 0x0f85, 0x0f85 },
+ { 0x0f86, 0x0f87 },
+ { 0x0f88, 0x0f8b },
+ { 0x0f8c, 0x0f8f },
+ { 0x0f90, 0x0f95 },
+ { 0x0f96, 0x0f96 },
+ { 0x0f97, 0x0f97 },
+ { 0x0f98, 0x0f98 },
+ { 0x0f99, 0x0fad },
+ { 0x0fae, 0x0fb0 },
+ { 0x0fb1, 0x0fb7 },
+ { 0x0fb8, 0x0fb8 },
+ { 0x0fb9, 0x0fb9 },
+ { 0x0fba, 0x109f },
+ { 0x10a0, 0x10c5 },
+ { 0x10c6, 0x10cf },
+ { 0x10d0, 0x10f6 },
+ { 0x10f7, 0x10fa },
+ { 0x10fb, 0x10fb },
+ { 0x10fc, 0x10ff },
+ { 0x1100, 0x1159 },
+ { 0x115a, 0x115e },
+ { 0x115f, 0x11a2 },
+ { 0x11a3, 0x11a7 },
+ { 0x11a8, 0x11f9 },
+ { 0x11fa, 0x1dff },
+ { 0x1e00, 0x1e00 },
+ { 0x1e01, 0x1e01 },
+ { 0x1e02, 0x1e02 },
+ { 0x1e03, 0x1e03 },
+ { 0x1e04, 0x1e04 },
+ { 0x1e05, 0x1e05 },
+ { 0x1e06, 0x1e06 },
+ { 0x1e07, 0x1e07 },
+ { 0x1e08, 0x1e08 },
+ { 0x1e09, 0x1e09 },
+ { 0x1e0a, 0x1e0a },
+ { 0x1e0b, 0x1e0b },
+ { 0x1e0c, 0x1e0c },
+ { 0x1e0d, 0x1e0d },
+ { 0x1e0e, 0x1e0e },
+ { 0x1e0f, 0x1e0f },
+ { 0x1e10, 0x1e10 },
+ { 0x1e11, 0x1e11 },
+ { 0x1e12, 0x1e12 },
+ { 0x1e13, 0x1e13 },
+ { 0x1e14, 0x1e14 },
+ { 0x1e15, 0x1e15 },
+ { 0x1e16, 0x1e16 },
+ { 0x1e17, 0x1e17 },
+ { 0x1e18, 0x1e18 },
+ { 0x1e19, 0x1e19 },
+ { 0x1e1a, 0x1e1a },
+ { 0x1e1b, 0x1e1b },
+ { 0x1e1c, 0x1e1c },
+ { 0x1e1d, 0x1e1d },
+ { 0x1e1e, 0x1e1e },
+ { 0x1e1f, 0x1e1f },
+ { 0x1e20, 0x1e20 },
+ { 0x1e21, 0x1e21 },
+ { 0x1e22, 0x1e22 },
+ { 0x1e23, 0x1e23 },
+ { 0x1e24, 0x1e24 },
+ { 0x1e25, 0x1e25 },
+ { 0x1e26, 0x1e26 },
+ { 0x1e27, 0x1e27 },
+ { 0x1e28, 0x1e28 },
+ { 0x1e29, 0x1e29 },
+ { 0x1e2a, 0x1e2a },
+ { 0x1e2b, 0x1e2b },
+ { 0x1e2c, 0x1e2c },
+ { 0x1e2d, 0x1e2d },
+ { 0x1e2e, 0x1e2e },
+ { 0x1e2f, 0x1e2f },
+ { 0x1e30, 0x1e30 },
+ { 0x1e31, 0x1e31 },
+ { 0x1e32, 0x1e32 },
+ { 0x1e33, 0x1e33 },
+ { 0x1e34, 0x1e34 },
+ { 0x1e35, 0x1e35 },
+ { 0x1e36, 0x1e36 },
+ { 0x1e37, 0x1e37 },
+ { 0x1e38, 0x1e38 },
+ { 0x1e39, 0x1e39 },
+ { 0x1e3a, 0x1e3a },
+ { 0x1e3b, 0x1e3b },
+ { 0x1e3c, 0x1e3c },
+ { 0x1e3d, 0x1e3d },
+ { 0x1e3e, 0x1e3e },
+ { 0x1e3f, 0x1e3f },
+ { 0x1e40, 0x1e40 },
+ { 0x1e41, 0x1e41 },
+ { 0x1e42, 0x1e42 },
+ { 0x1e43, 0x1e43 },
+ { 0x1e44, 0x1e44 },
+ { 0x1e45, 0x1e45 },
+ { 0x1e46, 0x1e46 },
+ { 0x1e47, 0x1e47 },
+ { 0x1e48, 0x1e48 },
+ { 0x1e49, 0x1e49 },
+ { 0x1e4a, 0x1e4a },
+ { 0x1e4b, 0x1e4b },
+ { 0x1e4c, 0x1e4c },
+ { 0x1e4d, 0x1e4d },
+ { 0x1e4e, 0x1e4e },
+ { 0x1e4f, 0x1e4f },
+ { 0x1e50, 0x1e50 },
+ { 0x1e51, 0x1e51 },
+ { 0x1e52, 0x1e52 },
+ { 0x1e53, 0x1e53 },
+ { 0x1e54, 0x1e54 },
+ { 0x1e55, 0x1e55 },
+ { 0x1e56, 0x1e56 },
+ { 0x1e57, 0x1e57 },
+ { 0x1e58, 0x1e58 },
+ { 0x1e59, 0x1e59 },
+ { 0x1e5a, 0x1e5a },
+ { 0x1e5b, 0x1e5b },
+ { 0x1e5c, 0x1e5c },
+ { 0x1e5d, 0x1e5d },
+ { 0x1e5e, 0x1e5e },
+ { 0x1e5f, 0x1e5f },
+ { 0x1e60, 0x1e60 },
+ { 0x1e61, 0x1e61 },
+ { 0x1e62, 0x1e62 },
+ { 0x1e63, 0x1e63 },
+ { 0x1e64, 0x1e64 },
+ { 0x1e65, 0x1e65 },
+ { 0x1e66, 0x1e66 },
+ { 0x1e67, 0x1e67 },
+ { 0x1e68, 0x1e68 },
+ { 0x1e69, 0x1e69 },
+ { 0x1e6a, 0x1e6a },
+ { 0x1e6b, 0x1e6b },
+ { 0x1e6c, 0x1e6c },
+ { 0x1e6d, 0x1e6d },
+ { 0x1e6e, 0x1e6e },
+ { 0x1e6f, 0x1e6f },
+ { 0x1e70, 0x1e70 },
+ { 0x1e71, 0x1e71 },
+ { 0x1e72, 0x1e72 },
+ { 0x1e73, 0x1e73 },
+ { 0x1e74, 0x1e74 },
+ { 0x1e75, 0x1e75 },
+ { 0x1e76, 0x1e76 },
+ { 0x1e77, 0x1e77 },
+ { 0x1e78, 0x1e78 },
+ { 0x1e79, 0x1e79 },
+ { 0x1e7a, 0x1e7a },
+ { 0x1e7b, 0x1e7b },
+ { 0x1e7c, 0x1e7c },
+ { 0x1e7d, 0x1e7d },
+ { 0x1e7e, 0x1e7e },
+ { 0x1e7f, 0x1e7f },
+ { 0x1e80, 0x1e80 },
+ { 0x1e81, 0x1e81 },
+ { 0x1e82, 0x1e82 },
+ { 0x1e83, 0x1e83 },
+ { 0x1e84, 0x1e84 },
+ { 0x1e85, 0x1e85 },
+ { 0x1e86, 0x1e86 },
+ { 0x1e87, 0x1e87 },
+ { 0x1e88, 0x1e88 },
+ { 0x1e89, 0x1e89 },
+ { 0x1e8a, 0x1e8a },
+ { 0x1e8b, 0x1e8b },
+ { 0x1e8c, 0x1e8c },
+ { 0x1e8d, 0x1e8d },
+ { 0x1e8e, 0x1e8e },
+ { 0x1e8f, 0x1e8f },
+ { 0x1e90, 0x1e90 },
+ { 0x1e91, 0x1e91 },
+ { 0x1e92, 0x1e92 },
+ { 0x1e93, 0x1e93 },
+ { 0x1e94, 0x1e94 },
+ { 0x1e95, 0x1e9b },
+ { 0x1e9c, 0x1e9f },
+ { 0x1ea0, 0x1ea0 },
+ { 0x1ea1, 0x1ea1 },
+ { 0x1ea2, 0x1ea2 },
+ { 0x1ea3, 0x1ea3 },
+ { 0x1ea4, 0x1ea4 },
+ { 0x1ea5, 0x1ea5 },
+ { 0x1ea6, 0x1ea6 },
+ { 0x1ea7, 0x1ea7 },
+ { 0x1ea8, 0x1ea8 },
+ { 0x1ea9, 0x1ea9 },
+ { 0x1eaa, 0x1eaa },
+ { 0x1eab, 0x1eab },
+ { 0x1eac, 0x1eac },
+ { 0x1ead, 0x1ead },
+ { 0x1eae, 0x1eae },
+ { 0x1eaf, 0x1eaf },
+ { 0x1eb0, 0x1eb0 },
+ { 0x1eb1, 0x1eb1 },
+ { 0x1eb2, 0x1eb2 },
+ { 0x1eb3, 0x1eb3 },
+ { 0x1eb4, 0x1eb4 },
+ { 0x1eb5, 0x1eb5 },
+ { 0x1eb6, 0x1eb6 },
+ { 0x1eb7, 0x1eb7 },
+ { 0x1eb8, 0x1eb8 },
+ { 0x1eb9, 0x1eb9 },
+ { 0x1eba, 0x1eba },
+ { 0x1ebb, 0x1ebb },
+ { 0x1ebc, 0x1ebc },
+ { 0x1ebd, 0x1ebd },
+ { 0x1ebe, 0x1ebe },
+ { 0x1ebf, 0x1ebf },
+ { 0x1ec0, 0x1ec0 },
+ { 0x1ec1, 0x1ec1 },
+ { 0x1ec2, 0x1ec2 },
+ { 0x1ec3, 0x1ec3 },
+ { 0x1ec4, 0x1ec4 },
+ { 0x1ec5, 0x1ec5 },
+ { 0x1ec6, 0x1ec6 },
+ { 0x1ec7, 0x1ec7 },
+ { 0x1ec8, 0x1ec8 },
+ { 0x1ec9, 0x1ec9 },
+ { 0x1eca, 0x1eca },
+ { 0x1ecb, 0x1ecb },
+ { 0x1ecc, 0x1ecc },
+ { 0x1ecd, 0x1ecd },
+ { 0x1ece, 0x1ece },
+ { 0x1ecf, 0x1ecf },
+ { 0x1ed0, 0x1ed0 },
+ { 0x1ed1, 0x1ed1 },
+ { 0x1ed2, 0x1ed2 },
+ { 0x1ed3, 0x1ed3 },
+ { 0x1ed4, 0x1ed4 },
+ { 0x1ed5, 0x1ed5 },
+ { 0x1ed6, 0x1ed6 },
+ { 0x1ed7, 0x1ed7 },
+ { 0x1ed8, 0x1ed8 },
+ { 0x1ed9, 0x1ed9 },
+ { 0x1eda, 0x1eda },
+ { 0x1edb, 0x1edb },
+ { 0x1edc, 0x1edc },
+ { 0x1edd, 0x1edd },
+ { 0x1ede, 0x1ede },
+ { 0x1edf, 0x1edf },
+ { 0x1ee0, 0x1ee0 },
+ { 0x1ee1, 0x1ee1 },
+ { 0x1ee2, 0x1ee2 },
+ { 0x1ee3, 0x1ee3 },
+ { 0x1ee4, 0x1ee4 },
+ { 0x1ee5, 0x1ee5 },
+ { 0x1ee6, 0x1ee6 },
+ { 0x1ee7, 0x1ee7 },
+ { 0x1ee8, 0x1ee8 },
+ { 0x1ee9, 0x1ee9 },
+ { 0x1eea, 0x1eea },
+ { 0x1eeb, 0x1eeb },
+ { 0x1eec, 0x1eec },
+ { 0x1eed, 0x1eed },
+ { 0x1eee, 0x1eee },
+ { 0x1eef, 0x1eef },
+ { 0x1ef0, 0x1ef0 },
+ { 0x1ef1, 0x1ef1 },
+ { 0x1ef2, 0x1ef2 },
+ { 0x1ef3, 0x1ef3 },
+ { 0x1ef4, 0x1ef4 },
+ { 0x1ef5, 0x1ef5 },
+ { 0x1ef6, 0x1ef6 },
+ { 0x1ef7, 0x1ef7 },
+ { 0x1ef8, 0x1ef8 },
+ { 0x1ef9, 0x1ef9 },
+ { 0x1efa, 0x1eff },
+ { 0x1f00, 0x1f07 },
+ { 0x1f08, 0x1f0f },
+ { 0x1f10, 0x1f15 },
+ { 0x1f16, 0x1f17 },
+ { 0x1f18, 0x1f1d },
+ { 0x1f1e, 0x1f1f },
+ { 0x1f20, 0x1f27 },
+ { 0x1f28, 0x1f2f },
+ { 0x1f30, 0x1f37 },
+ { 0x1f38, 0x1f3f },
+ { 0x1f40, 0x1f45 },
+ { 0x1f46, 0x1f47 },
+ { 0x1f48, 0x1f4d },
+ { 0x1f4e, 0x1f4f },
+ { 0x1f50, 0x1f57 },
+ { 0x1f58, 0x1f58 },
+ { 0x1f59, 0x1f59 },
+ { 0x1f5a, 0x1f5a },
+ { 0x1f5b, 0x1f5b },
+ { 0x1f5c, 0x1f5c },
+ { 0x1f5d, 0x1f5d },
+ { 0x1f5e, 0x1f5e },
+ { 0x1f5f, 0x1f5f },
+ { 0x1f60, 0x1f67 },
+ { 0x1f68, 0x1f6f },
+ { 0x1f70, 0x1f7d },
+ { 0x1f7e, 0x1f7f },
+ { 0x1f80, 0x1f87 },
+ { 0x1f88, 0x1f8f },
+ { 0x1f90, 0x1f97 },
+ { 0x1f98, 0x1f9f },
+ { 0x1fa0, 0x1fa7 },
+ { 0x1fa8, 0x1faf },
+ { 0x1fb0, 0x1fb4 },
+ { 0x1fb5, 0x1fb5 },
+ { 0x1fb6, 0x1fb7 },
+ { 0x1fb8, 0x1fbc },
+ { 0x1fbd, 0x1fbd },
+ { 0x1fbe, 0x1fbe },
+ { 0x1fbf, 0x1fc1 },
+ { 0x1fc2, 0x1fc4 },
+ { 0x1fc5, 0x1fc5 },
+ { 0x1fc6, 0x1fc7 },
+ { 0x1fc8, 0x1fcc },
+ { 0x1fcd, 0x1fcf },
+ { 0x1fd0, 0x1fd3 },
+ { 0x1fd4, 0x1fd5 },
+ { 0x1fd6, 0x1fd7 },
+ { 0x1fd8, 0x1fdb },
+ { 0x1fdc, 0x1fdc },
+ { 0x1fdd, 0x1fdf },
+ { 0x1fe0, 0x1fe7 },
+ { 0x1fe8, 0x1fec },
+ { 0x1fed, 0x1fef },
+ { 0x1ff0, 0x1ff1 },
+ { 0x1ff2, 0x1ff4 },
+ { 0x1ff5, 0x1ff5 },
+ { 0x1ff6, 0x1ff7 },
+ { 0x1ff8, 0x1ffc },
+ { 0x1ffd, 0x1ffe },
+ { 0x1fff, 0x1fff },
+ { 0x2000, 0x200b },
+ { 0x200c, 0x200f },
+ { 0x2010, 0x2015 },
+ { 0x2016, 0x2017 },
+ { 0x2018, 0x2018 },
+ { 0x2019, 0x2019 },
+ { 0x201a, 0x201a },
+ { 0x201b, 0x201c },
+ { 0x201d, 0x201d },
+ { 0x201e, 0x201e },
+ { 0x201f, 0x201f },
+ { 0x2020, 0x2027 },
+ { 0x2028, 0x2028 },
+ { 0x2029, 0x2029 },
+ { 0x202a, 0x202e },
+ { 0x202f, 0x202f },
+ { 0x2030, 0x2038 },
+ { 0x2039, 0x2039 },
+ { 0x203a, 0x203a },
+ { 0x203b, 0x203e },
+ { 0x203f, 0x2040 },
+ { 0x2041, 0x2043 },
+ { 0x2044, 0x2044 },
+ { 0x2045, 0x2045 },
+ { 0x2046, 0x2046 },
+ { 0x2047, 0x2069 },
+ { 0x206a, 0x206f },
+ { 0x2070, 0x2070 },
+ { 0x2071, 0x2073 },
+ { 0x2074, 0x2079 },
+ { 0x207a, 0x207c },
+ { 0x207d, 0x207d },
+ { 0x207e, 0x207e },
+ { 0x207f, 0x207f },
+ { 0x2080, 0x2089 },
+ { 0x208a, 0x208c },
+ { 0x208d, 0x208d },
+ { 0x208e, 0x208e },
+ { 0x208f, 0x209f },
+ { 0x20a0, 0x20ac },
+ { 0x20ad, 0x20cf },
+ { 0x20d0, 0x20dc },
+ { 0x20dd, 0x20e0 },
+ { 0x20e1, 0x20e1 },
+ { 0x20e2, 0x20ff },
+ { 0x2100, 0x2101 },
+ { 0x2102, 0x2102 },
+ { 0x2103, 0x2106 },
+ { 0x2107, 0x2107 },
+ { 0x2108, 0x2109 },
+ { 0x210a, 0x210a },
+ { 0x210b, 0x210d },
+ { 0x210e, 0x210f },
+ { 0x2110, 0x2112 },
+ { 0x2113, 0x2113 },
+ { 0x2114, 0x2114 },
+ { 0x2115, 0x2115 },
+ { 0x2116, 0x2117 },
+ { 0x2118, 0x2118 },
+ { 0x2119, 0x211d },
+ { 0x211e, 0x2123 },
+ { 0x2124, 0x2124 },
+ { 0x2125, 0x2125 },
+ { 0x2126, 0x2126 },
+ { 0x2127, 0x2127 },
+ { 0x2128, 0x2128 },
+ { 0x2129, 0x2129 },
+ { 0x212a, 0x212d },
+ { 0x212e, 0x212f },
+ { 0x2130, 0x2131 },
+ { 0x2132, 0x2132 },
+ { 0x2133, 0x2133 },
+ { 0x2134, 0x2134 },
+ { 0x2135, 0x2138 },
+ { 0x2139, 0x2152 },
+ { 0x2153, 0x215f },
+ { 0x2160, 0x2182 },
+ { 0x2183, 0x218f },
+ { 0x2190, 0x2194 },
+ { 0x2195, 0x21d1 },
+ { 0x21d2, 0x21d2 },
+ { 0x21d3, 0x21d3 },
+ { 0x21d4, 0x21d4 },
+ { 0x21d5, 0x21ea },
+ { 0x21eb, 0x21ff },
+ { 0x2200, 0x22f1 },
+ { 0x22f2, 0x22ff },
+ { 0x2300, 0x2300 },
+ { 0x2301, 0x2301 },
+ { 0x2302, 0x2307 },
+ { 0x2308, 0x230b },
+ { 0x230c, 0x231f },
+ { 0x2320, 0x2321 },
+ { 0x2322, 0x2328 },
+ { 0x2329, 0x2329 },
+ { 0x232a, 0x232a },
+ { 0x232b, 0x237a },
+ { 0x237b, 0x23ff },
+ { 0x2400, 0x2424 },
+ { 0x2425, 0x243f },
+ { 0x2440, 0x244a },
+ { 0x244b, 0x245f },
+ { 0x2460, 0x249b },
+ { 0x249c, 0x24e9 },
+ { 0x24ea, 0x24ea },
+ { 0x24eb, 0x24ff },
+ { 0x2500, 0x2595 },
+ { 0x2596, 0x259f },
+ { 0x25a0, 0x25ef },
+ { 0x25f0, 0x25ff },
+ { 0x2600, 0x2613 },
+ { 0x2614, 0x2619 },
+ { 0x261a, 0x266f },
+ { 0x2670, 0x2700 },
+ { 0x2701, 0x2704 },
+ { 0x2705, 0x2705 },
+ { 0x2706, 0x2709 },
+ { 0x270a, 0x270b },
+ { 0x270c, 0x2727 },
+ { 0x2728, 0x2728 },
+ { 0x2729, 0x274b },
+ { 0x274c, 0x274c },
+ { 0x274d, 0x274d },
+ { 0x274e, 0x274e },
+ { 0x274f, 0x2752 },
+ { 0x2753, 0x2755 },
+ { 0x2756, 0x2756 },
+ { 0x2757, 0x2757 },
+ { 0x2758, 0x275e },
+ { 0x275f, 0x2760 },
+ { 0x2761, 0x2767 },
+ { 0x2768, 0x2775 },
+ { 0x2776, 0x2793 },
+ { 0x2794, 0x2794 },
+ { 0x2795, 0x2797 },
+ { 0x2798, 0x27af },
+ { 0x27b0, 0x27b0 },
+ { 0x27b1, 0x27be },
+ { 0x27bf, 0x2fff },
+ { 0x3000, 0x3000 },
+ { 0x3001, 0x3003 },
+ { 0x3004, 0x3004 },
+ { 0x3005, 0x3005 },
+ { 0x3006, 0x3006 },
+ { 0x3007, 0x3007 },
+ { 0x3008, 0x3008 },
+ { 0x3009, 0x3009 },
+ { 0x300a, 0x300a },
+ { 0x300b, 0x300b },
+ { 0x300c, 0x300c },
+ { 0x300d, 0x300d },
+ { 0x300e, 0x300e },
+ { 0x300f, 0x300f },
+ { 0x3010, 0x3010 },
+ { 0x3011, 0x3011 },
+ { 0x3012, 0x3013 },
+ { 0x3014, 0x3014 },
+ { 0x3015, 0x3015 },
+ { 0x3016, 0x3016 },
+ { 0x3017, 0x3017 },
+ { 0x3018, 0x3018 },
+ { 0x3019, 0x3019 },
+ { 0x301a, 0x301a },
+ { 0x301b, 0x301b },
+ { 0x301c, 0x301c },
+ { 0x301d, 0x301d },
+ { 0x301e, 0x301f },
+ { 0x3020, 0x3020 },
+ { 0x3021, 0x3029 },
+ { 0x302a, 0x302f },
+ { 0x3030, 0x3030 },
+ { 0x3031, 0x3035 },
+ { 0x3036, 0x3037 },
+ { 0x3038, 0x303e },
+ { 0x303f, 0x303f },
+ { 0x3040, 0x3040 },
+ { 0x3041, 0x3094 },
+ { 0x3095, 0x3098 },
+ { 0x3099, 0x309a },
+ { 0x309b, 0x309c },
+ { 0x309d, 0x309e },
+ { 0x309f, 0x30a0 },
+ { 0x30a1, 0x30fa },
+ { 0x30fb, 0x30fb },
+ { 0x30fc, 0x30fe },
+ { 0x30ff, 0x3104 },
+ { 0x3105, 0x312c },
+ { 0x312d, 0x3130 },
+ { 0x3131, 0x318e },
+ { 0x318f, 0x318f },
+ { 0x3190, 0x3191 },
+ { 0x3192, 0x3195 },
+ { 0x3196, 0x319f },
+ { 0x31a0, 0x31ff },
+ { 0x3200, 0x321c },
+ { 0x321d, 0x321f },
+ { 0x3220, 0x3229 },
+ { 0x322a, 0x3243 },
+ { 0x3244, 0x325f },
+ { 0x3260, 0x327b },
+ { 0x327c, 0x327e },
+ { 0x327f, 0x327f },
+ { 0x3280, 0x3289 },
+ { 0x328a, 0x32b0 },
+ { 0x32b1, 0x32bf },
+ { 0x32c0, 0x32cb },
+ { 0x32cc, 0x32cf },
+ { 0x32d0, 0x32fe },
+ { 0x32ff, 0x32ff },
+ { 0x3300, 0x3376 },
+ { 0x3377, 0x337a },
+ { 0x337b, 0x33dd },
+ { 0x33de, 0x33df },
+ { 0x33e0, 0x33fe },
+ { 0x33ff, 0x4dff },
+ { 0x4e00, 0x9fa5 },
+ { 0x9fa6, 0xabff },
+ { 0xac00, 0xd7a3 },
+ { 0xd7a4, 0xd7ff },
+ { 0xd800, 0xdfff },
+ { 0xe000, 0xf8ff },
+ { 0xf900, 0xfa2d },
+ { 0xfa2e, 0xfaff },
+ { 0xfb00, 0xfb06 },
+ { 0xfb07, 0xfb12 },
+ { 0xfb13, 0xfb17 },
+ { 0xfb18, 0xfb1d },
+ { 0xfb1e, 0xfb1e },
+ { 0xfb1f, 0xfb28 },
+ { 0xfb29, 0xfb29 },
+ { 0xfb2a, 0xfb36 },
+ { 0xfb37, 0xfb37 },
+ { 0xfb38, 0xfb3c },
+ { 0xfb3d, 0xfb3d },
+ { 0xfb3e, 0xfb3e },
+ { 0xfb3f, 0xfb3f },
+ { 0xfb40, 0xfb41 },
+ { 0xfb42, 0xfb42 },
+ { 0xfb43, 0xfb44 },
+ { 0xfb45, 0xfb45 },
+ { 0xfb46, 0xfbb1 },
+ { 0xfbb2, 0xfbd2 },
+ { 0xfbd3, 0xfd3d },
+ { 0xfd3e, 0xfd3e },
+ { 0xfd3f, 0xfd3f },
+ { 0xfd40, 0xfd4f },
+ { 0xfd50, 0xfd8f },
+ { 0xfd90, 0xfd91 },
+ { 0xfd92, 0xfdc7 },
+ { 0xfdc8, 0xfdef },
+ { 0xfdf0, 0xfdfb },
+ { 0xfdfc, 0xfe1f },
+ { 0xfe20, 0xfe23 },
+ { 0xfe24, 0xfe2f },
+ { 0xfe30, 0xfe30 },
+ { 0xfe31, 0xfe32 },
+ { 0xfe33, 0xfe34 },
+ { 0xfe35, 0xfe35 },
+ { 0xfe36, 0xfe36 },
+ { 0xfe37, 0xfe37 },
+ { 0xfe38, 0xfe38 },
+ { 0xfe39, 0xfe39 },
+ { 0xfe3a, 0xfe3a },
+ { 0xfe3b, 0xfe3b },
+ { 0xfe3c, 0xfe3c },
+ { 0xfe3d, 0xfe3d },
+ { 0xfe3e, 0xfe3e },
+ { 0xfe3f, 0xfe3f },
+ { 0xfe40, 0xfe40 },
+ { 0xfe41, 0xfe41 },
+ { 0xfe42, 0xfe42 },
+ { 0xfe43, 0xfe43 },
+ { 0xfe44, 0xfe44 },
+ { 0xfe45, 0xfe48 },
+ { 0xfe49, 0xfe4c },
+ { 0xfe4d, 0xfe4f },
+ { 0xfe50, 0xfe52 },
+ { 0xfe53, 0xfe53 },
+ { 0xfe54, 0xfe57 },
+ { 0xfe58, 0xfe58 },
+ { 0xfe59, 0xfe59 },
+ { 0xfe5a, 0xfe5a },
+ { 0xfe5b, 0xfe5b },
+ { 0xfe5c, 0xfe5c },
+ { 0xfe5d, 0xfe5d },
+ { 0xfe5e, 0xfe5e },
+ { 0xfe5f, 0xfe61 },
+ { 0xfe62, 0xfe62 },
+ { 0xfe63, 0xfe63 },
+ { 0xfe64, 0xfe66 },
+ { 0xfe67, 0xfe67 },
+ { 0xfe68, 0xfe68 },
+ { 0xfe69, 0xfe69 },
+ { 0xfe6a, 0xfe6b },
+ { 0xfe6c, 0xfe6f },
+ { 0xfe70, 0xfe72 },
+ { 0xfe73, 0xfe73 },
+ { 0xfe74, 0xfe74 },
+ { 0xfe75, 0xfe75 },
+ { 0xfe76, 0xfefc },
+ { 0xfefd, 0xfefe },
+ { 0xfeff, 0xfeff },
+ { 0xff00, 0xff00 },
+ { 0xff01, 0xff03 },
+ { 0xff04, 0xff04 },
+ { 0xff05, 0xff07 },
+ { 0xff08, 0xff08 },
+ { 0xff09, 0xff09 },
+ { 0xff0a, 0xff0a },
+ { 0xff0b, 0xff0b },
+ { 0xff0c, 0xff0c },
+ { 0xff0d, 0xff0d },
+ { 0xff0e, 0xff0f },
+ { 0xff10, 0xff19 },
+ { 0xff1a, 0xff1b },
+ { 0xff1c, 0xff1e },
+ { 0xff1f, 0xff20 },
+ { 0xff21, 0xff3a },
+ { 0xff3b, 0xff3b },
+ { 0xff3c, 0xff3c },
+ { 0xff3d, 0xff3d },
+ { 0xff3e, 0xff3e },
+ { 0xff3f, 0xff3f },
+ { 0xff40, 0xff40 },
+ { 0xff41, 0xff5a },
+ { 0xff5b, 0xff5b },
+ { 0xff5c, 0xff5c },
+ { 0xff5d, 0xff5d },
+ { 0xff5e, 0xff5e },
+ { 0xff5f, 0xff60 },
+ { 0xff61, 0xff61 },
+ { 0xff62, 0xff62 },
+ { 0xff63, 0xff63 },
+ { 0xff64, 0xff64 },
+ { 0xff65, 0xff65 },
+ { 0xff66, 0xff6f },
+ { 0xff70, 0xff70 },
+ { 0xff71, 0xff9d },
+ { 0xff9e, 0xff9f },
+ { 0xffa0, 0xffbe },
+ { 0xffbf, 0xffc1 },
+ { 0xffc2, 0xffc7 },
+ { 0xffc8, 0xffc9 },
+ { 0xffca, 0xffcf },
+ { 0xffd0, 0xffd1 },
+ { 0xffd2, 0xffd7 },
+ { 0xffd8, 0xffd9 },
+ { 0xffda, 0xffdc },
+ { 0xffdd, 0xffdf },
+ { 0xffe0, 0xffe1 },
+ { 0xffe2, 0xffe2 },
+ { 0xffe3, 0xffe3 },
+ { 0xffe4, 0xffe4 },
+ { 0xffe5, 0xffe6 },
+ { 0xffe7, 0xffe7 },
+ { 0xffe8, 0xffec },
+ { 0xffed, 0xffee },
+ { 0xffef, 0xfffb },
+ { 0xfffc, 0xfffd },
+ { 0xfffe, 0xffff }
+ };
+
+static const jbyte category_table[] =
+ { java::lang::Character::CONTROL,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::TITLECASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::TITLECASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::TITLECASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::TITLECASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::ENCLOSING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::FORMAT,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::LINE_SEPARATOR,
+ java::lang::Character::PARAGRAPH_SEPARATOR,
+ java::lang::Character::FORMAT,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::FORMAT,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::ENCLOSING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::FORMAT,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED
+ };
+
+#else /* COMPACT_CHARACTER */
+
+#define ROMAN_START 0x2160
+#define ROMAN_END 0x217f
+
+static const jbyte type_table[] =
+{ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::CONTROL,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::TITLECASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::TITLECASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::TITLECASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::TITLECASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::ENCLOSING_MARK,
+ java::lang::Character::ENCLOSING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::COMBINING_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::FORMAT,
+ java::lang::Character::FORMAT,
+ java::lang::Character::FORMAT,
+ java::lang::Character::FORMAT,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::LINE_SEPARATOR,
+ java::lang::Character::PARAGRAPH_SEPARATOR,
+ java::lang::Character::FORMAT,
+ java::lang::Character::FORMAT,
+ java::lang::Character::FORMAT,
+ java::lang::Character::FORMAT,
+ java::lang::Character::FORMAT,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::FORMAT,
+ java::lang::Character::FORMAT,
+ java::lang::Character::FORMAT,
+ java::lang::Character::FORMAT,
+ java::lang::Character::FORMAT,
+ java::lang::Character::FORMAT,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::ENCLOSING_MARK,
+ java::lang::Character::ENCLOSING_MARK,
+ java::lang::Character::ENCLOSING_MARK,
+ java::lang::Character::ENCLOSING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::SPACE_SEPARATOR,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::LETTER_NUMBER,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_NUMBER,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::SURROGATE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::PRIVATE_USE,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::NON_SPACING_MARK,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::FORMAT,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::DASH_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::DECIMAL_DIGIT_NUMBER,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::UPPERCASE_LETTER,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::LOWERCASE_LETTER,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::START_PUNCTUATION,
+ java::lang::Character::END_PUNCTUATION,
+ java::lang::Character::OTHER_PUNCTUATION,
+ java::lang::Character::CONNECTOR_PUNCTUATION,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::MODIFIER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::OTHER_LETTER,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MODIFIER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::CURRENCY_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::MATH_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::OTHER_SYMBOL,
+ java::lang::Character::UNASSIGNED,
+ java::lang::Character::UNASSIGNED
+
+ };
+
+static const jshort attribute_table[] =
+{ 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 1, 2, 3,
+ 4, 5, 6, 7, 8,
+ 9, 0, 0, 0, 0,
+ 0, 0, 0, 97, 98,
+ 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108,
+ 109, 110, 111, 112, 113,
+ 114, 115, 116, 117, 118,
+ 119, 120, 121, 122, 0,
+ 0, 0, 0, 0, 0,
+ 65, 66, 67, 68, 69,
+ 70, 71, 72, 73, 74,
+ 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84,
+ 85, 86, 87, 88, 89,
+ 90, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 2, 3, 0, 0,
+ 0, 0, 0, 1, 0,
+ 0, -2, -2, -2, 0,
+ 224, 225, 226, 227, 228,
+ 229, 230, 231, 232, 233,
+ 234, 235, 236, 237, 238,
+ 239, 240, 241, 242, 243,
+ 244, 245, 246, 0, 248,
+ 249, 250, 251, 252, 253,
+ 254, 0, 192, 193, 194,
+ 195, 196, 197, 198, 199,
+ 200, 201, 202, 203, 204,
+ 205, 206, 207, 208, 209,
+ 210, 211, 212, 213, 214,
+ 0, 216, 217, 218, 219,
+ 220, 221, 222, 376, 257,
+ 256, 259, 258, 261, 260,
+ 263, 262, 265, 264, 267,
+ 266, 269, 268, 271, 270,
+ 273, 272, 275, 274, 277,
+ 276, 279, 278, 281, 280,
+ 283, 282, 285, 284, 287,
+ 286, 289, 288, 291, 290,
+ 293, 292, 295, 294, 297,
+ 296, 299, 298, 301, 300,
+ 303, 302, 105, 73, 307,
+ 306, 309, 308, 311, 310,
+ 0, 314, 313, 316, 315,
+ 318, 317, 320, 319, 322,
+ 321, 324, 323, 326, 325,
+ 328, 327, 0, 331, 330,
+ 333, 332, 335, 334, 337,
+ 336, 339, 338, 341, 340,
+ 343, 342, 345, 344, 347,
+ 346, 349, 348, 351, 350,
+ 353, 352, 355, 354, 357,
+ 356, 359, 358, 361, 360,
+ 363, 362, 365, 364, 367,
+ 366, 369, 368, 371, 370,
+ 373, 372, 375, 374, 255,
+ 378, 377, 380, 379, 382,
+ 381, 83, 0, 595, 387,
+ 386, 389, 388, 596, 392,
+ 391, 598, 599, 396, 395,
+ 0, 477, 601, 603, 402,
+ 401, 608, 611, 0, 617,
+ 616, 409, 408, 0, 0,
+ 623, 626, 0, 629, 417,
+ 416, 419, 418, 421, 420,
+ 640, 424, 423, 643, 0,
+ 0, 429, 428, 648, 432,
+ 431, 650, 651, 436, 435,
+ 438, 437, 658, 441, 440,
+ 0, 0, 445, 444, 0,
+ 0, 0, 0, 0, 0,
+ 454, 0, 452, 457, 0,
+ 455, 460, 0, 458, 462,
+ 461, 464, 463, 466, 465,
+ 468, 467, 470, 469, 472,
+ 471, 474, 473, 476, 475,
+ 398, 479, 478, 481, 480,
+ 483, 482, 485, 484, 487,
+ 486, 489, 488, 491, 490,
+ 493, 492, 495, 494, 0,
+ 499, 0, 497, 501, 500,
+ 0, 0, 0, 0, 507,
+ 506, 509, 508, 511, 510,
+ 513, 512, 515, 514, 517,
+ 516, 519, 518, 521, 520,
+ 523, 522, 525, 524, 527,
+ 526, 529, 528, 531, 530,
+ 533, 532, 535, 534, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 385, 390,
+ 0, 393, 394, 0, 399,
+ 0, 400, 0, 0, 0,
+ 0, 403, 0, 0, 404,
+ 0, 0, 0, 0, 407,
+ 406, 0, 0, 0, 0,
+ 0, 412, 0, 0, 413,
+ 0, 0, 415, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 422, 0,
+ 0, 425, 0, 0, 0,
+ 0, 430, 0, 433, 434,
+ 0, 0, 0, 0, 0,
+ 0, 439, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 921, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 940, 0, 941, 942, 943,
+ 0, 972, 0, 973, 974,
+ 0, 945, 946, 947, 948,
+ 949, 950, 951, 952, 953,
+ 954, 955, 956, 957, 958,
+ 959, 960, 961, 0, 963,
+ 964, 965, 966, 967, 968,
+ 969, 970, 971, 902, 904,
+ 905, 906, 0, 913, 914,
+ 915, 916, 917, 918, 919,
+ 920, 921, 922, 923, 924,
+ 925, 926, 927, 928, 929,
+ 931, 931, 932, 933, 934,
+ 935, 936, 937, 938, 939,
+ 908, 910, 911, 0, 914,
+ 920, 0, 0, 0, 934,
+ 928, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 995, 994, 997,
+ 996, 999, 998, 1001, 1000,
+ 1003, 1002, 1005, 1004, 1007,
+ 1006, 922, 929, 931, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 1105, 1106,
+ 1107, 1108, 1109, 1110, 1111,
+ 1112, 1113, 1114, 1115, 1116,
+ 0, 1118, 1119, 1072, 1073,
+ 1074, 1075, 1076, 1077, 1078,
+ 1079, 1080, 1081, 1082, 1083,
+ 1084, 1085, 1086, 1087, 1088,
+ 1089, 1090, 1091, 1092, 1093,
+ 1094, 1095, 1096, 1097, 1098,
+ 1099, 1100, 1101, 1102, 1103,
+ 1040, 1041, 1042, 1043, 1044,
+ 1045, 1046, 1047, 1048, 1049,
+ 1050, 1051, 1052, 1053, 1054,
+ 1055, 1056, 1057, 1058, 1059,
+ 1060, 1061, 1062, 1063, 1064,
+ 1065, 1066, 1067, 1068, 1069,
+ 1070, 1071, 0, 1025, 1026,
+ 1027, 1028, 1029, 1030, 1031,
+ 1032, 1033, 1034, 1035, 1036,
+ 0, 1038, 1039, 1121, 1120,
+ 1123, 1122, 1125, 1124, 1127,
+ 1126, 1129, 1128, 1131, 1130,
+ 1133, 1132, 1135, 1134, 1137,
+ 1136, 1139, 1138, 1141, 1140,
+ 1143, 1142, 1145, 1144, 1147,
+ 1146, 1149, 1148, 1151, 1150,
+ 1153, 1152, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 1169, 1168, 1171, 1170,
+ 1173, 1172, 1175, 1174, 1177,
+ 1176, 1179, 1178, 1181, 1180,
+ 1183, 1182, 1185, 1184, 1187,
+ 1186, 1189, 1188, 1191, 1190,
+ 1193, 1192, 1195, 1194, 1197,
+ 1196, 1199, 1198, 1201, 1200,
+ 1203, 1202, 1205, 1204, 1207,
+ 1206, 1209, 1208, 1211, 1210,
+ 1213, 1212, 1215, 1214, 0,
+ 1218, 1217, 1220, 1219, 0,
+ 0, 1224, 1223, 0, 0,
+ 1228, 1227, 0, 0, 0,
+ 1233, 1232, 1235, 1234, 1237,
+ 1236, 1239, 1238, 1241, 1240,
+ 1243, 1242, 1245, 1244, 1247,
+ 1246, 1249, 1248, 1251, 1250,
+ 1253, 1252, 1255, 1254, 1257,
+ 1256, 1259, 1258, 0, 0,
+ 1263, 1262, 1265, 1264, 1267,
+ 1266, 1269, 1268, 0, 0,
+ 1273, 1272, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 1377, 1378, 1379,
+ 1380, 1381, 1382, 1383, 1384,
+ 1385, 1386, 1387, 1388, 1389,
+ 1390, 1391, 1392, 1393, 1394,
+ 1395, 1396, 1397, 1398, 1399,
+ 1400, 1401, 1402, 1403, 1404,
+ 1405, 1406, 1407, 1408, 1409,
+ 1410, 1411, 1412, 1413, 1414,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1329, 1330, 1331, 1332, 1333,
+ 1334, 1335, 1336, 1337, 1338,
+ 1339, 1340, 1341, 1342, 1343,
+ 1344, 1345, 1346, 1347, 1348,
+ 1349, 1350, 1351, 1352, 1353,
+ 1354, 1355, 1356, 1357, 1358,
+ 1359, 1360, 1361, 1362, 1363,
+ 1364, 1365, 1366, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 2,
+ 3, 4, 5, 6, 7,
+ 8, 9, 0, 0, 0,
+ 0, 1, 2, 3, 4,
+ -2, 16, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1,
+ 2, 3, 4, 5, 6,
+ 7, 8, 9, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 1, 2, 3,
+ 4, 5, 6, 7, 8,
+ 9, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10,
+ 100, 1000, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 2,
+ 3, 4, 5, 6, 7,
+ 8, 9, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1,
+ 2, 3, 4, 5, 6,
+ 7, 8, 9, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 2,
+ 3, 4, 5, 6, 7,
+ 8, 9, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 4304,
+ 4305, 4306, 4307, 4308, 4309,
+ 4310, 4311, 4312, 4313, 4314,
+ 4315, 4316, 4317, 4318, 4319,
+ 4320, 4321, 4322, 4323, 4324,
+ 4325, 4326, 4327, 4328, 4329,
+ 4330, 4331, 4332, 4333, 4334,
+ 4335, 4336, 4337, 4338, 4339,
+ 4340, 4341, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 7681, 7680,
+ 7683, 7682, 7685, 7684, 7687,
+ 7686, 7689, 7688, 7691, 7690,
+ 7693, 7692, 7695, 7694, 7697,
+ 7696, 7699, 7698, 7701, 7700,
+ 7703, 7702, 7705, 7704, 7707,
+ 7706, 7709, 7708, 7711, 7710,
+ 7713, 7712, 7715, 7714, 7717,
+ 7716, 7719, 7718, 7721, 7720,
+ 7723, 7722, 7725, 7724, 7727,
+ 7726, 7729, 7728, 7731, 7730,
+ 7733, 7732, 7735, 7734, 7737,
+ 7736, 7739, 7738, 7741, 7740,
+ 7743, 7742, 7745, 7744, 7747,
+ 7746, 7749, 7748, 7751, 7750,
+ 7753, 7752, 7755, 7754, 7757,
+ 7756, 7759, 7758, 7761, 7760,
+ 7763, 7762, 7765, 7764, 7767,
+ 7766, 7769, 7768, 7771, 7770,
+ 7773, 7772, 7775, 7774, 7777,
+ 7776, 7779, 7778, 7781, 7780,
+ 7783, 7782, 7785, 7784, 7787,
+ 7786, 7789, 7788, 7791, 7790,
+ 7793, 7792, 7795, 7794, 7797,
+ 7796, 7799, 7798, 7801, 7800,
+ 7803, 7802, 7805, 7804, 7807,
+ 7806, 7809, 7808, 7811, 7810,
+ 7813, 7812, 7815, 7814, 7817,
+ 7816, 7819, 7818, 7821, 7820,
+ 7823, 7822, 7825, 7824, 7827,
+ 7826, 7829, 7828, 0, 0,
+ 0, 0, 0, 7776, 0,
+ 0, 0, 0, 7841, 7840,
+ 7843, 7842, 7845, 7844, 7847,
+ 7846, 7849, 7848, 7851, 7850,
+ 7853, 7852, 7855, 7854, 7857,
+ 7856, 7859, 7858, 7861, 7860,
+ 7863, 7862, 7865, 7864, 7867,
+ 7866, 7869, 7868, 7871, 7870,
+ 7873, 7872, 7875, 7874, 7877,
+ 7876, 7879, 7878, 7881, 7880,
+ 7883, 7882, 7885, 7884, 7887,
+ 7886, 7889, 7888, 7891, 7890,
+ 7893, 7892, 7895, 7894, 7897,
+ 7896, 7899, 7898, 7901, 7900,
+ 7903, 7902, 7905, 7904, 7907,
+ 7906, 7909, 7908, 7911, 7910,
+ 7913, 7912, 7915, 7914, 7917,
+ 7916, 7919, 7918, 7921, 7920,
+ 7923, 7922, 7925, 7924, 7927,
+ 7926, 7929, 7928, 0, 0,
+ 0, 0, 0, 0, 7944,
+ 7945, 7946, 7947, 7948, 7949,
+ 7950, 7951, 7936, 7937, 7938,
+ 7939, 7940, 7941, 7942, 7943,
+ 7960, 7961, 7962, 7963, 7964,
+ 7965, 0, 0, 7952, 7953,
+ 7954, 7955, 7956, 7957, 0,
+ 0, 7976, 7977, 7978, 7979,
+ 7980, 7981, 7982, 7983, 7968,
+ 7969, 7970, 7971, 7972, 7973,
+ 7974, 7975, 7992, 7993, 7994,
+ 7995, 7996, 7997, 7998, 7999,
+ 7984, 7985, 7986, 7987, 7988,
+ 7989, 7990, 7991, 8008, 8009,
+ 8010, 8011, 8012, 8013, 0,
+ 0, 8000, 8001, 8002, 8003,
+ 8004, 8005, 0, 0, 0,
+ 8025, 0, 8027, 0, 8029,
+ 0, 8031, 0, 8017, 0,
+ 8019, 0, 8021, 0, 8023,
+ 8040, 8041, 8042, 8043, 8044,
+ 8045, 8046, 8047, 8032, 8033,
+ 8034, 8035, 8036, 8037, 8038,
+ 8039, 8122, 8123, 8136, 8137,
+ 8138, 8139, 8154, 8155, 8184,
+ 8185, 8170, 8171, 8186, 8187,
+ 0, 0, 8072, 8073, 8074,
+ 8075, 8076, 8077, 8078, 8079,
+ 8064, 8065, 8066, 8067, 8068,
+ 8069, 8070, 8071, 8088, 8089,
+ 8090, 8091, 8092, 8093, 8094,
+ 8095, 8080, 8081, 8082, 8083,
+ 8084, 8085, 8086, 8087, 8104,
+ 8105, 8106, 8107, 8108, 8109,
+ 8110, 8111, 8096, 8097, 8098,
+ 8099, 8100, 8101, 8102, 8103,
+ 8120, 8121, 0, 8124, 0,
+ 0, 0, 0, 8112, 8113,
+ 8048, 8049, 8115, 0, 921,
+ 0, 0, 0, 0, 8140,
+ 0, 0, 0, 0, 8050,
+ 8051, 8052, 8053, 8131, 0,
+ 0, 0, 8152, 8153, 0,
+ 0, 0, 0, 0, 0,
+ 8144, 8145, 8054, 8055, 0,
+ 0, 0, 0, 8168, 8169,
+ 0, 0, 0, 8172, 0,
+ 0, 8160, 8161, 8058, 8059,
+ 8165, 0, 0, 0, 0,
+ 0, 0, 8188, 0, 0,
+ 0, 0, 8056, 8057, 8060,
+ 8061, 8179, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 4, 5, 6, 7,
+ 8, 9, 0, 0, 0,
+ 0, 0, 0, 0, 1,
+ 2, 3, 4, 5, 6,
+ 7, 8, 9, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, -2,
+ -2, -2, -2, -2, -2,
+ -2, -2, -2, -2, -2,
+ -2, 1, 8560, 8561, 8562,
+ 8563, 8564, 8565, 8566, 8567,
+ 8568, 8569, 8570, 8571, 8572,
+ 8573, 8574, 8575, 8544, 8545,
+ 8546, 8547, 8548, 8549, 8550,
+ 8551, 8552, 8553, 8554, 8555,
+ 8556, 8557, 8558, 8559, 1000,
+ 5000, 10000, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20,
+ 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20,
+ 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10,
+ 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 9424, 9425, 9426, 9427,
+ 9428, 9429, 9430, 9431, 9432,
+ 9433, 9434, 9435, 9436, 9437,
+ 9438, 9439, 9440, 9441, 9442,
+ 9443, 9444, 9445, 9446, 9447,
+ 9448, 9449, 9398, 9399, 9400,
+ 9401, 9402, 9403, 9404, 9405,
+ 9406, 9407, 9408, 9409, 9410,
+ 9411, 9412, 9413, 9414, 9415,
+ 9416, 9417, 9418, 9419, 9420,
+ 9421, 9422, 9423, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10,
+ 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10,
+ 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 10,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 1,
+ 2, 3, 4, 5, 6,
+ 7, 8, 9, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 1, 2, 3, 4,
+ 5, 6, 7, 8, 9,
+ 10, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 1, 2, 3, 4, 5,
+ 6, 7, 8, 9, 0,
+ 0, 0, 0, 0, 0,
+ 0, 65345, 65346, 65347, 65348,
+ 65349, 65350, 65351, 65352, 65353,
+ 65354, 65355, 65356, 65357, 65358,
+ 65359, 65360, 65361, 65362, 65363,
+ 65364, 65365, 65366, 65367, 65368,
+ 65369, 65370, 0, 0, 0,
+ 0, 0, 0, 65313, 65314,
+ 65315, 65316, 65317, 65318, 65319,
+ 65320, 65321, 65322, 65323, 65324,
+ 65325, 65326, 65327, 65328, 65329,
+ 65330, 65331, 65332, 65333, 65334,
+ 65335, 65336, 65337, 65338, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0,
+ 0, 0, 0, 0
+ };
+
+static const jshort secondary_attribute_table[] =
+{ 1, 2, 3,
+ 4, 5, 6, 7, 8,
+ 9, 10, 11, 12, 50,
+ 100, 500, 1000, 1, 2,
+ 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12,
+ 50, 100, 500, 1000
+ };
+
+#endif /* COMPACT_CHARACTER */
+
+#endif /* __JAVA_CHARTABLES_H__ */
diff --git a/libjava/include/java-field.h b/libjava/include/java-field.h
new file mode 100644
index 0000000..b4529fc
--- /dev/null
+++ b/libjava/include/java-field.h
@@ -0,0 +1,158 @@
+// java-field.h - Header file for fieldID instances. -*- c++ -*-
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#ifndef __JAVA_FIELD_H__
+#define __JAVA_FIELD_H__
+
+#include <java/lang/Class.h>
+#include <java/lang/reflect/Field.h>
+
+#define _Jv_FIELD_UNRESOLVED_FLAG 0x8000
+#define _Jv_FIELD_CONSTANT_VALUE 0x4000
+
+struct _Jv_Field
+{
+#ifndef COMPACT_FIELDS
+ struct _Jv_Utf8Const* name;
+#endif
+
+ /* The type of the field, if isResolved().
+ If !isResolved(): The fields's signature as a (Utf8Const*). */
+ jclass type;
+
+ _Jv_ushort flags;
+
+#ifdef COMPACT_FIELDS
+ short nameIndex; /* ofsfet in class's name table */
+#else
+ _Jv_ushort bsize; /* not really needed ... */
+#endif
+
+ union {
+ int boffset; /* offset in bytes for instance field */
+ void* addr; /* address of static field */
+ } u;
+
+#ifdef __cplusplus
+ jboolean isResolved ()
+ { return ! (flags & _Jv_FIELD_UNRESOLVED_FLAG); }
+
+ public:
+
+ int getOffset () { return u.boffset; }
+
+ jobject getObjectField (jobject obj)
+ { return *(jobject *)((char *)obj + getOffset ()); }
+
+ jfieldID getNextInstanceField () { return this + 1; }
+
+ jboolean isRef () { return ! isResolved () || ! type->isPrimitive (); }
+
+ // FIXME - may need to mask off internal flags.
+ int getModifiers() { return flags; }
+
+#ifdef COMPACT_FIELDS
+ _Jv_Utf8Const * getNameUtf8Const (jclass cls)
+ { return clas->fieldNames + nameIndex; }
+#else
+ _Jv_Utf8Const * getNameUtf8Const (jclass) { return name; }
+#endif
+#endif
+};
+
+#ifdef __cplusplus
+inline jbyte
+_Jv_GetStaticByteField (jclass, _Jv_Field* field)
+{
+ return * (jbyte *) field->u.addr;
+}
+
+inline jshort
+_Jv_GetStaticShortField (jclass, _Jv_Field* field)
+{
+ return * (jshort *) field->u.addr;
+}
+
+inline jint
+_Jv_GetStaticIntField (jclass, _Jv_Field* field)
+{
+ return * (jint *) field->u.addr;
+}
+
+inline jlong
+_Jv_GetStaticLongField (jclass, _Jv_Field* field)
+{
+ return * (jlong *) field->u.addr;
+}
+
+inline jobject
+_Jv_GetObjectField (jobject obj, _Jv_Field* field)
+{
+ return field->getObjectField (obj);
+}
+
+inline jbyte
+_Jv_GetByteField (jobject obj, _Jv_Field* field)
+{
+ return * (jbyte *) ((char*) obj + field->getOffset ());
+}
+
+inline jshort
+_Jv_GetShortField (jobject obj, _Jv_Field* field)
+{
+ return * (jshort *) ((char*) obj + field->getOffset ());
+}
+inline jint
+_Jv_GetIntField (jobject obj, _Jv_Field* field)
+{
+ return * (jint *) ((char*) obj + field->getOffset ());
+}
+inline jlong
+_Jv_GetLongField (jobject obj, _Jv_Field* field)
+{
+ return * (jlong *) ((char*) obj + field->getOffset ());
+}
+
+extern inline jfieldID
+_Jv_FromReflectedField (java::lang::reflect::Field *field)
+{
+ return (jfieldID) ((char *) field->declaringClass->fields + field->offset);
+}
+
+
+#ifdef __JAVA_CNI_H__
+extern inline jfieldID
+JvGetFirstInstanceField (jclass klass)
+{
+ return &(klass->fields[klass->static_field_count]);
+}
+
+extern inline jint
+JvNumInstanceFields (jclass klass)
+{
+ return klass->field_count - klass->static_field_count;
+}
+
+extern inline jboolean
+JvFieldIsRef (jfieldID field)
+{
+ return field->isRef ();
+}
+
+extern inline jobject
+JvGetObjectField (jobject obj, _Jv_Field* field)
+{
+ return _Jv_GetObjectField (obj, field);
+}
+#endif /* defined (__JAVA_CNI_H__) */
+
+#endif
+
+#endif /* __JAVA_FIELD_H */
diff --git a/libjava/include/java-method.h b/libjava/include/java-method.h
new file mode 100644
index 0000000..1bda471
--- /dev/null
+++ b/libjava/include/java-method.h
@@ -0,0 +1,16 @@
+// java-method.h - Header file for methodID instances. -*- c++ -*-
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+extern inline jmethodID
+_Jv_FromReflectedMethod(java::lang::reflect::Method *method)
+{
+ return (jmethodID)
+ ((char *) method->declaringClass->methods + method->offset);
+}
diff --git a/libjava/include/javaprims.h b/libjava/include/javaprims.h
new file mode 100644
index 0000000..83c2cf9
--- /dev/null
+++ b/libjava/include/javaprims.h
@@ -0,0 +1,262 @@
+// javaprims.h - Main external header file for libgcj. -*- c++ -*-
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#ifndef __JAVAPRIMS_H__
+#define __JAVAPRIMS_H__
+
+// To force selection of correct types that will mangle consistently
+// across platforms.
+extern "Java"
+{
+ typedef __java_byte jbyte;
+ typedef __java_short jshort;
+ typedef __java_int jint;
+ typedef __java_long jlong;
+ typedef __java_float jfloat;
+ typedef __java_double jdouble;
+ typedef __java_char jchar;
+ typedef __java_boolean jboolean;
+ typedef jint jsize;
+
+ // The following class declarations are automatically generated by
+ // the `classes.pl' script.
+ namespace java
+ {
+ namespace io
+ {
+ class BufferedInputStream;
+ class BufferedOutputStream;
+ class BufferedReader;
+ class BufferedWriter;
+ class ByteArrayInputStream;
+ class ByteArrayOutputStream;
+ class CharArrayReader;
+ class CharArrayWriter;
+ class CharConversionException;
+ class DataInput;
+ class DataInputStream;
+ class DataOutput;
+ class DataOutputStream;
+ class EOFException;
+ class File;
+ class FileDescriptor;
+ class FileInputStream;
+ class FileNotFoundException;
+ class FileOutputStream;
+ class FileReader;
+ class FileWriter;
+ class FilenameFilter;
+ class FilterInputStream;
+ class FilterOutputStream;
+ class FilterReader;
+ class FilterWriter;
+ class IOException;
+ class InputStream;
+ class InputStreamReader;
+ class InterruptedIOException;
+ class LineNumberInputStream;
+ class LineNumberReader;
+ class OutputStream;
+ class OutputStreamWriter;
+ class PipedInputStream;
+ class PipedOutputStream;
+ class PipedReader;
+ class PipedWriter;
+ class PrintStream;
+ class PrintWriter;
+ class PushbackInputStream;
+ class PushbackReader;
+ class RandomAccessFile;
+ class Reader;
+ class SequenceInputStream;
+ class Serializable;
+ class StreamTokenizer;
+ class StringBufferInputStream;
+ class StringReader;
+ class StringWriter;
+ class SyncFailedException;
+ class UTFDataFormatException;
+ class UnsupportedEncodingException;
+ class Writer;
+ };
+
+ namespace lang
+ {
+ class AbstractMethodError;
+ class ArithmeticException;
+ class ArrayIndexOutOfBoundsException;
+ class ArrayStoreException;
+ class Boolean;
+ class Byte;
+ class Character;
+ class Class;
+ class ClassCastException;
+ class ClassCircularityError;
+ class ClassFormatError;
+ class ClassLoader;
+ class ClassNotFoundException;
+ class CloneNotSupportedException;
+ class Cloneable;
+ class Comparable;
+ class Compiler;
+ class Double;
+ class Error;
+ class Exception;
+ class ExceptionInInitializerError;
+ class FirstThread;
+ class Float;
+ class IllegalAccessError;
+ class IllegalAccessException;
+ class IllegalArgumentException;
+ class IllegalMonitorStateException;
+ class IllegalStateException;
+ class IllegalThreadStateException;
+ class IncompatibleClassChangeError;
+ class IndexOutOfBoundsException;
+ class InstantiationError;
+ class InstantiationException;
+ class Integer;
+ class InternalError;
+ class InterruptedException;
+ class LinkageError;
+ class Long;
+ class Math;
+ class NegativeArraySizeException;
+ class NoClassDefFoundError;
+ class NoSuchFieldError;
+ class NoSuchFieldException;
+ class NoSuchMethodError;
+ class NoSuchMethodException;
+ class NullPointerException;
+ class Number;
+ class NumberFormatException;
+ class Object;
+ class OutOfMemoryError;
+ class Process;
+ class Runnable;
+ class Runtime;
+ class RuntimeException;
+ class SecurityException;
+ class SecurityManager;
+ class Short;
+ class StackOverflowError;
+ class String;
+ class StringBuffer;
+ class StringIndexOutOfBoundsException;
+ class System;
+ class Thread;
+ class ThreadDeath;
+ class ThreadGroup;
+ class Throwable;
+ class UnknownError;
+ class UnsatisfiedLinkError;
+ class UnsupportedOperationException;
+ class VerifyError;
+ class VirtualMachineError;
+ class Void;
+
+ namespace reflect
+ {
+ class AccessibleObject;
+ class Array;
+ class Constructor;
+ class Field;
+ class InvocationTargetException;
+ class Member;
+ class Method;
+ class Modifier;
+ };
+ };
+
+ namespace util
+ {
+ class BitSet;
+ class Calendar;
+ class ConcurrentModificationException;
+ class Date;
+ class Dictionary;
+ class EmptyStackException;
+ class Enumeration;
+ class EventListener;
+ class EventObject;
+ class GregorianCalendar;
+ class Hashtable;
+ class HashtableEntry;
+ class HashtableEnumeration;
+ class ListResourceBundle;
+ class Locale;
+ class MissingResourceException;
+ class NoSuchElementException;
+ class Observable;
+ class Observer;
+ class Properties;
+ class Random;
+ class ResourceBundle;
+ class SimpleTimeZone;
+ class Stack;
+ class StringTokenizer;
+ class TimeZone;
+ class TooManyListenersException;
+ class Vector;
+ class VectorEnumeration;
+
+ namespace zip
+ {
+ class Adler32;
+ class CRC32;
+ class Checksum;
+ class Deflater;
+ class DeflaterOutputStream;
+ class ZipConstants;
+ class ZipEntry;
+ class ZipEnumeration;
+ class ZipException;
+ class ZipFile;
+ class ZipOutputStream;
+ };
+ };
+ };
+};
+
+typedef struct java::lang::Object* jobject;
+typedef class java::lang::Class* jclass;
+typedef class java::lang::Throwable* jthrowable;
+typedef class java::lang::String* jstring;
+struct _Jv_JNIEnv;
+
+typedef struct _Jv_Field *jfieldID;
+typedef struct _Jv_Method *jmethodID;
+
+extern "C" jobject _Jv_AllocObject (jclass, jint);
+extern "C" jboolean _Jv_IsInstanceOf(jobject, jclass);
+extern "C" jstring _Jv_AllocString(jsize);
+extern "C" jstring _Jv_NewString (const jchar*, jsize);
+extern "C" jchar* _Jv_GetStringChars (jstring str);
+extern "C" jint _Jv_MonitorEnter (jobject);
+extern "C" jint _Jv_MonitorExit (jobject);
+extern "C" jstring _Jv_NewStringLatin1(const char*, jsize);
+extern "C" jsize _Jv_GetStringUTFLength (jstring);
+extern "C" jsize _Jv_GetStringUTFRegion (jstring, jsize, jsize, char *);
+
+extern "C" void _Jv_Throw (void *) __attribute__ ((__noreturn__));
+extern "C" void* _Jv_Malloc (jsize);
+extern "C" void _Jv_Free (void*);
+
+typedef unsigned short _Jv_ushort __attribute__((__mode__(__HI__)));
+typedef unsigned int _Jv_uint __attribute__((__mode__(__SI__)));
+
+struct _Jv_Utf8Const
+{
+ _Jv_ushort hash;
+ _Jv_ushort length; /* In bytes, of data portion, without final '\0'. */
+ char data[1]; /* In Utf8 format, with final '\0'. */
+};
+
+#endif /* __JAVAPRIMS_H__ */
diff --git a/libjava/include/jni.h b/libjava/include/jni.h
new file mode 100644
index 0000000..bf7b015
--- /dev/null
+++ b/libjava/include/jni.h
@@ -0,0 +1,302 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#ifndef __JAVA_JNI_H__
+#define __JAVA_JNI_H__
+
+#ifdef __GNUC__
+# define __need___va_list
+# include <stdarg.h>
+# define _Jv_va_list __gnuc_va_list
+#else
+# include <stdarg.h>
+# define _Jv_va_list va_list
+#endif
+
+#ifdef __cplusplus
+
+// This is wrong, because it pollutes the name-space too much!
+#include <javaprims.h>
+
+typedef struct _Jv_JNIEnv JNIEnv;
+#else
+
+typedef int jbyte __attribute__((__mode__(__QI__)));
+typedef int jshort __attribute__((__mode__(__HI__)));
+typedef int jint __attribute__((__mode__(__SI__)));
+typedef int jlong __attribute__((__mode__(__DI__)));
+typedef bool jboolean __attribute__((__mode__(__QI__)));
+typedef unsigned short jchar __attribute__((__mode__(__HI__)));
+typedef float jfloat;
+typedef double jdouble;
+typedef jint jsize;
+
+typedef const struct JNINativeInterface *JNIEnv;
+#endif
+
+typedef union jvalue
+{
+ jboolean z;
+ jbyte b;
+ jchar c;
+ jshort s;
+ jint i;
+ jlong j;
+ jfloat f;
+ jdouble d;
+ jobject l;
+} jvalue;
+
+typedef void * (*_Jv_func)(...);
+
+struct JNINativeInterface
+{
+ _Jv_func reserved0;
+ _Jv_func reserved1;
+ _Jv_func reserved2;
+ _Jv_func reserved3;
+ _Jv_func GetVersion;
+ _Jv_func DefineClass;
+ _Jv_func FindClass;
+ _Jv_func reserved4;
+ _Jv_func reserved5;
+ _Jv_func reserved6;
+ jclass (*GetSuperclass) (JNIEnv*, jclass);
+ jboolean (*IsAssignableFrom) (JNIEnv*, jclass, jclass);
+ _Jv_func reserved7;
+ jint (*Throw) (JNIEnv*, jthrowable);
+ _Jv_func ThrowNew;
+ _Jv_func ExceptionOccurred;
+ _Jv_func ExceptionDescribe;
+ _Jv_func ExceptionClear;
+ _Jv_func FatalError;
+ _Jv_func reserved8;
+ _Jv_func reserved9;
+ _Jv_func NewGlobalRef;
+ _Jv_func DeleteGlobalRef;
+ _Jv_func DeleteLocalRef;
+ _Jv_func IsSameObject;
+ _Jv_func reserved10;
+ _Jv_func reserved11;
+ _Jv_func AllocObject;
+ _Jv_func NewObject;
+ _Jv_func NewObjectV;
+ _Jv_func NewObjectA;
+ _Jv_func GetObjectClass;
+ _Jv_func IsInstanceOf;
+ _Jv_func GetMethodID;
+ _Jv_func CallObjectMethod;
+ _Jv_func CallObjectMethodV;
+ _Jv_func CallObjectMethodA;
+ _Jv_func CallBooleanMethod;
+ _Jv_func CallBooleanMethodV;
+ _Jv_func CallBooleanMethodA;
+ _Jv_func CallByteMethod;
+ _Jv_func CallByteMethodV;
+ _Jv_func CallByteMethodA;
+ _Jv_func CallCharMethod;
+ _Jv_func CallCharMethodV;
+ _Jv_func CallCharMethodA;
+ _Jv_func CallShortMethod;
+ _Jv_func CallShortMethodV;
+ _Jv_func CallShortMethodA;
+ _Jv_func CallIntMethod;
+ _Jv_func CallIntMethodV;
+ _Jv_func CallIntMethodA;
+ _Jv_func CallLongMethod;
+ _Jv_func CallLongMethodV;
+ _Jv_func CallLongMethodA;
+ _Jv_func CallFloatMethod;
+ _Jv_func CallFloatMethodV;
+ _Jv_func CallFloatMethodA;
+ _Jv_func CallDoubleMethod;
+ _Jv_func CallDoubleMethodV;
+ _Jv_func CallDoubleMethodA;
+ _Jv_func CallVoidMethod;
+ _Jv_func CallVoidMethodV;
+ _Jv_func CallVoidMethodA;
+ _Jv_func CallNonvirtualObjectMethod;
+ _Jv_func CallNonvirtualObjectMethodV;
+ _Jv_func CallNonvirtualObjectMethodA;
+ jboolean (*CallNonvirtualBooleanMethod) (JNIEnv*, jobject, jclass, jmethodID, ...);
+ jboolean (*CallNonvirtualBooleanMethodV) (JNIEnv*, jobject, jclass, jmethodID, _Jv_va_list);
+ jboolean (*CallNonvirtualBooleanMethodA) (JNIEnv*, jobject, jclass, jmethodID, jvalue*);
+ _Jv_func CallNonvirtualByteMethod;
+ _Jv_func CallNonvirtualByteMethodV;
+ _Jv_func CallNonvirtualByteMethodA;
+ _Jv_func CallNonvirtualCharMethod;
+ _Jv_func CallNonvirtualCharMethodV;
+ _Jv_func CallNonvirtualCharMethodA;
+ _Jv_func CallNonvirtualShortMethod;
+ _Jv_func CallNonvirtualShortMethodV;
+ _Jv_func CallNonvirtualShortMethodA;
+ _Jv_func CallNonvirtualIntMethod;
+ _Jv_func CallNonvirtualIntMethodV;
+ _Jv_func CallNonvirtualIntMethodA;
+ _Jv_func CallNonvirtualLongMethod;
+ _Jv_func CallNonvirtualLongMethodV;
+ _Jv_func CallNonvirtualLongMethodA;
+ _Jv_func CallNonvirtualFloatMethod;
+ _Jv_func CallNonvirtualFloatMethodV;
+ _Jv_func CallNonvirtualFloatMethodA;
+ _Jv_func CallNonvirtualDoubleMethod;
+ jdouble (*CallNonvirtualDoubleMethodV) (JNIEnv*, jobject, jclass, jmethodID, _Jv_va_list);
+ _Jv_func CallNonvirtualDoubleMethodA;
+ _Jv_func CallNonvirtualVoidMethod;
+ _Jv_func CallNonvirtualVoidMethodV;
+ _Jv_func CallNonvirtualVoidMethodA;
+ _Jv_func GetFieldID;
+ jobject (*GetObjectField) (JNIEnv*, jobject, jfieldID);
+ jboolean (*GetBooleanField) (JNIEnv*, jobject, jfieldID);
+ jbyte (*GetByteField) (JNIEnv*, jobject, jfieldID);
+ jchar (*GetCharField) (JNIEnv*, jobject, jfieldID);
+ jshort (*GetShortField) (JNIEnv*, jobject, jfieldID);
+ jint (*GetIntField) (JNIEnv*, jobject, jfieldID);
+ jlong (*GetLongField) (JNIEnv*, jobject, jfieldID);
+ jfloat (*GetFloatField) (JNIEnv*, jobject, jfieldID);
+ jdouble (*GetDoubleField) (JNIEnv*, jobject, jfieldID);
+ _Jv_func SetObjectField;
+ _Jv_func SetBooleanField;
+ _Jv_func SetByteField;
+ _Jv_func SetCharField;
+ _Jv_func SetShortField;
+ _Jv_func SetIntField;
+ _Jv_func SetLongField;
+ _Jv_func SetFloatField;
+ _Jv_func SetDoubleField;
+ _Jv_func GetStaticMethodID;
+ _Jv_func CallStaticObjectMethod;
+ _Jv_func CallStaticObjectMethodV;
+ _Jv_func CallStaticObjectMethodA;
+ _Jv_func CallStaticBooleanMethod;
+ _Jv_func CallStaticBooleanMethodV;
+ _Jv_func CallStaticBooleanMethodA;
+ _Jv_func CallStaticByteMethod;
+ _Jv_func CallStaticByteMethodV;
+ _Jv_func CallStaticByteMethodA;
+ _Jv_func CallStaticCharMethod;
+ _Jv_func CallStaticCharMethodV;
+ _Jv_func CallStaticCharMethodA;
+ _Jv_func CallStaticShortMethod;
+ _Jv_func CallStaticShortMethodV;
+ _Jv_func CallStaticShortMethodA;
+ _Jv_func CallStaticIntMethod;
+ _Jv_func CallStaticIntMethodV;
+ _Jv_func CallStaticIntMethodA;
+ _Jv_func CallStaticLongMethod;
+ _Jv_func CallStaticLongMethodV;
+ _Jv_func CallStaticLongMethodA;
+ _Jv_func CallStaticFloatMethod;
+ _Jv_func CallStaticFloatMethodV;
+ _Jv_func CallStaticFloatMethodA;
+ _Jv_func CallStaticDoubleMethod;
+ _Jv_func CallStaticDoubleMethodV;
+ _Jv_func CallStaticDoubleMethodA;
+ _Jv_func CallStaticVoidMethod;
+ _Jv_func CallStaticVoidMethodV;
+ _Jv_func CallStaticVoidMethodA;
+ _Jv_func GetStaticFieldID;
+ _Jv_func GetStaticObjectField;
+ _Jv_func GetStaticBooleanField;
+ _Jv_func GetStaticByteField;
+ _Jv_func GetStaticCharField;
+ _Jv_func GetStaticShortField;
+ _Jv_func GetStaticIntField;
+ _Jv_func GetStaticLongField;
+ _Jv_func GetStaticFloatField;
+ _Jv_func GetStaticDoubleField;
+ _Jv_func SetStaticObjectField;
+ _Jv_func SetStaticBooleanField;
+ _Jv_func SetStaticByteField;
+ _Jv_func SetStaticCharField;
+ _Jv_func SetStaticShortField;
+ _Jv_func SetStaticIntField;
+ _Jv_func SetStaticLongField;
+ _Jv_func SetStaticFloatField;
+ _Jv_func SetStaticDoubleField;
+ _Jv_func NewString;
+ jint (*GetStringLength) (JNIEnv*, jstring);
+ _Jv_func GetStringChars;
+ _Jv_func ReleaseStringChars;
+ _Jv_func NewStringUTF;
+ _Jv_func GetStringUTFLength;
+ _Jv_func GetStringUTFChars;
+ _Jv_func ReleaseStringUTFChars;
+ _Jv_func GetArrayLength;
+ _Jv_func NewObjectArray;
+ _Jv_func GetObjectArrayElement;
+ _Jv_func SetObjectArrayElement;
+ _Jv_func NewBooleanArray;
+ _Jv_func NewByteArray;
+ _Jv_func NewCharArray;
+ _Jv_func NewShortArray;
+ _Jv_func NewIntArray;
+ _Jv_func NewLongArray;
+ _Jv_func NewFloatArray;
+ _Jv_func NewDoubleArray;
+ _Jv_func GetBooleanArrayElements;
+ _Jv_func GetByteArrayElements;
+ _Jv_func GetCharArrayElements;
+ _Jv_func GetShortArrayElements;
+ _Jv_func GetIntArrayElements;
+ _Jv_func GetLongArrayElements;
+ _Jv_func GetFloatArrayElements;
+ _Jv_func GetDoubleArrayElements;
+ _Jv_func ReleaseBooleanArrayElements;
+ _Jv_func ReleaseByteArrayElements;
+ _Jv_func ReleaseCharArrayElements;
+ _Jv_func ReleaseShortArrayElements;
+ _Jv_func ReleaseIntArrayElements;
+ _Jv_func ReleaseLongArrayElements;
+ _Jv_func ReleaseFloatArrayElements;
+ _Jv_func ReleaseDoubleArrayElements;
+ _Jv_func GetBooleanArrayRegion;
+ _Jv_func GetByteArrayRegion;
+ _Jv_func GetCharArrayRegion;
+ _Jv_func GetShortArrayRegion;
+ _Jv_func GetIntArrayRegion;
+ _Jv_func GetLongArrayRegion;
+ _Jv_func GetFloatArrayRegion;
+ _Jv_func GetDoubleArrayRegion;
+ _Jv_func SetBooleanArrayRegion;
+ _Jv_func SetByteArrayRegion;
+ _Jv_func SetCharArrayRegion;
+ _Jv_func SetShortArrayRegion;
+ _Jv_func SetIntArrayRegion;
+ _Jv_func SetLongArrayRegion;
+ _Jv_func SetFloatArrayRegion;
+ _Jv_func SetDoubleArrayRegion;
+ _Jv_func RegisterNatives;
+ _Jv_func UnregisterNatives;
+ _Jv_func MonitorEnter;
+ _Jv_func MonitorExit;
+ _Jv_func GetJavaVM;
+};
+
+#ifdef __cplusplus
+
+struct _Jv_JNIEnv
+{
+ struct JNINativeInterface *p;
+
+ jclass GetSuperclass (jclass cl);
+ jsize GetStringLength (jstring str);
+
+};
+
+extern inline jclass
+_Jv_JNIEnv::GetSuperclass (jclass cl)
+{ return p->GetSuperclass (this, cl); }
+
+extern inline jsize
+_Jv_JNIEnv::GetStringLength (jstring str)
+{ return p->GetStringLength (this, str); }
+
+#endif
+
+#endif /* __JAVA_JNI_H__ */
diff --git a/libjava/include/jvm.h b/libjava/include/jvm.h
new file mode 100644
index 0000000..f928d71
--- /dev/null
+++ b/libjava/include/jvm.h
@@ -0,0 +1,101 @@
+// jvm.h - Header file for private implementation information. -*- c++ -*-
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#ifndef __JAVA_JVM_H__
+#define __JAVA_JVM_H__
+
+#include <java-assert.h>
+#include <java-field.h>
+
+/* Structure of the virtual table. */
+struct _Jv_VTable
+{
+ jclass clas;
+ void *method[1];
+};
+
+/* Extract a character from a Java-style Utf8 string.
+ * PTR points to the current character.
+ * LIMIT points to the end of the Utf8 string.
+ * PTR is incremented to point after the character thta gets returns.
+ * On an error, -1 is returned. */
+#define UTF8_GET(PTR, LIMIT) \
+ ((PTR) >= (LIMIT) ? -1 \
+ : *(PTR) < 128 ? *(PTR)++ \
+ : (*(PTR)&0xE0) == 0xC0 && ((PTR)+=2)<=(LIMIT) && ((PTR)[-1]&0xC0) == 0x80 \
+ ? (((PTR)[-2] & 0x1F) << 6) + ((PTR)[-1] & 0x3F) \
+ : (*(PTR) & 0xF0) == 0xE0 && ((PTR) += 3) <= (LIMIT) \
+ && ((PTR)[-2] & 0xC0) == 0x80 && ((PTR)[-1] & 0xC0) == 0x80 \
+ ? (((PTR)[-3]&0x0F) << 12) + (((PTR)[-2]&0x3F) << 6) + ((PTR)[-1]&0x3F) \
+ : ((PTR)++, -1))
+
+extern int _Jv_strLengthUtf8(char* str, int len);
+
+typedef struct _Jv_Utf8Const Utf8Const;
+_Jv_Utf8Const *_Jv_makeUtf8Const (char *s, int len);
+extern jboolean _Jv_equalUtf8Consts (_Jv_Utf8Const *, _Jv_Utf8Const *);
+extern jboolean _Jv_equal (_Jv_Utf8Const *, jstring, jint);
+
+#define StringClass _CL_Q34java4lang6String
+extern java::lang::Class StringClass;
+
+/* Type of pointer used as finalizer. */
+typedef void _Jv_FinalizerFunc (jobject);
+
+/* Allocate space for a new Java object. */
+void *_Jv_AllocObj (jsize size);
+/* Allocate space for an array of Java objects. */
+void *_Jv_AllocArray (jsize size);
+/* Allocate space that is known to be pointer-free. */
+void *_Jv_AllocBytes (jsize size);
+/* Initialize the GC. */
+void _Jv_InitGC (void);
+/* Register a finalizer. */
+void _Jv_RegisterFinalizer (void *object, _Jv_FinalizerFunc *method);
+
+/* Run finalizers for objects ready to be finalized.. */
+void _Jv_RunFinalizers (void);
+/* Run all finalizers. Should be called only before exit. */
+void _Jv_RunAllFinalizers (void);
+/* Perform a GC. */
+void _Jv_RunGC (void);
+
+/* Return approximation of total size of heap. */
+long _Jv_GCTotalMemory (void);
+/* Return approximation of total free memory. */
+long _Jv_GCFreeMemory (void);
+
+/* Allocate some unscanned bytes. Throw exception if out of memory. */
+void *_Jv_AllocBytesChecked (jsize size);
+
+// This function is used to determine the hash code of an object.
+inline jint
+_Jv_HashCode (jobject obj)
+{
+ return (jint) obj;
+}
+
+extern "C" void _Jv_ThrowBadArrayIndex (jint bad_index);
+extern "C" jobject _Jv_NewArray (jint type, jint size);
+extern "C" jobject _Jv_NewMultiArray (jclass klass, jint dims, ...);
+extern "C" void *_Jv_CheckCast (jclass klass, jobject obj);
+extern "C" void *_Jv_LookupInterfaceMethod (jclass klass, Utf8Const *name,
+ Utf8Const *signature);
+extern "C" void _Jv_CheckArrayStore (jobject array, jobject obj);
+extern "C" void _Jv_RegisterClass (jclass klass);
+extern "C" void _Jv_RegisterClasses (jclass *classes);
+extern jclass _Jv_FindClass (_Jv_Utf8Const *name,
+ java::lang::ClassLoader *loader);
+extern jclass _Jv_FindClassFromSignature (char *,
+ java::lang::ClassLoader *loader);
+
+extern jobject _Jv_NewMultiArray (jclass, jint ndims, jint* dims);
+
+#endif /* __JAVA_JVM_H__ */
diff --git a/libjava/include/no-gc.h b/libjava/include/no-gc.h
new file mode 100644
index 0000000..f5775b9
--- /dev/null
+++ b/libjava/include/no-gc.h
@@ -0,0 +1,17 @@
+// -*- c++ -*-
+// no-gc.h - Defines for no garbage collector.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#ifndef __JV_NO_GC__
+#define __JV_NO_GC__
+
+// Nothing.
+
+#endif /* __JV_NO_GC__ */
diff --git a/libjava/include/no-threads.h b/libjava/include/no-threads.h
new file mode 100644
index 0000000..5de3386
--- /dev/null
+++ b/libjava/include/no-threads.h
@@ -0,0 +1,154 @@
+// -*- c++ -*-
+// no-threads.h - Defines for using no threads.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#ifndef __JV_NO_THREADS__
+#define __JV_NO_THREADS__
+
+#include "config.h"
+
+#include <stdlib.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+//
+// Typedefs.
+//
+
+typedef int _Jv_ConditionVariable_t;
+typedef int _Jv_Mutex_t;
+typedef int _Jv_Thread_t;
+typedef void _Jv_ThreadStartFunc (java::lang::Thread *);
+
+
+//
+// Condition variables.
+//
+
+inline void
+_Jv_CondInit (_Jv_ConditionVariable_t *)
+{
+}
+
+// Waiting is ok provided there is a timeout. Otherwise we will just
+// wait forever.
+inline int
+_Jv_CondWait (_Jv_ConditionVariable_t *, _Jv_Mutex_t *,
+ jlong millis, jint nanos)
+{
+ if (millis == 0 && nanos == 0)
+ JvFail ("_Jv_CondWait without timeout");
+
+#ifdef HAVE_SLEEP
+ int seconds = millis / 1000;
+ if (seconds > 0)
+ sleep (seconds);
+#endif
+
+ return 0;
+}
+
+inline int
+_Jv_CondNotify (_Jv_ConditionVariable_t *, _Jv_Mutex_t *)
+{
+ // It is ok to notify -- it just has no effect.
+ return 0;
+}
+
+inline int
+_Jv_CondNotifyAll (_Jv_ConditionVariable_t *, _Jv_Mutex_t *)
+{
+ // It is ok to notify -- it just has no effect.
+ return 0;
+}
+
+
+//
+// Mutexes.
+//
+
+inline void
+_Jv_MutexInit (_Jv_Mutex_t *)
+{
+}
+
+inline int
+_Jv_MutexLock (_Jv_Mutex_t *)
+{
+ return 0;
+}
+
+inline int
+_Jv_MutexUnlock (_Jv_Mutex_t *)
+{
+ return 0;
+}
+
+
+//
+// Thread creation and manipulation.
+//
+
+inline void
+_Jv_InitThreads (void)
+{
+}
+
+inline void
+_Jv_ThreadInitData (_Jv_Thread_t **data, java::lang::Thread *)
+{
+ *data = NULL;
+}
+
+inline java::lang::Thread *
+_Jv_ThreadCurrent (void)
+{
+ extern java::lang::Thread *_Jv_OnlyThread;
+ return _Jv_OnlyThread;
+}
+
+inline void
+_Jv_ThreadYield (void)
+{
+}
+
+inline void
+_Jv_ThreadSetPriority (_Jv_Thread_t *, jint)
+{
+}
+
+inline void
+_Jv_ThreadCancel (_Jv_Thread_t *, void *)
+{
+ JvFail ("_Jv_ThreadCancel");
+}
+
+// Like Cancel, but doesn't run cleanups.
+inline void
+_Jv_ThreadDestroy (_Jv_Thread_t *)
+{
+ JvFail ("_Jv_ThreadDestroy");
+}
+
+void _Jv_ThreadStart (java::lang::Thread *, _Jv_Thread_t *,
+ _Jv_ThreadStartFunc *meth);
+
+inline void
+_Jv_ThreadWait (void)
+{
+}
+
+inline void
+_Jv_ThreadInterrupt (_Jv_Thread_t *)
+{
+}
+
+#endif /* __JV_NO_THREADS__ */
diff --git a/libjava/include/posix-threads.h b/libjava/include/posix-threads.h
new file mode 100644
index 0000000..6e4cc70
--- /dev/null
+++ b/libjava/include/posix-threads.h
@@ -0,0 +1,210 @@
+// -*- c++ -*-
+// posix-threads.h - Defines for using POSIX threads.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#ifndef __JV_POSIX_THREADS__
+#define __JV_POSIX_THREADS__
+
+// NOTE: This file may only reference those pthread functions which
+// are known not to be overridden by the Boehm GC. If in doubt, scan
+// boehm-gc/gc.h. This is yucky but lets us avoid including gc.h
+// everywhere (which would be truly yucky).
+
+#include <pthread.h>
+#include <sched.h>
+
+#if defined (HAVE_PTHREAD_MUTEXATTR_SETTYPE) || defined (HAVE_PTHREAD_MUTEXATTR_SETKIND_NP)
+# define HAVE_RECURSIVE_MUTEX 1
+#endif
+
+
+//
+// Typedefs.
+//
+
+typedef pthread_cond_t _Jv_ConditionVariable_t;
+#ifdef HAVE_RECURSIVE_MUTEX
+typedef pthread_mutex_t _Jv_Mutex_t;
+#else
+// Some systems do not have recursive mutexes, so we must simulate
+// them. Solaris is one such system.
+typedef struct
+{
+ // Mutex used when locking this structure transiently.
+ pthread_mutex_t mutex;
+ // Mutex the thread holds the entire time this mutex is held. This
+ // is used to make condition variables work properly.
+ pthread_mutex_t mutex2;
+ // Condition variable used when waiting for this lock.
+ pthread_cond_t cond;
+ // Thread holding this mutex. If COUNT is 0, no thread is holding.
+ pthread_t thread;
+ // Number of times mutex is held. If 0, the lock is not held.
+ int count;
+} _Jv_Mutex_t;
+#endif /* HAVE_RECURSIVE_MUTEX */
+
+typedef struct
+{
+ // Flag values are defined in implementation.
+ int flags;
+
+ // Actual thread id.
+ pthread_t thread;
+
+ // Exception we want to throw when cancelled.
+ void *exception;
+} _Jv_Thread_t;
+typedef void _Jv_ThreadStartFunc (java::lang::Thread *);
+
+
+//
+// Condition variables.
+//
+
+inline void
+_Jv_CondInit (_Jv_ConditionVariable_t *cv)
+{
+ pthread_cond_init (cv, 0);
+}
+
+#ifndef LINUX_THREADS
+
+// pthread_cond_destroy does nothing on Linux and it is a win to avoid
+// defining this macro.
+
+#define _Jv_HaveCondDestroy
+
+inline void
+_Jv_CondDestroy (_Jv_ConditionVariable_t *cv)
+{
+ pthread_cond_destroy (cv);
+}
+
+#endif /* LINUX_THREADS */
+
+int _Jv_CondWait (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu,
+ jlong millis, jint nanos);
+
+inline int
+_Jv_CondNotify (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *)
+{
+ // FIXME: check to see if mutex is held by current thread.
+ return pthread_cond_signal (cv);
+}
+
+inline int
+_Jv_CondNotifyAll (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *)
+{
+ // FIXME: check to see if mutex is held by current thread.
+ return pthread_cond_broadcast (cv);
+}
+
+
+//
+// Mutexes.
+//
+
+#ifdef RECURSIVE_MUTEX_IS_DEFAULT
+inline void
+_Jv_MutexInit (_Jv_Mutex_t *mu)
+{
+ pthread_mutex_init (mu, NULL);
+}
+#else
+void _Jv_MutexInit (_Jv_Mutex_t *mu);
+#endif
+
+#ifndef LINUX_THREADS
+
+// pthread_mutex_destroy does nothing on Linux and it is a win to avoid
+// defining this macro.
+
+#define _Jv_HaveMutexDestroy
+
+#ifdef HAVE_RECURSIVE_MUTEX
+
+inline void
+_Jv_MutexDestroy (_Jv_Mutex_t *mu)
+{
+ pthread_mutex_destroy (mu);
+}
+
+#else /* HAVE_RECURSIVE_MUTEX */
+
+extern void _Jv_MutexDestroy (_Jv_Mutex_t *mu);
+
+#endif /* HAVE_RECURSIVE_MUTEX */
+#endif /* LINUX_THREADS */
+
+#ifdef HAVE_RECURSIVE_MUTEX
+
+inline int
+_Jv_MutexLock (_Jv_Mutex_t *mu)
+{
+ return pthread_mutex_lock (mu);
+}
+
+inline int
+_Jv_MutexUnlock (_Jv_Mutex_t *mu)
+{
+ return pthread_mutex_unlock (mu);
+}
+
+#else /* HAVE_RECURSIVE_MUTEX */
+
+extern int _Jv_MutexLock (_Jv_Mutex_t *mu);
+extern int _Jv_MutexUnlock (_Jv_Mutex_t *mu);
+
+#endif /* HAVE_RECURSIVE_MUTEX */
+
+
+//
+// Thread creation and manipulation.
+//
+
+void _Jv_InitThreads (void);
+
+void _Jv_ThreadInitData (_Jv_Thread_t **data, java::lang::Thread *thread);
+
+inline java::lang::Thread *
+_Jv_ThreadCurrent (void)
+{
+ extern pthread_key_t _Jv_ThreadKey;
+ return (java::lang::Thread *) pthread_getspecific (_Jv_ThreadKey);
+}
+
+inline void
+_Jv_ThreadYield (void)
+{
+#ifdef HAVE_SCHED_YIELD
+ sched_yield ();
+#endif /* HAVE_SCHED_YIELD */
+}
+
+void _Jv_ThreadSetPriority (_Jv_Thread_t *data, jint prio);
+
+void _Jv_ThreadCancel (_Jv_Thread_t *data, void *error);
+
+// Like Cancel, but doesn't run cleanups.
+inline void
+_Jv_ThreadDestroy (_Jv_Thread_t *)
+{
+ JvFail ("_Jv_ThreadDestroy");
+}
+
+void _Jv_ThreadStart (java::lang::Thread *thread, _Jv_Thread_t *data,
+ _Jv_ThreadStartFunc *meth);
+
+void _Jv_ThreadWait (void);
+
+void _Jv_ThreadInterrupt (_Jv_Thread_t *data);
+
+#endif /* __JV_POSIX_THREADS__ */
diff --git a/libjava/include/quick-threads.h b/libjava/include/quick-threads.h
new file mode 100644
index 0000000..3ce8ece
--- /dev/null
+++ b/libjava/include/quick-threads.h
@@ -0,0 +1,139 @@
+// -*- c++ -*-
+// quick-threads.h - Defines for using QuickThreads.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#ifndef __JV_QUICK_THREADS__
+#define __JV_QUICK_THREADS__
+
+#include <coop.h>
+
+//
+// Typedefs.
+//
+
+typedef coop_c _Jv_ConditionVariable_t;
+typedef coop_m _Jv_Mutex_t;
+typedef coop_t *_Jv_Thread_t;
+typedef void _Jv_ThreadStartFunc (java::lang::Thread *);
+
+
+//
+// Condition variables.
+//
+
+inline void
+_Jv_CondInit (_Jv_ConditionVariable_t *cv)
+{
+ coop_condition_variable_init (cv);
+}
+
+inline int
+_Jv_CondWait (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu,
+ jlong millis, jint nanos)
+{
+ return coop_condition_variable_wait (cv, mu, millis * 1000 + nanos / 1000);
+}
+
+inline int
+_Jv_CondNotify (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu)
+{
+ return coop_condition_variable_signal (cv, mu);
+}
+
+inline int
+_Jv_CondNotifyAll (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu)
+{
+ return coop_condition_variable_signal_all (cv, mu);
+}
+
+
+//
+// Mutexes.
+//
+
+inline void
+_Jv_MutexInit (_Jv_Mutex_t *mu)
+{
+ coop_mutex_init (mu);
+}
+
+inline int
+_Jv_MutexLock (_Jv_Mutex_t *mu)
+{
+ coop_mutex_lock (mu);
+ return 0;
+}
+
+inline int
+_Jv_MutexUnlock (_Jv_Mutex_t *mu)
+{
+ return coop_mutex_unlock (mu);
+}
+
+
+//
+// Thread creation and manipulation.
+//
+
+void _Jv_InitThreads (void);
+
+inline void
+_Jv_ThreadInitData (_Jv_Thread_t **data, java::lang::Thread *)
+{
+ *data = new _Jv_Thread_t;
+ **data = (coop_t *) 0;
+}
+
+inline java::lang::Thread *
+_Jv_ThreadCurrent (void)
+{
+ extern int _Jv_ThreadKey;
+ return (java::lang::Thread *) coop_getspecific (_Jv_ThreadKey);
+}
+
+inline void
+_Jv_ThreadYield (void)
+{
+ coop_yield ();
+}
+
+inline void
+_Jv_ThreadSetPriority (_Jv_Thread_t *, jint)
+{
+}
+
+inline void
+_Jv_ThreadCancel (_Jv_Thread_t *data, void *error)
+{
+ coop_terminate (*data, error);
+}
+
+// Like Cancel, but doesn't run cleanups.
+inline void
+_Jv_ThreadDestroy (_Jv_Thread_t *data)
+{
+ coop_terminate (*data, 0);
+}
+
+void _Jv_ThreadStart (java::lang::Thread *thread, _Jv_Thread_t *data,
+ _Jv_ThreadStartFunc *meth);
+
+inline void
+_Jv_ThreadWait (void)
+{
+ coop_start ();
+}
+
+inline void
+_Jv_ThreadInterrupt (_Jv_Thread_t *)
+{
+}
+
+#endif /* __JV_QUICK_THREADS__ */
diff --git a/libjava/java/io/BufferedInputStream.java b/libjava/java/io/BufferedInputStream.java
new file mode 100644
index 0000000..698abf6
--- /dev/null
+++ b/libjava/java/io/BufferedInputStream.java
@@ -0,0 +1,168 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date October 8, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class BufferedInputStream extends FilterInputStream
+{
+ /* Internal buffer array for data. */
+ protected byte[] buf;
+
+ /* Index one greater than the last valid byte in the buffer. */
+ protected int count = 0;
+
+ /* The current position in the buffer. */
+ protected int pos = 0;
+
+ /* The value of pos the last time mark() was called. */
+ protected int markpos = -1;
+
+ /* The maximum read-ahead allowed before calls to reset() fail. */
+ protected int marklimit = 0;
+
+ public BufferedInputStream(InputStream in)
+ {
+ this(in, 2048);
+ }
+
+ public BufferedInputStream(InputStream in, int size)
+ {
+ super(in);
+ if (size <= 0)
+ throw new IllegalArgumentException();
+ buf = new byte[size];
+ }
+
+ public synchronized int available() throws IOException
+ {
+ return count - pos + super.available();
+ }
+
+ public void close() throws IOException
+ {
+ // Free up the array memory.
+ buf = null;
+ super.close();
+ }
+
+ public synchronized void mark(int readlimit)
+ {
+ marklimit = readlimit;
+ markpos = pos;
+ }
+
+ public boolean markSupported()
+ {
+ return true;
+ }
+
+ public synchronized int read() throws IOException
+ {
+ if (pos >= count && !refill())
+ return -1; // EOF
+
+ if (markpos >= 0 && pos - markpos > marklimit)
+ markpos = -1;
+
+ return ((int) buf[pos++]) & 0xFF;
+ }
+
+ public synchronized int read(byte[] b, int off, int len) throws IOException
+ {
+ if (off < 0 || len < 0 || off + len > b.length)
+ throw new ArrayIndexOutOfBoundsException();
+
+ if (pos >= count && !refill())
+ return -1; // No bytes were read before EOF.
+
+ int remain = Math.min(count - pos, len);
+ System.arraycopy(buf, pos, b, off, remain);
+ pos += remain;
+
+ if (markpos >= 0 && pos - markpos > marklimit)
+ markpos = -1;
+
+ return remain;
+ }
+
+ public synchronized void reset() throws IOException
+ {
+ if (markpos < 0)
+ throw new IOException();
+
+ pos = markpos;
+ }
+
+ public synchronized long skip(long n) throws IOException
+ {
+ final long origN = n;
+
+ while (n > 0L)
+ {
+ if (pos >= count && !refill())
+ if (n < origN)
+ break;
+ else
+ return -1; // No bytes were read before EOF.
+
+ int numread = (int) Math.min((long) (count - pos), n);
+ pos += numread;
+ n -= numread;
+
+ if (markpos >= 0 && pos - markpos > marklimit)
+ markpos = -1;
+ }
+
+ return origN - n;
+ }
+
+ private boolean refill() throws IOException
+ {
+ if (markpos < 0)
+ count = pos = 0;
+ else if (markpos > 0)
+ {
+ // Shift the marked bytes (if any) to the beginning of the array
+ // but don't grow it. This saves space in case a reset is done
+ // before we reach the max capacity of this array.
+ System.arraycopy(buf, markpos, buf, 0, count - markpos);
+ count -= markpos;
+ pos -= markpos;
+ markpos = 0;
+ }
+ else if (marklimit >= buf.length) // BTW, markpos == 0
+ {
+ // Need to grow the buffer now to have room for marklimit bytes.
+ // Note that the new buffer is one greater than marklimit.
+ // This is so that there will be one byte past marklimit to be read
+ // before having to call refill again, thus allowing marklimit to be
+ // invalidated. That way refill doesn't have to check marklimit.
+ byte[] newbuf = new byte[marklimit + 1];
+ System.arraycopy(buf, 0, newbuf, 0, count);
+ buf = newbuf;
+ }
+
+ int numread = super.read(buf, count, buf.length - count);
+
+ if (numread < 0) // EOF
+ return false;
+
+ count += numread;
+ return true;
+ }
+}
diff --git a/libjava/java/io/BufferedOutputStream.java b/libjava/java/io/BufferedOutputStream.java
new file mode 100644
index 0000000..d37ed5d
--- /dev/null
+++ b/libjava/java/io/BufferedOutputStream.java
@@ -0,0 +1,76 @@
+// BufferedOutputStream.java - A buffered stream
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to version 1.1.
+ */
+
+public class BufferedOutputStream extends FilterOutputStream
+{
+ public BufferedOutputStream (OutputStream ox)
+ {
+ this (ox, 512);
+ }
+
+ public BufferedOutputStream (OutputStream ox, int size)
+ {
+ super (ox);
+ buf = new byte[size];
+ }
+
+ public synchronized void flush () throws IOException
+ {
+ out.write(buf, 0, count);
+ count = 0;
+ out.flush();
+ }
+
+ public synchronized void write (int b) throws IOException
+ {
+ if (count < buf.length)
+ buf[count++] = (byte) b;
+ else
+ {
+ out.write(buf, 0, count);
+ count = 0;
+ out.write(b);
+ }
+ }
+
+ public synchronized void write (byte[] b, int off, int len)
+ throws IOException, NullPointerException, IndexOutOfBoundsException
+ {
+ // If LEN < 0 then the downstream write will fail for us.
+ if (len >= 0 && count + len < buf.length)
+ {
+ System.arraycopy(b, off, buf, count, len);
+ count += len;
+ }
+ else
+ {
+ out.write(buf, 0, count);
+ count = 0;
+ out.write(b, off, len);
+ }
+ }
+
+ // The buffer.
+ protected byte[] buf;
+ // Number of valid bytes in BUF.
+ protected int count;
+}
diff --git a/libjava/java/io/BufferedReader.java b/libjava/java/io/BufferedReader.java
new file mode 100644
index 0000000..19e371a
--- /dev/null
+++ b/libjava/java/io/BufferedReader.java
@@ -0,0 +1,373 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date April 22, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class BufferedReader extends Reader
+{
+ Reader in;
+ char[] buffer;
+ /* Index of current read position. Must be >= 0 and <= limit. */
+ /* There is a special case where pos may be equal to limit+1; this
+ * is used as an indicator that a readLine was done with a '\r' was
+ * the very last char in the buffer. Since we don't want to read-ahead
+ * and potentially block, we set pos this way to indicate the situation
+ * and deal with it later. Doing it this way rather than having a
+ * separate boolean field to indicate the condition has the advantage
+ * that it is self-clearing on things like mark/reset.
+ */
+ int pos;
+ /* Limit of valid data in buffer. Must be >= pos and <= buffer.length. */
+ /* This can be < pos in the one special case described above. */
+ int limit;
+
+ /* The value -1 means there is no mark, or the mark has been invalidated.
+ Otherwise, markPos is the index in the buffer of the marked position.
+ Must be >= 0 and <= pos.
+ Note we do not explicitly store the read-limit.
+ The implicit read-limit is (buffer.length - markPos), which is
+ guaranteed to be >= the read-limit requested in the call to mark. */
+ int markPos = -1;
+
+ public BufferedReader(Reader in)
+ {
+ this(in, 8192);
+ }
+
+ public BufferedReader(Reader in, int size)
+ {
+ super(in.lock);
+ this.in = in;
+ buffer = new char[size];
+ }
+
+ public void close() throws IOException
+ {
+ synchronized (lock)
+ {
+ if (in != null)
+ in.close();
+ in = null;
+ buffer = null;
+ }
+ }
+
+ public boolean markSupported()
+ {
+ return true;
+ }
+
+ public void mark(int readLimit) throws IOException
+ {
+ synchronized (lock)
+ {
+ // In this method we need to be aware of the special case where
+ // pos + 1 == limit. This indicates that a '\r' was the last char
+ // in the buffer during a readLine. We'll want to maintain that
+ // condition after we shift things around and if a larger buffer is
+ // needed to track readLimit, we'll have to make it one element
+ // larger to ensure we don't invalidate the mark too early, if the
+ // char following the '\r' is NOT a '\n'. This is ok because, per
+ // the spec, we are not required to invalidate when passing readLimit.
+ //
+ // Note that if 'pos > limit', then doing 'limit -= pos' will cause
+ // limit to be negative. This is the only way limit will be < 0.
+
+ if (pos + readLimit > limit)
+ {
+ char[] old_buffer = buffer;
+ int extraBuffSpace = 0;
+ if (pos > limit)
+ extraBuffSpace = 1;
+ if (readLimit + extraBuffSpace > limit)
+ buffer = new char[readLimit + extraBuffSpace];
+ limit -= pos;
+ if (limit >= 0)
+ {
+ System.arraycopy(old_buffer, pos, buffer, 0, limit);
+ pos = 0;
+ }
+ }
+
+ if (limit < 0)
+ {
+ // Maintain the relationship of 'pos > limit'.
+ pos = 1;
+ limit = markPos = 0;
+ }
+ else
+ markPos = pos;
+ // Now pos + readLimit <= buffer.length. thus if we need to read
+ // beyond buffer.length, then we are allowed to invalidate markPos.
+ }
+ }
+
+ public void reset() throws IOException
+ {
+ synchronized (lock)
+ {
+ if (markPos < 0)
+ throw new IOException("mark never set or invalidated");
+
+ // Need to handle the extremely unlikely case where a readLine was
+ // done with a '\r' as the last char in the buffer; which was then
+ // immediately followed by a mark and a reset with NO intervening
+ // read of any sort. In that case, setting pos to markPos would
+ // lose that info and a subsequent read would thus not skip a '\n'
+ // (if one exists). The value of limit in this rare case is zero.
+ // We can assume that if limit is zero for other reasons, then
+ // pos is already set to zero and doesn't need to be readjusted.
+ if (limit > 0)
+ pos = markPos;
+ }
+ }
+
+ public boolean ready() throws IOException
+ {
+ synchronized (lock)
+ {
+ return pos < limit || in.ready();
+ }
+ }
+
+ public int read(char[] buf, int offset, int count) throws IOException
+ {
+ synchronized (lock)
+ {
+ // Once again, we need to handle the special case of a readLine
+ // that has a '\r' at the end of the buffer. In this case, we'll
+ // need to skip a '\n' if it is the next char to be read.
+ // This special case is indicated by 'pos > limit'.
+ boolean retAtEndOfBuffer = false;
+
+ int avail = limit - pos;
+ if (count > avail)
+ {
+ if (avail > 0)
+ count = avail;
+ else // pos >= limit
+ {
+ if (limit == buffer.length)
+ markPos = -1; // read too far - invalidate the mark.
+ if (pos > limit)
+ {
+ // Set a boolean and make pos == limit to simplify things.
+ retAtEndOfBuffer = true;
+ --pos;
+ }
+ if (markPos < 0)
+ {
+ // Optimization: can read directly into buf.
+ if (count >= buffer.length && !retAtEndOfBuffer)
+ return in.read(buf, offset, count);
+ pos = limit = 0;
+ }
+ avail = in.read(buffer, limit, buffer.length - limit);
+ if (retAtEndOfBuffer && avail > 0 && buffer[limit] == '\n')
+ {
+ --avail;
+ limit++;
+ }
+ if (avail < count)
+ {
+ if (avail <= 0)
+ return avail;
+ count = avail;
+ }
+ limit += avail;
+ }
+ }
+ System.arraycopy(buffer, pos, buf, offset, count);
+ pos += count;
+ return count;
+ }
+ }
+
+ /* Read more data into the buffer. Update pos and limit appropriatly.
+ Assumes pos==limit initially. May invalidate the mark if read too much.
+ Return number of chars read (never 0), or -1 on eof. */
+ private int fill() throws IOException
+ {
+ // Handle the special case of a readLine that has a '\r' at the end of
+ // the buffer. In this case, we'll need to skip a '\n' if it is the
+ // next char to be read. This special case is indicated by 'pos > limit'.
+ boolean retAtEndOfBuffer = false;
+ if (pos > limit)
+ {
+ retAtEndOfBuffer = true;
+ --pos;
+ }
+
+ if (markPos >= 0 && limit == buffer.length)
+ markPos = -1;
+ if (markPos <= 0)
+ pos = limit = 0;
+ int count = in.read(buffer, limit, buffer.length - limit);
+ if (count > 0)
+ limit += count;
+
+ if (retAtEndOfBuffer && buffer[pos] == '\n')
+ {
+ --count;
+ pos++;
+ }
+
+ return count;
+ }
+
+ public int read() throws IOException
+ {
+ synchronized (lock)
+ {
+ if (pos >= limit && fill () <= 0)
+ return -1;
+ return buffer[pos++];
+ }
+ }
+
+ /* Return the end of the line starting at this.pos and ending at limit.
+ * The index returns is *before* any line terminators, or limit
+ * if no line terminators were found.
+ */
+ private int lineEnd(int limit)
+ {
+ int i = pos;
+ for (; i < limit; i++)
+ {
+ char ch = buffer[i];
+ if (ch == '\n' || ch == '\r')
+ break;
+ }
+ return i;
+ }
+
+ public String readLine() throws IOException
+ {
+ // Handle the special case where a previous readLine (with no intervening
+ // reads/skips) had a '\r' at the end of the buffer.
+ // In this case, we'll need to skip a '\n' if it's the next char to be read.
+ // This special case is indicated by 'pos > limit'.
+ if (pos > limit)
+ {
+ int ch = read();
+ if (ch < 0)
+ return null;
+ if (ch != '\n')
+ --pos;
+ }
+ int i = lineEnd(limit);
+ if (i < limit)
+ {
+ String str = new String(buffer, pos, i - pos);
+ pos = i + 1;
+ // If the last char in the buffer is a '\r', we must remember
+ // to check if the next char to be read after the buffer is refilled
+ // is a '\n'. If so, skip it. To indicate this condition, we set pos
+ // to be limit + 1, which normally is never possible.
+ if (buffer[i] == '\r')
+ if (pos == limit || buffer[pos] == '\n')
+ pos++;
+ return str;
+ }
+ StringBuffer sbuf = new StringBuffer(200);
+ sbuf.append(buffer, pos, i - pos);
+ pos = i;
+ // We only want to return null when no characters were read before
+ // EOF. So we must keep track of this separately. Otherwise we
+ // would treat an empty `sbuf' as an EOF condition, which is wrong
+ // when there is just a newline.
+ boolean eof = false;
+ for (;;)
+ {
+ int ch = read();
+ if (ch < 0)
+ {
+ eof = true;
+ break;
+ }
+ if (ch == '\n' || ch == '\r')
+ {
+ // Check here if a '\r' was the last char in the buffer; if so,
+ // mark it as in the comment above to indicate future reads
+ // should skip a newline that is the next char read after
+ // refilling the buffer.
+ if (ch == '\r')
+ if (pos == limit || buffer[pos] == '\n')
+ pos++;
+ break;
+ }
+ i = lineEnd(limit);
+ sbuf.append(buffer, pos - 1, i - (pos - 1));
+ pos = i;
+ }
+ return (sbuf.length() == 0 && eof) ? null : sbuf.toString();
+ }
+
+ public long skip(long count) throws IOException
+ {
+ if (count <= 0)
+ return 0;
+ synchronized (lock)
+ {
+ // Yet again, we need to handle the special case of a readLine
+ // that has a '\r' at the end of the buffer. In this case, we need
+ // to ignore a '\n' if it is the next char to be read.
+ // This special case is indicated by 'pos > limit' (i.e. avail < 0).
+ // To simplify things, if we're dealing with the special case for
+ // readLine, just read the next char (since the fill method will
+ // skip the '\n' for us). By doing this, we'll have to back up pos.
+ // That's easier than trying to keep track of whether we've skipped
+ // one element or not.
+ int ch;
+ if (pos > limit)
+ if ((ch = read()) < 0)
+ return 0;
+ else
+ --pos;
+
+ int avail = limit - pos;
+
+ if (count < avail)
+ {
+ pos += count;
+ return count;
+ }
+
+ pos = limit;
+ long todo = count - avail;
+ if (todo > buffer.length)
+ {
+ markPos = -1;
+ todo -= in.skip(todo);
+ }
+ else
+ {
+ while (todo > 0)
+ {
+ avail = fill();
+ if (avail <= 0)
+ break;
+ if (avail > todo)
+ avail = (int) todo;
+ pos += avail;
+ todo -= avail;
+ }
+ }
+ return count - todo;
+ }
+ }
+}
diff --git a/libjava/java/io/BufferedWriter.java b/libjava/java/io/BufferedWriter.java
new file mode 100644
index 0000000..85aceed
--- /dev/null
+++ b/libjava/java/io/BufferedWriter.java
@@ -0,0 +1,129 @@
+// BufferedWriter.java - Filtered character output stream.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 25, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to version 1.1.
+ */
+
+// Why not extend FilterWriter?
+public class BufferedWriter extends Writer
+{
+ public BufferedWriter (Writer out)
+ {
+ this (out, 8192);
+ }
+
+ public BufferedWriter (Writer ox, int size)
+ {
+ super (ox);
+ out = ox;
+ buffer = new char[size];
+ count = 0;
+ }
+
+ public void close () throws IOException
+ {
+ localFlush ();
+ out.close();
+ }
+
+ public void flush () throws IOException
+ {
+ localFlush ();
+ out.flush();
+ }
+
+ public void newLine () throws IOException
+ {
+ write (System.getProperty("line.separator"));
+ }
+
+ public void write (int oneChar) throws IOException
+ {
+ synchronized (lock)
+ {
+ buffer[count++] = (char) oneChar;
+ if (count == buffer.length)
+ localFlush ();
+ }
+ }
+
+ public void write (char[] buf, int offset, int len) throws IOException
+ {
+ if (offset < 0 || len < 0 || offset + len > buf.length)
+ throw new ArrayIndexOutOfBoundsException ();
+
+ synchronized (lock)
+ {
+ // Bypass buffering if there is too much incoming data.
+ if (count + len > buffer.length)
+ {
+ localFlush ();
+ out.write(buf, offset, len);
+ }
+ else
+ {
+ System.arraycopy(buf, offset, buffer, count, len);
+ count += len;
+ if (count == buffer.length)
+ localFlush ();
+ }
+ }
+ }
+
+ public void write (String str, int offset, int len) throws IOException
+ {
+ if (offset < 0 || len < 0 || offset + len < str.length())
+ throw new ArrayIndexOutOfBoundsException ();
+
+ synchronized (lock)
+ {
+ if (count + len > buffer.length)
+ {
+ localFlush ();
+ out.write(str, offset, len);
+ }
+ else
+ {
+ str.getChars(offset, offset + len, buffer, count);
+ count += len;
+ if (count == buffer.length)
+ localFlush ();
+ }
+ }
+ }
+
+ private final void localFlush () throws IOException
+ {
+ if (count > 0)
+ {
+ synchronized (lock)
+ {
+ out.write(buffer, 0, count);
+ count = 0;
+ }
+ }
+ }
+
+ // The downstream writer.
+ private Writer out;
+ // The character buffer.
+ char[] buffer;
+ // Number of valid chars in buffer.
+ int count;
+}
diff --git a/libjava/java/io/ByteArrayInputStream.java b/libjava/java/io/ByteArrayInputStream.java
new file mode 100644
index 0000000..9b9bf96
--- /dev/null
+++ b/libjava/java/io/ByteArrayInputStream.java
@@ -0,0 +1,113 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date October 7, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct
+ */
+
+public class ByteArrayInputStream extends InputStream
+{
+ /* An array of bytes provided by the creator of the stream. */
+ protected byte[] buf;
+
+ /* Position of the next byte in buf to be read. */
+ protected int pos;
+
+ /* The currently marked position in the stream. */
+ protected int mark;
+
+ /* The index in buf one greater than the last valid character. */
+ protected int count;
+
+ public ByteArrayInputStream(byte[] buffer)
+ {
+ this(buffer, 0, buffer.length);
+ }
+
+ public ByteArrayInputStream(byte[] buffer, int offset, int length)
+ {
+ buf = buffer;
+
+ count = offset + length;
+ if (count > buf.length)
+ count = buf.length;
+
+ pos = offset;
+ // TBD: What should we do if pos is neg. or > count? E.g. throw exc. or:
+ // if (pos < 0 || pos > count)
+ // pos = 0;
+
+ mark = pos;
+ }
+
+ public synchronized int available()
+ {
+ return count - pos;
+ }
+
+ public synchronized void mark(int readAheadLimit)
+ {
+ // readAheadLimit is ignored per Java Class Lib. book, p.220.
+ mark = pos;
+ }
+
+ public boolean markSupported()
+ {
+ return true;
+ }
+
+ public synchronized int read()
+ {
+ if (pos < 0)
+ throw new ArrayIndexOutOfBoundsException(pos);
+
+ if (pos < count)
+ return ((int) buf[pos++]) & 0xFF;
+ return -1;
+ }
+
+ public synchronized int read(byte[] b, int off, int len)
+ {
+ /* Don't need to check pos value, arraycopy will check it. */
+ if (off < 0 || len < 0 || off + len > b.length)
+ throw new ArrayIndexOutOfBoundsException();
+
+ if (pos >= count)
+ return -1;
+
+ int numBytes = Math.min(count - pos, len);
+ System.arraycopy(buf, pos, b, off, numBytes);
+ pos += numBytes;
+ return numBytes;
+ }
+
+ public synchronized void reset()
+ {
+ pos = mark;
+ }
+
+ public synchronized long skip(long n)
+ {
+ // Even though the var numBytes is a long, in reality it can never
+ // be larger than an int since the result of subtracting 2 positive
+ // ints will always fit in an int. Since we have to return a long
+ // anyway, numBytes might as well just be a long.
+ long numBytes = Math.min((long) (count - pos), n < 0 ? 0L : n);
+ pos += numBytes;
+ return numBytes;
+ }
+}
diff --git a/libjava/java/io/ByteArrayOutputStream.java b/libjava/java/io/ByteArrayOutputStream.java
new file mode 100644
index 0000000..4d5f224
--- /dev/null
+++ b/libjava/java/io/ByteArrayOutputStream.java
@@ -0,0 +1,108 @@
+// ByteArrayOutputStream.java - Write bytes to an array.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to version 1.1.
+ */
+
+public class ByteArrayOutputStream extends OutputStream
+{
+ public ByteArrayOutputStream ()
+ {
+ this (32);
+ }
+
+ public ByteArrayOutputStream (int size)
+ {
+ buf = new byte[size];
+ count = 0;
+ }
+
+ public synchronized void reset ()
+ {
+ count = 0;
+ }
+
+ public int size ()
+ {
+ return count;
+ }
+
+ public synchronized byte[] toByteArray ()
+ {
+ byte[] ret = new byte[count];
+ System.arraycopy(buf, 0, ret, 0, count);
+ return ret;
+ }
+
+ public String toString ()
+ {
+ return new String (buf, 0, count);
+ }
+
+ public String toString (String enc) throws UnsupportedEncodingException
+ {
+ return new String (buf, 0, count, enc);
+ }
+
+ // This is deprecated in the JCL book.
+ public String toString (int hibyte)
+ {
+ return new String (buf, 0, count, hibyte);
+ }
+
+ // Resize buffer to accomodate new bytes.
+ private void resize (int add)
+ {
+ if (count + add >= buf.length)
+ {
+ int newlen = buf.length * 2;
+ if (count + add > newlen)
+ newlen = count + add;
+ byte[] newbuf = new byte[newlen];
+ System.arraycopy(buf, 0, newbuf, 0, count);
+ buf = newbuf;
+ }
+ }
+
+ public synchronized void write (int oneByte)
+ {
+ resize (1);
+ buf[count++] = (byte) oneByte;
+ }
+
+ public synchronized void write (byte[] buffer, int offset, int add)
+ {
+ // If ADD < 0 then arraycopy will throw the appropriate error for
+ // us.
+ if (add >= 0)
+ resize (add);
+ System.arraycopy(buffer, offset, buf, count, add);
+ count += add;
+ }
+
+ public synchronized void writeTo (OutputStream out) throws IOException
+ {
+ out.write(buf, 0, count);
+ }
+
+ // The byte buffer.
+ protected byte[] buf;
+ // Number of valid bytes in buffer.
+ protected int count;
+}
diff --git a/libjava/java/io/CharArrayReader.java b/libjava/java/io/CharArrayReader.java
new file mode 100644
index 0000000..a43e8da
--- /dev/null
+++ b/libjava/java/io/CharArrayReader.java
@@ -0,0 +1,152 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date October 16, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct
+ */
+
+public class CharArrayReader extends Reader
+{
+ /* An array of chars provided by the creator of the stream. */
+ protected char[] buf;
+
+ /* Position of the next char in buf to be read. */
+ protected int pos;
+
+ /* The currently marked position in the stream. */
+ protected int markedPos;
+
+ /* The index in buf one greater than the last valid character. */
+ protected int count;
+
+ public CharArrayReader(char[] buffer)
+ {
+ this(buffer, 0, buffer.length);
+ }
+
+ public CharArrayReader(char[] buffer, int offset, int length)
+ {
+ super();
+ buf = buffer;
+
+ count = offset + length;
+ if (count > buf.length)
+ count = buf.length;
+
+ pos = offset;
+ // TBD: What should we do if pos is neg. or > count? E.g. throw exc. or:
+ // if (pos < 0 || pos > count)
+ // pos = 0;
+
+ markedPos = pos;
+ }
+
+ public void close()
+ {
+ synchronized (lock)
+ {
+ buf = null;
+ }
+ }
+
+ public void mark(int readAheadLimit)
+ {
+ synchronized (lock)
+ {
+ // readAheadLimit is ignored per Java Class Lib. book, p. 318.
+ markedPos = pos;
+ }
+ }
+
+ public boolean markSupported()
+ {
+ return true;
+ }
+
+ public int read() throws IOException
+ {
+ synchronized (lock)
+ {
+ if (buf == null)
+ throw new IOException();
+
+ if (pos < 0)
+ throw new ArrayIndexOutOfBoundsException(pos);
+
+ if (pos < count)
+ return ((int) buf[pos++]) & 0xFFFF;
+ return -1;
+ }
+ }
+
+ public int read(char[] b, int off, int len) throws IOException
+ {
+ synchronized (lock)
+ {
+ if (buf == null)
+ throw new IOException();
+
+ /* Don't need to check pos value, arraycopy will check it. */
+ if (off < 0 || len < 0 || off + len > b.length)
+ throw new ArrayIndexOutOfBoundsException();
+
+ if (pos >= count)
+ return -1;
+
+ int numChars = Math.min(count - pos, len);
+ System.arraycopy(buf, pos, b, off, numChars);
+ pos += numChars;
+ return numChars;
+ }
+ }
+
+ public boolean ready() throws IOException
+ {
+ if (buf == null)
+ throw new IOException();
+
+ return true;
+ }
+
+ public void reset() throws IOException
+ {
+ synchronized (lock)
+ {
+ if (buf == null)
+ throw new IOException();
+
+ pos = markedPos;
+ }
+ }
+
+ public long skip(long n) throws IOException
+ {
+ synchronized (lock)
+ {
+ if (buf == null)
+ throw new IOException();
+
+ // Even though the var numChars is a long, in reality it can never
+ // be larger than an int since the result of subtracting 2 positive
+ // ints will always fit in an int. Since we have to return a long
+ // anyway, numChars might as well just be a long.
+ long numChars = Math.min((long) (count - pos), n < 0 ? 0L : n);
+ pos += numChars;
+ return numChars;
+ }
+ }
+}
diff --git a/libjava/java/io/CharArrayWriter.java b/libjava/java/io/CharArrayWriter.java
new file mode 100644
index 0000000..3e1e4a4
--- /dev/null
+++ b/libjava/java/io/CharArrayWriter.java
@@ -0,0 +1,122 @@
+// CharArrayWriter.java - Character array output stream.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 25, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to 1.1.
+ */
+
+public class CharArrayWriter extends Writer
+{
+ public CharArrayWriter ()
+ {
+ this (32);
+ }
+
+ public CharArrayWriter (int size)
+ {
+ super ();
+ buf = new char[size];
+ }
+
+ public void close ()
+ {
+ // JCL says this does nothing. This seems to violate the Writer
+ // contract, in that other methods should still throw and
+ // IOException after a close. Still, we just follow JCL.
+ }
+
+ public void flush ()
+ {
+ }
+
+ public synchronized void reset ()
+ {
+ count = 0;
+ }
+
+ public int size ()
+ {
+ return count;
+ }
+
+ public char[] toCharArray ()
+ {
+ char[] nc = new char[count];
+ System.arraycopy(buf, 0, nc, 0, count);
+ return nc;
+ }
+
+ public String toString ()
+ {
+ return new String (buf, 0, count);
+ }
+
+ public void write (int oneChar)
+ {
+ synchronized (lock)
+ {
+ resize (1);
+ buf[count++] = (char) oneChar;
+ }
+ }
+
+ public void write (char[] buffer, int offset, int len)
+ {
+ synchronized (lock)
+ {
+ if (len >= 0)
+ resize (len);
+ System.arraycopy(buffer, offset, buf, count, len);
+ count += len;
+ }
+ }
+
+ public void write (String str, int offset, int len)
+ {
+ synchronized (lock)
+ {
+ if (len >= 0)
+ resize (len);
+ str.getChars(offset, offset + len, buf, count);
+ count += len;
+ }
+ }
+
+ public void writeTo (Writer out) throws IOException
+ {
+ out.write(buf, 0, count);
+ }
+
+ private final void resize (int len)
+ {
+ if (count + len >= buf.length)
+ {
+ int newlen = buf.length * 2;
+ if (count + len > newlen)
+ newlen = count + len;
+ char[] newbuf = new char[newlen];
+ System.arraycopy(buf, 0, newbuf, 0, count);
+ buf = newbuf;
+ }
+ }
+
+ // The character buffer.
+ protected char[] buf;
+ // Number of valid characters in buffer.
+ protected int count;
+}
diff --git a/libjava/java/io/CharConversionException.java b/libjava/java/io/CharConversionException.java
new file mode 100644
index 0000000..039578e
--- /dev/null
+++ b/libjava/java/io/CharConversionException.java
@@ -0,0 +1,34 @@
+// CharConversionException.java - Problem converting char to byte encoding.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 25, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to 1.1.
+ */
+
+public class CharConversionException extends IOException
+{
+ public CharConversionException ()
+ {
+ super ();
+ }
+
+ public CharConversionException (String s)
+ {
+ super (s);
+ }
+}
diff --git a/libjava/java/io/DataInput.java b/libjava/java/io/DataInput.java
new file mode 100644
index 0000000..2c6f988
--- /dev/null
+++ b/libjava/java/io/DataInput.java
@@ -0,0 +1,41 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date October 2, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public interface DataInput
+{
+ public boolean readBoolean() throws IOException;
+ public byte readByte() throws IOException;
+ public char readChar() throws IOException;
+ public double readDouble() throws IOException;
+ public float readFloat() throws IOException;
+ public void readFully(byte[] b)
+ throws IOException, NullPointerException;
+ public void readFully(byte[] b, int off, int len)
+ throws IOException, NullPointerException, IndexOutOfBoundsException;
+ public int readInt() throws IOException;
+ public String readLine() throws IOException;
+ public long readLong() throws IOException;
+ public short readShort() throws IOException;
+ public int readUnsignedByte() throws IOException;
+ public int readUnsignedShort() throws IOException;
+ public String readUTF() throws IOException;
+ public int skipBytes(int n) throws IOException;
+}
diff --git a/libjava/java/io/DataInputStream.java b/libjava/java/io/DataInputStream.java
new file mode 100644
index 0000000..7c90008
--- /dev/null
+++ b/libjava/java/io/DataInputStream.java
@@ -0,0 +1,249 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date October 20, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class DataInputStream extends FilterInputStream implements DataInput
+{
+ public DataInputStream(InputStream in)
+ {
+ super(in);
+ }
+
+ public final int read(byte[] b) throws IOException
+ {
+ return super.read(b, 0, b.length);
+ }
+
+ public final int read(byte[] b, int off, int len) throws IOException
+ {
+ if (off < 0 || len < 0 || off + len > b.length)
+ throw new ArrayIndexOutOfBoundsException();
+
+ return super.read(b, off, len);
+ }
+
+ public final boolean readBoolean() throws IOException
+ {
+ return (readByte() != 0);
+ }
+
+ public final byte readByte() throws IOException
+ {
+ int i = read();
+ if (i < 0)
+ throw new EOFException();
+
+ return (byte) i;
+ }
+
+ public final char readChar() throws IOException
+ {
+ return (char) ((readByte() << 8) | readUnsignedByte());
+ }
+
+ public final double readDouble() throws IOException
+ {
+ return Double.longBitsToDouble(readLong());
+ }
+
+ public final float readFloat() throws IOException
+ {
+ return Float.intBitsToFloat(readInt());
+ }
+
+ public final void readFully(byte[] b) throws IOException
+ {
+ readFully(b, 0, b.length);
+ }
+
+ public final void readFully(byte[] b, int off, int len) throws IOException
+ {
+ if (off < 0 || len < 0 || off + len > b.length)
+ throw new ArrayIndexOutOfBoundsException();
+
+ while (len > 0)
+ {
+ // super.read will block until some data is available.
+ int numread = super.read(b, off, len);
+ if (numread < 0)
+ throw new EOFException();
+ len -= numread;
+ off += numread;
+ }
+ }
+
+ public final int readInt() throws IOException
+ {
+ int retval = 0;
+ for (int i = 0; i < 4; i++)
+ retval |= readUnsignedByte() << (24 - i * 8);
+
+ return retval;
+ }
+
+ // Deprecated as of JDK 1.1
+ public final String readLine() throws IOException
+ {
+ StringBuffer strb = new StringBuffer();
+
+ while (true)
+ {
+ char ch = (char) read();
+ if (ch < 0 || (ch &= 0xFF) == '\n')
+ break;
+ if (ch == '\r')
+ {
+ // FIXME: The following code tries to adjust the stream back one
+ // character if the next char read is '\n'. As a last resort,
+ // it tries to mark the position before reading but the bottom
+ // line is that it is possible that this method will not properly
+ // deal with a '\r' '\n' combination thus not fulfilling the
+ // DataInput contract for readLine. It's not a particularly
+ // safe approach threadwise since it is unsynchronized and
+ // since it might mark an input stream behind the users back.
+ // Along the same vein it could try the same thing for
+ // ByteArrayInputStream and PushbackInputStream, but that is
+ // probably overkill since this is deprecated & BufferedInputStream
+ // is the most likely type of input stream.
+ //
+ // The alternative is to somehow push back the next byte if it
+ // isn't a '\n' or to have the reading methods of this class
+ // keep track of whether the last byte read was '\r' by readLine
+ // and then skip the very next byte if it is '\n'. Either way,
+ // this would increase the complexity of the non-deprecated methods
+ // and since it is undesirable to make non-deprecated methods
+ // less efficient, the following seems like the most reasonable
+ // approach.
+ if (in instanceof BufferedInputStream && (read() & 0xFF) != '\n')
+ {
+ BufferedInputStream bin = (BufferedInputStream) in;
+ if (bin.pos > 0)
+ bin.pos--;
+ }
+ else if (markSupported())
+ {
+ mark(1);
+ if ((read() & 0xFF) != '\n')
+ reset();
+ }
+ break;
+ }
+ strb.append(ch);
+ }
+
+ return strb.length() > 0 ? strb.toString() : null;
+ }
+
+ public final long readLong() throws IOException
+ {
+ long retval = 0L;
+ for (int i = 0; i < 8; i++)
+ retval |= (long) readUnsignedByte() << (56 - i * 8);
+
+ return retval;
+ }
+
+ public final short readShort() throws IOException
+ {
+ return (short) ((readByte() << 8) | readUnsignedByte());
+ }
+
+ public final int readUnsignedByte() throws IOException
+ {
+ int i = read();
+ if (i < 0)
+ throw new EOFException();
+
+ return (i & 0xFF);
+ }
+
+ public final int readUnsignedShort() throws IOException
+ {
+ return (readUnsignedByte() << 8) | readUnsignedByte();
+ }
+
+ public final String readUTF() throws IOException
+ {
+ return readUTF(this);
+ }
+
+ public final static String readUTF(DataInput in) throws IOException
+ {
+ final int UTFlen = in.readUnsignedShort();
+ byte[] buf = new byte[UTFlen];
+ StringBuffer strbuf = new StringBuffer();
+
+ // This blocks until the entire string is available rather than
+ // doing partial processing on the bytes that are available and then
+ // blocking. An advantage of the latter is that Exceptions
+ // could be thrown earlier. The former is a bit cleaner.
+ in.readFully(buf, 0, UTFlen);
+ for (int i = 0; i < UTFlen; )
+ {
+ if ((buf[i] & 0x80) == 0) // bit pattern 0xxxxxxx
+ strbuf.append((char) (buf[i++] & 0xFF));
+ else if ((buf[i] & 0xE0) == 0xC0) // bit pattern 110xxxxx
+ {
+ if (i + 1 >= UTFlen || (buf[i+1] & 0xC0) != 0x80)
+ throw new UTFDataFormatException();
+
+ strbuf.append((char) (((buf[i++] & 0x1F) << 6) |
+ (buf[i++] & 0x3F)));
+ }
+ else if ((buf[i] & 0xF0) == 0xE0) // bit pattern 1110xxxx
+ {
+ if (i + 2 >= UTFlen ||
+ (buf[i+1] & 0xC0) != 0x80 || (buf[i+2] & 0xC0) != 0x80)
+ throw new UTFDataFormatException();
+
+ strbuf.append((char) (((buf[i++] & 0x0F) << 12) |
+ ((buf[i++] & 0x3F) << 6) |
+ (buf[i++] & 0x3F)));
+ }
+ else // must be ((buf[i] & 0xF0) == 0xF0 || (buf[i] & 0xC0) == 0x80)
+ throw new UTFDataFormatException(); // bit patterns 1111xxxx or
+ // 10xxxxxx
+ }
+
+ return strbuf.toString();
+ }
+
+ public final int skipBytes(int n) throws IOException
+ {
+ // The contract in the Java Lang. Spec. says that this never
+ // throws an EOFException and infers that it doesn't block (since
+ // it may skip less than the requested number of bytes).
+ // BUT, the JCL book specifically says that this method blocks
+ // and can throw an EOFException. Finally, the Java 1.2 online
+ // doc simply refers to the general contract. As such, we will
+ // stick to the contract and assume for now that the JCL book
+ // is incorrect.
+
+ // Since we're only skipping at most an int number of bytes, the cast
+ // of return value to an int is fine.
+ if (n > 0)
+ {
+ n = Math.min(n, available());
+ return (int) super.skip((long) n);
+ }
+
+ return 0;
+ }
+}
diff --git a/libjava/java/io/DataOutput.java b/libjava/java/io/DataOutput.java
new file mode 100644
index 0000000..c3fd366
--- /dev/null
+++ b/libjava/java/io/DataOutput.java
@@ -0,0 +1,44 @@
+// DataOutput.java - Interface for data output conversions.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to version 1.1.
+ */
+
+public interface DataOutput
+{
+ public abstract void write (int b) throws IOException;
+ public abstract void write (byte[] b)
+ throws IOException, NullPointerException;
+ public abstract void write (byte[] b, int off, int len)
+ throws IOException, NullPointerException, IndexOutOfBoundsException;
+ public abstract void writeBoolean (boolean v) throws IOException;
+ public abstract void writeByte (int v) throws IOException;
+ public abstract void writeShort (int v) throws IOException;
+ public abstract void writeChar (int v) throws IOException;
+ public abstract void writeInt (int v) throws IOException;
+ public abstract void writeLong (long v) throws IOException;
+ public abstract void writeFloat (float v) throws IOException;
+ public abstract void writeDouble (double v) throws IOException;
+ public abstract void writeBytes (String s)
+ throws IOException, NullPointerException;
+ public abstract void writeChars (String s)
+ throws IOException, NullPointerException;
+ public abstract void writeUTF (String s)
+ throws IOException, NullPointerException;
+}
diff --git a/libjava/java/io/DataOutputStream.java b/libjava/java/io/DataOutputStream.java
new file mode 100644
index 0000000..2ef4cf0
--- /dev/null
+++ b/libjava/java/io/DataOutputStream.java
@@ -0,0 +1,165 @@
+// DataOutputStream.java - Output filter that implements DataOutput
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to version 1.1.
+ */
+
+public class DataOutputStream extends FilterOutputStream implements DataOutput
+{
+ public DataOutputStream (OutputStream out)
+ {
+ super (out);
+ written = 0;
+ }
+
+ public void flush () throws IOException
+ {
+ out.flush();
+ }
+
+ public final int size ()
+ {
+ return written;
+ }
+
+ public synchronized void write (int b) throws IOException
+ {
+ out.write(b);
+ ++written;
+ }
+
+ public synchronized void write (byte[] b, int off, int len)
+ throws IOException, NullPointerException, IndexOutOfBoundsException
+ {
+ out.write(b, off, len);
+ written += len - off;
+ }
+
+ public final void writeBoolean (boolean v) throws IOException
+ {
+ write (v ? 1 : 0);
+ }
+
+ public final void writeByte (int v) throws IOException
+ {
+ write (v & 0xff);
+ }
+
+ public final void writeShort (int v) throws IOException
+ {
+ write ((byte) (0xff & (v >> 8)));
+ write ((byte) (0xff & v));
+ }
+
+ public final void writeChar (int v) throws IOException
+ {
+ write ((byte) (0xff & (v >> 8)));
+ write ((byte) (0xff & v));
+ }
+
+ public final void writeInt (int v) throws IOException
+ {
+ write ((byte) (0xff & (v >> 24)));
+ write ((byte) (0xff & (v >> 16)));
+ write ((byte) (0xff & (v >> 8)));
+ write ((byte) (0xff & v));
+ }
+
+ public final void writeLong (long v) throws IOException
+ {
+ write ((byte) (0xff & (v >> 56)));
+ write ((byte) (0xff & (v >> 48)));
+ write ((byte) (0xff & (v >> 40)));
+ write ((byte) (0xff & (v >> 32)));
+ write ((byte) (0xff & (v >> 24)));
+ write ((byte) (0xff & (v >> 16)));
+ write ((byte) (0xff & (v >> 8)));
+ write ((byte) (0xff & v));
+ }
+
+ public final void writeFloat (float v) throws IOException
+ {
+ writeInt (Float.floatToIntBits(v));
+ }
+
+ public final void writeDouble (double v) throws IOException
+ {
+ writeLong (Double.doubleToLongBits(v));
+ }
+
+ public final void writeBytes (String s) throws IOException
+ {
+ int len = s.length();
+ for (int i = 0; i < len; ++i)
+ writeByte (s.charAt(i));
+ }
+
+ public final void writeChars (String s) throws IOException
+ {
+ int len = s.length();
+ for (int i = 0; i < len; ++i)
+ writeChar (s.charAt(i));
+ }
+
+ public final void writeUTF (String s) throws IOException
+ {
+ int len = s.length();
+ int sum = 0;
+
+ for (int i = 0; i < len && sum <= 65535; ++i)
+ {
+ char c = s.charAt(i);
+ if (c >= '\u0001' && c <= '\u007f')
+ sum += 1;
+ else if (c == '\u0000' || (c >= '\u0080' && c <= '\u07ff'))
+ sum += 2;
+ else
+ sum += 3;
+ }
+
+ if (sum > 65535)
+ throw new UTFDataFormatException ();
+
+ writeShort (sum);
+
+ for (int i = 0; i < len; ++i)
+ {
+ char c = s.charAt(i);
+ if (c >= '\u0001' && c <= '\u007f')
+ write (c);
+ else if (c == '\u0000' || (c >= '\u0080' && c <= '\u07ff'))
+ {
+ write (0xc0 | (0x1f & (c >> 6)));
+ write (0x80 | (0x3f & c));
+ }
+ else
+ {
+ // JSL says the first byte should be or'd with 0xc0, but
+ // that is a typo. Unicode says 0xe0, and that is what is
+ // consistent with DataInputStream.
+ write (0xe0 | (0x0f & (c >> 12)));
+ write (0x80 | (0x3f & (c >> 6)));
+ write (0x80 | (0x3f & c));
+ }
+ }
+ }
+
+ // Number of bytes written so far.
+ protected int written;
+}
diff --git a/libjava/java/io/EOFException.java b/libjava/java/io/EOFException.java
new file mode 100644
index 0000000..d890a0f
--- /dev/null
+++ b/libjava/java/io/EOFException.java
@@ -0,0 +1,34 @@
+// EOFException.java - End of file exception
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to 1.1.
+ */
+
+public class EOFException extends IOException
+{
+ public EOFException ()
+ {
+ super ();
+ }
+
+ public EOFException (String s)
+ {
+ super (s);
+ }
+}
diff --git a/libjava/java/io/File.java b/libjava/java/io/File.java
new file mode 100644
index 0000000..30d9887
--- /dev/null
+++ b/libjava/java/io/File.java
@@ -0,0 +1,288 @@
+// File.java - File name
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to version 1.1; 1.2 functionality missing.
+ * A known bug: most calls to the security manager can generate
+ * IOException since we use the canonical path.
+ */
+
+public class File implements Serializable
+{
+ public boolean canRead ()
+ {
+ return access (checkRead (), READ);
+ }
+
+ public boolean canWrite ()
+ {
+ SecurityManager s = System.getSecurityManager();
+ String p = safeCanonicalPath ();
+ // FIXME: it isn't entirely clear what to do if we can't find the
+ // canonical path.
+ if (p == null)
+ return false;
+ if (s != null)
+ s.checkWrite(p);
+ return access (p, WRITE);
+ }
+
+ private final native boolean performDelete (String canon);
+ public boolean delete ()
+ {
+ SecurityManager s = System.getSecurityManager();
+ String p = safeCanonicalPath ();
+ // FIXME: what is right?
+ if (p == null)
+ return false;
+ if (s != null)
+ s.checkDelete(p);
+ return performDelete (p);
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (! (obj instanceof File))
+ return false;
+ File other = (File) obj;
+ return path.compareTo(other.path) == 0;
+ }
+
+ public boolean exists ()
+ {
+ return access (checkRead (), EXISTS);
+ }
+
+ public File (String p)
+ {
+ if (p == null)
+ throw new NullPointerException ();
+ path = p;
+ }
+
+ public File (String dirPath, String name)
+ {
+ if (name == null)
+ throw new NullPointerException ();
+ if (dirPath != null)
+ {
+ // Try to be smart about the number of separator characters.
+ if (dirPath.charAt(dirPath.length() - 1) == separatorChar)
+ path = dirPath + name;
+ else
+ path = dirPath + separatorChar + name;
+ }
+ else
+ path = name;
+ }
+
+ public File (File dir, String name)
+ {
+ this (dir == null ? null : dir.path, name);
+ }
+
+ public String getAbsolutePath ()
+ {
+ if (isAbsolute ())
+ return path;
+ return System.getProperty("user.dir") + separatorChar + path;
+ }
+
+ public native String getCanonicalPath () throws IOException;
+
+ public String getName ()
+ {
+ int last = path.lastIndexOf(separatorChar);
+ if (last == -1)
+ last = 0;
+ return path.substring(last);
+ }
+
+ public String getParent ()
+ {
+ int last = path.lastIndexOf(separatorChar);
+ if (last == -1)
+ return null;
+ return path.substring(0, last);
+ }
+
+ public String getPath ()
+ {
+ return path;
+ }
+
+ public int hashCode ()
+ {
+ // FIXME: test.
+ return path.hashCode();
+ }
+
+ public native boolean isAbsolute ();
+
+ public boolean isDirectory ()
+ {
+ return stat (checkRead (), DIRECTORY);
+ }
+
+ public boolean isFile ()
+ {
+ return stat (checkRead (), ISFILE);
+ }
+
+ public long lastModified ()
+ {
+ return attr (checkRead (), MODIFIED);
+ }
+
+ public long length ()
+ {
+ return attr (checkRead (), LENGTH);
+ }
+
+ private final native String[] performList (String canon,
+ FilenameFilter filter);
+ public String[] list (FilenameFilter filter)
+ {
+ return performList (checkRead (), filter);
+ }
+
+ public String[] list ()
+ {
+ return performList (checkRead (), null);
+ }
+
+ public String toString ()
+ {
+ return path;
+ }
+
+ private final native boolean performMkdir ();
+ public boolean mkdir ()
+ {
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ {
+ // NOTE: in theory we should use the canonical path. In
+ // practice, we can't compute the canonical path until we've
+ // made this completely. Lame.
+ s.checkWrite(path);
+ }
+ return performMkdir ();
+ }
+
+ private static boolean mkdirs (File x)
+ {
+ if (x.isDirectory())
+ return true;
+ String p = x.getPath();
+ x.setPath(x.getParent());
+ if (! mkdirs (x))
+ return false;
+ x.setPath(p);
+ return x.mkdir();
+ }
+
+ public boolean mkdirs ()
+ {
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ {
+ // NOTE: in theory we should use the canonical path. In
+ // practice, we can't compute the canonical path until we've
+ // made this completely. Lame.
+ s.checkWrite(path);
+ }
+
+ if (isDirectory ())
+ return false;
+ return mkdirs (new File (path));
+ }
+
+ private final native boolean performRenameTo (File dest);
+ public boolean renameTo (File dest)
+ {
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ {
+ // FIXME: JCL doesn't specify which path to check. We check the
+ // source since we can canonicalize it.
+ s.checkWrite(safeCanonicalPath());
+ }
+ return performRenameTo (dest);
+ }
+
+ public static final String pathSeparator
+ = System.getProperty("path.separator");
+ public static final char pathSeparatorChar = pathSeparator.charAt(0);
+ public static final String separator = System.getProperty("file.separator");
+ public static final char separatorChar = separator.charAt(0);
+
+
+ // The path.
+ private String path;
+
+ // mkdirs() uses this to avoid repeated allocations.
+ private final void setPath (String n)
+ {
+ path = n;
+ }
+
+
+ private final String checkRead ()
+ {
+ SecurityManager s = System.getSecurityManager();
+ String p = safeCanonicalPath ();
+ if (p == null)
+ return null;
+ if (s != null)
+ s.checkRead(p);
+ return p;
+ }
+
+ // Return canonical path, or null.
+ private final String safeCanonicalPath ()
+ {
+ String p = null;
+ try
+ {
+ p = getCanonicalPath ();
+ }
+ catch (IOException x)
+ {
+ // Nothing.
+ }
+ return p;
+ }
+
+ // QUERY arguments to access function.
+ private final static int READ = 0;
+ private final static int WRITE = 1;
+ private final static int EXISTS = 2;
+
+ // QUERY arguments to stat function.
+ private final static int DIRECTORY = 0;
+ private final static int ISFILE = 1;
+
+ // QUERY arguments to attr function.
+ private final static int MODIFIED = 0;
+ private final static int LENGTH = 1;
+
+ private final native long attr (String p, int query);
+ private final native boolean access (String p, int query);
+ private final native boolean stat (String p, int query);
+}
diff --git a/libjava/java/io/FileDescriptor.java b/libjava/java/io/FileDescriptor.java
new file mode 100644
index 0000000..0782b0c
--- /dev/null
+++ b/libjava/java/io/FileDescriptor.java
@@ -0,0 +1,87 @@
+// FileDescriptor.java - Open file or device
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to 1.1
+ */
+
+// For now we assume a POSIXy file system. This can be changed later
+// if need be.
+public final class FileDescriptor
+{
+ public static final FileDescriptor in = new FileDescriptor (0);
+ public static final FileDescriptor out = new FileDescriptor (1);
+ public static final FileDescriptor err = new FileDescriptor (2);
+
+ public native void sync () throws SyncFailedException;
+ public native boolean valid ();
+
+
+ // These are mode values for open().
+ static final int READ = 1;
+ static final int WRITE = 2;
+ static final int APPEND = 4;
+
+ // These are WHENCE values for seek.
+ static final int SET = 0;
+ static final int CUR = 1;
+
+ // Open a file. MODE is a combination of the above mode flags.
+ FileDescriptor (String path, int mode) throws IOException
+ {
+ fd = open (path, mode);
+ }
+
+ public FileDescriptor ()
+ {
+ fd = -1;
+ }
+
+ native int open (String path, int mode) throws IOException;
+ native void write (int b) throws IOException;
+ native void write (byte[] b, int offset, int len)
+ throws IOException, NullPointerException, IndexOutOfBoundsException;
+ native void close () throws IOException;
+ native int seek (long pos, int whence) throws IOException;
+ native long length () throws IOException;
+ native long getFilePointer () throws IOException;
+ native int read () throws IOException;
+ native int read (byte[] bytes, int offset, int len) throws IOException;
+ native int available () throws IOException;
+
+
+ // When collected, close.
+ protected void finalize () throws IOException
+ {
+ if (valid ())
+ close ();
+ }
+
+ // Attach to an already-opened file. This is not private because we
+ // need access to it from other packages, for instance java.net.
+ // Ordinarily that wouldn't work, either, but in our case we know
+ // the access comes from C++, where "package private" is translated
+ // into "public". Eww.
+ FileDescriptor (int desc)
+ {
+ fd = desc;
+ }
+
+ // System's notion of file descriptor.
+ private int fd;
+}
diff --git a/libjava/java/io/FileInputStream.java b/libjava/java/io/FileInputStream.java
new file mode 100644
index 0000000..4f44dae
--- /dev/null
+++ b/libjava/java/io/FileInputStream.java
@@ -0,0 +1,96 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date October 28, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class FileInputStream extends InputStream
+{
+ /* Contains the file descriptor for referencing the actual file. */
+ private FileDescriptor fd;
+
+ public FileInputStream(String name) throws FileNotFoundException, IOException
+ {
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkRead(name);
+ fd = new FileDescriptor(name, FileDescriptor.READ);
+ }
+
+ public FileInputStream(File file) throws FileNotFoundException, IOException
+ {
+ this(file.getPath());
+ }
+
+ public FileInputStream(FileDescriptor fdObj)
+ {
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkRead(fdObj);
+ fd = fdObj;
+ }
+
+ public int available() throws IOException
+ {
+ return fd.available();
+ }
+
+ public void close() throws IOException
+ {
+ if (fd == null)
+ return;
+
+ fd.close();
+ fd = null;
+ }
+
+ protected void finalize() throws IOException
+ {
+ if (fd != null)
+ fd.finalize();
+ }
+
+ public final FileDescriptor getFD() throws IOException
+ {
+ if (!fd.valid())
+ throw new IOException();
+ return fd;
+ }
+
+ public int read() throws IOException
+ {
+ return fd.read();
+ }
+
+ public int read(byte[] b) throws IOException
+ {
+ return fd.read(b, 0, b.length);
+ }
+
+ public int read(byte[] b, int off, int len) throws IOException
+ {
+ if (off < 0 || len < 0 || off + len > b.length)
+ throw new ArrayIndexOutOfBoundsException();
+
+ return fd.read(b, off, len);
+ }
+
+ public long skip(long n) throws IOException
+ {
+ return fd.seek(n, FileDescriptor.CUR);
+ }
+}
diff --git a/libjava/java/io/FileNotFoundException.java b/libjava/java/io/FileNotFoundException.java
new file mode 100644
index 0000000..07ff9bf
--- /dev/null
+++ b/libjava/java/io/FileNotFoundException.java
@@ -0,0 +1,34 @@
+// FileNotFoundException.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to 1.1.
+ */
+
+public class FileNotFoundException extends IOException
+{
+ public FileNotFoundException ()
+ {
+ super ();
+ }
+
+ public FileNotFoundException (String s)
+ {
+ super (s);
+ }
+}
diff --git a/libjava/java/io/FileOutputStream.java b/libjava/java/io/FileOutputStream.java
new file mode 100644
index 0000000..3e6e972
--- /dev/null
+++ b/libjava/java/io/FileOutputStream.java
@@ -0,0 +1,93 @@
+// FileOutputStream.java - Write bytes to a file.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to version 1.1.
+ */
+
+public class FileOutputStream extends OutputStream
+{
+ public FileOutputStream (String path, boolean append)
+ throws SecurityException, IOException
+ {
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkWrite(path);
+ fd = new FileDescriptor (path, (append
+ ? FileDescriptor.APPEND
+ : FileDescriptor.WRITE));
+ }
+
+ public FileOutputStream (String path) throws SecurityException, IOException
+ {
+ this (path, false);
+ }
+
+ public FileOutputStream (File file) throws SecurityException, IOException
+ {
+ this (file.getPath(), false);
+ }
+
+ public FileOutputStream (FileDescriptor fdObj) throws SecurityException
+ {
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkWrite(fdObj);
+ fd = fdObj;
+ }
+
+ protected void finalize () throws IOException
+ {
+ // We don't actually need this, but we include it because it is
+ // mentioned in the JCL.
+ }
+
+ public final FileDescriptor getFD () throws IOException
+ {
+ if (! fd.valid())
+ throw new IOException ();
+ return fd;
+ }
+
+ public void write (int b) throws IOException
+ {
+ fd.write (b);
+ }
+
+ public void write (byte[] b) throws IOException, NullPointerException
+ {
+ fd.write (b, 0, b.length);
+ }
+
+ public void write (byte[] b, int off, int len)
+ throws IOException, NullPointerException, IndexOutOfBoundsException
+ {
+ if (off < 0 || len < 0 || off + len > b.length)
+ throw new ArrayIndexOutOfBoundsException ();
+ fd.write (b, off, len);
+ }
+
+ public void close () throws IOException
+ {
+ if (fd.valid())
+ fd.close();
+ }
+
+ // Instance variables.
+ private FileDescriptor fd;
+}
diff --git a/libjava/java/io/FileReader.java b/libjava/java/io/FileReader.java
new file mode 100644
index 0000000..259526c
--- /dev/null
+++ b/libjava/java/io/FileReader.java
@@ -0,0 +1,35 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date April 22, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition.
+ * Status: Believed complete and correct.
+ */
+
+public class FileReader extends InputStreamReader
+{
+ public FileReader(String filename) throws IOException
+ {
+ super(new FileInputStream(filename));
+ }
+
+ public FileReader(File file) throws IOException
+ {
+ super(new FileInputStream(file));
+ }
+
+ public FileReader(FileDescriptor fd)
+ {
+ super(new FileInputStream(fd));
+ }
+}
diff --git a/libjava/java/io/FileWriter.java b/libjava/java/io/FileWriter.java
new file mode 100644
index 0000000..8c3f9a9
--- /dev/null
+++ b/libjava/java/io/FileWriter.java
@@ -0,0 +1,44 @@
+// FileWriter.java - Character output to a file.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 25, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to version 1.1.
+ */
+
+public class FileWriter extends OutputStreamWriter
+{
+ public FileWriter (String fileName) throws IOException
+ {
+ super (new FileOutputStream (fileName));
+ }
+
+ public FileWriter (String fileName, boolean append) throws IOException
+ {
+ super (new FileOutputStream (fileName, append));
+ }
+
+ public FileWriter (File file) throws IOException
+ {
+ super (new FileOutputStream (file));
+ }
+
+ public FileWriter (FileDescriptor fd)
+ {
+ super (new FileOutputStream (fd));
+ }
+}
diff --git a/libjava/java/io/FilenameFilter.java b/libjava/java/io/FilenameFilter.java
new file mode 100644
index 0000000..682efed
--- /dev/null
+++ b/libjava/java/io/FilenameFilter.java
@@ -0,0 +1,26 @@
+// FilenameFilter.java - Compute subset of list of file names
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to 1.1.
+ */
+
+public interface FilenameFilter
+{
+ public abstract boolean accept (File dir, String name);
+}
diff --git a/libjava/java/io/FilterInputStream.java b/libjava/java/io/FilterInputStream.java
new file mode 100644
index 0000000..918948b
--- /dev/null
+++ b/libjava/java/io/FilterInputStream.java
@@ -0,0 +1,75 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date October 8, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class FilterInputStream extends InputStream
+{
+ /* The input stream to be filtered. */
+ protected InputStream in;
+
+ protected FilterInputStream(InputStream in)
+ {
+ this.in = in;
+ }
+
+ public int available() throws IOException
+ {
+ return in.available();
+ }
+
+ public void close() throws IOException
+ {
+ in.close();
+ }
+
+ public synchronized void mark(int readlimit)
+ {
+ in.mark(readlimit);
+ }
+
+ public boolean markSupported()
+ {
+ return in.markSupported();
+ }
+
+ public int read() throws IOException
+ {
+ return in.read();
+ }
+
+ public int read(byte[] b) throws IOException
+ {
+ return read(b, 0, b.length);
+ }
+
+ public int read(byte[] b, int off, int len) throws IOException
+ {
+ return in.read(b, off, len);
+ }
+
+ public synchronized void reset() throws IOException
+ {
+ in.reset();
+ }
+
+ public long skip(long n) throws IOException
+ {
+ return in.skip(n);
+ }
+}
diff --git a/libjava/java/io/FilterOutputStream.java b/libjava/java/io/FilterOutputStream.java
new file mode 100644
index 0000000..45d6fd0
--- /dev/null
+++ b/libjava/java/io/FilterOutputStream.java
@@ -0,0 +1,61 @@
+// FilterOutputStream.java - A filtered stream
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to version 1.1.
+ */
+
+public class FilterOutputStream extends OutputStream
+{
+ public void close () throws IOException
+ {
+ flush ();
+ out.close();
+ }
+
+ public FilterOutputStream (OutputStream ox)
+ {
+ out = ox;
+ }
+
+ public void flush () throws IOException
+ {
+ out.flush();
+ }
+
+ public void write (int b) throws IOException
+ {
+ out.write(b);
+ }
+
+ public void write (byte[] b) throws IOException, NullPointerException
+ {
+ // Don't do checking here, per Java Lang Spec.
+ out.write (b);
+ }
+
+ public void write (byte[] b, int off, int len)
+ throws IOException, NullPointerException, IndexOutOfBoundsException
+ {
+ // Don't do checking here, per Java Lang Spec.
+ out.write(b, off, len);
+ }
+
+ // The output stream.
+ protected OutputStream out;
+}
diff --git a/libjava/java/io/FilterReader.java b/libjava/java/io/FilterReader.java
new file mode 100644
index 0000000..1fe2014
--- /dev/null
+++ b/libjava/java/io/FilterReader.java
@@ -0,0 +1,72 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date October 15, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public abstract class FilterReader extends Reader
+{
+ /* The input stream to be filtered. */
+ protected Reader in;
+
+ protected FilterReader(Reader in)
+ {
+ super(in.lock);
+ this.in = in;
+ }
+
+ public void close() throws IOException
+ {
+ in.close();
+ in = null;
+ }
+
+ public synchronized void mark(int readlimit) throws IOException
+ {
+ in.mark(readlimit);
+ }
+
+ public boolean markSupported()
+ {
+ return in.markSupported();
+ }
+
+ public int read() throws IOException
+ {
+ return in.read();
+ }
+
+ public int read(char[] b, int off, int len) throws IOException
+ {
+ return in.read(b, off, len);
+ }
+
+ public boolean ready() throws IOException
+ {
+ return in.ready();
+ }
+
+ public synchronized void reset() throws IOException
+ {
+ in.reset();
+ }
+
+ public long skip(long n) throws IOException
+ {
+ return in.skip(n);
+ }
+}
diff --git a/libjava/java/io/FilterWriter.java b/libjava/java/io/FilterWriter.java
new file mode 100644
index 0000000..385cc7e
--- /dev/null
+++ b/libjava/java/io/FilterWriter.java
@@ -0,0 +1,59 @@
+// FilterWriter.java - Filtered character output stream.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 25, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to version 1.1.
+ */
+
+public abstract class FilterWriter extends Writer
+{
+ public void close () throws IOException
+ {
+ out.close();
+ }
+
+ protected FilterWriter (Writer ox)
+ {
+ // FIXME: should we really share locks like this?
+ super (ox);
+ out = ox;
+ }
+
+ public void flush () throws IOException
+ {
+ out.flush();
+ }
+
+ public void write (int oneChar) throws IOException
+ {
+ out.write(oneChar);
+ }
+
+ public void write (char[] buffer, int offset, int count) throws IOException
+ {
+ out.write(buffer, offset, count);
+ }
+
+ public void write (String str, int offset, int count) throws IOException
+ {
+ out.write(str, offset, count);
+ }
+
+ // Where our writes should go.
+ protected Writer out;
+}
diff --git a/libjava/java/io/IOException.java b/libjava/java/io/IOException.java
new file mode 100644
index 0000000..15a14ff
--- /dev/null
+++ b/libjava/java/io/IOException.java
@@ -0,0 +1,34 @@
+// IOException.java - Base class for I/O Exceptions
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to 1.1.
+ */
+
+public class IOException extends Exception
+{
+ public IOException ()
+ {
+ super ();
+ }
+
+ public IOException (String s)
+ {
+ super (s);
+ }
+}
diff --git a/libjava/java/io/InputStream.java b/libjava/java/io/InputStream.java
new file mode 100644
index 0000000..cc86efd
--- /dev/null
+++ b/libjava/java/io/InputStream.java
@@ -0,0 +1,104 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date October 2, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public abstract class InputStream
+{
+ public InputStream()
+ {
+ }
+
+ public int available() throws IOException
+ {
+ return 0;
+ }
+
+ public void close() throws IOException
+ {
+ // Do nothing
+ }
+
+ public void mark(int readlimit)
+ {
+ // Do nothing
+ }
+
+ public boolean markSupported()
+ {
+ return false;
+ }
+
+ public abstract int read() throws IOException;
+
+ public int read(byte[] b) throws IOException
+ {
+ return read(b, 0, b.length);
+ }
+
+ public int read(byte[] b, int off, int len) throws IOException
+ {
+ if (off < 0 || len < 0 || off + len > b.length)
+ throw new IndexOutOfBoundsException();
+ if (b.length == 0)
+ return 0;
+
+ int i, ch;
+
+ for (i = 0; i < len; ++i)
+ try
+ {
+ if ((ch = read()) < 0)
+ return i == 0 ? -1 : i; // EOF
+ b[off + i] = (byte) ch;
+ }
+ catch (IOException ex)
+ {
+ // Only reading the first byte should cause an IOException.
+ if (i == 0)
+ throw ex;
+ return i;
+ }
+
+ return i;
+ }
+
+ public void reset() throws IOException
+ {
+ throw new IOException("mark/reset not supported");
+ }
+
+ public long skip(long n) throws IOException
+ {
+ // Throw away n bytes by reading them into a temp byte[].
+ // Limit the temp array to 2Kb so we don't grab too much memory.
+ final int buflen = n > 2048 ? 2048 : (int) n;
+ byte[] tmpbuf = new byte[buflen];
+ final long origN = n;
+
+ while (n > 0L)
+ {
+ int numread = read(tmpbuf, 0, n > buflen ? buflen : (int) n);
+ if (numread <= 0)
+ break;
+ n -= numread;
+ }
+
+ return origN - n;
+ }
+}
diff --git a/libjava/java/io/InputStreamReader.java b/libjava/java/io/InputStreamReader.java
new file mode 100644
index 0000000..ee44f91
--- /dev/null
+++ b/libjava/java/io/InputStreamReader.java
@@ -0,0 +1,151 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+import gnu.gcj.convert.*;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date April 22, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct, but only supports 8859_1.
+ */
+
+public class InputStreamReader extends Reader
+{
+ BufferedInputStream in;
+
+ // Buffer of chars read from in and converted but not consumed.
+ char[] work;
+ // Next available character (in work buffer) to read.
+ int wpos;
+ // Last available character (in work buffer) to read.
+ int wcount;
+
+ BytesToUnicode converter;
+
+ public InputStreamReader(InputStream in)
+ {
+ this(in, BytesToUnicode.getDefaultDecoder());
+ }
+
+ public InputStreamReader(InputStream in, String enc)
+ throws UnsupportedEncodingException
+ {
+ this(in, BytesToUnicode.getDecoder(enc));
+ }
+
+ private InputStreamReader(InputStream in, BytesToUnicode decoder)
+ {
+ super(in);
+ this.in = in instanceof BufferedInputStream ? (BufferedInputStream) in
+ : new BufferedInputStream(in, 250);
+ converter = decoder;
+ converter.setInput(this.in.buf, 0, 0);
+ }
+
+ public void close() throws IOException
+ {
+ synchronized (lock)
+ {
+ if (in != null)
+ in.close();
+ in = null;
+ work = null;
+ wpos = wcount = 0;
+ }
+ }
+
+ public String getEncoding() { return converter.getName(); }
+
+ public boolean ready() throws IOException
+ {
+ synchronized (lock)
+ {
+ if (wpos < wcount)
+ return true;
+ if (work == null)
+ {
+ work = new char[100];
+ wpos = 0;
+ wcount = 0;
+ }
+ for (;;)
+ {
+ if (in.available() <= 0)
+ return false;
+ in.mark(1);
+ int b = in.read();
+ if (b < 0)
+ return true;
+ in.reset();
+ converter.setInput(in.buf, in.pos, in.count);
+ wpos = 0;
+ wcount = converter.read(work, 0, work.length);
+ in.skip(converter.inpos - in.pos);
+ if (wcount > 0)
+ return true;
+ }
+ }
+ }
+
+ public int read(char buf[], int offset, int length) throws IOException
+ {
+ synchronized (lock)
+ {
+ int wavail = wcount - wpos;
+ if (wavail > 0)
+ {
+ if (length > wavail)
+ length = wavail;
+ System.arraycopy(work, wpos, buf, offset, length);
+ wpos += length;
+ return length;
+ }
+ else
+ {
+ for (;;)
+ {
+ in.mark(1);
+ int b = in.read();
+ if (b < 0)
+ return -1;
+ in.reset();
+ converter.setInput(in.buf, in.pos, in.count);
+ int count = converter.read (buf, offset, length);
+ in.skip(converter.inpos - in.pos);
+ if (count > 0)
+ return count;
+ }
+ }
+ }
+ }
+
+ public int read() throws IOException
+ {
+ synchronized (lock)
+ {
+ int wavail = wcount - wpos;
+ if (wavail > 0)
+ return work[wpos++];
+ if (work == null)
+ {
+ work = new char[100];
+ wpos = 0;
+ wcount = 0;
+ }
+ int count = read(work, wpos, work.length-wpos);
+ if (count <= 0)
+ return -1;
+ wcount = wpos + count;
+ return work[wpos++];
+ }
+ }
+}
diff --git a/libjava/java/io/InterruptedIOException.java b/libjava/java/io/InterruptedIOException.java
new file mode 100644
index 0000000..11d922b
--- /dev/null
+++ b/libjava/java/io/InterruptedIOException.java
@@ -0,0 +1,36 @@
+// InterruptedIOException.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to 1.1.
+ */
+
+public class InterruptedIOException extends IOException
+{
+ public InterruptedIOException ()
+ {
+ super ();
+ }
+
+ public InterruptedIOException (String s)
+ {
+ super (s);
+ }
+
+ public int bytesTransferred = 0;
+}
diff --git a/libjava/java/io/LineNumberInputStream.java b/libjava/java/io/LineNumberInputStream.java
new file mode 100644
index 0000000..1b96da9
--- /dev/null
+++ b/libjava/java/io/LineNumberInputStream.java
@@ -0,0 +1,143 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date November 11, 1998.
+ * @deprecated
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct. Deprecated in JDK 1.1.
+ */
+
+public class LineNumberInputStream extends FilterInputStream
+{
+ /* The current line number. */
+ private int lineNumber = 0;
+
+ /* The line number when the stream was marked. */
+ private int markLineNumber = 0;
+
+ /* Flag to indicate a '\r' was just read so that an immediately subsequent
+ * '\n' can be ignored. */
+ private boolean justReadReturnChar = false;
+
+ public LineNumberInputStream(InputStream in)
+ {
+ super(in);
+ }
+
+ public int available() throws IOException
+ {
+ // We can only guarantee half the characters that might be available
+ // without blocking because "\r\n" is treated as a single character.
+ return in.available() / 2;
+ }
+
+ public int getLineNumber()
+ {
+ return lineNumber;
+ }
+
+ public void mark(int readlimit)
+ {
+ in.mark(readlimit);
+ markLineNumber = lineNumber;
+ }
+
+ public int read() throws IOException
+ {
+ // Treat "\r\n" as a single character. A '\r' may have been read by
+ // a previous call to read so we keep an internal flag to avoid having
+ // to read ahead.
+
+ int ch = in.read();
+
+ if (ch == '\n')
+ if (justReadReturnChar)
+ {
+ ch = in.read();
+ justReadReturnChar = false;
+ }
+ else
+ lineNumber++;
+ else if (ch == '\r')
+ {
+ ch = '\n';
+ justReadReturnChar = true;
+ lineNumber++;
+ }
+ else
+ justReadReturnChar = false;
+
+ return ch;
+ }
+
+ public int read(byte[] b, int off, int len) throws IOException
+ {
+ if (off < 0 || len < 0 || off + len > b.length)
+ throw new ArrayIndexOutOfBoundsException();
+
+ // This case always succeeds.
+ if (len == 0)
+ return 0;
+
+ // The simplest, though not necessarily the most time efficient thing
+ // to do is simply call read(void) len times. Since this is a deprecated
+ // class, that should be ok.
+ final int origOff = off;
+ while (len-- > 0)
+ {
+ int ch = read();
+ if (ch < 0)
+ break;
+
+ b[off++] = (byte) ch;
+ }
+
+ // This is safe since we already know that some bytes were
+ // actually requested.
+ return off == origOff ? -1 : off - origOff;
+ }
+
+ public void reset() throws IOException
+ {
+ in.reset();
+ lineNumber = markLineNumber;
+ justReadReturnChar = false;
+ }
+
+ public void setLineNumber(int lineNumber)
+ {
+ this.lineNumber = lineNumber;
+ }
+
+ public long skip(long n) throws IOException
+ {
+ if (n <= 0)
+ return 0L;
+
+ final long origN = n;
+
+ do
+ {
+ int ch = read();
+ if (ch < 0)
+ break;
+ if (ch == '\n' || ch == '\r')
+ lineNumber++;
+ }
+ while (--n > 0);
+
+ return origN - n;
+ }
+}
diff --git a/libjava/java/io/LineNumberReader.java b/libjava/java/io/LineNumberReader.java
new file mode 100644
index 0000000..c709a7a
--- /dev/null
+++ b/libjava/java/io/LineNumberReader.java
@@ -0,0 +1,245 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date April 22, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ *
+ * This implementation has the feature that if '\r' is read, it
+ * does not look for a '\n', but immediately returns '\n'.
+ * On the next read(), if a '\n' is read, it is skipped.
+ * This has the advantage that we do not read (and hang) unnecessarily.
+ *
+ * This implementation is also minimal in the number of fields it uses.
+ */
+
+public class LineNumberReader extends BufferedReader
+{
+ /** The current line number. */
+ int lineNumber;
+
+ public LineNumberReader(Reader in)
+ {
+ super(in, 8192);
+ }
+
+ public LineNumberReader(Reader in, int size)
+ {
+ super(in, size);
+ }
+
+ public int getLineNumber()
+ {
+ return lineNumber;
+ }
+
+ public void setLineNumber(int lineNumber)
+ {
+ this.lineNumber = lineNumber;
+ }
+
+ private static int countLines (char[] buffer, int off, int len)
+ {
+ int count = 0;
+ char prev = '\0';
+ for (int i = 0; i < len; i++)
+ {
+ char ch = buffer[i+off];
+ if ((ch == '\n' && prev != '\r') || ch == '\r')
+ count++;
+ prev = ch;
+ }
+ return count;
+ }
+
+ public void mark(int readLimit) throws IOException
+ {
+ synchronized (lock)
+ {
+ // This is basically the same as BufferedReader.mark.
+ // However, if the previous character was a '\r', we need to
+ // save that 'r', in case the next character is a '\n'.
+ if (pos + readLimit > limit)
+ {
+ int saveCR = (pos > 0 && buffer[pos-1] == '\r') ? 1 : 0;
+ char[] old_buffer = buffer;
+ if (readLimit > limit)
+ buffer = new char[saveCR + readLimit];
+ int copy_start = pos - saveCR;
+ limit -= copy_start;
+ System.arraycopy(old_buffer, copy_start, buffer, 0, limit);
+ pos = saveCR;
+ }
+ markPos = pos;
+ }
+ }
+
+ public void reset() throws IOException
+ {
+ synchronized (lock)
+ {
+ if (markPos < 0)
+ throw new IOException("mark never set or invalidated");
+ if (markPos > 0 && pos > markPos && buffer[markPos-1] == '\r'
+ && buffer[markPos] == '\n')
+ lineNumber--;
+ lineNumber -= countLines(buffer, pos, markPos);
+ pos = markPos;
+ }
+ }
+
+ public int read() throws IOException
+ {
+ synchronized (lock)
+ {
+ skipRedundantLF();
+ if (pos >= limit)
+ {
+ if (markPos >= 0 && limit == buffer.length)
+ markPos = -1;
+ if (markPos <= 0)
+ pos = limit = 0;
+ int count = in.read(buffer, limit, buffer.length - limit);
+ if (count <= 0)
+ return -1;
+ limit += count;
+ }
+ char ch = buffer[pos++];
+ if (ch == '\r' || ch == '\n')
+ {
+ lineNumber++;
+ return '\n';
+ }
+ return (int) ch;
+ }
+ }
+
+ public int read(char[] buf, int offset, int count) throws IOException
+ {
+ if (count <= 0)
+ {
+ if (count < 0)
+ throw new IndexOutOfBoundsException();
+ return 0;
+ }
+ synchronized (lock)
+ {
+ int first = read();
+ if (first < 0)
+ return -1;
+ int start_offset = offset;
+ buf[offset++] = (char) first;
+ if (buffer[pos-1] == '\r' && pos < limit && buffer[pos] == '\n')
+ pos++;
+ count--;
+ while (count-- > 0 && pos < limit)
+ {
+ char ch = buffer[pos++];
+ if (ch == '\r')
+ {
+ lineNumber++;
+ ch = '\n';
+ if (pos < limit && buffer[pos] == '\n')
+ pos++;
+ }
+ else if (ch == '\n')
+ lineNumber++;
+ buf[offset++] = ch;
+ }
+ return offset - start_offset;
+ }
+ }
+
+ private void skipRedundantLF() throws IOException
+ {
+ if (pos > 0 && buffer[pos-1] == '\r')
+ {
+ if (pos < limit)
+ { // fast case
+ if (buffer[pos] == '\n')
+ pos++;
+ }
+ else
+ { // use read() to deal with the general case.
+ // Set pos and limit to zero to avoid infinite recursion in read.
+ // May need to invalidate markPos if we've exceeded the buffer.
+ if (pos >= buffer.length)
+ markPos = -1;
+ pos = limit = 0;
+ int ch = read();
+ if (ch >= 0 && ch != '\n')
+ pos--;
+ }
+ }
+ }
+
+ public String readLine() throws IOException
+ {
+ // BufferedReader.readLine already does this. Shouldn't need to keep
+ // track of newlines (since the read method deals with this for us).
+ // But if the buffer is large, we may not call the read method at all
+ // and super.readLine can't increment lineNumber itself.
+ // Though it may seem kludgy, the safest thing to do is to save off
+ // lineNumber and increment it explicitly when we're done (iff we
+ // ended with a '\n' or '\r' as opposed to EOF).
+ //
+ // Also, we need to undo the special casing done by BufferedReader.readLine
+ // when a '\r' is the last char in the buffer. That situation is marked
+ // by 'pos > limit'.
+ int tmpLineNumber = lineNumber;
+ skipRedundantLF();
+ String str = super.readLine();
+ if (pos > limit)
+ --pos;
+
+ int ch;
+ if (pos > 0 && ((ch = buffer[pos - 1]) == '\n' || ch == '\r'))
+ lineNumber = tmpLineNumber + 1;
+
+ return str;
+ }
+
+ public long skip(long count) throws IOException
+ {
+ if (count <= 0)
+ return 0;
+ long to_do = count;
+ do
+ {
+ int ch = read();
+ if (ch < 0)
+ break;
+ to_do--;
+ if (ch == '\n' || ch == '\r')
+ lineNumber++;
+ else
+ {
+ long fence = pos + to_do;
+ if (limit < fence)
+ fence = limit;
+ int end = pos;
+ for (; end < fence; end++)
+ {
+ char endch = buffer[end];
+ if (endch == '\n' || endch == '\r')
+ break;
+ }
+ to_do -= end - pos;
+ pos = end;
+ }
+ }
+ while (to_do > 0);
+ return count - to_do;
+ }
+}
diff --git a/libjava/java/io/OutputStream.java b/libjava/java/io/OutputStream.java
new file mode 100644
index 0000000..5aae361
--- /dev/null
+++ b/libjava/java/io/OutputStream.java
@@ -0,0 +1,48 @@
+// OutputStream.java - Send output bytes to output sink.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to version 1.1.
+ */
+
+public abstract class OutputStream
+{
+ public abstract void write (int b) throws IOException;
+
+ public void write (byte[] b) throws IOException, NullPointerException
+ {
+ write (b, 0, b.length);
+ }
+
+ public void write (byte[] b, int off, int len)
+ throws IOException, NullPointerException, IndexOutOfBoundsException
+ {
+ if (off < 0 || len < 0 || off + len > b.length)
+ throw new ArrayIndexOutOfBoundsException ();
+ for (int i = 0; i < len; ++i)
+ write (b[off + i]);
+ }
+
+ public void flush () throws IOException
+ {
+ }
+
+ public void close () throws IOException
+ {
+ }
+}
diff --git a/libjava/java/io/OutputStreamWriter.java b/libjava/java/io/OutputStreamWriter.java
new file mode 100644
index 0000000..e529474
--- /dev/null
+++ b/libjava/java/io/OutputStreamWriter.java
@@ -0,0 +1,155 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+import gnu.gcj.convert.UnicodeToBytes;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date April 17, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct, but only supports 8859_1.
+ */
+
+public class OutputStreamWriter extends Writer
+{
+ BufferedOutputStream out;
+
+ UnicodeToBytes converter;
+
+ /* Temporary buffer. */
+ private char[] work;
+ private int wcount;
+
+ public String getEncoding() { return converter.getName(); }
+
+ private OutputStreamWriter(OutputStream out, UnicodeToBytes encoder)
+ {
+ super(out);
+ this.out = out instanceof BufferedOutputStream ? (BufferedOutputStream) out
+ : new BufferedOutputStream(out, 2048);
+ this.converter = encoder;
+ }
+
+ public OutputStreamWriter(OutputStream out, String enc)
+ throws UnsupportedEncodingException
+ {
+ this(out, UnicodeToBytes.getEncoder(enc));
+ }
+
+ public OutputStreamWriter(OutputStream out)
+ {
+ this(out, UnicodeToBytes.getDefaultEncoder());
+ }
+
+ public void close() throws IOException
+ {
+ synchronized (lock)
+ {
+ flush();
+ if (out != null)
+ {
+ out.close();
+ out = null;
+ }
+ work = null;
+ }
+ }
+
+ public void flush() throws IOException
+ {
+ synchronized (lock)
+ {
+ if (wcount > 0)
+ {
+ writeChars(work, 0, wcount);
+ wcount = 0;
+ }
+ out.flush();
+ }
+ }
+
+ public void write(char[] buf, int offset, int count)
+ throws IOException
+ {
+ synchronized (lock)
+ {
+ if (wcount > 0)
+ {
+ writeChars(work, 0, wcount);
+ wcount = 0;
+ }
+ writeChars(buf, offset, count);
+ }
+ }
+
+ private void writeChars(char[] buf, int offset, int count)
+ throws IOException
+ {
+ while (count > 0)
+ {
+ if (out.count != 0)
+ {
+ out.flush();
+ if (out.count != 0)
+ throw new IOException("unable to flush output byte buffer");
+ }
+ converter.setOutput(out.buf, out.count);
+ int converted = converter.write(buf, offset, count);
+ offset += converted;
+ count -= converted;
+ out.count = converter.count;
+ }
+ }
+
+ public void write(String str, int offset, int count)
+ throws IOException
+ {
+ synchronized (lock)
+ {
+ if (work == null)
+ work = new char[100];
+ int wlength = work.length;
+ while (count > 0)
+ {
+ int size = count;
+ if (wcount + size > wlength)
+ {
+ if (2*wcount > wlength)
+ {
+ writeChars(work, 0, wcount);
+ wcount = 0;
+ }
+ if (wcount + size > wlength)
+ size = wlength - wcount;
+ }
+ str.getChars(offset, offset+size, work, wcount);
+ offset += size;
+ count -= size;
+ wcount += size;
+ }
+ }
+ }
+
+ public void write(int ch) throws IOException
+ {
+ synchronized (lock)
+ {
+ if (work == null)
+ work = new char[100];
+ if (wcount >= work.length)
+ {
+ writeChars(work, 0, wcount);
+ wcount = 0;
+ }
+ work[wcount++] = (char) ch;
+ }
+ }
+}
diff --git a/libjava/java/io/PipedInputStream.java b/libjava/java/io/PipedInputStream.java
new file mode 100644
index 0000000..d8a836c
--- /dev/null
+++ b/libjava/java/io/PipedInputStream.java
@@ -0,0 +1,242 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date October 29, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class PipedInputStream extends InputStream
+{
+ /* The size of the pipe's circular input buffer. */
+ protected static final int PIPE_SIZE = 1024;
+
+ /* The circular buffer into which incoming data is placed. */
+ protected byte[] buffer;
+
+ /* The index in the buffer at which the next byte of data will be stored. */
+ protected int in = -1;
+
+ /* The index in the buffer at which the next byte of data will be read. */
+ protected int out = 0;
+
+ /* The output stream this is connected to; used to check for errors. */
+ private PipedOutputStream po = null;
+
+ /* Flag to indicate that the output stream was closed. */
+ private boolean outClosed = false;
+
+ public PipedInputStream(PipedOutputStream src) throws IOException
+ {
+ buffer = new byte[PIPE_SIZE];
+ connect(src);
+ }
+
+ public PipedInputStream()
+ {
+ buffer = new byte[PIPE_SIZE];
+ }
+
+ public synchronized int available() throws IOException
+ {
+ if (in < 0)
+ return 0;
+
+ if (in > out)
+ return in - out;
+
+ // Buffer has wrapped around.
+ return buffer.length - out + in;
+ }
+
+ public void close() throws IOException
+ {
+ buffer = null;
+ po = null;
+
+ // Mark as empty for available method.
+ in = -1;
+ }
+
+ public void connect(PipedOutputStream src) throws IOException
+ {
+ if (buffer == null)
+ throw new IOException("pipe closed");
+
+ if (po != null)
+ if (po == src)
+ return;
+ else
+ throw new IOException("pipe already connected");
+
+ po = src;
+ try
+ {
+ src.connect(this);
+ }
+ catch (IOException ex)
+ {
+ po = null;
+ throw ex;
+ }
+ }
+
+ public synchronized int read() throws IOException
+ {
+ // TBD: Spec says to throw IOException if thread writing to output stream
+ // died. What does this really mean? Theoretically, multiple threads
+ // could be writing to this object. Do you track the first, last, or
+ // all of them?
+ if (po == null)
+ if (buffer == null)
+ throw new IOException("pipe closed");
+ else
+ throw new IOException("pipe unconnected");
+
+ // Block until there's something to read or output stream was closed.
+ while (in < 0)
+ try
+ {
+ if (outClosed)
+ return -1;
+ wait();
+ }
+ catch (InterruptedException ex)
+ {
+ throw new InterruptedIOException();
+ }
+
+ // Let other threads know there's room to write now.
+ notifyAll();
+
+ int retval = buffer[out++] & 0xFF;
+
+ // Wrap back around if at end of the array.
+ if (out >= buffer.length)
+ out = 0;
+
+ // When the last byte available is read, mark the buffer as empty.
+ if (out == in)
+ {
+ in = -1;
+ out = 0;
+ }
+
+ return retval;
+ }
+
+ public synchronized int read(byte[] b, int off, int len) throws IOException
+ {
+ if (off < 0 || len < 0 || off + len > b.length)
+ throw new ArrayIndexOutOfBoundsException();
+
+ // TBD: Spec says to throw IOException if thread writing to output stream
+ // died. What does this really mean? Theoretically, multiple threads
+ // could be writing to this object. Do you track the first, last, or
+ // all of them?
+ if (po == null)
+ if (buffer == null)
+ throw new IOException("pipe closed");
+ else
+ throw new IOException("pipe unconnected");
+
+ // Block until there's something to read or output stream was closed.
+ while (in < 0)
+ try
+ {
+ if (outClosed)
+ return -1;
+ wait();
+ }
+ catch (InterruptedException ex)
+ {
+ throw new InterruptedIOException();
+ }
+
+ // Let other threads know there's room to write now.
+ notifyAll();
+
+ int numRead;
+ len = Math.min(len, available());
+ if (in <= out && len >= (numRead = buffer.length - out))
+ {
+ // Buffer has wrapped around; need to copy in 2 steps.
+ // Copy to the end of the buffer first; second copy may be of zero
+ // bytes but that is ok. Doing it that way saves having to check
+ // later if 'out' has grown to buffer.length.
+ System.arraycopy(buffer, out, b, off, numRead);
+ len -= numRead;
+ off += numRead;
+ out = 0;
+ }
+ else
+ numRead = 0;
+
+ System.arraycopy(buffer, out, b, off, len);
+ numRead += len;
+ out += len;
+
+ // When the last byte available is read, mark the buffer as empty.
+ if (out == in)
+ {
+ in = -1;
+ out = 0;
+ }
+
+ return numRead;
+ }
+
+ protected synchronized void receive(int b) throws IOException
+ {
+ if (buffer == null)
+ throw new IOException("pipe closed");
+
+ // TBD: Spec says to throw IOException if thread reading from input stream
+ // died. What does this really mean? Theoretically, multiple threads
+ // could be reading to this object (why else would 'read' be synchronized?).
+ // Do you track the first, last, or all of them?
+
+ if (b < 0)
+ {
+ outClosed = true;
+ notifyAll(); // In case someone was blocked in a read.
+ return;
+ }
+
+ // Block until there's room in the pipe.
+ while (in == out)
+ try
+ {
+ wait();
+ }
+ catch (InterruptedException ex)
+ {
+ throw new InterruptedIOException();
+ }
+
+ // Check if buffer is empty.
+ if (in < 0)
+ in = 0;
+
+ buffer[in++] = (byte) b;
+
+ // Wrap back around if at end of the array.
+ if (in >= buffer.length)
+ in = 0;
+
+ // Let other threads know there's something to read when this returns.
+ notifyAll();
+ }
+}
diff --git a/libjava/java/io/PipedOutputStream.java b/libjava/java/io/PipedOutputStream.java
new file mode 100644
index 0000000..9b06994
--- /dev/null
+++ b/libjava/java/io/PipedOutputStream.java
@@ -0,0 +1,94 @@
+// PipedOutputStream.java - Write bytes to a pipe.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Believed complete and correct.
+ */
+
+public class PipedOutputStream extends OutputStream
+{
+ public void close () throws IOException
+ {
+ closed = true;
+
+ // Notify PipedInputStream that there is no more data to be had.
+ destination.receive(-1);
+ }
+
+ public void connect (PipedInputStream dest) throws IOException
+ {
+ if (closed)
+ throw new IOException("pipe closed");
+
+ if (destination != null)
+ if (destination == dest)
+ return;
+ else
+ throw new IOException("pipe already connected");
+
+ destination = dest;
+ try
+ {
+ dest.connect(this);
+ }
+ catch (IOException ex)
+ {
+ destination = null;
+ throw ex;
+ }
+ }
+
+ public synchronized void flush () throws IOException
+ {
+ // There doesn't seem to be anything to do here.
+
+ // TBD: Should this maybe do a notifyAll as a way for the user
+ // to wake up the input stream to check for bytes to read? Shouldn't
+ // be necessary but if there aren't any bytes, other threads will just
+ // go blocak again anyway so it wouldn't hurt.
+ }
+
+ public PipedOutputStream ()
+ {
+ closed = false;
+ }
+
+ public PipedOutputStream (PipedInputStream dest) throws IOException
+ {
+ closed = false;
+ connect (dest);
+ }
+
+ public void write (int oneByte) throws IOException
+ {
+ if (closed)
+ throw new IOException ();
+ destination.receive(oneByte);
+ }
+
+ // This is mentioned in the JCL book, but we don't really need it.
+ // If there were a corresponding receive() method on
+ // PipedInputStream then we could get better performance using
+ // this.
+ // public void write (byte[] buffer, int offset, int count)
+ // throws IOException;
+
+ // Instance variables.
+ private PipedInputStream destination;
+ private boolean closed;
+}
diff --git a/libjava/java/io/PipedReader.java b/libjava/java/io/PipedReader.java
new file mode 100644
index 0000000..f54c4f8
--- /dev/null
+++ b/libjava/java/io/PipedReader.java
@@ -0,0 +1,210 @@
+// PipedReader.java - Piped character stream.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 25, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to 1.1.
+ */
+
+public class PipedReader extends Reader
+{
+ public void close () throws IOException
+ {
+ closed = true;
+ }
+
+ public void connect (PipedWriter src) throws IOException
+ {
+ if (closed)
+ throw new IOException ("already closed");
+ if (writer != null)
+ {
+ if (writer == src)
+ return;
+ throw new IOException ("already connected");
+ }
+ try
+ {
+ writer = src;
+ writer.connect(this);
+ }
+ catch (IOException e)
+ {
+ writer = null;
+ throw e;
+ }
+ }
+
+ public PipedReader ()
+ {
+ super ();
+ writer = null;
+ closed = false;
+ in = -1;
+ out = 0;
+ pipeBuffer = new char[1024];
+ }
+
+ public PipedReader (PipedWriter src) throws IOException
+ {
+ super ();
+ closed = false;
+ in = -1;
+ out = 0;
+ pipeBuffer = new char[1024];
+ connect (src);
+ }
+
+ public int read (char buf[], int offset, int count) throws IOException
+ {
+ if (closed)
+ throw new IOException ("closed");
+ if (count < 0)
+ throw new ArrayIndexOutOfBoundsException ();
+ int toCopy = count;
+ synchronized (lock)
+ {
+ while (toCopy > 0)
+ {
+ // Wait for data in the pipe. If the writer is closed and
+ // no data has been copied into the output buffer, return
+ // the magic EOF number.
+ while (in == -1)
+ {
+ if (writer.isClosed())
+ {
+ if (toCopy < count)
+ return count - toCopy;
+ return -1;
+ }
+
+ // Note that JCL doesn't say this is the right thing
+ // to do. Still, it feels right, and we must deal
+ // with an interrupt somehow.
+ try
+ {
+ lock.wait();
+ }
+ catch (InterruptedException e)
+ {
+ InterruptedIOException io
+ = new InterruptedIOException (e.getMessage());
+ io.bytesTransferred = count - toCopy;
+ throw io;
+ }
+ }
+ // Now copy some data from pipe into user buffer.
+ int len;
+ if (in < out)
+ len = pipeBuffer.length - out;
+ else
+ len = in - out;
+ len = len > toCopy ? toCopy : len;
+ System.arraycopy(pipeBuffer, out, buf, offset, len);
+ out += len;
+ if (out == pipeBuffer.length)
+ out = 0;
+ toCopy -= len;
+ offset += len;
+ // If we've read all the data, then reset so that we know
+ // there is nothing left to be read.
+ if (in == out)
+ in = -1;
+ // Tell anybody waiting for space in the buffer.
+ lock.notifyAll();
+ }
+ }
+ return count;
+ }
+
+ void receive (char buf[], int offset, int count) throws IOException
+ {
+ if (count < 0)
+ throw new ArrayIndexOutOfBoundsException ();
+ int original = count;
+ synchronized (lock)
+ {
+ while (count > 0)
+ {
+ // Wait until there is some space in the buffer.
+ while (in == out)
+ {
+ try
+ {
+ lock.wait();
+ }
+ catch (InterruptedException e)
+ {
+ // Turn interrupts into IO interrupts.
+ InterruptedIOException io
+ = new InterruptedIOException (e.getMessage());
+ io.bytesTransferred = original - count;
+ throw io;
+ }
+ }
+
+ // Compute destination in the pipe.
+ int base, len;
+ if (in == -1)
+ {
+ base = 0;
+ len = pipeBuffer.length;
+ }
+ else if (in < out)
+ {
+ base = in;
+ len = out - in;
+ }
+ else
+ {
+ base = in;
+ len = pipeBuffer.length - in;
+ }
+ int copyLen = len > count ? count : len;
+ // Copy data and update local state.
+ System.arraycopy(buf, offset, pipeBuffer, base, copyLen);
+ in = base + copyLen;
+ if (in == pipeBuffer.length)
+ in = 0;
+ count -= copyLen;
+ offset += copyLen;
+ // Tell anybody waiting for data.
+ lock.notifyAll();
+ }
+ }
+ }
+
+
+ boolean isClosed ()
+ {
+ return closed;
+ }
+
+ // The associated writer.
+ private PipedWriter writer;
+ // True if this reader has been closed.
+ boolean closed;
+
+ // Index of next character to overwrite when receive() is called.
+ // If -1, then that means the buffer is empty.
+ private int in;
+ // Index of next character to return from read().
+ private int out;
+
+ // The pipe buffer itself.
+ private char[] pipeBuffer;
+}
diff --git a/libjava/java/io/PipedWriter.java b/libjava/java/io/PipedWriter.java
new file mode 100644
index 0000000..c914cac
--- /dev/null
+++ b/libjava/java/io/PipedWriter.java
@@ -0,0 +1,88 @@
+// PipedWriter.java - Piped character stream.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 25, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to 1.1.
+ */
+
+public class PipedWriter extends Writer
+{
+ public void close () throws IOException
+ {
+ closed = true;
+ }
+
+ public void connect (PipedReader sink) throws IOException
+ {
+ if (closed)
+ throw new IOException ("already closed");
+ if (reader != null)
+ {
+ if (reader == sink)
+ return;
+ throw new IOException ("already connected");
+ }
+ try
+ {
+ reader = sink;
+ reader.connect(this);
+ }
+ catch (IOException e)
+ {
+ reader = null;
+ throw e;
+ }
+ }
+
+ public void flush () throws IOException
+ {
+ // We'll throw an exception if we're closed, but there's nothing
+ // else to do here.
+ if (closed)
+ throw new IOException ("closed");
+ }
+
+ public PipedWriter ()
+ {
+ super ();
+ closed = false;
+ }
+
+ public PipedWriter (PipedReader sink) throws IOException
+ {
+ super ();
+ closed = false;
+ connect (sink);
+ }
+
+ public void write (char buffer[], int offset, int count) throws IOException
+ {
+ if (closed)
+ throw new IOException ("closed");
+ reader.receive(buffer, offset, count);
+ }
+
+ boolean isClosed ()
+ {
+ return closed;
+ }
+
+ // The associated reader.
+ private PipedReader reader;
+ private boolean closed;
+}
diff --git a/libjava/java/io/PrintStream.java b/libjava/java/io/PrintStream.java
new file mode 100644
index 0000000..499e5eb
--- /dev/null
+++ b/libjava/java/io/PrintStream.java
@@ -0,0 +1,236 @@
+// PrintStream.java - Print string representations
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Not finished.
+ */
+
+public class PrintStream extends FilterOutputStream
+{
+ public boolean checkError ()
+ {
+ return error;
+ }
+
+ public void close ()
+ {
+ try
+ {
+ out.close();
+ }
+ catch (IOException e)
+ {
+ setError ();
+ }
+ }
+
+ public void flush ()
+ {
+ try
+ {
+ out.flush();
+ }
+ catch (IOException e)
+ {
+ setError ();
+ }
+ }
+
+ private final void print (String str, boolean check_term)
+ {
+ try
+ {
+ write(str.getBytes());
+ if (check_term
+ && auto_flush
+ && str.indexOf(line_separator) != -1)
+ flush ();
+ }
+ catch (IOException e)
+ {
+ setError ();
+ }
+ }
+
+ public void print (boolean bool)
+ {
+ print (String.valueOf(bool), false);
+ }
+
+ public void print (int inum)
+ {
+ print (String.valueOf(inum), false);
+ }
+
+ public void print (long lnum)
+ {
+ print (String.valueOf(lnum), false);
+ }
+
+ public void print (float fnum)
+ {
+ print (String.valueOf(fnum), false);
+ }
+
+ public void print (double dnum)
+ {
+ print (String.valueOf(dnum), false);
+ }
+
+ public void print (Object obj)
+ {
+ print (String.valueOf(obj), false);
+ }
+
+ public void print (String str)
+ {
+ print (str, true);
+ }
+
+ public void print (char ch)
+ {
+ print (String.valueOf(ch), true);
+ }
+
+ public void print (char[] charArray)
+ {
+ print (String.valueOf(charArray), true);
+ }
+
+ public void println ()
+ {
+ print (line_separator, false);
+ if (auto_flush)
+ flush ();
+ }
+
+ public void println (boolean bool)
+ {
+ print (String.valueOf(bool), false);
+ println ();
+ }
+
+ public void println (int inum)
+ {
+ print (String.valueOf(inum), false);
+ println ();
+ }
+
+ public void println (long lnum)
+ {
+ print (String.valueOf(lnum), false);
+ println ();
+ }
+
+ public void println (float fnum)
+ {
+ print (String.valueOf(fnum), false);
+ println ();
+ }
+
+ public void println (double dnum)
+ {
+ print (String.valueOf(dnum), false);
+ println ();
+ }
+
+ public void println (Object obj)
+ {
+ print (String.valueOf(obj), false);
+ println ();
+ }
+
+ public void println (String str)
+ {
+ print (str, false);
+ println ();
+ }
+
+ public void println (char ch)
+ {
+ print (String.valueOf(ch), false);
+ println ();
+ }
+
+ public void println (char[] charArray)
+ {
+ print (String.valueOf(charArray), false);
+ println ();
+ }
+
+ public PrintStream (OutputStream out)
+ {
+ super (out);
+ error = false;
+ auto_flush = false;
+ }
+
+ public PrintStream (OutputStream out, boolean af)
+ {
+ super (out);
+ error = false;
+ auto_flush = af;
+ }
+
+ protected void setError ()
+ {
+ error = true;
+ }
+
+ public void write (int oneByte)
+ {
+ try
+ {
+ out.write(oneByte);
+ // JCL says to do this. I think it is wrong. FIXME.
+ if (auto_flush && oneByte == '\n')
+ out.flush();
+ }
+ catch (IOException e)
+ {
+ setError ();
+ }
+ }
+
+ public void write (byte[] buffer, int offset, int count)
+ {
+ try
+ {
+ out.write(buffer, offset, count);
+ // FIXME: JCL says to flush. But elsewhere the JCL says to
+ // use write to write the stringified form of an object, and
+ // only to flush if that string contains the line separator.
+ // How to resolve the contradiction?
+ if (auto_flush)
+ out.flush();
+ }
+ catch (IOException e)
+ {
+ setError ();
+ }
+ }
+
+ // True if error occurred.
+ private boolean error;
+ // True if auto-flush.
+ private boolean auto_flush;
+
+ // Line separator string.
+ private static final String line_separator
+ = System.getProperty("line.separator");
+}
diff --git a/libjava/java/io/PrintWriter.java b/libjava/java/io/PrintWriter.java
new file mode 100644
index 0000000..2a6cb01
--- /dev/null
+++ b/libjava/java/io/PrintWriter.java
@@ -0,0 +1,286 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date April 17, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ * However, should use native methods for conversion.
+ */
+
+public class PrintWriter extends Writer
+{
+ private boolean autoflush;
+ private boolean error;
+ Writer out;
+
+ public PrintWriter(Writer wr)
+ {
+ super(wr);
+ this.out = wr;
+ }
+
+ public PrintWriter(Writer wr, boolean autoflush)
+ {
+ super(wr);
+ this.out = wr;
+ this.autoflush = autoflush;
+ }
+
+ public PrintWriter(OutputStream out)
+ {
+ super();
+ this.out = new OutputStreamWriter(out);
+ this.lock = this.out;
+ }
+
+ public PrintWriter(OutputStream out, boolean autoflush)
+ {
+ this(out);
+ this.autoflush = autoflush;
+ }
+ protected void setError() { error = true; }
+
+ public boolean checkError()
+ {
+ flush();
+ return error;
+ }
+
+ public void flush()
+ {
+ try
+ {
+ out.flush();
+ }
+ catch (IOException ex)
+ {
+ error = true;
+ }
+ }
+
+ public void close()
+ {
+ try
+ {
+ out.close();
+ }
+ catch (IOException ex)
+ {
+ error = true;
+ }
+ }
+
+ public void print(String str)
+ {
+ try
+ {
+ out.write(str == null ? "null" : str);
+ }
+ catch (IOException ex)
+ {
+ error = true;
+ }
+ }
+
+ public void print(char ch)
+ {
+ write((int) ch);
+ }
+
+ public void print(char[] charArray)
+ {
+ write(charArray, 0, charArray.length);
+ }
+
+ public void print(boolean bool)
+ {
+ print(bool ? "true" : "false");
+ }
+
+ public void print(int inum)
+ {
+ print(Integer.toString(inum));
+ }
+
+ public void print(long lnum)
+ {
+ print(Long.toString(lnum));
+ }
+
+ public void print(float fnum)
+ {
+ print(Float.toString(fnum));
+ }
+
+ public void print(double dnum)
+ {
+ print(Double.toString(dnum));
+ }
+
+ public void print(Object obj)
+ {
+ print(obj == null ? "null" : obj.toString());
+ }
+
+ private static final char[] line_separator
+ = System.getProperty("line.separator").toCharArray();
+
+ public void println()
+ {
+ synchronized (lock)
+ {
+ printlnUnsynchronized();
+ }
+ }
+
+ private void printlnUnsynchronized()
+ {
+ try
+ {
+ write(line_separator, 0, line_separator.length);
+ if (autoflush)
+ out.flush();
+ }
+ catch (IOException ex)
+ {
+ error = true;
+ }
+ }
+
+ public void println(boolean bool)
+ {
+ synchronized (lock)
+ {
+ print(bool);
+ printlnUnsynchronized();
+ }
+ }
+ public void println(int inum)
+ {
+ synchronized (lock)
+ {
+ print(inum);
+ printlnUnsynchronized();
+ }
+ }
+
+ public void println(long lnum)
+ {
+ synchronized (lock)
+ {
+ print(lnum);
+ printlnUnsynchronized();
+ }
+ }
+
+ public void println(float fnum)
+ {
+ synchronized (lock)
+ {
+ print(fnum);
+ printlnUnsynchronized();
+ }
+ }
+
+ public void println(double dnum)
+ {
+ synchronized (lock)
+ {
+ print(dnum);
+ printlnUnsynchronized();
+ }
+ }
+
+ public void println(Object obj)
+ {
+ synchronized (lock)
+ {
+ print(obj);
+ printlnUnsynchronized();
+ }
+ }
+
+ public void println(String str)
+ {
+ synchronized (lock)
+ {
+ print(str);
+ printlnUnsynchronized();
+ }
+ }
+
+ public void println(char ch)
+ {
+ synchronized (lock)
+ {
+ print(ch);
+ printlnUnsynchronized();
+ }
+ }
+
+ public void println(char[] charArray)
+ {
+ synchronized (lock)
+ {
+ print(charArray);
+ printlnUnsynchronized();
+ }
+ }
+
+ public void write(int ch)
+ {
+ try
+ {
+ out.write(ch);
+ }
+ catch (IOException ex)
+ {
+ error = true;
+ }
+ }
+
+ public void write(char[] charArray, int offset, int count)
+ {
+ try
+ {
+ out.write(charArray, offset, count);
+ }
+ catch (IOException ex)
+ {
+ error = true;
+ }
+ }
+
+ public void write(String str, int offset, int count)
+ {
+ try
+ {
+ out.write(str, offset, count);
+ }
+ catch (IOException ex)
+ {
+ error = true;
+ }
+ }
+
+ public void write(char[] charArray)
+ {
+ write(charArray, 0, charArray.length);
+ }
+
+ public void write(String str)
+ {
+ write(str, 0, str.length());
+ }
+}
diff --git a/libjava/java/io/PushbackInputStream.java b/libjava/java/io/PushbackInputStream.java
new file mode 100644
index 0000000..58c8fe6
--- /dev/null
+++ b/libjava/java/io/PushbackInputStream.java
@@ -0,0 +1,124 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date October 15, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class PushbackInputStream extends FilterInputStream
+{
+ /* Internal buffer array for data. */
+ protected byte[] buf;
+
+ /* The current position in the buffer. */
+ protected int pos;
+
+ public PushbackInputStream(InputStream in)
+ {
+ this(in, 1);
+ }
+
+ public PushbackInputStream(InputStream in, int size)
+ {
+ super(in);
+ if (size < 0)
+ throw new IllegalArgumentException();
+ buf = new byte[size];
+ pos = buf.length;
+ }
+
+ public int available() throws IOException
+ {
+ return pos + super.available();
+ }
+
+ public void close() throws IOException
+ {
+ buf = null;
+ super.close();
+ }
+
+ public boolean markSupported()
+ {
+ return false;
+ }
+
+ public int read() throws IOException
+ {
+ if (pos < buf.length)
+ return ((int) buf[pos++]) & 0xFF;
+
+ return super.read();
+ }
+
+ public int read(byte[] b, int off, int len) throws IOException
+ {
+ if (off < 0 || len < 0 || off + len > b.length)
+ throw new ArrayIndexOutOfBoundsException();
+
+ int numBytes = Math.min(buf.length - pos, len);
+ for (int i = 0; i < numBytes; i++)
+ b[off++] = buf[pos++];
+
+ // `off' was just incremented to include `numBytes', so we can
+ // just pass ithere.
+ return numBytes + super.read(b, off, len - numBytes);
+ }
+
+ public void unread(int b) throws IOException
+ {
+ if (pos <= 0)
+ throw new IOException();
+
+ buf[--pos] = (byte) b;
+ }
+
+ public void unread(byte[] b) throws IOException
+ {
+ unread(b, 0, b.length);
+ }
+
+ public void unread(byte[] b, int off, int len) throws IOException
+ {
+ if (pos < len)
+ throw new IOException();
+
+ // Note the order that these bytes are being added is the opposite
+ // of what would be done if they were added to the buffer one at a time.
+ // See the Java Class Libraries book p. 1390.
+ System.arraycopy(b, off, buf, pos - len, len);
+
+ // Don't put this into the arraycopy above, an exception might be thrown
+ // and in that case we don't want to modify pos.
+ pos -= len;
+ }
+
+ // JDK1.2
+ public long skip(long n) throws IOException
+ {
+ final long origN = n;
+
+ if (n > 0L)
+ {
+ int numread = (int) Math.min((long) (buf.length - pos), n);
+ pos += numread;
+ n -= numread;
+ n -= super.skip(n);
+ }
+
+ return origN - n;
+ }
+}
diff --git a/libjava/java/io/PushbackReader.java b/libjava/java/io/PushbackReader.java
new file mode 100644
index 0000000..0cfd63c
--- /dev/null
+++ b/libjava/java/io/PushbackReader.java
@@ -0,0 +1,136 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date October 16, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class PushbackReader extends FilterReader
+{
+ /* Internal buffer array for data. */
+ private char[] buf;
+
+ /* The current position in the buffer. */
+ private int pos;
+
+ public PushbackReader(Reader in)
+ {
+ this(in, 1);
+ }
+
+ public PushbackReader(Reader in, int size)
+ {
+ super(in);
+ if (size < 0)
+ throw new IllegalArgumentException();
+ buf = new char[size];
+ pos = buf.length;
+ }
+
+ public void close() throws IOException
+ {
+ synchronized (lock)
+ {
+ buf = null;
+ super.close();
+ }
+ }
+
+ public boolean markSupported()
+ {
+ return false;
+ }
+
+ public int read() throws IOException
+ {
+ synchronized (lock)
+ {
+ if (buf == null)
+ throw new IOException();
+
+ if (pos < buf.length)
+ return ((int) buf[pos++]) & 0xFFFF;
+
+ return super.read();
+ }
+ }
+
+ public int read(char[] b, int off, int len) throws IOException
+ {
+ synchronized (lock)
+ {
+ if (buf == null)
+ throw new IOException();
+
+ if (off < 0 || len < 0 || off + len > b.length)
+ throw new ArrayIndexOutOfBoundsException();
+
+ int numBytes = Math.min(buf.length - pos, len);
+ for (int i = 0; i < numBytes; i++)
+ b[off++] = buf[pos++];
+
+ return numBytes + super.read(b, off, len - numBytes);
+ }
+ }
+
+ public boolean ready() throws IOException
+ {
+ synchronized (lock)
+ {
+ if (buf == null)
+ throw new IOException();
+
+ if (buf.length - pos > 0)
+ return true;
+
+ return super.ready();
+ }
+ }
+
+ public void unread(int b) throws IOException
+ {
+ synchronized (lock)
+ {
+ if (buf == null || pos <= 0)
+ throw new IOException();
+
+ buf[--pos] = (char) b;
+ }
+ }
+
+ public void unread(char[] b) throws IOException
+ {
+ unread(b, 0, b.length);
+ }
+
+ public void unread(char[] b, int off, int len) throws IOException
+ {
+ synchronized (lock)
+ {
+ if (buf == null || pos < len)
+ throw new IOException();
+
+ // Note the order that these chars are being added is the opposite
+ // of what would be done if they were added to the buffer one at a time.
+ // See the Java Class Libraries book p. 1397.
+ System.arraycopy(b, off, buf, pos - len, len);
+
+ // Don't put this into the arraycopy above, an exception might be thrown
+ // and in that case we don't want to modify pos.
+ pos -= len;
+ }
+ }
+}
diff --git a/libjava/java/io/RandomAccessFile.java b/libjava/java/io/RandomAccessFile.java
new file mode 100644
index 0000000..d240e0d
--- /dev/null
+++ b/libjava/java/io/RandomAccessFile.java
@@ -0,0 +1,249 @@
+// RandomAccessFile.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 25, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: not finished
+ */
+
+public class RandomAccessFile implements DataOutput, DataInput
+{
+ public void close () throws IOException
+ {
+ fd.close();
+ }
+
+ public final FileDescriptor getFD () throws IOException
+ {
+ if (! fd.valid())
+ throw new IOException ();
+ return fd;
+ }
+
+ public long getFilePointer () throws IOException
+ {
+ return fd.getFilePointer();
+ }
+
+ public long length () throws IOException
+ {
+ return fd.length();
+ }
+
+ public RandomAccessFile (String fileName, String mode) throws IOException
+ {
+ int fdmode;
+ if (mode.compareTo ("r") == 0)
+ fdmode = FileDescriptor.READ;
+ else if (mode.compareTo ("rw") == 0)
+ fdmode = FileDescriptor.READ | FileDescriptor.WRITE;
+ else
+ throw new IllegalArgumentException ("invalid mode: " + mode);
+
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ {
+ s.checkRead(fileName);
+ if ((fdmode & FileDescriptor.WRITE) != 0)
+ s.checkWrite(fileName);
+ }
+
+ fd = new FileDescriptor (fileName, fdmode);
+ // FIXME: read-only mode.
+ out = new DataOutputStream (new FileOutputStream (fd));
+ in = new DataInputStream (new FileInputStream (fd));
+ }
+
+ public RandomAccessFile (File file, String mode) throws IOException
+ {
+ this (file.getPath(), mode);
+ }
+
+ public int read () throws IOException
+ {
+ return in.read();
+ }
+
+ public int read (byte[] buffer) throws IOException
+ {
+ return in.read(buffer);
+ }
+
+ public int read (byte[] buffer, int offset, int count) throws IOException
+ {
+ return in.read(buffer, offset, count);
+ }
+
+ public final boolean readBoolean () throws IOException
+ {
+ return in.readBoolean();
+ }
+
+ public final byte readByte () throws IOException
+ {
+ return in.readByte();
+ }
+
+ public final char readChar () throws IOException
+ {
+ return in.readChar();
+ }
+
+ public final double readDouble () throws IOException
+ {
+ return in.readDouble();
+ }
+
+ public final float readFloat () throws IOException
+ {
+ return in.readFloat();
+ }
+
+ public final void readFully (byte[] buffer) throws IOException
+ {
+ // FIXME.
+ }
+
+ public final void readFully (byte[] buffer, int offset, int count)
+ throws IOException
+ {
+ // FIXME.
+ }
+
+ public final int readInt () throws IOException
+ {
+ return in.readInt();
+ }
+
+ public final String readLine () throws IOException
+ {
+ // FIXME?
+ return in.readLine();
+ }
+
+ public final long readLong () throws IOException
+ {
+ return in.readLong();
+ }
+
+ public final short readShort () throws IOException
+ {
+ return in.readShort();
+ }
+
+ public final int readUnsignedByte () throws IOException
+ {
+ return in.readUnsignedByte();
+ }
+
+ public final int readUnsignedShort () throws IOException
+ {
+ return in.readUnsignedShort();
+ }
+
+ public final String readUTF () throws IOException
+ {
+ return in.readUTF();
+ }
+
+ public void seek (long pos) throws IOException
+ {
+ fd.seek(pos, FileDescriptor.SET);
+ }
+
+ public int skipBytes (int count) throws IOException
+ {
+ return fd.seek(count, FileDescriptor.CUR);
+ }
+
+ public void write (int oneByte) throws IOException
+ {
+ out.write(oneByte);
+ }
+
+ public void write (byte[] buffer) throws IOException
+ {
+ out.write(buffer);
+ }
+
+ public void write (byte[] buffer, int offset, int count) throws IOException
+ {
+ out.write(buffer, offset, count);
+ }
+
+ public final void writeBoolean (boolean val) throws IOException
+ {
+ out.writeBoolean(val);
+ }
+
+ public final void writeByte (int v) throws IOException
+ {
+ out.writeByte(v);
+ }
+
+ public final void writeShort (int v) throws IOException
+ {
+ out.writeShort(v);
+ }
+
+ public final void writeChar (int v) throws IOException
+ {
+ out.writeChar(v);
+ }
+
+ public final void writeInt (int v) throws IOException
+ {
+ out.writeInt(v);
+ }
+
+ public final void writeLong (long v) throws IOException
+ {
+ out.writeLong(v);
+ }
+
+ public final void writeFloat (float v) throws IOException
+ {
+ out.writeFloat(v);
+ }
+
+ public final void writeDouble (double v) throws IOException
+ {
+ out.writeDouble(v);
+ }
+
+ public final void writeBytes (String s) throws IOException
+ {
+ out.writeBytes(s);
+ }
+
+ public final void writeChars (String s) throws IOException
+ {
+ out.writeChars(s);
+ }
+
+ public final void writeUTF (String s) throws IOException
+ {
+ out.writeUTF(s);
+ }
+
+
+ // The underlying file.
+ private FileDescriptor fd;
+ // The corresponding input and output streams.
+ private DataOutputStream out;
+ private DataInputStream in;
+}
diff --git a/libjava/java/io/Reader.java b/libjava/java/io/Reader.java
new file mode 100644
index 0000000..b547358
--- /dev/null
+++ b/libjava/java/io/Reader.java
@@ -0,0 +1,87 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date April 21, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public abstract class Reader
+{
+ protected Object lock;
+
+ protected Reader()
+ {
+ this.lock = this;
+ }
+
+ protected Reader(Object lock)
+ {
+ this.lock = lock;
+ }
+
+ abstract public int read(char buf[], int offset, int count)
+ throws IOException;
+
+ public int read(char buf[]) throws IOException
+ {
+ return read(buf, 0, buf.length);
+ }
+
+ public int read() throws IOException
+ {
+ char[] buf = new char[1];
+ int count = read(buf, 0, 1);
+ return count > 0 ? buf[0] : -1;
+ }
+
+ abstract public void close() throws IOException;
+
+ public boolean markSupported()
+ {
+ return false;
+ }
+
+ public void mark(int readLimit) throws IOException
+ {
+ throw new IOException("mark not supported");
+ }
+
+ public void reset() throws IOException
+ {
+ throw new IOException("reset not supported");
+ }
+
+ public boolean ready() throws IOException
+ {
+ return false;
+ }
+
+ public long skip(long count) throws IOException
+ {
+ if (count <= 0)
+ return 0;
+ int bsize = count > 1024 ? 1024 : (int) count;
+ char[] buffer = new char[bsize];
+ long todo = count;
+ while (todo > 0)
+ {
+ int skipped = read(buffer, 0, bsize > todo ? (int) todo : bsize);
+ if (skipped <= 0)
+ break;
+ todo -= skipped;
+ }
+ return count - todo;
+ }
+}
diff --git a/libjava/java/io/SequenceInputStream.java b/libjava/java/io/SequenceInputStream.java
new file mode 100644
index 0000000..7713517
--- /dev/null
+++ b/libjava/java/io/SequenceInputStream.java
@@ -0,0 +1,112 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+import java.util.Enumeration;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date November 3, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class SequenceInputStream extends InputStream
+{
+ /* The handle for the current input stream. */
+ private InputStream in;
+
+ /* Secondary input stream; not used if constructed w/ enumeration. */
+ private InputStream in2;
+
+ /* The enum handle; not used if constructed w/ 2 explicit input streams. */
+ private Enumeration enum;
+
+ public SequenceInputStream(Enumeration e)
+ {
+ // FIXME: Assumes that enum contains only InputStreams.
+ enum = e;
+ in = (InputStream) enum.nextElement();
+ in2 = null;
+ }
+
+ public SequenceInputStream(InputStream s1, InputStream s2)
+ {
+ in = s1;
+ in2 = s2;
+ }
+
+ public int available() throws IOException
+ {
+ if (in == null)
+ return 0;
+
+ return in.available();
+ }
+
+ public void close() throws IOException
+ {
+ while (in != null)
+ {
+ in.close();
+ in = getNextStream ();
+ }
+ }
+
+ public int read() throws IOException
+ {
+ int ch = -1;
+
+ while (in != null && (ch = in.read()) < 0)
+ {
+ in.close();
+ in = getNextStream();
+ }
+
+ return ch;
+ }
+
+ public int read(byte[] b, int off, int len) throws IOException
+ {
+ int ch = -1;
+
+ // The validity of the parameters will be checked by in.read so
+ // don't bother doing it here.
+ while (in != null && (ch = in.read(b, off, len)) < 0)
+ {
+ in.close();
+ in = getNextStream();
+ }
+
+ return ch;
+ }
+
+ private InputStream getNextStream()
+ {
+ InputStream nextIn = null;
+
+ // FIXME: Assumes that enum contains only InputStreams.
+ if (enum != null)
+ {
+ if (enum.hasMoreElements())
+ nextIn = (InputStream) enum.nextElement();
+ }
+ else
+ if (in2 != null)
+ {
+ nextIn = in2;
+ in2 = null;
+ }
+
+ return nextIn;
+ }
+}
diff --git a/libjava/java/io/Serializable.java b/libjava/java/io/Serializable.java
new file mode 100644
index 0000000..d4a31db
--- /dev/null
+++ b/libjava/java/io/Serializable.java
@@ -0,0 +1,21 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date August 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * Status: Believed complete
+ */
+
+public interface Serializable
+{
+}
diff --git a/libjava/java/io/StreamTokenizer.java b/libjava/java/io/StreamTokenizer.java
new file mode 100644
index 0000000..d518f83
--- /dev/null
+++ b/libjava/java/io/StreamTokenizer.java
@@ -0,0 +1,433 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date October 25, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class StreamTokenizer
+{
+ /* A constant indicating that the end of the stream has been read. */
+ public static final int TT_EOF = -1;
+
+ /* A constant indicating that the end of the line has been read. */
+ public static final int TT_EOL = '\n';
+
+ /* A constant indicating that a number token has been read. */
+ public static final int TT_NUMBER = -2;
+
+ /* A constant indicating that a word token has been read. */
+ public static final int TT_WORD = -3;
+
+ /* Contains the type of the token read resulting from a call to nextToken. */
+ public int ttype;
+
+ /* The String associated with word and string tokens. */
+ public String sval;
+
+ /* The numeric value associated with number tokens. */
+ public double nval;
+
+ /* Indicates whether end-of-line is recognized as a token. */
+ private boolean eolSignificant = false;
+
+ /* Indicates whether word tokens are automatically made lower case. */
+ private boolean lowerCase = false;
+
+ /* Indicates whether C++ style comments are recognized and skipped. */
+ private boolean slashSlash = false;
+
+ /* Indicates whether C style comments are recognized and skipped. */
+ private boolean slashStar = false;
+
+ /* Attribute tables of each byte from 0x00 to 0xFF. */
+ private boolean[] whitespace;
+ private boolean[] alphabetic;
+ private boolean[] numeric;
+ private boolean[] quote;
+ private boolean[] comment;
+
+ /* The Reader associated with this class. */
+ private PushbackReader in;
+
+ /* Indicates if a token has been pushed back. */
+ private boolean pushedBack = false;
+
+ /* Contains the current line number of the reader. */
+ private int lineNumber = 1;
+
+ // Deprecated in JDK 1.1.
+ public StreamTokenizer(InputStream is)
+ {
+ this(new InputStreamReader(is));
+ }
+
+ public StreamTokenizer(Reader r)
+ {
+ in = new PushbackReader(r);
+
+ whitespace = new boolean[256];
+ alphabetic = new boolean[256];
+ numeric = new boolean[256];
+ quote = new boolean[256];
+ comment = new boolean[256];
+ for (int i = 0; i < 256; i++)
+ resetChar(i);
+
+ whitespaceChars(0x00, 0x20);
+ wordChars('A', 'Z');
+ wordChars('a', 'z');
+ wordChars(0xA0, 0xFF);
+ commentChar('/');
+ quoteChar('\'');
+ quoteChar('"');
+ parseNumbers();
+ }
+
+ public void commentChar(int ch)
+ {
+ if (ch >= 0 && ch <= 255)
+ comment[ch] = true;
+ }
+
+ public void eolIsSignificant(boolean flag)
+ {
+ eolSignificant = flag;
+ }
+
+ public int lineno()
+ {
+ return lineNumber;
+ }
+
+ public void lowerCaseMode(boolean flag)
+ {
+ lowerCase = flag;
+ }
+
+ private boolean isWhitespace(int ch)
+ {
+ if (ch >= 0 && ch <= 255)
+ return whitespace[ch];
+
+ return false;
+ }
+
+ private boolean isAlphabetic(int ch)
+ {
+ if (ch >= 0 && ch <= 255)
+ return alphabetic[ch];
+ else if (ch > 255)
+ return true;
+
+ return false;
+ }
+
+ private boolean isNumeric(int ch)
+ {
+ if (ch >= 0 && ch <= 255)
+ return numeric[ch];
+
+ return false;
+ }
+
+ private boolean isQuote(int ch)
+ {
+ if (ch >= 0 && ch <= 255)
+ return quote[ch];
+
+ return false;
+ }
+
+ private boolean isComment(int ch)
+ {
+ if (ch >= 0 && ch <= 255)
+ return comment[ch];
+
+ return false;
+ }
+
+ public int nextToken() throws IOException
+ {
+ if (pushedBack)
+ {
+ pushedBack = false;
+ return ttype;
+ }
+
+ sval = null;
+ int ch;
+
+ // Skip whitespace. Deal with EOL along the way.
+ while (isWhitespace(ch = in.read()))
+ if (ch == '\n' || ch == '\r')
+ {
+ lineNumber++;
+
+ // Throw away \n if in combination with \r.
+ if (ch == '\r' && (ch = in.read()) != '\n')
+ in.unread(ch);
+ if (eolSignificant)
+ return (ttype = TT_EOL);
+ }
+
+ if (ch == TT_EOF)
+ ttype = TT_EOF;
+ else if (isNumeric(ch))
+ {
+ if (ch == '-')
+ {
+ // Read ahead to see if this is an ordinary '-' rather than numeric.
+ ch = in.read();
+ in.unread(ch);
+ if (isNumeric(ch) && ch != '-')
+ ch = '-';
+ else
+ return (ttype = '-');
+ }
+
+ StringBuffer tokbuf = new StringBuffer();
+ tokbuf.append((char) ch);
+
+ int decCount = 0;
+ while (isNumeric(ch = in.read()) && ch != '-')
+ if (ch == '.' && decCount++ > 0)
+ break;
+ else
+ tokbuf.append((char) ch);
+
+ in.unread(ch);
+ ttype = TT_NUMBER;
+ nval = Double.valueOf(tokbuf.toString()).doubleValue();
+ }
+ else if (isAlphabetic(ch))
+ {
+ StringBuffer tokbuf = new StringBuffer();
+ tokbuf.append((char) ch);
+ while (isAlphabetic(ch = in.read()) || isNumeric(ch))
+ tokbuf.append((char) ch);
+ in.unread(ch);
+ ttype = TT_WORD;
+ sval = tokbuf.toString();
+ if (lowerCase)
+ sval.toLowerCase();
+ }
+ else if (isComment(ch))
+ {
+ while ((ch = in.read()) != '\n' && ch != '\r' && ch != TT_EOF)
+ ;
+ in.unread(ch);
+ return nextToken(); // Recursive, but not too deep in normal cases.
+ }
+ else if (isQuote(ch))
+ {
+ ttype = ch;
+ StringBuffer tokbuf = new StringBuffer();
+ while ((ch = in.read()) != ttype && ch != '\n' && ch != '\r' &&
+ ch != TT_EOF)
+ {
+ if (ch == '\\')
+ switch (ch = in.read())
+ {
+ case 'a': ch = 0x7;
+ break;
+ case 'b': ch = '\b';
+ break;
+ case 'f': ch = 0xC;
+ break;
+ case 'n': ch = '\n';
+ break;
+ case 'r': ch = '\r';
+ break;
+ case 't': ch = '\t';
+ break;
+ case 'v': ch = 0xB;
+ break;
+ case '\"':
+ case '\'':
+ case '\\':
+ break;
+ default:
+ int ch1, nextch;
+ if ((nextch = ch1 = ch) >= '0' && ch <= '7')
+ {
+ ch -= '0';
+ if ((nextch = in.read()) >= '0' && nextch <= '7')
+ {
+ ch = ch * 8 + nextch - '0';
+ if ((nextch = in.read()) >= '0' && nextch <= '7' &&
+ ch1 >= '0' && ch1 <= '3')
+ {
+ ch = ch * 8 + nextch - '0';
+ nextch = in.read();
+ }
+ }
+ }
+
+ in.unread(nextch);
+ }
+
+ tokbuf.append((char) ch);
+ }
+
+ // Throw away matching quote char.
+ if (ch != ttype)
+ in.unread(ch);
+
+ sval = tokbuf.toString();
+ }
+ else
+ {
+ if (ch == '/')
+ if ((ch = in.read()) == '/' && slashSlash)
+ {
+ while ((ch = in.read()) != '\n' && ch != '\r' && ch != TT_EOF)
+ ;
+ in.unread(ch);
+ return nextToken(); // Recursive, but not too deep in normal cases
+ }
+ else if (ch == '*' && slashStar)
+ {
+ while (true)
+ {
+ ch = in.read();
+ if (ch == '*')
+ if ((ch = in.read()) == '/')
+ break;
+ else
+ in.unread(ch);
+ else if (ch == '\n' || ch == '\r')
+ {
+ lineNumber++;
+ if (ch == '\r' && (ch = in.read()) != '\n')
+ in.unread(ch);
+ }
+ else if (ch == TT_EOF)
+ {
+ in.unread(ch);
+ break;
+ }
+ }
+ return nextToken(); // Recursive, but not too deep in normal cases
+ }
+ else
+ {
+ in.unread(ch);
+ ch = '/';
+ }
+
+ ttype = ch;
+ }
+
+ return ttype;
+ }
+
+ private void resetChar(int ch)
+ {
+ whitespace[ch] = alphabetic[ch] = numeric[ch] = quote[ch] = comment[ch] =
+ false;
+ }
+
+ public void ordinaryChar(int ch)
+ {
+ if (ch >= 0 && ch <= 255)
+ resetChar(ch);
+ }
+
+ public void ordinaryChars(int low, int hi)
+ {
+ if (low < 0)
+ low = 0;
+ if (hi > 255)
+ hi = 255;
+ for (int i = low; i <= hi; i++)
+ resetChar(i);
+ }
+
+ public void parseNumbers()
+ {
+ for (int i = 0; i <= 9; i++)
+ numeric['0' + i] = true;
+
+ numeric['.'] = true;
+ numeric['-'] = true;
+ }
+
+ public void pushBack()
+ {
+ // pushBack may cause the lineno method to return an incorrect value
+ // if lineno is called before the next call to nextToken.
+ pushedBack = true;
+ }
+
+ public void quoteChar(int ch)
+ {
+ if (ch >= 0 && ch <= 255)
+ quote[ch] = true;
+ }
+
+ public void resetSyntax()
+ {
+ ordinaryChars(0x00, 0xFF);
+ }
+
+ public void slashSlashComments(boolean flag)
+ {
+ slashSlash = flag;
+ }
+
+ public void slashStarComments(boolean flag)
+ {
+ slashStar = flag;
+ }
+
+ public String toString()
+ {
+ String tempstr;
+ if (ttype == TT_EOF)
+ tempstr = "EOF";
+ else if (ttype == TT_EOL)
+ tempstr = "EOL";
+ else if (ttype == TT_WORD)
+ tempstr = sval;
+ else if (ttype == TT_NUMBER)
+ tempstr = "n=" + Double.toString(nval);
+ else // must be an ordinary char.
+ tempstr = "\'" + (new Character((char) ttype)).toString() + "\'";
+
+ return "Token[" + tempstr + "], line " + Integer.toString(lineno());
+ }
+
+ public void whitespaceChars(int low, int hi)
+ {
+ if (low < 0)
+ low = 0;
+ if (hi > 255)
+ hi = 255;
+ for (int i = low; i <= hi; i++)
+ whitespace[i] = true;
+ }
+
+ public void wordChars(int low, int hi)
+ {
+ if (low < 0)
+ low = 0;
+ if (hi > 255)
+ hi = 255;
+ for (int i = low; i <= hi; i++)
+ alphabetic[i] = true;
+ }
+}
diff --git a/libjava/java/io/StringBufferInputStream.java b/libjava/java/io/StringBufferInputStream.java
new file mode 100644
index 0000000..19e89db
--- /dev/null
+++ b/libjava/java/io/StringBufferInputStream.java
@@ -0,0 +1,83 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date November 11, 1998.
+ * @deprecated
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct. Deprecated in JDK 1.1.
+ */
+
+public class StringBufferInputStream extends InputStream
+{
+ /* The String which is the input to this stream. */
+ protected String buffer;
+
+ /* Position of the next byte in buffer to be read. */
+ protected int pos = 0;
+
+ /* The length of the String buffer. */
+ protected int count;
+
+ public StringBufferInputStream(String s)
+ {
+ buffer = s;
+ count = s.length();
+ }
+
+ public int available()
+ {
+ return count - pos;
+ }
+
+ public int read()
+ {
+ if (pos >= count)
+ return -1; // EOF
+
+ return ((int) buffer.charAt(pos++)) & 0xFF;
+ }
+
+ public int read(byte[] b, int off, int len)
+ {
+ if (off < 0 || len < 0 || off + len > b.length)
+ throw new ArrayIndexOutOfBoundsException();
+
+ if (pos >= count)
+ return -1; // EOF
+
+ int numRead = Math.min(len, count - pos);
+ if (numRead < 0)
+ return 0;
+
+ buffer.getBytes(pos, pos + numRead, b, off);
+ pos += numRead;
+ return numRead;
+ }
+
+ public void reset()
+ {
+ pos = 0;
+ }
+
+ public long skip(long n)
+ {
+ if (n < 0)
+ return 0L;
+
+ long actualSkip = Math.min(n, count - pos);
+ pos += actualSkip;
+ return actualSkip;
+ }
+}
diff --git a/libjava/java/io/StringReader.java b/libjava/java/io/StringReader.java
new file mode 100644
index 0000000..08e8d0c
--- /dev/null
+++ b/libjava/java/io/StringReader.java
@@ -0,0 +1,139 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date October 19, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct
+ */
+
+public class StringReader extends Reader
+{
+ /* A String provided by the creator of the stream. */
+ private String buf;
+
+ /* Position of the next char in buf to be read. */
+ private int pos;
+
+ /* The currently marked position in the stream. */
+ private int markedPos;
+
+ /* The index in buf one greater than the last valid character. */
+ private int count;
+
+ public StringReader(String buffer)
+ {
+ super();
+ buf = buffer;
+
+ count = buffer.length();
+ markedPos = pos = 0;
+ }
+
+ public void close()
+ {
+ synchronized (lock)
+ {
+ buf = null;
+ }
+ }
+
+ public void mark(int readAheadLimit) throws IOException
+ {
+ synchronized (lock)
+ {
+ if (buf == null)
+ throw new IOException();
+
+ // readAheadLimit is ignored per Java Class Lib. book, p. 1692.
+ markedPos = pos;
+ }
+ }
+
+ public boolean markSupported()
+ {
+ return true;
+ }
+
+ public int read() throws IOException
+ {
+ synchronized (lock)
+ {
+ if (buf == null)
+ throw new IOException();
+
+ if (pos < count)
+ return ((int) buf.charAt(pos++)) & 0xFFFF;
+ return -1;
+ }
+ }
+
+ public int read(char[] b, int off, int len) throws IOException
+ {
+ synchronized (lock)
+ {
+ if (buf == null)
+ throw new IOException();
+
+ /* Don't need to check pos value, arraycopy will check it. */
+ if (off < 0 || len < 0 || off + len > b.length)
+ throw new ArrayIndexOutOfBoundsException();
+
+ if (pos >= count)
+ return -1;
+
+ int lastChar = Math.min(count, pos + len);
+ buf.getChars(pos, lastChar, b, off);
+ int numChars = lastChar - pos;
+ pos = lastChar;
+ return numChars;
+ }
+ }
+
+ public boolean ready() // TODO12: throws IOException
+ {
+ // TODO12: The JCL specifically says this returns true even if the
+ // reader has been closed, whereas the online 1.2 doc specifically
+ // says to throw an IOException if closed.
+ return true;
+ }
+
+ public void reset() throws IOException
+ {
+ synchronized (lock)
+ {
+ if (buf == null)
+ throw new IOException();
+
+ pos = markedPos;
+ }
+ }
+
+ public long skip(long n) throws IOException
+ {
+ synchronized (lock)
+ {
+ if (buf == null)
+ throw new IOException();
+
+ // Even though the var numChars is a long, in reality it can never
+ // be larger than an int since the result of subtracting 2 positive
+ // ints will always fit in an int. Since we have to return a long
+ // anyway, numChars might as well just be a long.
+ long numChars = Math.min((long) (count - pos), n < 0 ? 0L : n);
+ pos += numChars;
+ return numChars;
+ }
+ }
+}
diff --git a/libjava/java/io/StringWriter.java b/libjava/java/io/StringWriter.java
new file mode 100644
index 0000000..90ad9a9
--- /dev/null
+++ b/libjava/java/io/StringWriter.java
@@ -0,0 +1,80 @@
+// StringWriter.java - StringBuffer output stream
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 25, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to 1.1.
+ */
+
+public class StringWriter extends Writer
+{
+ public void close ()
+ {
+ // JCL says this does nothing. This seems to violate the Writer
+ // contract, in that other methods should still throw and
+ // IOException after a close. Still, we just follow JCL.
+ }
+
+ public void flush ()
+ {
+ }
+
+ public StringBuffer getBuffer ()
+ {
+ return buffer;
+ }
+
+ public StringWriter ()
+ {
+ this (16);
+ }
+
+ protected StringWriter (int size)
+ {
+ super ();
+ buffer = new StringBuffer (size);
+ lock = buffer;
+ }
+
+ public String toString ()
+ {
+ return buffer.toString();
+ }
+
+ public void write (int oneChar)
+ {
+ buffer.append((char) oneChar);
+ }
+
+ public void write (char[] chars, int offset, int len)
+ {
+ buffer.append(chars, offset, len);
+ }
+
+ public void write (String str)
+ {
+ buffer.append(str);
+ }
+
+ public void write (String str, int offset, int len)
+ {
+ buffer.append(str.substring(offset, offset + len));
+ }
+
+ // The string buffer.
+ private StringBuffer buffer;
+}
diff --git a/libjava/java/io/SyncFailedException.java b/libjava/java/io/SyncFailedException.java
new file mode 100644
index 0000000..b920198
--- /dev/null
+++ b/libjava/java/io/SyncFailedException.java
@@ -0,0 +1,34 @@
+// SyncFailedException.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to 1.1.
+ */
+
+public class SyncFailedException extends IOException
+{
+ public SyncFailedException ()
+ {
+ super ();
+ }
+
+ public SyncFailedException (String s)
+ {
+ super (s);
+ }
+}
diff --git a/libjava/java/io/UTFDataFormatException.java b/libjava/java/io/UTFDataFormatException.java
new file mode 100644
index 0000000..aea3540
--- /dev/null
+++ b/libjava/java/io/UTFDataFormatException.java
@@ -0,0 +1,34 @@
+// UTFDataFormatException.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Complete to 1.1.
+ */
+
+public class UTFDataFormatException extends IOException
+{
+ public UTFDataFormatException ()
+ {
+ super ();
+ }
+
+ public UTFDataFormatException (String s)
+ {
+ super (s);
+ }
+}
diff --git a/libjava/java/io/UnsupportedEncodingException.java b/libjava/java/io/UnsupportedEncodingException.java
new file mode 100644
index 0000000..f3c26f9
--- /dev/null
+++ b/libjava/java/io/UnsupportedEncodingException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date April 17, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class UnsupportedEncodingException extends IOException
+{
+ public UnsupportedEncodingException ()
+ {
+ super();
+ }
+
+ public UnsupportedEncodingException (String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/io/Writer.java b/libjava/java/io/Writer.java
new file mode 100644
index 0000000..48cedb6
--- /dev/null
+++ b/libjava/java/io/Writer.java
@@ -0,0 +1,67 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.io;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date April 17, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ * However, write(String, int, int) should be made a native method.
+ */
+
+public abstract class Writer
+{
+ protected Object lock;
+
+ protected Writer ()
+ {
+ lock = this;
+ }
+
+ protected Writer (Object lock)
+ {
+ this.lock = lock;
+ }
+
+ abstract public void close() throws IOException;
+
+ abstract public void flush() throws IOException;
+
+ abstract public void write(char[] buf, int offset, int count)
+ throws IOException;
+
+ public void write(char[] buf) throws IOException
+ {
+ write(buf, 0, buf.length);
+ }
+
+ public void write(int ch) throws IOException
+ {
+ char[] buf = new char[1];
+ buf[0] = (char) ch;
+ write(buf, 0, 1);
+ }
+
+ // FIXME - re-write using native code to not require copied buffer.
+ public void write (String str, int offset, int count) throws IOException
+ {
+ char[] buf = new char[count];
+ str.getChars(offset, offset + count, buf, 0);
+ write(buf, 0, count);
+ }
+
+ public void write (String str) throws IOException
+ {
+ write(str, 0, str.length());
+ }
+
+}
diff --git a/libjava/java/io/natFile.cc b/libjava/java/io/natFile.cc
new file mode 100644
index 0000000..40f2277
--- /dev/null
+++ b/libjava/java/io/natFile.cc
@@ -0,0 +1,273 @@
+// natFile.cc - Native part of File class.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <stdio.h>
+#include <errno.h>
+#include <sys/param.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <fcntl.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <stdlib.h>
+#ifdef HAVE_DIRENT_H
+#define _POSIX_PTHREAD_SEMANTICS
+#ifndef _REENTRANT
+# define _REENTRANT
+#endif
+#include <dirent.h>
+#endif
+#include <string.h>
+
+#include <cni.h>
+#include <jvm.h>
+#include <java/io/File.h>
+#include <java/io/IOException.h>
+#include <java/util/Vector.h>
+#include <java/lang/String.h>
+#include <java/io/FilenameFilter.h>
+#include <java/lang/System.h>
+
+jboolean
+java::io::File::access (jstring canon, jint query)
+{
+ if (! canon)
+ return false;
+ char buf[MAXPATHLEN];
+ jsize total = JvGetStringUTFRegion (canon, 0, canon->length(), buf);
+ // FIXME?
+ buf[total] = '\0';
+ JvAssert (query == READ || query == WRITE || query == EXISTS);
+#ifdef HAVE_ACCESS
+ int mode;
+ if (query == READ)
+ mode = R_OK;
+ else if (query == WRITE)
+ mode = W_OK;
+ else
+ mode = F_OK;
+ return ::access (buf, mode) == 0;
+#else
+ return false;
+#endif
+}
+
+jboolean
+java::io::File::stat (jstring canon, jint query)
+{
+ if (! canon)
+ return false;
+ char buf[MAXPATHLEN];
+ jsize total = JvGetStringUTFRegion (canon, 0, canon->length(), buf);
+ // FIXME?
+ buf[total] = '\0';
+
+#ifdef HAVE_STAT
+ struct stat sb;
+ if (::stat (buf, &sb))
+ return false;
+
+ JvAssert (query == DIRECTORY || query == ISFILE);
+ jboolean r = S_ISDIR (sb.st_mode);
+ return query == DIRECTORY ? r : ! r;
+#else
+ return false;
+#endif
+}
+
+jlong
+java::io::File::attr (jstring canon, jint query)
+{
+ if (! canon)
+ return false;
+
+ char buf[MAXPATHLEN];
+ jsize total = JvGetStringUTFRegion (canon, 0, canon->length(), buf);
+ // FIXME?
+ buf[total] = '\0';
+
+#ifdef HAVE_STAT
+ struct stat sb;
+ // FIXME: not sure about return value here.
+ if (::stat (buf, &sb))
+ return 0;
+
+ JvAssert (query == MODIFIED || query == LENGTH);
+ // FIXME: time computation is very POSIX-specific -- POSIX and Java
+ // have the same Epoch.
+ return query == MODIFIED ? sb.st_mtime * 1000 : sb.st_size;
+#else
+ // There's no good choice here.
+ return 23;
+#endif
+}
+
+jstring
+java::io::File::getCanonicalPath (void)
+{
+ char buf[MAXPATHLEN], buf2[MAXPATHLEN];
+ jsize total = JvGetStringUTFRegion (path, 0, path->length(), buf);
+ // FIXME?
+ buf[total] = '\0';
+
+#ifdef HAVE_REALPATH
+ if (realpath (buf, buf2) == NULL)
+ _Jv_Throw (new IOException (JvNewStringLatin1 (strerror (errno))));
+
+ // FIXME: what encoding to assume for file names? This affects many
+ // calls.
+ return JvNewStringUTF (buf2);
+#else
+ return JvNewStringUTF (buf);
+#endif
+}
+
+jboolean
+java::io::File::isAbsolute (void)
+{
+ // FIXME: cpp define name.
+ // FIXME: cygwin.
+#ifdef WIN32
+ if (path->charAt(0) == '/' || path->charAt(0) == '\\')
+ return true;
+ if (path->length() < 3)
+ return false;
+ // Hard-code A-Za-z because Windows (I think) can't use non-ASCII
+ // letters as drive names.
+ if ((path->charAt(0) < 'a' || path->charAt(0) > 'z')
+ && (path->charAt(0) < 'A' || path->charAt(0) > 'Z'))
+ return false;
+ return (path->charAt(1) == ':'
+ && (path->charAt(2) == '/' || path->charAt(2) == '\\'));
+#else
+ return path->charAt(0) == '/';
+#endif
+}
+
+#ifdef HAVE_DIRENT_H
+#if defined(__JV_POSIX_THREADS__) && defined(HAVE_READDIR_R)
+
+static struct dirent *
+get_entry (DIR *dir, struct dirent *e)
+{
+ struct dirent *r;
+ if (readdir_r (dir, e, &r) || r == NULL)
+ return NULL;
+ return e;
+}
+
+#else /* defined(__JV_POSIX_THREADS__) && defined(HAVE_READDIR_R) */
+
+static struct dirent *
+get_entry (DIR *dir, struct dirent *)
+{
+ return readdir (dir);
+}
+
+#endif /* defined(__JV_POSIX_THREADS__) && defined(HAVE_READDIR_R) */
+#endif /* HAVE_DIRENT_H */
+
+jstringArray
+java::io::File::performList (jstring canon, FilenameFilter *filter)
+{
+ if (! canon)
+ return NULL;
+
+#ifdef HAVE_DIRENT_H
+ char buf[MAXPATHLEN];
+ jsize total = JvGetStringUTFRegion (canon, 0, canon->length(), buf);
+ // FIXME?
+ buf[total] = '\0';
+
+ DIR *dir = opendir (buf);
+ if (! dir)
+ return NULL;
+
+ java::util::Vector *vec = new java::util::Vector ();
+ struct dirent *d, d2;
+ while ((d = get_entry (dir, &d2)) != NULL)
+ {
+ if (! strcmp (d->d_name, ".") || ! strcmp (d->d_name, ".."))
+ continue;
+
+ jstring name = JvNewStringUTF (d->d_name);
+ if (filter && ! filter->accept(this, name))
+ continue;
+
+ vec->addElement(name);
+ }
+
+ closedir (dir);
+
+ jobjectArray ret = JvNewObjectArray (vec->size(), canon->getClass(),
+ NULL);
+ vec->copyInto(ret);
+ return reinterpret_cast<jstringArray> (ret);
+#else /* HAVE_DIRENT_H */
+ return NULL;
+#endif /* HAVE_DIRENT_H */
+}
+
+jboolean
+java::io::File::performMkdir (void)
+{
+ char buf[MAXPATHLEN];
+ jsize total = JvGetStringUTFRegion (path, 0, path->length(), buf);
+ // FIXME?
+ buf[total] = '\0';
+
+#ifdef HAVE_MKDIR
+ // FIXME: mode.
+ return ::mkdir (buf, 0755) == 0;
+#else
+ return false;
+#endif
+}
+
+jboolean
+java::io::File::performRenameTo (File *dest)
+{
+ char buf[MAXPATHLEN];
+ jsize total = JvGetStringUTFRegion (path, 0, path->length(), buf);
+ // FIXME?
+ buf[total] = '\0';
+ char buf2[MAXPATHLEN];
+ total = JvGetStringUTFRegion (dest->path, 0, dest->path->length(), buf2);
+ // FIXME?
+ buf2[total] = '\0';
+
+#ifdef HAVE_RENAME
+ return ::rename (buf, buf2) == 0;
+#else
+ return false;
+#endif
+}
+
+jboolean
+java::io::File::performDelete (jstring canon)
+{
+ char buf[MAXPATHLEN];
+ jsize total = JvGetStringUTFRegion (canon, 0, canon->length(), buf);
+ // FIXME?
+ buf[total] = '\0';
+
+#ifdef HAVE_UNLINK
+#ifdef HAVE_RMDIR
+ if (! ::rmdir (buf))
+ return true;
+#endif // HAVE_RMDIR
+ if (errno == ENOTDIR)
+ return ::unlink (buf) == 0;
+#endif // HAVE_UNLINK
+ return false;
+}
diff --git a/libjava/java/io/natFileDescriptorEcos.cc b/libjava/java/io/natFileDescriptorEcos.cc
new file mode 100644
index 0000000..f2c3fb0
--- /dev/null
+++ b/libjava/java/io/natFileDescriptorEcos.cc
@@ -0,0 +1,132 @@
+// natFileDescriptor.cc - Native part of FileDescriptor class.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <errno.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/param.h>
+
+#include <cni.h>
+#include <jvm.h>
+#include <java/io/FileDescriptor.h>
+#include <java/io/SyncFailedException.h>
+#include <java/io/IOException.h>
+#include <java/io/EOFException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/String.h>
+#include <java/io/FileNotFoundException.h>
+
+extern "C" void diag_write_char (char c);
+
+static void
+diag_write (char *data, int len)
+{
+ while (len > 0)
+ {
+ diag_write_char (*data++);
+ len--;
+ }
+}
+
+#define NO_FSYNC_MESSAGE "sync unsupported"
+
+jboolean
+java::io::FileDescriptor::valid (void)
+{
+ return true;
+}
+
+void
+java::io::FileDescriptor::sync (void)
+{
+ // Some files don't support fsync. We don't bother reporting these
+ // as errors.
+#ifdef HAVE_FSYNC
+#else
+ JvThrow (new SyncFailedException (JvNewStringLatin1 (NO_FSYNC_MESSAGE)));
+#endif
+}
+
+jint
+java::io::FileDescriptor::open (jstring path, jint jflags)
+{
+ return fd;
+}
+
+void
+java::io::FileDescriptor::write (jint b)
+{
+ char d = (char) b;
+ ::diag_write (&d, 1);
+}
+
+void
+java::io::FileDescriptor::write (jbyteArray b, jint offset, jint len)
+{
+ if (! b)
+ JvThrow (new java::lang::NullPointerException);
+ if (offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
+ JvThrow (new java::lang::ArrayIndexOutOfBoundsException);
+ char *bytes = (char *)elements (b) + offset;
+ ::diag_write (bytes, len);
+}
+
+void
+java::io::FileDescriptor::close (void)
+{
+}
+
+jint
+java::io::FileDescriptor::seek (jlong pos, jint whence)
+{
+ JvAssert (whence == SET || whence == CUR);
+
+ jlong len = length ();
+ jlong here = getFilePointer ();
+
+ if ((whence == SET && pos > len) || (whence == CUR && here + pos > len))
+ JvThrow (new EOFException);
+
+ return 0;
+}
+
+jlong
+java::io::FileDescriptor::length (void)
+{
+ return 0;
+}
+
+jlong
+java::io::FileDescriptor::getFilePointer (void)
+{
+ return 0;
+}
+
+jint
+java::io::FileDescriptor::read (void)
+{
+ return 0;
+}
+
+jint
+java::io::FileDescriptor::read (jbyteArray buffer, jint offset, jint count)
+{
+ return 0;
+}
+
+jint
+java::io::FileDescriptor::available (void)
+{
+ return 0;
+}
diff --git a/libjava/java/io/natFileDescriptorPosix.cc b/libjava/java/io/natFileDescriptorPosix.cc
new file mode 100644
index 0000000..3efd8e4
--- /dev/null
+++ b/libjava/java/io/natFileDescriptorPosix.cc
@@ -0,0 +1,264 @@
+// natFileDescriptor.cc - Native part of FileDescriptor class.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/param.h>
+#include <fcntl.h>
+
+#ifdef HAVE_SYS_IOCTL_H
+#define BSD_COMP /* Get FIONREAD on Solaris2. */
+#include <sys/ioctl.h>
+#endif
+
+// Pick up FIONREAD on Solaris 2.5.
+#ifdef HAVE_SYS_FILIO_H
+#include <sys/filio.h>
+#endif
+
+#include <cni.h>
+#include <jvm.h>
+#include <java/io/FileDescriptor.h>
+#include <java/io/SyncFailedException.h>
+#include <java/io/IOException.h>
+#include <java/io/InterruptedIOException.h>
+#include <java/io/EOFException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/String.h>
+#include <java/lang/Thread.h>
+#include <java/io/FileNotFoundException.h>
+
+#define NO_FSYNC_MESSAGE "sync unsupported"
+
+jboolean
+java::io::FileDescriptor::valid (void)
+{
+ struct stat sb;
+ return ::fstat (fd, &sb) == 0;
+}
+
+void
+java::io::FileDescriptor::sync (void)
+{
+ // Some files don't support fsync. We don't bother reporting these
+ // as errors.
+#ifdef HAVE_FSYNC
+ if (::fsync (fd) && errno != EROFS && errno != EINVAL)
+ JvThrow (new SyncFailedException (JvNewStringLatin1 (strerror (errno))));
+#else
+ JvThrow (new SyncFailedException (JvNewStringLatin1 (NO_FSYNC_MESSAGE)));
+#endif
+}
+
+jint
+java::io::FileDescriptor::open (jstring path, jint jflags)
+{
+ // FIXME: eww.
+ char buf[MAXPATHLEN];
+ jsize total = JvGetStringUTFRegion (path, 0, path->length(), buf);
+ // FIXME?
+ buf[total] = '\0';
+ int flags = 0;
+#ifdef O_BINARY
+ flags |= O_BINARY;
+#endif
+
+ JvAssert ((jflags & READ) || (jflags & WRITE));
+ if ((jflags & READ) && (jflags & WRITE))
+ flags |= O_RDWR;
+ else if ((jflags & READ))
+ flags |= O_RDONLY;
+ else
+ {
+ flags |= O_WRONLY | O_CREAT;
+ if ((jflags & APPEND))
+ flags |= O_APPEND;
+ else
+ flags |= O_TRUNC;
+ }
+
+ // FIXME: mode?
+ int fd = ::open (buf, flags, 0755);
+ if (fd == -1)
+ {
+ char msg[MAXPATHLEN + 200];
+ sprintf (msg, "%s: %s", buf, strerror (errno));
+ JvThrow (new FileNotFoundException (JvNewStringLatin1 (msg)));
+ }
+ return fd;
+}
+
+void
+java::io::FileDescriptor::write (jint b)
+{
+ jbyte d = (jbyte) b;
+ int r = ::write (fd, &d, 1);
+ if (java::lang::Thread::interrupted())
+ {
+ InterruptedIOException *iioe
+ = new InterruptedIOException (JvNewStringLatin1 ("write interrupted"));
+ iioe->bytesTransferred = r == -1 ? 0 : r;
+ JvThrow (iioe);
+ }
+ else if (r == -1)
+ JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ // FIXME: loop if r != 1.
+}
+
+void
+java::io::FileDescriptor::write (jbyteArray b, jint offset, jint len)
+{
+ if (! b)
+ JvThrow (new java::lang::NullPointerException);
+ if (offset < 0 || len < 0 || offset + len > JvGetArrayLength (b))
+ JvThrow (new java::lang::ArrayIndexOutOfBoundsException);
+ jbyte *bytes = elements (b) + offset;
+ int r = ::write (fd, bytes, len);
+ if (java::lang::Thread::interrupted())
+ {
+ InterruptedIOException *iioe
+ = new InterruptedIOException (JvNewStringLatin1 ("write interrupted"));
+ iioe->bytesTransferred = r == -1 ? 0 : r;
+ JvThrow (iioe);
+ }
+ else if (r == -1)
+ JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ // FIXME: loop if r != len.
+}
+
+void
+java::io::FileDescriptor::close (void)
+{
+ jint save = fd;
+ fd = -1;
+ if (::close (save))
+ JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+}
+
+jint
+java::io::FileDescriptor::seek (jlong pos, jint whence)
+{
+ JvAssert (whence == SET || whence == CUR);
+
+ jlong len = length ();
+ jlong here = getFilePointer ();
+
+ if ((whence == SET && pos > len) || (whence == CUR && here + pos > len))
+ JvThrow (new EOFException);
+
+ off_t r = ::lseek (fd, (off_t) pos, whence == SET ? SEEK_SET : SEEK_CUR);
+ if (r == -1)
+ JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ return r;
+}
+
+jlong
+java::io::FileDescriptor::length (void)
+{
+ struct stat sb;
+ if (::fstat (fd, &sb))
+ JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ return sb.st_size;
+}
+
+jlong
+java::io::FileDescriptor::getFilePointer (void)
+{
+ off_t r = ::lseek (fd, 0, SEEK_CUR);
+ if (r == -1)
+ JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ return r;
+}
+
+jint
+java::io::FileDescriptor::read (void)
+{
+ jbyte b;
+ int r = ::read (fd, &b, 1);
+ if (r == 0)
+ return -1;
+ if (java::lang::Thread::interrupted())
+ {
+ InterruptedIOException *iioe
+ = new InterruptedIOException (JvNewStringLatin1 ("read interrupted"));
+ iioe->bytesTransferred = r == -1 ? 0 : r;
+ JvThrow (iioe);
+ }
+ else if (r == -1)
+ JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ return b & 0xFF;
+}
+
+jint
+java::io::FileDescriptor::read (jbyteArray buffer, jint offset, jint count)
+{
+ if (! buffer)
+ JvThrow (new java::lang::NullPointerException);
+ jsize bsize = JvGetArrayLength (buffer);
+ if (offset < 0 || count < 0 || offset + count > bsize)
+ JvThrow (new java::lang::ArrayIndexOutOfBoundsException);
+ jbyte *bytes = elements (buffer) + offset;
+ int r = ::read (fd, bytes, count);
+ if (r == 0)
+ return -1;
+ if (java::lang::Thread::interrupted())
+ {
+ InterruptedIOException *iioe
+ = new InterruptedIOException (JvNewStringLatin1 ("read interrupted"));
+ iioe->bytesTransferred = r == -1 ? 0 : r;
+ JvThrow (iioe);
+ }
+ else if (r == -1)
+ JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ return r;
+}
+
+jint
+java::io::FileDescriptor::available (void)
+{
+#if defined (FIONREAD)
+ long num;
+ int r = ::ioctl (fd, FIONREAD, &num);
+ if (r == -1)
+ JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ return (jint) num;
+#elif defined (HAVE_SELECT)
+ int r = -1;
+ if (fd < 0)
+ errno = EBADF;
+ else
+ {
+ fd_set rd;
+ FD_ZERO (&rd);
+ FD_SET (fd, &rd);
+ struct timeval tv;
+ tv.tv_sec = 0;
+ tv.tv_usec = 0;
+ r = ::select (fd + 1, &rd, NULL, NULL, &tv);
+ }
+ if (r == -1)
+ JvThrow (new IOException (JvNewStringLatin1 (strerror (errno))));
+ return r == 0 ? 0 : 1;
+#else
+ JvThrow (new IOException (JvNewStringLatin1 ("unimplemented")));
+#endif
+}
diff --git a/libjava/java/lang/AbstractMethodError.java b/libjava/java/lang/AbstractMethodError.java
new file mode 100644
index 0000000..b1751e2
--- /dev/null
+++ b/libjava/java/lang/AbstractMethodError.java
@@ -0,0 +1,34 @@
+// AbstractMethodError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class AbstractMethodError extends IncompatibleClassChangeError
+{
+ public AbstractMethodError ()
+ {
+ super ();
+ }
+
+ public AbstractMethodError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/ArithmeticException.java b/libjava/java/lang/ArithmeticException.java
new file mode 100644
index 0000000..def8c82
--- /dev/null
+++ b/libjava/java/lang/ArithmeticException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class ArithmeticException extends RuntimeException
+{
+ public ArithmeticException()
+ {
+ super();
+ }
+
+ public ArithmeticException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/ArrayIndexOutOfBoundsException.java b/libjava/java/lang/ArrayIndexOutOfBoundsException.java
new file mode 100644
index 0000000..e66b6d7
--- /dev/null
+++ b/libjava/java/lang/ArrayIndexOutOfBoundsException.java
@@ -0,0 +1,37 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class ArrayIndexOutOfBoundsException extends IndexOutOfBoundsException
+{
+ public ArrayIndexOutOfBoundsException()
+ {
+ super();
+ }
+
+ public ArrayIndexOutOfBoundsException(int index)
+ {
+ this("Array index out of range: " + index);
+ }
+
+ public ArrayIndexOutOfBoundsException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/ArrayStoreException.java b/libjava/java/lang/ArrayStoreException.java
new file mode 100644
index 0000000..7b9ede6
--- /dev/null
+++ b/libjava/java/lang/ArrayStoreException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class ArrayStoreException extends RuntimeException
+{
+ public ArrayStoreException()
+ {
+ super();
+ }
+
+ public ArrayStoreException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/Boolean.java b/libjava/java/lang/Boolean.java
new file mode 100644
index 0000000..78ab77f
--- /dev/null
+++ b/libjava/java/lang/Boolean.java
@@ -0,0 +1,95 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+import java.io.Serializable;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 3, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public final class Boolean extends Object implements Serializable
+{
+ public static final Boolean FALSE = new Boolean(false);
+ public static final Boolean TRUE = new Boolean(true);
+
+ // This initialization is seemingly circular, but it is accepted
+ // by javac, and is handled specially by gcc.
+ public static final Class TYPE = boolean.class;
+
+ /* The boolean value of the instance. */
+ private boolean value;
+
+ public Boolean(boolean boolVal)
+ {
+ value = boolVal;
+ }
+
+ public Boolean(String strVal)
+ {
+ value = strVal.equalsIgnoreCase("true");
+ }
+
+ public boolean booleanValue()
+ {
+ return value;
+ }
+
+ public boolean equals(Object obj)
+ {
+ /* Don't need to compare obj to null as instanceof will do this. */
+ if (obj instanceof Boolean)
+ return value == ((Boolean) obj).value;
+ return false;
+ }
+
+ public static boolean getBoolean(String property)
+ {
+ /* TBD: If a security manager exists and it doesn't permit accessing
+ * the property, it will throw an exception. Should we catch it?
+ */
+ try
+ {
+ String val = System.getProperty(property);
+ return val == null ? false : val.equalsIgnoreCase("true");
+ }
+ catch (SecurityException e)
+ {
+ return false;
+ }
+ }
+
+ public int hashCode()
+ {
+ /* These values are from the Java Lang. Spec. (Sec 20.4.7).
+ * TBD: They could be made private static final fields but they're only
+ * used here (and shouldn't be used anywhere else), though it might be
+ * useful to grep on something like JAVA_HASH_* values for us as
+ * developers.
+ */
+ return value ? 1231 : 1237;
+ }
+
+ public String toString()
+ {
+ return value ? "true" : "false";
+ }
+
+ public static Boolean valueOf(String str)
+ {
+ /* This returns a Boolean (big B), not a boolean (little b). */
+ return str.equalsIgnoreCase("true") ? TRUE : FALSE;
+ }
+}
diff --git a/libjava/java/lang/Byte.java b/libjava/java/lang/Byte.java
new file mode 100644
index 0000000..f3ec402
--- /dev/null
+++ b/libjava/java/lang/Byte.java
@@ -0,0 +1,144 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date April 17, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ * Includes JDK 1.2 methods.
+ */
+
+public final class Byte extends Number implements Comparable
+{
+ byte value;
+
+ public final static byte MIN_VALUE = -128;
+ public final static byte MAX_VALUE = 127;
+
+ // This initialization is seemingly circular, but it is accepted
+ // by javac, and is handled specially by gcc.
+ public static final Class TYPE = byte.class;
+
+ public Byte(byte value)
+ {
+ this.value = value;
+ }
+
+ public Byte(String str)
+ throws NumberFormatException
+ {
+ this.value = parseByte(str, 10);
+ }
+
+ public byte byteValue()
+ {
+ return value;
+ }
+
+ public short shortValue()
+ {
+ return value;
+ }
+
+ public int intValue()
+ {
+ return value;
+ }
+
+ public long longValue ()
+ {
+ return value;
+ }
+
+ public float floatValue ()
+ {
+ return (float) value;
+ }
+
+ public double doubleValue ()
+ {
+ return (double) value;
+ }
+
+ public static Byte decode(String str)
+ throws NumberFormatException
+ {
+ int i = (Integer.decode(str)).intValue();
+ if (i < MIN_VALUE || i > MAX_VALUE)
+ throw new NumberFormatException();
+ return new Byte((byte) i);
+ }
+
+ public static byte parseByte(String str, int radix)
+ throws NumberFormatException
+ {
+ int i = Integer.parseInt(str, radix);
+ if (i < MIN_VALUE || i > MAX_VALUE)
+ throw new NumberFormatException();
+ return (byte) i;
+ }
+
+ public static byte parseByte(String str)
+ throws NumberFormatException
+ {
+ return parseByte(str, 10);
+ }
+
+ public static Byte valueOf(String str, int radix)
+ throws NumberFormatException
+ {
+ return new Byte(parseByte(str, radix));
+ }
+
+ public static Byte valueOf(String str)
+ throws NumberFormatException
+ {
+ return valueOf(str, 10);
+ }
+
+ // Added in JDK 1.2
+ public int compareTo(Byte anotherByte)
+ {
+ return this.value - anotherByte.value;
+ }
+
+ // Added in JDK 1.2
+ public int compareTo(Object o) throws ClassCastException
+ {
+ if (o instanceof Byte)
+ return this.value - ((Byte) o).value;
+ else
+ throw new ClassCastException();
+ }
+
+ public boolean equals(Object obj)
+ {
+ return obj != null && (obj instanceof Byte) && ((Byte)obj).value == value;
+ }
+
+ // Verified that hashCode is returns plain value (see Boolean_1 test).
+ public int hashCode()
+ {
+ return value;
+ }
+
+ public String toString()
+ {
+ return Integer.toString((int) value);
+ }
+
+ public static String toString(byte value)
+ {
+ return Integer.toString((int) value);
+ }
+}
diff --git a/libjava/java/lang/Character.java b/libjava/java/lang/Character.java
new file mode 100644
index 0000000..c7dd052
--- /dev/null
+++ b/libjava/java/lang/Character.java
@@ -0,0 +1,286 @@
+// Character.java - Character class.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+import java.io.Serializable;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 10, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1,
+ * online API docs for JDK 1.2 beta from http://www.javasoft.com,
+ * and The Unicode Standard Version 2.0.
+ * Status: Believed complete and correct for JDK 1.1; 1.2 methods
+ * unimplemented.
+ */
+
+public final class Character implements Serializable, Comparable
+{
+ public static final char MIN_VALUE = '\u0000';
+ public static final char MAX_VALUE = '\uffff';
+
+ public static final int MIN_RADIX = 2;
+ public static final int MAX_RADIX = 36;
+
+ // This initialization is seemingly circular, but it is accepted
+ // by javac, and is handled specially by gcc.
+ public static final Class TYPE = char.class;
+
+ // Space.
+ public static final byte SPACE_SEPARATOR = 12;
+ public static final byte LINE_SEPARATOR = 13;
+ public static final byte PARAGRAPH_SEPARATOR = 14;
+
+ // Letters.
+ public static final byte UPPERCASE_LETTER = 1;
+ public static final byte LOWERCASE_LETTER = 2;
+ public static final byte TITLECASE_LETTER = 3;
+ public static final byte MODIFIER_LETTER = 4;
+ public static final byte OTHER_LETTER = 5;
+
+ // Numbers.
+ public static final byte DECIMAL_DIGIT_NUMBER = 9;
+ public static final byte LETTER_NUMBER = 10;
+ public static final byte OTHER_NUMBER = 11;
+
+ // Marks.
+ public static final byte NON_SPACING_MARK = 6;
+ public static final byte ENCLOSING_MARK = 7;
+ public static final byte COMBINING_SPACING_MARK = 8;
+
+ // Punctuation.
+ public static final byte DASH_PUNCTUATION = 20;
+ public static final byte START_PUNCTUATION = 21;
+ public static final byte END_PUNCTUATION = 22;
+ public static final byte CONNECTOR_PUNCTUATION = 23;
+ public static final byte OTHER_PUNCTUATION = 24;
+
+ // Symbols.
+ public static final byte MATH_SYMBOL = 25;
+ public static final byte CURRENCY_SYMBOL = 26;
+ public static final byte MODIFIER_SYMBOL = 27;
+ public static final byte OTHER_SYMBOL = 28;
+
+ // Format controls.
+ public static final byte CONTROL = 15;
+ // Note: The JCL book says that both FORMAT and PRIVATE_USE are 18.
+ // However, FORMAT is actually 16.
+ public static final byte FORMAT = 16;
+
+ // Others.
+ public static final byte UNASSIGNED = 0;
+ public static final byte PRIVATE_USE = 18;
+ public static final byte SURROGATE = 19;
+
+
+ public Character (char ch)
+ {
+ value = ch;
+ }
+
+ public char charValue ()
+ {
+ return value;
+ }
+
+ // See if a character is a digit. If so, return the corresponding
+ // value. Otherwise return -1.
+ private static native int digit_value (char ch);
+
+ public static int digit (char ch, int radix)
+ {
+ if (radix < MIN_RADIX || radix > MAX_RADIX)
+ return -1;
+
+ int d = digit_value (ch);
+ if (d == -1)
+ {
+ if (ch >= 'A' && ch <= 'Z')
+ d = ch - 'A' + 10;
+ else if (ch >= 'a' && ch <= 'z')
+ d = ch - 'a' + 10;
+ else
+ return -1;
+ }
+ return d >= radix ? -1 : d;
+ }
+
+ public boolean equals (Object obj)
+ {
+ // Don't need to compare OBJ to null as instanceof will do this.
+ if (obj instanceof Character)
+ return value == ((Character) obj).value;
+ return false;
+ }
+
+ public static char forDigit (int d, int rdx)
+ {
+ if (d < 0 || d >= rdx || rdx < MIN_RADIX || rdx > MAX_RADIX)
+ return '\u0000';
+ if (d < 10)
+ return (char) ('0' + d);
+ // The Java Language Spec says to use lowercase, while the JCL
+ // says to use uppercase. We go with the former.
+ return (char) ('a' + d - 10);
+ }
+
+ public static native int getNumericValue (char ch);
+ public static native int getType (char ch);
+
+ public int hashCode ()
+ {
+ return value;
+ }
+
+ public static boolean isDefined (char ch)
+ {
+ return getType (ch) != UNASSIGNED;
+ }
+
+ public static boolean isDigit (char ch)
+ {
+ return digit_value (ch) != -1;
+ }
+
+ // The JCL book says that the argument here is a Character. That is
+ // wrong.
+ public static boolean isIdentifierIgnorable (char ch)
+ {
+ // This information comes from the Unicode Standard. It isn't
+ // auto-generated as it doesn't appear in the unidata table.
+ return ((ch >= '\u0000' && ch <= '\u0008')
+ || (ch >= '\u000e' && ch <= '\u001b')
+ // JDK 1.2 docs say that these are ignorable. The Unicode
+ // Standard is somewhat ambiguous on this issue.
+ || (ch >= '\u007f' && ch <= '\u009f')
+ || (ch >= '\u200c' && ch <= '\u200f')
+ // JCl says 200a through 200e, but that is a typo. The
+ // Unicode standard says the bidi controls are 202a
+ // through 202e.
+ || (ch >= '\u202a' && ch <= '\u202e')
+ || (ch >= '\u206a' && ch <= '\u206f')
+ || ch == '\ufeff');
+ }
+
+ public static boolean isISOControl (char c)
+ {
+ return ((c >= '\u0000' && c <= '\u001f')
+ || (c >= '\u007f' && c <= '\u009f'));
+ }
+
+ public static boolean isJavaIdentifierPart (char ch)
+ {
+ if (isIdentifierIgnorable (ch) || isDigit (ch))
+ return true;
+ int type = getType (ch);
+ return (type == COMBINING_SPACING_MARK || type == NON_SPACING_MARK
+ || type == CURRENCY_SYMBOL || type == CONNECTOR_PUNCTUATION
+ || type == UPPERCASE_LETTER || type == LOWERCASE_LETTER
+ || type == TITLECASE_LETTER || type == MODIFIER_LETTER
+ || type == OTHER_LETTER || type == LETTER_NUMBER);
+ }
+
+ public static boolean isJavaIdentifierStart (char ch)
+ {
+ int type = getType (ch);
+ return (type == CURRENCY_SYMBOL || type == CONNECTOR_PUNCTUATION
+ || type == UPPERCASE_LETTER || type == LOWERCASE_LETTER
+ || type == TITLECASE_LETTER || type == MODIFIER_LETTER
+ || type == OTHER_LETTER);
+ }
+
+ // Deprecated in 1.2.
+ public static boolean isJavaLetter (char ch)
+ {
+ return ch == '$' || ch == '_' || isLetter (ch);
+ }
+
+ // Deprecated in 1.2.
+ public static boolean isJavaLetterOrDigit (char ch)
+ {
+ return ch == '$' || ch == '_' || isLetterOrDigit (ch);
+ }
+
+ public static boolean isLetter (char ch)
+ {
+ int type = getType (ch);
+ return (type == UPPERCASE_LETTER || type == LOWERCASE_LETTER
+ || type == TITLECASE_LETTER || type == MODIFIER_LETTER
+ || type == OTHER_LETTER);
+ }
+
+ public static boolean isLetterOrDigit (char ch)
+ {
+ return isDigit (ch) || isLetter (ch);
+ }
+
+ public static native boolean isLowerCase (char ch);
+
+ // Deprecated in JCL.
+ public static boolean isSpace (char ch)
+ {
+ return ch == '\n' || ch == '\t' || ch == '\f' || ch == '\r' || ch == ' ';
+ }
+
+ public static native boolean isSpaceChar (char ch);
+ public static native boolean isTitleCase (char ch);
+
+ public static boolean isUnicodeIdentifierPart (char ch)
+ {
+ if (isIdentifierIgnorable (ch) || isDigit (ch))
+ return true;
+ int type = getType (ch);
+ return (type == CONNECTOR_PUNCTUATION || type == LETTER_NUMBER
+ || type == COMBINING_SPACING_MARK || type == NON_SPACING_MARK
+ || type == UPPERCASE_LETTER || type == LOWERCASE_LETTER
+ || type == TITLECASE_LETTER || type == MODIFIER_LETTER
+ || type == OTHER_LETTER);
+ }
+
+ public static boolean isUnicodeIdentifierStart (char ch)
+ {
+ return isLetter (ch);
+ }
+
+ public static native boolean isUpperCase (char ch);
+
+ public static boolean isWhitespace (char ch)
+ {
+ return ((ch >= '\u0009' && ch <= '\r')
+ || (ch >= '\u001c' && ch <= '\u001f')
+ || (ch != '\u00a0' && ch != '\ufeff' && isSpaceChar (ch)));
+ }
+
+ public static native char toLowerCase (char ch);
+ public static native char toTitleCase (char ch);
+ public static native char toUpperCase (char ch);
+
+ public String toString ()
+ {
+ return String.valueOf(value);
+ }
+
+ public int compareTo (Character anotherCharacter)
+ {
+ return value - anotherCharacter.value;
+ }
+
+ public int compareTo (Object o)
+ {
+ return compareTo ((Character) o);
+ }
+
+ // Private data.
+ private char value;
+}
diff --git a/libjava/java/lang/Class.h b/libjava/java/lang/Class.h
new file mode 100644
index 0000000..eb0a2f95
--- /dev/null
+++ b/libjava/java/lang/Class.h
@@ -0,0 +1,214 @@
+// Class.h - Header file for java.lang.Class. -*- c++ -*-
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+// Written primary using compiler source and Class.java as guides.
+#ifndef __JAVA_LANG_CLASS_H__
+#define __JAVA_LANG_CLASS_H__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <java/lang/String.h>
+
+// We declare these here to avoid including cni.h.
+extern "C" void _Jv_InitClass (jclass klass);
+extern "C" void _Jv_RegisterClasses (jclass *classes);
+
+struct _Jv_Field;
+struct _Jv_VTable;
+
+#define CONSTANT_Class 7
+#define CONSTANT_Fieldref 9
+#define CONSTANT_Methodref 10
+#define CONSTANT_InterfaceMethodref 11
+#define CONSTANT_String 8
+#define CONSTANT_Integer 3
+#define CONSTANT_Float 4
+#define CONSTANT_Long 5
+#define CONSTANT_Double 6
+#define CONSTANT_NameAndType 12
+#define CONSTANT_Utf8 1
+#define CONSTANT_Unicode 2
+#define CONSTANT_ResolvedFlag 16
+#define CONSTANT_ResolvedString (CONSTANT_String+CONSTANT_ResolvedFlag)
+#define CONSTANT_ResolvedClass (CONSTANT_Class+CONSTANT_ResolvedFlag)
+
+struct _Jv_Constants
+{
+ jint size;
+ jbyte *tags;
+ void **data;
+};
+
+struct _Jv_Method
+{
+ _Jv_Utf8Const *name;
+ _Jv_Utf8Const *signature;
+ unsigned short accflags;
+ void *ncode;
+};
+
+#define JV_PRIMITIVE_VTABLE ((_Jv_VTable *) -1)
+
+class java::lang::Class : public java::lang::Object
+{
+public:
+ static jclass forName (jstring className);
+ JArray<jclass> *getClasses (void);
+
+ java::lang::ClassLoader *getClassLoader (void)
+ {
+ return loader;
+ }
+
+ jclass getComponentType (void)
+ {
+ return isArray () ? (* (jclass *) &methods) : 0;
+ }
+
+ java::lang::reflect::Constructor *getConstructor (JArray<jclass> *);
+ JArray<java::lang::reflect::Constructor *> *getConstructors (void);
+ java::lang::reflect::Constructor *getDeclaredConstructor (JArray<jclass> *);
+ JArray<java::lang::reflect::Constructor *> *getDeclaredConstructors (void);
+ java::lang::reflect::Field *getDeclaredField (jstring);
+ JArray<java::lang::reflect::Field *> *getDeclaredFields (void);
+ java::lang::reflect::Method *getDeclaredMethod (jstring, JArray<jclass> *);
+ JArray<java::lang::reflect::Method *> *getDeclaredMethods (void);
+
+ JArray<jclass> *getDeclaredClasses (void);
+ jclass getDeclaringClass (void);
+
+ java::lang::reflect::Field *getField (jstring);
+private:
+ java::lang::reflect::Field *getField (jstring, jint);
+public:
+ JArray<java::lang::reflect::Field *> *getFields (void);
+
+ JArray<jclass> *getInterfaces (void);
+
+ java::lang::reflect::Method *getMethod (jstring, JArray<jclass> *);
+ JArray<java::lang::reflect::Method *> *getMethods (void);
+
+ jint getModifiers (void)
+ {
+ return accflags;
+ }
+
+ jstring getName (void);
+
+ java::io::InputStream *getResourceAsStream (jstring resourceName);
+ JArray<jobject> *getSigners (void);
+
+ jclass getSuperclass (void)
+ {
+ return superclass;
+ }
+
+ jboolean isArray (void)
+ {
+ return name->data[0] == '[';
+ }
+
+ jboolean isAssignableFrom (jclass cls);
+ jboolean isInstance (jobject obj);
+ jboolean isInterface (void);
+
+ jboolean isPrimitive (void)
+ {
+ return vtable == JV_PRIMITIVE_VTABLE;
+ }
+
+ jobject newInstance (void);
+ jstring toString (void);
+
+ // FIXME: this probably shouldn't be public.
+ jint size (void)
+ {
+ return size_in_bytes;
+ }
+
+private:
+ void checkMemberAccess (jint flags);
+ void resolveConstants (void);
+
+ // Various functions to handle class initialization.
+ java::lang::Throwable *hackTrampoline (jint, java::lang::Throwable *);
+ void hackRunInitializers (void);
+ void initializeClass (void);
+
+ // Friend functions implemented in natClass.cc.
+ friend _Jv_Method *_Jv_GetMethodLocal (jclass klass, _Jv_Utf8Const *name,
+ _Jv_Utf8Const *signature);
+ friend void _Jv_InitClass (jclass klass);
+ friend void _Jv_RegisterClasses (jclass *classes);
+ friend jclass _Jv_FindClassInCache (_Jv_Utf8Const *name,
+ java::lang::ClassLoader *loader);
+ friend jclass _Jv_FindArrayClass (jclass element);
+ friend jclass _Jv_NewClass (_Jv_Utf8Const *name, jclass superclass,
+ java::lang::ClassLoader *loader);
+
+ friend jfieldID JvGetFirstInstanceField (jclass);
+ friend jint JvNumInstanceFields (jclass);
+ friend jobject _Jv_AllocObject (jclass, jint);
+ friend jobjectArray _Jv_NewObjectArray (jsize, jclass, jobject);
+ friend jobject _Jv_NewPrimArray (jclass, jint);
+ friend jobject _Jv_JNI_ToReflectedField (_Jv_JNIEnv *, jclass, jfieldID);
+ friend jfieldID _Jv_FromReflectedField (java::lang::reflect::Field *);
+ friend jmethodID _Jv_FromReflectedMethod (java::lang::reflect::Method *);
+
+ friend class _Jv_PrimClass;
+
+#ifdef JV_MARKOBJ_DECL
+ friend JV_MARKOBJ_DECL;
+#endif
+
+ // Chain for class pool.
+ jclass next;
+ // Name of class.
+ _Jv_Utf8Const *name;
+ // Access flags for class.
+ unsigned short accflags;
+ // The superclass, or null for Object.
+ jclass superclass;
+ // Class constants.
+ _Jv_Constants constants;
+ // Methods. If this is an array class, then this field holds a
+ // pointer to the element type. If this is a primitive class, this
+ // is used to cache a pointer to the appropriate array type.
+ _Jv_Method *methods;
+ // Number of methods. If this class is primitive, this holds the
+ // character used to represent this type in a signature.
+ short method_count;
+ // Number of methods in the vtable.
+ short vtable_method_count;
+ // The fields.
+ _Jv_Field *fields;
+ // Size of instance fields, in bytes.
+ int size_in_bytes;
+ // Total number of fields (instance and static).
+ short field_count;
+ // Number of static fields.
+ short static_field_count;
+ // The vtbl for all objects of this class.
+ _Jv_VTable *vtable;
+ // Interfaces implemented by this class.
+ jclass *interfaces;
+ // The class loader for this class.
+ java::lang::ClassLoader *loader;
+ // Number of interfaces.
+ short interface_count;
+ // State of this class.
+ jbyte state;
+ // The thread which has locked this class. Used during class
+ // initialization.
+ java::lang::Thread *thread;
+};
+
+#endif /* __JAVA_LANG_CLASS_H__ */
diff --git a/libjava/java/lang/Class.java b/libjava/java/lang/Class.java
new file mode 100644
index 0000000..4ffccea
--- /dev/null
+++ b/libjava/java/lang/Class.java
@@ -0,0 +1,155 @@
+// Class.java - Representation of a Java class.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+import java.io.Serializable;
+import java.io.InputStream;
+import java.lang.reflect.*;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * plus gcj compiler sources (to determine object layout)
+ * Status: Sufficient for our purposes, but some methods missing
+ * and some not implemented.
+ */
+
+public final class Class implements Serializable
+{
+ public static native Class forName (String className)
+ throws ClassNotFoundException;
+ public native Class[] getClasses ();
+ public native ClassLoader getClassLoader ();
+ public native Class getComponentType ();
+
+ public native Constructor getConstructor (Class[] parameterTypes)
+ throws NoSuchMethodException, SecurityException;
+ public native Constructor[] getConstructors () throws SecurityException;
+
+ public native Class[] getDeclaredClasses () throws SecurityException;
+
+ public native Constructor getDeclaredConstructor (Class[] parameterTypes)
+ throws NoSuchMethodException, SecurityException;
+ public native Constructor[] getDeclaredConstructors ()
+ throws SecurityException;
+ public native Field getDeclaredField (String fieldName)
+ throws NoSuchFieldException, SecurityException;
+ public native Field[] getDeclaredFields () throws SecurityException;
+ public native Method getDeclaredMethod (String methodName,
+ Class[] parameterTypes)
+ throws NoSuchMethodException, SecurityException;
+ public native Method[] getDeclaredMethods () throws SecurityException;
+
+ // This is marked as unimplemented in the JCL book.
+ public native Class getDeclaringClass ();
+
+ private native Field getField (String fieldName, int hash)
+ throws NoSuchFieldException, SecurityException;
+
+ public Field getField (String fieldName)
+ throws NoSuchFieldException, SecurityException
+ {
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkMemberAccess (this, java.lang.reflect.Member.DECLARED);
+ Field fld = getField(fieldName, fieldName.hashCode());
+ if (fld == null)
+ throw new NoSuchFieldException(fieldName);
+ return fld;
+ }
+ public native Field[] getFields () throws SecurityException;
+
+ public native Class[] getInterfaces ();
+
+ public native Method getMethod (String methodName, Class[] parameterTypes)
+ throws NoSuchMethodException, SecurityException;
+ public native Method[] getMethods () throws SecurityException;
+
+ public native int getModifiers ();
+ public native String getName ();
+
+ // FIXME: can't implement this until we have java.net.
+ // public URL getResource (String resourceName);
+
+ // FIXME: implement.
+ public InputStream getResourceAsStream (String resourceName)
+ {
+ return null;
+ }
+
+ // FIXME: implement. Requires java.security.
+ public Object[] getSigners ()
+ {
+ return null;
+ }
+
+ public native Class getSuperclass ();
+ public native boolean isArray ();
+ public native boolean isAssignableFrom (Class cls);
+ public native boolean isInstance (Object obj);
+ public native boolean isInterface ();
+ public native boolean isPrimitive ();
+ public native Object newInstance ()
+ throws InstantiationException, IllegalAccessException;
+
+ public String toString ()
+ {
+ if (isPrimitive ())
+ return getName ();
+ return (isInterface () ? "interface " : "class ") + getName ();
+ }
+
+ // Don't allow new classes to be made.
+ private Class ()
+ {
+ }
+
+ // Do a security check.
+ private void checkMemberAccess (int flags)
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkMemberAccess(this, flags);
+ }
+
+ // FIXME: this method exists only because we cannot catch Java
+ // exceptions from C++ code. This is a helper for initializeClass.
+ private Throwable hackTrampoline (int what, Throwable old_exception)
+ {
+ Throwable new_val = null;
+ try
+ {
+ if (what == 0)
+ initializeClass ();
+ else if (what == 1)
+ hackRunInitializers ();
+ else if (what == 2)
+ new_val = new ExceptionInInitializerError (old_exception);
+ }
+ catch (Throwable t)
+ {
+ new_val = t;
+ }
+ return new_val;
+ }
+
+ // FIXME: this is a hack to let us run the class initializers. We
+ // could do it inline in initializeClass() if we could catch Java
+ // exceptions from C++.
+ private native void hackRunInitializers ();
+
+ // Initialize the class.
+ private native void initializeClass ();
+}
diff --git a/libjava/java/lang/ClassCastException.java b/libjava/java/lang/ClassCastException.java
new file mode 100644
index 0000000..bd5a2a4
--- /dev/null
+++ b/libjava/java/lang/ClassCastException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class ClassCastException extends RuntimeException
+{
+ public ClassCastException()
+ {
+ super();
+ }
+
+ public ClassCastException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/ClassCircularityError.java b/libjava/java/lang/ClassCircularityError.java
new file mode 100644
index 0000000..a5e0383
--- /dev/null
+++ b/libjava/java/lang/ClassCircularityError.java
@@ -0,0 +1,34 @@
+// ClassCircularityError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class ClassCircularityError extends LinkageError
+{
+ public ClassCircularityError ()
+ {
+ super ();
+ }
+
+ public ClassCircularityError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/ClassFormatError.java b/libjava/java/lang/ClassFormatError.java
new file mode 100644
index 0000000..99b8425
--- /dev/null
+++ b/libjava/java/lang/ClassFormatError.java
@@ -0,0 +1,34 @@
+// ClassFormatError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class ClassFormatError extends LinkageError
+{
+ public ClassFormatError ()
+ {
+ super ();
+ }
+
+ public ClassFormatError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/ClassLoader.java b/libjava/java/lang/ClassLoader.java
new file mode 100644
index 0000000..048cea7
--- /dev/null
+++ b/libjava/java/lang/ClassLoader.java
@@ -0,0 +1,94 @@
+// ClassLoader.java - Define policies for loading Java classes.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+import java.io.InputStream;
+import java.util.Hashtable;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 28, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * Status: Just a stub; not useful at all.
+ */
+
+public abstract class ClassLoader
+{
+ protected ClassLoader ()
+ {
+ cache = new Hashtable ();
+ }
+
+ protected final Class defineClass (String className, byte[] bytecode,
+ int offset, int length)
+ {
+ throw new ClassFormatError ("defineClass unimplemented");
+ }
+
+ protected final Class defineClass (byte[] bytecodes,
+ int offset, int length)
+ {
+ return defineClass (null, bytecodes, offset, length);
+ }
+
+ protected final Class findLoadedClass (String className)
+ {
+ return (Class) cache.get(className);
+ }
+
+ protected final Class findSystemClass (String className)
+ throws ClassNotFoundException
+ {
+ Class c = system.findLoadedClass(className);
+ system.resolveClass(c);
+ return c;
+ }
+
+ // FIXME: Needs URL.
+ // public URL getResource (String resName);
+
+ public InputStream getResourceAsStream (String resName)
+ {
+ return null;
+ }
+
+ // FIXME: Needs URL.
+ // public static final URL getSystemResource (String resName);
+
+ public static final InputStream getSystemResourceAsStream (String resName)
+ {
+ return null;
+ }
+
+ protected abstract Class loadClass (String className, boolean resolve)
+ throws ClassNotFoundException;
+ public Class loadClass (String name) throws ClassNotFoundException
+ {
+ return loadClass (name, true);
+ }
+
+ protected final void resolveClass (Class c)
+ {
+ // Nothing for now.
+ }
+
+ protected final void setSigners (Class cl, Object[] signers)
+ {
+ // Nothing for now.
+ }
+
+ // Class cache.
+ private Hashtable cache;
+
+ // The system class loader. FIXME: should have an actual value
+ private static final ClassLoader system = null;
+}
diff --git a/libjava/java/lang/ClassNotFoundException.java b/libjava/java/lang/ClassNotFoundException.java
new file mode 100644
index 0000000..e0ea15e
--- /dev/null
+++ b/libjava/java/lang/ClassNotFoundException.java
@@ -0,0 +1,57 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class ClassNotFoundException extends Exception
+{
+ public ClassNotFoundException()
+ {
+ super();
+ }
+
+ // TODO12:
+ // public ClassNotFoundException(String msg, Throwable ex)
+ // {
+ // }
+
+ public ClassNotFoundException(String msg)
+ {
+ super(msg);
+ }
+
+ // TODO12:
+ // public Throwable getException()
+ // {
+ // }
+
+ // TBD: if this needs to be implemented
+ // public void printStackTrace()
+ // {
+ // }
+
+ // TBD: if this needs to be implemented
+ // public void printStackTrace(PrintStream ps)
+ // {
+ // }
+
+ // TBD: if this needs to be implemented
+ // public void printStackTrace(PrintWriter pw)
+ // {
+ // }
+}
diff --git a/libjava/java/lang/CloneNotSupportedException.java b/libjava/java/lang/CloneNotSupportedException.java
new file mode 100644
index 0000000..155e804
--- /dev/null
+++ b/libjava/java/lang/CloneNotSupportedException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class CloneNotSupportedException extends Exception
+{
+ public CloneNotSupportedException()
+ {
+ super();
+ }
+
+ public CloneNotSupportedException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/Cloneable.java b/libjava/java/lang/Cloneable.java
new file mode 100644
index 0000000..730e5c9
--- /dev/null
+++ b/libjava/java/lang/Cloneable.java
@@ -0,0 +1,23 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 2, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public interface Cloneable
+{
+}
diff --git a/libjava/java/lang/Comparable.java b/libjava/java/lang/Comparable.java
new file mode 100644
index 0000000..e40e6e8
--- /dev/null
+++ b/libjava/java/lang/Comparable.java
@@ -0,0 +1,22 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 8, 1998.
+ */
+/* Written using online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public interface Comparable
+{
+ public int compareTo(Object o) throws ClassCastException;
+}
diff --git a/libjava/java/lang/Compiler.java b/libjava/java/lang/Compiler.java
new file mode 100644
index 0000000..7feb9f8
--- /dev/null
+++ b/libjava/java/lang/Compiler.java
@@ -0,0 +1,53 @@
+// Compiler.java - Control byte->machine code compiler.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 23, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ */
+
+public final class Compiler
+{
+ public static Object command (Object arg)
+ {
+ // Our implementation defines this to a no-op.
+ return null;
+ }
+
+ public static boolean compileClass (Class oneClass)
+ {
+ // Never succeed.
+ return false;
+ }
+
+ public static boolean compileClasses (String classNames)
+ {
+ // Note the incredibly lame interface. Always fail.
+ return false;
+ }
+
+ public static void disable ()
+ {
+ }
+
+ public static void enable ()
+ {
+ }
+
+ // Don't allow new `Compiler's to be made.
+ private Compiler ()
+ {
+ }
+}
diff --git a/libjava/java/lang/Double.java b/libjava/java/lang/Double.java
new file mode 100644
index 0000000..850aa5a
--- /dev/null
+++ b/libjava/java/lang/Double.java
@@ -0,0 +1,149 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Andrew Haley <aph@cygnus.com>
+ * @date September 25, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public final class Double extends Number
+{
+ public static final double MIN_VALUE = 5e-324;
+ public static final double MAX_VALUE = 1.7976931348623157e+308;
+ public static final double NEGATIVE_INFINITY = -1.0d/0.0d;
+ public static final double POSITIVE_INFINITY = 1.0d/0.0d;
+ public static final double NaN = 0.0d/0.0d;
+
+ // This initialization is seemingly circular, but it is accepted
+ // by javac, and is handled specially by gcc.
+ public static final Class TYPE = double.class;
+
+ private double value;
+
+ private native static double doubleValueOf (String s)
+ throws NumberFormatException;
+
+ public Double (double v)
+ {
+ value = v;
+ }
+
+ public Double (String s) throws NumberFormatException
+ {
+ value = valueOf (s).doubleValue ();
+ }
+
+ public String toString ()
+ {
+ return toString (value);
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (obj == null)
+ return false;
+
+ if (!(obj instanceof Double))
+ return false;
+
+ Double d = (Double) obj;
+
+ return doubleToLongBits (value) == doubleToLongBits (d.doubleValue ());
+ }
+
+ public int hashCode ()
+ {
+ long v = doubleToLongBits (value);
+ return (int) (v ^ (v >>> 32));
+ }
+
+ public int intValue ()
+ {
+ return (int) value;
+ }
+
+ public long longValue ()
+ {
+ return (long) value;
+ }
+
+ public float floatValue ()
+ {
+ return (float) value;
+ }
+
+ public double doubleValue ()
+ {
+ return value;
+ }
+
+ public byte byteValue ()
+ {
+ return (byte) value;
+ }
+
+ public short shortValue ()
+ {
+ return (short) value;
+ }
+
+ native static String toString (double v, boolean isFloat);
+
+ public static String toString (double v)
+ {
+ return toString (v, false);
+ }
+
+ public static Double valueOf (String s) throws NullPointerException,
+ NumberFormatException
+ {
+ if (s == null)
+ throw new NullPointerException ();
+
+ return new Double (doubleValueOf (s));
+ }
+
+ public boolean isNaN ()
+ {
+ return isNaN (value);
+ }
+
+ public static boolean isNaN (double v)
+ {
+ long bits = doubleToLongBits (v);
+ long e = bits & 0x7ff0000000000000L;
+ long f = bits & 0x000fffffffffffffL;
+
+ return e == 0x7ff0000000000000L && f != 0L;
+ }
+
+ public boolean isInfinite ()
+ {
+ return isInfinite (value);
+ }
+
+ public static boolean isInfinite (double v)
+ {
+ long bits = doubleToLongBits (v);
+ long f = bits & 0x7fffffffffffffffL;
+
+ return f == 0x7ff0000000000000L;
+ }
+
+ public static native long doubleToLongBits (double value);
+
+ public static native double longBitsToDouble (long bits);
+}
+
diff --git a/libjava/java/lang/Error.java b/libjava/java/lang/Error.java
new file mode 100644
index 0000000..ef69f0e
--- /dev/null
+++ b/libjava/java/lang/Error.java
@@ -0,0 +1,34 @@
+// Error.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class Error extends Throwable
+{
+ public Error ()
+ {
+ super ();
+ }
+
+ public Error (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/Exception.java b/libjava/java/lang/Exception.java
new file mode 100644
index 0000000..8eb5e44
--- /dev/null
+++ b/libjava/java/lang/Exception.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class Exception extends Throwable
+{
+ public Exception()
+ {
+ super();
+ }
+
+ public Exception(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/ExceptionInInitializerError.java b/libjava/java/lang/ExceptionInInitializerError.java
new file mode 100644
index 0000000..deb1213
--- /dev/null
+++ b/libjava/java/lang/ExceptionInInitializerError.java
@@ -0,0 +1,50 @@
+// ExceptionInInitializerError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class ExceptionInInitializerError extends LinkageError
+{
+ public ExceptionInInitializerError ()
+ {
+ super ();
+ exception = null;
+ }
+
+ public ExceptionInInitializerError (String msg)
+ {
+ super (msg);
+ exception = null;
+ }
+
+ public ExceptionInInitializerError (Throwable e)
+ {
+ super ();
+ exception = e;
+ }
+
+ public Throwable getException ()
+ {
+ return exception;
+ }
+
+ // The exception that caused this error.
+ private Throwable exception;
+}
diff --git a/libjava/java/lang/FirstThread.java b/libjava/java/lang/FirstThread.java
new file mode 100644
index 0000000..ec0f1db
--- /dev/null
+++ b/libjava/java/lang/FirstThread.java
@@ -0,0 +1,40 @@
+// FirstThread.java - Implementation of very first thread.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date August 24, 1998
+ */
+
+// This is entirely internal to our implementation.
+
+final class FirstThread extends Thread
+{
+ public native void run ();
+
+ public FirstThread (ThreadGroup g, Class k, Object o)
+ {
+ super (g, null, "main");
+ klass = k;
+ args = o;
+ }
+
+ private static void die (String s)
+ {
+ System.err.println(s);
+ System.exit(1);
+ }
+
+ // Private data.
+ private Class klass;
+ private Object args;
+}
diff --git a/libjava/java/lang/Float.java b/libjava/java/lang/Float.java
new file mode 100644
index 0000000..99cc66b
--- /dev/null
+++ b/libjava/java/lang/Float.java
@@ -0,0 +1,149 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Andrew Haley <aph@cygnus.com>
+ * @date September 25, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public final class Float extends Number
+{
+ public static final float MAX_VALUE = 3.4028235e+38f;
+ public static final float MIN_VALUE = 1.4e-45f;
+ public static final float NEGATIVE_INFINITY = -1.0f/0.0f;
+ public static final float POSITIVE_INFINITY = 1.0f/0.0f;
+ public static final float NaN = 0.0f/0.0f;
+
+ // This initialization is seemingly circular, but it is accepted
+ // by javac, and is handled specially by gcc.
+ public static final Class TYPE = float.class;
+
+ private float value;
+
+ public Float (float value)
+ {
+ this.value = value;
+ }
+
+ public Float (double value)
+ {
+ this.value = (float)value;
+ }
+
+ public Float (String s) throws NumberFormatException
+ {
+ this.value = valueOf (s).floatValue ();
+ }
+
+ public String toString ()
+ {
+ return toString (value);
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (obj == null)
+ return false;
+
+ if (!(obj instanceof Float))
+ return false;
+
+ Float f = (Float) obj;
+
+ return floatToIntBits (value) == floatToIntBits (f.floatValue ());
+ }
+
+ public int hashCode ()
+ {
+ return floatToIntBits (value);
+ }
+
+ public int intValue ()
+ {
+ return (int) value;
+ }
+
+ public long longValue ()
+ {
+ return (long) value;
+ }
+
+ public float floatValue ()
+ {
+ return (float) value;
+ }
+
+ public double doubleValue ()
+ {
+ return (double) value;
+ }
+
+ public byte byteValue ()
+ {
+ return (byte) value;
+ }
+
+ public short shortValue ()
+ {
+ return (short) value;
+ }
+
+ public static String toString (float v)
+ {
+ return Double.toString ((double) v, true);
+ }
+
+ public static Float valueOf (String s) throws NullPointerException,
+ NumberFormatException
+ {
+ if (s == null)
+ throw new NullPointerException ();
+
+ return new Float (Double.valueOf (s).floatValue ());
+ }
+
+ public boolean isNaN ()
+ {
+ return isNaN (value);
+ }
+
+ public static boolean isNaN (float v)
+ {
+ int bits = floatToIntBits (v);
+ int e = bits & 0x7f800000;
+ int f = bits & 0x007fffff;
+
+ return e == 0x7f800000 && f != 0;
+ }
+
+ public boolean isInfinite ()
+ {
+ return isInfinite (value);
+ }
+
+ public static boolean isInfinite (float v)
+ {
+ int bits = floatToIntBits (v);
+ int f = bits & 0x7fffffff;
+
+ return f == 0x7f800000;
+ }
+
+ public static native int floatToIntBits (float value);
+
+ public static native float intBitsToFloat (int bits);
+
+}
+
diff --git a/libjava/java/lang/IllegalAccessError.java b/libjava/java/lang/IllegalAccessError.java
new file mode 100644
index 0000000..2d86341
--- /dev/null
+++ b/libjava/java/lang/IllegalAccessError.java
@@ -0,0 +1,34 @@
+// IllegalAccessError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class IllegalAccessError extends IncompatibleClassChangeError
+{
+ public IllegalAccessError ()
+ {
+ super ();
+ }
+
+ public IllegalAccessError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/IllegalAccessException.java b/libjava/java/lang/IllegalAccessException.java
new file mode 100644
index 0000000..c07a518
--- /dev/null
+++ b/libjava/java/lang/IllegalAccessException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class IllegalAccessException extends Exception
+{
+ public IllegalAccessException()
+ {
+ super();
+ }
+
+ public IllegalAccessException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/IllegalArgumentException.java b/libjava/java/lang/IllegalArgumentException.java
new file mode 100644
index 0000000..6e8f0ed
--- /dev/null
+++ b/libjava/java/lang/IllegalArgumentException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class IllegalArgumentException extends RuntimeException
+{
+ public IllegalArgumentException()
+ {
+ super();
+ }
+
+ public IllegalArgumentException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/IllegalMonitorStateException.java b/libjava/java/lang/IllegalMonitorStateException.java
new file mode 100644
index 0000000..f431749
--- /dev/null
+++ b/libjava/java/lang/IllegalMonitorStateException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class IllegalMonitorStateException extends RuntimeException
+{
+ public IllegalMonitorStateException()
+ {
+ super();
+ }
+
+ public IllegalMonitorStateException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/IllegalStateException.java b/libjava/java/lang/IllegalStateException.java
new file mode 100644
index 0000000..2ea0d02
--- /dev/null
+++ b/libjava/java/lang/IllegalStateException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class IllegalStateException extends RuntimeException
+{
+ public IllegalStateException()
+ {
+ super();
+ }
+
+ public IllegalStateException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/IllegalThreadStateException.java b/libjava/java/lang/IllegalThreadStateException.java
new file mode 100644
index 0000000..72afa77
--- /dev/null
+++ b/libjava/java/lang/IllegalThreadStateException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class IllegalThreadStateException extends IllegalArgumentException
+{
+ public IllegalThreadStateException()
+ {
+ super();
+ }
+
+ public IllegalThreadStateException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/IncompatibleClassChangeError.java b/libjava/java/lang/IncompatibleClassChangeError.java
new file mode 100644
index 0000000..31a22c4
--- /dev/null
+++ b/libjava/java/lang/IncompatibleClassChangeError.java
@@ -0,0 +1,34 @@
+// IncompatibleClassChangeError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class IncompatibleClassChangeError extends LinkageError
+{
+ public IncompatibleClassChangeError ()
+ {
+ super ();
+ }
+
+ public IncompatibleClassChangeError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/IndexOutOfBoundsException.java b/libjava/java/lang/IndexOutOfBoundsException.java
new file mode 100644
index 0000000..c8b5878
--- /dev/null
+++ b/libjava/java/lang/IndexOutOfBoundsException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class IndexOutOfBoundsException extends RuntimeException
+{
+ public IndexOutOfBoundsException()
+ {
+ super();
+ }
+
+ public IndexOutOfBoundsException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/InstantiationError.java b/libjava/java/lang/InstantiationError.java
new file mode 100644
index 0000000..7982615
--- /dev/null
+++ b/libjava/java/lang/InstantiationError.java
@@ -0,0 +1,34 @@
+// InstantiationError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class InstantiationError extends IncompatibleClassChangeError
+{
+ public InstantiationError ()
+ {
+ super ();
+ }
+
+ public InstantiationError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/InstantiationException.java b/libjava/java/lang/InstantiationException.java
new file mode 100644
index 0000000..d5ca893
--- /dev/null
+++ b/libjava/java/lang/InstantiationException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class InstantiationException extends Exception
+{
+ public InstantiationException()
+ {
+ super();
+ }
+
+ public InstantiationException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/Integer.java b/libjava/java/lang/Integer.java
new file mode 100644
index 0000000..54acc27
--- /dev/null
+++ b/libjava/java/lang/Integer.java
@@ -0,0 +1,355 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 11, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public final class Integer extends Number implements Comparable
+{
+ public static final int MAX_VALUE = 0x7FFFFFFF;
+ public static final int MIN_VALUE = 0x80000000;
+
+ // This initialization is seemingly circular, but it is accepted
+ // by javac, and is handled specially by gcc.
+ public static final Class TYPE = int.class;
+
+ /* The int value of the instance. */
+ private int value;
+
+ public Integer(int val)
+ {
+ value = val;
+ }
+
+ public Integer(String str) throws NumberFormatException
+ {
+ value = parseInt(str, 10);
+ }
+
+ public byte byteValue()
+ {
+ return (byte) value;
+ }
+
+ public double doubleValue()
+ {
+ return (double) value;
+ }
+
+ public float floatValue()
+ {
+ return (float) value;
+ }
+
+ public int intValue()
+ {
+ return value;
+ }
+
+ public long longValue()
+ {
+ return value;
+ }
+
+ public short shortValue()
+ {
+ return (short) value;
+ }
+
+ // Added in JDK 1.2
+ public int compareTo(Integer anotherInteger)
+ {
+ if (this.value == anotherInteger.value)
+ return 0;
+
+ // Returns just -1 or 1 on inequality; doing math might overflow the int.
+ if (this.value > anotherInteger.value)
+ return 1;
+
+ return -1;
+ }
+
+ // Added in JDK 1.2
+ public int compareTo(Object o) throws ClassCastException
+ {
+ if (!(o instanceof Integer))
+ throw new ClassCastException();
+
+ return this.compareTo((Integer) o);
+ }
+
+ public static Integer decode(String str) throws NumberFormatException
+ {
+ boolean isNeg = false;
+ int index = 0;
+ int radix = 10;
+ final int len;
+
+ if (str == null || (len = str.length()) == 0)
+ throw new NumberFormatException();
+
+ // Negative numbers are always radix 10.
+ if (str.charAt(0) == '-')
+ {
+ radix = 10;
+ index++;
+ isNeg = true;
+ }
+ else if (str.charAt(index) == '#')
+ {
+ radix = 16;
+ index++;
+ }
+ else if (str.charAt(index) == '0')
+ {
+ // Check if str is just "0"
+ if (len == 1)
+ return new Integer(0);
+
+ index++;
+ if (str.charAt(index) == 'x')
+ {
+ radix = 16;
+ index++;
+ }
+ else
+ radix = 8;
+ }
+
+ if (index >= len)
+ throw new NumberFormatException();
+
+ return new Integer(parseInt(str, index, len, isNeg, radix));
+ }
+
+ public boolean equals(Object obj)
+ {
+ return (obj != null && (obj instanceof Integer)
+ && ((Integer) obj).value == value);
+ }
+
+ public static Integer getInteger(String prop)
+ {
+ return getInteger(prop, null);
+ }
+
+ public static Integer getInteger(String prop, int defval)
+ {
+ Integer val = getInteger(prop, null);
+ return val == null ? new Integer(defval) : val;
+ }
+
+ public static Integer getInteger(String prop, Integer defobj)
+ {
+ try
+ {
+ return decode(System.getProperty(prop));
+ }
+ catch (NumberFormatException ex)
+ {
+ return defobj;
+ }
+ }
+
+ public int hashCode()
+ {
+ return value;
+ }
+
+ public static int parseInt(String str) throws NumberFormatException
+ {
+ return parseInt(str, 10);
+ }
+
+ public static int parseInt(String str, int radix) throws NumberFormatException
+ {
+ final int len;
+
+ if (str == null || (len = str.length()) == 0 ||
+ radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
+ throw new NumberFormatException();
+
+ boolean isNeg = false;
+ int index = 0;
+ if (str.charAt(index) == '-')
+ if (len > 1)
+ {
+ isNeg = true;
+ index++;
+ }
+ else
+ throw new NumberFormatException();
+
+ return parseInt(str, index, len, isNeg, radix);
+ }
+
+ private static int parseInt(String str, int index, int len, boolean isNeg,
+ int radix) throws NumberFormatException
+ {
+ int val = 0;
+ int digval;
+
+ for ( ; index < len; index++)
+ {
+ // The the previous loop iteration left us with a negative
+ // value (which can only be the most negative value, but we
+ // don't check that), then having more digits is wrong.
+ if (val == MIN_VALUE)
+ throw new NumberFormatException();
+
+ if ((digval = Character.digit(str.charAt(index), radix)) < 0)
+ throw new NumberFormatException();
+
+ // Throw an exception for overflow if result is negative.
+ // However, we special-case the most negative value.
+ val *= radix;
+ if (val < 0 || val + digval < 0)
+ {
+ if (isNeg && val + digval == MIN_VALUE)
+ {
+ // Ok.
+ }
+ else
+ throw new NumberFormatException();
+ }
+ val += digval;
+ }
+
+ return isNeg ? -(val) : val;
+ }
+
+ public static String toBinaryString(int num)
+ {
+ return toUnsignedString(num, 1);
+ }
+
+ public static String toHexString(int num)
+ {
+ return toUnsignedString(num, 4);
+ }
+
+ public static String toOctalString(int num)
+ {
+ return toUnsignedString(num, 3);
+ }
+
+ private static String toUnsignedString(int num, int exp)
+ {
+ // Use an array large enough for a binary number.
+ int radix = 1 << exp;
+ int mask = radix - 1;
+ char[] buffer = new char[32];
+ int i = 32;
+ do
+ {
+ buffer[--i] = Character.forDigit(num & mask, radix);
+ num = num >>> exp;
+ }
+ while (num != 0);
+
+ return String.valueOf(buffer, i, 32-i);
+ }
+
+ public String toString()
+ {
+ return toString(this.value);
+ }
+
+ public static String toString(int num)
+ {
+ // Use an arrary large enough for "-2147483648"; i.e. 11 chars.
+ char[] buffer = new char[11];
+ int i = 11;
+ boolean isNeg;
+ if (num < 0)
+ {
+ isNeg = true;
+ num = -(num);
+ if (num < 0)
+ {
+ // Must be MIN_VALUE, so handle this special case.
+ buffer[--i] = '8';
+ num = 214748364;
+ }
+ }
+ else
+ isNeg = false;
+
+ do
+ {
+ buffer[--i] = (char) ((int) '0' + (num % 10));
+ num /= 10;
+ }
+ while (num > 0);
+
+ if (isNeg)
+ buffer[--i] = '-';
+
+ return String.valueOf(buffer, i, 11-i);
+ }
+
+ public static String toString(int num, int radix)
+ {
+ // Use optimized method for the typical case.
+ if (radix == 10 ||
+ radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
+ return toString(num);
+
+ // For negative numbers, print out the absolute value w/ a leading '-'.
+ // Use an array large enough for a binary number.
+ char[] buffer = new char[33];
+ int i = 33;
+ boolean isNeg;
+ if (num < 0)
+ {
+ isNeg = true;
+ num = -(num);
+
+ // When the value is MIN_VALUE, it overflows when made positive
+ if (num < 0)
+ {
+ buffer[--i] = Character.forDigit(-(num + radix) % radix, radix);
+ num = -(num / radix);
+ }
+ }
+ else
+ isNeg = false;
+
+ do
+ {
+ buffer[--i] = Character.forDigit(num % radix, radix);
+ num /= radix;
+ }
+ while (num > 0);
+
+ if (isNeg)
+ buffer[--i] = '-';
+
+ return String.valueOf(buffer, i, 33-i);
+ }
+
+ public static Integer valueOf(String str) throws NumberFormatException
+ {
+ return new Integer(parseInt(str, 10));
+ }
+
+ public static Integer valueOf(String str, int radix)
+ throws NumberFormatException
+ {
+ return new Integer(parseInt(str, radix));
+ }
+}
diff --git a/libjava/java/lang/InternalError.java b/libjava/java/lang/InternalError.java
new file mode 100644
index 0000000..6e484cf
--- /dev/null
+++ b/libjava/java/lang/InternalError.java
@@ -0,0 +1,34 @@
+// InternalError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class InternalError extends VirtualMachineError
+{
+ public InternalError ()
+ {
+ super ();
+ }
+
+ public InternalError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/InterruptedException.java b/libjava/java/lang/InterruptedException.java
new file mode 100644
index 0000000..ef2e9b3
--- /dev/null
+++ b/libjava/java/lang/InterruptedException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class InterruptedException extends Exception
+{
+ public InterruptedException()
+ {
+ super();
+ }
+
+ public InterruptedException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/LinkageError.java b/libjava/java/lang/LinkageError.java
new file mode 100644
index 0000000..c9386a7
--- /dev/null
+++ b/libjava/java/lang/LinkageError.java
@@ -0,0 +1,34 @@
+// LinkageError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class LinkageError extends Error
+{
+ public LinkageError ()
+ {
+ super ();
+ }
+
+ public LinkageError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/Long.java b/libjava/java/lang/Long.java
new file mode 100644
index 0000000..1ee8bf3
--- /dev/null
+++ b/libjava/java/lang/Long.java
@@ -0,0 +1,366 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public final class Long extends Number implements Comparable
+{
+ public static final long MAX_VALUE = 0x7FFFFFFFFFFFFFFFL;
+ public static final long MIN_VALUE = 0x8000000000000000L;
+
+ // This initialization is seemingly circular, but it is accepted
+ // by javac, and is handled specially by gcc.
+ public static final Class TYPE = long.class;
+
+ /* The long value of the instance. */
+ private long value;
+
+ public Long(long val)
+ {
+ value = val;
+ }
+
+ public Long(String str) throws NumberFormatException
+ {
+ value = parseLong(str, 10);
+ }
+
+ public byte byteValue()
+ {
+ return (byte) value;
+ }
+
+ public double doubleValue()
+ {
+ return (double) value;
+ }
+
+ public float floatValue()
+ {
+ return (float) value;
+ }
+
+ public int intValue()
+ {
+ return (int) value;
+ }
+
+ public long longValue()
+ {
+ return value;
+ }
+
+ public short shortValue()
+ {
+ return (short) value;
+ }
+
+ // Added in JDK 1.2
+ public int compareTo(Long anotherLong)
+ {
+ if (this.value == anotherLong.value)
+ return 0;
+
+ // Returns just -1 or 1 on inequality; doing math might overflow the long.
+ if (this.value > anotherLong.value)
+ return 1;
+
+ return -1;
+ }
+
+ // Added in JDK 1.2
+ public int compareTo(Object o) throws ClassCastException
+ {
+ if (!(o instanceof Long))
+ throw new ClassCastException();
+
+ return this.compareTo((Long) o);
+ }
+
+ // Added in JDK 1.2
+ public static Long decode(String str) throws NumberFormatException
+ {
+ boolean isNeg = false;
+ int index = 0;
+ int radix = 10;
+ final int len;
+
+ if (str == null || (len = str.length()) == 0)
+ throw new NumberFormatException();
+
+ // Negative numbers are always radix 10.
+ if (str.charAt(0) == '-')
+ {
+ radix = 10;
+ index++;
+ isNeg = true;
+ }
+ else if (str.charAt(index) == '#')
+ {
+ radix = 16;
+ index++;
+ }
+ else if (str.charAt(index) == '0')
+ {
+ // Check if str is just "0"
+ if (len == 1)
+ return new Long(0L);
+
+ index++;
+ if (str.charAt(index) == 'x')
+ {
+ radix = 16;
+ index++;
+ }
+ else
+ radix = 8;
+ }
+
+ if (index >= len)
+ throw new NumberFormatException();
+
+ return new Long(parseLong(str, index, len, isNeg, radix));
+ }
+
+ public boolean equals(Object obj)
+ {
+ return (obj != null && (obj instanceof Long)
+ && ((Long) obj).value == value);
+ }
+
+ public static Long getLong(String prop)
+ {
+ return getLong(prop, null);
+ }
+
+ public static Long getLong(String prop, long defval)
+ {
+ Long val = getLong(prop, null);
+ return val == null ? new Long(defval) : val;
+ }
+
+ public static Long getLong(String prop, Long defobj)
+ {
+ try
+ {
+ return decode(System.getProperty(prop));
+ }
+ catch (NumberFormatException ex)
+ {
+ return defobj;
+ }
+ }
+
+ public int hashCode()
+ {
+ return (int)(this.longValue()^(this.longValue()>>>32));
+ }
+
+ public static long parseLong(String str) throws NumberFormatException
+ {
+ return parseLong(str, 10);
+ }
+
+ public static long parseLong(String str, int radix)
+ throws NumberFormatException
+ {
+ final int len;
+
+ if (str == null || (len = str.length()) == 0 ||
+ radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
+ throw new NumberFormatException();
+
+ boolean isNeg = false;
+ int index = 0;
+ if (str.charAt(index) == '-')
+ if (len > 1)
+ {
+ isNeg = true;
+ index++;
+ }
+ else
+ throw new NumberFormatException();
+
+ return parseLong(str, index, len, isNeg, radix);
+ }
+
+ private static long parseLong(String str, int index, int len, boolean isNeg,
+ int radix) throws NumberFormatException
+ {
+ long val = 0;
+ int digval;
+
+ for ( ; index < len; index++)
+ {
+ // The the previous loop iteration left us with a negative
+ // value (which can only be the most negative value, but we
+ // don't check that), then having more digits is wrong.
+ if (val == MIN_VALUE)
+ throw new NumberFormatException();
+
+ if ((digval = Character.digit(str.charAt(index), radix)) < 0)
+ throw new NumberFormatException();
+
+ // Throw an exception for overflow if result is negative.
+ // However, we special-case the most negative value.
+ val *= radix;
+ if (val < 0 || val + digval < 0)
+ {
+ if (isNeg && val + digval == MIN_VALUE)
+ {
+ // Ok.
+ }
+ else
+ throw new NumberFormatException();
+ }
+ val += digval;
+ }
+
+ return isNeg ? -(val) : val;
+ }
+
+ public static String toBinaryString(long num)
+ {
+ return toUnsignedString(num, 1);
+ }
+
+ public static String toHexString(long num)
+ {
+ return toUnsignedString(num, 4);
+ }
+
+ public static String toOctalString(long num)
+ {
+ return toUnsignedString(num, 3);
+ }
+
+ private static String toUnsignedString(long num, int exp)
+ {
+ // Use an array large enough for a binary number.
+ int radix = 1 << exp;
+ long mask = radix - 1;
+ char[] buffer = new char[64];
+ int i = 64;
+ do
+ {
+ buffer[--i] = Character.forDigit((int) (num & mask), radix);
+ num = num >>> exp;
+ }
+ while (num != 0);
+
+ return String.valueOf(buffer, i, 64-i);
+ }
+
+ public String toString()
+ {
+ return toString(this.value);
+ }
+
+ public static String toString(long num)
+ {
+ // Use the Integer toString for efficiency if possible.
+ if (num <= Integer.MAX_VALUE && num >= Integer.MIN_VALUE)
+ return Integer.toString((int) num);
+
+ // Use an arrary large enough for "-9223372036854775808"; i.e. 11 chars.
+ char[] buffer = new char[20];
+ int i = 20;
+ boolean isNeg;
+ if (num < 0)
+ {
+ isNeg = true;
+ num = -(num);
+ if (num < 0)
+ {
+ // Must be MIN_VALUE, so handle this special case.
+ buffer[--i] = '8';
+ num = 922337203685477580L;
+ }
+ }
+ else
+ isNeg = false;
+
+ do
+ {
+ buffer[--i] = (char) ((int) '0' + (num % 10));
+ num /= 10;
+ }
+ while (num > 0);
+
+ if (isNeg)
+ buffer[--i] = '-';
+
+ return String.valueOf(buffer, i, 20-i);
+ }
+
+ public static String toString(long num, int radix)
+ {
+ // Use optimized method for the typical case.
+ if (radix == 10 ||
+ radix < Character.MIN_RADIX || radix > Character.MAX_RADIX)
+ return toString(num);
+
+ // Use the Integer toString for efficiency if possible.
+ if (num <= Integer.MAX_VALUE && num >= Integer.MIN_VALUE)
+ return Integer.toString((int) num, radix);
+
+ // For negative numbers, print out the absolute value w/ a leading '-'.
+ // Use an array large enough for a binary number.
+ char[] buffer = new char[65];
+ int i = 65;
+ boolean isNeg;
+ if (num < 0)
+ {
+ isNeg = true;
+ num = -(num);
+
+ // When the value is MIN_VALUE, it overflows when made positive
+ if (num < 0)
+ {
+ buffer[--i] = Character.forDigit((int) (-(num + radix) % radix),
+ radix);
+ num = -(num / radix);
+ }
+ }
+ else
+ isNeg = false;
+
+ do
+ {
+ buffer[--i] = Character.forDigit((int) (num % radix), radix);
+ num /= radix;
+ }
+ while (num > 0);
+
+ if (isNeg)
+ buffer[--i] = '-';
+
+ return String.valueOf(buffer, i, 65-i);
+ }
+
+ public static Long valueOf(String str) throws NumberFormatException
+ {
+ return new Long(parseLong(str, 10));
+ }
+
+ public static Long valueOf(String str, int radix)
+ throws NumberFormatException
+ {
+ return new Long(parseLong(str, radix));
+ }
+}
diff --git a/libjava/java/lang/Math.java b/libjava/java/lang/Math.java
new file mode 100644
index 0000000..77c00bd
--- /dev/null
+++ b/libjava/java/lang/Math.java
@@ -0,0 +1,118 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+/**
+ * @author Andrew Haley <aph@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+package java.lang;
+
+import java.util.Random;
+
+public final class Math
+{
+ private static Random random_;
+
+ public static final double E = 2.7182818284590452354;
+ public static final double PI = 3.14159265358979323846;
+
+ public static native double sin (double x);
+
+ public static native double cos (double x);
+
+ public static native double tan (double x);
+
+ public static native double asin (double x);
+
+ public static native double acos (double x);
+
+ public static native double atan (double x);
+
+ public static native double atan2(double y, double x);
+
+ public static native double exp (double x);
+
+ public static native double log (double x);
+
+ public static native double sqrt (double x);
+
+ public static native double pow (double x, double y);
+
+ public static native double IEEEremainder (double x, double y);
+
+ public static native double ceil (double x);
+
+ public static native double floor (double x);
+
+ public static native double rint (double x);
+
+ public static native int round (float x);
+
+ public static native long round (double x);
+
+ public static synchronized double random ()
+ {
+ if (random_ == null)
+ random_ = new Random ();
+ return random_.nextDouble ();
+ }
+
+ public static int abs (int n)
+ {
+ return (n < 0 ? -n : n);
+ }
+
+ public static long abs (long n)
+ {
+ return (n < 0 ? -n : n);
+ }
+
+ public static native float abs (float x);
+
+ public static native double abs (double x);
+
+ public static int min (int a, int b)
+ {
+ return (a < b ? a : b);
+ }
+
+ public static long min (long a, long b)
+ {
+ return (a < b ? a : b);
+ }
+
+ public static native float min (float a, float b);
+
+ public static native double min (double a, double b);
+
+ public static int max (int a, int b)
+ {
+ return (a < b ? b : a);
+ }
+
+ public static long max (long a, long b)
+ {
+ return (a < b ? b : a);
+ }
+
+ public static native float max (float a, float b);
+
+ public static native double max (double a, double b);
+
+ // Don't allow objects to be made.
+ private Math ()
+ {
+ }
+}
+
diff --git a/libjava/java/lang/NegativeArraySizeException.java b/libjava/java/lang/NegativeArraySizeException.java
new file mode 100644
index 0000000..838f408
--- /dev/null
+++ b/libjava/java/lang/NegativeArraySizeException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class NegativeArraySizeException extends RuntimeException
+{
+ public NegativeArraySizeException()
+ {
+ super();
+ }
+
+ public NegativeArraySizeException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/NoClassDefFoundError.java b/libjava/java/lang/NoClassDefFoundError.java
new file mode 100644
index 0000000..4368d35b
--- /dev/null
+++ b/libjava/java/lang/NoClassDefFoundError.java
@@ -0,0 +1,34 @@
+// NoClassDefFoundError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class NoClassDefFoundError extends LinkageError
+{
+ public NoClassDefFoundError ()
+ {
+ super ();
+ }
+
+ public NoClassDefFoundError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/NoSuchFieldError.java b/libjava/java/lang/NoSuchFieldError.java
new file mode 100644
index 0000000..13165e8
--- /dev/null
+++ b/libjava/java/lang/NoSuchFieldError.java
@@ -0,0 +1,34 @@
+// NoSuchFieldError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class NoSuchFieldError extends IncompatibleClassChangeError
+{
+ public NoSuchFieldError ()
+ {
+ super ();
+ }
+
+ public NoSuchFieldError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/NoSuchFieldException.java b/libjava/java/lang/NoSuchFieldException.java
new file mode 100644
index 0000000..6e51cda
--- /dev/null
+++ b/libjava/java/lang/NoSuchFieldException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class NoSuchFieldException extends Exception
+{
+ public NoSuchFieldException()
+ {
+ super();
+ }
+
+ public NoSuchFieldException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/NoSuchMethodError.java b/libjava/java/lang/NoSuchMethodError.java
new file mode 100644
index 0000000..2c4c1da
--- /dev/null
+++ b/libjava/java/lang/NoSuchMethodError.java
@@ -0,0 +1,34 @@
+// NoSuchMethodError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class NoSuchMethodError extends IncompatibleClassChangeError
+{
+ public NoSuchMethodError ()
+ {
+ super ();
+ }
+
+ public NoSuchMethodError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/NoSuchMethodException.java b/libjava/java/lang/NoSuchMethodException.java
new file mode 100644
index 0000000..9861777
--- /dev/null
+++ b/libjava/java/lang/NoSuchMethodException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class NoSuchMethodException extends Exception
+{
+ public NoSuchMethodException()
+ {
+ super();
+ }
+
+ public NoSuchMethodException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/NullPointerException.java b/libjava/java/lang/NullPointerException.java
new file mode 100644
index 0000000..1d1abdd
--- /dev/null
+++ b/libjava/java/lang/NullPointerException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class NullPointerException extends RuntimeException
+{
+ public NullPointerException()
+ {
+ super();
+ }
+
+ public NullPointerException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/Number.java b/libjava/java/lang/Number.java
new file mode 100644
index 0000000..bf9306b
--- /dev/null
+++ b/libjava/java/lang/Number.java
@@ -0,0 +1,39 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+import java.io.Serializable;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 2, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public abstract class Number implements Serializable
+{
+ public byte byteValue() // Became non-abstract in JDK 1.2
+ {
+ return (byte) intValue();
+ }
+
+ public abstract double doubleValue();
+ public abstract float floatValue();
+ public abstract int intValue();
+ public abstract long longValue();
+
+ public short shortValue() // Became non-abstract in JDK 1.2
+ {
+ return (short) intValue();
+ }
+}
diff --git a/libjava/java/lang/NumberFormatException.java b/libjava/java/lang/NumberFormatException.java
new file mode 100644
index 0000000..c05a8f1
--- /dev/null
+++ b/libjava/java/lang/NumberFormatException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class NumberFormatException extends IllegalArgumentException
+{
+ public NumberFormatException()
+ {
+ super();
+ }
+
+ public NumberFormatException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/Object.h b/libjava/java/lang/Object.h
new file mode 100644
index 0000000..c5d55f1
--- /dev/null
+++ b/libjava/java/lang/Object.h
@@ -0,0 +1,79 @@
+// Object.h - Header file for java.lang.Object. -*- c++ -*-
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#ifndef __JAVA_LANG_OBJECT_H__
+#define __JAVA_LANG_OBJECT_H__
+
+#pragma interface
+
+#include <javaprims.h>
+#include <java-assert.h>
+#include <java-threads.h>
+#include <java-gc.h>
+
+// This class is mainly here as a kludge to get G++ to allocate
+// vtable pointer as the *first* word of each Object, instead of
+// the second word (following sync_info). Note that various pieces of
+// code know that finalize() is the first method. For instance,
+// Object.java knows this, as does _Jv_AllocObject.
+
+struct _JvObjectPrefix
+{
+protected:
+ // This is disguised as the C++ vtbl.
+ // _Jv_VTable* vtable;
+
+ virtual void finalize () = 0;
+};
+
+class java::lang::Object : public _JvObjectPrefix
+{
+public:
+ // Order must match order in Object.java.
+ jclass getClass (void);
+ virtual jint hashCode (void);
+ void notify (void);
+ void notifyAll (void);
+ void wait (jlong timeout, jint nanos);
+ virtual jboolean equals (jobject obj);
+ Object (void);
+ virtual jstring toString (void);
+ void wait (void);
+ void wait (jlong timeout);
+
+ friend jint _Jv_MonitorEnter (jobject obj);
+ friend jint _Jv_MonitorExit (jobject obj);
+ friend void _Jv_InitializeSyncMutex (void);
+ friend void _Jv_FinalizeObject (jobject obj);
+
+#ifdef JV_MARKOBJ_DECL
+ friend JV_MARKOBJ_DECL;
+#endif
+#ifdef JV_MARKARRAY_DECL
+ friend JV_MARKARRAY_DECL;
+#endif
+
+protected:
+ virtual jobject clone (void);
+ virtual void finalize (void);
+
+private:
+ // This does not actually refer to a Java object. Instead it is a
+ // placeholder for a piece of internal data (the synchronization
+ // information).
+ jobject sync_info;
+
+ // Initialize the sync_info field.
+ void sync_init (void);
+
+ static void hack12_6 (jobject f);
+};
+
+#endif /* __JAVA_LANG_OBJECT_H__ */
diff --git a/libjava/java/lang/Object.java b/libjava/java/lang/Object.java
new file mode 100644
index 0000000..2adad29
--- /dev/null
+++ b/libjava/java/lang/Object.java
@@ -0,0 +1,86 @@
+// Object.java - The root of all evil.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date September 30, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * plus gcj compiler sources (to determine object layout)
+ * Status: Complete to version 1.1
+ */
+
+public class Object
+{
+ // This must come first. See _JvObjectPrefix in Object.h.
+ protected void finalize () throws Throwable
+ {
+ }
+
+ public final native Class getClass ();
+ public native int hashCode ();
+ public final native void notify ();
+ public final native void notifyAll ();
+ public final native void wait (long timeout, int nanos)
+ throws InterruptedException;
+
+ public boolean equals (Object obj)
+ {
+ return this == obj;
+ }
+
+ public Object ()
+ {
+ }
+
+ public String toString ()
+ {
+ return getClass().getName() + '@' + Integer.toHexString(hashCode());
+ }
+
+ public final void wait () throws InterruptedException
+ {
+ wait (0, 0);
+ }
+
+ public final void wait (long timeout) throws InterruptedException
+ {
+ wait (timeout, 0);
+ }
+
+ protected native Object clone () throws CloneNotSupportedException;
+
+ // This initializes the sync_info member. It is here for
+ // completeness (some day we'll be able to auto-generate Object.h).
+ private final native void sync_init ();
+
+ // This exists as a workaround for the fact that we can't catch a
+ // Java Exception from C++. This is from section 12.6 of the Java
+ // Language Spec. FIXME: remove this once exception processing
+ // works.
+ private static final void hack12_6 (Object f)
+ {
+ try
+ {
+ f.finalize();
+ }
+ catch (Throwable x)
+ {
+ }
+ }
+
+ // Note that we don't mention the sync_info field here. If we do,
+ // jc1 will not work correctly.
+}
diff --git a/libjava/java/lang/OutOfMemoryError.java b/libjava/java/lang/OutOfMemoryError.java
new file mode 100644
index 0000000..418e13c
--- /dev/null
+++ b/libjava/java/lang/OutOfMemoryError.java
@@ -0,0 +1,34 @@
+// OutOfMemoryError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class OutOfMemoryError extends VirtualMachineError
+{
+ public OutOfMemoryError ()
+ {
+ super ();
+ }
+
+ public OutOfMemoryError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/Process.java b/libjava/java/lang/Process.java
new file mode 100644
index 0000000..765bc9b
--- /dev/null
+++ b/libjava/java/lang/Process.java
@@ -0,0 +1,30 @@
+// Process.java - Represent spawned system process.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+import java.io.*;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 23, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ */
+
+public abstract class Process
+{
+ abstract public void destroy ();
+ abstract public int exitValue ();
+ abstract public InputStream getErrorStream ();
+ abstract public InputStream getInputStream ();
+ abstract public OutputStream getOutputStream ();
+ abstract public int waitFor () throws InterruptedException;
+}
diff --git a/libjava/java/lang/Runnable.java b/libjava/java/lang/Runnable.java
new file mode 100644
index 0000000..8e27d91
--- /dev/null
+++ b/libjava/java/lang/Runnable.java
@@ -0,0 +1,27 @@
+// Runnable.java - Runnable interface.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date August 25, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Complete.
+ */
+
+public interface Runnable
+{
+ public abstract void run ();
+}
diff --git a/libjava/java/lang/Runtime.java b/libjava/java/lang/Runtime.java
new file mode 100644
index 0000000..baf1ae5
--- /dev/null
+++ b/libjava/java/lang/Runtime.java
@@ -0,0 +1,136 @@
+// Runtime.java - Runtime class.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date August 27, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: All 1.1 methods exist. exec(), load(), and loadLibrary()
+ * are not fully implemented.
+ */
+
+public class Runtime
+{
+ public Process exec (String prog) throws IOException
+ {
+ String[] a = new String[1];
+ a[0] = prog;
+ return exec (a, null);
+ }
+
+ public Process exec (String prog, String[] envp) throws IOException
+ {
+ String[] a = new String[1];
+ a[0] = prog;
+ return exec (a, envp);
+ }
+
+ public Process exec (String[] progarray) throws IOException
+ {
+ return exec (progarray, null);
+ }
+
+ public Process exec (String[] progarray, String[] envp) throws IOException
+ {
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkExec(progarray[0]);
+ // FIXME.
+ return null;
+ }
+
+ private final static void checkExit (int status)
+ {
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkExit(status);
+ }
+
+ public native void exit (int status);
+
+ public native long freeMemory ();
+ public native void gc ();
+
+ // Deprecated in 1.1. We implement what the JCL book says.
+ public InputStream getLocalizedInputStream (InputStream in)
+ {
+ return in;
+ }
+
+ // Deprecated in 1.1. We implement what the JCL book says.
+ public OutputStream getLocalizedOutputStream (OutputStream out)
+ {
+ return out;
+ }
+
+ public static Runtime getRuntime ()
+ {
+ return self;
+ }
+
+ private final void checkLink (String lib)
+ {
+ if (lib == null)
+ throw new NullPointerException ();
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkLink(lib);
+ }
+
+ public synchronized void load (String pathname)
+ {
+ checkLink (pathname);
+ // FIXME.
+ throw new UnsatisfiedLinkError ("Runtime.load not implemented");
+ }
+ public synchronized void loadLibrary (String libname)
+ {
+ checkLink (libname);
+ // FIXME.
+ throw new UnsatisfiedLinkError ("Runtime.loadLibrary not implemented");
+ }
+
+ public native void runFinalization ();
+
+ // This method is static in JDK 1.1, but isn't listed as static in
+ // the books. It is marked as static in the 1.2 docs.
+ public static void runFinalizersOnExit (boolean run)
+ {
+ // The status we pass to the security check is unspecified.
+ checkExit (0);
+ self.finalize_on_exit = run;
+ }
+
+ public native long totalMemory ();
+ public native void traceInstructions (boolean on);
+ public native void traceMethodCalls (boolean on);
+
+ // The sole constructor.
+ private Runtime ()
+ {
+ finalize_on_exit = false;
+ }
+
+ // Private data.
+ private static Runtime self = new Runtime ();
+ // FIXME: for now this can't be static. If it is, our compiler will
+ // mark it as local, and it will be inaccessible to natRuntime.cc.
+ private boolean finalize_on_exit;
+}
diff --git a/libjava/java/lang/RuntimeException.java b/libjava/java/lang/RuntimeException.java
new file mode 100644
index 0000000..e0d3f53
--- /dev/null
+++ b/libjava/java/lang/RuntimeException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class RuntimeException extends Exception
+{
+ public RuntimeException()
+ {
+ super();
+ }
+
+ public RuntimeException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/SecurityException.java b/libjava/java/lang/SecurityException.java
new file mode 100644
index 0000000..8a6a94f
--- /dev/null
+++ b/libjava/java/lang/SecurityException.java
@@ -0,0 +1,31 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998. */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class SecurityException extends RuntimeException
+{
+ public SecurityException()
+ {
+ super();
+ }
+
+ public SecurityException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/SecurityManager.java b/libjava/java/lang/SecurityManager.java
new file mode 100644
index 0000000..50091f1
--- /dev/null
+++ b/libjava/java/lang/SecurityManager.java
@@ -0,0 +1,263 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+// SecurityManager
+
+package java.lang;
+
+/**
+ * @author Anthony Green <green@cygnus.com>
+ * @date October 5, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ */
+
+import java.io.*;
+import java.net.*;
+
+public abstract class SecurityManager
+{
+ protected boolean inCheck = false;
+
+ public void checkAccept (String host, int port)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkAccess (Thread thrd)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkAccess (ThreadGroup thrdGroup)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkAwtEventQueueAccess ()
+ {
+ throw new SecurityException();
+ }
+
+ public void checkConnect (String host, int prt)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkConnect (String host, int prt, Object ctx)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkCreateClassLoader ()
+ {
+ throw new SecurityException();
+ }
+
+ public void checkDelete (String fileName)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkExec (String prog)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkExit (int stat)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkLink (String lib)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkListen (int lport)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkMemberAccess (Class cl, int mtype)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkMulticast (InetAddress maddr)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkMulticast (InetAddress maddr, byte ttl)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkPackageAccess (String pkg)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkPackageDefinition (String pkg)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkPrintJobAccess ()
+ {
+ throw new SecurityException();
+ }
+
+ public void checkPropertiesAccess ()
+ {
+ throw new SecurityException();
+ }
+
+ public void checkPropertyAccess (String prop)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkPropertyAccess (String prop, String defval)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkRead (FileDescriptor fd)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkRead (String fileName)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkRead (String fileName, Object ctx)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkSecurityAccess (String action)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkSetFactory ()
+ {
+ throw new SecurityException();
+ }
+
+ public void checkSystemClipboardAccess ()
+ {
+ throw new SecurityException();
+ }
+
+ public boolean checkTopLevelWindow (Object window)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkWrite (FileDescriptor fd)
+ {
+ throw new SecurityException();
+ }
+
+ public void checkWrite (String fileName)
+ {
+ throw new SecurityException();
+ }
+
+ // Note: this method is deprecated in JDK 1.2
+ protected /* native */ int classDepth (String className)
+ {
+ Class[] classStack = getClassContext ();
+ for (int i = 0; i < classStack.length; i++)
+ if (classStack[i].getName().compareTo(className) == 0)
+ return i;
+
+ return -1;
+ }
+
+ // Note: this method is deprecated in JDK 1.2
+ protected /* native */ int classLoaderDepth ()
+ {
+ Class[] classStack = getClassContext ();
+ for (int i = 0; i < classStack.length; i++)
+ if (classStack[i].getClassLoader() != null)
+ return i;
+
+ return -1;
+ }
+
+ protected /* native */ ClassLoader currentClassLoader ()
+ {
+ Class[] classStack = getClassContext ();
+ for (int i = 0; i < classStack.length; i++)
+ {
+ ClassLoader loader = classStack[i].getClassLoader();
+ if (loader != null)
+ return loader;
+ }
+
+ return null;
+ }
+
+ protected /* native */ Class currentLoadedClass ()
+ {
+ Class[] classStack = getClassContext ();
+ for (int i = 0; i < classStack.length; i++)
+ {
+ ClassLoader loader = classStack[i].getClassLoader();
+ if (loader != null)
+ return classStack[i];
+ }
+
+ return null;
+ }
+
+ protected /* native */ Class[] getClassContext ()
+ {
+ return new Class[0];
+ }
+
+ // Note: this method is deprecated in JDK 1.2
+ public boolean getInCheck ()
+ {
+ return inCheck;
+ }
+
+ public Object getSecurityContext ()
+ {
+ // FIXME: This has yet to be implemented.
+ return new String("");
+ }
+
+ public ThreadGroup getThreadGroup ()
+ {
+ return Thread.currentThread().getThreadGroup();
+ }
+
+ protected boolean inClass (String className)
+ {
+ return (classDepth (className) != -1);
+ }
+
+ protected boolean inClassLoader ()
+ {
+ return (classLoaderDepth () != -1);
+ }
+
+ protected SecurityManager ()
+ {
+ if (System.getSecurityManager () != null)
+ throw new SecurityException ();
+ }
+}
diff --git a/libjava/java/lang/Short.java b/libjava/java/lang/Short.java
new file mode 100644
index 0000000..4a17f2d
--- /dev/null
+++ b/libjava/java/lang/Short.java
@@ -0,0 +1,145 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date April 17, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ * Includes JDK 1.2 methods.
+ */
+
+public final class Short extends Number implements Comparable
+{
+ short value;
+
+ public final static short MIN_VALUE = -32768;
+ public final static short MAX_VALUE = 32767;
+
+ // This initialization is seemingly circular, but it is accepted
+ // by javac, and is handled specially by gcc.
+ public static final Class TYPE = short.class;
+
+ public Short(short value)
+ {
+ this.value = value;
+ }
+
+ public Short(String str)
+ throws NumberFormatException
+ {
+ this.value = parseShort(str, 10);
+ }
+
+ public byte byteValue()
+ {
+ return (byte) value;
+ }
+
+ public short shortValue()
+ {
+ return value;
+ }
+
+ public int intValue()
+ {
+ return value;
+ }
+
+ public long longValue ()
+ {
+ return value;
+ }
+
+ public float floatValue ()
+ {
+ return (float) value;
+ }
+
+ public double doubleValue ()
+ {
+ return (double) value;
+ }
+
+ public static Short decode(String str)
+ throws NumberFormatException
+ {
+ int i = (Integer.decode(str)).intValue();
+ if (i < MIN_VALUE || i > MAX_VALUE)
+ throw new NumberFormatException();
+ return new Short((short) i);
+ }
+
+ public static short parseShort(String str, int radix)
+ throws NumberFormatException
+ {
+ int i = Integer.parseInt(str, radix);
+ if (i < MIN_VALUE || i > MAX_VALUE)
+ throw new NumberFormatException();
+ return (short) i;
+ }
+
+ public static short parseShort(String str)
+ throws NumberFormatException
+ {
+ return parseShort(str, 10);
+ }
+
+ public static Short valueOf(String str, int radix)
+ throws NumberFormatException
+ {
+ return new Short(parseShort(str, radix));
+ }
+
+ public static Short valueOf(String str)
+ throws NumberFormatException
+ {
+ return valueOf(str, 10);
+ }
+
+ // Added in JDK 1.2
+ public int compareTo(Short anotherShort)
+ {
+ return this.value - anotherShort.value;
+ }
+
+ // Added in JDK 1.2
+ public int compareTo(Object o) throws ClassCastException
+ {
+ if (o instanceof Short)
+ return this.value - ((Short) o).value;
+ else
+ throw new ClassCastException();
+ }
+
+ public boolean equals(Object obj)
+ {
+ return (obj != null && (obj instanceof Short)
+ && ((Short) obj).value == value);
+ }
+
+ // Verified that hashCode is returns plain value (see Short_1 test).
+ public int hashCode()
+ {
+ return value;
+ }
+
+ public String toString()
+ {
+ return Integer.toString((int) value);
+ }
+
+ public static String toString(short value)
+ {
+ return Integer.toString((int) value);
+ }
+}
diff --git a/libjava/java/lang/StackOverflowError.java b/libjava/java/lang/StackOverflowError.java
new file mode 100644
index 0000000..ace8b25
--- /dev/null
+++ b/libjava/java/lang/StackOverflowError.java
@@ -0,0 +1,34 @@
+// StackOverflowError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class StackOverflowError extends VirtualMachineError
+{
+ public StackOverflowError ()
+ {
+ super ();
+ }
+
+ public StackOverflowError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/String.java b/libjava/java/lang/String.java
new file mode 100644
index 0000000..1321676
--- /dev/null
+++ b/libjava/java/lang/String.java
@@ -0,0 +1,286 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+import java.io.UnsupportedEncodingException;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date September 4, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Complete to 1.1, but see FIXMEs. Also see testsuite results.
+ */
+
+public final class String
+{
+ private Object data;
+ private int boffset; // Note this is a byte offset - don't use in Java code!
+ private int count;
+
+ public String ()
+ {
+ init();
+ }
+
+ public String (String value)
+ {
+ data = value.data;
+ boffset = value.boffset;
+ count = value.count;
+ }
+
+ public String (StringBuffer buffer)
+ {
+ init (buffer.value, 0, buffer.count, true);
+ }
+
+ public String (char[] data)
+ {
+ init(data, 0, data.length, false);
+ }
+
+ public String (char[] data, int offset, int count)
+ {
+ init(data, offset, count, false);
+ }
+
+ public String (byte[] byteArray)
+ {
+ this (byteArray, 0, byteArray.length);
+ }
+
+ public String (byte[] byteArray, int offset, int count)
+ {
+ try
+ {
+ init (byteArray, offset, count,
+ System.getProperty("file.encoding", "8859_1"));
+ }
+ catch (UnsupportedEncodingException x1)
+ {
+ // Maybe the default encoding is bad.
+ try
+ {
+ init (byteArray, offset, count, "8859_1");
+ }
+ catch (UnsupportedEncodingException x2)
+ {
+ // We know this can't happen.
+ }
+ }
+ }
+
+ public String (byte[] byteArray, String enc)
+ throws UnsupportedEncodingException
+ {
+ this (byteArray, 0, byteArray.length, enc);
+ }
+
+ public String (byte[] byteArray, int offset, int count, String enc)
+ throws UnsupportedEncodingException
+ {
+ init (byteArray, offset, count, enc);
+ }
+
+ public static String copyValueOf(char[] data)
+ {
+ return copyValueOf (data, 0, data.length);
+ }
+
+ public static String copyValueOf(char[] data, int offset, int count)
+ {
+ String r = new String ();
+ r.init(data, offset, count, false);
+ return r;
+ }
+
+ /** @deprecated */
+ public String (byte[] ascii, int hibyte)
+ {
+ init(ascii, hibyte, 0, ascii.length);
+ }
+
+ /** @deprecated */
+ public String (byte[] ascii, int hibyte, int offset, int count)
+ {
+ init(ascii, hibyte, offset, count);
+ }
+
+ public String toString ()
+ {
+ return this;
+ }
+
+ public native boolean equals (Object anObject);
+
+ public native int hashCode ();
+
+ public int length ()
+ {
+ return count;
+ }
+
+ public native char charAt (int index);
+
+ public native void getChars (int srcBegin, int srcEnd,
+ char[] dst, int dstBegin);
+
+ public byte[] getBytes () throws UnsupportedEncodingException
+ {
+ return getBytes (System.getProperty("file.encoding", "8859_1"));
+ }
+
+ public native byte[] getBytes (String enc)
+ throws UnsupportedEncodingException;
+
+ /** @deprecated */
+ public native void getBytes (int srcBegin, int srcEnd,
+ byte[] dst, int dstBegin);
+
+ public native char[] toCharArray ();
+
+ public native boolean equalsIgnoreCase (String anotherString);
+
+ public native int compareTo (String anotherString);
+
+ public native boolean regionMatches (int toffset,
+ String other, int ooffset, int len);
+
+ public native boolean regionMatches (boolean ignoreCase, int toffset,
+ String other, int ooffset, int len);
+
+ public boolean startsWith (String prefix)
+ {
+ return startsWith (prefix, 0);
+ }
+
+ public native boolean startsWith (String prefix, int toffset);
+
+ public boolean endsWith (String suffix)
+ {
+ return regionMatches (this.count - suffix.count, suffix, 0, suffix.count);
+ }
+
+ // No such method specified in the doc, including JDK 1.2.
+ // public boolean endsWith (String suffix, int toffset)
+ // {
+ // return regionMatches (toffset, suffix, 0, suffix.count);
+ // }
+
+ // The Language Specification, and the JDK 1.2 API docs say that
+ // index and lastIndex take an int, while the Class Libraries
+ // say they take a char. The former wins ...
+
+ public int indexOf (int ch)
+ {
+ return indexOf (ch, 0);
+ }
+
+ public native int indexOf (int ch, int fromIndex);
+
+ public int indexOf (String str)
+ {
+ return indexOf (str, 0);
+ }
+
+ public native int indexOf (String str, int fromIndex);
+
+ public int lastIndexOf (int ch)
+ {
+ return lastIndexOf (ch, count - 1);
+ }
+
+ public native int lastIndexOf (int ch, int fromIndex);
+
+ public int lastIndexOf (String str)
+ {
+ return lastIndexOf (str, count - str.count);
+ }
+
+ public int lastIndexOf (String str, int fromIndex)
+ {
+ if (fromIndex >= count)
+ fromIndex = count - str.count;
+ for (;; --fromIndex)
+ {
+ if (fromIndex < 0)
+ return -1;
+ if (startsWith(str, fromIndex))
+ return fromIndex;
+ }
+ }
+
+ public String substring (int beginIndex)
+ {
+ return substring (beginIndex, count);
+ }
+
+ public native String substring (int beginIndex, int endIndex);
+
+ public native String concat (String str);
+
+ public native String replace (char oldChar, char newChar);
+
+ public native String toLowerCase ();
+
+ public native String toUpperCase ();
+
+ public native String trim ();
+
+ public static String valueOf (Object obj)
+ {
+ return obj == null ? "null" : obj.toString();
+ }
+
+ public static String valueOf (char[] data)
+ {
+ return valueOf (data, 0, data.length);
+ }
+
+ public static native String valueOf (char[] data, int offset, int count);
+
+ public static String valueOf (boolean b)
+ {
+ return b ? "true" : "false";
+ }
+
+ public static native String valueOf (char c);
+
+ public static String valueOf (int i)
+ {
+ return Integer.toString(i);
+ }
+
+ public static String valueOf (long l)
+ {
+ return Long.toString(l);
+ }
+
+ public static String valueOf (float f)
+ {
+ return Float.toString(f);
+ }
+
+ public static String valueOf (double d)
+ {
+ return Double.toString(d);
+ }
+
+ public native String intern ();
+
+ private native void init ();
+ private native void init (char[] chars, int offset, int count,
+ boolean dont_copy);
+ private native void init (byte[] chars, int hibyte, int offset, int count);
+ private native void init (byte[] chars, int offset, int count, String enc)
+ throws UnsupportedEncodingException;
+ private native void unintern ();
+ private static native void rehash ();
+}
diff --git a/libjava/java/lang/StringBuffer.java b/libjava/java/lang/StringBuffer.java
new file mode 100644
index 0000000..4127d54
--- /dev/null
+++ b/libjava/java/lang/StringBuffer.java
@@ -0,0 +1,270 @@
+// StringBuffer.java - Growable strings.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+import java.io.Serializable;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 23, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ */
+
+public final class StringBuffer implements Serializable
+{
+ public StringBuffer append (boolean bool)
+ {
+ return append (String.valueOf(bool));
+ }
+
+ public synchronized StringBuffer append (char ch)
+ {
+ ensureCapacity (count + 1);
+ value[count++] = ch;
+ return this;
+ }
+
+ public StringBuffer append (int inum)
+ {
+ return append (String.valueOf(inum));
+ }
+
+ public StringBuffer append (long lnum)
+ {
+ return append (String.valueOf(lnum));
+ }
+
+ public StringBuffer append (float fnum)
+ {
+ return append (String.valueOf(fnum));
+ }
+
+ public StringBuffer append (double dnum)
+ {
+ return append (String.valueOf(dnum));
+ }
+
+ public StringBuffer append (Object obj)
+ {
+ return append (String.valueOf(obj));
+ }
+
+ public synchronized StringBuffer append (String str)
+ {
+ if (str == null)
+ str = "null";
+ int len = str.length();
+ ensureCapacity (count + len);
+ str.getChars(0, len, value, count);
+ count += len;
+ return this;
+ }
+
+ public StringBuffer append (char[] data)
+ {
+ return append (data, 0, data.length);
+ }
+
+ public synchronized StringBuffer append (char[] data, int offset, int count)
+ {
+ ensureCapacity (this.count + count);
+ System.arraycopy(data, offset, value, this.count, count);
+ this.count += count;
+ return this;
+ }
+
+ public int capacity ()
+ {
+ return value.length;
+ }
+
+ public synchronized char charAt (int index)
+ {
+ if (index >= count)
+ throw new StringIndexOutOfBoundsException (index);
+ return value[index];
+ }
+
+ public synchronized void ensureCapacity (int minimumCapacity)
+ {
+ if (shared || minimumCapacity > value.length)
+ {
+ minimumCapacity = Math.max(minimumCapacity, value.length*2+2);
+ char[] nb = new char[minimumCapacity];
+ System.arraycopy(value, 0, nb, 0, count);
+ value = nb;
+ shared = false;
+ }
+ }
+
+ public synchronized void getChars (int srcOffset, int srcEnd,
+ char[] dst, int dstOffset)
+ {
+ if (srcOffset < 0 || srcOffset > srcEnd)
+ throw new StringIndexOutOfBoundsException (srcOffset);
+ int todo = srcEnd - srcOffset;
+ if (srcEnd > count || dstOffset + todo > count)
+ throw new StringIndexOutOfBoundsException (srcEnd);
+ System.arraycopy(value, srcOffset, dst, dstOffset, todo);
+ }
+
+ public StringBuffer insert (int offset, boolean bool)
+ {
+ return insert (offset, bool ? "true" : "false");
+ }
+
+ public synchronized StringBuffer insert (int offset, char ch)
+ {
+ if (offset < 0 || offset > count)
+ throw new StringIndexOutOfBoundsException (offset);
+ ensureCapacity (count+1);
+ System.arraycopy(value, offset, value, offset+1, count-offset);
+ value[offset] = ch;
+ count++;
+ return this;
+ }
+
+ public StringBuffer insert (int offset, int inum)
+ {
+ return insert (offset, String.valueOf(inum));
+ }
+
+ public StringBuffer insert (int offset, long lnum)
+ {
+ return insert (offset, String.valueOf(lnum));
+ }
+
+ public StringBuffer insert (int offset, float fnum)
+ {
+ return insert (offset, String.valueOf(fnum));
+ }
+
+ public StringBuffer insert (int offset, double dnum)
+ {
+ return insert (offset, String.valueOf(dnum));
+ }
+
+ public StringBuffer insert (int offset, Object obj)
+ {
+ return insert (offset, String.valueOf(obj));
+ }
+
+ public synchronized StringBuffer insert (int offset, String str)
+ {
+ if (offset < 0 || offset > count)
+ throw new StringIndexOutOfBoundsException (offset);
+ // Note that using `null' is from JDK 1.2.
+ if (str == null)
+ str = "null";
+ int len = str.length();
+ ensureCapacity(count+len);
+ System.arraycopy(value, offset, value, offset+len, count-offset);
+ str.getChars(0, len, value, offset);
+ count += len;
+ return this;
+ }
+
+ public synchronized StringBuffer insert (int offset, char[] data)
+ {
+ if (offset < 0 || offset > count)
+ throw new StringIndexOutOfBoundsException (offset);
+ int len = data.length;
+ ensureCapacity (count+len);
+ System.arraycopy(value, offset, value, offset+len, count-offset);
+ System.arraycopy(data, 0, value, offset, len);
+ count += len;
+ return this;
+ }
+
+ public int length ()
+ {
+ return count;
+ }
+
+ public synchronized StringBuffer reverse ()
+ {
+ for (int i = 0; i < count / 2; ++i)
+ {
+ char c = value[i];
+ value[i] = value[count - i - 1];
+ value[count - i - 1] = c;
+ }
+ return this;
+ }
+
+ public synchronized void setCharAt (int index, char ch)
+ {
+ if (index < 0 || index >= count)
+ throw new StringIndexOutOfBoundsException (index);
+ // Call ensureCapacity to enforce copy-on-write.
+ ensureCapacity (count);
+ value[index] = ch;
+ }
+
+ public synchronized void setLength (int newLength)
+ {
+ if (newLength < 0)
+ throw new StringIndexOutOfBoundsException (newLength);
+
+ ensureCapacity (newLength);
+ for (int i = count; i < newLength; ++i)
+ value[i] = '\0';
+ count = newLength;
+ }
+
+ public StringBuffer ()
+ {
+ this (16);
+ }
+
+ public StringBuffer (int capacity)
+ {
+ count = 0;
+ value = new char[capacity];
+ shared = false;
+ }
+
+ public StringBuffer (String str)
+ {
+ // Note: nowhere does it say that we should handle a null
+ // argument here. In fact, the JCL implies that we should not.
+ // But this leads to an asymmetry: `null + ""' will fail, while
+ // `"" + null' will work.
+ if (str == null)
+ str = "null";
+ count = str.length();
+ // JLS: The initial capacity of the string buffer is 16 plus the
+ // length of the argument string.
+ value = new char[count + 16];
+ str.getChars(0, count, value, 0);
+ shared = false;
+ }
+
+ public String toString ()
+ {
+ shared = true;
+ return new String (this);
+ }
+
+ // The buffer. Note that this has permissions set this way so that
+ // String can get the value.
+ char[] value;
+
+ // Index of next available character. Note that this has
+ // permissions set this way so that String can get the value.
+ int count;
+
+ // True if we need to copy the buffer before writing to it again.
+ // FIXME: JDK 1.2 doesn't specify this. The new buffer-growing
+ // semantics make this less useful in that case, too.
+ private boolean shared;
+}
diff --git a/libjava/java/lang/StringIndexOutOfBoundsException.java b/libjava/java/lang/StringIndexOutOfBoundsException.java
new file mode 100644
index 0000000..200acb8
--- /dev/null
+++ b/libjava/java/lang/StringIndexOutOfBoundsException.java
@@ -0,0 +1,37 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class StringIndexOutOfBoundsException extends IndexOutOfBoundsException
+{
+ public StringIndexOutOfBoundsException()
+ {
+ super();
+ }
+
+ public StringIndexOutOfBoundsException(int index)
+ {
+ this("String index out of range: " + index);
+ }
+
+ public StringIndexOutOfBoundsException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/System.java b/libjava/java/lang/System.java
new file mode 100644
index 0000000..6f6dee4
--- /dev/null
+++ b/libjava/java/lang/System.java
@@ -0,0 +1,166 @@
+// System.java - System-specific info.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+import java.io.FileDescriptor;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.FilterInputStream;
+import java.io.InputStream;
+import java.io.PrintStream;
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.util.Properties;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date August 27, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: 1.1. Some 1.2 methods missing. Properties code not fully
+ * implemented.
+ */
+
+public final class System
+{
+ public static native void arraycopy (Object src, int srcOffset,
+ Object dst, int dstOffset,
+ int count);
+
+ public static native long currentTimeMillis ();
+
+ public static void exit (int status)
+ {
+ Runtime.getRuntime().exit(status);
+ }
+
+ public static void gc ()
+ {
+ Runtime.getRuntime().gc();
+ }
+
+ // Marked deprecated in 1.1. We implement what the JCL book says.
+ public static String getenv (String name)
+ {
+ throw new Error ();
+ }
+
+ private static native void init_properties ();
+
+ public static Properties getProperties ()
+ {
+ if (secman != null)
+ secman.checkPropertiesAccess();
+ init_properties ();
+ return properties;
+ }
+
+ public static String getProperty (String property)
+ {
+ if (secman != null)
+ secman.checkPropertyAccess(property);
+ init_properties ();
+ return properties.getProperty(property);
+ }
+
+ public static String getProperty (String property, String defval)
+ {
+ if (secman != null)
+ secman.checkPropertyAccess(property, defval);
+ init_properties ();
+ return properties.getProperty(property, defval);
+ }
+
+ public static SecurityManager getSecurityManager ()
+ {
+ return secman;
+ }
+
+ public static native int identityHashCode (Object obj);
+
+ public static void load (String pathname)
+ {
+ Runtime.getRuntime().load(pathname);
+ }
+
+ public static void loadLibrary (String libname)
+ {
+ Runtime.getRuntime().loadLibrary(libname);
+ }
+
+ public static void runFinalization ()
+ {
+ Runtime.getRuntime().runFinalization();
+ }
+
+ // Marked as deprecated in 1.2.
+ public static void runFinalizersOnExit (boolean run)
+ {
+ Runtime.getRuntime().runFinalizersOnExit(run);
+ }
+
+ private static void checkSetIO ()
+ {
+ // In 1.1, we are supposed to call checkExec, but the argument is
+ // not specified. In 1.2, we are supposed to use checkPermission,
+ // which doesn't exist in 1.1.
+ if (secman != null)
+ secman.checkExec("");
+ }
+
+ public static native void setErr (PrintStream newErr);
+ public static native void setIn (InputStream newIn);
+ public static native void setOut (PrintStream newOut);
+
+ public static void setProperties (Properties props)
+ {
+ if (secman != null)
+ secman.checkPropertiesAccess();
+ // We might not have initialized yet.
+ prop_init = true;
+ properties = props;
+ }
+
+ // TODO 1.2.
+ // public static String setProperty (String key, String value);
+
+ // TODO 1.2.
+ // public static String mapLibraryName (String libname);
+
+ public static void setSecurityManager (SecurityManager s)
+ {
+ if (secman != null)
+ throw new SecurityException ();
+ secman = s;
+ }
+
+ // Public data.
+ public static final InputStream in = new BufferedInputStream (new FileInputStream (FileDescriptor.in));
+
+ public static final PrintStream out = new PrintStream (new BufferedOutputStream (new FileOutputStream (FileDescriptor.out)), true);
+
+ public static final PrintStream err = new PrintStream (new BufferedOutputStream (new FileOutputStream (FileDescriptor.err)), true);
+
+ // Don't allow System objects to be made.
+ private System ()
+ {
+ }
+
+ // Private data.
+ private static SecurityManager secman = null;
+ private static Properties properties = null;
+ // This boolean is only required for 1.1 and earlier. After 1.1, a
+ // null properties should always be re-initialized.
+ private static boolean prop_init = false;
+}
diff --git a/libjava/java/lang/Thread.java b/libjava/java/lang/Thread.java
new file mode 100644
index 0000000..f21d3a3
--- /dev/null
+++ b/libjava/java/lang/Thread.java
@@ -0,0 +1,297 @@
+// Thread.java - Thread class.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date August 24, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Complete to version 1.1, with caveats
+ * Known problems:
+ * No attempt was made to implement suspend/resume
+ * (this could be done in some cases)
+ * Various methods which assume a VM are likewise unimplemented
+ * We do implement stop() even though it is deprecated.
+ */
+
+public class Thread implements Runnable
+{
+ public final static int MAX_PRIORITY = 10;
+ public final static int MIN_PRIORITY = 1;
+ public final static int NORM_PRIORITY = 5;
+
+ public static int activeCount ()
+ {
+ return currentThread().getThreadGroup().activeCount();
+ }
+
+ public void checkAccess ()
+ {
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkAccess(this);
+ }
+
+ public native int countStackFrames ();
+ public static native Thread currentThread ();
+ public native void destroy ();
+ public static native void dumpStack ();
+
+ public static int enumerate (Thread[] threads)
+ {
+ return currentThread().group.enumerate(threads);
+ }
+
+ public final String getName ()
+ {
+ return name;
+ }
+
+ public final int getPriority ()
+ {
+ return priority;
+ }
+
+ public final ThreadGroup getThreadGroup ()
+ {
+ return group;
+ }
+
+ public native void interrupt ();
+
+ public static boolean interrupted ()
+ {
+ return currentThread().isInterrupted();
+ }
+
+ // FIXME: it seems to me that this should be synchronized.
+ public boolean isInterrupted ()
+ {
+ boolean r = interrupt_flag;
+ interrupt_flag = false;
+ return r;
+ }
+
+ public final boolean isAlive ()
+ {
+ return alive_flag;
+ }
+
+ public final boolean isDaemon ()
+ {
+ return daemon_flag;
+ }
+
+ public final void join () throws InterruptedException
+ {
+ join (0, 0);
+ }
+
+ public final void join (long timeout) throws InterruptedException
+ {
+ join (timeout, 0);
+ }
+
+ public final native void join (long timeout, int nanos)
+ throws InterruptedException;
+
+ public final native void resume ();
+
+ // This method exists only to avoid a warning from the C++ compiler.
+ private static final native void run__ (Object obj);
+ private native final void finish_ ();
+ private final void run_ ()
+ {
+ try
+ {
+ run ();
+ }
+ catch (Throwable e)
+ {
+ // Uncaught exceptions are forwarded to the ThreadGroup. If
+ // this results in an uncaught exception, that is ignored.
+ try
+ {
+ group.uncaughtException(this, e);
+ }
+ catch (Throwable f)
+ {
+ // Nothing.
+ }
+ }
+ finish_ ();
+ }
+
+ public void run ()
+ {
+ if (runnable != null)
+ runnable.run();
+ }
+
+ public final void setDaemon (boolean status)
+ {
+ checkAccess ();
+ if (isAlive ())
+ throw new IllegalThreadStateException ();
+ daemon_flag = status;
+ }
+
+ // TODO12:
+ // public ClassLoader getContextClassLoader()
+ // {
+ // }
+
+ // TODO12:
+ // public void setContextClassLoader(ClassLoader cl)
+ // {
+ // }
+
+ public final void setName (String n)
+ {
+ checkAccess ();
+ // The Class Libraries book says ``threadName cannot be null''. I
+ // take this to mean NullPointerException.
+ if (n == null)
+ throw new NullPointerException ();
+ name = n;
+ }
+
+ public final native void setPriority (int newPriority);
+
+ public static void sleep (long timeout) throws InterruptedException
+ {
+ sleep (timeout, 0);
+ }
+
+ public static native void sleep (long timeout, int nanos)
+ throws InterruptedException;
+ public synchronized native void start ();
+
+ public final void stop ()
+ {
+ stop (new ThreadDeath ());
+ }
+
+ public final synchronized native void stop (Throwable e);
+ public final native void suspend ();
+
+ private final native void initialize_native ();
+
+ private final synchronized static String gen_name ()
+ {
+ String n;
+ n = "Thread-" + nextThreadNumber;
+ ++nextThreadNumber;
+ return n;
+ }
+
+ public Thread (ThreadGroup g, Runnable r, String n)
+ {
+ // Note that CURRENT can be null when we are creating the very
+ // first thread. That's why we check it below.
+ Thread current = currentThread ();
+
+ if (g != null)
+ {
+ // If CURRENT is null, then we are creating the first thread.
+ // In this case we don't do the security check.
+ if (current != null)
+ g.checkAccess();
+ }
+ else
+ g = current.getThreadGroup();
+
+ // The Class Libraries book says ``threadName cannot be null''. I
+ // take this to mean NullPointerException.
+ if (n == null)
+ throw new NullPointerException ();
+
+ name = n;
+ group = g;
+ g.add(this);
+ runnable = r;
+
+ data = null;
+ interrupt_flag = false;
+ alive_flag = false;
+ if (current != null)
+ {
+ daemon_flag = current.isDaemon();
+ priority = current.getPriority();
+ }
+ else
+ {
+ daemon_flag = false;
+ priority = NORM_PRIORITY;
+ }
+
+ initialize_native ();
+ }
+
+ public Thread ()
+ {
+ this (null, null, gen_name ());
+ }
+
+ public Thread (Runnable r)
+ {
+ this (null, r, gen_name ());
+ }
+
+ public Thread (String n)
+ {
+ this (null, null, n);
+ }
+
+ public Thread (ThreadGroup g, Runnable r)
+ {
+ this (g, r, gen_name ());
+ }
+
+ public Thread (ThreadGroup g, String n)
+ {
+ this (g, null, n);
+ }
+
+ public Thread (Runnable r, String n)
+ {
+ this (null, r, n);
+ }
+
+ public String toString ()
+ {
+ return "Thread[" + name + "," + priority + "," + group.getName() + "]";
+ }
+
+ public static native void yield ();
+
+ // Private data.
+ private ThreadGroup group;
+ private String name;
+ private Runnable runnable;
+ private int priority;
+ private boolean daemon_flag;
+ private boolean interrupt_flag;
+ private boolean alive_flag;
+
+ // This is a bit odd. We need a way to represent some data that is
+ // manipulated only by the native side of this class. We represent
+ // it as a Java object reference. However, it is not actually a
+ // Java object.
+ private Object data;
+
+ // Next thread number to assign.
+ private static int nextThreadNumber = 0;
+}
diff --git a/libjava/java/lang/ThreadDeath.java b/libjava/java/lang/ThreadDeath.java
new file mode 100644
index 0000000..caffc93
--- /dev/null
+++ b/libjava/java/lang/ThreadDeath.java
@@ -0,0 +1,35 @@
+// ThreadDeath.java - Special exception registering Thread death.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date August 26, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Complete to version 1.1
+ */
+
+public class ThreadDeath extends Error
+{
+ public ThreadDeath ()
+ {
+ super ();
+ }
+
+ public ThreadDeath (String message)
+ {
+ super (message);
+ }
+}
diff --git a/libjava/java/lang/ThreadGroup.java b/libjava/java/lang/ThreadGroup.java
new file mode 100644
index 0000000..1aa1a9a
--- /dev/null
+++ b/libjava/java/lang/ThreadGroup.java
@@ -0,0 +1,406 @@
+// ThreadGroup.java - ThreadGroup class.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+import java.util.Enumeration;
+import java.util.Vector;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date August 25, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Complete for 1.1. Parts from the JDK 1.0 spec only are
+ * not implemented. Parts of the 1.2 spec are also not implemented.
+ */
+
+public class ThreadGroup
+{
+ public int activeCount ()
+ {
+ int ac = threads.size();
+ Enumeration e = groups.elements();
+ while (e.hasMoreElements())
+ {
+ ThreadGroup g = (ThreadGroup) e.nextElement();
+ ac += g.activeCount();
+ }
+ return ac;
+ }
+
+ public int activeGroupCount ()
+ {
+ int ac = groups.size();
+ Enumeration e = groups.elements();
+ while (e.hasMoreElements())
+ {
+ ThreadGroup g = (ThreadGroup) e.nextElement();
+ ac += g.activeGroupCount();
+ }
+ return ac;
+ }
+
+ // Deprecated in 1.2.
+ public boolean allowThreadSuspension (boolean allow)
+ {
+ // There is no way for a Java program to determine whether this
+ // has any effect whatsoever. We don't need it.
+ return true;
+ }
+
+ public final void checkAccess ()
+ {
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkAccess(this);
+ }
+
+ // This is called to remove a ThreadGroup from our internal list.
+ private final void remove (ThreadGroup g)
+ {
+ groups.removeElement(g);
+ if (daemon_flag && groups.size() == 0 && threads.size() == 0)
+ {
+ // We inline destroy to avoid the access check.
+ destroyed_flag = true;
+ if (parent != null)
+ parent.remove(this);
+ }
+ }
+
+ // This is called by the Thread code to remove a Thread from our
+ // internal list. FIXME: currently, it isn't called at all. There
+ // doesn't appear to be any way to remove a Thread from a
+ // ThreadGroup (except the unimplemented destroy method).
+ final void remove (Thread t)
+ {
+ threads.removeElement(t);
+ if (daemon_flag && groups.size() == 0 && threads.size() == 0)
+ {
+ // We inline destroy to avoid the access check.
+ destroyed_flag = true;
+ if (parent != null)
+ parent.remove(this);
+ }
+ }
+
+ // This is called by the Thread code to add a Thread to our internal
+ // list.
+ final void add (Thread t)
+ {
+ if (destroyed_flag)
+ throw new IllegalThreadStateException ();
+
+ threads.addElement(t);
+ }
+
+ // This is a helper that is used to implement the destroy method.
+ private final boolean canDestroy ()
+ {
+ if (! threads.isEmpty())
+ return false;
+ Enumeration e = groups.elements();
+ while (e.hasMoreElements())
+ {
+ ThreadGroup g = (ThreadGroup) e.nextElement();
+ if (! g.canDestroy())
+ return false;
+ }
+ return true;
+ }
+
+ public final void destroy ()
+ {
+ checkAccess ();
+ if (! canDestroy ())
+ throw new IllegalThreadStateException ();
+ destroyed_flag = true;
+ if (parent != null)
+ parent.remove(this);
+ }
+
+ // This actually implements enumerate.
+ private final int enumerate (Thread[] ts, int next_index, boolean recurse)
+ {
+ Enumeration e = threads.elements();
+ while (e.hasMoreElements() && next_index < ts.length)
+ ts[next_index++] = (Thread) e.nextElement();
+ if (recurse && next_index != ts.length)
+ {
+ e = groups.elements();
+ while (e.hasMoreElements() && next_index < ts.length)
+ {
+ ThreadGroup g = (ThreadGroup) e.nextElement();
+ next_index = g.enumerate(ts, next_index, true);
+ }
+ }
+ return next_index;
+ }
+
+ public int enumerate (Thread[] ts)
+ {
+ return enumerate (ts, 0, true);
+ }
+
+ public int enumerate (Thread[] ts, boolean recurse)
+ {
+ return enumerate (ts, 0, recurse);
+ }
+
+ // This actually implements enumerate.
+ private final int enumerate (ThreadGroup[] ts, int next_index,
+ boolean recurse)
+ {
+ Enumeration e = groups.elements();
+ while (e.hasMoreElements() && next_index < ts.length)
+ {
+ ThreadGroup g = (ThreadGroup) e.nextElement();
+ ts[next_index++] = g;
+ if (recurse && next_index != ts.length)
+ next_index = g.enumerate(ts, next_index, true);
+ }
+ return next_index;
+ }
+
+ public int enumerate (ThreadGroup[] gs)
+ {
+ return enumerate (gs, 0, true);
+ }
+
+ public int enumerate (ThreadGroup[] gs, boolean recurse)
+ {
+ return enumerate (gs, 0, recurse);
+ }
+
+ public final int getMaxPriority ()
+ {
+ return maxpri;
+ }
+
+ public final String getName ()
+ {
+ return name;
+ }
+
+ public final ThreadGroup getParent ()
+ {
+ return parent;
+ }
+
+ // JDK 1.2.
+ // public void interrupt ();
+
+ public final boolean isDaemon ()
+ {
+ return daemon_flag;
+ }
+
+ public synchronized boolean isDestroyed ()
+ {
+ return destroyed_flag;
+ }
+
+ private final void list (String indentation)
+ {
+ System.out.print(indentation);
+ System.out.println(toString ());
+ String sub = indentation + " ";
+ Enumeration e = threads.elements();
+ while (e.hasMoreElements())
+ {
+ Thread t = (Thread) e.nextElement();
+ System.out.print(sub);
+ System.out.println(t.toString());
+ }
+ e = groups.elements();
+ while (e.hasMoreElements())
+ {
+ ThreadGroup g = (ThreadGroup) e.nextElement();
+ g.list(sub);
+ }
+ }
+
+ public void list ()
+ {
+ list ("");
+ }
+
+ public final boolean parentOf (ThreadGroup g)
+ {
+ while (g != null)
+ {
+ if (this == g)
+ return true;
+ g = g.parent;
+ }
+ return false;
+ }
+
+ // Deprecated in 1.2.
+ public final void resume ()
+ {
+ checkAccess ();
+ Enumeration e = threads.elements();
+ while (e.hasMoreElements())
+ {
+ Thread t = (Thread) e.nextElement();
+ t.resume();
+ }
+ e = groups.elements();
+ while (e.hasMoreElements())
+ {
+ ThreadGroup g = (ThreadGroup) e.nextElement();
+ g.resume();
+ }
+ }
+
+ public final void setDaemon (boolean daemon)
+ {
+ checkAccess ();
+ daemon_flag = daemon;
+ // FIXME: the docs don't say you are supposed to do this. But
+ // they don't say you aren't, either.
+ if (groups.size() == 0 && threads.size() == 0)
+ destroy ();
+ }
+
+ public final void setMaxPriority (int pri)
+ {
+ checkAccess ();
+
+ // FIXME: JDK 1.2 behaviour is different: if the newMaxPriority
+ // argument is < MIN_PRIORITY or > MAX_PRIORITY an
+ // IllegalArgumentException should be thrown.
+ if (pri >= Thread.MIN_PRIORITY && pri <= maxpri)
+ {
+ maxpri = pri;
+
+ Enumeration e = groups.elements();
+ while (e.hasMoreElements())
+ {
+ ThreadGroup g = (ThreadGroup) e.nextElement();
+ g.setMaxPriority (maxpri);
+ }
+ }
+ }
+
+ // Deprecated in 1.2.
+ public final void stop ()
+ {
+ checkAccess ();
+ Enumeration e = threads.elements();
+ while (e.hasMoreElements())
+ {
+ Thread t = (Thread) e.nextElement();
+ t.stop();
+ }
+ e = groups.elements();
+ while (e.hasMoreElements())
+ {
+ ThreadGroup g = (ThreadGroup) e.nextElement();
+ g.stop();
+ }
+ }
+
+ // Deprecated in 1.2.
+ public final void suspend ()
+ {
+ checkAccess ();
+ Enumeration e = threads.elements();
+ while (e.hasMoreElements())
+ {
+ Thread t = (Thread) e.nextElement();
+ t.suspend();
+ }
+ e = groups.elements();
+ while (e.hasMoreElements())
+ {
+ ThreadGroup g = (ThreadGroup) e.nextElement();
+ g.suspend();
+ }
+ }
+
+ // This constructor appears in the Class Libraries book but in
+ // neither the Language Spec nor the 1.2 docs.
+ public ThreadGroup ()
+ {
+ this (Thread.currentThread().getThreadGroup(), null);
+ }
+
+ public ThreadGroup (String n)
+ {
+ this (Thread.currentThread().getThreadGroup(), n);
+ }
+
+ public ThreadGroup (ThreadGroup p, String n)
+ {
+ checkAccess ();
+ if (p == null)
+ throw new NullPointerException ();
+ if (p.destroyed_flag)
+ throw new IllegalArgumentException ();
+
+ parent = p;
+ name = n;
+ maxpri = p.maxpri;
+ threads = new Vector ();
+ groups = new Vector ();
+ daemon_flag = p.daemon_flag;
+ destroyed_flag = false;
+ p.groups.addElement(this);
+ }
+
+ // This is the constructor that is used when creating the very first
+ // ThreadGroup. We have an arbitrary argument here just to
+ // differentiate this constructor from the others.
+ private ThreadGroup (int dummy)
+ {
+ parent = null;
+ name = "main";
+ maxpri = Thread.MAX_PRIORITY;
+ threads = new Vector ();
+ groups = new Vector ();
+ daemon_flag = false;
+ destroyed_flag = false;
+ }
+
+ public String toString ()
+ {
+ // Language Spec and Class Libraries book disagree a bit here. We
+ // follow the Spec, but add "ThreadGroup" per the book. We
+ // include "java.lang" based on the list() example in the Class
+ // Libraries book.
+ return "java.lang.ThreadGroup[name=" + name + ",maxpri=" + maxpri + "]";
+ }
+
+ public void uncaughtException (Thread thread, Throwable e)
+ {
+ // FIXME: in 1.2, this has different semantics. In particular if
+ // this group has a parent, the exception is passed upwards and
+ // not processed locally.
+ if (! (e instanceof ThreadDeath))
+ {
+ e.printStackTrace();
+ }
+ }
+
+ // Private data.
+ private ThreadGroup parent;
+ private String name;
+ private int maxpri;
+ private Vector threads;
+ private Vector groups;
+ private boolean daemon_flag;
+ private boolean destroyed_flag;
+}
diff --git a/libjava/java/lang/Throwable.java b/libjava/java/lang/Throwable.java
new file mode 100644
index 0000000..5ae39ae
--- /dev/null
+++ b/libjava/java/lang/Throwable.java
@@ -0,0 +1,80 @@
+// Throwable.java - Superclass for all exceptions.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+import java.io.PrintStream;
+import java.io.PrintWriter;
+import java.io.Serializable;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 30, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Sufficient for compiled code, but methods applicable to
+ * bytecode not implemented. JDK 1.1.
+ */
+
+public class Throwable implements Serializable
+{
+ public Throwable fillInStackTrace ()
+ {
+ return this;
+ }
+
+ public String getLocalizedMessage ()
+ {
+ return getMessage ();
+ }
+
+ public String getMessage ()
+ {
+ return detailMessage;
+ }
+
+ public void printStackTrace ()
+ {
+ printStackTrace (System.err);
+ }
+
+ public void printStackTrace (PrintStream s)
+ {
+ // No stack trace, but we can still print this object.
+ s.println(toString ());
+ }
+
+ public void printStackTrace (PrintWriter wr)
+ {
+ // No stack trace, but we can still print this object.
+ wr.println(toString ());
+ }
+
+ public Throwable ()
+ {
+ detailMessage = null;
+ }
+
+ public Throwable (String message)
+ {
+ detailMessage = message;
+ }
+
+ public String toString ()
+ {
+ return ((detailMessage == null)
+ ? getClass().getName()
+ : getClass().getName() + ": " + getMessage ());
+ }
+
+ // Name of this field comes from serialization spec.
+ private String detailMessage;
+}
diff --git a/libjava/java/lang/UnknownError.java b/libjava/java/lang/UnknownError.java
new file mode 100644
index 0000000..edf050c
--- /dev/null
+++ b/libjava/java/lang/UnknownError.java
@@ -0,0 +1,34 @@
+// UnknownError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class UnknownError extends VirtualMachineError
+{
+ public UnknownError ()
+ {
+ super ();
+ }
+
+ public UnknownError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/UnsatisfiedLinkError.java b/libjava/java/lang/UnsatisfiedLinkError.java
new file mode 100644
index 0000000..63930f5
--- /dev/null
+++ b/libjava/java/lang/UnsatisfiedLinkError.java
@@ -0,0 +1,34 @@
+// UnsatisfiedLinkError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class UnsatisfiedLinkError extends LinkageError
+{
+ public UnsatisfiedLinkError ()
+ {
+ super ();
+ }
+
+ public UnsatisfiedLinkError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/UnsupportedOperationException.java b/libjava/java/lang/UnsupportedOperationException.java
new file mode 100644
index 0000000..d2bee88
--- /dev/null
+++ b/libjava/java/lang/UnsupportedOperationException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class UnsupportedOperationException extends RuntimeException
+{
+ public UnsupportedOperationException()
+ {
+ super();
+ }
+
+ public UnsupportedOperationException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/lang/VerifyError.java b/libjava/java/lang/VerifyError.java
new file mode 100644
index 0000000..69d6a69
--- /dev/null
+++ b/libjava/java/lang/VerifyError.java
@@ -0,0 +1,34 @@
+// VerifyError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class VerifyError extends LinkageError
+{
+ public VerifyError ()
+ {
+ super ();
+ }
+
+ public VerifyError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/VirtualMachineError.java b/libjava/java/lang/VirtualMachineError.java
new file mode 100644
index 0000000..dcc907c
--- /dev/null
+++ b/libjava/java/lang/VirtualMachineError.java
@@ -0,0 +1,34 @@
+// VirtualMachineError.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public abstract class VirtualMachineError extends Error
+{
+ public VirtualMachineError ()
+ {
+ super ();
+ }
+
+ public VirtualMachineError (String msg)
+ {
+ super (msg);
+ }
+}
diff --git a/libjava/java/lang/Void.java b/libjava/java/lang/Void.java
new file mode 100644
index 0000000..5390552
--- /dev/null
+++ b/libjava/java/lang/Void.java
@@ -0,0 +1,30 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date April 18, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Complete.
+ */
+
+public final class Void
+{
+ // This initialization is seemingly circular, but it is accepted
+ // by javac, and is handled specially by gcc.
+ public final static Class TYPE = void.class;
+
+ // Don't allow Void objects to be made.
+ private Void ()
+ {
+ }
+}
diff --git a/libjava/java/lang/dtoa.c b/libjava/java/lang/dtoa.c
new file mode 100644
index 0000000..fae45c5
--- /dev/null
+++ b/libjava/java/lang/dtoa.c
@@ -0,0 +1,906 @@
+/****************************************************************
+ *
+ * The author of this software is David M. Gay.
+ *
+ * Copyright (c) 1991 by AT&T.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose without fee is hereby granted, provided that this entire notice
+ * is included in all copies of any software which is or includes a copy
+ * or modification of this software and in all copies of the supporting
+ * documentation for such software.
+ *
+ * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+ * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+ * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+ * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+ *
+ ***************************************************************/
+
+/* Please send bug reports to
+ David M. Gay
+ AT&T Bell Laboratories, Room 2C-463
+ 600 Mountain Avenue
+ Murray Hill, NJ 07974-2070
+ U.S.A.
+ dmg@research.att.com or research!dmg
+ */
+
+#include "mprec.h"
+
+static int
+_DEFUN (quorem,
+ (b, S),
+ _Jv_Bigint * b _AND _Jv_Bigint * S)
+{
+ int n;
+ long borrow, y;
+ unsigned long carry, q, ys;
+ unsigned long *bx, *bxe, *sx, *sxe;
+#ifdef Pack_32
+ long z;
+ unsigned long si, zs;
+#endif
+
+ n = S->_wds;
+#ifdef DEBUG
+ /*debug*/ if (b->_wds > n)
+ /*debug*/ Bug ("oversize b in quorem");
+#endif
+ if (b->_wds < n)
+ return 0;
+ sx = S->_x;
+ sxe = sx + --n;
+ bx = b->_x;
+ bxe = bx + n;
+ q = *bxe / (*sxe + 1); /* ensure q <= true quotient */
+#ifdef DEBUG
+ /*debug*/ if (q > 9)
+ /*debug*/ Bug ("oversized quotient in quorem");
+#endif
+ if (q)
+ {
+ borrow = 0;
+ carry = 0;
+ do
+ {
+#ifdef Pack_32
+ si = *sx++;
+ ys = (si & 0xffff) * q + carry;
+ zs = (si >> 16) * q + (ys >> 16);
+ carry = zs >> 16;
+ y = (*bx & 0xffff) - (ys & 0xffff) + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ z = (*bx >> 16) - (zs & 0xffff) + borrow;
+ borrow = z >> 16;
+ Sign_Extend (borrow, z);
+ Storeinc (bx, z, y);
+#else
+ ys = *sx++ * q + carry;
+ carry = ys >> 16;
+ y = *bx - (ys & 0xffff) + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ *bx++ = y & 0xffff;
+#endif
+ }
+ while (sx <= sxe);
+ if (!*bxe)
+ {
+ bx = b->_x;
+ while (--bxe > bx && !*bxe)
+ --n;
+ b->_wds = n;
+ }
+ }
+ if (cmp (b, S) >= 0)
+ {
+ q++;
+ borrow = 0;
+ carry = 0;
+ bx = b->_x;
+ sx = S->_x;
+ do
+ {
+#ifdef Pack_32
+ si = *sx++;
+ ys = (si & 0xffff) + carry;
+ zs = (si >> 16) + (ys >> 16);
+ carry = zs >> 16;
+ y = (*bx & 0xffff) - (ys & 0xffff) + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ z = (*bx >> 16) - (zs & 0xffff) + borrow;
+ borrow = z >> 16;
+ Sign_Extend (borrow, z);
+ Storeinc (bx, z, y);
+#else
+ ys = *sx++ + carry;
+ carry = ys >> 16;
+ y = *bx - (ys & 0xffff) + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ *bx++ = y & 0xffff;
+#endif
+ }
+ while (sx <= sxe);
+ bx = b->_x;
+ bxe = bx + n;
+ if (!*bxe)
+ {
+ while (--bxe > bx && !*bxe)
+ --n;
+ b->_wds = n;
+ }
+ }
+ return q;
+}
+
+#ifdef DEBUG
+#include <stdio.h>
+
+void
+print (_Jv_Bigint * b)
+{
+ int i, wds;
+ unsigned long *x, y;
+ wds = b->_wds;
+ x = b->_x+wds;
+ i = 0;
+ do
+ {
+ x--;
+ fprintf (stderr, "%08x", *x);
+ }
+ while (++i < wds);
+ fprintf (stderr, "\n");
+}
+#endif
+
+/* dtoa for IEEE arithmetic (dmg): convert double to ASCII string.
+ *
+ * Inspired by "How to Print Floating-Point Numbers Accurately" by
+ * Guy L. Steele, Jr. and Jon L. White [Proc. ACM SIGPLAN '90, pp. 92-101].
+ *
+ * Modifications:
+ * 1. Rather than iterating, we use a simple numeric overestimate
+ * to determine k = floor(log10(d)). We scale relevant
+ * quantities using O(log2(k)) rather than O(k) multiplications.
+ * 2. For some modes > 2 (corresponding to ecvt and fcvt), we don't
+ * try to generate digits strictly left to right. Instead, we
+ * compute with fewer bits and propagate the carry if necessary
+ * when rounding the final digit up. This is often faster.
+ * 3. Under the assumption that input will be rounded nearest,
+ * mode 0 renders 1e23 as 1e23 rather than 9.999999999999999e22.
+ * That is, we allow equality in stopping tests when the
+ * round-nearest rule will give the same floating-point value
+ * as would satisfaction of the stopping test with strict
+ * inequality.
+ * 4. We remove common factors of powers of 2 from relevant
+ * quantities.
+ * 5. When converting floating-point integers less than 1e16,
+ * we use floating-point arithmetic rather than resorting
+ * to multiple-precision integers.
+ * 6. When asked to produce fewer than 15 digits, we first try
+ * to get by with floating-point arithmetic; we resort to
+ * multiple-precision integer arithmetic only if we cannot
+ * guarantee that the floating-point calculation has given
+ * the correctly rounded result. For k requested digits and
+ * "uniformly" distributed input, the probability is
+ * something like 10^(k-15) that we must resort to the long
+ * calculation.
+ */
+
+
+char *
+_DEFUN (_dtoa_r,
+ (ptr, _d, mode, ndigits, decpt, sign, rve, float_type),
+ struct _Jv_reent *ptr _AND
+ double _d _AND
+ int mode _AND
+ int ndigits _AND
+ int *decpt _AND
+ int *sign _AND
+ char **rve _AND
+ int float_type)
+{
+ /*
+ float_type == 0 for double precision, 1 for float.
+
+ Arguments ndigits, decpt, sign are similar to those
+ of ecvt and fcvt; trailing zeros are suppressed from
+ the returned string. If not null, *rve is set to point
+ to the end of the return value. If d is +-Infinity or NaN,
+ then *decpt is set to 9999.
+
+ mode:
+ 0 ==> shortest string that yields d when read in
+ and rounded to nearest.
+ 1 ==> like 0, but with Steele & White stopping rule;
+ e.g. with IEEE P754 arithmetic , mode 0 gives
+ 1e23 whereas mode 1 gives 9.999999999999999e22.
+ 2 ==> max(1,ndigits) significant digits. This gives a
+ return value similar to that of ecvt, except
+ that trailing zeros are suppressed.
+ 3 ==> through ndigits past the decimal point. This
+ gives a return value similar to that from fcvt,
+ except that trailing zeros are suppressed, and
+ ndigits can be negative.
+ 4-9 should give the same return values as 2-3, i.e.,
+ 4 <= mode <= 9 ==> same return as mode
+ 2 + (mode & 1). These modes are mainly for
+ debugging; often they run slower but sometimes
+ faster than modes 2-3.
+ 4,5,8,9 ==> left-to-right digit generation.
+ 6-9 ==> don't try fast floating-point estimate
+ (if applicable).
+
+ > 16 ==> Floating-point arg is treated as single precision.
+
+ Values of mode other than 0-9 are treated as mode 0.
+
+ Sufficient space is allocated to the return value
+ to hold the suppressed trailing zeros.
+ */
+
+ int bbits, b2, b5, be, dig, i, ieps, ilim, ilim0, ilim1, j, j1, k, k0,
+ k_check, leftright, m2, m5, s2, s5, spec_case, try_quick;
+ union double_union d, d2, eps;
+ long L;
+#ifndef Sudden_Underflow
+ int denorm;
+ unsigned long x;
+#endif
+ _Jv_Bigint *b, *b1, *delta, *mlo, *mhi, *S;
+ double ds;
+ char *s, *s0;
+
+ d.d = _d;
+
+ if (ptr->_result)
+ {
+ ptr->_result->_k = ptr->_result_k;
+ ptr->_result->_maxwds = 1 << ptr->_result_k;
+ Bfree (ptr, ptr->_result);
+ ptr->_result = 0;
+ }
+
+ if (word0 (d) & Sign_bit)
+ {
+ /* set sign for everything, including 0's and NaNs */
+ *sign = 1;
+ word0 (d) &= ~Sign_bit; /* clear sign bit */
+ }
+ else
+ *sign = 0;
+
+#if defined(IEEE_Arith) + defined(VAX)
+#ifdef IEEE_Arith
+ if ((word0 (d) & Exp_mask) == Exp_mask)
+#else
+ if (word0 (d) == 0x8000)
+#endif
+ {
+ /* Infinity or NaN */
+ *decpt = 9999;
+ s =
+#ifdef IEEE_Arith
+ !word1 (d) && !(word0 (d) & 0xfffff) ? "Infinity" :
+#endif
+ "NaN";
+ if (rve)
+ *rve =
+#ifdef IEEE_Arith
+ s[3] ? s + 8 :
+#endif
+ s + 3;
+ return s;
+ }
+#endif
+#ifdef IBM
+ d.d += 0; /* normalize */
+#endif
+ if (!d.d)
+ {
+ *decpt = 1;
+ s = "0";
+ if (rve)
+ *rve = s + 1;
+ return s;
+ }
+
+ b = d2b (ptr, d.d, &be, &bbits);
+#ifdef Sudden_Underflow
+ i = (int) (word0 (d) >> Exp_shift1 & (Exp_mask >> Exp_shift1));
+#else
+ if ((i = (int) (word0 (d) >> Exp_shift1 & (Exp_mask >> Exp_shift1))))
+ {
+#endif
+ d2.d = d.d;
+ word0 (d2) &= Frac_mask1;
+ word0 (d2) |= Exp_11;
+#ifdef IBM
+ if (j = 11 - hi0bits (word0 (d2) & Frac_mask))
+ d2.d /= 1 << j;
+#endif
+
+ /* log(x) ~=~ log(1.5) + (x-1.5)/1.5
+ * log10(x) = log(x) / log(10)
+ * ~=~ log(1.5)/log(10) + (x-1.5)/(1.5*log(10))
+ * log10(d) = (i-Bias)*log(2)/log(10) + log10(d2)
+ *
+ * This suggests computing an approximation k to log10(d) by
+ *
+ * k = (i - Bias)*0.301029995663981
+ * + ( (d2-1.5)*0.289529654602168 + 0.176091259055681 );
+ *
+ * We want k to be too large rather than too small.
+ * The error in the first-order Taylor series approximation
+ * is in our favor, so we just round up the constant enough
+ * to compensate for any error in the multiplication of
+ * (i - Bias) by 0.301029995663981; since |i - Bias| <= 1077,
+ * and 1077 * 0.30103 * 2^-52 ~=~ 7.2e-14,
+ * adding 1e-13 to the constant term more than suffices.
+ * Hence we adjust the constant term to 0.1760912590558.
+ * (We could get a more accurate k by invoking log10,
+ * but this is probably not worthwhile.)
+ */
+
+ i -= Bias;
+#ifdef IBM
+ i <<= 2;
+ i += j;
+#endif
+#ifndef Sudden_Underflow
+ denorm = 0;
+ }
+ else
+ {
+ /* d is denormalized */
+
+ i = bbits + be + (Bias + (P - 1) - 1);
+ x = i > 32 ? word0 (d) << (64 - i) | word1 (d) >> (i - 32)
+ : word1 (d) << (32 - i);
+ d2.d = x;
+ word0 (d2) -= 31 * Exp_msk1; /* adjust exponent */
+ i -= (Bias + (P - 1) - 1) + 1;
+ denorm = 1;
+ }
+#endif
+ ds = (d2.d - 1.5) * 0.289529654602168 + 0.1760912590558 + i * 0.301029995663981;
+ k = (int) ds;
+ if (ds < 0. && ds != k)
+ k--; /* want k = floor(ds) */
+ k_check = 1;
+ if (k >= 0 && k <= Ten_pmax)
+ {
+ if (d.d < tens[k])
+ k--;
+ k_check = 0;
+ }
+ j = bbits - i - 1;
+ if (j >= 0)
+ {
+ b2 = 0;
+ s2 = j;
+ }
+ else
+ {
+ b2 = -j;
+ s2 = 0;
+ }
+ if (k >= 0)
+ {
+ b5 = 0;
+ s5 = k;
+ s2 += k;
+ }
+ else
+ {
+ b2 -= k;
+ b5 = -k;
+ s5 = 0;
+ }
+ if (mode < 0 || mode > 9)
+ mode = 0;
+ try_quick = 1;
+ if (mode > 5)
+ {
+ mode -= 4;
+ try_quick = 0;
+ }
+ leftright = 1;
+ switch (mode)
+ {
+ case 0:
+ case 1:
+ ilim = ilim1 = -1;
+ i = 18;
+ ndigits = 0;
+ break;
+ case 2:
+ leftright = 0;
+ /* no break */
+ case 4:
+ if (ndigits <= 0)
+ ndigits = 1;
+ ilim = ilim1 = i = ndigits;
+ break;
+ case 3:
+ leftright = 0;
+ /* no break */
+ case 5:
+ i = ndigits + k + 1;
+ ilim = i;
+ ilim1 = i - 1;
+ if (i <= 0)
+ i = 1;
+ }
+ j = sizeof (unsigned long);
+ for (ptr->_result_k = 0; (int) (sizeof (_Jv_Bigint) - sizeof (unsigned long)) + j <= i;
+ j <<= 1)
+ ptr->_result_k++;
+ ptr->_result = Balloc (ptr, ptr->_result_k);
+ s = s0 = (char *) ptr->_result;
+
+ if (ilim >= 0 && ilim <= Quick_max && try_quick)
+ {
+ /* Try to get by with floating-point arithmetic. */
+
+ i = 0;
+ d2.d = d.d;
+ k0 = k;
+ ilim0 = ilim;
+ ieps = 2; /* conservative */
+ if (k > 0)
+ {
+ ds = tens[k & 0xf];
+ j = k >> 4;
+ if (j & Bletch)
+ {
+ /* prevent overflows */
+ j &= Bletch - 1;
+ d.d /= bigtens[n_bigtens - 1];
+ ieps++;
+ }
+ for (; j; j >>= 1, i++)
+ if (j & 1)
+ {
+ ieps++;
+ ds *= bigtens[i];
+ }
+ d.d /= ds;
+ }
+ else if ((j1 = -k))
+ {
+ d.d *= tens[j1 & 0xf];
+ for (j = j1 >> 4; j; j >>= 1, i++)
+ if (j & 1)
+ {
+ ieps++;
+ d.d *= bigtens[i];
+ }
+ }
+ if (k_check && d.d < 1. && ilim > 0)
+ {
+ if (ilim1 <= 0)
+ goto fast_failed;
+ ilim = ilim1;
+ k--;
+ d.d *= 10.;
+ ieps++;
+ }
+ eps.d = ieps * d.d + 7.;
+ word0 (eps) -= (P - 1) * Exp_msk1;
+ if (ilim == 0)
+ {
+ S = mhi = 0;
+ d.d -= 5.;
+ if (d.d > eps.d)
+ goto one_digit;
+ if (d.d < -eps.d)
+ goto no_digits;
+ goto fast_failed;
+ }
+#ifndef No_leftright
+ if (leftright)
+ {
+ /* Use Steele & White method of only
+ * generating digits needed.
+ */
+ eps.d = 0.5 / tens[ilim - 1] - eps.d;
+ for (i = 0;;)
+ {
+ L = d.d;
+ d.d -= L;
+ *s++ = '0' + (int) L;
+ if (d.d < eps.d)
+ goto ret1;
+ if (1. - d.d < eps.d)
+ goto bump_up;
+ if (++i >= ilim)
+ break;
+ eps.d *= 10.;
+ d.d *= 10.;
+ }
+ }
+ else
+ {
+#endif
+ /* Generate ilim digits, then fix them up. */
+ eps.d *= tens[ilim - 1];
+ for (i = 1;; i++, d.d *= 10.)
+ {
+ L = d.d;
+ d.d -= L;
+ *s++ = '0' + (int) L;
+ if (i == ilim)
+ {
+ if (d.d > 0.5 + eps.d)
+ goto bump_up;
+ else if (d.d < 0.5 - eps.d)
+ {
+ while (*--s == '0');
+ s++;
+ goto ret1;
+ }
+ break;
+ }
+ }
+#ifndef No_leftright
+ }
+#endif
+ fast_failed:
+ s = s0;
+ d.d = d2.d;
+ k = k0;
+ ilim = ilim0;
+ }
+
+ /* Do we have a "small" integer? */
+
+ if (be >= 0 && k <= Int_max)
+ {
+ /* Yes. */
+ ds = tens[k];
+ if (ndigits < 0 && ilim <= 0)
+ {
+ S = mhi = 0;
+ if (ilim < 0 || d.d <= 5 * ds)
+ goto no_digits;
+ goto one_digit;
+ }
+ for (i = 1;; i++)
+ {
+ L = d.d / ds;
+ d.d -= L * ds;
+#ifdef Check_FLT_ROUNDS
+ /* If FLT_ROUNDS == 2, L will usually be high by 1 */
+ if (d.d < 0)
+ {
+ L--;
+ d.d += ds;
+ }
+#endif
+ *s++ = '0' + (int) L;
+ if (i == ilim)
+ {
+ d.d += d.d;
+ if (d.d > ds || (d.d == ds && L & 1))
+ {
+ bump_up:
+ while (*--s == '9')
+ if (s == s0)
+ {
+ k++;
+ *s = '0';
+ break;
+ }
+ ++*s++;
+ }
+ break;
+ }
+ if (!(d.d *= 10.))
+ break;
+ }
+ goto ret1;
+ }
+
+ m2 = b2;
+ m5 = b5;
+ mhi = mlo = 0;
+ if (leftright)
+ {
+ if (mode < 2)
+ {
+ i =
+#ifndef Sudden_Underflow
+ denorm ? be + (Bias + (P - 1) - 1 + 1) :
+#endif
+#ifdef IBM
+ 1 + 4 * P - 3 - bbits + ((bbits + be - 1) & 3);
+#else
+ 1 + P - bbits;
+#endif
+ }
+ else
+ {
+ j = ilim - 1;
+ if (m5 >= j)
+ m5 -= j;
+ else
+ {
+ s5 += j -= m5;
+ b5 += j;
+ m5 = 0;
+ }
+ if ((i = ilim) < 0)
+ {
+ m2 -= i;
+ i = 0;
+ }
+ }
+ b2 += i;
+ s2 += i;
+ mhi = i2b (ptr, 1);
+ }
+ if (m2 > 0 && s2 > 0)
+ {
+ i = m2 < s2 ? m2 : s2;
+ b2 -= i;
+ m2 -= i;
+ s2 -= i;
+ }
+ if (b5 > 0)
+ {
+ if (leftright)
+ {
+ if (m5 > 0)
+ {
+ mhi = pow5mult (ptr, mhi, m5);
+ b1 = mult (ptr, mhi, b);
+ Bfree (ptr, b);
+ b = b1;
+ }
+ if ((j = b5 - m5))
+ b = pow5mult (ptr, b, j);
+ }
+ else
+ b = pow5mult (ptr, b, b5);
+ }
+ S = i2b (ptr, 1);
+ if (s5 > 0)
+ S = pow5mult (ptr, S, s5);
+
+ /* Check for special case that d is a normalized power of 2. */
+
+ if (mode < 2)
+ {
+ if (!word1 (d) && !(word0 (d) & Bndry_mask)
+#ifndef Sudden_Underflow
+ && word0 (d) & Exp_mask
+#endif
+ )
+ {
+ /* The special case */
+ b2 += Log2P;
+ s2 += Log2P;
+ spec_case = 1;
+ }
+ else
+ spec_case = 0;
+ }
+
+ /* Arrange for convenient computation of quotients:
+ * shift left if necessary so divisor has 4 leading 0 bits.
+ *
+ * Perhaps we should just compute leading 28 bits of S once
+ * and for all and pass them and a shift to quorem, so it
+ * can do shifts and ors to compute the numerator for q.
+ */
+
+#ifdef Pack_32
+ if ((i = ((s5 ? 32 - hi0bits (S->_x[S->_wds - 1]) : 1) + s2) & 0x1f))
+ i = 32 - i;
+#else
+ if ((i = ((s5 ? 32 - hi0bits (S->_x[S->_wds - 1]) : 1) + s2) & 0xf))
+ i = 16 - i;
+#endif
+ if (i > 4)
+ {
+ i -= 4;
+ b2 += i;
+ m2 += i;
+ s2 += i;
+ }
+ else if (i < 4)
+ {
+ i += 28;
+ b2 += i;
+ m2 += i;
+ s2 += i;
+ }
+ if (b2 > 0)
+ b = lshift (ptr, b, b2);
+ if (s2 > 0)
+ S = lshift (ptr, S, s2);
+ if (k_check)
+ {
+ if (cmp (b, S) < 0)
+ {
+ k--;
+ b = multadd (ptr, b, 10, 0); /* we botched the k estimate */
+ if (leftright)
+ mhi = multadd (ptr, mhi, 10, 0);
+ ilim = ilim1;
+ }
+ }
+ if (ilim <= 0 && mode > 2)
+ {
+ if (ilim < 0 || cmp (b, S = multadd (ptr, S, 5, 0)) <= 0)
+ {
+ /* no digits, fcvt style */
+ no_digits:
+ k = -1 - ndigits;
+ goto ret;
+ }
+ one_digit:
+ *s++ = '1';
+ k++;
+ goto ret;
+ }
+ if (leftright)
+ {
+ if (m2 > 0)
+ mhi = lshift (ptr, mhi, m2);
+
+ /* Single precision case, */
+ if (float_type)
+ mhi = lshift (ptr, mhi, 29);
+
+ /* Compute mlo -- check for special case
+ * that d is a normalized power of 2.
+ */
+
+ mlo = mhi;
+ if (spec_case)
+ {
+ mhi = Balloc (ptr, mhi->_k);
+ Bcopy (mhi, mlo);
+ mhi = lshift (ptr, mhi, Log2P);
+ }
+
+ for (i = 1;; i++)
+ {
+ dig = quorem (b, S) + '0';
+ /* Do we yet have the shortest decimal string
+ * that will round to d?
+ */
+ j = cmp (b, mlo);
+ delta = diff (ptr, S, mhi);
+ j1 = delta->_sign ? 1 : cmp (b, delta);
+ Bfree (ptr, delta);
+#ifndef ROUND_BIASED
+ if (j1 == 0 && !mode && !(word1 (d) & 1))
+ {
+ if (dig == '9')
+ goto round_9_up;
+ if (j > 0)
+ dig++;
+ *s++ = dig;
+ goto ret;
+ }
+#endif
+ if (j < 0 || (j == 0 && !mode
+#ifndef ROUND_BIASED
+ && !(word1 (d) & 1)
+#endif
+ ))
+ {
+ if (j1 > 0)
+ {
+ b = lshift (ptr, b, 1);
+ j1 = cmp (b, S);
+ if ((j1 > 0 || (j1 == 0 && dig & 1))
+ && dig++ == '9')
+ goto round_9_up;
+ }
+ *s++ = dig;
+ goto ret;
+ }
+ if (j1 > 0)
+ {
+ if (dig == '9')
+ { /* possible if i == 1 */
+ round_9_up:
+ *s++ = '9';
+ goto roundoff;
+ }
+ *s++ = dig + 1;
+ goto ret;
+ }
+ *s++ = dig;
+ if (i == ilim)
+ break;
+ b = multadd (ptr, b, 10, 0);
+ if (mlo == mhi)
+ mlo = mhi = multadd (ptr, mhi, 10, 0);
+ else
+ {
+ mlo = multadd (ptr, mlo, 10, 0);
+ mhi = multadd (ptr, mhi, 10, 0);
+ }
+ }
+ }
+ else
+ for (i = 1;; i++)
+ {
+ *s++ = dig = quorem (b, S) + '0';
+ if (i >= ilim)
+ break;
+ b = multadd (ptr, b, 10, 0);
+ }
+
+ /* Round off last digit */
+
+ b = lshift (ptr, b, 1);
+ j = cmp (b, S);
+ if (j > 0 || (j == 0 && dig & 1))
+ {
+ roundoff:
+ while (*--s == '9')
+ if (s == s0)
+ {
+ k++;
+ *s++ = '1';
+ goto ret;
+ }
+ ++*s++;
+ }
+ else
+ {
+ while (*--s == '0');
+ s++;
+ }
+ret:
+ Bfree (ptr, S);
+ if (mhi)
+ {
+ if (mlo && mlo != mhi)
+ Bfree (ptr, mlo);
+ Bfree (ptr, mhi);
+ }
+ret1:
+ Bfree (ptr, b);
+ *s = 0;
+ *decpt = k + 1;
+ if (rve)
+ *rve = s;
+ return s0;
+}
+
+
+_VOID
+_DEFUN (_dtoa,
+ (_d, mode, ndigits, decpt, sign, rve, buf, float_type),
+ double _d _AND
+ int mode _AND
+ int ndigits _AND
+ int *decpt _AND
+ int *sign _AND
+ char **rve _AND
+ char *buf _AND
+ int float_type)
+{
+ struct _Jv_reent reent;
+ char *p;
+ memset (&reent, 0, sizeof reent);
+
+ p = _dtoa_r (&reent, _d, mode, ndigits, decpt, sign, rve, float_type);
+ strcpy (buf, p);
+
+ return;
+}
+
+
diff --git a/libjava/java/lang/e_acos.c b/libjava/java/lang/e_acos.c
new file mode 100644
index 0000000..319b1d5
--- /dev/null
+++ b/libjava/java/lang/e_acos.c
@@ -0,0 +1,111 @@
+
+/* @(#)e_acos.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_acos(x)
+ * Method :
+ * acos(x) = pi/2 - asin(x)
+ * acos(-x) = pi/2 + asin(x)
+ * For |x|<=0.5
+ * acos(x) = pi/2 - (x + x*x^2*R(x^2)) (see asin.c)
+ * For x>0.5
+ * acos(x) = pi/2 - (pi/2 - 2asin(sqrt((1-x)/2)))
+ * = 2asin(sqrt((1-x)/2))
+ * = 2s + 2s*z*R(z) ...z=(1-x)/2, s=sqrt(z)
+ * = 2f + (2c + 2s*z*R(z))
+ * where f=hi part of s, and c = (z-f*f)/(s+f) is the correction term
+ * for f so that f+c ~ sqrt(z).
+ * For x<-0.5
+ * acos(x) = pi - 2asin(sqrt((1-|x|)/2))
+ * = pi - 0.5*(s+s*z*R(z)), where z=(1-|x|)/2,s=sqrt(z)
+ *
+ * Special cases:
+ * if x is NaN, return x itself;
+ * if |x|>1, return NaN with invalid signal.
+ *
+ * Function needed: sqrt
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+one= 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
+pi = 3.14159265358979311600e+00, /* 0x400921FB, 0x54442D18 */
+pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */
+pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */
+pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */
+pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */
+pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */
+pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */
+pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */
+pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */
+qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */
+qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */
+qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */
+qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
+
+#ifdef __STDC__
+ double __ieee754_acos(double x)
+#else
+ double __ieee754_acos(x)
+ double x;
+#endif
+{
+ double z,p,q,r,w,s,c,df;
+ __int32_t hx,ix;
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x3ff00000) { /* |x| >= 1 */
+ __uint32_t lx;
+ GET_LOW_WORD(lx,x);
+ if(((ix-0x3ff00000)|lx)==0) { /* |x|==1 */
+ if(hx>0) return 0.0; /* acos(1) = 0 */
+ else return pi+2.0*pio2_lo; /* acos(-1)= pi */
+ }
+ return (x-x)/(x-x); /* acos(|x|>1) is NaN */
+ }
+ if(ix<0x3fe00000) { /* |x| < 0.5 */
+ if(ix<=0x3c600000) return pio2_hi+pio2_lo;/*if|x|<2**-57*/
+ z = x*x;
+ p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
+ q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
+ r = p/q;
+ return pio2_hi - (x - (pio2_lo-x*r));
+ } else if (hx<0) { /* x < -0.5 */
+ z = (one+x)*0.5;
+ p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
+ q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
+ s = __ieee754_sqrt(z);
+ r = p/q;
+ w = r*s-pio2_lo;
+ return pi - 2.0*(s+w);
+ } else { /* x > 0.5 */
+ z = (one-x)*0.5;
+ s = __ieee754_sqrt(z);
+ df = s;
+ SET_LOW_WORD(df,0);
+ c = (z-df*df)/(s+df);
+ p = z*(pS0+z*(pS1+z*(pS2+z*(pS3+z*(pS4+z*pS5)))));
+ q = one+z*(qS1+z*(qS2+z*(qS3+z*qS4)));
+ r = p/q;
+ w = r*s+c;
+ return 2.0*(df+w);
+ }
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_asin.c b/libjava/java/lang/e_asin.c
new file mode 100644
index 0000000..559f288
--- /dev/null
+++ b/libjava/java/lang/e_asin.c
@@ -0,0 +1,120 @@
+
+/* @(#)e_asin.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_asin(x)
+ * Method :
+ * Since asin(x) = x + x^3/6 + x^5*3/40 + x^7*15/336 + ...
+ * we approximate asin(x) on [0,0.5] by
+ * asin(x) = x + x*x^2*R(x^2)
+ * where
+ * R(x^2) is a rational approximation of (asin(x)-x)/x^3
+ * and its remez error is bounded by
+ * |(asin(x)-x)/x^3 - R(x^2)| < 2^(-58.75)
+ *
+ * For x in [0.5,1]
+ * asin(x) = pi/2-2*asin(sqrt((1-x)/2))
+ * Let y = (1-x), z = y/2, s := sqrt(z), and pio2_hi+pio2_lo=pi/2;
+ * then for x>0.98
+ * asin(x) = pi/2 - 2*(s+s*z*R(z))
+ * = pio2_hi - (2*(s+s*z*R(z)) - pio2_lo)
+ * For x<=0.98, let pio4_hi = pio2_hi/2, then
+ * f = hi part of s;
+ * c = sqrt(z) - f = (z-f*f)/(s+f) ...f+c=sqrt(z)
+ * and
+ * asin(x) = pi/2 - 2*(s+s*z*R(z))
+ * = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo)
+ * = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c))
+ *
+ * Special cases:
+ * if x is NaN, return x itself;
+ * if |x|>1, return NaN with invalid signal.
+ *
+ */
+
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
+huge = 1.000e+300,
+pio2_hi = 1.57079632679489655800e+00, /* 0x3FF921FB, 0x54442D18 */
+pio2_lo = 6.12323399573676603587e-17, /* 0x3C91A626, 0x33145C07 */
+pio4_hi = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */
+ /* coefficient for R(x^2) */
+pS0 = 1.66666666666666657415e-01, /* 0x3FC55555, 0x55555555 */
+pS1 = -3.25565818622400915405e-01, /* 0xBFD4D612, 0x03EB6F7D */
+pS2 = 2.01212532134862925881e-01, /* 0x3FC9C155, 0x0E884455 */
+pS3 = -4.00555345006794114027e-02, /* 0xBFA48228, 0xB5688F3B */
+pS4 = 7.91534994289814532176e-04, /* 0x3F49EFE0, 0x7501B288 */
+pS5 = 3.47933107596021167570e-05, /* 0x3F023DE1, 0x0DFDF709 */
+qS1 = -2.40339491173441421878e+00, /* 0xC0033A27, 0x1C8A2D4B */
+qS2 = 2.02094576023350569471e+00, /* 0x40002AE5, 0x9C598AC8 */
+qS3 = -6.88283971605453293030e-01, /* 0xBFE6066C, 0x1B8D0159 */
+qS4 = 7.70381505559019352791e-02; /* 0x3FB3B8C5, 0xB12E9282 */
+
+#ifdef __STDC__
+ double __ieee754_asin(double x)
+#else
+ double __ieee754_asin(x)
+ double x;
+#endif
+{
+ double t,w,p,q,c,r,s;
+ __int32_t hx,ix;
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>= 0x3ff00000) { /* |x|>= 1 */
+ __uint32_t lx;
+ GET_LOW_WORD(lx,x);
+ if(((ix-0x3ff00000)|lx)==0)
+ /* asin(1)=+-pi/2 with inexact */
+ return x*pio2_hi+x*pio2_lo;
+ return (x-x)/(x-x); /* asin(|x|>1) is NaN */
+ } else if (ix<0x3fe00000) { /* |x|<0.5 */
+ if(ix<0x3e400000) { /* if |x| < 2**-27 */
+ if(huge+x>one) return x;/* return x with inexact if x!=0*/
+ } else
+ t = x*x;
+ p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5)))));
+ q = one+t*(qS1+t*(qS2+t*(qS3+t*qS4)));
+ w = p/q;
+ return x+x*w;
+ }
+ /* 1> |x|>= 0.5 */
+ w = one-fabs(x);
+ t = w*0.5;
+ p = t*(pS0+t*(pS1+t*(pS2+t*(pS3+t*(pS4+t*pS5)))));
+ q = one+t*(qS1+t*(qS2+t*(qS3+t*qS4)));
+ s = __ieee754_sqrt(t);
+ if(ix>=0x3FEF3333) { /* if |x| > 0.975 */
+ w = p/q;
+ t = pio2_hi-(2.0*(s+s*w)-pio2_lo);
+ } else {
+ w = s;
+ SET_LOW_WORD(w,0);
+ c = (t-w*w)/(s+w);
+ r = p/q;
+ p = 2.0*s*r-(pio2_lo-2.0*c);
+ q = pio4_hi-2.0*w;
+ t = pio4_hi-(p-q);
+ }
+ if(hx>0) return t; else return -t;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_atan2.c b/libjava/java/lang/e_atan2.c
new file mode 100644
index 0000000..8e9650f
--- /dev/null
+++ b/libjava/java/lang/e_atan2.c
@@ -0,0 +1,131 @@
+
+/* @(#)e_atan2.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/* __ieee754_atan2(y,x)
+ * Method :
+ * 1. Reduce y to positive by atan2(y,x)=-atan2(-y,x).
+ * 2. Reduce x to positive by (if x and y are unexceptional):
+ * ARG (x+iy) = arctan(y/x) ... if x > 0,
+ * ARG (x+iy) = pi - arctan[y/(-x)] ... if x < 0,
+ *
+ * Special cases:
+ *
+ * ATAN2((anything), NaN ) is NaN;
+ * ATAN2(NAN , (anything) ) is NaN;
+ * ATAN2(+-0, +(anything but NaN)) is +-0 ;
+ * ATAN2(+-0, -(anything but NaN)) is +-pi ;
+ * ATAN2(+-(anything but 0 and NaN), 0) is +-pi/2;
+ * ATAN2(+-(anything but INF and NaN), +INF) is +-0 ;
+ * ATAN2(+-(anything but INF and NaN), -INF) is +-pi;
+ * ATAN2(+-INF,+INF ) is +-pi/4 ;
+ * ATAN2(+-INF,-INF ) is +-3pi/4;
+ * ATAN2(+-INF, (anything but,0,NaN, and INF)) is +-pi/2;
+ *
+ * Constants:
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
+ * to produce the hexadecimal values shown.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+tiny = 1.0e-300,
+zero = 0.0,
+pi_o_4 = 7.8539816339744827900E-01, /* 0x3FE921FB, 0x54442D18 */
+pi_o_2 = 1.5707963267948965580E+00, /* 0x3FF921FB, 0x54442D18 */
+pi = 3.1415926535897931160E+00, /* 0x400921FB, 0x54442D18 */
+pi_lo = 1.2246467991473531772E-16; /* 0x3CA1A626, 0x33145C07 */
+
+#ifdef __STDC__
+ double __ieee754_atan2(double y, double x)
+#else
+ double __ieee754_atan2(y,x)
+ double y,x;
+#endif
+{
+ double z;
+ __int32_t k,m,hx,hy,ix,iy;
+ __uint32_t lx,ly;
+
+ EXTRACT_WORDS(hx,lx,x);
+ ix = hx&0x7fffffff;
+ EXTRACT_WORDS(hy,ly,y);
+ iy = hy&0x7fffffff;
+ if(((ix|((lx|-lx)>>31))>0x7ff00000)||
+ ((iy|((ly|-ly)>>31))>0x7ff00000)) /* x or y is NaN */
+ return x+y;
+ if(((hx-0x3ff00000)|lx)==0) return atan(y); /* x=1.0 */
+ m = ((hy>>31)&1)|((hx>>30)&2); /* 2*sign(x)+sign(y) */
+
+ /* when y = 0 */
+ if((iy|ly)==0) {
+ switch(m) {
+ case 0:
+ case 1: return y; /* atan(+-0,+anything)=+-0 */
+ case 2: return pi+tiny;/* atan(+0,-anything) = pi */
+ case 3: return -pi-tiny;/* atan(-0,-anything) =-pi */
+ }
+ }
+ /* when x = 0 */
+ if((ix|lx)==0) return (hy<0)? -pi_o_2-tiny: pi_o_2+tiny;
+
+ /* when x is INF */
+ if(ix==0x7ff00000) {
+ if(iy==0x7ff00000) {
+ switch(m) {
+ case 0: return pi_o_4+tiny;/* atan(+INF,+INF) */
+ case 1: return -pi_o_4-tiny;/* atan(-INF,+INF) */
+ case 2: return 3.0*pi_o_4+tiny;/*atan(+INF,-INF)*/
+ case 3: return -3.0*pi_o_4-tiny;/*atan(-INF,-INF)*/
+ }
+ } else {
+ switch(m) {
+ case 0: return zero ; /* atan(+...,+INF) */
+ case 1: return -zero ; /* atan(-...,+INF) */
+ case 2: return pi+tiny ; /* atan(+...,-INF) */
+ case 3: return -pi-tiny ; /* atan(-...,-INF) */
+ }
+ }
+ }
+ /* when y is INF */
+ if(iy==0x7ff00000) return (hy<0)? -pi_o_2-tiny: pi_o_2+tiny;
+
+ /* compute y/x */
+ k = (iy-ix)>>20;
+ if(k > 60) z=pi_o_2+0.5*pi_lo; /* |y/x| > 2**60 */
+ else if(hx<0&&k<-60) z=0.0; /* |y|/x < -2**60 */
+ else z=atan(fabs(y/x)); /* safe to do y/x */
+ switch (m) {
+ case 0: return z ; /* atan(+,+) */
+ case 1: {
+ __uint32_t zh;
+ GET_HIGH_WORD(zh,z);
+ SET_HIGH_WORD(z,zh ^ 0x80000000);
+ }
+ return z ; /* atan(-,+) */
+ case 2: return pi-(z-pi_lo);/* atan(+,-) */
+ default: /* case 3 */
+ return (z-pi_lo)-pi;/* atan(-,-) */
+ }
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_exp.c b/libjava/java/lang/e_exp.c
new file mode 100644
index 0000000..ce093c6
--- /dev/null
+++ b/libjava/java/lang/e_exp.c
@@ -0,0 +1,167 @@
+
+/* @(#)e_exp.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_exp(x)
+ * Returns the exponential of x.
+ *
+ * Method
+ * 1. Argument reduction:
+ * Reduce x to an r so that |r| <= 0.5*ln2 ~ 0.34658.
+ * Given x, find r and integer k such that
+ *
+ * x = k*ln2 + r, |r| <= 0.5*ln2.
+ *
+ * Here r will be represented as r = hi-lo for better
+ * accuracy.
+ *
+ * 2. Approximation of exp(r) by a special rational function on
+ * the interval [0,0.34658]:
+ * Write
+ * R(r**2) = r*(exp(r)+1)/(exp(r)-1) = 2 + r*r/6 - r**4/360 + ...
+ * We use a special Reme algorithm on [0,0.34658] to generate
+ * a polynomial of degree 5 to approximate R. The maximum error
+ * of this polynomial approximation is bounded by 2**-59. In
+ * other words,
+ * R(z) ~ 2.0 + P1*z + P2*z**2 + P3*z**3 + P4*z**4 + P5*z**5
+ * (where z=r*r, and the values of P1 to P5 are listed below)
+ * and
+ * | 5 | -59
+ * | 2.0+P1*z+...+P5*z - R(z) | <= 2
+ * | |
+ * The computation of exp(r) thus becomes
+ * 2*r
+ * exp(r) = 1 + -------
+ * R - r
+ * r*R1(r)
+ * = 1 + r + ----------- (for better accuracy)
+ * 2 - R1(r)
+ * where
+ * 2 4 10
+ * R1(r) = r - (P1*r + P2*r + ... + P5*r ).
+ *
+ * 3. Scale back to obtain exp(x):
+ * From step 1, we have
+ * exp(x) = 2^k * exp(r)
+ *
+ * Special cases:
+ * exp(INF) is INF, exp(NaN) is NaN;
+ * exp(-INF) is 0, and
+ * for finite argument, only exp(0)=1 is exact.
+ *
+ * Accuracy:
+ * according to an error analysis, the error is always less than
+ * 1 ulp (unit in the last place).
+ *
+ * Misc. info.
+ * For IEEE double
+ * if x > 7.09782712893383973096e+02 then exp(x) overflow
+ * if x < -7.45133219101941108420e+02 then exp(x) underflow
+ *
+ * Constants:
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
+ * to produce the hexadecimal values shown.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+one = 1.0,
+halF[2] = {0.5,-0.5,},
+huge = 1.0e+300,
+twom1000= 9.33263618503218878990e-302, /* 2**-1000=0x01700000,0*/
+o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */
+u_threshold= -7.45133219101941108420e+02, /* 0xc0874910, 0xD52D3051 */
+ln2HI[2] ={ 6.93147180369123816490e-01, /* 0x3fe62e42, 0xfee00000 */
+ -6.93147180369123816490e-01,},/* 0xbfe62e42, 0xfee00000 */
+ln2LO[2] ={ 1.90821492927058770002e-10, /* 0x3dea39ef, 0x35793c76 */
+ -1.90821492927058770002e-10,},/* 0xbdea39ef, 0x35793c76 */
+invln2 = 1.44269504088896338700e+00, /* 0x3ff71547, 0x652b82fe */
+P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */
+P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */
+P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */
+P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */
+P5 = 4.13813679705723846039e-08; /* 0x3E663769, 0x72BEA4D0 */
+
+
+#ifdef __STDC__
+ double __ieee754_exp(double x) /* default IEEE double exp */
+#else
+ double __ieee754_exp(x) /* default IEEE double exp */
+ double x;
+#endif
+{
+ double y,hi,lo,c,t;
+ __int32_t k,xsb;
+ __uint32_t hx;
+
+ GET_HIGH_WORD(hx,x);
+ xsb = (hx>>31)&1; /* sign bit of x */
+ hx &= 0x7fffffff; /* high word of |x| */
+
+ /* filter out non-finite argument */
+ if(hx >= 0x40862E42) { /* if |x|>=709.78... */
+ if(hx>=0x7ff00000) {
+ __uint32_t lx;
+ GET_LOW_WORD(lx,x);
+ if(((hx&0xfffff)|lx)!=0)
+ return x+x; /* NaN */
+ else return (xsb==0)? x:0.0; /* exp(+-inf)={inf,0} */
+ }
+ if(x > o_threshold) return huge*huge; /* overflow */
+ if(x < u_threshold) return twom1000*twom1000; /* underflow */
+ }
+
+ /* argument reduction */
+ if(hx > 0x3fd62e42) { /* if |x| > 0.5 ln2 */
+ if(hx < 0x3FF0A2B2) { /* and |x| < 1.5 ln2 */
+ hi = x-ln2HI[xsb]; lo=ln2LO[xsb]; k = 1-xsb-xsb;
+ } else {
+ k = invln2*x+halF[xsb];
+ t = k;
+ hi = x - t*ln2HI[0]; /* t*ln2HI is exact here */
+ lo = t*ln2LO[0];
+ }
+ x = hi - lo;
+ }
+ else if(hx < 0x3e300000) { /* when |x|<2**-28 */
+ if(huge+x>one) return one+x;/* trigger inexact */
+ }
+ else k = 0;
+
+ /* x is now in primary range */
+ t = x*x;
+ c = x - t*(P1+t*(P2+t*(P3+t*(P4+t*P5))));
+ if(k==0) return one-((x*c)/(c-2.0)-x);
+ else y = one-((lo-(x*c)/(2.0-c))-hi);
+ if(k >= -1021) {
+ __uint32_t hy;
+ GET_HIGH_WORD(hy,y);
+ SET_HIGH_WORD(y,hy+(k<<20)); /* add k to y's exponent */
+ return y;
+ } else {
+ __uint32_t hy;
+ GET_HIGH_WORD(hy,y);
+ SET_HIGH_WORD(y,hy+((k+1000)<<20)); /* add k to y's exponent */
+ return y*twom1000;
+ }
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_fmod.c b/libjava/java/lang/e_fmod.c
new file mode 100644
index 0000000..f9739ee
--- /dev/null
+++ b/libjava/java/lang/e_fmod.c
@@ -0,0 +1,140 @@
+
+/* @(#)e_fmod.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * __ieee754_fmod(x,y)
+ * Return x mod y in exact arithmetic
+ * Method: shift and subtract
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double one = 1.0, Zero[] = {0.0, -0.0,};
+#else
+static double one = 1.0, Zero[] = {0.0, -0.0,};
+#endif
+
+#ifdef __STDC__
+ double __ieee754_fmod(double x, double y)
+#else
+ double __ieee754_fmod(x,y)
+ double x,y ;
+#endif
+{
+ __int32_t n,hx,hy,hz,ix,iy,sx,i;
+ __uint32_t lx,ly,lz;
+
+ EXTRACT_WORDS(hx,lx,x);
+ EXTRACT_WORDS(hy,ly,y);
+ sx = hx&0x80000000; /* sign of x */
+ hx ^=sx; /* |x| */
+ hy &= 0x7fffffff; /* |y| */
+
+ /* purge off exception values */
+ if((hy|ly)==0||(hx>=0x7ff00000)|| /* y=0,or x not finite */
+ ((hy|((ly|-ly)>>31))>0x7ff00000)) /* or y is NaN */
+ return (x*y)/(x*y);
+ if(hx<=hy) {
+ if((hx<hy)||(lx<ly)) return x; /* |x|<|y| return x */
+ if(lx==ly)
+ return Zero[(__uint32_t)sx>>31]; /* |x|=|y| return x*0*/
+ }
+
+ /* determine ix = ilogb(x) */
+ if(hx<0x00100000) { /* subnormal x */
+ if(hx==0) {
+ for (ix = -1043, i=lx; i>0; i<<=1) ix -=1;
+ } else {
+ for (ix = -1022,i=(hx<<11); i>0; i<<=1) ix -=1;
+ }
+ } else ix = (hx>>20)-1023;
+
+ /* determine iy = ilogb(y) */
+ if(hy<0x00100000) { /* subnormal y */
+ if(hy==0) {
+ for (iy = -1043, i=ly; i>0; i<<=1) iy -=1;
+ } else {
+ for (iy = -1022,i=(hy<<11); i>0; i<<=1) iy -=1;
+ }
+ } else iy = (hy>>20)-1023;
+
+ /* set up {hx,lx}, {hy,ly} and align y to x */
+ if(ix >= -1022)
+ hx = 0x00100000|(0x000fffff&hx);
+ else { /* subnormal x, shift x to normal */
+ n = -1022-ix;
+ if(n<=31) {
+ hx = (hx<<n)|(lx>>(32-n));
+ lx <<= n;
+ } else {
+ hx = lx<<(n-32);
+ lx = 0;
+ }
+ }
+ if(iy >= -1022)
+ hy = 0x00100000|(0x000fffff&hy);
+ else { /* subnormal y, shift y to normal */
+ n = -1022-iy;
+ if(n<=31) {
+ hy = (hy<<n)|(ly>>(32-n));
+ ly <<= n;
+ } else {
+ hy = ly<<(n-32);
+ ly = 0;
+ }
+ }
+
+ /* fix point fmod */
+ n = ix - iy;
+ while(n--) {
+ hz=hx-hy;lz=lx-ly; if(lx<ly) hz -= 1;
+ if(hz<0){hx = hx+hx+(lx>>31); lx = lx+lx;}
+ else {
+ if((hz|lz)==0) /* return sign(x)*0 */
+ return Zero[(__uint32_t)sx>>31];
+ hx = hz+hz+(lz>>31); lx = lz+lz;
+ }
+ }
+ hz=hx-hy;lz=lx-ly; if(lx<ly) hz -= 1;
+ if(hz>=0) {hx=hz;lx=lz;}
+
+ /* convert back to floating value and restore the sign */
+ if((hx|lx)==0) /* return sign(x)*0 */
+ return Zero[(__uint32_t)sx>>31];
+ while(hx<0x00100000) { /* normalize x */
+ hx = hx+hx+(lx>>31); lx = lx+lx;
+ iy -= 1;
+ }
+ if(iy>= -1022) { /* normalize output */
+ hx = ((hx-0x00100000)|((iy+1023)<<20));
+ INSERT_WORDS(x,hx|sx,lx);
+ } else { /* subnormal output */
+ n = -1022 - iy;
+ if(n<=20) {
+ lx = (lx>>n)|((__uint32_t)hx<<(32-n));
+ hx >>= n;
+ } else if (n<=31) {
+ lx = (hx<<(32-n))|(lx>>n); hx = sx;
+ } else {
+ lx = hx>>(n-32); hx = sx;
+ }
+ INSERT_WORDS(x,hx|sx,lx);
+ x *= one; /* create necessary signal */
+ }
+ return x; /* exact output */
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_log.c b/libjava/java/lang/e_log.c
new file mode 100644
index 0000000..ea6c55f
--- /dev/null
+++ b/libjava/java/lang/e_log.c
@@ -0,0 +1,152 @@
+
+/* @(#)e_log.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_log(x)
+ * Return the logrithm of x
+ *
+ * Method :
+ * 1. Argument Reduction: find k and f such that
+ * x = 2^k * (1+f),
+ * where sqrt(2)/2 < 1+f < sqrt(2) .
+ *
+ * 2. Approximation of log(1+f).
+ * Let s = f/(2+f) ; based on log(1+f) = log(1+s) - log(1-s)
+ * = 2s + 2/3 s**3 + 2/5 s**5 + .....,
+ * = 2s + s*R
+ * We use a special Reme algorithm on [0,0.1716] to generate
+ * a polynomial of degree 14 to approximate R The maximum error
+ * of this polynomial approximation is bounded by 2**-58.45. In
+ * other words,
+ * 2 4 6 8 10 12 14
+ * R(z) ~ Lg1*s +Lg2*s +Lg3*s +Lg4*s +Lg5*s +Lg6*s +Lg7*s
+ * (the values of Lg1 to Lg7 are listed in the program)
+ * and
+ * | 2 14 | -58.45
+ * | Lg1*s +...+Lg7*s - R(z) | <= 2
+ * | |
+ * Note that 2s = f - s*f = f - hfsq + s*hfsq, where hfsq = f*f/2.
+ * In order to guarantee error in log below 1ulp, we compute log
+ * by
+ * log(1+f) = f - s*(f - R) (if f is not too large)
+ * log(1+f) = f - (hfsq - s*(hfsq+R)). (better accuracy)
+ *
+ * 3. Finally, log(x) = k*ln2 + log(1+f).
+ * = k*ln2_hi+(f-(hfsq-(s*(hfsq+R)+k*ln2_lo)))
+ * Here ln2 is split into two floating point number:
+ * ln2_hi + ln2_lo,
+ * where n*ln2_hi is always exact for |n| < 2000.
+ *
+ * Special cases:
+ * log(x) is NaN with signal if x < 0 (including -INF) ;
+ * log(+INF) is +INF; log(0) is -INF with signal;
+ * log(NaN) is that NaN with no signal.
+ *
+ * Accuracy:
+ * according to an error analysis, the error is always less than
+ * 1 ulp (unit in the last place).
+ *
+ * Constants:
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
+ * to produce the hexadecimal values shown.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+ln2_hi = 6.93147180369123816490e-01, /* 3fe62e42 fee00000 */
+ln2_lo = 1.90821492927058770002e-10, /* 3dea39ef 35793c76 */
+two54 = 1.80143985094819840000e+16, /* 43500000 00000000 */
+Lg1 = 6.666666666666735130e-01, /* 3FE55555 55555593 */
+Lg2 = 3.999999999940941908e-01, /* 3FD99999 9997FA04 */
+Lg3 = 2.857142874366239149e-01, /* 3FD24924 94229359 */
+Lg4 = 2.222219843214978396e-01, /* 3FCC71C5 1D8E78AF */
+Lg5 = 1.818357216161805012e-01, /* 3FC74664 96CB03DE */
+Lg6 = 1.531383769920937332e-01, /* 3FC39A09 D078C69F */
+Lg7 = 1.479819860511658591e-01; /* 3FC2F112 DF3E5244 */
+
+#ifdef __STDC__
+static const double zero = 0.0;
+#else
+static double zero = 0.0;
+#endif
+
+#ifdef __STDC__
+ double __ieee754_log(double x)
+#else
+ double __ieee754_log(x)
+ double x;
+#endif
+{
+ double hfsq,f,s,z,R,w,t1,t2,dk;
+ __int32_t k,hx,i,j;
+ __uint32_t lx;
+
+ EXTRACT_WORDS(hx,lx,x);
+
+ k=0;
+ if (hx < 0x00100000) { /* x < 2**-1022 */
+ if (((hx&0x7fffffff)|lx)==0)
+ return -two54/zero; /* log(+-0)=-inf */
+ if (hx<0) return (x-x)/zero; /* log(-#) = NaN */
+ k -= 54; x *= two54; /* subnormal number, scale up x */
+ GET_HIGH_WORD(hx,x);
+ }
+ if (hx >= 0x7ff00000) return x+x;
+ k += (hx>>20)-1023;
+ hx &= 0x000fffff;
+ i = (hx+0x95f64)&0x100000;
+ SET_HIGH_WORD(x,hx|(i^0x3ff00000)); /* normalize x or x/2 */
+ k += (i>>20);
+ f = x-1.0;
+ if((0x000fffff&(2+hx))<3) { /* |f| < 2**-20 */
+ if(f==zero) {
+ if(k==0)
+ return zero;
+ else {
+ dk=(double)k;
+ return dk*ln2_hi+dk*ln2_lo;
+ }
+ }
+ R = f*f*(0.5-0.33333333333333333*f);
+ if(k==0) return f-R; else {dk=(double)k;
+ return dk*ln2_hi-((R-dk*ln2_lo)-f);}
+ }
+ s = f/(2.0+f);
+ dk = (double)k;
+ z = s*s;
+ i = hx-0x6147a;
+ w = z*z;
+ j = 0x6b851-hx;
+ t1= w*(Lg2+w*(Lg4+w*Lg6));
+ t2= z*(Lg1+w*(Lg3+w*(Lg5+w*Lg7)));
+ i |= j;
+ R = t2+t1;
+ if(i>0) {
+ hfsq=0.5*f*f;
+ if(k==0) return f-(hfsq-s*(hfsq+R)); else
+ return dk*ln2_hi-((hfsq-(s*(hfsq+R)+dk*ln2_lo))-f);
+ } else {
+ if(k==0) return f-s*(f-R); else
+ return dk*ln2_hi-((s*(f-R)-dk*ln2_lo)-f);
+ }
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_pow.c b/libjava/java/lang/e_pow.c
new file mode 100644
index 0000000..f078dff
--- /dev/null
+++ b/libjava/java/lang/e_pow.c
@@ -0,0 +1,312 @@
+
+/* @(#)e_pow.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_pow(x,y) return x**y
+ *
+ * n
+ * Method: Let x = 2 * (1+f)
+ * 1. Compute and return log2(x) in two pieces:
+ * log2(x) = w1 + w2,
+ * where w1 has 53-24 = 29 bit trailing zeros.
+ * 2. Perform y*log2(x) = n+y' by simulating muti-precision
+ * arithmetic, where |y'|<=0.5.
+ * 3. Return x**y = 2**n*exp(y'*log2)
+ *
+ * Special cases:
+ * 1. (anything) ** 0 is 1
+ * 2. (anything) ** 1 is itself
+ * 3. (anything) ** NAN is NAN
+ * 4. NAN ** (anything except 0) is NAN
+ * 5. +-(|x| > 1) ** +INF is +INF
+ * 6. +-(|x| > 1) ** -INF is +0
+ * 7. +-(|x| < 1) ** +INF is +0
+ * 8. +-(|x| < 1) ** -INF is +INF
+ * 9. +-1 ** +-INF is NAN
+ * 10. +0 ** (+anything except 0, NAN) is +0
+ * 11. -0 ** (+anything except 0, NAN, odd integer) is +0
+ * 12. +0 ** (-anything except 0, NAN) is +INF
+ * 13. -0 ** (-anything except 0, NAN, odd integer) is +INF
+ * 14. -0 ** (odd integer) = -( +0 ** (odd integer) )
+ * 15. +INF ** (+anything except 0,NAN) is +INF
+ * 16. +INF ** (-anything except 0,NAN) is +0
+ * 17. -INF ** (anything) = -0 ** (-anything)
+ * 18. (-anything) ** (integer) is (-1)**(integer)*(+anything**integer)
+ * 19. (-anything except 0 and inf) ** (non-integer) is NAN
+ *
+ * Accuracy:
+ * pow(x,y) returns x**y nearly rounded. In particular
+ * pow(integer,integer)
+ * always returns the correct integer provided it is
+ * representable.
+ *
+ * Constants :
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
+ * to produce the hexadecimal values shown.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+bp[] = {1.0, 1.5,},
+dp_h[] = { 0.0, 5.84962487220764160156e-01,}, /* 0x3FE2B803, 0x40000000 */
+dp_l[] = { 0.0, 1.35003920212974897128e-08,}, /* 0x3E4CFDEB, 0x43CFD006 */
+zero = 0.0,
+one = 1.0,
+two = 2.0,
+two53 = 9007199254740992.0, /* 0x43400000, 0x00000000 */
+huge = 1.0e300,
+tiny = 1.0e-300,
+ /* poly coefs for (3/2)*(log(x)-2s-2/3*s**3 */
+L1 = 5.99999999999994648725e-01, /* 0x3FE33333, 0x33333303 */
+L2 = 4.28571428578550184252e-01, /* 0x3FDB6DB6, 0xDB6FABFF */
+L3 = 3.33333329818377432918e-01, /* 0x3FD55555, 0x518F264D */
+L4 = 2.72728123808534006489e-01, /* 0x3FD17460, 0xA91D4101 */
+L5 = 2.30660745775561754067e-01, /* 0x3FCD864A, 0x93C9DB65 */
+L6 = 2.06975017800338417784e-01, /* 0x3FCA7E28, 0x4A454EEF */
+P1 = 1.66666666666666019037e-01, /* 0x3FC55555, 0x5555553E */
+P2 = -2.77777777770155933842e-03, /* 0xBF66C16C, 0x16BEBD93 */
+P3 = 6.61375632143793436117e-05, /* 0x3F11566A, 0xAF25DE2C */
+P4 = -1.65339022054652515390e-06, /* 0xBEBBBD41, 0xC5D26BF1 */
+P5 = 4.13813679705723846039e-08, /* 0x3E663769, 0x72BEA4D0 */
+lg2 = 6.93147180559945286227e-01, /* 0x3FE62E42, 0xFEFA39EF */
+lg2_h = 6.93147182464599609375e-01, /* 0x3FE62E43, 0x00000000 */
+lg2_l = -1.90465429995776804525e-09, /* 0xBE205C61, 0x0CA86C39 */
+ovt = 8.0085662595372944372e-0017, /* -(1024-log2(ovfl+.5ulp)) */
+cp = 9.61796693925975554329e-01, /* 0x3FEEC709, 0xDC3A03FD =2/(3ln2) */
+cp_h = 9.61796700954437255859e-01, /* 0x3FEEC709, 0xE0000000 =(float)cp */
+cp_l = -7.02846165095275826516e-09, /* 0xBE3E2FE0, 0x145B01F5 =tail of cp_h*/
+ivln2 = 1.44269504088896338700e+00, /* 0x3FF71547, 0x652B82FE =1/ln2 */
+ivln2_h = 1.44269502162933349609e+00, /* 0x3FF71547, 0x60000000 =24b 1/ln2*/
+ivln2_l = 1.92596299112661746887e-08; /* 0x3E54AE0B, 0xF85DDF44 =1/ln2 tail*/
+
+#ifdef __STDC__
+ double __ieee754_pow(double x, double y)
+#else
+ double __ieee754_pow(x,y)
+ double x, y;
+#endif
+{
+ double z,ax,z_h,z_l,p_h,p_l;
+ double y1,t1,t2,r,s,t,u,v,w;
+ __int32_t i,j,k,yisint,n;
+ __int32_t hx,hy,ix,iy;
+ __uint32_t lx,ly;
+
+ EXTRACT_WORDS(hx,lx,x);
+ EXTRACT_WORDS(hy,ly,y);
+ ix = hx&0x7fffffff; iy = hy&0x7fffffff;
+
+ /* y==zero: x**0 = 1 */
+ if((iy|ly)==0) return one;
+
+ /* +-NaN return x+y */
+ if(ix > 0x7ff00000 || ((ix==0x7ff00000)&&(lx!=0)) ||
+ iy > 0x7ff00000 || ((iy==0x7ff00000)&&(ly!=0)))
+ return x+y;
+
+ /* determine if y is an odd int when x < 0
+ * yisint = 0 ... y is not an integer
+ * yisint = 1 ... y is an odd int
+ * yisint = 2 ... y is an even int
+ */
+ yisint = 0;
+ if(hx<0) {
+ if(iy>=0x43400000) yisint = 2; /* even integer y */
+ else if(iy>=0x3ff00000) {
+ k = (iy>>20)-0x3ff; /* exponent */
+ if(k>20) {
+ j = ly>>(52-k);
+ if((__uint32_t)(j<<(52-k))==ly) yisint = 2-(j&1);
+ } else if(ly==0) {
+ j = iy>>(20-k);
+ if((j<<(20-k))==iy) yisint = 2-(j&1);
+ }
+ }
+ }
+
+ /* special value of y */
+ if(ly==0) {
+ if (iy==0x7ff00000) { /* y is +-inf */
+ if(((ix-0x3ff00000)|lx)==0)
+ return y - y; /* inf**+-1 is NaN */
+ else if (ix >= 0x3ff00000)/* (|x|>1)**+-inf = inf,0 */
+ return (hy>=0)? y: zero;
+ else /* (|x|<1)**-,+inf = inf,0 */
+ return (hy<0)?-y: zero;
+ }
+ if(iy==0x3ff00000) { /* y is +-1 */
+ if(hy<0) return one/x; else return x;
+ }
+ if(hy==0x40000000) return x*x; /* y is 2 */
+ if(hy==0x3fe00000) { /* y is 0.5 */
+ if(hx>=0) /* x >= +0 */
+ return __ieee754_sqrt(x);
+ }
+ }
+
+ ax = fabs(x);
+ /* special value of x */
+ if(lx==0) {
+ if(ix==0x7ff00000||ix==0||ix==0x3ff00000){
+ z = ax; /*x is +-0,+-inf,+-1*/
+ if(hy<0) z = one/z; /* z = (1/|x|) */
+ if(hx<0) {
+ if(((ix-0x3ff00000)|yisint)==0) {
+ z = (z-z)/(z-z); /* (-1)**non-int is NaN */
+ } else if(yisint==1)
+ z = -z; /* (x<0)**odd = -(|x|**odd) */
+ }
+ return z;
+ }
+ }
+
+ /* (x<0)**(non-int) is NaN */
+ /* CYGNUS LOCAL: This used to be
+ if((((hx>>31)+1)|yisint)==0) return (x-x)/(x-x);
+ but ANSI C says a right shift of a signed negative quantity is
+ implementation defined. */
+ if(((((__uint32_t)hx>>31)-1)|yisint)==0) return (x-x)/(x-x);
+
+ /* |y| is huge */
+ if(iy>0x41e00000) { /* if |y| > 2**31 */
+ if(iy>0x43f00000){ /* if |y| > 2**64, must o/uflow */
+ if(ix<=0x3fefffff) return (hy<0)? huge*huge:tiny*tiny;
+ if(ix>=0x3ff00000) return (hy>0)? huge*huge:tiny*tiny;
+ }
+ /* over/underflow if x is not close to one */
+ if(ix<0x3fefffff) return (hy<0)? huge*huge:tiny*tiny;
+ if(ix>0x3ff00000) return (hy>0)? huge*huge:tiny*tiny;
+ /* now |1-x| is tiny <= 2**-20, suffice to compute
+ log(x) by x-x^2/2+x^3/3-x^4/4 */
+ t = x-1; /* t has 20 trailing zeros */
+ w = (t*t)*(0.5-t*(0.3333333333333333333333-t*0.25));
+ u = ivln2_h*t; /* ivln2_h has 21 sig. bits */
+ v = t*ivln2_l-w*ivln2;
+ t1 = u+v;
+ SET_LOW_WORD(t1,0);
+ t2 = v-(t1-u);
+ } else {
+ double s2,s_h,s_l,t_h,t_l;
+ n = 0;
+ /* take care subnormal number */
+ if(ix<0x00100000)
+ {ax *= two53; n -= 53; GET_HIGH_WORD(ix,ax); }
+ n += ((ix)>>20)-0x3ff;
+ j = ix&0x000fffff;
+ /* determine interval */
+ ix = j|0x3ff00000; /* normalize ix */
+ if(j<=0x3988E) k=0; /* |x|<sqrt(3/2) */
+ else if(j<0xBB67A) k=1; /* |x|<sqrt(3) */
+ else {k=0;n+=1;ix -= 0x00100000;}
+ SET_HIGH_WORD(ax,ix);
+
+ /* compute s = s_h+s_l = (x-1)/(x+1) or (x-1.5)/(x+1.5) */
+ u = ax-bp[k]; /* bp[0]=1.0, bp[1]=1.5 */
+ v = one/(ax+bp[k]);
+ s = u*v;
+ s_h = s;
+ SET_LOW_WORD(s_h,0);
+ /* t_h=ax+bp[k] High */
+ t_h = zero;
+ SET_HIGH_WORD(t_h,((ix>>1)|0x20000000)+0x00080000+(k<<18));
+ t_l = ax - (t_h-bp[k]);
+ s_l = v*((u-s_h*t_h)-s_h*t_l);
+ /* compute log(ax) */
+ s2 = s*s;
+ r = s2*s2*(L1+s2*(L2+s2*(L3+s2*(L4+s2*(L5+s2*L6)))));
+ r += s_l*(s_h+s);
+ s2 = s_h*s_h;
+ t_h = 3.0+s2+r;
+ SET_LOW_WORD(t_h,0);
+ t_l = r-((t_h-3.0)-s2);
+ /* u+v = s*(1+...) */
+ u = s_h*t_h;
+ v = s_l*t_h+t_l*s;
+ /* 2/(3log2)*(s+...) */
+ p_h = u+v;
+ SET_LOW_WORD(p_h,0);
+ p_l = v-(p_h-u);
+ z_h = cp_h*p_h; /* cp_h+cp_l = 2/(3*log2) */
+ z_l = cp_l*p_h+p_l*cp+dp_l[k];
+ /* log2(ax) = (s+..)*2/(3*log2) = n + dp_h + z_h + z_l */
+ t = (double)n;
+ t1 = (((z_h+z_l)+dp_h[k])+t);
+ SET_LOW_WORD(t1,0);
+ t2 = z_l-(((t1-t)-dp_h[k])-z_h);
+ }
+
+ s = one; /* s (sign of result -ve**odd) = -1 else = 1 */
+ if(((((__uint32_t)hx>>31)-1)|(yisint-1))==0)
+ s = -one;/* (-ve)**(odd int) */
+
+ /* split up y into y1+y2 and compute (y1+y2)*(t1+t2) */
+ y1 = y;
+ SET_LOW_WORD(y1,0);
+ p_l = (y-y1)*t1+y*t2;
+ p_h = y1*t1;
+ z = p_l+p_h;
+ EXTRACT_WORDS(j,i,z);
+ if (j>=0x40900000) { /* z >= 1024 */
+ if(((j-0x40900000)|i)!=0) /* if z > 1024 */
+ return s*huge*huge; /* overflow */
+ else {
+ if(p_l+ovt>z-p_h) return s*huge*huge; /* overflow */
+ }
+ } else if((j&0x7fffffff)>=0x4090cc00 ) { /* z <= -1075 */
+ if(((j-0xc090cc00)|i)!=0) /* z < -1075 */
+ return s*tiny*tiny; /* underflow */
+ else {
+ if(p_l<=z-p_h) return s*tiny*tiny; /* underflow */
+ }
+ }
+ /*
+ * compute 2**(p_h+p_l)
+ */
+ i = j&0x7fffffff;
+ k = (i>>20)-0x3ff;
+ n = 0;
+ if(i>0x3fe00000) { /* if |z| > 0.5, set n = [z+0.5] */
+ n = j+(0x00100000>>(k+1));
+ k = ((n&0x7fffffff)>>20)-0x3ff; /* new k for n */
+ t = zero;
+ SET_HIGH_WORD(t,n&~(0x000fffff>>k));
+ n = ((n&0x000fffff)|0x00100000)>>(20-k);
+ if(j<0) n = -n;
+ p_h -= t;
+ }
+ t = p_l+p_h;
+ SET_LOW_WORD(t,0);
+ u = t*lg2_h;
+ v = (p_l-(t-p_h))*lg2+t*lg2_l;
+ z = u+v;
+ w = v-(z-u);
+ t = z*z;
+ t1 = z - t*(P1+t*(P2+t*(P3+t*(P4+t*P5))));
+ r = (z*t1)/(t1-two)-(w+z*w);
+ z = one-(r-z);
+ GET_HIGH_WORD(j,z);
+ j += (n<<20);
+ if((j>>20)<=0) z = scalbn(z,(int)n); /* subnormal output */
+ else SET_HIGH_WORD(z,j);
+ return s*z;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_rem_pio2.c b/libjava/java/lang/e_rem_pio2.c
new file mode 100644
index 0000000..3e5d0f7
--- /dev/null
+++ b/libjava/java/lang/e_rem_pio2.c
@@ -0,0 +1,185 @@
+
+/* @(#)e_rem_pio2.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/* __ieee754_rem_pio2(x,y)
+ *
+ * return the remainder of x rem pi/2 in y[0]+y[1]
+ * use __kernel_rem_pio2()
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+/*
+ * Table of constants for 2/pi, 396 Hex digits (476 decimal) of 2/pi
+ */
+#ifdef __STDC__
+static const __int32_t two_over_pi[] = {
+#else
+static __int32_t two_over_pi[] = {
+#endif
+0xA2F983, 0x6E4E44, 0x1529FC, 0x2757D1, 0xF534DD, 0xC0DB62,
+0x95993C, 0x439041, 0xFE5163, 0xABDEBB, 0xC561B7, 0x246E3A,
+0x424DD2, 0xE00649, 0x2EEA09, 0xD1921C, 0xFE1DEB, 0x1CB129,
+0xA73EE8, 0x8235F5, 0x2EBB44, 0x84E99C, 0x7026B4, 0x5F7E41,
+0x3991D6, 0x398353, 0x39F49C, 0x845F8B, 0xBDF928, 0x3B1FF8,
+0x97FFDE, 0x05980F, 0xEF2F11, 0x8B5A0A, 0x6D1F6D, 0x367ECF,
+0x27CB09, 0xB74F46, 0x3F669E, 0x5FEA2D, 0x7527BA, 0xC7EBE5,
+0xF17B3D, 0x0739F7, 0x8A5292, 0xEA6BFB, 0x5FB11F, 0x8D5D08,
+0x560330, 0x46FC7B, 0x6BABF0, 0xCFBC20, 0x9AF436, 0x1DA9E3,
+0x91615E, 0xE61B08, 0x659985, 0x5F14A0, 0x68408D, 0xFFD880,
+0x4D7327, 0x310606, 0x1556CA, 0x73A8C9, 0x60E27B, 0xC08C6B,
+};
+
+#ifdef __STDC__
+static const __int32_t npio2_hw[] = {
+#else
+static __int32_t npio2_hw[] = {
+#endif
+0x3FF921FB, 0x400921FB, 0x4012D97C, 0x401921FB, 0x401F6A7A, 0x4022D97C,
+0x4025FDBB, 0x402921FB, 0x402C463A, 0x402F6A7A, 0x4031475C, 0x4032D97C,
+0x40346B9C, 0x4035FDBB, 0x40378FDB, 0x403921FB, 0x403AB41B, 0x403C463A,
+0x403DD85A, 0x403F6A7A, 0x40407E4C, 0x4041475C, 0x4042106C, 0x4042D97C,
+0x4043A28C, 0x40446B9C, 0x404534AC, 0x4045FDBB, 0x4046C6CB, 0x40478FDB,
+0x404858EB, 0x404921FB,
+};
+
+/*
+ * invpio2: 53 bits of 2/pi
+ * pio2_1: first 33 bit of pi/2
+ * pio2_1t: pi/2 - pio2_1
+ * pio2_2: second 33 bit of pi/2
+ * pio2_2t: pi/2 - (pio2_1+pio2_2)
+ * pio2_3: third 33 bit of pi/2
+ * pio2_3t: pi/2 - (pio2_1+pio2_2+pio2_3)
+ */
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+zero = 0.00000000000000000000e+00, /* 0x00000000, 0x00000000 */
+half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
+two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */
+invpio2 = 6.36619772367581382433e-01, /* 0x3FE45F30, 0x6DC9C883 */
+pio2_1 = 1.57079632673412561417e+00, /* 0x3FF921FB, 0x54400000 */
+pio2_1t = 6.07710050650619224932e-11, /* 0x3DD0B461, 0x1A626331 */
+pio2_2 = 6.07710050630396597660e-11, /* 0x3DD0B461, 0x1A600000 */
+pio2_2t = 2.02226624879595063154e-21, /* 0x3BA3198A, 0x2E037073 */
+pio2_3 = 2.02226624871116645580e-21, /* 0x3BA3198A, 0x2E000000 */
+pio2_3t = 8.47842766036889956997e-32; /* 0x397B839A, 0x252049C1 */
+
+#ifdef __STDC__
+ __int32_t __ieee754_rem_pio2(double x, double *y)
+#else
+ __int32_t __ieee754_rem_pio2(x,y)
+ double x,y[];
+#endif
+{
+ double z,w,t,r,fn;
+ double tx[3];
+ __int32_t i,j,n,ix,hx;
+ int e0,nx;
+ __uint32_t low;
+
+ GET_HIGH_WORD(hx,x); /* high word of x */
+ ix = hx&0x7fffffff;
+ if(ix<=0x3fe921fb) /* |x| ~<= pi/4 , no need for reduction */
+ {y[0] = x; y[1] = 0; return 0;}
+ if(ix<0x4002d97c) { /* |x| < 3pi/4, special case with n=+-1 */
+ if(hx>0) {
+ z = x - pio2_1;
+ if(ix!=0x3ff921fb) { /* 33+53 bit pi is good enough */
+ y[0] = z - pio2_1t;
+ y[1] = (z-y[0])-pio2_1t;
+ } else { /* near pi/2, use 33+33+53 bit pi */
+ z -= pio2_2;
+ y[0] = z - pio2_2t;
+ y[1] = (z-y[0])-pio2_2t;
+ }
+ return 1;
+ } else { /* negative x */
+ z = x + pio2_1;
+ if(ix!=0x3ff921fb) { /* 33+53 bit pi is good enough */
+ y[0] = z + pio2_1t;
+ y[1] = (z-y[0])+pio2_1t;
+ } else { /* near pi/2, use 33+33+53 bit pi */
+ z += pio2_2;
+ y[0] = z + pio2_2t;
+ y[1] = (z-y[0])+pio2_2t;
+ }
+ return -1;
+ }
+ }
+ if(ix<=0x413921fb) { /* |x| ~<= 2^19*(pi/2), medium size */
+ t = fabs(x);
+ n = (__int32_t) (t*invpio2+half);
+ fn = (double)n;
+ r = t-fn*pio2_1;
+ w = fn*pio2_1t; /* 1st round good to 85 bit */
+ if(n<32&&ix!=npio2_hw[n-1]) {
+ y[0] = r-w; /* quick check no cancellation */
+ } else {
+ __uint32_t high;
+ j = ix>>20;
+ y[0] = r-w;
+ GET_HIGH_WORD(high,y[0]);
+ i = j-((high>>20)&0x7ff);
+ if(i>16) { /* 2nd iteration needed, good to 118 */
+ t = r;
+ w = fn*pio2_2;
+ r = t-w;
+ w = fn*pio2_2t-((t-r)-w);
+ y[0] = r-w;
+ GET_HIGH_WORD(high,y[0]);
+ i = j-((high>>20)&0x7ff);
+ if(i>49) { /* 3rd iteration need, 151 bits acc */
+ t = r; /* will cover all possible cases */
+ w = fn*pio2_3;
+ r = t-w;
+ w = fn*pio2_3t-((t-r)-w);
+ y[0] = r-w;
+ }
+ }
+ }
+ y[1] = (r-y[0])-w;
+ if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;}
+ else return n;
+ }
+ /*
+ * all other (large) arguments
+ */
+ if(ix>=0x7ff00000) { /* x is inf or NaN */
+ y[0]=y[1]=x-x; return 0;
+ }
+ /* set z = scalbn(|x|,ilogb(x)-23) */
+ GET_LOW_WORD(low,x);
+ SET_LOW_WORD(z,low);
+ e0 = (int)((ix>>20)-1046); /* e0 = ilogb(z)-23; */
+ SET_HIGH_WORD(z, ix - ((__int32_t)e0<<20));
+ for(i=0;i<2;i++) {
+ tx[i] = (double)((__int32_t)(z));
+ z = (z-tx[i])*two24;
+ }
+ tx[2] = z;
+ nx = 3;
+ while(tx[nx-1]==zero) nx--; /* skip zero term */
+ n = __kernel_rem_pio2(tx,y,e0,nx,2,two_over_pi);
+ if(hx<0) {y[0] = -y[0]; y[1] = -y[1]; return -n;}
+ return n;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_remainder.c b/libjava/java/lang/e_remainder.c
new file mode 100644
index 0000000..ae7ce64
--- /dev/null
+++ b/libjava/java/lang/e_remainder.c
@@ -0,0 +1,80 @@
+
+/* @(#)e_remainder.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_remainder(x,p)
+ * Return :
+ * returns x REM p = x - [x/p]*p as if in infinite
+ * precise arithmetic, where [x/p] is the (infinite bit)
+ * integer nearest x/p (in half way case choose the even one).
+ * Method :
+ * Based on fmod() return x-[x/p]chopped*p exactlp.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double zero = 0.0;
+#else
+static double zero = 0.0;
+#endif
+
+
+#ifdef __STDC__
+ double __ieee754_remainder(double x, double p)
+#else
+ double __ieee754_remainder(x,p)
+ double x,p;
+#endif
+{
+ __int32_t hx,hp;
+ __uint32_t sx,lx,lp;
+ double p_half;
+
+ EXTRACT_WORDS(hx,lx,x);
+ EXTRACT_WORDS(hp,lp,p);
+ sx = hx&0x80000000;
+ hp &= 0x7fffffff;
+ hx &= 0x7fffffff;
+
+ /* purge off exception values */
+ if((hp|lp)==0) return (x*p)/(x*p); /* p = 0 */
+ if((hx>=0x7ff00000)|| /* x not finite */
+ ((hp>=0x7ff00000)&& /* p is NaN */
+ (((hp-0x7ff00000)|lp)!=0)))
+ return (x*p)/(x*p);
+
+
+ if (hp<=0x7fdfffff) x = __ieee754_fmod(x,p+p); /* now x < 2p */
+ if (((hx-hp)|(lx-lp))==0) return zero*x;
+ x = fabs(x);
+ p = fabs(p);
+ if (hp<0x00200000) {
+ if(x+x>p) {
+ x-=p;
+ if(x+x>=p) x -= p;
+ }
+ } else {
+ p_half = 0.5*p;
+ if(x>p_half) {
+ x-=p;
+ if(x>=p_half) x -= p;
+ }
+ }
+ GET_HIGH_WORD(hx,x);
+ SET_HIGH_WORD(x,hx^sx);
+ return x;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_scalb.c b/libjava/java/lang/e_scalb.c
new file mode 100644
index 0000000..0bb924b
--- /dev/null
+++ b/libjava/java/lang/e_scalb.c
@@ -0,0 +1,55 @@
+
+/* @(#)e_scalb.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * __ieee754_scalb(x, fn) is provide for
+ * passing various standard test suite. One
+ * should use scalbn() instead.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef _SCALB_INT
+#ifdef __STDC__
+ double __ieee754_scalb(double x, int fn)
+#else
+ double __ieee754_scalb(x,fn)
+ double x; int fn;
+#endif
+#else
+#ifdef __STDC__
+ double __ieee754_scalb(double x, double fn)
+#else
+ double __ieee754_scalb(x,fn)
+ double x, fn;
+#endif
+#endif
+{
+#ifdef _SCALB_INT
+ return scalbn(x,fn);
+#else
+ if (isnan(x)||isnan(fn)) return x*fn;
+ if (!finite(fn)) {
+ if(fn>0.0) return x*fn;
+ else return x/(-fn);
+ }
+ if (rint(fn)!=fn) return (fn-fn)/(fn-fn);
+ if ( fn > 65000.0) return scalbn(x, 65000);
+ if (-fn > 65000.0) return scalbn(x,-65000);
+ return scalbn(x,(int)fn);
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/e_sqrt.c b/libjava/java/lang/e_sqrt.c
new file mode 100644
index 0000000..b56b1ee
--- /dev/null
+++ b/libjava/java/lang/e_sqrt.c
@@ -0,0 +1,452 @@
+
+/* @(#)e_sqrt.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __ieee754_sqrt(x)
+ * Return correctly rounded sqrt.
+ * ------------------------------------------
+ * | Use the hardware sqrt if you have one |
+ * ------------------------------------------
+ * Method:
+ * Bit by bit method using integer arithmetic. (Slow, but portable)
+ * 1. Normalization
+ * Scale x to y in [1,4) with even powers of 2:
+ * find an integer k such that 1 <= (y=x*2^(2k)) < 4, then
+ * sqrt(x) = 2^k * sqrt(y)
+ * 2. Bit by bit computation
+ * Let q = sqrt(y) truncated to i bit after binary point (q = 1),
+ * i 0
+ * i+1 2
+ * s = 2*q , and y = 2 * ( y - q ). (1)
+ * i i i i
+ *
+ * To compute q from q , one checks whether
+ * i+1 i
+ *
+ * -(i+1) 2
+ * (q + 2 ) <= y. (2)
+ * i
+ * -(i+1)
+ * If (2) is false, then q = q ; otherwise q = q + 2 .
+ * i+1 i i+1 i
+ *
+ * With some algebric manipulation, it is not difficult to see
+ * that (2) is equivalent to
+ * -(i+1)
+ * s + 2 <= y (3)
+ * i i
+ *
+ * The advantage of (3) is that s and y can be computed by
+ * i i
+ * the following recurrence formula:
+ * if (3) is false
+ *
+ * s = s , y = y ; (4)
+ * i+1 i i+1 i
+ *
+ * otherwise,
+ * -i -(i+1)
+ * s = s + 2 , y = y - s - 2 (5)
+ * i+1 i i+1 i i
+ *
+ * One may easily use induction to prove (4) and (5).
+ * Note. Since the left hand side of (3) contain only i+2 bits,
+ * it does not necessary to do a full (53-bit) comparison
+ * in (3).
+ * 3. Final rounding
+ * After generating the 53 bits result, we compute one more bit.
+ * Together with the remainder, we can decide whether the
+ * result is exact, bigger than 1/2ulp, or less than 1/2ulp
+ * (it will never equal to 1/2ulp).
+ * The rounding mode can be detected by checking whether
+ * huge + tiny is equal to huge, and whether huge - tiny is
+ * equal to huge for some floating point number "huge" and "tiny".
+ *
+ * Special cases:
+ * sqrt(+-0) = +-0 ... exact
+ * sqrt(inf) = inf
+ * sqrt(-ve) = NaN ... with invalid signal
+ * sqrt(NaN) = NaN ... with invalid signal for signaling NaN
+ *
+ * Other methods : see the appended file at the end of the program below.
+ *---------------
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double one = 1.0, tiny=1.0e-300;
+#else
+static double one = 1.0, tiny=1.0e-300;
+#endif
+
+#ifdef __STDC__
+ double __ieee754_sqrt(double x)
+#else
+ double __ieee754_sqrt(x)
+ double x;
+#endif
+{
+ double z;
+ __int32_t sign = (int)0x80000000;
+ __uint32_t r,t1,s1,ix1,q1;
+ __int32_t ix0,s0,q,m,t,i;
+
+ EXTRACT_WORDS(ix0,ix1,x);
+
+ /* take care of Inf and NaN */
+ if((ix0&0x7ff00000)==0x7ff00000) {
+ return x*x+x; /* sqrt(NaN)=NaN, sqrt(+inf)=+inf
+ sqrt(-inf)=sNaN */
+ }
+ /* take care of zero */
+ if(ix0<=0) {
+ if(((ix0&(~sign))|ix1)==0) return x;/* sqrt(+-0) = +-0 */
+ else if(ix0<0)
+ return (x-x)/(x-x); /* sqrt(-ve) = sNaN */
+ }
+ /* normalize x */
+ m = (ix0>>20);
+ if(m==0) { /* subnormal x */
+ while(ix0==0) {
+ m -= 21;
+ ix0 |= (ix1>>11); ix1 <<= 21;
+ }
+ for(i=0;(ix0&0x00100000)==0;i++) ix0<<=1;
+ m -= i-1;
+ ix0 |= (ix1>>(32-i));
+ ix1 <<= i;
+ }
+ m -= 1023; /* unbias exponent */
+ ix0 = (ix0&0x000fffff)|0x00100000;
+ if(m&1){ /* odd m, double x to make it even */
+ ix0 += ix0 + ((ix1&sign)>>31);
+ ix1 += ix1;
+ }
+ m >>= 1; /* m = [m/2] */
+
+ /* generate sqrt(x) bit by bit */
+ ix0 += ix0 + ((ix1&sign)>>31);
+ ix1 += ix1;
+ q = q1 = s0 = s1 = 0; /* [q,q1] = sqrt(x) */
+ r = 0x00200000; /* r = moving bit from right to left */
+
+ while(r!=0) {
+ t = s0+r;
+ if(t<=ix0) {
+ s0 = t+r;
+ ix0 -= t;
+ q += r;
+ }
+ ix0 += ix0 + ((ix1&sign)>>31);
+ ix1 += ix1;
+ r>>=1;
+ }
+
+ r = sign;
+ while(r!=0) {
+ t1 = s1+r;
+ t = s0;
+ if((t<ix0)||((t==ix0)&&(t1<=ix1))) {
+ s1 = t1+r;
+ if(((t1&sign)==(__uint32_t)sign)&&(s1&sign)==0) s0 += 1;
+ ix0 -= t;
+ if (ix1 < t1) ix0 -= 1;
+ ix1 -= t1;
+ q1 += r;
+ }
+ ix0 += ix0 + ((ix1&sign)>>31);
+ ix1 += ix1;
+ r>>=1;
+ }
+
+ /* use floating add to find out rounding direction */
+ if((ix0|ix1)!=0) {
+ z = one-tiny; /* trigger inexact flag */
+ if (z>=one) {
+ z = one+tiny;
+ if (q1==(__uint32_t)0xffffffff) { q1=0; q += 1;}
+ else if (z>one) {
+ if (q1==(__uint32_t)0xfffffffe) q+=1;
+ q1+=2;
+ } else
+ q1 += (q1&1);
+ }
+ }
+ ix0 = (q>>1)+0x3fe00000;
+ ix1 = q1>>1;
+ if ((q&1)==1) ix1 |= sign;
+ ix0 += (m <<20);
+ INSERT_WORDS(z,ix0,ix1);
+ return z;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
+
+/*
+Other methods (use floating-point arithmetic)
+-------------
+(This is a copy of a drafted paper by Prof W. Kahan
+and K.C. Ng, written in May, 1986)
+
+ Two algorithms are given here to implement sqrt(x)
+ (IEEE double precision arithmetic) in software.
+ Both supply sqrt(x) correctly rounded. The first algorithm (in
+ Section A) uses newton iterations and involves four divisions.
+ The second one uses reciproot iterations to avoid division, but
+ requires more multiplications. Both algorithms need the ability
+ to chop results of arithmetic operations instead of round them,
+ and the INEXACT flag to indicate when an arithmetic operation
+ is executed exactly with no roundoff error, all part of the
+ standard (IEEE 754-1985). The ability to perform shift, add,
+ subtract and logical AND operations upon 32-bit words is needed
+ too, though not part of the standard.
+
+A. sqrt(x) by Newton Iteration
+
+ (1) Initial approximation
+
+ Let x0 and x1 be the leading and the trailing 32-bit words of
+ a floating point number x (in IEEE double format) respectively
+
+ 1 11 52 ...widths
+ ------------------------------------------------------
+ x: |s| e | f |
+ ------------------------------------------------------
+ msb lsb msb lsb ...order
+
+
+ ------------------------ ------------------------
+ x0: |s| e | f1 | x1: | f2 |
+ ------------------------ ------------------------
+
+ By performing shifts and subtracts on x0 and x1 (both regarded
+ as integers), we obtain an 8-bit approximation of sqrt(x) as
+ follows.
+
+ k := (x0>>1) + 0x1ff80000;
+ y0 := k - T1[31&(k>>15)]. ... y ~ sqrt(x) to 8 bits
+ Here k is a 32-bit integer and T1[] is an integer array containing
+ correction terms. Now magically the floating value of y (y's
+ leading 32-bit word is y0, the value of its trailing word is 0)
+ approximates sqrt(x) to almost 8-bit.
+
+ Value of T1:
+ static int T1[32]= {
+ 0, 1024, 3062, 5746, 9193, 13348, 18162, 23592,
+ 29598, 36145, 43202, 50740, 58733, 67158, 75992, 85215,
+ 83599, 71378, 60428, 50647, 41945, 34246, 27478, 21581,
+ 16499, 12183, 8588, 5674, 3403, 1742, 661, 130,};
+
+ (2) Iterative refinement
+
+ Apply Heron's rule three times to y, we have y approximates
+ sqrt(x) to within 1 ulp (Unit in the Last Place):
+
+ y := (y+x/y)/2 ... almost 17 sig. bits
+ y := (y+x/y)/2 ... almost 35 sig. bits
+ y := y-(y-x/y)/2 ... within 1 ulp
+
+
+ Remark 1.
+ Another way to improve y to within 1 ulp is:
+
+ y := (y+x/y) ... almost 17 sig. bits to 2*sqrt(x)
+ y := y - 0x00100006 ... almost 18 sig. bits to sqrt(x)
+
+ 2
+ (x-y )*y
+ y := y + 2* ---------- ...within 1 ulp
+ 2
+ 3y + x
+
+
+ This formula has one division fewer than the one above; however,
+ it requires more multiplications and additions. Also x must be
+ scaled in advance to avoid spurious overflow in evaluating the
+ expression 3y*y+x. Hence it is not recommended uless division
+ is slow. If division is very slow, then one should use the
+ reciproot algorithm given in section B.
+
+ (3) Final adjustment
+
+ By twiddling y's last bit it is possible to force y to be
+ correctly rounded according to the prevailing rounding mode
+ as follows. Let r and i be copies of the rounding mode and
+ inexact flag before entering the square root program. Also we
+ use the expression y+-ulp for the next representable floating
+ numbers (up and down) of y. Note that y+-ulp = either fixed
+ point y+-1, or multiply y by nextafter(1,+-inf) in chopped
+ mode.
+
+ I := FALSE; ... reset INEXACT flag I
+ R := RZ; ... set rounding mode to round-toward-zero
+ z := x/y; ... chopped quotient, possibly inexact
+ If(not I) then { ... if the quotient is exact
+ if(z=y) {
+ I := i; ... restore inexact flag
+ R := r; ... restore rounded mode
+ return sqrt(x):=y.
+ } else {
+ z := z - ulp; ... special rounding
+ }
+ }
+ i := TRUE; ... sqrt(x) is inexact
+ If (r=RN) then z=z+ulp ... rounded-to-nearest
+ If (r=RP) then { ... round-toward-+inf
+ y = y+ulp; z=z+ulp;
+ }
+ y := y+z; ... chopped sum
+ y0:=y0-0x00100000; ... y := y/2 is correctly rounded.
+ I := i; ... restore inexact flag
+ R := r; ... restore rounded mode
+ return sqrt(x):=y.
+
+ (4) Special cases
+
+ Square root of +inf, +-0, or NaN is itself;
+ Square root of a negative number is NaN with invalid signal.
+
+
+B. sqrt(x) by Reciproot Iteration
+
+ (1) Initial approximation
+
+ Let x0 and x1 be the leading and the trailing 32-bit words of
+ a floating point number x (in IEEE double format) respectively
+ (see section A). By performing shifs and subtracts on x0 and y0,
+ we obtain a 7.8-bit approximation of 1/sqrt(x) as follows.
+
+ k := 0x5fe80000 - (x0>>1);
+ y0:= k - T2[63&(k>>14)]. ... y ~ 1/sqrt(x) to 7.8 bits
+
+ Here k is a 32-bit integer and T2[] is an integer array
+ containing correction terms. Now magically the floating
+ value of y (y's leading 32-bit word is y0, the value of
+ its trailing word y1 is set to zero) approximates 1/sqrt(x)
+ to almost 7.8-bit.
+
+ Value of T2:
+ static int T2[64]= {
+ 0x1500, 0x2ef8, 0x4d67, 0x6b02, 0x87be, 0xa395, 0xbe7a, 0xd866,
+ 0xf14a, 0x1091b,0x11fcd,0x13552,0x14999,0x15c98,0x16e34,0x17e5f,
+ 0x18d03,0x19a01,0x1a545,0x1ae8a,0x1b5c4,0x1bb01,0x1bfde,0x1c28d,
+ 0x1c2de,0x1c0db,0x1ba73,0x1b11c,0x1a4b5,0x1953d,0x18266,0x16be0,
+ 0x1683e,0x179d8,0x18a4d,0x19992,0x1a789,0x1b445,0x1bf61,0x1c989,
+ 0x1d16d,0x1d77b,0x1dddf,0x1e2ad,0x1e5bf,0x1e6e8,0x1e654,0x1e3cd,
+ 0x1df2a,0x1d635,0x1cb16,0x1be2c,0x1ae4e,0x19bde,0x1868e,0x16e2e,
+ 0x1527f,0x1334a,0x11051,0xe951, 0xbe01, 0x8e0d, 0x5924, 0x1edd,};
+
+ (2) Iterative refinement
+
+ Apply Reciproot iteration three times to y and multiply the
+ result by x to get an approximation z that matches sqrt(x)
+ to about 1 ulp. To be exact, we will have
+ -1ulp < sqrt(x)-z<1.0625ulp.
+
+ ... set rounding mode to Round-to-nearest
+ y := y*(1.5-0.5*x*y*y) ... almost 15 sig. bits to 1/sqrt(x)
+ y := y*((1.5-2^-30)+0.5*x*y*y)... about 29 sig. bits to 1/sqrt(x)
+ ... special arrangement for better accuracy
+ z := x*y ... 29 bits to sqrt(x), with z*y<1
+ z := z + 0.5*z*(1-z*y) ... about 1 ulp to sqrt(x)
+
+ Remark 2. The constant 1.5-2^-30 is chosen to bias the error so that
+ (a) the term z*y in the final iteration is always less than 1;
+ (b) the error in the final result is biased upward so that
+ -1 ulp < sqrt(x) - z < 1.0625 ulp
+ instead of |sqrt(x)-z|<1.03125ulp.
+
+ (3) Final adjustment
+
+ By twiddling y's last bit it is possible to force y to be
+ correctly rounded according to the prevailing rounding mode
+ as follows. Let r and i be copies of the rounding mode and
+ inexact flag before entering the square root program. Also we
+ use the expression y+-ulp for the next representable floating
+ numbers (up and down) of y. Note that y+-ulp = either fixed
+ point y+-1, or multiply y by nextafter(1,+-inf) in chopped
+ mode.
+
+ R := RZ; ... set rounding mode to round-toward-zero
+ switch(r) {
+ case RN: ... round-to-nearest
+ if(x<= z*(z-ulp)...chopped) z = z - ulp; else
+ if(x<= z*(z+ulp)...chopped) z = z; else z = z+ulp;
+ break;
+ case RZ:case RM: ... round-to-zero or round-to--inf
+ R:=RP; ... reset rounding mod to round-to-+inf
+ if(x<z*z ... rounded up) z = z - ulp; else
+ if(x>=(z+ulp)*(z+ulp) ...rounded up) z = z+ulp;
+ break;
+ case RP: ... round-to-+inf
+ if(x>(z+ulp)*(z+ulp)...chopped) z = z+2*ulp; else
+ if(x>z*z ...chopped) z = z+ulp;
+ break;
+ }
+
+ Remark 3. The above comparisons can be done in fixed point. For
+ example, to compare x and w=z*z chopped, it suffices to compare
+ x1 and w1 (the trailing parts of x and w), regarding them as
+ two's complement integers.
+
+ ...Is z an exact square root?
+ To determine whether z is an exact square root of x, let z1 be the
+ trailing part of z, and also let x0 and x1 be the leading and
+ trailing parts of x.
+
+ If ((z1&0x03ffffff)!=0) ... not exact if trailing 26 bits of z!=0
+ I := 1; ... Raise Inexact flag: z is not exact
+ else {
+ j := 1 - [(x0>>20)&1] ... j = logb(x) mod 2
+ k := z1 >> 26; ... get z's 25-th and 26-th
+ fraction bits
+ I := i or (k&j) or ((k&(j+j+1))!=(x1&3));
+ }
+ R:= r ... restore rounded mode
+ return sqrt(x):=z.
+
+ If multiplication is cheaper then the foregoing red tape, the
+ Inexact flag can be evaluated by
+
+ I := i;
+ I := (z*z!=x) or I.
+
+ Note that z*z can overwrite I; this value must be sensed if it is
+ True.
+
+ Remark 4. If z*z = x exactly, then bit 25 to bit 0 of z1 must be
+ zero.
+
+ --------------------
+ z1: | f2 |
+ --------------------
+ bit 31 bit 0
+
+ Further more, bit 27 and 26 of z1, bit 0 and 1 of x1, and the odd
+ or even of logb(x) have the following relations:
+
+ -------------------------------------------------
+ bit 27,26 of z1 bit 1,0 of x1 logb(x)
+ -------------------------------------------------
+ 00 00 odd and even
+ 01 01 even
+ 10 10 odd
+ 10 00 even
+ 11 01 even
+ -------------------------------------------------
+
+ (4) Special cases (see (4) of Section A).
+
+ */
diff --git a/libjava/java/lang/fdlibm.h b/libjava/java/lang/fdlibm.h
new file mode 100644
index 0000000..3f72070
--- /dev/null
+++ b/libjava/java/lang/fdlibm.h
@@ -0,0 +1,343 @@
+
+/* @(#)fdlibm.h 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <config.h>
+#include <stdlib.h>
+
+/* CYGNUS LOCAL: Include files. */
+#include "ieeefp.h"
+
+/* CYGNUS LOCAL: Default to XOPEN_MODE. */
+#define _XOPEN_MODE
+
+#ifdef __STDC__
+#define __P(p) p
+#else
+#define __P(p) ()
+#endif
+
+#define HUGE ((float)3.40282346638528860e+38)
+
+/*
+ * set X_TLOSS = pi*2**52, which is possibly defined in <values.h>
+ * (one may replace the following line by "#include <values.h>")
+ */
+
+#define X_TLOSS 1.41484755040568800000e+16
+
+/* These typedefs are true for the targets running Java. */
+
+#ifndef HAVE_INT32_DEFINED
+typedef int __int32_t;
+typedef unsigned int __uint32_t;
+#endif
+
+#define _IEEE_LIBM
+
+/*
+ * ANSI/POSIX
+ */
+extern double acos __P((double));
+extern double asin __P((double));
+extern double atan __P((double));
+extern double atan2 __P((double, double));
+extern double cos __P((double));
+extern double sin __P((double));
+extern double tan __P((double));
+
+extern double cosh __P((double));
+extern double sinh __P((double));
+extern double tanh __P((double));
+
+extern double exp __P((double));
+extern double frexp __P((double, int *));
+extern double ldexp __P((double, int));
+extern double log __P((double));
+extern double log10 __P((double));
+extern double modf __P((double, double *));
+
+extern double pow __P((double, double));
+extern double sqrt __P((double));
+
+extern double ceil __P((double));
+extern double fabs __P((double));
+extern double floor __P((double));
+extern double fmod __P((double, double));
+
+extern double erf __P((double));
+extern double erfc __P((double));
+extern double gamma __P((double));
+extern double hypot __P((double, double));
+extern int isnan __P((double));
+extern int finite __P((double));
+extern double j0 __P((double));
+extern double j1 __P((double));
+extern double jn __P((int, double));
+extern double lgamma __P((double));
+extern double y0 __P((double));
+extern double y1 __P((double));
+extern double yn __P((int, double));
+
+extern double acosh __P((double));
+extern double asinh __P((double));
+extern double atanh __P((double));
+extern double cbrt __P((double));
+extern double logb __P((double));
+extern double nextafter __P((double, double));
+extern double remainder __P((double, double));
+
+/* Functions that are not documented, and are not in <math.h>. */
+
+extern double logb __P((double));
+#ifdef _SCALB_INT
+extern double scalb __P((double, int));
+#else
+extern double scalb __P((double, double));
+#endif
+extern double significand __P((double));
+
+/* ieee style elementary functions */
+extern double __ieee754_sqrt __P((double));
+extern double __ieee754_acos __P((double));
+extern double __ieee754_acosh __P((double));
+extern double __ieee754_log __P((double));
+extern double __ieee754_atanh __P((double));
+extern double __ieee754_asin __P((double));
+extern double __ieee754_atan2 __P((double,double));
+extern double __ieee754_exp __P((double));
+extern double __ieee754_cosh __P((double));
+extern double __ieee754_fmod __P((double,double));
+extern double __ieee754_pow __P((double,double));
+extern double __ieee754_lgamma_r __P((double,int *));
+extern double __ieee754_gamma_r __P((double,int *));
+extern double __ieee754_log10 __P((double));
+extern double __ieee754_sinh __P((double));
+extern double __ieee754_hypot __P((double,double));
+extern double __ieee754_j0 __P((double));
+extern double __ieee754_j1 __P((double));
+extern double __ieee754_y0 __P((double));
+extern double __ieee754_y1 __P((double));
+extern double __ieee754_jn __P((int,double));
+extern double __ieee754_yn __P((int,double));
+extern double __ieee754_remainder __P((double,double));
+extern __int32_t __ieee754_rem_pio2 __P((double,double*));
+#ifdef _SCALB_INT
+extern double __ieee754_scalb __P((double,int));
+#else
+extern double __ieee754_scalb __P((double,double));
+#endif
+
+/* fdlibm kernel function */
+extern double __kernel_standard __P((double,double,int));
+extern double __kernel_sin __P((double,double,int));
+extern double __kernel_cos __P((double,double));
+extern double __kernel_tan __P((double,double,int));
+extern int __kernel_rem_pio2 __P((double*,double*,int,int,int,const __int32_t*));
+
+/* Undocumented float functions. */
+extern float logbf __P((float));
+#ifdef _SCALB_INT
+extern float scalbf __P((float, int));
+#else
+extern float scalbf __P((float, float));
+#endif
+extern float significandf __P((float));
+
+/*
+ * Functions callable from C, intended to support IEEE arithmetic.
+ */
+extern double copysign __P((double, double));
+extern int ilogb __P((double));
+extern double rint __P((double));
+extern float rintf __P((float));
+extern double scalbn __P((double, int));
+
+/* ieee style elementary float functions */
+extern float __ieee754_sqrtf __P((float));
+extern float __ieee754_acosf __P((float));
+extern float __ieee754_acoshf __P((float));
+extern float __ieee754_logf __P((float));
+extern float __ieee754_atanhf __P((float));
+extern float __ieee754_asinf __P((float));
+extern float __ieee754_atan2f __P((float,float));
+extern float __ieee754_expf __P((float));
+extern float __ieee754_coshf __P((float));
+extern float __ieee754_fmodf __P((float,float));
+extern float __ieee754_powf __P((float,float));
+extern float __ieee754_lgammaf_r __P((float,int *));
+extern float __ieee754_gammaf_r __P((float,int *));
+extern float __ieee754_log10f __P((float));
+extern float __ieee754_sinhf __P((float));
+extern float __ieee754_hypotf __P((float,float));
+extern float __ieee754_j0f __P((float));
+extern float __ieee754_j1f __P((float));
+extern float __ieee754_y0f __P((float));
+extern float __ieee754_y1f __P((float));
+extern float __ieee754_jnf __P((int,float));
+extern float __ieee754_ynf __P((int,float));
+extern float __ieee754_remainderf __P((float,float));
+extern __int32_t __ieee754_rem_pio2f __P((float,float*));
+#ifdef _SCALB_INT
+extern float __ieee754_scalbf __P((float,int));
+#else
+extern float __ieee754_scalbf __P((float,float));
+#endif
+
+/* float versions of fdlibm kernel functions */
+extern float __kernel_sinf __P((float,float,int));
+extern float __kernel_cosf __P((float,float));
+extern float __kernel_tanf __P((float,float,int));
+extern int __kernel_rem_pio2f __P((float*,float*,int,int,int,const __int32_t*));
+
+/* The original code used statements like
+ n0 = ((*(int*)&one)>>29)^1; * index of high word *
+ ix0 = *(n0+(int*)&x); * high word of x *
+ ix1 = *((1-n0)+(int*)&x); * low word of x *
+ to dig two 32 bit words out of the 64 bit IEEE floating point
+ value. That is non-ANSI, and, moreover, the gcc instruction
+ scheduler gets it wrong. We instead use the following macros.
+ Unlike the original code, we determine the endianness at compile
+ time, not at run time; I don't see much benefit to selecting
+ endianness at run time. */
+
+#ifndef __IEEE_BIG_ENDIAN
+#ifndef __IEEE_LITTLE_ENDIAN
+ #error Must define endianness
+#endif
+#endif
+
+/* A union which permits us to convert between a double and two 32 bit
+ ints. */
+
+#ifdef __IEEE_BIG_ENDIAN
+
+typedef union
+{
+ double value;
+ struct
+ {
+ __uint32_t msw;
+ __uint32_t lsw;
+ } parts;
+} ieee_double_shape_type;
+
+#endif
+
+#ifdef __IEEE_LITTLE_ENDIAN
+
+typedef union
+{
+ double value;
+ struct
+ {
+ __uint32_t lsw;
+ __uint32_t msw;
+ } parts;
+} ieee_double_shape_type;
+
+#endif
+
+/* Get two 32 bit ints from a double. */
+
+#define EXTRACT_WORDS(ix0,ix1,d) \
+do { \
+ ieee_double_shape_type ew_u; \
+ ew_u.value = (d); \
+ (ix0) = ew_u.parts.msw; \
+ (ix1) = ew_u.parts.lsw; \
+} while (0)
+
+/* Get the more significant 32 bit int from a double. */
+
+#define GET_HIGH_WORD(i,d) \
+do { \
+ ieee_double_shape_type gh_u; \
+ gh_u.value = (d); \
+ (i) = gh_u.parts.msw; \
+} while (0)
+
+/* Get the less significant 32 bit int from a double. */
+
+#define GET_LOW_WORD(i,d) \
+do { \
+ ieee_double_shape_type gl_u; \
+ gl_u.value = (d); \
+ (i) = gl_u.parts.lsw; \
+} while (0)
+
+/* Set a double from two 32 bit ints. */
+
+#define INSERT_WORDS(d,ix0,ix1) \
+do { \
+ ieee_double_shape_type iw_u; \
+ iw_u.parts.msw = (ix0); \
+ iw_u.parts.lsw = (ix1); \
+ (d) = iw_u.value; \
+} while (0)
+
+/* Set the more significant 32 bits of a double from an int. */
+
+#define SET_HIGH_WORD(d,v) \
+do { \
+ ieee_double_shape_type sh_u; \
+ sh_u.value = (d); \
+ sh_u.parts.msw = (v); \
+ (d) = sh_u.value; \
+} while (0)
+
+/* Set the less significant 32 bits of a double from an int. */
+
+#define SET_LOW_WORD(d,v) \
+do { \
+ ieee_double_shape_type sl_u; \
+ sl_u.value = (d); \
+ sl_u.parts.lsw = (v); \
+ (d) = sl_u.value; \
+} while (0)
+
+/* A union which permits us to convert between a float and a 32 bit
+ int. */
+
+typedef union
+{
+ float value;
+ __uint32_t word;
+} ieee_float_shape_type;
+
+/* Get a 32 bit int from a float. */
+
+#define GET_FLOAT_WORD(i,d) \
+do { \
+ ieee_float_shape_type gf_u; \
+ gf_u.value = (d); \
+ (i) = gf_u.word; \
+} while (0)
+
+/* Set a float from a 32 bit int. */
+
+#define SET_FLOAT_WORD(d,i) \
+do { \
+ ieee_float_shape_type sf_u; \
+ sf_u.word = (i); \
+ (d) = sf_u.value; \
+} while (0)
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/libjava/java/lang/ieeefp.h b/libjava/java/lang/ieeefp.h
new file mode 100644
index 0000000..931bafb
--- /dev/null
+++ b/libjava/java/lang/ieeefp.h
@@ -0,0 +1,103 @@
+#ifndef __IEEE_BIG_ENDIAN
+#ifndef __IEEE_LITTLE_ENDIAN
+
+#ifdef __arm__
+/* ARM always has big-endian words. Within those words the byte ordering
+ appears to be big or little endian. Newlib doesn't seem to care about
+ the byte ordering within words. */
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#ifdef __hppa__
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#if defined (__sparc) || defined (__sparc__)
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#if defined(__m68k__) || defined(__mc68000__)
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#if defined (__H8300__) || defined (__H8300H__)
+#define __IEEE_BIG_ENDIAN
+#define __SMALL_BITFIELDS
+#define _DOUBLE_IS_32BITS
+#endif
+
+#ifdef __H8500__
+#define __IEEE_BIG_ENDIAN
+#define __SMALL_BITFIELDS
+#define _DOUBLE_IS_32BITS
+#endif
+
+#ifdef __sh__
+#ifdef __LITTLE_ENDIAN__
+#define __IEEE_LITTLE_ENDIAN
+#else
+#define __IEEE_BIG_ENDIAN
+#endif
+#ifdef __SH3E__
+#define _DOUBLE_IS_32BITS
+#endif
+#endif
+
+#ifdef _AM29K
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#ifdef __i386__
+#define __IEEE_LITTLE_ENDIAN
+#endif
+
+#ifdef __i960__
+#define __IEEE_LITTLE_ENDIAN
+#endif
+
+#ifdef __MIPSEL__
+#define __IEEE_LITTLE_ENDIAN
+#endif
+#ifdef __MIPSEB__
+#define __IEEE_BIG_ENDIAN
+#endif
+
+/* necv70 was __IEEE_LITTLE_ENDIAN. */
+
+#ifdef __W65__
+#define __IEEE_LITTLE_ENDIAN
+#define __SMALL_BITFIELDS
+#define _DOUBLE_IS_32BITS
+#endif
+
+#if defined(__Z8001__) || defined(__Z8002__)
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#ifdef __m88k__
+#define __IEEE_BIG_ENDIAN
+#endif
+
+#ifdef __v800
+#define __IEEE_LITTLE_ENDIAN
+#endif
+
+#ifdef __PPC__
+#if (defined(_BIG_ENDIAN) && _BIG_ENDIAN) || (defined(_AIX) && _AIX)
+#define __IEEE_BIG_ENDIAN
+#else
+#if (defined(_LITTLE_ENDIAN) && _LITTLE_ENDIAN) || (defined(__sun__) && __sun__) || (defined(__WIN32__) && __WIN32__)
+#define __IEEE_LITTLE_ENDIAN
+#endif
+#endif
+#endif
+
+#ifndef __IEEE_BIG_ENDIAN
+#ifndef __IEEE_LITTLE_ENDIAN
+#error Endianess not declared!!
+#endif /* not __IEEE_LITTLE_ENDIAN */
+#endif /* not __IEEE_BIG_ENDIAN */
+
+#endif /* not __IEEE_LITTLE_ENDIAN */
+#endif /* not __IEEE_BIG_ENDIAN */
+
diff --git a/libjava/java/lang/k_cos.c b/libjava/java/lang/k_cos.c
new file mode 100644
index 0000000..6c60c24
--- /dev/null
+++ b/libjava/java/lang/k_cos.c
@@ -0,0 +1,96 @@
+
+/* @(#)k_cos.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * __kernel_cos( x, y )
+ * kernel cos function on [-pi/4, pi/4], pi/4 ~ 0.785398164
+ * Input x is assumed to be bounded by ~pi/4 in magnitude.
+ * Input y is the tail of x.
+ *
+ * Algorithm
+ * 1. Since cos(-x) = cos(x), we need only to consider positive x.
+ * 2. if x < 2^-27 (hx<0x3e400000 0), return 1 with inexact if x!=0.
+ * 3. cos(x) is approximated by a polynomial of degree 14 on
+ * [0,pi/4]
+ * 4 14
+ * cos(x) ~ 1 - x*x/2 + C1*x + ... + C6*x
+ * where the remez error is
+ *
+ * | 2 4 6 8 10 12 14 | -58
+ * |cos(x)-(1-.5*x +C1*x +C2*x +C3*x +C4*x +C5*x +C6*x )| <= 2
+ * | |
+ *
+ * 4 6 8 10 12 14
+ * 4. let r = C1*x +C2*x +C3*x +C4*x +C5*x +C6*x , then
+ * cos(x) = 1 - x*x/2 + r
+ * since cos(x+y) ~ cos(x) - sin(x)*y
+ * ~ cos(x) - x*y,
+ * a correction term is necessary in cos(x) and hence
+ * cos(x+y) = 1 - (x*x/2 - (r - x*y))
+ * For better accuracy when x > 0.3, let qx = |x|/4 with
+ * the last 32 bits mask off, and if x > 0.78125, let qx = 0.28125.
+ * Then
+ * cos(x+y) = (1-qx) - ((x*x/2-qx) - (r-x*y)).
+ * Note that 1-qx and (x*x/2-qx) is EXACT here, and the
+ * magnitude of the latter is at least a quarter of x*x/2,
+ * thus, reducing the rounding error in the subtraction.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
+C1 = 4.16666666666666019037e-02, /* 0x3FA55555, 0x5555554C */
+C2 = -1.38888888888741095749e-03, /* 0xBF56C16C, 0x16C15177 */
+C3 = 2.48015872894767294178e-05, /* 0x3EFA01A0, 0x19CB1590 */
+C4 = -2.75573143513906633035e-07, /* 0xBE927E4F, 0x809C52AD */
+C5 = 2.08757232129817482790e-09, /* 0x3E21EE9E, 0xBDB4B1C4 */
+C6 = -1.13596475577881948265e-11; /* 0xBDA8FAE9, 0xBE8838D4 */
+
+#ifdef __STDC__
+ double __kernel_cos(double x, double y)
+#else
+ double __kernel_cos(x, y)
+ double x,y;
+#endif
+{
+ double a,hz,z,r,qx;
+ __int32_t ix;
+ GET_HIGH_WORD(ix,x);
+ ix &= 0x7fffffff; /* ix = |x|'s high word*/
+ if(ix<0x3e400000) { /* if x < 2**27 */
+ if(((int)x)==0) return one; /* generate inexact */
+ }
+ z = x*x;
+ r = z*(C1+z*(C2+z*(C3+z*(C4+z*(C5+z*C6)))));
+ if(ix < 0x3FD33333) /* if |x| < 0.3 */
+ return one - (0.5*z - (z*r - x*y));
+ else {
+ if(ix > 0x3fe90000) { /* x > 0.78125 */
+ qx = 0.28125;
+ } else {
+ INSERT_WORDS(qx,ix-0x00200000,0); /* x/4 */
+ }
+ hz = 0.5*z-qx;
+ a = one-qx;
+ return a - (hz - (z*r-x*y));
+ }
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/k_rem_pio2.c b/libjava/java/lang/k_rem_pio2.c
new file mode 100644
index 0000000..8569256
--- /dev/null
+++ b/libjava/java/lang/k_rem_pio2.c
@@ -0,0 +1,320 @@
+
+/* @(#)k_rem_pio2.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * __kernel_rem_pio2(x,y,e0,nx,prec,ipio2)
+ * double x[],y[]; int e0,nx,prec; int ipio2[];
+ *
+ * __kernel_rem_pio2 return the last three digits of N with
+ * y = x - N*pi/2
+ * so that |y| < pi/2.
+ *
+ * The method is to compute the integer (mod 8) and fraction parts of
+ * (2/pi)*x without doing the full multiplication. In general we
+ * skip the part of the product that are known to be a huge integer (
+ * more accurately, = 0 mod 8 ). Thus the number of operations are
+ * independent of the exponent of the input.
+ *
+ * (2/pi) is represented by an array of 24-bit integers in ipio2[].
+ *
+ * Input parameters:
+ * x[] The input value (must be positive) is broken into nx
+ * pieces of 24-bit integers in double precision format.
+ * x[i] will be the i-th 24 bit of x. The scaled exponent
+ * of x[0] is given in input parameter e0 (i.e., x[0]*2^e0
+ * match x's up to 24 bits.
+ *
+ * Example of breaking a double positive z into x[0]+x[1]+x[2]:
+ * e0 = ilogb(z)-23
+ * z = scalbn(z,-e0)
+ * for i = 0,1,2
+ * x[i] = floor(z)
+ * z = (z-x[i])*2**24
+ *
+ *
+ * y[] ouput result in an array of double precision numbers.
+ * The dimension of y[] is:
+ * 24-bit precision 1
+ * 53-bit precision 2
+ * 64-bit precision 2
+ * 113-bit precision 3
+ * The actual value is the sum of them. Thus for 113-bit
+ * precison, one may have to do something like:
+ *
+ * long double t,w,r_head, r_tail;
+ * t = (long double)y[2] + (long double)y[1];
+ * w = (long double)y[0];
+ * r_head = t+w;
+ * r_tail = w - (r_head - t);
+ *
+ * e0 The exponent of x[0]
+ *
+ * nx dimension of x[]
+ *
+ * prec an integer indicating the precision:
+ * 0 24 bits (single)
+ * 1 53 bits (double)
+ * 2 64 bits (extended)
+ * 3 113 bits (quad)
+ *
+ * ipio2[]
+ * integer array, contains the (24*i)-th to (24*i+23)-th
+ * bit of 2/pi after binary point. The corresponding
+ * floating value is
+ *
+ * ipio2[i] * 2^(-24(i+1)).
+ *
+ * External function:
+ * double scalbn(), floor();
+ *
+ *
+ * Here is the description of some local variables:
+ *
+ * jk jk+1 is the initial number of terms of ipio2[] needed
+ * in the computation. The recommended value is 2,3,4,
+ * 6 for single, double, extended,and quad.
+ *
+ * jz local integer variable indicating the number of
+ * terms of ipio2[] used.
+ *
+ * jx nx - 1
+ *
+ * jv index for pointing to the suitable ipio2[] for the
+ * computation. In general, we want
+ * ( 2^e0*x[0] * ipio2[jv-1]*2^(-24jv) )/8
+ * is an integer. Thus
+ * e0-3-24*jv >= 0 or (e0-3)/24 >= jv
+ * Hence jv = max(0,(e0-3)/24).
+ *
+ * jp jp+1 is the number of terms in PIo2[] needed, jp = jk.
+ *
+ * q[] double array with integral value, representing the
+ * 24-bits chunk of the product of x and 2/pi.
+ *
+ * q0 the corresponding exponent of q[0]. Note that the
+ * exponent for q[i] would be q0-24*i.
+ *
+ * PIo2[] double precision array, obtained by cutting pi/2
+ * into 24 bits chunks.
+ *
+ * f[] ipio2[] in floating point
+ *
+ * iq[] integer array by breaking up q[] in 24-bits chunk.
+ *
+ * fq[] final product of x*(2/pi) in fq[0],..,fq[jk]
+ *
+ * ih integer. If >0 it indicates q[] is >= 0.5, hence
+ * it also indicates the *sign* of the result.
+ *
+ */
+
+
+/*
+ * Constants:
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
+ * to produce the hexadecimal values shown.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const int init_jk[] = {2,3,4,6}; /* initial value for jk */
+#else
+static int init_jk[] = {2,3,4,6};
+#endif
+
+#ifdef __STDC__
+static const double PIo2[] = {
+#else
+static double PIo2[] = {
+#endif
+ 1.57079625129699707031e+00, /* 0x3FF921FB, 0x40000000 */
+ 7.54978941586159635335e-08, /* 0x3E74442D, 0x00000000 */
+ 5.39030252995776476554e-15, /* 0x3CF84698, 0x80000000 */
+ 3.28200341580791294123e-22, /* 0x3B78CC51, 0x60000000 */
+ 1.27065575308067607349e-29, /* 0x39F01B83, 0x80000000 */
+ 1.22933308981111328932e-36, /* 0x387A2520, 0x40000000 */
+ 2.73370053816464559624e-44, /* 0x36E38222, 0x80000000 */
+ 2.16741683877804819444e-51, /* 0x3569F31D, 0x00000000 */
+};
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+zero = 0.0,
+one = 1.0,
+two24 = 1.67772160000000000000e+07, /* 0x41700000, 0x00000000 */
+twon24 = 5.96046447753906250000e-08; /* 0x3E700000, 0x00000000 */
+
+#ifdef __STDC__
+ int __kernel_rem_pio2(double *x, double *y, int e0, int nx, int prec, const __int32_t *ipio2)
+#else
+ int __kernel_rem_pio2(x,y,e0,nx,prec,ipio2)
+ double x[], y[]; int e0,nx,prec; __int32_t ipio2[];
+#endif
+{
+ __int32_t jz,jx,jv,jp,jk,carry,n,iq[20],i,j,k,m,q0,ih;
+ double z,fw,f[20],fq[20],q[20];
+
+ /* initialize jk*/
+ jk = init_jk[prec];
+ jp = jk;
+
+ /* determine jx,jv,q0, note that 3>q0 */
+ jx = nx-1;
+ jv = (e0-3)/24; if(jv<0) jv=0;
+ q0 = e0-24*(jv+1);
+
+ /* set up f[0] to f[jx+jk] where f[jx+jk] = ipio2[jv+jk] */
+ j = jv-jx; m = jx+jk;
+ for(i=0;i<=m;i++,j++) f[i] = (j<0)? zero : (double) ipio2[j];
+
+ /* compute q[0],q[1],...q[jk] */
+ for (i=0;i<=jk;i++) {
+ for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j]; q[i] = fw;
+ }
+
+ jz = jk;
+recompute:
+ /* distill q[] into iq[] reversingly */
+ for(i=0,j=jz,z=q[jz];j>0;i++,j--) {
+ fw = (double)((__int32_t)(twon24* z));
+ iq[i] = (__int32_t)(z-two24*fw);
+ z = q[j-1]+fw;
+ }
+
+ /* compute n */
+ z = scalbn(z,(int)q0); /* actual value of z */
+ z -= 8.0*floor(z*0.125); /* trim off integer >= 8 */
+ n = (__int32_t) z;
+ z -= (double)n;
+ ih = 0;
+ if(q0>0) { /* need iq[jz-1] to determine n */
+ i = (iq[jz-1]>>(24-q0)); n += i;
+ iq[jz-1] -= i<<(24-q0);
+ ih = iq[jz-1]>>(23-q0);
+ }
+ else if(q0==0) ih = iq[jz-1]>>23;
+ else if(z>=0.5) ih=2;
+
+ if(ih>0) { /* q > 0.5 */
+ n += 1; carry = 0;
+ for(i=0;i<jz ;i++) { /* compute 1-q */
+ j = iq[i];
+ if(carry==0) {
+ if(j!=0) {
+ carry = 1; iq[i] = 0x1000000- j;
+ }
+ } else iq[i] = 0xffffff - j;
+ }
+ if(q0>0) { /* rare case: chance is 1 in 12 */
+ switch(q0) {
+ case 1:
+ iq[jz-1] &= 0x7fffff; break;
+ case 2:
+ iq[jz-1] &= 0x3fffff; break;
+ }
+ }
+ if(ih==2) {
+ z = one - z;
+ if(carry!=0) z -= scalbn(one,(int)q0);
+ }
+ }
+
+ /* check if recomputation is needed */
+ if(z==zero) {
+ j = 0;
+ for (i=jz-1;i>=jk;i--) j |= iq[i];
+ if(j==0) { /* need recomputation */
+ for(k=1;iq[jk-k]==0;k++); /* k = no. of terms needed */
+
+ for(i=jz+1;i<=jz+k;i++) { /* add q[jz+1] to q[jz+k] */
+ f[jx+i] = (double) ipio2[jv+i];
+ for(j=0,fw=0.0;j<=jx;j++) fw += x[j]*f[jx+i-j];
+ q[i] = fw;
+ }
+ jz += k;
+ goto recompute;
+ }
+ }
+
+ /* chop off zero terms */
+ if(z==0.0) {
+ jz -= 1; q0 -= 24;
+ while(iq[jz]==0) { jz--; q0-=24;}
+ } else { /* break z into 24-bit if necessary */
+ z = scalbn(z,-(int)q0);
+ if(z>=two24) {
+ fw = (double)((__int32_t)(twon24*z));
+ iq[jz] = (__int32_t)(z-two24*fw);
+ jz += 1; q0 += 24;
+ iq[jz] = (__int32_t) fw;
+ } else iq[jz] = (__int32_t) z ;
+ }
+
+ /* convert integer "bit" chunk to floating-point value */
+ fw = scalbn(one,(int)q0);
+ for(i=jz;i>=0;i--) {
+ q[i] = fw*(double)iq[i]; fw*=twon24;
+ }
+
+ /* compute PIo2[0,...,jp]*q[jz,...,0] */
+ for(i=jz;i>=0;i--) {
+ for(fw=0.0,k=0;k<=jp&&k<=jz-i;k++) fw += PIo2[k]*q[i+k];
+ fq[jz-i] = fw;
+ }
+
+ /* compress fq[] into y[] */
+ switch(prec) {
+ case 0:
+ fw = 0.0;
+ for (i=jz;i>=0;i--) fw += fq[i];
+ y[0] = (ih==0)? fw: -fw;
+ break;
+ case 1:
+ case 2:
+ fw = 0.0;
+ for (i=jz;i>=0;i--) fw += fq[i];
+ y[0] = (ih==0)? fw: -fw;
+ fw = fq[0]-fw;
+ for (i=1;i<=jz;i++) fw += fq[i];
+ y[1] = (ih==0)? fw: -fw;
+ break;
+ case 3: /* painful */
+ for (i=jz;i>0;i--) {
+ fw = fq[i-1]+fq[i];
+ fq[i] += fq[i-1]-fw;
+ fq[i-1] = fw;
+ }
+ for (i=jz;i>1;i--) {
+ fw = fq[i-1]+fq[i];
+ fq[i] += fq[i-1]-fw;
+ fq[i-1] = fw;
+ }
+ for (fw=0.0,i=jz;i>=2;i--) fw += fq[i];
+ if(ih==0) {
+ y[0] = fq[0]; y[1] = fq[1]; y[2] = fw;
+ } else {
+ y[0] = -fq[0]; y[1] = -fq[1]; y[2] = -fw;
+ }
+ }
+ return n&7;
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/k_sin.c b/libjava/java/lang/k_sin.c
new file mode 100644
index 0000000..f119916
--- /dev/null
+++ b/libjava/java/lang/k_sin.c
@@ -0,0 +1,79 @@
+
+/* @(#)k_sin.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __kernel_sin( x, y, iy)
+ * kernel sin function on [-pi/4, pi/4], pi/4 ~ 0.7854
+ * Input x is assumed to be bounded by ~pi/4 in magnitude.
+ * Input y is the tail of x.
+ * Input iy indicates whether y is 0. (if iy=0, y assume to be 0).
+ *
+ * Algorithm
+ * 1. Since sin(-x) = -sin(x), we need only to consider positive x.
+ * 2. if x < 2^-27 (hx<0x3e400000 0), return x with inexact if x!=0.
+ * 3. sin(x) is approximated by a polynomial of degree 13 on
+ * [0,pi/4]
+ * 3 13
+ * sin(x) ~ x + S1*x + ... + S6*x
+ * where
+ *
+ * |sin(x) 2 4 6 8 10 12 | -58
+ * |----- - (1+S1*x +S2*x +S3*x +S4*x +S5*x +S6*x )| <= 2
+ * | x |
+ *
+ * 4. sin(x+y) = sin(x) + sin'(x')*y
+ * ~ sin(x) + (1-x*x/2)*y
+ * For better accuracy, let
+ * 3 2 2 2 2
+ * r = x *(S2+x *(S3+x *(S4+x *(S5+x *S6))))
+ * then 3 2
+ * sin(x) = x + (S1*x + (x *(r-y/2)+y))
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+half = 5.00000000000000000000e-01, /* 0x3FE00000, 0x00000000 */
+S1 = -1.66666666666666324348e-01, /* 0xBFC55555, 0x55555549 */
+S2 = 8.33333333332248946124e-03, /* 0x3F811111, 0x1110F8A6 */
+S3 = -1.98412698298579493134e-04, /* 0xBF2A01A0, 0x19C161D5 */
+S4 = 2.75573137070700676789e-06, /* 0x3EC71DE3, 0x57B1FE7D */
+S5 = -2.50507602534068634195e-08, /* 0xBE5AE5E6, 0x8A2B9CEB */
+S6 = 1.58969099521155010221e-10; /* 0x3DE5D93A, 0x5ACFD57C */
+
+#ifdef __STDC__
+ double __kernel_sin(double x, double y, int iy)
+#else
+ double __kernel_sin(x, y, iy)
+ double x,y; int iy; /* iy=0 if y is zero */
+#endif
+{
+ double z,r,v;
+ __int32_t ix;
+ GET_HIGH_WORD(ix,x);
+ ix &= 0x7fffffff; /* high word of x */
+ if(ix<0x3e400000) /* |x| < 2**-27 */
+ {if((int)x==0) return x;} /* generate inexact */
+ z = x*x;
+ v = z*x;
+ r = S2+z*(S3+z*(S4+z*(S5+z*S6)));
+ if(iy==0) return x+v*(S1+z*r);
+ else return x-((z*(half*y-v*r)-y)-v*S1);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/k_tan.c b/libjava/java/lang/k_tan.c
new file mode 100644
index 0000000..9f5b307
--- /dev/null
+++ b/libjava/java/lang/k_tan.c
@@ -0,0 +1,132 @@
+
+/* @(#)k_tan.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* __kernel_tan( x, y, k )
+ * kernel tan function on [-pi/4, pi/4], pi/4 ~ 0.7854
+ * Input x is assumed to be bounded by ~pi/4 in magnitude.
+ * Input y is the tail of x.
+ * Input k indicates whether tan (if k=1) or
+ * -1/tan (if k= -1) is returned.
+ *
+ * Algorithm
+ * 1. Since tan(-x) = -tan(x), we need only to consider positive x.
+ * 2. if x < 2^-28 (hx<0x3e300000 0), return x with inexact if x!=0.
+ * 3. tan(x) is approximated by a odd polynomial of degree 27 on
+ * [0,0.67434]
+ * 3 27
+ * tan(x) ~ x + T1*x + ... + T13*x
+ * where
+ *
+ * |tan(x) 2 4 26 | -59.2
+ * |----- - (1+T1*x +T2*x +.... +T13*x )| <= 2
+ * | x |
+ *
+ * Note: tan(x+y) = tan(x) + tan'(x)*y
+ * ~ tan(x) + (1+x*x)*y
+ * Therefore, for better accuracy in computing tan(x+y), let
+ * 3 2 2 2 2
+ * r = x *(T2+x *(T3+x *(...+x *(T12+x *T13))))
+ * then
+ * 3 2
+ * tan(x+y) = x + (T1*x + (x *(r+y)+y))
+ *
+ * 4. For x in [0.67434,pi/4], let y = pi/4 - x, then
+ * tan(x) = tan(pi/4-y) = (1-tan(y))/(1+tan(y))
+ * = 1 - 2*(tan(y) - (tan(y)^2)/(1+tan(y)))
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+one = 1.00000000000000000000e+00, /* 0x3FF00000, 0x00000000 */
+pio4 = 7.85398163397448278999e-01, /* 0x3FE921FB, 0x54442D18 */
+pio4lo= 3.06161699786838301793e-17, /* 0x3C81A626, 0x33145C07 */
+T[] = {
+ 3.33333333333334091986e-01, /* 0x3FD55555, 0x55555563 */
+ 1.33333333333201242699e-01, /* 0x3FC11111, 0x1110FE7A */
+ 5.39682539762260521377e-02, /* 0x3FABA1BA, 0x1BB341FE */
+ 2.18694882948595424599e-02, /* 0x3F9664F4, 0x8406D637 */
+ 8.86323982359930005737e-03, /* 0x3F8226E3, 0xE96E8493 */
+ 3.59207910759131235356e-03, /* 0x3F6D6D22, 0xC9560328 */
+ 1.45620945432529025516e-03, /* 0x3F57DBC8, 0xFEE08315 */
+ 5.88041240820264096874e-04, /* 0x3F4344D8, 0xF2F26501 */
+ 2.46463134818469906812e-04, /* 0x3F3026F7, 0x1A8D1068 */
+ 7.81794442939557092300e-05, /* 0x3F147E88, 0xA03792A6 */
+ 7.14072491382608190305e-05, /* 0x3F12B80F, 0x32F0A7E9 */
+ -1.85586374855275456654e-05, /* 0xBEF375CB, 0xDB605373 */
+ 2.59073051863633712884e-05, /* 0x3EFB2A70, 0x74BF7AD4 */
+};
+
+#ifdef __STDC__
+ double __kernel_tan(double x, double y, int iy)
+#else
+ double __kernel_tan(x, y, iy)
+ double x,y; int iy;
+#endif
+{
+ double z,r,v,w,s;
+ __int32_t ix,hx;
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff; /* high word of |x| */
+ if(ix<0x3e300000) /* x < 2**-28 */
+ {if((int)x==0) { /* generate inexact */
+ __uint32_t low;
+ GET_LOW_WORD(low,x);
+ if(((ix|low)|(iy+1))==0) return one/fabs(x);
+ else return (iy==1)? x: -one/x;
+ }
+ }
+ if(ix>=0x3FE59428) { /* |x|>=0.6744 */
+ if(hx<0) {x = -x; y = -y;}
+ z = pio4-x;
+ w = pio4lo-y;
+ x = z+w; y = 0.0;
+ }
+ z = x*x;
+ w = z*z;
+ /* Break x^5*(T[1]+x^2*T[2]+...) into
+ * x^5(T[1]+x^4*T[3]+...+x^20*T[11]) +
+ * x^5(x^2*(T[2]+x^4*T[4]+...+x^22*[T12]))
+ */
+ r = T[1]+w*(T[3]+w*(T[5]+w*(T[7]+w*(T[9]+w*T[11]))));
+ v = z*(T[2]+w*(T[4]+w*(T[6]+w*(T[8]+w*(T[10]+w*T[12])))));
+ s = z*x;
+ r = y + z*(s*(r+v)+y);
+ r += T[0]*s;
+ w = x+r;
+ if(ix>=0x3FE59428) {
+ v = (double)iy;
+ return (double)(1-((hx>>30)&2))*(v-2.0*(x-(w*w/(w+v)-r)));
+ }
+ if(iy==1) return w;
+ else { /* if allow error up to 2 ulp,
+ simply return -1.0/(x+r) here */
+ /* compute -1.0/(x+r) accurately */
+ double a,t;
+ z = w;
+ SET_LOW_WORD(z,0);
+ v = r-(z - x); /* z+v = r+x */
+ t = a = -1.0/w; /* a = -1.0/w */
+ SET_LOW_WORD(t,0);
+ s = 1.0+t*z;
+ return t+a*(s+t*v);
+ }
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/mprec.c b/libjava/java/lang/mprec.c
new file mode 100644
index 0000000..12dd5d2
--- /dev/null
+++ b/libjava/java/lang/mprec.c
@@ -0,0 +1,958 @@
+/****************************************************************
+ *
+ * The author of this software is David M. Gay.
+ *
+ * Copyright (c) 1991 by AT&T.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose without fee is hereby granted, provided that this entire notice
+ * is included in all copies of any software which is or includes a copy
+ * or modification of this software and in all copies of the supporting
+ * documentation for such software.
+ *
+ * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+ * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+ * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+ * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+ *
+ ***************************************************************/
+
+/* Please send bug reports to
+ David M. Gay
+ AT&T Bell Laboratories, Room 2C-463
+ 600 Mountain Avenue
+ Murray Hill, NJ 07974-2070
+ U.S.A.
+ dmg@research.att.com or research!dmg
+ */
+
+/* strtod for IEEE-, VAX-, and IBM-arithmetic machines.
+ *
+ * This strtod returns a nearest machine number to the input decimal
+ * string (or sets errno to ERANGE). With IEEE arithmetic, ties are
+ * broken by the IEEE round-even rule. Otherwise ties are broken by
+ * biased rounding (add half and chop).
+ *
+ * Inspired loosely by William D. Clinger's paper "How to Read Floating
+ * Point Numbers Accurately" [Proc. ACM SIGPLAN '90, pp. 92-101].
+ *
+ * Modifications:
+ *
+ * 1. We only require IEEE, IBM, or VAX double-precision
+ * arithmetic (not IEEE double-extended).
+ * 2. We get by with floating-point arithmetic in a case that
+ * Clinger missed -- when we're computing d * 10^n
+ * for a small integer d and the integer n is not too
+ * much larger than 22 (the maximum integer k for which
+ * we can represent 10^k exactly), we may be able to
+ * compute (d*10^k) * 10^(e-k) with just one roundoff.
+ * 3. Rather than a bit-at-a-time adjustment of the binary
+ * result in the hard case, we use floating-point
+ * arithmetic to determine the adjustment to within
+ * one bit; only in really hard cases do we need to
+ * compute a second residual.
+ * 4. Because of 3., we don't need a large table of powers of 10
+ * for ten-to-e (just some small tables, e.g. of 10^k
+ * for 0 <= k <= 22).
+ */
+
+/*
+ * #define IEEE_8087 for IEEE-arithmetic machines where the least
+ * significant byte has the lowest address.
+ * #define IEEE_MC68k for IEEE-arithmetic machines where the most
+ * significant byte has the lowest address.
+ * #define Sudden_Underflow for IEEE-format machines without gradual
+ * underflow (i.e., that flush to zero on underflow).
+ * #define IBM for IBM mainframe-style floating-point arithmetic.
+ * #define VAX for VAX-style floating-point arithmetic.
+ * #define Unsigned_Shifts if >> does treats its left operand as unsigned.
+ * #define No_leftright to omit left-right logic in fast floating-point
+ * computation of dtoa.
+ * #define Check_FLT_ROUNDS if FLT_ROUNDS can assume the values 2 or 3.
+ * #define RND_PRODQUOT to use rnd_prod and rnd_quot (assembly routines
+ * that use extended-precision instructions to compute rounded
+ * products and quotients) with IBM.
+ * #define ROUND_BIASED for IEEE-format with biased rounding.
+ * #define Inaccurate_Divide for IEEE-format with correctly rounded
+ * products but inaccurate quotients, e.g., for Intel i860.
+ * #define Just_16 to store 16 bits per 32-bit long when doing high-precision
+ * integer arithmetic. Whether this speeds things up or slows things
+ * down depends on the machine and the number being converted.
+ */
+
+#include <stdlib.h>
+#include <string.h>
+#include <java-assert.h>
+#include "mprec.h"
+
+/* reent.c knows this value */
+#define _Kmax 15
+#include <stdio.h>
+
+_Jv_Bigint *
+_DEFUN (Balloc, (ptr, k), struct _Jv_reent *ptr _AND int k)
+{
+ _Jv_Bigint *rv = NULL;
+
+ int i = 0;
+ int j = 1;
+
+ JvAssert ((1 << k) < MAX_BIGNUM_WDS);
+
+ while ((ptr->_allocation_map & j) && i < MAX_BIGNUMS)
+ i++, j <<= 1;
+
+ JvAssert (i < MAX_BIGNUMS);
+
+ if (i >= MAX_BIGNUMS)
+ return NULL;
+
+ ptr->_allocation_map |= j;
+ rv = &ptr->_freelist[i];
+
+ rv->_k = k;
+ rv->_maxwds = 32;
+
+ return rv;
+}
+
+
+void
+_DEFUN (Bfree, (ptr, v), struct _Jv_reent *ptr _AND _Jv_Bigint * v)
+{
+ long i;
+
+ i = v - ptr->_freelist;
+
+ JvAssert (i >= 0 && i < MAX_BIGNUMS);
+
+ if (i >= 0 && i < MAX_BIGNUMS)
+ ptr->_allocation_map &= ~ (1 << i);
+}
+
+
+_Jv_Bigint *
+_DEFUN (multadd, (ptr, b, m, a),
+ struct _Jv_reent *ptr _AND
+ _Jv_Bigint * b _AND
+ int m _AND
+ int a)
+{
+ int i, wds;
+ unsigned long *x, y;
+#ifdef Pack_32
+ unsigned long xi, z;
+#endif
+ _Jv_Bigint *b1;
+
+ wds = b->_wds;
+ x = b->_x;
+ i = 0;
+ do
+ {
+#ifdef Pack_32
+ xi = *x;
+ y = (xi & 0xffff) * m + a;
+ z = (xi >> 16) * m + (y >> 16);
+ a = (int) (z >> 16);
+ *x++ = (z << 16) + (y & 0xffff);
+#else
+ y = *x * m + a;
+ a = (int) (y >> 16);
+ *x++ = y & 0xffff;
+#endif
+ }
+ while (++i < wds);
+ if (a)
+ {
+ if (wds >= b->_maxwds)
+ {
+ b1 = Balloc (ptr, b->_k + 1);
+ Bcopy (b1, b);
+ Bfree (ptr, b);
+ b = b1;
+ }
+ b->_x[wds++] = a;
+ b->_wds = wds;
+ }
+ return b;
+}
+
+_Jv_Bigint *
+_DEFUN (s2b, (ptr, s, nd0, nd, y9),
+ struct _Jv_reent * ptr _AND
+ _CONST char *s _AND
+ int nd0 _AND
+ int nd _AND
+ unsigned long y9)
+{
+ _Jv_Bigint *b;
+ int i, k;
+ long x, y;
+
+ x = (nd + 8) / 9;
+ for (k = 0, y = 1; x > y; y <<= 1, k++);
+#ifdef Pack_32
+ b = Balloc (ptr, k);
+ b->_x[0] = y9;
+ b->_wds = 1;
+#else
+ b = Balloc (ptr, k + 1);
+ b->_x[0] = y9 & 0xffff;
+ b->_wds = (b->_x[1] = y9 >> 16) ? 2 : 1;
+#endif
+
+ i = 9;
+ if (9 < nd0)
+ {
+ s += 9;
+ do
+ b = multadd (ptr, b, 10, *s++ - '0');
+ while (++i < nd0);
+ s++;
+ }
+ else
+ s += 10;
+ for (; i < nd; i++)
+ b = multadd (ptr, b, 10, *s++ - '0');
+ return b;
+}
+
+int
+_DEFUN (hi0bits,
+ (x), register unsigned long x)
+{
+ register int k = 0;
+
+ if (!(x & 0xffff0000))
+ {
+ k = 16;
+ x <<= 16;
+ }
+ if (!(x & 0xff000000))
+ {
+ k += 8;
+ x <<= 8;
+ }
+ if (!(x & 0xf0000000))
+ {
+ k += 4;
+ x <<= 4;
+ }
+ if (!(x & 0xc0000000))
+ {
+ k += 2;
+ x <<= 2;
+ }
+ if (!(x & 0x80000000))
+ {
+ k++;
+ if (!(x & 0x40000000))
+ return 32;
+ }
+ return k;
+}
+
+int
+_DEFUN (lo0bits, (y), unsigned long *y)
+{
+ register int k;
+ register unsigned long x = *y;
+
+ if (x & 7)
+ {
+ if (x & 1)
+ return 0;
+ if (x & 2)
+ {
+ *y = x >> 1;
+ return 1;
+ }
+ *y = x >> 2;
+ return 2;
+ }
+ k = 0;
+ if (!(x & 0xffff))
+ {
+ k = 16;
+ x >>= 16;
+ }
+ if (!(x & 0xff))
+ {
+ k += 8;
+ x >>= 8;
+ }
+ if (!(x & 0xf))
+ {
+ k += 4;
+ x >>= 4;
+ }
+ if (!(x & 0x3))
+ {
+ k += 2;
+ x >>= 2;
+ }
+ if (!(x & 1))
+ {
+ k++;
+ x >>= 1;
+ if (!x & 1)
+ return 32;
+ }
+ *y = x;
+ return k;
+}
+
+_Jv_Bigint *
+_DEFUN (i2b, (ptr, i), struct _Jv_reent * ptr _AND int i)
+{
+ _Jv_Bigint *b;
+
+ b = Balloc (ptr, 1);
+ b->_x[0] = i;
+ b->_wds = 1;
+ return b;
+}
+
+_Jv_Bigint *
+_DEFUN (mult, (ptr, a, b), struct _Jv_reent * ptr _AND _Jv_Bigint * a _AND _Jv_Bigint * b)
+{
+ _Jv_Bigint *c;
+ int k, wa, wb, wc;
+ unsigned long carry, y, z;
+ unsigned long *x, *xa, *xae, *xb, *xbe, *xc, *xc0;
+#ifdef Pack_32
+ unsigned long z2;
+#endif
+
+ if (a->_wds < b->_wds)
+ {
+ c = a;
+ a = b;
+ b = c;
+ }
+ k = a->_k;
+ wa = a->_wds;
+ wb = b->_wds;
+ wc = wa + wb;
+ if (wc > a->_maxwds)
+ k++;
+ c = Balloc (ptr, k);
+ for (x = c->_x, xa = x + wc; x < xa; x++)
+ *x = 0;
+ xa = a->_x;
+ xae = xa + wa;
+ xb = b->_x;
+ xbe = xb + wb;
+ xc0 = c->_x;
+#ifdef Pack_32
+ for (; xb < xbe; xb++, xc0++)
+ {
+ if ((y = *xb & 0xffff))
+ {
+ x = xa;
+ xc = xc0;
+ carry = 0;
+ do
+ {
+ z = (*x & 0xffff) * y + (*xc & 0xffff) + carry;
+ carry = z >> 16;
+ z2 = (*x++ >> 16) * y + (*xc >> 16) + carry;
+ carry = z2 >> 16;
+ Storeinc (xc, z2, z);
+ }
+ while (x < xae);
+ *xc = carry;
+ }
+ if ((y = *xb >> 16))
+ {
+ x = xa;
+ xc = xc0;
+ carry = 0;
+ z2 = *xc;
+ do
+ {
+ z = (*x & 0xffff) * y + (*xc >> 16) + carry;
+ carry = z >> 16;
+ Storeinc (xc, z, z2);
+ z2 = (*x++ >> 16) * y + (*xc & 0xffff) + carry;
+ carry = z2 >> 16;
+ }
+ while (x < xae);
+ *xc = z2;
+ }
+ }
+#else
+ for (; xb < xbe; xc0++)
+ {
+ if (y = *xb++)
+ {
+ x = xa;
+ xc = xc0;
+ carry = 0;
+ do
+ {
+ z = *x++ * y + *xc + carry;
+ carry = z >> 16;
+ *xc++ = z & 0xffff;
+ }
+ while (x < xae);
+ *xc = carry;
+ }
+ }
+#endif
+ for (xc0 = c->_x, xc = xc0 + wc; wc > 0 && !*--xc; --wc);
+ c->_wds = wc;
+ return c;
+}
+
+_Jv_Bigint *
+_DEFUN (pow5mult,
+ (ptr, b, k), struct _Jv_reent * ptr _AND _Jv_Bigint * b _AND int k)
+{
+ _Jv_Bigint *b1, *p5, *p51;
+ int i;
+ static _CONST int p05[3] = {5, 25, 125};
+
+ if ((i = k & 3))
+ b = multadd (ptr, b, p05[i - 1], 0);
+
+ if (!(k >>= 2))
+ return b;
+ if (!(p5 = ptr->_p5s))
+ {
+ /* first time */
+ p5 = ptr->_p5s = i2b (ptr, 625);
+ p5->_next = 0;
+ }
+ for (;;)
+ {
+ if (k & 1)
+ {
+ b1 = mult (ptr, b, p5);
+ Bfree (ptr, b);
+ b = b1;
+ }
+ if (!(k >>= 1))
+ break;
+ if (!(p51 = p5->_next))
+ {
+ p51 = p5->_next = mult (ptr, p5, p5);
+ p51->_next = 0;
+ }
+ p5 = p51;
+ }
+ return b;
+}
+
+_Jv_Bigint *
+_DEFUN (lshift, (ptr, b, k), struct _Jv_reent * ptr _AND _Jv_Bigint * b _AND int k)
+{
+ int i, k1, n, n1;
+ _Jv_Bigint *b1;
+ unsigned long *x, *x1, *xe, z;
+
+#ifdef Pack_32
+ n = k >> 5;
+#else
+ n = k >> 4;
+#endif
+ k1 = b->_k;
+ n1 = n + b->_wds + 1;
+ for (i = b->_maxwds; n1 > i; i <<= 1)
+ k1++;
+ b1 = Balloc (ptr, k1);
+ x1 = b1->_x;
+ for (i = 0; i < n; i++)
+ *x1++ = 0;
+ x = b->_x;
+ xe = x + b->_wds;
+#ifdef Pack_32
+ if (k &= 0x1f)
+ {
+ k1 = 32 - k;
+ z = 0;
+ do
+ {
+ *x1++ = *x << k | z;
+ z = *x++ >> k1;
+ }
+ while (x < xe);
+ if ((*x1 = z))
+ ++n1;
+ }
+#else
+ if (k &= 0xf)
+ {
+ k1 = 16 - k;
+ z = 0;
+ do
+ {
+ *x1++ = *x << k & 0xffff | z;
+ z = *x++ >> k1;
+ }
+ while (x < xe);
+ if (*x1 = z)
+ ++n1;
+ }
+#endif
+ else
+ do
+ *x1++ = *x++;
+ while (x < xe);
+ b1->_wds = n1 - 1;
+ Bfree (ptr, b);
+ return b1;
+}
+
+int
+_DEFUN (cmp, (a, b), _Jv_Bigint * a _AND _Jv_Bigint * b)
+{
+ unsigned long *xa, *xa0, *xb, *xb0;
+ int i, j;
+
+ i = a->_wds;
+ j = b->_wds;
+#ifdef DEBUG
+ if (i > 1 && !a->_x[i - 1])
+ Bug ("cmp called with a->_x[a->_wds-1] == 0");
+ if (j > 1 && !b->_x[j - 1])
+ Bug ("cmp called with b->_x[b->_wds-1] == 0");
+#endif
+ if (i -= j)
+ return i;
+ xa0 = a->_x;
+ xa = xa0 + j;
+ xb0 = b->_x;
+ xb = xb0 + j;
+ for (;;)
+ {
+ if (*--xa != *--xb)
+ return *xa < *xb ? -1 : 1;
+ if (xa <= xa0)
+ break;
+ }
+ return 0;
+}
+
+_Jv_Bigint *
+_DEFUN (diff, (ptr, a, b), struct _Jv_reent * ptr _AND
+ _Jv_Bigint * a _AND _Jv_Bigint * b)
+{
+ _Jv_Bigint *c;
+ int i, wa, wb;
+ long borrow, y; /* We need signed shifts here. */
+ unsigned long *xa, *xae, *xb, *xbe, *xc;
+#ifdef Pack_32
+ long z;
+#endif
+
+ i = cmp (a, b);
+ if (!i)
+ {
+ c = Balloc (ptr, 0);
+ c->_wds = 1;
+ c->_x[0] = 0;
+ return c;
+ }
+ if (i < 0)
+ {
+ c = a;
+ a = b;
+ b = c;
+ i = 1;
+ }
+ else
+ i = 0;
+ c = Balloc (ptr, a->_k);
+ c->_sign = i;
+ wa = a->_wds;
+ xa = a->_x;
+ xae = xa + wa;
+ wb = b->_wds;
+ xb = b->_x;
+ xbe = xb + wb;
+ xc = c->_x;
+ borrow = 0;
+#ifdef Pack_32
+ do
+ {
+ y = (*xa & 0xffff) - (*xb & 0xffff) + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ z = (*xa++ >> 16) - (*xb++ >> 16) + borrow;
+ borrow = z >> 16;
+ Sign_Extend (borrow, z);
+ Storeinc (xc, z, y);
+ }
+ while (xb < xbe);
+ while (xa < xae)
+ {
+ y = (*xa & 0xffff) + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ z = (*xa++ >> 16) + borrow;
+ borrow = z >> 16;
+ Sign_Extend (borrow, z);
+ Storeinc (xc, z, y);
+ }
+#else
+ do
+ {
+ y = *xa++ - *xb++ + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ *xc++ = y & 0xffff;
+ }
+ while (xb < xbe);
+ while (xa < xae)
+ {
+ y = *xa++ + borrow;
+ borrow = y >> 16;
+ Sign_Extend (borrow, y);
+ *xc++ = y & 0xffff;
+ }
+#endif
+ while (!*--xc)
+ wa--;
+ c->_wds = wa;
+ return c;
+}
+
+double
+_DEFUN (ulp, (_x), double _x)
+{
+ union double_union x, a;
+ register long L;
+
+ x.d = _x;
+
+ L = (word0 (x) & Exp_mask) - (P - 1) * Exp_msk1;
+#ifndef Sudden_Underflow
+ if (L > 0)
+ {
+#endif
+#ifdef IBM
+ L |= Exp_msk1 >> 4;
+#endif
+ word0 (a) = L;
+#ifndef _DOUBLE_IS_32BITS
+ word1 (a) = 0;
+#endif
+
+#ifndef Sudden_Underflow
+ }
+ else
+ {
+ L = -L >> Exp_shift;
+ if (L < Exp_shift)
+ {
+ word0 (a) = 0x80000 >> L;
+#ifndef _DOUBLE_IS_32BITS
+ word1 (a) = 0;
+#endif
+ }
+ else
+ {
+ word0 (a) = 0;
+ L -= Exp_shift;
+#ifndef _DOUBLE_IS_32BITS
+ word1 (a) = L >= 31 ? 1 : 1 << (31 - L);
+#endif
+ }
+ }
+#endif
+ return a.d;
+}
+
+double
+_DEFUN (b2d, (a, e),
+ _Jv_Bigint * a _AND int *e)
+{
+ unsigned long *xa, *xa0, w, y, z;
+ int k;
+ union double_union d;
+#ifdef VAX
+ unsigned long d0, d1;
+#else
+#define d0 word0(d)
+#define d1 word1(d)
+#endif
+
+ xa0 = a->_x;
+ xa = xa0 + a->_wds;
+ y = *--xa;
+#ifdef DEBUG
+ if (!y)
+ Bug ("zero y in b2d");
+#endif
+ k = hi0bits (y);
+ *e = 32 - k;
+#ifdef Pack_32
+ if (k < Ebits)
+ {
+ d0 = Exp_1 | y >> (Ebits - k);
+ w = xa > xa0 ? *--xa : 0;
+#ifndef _DOUBLE_IS_32BITS
+ d1 = y << (32 - Ebits + k) | w >> (Ebits - k);
+#endif
+ goto ret_d;
+ }
+ z = xa > xa0 ? *--xa : 0;
+ if (k -= Ebits)
+ {
+ d0 = Exp_1 | y << k | z >> (32 - k);
+ y = xa > xa0 ? *--xa : 0;
+#ifndef _DOUBLE_IS_32BITS
+ d1 = z << k | y >> (32 - k);
+#endif
+ }
+ else
+ {
+ d0 = Exp_1 | y;
+#ifndef _DOUBLE_IS_32BITS
+ d1 = z;
+#endif
+ }
+#else
+ if (k < Ebits + 16)
+ {
+ z = xa > xa0 ? *--xa : 0;
+ d0 = Exp_1 | y << k - Ebits | z >> Ebits + 16 - k;
+ w = xa > xa0 ? *--xa : 0;
+ y = xa > xa0 ? *--xa : 0;
+ d1 = z << k + 16 - Ebits | w << k - Ebits | y >> 16 + Ebits - k;
+ goto ret_d;
+ }
+ z = xa > xa0 ? *--xa : 0;
+ w = xa > xa0 ? *--xa : 0;
+ k -= Ebits + 16;
+ d0 = Exp_1 | y << k + 16 | z << k | w >> 16 - k;
+ y = xa > xa0 ? *--xa : 0;
+ d1 = w << k + 16 | y << k;
+#endif
+ret_d:
+#ifdef VAX
+ word0 (d) = d0 >> 16 | d0 << 16;
+ word1 (d) = d1 >> 16 | d1 << 16;
+#else
+#undef d0
+#undef d1
+#endif
+ return d.d;
+}
+
+_Jv_Bigint *
+_DEFUN (d2b,
+ (ptr, _d, e, bits),
+ struct _Jv_reent * ptr _AND
+ double _d _AND
+ int *e _AND
+ int *bits)
+
+{
+ union double_union d;
+ _Jv_Bigint *b;
+ int de, i, k;
+ unsigned long *x, y, z;
+#ifdef VAX
+ unsigned long d0, d1;
+ d.d = _d;
+ d0 = word0 (d) >> 16 | word0 (d) << 16;
+ d1 = word1 (d) >> 16 | word1 (d) << 16;
+#else
+#define d0 word0(d)
+#define d1 word1(d)
+ d.d = _d;
+#endif
+
+#ifdef Pack_32
+ b = Balloc (ptr, 1);
+#else
+ b = Balloc (ptr, 2);
+#endif
+ x = b->_x;
+
+ z = d0 & Frac_mask;
+ d0 &= 0x7fffffff; /* clear sign bit, which we ignore */
+#ifdef Sudden_Underflow
+ de = (int) (d0 >> Exp_shift);
+#ifndef IBM
+ z |= Exp_msk11;
+#endif
+#else
+ if ((de = (int) (d0 >> Exp_shift)))
+ z |= Exp_msk1;
+#endif
+#ifdef Pack_32
+#ifndef _DOUBLE_IS_32BITS
+ if ((y = d1))
+ {
+ if ((k = lo0bits (&y)))
+ {
+ x[0] = y | z << (32 - k);
+ z >>= k;
+ }
+ else
+ x[0] = y;
+ i = b->_wds = (x[1] = z) ? 2 : 1;
+ }
+ else
+#endif
+ {
+#ifdef DEBUG
+ if (!z)
+ Bug ("Zero passed to d2b");
+#endif
+ k = lo0bits (&z);
+ x[0] = z;
+ i = b->_wds = 1;
+#ifndef _DOUBLE_IS_32BITS
+ k += 32;
+#endif
+ }
+#else
+ if (y = d1)
+ {
+ if (k = lo0bits (&y))
+ if (k >= 16)
+ {
+ x[0] = y | z << 32 - k & 0xffff;
+ x[1] = z >> k - 16 & 0xffff;
+ x[2] = z >> k;
+ i = 2;
+ }
+ else
+ {
+ x[0] = y & 0xffff;
+ x[1] = y >> 16 | z << 16 - k & 0xffff;
+ x[2] = z >> k & 0xffff;
+ x[3] = z >> k + 16;
+ i = 3;
+ }
+ else
+ {
+ x[0] = y & 0xffff;
+ x[1] = y >> 16;
+ x[2] = z & 0xffff;
+ x[3] = z >> 16;
+ i = 3;
+ }
+ }
+ else
+ {
+#ifdef DEBUG
+ if (!z)
+ Bug ("Zero passed to d2b");
+#endif
+ k = lo0bits (&z);
+ if (k >= 16)
+ {
+ x[0] = z;
+ i = 0;
+ }
+ else
+ {
+ x[0] = z & 0xffff;
+ x[1] = z >> 16;
+ i = 1;
+ }
+ k += 32;
+ }
+ while (!x[i])
+ --i;
+ b->_wds = i + 1;
+#endif
+#ifndef Sudden_Underflow
+ if (de)
+ {
+#endif
+#ifdef IBM
+ *e = (de - Bias - (P - 1) << 2) + k;
+ *bits = 4 * P + 8 - k - hi0bits (word0 (d) & Frac_mask);
+#else
+ *e = de - Bias - (P - 1) + k;
+ *bits = P - k;
+#endif
+#ifndef Sudden_Underflow
+ }
+ else
+ {
+ *e = de - Bias - (P - 1) + 1 + k;
+#ifdef Pack_32
+ *bits = 32 * i - hi0bits (x[i - 1]);
+#else
+ *bits = (i + 2) * 16 - hi0bits (x[i]);
+#endif
+ }
+#endif
+ return b;
+}
+#undef d0
+#undef d1
+
+double
+_DEFUN (ratio, (a, b), _Jv_Bigint * a _AND _Jv_Bigint * b)
+
+{
+ union double_union da, db;
+ int k, ka, kb;
+
+ da.d = b2d (a, &ka);
+ db.d = b2d (b, &kb);
+#ifdef Pack_32
+ k = ka - kb + 32 * (a->_wds - b->_wds);
+#else
+ k = ka - kb + 16 * (a->_wds - b->_wds);
+#endif
+#ifdef IBM
+ if (k > 0)
+ {
+ word0 (da) += (k >> 2) * Exp_msk1;
+ if (k &= 3)
+ da.d *= 1 << k;
+ }
+ else
+ {
+ k = -k;
+ word0 (db) += (k >> 2) * Exp_msk1;
+ if (k &= 3)
+ db.d *= 1 << k;
+ }
+#else
+ if (k > 0)
+ word0 (da) += k * Exp_msk1;
+ else
+ {
+ k = -k;
+ word0 (db) += k * Exp_msk1;
+ }
+#endif
+ return da.d / db.d;
+}
+
+
+_CONST double
+ tens[] =
+{
+ 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9,
+ 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19,
+ 1e20, 1e21, 1e22, 1e23, 1e24
+
+};
+
+#if !defined(_DOUBLE_IS_32BITS) && !defined(__v800)
+_CONST double bigtens[] =
+{1e16, 1e32, 1e64, 1e128, 1e256};
+
+_CONST double tinytens[] =
+{1e-16, 1e-32, 1e-64, 1e-128, 1e-256};
+#else
+_CONST double bigtens[] =
+{1e16, 1e32};
+
+_CONST double tinytens[] =
+{1e-16, 1e-32};
+#endif
+
+
diff --git a/libjava/java/lang/mprec.h b/libjava/java/lang/mprec.h
new file mode 100644
index 0000000..1922431
--- /dev/null
+++ b/libjava/java/lang/mprec.h
@@ -0,0 +1,374 @@
+/****************************************************************
+ *
+ * The author of this software is David M. Gay.
+ *
+ * Copyright (c) 1991 by AT&T.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose without fee is hereby granted, provided that this entire notice
+ * is included in all copies of any software which is or includes a copy
+ * or modification of this software and in all copies of the supporting
+ * documentation for such software.
+ *
+ * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+ * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+ * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+ * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+ *
+ ***************************************************************/
+
+/* Please send bug reports to
+ David M. Gay
+ AT&T Bell Laboratories, Room 2C-463
+ 600 Mountain Avenue
+ Murray Hill, NJ 07974-2070
+ U.S.A.
+ dmg@research.att.com or research!dmg
+ */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <config.h>
+#include "ieeefp.h"
+
+#include <math.h>
+// #include <float.h>
+// #include <errno.h>
+
+/* These typedefs are true for the targets running Java. */
+
+#ifndef HAVE_INT32_DEFINED
+typedef int __int32_t;
+typedef unsigned int __uint32_t;
+#endif
+
+#ifdef __IEEE_LITTLE_ENDIAN
+#define IEEE_8087
+#endif
+
+#ifdef __IEEE_BIG_ENDIAN
+#define IEEE_MC68k
+#endif
+
+#ifdef __Z8000__
+#define Just_16
+#endif
+
+#ifdef DEBUG
+#include "stdio.h"
+#define Bug(x) {fprintf(stderr, "%s\n", x); exit(1);}
+#endif
+
+
+#ifdef Unsigned_Shifts
+#define Sign_Extend(a,b) if (b < 0) a |= (__uint32_t)0xffff0000;
+#else
+#define Sign_Extend(a,b) /*no-op*/
+#endif
+
+#if defined(IEEE_8087) + defined(IEEE_MC68k) + defined(VAX) + defined(IBM) != 1
+Exactly one of IEEE_8087, IEEE_MC68k, VAX, or IBM should be defined.
+#endif
+
+/* If we are going to examine or modify specific bits in a double using
+ the word0 and/or word1 macros, then we must wrap the double inside
+ a union. This is necessary to avoid undefined behavior according to
+ the ANSI C spec. */
+union double_union
+{
+ double d;
+ // FIXME: This should be some well-defined 32 bit type.
+ __uint32_t i[2];
+};
+
+#ifdef IEEE_8087
+#define word0(x) (x.i[1])
+#define word1(x) (x.i[0])
+#else
+#define word0(x) (x.i[0])
+#define word1(x) (x.i[1])
+#endif
+
+/* The following definition of Storeinc is appropriate for MIPS processors.
+ * An alternative that might be better on some machines is
+ * #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff)
+ */
+#if defined(IEEE_8087) + defined(VAX)
+#define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \
+((unsigned short *)a)[0] = (unsigned short)c, a++)
+#else
+#define Storeinc(a,b,c) (((unsigned short *)a)[0] = (unsigned short)b, \
+((unsigned short *)a)[1] = (unsigned short)c, a++)
+#endif
+
+/* #define P DBL_MANT_DIG */
+/* Ten_pmax = floor(P*log(2)/log(5)) */
+/* Bletch = (highest power of 2 < DBL_MAX_10_EXP) / 16 */
+/* Quick_max = floor((P-1)*log(FLT_RADIX)/log(10) - 1) */
+/* Int_max = floor(P*log(FLT_RADIX)/log(10) - 1) */
+
+#if defined(IEEE_8087) + defined(IEEE_MC68k)
+#if defined (_DOUBLE_IS_32BITS)
+#define Exp_shift 23
+#define Exp_shift1 23
+#define Exp_msk1 ((__uint32_t)0x00800000L)
+#define Exp_msk11 ((__uint32_t)0x00800000L)
+#define Exp_mask ((__uint32_t)0x7f800000L)
+#define P 24
+#define Bias 127
+#if 0
+#define IEEE_Arith /* it is, but the code doesn't handle IEEE singles yet */
+#endif
+#define Emin (-126)
+#define Exp_1 ((__uint32_t)0x3f800000L)
+#define Exp_11 ((__uint32_t)0x3f800000L)
+#define Ebits 8
+#define Frac_mask ((__uint32_t)0x007fffffL)
+#define Frac_mask1 ((__uint32_t)0x007fffffL)
+#define Ten_pmax 10
+#define Sign_bit ((__uint32_t)0x80000000L)
+#define Ten_pmax 10
+#define Bletch 2
+#define Bndry_mask ((__uint32_t)0x007fffffL)
+#define Bndry_mask1 ((__uint32_t)0x007fffffL)
+#define LSB 1
+#define Sign_bit ((__uint32_t)0x80000000L)
+#define Log2P 1
+#define Tiny0 0
+#define Tiny1 1
+#define Quick_max 5
+#define Int_max 6
+#define Infinite(x) (word0(x) == ((__uint32_t)0x7f800000L))
+#undef word0
+#undef word1
+
+#define word0(x) (x.i[0])
+#define word1(x) 0
+#else
+
+#define Exp_shift 20
+#define Exp_shift1 20
+#define Exp_msk1 ((__uint32_t)0x100000L)
+#define Exp_msk11 ((__uint32_t)0x100000L)
+#define Exp_mask ((__uint32_t)0x7ff00000L)
+#define P 53
+#define Bias 1023
+#define IEEE_Arith
+#define Emin (-1022)
+#define Exp_1 ((__uint32_t)0x3ff00000L)
+#define Exp_11 ((__uint32_t)0x3ff00000L)
+#define Ebits 11
+#define Frac_mask ((__uint32_t)0xfffffL)
+#define Frac_mask1 ((__uint32_t)0xfffffL)
+#define Ten_pmax 22
+#define Bletch 0x10
+#define Bndry_mask ((__uint32_t)0xfffffL)
+#define Bndry_mask1 ((__uint32_t)0xfffffL)
+#define LSB 1
+#define Sign_bit ((__uint32_t)0x80000000L)
+#define Log2P 1
+#define Tiny0 0
+#define Tiny1 1
+#define Quick_max 14
+#define Int_max 14
+#define Infinite(x) (word0(x) == ((__uint32_t)0x7ff00000L)) /* sufficient test for here */
+#endif
+
+#else
+#undef Sudden_Underflow
+#define Sudden_Underflow
+#ifdef IBM
+#define Exp_shift 24
+#define Exp_shift1 24
+#define Exp_msk1 ((__uint32_t)0x1000000L)
+#define Exp_msk11 ((__uint32_t)0x1000000L)
+#define Exp_mask ((__uint32_t)0x7f000000L)
+#define P 14
+#define Bias 65
+#define Exp_1 ((__uint32_t)0x41000000L)
+#define Exp_11 ((__uint32_t)0x41000000L)
+#define Ebits 8 /* exponent has 7 bits, but 8 is the right value in b2d */
+#define Frac_mask ((__uint32_t)0xffffffL)
+#define Frac_mask1 ((__uint32_t)0xffffffL)
+#define Bletch 4
+#define Ten_pmax 22
+#define Bndry_mask ((__uint32_t)0xefffffL)
+#define Bndry_mask1 ((__uint32_t)0xffffffL)
+#define LSB 1
+#define Sign_bit ((__uint32_t)0x80000000L)
+#define Log2P 4
+#define Tiny0 ((__uint32_t)0x100000L)
+#define Tiny1 0
+#define Quick_max 14
+#define Int_max 15
+#else /* VAX */
+#define Exp_shift 23
+#define Exp_shift1 7
+#define Exp_msk1 0x80
+#define Exp_msk11 ((__uint32_t)0x800000L)
+#define Exp_mask ((__uint32_t)0x7f80L)
+#define P 56
+#define Bias 129
+#define Exp_1 ((__uint32_t)0x40800000L)
+#define Exp_11 ((__uint32_t)0x4080L)
+#define Ebits 8
+#define Frac_mask ((__uint32_t)0x7fffffL)
+#define Frac_mask1 ((__uint32_t)0xffff007fL)
+#define Ten_pmax 24
+#define Bletch 2
+#define Bndry_mask ((__uint32_t)0xffff007fL)
+#define Bndry_mask1 ((__uint32_t)0xffff007fL)
+#define LSB ((__uint32_t)0x10000L)
+#define Sign_bit ((__uint32_t)0x8000L)
+#define Log2P 1
+#define Tiny0 0x80
+#define Tiny1 0
+#define Quick_max 15
+#define Int_max 15
+#endif
+#endif
+
+#ifndef IEEE_Arith
+#define ROUND_BIASED
+#endif
+
+#ifdef RND_PRODQUOT
+#define rounded_product(a,b) a = rnd_prod(a, b)
+#define rounded_quotient(a,b) a = rnd_quot(a, b)
+#ifdef KR_headers
+extern double rnd_prod(), rnd_quot();
+#else
+extern double rnd_prod(double, double), rnd_quot(double, double);
+#endif
+#else
+#define rounded_product(a,b) a *= b
+#define rounded_quotient(a,b) a /= b
+#endif
+
+#define Big0 (Frac_mask1 | Exp_msk1*(DBL_MAX_EXP+Bias-1))
+#define Big1 ((__uint32_t)0xffffffffL)
+
+#ifndef Just_16
+/* When Pack_32 is not defined, we store 16 bits per 32-bit long.
+ * This makes some inner loops simpler and sometimes saves work
+ * during multiplications, but it often seems to make things slightly
+ * slower. Hence the default is now to store 32 bits per long.
+ */
+
+#ifndef Pack_32
+#define Pack_32
+#endif
+#endif
+
+
+#define MAX_BIGNUMS 16
+#define MAX_BIGNUM_WDS 32
+
+struct _Jv_Bigint
+{
+ struct _Jv_Bigint *_next;
+ int _k, _maxwds, _sign, _wds;
+ unsigned long _x[MAX_BIGNUM_WDS];
+};
+
+
+#define _PTR void *
+#define _AND ,
+#define _NOARGS void
+#define _CONST const
+#define _VOLATILE volatile
+#define _SIGNED signed
+#define _DOTS , ...
+#define _VOID void
+#define _EXFUN(name, proto) name proto
+#define _DEFUN(name, arglist, args) name(args)
+#define _DEFUN_VOID(name) name(_NOARGS)
+#define _CAST_VOID (void)
+
+
+struct _Jv_reent
+{
+ /* local copy of errno */
+ int _errno;
+
+ /* used by mprec routines */
+ struct _Jv_Bigint *_result;
+ int _result_k;
+ struct _Jv_Bigint *_p5s;
+
+ struct _Jv_Bigint _freelist[MAX_BIGNUMS];
+ int _allocation_map;
+
+ int num;
+};
+
+
+typedef struct _Jv_Bigint _Jv_Bigint;
+
+#define Balloc _Jv_Balloc
+#define Bfree _Jv_Bfree
+#define multadd _Jv_multadd
+#define s2b _Jv_s2b
+#define lo0bits _Jv_lo0bits
+#define hi0bits _Jv_hi0bits
+#define i2b _Jv_i2b
+#define mult _Jv_mult
+#define pow5mult _Jv_pow5mult
+#define lshift _Jv_lshift
+#define cmp _Jv__mcmp
+#define diff _Jv__mdiff
+#define ulp _Jv_ulp
+#define b2d _Jv_b2d
+#define d2b _Jv_d2b
+#define ratio _Jv_ratio
+
+#define tens _Jv__mprec_tens
+#define bigtens _Jv__mprec_bigtens
+#define tinytens _Jv__mprec_tinytens
+
+#define _dtoa _Jv_dtoa
+#define _dtoa_r _Jv_dtoa_r
+#define _strtod_r _Jv_strtod_r
+
+extern double _EXFUN(_strtod_r, (struct _Jv_reent *ptr, const char *s00, char **se));
+extern char* _EXFUN(_dtoa_r, (struct _Jv_reent *ptr, double d,
+ int mode, int ndigits, int *decpt, int *sign,
+ char **rve, int float_type));
+void _EXFUN(_dtoa, (double d, int mode, int ndigits, int *decpt, int *sign,
+ char **rve, char *buf, int float_type));
+
+double _EXFUN(ulp,(double x));
+double _EXFUN(b2d,(_Jv_Bigint *a , int *e));
+_Jv_Bigint * _EXFUN(Balloc,(struct _Jv_reent *p, int k));
+void _EXFUN(Bfree,(struct _Jv_reent *p, _Jv_Bigint *v));
+_Jv_Bigint * _EXFUN(multadd,(struct _Jv_reent *p, _Jv_Bigint *, int, int));
+_Jv_Bigint * _EXFUN(s2b,(struct _Jv_reent *, const char*, int, int, unsigned long));
+_Jv_Bigint * _EXFUN(i2b,(struct _Jv_reent *,int));
+_Jv_Bigint * _EXFUN(mult, (struct _Jv_reent *, _Jv_Bigint *, _Jv_Bigint *));
+_Jv_Bigint * _EXFUN(pow5mult, (struct _Jv_reent *, _Jv_Bigint *, int k));
+int _EXFUN(hi0bits,(unsigned long));
+int _EXFUN(lo0bits,(unsigned long *));
+_Jv_Bigint * _EXFUN(d2b,(struct _Jv_reent *p, double d, int *e, int *bits));
+_Jv_Bigint * _EXFUN(lshift,(struct _Jv_reent *p, _Jv_Bigint *b, int k));
+_Jv_Bigint * _EXFUN(diff,(struct _Jv_reent *p, _Jv_Bigint *a, _Jv_Bigint *b));
+int _EXFUN(cmp,(_Jv_Bigint *a, _Jv_Bigint *b));
+
+double _EXFUN(ratio,(_Jv_Bigint *a, _Jv_Bigint *b));
+#define Bcopy(x,y) memcpy((char *)&x->_sign, (char *)&y->_sign, y->_wds*sizeof(long) + 2*sizeof(int))
+
+#if defined(_DOUBLE_IS_32BITS) && defined(__v800)
+#define n_bigtens 2
+#else
+#define n_bigtens 5
+#endif
+
+extern _CONST double tinytens[];
+extern _CONST double bigtens[];
+extern _CONST double tens[];
+
+#ifdef __cplusplus
+}
+#endif
+
diff --git a/libjava/java/lang/natCharacter.cc b/libjava/java/lang/natCharacter.cc
new file mode 100644
index 0000000..36cf570
--- /dev/null
+++ b/libjava/java/lang/natCharacter.cc
@@ -0,0 +1,269 @@
+// natCharacter.cc - Native part of Character class.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <cni.h>
+#include <jvm.h>
+#include <java/lang/Character.h>
+
+#include <java-chartables.h>
+
+
+
+#define asize(x) ((sizeof (x)) / sizeof (x[0]))
+
+static jchar
+to_lower_title (jchar ch)
+{
+ for (unsigned int i = 0; i < asize (title_to_upper_table); ++i)
+ {
+ // We can assume that the entries in the two tables are
+ // parallel. This is checked in the script.
+ if (title_to_upper_table[i][1] == ch
+ || title_to_upper_table[i][0] == ch)
+ return title_to_lower_table[i][1];
+ }
+ return ch;
+}
+
+static jchar
+to_upper_title (jchar ch)
+{
+ for (unsigned int i = 0; i < asize (title_to_lower_table); ++i)
+ {
+ // We can assume that the entries in the two tables are
+ // parallel. This is checked in the script.
+ if (title_to_lower_table[i][1] == ch
+ || title_to_lower_table[i][0] == ch)
+ return title_to_upper_table[i][1];
+ }
+ return ch;
+}
+
+jboolean
+java::lang::Character::isTitleCase (jchar ch)
+{
+ for (unsigned int i = 0; i < asize (title_to_lower_table); ++i)
+ {
+ if (title_to_lower_table[i][0] == ch)
+ return true;
+ }
+ return false;
+}
+
+jchar
+java::lang::Character::toTitleCase (jchar ch)
+{
+ // Both titlecase mapping tables have the same length. This is
+ // checked in the chartables script.
+ for (unsigned int i = 0; i < asize (title_to_lower_table); ++i)
+ {
+ if (title_to_lower_table[i][0] == ch)
+ return ch;
+ if (title_to_lower_table[i][1] == ch)
+ return title_to_lower_table[i][0];
+ if (title_to_upper_table[i][1] == ch)
+ return title_to_upper_table[i][0];
+ }
+ return toUpperCase (ch);
+}
+
+#ifdef COMPACT_CHARACTER
+
+static int
+table_search (const jchar table[][2], int table_len, jchar ch)
+{
+ int low, high, i, old;
+
+ low = 0;
+ high = table_len;
+ i = high / 2;
+
+ while (true)
+ {
+ if (ch < table[i][0])
+ high = i;
+ else if (ch > table[i][1])
+ low = i;
+ else
+ return i;
+
+ old = i;
+ i = (high + low) / 2;
+ if (i == old)
+ break;
+ }
+
+ return -1;
+}
+
+jint
+java::lang::Character::digit_value (jchar ch)
+{
+ int index = table_search (digit_table, asize (digit_table), ch);
+ if (index == -1)
+ return -1;
+
+ jchar base = digit_table[index][0];
+ // Tamil doesn't have a digit `0'. So we special-case it here.
+ if (base == TAMIL_DIGIT_ONE)
+ return ch - base + 1;
+ return ch - base;
+}
+
+jint
+java::lang::Character::getNumericValue (jchar ch)
+{
+ jint d = digit (ch, 36);
+ if (d != -1)
+ return d;
+
+ for (unsigned int i = 0; i < asize (numeric_table); ++i)
+ {
+ if (numeric_table[i] == ch)
+ return numeric_value[i];
+ }
+
+ return -1;
+}
+
+jint
+java::lang::Character::getType (jchar ch)
+{
+ int index = table_search (all_table, asize (all_table), ch);
+ if (index != -1)
+ return category_table[index];
+ return UNASSIGNED;
+}
+
+jboolean
+java::lang::Character::isLowerCase (jchar ch)
+{
+ if (ch >= 0x2000 && ch <= 0x2fff)
+ return false;
+ if (table_search (lower_case_table, asize (lower_case_table), ch) != -1)
+ return true;
+
+ // FIXME: use a binary search.
+ for (unsigned int i = 0; i < asize (lower_anomalous_table); ++i)
+ {
+ if (lower_anomalous_table[i] == ch)
+ return true;
+ }
+ return false;
+}
+
+jboolean
+java::lang::Character::isSpaceChar (jchar ch)
+{
+ return table_search (space_table, asize (space_table), ch) != -1;
+}
+
+jboolean
+java::lang::Character::isUpperCase (jchar ch)
+{
+ if (ch >= 0x2000 && ch <= 0x2fff)
+ return false;
+ return table_search (upper_case_table, asize (upper_case_table), ch) != -1;
+}
+
+jchar
+java::lang::Character::toLowerCase (jchar ch)
+{
+ int index = table_search (upper_case_table, asize (upper_case_table), ch);
+ if (index == -1)
+ return to_lower_title (ch);
+ return (jchar) (ch - upper_case_table[index][0]
+ + upper_case_map_table[index]);
+}
+
+jchar
+java::lang::Character::toUpperCase (jchar ch)
+{
+ int index = table_search (lower_case_table, asize (lower_case_table), ch);
+ if (index == -1)
+ return to_upper_title (ch);
+ return (jchar) (ch - lower_case_table[index][0]
+ + lower_case_map_table[index]);
+}
+
+#else /* COMPACT_CHARACTER */
+
+jint
+java::lang::Character::digit_value (jchar ch)
+{
+ if (type_table[ch] == DECIMAL_DIGIT_NUMBER)
+ return attribute_table[ch];
+ return -1;
+}
+
+jint
+java::lang::Character::getNumericValue (jchar ch)
+{
+ jint d = digit (ch, 36);
+ if (d != -1)
+ return d;
+
+ // Some characters require two attributes. We special-case them here.
+ if (ch >= ROMAN_START && ch <= ROMAN_END)
+ return secondary_attribute_table[ch - ROMAN_START];
+ if (type_table[ch] == LETTER_NUMBER || type_table[ch] == OTHER_NUMBER)
+ return attribute_table[ch];
+ return -1;
+}
+
+jint
+java::lang::Character::getType (jchar ch)
+{
+ return type_table[ch];
+}
+
+jboolean
+java::lang::Character::isLowerCase (jchar ch)
+{
+ if (ch >= 0x2000 && ch <= 0x2fff)
+ return false;
+ return type_table[ch] == LOWERCASE_LETTER;
+}
+
+jboolean
+java::lang::Character::isSpaceChar (jchar ch)
+{
+ return (type_table[ch] == SPACE_SEPARATOR
+ || type_table[ch] == LINE_SEPARATOR
+ || type_table[ch] == PARAGRAPH_SEPARATOR);
+}
+
+jboolean
+java::lang::Character::isUpperCase (jchar ch)
+{
+ if (ch >= 0x2000 && ch <= 0x2fff)
+ return false;
+ return type_table[ch] == UPPERCASE_LETTER;
+}
+
+jchar
+java::lang::Character::toLowerCase (jchar ch)
+{
+ if (type_table[ch] == UPPERCASE_LETTER)
+ return attribute_table[ch];
+ return to_lower_title (ch);
+}
+
+jchar
+java::lang::Character::toUpperCase (jchar ch)
+{
+ if (type_table[ch] == LOWERCASE_LETTER)
+ return attribute_table[ch];
+ return to_upper_title (ch);
+}
+
+#endif /* COMPACT_CHARACTER */
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc
new file mode 100644
index 0000000..1768df5
--- /dev/null
+++ b/libjava/java/lang/natClass.cc
@@ -0,0 +1,785 @@
+// natClass.cc - Implementation of java.lang.Class native methods.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <stdlib.h>
+#include <string.h>
+
+#pragma implementation "Class.h"
+
+#include <cni.h>
+#include <jvm.h>
+#include <java/lang/Class.h>
+#include <java/lang/ClassLoader.h>
+#include <java/lang/String.h>
+#include <java/lang/reflect/Modifier.h>
+#include <java/lang/reflect/Member.h>
+#include <java/lang/reflect/Method.h>
+#include <java/lang/reflect/Field.h>
+#include <java/lang/reflect/Constructor.h>
+#include <java/lang/AbstractMethodError.h>
+#include <java/lang/ClassNotFoundException.h>
+#include <java/lang/IllegalAccessException.h>
+#include <java/lang/IllegalAccessError.h>
+#include <java/lang/IncompatibleClassChangeError.h>
+#include <java/lang/InstantiationException.h>
+#include <java/lang/NoClassDefFoundError.h>
+#include <java/lang/NoSuchFieldException.h>
+#include <java/lang/NoSuchMethodException.h>
+#include <java/lang/Thread.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/System.h>
+#include <java/lang/SecurityManager.h>
+
+
+
+#define CloneableClass _CL_Q34java4lang9Cloneable
+extern java::lang::Class CloneableClass;
+#define ObjectClass _CL_Q34java4lang6Object
+extern java::lang::Class ObjectClass;
+#define ErrorClass _CL_Q34java4lang5Error
+extern java::lang::Class ErrorClass;
+#define ClassClass _CL_Q34java4lang5Class
+extern java::lang::Class ClassClass;
+#define MethodClass _CL_Q44java4lang7reflect6Method
+extern java::lang::Class MethodClass;
+#define FieldClass _CL_Q44java4lang7reflect5Field
+extern java::lang::Class FieldClass;
+
+// Some constants we use to look up the class initializer.
+static _Jv_Utf8Const *void_signature = _Jv_makeUtf8Const ("()V", 3);
+static _Jv_Utf8Const *clinit_name = _Jv_makeUtf8Const ("<clinit>", 8);
+static _Jv_Utf8Const *init_name = _Jv_makeUtf8Const ("<init>", 6);
+
+// These are the possible values for the `state' field. They more or
+// less follow the section numbers in the Java Language Spec. Right
+// now we don't bother to represent other interesting states, e.g. the
+// states a class might inhabit before it is prepared. Note that
+// ordering is important here; in particular `resolved' must come
+// between `nothing' and the other states.
+#define STATE_NOTHING 0
+#define STATE_RESOLVED 1
+#define STATE_IN_PROGRESS 6
+#define STATE_DONE 9
+#define STATE_ERROR 10
+
+// Size of local hash table.
+#define HASH_LEN 256
+
+// Hash function for Utf8Consts.
+#define HASH_UTF(Utf) (((Utf)->hash) % HASH_LEN)
+
+// This is the table we use to keep track of loaded classes. See Spec
+// section 12.2.
+static jclass loaded_classes[HASH_LEN];
+
+
+
+jclass
+java::lang::Class::forName (jstring className)
+{
+ if (! className)
+ JvThrow (new java::lang::NullPointerException);
+
+#if 0
+ // FIXME: should check syntax of CLASSNAME and throw
+ // IllegalArgumentException on failure.
+
+ // FIXME: should use class loader from calling method.
+ jclass klass = _Jv_FindClass (className, NULL);
+#else
+ jsize length = _Jv_GetStringUTFLength (className);
+ char buffer[length];
+ _Jv_GetStringUTFRegion (className, 0, length, buffer);
+
+ // FIXME: should check syntax of CLASSNAME and throw
+ // IllegalArgumentException on failure.
+ _Jv_Utf8Const *name = _Jv_makeUtf8Const (buffer, length);
+
+ // FIXME: should use class loader from calling method.
+ jclass klass = (buffer[0] == '['
+ ? _Jv_FindClassFromSignature (name->data, NULL)
+ : _Jv_FindClass (name, NULL));
+#endif
+ if (! klass)
+ JvThrow (new java::lang::ClassNotFoundException (className));
+ return klass;
+}
+
+java::lang::reflect::Constructor *
+java::lang::Class::getConstructor (JArray<jclass> *)
+{
+ JvFail ("java::lang::Class::getConstructor not implemented");
+}
+
+JArray<java::lang::reflect::Constructor *> *
+java::lang::Class::getConstructors (void)
+{
+ JvFail ("java::lang::Class::getConstructors not implemented");
+}
+
+java::lang::reflect::Constructor *
+java::lang::Class::getDeclaredConstructor (JArray<jclass> *)
+{
+ JvFail ("java::lang::Class::getDeclaredConstructor not implemented");
+}
+
+JArray<java::lang::reflect::Constructor *> *
+java::lang::Class::getDeclaredConstructors (void)
+{
+ JvFail ("java::lang::Class::getDeclaredConstructors not implemented");
+}
+
+java::lang::reflect::Field *
+java::lang::Class::getField (jstring name, jint hash)
+{
+ java::lang::reflect::Field* rfield;
+ for (int i = 0; i < field_count; i++)
+ {
+ _Jv_Field *field = &fields[i];
+ if (! _Jv_equal (field->name, name, hash))
+ continue;
+ if (! (field->getModifiers() & java::lang::reflect::Modifier::PUBLIC))
+ continue;
+ rfield = new java::lang::reflect::Field ();
+ rfield->offset = (char*) field - (char*) fields;
+ rfield->declaringClass = this;
+ rfield->name = name;
+ return rfield;
+ }
+ jclass superclass = getSuperclass();
+ if (superclass == NULL)
+ return NULL;
+ rfield = superclass->getField(name, hash);
+ for (int i = 0; i < interface_count && rfield == NULL; ++i)
+ rfield = interfaces[i]->getField (name, hash);
+ return rfield;
+}
+
+java::lang::reflect::Field *
+java::lang::Class::getDeclaredField (jstring name)
+{
+ java::lang::SecurityManager *s = java::lang::System::getSecurityManager();
+ if (s != NULL)
+ s->checkMemberAccess (this, java::lang::reflect::Member::DECLARED);
+ int hash = name->hashCode();
+ for (int i = 0; i < field_count; i++)
+ {
+ _Jv_Field *field = &fields[i];
+ if (! _Jv_equal (field->name, name, hash))
+ continue;
+ java::lang::reflect::Field* rfield = new java::lang::reflect::Field ();
+ rfield->offset = (char*) field - (char*) fields;
+ rfield->declaringClass = this;
+ rfield->name = name;
+ return rfield;
+ }
+ JvThrow (new java::lang::NoSuchFieldException (name));
+}
+
+JArray<java::lang::reflect::Field *> *
+java::lang::Class::getDeclaredFields (void)
+{
+ java::lang::SecurityManager *s = java::lang::System::getSecurityManager();
+ if (s != NULL)
+ s->checkMemberAccess (this, java::lang::reflect::Member::DECLARED);
+ JArray<java::lang::reflect::Field *> *result
+ = (JArray<java::lang::reflect::Field *> *)
+ JvNewObjectArray (field_count, &FieldClass, NULL);
+ java::lang::reflect::Field** fptr = elements (result);
+ for (int i = 0; i < field_count; i++)
+ {
+ _Jv_Field *field = &fields[i];
+ java::lang::reflect::Field* rfield = new java::lang::reflect::Field ();
+ rfield->offset = (char*) field - (char*) fields;
+ rfield->declaringClass = this;
+ *fptr++ = rfield;
+ }
+ return result;
+}
+
+java::lang::reflect::Method *
+java::lang::Class::getDeclaredMethod (jstring, JArray<jclass> *)
+{
+ JvFail ("java::lang::Class::getDeclaredMethod not implemented");
+}
+
+JArray<java::lang::reflect::Method *> *
+java::lang::Class::getDeclaredMethods (void)
+{
+ int numMethods = 0;
+ int i;
+ for (i = method_count; --i >= 0; )
+ {
+ _Jv_Method *method = &methods[i];
+ if (method->name == NULL
+ || _Jv_equalUtf8Consts (method->name, clinit_name)
+ || _Jv_equalUtf8Consts (method->name, init_name))
+ continue;
+ numMethods++;
+ }
+ JArray<java::lang::reflect::Method *> *result
+ = (JArray<java::lang::reflect::Method *> *)
+ JvNewObjectArray (numMethods, &MethodClass, NULL);
+ java::lang::reflect::Method** mptr = elements (result);
+ for (i = 0; i < method_count; i++)
+ {
+ _Jv_Method *method = &methods[i];
+ if (method->name == NULL
+ || _Jv_equalUtf8Consts (method->name, clinit_name)
+ || _Jv_equalUtf8Consts (method->name, init_name))
+ continue;
+ java::lang::reflect::Method* rmethod = new java::lang::reflect::Method ();
+ rmethod->offset = (char*) mptr - (char*) elements (result);
+ rmethod->declaringClass = this;
+ *mptr++ = rmethod;
+ }
+ return result;
+}
+
+jstring
+java::lang::Class::getName (void)
+{
+ char buffer[name->length + 1];
+ memcpy (buffer, name->data, name->length);
+ buffer[name->length] = '\0';
+ return _Jv_NewStringUTF (buffer);
+}
+
+JArray<jclass> *
+java::lang::Class::getClasses (void)
+{
+ // FIXME: implement.
+ return NULL;
+}
+
+JArray<jclass> *
+java::lang::Class::getDeclaredClasses (void)
+{
+ checkMemberAccess (java::lang::reflect::Member::DECLARED);
+ JvFail ("java::lang::Class::getDeclaredClasses not implemented");
+ return NULL; // Placate compiler.
+}
+
+// This is marked as unimplemented in the JCL book.
+jclass
+java::lang::Class::getDeclaringClass (void)
+{
+ JvFail ("java::lang::Class::getDeclaringClass unimplemented");
+ return NULL; // Placate compiler.
+}
+
+JArray<java::lang::reflect::Field *> *
+java::lang::Class::getFields (void)
+{
+ JvFail ("java::lang::Class::getFields not implemented");
+}
+
+JArray<jclass> *
+java::lang::Class::getInterfaces (void)
+{
+ jobjectArray r = JvNewObjectArray (interface_count, getClass (), NULL);
+ jobject *data = elements (r);
+ for (int i = 0; i < interface_count; ++i)
+ data[i] = interfaces[i];
+ return reinterpret_cast<JArray<jclass> *> (r);
+}
+
+java::lang::reflect::Method *
+java::lang::Class::getMethod (jstring, JArray<jclass> *)
+{
+ JvFail ("java::lang::Class::getMethod not implemented");
+}
+
+JArray<java::lang::reflect::Method *> *
+java::lang::Class::getMethods (void)
+{
+ JvFail ("java::lang::Class::getMethods not implemented");
+}
+
+jboolean
+java::lang::Class::isAssignableFrom (jclass klass)
+{
+ if (this == klass)
+ return true;
+ // Primitive types must be equal, which we just tested for.
+ if (isPrimitive () || ! klass || klass->isPrimitive())
+ return false;
+
+ // If target is array, so must source be.
+ if (isArray ())
+ {
+ if (! klass->isArray())
+ return false;
+ return getComponentType()->isAssignableFrom(klass->getComponentType());
+ }
+
+ if (isAssignableFrom (klass->getSuperclass()))
+ return true;
+
+ if (isInterface())
+ {
+ // See if source implements this interface.
+ for (int i = 0; i < klass->interface_count; ++i)
+ {
+ jclass interface = klass->interfaces[i];
+ // FIXME: ensure that class is prepared here.
+ // See Spec 12.3.2.
+ if (isAssignableFrom (interface))
+ return true;
+ }
+ }
+
+ return false;
+}
+
+jboolean
+java::lang::Class::isInstance (jobject obj)
+{
+ if (! obj || isPrimitive ())
+ return false;
+ return isAssignableFrom (obj->getClass());
+}
+
+jboolean
+java::lang::Class::isInterface (void)
+{
+ return (accflags & java::lang::reflect::Modifier::INTERFACE) != 0;
+}
+
+jobject
+java::lang::Class::newInstance (void)
+{
+ // FIXME: do accessibility checks here. There currently doesn't
+ // seem to be any way to do these.
+ // FIXME: we special-case one check here just to pass a Plum Hall
+ // test. Once access checking is implemented, remove this.
+ if (this == &ClassClass)
+ JvThrow (new java::lang::IllegalAccessException);
+
+ if (isPrimitive ()
+ || isInterface ()
+ || isArray ()
+ || java::lang::reflect::Modifier::isAbstract(accflags))
+ JvThrow (new java::lang::InstantiationException);
+
+ _Jv_Method *meth = _Jv_GetMethodLocal (this, init_name, void_signature);
+ if (! meth)
+ JvThrow (new java::lang::NoSuchMethodException);
+
+ jobject r = JvAllocObject (this);
+ ((void (*) (jobject)) meth->ncode) (r);
+ return r;
+}
+
+// Initialize the constants.
+void
+java::lang::Class::resolveConstants (void)
+{
+ for (int i = 0; i < constants.size; ++i)
+ {
+ if (constants.tags[i] == CONSTANT_String)
+ {
+ jstring str;
+ str = _Jv_NewStringUtf8Const ((_Jv_Utf8Const *) constants.data[i]);
+ constants.data[i] = (void *) str;
+ constants.tags[i] = CONSTANT_ResolvedString;
+ }
+ else if (constants.tags[i] == CONSTANT_Class)
+ {
+ _Jv_Utf8Const *name = (_Jv_Utf8Const *) constants.data[i];
+ jclass klass = _Jv_FindClassFromSignature (name->data, loader);
+ if (! klass)
+ {
+ jstring str = _Jv_NewStringUtf8Const (name);
+ JvThrow (new java::lang::ClassNotFoundException (str));
+ }
+
+ constants.data[i] = (void *) klass;
+ constants.tags[i] = CONSTANT_ResolvedClass;
+ }
+ }
+}
+
+// FIXME.
+void
+java::lang::Class::hackRunInitializers (void)
+{
+ _Jv_Method *meth = _Jv_GetMethodLocal (this, clinit_name, void_signature);
+ if (meth)
+ ((void (*) (void)) meth->ncode) ();
+}
+
+// This implements the initialization process for a class. From Spec
+// section 12.4.2.
+void
+java::lang::Class::initializeClass (void)
+{
+ // Short-circuit to avoid needless locking.
+ if (state == STATE_DONE)
+ return;
+
+ // Step 1.
+ _Jv_MonitorEnter (this);
+
+ // FIXME: This should actually be handled by calling into the class
+ // loader. For now we put it here.
+ if (state < STATE_RESOLVED)
+ {
+ // We set the state before calling resolveConstants to avoid
+ // infinite recursion when processing String or Class.
+ state = STATE_RESOLVED;
+ resolveConstants ();
+ }
+
+ // Step 2.
+ java::lang::Thread *self = java::lang::Thread::currentThread();
+ // FIXME: `self' can be null at startup. Hence this nasty trick.
+ self = (java::lang::Thread *) ((long) self | 1);
+ while (state == STATE_IN_PROGRESS && thread && thread != self)
+ wait ();
+
+ // Steps 3 & 4.
+ if (state == STATE_DONE || state == STATE_IN_PROGRESS || thread == self)
+ {
+ _Jv_MonitorExit (this);
+ return;
+ }
+
+ // Step 5.
+ if (state == STATE_ERROR)
+ {
+ _Jv_MonitorExit (this);
+ JvThrow (new java::lang::NoClassDefFoundError);
+ }
+
+ // Step 6.
+ thread = self;
+ state = STATE_IN_PROGRESS;
+ _Jv_MonitorExit (this);
+
+ // Step 7.
+ if (! isInterface () && superclass)
+ {
+ // FIXME: We can't currently catch a Java exception in C++ code.
+ // So instead we call a Java trampoline. It returns an
+ // exception, or null.
+ jobject except = superclass->hackTrampoline(0, NULL);
+ if (except)
+ {
+ // Caught an exception.
+ _Jv_MonitorEnter (this);
+ state = STATE_ERROR;
+ notify ();
+ _Jv_MonitorExit (this);
+ JvThrow (except);
+ }
+ }
+
+ // Step 8.
+ // FIXME: once again we have to go through a trampoline.
+ java::lang::Throwable *except = hackTrampoline (1, NULL);
+
+ // Steps 9, 10, 11.
+ if (! except)
+ {
+ _Jv_MonitorEnter (this);
+ state = STATE_DONE;
+ }
+ else
+ {
+ if (! ErrorClass.isInstance(except))
+ {
+ // Once again we must use the trampoline. In this case we
+ // have to detect an OutOfMemoryError.
+ except = hackTrampoline(2, except);
+ }
+ _Jv_MonitorEnter (this);
+ state = STATE_ERROR;
+ }
+ notify ();
+ _Jv_MonitorExit (this);
+ if (except)
+ JvThrow (except);
+}
+
+
+
+//
+// Some class-related convenience functions.
+//
+
+_Jv_Method *
+_Jv_GetMethodLocal (jclass klass, _Jv_Utf8Const *name,
+ _Jv_Utf8Const *signature)
+{
+ for (int i = 0; i < klass->method_count; ++i)
+ {
+ if (_Jv_equalUtf8Consts (name, klass->methods[i].name)
+ && _Jv_equalUtf8Consts (signature, klass->methods[i].signature))
+ return &klass->methods[i];
+ }
+ return NULL;
+}
+
+void *
+_Jv_LookupInterfaceMethod (jclass klass, _Jv_Utf8Const *name,
+ _Jv_Utf8Const *signature)
+{
+ // FIXME: can't do this until we have a working class loader.
+ // This probably isn't the right thing to do anyway, since we can't
+ // call a method of a class until the class is linked. But this
+ // captures the general idea.
+ // klass->getClassLoader()->resolveClass(klass);
+
+ for (; klass; klass = klass->getSuperclass())
+ {
+ _Jv_Method *meth = _Jv_GetMethodLocal (klass, name, signature);
+ if (! meth)
+ continue;
+
+ if (java::lang::reflect::Modifier::isStatic(meth->accflags))
+ JvThrow (new java::lang::IncompatibleClassChangeError);
+ if (java::lang::reflect::Modifier::isAbstract(meth->accflags))
+ JvThrow (new java::lang::AbstractMethodError);
+ if (! java::lang::reflect::Modifier::isPublic(meth->accflags))
+ JvThrow (new java::lang::IllegalAccessError);
+
+ return meth->ncode;
+ }
+ JvThrow (new java::lang::IncompatibleClassChangeError);
+ return NULL; // Placate compiler.
+}
+
+void
+_Jv_InitClass (jclass klass)
+{
+ klass->initializeClass();
+}
+
+// This function is called many times during startup, before main() is
+// run. We do our runtime initialization here the very first time we
+// are called. At that point in time we know for certain we are
+// running single-threaded, so we don't need to lock when modifying
+// `init'. CLASSES is NULL-terminated.
+void
+_Jv_RegisterClasses (jclass *classes)
+{
+ static bool init = false;
+
+ if (! init)
+ {
+ init = true;
+ _Jv_InitThreads ();
+ _Jv_InitGC ();
+ _Jv_InitializeSyncMutex ();
+ }
+
+ JvSynchronize sync (&ClassClass);
+ for (; *classes; ++classes)
+ {
+ jclass klass = *classes;
+ jint hash = HASH_UTF (klass->name);
+ klass->next = loaded_classes[hash];
+ loaded_classes[hash] = klass;
+ }
+}
+
+void
+_Jv_RegisterClass (jclass klass)
+{
+ jclass classes[2];
+ classes[0] = klass;
+ classes[1] = NULL;
+ _Jv_RegisterClasses (classes);
+}
+
+jclass
+_Jv_FindClassInCache (_Jv_Utf8Const *name, java::lang::ClassLoader *loader)
+{
+ JvSynchronize sync (&ClassClass);
+ jint hash = HASH_UTF (name);
+ jclass klass;
+ for (klass = loaded_classes[hash]; klass; klass = klass->next)
+ {
+ if (loader == klass->loader && _Jv_equalUtf8Consts (name, klass->name))
+ break;
+ }
+ return klass;
+}
+
+#if 0
+jclass
+_Jv_FindClassInCache (jstring name, java::lang::ClassLoader *loader)
+{
+ JvSynchronize sync (&ClassClass);
+ jint hash = name->hashCode();
+ jclass klass = loaded_classes[(_Jv_ushort) hash % HASH_LEN];
+ for ( ; klass; klass = klass->next)
+ {
+ if (loader == klass->loader
+ && _Jv_equalUtf8Consts (klass->name, name, hash))
+ break;
+ }
+ return klass;
+}
+#endif
+
+jclass
+_Jv_FindClass (_Jv_Utf8Const* name, java::lang::ClassLoader *loader)
+{
+ jclass klass = _Jv_FindClassInCache (name, loader);
+ if (loader && ! klass)
+ {
+ klass = loader->loadClass(_Jv_NewStringUtf8Const (name));
+ if (klass)
+ _Jv_RegisterClass (klass);
+ }
+ return klass;
+}
+
+#if 0
+jclass
+_Jv_FindClass (jstring name, java::lang::ClassLoader *loader)
+{
+ jclass klass = _Jv_FindClassInCache (name, loader);
+ if (loader && ! klass)
+ {
+ klass = loader->loadClass(name);
+ if (klass)
+ _Jv_RegisterClass (klass);
+ }
+ return klass;
+}
+#endif
+
+jclass
+_Jv_NewClass (_Jv_Utf8Const *name, jclass superclass,
+ java::lang::ClassLoader *loader)
+{
+ jclass ret = (jclass) JvAllocObject (&ClassClass);
+
+ ret->next = NULL;
+ ret->name = name;
+ ret->accflags = 0;
+ ret->superclass = superclass;
+ ret->constants.size = 0;
+ ret->constants.tags = NULL;
+ ret->constants.data = NULL;
+ ret->methods = NULL;
+ ret->method_count = 0;
+ ret->vtable_method_count = 0;
+ ret->fields = NULL;
+ ret->size_in_bytes = 0;
+ ret->field_count = 0;
+ ret->static_field_count = 0;
+ ret->vtable = NULL;
+ ret->interfaces = NULL;
+ ret->loader = loader;
+ ret->interface_count = 0;
+ ret->state = 0;
+ ret->thread = NULL;
+
+ _Jv_RegisterClass (ret);
+
+ return ret;
+}
+
+jclass
+_Jv_FindArrayClass (jclass element)
+{
+ _Jv_Utf8Const *array_name;
+ int len;
+ if (element->isPrimitive())
+ {
+ // For primitive types the array is cached in the class.
+ jclass ret = (jclass) element->methods;
+ if (ret)
+ return ret;
+ len = 3;
+ }
+ else
+ len = element->name->length + 5;
+
+ {
+ char signature[len];
+ int index = 0;
+ signature[index++] = '[';
+ // Compute name of array class to see if we've already cached it.
+ if (element->isPrimitive())
+ {
+ signature[index++] = (char) element->method_count;
+ }
+ else
+ {
+ size_t length = element->name->length;
+ const char *const name = element->name->data;
+ if (name[0] != '[')
+ signature[index++] = 'L';
+ memcpy (&signature[index], name, length);
+ index += length;
+ if (name[0] != '[')
+ signature[index++] = ';';
+ }
+ array_name = _Jv_makeUtf8Const (signature, index);
+ }
+
+ jclass array_class = _Jv_FindClassInCache (array_name, element->loader);
+
+ if (! array_class)
+ {
+ // Create new array class.
+ array_class = _Jv_NewClass (array_name, &ObjectClass, element->loader);
+
+ // Note that `vtable_method_count' doesn't include the initial
+ // NULL slot.
+ int dm_count = ObjectClass.vtable_method_count + 1;
+
+ // Create a new vtable by copying Object's vtable (except the
+ // class pointer, of course). Note that we allocate this as
+ // unscanned memory -- the vtables are handled specially by the
+ // GC.
+ int size = (sizeof (_Jv_VTable) +
+ ((dm_count - 1) * sizeof (void *)));
+ _Jv_VTable *vtable = (_Jv_VTable *) _Jv_AllocBytes (size);
+ vtable->clas = array_class;
+ memcpy (vtable->method, ObjectClass.vtable->method,
+ dm_count * sizeof (void *));
+ array_class->vtable = vtable;
+ array_class->vtable_method_count = ObjectClass.vtable_method_count;
+
+ // Stash the pointer to the element type.
+ array_class->methods = (_Jv_Method *) element;
+
+ // Register our interfaces.
+ // FIXME: for JDK 1.2 we need Serializable.
+ static jclass interfaces[] = { &CloneableClass };
+ array_class->interfaces = interfaces;
+ array_class->interface_count = 1;
+
+ // FIXME: initialize other Class instance variables,
+ // e.g. `fields'.
+
+ array_class->state = STATE_DONE;
+ }
+
+ // For primitive types, point back at this array.
+ if (element->isPrimitive())
+ element->methods = (_Jv_Method *) array_class;
+
+ return array_class;
+}
+
+jboolean
+_Jv_IsInstanceOf(jobject obj, jclass cl)
+{
+ return cl->isInstance(obj);
+}
diff --git a/libjava/java/lang/natDouble.cc b/libjava/java/lang/natDouble.cc
new file mode 100644
index 0000000..1799088
--- /dev/null
+++ b/libjava/java/lang/natDouble.cc
@@ -0,0 +1,180 @@
+// natDouble.cc - Implementation of java.lang.Double native methods.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+/* AIX requires this to be the first thing in the file. */
+#ifndef __GNUC__
+# if HAVE_ALLOCA_H
+# include <alloca.h>
+# else
+# ifdef _AIX
+ #pragma alloca
+# else
+# ifndef alloca /* predefined by HP cc +Olibcalls */
+char *alloca ();
+# endif
+# endif
+# endif
+#endif
+
+#include <stdlib.h>
+
+#include <cni.h>
+#include <java/lang/String.h>
+#include <java/lang/Double.h>
+#include <java/lang/NumberFormatException.h>
+#include <jvm.h>
+
+#include <stdio.h>
+#include <string.h>
+
+#include "mprec.h"
+
+union u
+{
+ jlong l;
+ jdouble d;
+};
+
+jlong
+java::lang::Double::doubleToLongBits(jdouble value)
+{
+ union u u;
+ u.d = value;
+ return u.l;
+}
+
+jdouble
+java::lang::Double::longBitsToDouble(jlong bits)
+{
+ union u u;
+ u.l = bits;
+ return u.d;
+}
+
+jstring
+java::lang::Double::toString(jdouble value, jboolean isFloat)
+{
+ if (isNaN (value))
+ return JvNewStringLatin1 ("NaN", sizeof ("NaN") - 1);
+
+ if (value == POSITIVE_INFINITY)
+ return JvNewStringLatin1 ("Infinity", sizeof ("Infinity") - 1);
+
+ if (value == NEGATIVE_INFINITY)
+ return JvNewStringLatin1 ("-Infinity", sizeof ("-Infinity") - 1);
+
+ char buffer[50], result[50];
+ int decpt, sign;
+
+ _dtoa (value, 0, 20, &decpt, &sign, NULL, buffer, (int)isFloat);
+
+ value = fabs (value);
+
+ char *s = buffer;
+ char *d = result;
+
+ if (sign)
+ *d++ = '-';
+
+ if (value >= 1e-3 && value < 1e7 || value == 0)
+ {
+ if (decpt <= 0)
+ *d++ = '0';
+ else
+ {
+ for (int i = 0; i < decpt; i++)
+ if (*s)
+ *d++ = *s++;
+ else
+ *d++ = '0';
+ }
+
+ *d++ = '.';
+
+ if (*s == 0)
+ {
+ *d++ = '0';
+ decpt++;
+ }
+
+ while (decpt++ < 0)
+ *d++ = '0';
+
+ while (*s)
+ *d++ = *s++;
+
+ *d = 0;
+
+ return JvNewStringLatin1 (result, strlen (result));
+ }
+
+ *d++ = *s++;
+ decpt--;
+ *d++ = '.';
+
+ if (*s == 0)
+ *d++ = '0';
+
+ while (*s)
+ *d++ = *s++;
+
+ *d++ = 'E';
+
+ if (decpt < 0)
+ {
+ *d++ = '-';
+ decpt = -decpt;
+ }
+
+ {
+ char exp[4];
+ char *e = exp + sizeof exp;
+
+ *--e = 0;
+ do
+ {
+ *--e = '0' + decpt % 10;
+ decpt /= 10;
+ }
+ while (decpt > 0);
+
+ while (*e)
+ *d++ = *e++;
+ }
+
+ *d = 0;
+
+ return JvNewStringLatin1 (result, strlen (result));
+}
+
+jdouble
+java::lang::Double::doubleValueOf(jstring str)
+{
+ int length = str->length();
+ // Note that UTF can expand 3x.
+
+#ifdef HAVE_ALLOCA
+ char *data = (char *) alloca (3 * length + 1);
+#else
+#error --- need an alternate implementation here ---
+#endif
+
+ data[_Jv_GetStringUTFRegion (str, 0, length, data)] = 0;
+
+ struct _Jv_reent reent;
+ memset (&reent, 0, sizeof reent);
+
+ double val = _strtod_r (&reent, data, NULL);
+
+ if (reent._errno)
+ _Jv_Throw (new NumberFormatException);
+
+ return val;
+}
diff --git a/libjava/java/lang/natFirstThread.cc b/libjava/java/lang/natFirstThread.cc
new file mode 100644
index 0000000..d47446b
--- /dev/null
+++ b/libjava/java/lang/natFirstThread.cc
@@ -0,0 +1,56 @@
+// natFirstThread.cc - Implementation of FirstThread native methods.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include <cni.h>
+#include <jvm.h>
+
+#include <java/lang/FirstThread.h>
+#include <java/lang/Class.h>
+#include <java/lang/String.h>
+#include <java/lang/System.h>
+#include <java/lang/reflect/Modifier.h>
+#include <java/io/PrintStream.h>
+
+#define DIE(Message) die (JvNewStringLatin1 (Message))
+
+typedef void main_func (jobject);
+
+void
+java::lang::FirstThread::run (void)
+{
+ Utf8Const* main_signature = _Jv_makeUtf8Const ("([Ljava.lang.String;)V", 22);
+ Utf8Const* main_name = _Jv_makeUtf8Const ("main", 4);
+
+#if 0
+ // Note: this turns out to be more painful than useful. Apparently
+ // many people rely on being able to have main in a non-public
+ // class.
+ // This is based on my reading of 12.3.3.
+ if (! java::lang::reflect::Modifier::isPublic(klass->getModifiers()))
+ DIE ("class must be public");
+#endif
+
+ _Jv_Method *meth = _Jv_GetMethodLocal (klass, main_name, main_signature);
+
+ // Some checks from Java Spec section 12.1.4.
+ if (meth == NULL)
+ DIE ("no suitable method `main' in class");
+ if (! java::lang::reflect::Modifier::isStatic(meth->accflags))
+ DIE ("`main' must be static");
+ if (! java::lang::reflect::Modifier::isPublic(meth->accflags))
+ DIE ("`main' must be public");
+
+ main_func *real_main = (main_func *) meth->ncode;
+ (*real_main) (args);
+}
diff --git a/libjava/java/lang/natFloat.cc b/libjava/java/lang/natFloat.cc
new file mode 100644
index 0000000..e3189be
--- /dev/null
+++ b/libjava/java/lang/natFloat.cc
@@ -0,0 +1,37 @@
+// natFloat.cc - Implementation of java.lang.Float native methods.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <java/lang/Float.h>
+#include <jvm.h>
+
+union u
+{
+ jint l;
+ jfloat d;
+};
+
+jint
+java::lang::Float::floatToIntBits(jfloat value)
+{
+ union u u;
+ u.d = value;
+ return u.l;
+}
+
+jfloat
+java::lang::Float::intBitsToFloat(jint bits)
+{
+ union u u;
+ u.l = bits;
+ return u.d;
+}
+
diff --git a/libjava/java/lang/natMath.cc b/libjava/java/lang/natMath.cc
new file mode 100644
index 0000000..6638247
--- /dev/null
+++ b/libjava/java/lang/natMath.cc
@@ -0,0 +1,263 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+/**
+ * @author Andrew Haley <aph@cygnus.com>
+ * @date Tue Sep 22 1998 */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+#include <config.h>
+
+#include <java/lang/String.h>
+#include <java/lang/Float.h>
+#include <java/lang/Double.h>
+#include <java/lang/Integer.h>
+#include <java/lang/Long.h>
+#include <java/lang/Math.h>
+#include <java-array.h>
+
+#include "fdlibm.h"
+
+jdouble java::lang::Math::cos(jdouble x)
+{
+ return (jdouble)::cos((double)x);
+}
+
+jdouble java::lang::Math::sin(jdouble x)
+{
+ return (jdouble)::sin((double)x);
+}
+
+jdouble java::lang::Math::tan(jdouble x)
+{
+ return (jdouble)::tan((double)x);
+}
+
+jdouble java::lang::Math::asin(jdouble x)
+{
+ return (jdouble)::asin((double)x);
+}
+
+jdouble java::lang::Math::acos(jdouble x)
+{
+ return (jdouble)::acos((double)x);
+}
+
+jdouble java::lang::Math::atan(jdouble x)
+{
+ return (jdouble)::atan((double)x);
+}
+
+jdouble java::lang::Math::atan2(jdouble y, jdouble x)
+{
+ return (jdouble)::atan2((jdouble)y, (jdouble)x);
+}
+
+jdouble java::lang::Math::log(jdouble x)
+{
+ return (jdouble)::log((double)x);
+}
+
+jdouble java::lang::Math::exp(jdouble x)
+{
+ return (jdouble)::exp((double)x);
+}
+
+jdouble java::lang::Math::sqrt(jdouble x)
+{
+ return (jdouble)::sqrt((double)x);
+}
+
+jdouble java::lang::Math::pow(jdouble y, jdouble x)
+{
+ return (jdouble)::pow((jdouble)y, (jdouble)x);
+}
+
+jdouble java::lang::Math::IEEEremainder(jdouble y, jdouble x)
+{
+ return (jdouble)::__ieee754_remainder((jdouble)y, (jdouble)x);
+}
+
+jdouble java::lang::Math::abs(jdouble x)
+{
+ return (jdouble)::fabs((double)x);
+}
+
+jfloat java::lang::Math::abs(jfloat x)
+{
+ return (jfloat)::fabsf((float)x);
+}
+
+jdouble java::lang::Math::rint(jdouble x)
+{
+ return (jdouble)::rint((double)x);
+}
+
+jint java::lang::Math::round(jfloat x)
+{
+ if (x != x)
+ return 0;
+ if (x <= (jfloat)java::lang::Integer::MIN_VALUE)
+ return java::lang::Integer::MIN_VALUE;
+ if (x >= (jfloat)java::lang::Integer::MAX_VALUE)
+ return java::lang::Integer::MAX_VALUE;
+
+ return (jint)::rintf((float)x);
+}
+
+jlong java::lang::Math::round(jdouble x)
+{
+ if (x != x)
+ return 0;
+ if (x <= (jdouble)java::lang::Long::MIN_VALUE)
+ return java::lang::Long::MIN_VALUE;
+ if (x >= (jdouble)java::lang::Long::MAX_VALUE)
+ return java::lang::Long::MAX_VALUE;
+
+ return (jlong)::rint((double)x);
+}
+
+jdouble java::lang::Math::floor(jdouble x)
+{
+ return (jdouble)::floor((double)x);
+}
+
+jdouble java::lang::Math::ceil(jdouble x)
+{
+ return (jdouble)::ceil((double)x);
+}
+
+static inline int
+floatToIntBits (jfloat value)
+{
+ union {
+ jint l;
+ jfloat d;
+ } u;
+ u.d = value;
+ return u.l;
+}
+
+static inline bool
+isNaN (jint bits)
+{
+ jint e = bits & 0x7f800000;
+ jint f = bits & 0x007fffff;
+
+ return e == 0x7f800000 && f != 0;
+}
+
+jfloat
+java::lang::Math::min(jfloat a, jfloat b)
+{
+ jint abits = floatToIntBits (a);
+ jint bbits = floatToIntBits (b);
+
+ if (isNaN (abits) || isNaN (bbits))
+ return java::lang::Float::NaN;
+
+ if (abits >= 0) // a is +ve
+ return bbits < 0 ? b // a is +ve, b is -ve.
+ // a and b are both +ve, so compare magnitudes: the number with
+ // the smallest magnitude is the smallest
+ : (abits < bbits ? a : b);
+ else // a is -ve
+ return bbits >= 0 ? a // a is -ve, b is +ve.
+ // a and b are both -ve, so compare magnitudes: the number with
+ // the biggest magnitude is the smallest
+ : (abits > bbits ? a : b);
+}
+
+jfloat
+java::lang::Math::max(jfloat a, jfloat b)
+{
+ jint abits = floatToIntBits (a);
+ jint bbits = floatToIntBits (b);
+
+ if (isNaN (abits) || isNaN (bbits))
+ return java::lang::Float::NaN;
+
+ if (abits >= 0) // a is +ve
+ return bbits < 0 ? a // a is +ve, b is -ve.
+ // a and b are both +ve, so compare magnitudes: the number with
+ // the smallest magnitude is the smallest
+ : (abits > bbits ? a : b);
+ else // a is -ve
+ return bbits >= 0 ? b // a is -ve, b is +ve.
+ // a and b are both -ve, so compare magnitudes: the number with
+ // the biggest magnitude is the smallest
+ : (abits < bbits ? a : b);
+}
+
+static inline jlong
+doubleToLongBits (jdouble value)
+{
+ union {
+ jlong l;
+ jdouble d;
+ } u;
+ u.d = value;
+ return u.l;
+}
+
+static inline bool
+isNaN (jlong bits)
+{
+ jlong e = bits & 0x7ff0000000000000LL;
+ jlong f = bits & 0x000fffffffffffffLL;
+
+ return e == 0x7ff0000000000000LL && f != 0LL;
+}
+
+
+jdouble
+java::lang::Math::min(jdouble a, jdouble b)
+{
+ jlong abits = doubleToLongBits (a);
+ jlong bbits = doubleToLongBits (b);
+
+ if (isNaN (abits) || isNaN (bbits))
+ return java::lang::Double::NaN;
+
+ if (abits >= 0LL) // a is +ve
+ return bbits < 0LL ? b // a is +ve, b is -ve.
+ // a and b are both +ve, so compare magnitudes: the number with
+ // the smallest magnitude is the smallest
+ : (abits < bbits ? a : b);
+ else // a is -ve
+ return bbits >= 0LL ? a // a is -ve, b is +ve.
+ // a and b are both -ve, so compare magnitudes: the number with
+ // the biggest magnitude is the smallest
+ : (abits > bbits ? a : b);
+}
+
+jdouble
+java::lang::Math::max(jdouble a, jdouble b)
+{
+ jlong abits = doubleToLongBits (a);
+ jlong bbits = doubleToLongBits (b);
+
+ if (isNaN (abits) || isNaN (bbits))
+ return java::lang::Double::NaN;
+
+ if (abits >= 0LL) // a is +ve
+ return bbits < 0LL ? a // a is +ve, b is -ve.
+ // a and b are both +ve, so compare magnitudes: the number with
+ // the smallest magnitude is the smallest
+ : (abits > bbits ? a : b);
+ else // a is -ve
+ return bbits >= 0LL ? b // a is -ve, b is +ve.
+ // a and b are both -ve, so compare magnitudes: the number with
+ // the biggest magnitude is the smallest
+ : (abits < bbits ? a : b);
+}
+
diff --git a/libjava/java/lang/natObject.cc b/libjava/java/lang/natObject.cc
new file mode 100644
index 0000000..7b26769
--- /dev/null
+++ b/libjava/java/lang/natObject.cc
@@ -0,0 +1,241 @@
+// natObject.cc - Implementation of the Object class.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <string.h>
+
+#pragma implementation "Object.h"
+
+#include <cni.h>
+#include <jvm.h>
+#include <java/lang/Object.h>
+#include <java-threads.h>
+#include <java/lang/CloneNotSupportedException.h>
+#include <java/lang/IllegalArgumentException.h>
+#include <java/lang/IllegalMonitorStateException.h>
+#include <java/lang/InterruptedException.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/Class.h>
+#include <java/lang/Cloneable.h>
+#include <java/lang/Thread.h>
+
+#define CloneableClass _CL_Q34java4lang9Cloneable
+extern java::lang::Class CloneableClass;
+
+
+
+// This is used to represent synchronization information.
+struct _Jv_SyncInfo
+{
+#if defined (_Jv_HaveCondDestroy) || defined (_Jv_HaveMutexDestroy)
+ // We only need to keep track of initialization state if we can
+ // possibly finalize this object.
+ bool init;
+#endif
+ _Jv_ConditionVariable_t condition;
+ _Jv_Mutex_t mutex;
+};
+
+
+
+jclass
+java::lang::Object::getClass (void)
+{
+ _Jv_VTable **dt = (_Jv_VTable **) this;
+ return (*dt)->clas;
+}
+
+jint
+java::lang::Object::hashCode (void)
+{
+ return _Jv_HashCode (this);
+}
+
+jobject
+java::lang::Object::clone (void)
+{
+ jclass klass = getClass ();
+ jobject r;
+ jint size;
+
+ // We also clone arrays here. If we put the array code into
+ // __JArray, then we'd have to figure out a way to find the array
+ // vtbl when creating a new array class. This is easier, if uglier.
+ if (klass->isArray())
+ {
+ __JArray *array = (__JArray *) this;
+ jclass comp = getClass()->getComponentType();
+ jint eltsize;
+ if (comp->isPrimitive())
+ {
+ r = _Jv_NewPrimArray (comp, array->length);
+ eltsize = comp->size();
+ }
+ else
+ {
+ r = _Jv_NewObjectArray (array->length, comp, NULL);
+ eltsize = sizeof (jobject);
+ }
+ size = sizeof (__JArray) + array->length * eltsize;
+ }
+ else
+ {
+ if (! CloneableClass.isAssignableFrom(klass))
+ JvThrow (new CloneNotSupportedException);
+
+ size = klass->size();
+ r = JvAllocObject (klass, size);
+ }
+
+ memcpy ((void *) r, (void *) this, size);
+ return r;
+}
+
+
+//
+// Synchronization code.
+//
+
+// This global is used to make sure that only one thread sets an
+// object's `sync_info' field.
+static _Jv_Mutex_t sync_mutex;
+
+// This macro is used to see if synchronization initialization is
+// needed.
+#if defined (_Jv_HaveCondDestroy) || defined (_Jv_HaveMutexDestroy)
+# define INIT_NEEDED(Obj) (! (Obj)->sync_info \
+ || ! ((_Jv_SyncInfo *) ((Obj)->sync_info))->init)
+#else
+# define INIT_NEEDED(Obj) (! (Obj)->sync_info)
+#endif
+
+#if defined (_Jv_HaveCondDestroy) || defined (_Jv_HaveMutexDestroy)
+// If we have to run a destructor for a sync_info member, then this
+// function is registered as a finalizer for the sync_info.
+static void
+finalize_sync_info (jobject obj)
+{
+ _Jv_SyncInfo *si = (_Jv_SyncInfo *) obj;
+#if defined (_Jv_HaveCondDestroy)
+ _Jv_CondDestroy (&si->condition);
+#endif
+#if defined (_Jv_HaveMutexDestroy)
+ _Jv_MutexDestroy (&si->mutex);
+#endif
+ si->init = false;
+}
+#endif
+
+// This is called to initialize the sync_info element of an object.
+void
+java::lang::Object::sync_init (void)
+{
+ _Jv_MutexLock (&sync_mutex);
+ // Check again to see if initialization is needed now that we have
+ // the lock.
+ if (INIT_NEEDED (this))
+ {
+ // We assume there are no pointers in the sync_info
+ // representation.
+ _Jv_SyncInfo *si;
+ // We always create a new sync_info, even if there is already
+ // one available. Any given object can only be finalized once.
+ // If we get here and sync_info is not null, then it has already
+ // been finalized. So if we just reinitialize the old one,
+ // we'll never be able to (re-)destroy the mutex and/or
+ // condition variable.
+ si = (_Jv_SyncInfo *) _Jv_AllocBytes (sizeof (_Jv_SyncInfo));
+ // FIXME: what if si == NULL?
+ _Jv_MutexInit (&si->mutex);
+ _Jv_CondInit (&si->condition);
+#if defined (_Jv_HaveCondDestroy) || defined (_Jv_HaveMutexDestroy)
+ // Register a finalizer.
+ si->init = true;
+ _Jv_RegisterFinalizer (si, finalize_sync_info);
+#endif
+ sync_info = (jobject) si;
+ }
+ _Jv_MutexUnlock (&sync_mutex);
+}
+
+void
+java::lang::Object::notify (void)
+{
+ if (INIT_NEEDED (this))
+ sync_init ();
+ _Jv_SyncInfo *si = (_Jv_SyncInfo *) sync_info;
+ if (_Jv_CondNotify (&si->condition, &si->mutex))
+ JvThrow (new IllegalMonitorStateException);
+}
+
+void
+java::lang::Object::notifyAll (void)
+{
+ if (INIT_NEEDED (this))
+ sync_init ();
+ _Jv_SyncInfo *si = (_Jv_SyncInfo *) sync_info;
+ if (_Jv_CondNotifyAll (&si->condition, &si->mutex))
+ JvThrow (new IllegalMonitorStateException);
+}
+
+void
+java::lang::Object::wait (jlong timeout, jint nanos)
+{
+ if (INIT_NEEDED (this))
+ sync_init ();
+ if (timeout < 0 || nanos < 0 || nanos > 999999)
+ JvThrow (new IllegalArgumentException);
+ _Jv_SyncInfo *si = (_Jv_SyncInfo *) sync_info;
+ if (_Jv_CondWait (&si->condition, &si->mutex, timeout, nanos))
+ JvThrow (new IllegalMonitorStateException);
+ if (Thread::interrupted())
+ JvThrow (new InterruptedException);
+}
+
+//
+// Some runtime code.
+//
+
+// This function is called at system startup to initialize the
+// `sync_mutex'.
+void
+_Jv_InitializeSyncMutex (void)
+{
+ _Jv_MutexInit (&sync_mutex);
+}
+
+jint
+_Jv_MonitorEnter (jobject obj)
+{
+ if (! obj)
+ JvThrow (new java::lang::NullPointerException);
+ if (INIT_NEEDED (obj))
+ obj->sync_init ();
+ _Jv_SyncInfo *si = (_Jv_SyncInfo *) obj->sync_info;
+ return _Jv_MutexLock (&si->mutex);
+}
+
+jint
+_Jv_MonitorExit (jobject obj)
+{
+ JvAssert (obj);
+ JvAssert (! INIT_NEEDED (obj));
+ _Jv_SyncInfo *si = (_Jv_SyncInfo *) obj->sync_info;
+ if (_Jv_MutexUnlock (&si->mutex))
+ JvThrow (new java::lang::IllegalMonitorStateException);
+ return 0;
+}
+
+void
+_Jv_FinalizeObject (jobject obj)
+{
+ java::lang::Object::hack12_6(obj);
+}
diff --git a/libjava/java/lang/natRuntime.cc b/libjava/java/lang/natRuntime.cc
new file mode 100644
index 0000000..d89ab18
--- /dev/null
+++ b/libjava/java/lang/natRuntime.cc
@@ -0,0 +1,68 @@
+// natRuntime.cc - Implementation of native side of Runtime class.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include <cni.h>
+#include <jvm.h>
+#include <java/lang/Runtime.h>
+
+void
+java::lang::Runtime::exit (jint status)
+{
+ checkExit (status);
+
+ // Make status right for Unix. This is perhaps strange.
+ if (status < 0 || status > 255)
+ status = 255;
+
+ if (finalize_on_exit)
+ _Jv_RunAllFinalizers ();
+
+ ::exit (status);
+}
+
+jlong
+java::lang::Runtime::freeMemory (void)
+{
+ return _Jv_GCFreeMemory ();
+}
+
+void
+java::lang::Runtime::gc (void)
+{
+ _Jv_RunGC ();
+}
+
+void
+java::lang::Runtime::runFinalization (void)
+{
+ _Jv_RunFinalizers ();
+}
+
+jlong
+java::lang::Runtime::totalMemory (void)
+{
+ return _Jv_GCTotalMemory ();
+}
+
+void
+java::lang::Runtime::traceInstructions (jboolean)
+{
+ // Do nothing.
+}
+
+void
+java::lang::Runtime::traceMethodCalls (jboolean)
+{
+ // Do nothing.
+}
diff --git a/libjava/java/lang/natString.cc b/libjava/java/lang/natString.cc
new file mode 100644
index 0000000..5cb7b2c
--- /dev/null
+++ b/libjava/java/lang/natString.cc
@@ -0,0 +1,800 @@
+// natString.cc - Implementation of java.lang.String native methods.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <string.h>
+#include <stdlib.h>
+
+#include <cni.h>
+#include <java/lang/Character.h>
+#include <java/lang/String.h>
+#include <java/lang/IndexOutOfBoundsException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/StringIndexOutOfBoundsException.h>
+#include <java/lang/NullPointerException.h>
+#include <java/io/ByteArrayOutputStream.h>
+#include <java/io/OutputStreamWriter.h>
+#include <java/io/ByteArrayInputStream.h>
+#include <java/io/InputStreamReader.h>
+#include <jvm.h>
+
+static jstring* strhash = NULL;
+static int strhash_count = 0; /* Number of slots used in strhash. */
+static int strhash_size = 0; /* Number of slots available in strhash.
+ * Assumed be power of 2! */
+
+#define DELETED_STRING ((jstring)(~0))
+#define SET_STRING_IS_INTERNED(STR) /* nothing */
+
+/* Find a slot where the string with elements DATA, length LEN,
+ and hash HASH should go in the strhash table of interned strings. */
+jstring*
+_Jv_StringFindSlot (jchar* data, jint len, jint hash)
+{
+ JvSynchronize sync (&StringClass);
+
+ int start_index = hash & (strhash_size - 1);
+ int deleted_index = -1;
+
+ register int index = start_index;
+ /* step must be non-zero, and relatively prime with strhash_size. */
+ int step = 8 * hash + 7;
+ for (;;)
+ {
+ register jstring* ptr = &strhash[index];
+ if (*ptr == NULL)
+ {
+ if (deleted_index >= 0)
+ return (&strhash[deleted_index]);
+ else
+ return ptr;
+ }
+ else if (*ptr == DELETED_STRING)
+ deleted_index = index;
+ else if ((*ptr)->length() == len
+ && memcmp(JvGetStringChars(*ptr), data, 2*len) == 0)
+ return (ptr);
+ index = (index + step) & (strhash_size - 1);
+ JvAssert (index != start_index);
+ }
+}
+
+/* Calculate a hash code for the string starting at PTR at given LENGTH.
+ This uses the same formula as specified for java.lang.String.hash. */
+
+static jint
+hashChars (jchar* ptr, jint length)
+{
+ register jchar* limit = ptr + length;
+ jint hash = 0;
+ // Updated specification from
+ // http://www.javasoft.com/docs/books/jls/clarify.html.
+ while (ptr < limit)
+ hash = (31 * hash) + *ptr++;
+ return hash;
+}
+
+jint
+java::lang::String::hashCode()
+{
+ return hashChars(JvGetStringChars(this), length());
+}
+
+jstring*
+_Jv_StringGetSlot (jstring str)
+{
+ jchar* data = JvGetStringChars(str);
+ int length = str->length();
+ return _Jv_StringFindSlot(data, length, hashChars (data, length));
+}
+
+void
+java::lang::String::rehash()
+{
+ JvSynchronize sync (&StringClass);
+
+ if (strhash == NULL)
+ {
+ strhash_size = 1024;
+ strhash = (jstring *) _Jv_AllocBytes (strhash_size * sizeof (jstring));
+ memset (strhash, 0, strhash_size * sizeof (jstring));
+ }
+ else
+ {
+ register int i = strhash_size;
+ register jstring* ptr = strhash + i;
+ strhash_size *= 2;
+ strhash = (jstring *) _Jv_AllocBytes (strhash_size * sizeof (jstring));
+ memset (strhash, 0, strhash_size * sizeof (jstring));
+
+ while (--i >= 0)
+ {
+ --ptr;
+ if (*ptr == NULL || *ptr == DELETED_STRING)
+ continue;
+
+ /* This is faster equivalent of
+ * *__JvGetInternSlot(*ptr) = *ptr; */
+ jint hash = (*ptr)->hashCode();
+ jint index = hash & (strhash_size - 1);
+ jint step = 8 * hash + 7;
+ for (;;)
+ {
+ if (strhash[index] == NULL)
+ {
+ strhash[index] = *ptr;
+ break;
+ }
+ index = (index + step) & (strhash_size - 1);
+ }
+ }
+ }
+}
+
+jstring
+java::lang::String::intern()
+{
+ JvSynchronize sync (&StringClass);
+ if (4 * strhash_count >= 3 * strhash_size)
+ rehash();
+ jstring* ptr = _Jv_StringGetSlot(this);
+ if (*ptr != NULL && *ptr != DELETED_STRING)
+ return *ptr;
+ SET_STRING_IS_INTERNED(this);
+ strhash_count++;
+ *ptr = this;
+ return this;
+}
+
+/* Called by String fake finalizer. */
+void
+java::lang::String::unintern()
+{
+ JvSynchronize sync (&StringClass);
+ jstring* ptr = _Jv_StringGetSlot(this);
+ if (*ptr == NULL || *ptr == DELETED_STRING)
+ return;
+ *ptr = DELETED_STRING;
+ strhash_count--;
+}
+
+jstring
+_Jv_NewStringUTF (const char *bytes)
+{
+ int size = strlen (bytes);
+ unsigned char *p = (unsigned char *) bytes;
+
+ int length = _Jv_strLengthUtf8 ((char *) p, size);
+ if (length < 0)
+ return NULL;
+
+ jstring jstr = JvAllocString (length);
+ jchar *chrs = JvGetStringChars (jstr);
+
+ p = (unsigned char *) bytes;
+ unsigned char *limit = p + size;
+ while (p < limit)
+ *chrs++ = UTF8_GET (p, limit);
+
+ return jstr;
+}
+
+jstring
+_Jv_NewStringUtf8Const (Utf8Const* str)
+{
+ jchar *chrs;
+ jchar buffer[100];
+ jstring jstr;
+ register unsigned char* data = (unsigned char*) str->data;
+ register unsigned char* limit = data + str->length;
+ int length = _Jv_strLengthUtf8(str->data, str->length);
+
+ if (length <= (int) (sizeof(buffer) / sizeof(jchar)))
+ {
+ jstr = NULL;
+ chrs = buffer;
+ }
+ else
+ {
+ jstr = JvAllocString(length);
+ chrs = JvGetStringChars(jstr);
+ }
+
+ while (data < limit)
+ *chrs++ = UTF8_GET(data, limit);
+ chrs -= length;
+
+ JvSynchronize sync (&StringClass);
+ if (4 * strhash_count >= 3 * strhash_size)
+ java::lang::String::rehash();
+ int hash = str->hash;
+ jstring* ptr = _Jv_StringFindSlot (chrs, length, hash);
+ if (*ptr != NULL && *ptr != DELETED_STRING)
+ return *ptr;
+ strhash_count++;
+ if (jstr == NULL)
+ {
+ jstr = JvAllocString(length);
+ chrs = JvGetStringChars(jstr);
+ memcpy (chrs, buffer, sizeof(jchar)*length);
+ }
+ *ptr = jstr;
+ SET_STRING_IS_INTERNED(jstr);
+ return jstr;
+}
+
+jsize
+_Jv_GetStringUTFLength (jstring string)
+{
+ register jsize len = 0;
+ register jchar *ptr = JvGetStringChars (string);
+ register jsize i = string->length();
+ while (--i >= 0)
+ {
+ register jchar ch = *ptr++;
+ if (ch > 0 && ch <= 0x7F)
+ len += 1;
+ else if (ch <= 0x7FF)
+ len += 2;
+ else
+ len += 3;
+ }
+ return len;
+}
+
+// Not sure this quite matches GetStringUTFRegion.
+// null-termination of result? len? throw exception?
+jsize
+_Jv_GetStringUTFRegion (jstring str, jsize start, jsize len, char *buf)
+{
+ register jchar *sptr = JvGetStringChars (str) + start;
+ register jsize i = len;
+ register char *dptr = buf;
+ while (--i >= 0)
+ {
+ jchar ch = *sptr++;
+ if (ch > 0 && ch <= 0x7F)
+ *dptr++ = (char) ch;
+ else if (ch <= 0x7FF)
+ {
+ *dptr++ = (char) (0xC0 + ((ch >> 6) & 0x1F));
+ *dptr++ = (char) (0x80 + (ch & 0x3F));
+ }
+ else
+ {
+ *dptr++ = (char) (0xE0 + ((ch >> 12) & 0xF));
+ *dptr++ = (char) (0x80 + ((ch >> 6) & 0x3F));
+ *dptr++ = (char) (0x80 + (ch & 0x3F));
+ }
+ }
+ return dptr - buf;
+}
+
+jstring
+_Jv_AllocString(jsize len)
+{
+ jsize sz = sizeof(java::lang::String) + len * sizeof(jchar);
+
+ jstring obj = (jstring) JvAllocObject(&StringClass, sz);
+
+ obj->data = obj;
+ obj->boffset = sizeof(java::lang::String);
+ obj->count = len;
+ return obj;
+}
+
+jstring
+_Jv_NewString(const jchar *chars, jsize len)
+{
+ jstring str = _Jv_AllocString(len);
+ jchar* data = JvGetStringChars (str);
+ while (--len >= 0)
+ *data++ = *chars++;
+ return str;
+}
+
+jstring
+_Jv_NewStringLatin1(const char *bytes, jsize len)
+{
+ jstring str = JvAllocString(len);
+ jchar* data = JvGetStringChars (str);
+ while (--len >= 0)
+ *data++ = *(unsigned char*)bytes++;
+ return str;
+}
+
+void
+java::lang::String::init ()
+{
+ count = 0;
+ boffset = sizeof(java::lang::String);
+ data = this;
+}
+
+void
+java::lang::String::init(jcharArray chars, jint offset, jint count,
+ jboolean dont_copy)
+{
+ if (! chars)
+ JvThrow (new NullPointerException);
+ jsize data_size = JvGetArrayLength (chars);
+ if (offset < 0 || count < 0 || offset + count > data_size)
+ JvThrow (new StringIndexOutOfBoundsException());
+ jcharArray array;
+ jchar *pdst;
+ if (! dont_copy)
+ {
+ array = JvNewCharArray(count);
+ pdst = elements (array);
+ memcpy (pdst, elements (chars) + offset, count * sizeof (jchar));
+ }
+ else
+ {
+ JvAssert (offset == 0);
+ array = chars;
+ pdst = elements (array);
+ }
+
+ data = array;
+ boffset = (char *) pdst - (char *) array;
+ this->count = count;
+}
+
+void
+java::lang::String::init(jbyteArray ascii, jint hibyte, jint offset,
+ jint count)
+{
+ if (! ascii)
+ JvThrow (new NullPointerException);
+ jsize data_size = JvGetArrayLength (ascii);
+ if (offset < 0 || count < 0 || offset + count < 0
+ || offset + count > data_size)
+ JvThrow (new java::lang::StringIndexOutOfBoundsException());
+ jcharArray array = JvNewCharArray(count);
+ jbyte *psrc = elements (ascii) + offset;
+ jchar *pdst = elements (array);
+ data = array;
+ boffset = (char *) pdst - (char *) array;
+ this->count = count;
+ hibyte = (hibyte & 0xff) << 8;
+ while (-- count >= 0)
+ {
+ *pdst++ = hibyte | (*psrc++ & 0xff);
+ }
+}
+
+void
+java::lang::String::init (jbyteArray bytes, jint offset, jint count,
+ jstring encoding)
+{
+ if (! bytes)
+ JvThrow (new NullPointerException);
+ jsize data_size = JvGetArrayLength (bytes);
+ if (offset < 0 || count < 0 || offset + count < 0
+ || offset + count > data_size)
+ JvThrow (new StringIndexOutOfBoundsException);
+
+ java::io::ByteArrayInputStream *b
+ = new java::io::ByteArrayInputStream (bytes, offset, count);
+ java::io::InputStreamReader *ir
+ = new java::io::InputStreamReader (b, encoding);
+ // FIXME: we allocate too much here in some cases.
+ jcharArray array = JvNewCharArray (count);
+ data = array;
+ boffset = (char *) elements (array) - (char *) array;
+ // FIXME: this can throw IOException.
+ this->count = ir->read(array, 0, count);
+}
+
+jboolean
+java::lang::String::equals(jobject anObject)
+{
+ if (anObject == NULL)
+ return false;
+ if (anObject == this)
+ return true;
+ if (anObject->getClass() != &StringClass)
+ return false;
+ jstring other = (jstring) anObject;
+ if (count != other->count)
+ return false;
+ /* if both are interned, return false. */
+ register jint i = count;
+ register jchar *xptr = JvGetStringChars (this);
+ register jchar *yptr = JvGetStringChars (other);
+ while (--i >= 0)
+ {
+ if (*xptr++ != *yptr++)
+ return false;
+ }
+ return true;
+}
+
+jchar
+java::lang::String::charAt(jint i)
+{
+ if (i < 0 || i >= count)
+ JvThrow (new java::lang::StringIndexOutOfBoundsException());
+ return JvGetStringChars(this)[i];
+}
+
+void
+java::lang::String::getChars(jint srcBegin, jint srcEnd,
+ jcharArray dst, jint dstBegin)
+{
+ jint dst_length = JvGetArrayLength (dst);
+ if (srcBegin < 0 || srcBegin > srcEnd || srcEnd > count
+ || dstBegin < 0 || dstBegin + (srcEnd-srcBegin) > dst_length)
+ JvThrow (new java::lang::ArrayIndexOutOfBoundsException());
+ register jchar *dPtr = elements (dst) + dstBegin;
+ register jchar *sPtr = JvGetStringChars (this) + srcBegin;
+ register jint i = srcEnd-srcBegin;
+ while (--i >= 0)
+ *dPtr++ = *sPtr++;
+}
+
+jbyteArray
+java::lang::String::getBytes (jstring enc)
+{
+ java::io::ByteArrayOutputStream *os
+ = new java::io::ByteArrayOutputStream(length ());
+ java::io::OutputStreamWriter *ow
+ = new java::io::OutputStreamWriter(os, enc);
+
+ ow->write(this, 0, length ());
+ ow->flush();
+
+ return os->toByteArray();
+}
+
+void
+java::lang::String::getBytes(jint srcBegin, jint srcEnd,
+ jbyteArray dst, jint dstBegin)
+{
+ jint dst_length = JvGetArrayLength (dst);
+ if (srcBegin < 0 || srcBegin > srcEnd || srcEnd > count
+ || dstBegin < 0 || dstBegin + (srcEnd-srcBegin) > dst_length)
+ JvThrow (new java::lang::ArrayIndexOutOfBoundsException());
+ register jbyte *dPtr = elements (dst) + dstBegin;
+ register jchar *sPtr = JvGetStringChars (this) + srcBegin;
+ register jint i = srcEnd-srcBegin;
+ while (--i >= 0)
+ *dPtr++ = (jbyte) *sPtr++;
+}
+
+jcharArray
+java::lang::String::toCharArray()
+{
+ jcharArray array = JvNewCharArray(count);
+ register jchar *dPtr = elements (array);
+ register jchar *sPtr = JvGetStringChars (this);
+ register jint i = count;
+ while (--i >= 0)
+ *dPtr++ = *sPtr++;
+ return array;
+}
+
+jboolean
+java::lang::String::equalsIgnoreCase (jstring anotherString)
+{
+ if (count != anotherString->count)
+ return false;
+ register jchar *tptr = JvGetStringChars (this);
+ register jchar *optr = JvGetStringChars (anotherString);
+ register jint i = count;
+ while (--i >= 0)
+ {
+ jchar tch = *tptr++;
+ jchar och = *optr++;
+ if (tch != och
+ && (java::lang::Character::toLowerCase (tch)
+ != java::lang::Character::toLowerCase (och))
+ && (java::lang::Character::toUpperCase (tch)
+ != java::lang::Character::toUpperCase (och)))
+ return false;
+ }
+ return true;
+}
+
+jboolean
+java::lang::String::regionMatches (jint toffset,
+ jstring other, jint ooffset, jint len)
+{
+ if (toffset < 0 || ooffset < 0
+ || toffset + len > count
+ || ooffset + len > other->count)
+ return false;
+ register jchar *tptr = JvGetStringChars (this) + toffset;
+ register jchar *optr = JvGetStringChars (other) + ooffset;
+ register jint i = len;
+ while (--i >= 0)
+ {
+ if (*tptr++ != *optr++)
+ return false;
+ }
+ return true;
+}
+
+jint
+java::lang::String::compareTo (jstring anotherString)
+{
+ register jchar *tptr = JvGetStringChars (this);
+ register jchar *optr = JvGetStringChars (anotherString);
+ jint tlen = this->count;
+ jint olen = anotherString->count;
+ register jint i = tlen > olen ? olen : tlen;
+ while (--i >= 0)
+ {
+ jchar tch = *tptr++;
+ jchar och = *optr++;
+ if (tch != och)
+ return (jint) tch - (jint) och;
+ }
+ return tlen - olen;
+}
+
+jboolean
+java::lang::String::regionMatches (jboolean ignoreCase, jint toffset,
+ jstring other, jint ooffset, jint len)
+{
+ if (toffset < 0 || ooffset < 0
+ || toffset + len > count
+ || ooffset + len > other->count)
+ return false;
+ register jchar *tptr = JvGetStringChars (this) + toffset;
+ register jchar *optr = JvGetStringChars (other) + ooffset;
+ register jint i = len;
+ while (--i >= 0)
+ {
+ jchar tch = *tptr++;
+ jchar och = *optr++;
+ if (tch != och)
+ return false;
+ if (ignoreCase
+ && (java::lang::Character::toLowerCase (tch)
+ != java::lang::Character::toLowerCase (och))
+ && (java::lang::Character::toUpperCase (tch)
+ != java::lang::Character::toUpperCase (och)))
+ return false;
+ }
+ return true;
+}
+
+jboolean
+java::lang::String::startsWith (jstring prefix, jint toffset)
+{
+ register jint i = prefix->count;
+ if (toffset < 0 || toffset + i > count)
+ return false;
+ register jchar *xptr = JvGetStringChars (this) + toffset;
+ register jchar *yptr = JvGetStringChars (prefix);
+ while (--i >= 0)
+ {
+ if (*xptr++ != *yptr++)
+ return false;
+ }
+ return true;
+}
+
+jint
+java::lang::String::indexOf (jint ch, jint fromIndex)
+{
+ if (fromIndex < 0)
+ fromIndex = 0;
+ register jchar *ptr = JvGetStringChars(this);
+ for (;; ++fromIndex)
+ {
+ if (fromIndex >= count)
+ return -1;
+ if (ptr[fromIndex] == ch)
+ return fromIndex;
+ }
+}
+
+jint
+java::lang::String::indexOf (jstring s, jint fromIndex)
+{
+ const jchar *const xchars = JvGetStringChars(s);
+ const jchar *const ychars = JvGetStringChars(this) + fromIndex;
+
+ const int xlength = s->length ();
+ const int ylength = length () - fromIndex;
+
+ int i = 0;
+ int j = 0;
+
+ while (i < ylength && j < xlength)
+ {
+ if (xchars[j] != ychars[i])
+ {
+ i = i - j + 1;
+ j = 0;
+ }
+ else
+ i++, j++;
+ }
+
+ if (j >= xlength)
+ return fromIndex + i - xlength;
+ else
+ return -1;
+}
+
+jint
+java::lang::String::lastIndexOf (jint ch, jint fromIndex)
+{
+ if (fromIndex >= count)
+ fromIndex = count - 1;
+ register jchar *ptr = JvGetStringChars(this);
+ for (;; --fromIndex)
+ {
+ if (fromIndex < 0)
+ return -1;
+ if (ptr[fromIndex] == ch)
+ return fromIndex;
+ }
+}
+
+jstring
+java::lang::String::substring (jint beginIndex, jint endIndex)
+{
+ if (beginIndex < 0 || endIndex > count || beginIndex > endIndex)
+ JvThrow (new StringIndexOutOfBoundsException());
+ jint newCount = endIndex - beginIndex;
+ if (newCount <= 8) // Optimization, mainly for GC.
+ return JvNewString(JvGetStringChars(this) + beginIndex, newCount);
+ jstring s = new String();
+ s->data = data;
+ s->count = newCount;
+ s->boffset = boffset + sizeof(jchar) * beginIndex;
+ return s;
+}
+
+jstring
+java::lang::String::concat(jstring str)
+{
+ jint str_count = str->count;
+ if (str_count == 0)
+ return this;
+ jstring result = JvAllocString(count + str_count);
+ register jchar *dstPtr = JvGetStringChars(result);
+ register jchar *srcPtr = JvGetStringChars(this);
+ register jint i = count;
+ while (--i >= 0)
+ *dstPtr++ = *srcPtr++;
+ srcPtr = JvGetStringChars(str);
+ i = str->count;
+ while (--i >= 0)
+ *dstPtr++ = *srcPtr++;
+ return result;
+}
+
+jstring
+java::lang::String::replace (jchar oldChar, jchar newChar)
+{
+ jint i;
+ jchar* chrs = JvGetStringChars (this);
+ for (i = 0; ; i++)
+ {
+ if (i == count)
+ return this;
+ if (chrs[i] == oldChar)
+ break;
+ }
+ jstring result = JvAllocString (count);
+ jchar *dPtr = JvGetStringChars (result);
+ for (int j = 0; j < i; j++)
+ *dPtr++ = chrs[j];
+ for (; i < count; i++)
+ {
+ jchar ch = chrs[i];
+ if (ch == oldChar)
+ ch = newChar;
+ *dPtr++ = ch;
+ }
+ return result;
+}
+
+jstring
+java::lang::String::toLowerCase ()
+{
+ jint i;
+ jchar* chrs = JvGetStringChars(this);
+ jchar ch;
+ for (i = 0; ; i++)
+ {
+ if (i == count)
+ return this;
+ jchar origChar = chrs[i];
+ ch = java::lang::Character::toLowerCase(origChar);
+ if (ch != origChar)
+ break;
+ }
+ jstring result = JvAllocString(count);
+ jchar *dPtr = JvGetStringChars (result);
+ for (int j = 0; j < i; j++)
+ *dPtr++ = chrs[j];
+ *dPtr++ = ch; i++;
+ for (; i < count; i++)
+ {
+ *dPtr++ = java::lang::Character::toLowerCase(chrs[i]);
+ }
+ return result;
+}
+
+jstring
+java::lang::String::toUpperCase ()
+{
+ jint i;
+ jchar* chrs = JvGetStringChars(this);
+ jchar ch;
+ for (i = 0; ; i++)
+ {
+ if (i == count)
+ return this;
+ jchar origChar = chrs[i];
+ ch = java::lang::Character::toUpperCase(origChar);
+ if (ch != origChar)
+ break;
+ }
+ jstring result = JvAllocString(count);
+ jchar *dPtr = JvGetStringChars (result);
+ for (int j = 0; j < i; j++)
+ *dPtr++ = chrs[j];
+ *dPtr++ = ch; i++;
+ for (; i < count; i++)
+ {
+ *dPtr++ = java::lang::Character::toUpperCase(chrs[i]);
+ }
+ return result;
+}
+
+jstring
+java::lang::String::trim ()
+{
+ jchar* chrs = JvGetStringChars(this);
+ if (count == 0 || (chrs[0] > ' ' && chrs[count-1] > ' '))
+ return this;
+ jint preTrim = 0;
+ for (;; preTrim++)
+ {
+ if (preTrim == count)
+ return new String();
+ if (chrs[preTrim] > ' ')
+ break;
+ }
+ jint endTrim = count;
+ while (chrs[endTrim-1] <= ' ')
+ endTrim--;
+ return substring(preTrim, endTrim);
+}
+
+jstring
+java::lang::String::valueOf(jcharArray data, jint offset, jint count)
+{
+ jint data_length = JvGetArrayLength (data);
+ if (offset < 0 || count < 0 || offset+count > data_length)
+ JvThrow (new java::lang::IndexOutOfBoundsException());
+ register jstring result = JvAllocString(count);
+ register jchar *sPtr = elements (data) + offset;
+ register jchar *dPtr = JvGetStringChars(result);
+ while (--count >= 0)
+ *dPtr++ = *sPtr++;
+ return result;
+}
+
+jstring
+java::lang::String::valueOf(jchar c)
+{
+ register jstring result = JvAllocString(1);
+ JvGetStringChars (result)[0] = c;
+ return result;
+}
diff --git a/libjava/java/lang/natSystem.cc b/libjava/java/lang/natSystem.cc
new file mode 100644
index 0000000..5f613d5
--- /dev/null
+++ b/libjava/java/lang/natSystem.cc
@@ -0,0 +1,259 @@
+// natSystem.cc - Native code implementing System class.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#ifdef HAVE_GETPWUID_R
+#define _POSIX_PTHREAD_SEMANTICS
+#ifndef _REENTRANT
+#define _REENTRANT
+#endif
+#endif
+
+#include <string.h>
+#include <time.h>
+#include <stdlib.h>
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
+#ifdef HAVE_PWD_H
+#include <pwd.h>
+#endif
+#include <errno.h>
+
+#include <cni.h>
+#include <jvm.h>
+#include <java/lang/System.h>
+#include <java/lang/Class.h>
+#include <java/lang/ArrayStoreException.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/NullPointerException.h>
+#include <java/util/Properties.h>
+#include <java/io/PrintStream.h>
+#include <java/io/InputStream.h>
+
+
+
+#if defined (ECOS)
+extern "C" unsigned long long _clock (void);
+#endif
+
+void
+java::lang::System::setErr (java::io::PrintStream *newErr)
+{
+ checkSetIO ();
+ // This violates `final' semantics. Oh well.
+ err = newErr;
+}
+
+void
+java::lang::System::setIn (java::io::InputStream *newIn)
+{
+ checkSetIO ();
+ // This violates `final' semantics. Oh well.
+ in = newIn;
+}
+
+void
+java::lang::System::setOut (java::io::PrintStream *newOut)
+{
+ checkSetIO ();
+ // This violates `final' semantics. Oh well.
+ out = newOut;
+}
+
+void
+java::lang::System::arraycopy (jobject src, jint src_offset,
+ jobject dst, jint dst_offset,
+ jint count)
+{
+ if (! src || ! dst)
+ _Jv_Throw (new NullPointerException);
+
+ jclass src_c = src->getClass();
+ jclass dst_c = dst->getClass();
+ jclass src_comp = src_c->getComponentType();
+ jclass dst_comp = dst_c->getComponentType();
+
+ if (! src_c->isArray() || ! dst_c->isArray()
+ || src_comp->isPrimitive() != dst_comp->isPrimitive()
+ || (src_comp->isPrimitive() && src_comp != dst_comp))
+ _Jv_Throw (new ArrayStoreException);
+
+ __JArray *src_a = (__JArray *) src;
+ __JArray *dst_a = (__JArray *) dst;
+ if (src_offset < 0 || dst_offset < 0 || count < 0
+ || src_offset + count > src_a->length
+ || dst_offset + count > dst_a->length)
+ _Jv_Throw (new ArrayIndexOutOfBoundsException);
+
+ // Do-nothing cases.
+ if ((src == dst && src_offset == dst_offset)
+ || ! count)
+ return;
+
+ // If both are primitive, we can optimize trivially. If DST
+ // components are always assignable from SRC components, then we
+ // will never need to raise an error, and thus can do the
+ // optimization. If source and destinations are the same, then we
+ // know that the assignability premise always holds.
+ const bool prim = src_comp->isPrimitive();
+ if (prim || dst_comp->isAssignableFrom(src_comp) || src == dst)
+ {
+ const size_t size = prim ? src_comp->size()
+ : sizeof elements((jobjectArray)src)[0];
+
+ // We need a particular type to get the pointer to the data. So
+ // we choose bytes.
+ char *src_elts = (((char *) elements ((jbyteArray) src))
+ + src_offset * size);
+ char *dst_elts = (((char *) elements ((jbyteArray) dst))
+ + dst_offset * size);
+ // We don't bother trying memcpy. It can't be worth the cost of
+ // the check.
+ memmove ((void *) dst_elts, (void *) src_elts, count * size);
+ }
+ else
+ {
+ jobject *src_elts = elements ((jobjectArray) src_a) + src_offset;
+ jobject *dst_elts = elements ((jobjectArray) dst_a) + dst_offset;
+
+ for (int i = 0; i < count; ++i)
+ {
+ if (*src_elts
+ && ! dst_comp->isAssignableFrom((*src_elts)->getClass()))
+ _Jv_Throw (new ArrayStoreException);
+ *dst_elts++ = *src_elts++;
+ }
+ }
+}
+
+jlong
+java::lang::System::currentTimeMillis (void)
+{
+ jlong r;
+
+#if defined (HAVE_GETTIMEOFDAY)
+ struct timeval tv;
+ gettimeofday (&tv, NULL);
+ r = (jlong) tv.tv_sec * 1000 + tv.tv_usec / 1000;
+#elif defined (HAVE_TIME)
+ r = time (NULL) * 1000;
+#elif defined (HAVE_FTIME)
+ struct timeb t;
+ ftime (&t);
+ r = t.time * 1000 + t.millitm;
+#elif defined (ECOS)
+ r = _clock();
+#else
+ // In the absence of any function, time remains forever fixed.
+ r = 23;
+#endif
+
+ return r;
+}
+
+jint
+java::lang::System::identityHashCode (jobject obj)
+{
+ return _Jv_HashCode (obj);
+}
+
+void
+java::lang::System::init_properties (void)
+{
+ if (prop_init)
+ return;
+ prop_init = true;
+
+ properties = new java::util::Properties ();
+ // A convenience define.
+#define SET(Prop,Val) \
+ properties->put(JvNewStringLatin1 (Prop), JvNewStringLatin1 (Val))
+ SET ("java.version", "FIXME");
+ SET ("java.vendor", "Cygnus Solutions");
+ SET ("java.vendor.url", "http://www.cygnus.com/");
+ // SET ("java.home", "FIXME");
+ // SET ("java.class.version", "FIXME");
+ // SET ("java.class.path", "FIXME");
+ SET ("os.name", "FIXME");
+ SET ("os.arch", "FIXME");
+ SET ("os.version", "FIXME");
+ SET ("file.encoding", "8859_1"); // FIXME
+#ifdef WIN32
+ SET ("file.separator", "\\");
+ SET ("path.separator", ";");
+ SET ("line.separator", "\r\n");
+#else
+ // Unix.
+ SET ("file.separator", "/");
+ SET ("path.separator", ":");
+ SET ("line.separator", "\n");
+#endif
+
+#ifdef HAVE_PWD_H
+ uid_t user_id = getuid ();
+ struct passwd *pwd_entry;
+
+#ifdef HAVE_GETPWUID_R
+ struct passwd pwd_r;
+ size_t len_r = 200;
+ char *buf_r = (char *) _Jv_AllocBytes (len_r);
+
+ while (buf_r != NULL)
+ {
+ int r = getpwuid_r (user_id, &pwd_r, buf_r, len_r, &pwd_entry);
+ if (r == 0)
+ break;
+ else if (r != ERANGE)
+ {
+ pwd_entry = NULL;
+ break;
+ }
+ len_r *= 2;
+ buf_r = (char *) _Jv_AllocBytes (len_r);
+ }
+#else
+ struct passwd *pwd_entry = getpwuid (user_id);
+#endif /* HAVE_GETPWUID_R */
+
+ if (pwd_entry != NULL)
+ {
+ SET ("user.name", pwd_entry->pw_name);
+ SET ("user.home", pwd_entry->pw_dir);
+ }
+#endif /* HAVE_PWD_H */
+
+#ifdef HAVE_UNISTD_H
+ /* Use getcwd to set "user.dir". */
+ int buflen = 250;
+ char *buffer = (char *) malloc (buflen);
+ while (buffer != NULL)
+ {
+ if (getcwd (buffer, buflen) != NULL)
+ {
+ SET ("user.dir", buffer);
+ break;
+ }
+ if (errno != ERANGE)
+ break;
+ buflen = 2 * buflen;
+ buffer = (char *) realloc (buffer, buflen);
+ }
+ if (buffer != NULL)
+ free (buffer);
+#endif
+}
diff --git a/libjava/java/lang/natThread.cc b/libjava/java/lang/natThread.cc
new file mode 100644
index 0000000..1171911
--- /dev/null
+++ b/libjava/java/lang/natThread.cc
@@ -0,0 +1,295 @@
+// natThread.cc - Native part of Thread class.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include <cni.h>
+#include <jvm.h>
+#include <java/lang/Thread.h>
+#include <java/lang/ThreadGroup.h>
+#include <java/lang/IllegalArgumentException.h>
+#include <java/lang/IllegalThreadStateException.h>
+#include <java/lang/InterruptedException.h>
+#include <java/lang/NullPointerException.h>
+
+
+
+// This structure is used to represent all the data the native side
+// needs. An object of this type is assigned to the `data' member of
+// the Thread class.
+struct natThread
+{
+ // These are used to interrupt sleep and join calls. We can share a
+ // condition variable here since this thread can either be sleeping
+ // or waiting for a thread exit, but not both.
+ _Jv_Mutex_t interrupt_mutex;
+ _Jv_ConditionVariable_t interrupt_cond;
+
+ // This is private data for the thread system layer.
+ _Jv_Thread_t *thread;
+
+ // All threads waiting to join this thread are linked together and
+ // waiting on their respective `interrupt' condition variables.
+ // When this thread exits, it notifies each such thread by
+ // signalling the condition. In this case the `interrupt_flag' is
+ // not set; this is how the waiting thread knows whether the join
+ // has failed or whether it should throw an exception.
+ struct natThread *joiner;
+
+ // Chain for waiters.
+ struct natThread *next;
+};
+
+// This is called from the constructor to initialize the native side
+// of the Thread.
+void
+java::lang::Thread::initialize_native (void)
+{
+ // FIXME: this must interact with the GC in some logical way. At
+ // the very least we must register a finalizer to clean up. This
+ // isn't easy to do. If the Thread object resurrects itself in its
+ // own finalizer then we will need to reinitialize this structure at
+ // any "interesting" point.
+ natThread *nt = (natThread *) _Jv_AllocBytes (sizeof (natThread));
+ data = (jobject) nt;
+ _Jv_MutexInit (&nt->interrupt_mutex);
+ _Jv_CondInit (&nt->interrupt_cond);
+ _Jv_ThreadInitData (&nt->thread, this);
+ nt->joiner = 0;
+ nt->next = 0;
+}
+
+jint
+java::lang::Thread::countStackFrames (void)
+{
+ // NOTE: This is deprecated in JDK 1.2.
+ JvFail ("java::lang::Thread::countStackFrames unimplemented");
+ return 0;
+}
+
+java::lang::Thread *
+java::lang::Thread::currentThread (void)
+{
+ return _Jv_ThreadCurrent ();
+}
+
+// FIXME: this is apparently the only way a thread can be removed from
+// a ThreadGroup. That seems wrong.
+void
+java::lang::Thread::destroy (void)
+{
+ // NOTE: This is marked as unimplemented in the JDK 1.2
+ // documentation.
+ JvFail ("java::lang::Thread::destroy unimplemented");
+}
+
+void
+java::lang::Thread::dumpStack (void)
+{
+ // We don't implement this because it is very hard. Once we have a
+ // VM, this could potentially ask the VM to do the dump in cases
+ // where it makes sense.
+ JvFail ("java::lang::Thread::dumpStack unimplemented");
+}
+
+void
+java::lang::Thread::interrupt (void)
+{
+ interrupt_flag = true;
+
+ // Wake up this thread, whether it is sleeping or waiting for
+ // another thread to exit.
+ natThread *nt = (natThread *) data;
+ _Jv_MutexLock (&nt->interrupt_mutex);
+ _Jv_CondNotify (&nt->interrupt_cond, &nt->interrupt_mutex);
+ _Jv_MutexUnlock (&nt->interrupt_mutex);
+
+ _Jv_ThreadInterrupt (nt->thread);
+}
+
+void
+java::lang::Thread::join (jlong millis, jint nanos)
+{
+ // FIXME: what if we are trying to join ourselves with no timeout?
+
+ if (millis < 0 || nanos < 0 || nanos > 999999)
+ _Jv_Throw (new IllegalArgumentException);
+
+ Thread *current = currentThread ();
+ if (current->isInterrupted ())
+ _Jv_Throw (new InterruptedException);
+
+ // Update the list of all threads waiting for this thread to exit.
+ // We grab a mutex when doing this in order to ensure that the
+ // required state changes are atomic.
+ _Jv_MonitorEnter (this);
+ if (! isAlive ())
+ {
+ _Jv_MonitorExit (this);
+ return;
+ }
+
+ // Here `CURR_NT' is the native structure for the currently
+ // executing thread, while `NT' is the native structure for the
+ // thread we are trying to join.
+ natThread *curr_nt = (natThread *) current->data;
+ natThread *nt = (natThread *) data;
+
+ JvAssert (curr_nt->next == NULL);
+ // Put thread CURR_NT onto NT's list. When NT exits, it will
+ // traverse its list and notify all joiners.
+ curr_nt->next = nt->joiner;
+ nt->joiner = curr_nt;
+ _Jv_MonitorExit (this);
+
+
+ // Now wait for: (1) an interrupt, (2) the thread to exit, or (3)
+ // the timeout to occur.
+ _Jv_MutexLock (&curr_nt->interrupt_mutex);
+ _Jv_CondWait (&curr_nt->interrupt_cond,
+ &curr_nt->interrupt_mutex,
+ millis, nanos);
+ _Jv_MutexUnlock (&curr_nt->interrupt_mutex);
+
+ // Now the join has completed, one way or another. Update the
+ // joiners list to account for this.
+ _Jv_MonitorEnter (this);
+ JvAssert (nt->joiner != NULL);
+ natThread *prev = 0;
+ natThread *t;
+ for (t = nt->joiner; t != NULL; t = t->next)
+ {
+ if (t == curr_nt)
+ {
+ if (prev)
+ prev->next = t->next;
+ else
+ nt->joiner = t->next;
+ t->next = 0;
+ break;
+ }
+ }
+ JvAssert (t != NULL);
+ _Jv_MonitorExit (this);
+
+ if (current->isInterrupted ())
+ _Jv_Throw (new InterruptedException);
+}
+
+void
+java::lang::Thread::resume (void)
+{
+ checkAccess ();
+ JvFail ("java::lang::Thread::resume unimplemented");
+}
+
+void
+java::lang::Thread::setPriority (jint newPriority)
+{
+ checkAccess ();
+ if (newPriority < MIN_PRIORITY || newPriority > MAX_PRIORITY)
+ _Jv_Throw (new IllegalArgumentException);
+
+ jint gmax = group->getMaxPriority();
+ if (newPriority > gmax)
+ newPriority = gmax;
+
+ priority = newPriority;
+ natThread *nt = (natThread *) data;
+ _Jv_ThreadSetPriority (nt->thread, priority);
+}
+
+void
+java::lang::Thread::sleep (jlong millis, jint nanos)
+{
+ if (millis < 0 || nanos < 0 || nanos > 999999)
+ _Jv_Throw (new IllegalArgumentException);
+
+ Thread *current = currentThread ();
+ if (current->isInterrupted ())
+ _Jv_Throw (new InterruptedException);
+
+ // We use a condition variable to implement sleeping so that an
+ // interrupt can wake us up.
+ natThread *nt = (natThread *) current->data;
+ _Jv_MutexLock (&nt->interrupt_mutex);
+ _Jv_CondWait (&nt->interrupt_cond, &nt->interrupt_mutex,
+ millis, nanos);
+ _Jv_MutexUnlock (&nt->interrupt_mutex);
+
+ if (current->isInterrupted ())
+ _Jv_Throw (new InterruptedException);
+}
+
+void
+java::lang::Thread::finish_ (void)
+{
+ // Notify all threads waiting to join this thread.
+ _Jv_MonitorEnter (this);
+ alive_flag = false;
+
+ // Note that we don't bother cleaning up the joiner list here. That
+ // is taken care of when each thread wakes up again.
+ natThread *nt = (natThread *) data;
+ for (natThread *t = nt->joiner; t != NULL; t = t->next)
+ {
+ _Jv_MutexLock (&t->interrupt_mutex);
+ _Jv_CondNotify (&t->interrupt_cond, &t->interrupt_mutex);
+ _Jv_MutexUnlock (&t->interrupt_mutex);
+ }
+
+ _Jv_MonitorExit (this);
+}
+
+void
+java::lang::Thread::run__ (jobject obj)
+{
+ java::lang::Thread *thread = (java::lang::Thread *) obj;
+ thread->run_ ();
+}
+
+void
+java::lang::Thread::start (void)
+{
+ JvSynchronize sync (this);
+
+ if (alive_flag)
+ _Jv_Throw (new IllegalThreadStateException);
+
+ alive_flag = true;
+ natThread *nt = (natThread *) data;
+ _Jv_ThreadStart (this, nt->thread, (_Jv_ThreadStartFunc *) &run__);
+}
+
+void
+java::lang::Thread::stop (java::lang::Throwable *e)
+{
+ JvSynchronize sync (this);
+ checkAccess ();
+ if (! e)
+ _Jv_Throw (new NullPointerException);
+ natThread *nt = (natThread *) data;
+ _Jv_ThreadCancel (nt->thread, e);
+}
+
+void
+java::lang::Thread::suspend (void)
+{
+ checkAccess ();
+ JvFail ("java::lang::Thread::suspend unimplemented");
+}
+
+void
+java::lang::Thread::yield (void)
+{
+ _Jv_ThreadYield ();
+}
diff --git a/libjava/java/lang/reflect/AccessibleObject.java b/libjava/java/lang/reflect/AccessibleObject.java
new file mode 100644
index 0000000..8c869e1
--- /dev/null
+++ b/libjava/java/lang/reflect/AccessibleObject.java
@@ -0,0 +1,53 @@
+// AccessibleObject.java - Base for reflection objects.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang.reflect;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date December 12, 1998
+ */
+/* Written using JDK 1.2 beta docs.
+ * Status: Believed complete and correct.
+ */
+
+public class AccessibleObject
+{
+ protected AccessibleObject ()
+ {
+ flag = false;
+ }
+
+ boolean isAccessible ()
+ {
+ return flag;
+ }
+
+ static void setAccessible (AccessibleObject[] array, boolean flag)
+ {
+ checkPermission ();
+ for (int i = 0; i < array.length; ++i)
+ array[i].flag = flag;
+ }
+
+ void setAccessible (boolean flag)
+ {
+ checkPermission ();
+ this.flag = flag;
+ }
+
+ private static final void checkPermission ()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ // FIXME: sm.checkPermission(ReflectPermission ("suppressAccessChecks"))
+ }
+
+ private boolean flag;
+}
diff --git a/libjava/java/lang/reflect/Array.java b/libjava/java/lang/reflect/Array.java
new file mode 100644
index 0000000..398f80d
--- /dev/null
+++ b/libjava/java/lang/reflect/Array.java
@@ -0,0 +1,78 @@
+// FileDescriptor.java - Open file or device
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang.reflect;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date january 12, 1999
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3.
+ * Status: Believe complete and correct.
+ */
+
+public final class Array
+{
+ Array () { }
+
+ public static native Object newInstance(Class componentType, int length);
+ public static native Object newInstance(Class elementType, int[] dimensions);
+ public static native int getLength (Object array);
+
+ public static native Object get (Object array, int index);
+ public static native char getChar (Object array, int index);
+ public static native byte getByte (Object array, int index);
+ public static native short getShort (Object array, int index);
+ public static native int getInt (Object array, int index);
+ public static native long getLong (Object array, int index);
+ public static native float getFloat (Object array, int index);
+ public static native double getDouble (Object array, int index);
+ public static native boolean getBoolean (Object array, int index);
+
+ private static native Class getElementType (Object array, int index);
+
+ private static native void set (Object array, int index,
+ Object value, Class elType);
+
+ public static void set (Object array, int index, Object value)
+ {
+ Class elType = getElementType(array, index);
+ if (! elType.isPrimitive())
+ set(array, index, value, elType);
+ else if (value instanceof Byte)
+ setByte(array, index, ((Byte) value).byteValue());
+ else if (value instanceof Short)
+ setShort (array, index, ((Short) value).shortValue());
+ else if (value instanceof Integer)
+ setInt(array, index, ((Integer) value).intValue());
+ else if (value instanceof Long)
+ setLong(array, index, ((Long) value).longValue());
+ else if (value instanceof Float)
+ setFloat(array, index, ((Float) value).floatValue());
+ else if (value instanceof Double)
+ setDouble(array, index, ((Double) value).doubleValue());
+ else if (value instanceof Character)
+ setChar(array, index, ((Character) value).charValue());
+ else if (value instanceof Boolean)
+ setBoolean(array, index, ((Boolean) value).booleanValue());
+ else
+ throw new IllegalArgumentException();
+ }
+
+ public static native void setByte (Object array, int index, byte value);
+ public static native void setShort (Object array, int index, short value);
+ public static native void setInt (Object array, int index, int value);
+ public static native void setLong (Object array, int index, long value);
+ public static native void setFloat (Object array, int index, float value);
+ public static native void setDouble (Object array, int index, double value);
+ public static native void setChar (Object array, int index, char value);
+ public static native void setBoolean(Object array, int index, boolean value);
+}
diff --git a/libjava/java/lang/reflect/Constructor.java b/libjava/java/lang/reflect/Constructor.java
new file mode 100644
index 0000000..466c120
--- /dev/null
+++ b/libjava/java/lang/reflect/Constructor.java
@@ -0,0 +1,106 @@
+// Constructor.java - Represents a constructor for a class.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang.reflect;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date December 12, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Incomplete: needs a private constructor, and
+ * newInstance() needs to be written.
+ */
+
+public final class Constructor extends AccessibleObject implements Member
+{
+ public boolean equals (Object obj)
+ {
+ if (! (obj instanceof Constructor))
+ return false;
+ Constructor c = (Constructor) obj;
+ return decl_class == c.decl_class && index == c.index;
+ }
+
+ public Class getDeclaringClass ()
+ {
+ return decl_class;
+ }
+
+ public Class[] getExceptionTypes ()
+ {
+ return (Class[]) exception_types.clone();
+ }
+
+ public int getModifiers ()
+ {
+ return modifiers;
+ }
+
+ public String getName ()
+ {
+ return decl_class.getName();
+ }
+
+ public Class[] getParameterTypes ()
+ {
+ return (Class[]) parameter_types.clone();
+ }
+
+ public int hashCode ()
+ {
+ // FIXME.
+ return getName().hashCode();
+ }
+
+ // FIXME: this must be native. Should share implementation with
+ // Method.invoke.
+ public Object newInstance (Object[] args)
+ throws InstantiationException, IllegalAccessException,
+ IllegalArgumentException, InvocationTargetException
+ {
+ return null;
+ }
+
+ public String toString ()
+ {
+ StringBuffer b = new StringBuffer ();
+ b.append(Modifier.toString(modifiers));
+ b.append(" ");
+ b.append(getName());
+ b.append("(");
+ for (int i = 0; i < parameter_types.length; ++i)
+ {
+ b.append(parameter_types[i].toString());
+ if (i < parameter_types.length - 1)
+ b.append(",");
+ }
+ b.append(")");
+ return b.toString();
+ }
+
+ // Can't create these. FIXME.
+ private Constructor ()
+ {
+ }
+
+ // Declaring class.
+ private Class decl_class;
+ // Exception types.
+ private Class[] exception_types;
+ // Modifiers.
+ private int modifiers;
+ // Parameter types.
+ private Class[] parameter_types;
+ // Index of this method in declaring class' method table.
+ private int index;
+}
diff --git a/libjava/java/lang/reflect/Field.java b/libjava/java/lang/reflect/Field.java
new file mode 100644
index 0000000..7c7e690
--- /dev/null
+++ b/libjava/java/lang/reflect/Field.java
@@ -0,0 +1,264 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang.reflect;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date September 1998; February 1999.
+ */
+/* Status: Mostly implemented.
+ * However, access checks are not implemented. See natField.cc for
+ * _Jv_CheckFieldAccessibility as well as the missing getCaller.
+ * Note that the idea is to have to compiler convert calls to
+ * setXXX(...) and getXXX(...) to setXXX(CALLER, ...) and getXXX(CALLER, ...),
+ * where CALLER is reference to the class that contains the calls to
+ * setXXX or getXXX. This is easy for the compiler, and replaces
+ * expensive stack and table searching with a constant.
+ */
+
+public final class Field extends AccessibleObject implements Member
+{
+ private Class declaringClass;
+
+ // This is filled in by getName.
+ private String name;
+
+ // Offset in bytes from the start of declaringClass's fields array.
+ private int offset;
+
+ public boolean equals (Object fld)
+ {
+ if (! (fld instanceof Field))
+ return false;
+ Field f = (Field) fld;
+ return declaringClass == f.declaringClass && offset == f.offset;
+ }
+
+ public Class getDeclaringClass ()
+ {
+ return declaringClass;
+ }
+
+ public native String getName ();
+
+ public native Class getType ();
+
+ public native int getModifiers ();
+
+ public int hashCode()
+ {
+ return (declaringClass.hashCode() ^ offset);
+ }
+
+ // The idea is that the compiler will magically translate
+ // fld.getShort(obj) to fld.getShort(THISCLASS, obj).
+ // This makes checking assessiblity more efficient,
+ // since we don't have to do any stack-walking.
+
+ public boolean getBoolean (Object obj)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ return getBoolean(null, obj);
+ }
+ public char getChar (Object obj)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ return getChar(null, obj);
+ }
+
+ public byte getByte (Object obj)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ return getByte(null, obj);
+ }
+
+ public short getShort (Object obj)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ return getShort(null, obj);
+ }
+
+ public int getInt (Object obj)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ return getInt(null, obj);
+ }
+
+ public long getLong (Object obj)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ return getLong(null, obj);
+ }
+
+ public float getFloat (Object obj)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ return getFloat(null, obj);
+ }
+
+ public double getDouble (Object obj)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ return getDouble(null, obj);
+ }
+
+ public Object get (Object obj)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ return get(null, obj);
+ }
+
+ private native boolean getBoolean (Class caller, Object obj)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ private native char getChar (Class caller, Object obj)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ private native byte getByte (Class caller, Object obj)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ private native short getShort (Class caller, Object obj)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ private native int getInt (Class caller, Object obj)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ private native long getLong (Class caller, Object obj)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ private native float getFloat (Class caller, Object obj)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ private native double getDouble (Class caller, Object obj)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ public native Object get (Class caller, Object obj)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ public void setByte (Object obj, byte b)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ setByte(null, obj, b);
+ }
+
+ public void setShort (Object obj, short s)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ setShort(null, obj, s);
+ }
+
+ public void setInt (Object obj, int i)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ setInt(null, obj, i);
+ }
+
+ public void setLong (Object obj, long l)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ setLong(null, obj, l);
+ }
+
+ public void setFloat (Object obj, float f)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ setFloat(null, obj, f);
+ }
+
+ public void setDouble (Object obj, double d)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ setDouble(null, obj, d);
+ }
+
+ public void setChar (Object obj, char c)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ setChar(null, obj, c);
+ }
+
+ public void setBoolean (Object obj, boolean b)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ setBoolean(null, obj, b);
+ }
+
+ public native void setByte (Class caller, Object obj, byte b)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ public native void setShort (Class caller, Object obj, short s)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ public native void setInt (Class caller, Object obj, int i)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ public native void setLong (Class caller, Object obj, long l)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ public native void setFloat (Class caller, Object obj, float f)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ public native void setDouble (Class caller, Object obj, double d)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ public native void setChar (Class caller, Object obj, char c)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ public native void setBoolean (Class caller, Object obj, boolean b)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ private native void set (Class caller, Object obj, Object val, Class type)
+ throws IllegalArgumentException, IllegalAccessException;
+
+ public void set (Object object, Object value)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ set(null, object, value);
+ }
+
+ public void set (Class caller, Object object, Object value)
+ throws IllegalArgumentException, IllegalAccessException
+ {
+ Class type = getType();
+ if (! type.isPrimitive())
+ set(caller, object, value, type);
+ else if (value instanceof Byte)
+ setByte(caller, object, ((Byte) value).byteValue());
+ else if (value instanceof Short)
+ setShort (caller, object, ((Short) value).shortValue());
+ else if (value instanceof Integer)
+ setInt(caller, object, ((Integer) value).intValue());
+ else if (value instanceof Long)
+ setLong(caller, object, ((Long) value).longValue());
+ else if (value instanceof Float)
+ setFloat(caller, object, ((Float) value).floatValue());
+ else if (value instanceof Double)
+ setDouble(caller, object, ((Double) value).doubleValue());
+ else if (value instanceof Character)
+ setChar(caller, object, ((Character) value).charValue());
+ else if (value instanceof Boolean)
+ setBoolean(caller, object, ((Boolean) value).booleanValue());
+ else
+ throw new IllegalArgumentException();
+ }
+
+ public String toString ()
+ {
+ StringBuffer sbuf = new StringBuffer ();
+ int mods = getModifiers();
+ if (mods != 0)
+ Modifier.toString(mods, sbuf);
+ sbuf.append(getType());
+ sbuf.append(' ');
+ sbuf.append(getDeclaringClass());
+ sbuf.append('.');
+ sbuf.append(getName());
+ return sbuf.toString();
+ }
+}
diff --git a/libjava/java/lang/reflect/InvocationTargetException.java b/libjava/java/lang/reflect/InvocationTargetException.java
new file mode 100644
index 0000000..eccd5f7
--- /dev/null
+++ b/libjava/java/lang/reflect/InvocationTargetException.java
@@ -0,0 +1,73 @@
+// InvocationTargetException.java - Wrapper exception for reflection.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang.reflect;
+import java.io.PrintStream;
+import java.io.PrintWriter;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date December 12, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Believed complete and correct.
+ */
+
+public class InvocationTargetException extends Exception
+{
+ public Throwable getTargetException ()
+ {
+ return target;
+ }
+
+ protected InvocationTargetException ()
+ {
+ super ();
+ target = null;
+ }
+
+ public InvocationTargetException (Throwable exception)
+ {
+ super ();
+ target = exception;
+ }
+
+ public InvocationTargetException (Throwable exception, String msg)
+ {
+ super (msg);
+ target = exception;
+ }
+
+ // This is from JDK 1.2.
+ public void printStackTrace ()
+ {
+ if (target != null)
+ target.printStackTrace();
+ }
+
+ // This is from JDK 1.2.
+ public void printStackTrace (PrintStream s)
+ {
+ if (target != null)
+ target.printStackTrace(s);
+ }
+
+ // This is from JDK 1.2.
+ public void printStackTrace (PrintWriter wr)
+ {
+ if (target != null)
+ target.printStackTrace(wr);
+ }
+
+ // The wrapped exception. The name is specified by the
+ // serialization spec.
+ private Throwable target;
+}
diff --git a/libjava/java/lang/reflect/Member.java b/libjava/java/lang/reflect/Member.java
new file mode 100644
index 0000000..a54f05f
--- /dev/null
+++ b/libjava/java/lang/reflect/Member.java
@@ -0,0 +1,26 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang.reflect;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date September 27, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition.
+ * Status: Believed complete and correct.
+ */
+
+public interface Member
+{
+ public static final int PUBLIC = 0;
+ public static final int DECLARED = 1;
+ public Class getDeclaringClass ();
+ public int getModifiers ();
+ public String getName();
+}
diff --git a/libjava/java/lang/reflect/Method.java b/libjava/java/lang/reflect/Method.java
new file mode 100644
index 0000000..01e8308
--- /dev/null
+++ b/libjava/java/lang/reflect/Method.java
@@ -0,0 +1,123 @@
+// Method.java - Represent method of class or interface.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang.reflect;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date December 12, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Incomplete: needs a private constructor, and
+ * invoke() needs to be finished.
+ */
+
+public final class Method extends AccessibleObject implements Member
+{
+ public boolean equals (Object obj)
+ {
+ if (! (obj instanceof Method))
+ return false;
+ Method m = (Method) obj;
+ return declaringClass == m.declaringClass && offset == m.offset;
+ }
+
+ public Class getDeclaringClass ()
+ {
+ return declaringClass;
+ }
+
+ public Class[] getExceptionTypes ()
+ {
+ return (Class[]) exception_types.clone();
+ }
+
+ public native int getModifiers ();
+
+ public native String getName ();
+
+ private native void getType ();
+
+ public Class[] getParameterTypes ()
+ {
+ if (parameter_types == null)
+ getType();
+ return (Class[]) parameter_types.clone();
+ }
+
+ public Class getReturnType ()
+ {
+ if (return_type == null)
+ getType();
+ return return_type;
+ }
+
+ public int hashCode ()
+ {
+ // FIXME.
+ return name.hashCode() + declaringClass.getName().hashCode();
+ }
+
+ public native Object invoke (Object obj, Object[] args)
+ throws IllegalAccessException, IllegalArgumentException,
+ InvocationTargetException;
+
+ public String toString ()
+ {
+ StringBuffer b = new StringBuffer ();
+ b.append(Modifier.toString(getModifiers()));
+ b.append(" ");
+ b.append(return_type.toString());
+ b.append(" ");
+ b.append(declaringClass.toString());
+ b.append(".");
+ b.append(name);
+ b.append("(");
+ for (int i = 0; i < parameter_types.length; ++i)
+ {
+ b.append(parameter_types[i].toString());
+ if (i < parameter_types.length - 1)
+ b.append(",");
+ }
+ b.append(")");
+ if (exception_types.length > 0)
+ {
+ b.append(" throws ");
+ for (int i = 0; i < exception_types.length; ++i)
+ {
+ b.append(exception_types[i].toString());
+ if (i < exception_types.length - 1)
+ b.append(",");
+ }
+ }
+ return b.toString();
+ }
+
+ private Method ()
+ {
+ }
+
+ // Declaring class.
+ private Class declaringClass;
+
+ // Exception types.
+ private Class[] exception_types;
+ // Name cache. (Initially null.)
+ private String name;
+ // Parameter types.
+ private Class[] parameter_types;
+ // Return type.
+ private Class return_type;
+
+ // Offset in bytes from the start of declaringClass's methods array.
+ private int offset;
+}
diff --git a/libjava/java/lang/reflect/Modifier.java b/libjava/java/lang/reflect/Modifier.java
new file mode 100644
index 0000000..f9df49e
--- /dev/null
+++ b/libjava/java/lang/reflect/Modifier.java
@@ -0,0 +1,130 @@
+// Modifier.java - Process modifier values.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 1, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct to version 1.1
+ */
+
+package java.lang.reflect;
+
+public class Modifier
+{
+ public static final int PUBLIC = 0x001;
+ public static final int PRIVATE = 0x002;
+ public static final int PROTECTED = 0x004;
+ public static final int STATIC = 0x008;
+ public static final int FINAL = 0x010;
+ public static final int SYNCHRONIZED = 0x020;
+ public static final int VOLATILE = 0x040;
+ public static final int TRANSIENT = 0x080;
+ public static final int NATIVE = 0x100;
+ public static final int INTERFACE = 0x200;
+ public static final int ABSTRACT = 0x400;
+
+ public static boolean isAbstract (int mod)
+ {
+ return (mod & ABSTRACT) != 0;
+ }
+
+ public static boolean isFinal (int mod)
+ {
+ return (mod & FINAL) != 0;
+ }
+
+ public static boolean isInterface (int mod)
+ {
+ return (mod & INTERFACE) != 0;
+ }
+
+ public static boolean isNative (int mod)
+ {
+ return (mod & NATIVE) != 0;
+ }
+
+ public static boolean isPrivate (int mod)
+ {
+ return (mod & PRIVATE) != 0;
+ }
+
+ public static boolean isProtected (int mod)
+ {
+ return (mod & PROTECTED) != 0;
+ }
+
+ public static boolean isPublic (int mod)
+ {
+ return (mod & PUBLIC) != 0;
+ }
+
+ public static boolean isStatic (int mod)
+ {
+ return (mod & STATIC) != 0;
+ }
+
+ public static boolean isSynchronized (int mod)
+ {
+ return (mod & SYNCHRONIZED) != 0;
+ }
+
+ public static boolean isTransient (int mod)
+ {
+ return (mod & TRANSIENT) != 0;
+ }
+
+ public static boolean isVolatile (int mod)
+ {
+ return (mod & VOLATILE) != 0;
+ }
+
+ public static String toString (int mod)
+ {
+ StringBuffer r = new StringBuffer ();
+ toString(mod, r);
+ return r.toString();
+ }
+
+ static void toString (int mod, StringBuffer r)
+ {
+ if (isPublic (mod))
+ r.append("public ");
+ if (isProtected (mod))
+ r.append("protected ");
+ if (isPrivate (mod))
+ r.append("private ");
+ if (isAbstract (mod))
+ r.append("abstract ");
+ if (isStatic (mod))
+ r.append("static ");
+ if (isFinal (mod))
+ r.append("final ");
+ if (isTransient (mod))
+ r.append("transient ");
+ if (isVolatile (mod))
+ r.append("volatile ");
+ if (isNative (mod))
+ r.append("native ");
+ if (isSynchronized (mod))
+ r.append("synchronized ");
+ if (isInterface (mod))
+ r.append("interface ");
+
+ // Trim trailing space.
+ int l = r.length();
+ if (l > 0)
+ r.setLength(l - 1);
+ }
+}
diff --git a/libjava/java/lang/reflect/natArray.cc b/libjava/java/lang/reflect/natArray.cc
new file mode 100644
index 0000000..3da8b5c
--- /dev/null
+++ b/libjava/java/lang/reflect/natArray.cc
@@ -0,0 +1,339 @@
+// natField.cc - Implementation of java.lang.reflect.Field native methods.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include <jvm.h>
+#include <cni.h>
+#include <java/lang/reflect/Array.h>
+#include <java/lang/IllegalArgumentException.h>
+#include <java/lang/Byte.h>
+#include <java/lang/Short.h>
+#include <java/lang/Integer.h>
+#include <java/lang/Long.h>
+#include <java/lang/Float.h>
+#include <java/lang/Double.h>
+#include <java/lang/Boolean.h>
+#include <java/lang/Character.h>
+
+jobject
+java::lang::reflect::Array::newInstance (jclass componentType, jint length)
+{
+ if (componentType->isPrimitive())
+ return _Jv_NewPrimArray (componentType, length);
+ else
+ return JvNewObjectArray (length, componentType, NULL);
+
+}
+
+jobject
+java::lang::reflect::Array::newInstance (jclass componentType, jintArray dimensions)
+{
+ jint ndims = dimensions->length;
+ if (ndims == 0)
+ return componentType->newInstance ();
+ jint* dims = elements (dimensions);
+ if (ndims == 1)
+ return newInstance (componentType, dims[0]);
+ jclass arrayType = componentType;
+ for (int i = 0; i < ndims; i++)
+ arrayType = _Jv_FindArrayClass (arrayType);
+ return _Jv_NewMultiArray (arrayType, ndims, dims);
+
+}
+
+jint
+java::lang::reflect::Array::getLength (jobject array)
+{
+ jclass arrayType = array->getClass();
+ if (! arrayType->isArray ())
+ JvThrow (new java::lang::IllegalArgumentException());
+ return ((__JArray*) array)->length;
+}
+
+jclass
+java::lang::reflect::Array::getElementType (jobject array, jint index)
+{
+ jclass arrayType = array->getClass();
+ if (! arrayType->isArray ())
+ JvThrow (new java::lang::IllegalArgumentException());
+ jint length = ((__JArray*) array)->length;
+ if ((_Jv_uint) index >= (_Jv_uint) length)
+ _Jv_ThrowBadArrayIndex(index);
+ return arrayType->getComponentType ();
+}
+
+jboolean
+java::lang::reflect::Array::getBoolean (jobject array, jint index)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (boolean))
+ return elements ((jbooleanArray) array) [index];
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+jchar
+java::lang::reflect::Array::getChar (jobject array, jint index)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (char))
+ return elements ((jcharArray) array) [index];
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+jbyte
+java::lang::reflect::Array::getByte (jobject array, jint index)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (byte))
+ return elements ((jbyteArray) array) [index];
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+jshort
+java::lang::reflect::Array::getShort (jobject array, jint index)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (short))
+ return elements ((jshortArray) array) [index];
+ if (elementType == JvPrimClass (byte))
+ return elements ((jbyteArray) array) [index];
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+jint
+java::lang::reflect::Array::getInt (jobject array, jint index)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (int))
+ return elements ((jintArray) array) [index];
+ if (elementType == JvPrimClass (short))
+ return elements ((jshortArray) array) [index];
+ if (elementType == JvPrimClass (byte))
+ return elements ((jbyteArray) array) [index];
+ if (elementType == JvPrimClass (char))
+ return elements ((jcharArray) array) [index];
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+jlong
+java::lang::reflect::Array::getLong (jobject array, jint index)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (long))
+ return elements ((jlongArray) array) [index];
+ if (elementType == JvPrimClass (int))
+ return elements ((jintArray) array) [index];
+ if (elementType == JvPrimClass (short))
+ return elements ((jshortArray) array) [index];
+ if (elementType == JvPrimClass (byte))
+ return elements ((jbyteArray) array) [index];
+ if (elementType == JvPrimClass (char))
+ return elements ((jcharArray) array) [index];
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+jfloat
+java::lang::reflect::Array::getFloat (jobject array, jint index)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (float))
+ return elements ((jfloatArray) array) [index];
+ if (elementType == JvPrimClass (long))
+ return elements ((jlongArray) array) [index];
+ if (elementType == JvPrimClass (int))
+ return elements ((jintArray) array) [index];
+ if (elementType == JvPrimClass (short))
+ return elements ((jshortArray) array) [index];
+ if (elementType == JvPrimClass (byte))
+ return elements ((jbyteArray) array) [index];
+ if (elementType == JvPrimClass (char))
+ return elements ((jcharArray) array) [index];
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+jdouble
+java::lang::reflect::Array::getDouble (jobject array, jint index)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (double))
+ return elements ((jdoubleArray) array) [index];
+ if (elementType == JvPrimClass (float))
+ return elements ((jfloatArray) array) [index];
+ if (elementType == JvPrimClass (long))
+ return elements ((jlongArray) array) [index];
+ if (elementType == JvPrimClass (int))
+ return elements ((jintArray) array) [index];
+ if (elementType == JvPrimClass (short))
+ return elements ((jshortArray) array) [index];
+ if (elementType == JvPrimClass (byte))
+ return elements ((jbyteArray) array) [index];
+ if (elementType == JvPrimClass (char))
+ return elements ((jcharArray) array) [index];
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+jobject
+java::lang::reflect::Array::get (jobject array, jint index)
+{
+ jclass elementType = getElementType (array, index);
+ if (! elementType->isPrimitive ())
+ return elements ((jobjectArray) array) [index];
+ if (elementType == JvPrimClass (double))
+ return new java::lang::Double (elements ((jdoubleArray) array) [index]);
+ if (elementType == JvPrimClass (float))
+ return new java::lang::Float (elements ((jfloatArray) array) [index]);
+ if (elementType == JvPrimClass (long))
+ return new java::lang::Long (elements ((jlongArray) array) [index]);
+ if (elementType == JvPrimClass (int))
+ return new java::lang::Integer (elements ((jintArray) array) [index]);
+ if (elementType == JvPrimClass (short))
+ return new java::lang::Short (elements ((jshortArray) array) [index]);
+ if (elementType == JvPrimClass (byte))
+ return new java::lang::Byte (elements ((jbyteArray) array) [index]);
+ if (elementType == JvPrimClass (char))
+ return new java::lang::Character (elements ((jcharArray) array) [index]);
+ if (elementType == JvPrimClass (boolean))
+ if (elements ((jbooleanArray) array) [index])
+ return java::lang::Boolean::TRUE;
+ else
+ return java::lang::Boolean::FALSE;
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+void
+java::lang::reflect::Array::setChar (jobject array, jint index, jchar value)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (char))
+ elements ((jcharArray) array) [index] = value;
+ else if (elementType == JvPrimClass (int))
+ elements ((jintArray) array) [index] = value;
+ else if (elementType == JvPrimClass (long))
+ elements ((jlongArray) array) [index] = value;
+ else if (elementType == JvPrimClass (float))
+ elements ((jfloatArray) array) [index] = value;
+ else if (elementType == JvPrimClass (double))
+ elements ((jdoubleArray) array) [index] = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+void
+java::lang::reflect::Array::setByte (jobject array, jint index, jbyte value)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (byte))
+ elements ((jbyteArray) array) [index] = value;
+ else if (elementType == JvPrimClass (short))
+ elements ((jshortArray) array) [index] = value;
+ else if (elementType == JvPrimClass (int))
+ elements ((jintArray) array) [index] = value;
+ else if (elementType == JvPrimClass (long))
+ elements ((jlongArray) array) [index] = value;
+ else if (elementType == JvPrimClass (float))
+ elements ((jfloatArray) array) [index] = value;
+ else if (elementType == JvPrimClass (double))
+ elements ((jdoubleArray) array) [index] = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+void
+java::lang::reflect::Array::setShort (jobject array, jint index, jshort value)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (short))
+ elements ((jshortArray) array) [index] = value;
+ else if (elementType == JvPrimClass (int))
+ elements ((jintArray) array) [index] = value;
+ else if (elementType == JvPrimClass (long))
+ elements ((jlongArray) array) [index] = value;
+ else if (elementType == JvPrimClass (float))
+ elements ((jfloatArray) array) [index] = value;
+ else if (elementType == JvPrimClass (double))
+ elements ((jdoubleArray) array) [index] = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+void
+java::lang::reflect::Array::setInt (jobject array, jint index, jint value)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (int))
+ elements ((jintArray) array) [index] = value;
+ else if (elementType == JvPrimClass (long))
+ elements ((jlongArray) array) [index] = value;
+ else if (elementType == JvPrimClass (float))
+ elements ((jfloatArray) array) [index] = value;
+ else if (elementType == JvPrimClass (double))
+ elements ((jdoubleArray) array) [index] = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+void
+java::lang::reflect::Array::setLong (jobject array, jint index, jlong value)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (long))
+ elements ((jlongArray) array) [index] = value;
+ else if (elementType == JvPrimClass (float))
+ elements ((jfloatArray) array) [index] = value;
+ else if (elementType == JvPrimClass (double))
+ elements ((jdoubleArray) array) [index] = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+void
+java::lang::reflect::Array::setFloat (jobject array, jint index, jfloat value)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (float))
+ elements ((jfloatArray) array) [index] = value;
+ else if (elementType == JvPrimClass (double))
+ elements ((jdoubleArray) array) [index] = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+void
+java::lang::reflect::Array::setDouble (jobject array, jint index, jdouble value)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (double))
+ elements ((jdoubleArray) array) [index] = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+void
+java::lang::reflect::Array::setBoolean (jobject array,
+ jint index, jboolean value)
+{
+ jclass elementType = getElementType (array, index);
+ if (elementType == JvPrimClass (boolean))
+ elements ((jbooleanArray) array) [index] = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+void
+java::lang::reflect::Array::set (jobject array, jint index,
+ jobject value, jclass elType)
+{
+ if (! _Jv_IsInstanceOf (value, elType))
+ JvThrow (new java::lang::IllegalArgumentException ());
+ elements ((jobjectArray) array) [index] = value;
+}
diff --git a/libjava/java/lang/reflect/natField.cc b/libjava/java/lang/reflect/natField.cc
new file mode 100644
index 0000000..2449b42
--- /dev/null
+++ b/libjava/java/lang/reflect/natField.cc
@@ -0,0 +1,435 @@
+// natField.cc - Implementation of java.lang.reflect.Field native methods.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <stdlib.h>
+
+#include <cni.h>
+#include <jvm.h>
+#include <java/lang/reflect/Field.h>
+#include <java/lang/reflect/Modifier.h>
+#include <java/lang/IllegalArgumentException.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/Byte.h>
+#include <java/lang/Short.h>
+#include <java/lang/Integer.h>
+#include <java/lang/Long.h>
+#include <java/lang/Float.h>
+#include <java/lang/Double.h>
+#include <java/lang/Boolean.h>
+#include <java/lang/Character.h>
+#include <java-field.h>
+
+jint
+java::lang::reflect::Field::getModifiers ()
+{
+ return _Jv_FromReflectedField (this)->getModifiers ();
+}
+
+jstring
+java::lang::reflect::Field::getName ()
+{
+ if (name == NULL)
+ name = _Jv_NewStringUtf8Const (_Jv_FromReflectedField (this)->name);
+ return name;
+}
+
+jclass
+java::lang::reflect::Field::getType ()
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ if (! fld->isResolved())
+ {
+ JvSynchronize sync (declaringClass);
+ if (! fld->isResolved())
+ {
+ fld->type
+ = _Jv_FindClassFromSignature(((Utf8Const*) (fld->type))->data,
+ declaringClass->getClassLoader());
+ fld->flags &= ~_Jv_FIELD_UNRESOLVED_FLAG;
+ }
+ }
+ return fld->type;
+}
+
+static void
+_Jv_CheckFieldAccessibility (jfieldID /*fld*/, jclass /*caller*/)
+{
+#if 0
+ if (caller == NULL)
+ caller = getCaller();
+#endif
+#if 0
+ _Jv_ushort flags = fld->getModifiers();
+ check accesss;
+#endif
+}
+
+static void*
+getAddr (java::lang::reflect::Field* field, jclass caller, jobject obj)
+{
+ jfieldID fld = _Jv_FromReflectedField (field);
+ _Jv_ushort flags = fld->getModifiers();
+ if (! (flags & java::lang::reflect::Modifier::PUBLIC)
+ && ! field->isAccessible ())
+ _Jv_CheckFieldAccessibility (fld, caller);
+ if (flags & java::lang::reflect::Modifier::STATIC)
+ {
+ jclass fldClass = field->getDeclaringClass ();
+ JvInitClass(fldClass);
+ return fld->u.addr;
+ }
+ else
+ {
+ if (obj == NULL)
+ _Jv_Throw (new java::lang::NullPointerException ());
+ if (! _Jv_IsInstanceOf (obj, field->getDeclaringClass()))
+ JvThrow (new java::lang::IllegalArgumentException ());
+ return (void*) ((char*) obj + fld->getOffset ());
+ }
+}
+
+static jboolean
+getBoolean (jclass cls, void* addr)
+{
+ if (cls == JvPrimClass (boolean))
+ return * (jboolean *) addr;
+ _Jv_Throw (new java::lang::IllegalArgumentException());
+}
+
+static jchar
+getChar (jclass cls, void* addr)
+{
+ if (cls == JvPrimClass (char))
+ return * (jchar *) addr;
+ _Jv_Throw (new java::lang::IllegalArgumentException());
+}
+
+static jbyte
+getByte (jclass cls, void* addr)
+{
+ if (cls == JvPrimClass (byte))
+ return * (jbyte *) addr;
+ _Jv_Throw (new java::lang::IllegalArgumentException());
+}
+
+static jshort
+getShort (jclass cls, void* addr)
+{
+ if (cls == JvPrimClass (short))
+ return * (jshort *) addr;
+ if (cls == JvPrimClass (byte))
+ return * (jbyte *) addr;
+ _Jv_Throw (new java::lang::IllegalArgumentException());
+}
+
+static jint
+getInt (jclass cls, void* addr)
+{
+ if (cls == JvPrimClass (int))
+ return * (jint *) addr;
+ if (cls == JvPrimClass (short))
+ return * (jshort *) addr;
+ if (cls == JvPrimClass (char))
+ return * (jchar *) addr;
+ if (cls == JvPrimClass (byte))
+ return * (jbyte *) addr;
+ _Jv_Throw (new java::lang::IllegalArgumentException());
+}
+
+static jlong
+getLong (jclass cls, void* addr)
+{
+ if (cls == JvPrimClass (long))
+ return * (jlong *) addr;
+ return ::getInt(cls, addr);
+}
+
+static jfloat
+getFloat (jclass cls, void* addr)
+{
+ if (cls == JvPrimClass (float))
+ return * (jfloat *) addr;
+ if (cls == JvPrimClass (long))
+ return * (jlong *) addr;
+ return ::getInt(cls, addr);
+}
+
+static jdouble
+getDouble (jclass cls, void* addr)
+{
+ if (cls == JvPrimClass (double))
+ return * (jdouble *) addr;
+ if (cls == JvPrimClass (float))
+ return * (jfloat *) addr;
+ if (cls == JvPrimClass (long))
+ return * (jlong *) addr;
+ return ::getInt(cls, addr);
+}
+
+jboolean
+java::lang::reflect::Field::getBoolean (jclass caller, jobject obj)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ return ::getBoolean (fld->type, getAddr (this, caller, obj));
+}
+
+jchar
+java::lang::reflect::Field::getChar (jclass caller, jobject obj)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ return ::getChar (fld->type, getAddr (this, caller, obj));
+}
+
+jbyte
+java::lang::reflect::Field::getByte (jclass caller, jobject obj)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ return ::getByte (fld->type, getAddr (this, caller, obj));
+}
+
+jshort
+java::lang::reflect::Field::getShort (jclass caller, jobject obj)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ return ::getShort (fld->type, getAddr (this, caller, obj));
+}
+
+jint
+java::lang::reflect::Field::getInt (jclass caller, jobject obj)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ return ::getInt (fld->type, getAddr (this, caller, obj));
+}
+
+jlong
+java::lang::reflect::Field::getLong (jclass caller, jobject obj)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ return ::getLong (fld->type, getAddr (this, caller, obj));
+}
+
+jfloat
+java::lang::reflect::Field::getFloat (jclass caller, jobject obj)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ return ::getFloat (fld->type, getAddr (this, caller, obj));
+}
+
+jdouble
+java::lang::reflect::Field::getDouble (jclass caller, jobject obj)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ return ::getDouble (fld->type, getAddr (this, caller, obj));
+}
+
+jobject
+java::lang::reflect::Field::get (jclass caller, jobject obj)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ void* addr = getAddr (this, caller, obj);
+ if (! fld->type->isPrimitive ())
+ return * (jobject*) addr;
+ if (fld->type == JvPrimClass (double))
+ return new java::lang::Double (* (jdouble*) addr);
+ if (fld->type == JvPrimClass (float))
+ return new java::lang::Float (* (jfloat*) addr);
+ if (fld->type == JvPrimClass (long))
+ return new java::lang::Long (* (jlong*) addr);
+ if (fld->type == JvPrimClass (int))
+ return new java::lang::Integer (* (jint*) addr);
+ if (fld->type == JvPrimClass (short))
+ return new java::lang::Short (* (jshort*) addr);
+ if (fld->type == JvPrimClass (byte))
+ return new java::lang::Byte (* (jbyte*) addr);
+ if (fld->type == JvPrimClass (char))
+ return new java::lang::Character (* (jchar*) addr);
+ if (fld->type == JvPrimClass (boolean))
+ if (* (jboolean*) addr)
+ return java::lang::Boolean::TRUE;
+ else
+ return java::lang::Boolean::FALSE;
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+static void
+setBoolean (jclass type, void *addr, jboolean value)
+{
+ if (type == JvPrimClass (boolean))
+ * (jboolean *) addr = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+static void
+setChar (jclass type, void *addr, jchar value)
+{
+ if (type == JvPrimClass (char))
+ * (jchar *) addr = value;
+ else if (type == JvPrimClass (int))
+ * (jint *) addr = value;
+ else if (type == JvPrimClass (long))
+ * (jlong *) addr = value;
+ else if (type == JvPrimClass (float))
+ * (jfloat *) addr = value;
+ else if (type == JvPrimClass (double))
+ * (jdouble *) addr = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+static void
+setByte (jclass type, void *addr, jbyte value)
+{
+ if (type == JvPrimClass (byte))
+ * (jbyte *) addr = value;
+ else if (type == JvPrimClass (short))
+ * (jshort *) addr = value;
+ else if (type == JvPrimClass (int))
+ * (jint *) addr = value;
+ else if (type == JvPrimClass (long))
+ * (jlong *) addr = value;
+ else if (type == JvPrimClass (float))
+ * (jfloat *) addr = value;
+ else if (type == JvPrimClass (double))
+ * (jdouble *) addr = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+static void
+setShort (jclass type, void *addr, jshort value)
+{
+ if (type == JvPrimClass (short))
+ * (jshort *) addr = value;
+ else if (type == JvPrimClass (int))
+ * (jint *) addr = value;
+ else if (type == JvPrimClass (long))
+ * (jlong *) addr = value;
+ else if (type == JvPrimClass (float))
+ * (jfloat *) addr = value;
+ else if (type == JvPrimClass (double))
+ * (jdouble *) addr = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+static void
+setInt (jclass type, void *addr, jint value)
+{
+ if (type == JvPrimClass (int))
+ * (jint *) addr = value;
+ else if (type == JvPrimClass (long))
+ * (jlong *) addr = value;
+ else if (type == JvPrimClass (float))
+ * (jfloat *) addr = value;
+ else if (type == JvPrimClass (double))
+ * (jdouble *) addr = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+static void
+setLong (jclass type, void *addr, jlong value)
+{
+ if (type == JvPrimClass (long))
+ * (jlong *) addr = value;
+ else if (type == JvPrimClass (float))
+ * (jfloat *) addr = value;
+ else if (type == JvPrimClass (double))
+ * (jdouble *) addr = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+static void
+setFloat (jclass type, void *addr, jfloat value)
+{
+ if (type == JvPrimClass (float))
+ * (jfloat *) addr = value;
+ else if (type == JvPrimClass (double))
+ * (jdouble *) addr = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+static void
+setDouble (jclass type, void *addr, jdouble value)
+{
+ if (type == JvPrimClass (double))
+ * (jdouble *) addr = value;
+ else
+ JvThrow (new java::lang::IllegalArgumentException());
+}
+
+void
+java::lang::reflect::Field::setBoolean (jclass caller, jobject obj, jboolean b)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ ::setBoolean (fld->type, getAddr (this, caller, obj), b);
+}
+
+void
+java::lang::reflect::Field::setChar (jclass caller, jobject obj, jchar c)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ ::setChar (fld->type, getAddr (this, caller, obj), c);
+}
+
+void
+java::lang::reflect::Field::setByte (jclass caller, jobject obj, jbyte b)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ ::setByte (fld->type, getAddr (this, caller, obj), b);
+}
+
+void
+java::lang::reflect::Field::setShort (jclass caller, jobject obj, jshort s)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ ::setShort (fld->type, getAddr (this, caller, obj), s);
+}
+
+void
+java::lang::reflect::Field::setInt (jclass caller, jobject obj, jint i)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ ::setInt (fld->type, getAddr (this, caller, obj), i);
+}
+
+void
+java::lang::reflect::Field::setLong (jclass caller, jobject obj, jlong l)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ ::setLong (fld->type, getAddr (this, caller, obj), l);
+}
+void
+java::lang::reflect::Field::setFloat (jclass caller, jobject obj, jfloat f)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ ::setFloat (fld->type, getAddr (this, caller, obj), f);
+}
+
+void
+java::lang::reflect::Field::setDouble (jclass caller, jobject obj, jdouble d)
+{
+ jfieldID fld = _Jv_FromReflectedField (this);
+ ::setDouble (fld->type, getAddr (this, caller, obj), d);
+}
+
+void
+java::lang::reflect::Field::set (jclass caller, jobject object, jobject value, jclass type)
+{
+ if (! _Jv_IsInstanceOf (value, type))
+ JvThrow (new java::lang::IllegalArgumentException ());
+ void* addr = getAddr (this, caller, object);
+ * (jobject*) addr = value;
+}
diff --git a/libjava/java/lang/reflect/natMethod.cc b/libjava/java/lang/reflect/natMethod.cc
new file mode 100644
index 0000000..720bbc3
--- /dev/null
+++ b/libjava/java/lang/reflect/natMethod.cc
@@ -0,0 +1,386 @@
+// natMethod.cc - Native code for Method class.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+// This is about 90% done. Search for FIXME to see what remains.
+
+#include <config.h>
+
+#include <cni.h>
+#include <jvm.h>
+#include <java-array.h>
+
+#include <java/lang/reflect/Method.h>
+#include <java/lang/reflect/InvocationTargetException.h>
+#include <java/lang/reflect/Modifier.h>
+
+#include <java/lang/Void.h>
+#include <java/lang/Byte.h>
+#include <java/lang/Boolean.h>
+#include <java/lang/Character.h>
+#include <java/lang/Short.h>
+#include <java/lang/Integer.h>
+#include <java/lang/Long.h>
+#include <java/lang/Float.h>
+#include <java/lang/Double.h>
+#include <java/lang/IllegalArgumentException.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/Class.h>
+#include <java-method.h>
+
+#define ClassClass _CL_Q34java4lang5Class
+extern java::lang::Class ClassClass;
+
+#include <stdlib.h>
+
+#if 0
+
+#include <ffi.h>
+
+#define VoidClass _CL_Q34java4lang4Void
+extern java::lang::Class VoidClass;
+#define ByteClass _CL_Q34java4lang4Byte
+extern java::lang::Class ByteClass;
+#define ShortClass _CL_Q34java4lang5Short
+extern java::lang::Class ShortClass;
+#define CharacterClass _CL_Q34java4lang9Character
+extern java::lang::Class CharacterClass;
+#define IntegerClass _CL_Q34java4lang7Integer
+extern java::lang::Class IntegerClass;
+#define LongClass _CL_Q34java4lang4Long
+extern java::lang::Class LongClass;
+#define FloatClass _CL_Q34java4lang5Float
+extern java::lang::Class FloatClass;
+#define DoubleClass _CL_Q34java4lang6Double
+extern java::lang::Class DoubleClass;
+
+struct cpair
+{
+ jclass prim;
+ jclass wrap;
+};
+
+// This is used to determine when a primitive widening conversion is
+// allowed.
+static cpair primitives[] =
+{
+#define VOID 0
+ { JvPrimClass (void), &VoidClass },
+ { JvPrimClass (byte), &ByteClass },
+#define SHORT 2
+ { JvPrimClass (short), &ShortClass },
+#define CHAR 3
+ { JvPrimClass (char), &CharacterClass },
+ { JvPrimClass (int), &IntegerClass },
+ { JvPrimClass (long), &LongClass },
+ { JvPrimClass (float), &FloatClass },
+ { JvPrimClass (double), &DoubleClass },
+ { NULL, NULL }
+};
+
+static jboolean
+can_widen (jclass from, jclass to)
+{
+ int fromx = -1, tox = -1;
+
+ for (int i = 0; primitives[i].prim; ++i)
+ {
+ if (primitives[i].wrap == from)
+ fromx = i;
+ if (primitives[i].prim == to)
+ tox = i;
+ }
+
+ // Can't handle a miss.
+ if (fromx == -1 || tox == -1)
+ return false;
+ // Can't handle Void arguments.
+ if (fromx == VOID || tox == VOID)
+ return false;
+ // Special-case short/char conversions.
+ if ((fromx == SHORT && tox == CHAR) || (fromx == CHAR && tox == SHORT))
+ return false;
+
+ return fromx <= tox;
+}
+
+static ffi_type *
+get_ffi_type (jclass klass)
+{
+ // A special case.
+ if (klass == NULL)
+ return &ffi_type_pointer;
+
+ ffi_type *r;
+ if (klass == JvPrimClass (byte))
+ r = &ffi_type_sint8;
+ else if (klass == JvPrimClass (short))
+ r = &ffi_type_sint16;
+ else if (klass == JvPrimClass (int))
+ r = &ffi_type_sint32;
+ else if (klass == JvPrimClass (long))
+ r = &ffi_type_sint64;
+ else if (klass == JvPrimClass (float))
+ r = &ffi_type_float;
+ else if (klass == JvPrimClass (double))
+ r = &ffi_type_double;
+ else if (klass == JvPrimClass (boolean))
+ {
+ // FIXME.
+ r = &ffi_type_sint8;
+ }
+ else if (klass == JvPrimClass (char))
+ r = &ffi_type_uint16;
+ else
+ {
+ JvAssert (! klass->isPrimitive());
+ r = &ffi_type_pointer;
+ }
+
+ return r;
+}
+
+// FIXME: the body of this method should be a separate function so
+// that Constructor can use it too.
+jobject
+java::lang::reflect::Method::invoke (jobject obj,
+ jobjectArray args)
+{
+ // FIXME: we need to be a friend of Class here.
+ _Jv_Method *meth = decl_class->methods[index];
+ if (! java::lang::reflect::Modifier::isStatic(modifiers))
+ {
+ jclass k = obj ? obj->getClass() : NULL;
+ if (! obj || ! decl_class->isAssignableFrom(k))
+ JvThrow (new java::lang::NullPointerException);
+ // FIXME: access checks.
+ meth = _Jv_LookupMethod (k, meth->name, meth->signature);
+ }
+
+ // FIXME: access checks.
+
+ if (parameter_types->length != args->length)
+ JvThrow (new java::lang::IllegalArgumentException);
+
+ ffi_type *rtype = get_ffi_type (return_type);
+ ffi_type **argtypes = (ffi_type **) alloca (parameter_types->length
+ * sizeof (ffi_type *));
+
+ jobject *paramelts = elements (parameter_types);
+ jobject *argelts = elements (args);
+
+ int size = 0;
+ for (int i = 0; i < parameter_types->length; ++i)
+ {
+ jclass k = argelts[i] ? argelts[i]->getClass() : NULL;
+ argtypes[i] = get_ffi_type (k);
+ if (paramelts[i]->isPrimitive())
+ {
+ if (! argelts[i]
+ || ! k->isPrimitive ()
+ || ! can_widen (k, paramelts[i]))
+ JvThrow (new java::lang::IllegalArgumentException);
+ size += paramelts[i]->size();
+ }
+ else
+ {
+ if (argelts[i] && ! paramelts[i]->isAssignableFrom (k))
+ JvThrow (new java::lang::IllegalArgumentException);
+ size += sizeof (jobject);
+ }
+ }
+
+ ffi_cif cif;
+ if (ffi_prep_cif (&cif, FFI_DEFAULT_ABI, parameter_types->length,
+ rtype, argtypes) != FFI_OK)
+ {
+ // FIXME: throw some kind of VirtualMachineError here.
+ }
+
+ char *values = (char *) alloca (size);
+ char *p = values;
+
+#define COPY(Where, What, Type) \
+ do { \
+ Type val = (What); \
+ memcpy ((Where), &val, sizeof (Type)); \
+ Where += sizeof (Type); \
+ } while (0)
+
+ for (int i = 0; i < parameter_types->length; ++i)
+ {
+ java::lang::Number *num = (java::lang::Number *) paramelts[i];
+ if (paramelts[i] == JvPrimClass (byte))
+ COPY (p, num->byteValue(), jbyte);
+ else if (paramelts[i] == JvPrimClass (short))
+ COPY (p, num->shortValue(), jshort);
+ else if (paramelts[i] == JvPrimClass (int))
+ COPY (p, num->intValue(), jint);
+ else if (paramelts[i] == JvPrimClass (long))
+ COPY (p, num->longValue(), jlong);
+ else if (paramelts[i] == JvPrimClass (float))
+ COPY (p, num->floatValue(), jfloat);
+ else if (paramelts[i] == JvPrimClass (double))
+ COPY (p, num->doubleValue(), jdouble);
+ else if (paramelts[i] == JvPrimClass (boolean))
+ COPY (p, ((java::lang::Boolean *) argelts[i])->booleanValue(), jboolean);
+ else if (paramelts[i] == JvPrimClass (char))
+ COPY (p, ((java::lang::Character *) argelts[i])->charValue(), jchar);
+ else
+ {
+ JvAssert (! paramelts[i]->isPrimitive());
+ COPY (p, argelts[i], jobject);
+ }
+ }
+
+ // FIXME: exception handling.
+ java::lang::Throwable *ex;
+ jdouble ret_value; // Largest possible value. Hopefully
+ // it is aligned!
+ ex = TRAMP_CALL (ffi_call (&cif, meth->ncode, &ret_value, (void *) values));
+
+ if (ex)
+ JvThrow (new InvocationTargetException (ex));
+
+ jobject r;
+#define VAL(Wrapper, Type) (new Wrapper (* (Type *) &ret_value))
+ if (return_type == JvPrimClass (byte))
+ r = VAL (java::lang::Byte, jbyte);
+ else if (return_type == JvPrimClass (short))
+ r = VAL (java::lang::Short, jshort);
+ else if (return_type == JvPrimClass (int))
+ r = VAL (java::lang::Integer, jint);
+ else if (return_type == JvPrimClass (long))
+ r = VAL (java::lang::Long, jlong);
+ else if (return_type == JvPrimClass (float))
+ r = VAL (java::lang::Float, jfloat);
+ else if (return_type == JvPrimClass (double))
+ r = VAL (java::lang::Double, jdouble);
+ else if (return_type == JvPrimClass (boolean))
+ r = VAL (java::lang::Boolean, jboolean);
+ else if (return_type == JvPrimClass (char))
+ r = VAL (java::lang::Character, jchar);
+ else if (return_type == JvPrimClass (void))
+ r = NULL;
+ else
+ {
+ JvAssert (! return_type->isPrimitive());
+ r = VAL (java::lang::Object, jobject);
+ }
+
+ return r;
+}
+
+#else /* 0 */
+
+jobject
+java::lang::reflect::Method::invoke (jobject, jobjectArray)
+{
+ JvFail ("not enabled yet");
+}
+
+#endif /* 0 */
+
+jint
+java::lang::reflect::Method::getModifiers ()
+{
+ return _Jv_FromReflectedMethod (this)->accflags;
+}
+
+jstring
+java::lang::reflect::Method::getName ()
+{
+ if (name == NULL)
+ name = _Jv_NewStringUtf8Const (_Jv_FromReflectedMethod (this)->name);
+ return name;
+}
+
+/* Internal method to set return_type and parameter_types fields. */
+
+void
+java::lang::reflect::Method::getType ()
+{
+ _Jv_Utf8Const* sig = _Jv_FromReflectedMethod (this)->signature;
+ java::lang::ClassLoader *loader = declaringClass->getClassLoader();
+ char *ptr = sig->data;
+ int numArgs = 0;
+ /* First just count the number of parameters. */
+ for (; ; ptr++)
+ {
+ switch (*ptr)
+ {
+ case 0:
+ case ')':
+ case 'V':
+ break;
+ case '[':
+ case '(':
+ continue;
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'F':
+ case 'S':
+ case 'I':
+ case 'J':
+ case 'Z':
+ numArgs++;
+ continue;
+ case 'L':
+ numArgs++;
+ do
+ ptr++;
+ while (*ptr != ';' && ptr[1] != '\0');
+ continue;
+ }
+ break;
+ }
+
+ JArray<jclass> *args = (JArray<jclass> *)
+ JvNewObjectArray (numArgs, &ClassClass, NULL);
+ jclass* argPtr = elements (args);
+ for (ptr = sig->data; *ptr != '\0'; ptr++)
+ {
+ int num_arrays = 0;
+ jclass type;
+ for (; *ptr == '['; ptr++)
+ num_arrays++;
+ switch (*ptr)
+ {
+ default:
+ return;
+ case ')':
+ argPtr = &return_type;
+ continue;
+ case '(':
+ continue;
+ case 'V':
+ case 'B':
+ case 'C':
+ case 'D':
+ case 'F':
+ case 'S':
+ case 'I':
+ case 'J':
+ case 'Z':
+ type = _Jv_FindClassFromSignature(ptr, loader);
+ break;
+ case 'L':
+ type = _Jv_FindClassFromSignature(ptr, loader);
+ do
+ ptr++;
+ while (*ptr != ';' && ptr[1] != '\0');
+ break;
+ }
+ while (--num_arrays >= 0)
+ type = _Jv_FindArrayClass (type);
+ *argPtr++ = type;
+ }
+ parameter_types = args;
+}
diff --git a/libjava/java/lang/s_atan.c b/libjava/java/lang/s_atan.c
new file mode 100644
index 0000000..b1410ec
--- /dev/null
+++ b/libjava/java/lang/s_atan.c
@@ -0,0 +1,181 @@
+
+/* @(#)s_atan.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/*
+FUNCTION
+ <<atan>>, <<atanf>>---arc tangent
+
+INDEX
+ atan
+INDEX
+ atanf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double atan(double <[x]>);
+ float atanf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double atan(<[x]>);
+ double <[x]>;
+
+ float atanf(<[x]>);
+ float <[x]>;
+
+DESCRIPTION
+
+<<atan>> computes the inverse tangent (arc tangent) of the input value.
+
+<<atanf>> is identical to <<atan>>, save that it operates on <<floats>>.
+
+RETURNS
+@ifinfo
+<<atan>> returns a value in radians, in the range of -pi/2 to pi/2.
+@end ifinfo
+@tex
+<<atan>> returns a value in radians, in the range of $-\pi/2$ to $\pi/2$.
+@end tex
+
+PORTABILITY
+<<atan>> is ANSI C. <<atanf>> is an extension.
+
+*/
+
+/* atan(x)
+ * Method
+ * 1. Reduce x to positive by atan(x) = -atan(-x).
+ * 2. According to the integer k=4t+0.25 chopped, t=x, the argument
+ * is further reduced to one of the following intervals and the
+ * arctangent of t is evaluated by the corresponding formula:
+ *
+ * [0,7/16] atan(x) = t-t^3*(a1+t^2*(a2+...(a10+t^2*a11)...)
+ * [7/16,11/16] atan(x) = atan(1/2) + atan( (t-0.5)/(1+t/2) )
+ * [11/16.19/16] atan(x) = atan( 1 ) + atan( (t-1)/(1+t) )
+ * [19/16,39/16] atan(x) = atan(3/2) + atan( (t-1.5)/(1+1.5t) )
+ * [39/16,INF] atan(x) = atan(INF) + atan( -1/t )
+ *
+ * Constants:
+ * The hexadecimal values are the intended ones for the following
+ * constants. The decimal values may be used, provided that the
+ * compiler will convert from decimal to binary accurately enough
+ * to produce the hexadecimal values shown.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double atanhi[] = {
+#else
+static double atanhi[] = {
+#endif
+ 4.63647609000806093515e-01, /* atan(0.5)hi 0x3FDDAC67, 0x0561BB4F */
+ 7.85398163397448278999e-01, /* atan(1.0)hi 0x3FE921FB, 0x54442D18 */
+ 9.82793723247329054082e-01, /* atan(1.5)hi 0x3FEF730B, 0xD281F69B */
+ 1.57079632679489655800e+00, /* atan(inf)hi 0x3FF921FB, 0x54442D18 */
+};
+
+#ifdef __STDC__
+static const double atanlo[] = {
+#else
+static double atanlo[] = {
+#endif
+ 2.26987774529616870924e-17, /* atan(0.5)lo 0x3C7A2B7F, 0x222F65E2 */
+ 3.06161699786838301793e-17, /* atan(1.0)lo 0x3C81A626, 0x33145C07 */
+ 1.39033110312309984516e-17, /* atan(1.5)lo 0x3C700788, 0x7AF0CBBD */
+ 6.12323399573676603587e-17, /* atan(inf)lo 0x3C91A626, 0x33145C07 */
+};
+
+#ifdef __STDC__
+static const double aT[] = {
+#else
+static double aT[] = {
+#endif
+ 3.33333333333329318027e-01, /* 0x3FD55555, 0x5555550D */
+ -1.99999999998764832476e-01, /* 0xBFC99999, 0x9998EBC4 */
+ 1.42857142725034663711e-01, /* 0x3FC24924, 0x920083FF */
+ -1.11111104054623557880e-01, /* 0xBFBC71C6, 0xFE231671 */
+ 9.09088713343650656196e-02, /* 0x3FB745CD, 0xC54C206E */
+ -7.69187620504482999495e-02, /* 0xBFB3B0F2, 0xAF749A6D */
+ 6.66107313738753120669e-02, /* 0x3FB10D66, 0xA0D03D51 */
+ -5.83357013379057348645e-02, /* 0xBFADDE2D, 0x52DEFD9A */
+ 4.97687799461593236017e-02, /* 0x3FA97B4B, 0x24760DEB */
+ -3.65315727442169155270e-02, /* 0xBFA2B444, 0x2C6A6C2F */
+ 1.62858201153657823623e-02, /* 0x3F90AD3A, 0xE322DA11 */
+};
+
+#ifdef __STDC__
+ static const double
+#else
+ static double
+#endif
+one = 1.0,
+huge = 1.0e300;
+
+#ifdef __STDC__
+ double atan(double x)
+#else
+ double atan(x)
+ double x;
+#endif
+{
+ double w,s1,s2,z;
+ __int32_t ix,hx,id;
+
+ GET_HIGH_WORD(hx,x);
+ ix = hx&0x7fffffff;
+ if(ix>=0x44100000) { /* if |x| >= 2^66 */
+ __uint32_t low;
+ GET_LOW_WORD(low,x);
+ if(ix>0x7ff00000||
+ (ix==0x7ff00000&&(low!=0)))
+ return x+x; /* NaN */
+ if(hx>0) return atanhi[3]+atanlo[3];
+ else return -atanhi[3]-atanlo[3];
+ } if (ix < 0x3fdc0000) { /* |x| < 0.4375 */
+ if (ix < 0x3e200000) { /* |x| < 2^-29 */
+ if(huge+x>one) return x; /* raise inexact */
+ }
+ id = -1;
+ } else {
+ x = fabs(x);
+ if (ix < 0x3ff30000) { /* |x| < 1.1875 */
+ if (ix < 0x3fe60000) { /* 7/16 <=|x|<11/16 */
+ id = 0; x = (2.0*x-one)/(2.0+x);
+ } else { /* 11/16<=|x|< 19/16 */
+ id = 1; x = (x-one)/(x+one);
+ }
+ } else {
+ if (ix < 0x40038000) { /* |x| < 2.4375 */
+ id = 2; x = (x-1.5)/(one+1.5*x);
+ } else { /* 2.4375 <= |x| < 2^66 */
+ id = 3; x = -1.0/x;
+ }
+ }}
+ /* end of argument reduction */
+ z = x*x;
+ w = z*z;
+ /* break sum from i=0 to 10 aT[i]z**(i+1) into odd and even poly */
+ s1 = z*(aT[0]+w*(aT[2]+w*(aT[4]+w*(aT[6]+w*(aT[8]+w*aT[10])))));
+ s2 = w*(aT[1]+w*(aT[3]+w*(aT[5]+w*(aT[7]+w*aT[9]))));
+ if (id<0) return x - x*(s1+s2);
+ else {
+ z = atanhi[id] - ((x*(s1+s2) - atanlo[id]) - x);
+ return (hx<0)? -z:z;
+ }
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_ceil.c b/libjava/java/lang/s_ceil.c
new file mode 100644
index 0000000..1476ef8
--- /dev/null
+++ b/libjava/java/lang/s_ceil.c
@@ -0,0 +1,80 @@
+
+/* @(#)s_ceil.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * ceil(x)
+ * Return x rounded toward -inf to integral value
+ * Method:
+ * Bit twiddling.
+ * Exception:
+ * Inexact flag raised if x not equal to ceil(x).
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double huge = 1.0e300;
+#else
+static double huge = 1.0e300;
+#endif
+
+#ifdef __STDC__
+ double ceil(double x)
+#else
+ double ceil(x)
+ double x;
+#endif
+{
+ __int32_t i0,i1,j0;
+ __uint32_t i,j;
+ EXTRACT_WORDS(i0,i1,x);
+ j0 = ((i0>>20)&0x7ff)-0x3ff;
+ if(j0<20) {
+ if(j0<0) { /* raise inexact if x != 0 */
+ if(huge+x>0.0) {/* return 0*sign(x) if |x|<1 */
+ if(i0<0) {i0=0x80000000;i1=0;}
+ else if((i0|i1)!=0) { i0=0x3ff00000;i1=0;}
+ }
+ } else {
+ i = (0x000fffff)>>j0;
+ if(((i0&i)|i1)==0) return x; /* x is integral */
+ if(huge+x>0.0) { /* raise inexact flag */
+ if(i0>0) i0 += (0x00100000)>>j0;
+ i0 &= (~i); i1=0;
+ }
+ }
+ } else if (j0>51) {
+ if(j0==0x400) return x+x; /* inf or NaN */
+ else return x; /* x is integral */
+ } else {
+ i = ((__uint32_t)(0xffffffff))>>(j0-20);
+ if((i1&i)==0) return x; /* x is integral */
+ if(huge+x>0.0) { /* raise inexact flag */
+ if(i0>0) {
+ if(j0==20) i0+=1;
+ else {
+ j = i1 + (1<<(52-j0));
+ if(j<(__uint32_t)i1) i0+=1; /* got a carry */
+ i1 = j;
+ }
+ }
+ i1 &= (~i);
+ }
+ }
+ INSERT_WORDS(x,i0,i1);
+ return x;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_copysign.c b/libjava/java/lang/s_copysign.c
new file mode 100644
index 0000000..bfc546d
--- /dev/null
+++ b/libjava/java/lang/s_copysign.c
@@ -0,0 +1,82 @@
+
+/* @(#)s_copysign.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+<<copysign>>, <<copysignf>>---sign of <[y]>, magnitude of <[x]>
+
+INDEX
+ copysign
+INDEX
+ copysignf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double copysign (double <[x]>, double <[y]>);
+ float copysignf (float <[x]>, float <[y]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double copysign (<[x]>, <[y]>)
+ double <[x]>;
+ double <[y]>;
+
+ float copysignf (<[x]>, <[y]>)
+ float <[x]>;
+ float <[y]>;
+
+DESCRIPTION
+<<copysign>> constructs a number with the magnitude (absolute value)
+of its first argument, <[x]>, and the sign of its second argument,
+<[y]>.
+
+<<copysignf>> does the same thing; the two functions differ only in
+the type of their arguments and result.
+
+RETURNS
+<<copysign>> returns a <<double>> with the magnitude of
+<[x]> and the sign of <[y]>.
+<<copysignf>> returns a <<float>> with the magnitude of
+<[x]> and the sign of <[y]>.
+
+PORTABILITY
+<<copysign>> is not required by either ANSI C or the System V Interface
+Definition (Issue 2).
+
+*/
+
+/*
+ * copysign(double x, double y)
+ * copysign(x,y) returns a value with the magnitude of x and
+ * with the sign bit of y.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double copysign(double x, double y)
+#else
+ double copysign(x,y)
+ double x,y;
+#endif
+{
+ __uint32_t hx,hy;
+ GET_HIGH_WORD(hx,x);
+ GET_HIGH_WORD(hy,y);
+ SET_HIGH_WORD(x,(hx&0x7fffffff)|(hy&0x80000000));
+ return x;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_cos.c b/libjava/java/lang/s_cos.c
new file mode 100644
index 0000000..c471233
--- /dev/null
+++ b/libjava/java/lang/s_cos.c
@@ -0,0 +1,82 @@
+
+/* @(#)s_cos.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/* cos(x)
+ * Return cosine function of x.
+ *
+ * kernel function:
+ * __kernel_sin ... sine function on [-pi/4,pi/4]
+ * __kernel_cos ... cosine function on [-pi/4,pi/4]
+ * __ieee754_rem_pio2 ... argument reduction routine
+ *
+ * Method.
+ * Let S,C and T denote the sin, cos and tan respectively on
+ * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
+ * in [-pi/4 , +pi/4], and let n = k mod 4.
+ * We have
+ *
+ * n sin(x) cos(x) tan(x)
+ * ----------------------------------------------------------
+ * 0 S C T
+ * 1 C -S -1/T
+ * 2 -S -C T
+ * 3 -C S -1/T
+ * ----------------------------------------------------------
+ *
+ * Special cases:
+ * Let trig be any of sin, cos, or tan.
+ * trig(+-INF) is NaN, with signals;
+ * trig(NaN) is that NaN;
+ *
+ * Accuracy:
+ * TRIG(x) returns trig(x) nearly rounded
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double cos(double x)
+#else
+ double cos(x)
+ double x;
+#endif
+{
+ double y[2],z=0.0;
+ __int32_t n,ix;
+
+ /* High word of x. */
+ GET_HIGH_WORD(ix,x);
+
+ /* |x| ~< pi/4 */
+ ix &= 0x7fffffff;
+ if(ix <= 0x3fe921fb) return __kernel_cos(x,z);
+
+ /* cos(Inf or NaN) is NaN */
+ else if (ix>=0x7ff00000) return x-x;
+
+ /* argument reduction needed */
+ else {
+ n = __ieee754_rem_pio2(x,y);
+ switch(n&3) {
+ case 0: return __kernel_cos(y[0],y[1]);
+ case 1: return -__kernel_sin(y[0],y[1],1);
+ case 2: return -__kernel_cos(y[0],y[1]);
+ default:
+ return __kernel_sin(y[0],y[1],1);
+ }
+ }
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_fabs.c b/libjava/java/lang/s_fabs.c
new file mode 100644
index 0000000..95b871c
--- /dev/null
+++ b/libjava/java/lang/s_fabs.c
@@ -0,0 +1,73 @@
+
+/* @(#)s_fabs.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<fabs>>, <<fabsf>>---absolute value (magnitude)
+INDEX
+ fabs
+INDEX
+ fabsf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double fabs(double <[x]>);
+ float fabsf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double fabs(<[x]>)
+ double <[x]>;
+
+ float fabsf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+<<fabs>> and <<fabsf>> calculate
+@tex
+$|x|$,
+@end tex
+the absolute value (magnitude) of the argument <[x]>, by direct
+manipulation of the bit representation of <[x]>.
+
+RETURNS
+The calculated value is returned. No errors are detected.
+
+PORTABILITY
+<<fabs>> is ANSI.
+<<fabsf>> is an extension.
+
+*/
+
+/*
+ * fabs(x) returns the absolute value of x.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double fabs(double x)
+#else
+ double fabs(x)
+ double x;
+#endif
+{
+ __uint32_t high;
+ GET_HIGH_WORD(high,x);
+ SET_HIGH_WORD(x,high&0x7fffffff);
+ return x;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_floor.c b/libjava/java/lang/s_floor.c
new file mode 100644
index 0000000..86f73e0
--- /dev/null
+++ b/libjava/java/lang/s_floor.c
@@ -0,0 +1,134 @@
+
+/* @(#)s_floor.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+<<floor>>, <<floorf>>, <<ceil>>, <<ceilf>>---floor and ceiling
+INDEX
+ floor
+INDEX
+ floorf
+INDEX
+ ceil
+INDEX
+ ceilf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double floor(double <[x]>);
+ float floorf(float <[x]>);
+ double ceil(double <[x]>);
+ float ceilf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double floor(<[x]>)
+ double <[x]>;
+ float floorf(<[x]>)
+ float <[x]>;
+ double ceil(<[x]>)
+ double <[x]>;
+ float ceilf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+<<floor>> and <<floorf>> find
+@tex
+$\lfloor x \rfloor$,
+@end tex
+the nearest integer less than or equal to <[x]>.
+<<ceil>> and <<ceilf>> find
+@tex
+$\lceil x\rceil$,
+@end tex
+the nearest integer greater than or equal to <[x]>.
+
+RETURNS
+<<floor>> and <<ceil>> return the integer result as a double.
+<<floorf>> and <<ceilf>> return the integer result as a float.
+
+PORTABILITY
+<<floor>> and <<ceil>> are ANSI.
+<<floorf>> and <<ceilf>> are extensions.
+
+
+*/
+
+/*
+ * floor(x)
+ * Return x rounded toward -inf to integral value
+ * Method:
+ * Bit twiddling.
+ * Exception:
+ * Inexact flag raised if x not equal to floor(x).
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double huge = 1.0e300;
+#else
+static double huge = 1.0e300;
+#endif
+
+#ifdef __STDC__
+ double floor(double x)
+#else
+ double floor(x)
+ double x;
+#endif
+{
+ __int32_t i0,i1,j0;
+ __uint32_t i,j;
+ EXTRACT_WORDS(i0,i1,x);
+ j0 = ((i0>>20)&0x7ff)-0x3ff;
+ if(j0<20) {
+ if(j0<0) { /* raise inexact if x != 0 */
+ if(huge+x>0.0) {/* return 0*sign(x) if |x|<1 */
+ if(i0>=0) {i0=i1=0;}
+ else if(((i0&0x7fffffff)|i1)!=0)
+ { i0=0xbff00000;i1=0;}
+ }
+ } else {
+ i = (0x000fffff)>>j0;
+ if(((i0&i)|i1)==0) return x; /* x is integral */
+ if(huge+x>0.0) { /* raise inexact flag */
+ if(i0<0) i0 += (0x00100000)>>j0;
+ i0 &= (~i); i1=0;
+ }
+ }
+ } else if (j0>51) {
+ if(j0==0x400) return x+x; /* inf or NaN */
+ else return x; /* x is integral */
+ } else {
+ i = ((__uint32_t)(0xffffffff))>>(j0-20);
+ if((i1&i)==0) return x; /* x is integral */
+ if(huge+x>0.0) { /* raise inexact flag */
+ if(i0<0) {
+ if(j0==20) i0+=1;
+ else {
+ j = i1+(1<<(52-j0));
+ if(j<(__uint32_t)i1) i0 +=1 ; /* got a carry */
+ i1=j;
+ }
+ }
+ i1 &= (~i);
+ }
+ }
+ INSERT_WORDS(x,i0,i1);
+ return x;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_rint.c b/libjava/java/lang/s_rint.c
new file mode 100644
index 0000000..9936a49
--- /dev/null
+++ b/libjava/java/lang/s_rint.c
@@ -0,0 +1,87 @@
+
+/* @(#)s_rint.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+ * rint(x)
+ * Return x rounded to integral value according to the prevailing
+ * rounding mode.
+ * Method:
+ * Using floating addition.
+ * Exception:
+ * Inexact flag raised if x not equal to rint(x).
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+TWO52[2]={
+ 4.50359962737049600000e+15, /* 0x43300000, 0x00000000 */
+ -4.50359962737049600000e+15, /* 0xC3300000, 0x00000000 */
+};
+
+#ifdef __STDC__
+ double rint(double x)
+#else
+ double rint(x)
+ double x;
+#endif
+{
+ __int32_t i0,j0,sx;
+ __uint32_t i,i1;
+ double t;
+ volatile double w;
+ EXTRACT_WORDS(i0,i1,x);
+ sx = (i0>>31)&1;
+ j0 = ((i0>>20)&0x7ff)-0x3ff;
+ if(j0<20) {
+ if(j0<0) {
+ if(((i0&0x7fffffff)|i1)==0) return x;
+ i1 |= (i0&0x0fffff);
+ i0 &= 0xfffe0000;
+ i0 |= ((i1|-i1)>>12)&0x80000;
+ SET_HIGH_WORD(x,i0);
+ w = TWO52[sx]+x;
+ t = w-TWO52[sx];
+ GET_HIGH_WORD(i0,t);
+ SET_HIGH_WORD(t,(i0&0x7fffffff)|(sx<<31));
+ return t;
+ } else {
+ i = (0x000fffff)>>j0;
+ if(((i0&i)|i1)==0) return x; /* x is integral */
+ i>>=1;
+ if(((i0&i)|i1)!=0) {
+ if(j0==19) i1 = 0x40000000; else
+ i0 = (i0&(~i))|((0x20000)>>j0);
+ }
+ }
+ } else if (j0>51) {
+ if(j0==0x400) return x+x; /* inf or NaN */
+ else return x; /* x is integral */
+ } else {
+ i = ((__uint32_t)(0xffffffff))>>(j0-20);
+ if((i1&i)==0) return x; /* x is integral */
+ i>>=1;
+ if((i1&i)!=0) i1 = (i1&(~i))|((0x40000000)>>(j0-20));
+ }
+ INSERT_WORDS(x,i0,i1);
+ w = TWO52[sx]+x;
+ return w-TWO52[sx];
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_scalbn.c b/libjava/java/lang/s_scalbn.c
new file mode 100644
index 0000000..b06834e
--- /dev/null
+++ b/libjava/java/lang/s_scalbn.c
@@ -0,0 +1,104 @@
+
+/* @(#)s_scalbn.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+<<scalbn>>, <<scalbnf>>---scale by integer
+INDEX
+ scalbn
+INDEX
+ scalbnf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double scalbn(double <[x]>, int <[y]>);
+ float scalbnf(float <[x]>, int <[y]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double scalbn(<[x]>,<[y]>)
+ double <[x]>;
+ int <[y]>;
+ float scalbnf(<[x]>,<[y]>)
+ float <[x]>;
+ int <[y]>;
+
+DESCRIPTION
+<<scalbn>> and <<scalbnf>> scale <[x]> by <[n]>, returning <[x]> times
+2 to the power <[n]>. The result is computed by manipulating the
+exponent, rather than by actually performing an exponentiation or
+multiplication.
+
+RETURNS
+<[x]> times 2 to the power <[n]>.
+
+PORTABILITY
+Neither <<scalbn>> nor <<scalbnf>> is required by ANSI C or by the System V
+Interface Definition (Issue 2).
+
+*/
+
+/*
+ * scalbn (double x, int n)
+ * scalbn(x,n) returns x* 2**n computed by exponent
+ * manipulation rather than by actually performing an
+ * exponentiation or a multiplication.
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+two54 = 1.80143985094819840000e+16, /* 0x43500000, 0x00000000 */
+twom54 = 5.55111512312578270212e-17, /* 0x3C900000, 0x00000000 */
+huge = 1.0e+300,
+tiny = 1.0e-300;
+
+#ifdef __STDC__
+ double scalbn (double x, int n)
+#else
+ double scalbn (x,n)
+ double x; int n;
+#endif
+{
+ __int32_t k,hx,lx;
+ EXTRACT_WORDS(hx,lx,x);
+ k = (hx&0x7ff00000)>>20; /* extract exponent */
+ if (k==0) { /* 0 or subnormal x */
+ if ((lx|(hx&0x7fffffff))==0) return x; /* +-0 */
+ x *= two54;
+ GET_HIGH_WORD(hx,x);
+ k = ((hx&0x7ff00000)>>20) - 54;
+ if (n< -50000) return tiny*x; /*underflow*/
+ }
+ if (k==0x7ff) return x+x; /* NaN or Inf */
+ k = k+n;
+ if (k > 0x7fe) return huge*copysign(huge,x); /* overflow */
+ if (k > 0) /* normal result */
+ {SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20)); return x;}
+ if (k <= -54) {
+ if (n > 50000) /* in case integer overflow in n+k */
+ return huge*copysign(huge,x); /*overflow*/
+ else return tiny*copysign(tiny,x); /*underflow*/
+ }
+ k += 54; /* subnormal result */
+ SET_HIGH_WORD(x,(hx&0x800fffff)|(k<<20));
+ return x*twom54;
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_sin.c b/libjava/java/lang/s_sin.c
new file mode 100644
index 0000000..28259f3
--- /dev/null
+++ b/libjava/java/lang/s_sin.c
@@ -0,0 +1,132 @@
+
+/* @(#)s_sin.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<sin>>, <<sinf>>, <<cos>>, <<cosf>>---sine or cosine
+INDEX
+sin
+INDEX
+sinf
+INDEX
+cos
+INDEX
+cosf
+ANSI_SYNOPSIS
+ #include <math.h>
+ double sin(double <[x]>);
+ float sinf(float <[x]>);
+ double cos(double <[x]>);
+ float cosf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double sin(<[x]>)
+ double <[x]>;
+ float sinf(<[x]>)
+ float <[x]>;
+
+ double cos(<[x]>)
+ double <[x]>;
+ float cosf(<[x]>)
+ float <[x]>;
+
+DESCRIPTION
+ <<sin>> and <<cos>> compute (respectively) the sine and cosine
+ of the argument <[x]>. Angles are specified in radians.
+
+ <<sinf>> and <<cosf>> are identical, save that they take and
+ return <<float>> values.
+
+
+RETURNS
+ The sine or cosine of <[x]> is returned.
+
+PORTABILITY
+ <<sin>> and <<cos>> are ANSI C.
+ <<sinf>> and <<cosf>> are extensions.
+
+QUICKREF
+ sin ansi pure
+ sinf - pure
+*/
+
+/* sin(x)
+ * Return sine function of x.
+ *
+ * kernel function:
+ * __kernel_sin ... sine function on [-pi/4,pi/4]
+ * __kernel_cos ... cose function on [-pi/4,pi/4]
+ * __ieee754_rem_pio2 ... argument reduction routine
+ *
+ * Method.
+ * Let S,C and T denote the sin, cos and tan respectively on
+ * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
+ * in [-pi/4 , +pi/4], and let n = k mod 4.
+ * We have
+ *
+ * n sin(x) cos(x) tan(x)
+ * ----------------------------------------------------------
+ * 0 S C T
+ * 1 C -S -1/T
+ * 2 -S -C T
+ * 3 -C S -1/T
+ * ----------------------------------------------------------
+ *
+ * Special cases:
+ * Let trig be any of sin, cos, or tan.
+ * trig(+-INF) is NaN, with signals;
+ * trig(NaN) is that NaN;
+ *
+ * Accuracy:
+ * TRIG(x) returns trig(x) nearly rounded
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double sin(double x)
+#else
+ double sin(x)
+ double x;
+#endif
+{
+ double y[2],z=0.0;
+ __int32_t n,ix;
+
+ /* High word of x. */
+ GET_HIGH_WORD(ix,x);
+
+ /* |x| ~< pi/4 */
+ ix &= 0x7fffffff;
+ if(ix <= 0x3fe921fb) return __kernel_sin(x,z,0);
+
+ /* sin(Inf or NaN) is NaN */
+ else if (ix>=0x7ff00000) return x-x;
+
+ /* argument reduction needed */
+ else {
+ n = __ieee754_rem_pio2(x,y);
+ switch(n&3) {
+ case 0: return __kernel_sin(y[0],y[1],1);
+ case 1: return __kernel_cos(y[0],y[1]);
+ case 2: return -__kernel_sin(y[0],y[1],1);
+ default:
+ return -__kernel_cos(y[0],y[1]);
+ }
+ }
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/s_tan.c b/libjava/java/lang/s_tan.c
new file mode 100644
index 0000000..2959f41
--- /dev/null
+++ b/libjava/java/lang/s_tan.c
@@ -0,0 +1,114 @@
+
+/* @(#)s_tan.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+
+/*
+
+FUNCTION
+ <<tan>>, <<tanf>>---tangent
+
+INDEX
+tan
+INDEX
+tanf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double tan(double <[x]>);
+ float tanf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double tan(<[x]>)
+ double <[x]>;
+
+ float tanf(<[x]>)
+ float <[x]>;
+
+
+DESCRIPTION
+<<tan>> computes the tangent of the argument <[x]>.
+Angles are specified in radians.
+
+<<tanf>> is identical, save that it takes and returns <<float>> values.
+
+RETURNS
+The tangent of <[x]> is returned.
+
+PORTABILITY
+<<tan>> is ANSI. <<tanf>> is an extension.
+*/
+
+/* tan(x)
+ * Return tangent function of x.
+ *
+ * kernel function:
+ * __kernel_tan ... tangent function on [-pi/4,pi/4]
+ * __ieee754_rem_pio2 ... argument reduction routine
+ *
+ * Method.
+ * Let S,C and T denote the sin, cos and tan respectively on
+ * [-PI/4, +PI/4]. Reduce the argument x to y1+y2 = x-k*pi/2
+ * in [-pi/4 , +pi/4], and let n = k mod 4.
+ * We have
+ *
+ * n sin(x) cos(x) tan(x)
+ * ----------------------------------------------------------
+ * 0 S C T
+ * 1 C -S -1/T
+ * 2 -S -C T
+ * 3 -C S -1/T
+ * ----------------------------------------------------------
+ *
+ * Special cases:
+ * Let trig be any of sin, cos, or tan.
+ * trig(+-INF) is NaN, with signals;
+ * trig(NaN) is that NaN;
+ *
+ * Accuracy:
+ * TRIG(x) returns trig(x) nearly rounded
+ */
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double tan(double x)
+#else
+ double tan(x)
+ double x;
+#endif
+{
+ double y[2],z=0.0;
+ __int32_t n,ix;
+
+ /* High word of x. */
+ GET_HIGH_WORD(ix,x);
+
+ /* |x| ~< pi/4 */
+ ix &= 0x7fffffff;
+ if(ix <= 0x3fe921fb) return __kernel_tan(x,z,1);
+
+ /* tan(Inf or NaN) is NaN */
+ else if (ix>=0x7ff00000) return x-x; /* NaN */
+
+ /* argument reduction needed */
+ else {
+ n = __ieee754_rem_pio2(x,y);
+ return __kernel_tan(y[0],y[1],1-((n&1)<<1)); /* 1 -- n even
+ -1 -- n odd */
+ }
+}
+
+#endif /* _DOUBLE_IS_32BITS */
diff --git a/libjava/java/lang/sf_rint.c b/libjava/java/lang/sf_rint.c
new file mode 100644
index 0000000..e4769e0
--- /dev/null
+++ b/libjava/java/lang/sf_rint.c
@@ -0,0 +1,80 @@
+/* sf_rint.c -- float version of s_rint.c.
+ * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
+ */
+
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+#include "fdlibm.h"
+
+#ifdef __STDC__
+static const float
+#else
+static float
+#endif
+TWO23[2]={
+ 8.3886080000e+06, /* 0x4b000000 */
+ -8.3886080000e+06, /* 0xcb000000 */
+};
+
+#ifdef __STDC__
+ float rintf(float x)
+#else
+ float rintf(x)
+ float x;
+#endif
+{
+ __int32_t i0,j0,sx;
+ __uint32_t i,i1;
+ float w,t;
+ GET_FLOAT_WORD(i0,x);
+ sx = (i0>>31)&1;
+ j0 = ((i0>>23)&0xff)-0x7f;
+ if(j0<23) {
+ if(j0<0) {
+ if((i0&0x7fffffff)==0) return x;
+ i1 = (i0&0x07fffff);
+ i0 &= 0xfff00000;
+ i0 |= ((i1|-i1)>>9)&0x400000;
+ SET_FLOAT_WORD(x,i0);
+ w = TWO23[sx]+x;
+ t = w-TWO23[sx];
+ GET_FLOAT_WORD(i0,t);
+ SET_FLOAT_WORD(t,(i0&0x7fffffff)|(sx<<31));
+ return t;
+ } else {
+ i = (0x007fffff)>>j0;
+ if((i0&i)==0) return x; /* x is integral */
+ i>>=1;
+ if((i0&i)!=0) i0 = (i0&(~i))|((0x100000)>>j0);
+ }
+ } else {
+ if(j0==0x80) return x+x; /* inf or NaN */
+ else return x; /* x is integral */
+ }
+ SET_FLOAT_WORD(x,i0);
+ w = TWO23[sx]+x;
+ return w-TWO23[sx];
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double rint(double x)
+#else
+ double rint(x)
+ double x;
+#endif
+{
+ return (double) rintf((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/strtod.c b/libjava/java/lang/strtod.c
new file mode 100644
index 0000000..e0e8e74
--- /dev/null
+++ b/libjava/java/lang/strtod.c
@@ -0,0 +1,720 @@
+/*
+FUNCTION
+ <<strtod>>, <<strtodf>>---string to double or float
+
+INDEX
+ strtod
+INDEX
+ _strtod_r
+INDEX
+ strtodf
+
+ANSI_SYNOPSIS
+ #include <stdlib.h>
+ double strtod(const char *<[str]>, char **<[tail]>);
+ float strtodf(const char *<[str]>, char **<[tail]>);
+
+ double _strtod_r(void *<[reent]>,
+ const char *<[str]>, char **<[tail]>);
+
+TRAD_SYNOPSIS
+ #include <stdlib.h>
+ double strtod(<[str]>,<[tail]>)
+ char *<[str]>;
+ char **<[tail]>;
+
+ float strtodf(<[str]>,<[tail]>)
+ char *<[str]>;
+ char **<[tail]>;
+
+ double _strtod_r(<[reent]>,<[str]>,<[tail]>)
+ char *<[reent]>;
+ char *<[str]>;
+ char **<[tail]>;
+
+DESCRIPTION
+ The function <<strtod>> parses the character string <[str]>,
+ producing a substring which can be converted to a double
+ value. The substring converted is the longest initial
+ subsequence of <[str]>, beginning with the first
+ non-whitespace character, that has the format:
+ .[+|-]<[digits]>[.][<[digits]>][(e|E)[+|-]<[digits]>]
+ The substring contains no characters if <[str]> is empty, consists
+ entirely of whitespace, or if the first non-whitespace
+ character is something other than <<+>>, <<->>, <<.>>, or a
+ digit. If the substring is empty, no conversion is done, and
+ the value of <[str]> is stored in <<*<[tail]>>>. Otherwise,
+ the substring is converted, and a pointer to the final string
+ (which will contain at least the terminating null character of
+ <[str]>) is stored in <<*<[tail]>>>. If you want no
+ assignment to <<*<[tail]>>>, pass a null pointer as <[tail]>.
+ <<strtodf>> is identical to <<strtod>> except for its return type.
+
+ This implementation returns the nearest machine number to the
+ input decimal string. Ties are broken by using the IEEE
+ round-even rule.
+
+ The alternate function <<_strtod_r>> is a reentrant version.
+ The extra argument <[reent]> is a pointer to a reentrancy structure.
+
+RETURNS
+ <<strtod>> returns the converted substring value, if any. If
+ no conversion could be performed, 0 is returned. If the
+ correct value is out of the range of representable values,
+ plus or minus <<HUGE_VAL>> is returned, and <<ERANGE>> is
+ stored in errno. If the correct value would cause underflow, 0
+ is returned and <<ERANGE>> is stored in errno.
+
+Supporting OS subroutines required: <<close>>, <<fstat>>, <<isatty>>,
+<<lseek>>, <<read>>, <<sbrk>>, <<write>>.
+*/
+
+/****************************************************************
+ *
+ * The author of this software is David M. Gay.
+ *
+ * Copyright (c) 1991 by AT&T.
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose without fee is hereby granted, provided that this entire notice
+ * is included in all copies of any software which is or includes a copy
+ * or modification of this software and in all copies of the supporting
+ * documentation for such software.
+ *
+ * THIS SOFTWARE IS BEING PROVIDED "AS IS", WITHOUT ANY EXPRESS OR IMPLIED
+ * WARRANTY. IN PARTICULAR, NEITHER THE AUTHOR NOR AT&T MAKES ANY
+ * REPRESENTATION OR WARRANTY OF ANY KIND CONCERNING THE MERCHANTABILITY
+ * OF THIS SOFTWARE OR ITS FITNESS FOR ANY PARTICULAR PURPOSE.
+ *
+ ***************************************************************/
+
+/* Please send bug reports to
+ David M. Gay
+ AT&T Bell Laboratories, Room 2C-463
+ 600 Mountain Avenue
+ Murray Hill, NJ 07974-2070
+ U.S.A.
+ dmg@research.att.com or research!dmg
+ */
+
+#include <string.h>
+#include <float.h>
+#include <errno.h>
+#include "mprec.h"
+
+double
+_DEFUN (_strtod_r, (ptr, s00, se),
+ struct _Jv_reent *ptr _AND
+ _CONST char *s00 _AND
+ char **se)
+{
+ int bb2, bb5, bbe, bd2, bd5, bbbits, bs2, c, dsign, e1, esign, i, j,
+ k, nd, nd0, nf, nz, nz0, sign;
+ int digits = 0; /* Number of digits found in fraction part. */
+ long e;
+ _CONST char *s, *s0, *s1;
+ double aadj, aadj1, adj;
+ long L;
+ unsigned long y, z;
+ union double_union rv, rv0;
+
+ _Jv_Bigint *bb, *bb1, *bd, *bd0, *bs, *delta;
+ sign = nz0 = nz = 0;
+ rv.d = 0.;
+ for (s = s00;; s++)
+ switch (*s)
+ {
+ case '-':
+ sign = 1;
+ /* no break */
+ case '+':
+ if (*++s)
+ goto break2;
+ /* no break */
+ case 0:
+ s = s00;
+ goto ret;
+ case '\t':
+ case '\n':
+ case '\v':
+ case '\f':
+ case '\r':
+ case ' ':
+ continue;
+ default:
+ goto break2;
+ }
+break2:
+ if (*s == '0')
+ {
+ digits++;
+ nz0 = 1;
+ while (*++s == '0')
+ digits++;
+ if (!*s)
+ goto ret;
+ }
+ s0 = s;
+ y = z = 0;
+ for (nd = nf = 0; (c = *s) >= '0' && c <= '9'; nd++, s++)
+ {
+ digits++;
+ if (nd < 9)
+ y = 10 * y + c - '0';
+ else if (nd < 16)
+ z = 10 * z + c - '0';
+ }
+ nd0 = nd;
+ if (c == '.')
+ {
+ c = *++s;
+ if (!nd)
+ {
+ for (; c == '0'; c = *++s)
+ {
+ digits++;
+ nz++;
+ }
+ if (c > '0' && c <= '9')
+ {
+ digits++;
+ s0 = s;
+ nf += nz;
+ nz = 0;
+ goto have_dig;
+ }
+ goto dig_done;
+ }
+ for (; c >= '0' && c <= '9'; c = *++s)
+ {
+ digits++;
+ have_dig:
+ nz++;
+ if (c -= '0')
+ {
+ nf += nz;
+ for (i = 1; i < nz; i++)
+ if (nd++ < 9)
+ y *= 10;
+ else if (nd <= DBL_DIG + 1)
+ z *= 10;
+ if (nd++ < 9)
+ y = 10 * y + c;
+ else if (nd <= DBL_DIG + 1)
+ z = 10 * z + c;
+ nz = 0;
+ }
+ }
+ }
+dig_done:
+ e = 0;
+ if (c == 'e' || c == 'E')
+ {
+ if (!nd && !nz && !nz0)
+ {
+ s = s00;
+ goto ret;
+ }
+ s00 = s;
+ esign = 0;
+ switch (c = *++s)
+ {
+ case '-':
+ esign = 1;
+ case '+':
+ c = *++s;
+ }
+ if (c >= '0' && c <= '9')
+ {
+ while (c == '0')
+ c = *++s;
+ if (c > '0' && c <= '9')
+ {
+ e = c - '0';
+ s1 = s;
+ while ((c = *++s) >= '0' && c <= '9')
+ e = 10 * e + c - '0';
+ if (s - s1 > 8)
+ /* Avoid confusion from exponents
+ * so large that e might overflow.
+ */
+ e = 9999999L;
+ if (esign)
+ e = -e;
+ }
+ else
+ {
+ /* No exponent after an 'E' : that's an error. */
+ ptr->_errno = EINVAL;
+ e = 0;
+ goto ret;
+ }
+ }
+ else
+ s = s00;
+ }
+ if (!nd)
+ {
+ if (!nz && !nz0)
+ s = s00;
+ goto ret;
+ }
+ e1 = e -= nf;
+
+ /* Now we have nd0 digits, starting at s0, followed by a
+ * decimal point, followed by nd-nd0 digits. The number we're
+ * after is the integer represented by those digits times
+ * 10**e */
+
+ if (!nd0)
+ nd0 = nd;
+ k = nd < DBL_DIG + 1 ? nd : DBL_DIG + 1;
+ rv.d = y;
+ if (k > 9)
+ rv.d = tens[k - 9] * rv.d + z;
+ bd0 = 0;
+ if (nd <= DBL_DIG
+#ifndef RND_PRODQUOT
+ && FLT_ROUNDS == 1
+#endif
+ )
+ {
+ if (!e)
+ goto ret;
+ if (e > 0)
+ {
+ if (e <= Ten_pmax)
+ {
+#ifdef VAX
+ goto vax_ovfl_check;
+#else
+ /* rv.d = */ rounded_product (rv.d, tens[e]);
+ goto ret;
+#endif
+ }
+ i = DBL_DIG - nd;
+ if (e <= Ten_pmax + i)
+ {
+ /* A fancier test would sometimes let us do
+ * this for larger i values.
+ */
+ e -= i;
+ rv.d *= tens[i];
+#ifdef VAX
+ /* VAX exponent range is so narrow we must
+ * worry about overflow here...
+ */
+ vax_ovfl_check:
+ word0 (rv) -= P * Exp_msk1;
+ /* rv.d = */ rounded_product (rv.d, tens[e]);
+ if ((word0 (rv) & Exp_mask)
+ > Exp_msk1 * (DBL_MAX_EXP + Bias - 1 - P))
+ goto ovfl;
+ word0 (rv) += P * Exp_msk1;
+#else
+ /* rv.d = */ rounded_product (rv.d, tens[e]);
+#endif
+ goto ret;
+ }
+ }
+#ifndef Inaccurate_Divide
+ else if (e >= -Ten_pmax)
+ {
+ /* rv.d = */ rounded_quotient (rv.d, tens[-e]);
+ goto ret;
+ }
+#endif
+ }
+ e1 += nd - k;
+
+ /* Get starting approximation = rv.d * 10**e1 */
+
+ if (e1 > 0)
+ {
+ if ((i = e1 & 15))
+ rv.d *= tens[i];
+
+ if (e1 &= ~15)
+ {
+ if (e1 > DBL_MAX_10_EXP)
+ {
+ ovfl:
+ ptr->_errno = ERANGE;
+
+ /* Force result to IEEE infinity. */
+ word0 (rv) = Exp_mask;
+ word1 (rv) = 0;
+
+ if (bd0)
+ goto retfree;
+ goto ret;
+ }
+ if (e1 >>= 4)
+ {
+ for (j = 0; e1 > 1; j++, e1 >>= 1)
+ if (e1 & 1)
+ rv.d *= bigtens[j];
+ /* The last multiplication could overflow. */
+ word0 (rv) -= P * Exp_msk1;
+ rv.d *= bigtens[j];
+ if ((z = word0 (rv) & Exp_mask)
+ > Exp_msk1 * (DBL_MAX_EXP + Bias - P))
+ goto ovfl;
+ if (z > Exp_msk1 * (DBL_MAX_EXP + Bias - 1 - P))
+ {
+ /* set to largest number */
+ /* (Can't trust DBL_MAX) */
+ word0 (rv) = Big0;
+#ifndef _DOUBLE_IS_32BITS
+ word1 (rv) = Big1;
+#endif
+ }
+ else
+ word0 (rv) += P * Exp_msk1;
+ }
+
+ }
+ }
+ else if (e1 < 0)
+ {
+ e1 = -e1;
+ if ((i = e1 & 15))
+ rv.d /= tens[i];
+ if (e1 &= ~15)
+ {
+ e1 >>= 4;
+ if (e1 >= 1 << n_bigtens)
+ goto undfl;
+ for (j = 0; e1 > 1; j++, e1 >>= 1)
+ if (e1 & 1)
+ rv.d *= tinytens[j];
+ /* The last multiplication could underflow. */
+ rv0.d = rv.d;
+ rv.d *= tinytens[j];
+ if (!rv.d)
+ {
+ rv.d = 2. * rv0.d;
+ rv.d *= tinytens[j];
+ if (!rv.d)
+ {
+ undfl:
+ rv.d = 0.;
+ ptr->_errno = ERANGE;
+ if (bd0)
+ goto retfree;
+ goto ret;
+ }
+#ifndef _DOUBLE_IS_32BITS
+ word0 (rv) = Tiny0;
+ word1 (rv) = Tiny1;
+#else
+ word0 (rv) = Tiny1;
+#endif
+ /* The refinement below will clean
+ * this approximation up.
+ */
+ }
+ }
+ }
+
+ /* Now the hard part -- adjusting rv to the correct value.*/
+
+ /* Put digits into bd: true value = bd * 10^e */
+
+ bd0 = s2b (ptr, s0, nd0, nd, y);
+
+ for (;;)
+ {
+ bd = Balloc (ptr, bd0->_k);
+ Bcopy (bd, bd0);
+ bb = d2b (ptr, rv.d, &bbe, &bbbits); /* rv.d = bb * 2^bbe */
+ bs = i2b (ptr, 1);
+
+ if (e >= 0)
+ {
+ bb2 = bb5 = 0;
+ bd2 = bd5 = e;
+ }
+ else
+ {
+ bb2 = bb5 = -e;
+ bd2 = bd5 = 0;
+ }
+ if (bbe >= 0)
+ bb2 += bbe;
+ else
+ bd2 -= bbe;
+ bs2 = bb2;
+#ifdef Sudden_Underflow
+#ifdef IBM
+ j = 1 + 4 * P - 3 - bbbits + ((bbe + bbbits - 1) & 3);
+#else
+ j = P + 1 - bbbits;
+#endif
+#else
+ i = bbe + bbbits - 1; /* logb(rv.d) */
+ if (i < Emin) /* denormal */
+ j = bbe + (P - Emin);
+ else
+ j = P + 1 - bbbits;
+#endif
+ bb2 += j;
+ bd2 += j;
+ i = bb2 < bd2 ? bb2 : bd2;
+ if (i > bs2)
+ i = bs2;
+ if (i > 0)
+ {
+ bb2 -= i;
+ bd2 -= i;
+ bs2 -= i;
+ }
+ if (bb5 > 0)
+ {
+ bs = pow5mult (ptr, bs, bb5);
+ bb1 = mult (ptr, bs, bb);
+ Bfree (ptr, bb);
+ bb = bb1;
+ }
+ if (bb2 > 0)
+ bb = lshift (ptr, bb, bb2);
+ if (bd5 > 0)
+ bd = pow5mult (ptr, bd, bd5);
+ if (bd2 > 0)
+ bd = lshift (ptr, bd, bd2);
+ if (bs2 > 0)
+ bs = lshift (ptr, bs, bs2);
+ delta = diff (ptr, bb, bd);
+ dsign = delta->_sign;
+ delta->_sign = 0;
+ i = cmp (delta, bs);
+ if (i < 0)
+ {
+ /* Error is less than half an ulp -- check for
+ * special case of mantissa a power of two.
+ */
+ if (dsign || word1 (rv) || word0 (rv) & Bndry_mask)
+ break;
+ delta = lshift (ptr, delta, Log2P);
+ if (cmp (delta, bs) > 0)
+ goto drop_down;
+ break;
+ }
+ if (i == 0)
+ {
+ /* exactly half-way between */
+ if (dsign)
+ {
+ if ((word0 (rv) & Bndry_mask1) == Bndry_mask1
+ && word1 (rv) == 0xffffffff)
+ {
+ /*boundary case -- increment exponent*/
+ word0 (rv) = (word0 (rv) & Exp_mask)
+ + Exp_msk1
+#ifdef IBM
+ | Exp_msk1 >> 4
+#endif
+ ;
+#ifndef _DOUBLE_IS_32BITS
+ word1 (rv) = 0;
+#endif
+ break;
+ }
+ }
+ else if (!(word0 (rv) & Bndry_mask) && !word1 (rv))
+ {
+ drop_down:
+ /* boundary case -- decrement exponent */
+#ifdef Sudden_Underflow
+ L = word0 (rv) & Exp_mask;
+#ifdef IBM
+ if (L < Exp_msk1)
+#else
+ if (L <= Exp_msk1)
+#endif
+ goto undfl;
+ L -= Exp_msk1;
+#else
+ L = (word0 (rv) & Exp_mask) - Exp_msk1;
+#endif
+ word0 (rv) = L | Bndry_mask1;
+#ifndef _DOUBLE_IS_32BITS
+ word1 (rv) = 0xffffffff;
+#endif
+#ifdef IBM
+ goto cont;
+#else
+ break;
+#endif
+ }
+#ifndef ROUND_BIASED
+ if (!(word1 (rv) & LSB))
+ break;
+#endif
+ if (dsign)
+ rv.d += ulp (rv.d);
+#ifndef ROUND_BIASED
+ else
+ {
+ rv.d -= ulp (rv.d);
+#ifndef Sudden_Underflow
+ if (!rv.d)
+ goto undfl;
+#endif
+ }
+#endif
+ break;
+ }
+ if ((aadj = ratio (delta, bs)) <= 2.)
+ {
+ if (dsign)
+ aadj = aadj1 = 1.;
+ else if (word1 (rv) || word0 (rv) & Bndry_mask)
+ {
+#ifndef Sudden_Underflow
+ if (word1 (rv) == Tiny1 && !word0 (rv))
+ goto undfl;
+#endif
+ aadj = 1.;
+ aadj1 = -1.;
+ }
+ else
+ {
+ /* special case -- power of FLT_RADIX to be */
+ /* rounded down... */
+
+ if (aadj < 2. / FLT_RADIX)
+ aadj = 1. / FLT_RADIX;
+ else
+ aadj *= 0.5;
+ aadj1 = -aadj;
+ }
+ }
+ else
+ {
+ aadj *= 0.5;
+ aadj1 = dsign ? aadj : -aadj;
+#ifdef Check_FLT_ROUNDS
+ switch (FLT_ROUNDS)
+ {
+ case 2: /* towards +infinity */
+ aadj1 -= 0.5;
+ break;
+ case 0: /* towards 0 */
+ case 3: /* towards -infinity */
+ aadj1 += 0.5;
+ }
+#else
+ if (FLT_ROUNDS == 0)
+ aadj1 += 0.5;
+#endif
+ }
+ y = word0 (rv) & Exp_mask;
+
+ /* Check for overflow */
+
+ if (y == Exp_msk1 * (DBL_MAX_EXP + Bias - 1))
+ {
+ rv0.d = rv.d;
+ word0 (rv) -= P * Exp_msk1;
+ adj = aadj1 * ulp (rv.d);
+ rv.d += adj;
+ if ((word0 (rv) & Exp_mask) >=
+ Exp_msk1 * (DBL_MAX_EXP + Bias - P))
+ {
+ if (word0 (rv0) == Big0 && word1 (rv0) == Big1)
+ goto ovfl;
+#ifdef _DOUBLE_IS_32BITS
+ word0 (rv) = Big1;
+#else
+ word0 (rv) = Big0;
+ word1 (rv) = Big1;
+#endif
+ goto cont;
+ }
+ else
+ word0 (rv) += P * Exp_msk1;
+ }
+ else
+ {
+#ifdef Sudden_Underflow
+ if ((word0 (rv) & Exp_mask) <= P * Exp_msk1)
+ {
+ rv0.d = rv.d;
+ word0 (rv) += P * Exp_msk1;
+ adj = aadj1 * ulp (rv.d);
+ rv.d += adj;
+#ifdef IBM
+ if ((word0 (rv) & Exp_mask) < P * Exp_msk1)
+#else
+ if ((word0 (rv) & Exp_mask) <= P * Exp_msk1)
+#endif
+ {
+ if (word0 (rv0) == Tiny0
+ && word1 (rv0) == Tiny1)
+ goto undfl;
+ word0 (rv) = Tiny0;
+ word1 (rv) = Tiny1;
+ goto cont;
+ }
+ else
+ word0 (rv) -= P * Exp_msk1;
+ }
+ else
+ {
+ adj = aadj1 * ulp (rv.d);
+ rv.d += adj;
+ }
+#else
+ /* Compute adj so that the IEEE rounding rules will
+ * correctly round rv.d + adj in some half-way cases.
+ * If rv.d * ulp(rv.d) is denormalized (i.e.,
+ * y <= (P-1)*Exp_msk1), we must adjust aadj to avoid
+ * trouble from bits lost to denormalization;
+ * example: 1.2e-307 .
+ */
+ if (y <= (P - 1) * Exp_msk1 && aadj >= 1.)
+ {
+ aadj1 = (double) (int) (aadj + 0.5);
+ if (!dsign)
+ aadj1 = -aadj1;
+ }
+ adj = aadj1 * ulp (rv.d);
+ rv.d += adj;
+#endif
+ }
+ z = word0 (rv) & Exp_mask;
+ if (y == z)
+ {
+ /* Can we stop now? */
+ L = aadj;
+ aadj -= L;
+ /* The tolerances below are conservative. */
+ if (dsign || word1 (rv) || word0 (rv) & Bndry_mask)
+ {
+ if (aadj < .4999999 || aadj > .5000001)
+ break;
+ }
+ else if (aadj < .4999999 / FLT_RADIX)
+ break;
+ }
+ cont:
+ Bfree (ptr, bb);
+ Bfree (ptr, bd);
+ Bfree (ptr, bs);
+ Bfree (ptr, delta);
+ }
+retfree:
+ Bfree (ptr, bb);
+ Bfree (ptr, bd);
+ Bfree (ptr, bs);
+ Bfree (ptr, bd0);
+ Bfree (ptr, delta);
+ret:
+ if (se)
+ *se = (char *) s;
+ if (digits == 0)
+ ptr->_errno = EINVAL;
+ return sign ? -rv.d : rv.d;
+}
+
diff --git a/libjava/java/lang/w_acos.c b/libjava/java/lang/w_acos.c
new file mode 100644
index 0000000..c9ca99c
--- /dev/null
+++ b/libjava/java/lang/w_acos.c
@@ -0,0 +1,118 @@
+
+/* @(#)w_acos.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<acos>>, <<acosf>>---arc cosine
+
+INDEX
+ acos
+INDEX
+ acosf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double acos(double <[x]>);
+ float acosf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double acos(<[x]>)
+ double <[x]>;
+
+ float acosf(<[x]>)
+ float <[x]>;
+
+
+
+DESCRIPTION
+
+ <<acos>> computes the inverse cosine (arc cosine) of the input value.
+ Arguments to <<acos>> must be in the range @minus{}1 to 1.
+
+ <<acosf>> is identical to <<acos>>, except that it performs
+ its calculations on <<floats>>.
+
+RETURNS
+ @ifinfo
+ <<acos>> and <<acosf>> return values in radians, in the range of 0 to pi.
+ @end ifinfo
+ @tex
+ <<acos>> and <<acosf>> return values in radians, in the range of <<0>> to $\pi$.
+ @end tex
+
+ If <[x]> is not between @minus{}1 and 1, the returned value is NaN
+ (not a number) the global variable <<errno>> is set to <<EDOM>>, and a
+ <<DOMAIN error>> message is sent as standard error output.
+
+ You can modify error handling for these functions using <<matherr>>.
+
+
+QUICKREF ANSI SVID POSIX RENTRANT
+ acos y,y,y,m
+ acosf n,n,n,m
+
+MATHREF
+ acos, [-1,1], acos(arg),,,
+ acos, NAN, arg,DOMAIN,EDOM
+
+MATHREF
+ acosf, [-1,1], acosf(arg),,,
+ acosf, NAN, argf,DOMAIN,EDOM
+
+*/
+
+/*
+ * wrap_acos(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double acos(double x) /* wrapper acos */
+#else
+ double acos(x) /* wrapper acos */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_acos(x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_acos(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
+ if(fabs(x)>1.0) {
+ /* acos(|x|>1) */
+ exc.type = DOMAIN;
+ exc.name = "acos";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/w_asin.c b/libjava/java/lang/w_asin.c
new file mode 100644
index 0000000..f6cb271
--- /dev/null
+++ b/libjava/java/lang/w_asin.c
@@ -0,0 +1,121 @@
+
+/* @(#)w_asin.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/*
+FUNCTION
+ <<asin>>, <<asinf>>---arc sine
+
+INDEX
+ asin
+INDEX
+ asinf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double asin(double <[x]>);
+ float asinf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double asin(<[x]>)
+ double <[x]>;
+
+ float asinf(<[x]>)
+ float <[x]>;
+
+
+DESCRIPTION
+
+<<asin>> computes the inverse sine (arc sine) of the argument <[x]>.
+Arguments to <<asin>> must be in the range @minus{}1 to 1.
+
+<<asinf>> is identical to <<asin>>, other than taking and
+returning floats.
+
+You can modify error handling for these routines using <<matherr>>.
+
+RETURNS
+@ifinfo
+<<asin>> returns values in radians, in the range of -pi/2 to pi/2.
+@end ifinfo
+@tex
+<<asin>> returns values in radians, in the range of $-\pi/2$ to $\pi/2$.
+@end tex
+
+If <[x]> is not in the range @minus{}1 to 1, <<asin>> and <<asinf>>
+return NaN (not a number), set the global variable <<errno>> to
+<<EDOM>>, and issue a <<DOMAIN error>> message.
+
+You can change this error treatment using <<matherr>>.
+
+QUICKREF ANSI SVID POSIX RENTRANT
+ asin y,y,y,m
+ asinf n,n,n,m
+
+MATHREF
+ asin, -1<=arg<=1, asin(arg),,,
+ asin, NAN, arg,EDOM, DOMAIN
+
+MATHREF
+ asinf, -1<=arg<=1, asin(arg),,,
+ asinf, NAN, arg,EDOM, DOMAIN
+
+
+*/
+
+/*
+ * wrapper asin(x)
+ */
+
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double asin(double x) /* wrapper asin */
+#else
+ double asin(x) /* wrapper asin */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_asin(x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_asin(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
+ if(fabs(x)>1.0) {
+ /* asin(|x|>1) */
+ exc.type = DOMAIN;
+ exc.name = "asin";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ exc.retval = 0.0;
+ if(_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/w_atan2.c b/libjava/java/lang/w_atan2.c
new file mode 100644
index 0000000..91742c7
--- /dev/null
+++ b/libjava/java/lang/w_atan2.c
@@ -0,0 +1,117 @@
+
+/* @(#)w_atan2.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ *
+ */
+
+/*
+FUNCTION
+ <<atan2>>, <<atan2f>>---arc tangent of y/x
+
+INDEX
+ atan2
+INDEX
+ atan2f
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double atan2(double <[y]>,double <[x]>);
+ float atan2f(float <[y]>,float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double atan2(<[y]>,<[x]>);
+ double <[y]>;
+ double <[x]>;
+
+ float atan2f(<[y]>,<[x]>);
+ float <[y]>;
+ float <[x]>;
+
+DESCRIPTION
+
+<<atan2>> computes the inverse tangent (arc tangent) of <[y]>/<[x]>.
+<<atan2>> produces the correct result even for angles near
+@ifinfo
+pi/2 or -pi/2
+@end ifinfo
+@tex
+$\pi/2$ or $-\pi/2$
+@end tex
+(that is, when <[x]> is near 0).
+
+<<atan2f>> is identical to <<atan2>>, save that it takes and returns
+<<float>>.
+
+RETURNS
+<<atan2>> and <<atan2f>> return a value in radians, in the range of
+@ifinfo
+-pi to pi.
+@end ifinfo
+@tex
+$-\pi$ to $\pi$.
+@end tex
+
+If both <[x]> and <[y]> are 0.0, <<atan2>> causes a <<DOMAIN>> error.
+
+You can modify error handling for these functions using <<matherr>>.
+
+PORTABILITY
+<<atan2>> is ANSI C. <<atan2f>> is an extension.
+
+
+*/
+
+/*
+ * wrapper atan2(y,x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double atan2(double y, double x) /* wrapper atan2 */
+#else
+ double atan2(y,x) /* wrapper atan2 */
+ double y,x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_atan2(y,x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_atan2(y,x);
+ if(_LIB_VERSION == _IEEE_||isnan(x)||isnan(y)) return z;
+ if(x==0.0&&y==0.0) {
+ /* atan2(+-0,+-0) */
+ exc.arg1 = y;
+ exc.arg2 = x;
+ exc.type = DOMAIN;
+ exc.name = "atan2";
+ exc.err = 0;
+ exc.retval = 0.0;
+ if(_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/w_exp.c b/libjava/java/lang/w_exp.c
new file mode 100644
index 0000000..ae792a8
--- /dev/null
+++ b/libjava/java/lang/w_exp.c
@@ -0,0 +1,136 @@
+
+/* @(#)w_exp.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<exp>>, <<expf>>---exponential
+INDEX
+ exp
+INDEX
+ expf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double exp(double <[x]>);
+ float expf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double exp(<[x]>);
+ double <[x]>;
+
+ float expf(<[x]>);
+ float <[x]>;
+
+DESCRIPTION
+ <<exp>> and <<expf>> calculate the exponential of <[x]>, that is,
+ @ifinfo
+ e raised to the power <[x]> (where e
+ @end ifinfo
+ @tex
+ $e^x$ (where $e$
+ @end tex
+ is the base of the natural system of logarithms, approximately 2.71828).
+
+ You can use the (non-ANSI) function <<matherr>> to specify
+ error handling for these functions.
+
+RETURNS
+ On success, <<exp>> and <<expf>> return the calculated value.
+ If the result underflows, the returned value is <<0>>. If the
+ result overflows, the returned value is <<HUGE_VAL>>. In
+ either case, <<errno>> is set to <<ERANGE>>.
+
+PORTABILITY
+ <<exp>> is ANSI C. <<expf>> is an extension.
+
+*/
+
+/*
+ * wrapper exp(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+static const double
+#else
+static double
+#endif
+o_threshold= 7.09782712893383973096e+02, /* 0x40862E42, 0xFEFA39EF */
+u_threshold= -7.45133219101941108420e+02; /* 0xc0874910, 0xD52D3051 */
+
+#ifdef __STDC__
+ double exp(double x) /* wrapper exp */
+#else
+ double exp(x) /* wrapper exp */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_exp(x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_exp(x);
+ if(_LIB_VERSION == _IEEE_) return z;
+ if(finite(x)) {
+ if(x>o_threshold) {
+ /* exp(finite) overflow */
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.type = OVERFLOW;
+ exc.name = "exp";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = HUGE;
+ else
+ exc.retval = HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else if(x<u_threshold) {
+ /* exp(finite) underflow */
+ exc.type = UNDERFLOW;
+ exc.name = "exp";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ }
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/w_fmod.c b/libjava/java/lang/w_fmod.c
new file mode 100644
index 0000000..b6b36cb
--- /dev/null
+++ b/libjava/java/lang/w_fmod.c
@@ -0,0 +1,107 @@
+
+/* @(#)w_fmod.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+<<fmod>>, <<fmodf>>---floating-point remainder (modulo)
+
+INDEX
+fmod
+INDEX
+fmodf
+
+ANSI_SYNOPSIS
+#include <math.h>
+double fmod(double <[x]>, double <[y]>)
+float fmodf(float <[x]>, float <[y]>)
+
+TRAD_SYNOPSIS
+#include <math.h>
+double fmod(<[x]>, <[y]>)
+double (<[x]>, <[y]>);
+
+float fmodf(<[x]>, <[y]>)
+float (<[x]>, <[y]>);
+
+DESCRIPTION
+The <<fmod>> and <<fmodf>> functions compute the floating-point
+remainder of <[x]>/<[y]> (<[x]> modulo <[y]>).
+
+RETURNS
+The <<fmod>> function returns the value
+@ifinfo
+<[x]>-<[i]>*<[y]>,
+@end ifinfo
+@tex
+$x-i\times y$,
+@end tex
+for the largest integer <[i]> such that, if <[y]> is nonzero, the
+result has the same sign as <[x]> and magnitude less than the
+magnitude of <[y]>.
+
+<<fmod(<[x]>,0)>> returns NaN, and sets <<errno>> to <<EDOM>>.
+
+You can modify error treatment for these functions using <<matherr>>.
+
+PORTABILITY
+<<fmod>> is ANSI C. <<fmodf>> is an extension.
+*/
+
+/*
+ * wrapper fmod(x,y)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double fmod(double x, double y) /* wrapper fmod */
+#else
+ double fmod(x,y) /* wrapper fmod */
+ double x,y;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_fmod(x,y);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_fmod(x,y);
+ if(_LIB_VERSION == _IEEE_ ||isnan(y)||isnan(x)) return z;
+ if(y==0.0) {
+ /* fmod(x,0) */
+ exc.type = DOMAIN;
+ exc.name = "fmod";
+ exc.arg1 = x;
+ exc.arg2 = y;
+ exc.err = 0;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = x;
+ else
+ exc.retval = 0.0/0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/w_log.c b/libjava/java/lang/w_log.c
new file mode 100644
index 0000000..dcc8b97
--- /dev/null
+++ b/libjava/java/lang/w_log.c
@@ -0,0 +1,115 @@
+
+/* @(#)w_log.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<log>>, <<logf>>---natural logarithms
+
+INDEX
+ log
+INDEX
+ logf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double log(double <[x]>);
+ float logf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double log(<[x]>);
+ double <[x]>;
+
+ float logf(<[x]>);
+ float <[x]>;
+
+DESCRIPTION
+Return the natural logarithm of <[x]>, that is, its logarithm base e
+(where e is the base of the natural system of logarithms, 2.71828@dots{}).
+<<log>> and <<logf>> are identical save for the return and argument types.
+
+You can use the (non-ANSI) function <<matherr>> to specify error
+handling for these functions.
+
+RETURNS
+Normally, returns the calculated value. When <[x]> is zero, the
+returned value is <<-HUGE_VAL>> and <<errno>> is set to <<ERANGE>>.
+When <[x]> is negative, the returned value is <<-HUGE_VAL>> and
+<<errno>> is set to <<EDOM>>. You can control the error behavior via
+<<matherr>>.
+
+PORTABILITY
+<<log>> is ANSI, <<logf>> is an extension.
+*/
+
+/*
+ * wrapper log(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double log(double x) /* wrapper log */
+#else
+ double log(x) /* wrapper log */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_log(x);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_log(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x) || x > 0.0) return z;
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ exc.name = "log";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = -HUGE;
+ else
+ exc.retval = -HUGE_VAL;
+ if(x==0.0) {
+ /* log(0) */
+ exc.type = SING;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ } else {
+ /* log(x<0) */
+ exc.type = DOMAIN;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/lang/w_pow.c b/libjava/java/lang/w_pow.c
new file mode 100644
index 0000000..3df099a
--- /dev/null
+++ b/libjava/java/lang/w_pow.c
@@ -0,0 +1,231 @@
+
+
+/* @(#)w_pow.c 5.2 93/10/01 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<pow>>, <<powf>>---x to the power y
+INDEX
+ pow
+INDEX
+ powf
+
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double pow(double <[x]>, double <[y]>);
+ float pow(float <[x]>, float <[y]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double pow(<[x]>, <[y]>);
+ double <[x]>, <[y]>;
+
+ float pow(<[x]>, <[y]>);
+ float <[x]>, <[y]>;
+
+DESCRIPTION
+ <<pow>> and <<powf>> calculate <[x]> raised to the exp1.0nt <[y]>.
+ @tex
+ (That is, $x^y$.)
+ @end tex
+
+RETURNS
+ On success, <<pow>> and <<powf>> return the value calculated.
+
+ When the argument values would produce overflow, <<pow>>
+ returns <<HUGE_VAL>> and set <<errno>> to <<ERANGE>>. If the
+ argument <[x]> passed to <<pow>> or <<powf>> is a negative
+ noninteger, and <[y]> is also not an integer, then <<errno>>
+ is set to <<EDOM>>. If <[x]> and <[y]> are both 0, then
+ <<pow>> and <<powf>> return <<1>>.
+
+ You can modify error handling for these functions using <<matherr>>.
+
+PORTABILITY
+ <<pow>> is ANSI C. <<powf>> is an extension. */
+
+/*
+ * wrapper pow(x,y) return x**y
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double pow(double x, double y) /* wrapper pow */
+#else
+ double pow(x,y) /* wrapper pow */
+ double x,y;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_pow(x,y);
+#else
+ double z;
+#ifndef HUGE_VAL
+#define HUGE_VAL inf
+ double inf = 0.0;
+
+ SET_HIGH_WORD(inf,0x7ff00000); /* set inf to infinite */
+#endif
+ struct exception exc;
+ z=__ieee754_pow(x,y);
+ if(_LIB_VERSION == _IEEE_|| isnan(y)) return z;
+ if(isnan(x)) {
+ if(y==0.0) {
+ /* pow(NaN,0.0) */
+ /* error only if _LIB_VERSION == _SVID_ & _XOPEN_ */
+ exc.type = DOMAIN;
+ exc.name = "pow";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = y;
+ exc.retval = x;
+ if (_LIB_VERSION == _IEEE_ ||
+ _LIB_VERSION == _POSIX_) exc.retval = 1.0;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+ }
+ if(x==0.0){
+ if(y==0.0) {
+ /* pow(0.0,0.0) */
+ /* error only if _LIB_VERSION == _SVID_ */
+ exc.type = DOMAIN;
+ exc.name = "pow";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = y;
+ exc.retval = 0.0;
+ if (_LIB_VERSION != _SVID_) exc.retval = 1.0;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ if(finite(y)&&y<0.0) {
+ /* 0**neg */
+ exc.type = DOMAIN;
+ exc.name = "pow";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = y;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = 0.0;
+ else
+ exc.retval = -HUGE_VAL;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ return z;
+ }
+ if(!finite(z)) {
+ if(finite(x)&&finite(y)) {
+ if(isnan(z)) {
+ /* neg**non-integral */
+ exc.type = DOMAIN;
+ exc.name = "pow";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = y;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = 0.0;
+ else
+ exc.retval = 0.0/0.0; /* X/Open allow NaN */
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else {
+ /* pow(x,y) overflow */
+ exc.type = OVERFLOW;
+ exc.name = "pow";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = y;
+ if (_LIB_VERSION == _SVID_) {
+ exc.retval = HUGE;
+ y *= 0.5;
+ if(x<0.0&&rint(y)!=y) exc.retval = -HUGE;
+ } else {
+ exc.retval = HUGE_VAL;
+ y *= 0.5;
+ if(x<0.0&&rint(y)!=y) exc.retval = -HUGE_VAL;
+ }
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ }
+ }
+ if(z==0.0&&finite(x)&&finite(y)) {
+ /* pow(x,y) underflow */
+ exc.type = UNDERFLOW;
+ exc.name = "pow";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = y;
+ exc.retval = 0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = ERANGE;
+ else if (!matherr(&exc)) {
+ errno = ERANGE;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ }
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/libjava/java/lang/w_remainder.c b/libjava/java/lang/w_remainder.c
new file mode 100644
index 0000000..a06be0e
--- /dev/null
+++ b/libjava/java/lang/w_remainder.c
@@ -0,0 +1,119 @@
+
+/* @(#)w_remainder.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+<<rint>>, <<rintf>>, <<remainder>>, <<remainderf>>---round and remainder
+INDEX
+ rint
+INDEX
+ rintf
+INDEX
+ remainder
+INDEX
+ remainderf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double rint(double <[x]>);
+ float rintf(float <[x]>);
+ double remainder(double <[x]>, double <[y]>);
+ float remainderf(float <[x]>, float <[y]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double rint(<[x]>)
+ double <[x]>;
+ float rintf(<[x]>)
+ float <[x]>;
+ double remainder(<[x]>,<[y]>)
+ double <[x]>, <[y]>;
+ float remainderf(<[x]>,<[y]>)
+ float <[x]>, <[y]>;
+
+DESCRIPTION
+<<rint>> and <<rintf>> returns their argument rounded to the nearest
+integer. <<remainder>> and <<remainderf>> find the remainder of
+<[x]>/<[y]>; this value is in the range -<[y]>/2 .. +<[y]>/2.
+
+RETURNS
+<<rint>> and <<remainder>> return the integer result as a double.
+
+PORTABILITY
+<<rint>> and <<remainder>> are System V release 4. <<rintf>> and
+<<remainderf>> are extensions.
+
+*/
+
+/*
+ * wrapper remainder(x,p)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double remainder(double x, double y) /* wrapper remainder */
+#else
+ double remainder(x,y) /* wrapper remainder */
+ double x,y;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_remainder(x,y);
+#else
+ double z;
+ struct exception exc;
+ z = __ieee754_remainder(x,y);
+ if(_LIB_VERSION == _IEEE_ || isnan(y)) return z;
+ if(y==0.0) {
+ /* remainder(x,0) */
+ exc.type = DOMAIN;
+ exc.name = "remainder";
+ exc.err = 0;
+ exc.arg1 = x;
+ exc.arg2 = y;
+ exc.retval = 0.0/0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/libjava/java/lang/w_sqrt.c b/libjava/java/lang/w_sqrt.c
new file mode 100644
index 0000000..23a793c
--- /dev/null
+++ b/libjava/java/lang/w_sqrt.c
@@ -0,0 +1,93 @@
+
+/* @(#)w_sqrt.c 5.1 93/09/24 */
+/*
+ * ====================================================
+ * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
+ *
+ * Developed at SunPro, a Sun Microsystems, Inc. business.
+ * Permission to use, copy, modify, and distribute this
+ * software is freely granted, provided that this notice
+ * is preserved.
+ * ====================================================
+ */
+
+/*
+FUNCTION
+ <<sqrt>>, <<sqrtf>>---positive square root
+
+INDEX
+ sqrt
+INDEX
+ sqrtf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double sqrt(double <[x]>);
+ float sqrtf(float <[x]>);
+
+TRAD_SYNOPSIS
+ #include <math.h>
+ double sqrt(<[x]>);
+ float sqrtf(<[x]>);
+
+DESCRIPTION
+ <<sqrt>> computes the positive square root of the argument.
+ You can modify error handling for this function with
+ <<matherr>>.
+
+RETURNS
+ On success, the square root is returned. If <[x]> is real and
+ positive, then the result is positive. If <[x]> is real and
+ negative, the global value <<errno>> is set to <<EDOM>> (domain error).
+
+
+PORTABILITY
+ <<sqrt>> is ANSI C. <<sqrtf>> is an extension.
+*/
+
+/*
+ * wrapper sqrt(x)
+ */
+
+#include "fdlibm.h"
+#include <errno.h>
+
+#ifndef _DOUBLE_IS_32BITS
+
+#ifdef __STDC__
+ double sqrt(double x) /* wrapper sqrt */
+#else
+ double sqrt(x) /* wrapper sqrt */
+ double x;
+#endif
+{
+#ifdef _IEEE_LIBM
+ return __ieee754_sqrt(x);
+#else
+ struct exception exc;
+ double z;
+ z = __ieee754_sqrt(x);
+ if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
+ if(x<0.0) {
+ exc.type = DOMAIN;
+ exc.name = "sqrt";
+ exc.err = 0;
+ exc.arg1 = exc.arg2 = x;
+ if (_LIB_VERSION == _SVID_)
+ exc.retval = 0.0;
+ else
+ exc.retval = 0.0/0.0;
+ if (_LIB_VERSION == _POSIX_)
+ errno = EDOM;
+ else if (!matherr(&exc)) {
+ errno = EDOM;
+ }
+ if (exc.err != 0)
+ errno = exc.err;
+ return exc.retval;
+ } else
+ return z;
+#endif
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */
diff --git a/libjava/java/net/BindException.java b/libjava/java/net/BindException.java
new file mode 100644
index 0000000..5f7b491
--- /dev/null
+++ b/libjava/java/net/BindException.java
@@ -0,0 +1,35 @@
+// BindException.java
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 5, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+public class BindException extends SocketException
+{
+ public BindException()
+ {
+ super();
+ }
+
+ public BindException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/net/ConnectException.java b/libjava/java/net/ConnectException.java
new file mode 100644
index 0000000..d4d3a48
--- /dev/null
+++ b/libjava/java/net/ConnectException.java
@@ -0,0 +1,35 @@
+// ConnectException.java
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 5, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+public class ConnectException extends SocketException
+{
+ public ConnectException()
+ {
+ super();
+ }
+
+ public ConnectException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/net/ContentHandler.java b/libjava/java/net/ContentHandler.java
new file mode 100644
index 0000000..fd2e3b1
--- /dev/null
+++ b/libjava/java/net/ContentHandler.java
@@ -0,0 +1,29 @@
+// ContentHandler.java - Superclass of classes that read from a URLConnection.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+import java.io.IOException;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 5, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+public abstract class ContentHandler
+{
+ public abstract Object getContent(URLConnection urlc) throws IOException;
+}
diff --git a/libjava/java/net/ContentHandlerFactory.java b/libjava/java/net/ContentHandlerFactory.java
new file mode 100644
index 0000000..ee6dcff
--- /dev/null
+++ b/libjava/java/net/ContentHandlerFactory.java
@@ -0,0 +1,27 @@
+// ContentHandlerFactory.java - Abstract Content Handler factory.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 5, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+public abstract interface ContentHandlerFactory
+{
+ public ContentHandler createContentHandler(String mimetype);
+}
diff --git a/libjava/java/net/FileNameMap.java b/libjava/java/net/FileNameMap.java
new file mode 100644
index 0000000..24e8ef8
--- /dev/null
+++ b/libjava/java/net/FileNameMap.java
@@ -0,0 +1,27 @@
+// FileNameMap.java - Abstract interface to map from a File Name to MIME type.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 5, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+public abstract interface FileNameMap
+{
+ public String getContentTypeFor(String fileName);
+}
diff --git a/libjava/java/net/HttpURLConnection.java b/libjava/java/net/HttpURLConnection.java
new file mode 100644
index 0000000..8b05b73
--- /dev/null
+++ b/libjava/java/net/HttpURLConnection.java
@@ -0,0 +1,174 @@
+// HttpURLConnection.java - Subclass of communications links using
+// Hypertext Transfer Protocol.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+import java.io.*;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 29, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+public abstract class HttpURLConnection extends URLConnection
+{
+ /* HTTP Success Response Codes */
+ public static final int HTTP_OK = 200;
+ public static final int HTTP_CREATED = 201;
+ public static final int HTTP_ACCEPTED = 202;
+ public static final int HTTP_NOT_AUTHORITATIVE = 203;
+ public static final int HTTP_NO_CONTENT = 204;
+ public static final int HTTP_RESET = 205;
+ public static final int HTTP_PARTIAL = 206;
+
+ /* HTTP Redirection Response Codes */
+ public static final int HTTP_MULT_CHOICE = 300;
+ public static final int HTTP_MOVED_PERM = 301;
+ public static final int HTTP_MOVED_TEMP = 302;
+ public static final int HTTP_SEE_OTHER = 303;
+ public static final int HTTP_NOT_MODIFIED = 304;
+ public static final int HTTP_USE_PROXY = 305;
+
+ /* HTTP Client Error Response Codes */
+ public static final int HTTP_BAD_REQUEST = 400;
+ public static final int HTTP_UNAUTHORIZED = 401;
+ public static final int HTTP_PAYMENT_REQUIRED = 402;
+ public static final int HTTP_FORBIDDEN = 403;
+ public static final int HTTP_NOT_FOUND = 404;
+ public static final int HTTP_BAD_METHOD = 405;
+ public static final int HTTP_NOT_ACCEPTABLE = 406;
+ public static final int HTTP_PROXY_AUTH = 407;
+ public static final int HTTP_CLIENT_TIMEOUT = 408;
+ public static final int HTTP_CONFLICT = 409;
+ public static final int HTTP_GONE = 410;
+ public static final int HTTP_LENGTH_REQUIRED = 411;
+ public static final int HTTP_PRECON_FAILED = 412;
+ public static final int HTTP_ENTITY_TOO_LARGE = 413;
+ public static final int HTTP_REQ_TOO_LONG = 414;
+ public static final int HTTP_UNSUPPORTED_TYPE = 415;
+
+ /* HTTP Server Error Response Codes */
+ public static final int HTTP_SERVER_ERROR = 500;
+ public static final int HTTP_INTERNAL_ERROR = 501;
+ public static final int HTTP_BAD_GATEWAY = 502;
+ public static final int HTTP_UNAVAILABLE = 503;
+ public static final int HTTP_GATEWAY_TIMEOUT = 504;
+ public static final int HTTP_VERSION = 505;
+
+ protected String method = "GET";
+ protected int responseCode = -1;
+ protected String responseMessage;
+
+ static boolean followRedirects = true;
+
+ protected HttpURLConnection(URL url)
+ {
+ super(url);
+ }
+
+ public abstract void disconnect();
+
+ public abstract boolean usingProxy();
+
+ public static void setFollowRedirects(boolean set)
+ {
+ // Throw an exception if an extant security mgr precludes
+ // setting the factory.
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkSetFactory();
+
+ followRedirects = set;
+ }
+
+ public static boolean getFollowRedirects()
+ {
+ return followRedirects;
+ }
+
+ public void setRequestMethod(String method) throws ProtocolException
+ {
+ if (connected)
+ throw new ProtocolException("Already connected");
+
+ if (method.equals("GET") || method.equals("POST") ||
+ method.equals("HEAD") || method.equals("OPTIONS") ||
+ method.equals("PUT") || method.equals("DELETE") ||
+ method.equals("TRACE"))
+ this.method = method;
+ else
+ throw new ProtocolException("Invalid HTTP request method");
+ }
+
+ public String getRequestMethod()
+ {
+ return method;
+ }
+
+ public int getResponseCode() throws IOException
+ {
+ getResponseVals();
+ return responseCode;
+ }
+
+ public String getResponseMessage() throws IOException
+ {
+ getResponseVals();
+ return responseMessage;
+ }
+
+ private void getResponseVals() throws IOException
+ {
+ // Response is the first header received from the connection.
+ String respField = getHeaderField(0);
+ if (! respField.startsWith("HTTP/"))
+ {
+ // Set to default values on failure.
+ responseCode = -1;
+ responseMessage = null;
+ return;
+ }
+
+ int firstSpc, nextSpc;
+ firstSpc = respField.indexOf(' ');
+ nextSpc = respField.indexOf(' ', firstSpc + 1);
+ responseMessage = respField.substring(nextSpc + 1);
+ String codeStr = respField.substring(firstSpc + 1, nextSpc);
+ try
+ {
+ responseCode = Integer.parseInt(codeStr);
+ }
+ catch (NumberFormatException e)
+ {
+ // Set to default values on failure.
+ responseCode = -1;
+ responseMessage = null;
+ }
+ if (responseCode == HTTP_NOT_FOUND)
+ throw new FileNotFoundException(url.toString());
+ else if (responseCode >= 400)
+ throw new IOException(url.toString() + " " + respField);
+ }
+
+ // TODO12: public Permission getPermission() throws IOException
+ // {
+ // }
+
+ // TODO12: public InputStream getErrorStream()
+ // {
+ // }
+}
diff --git a/libjava/java/net/InetAddress.java b/libjava/java/net/InetAddress.java
new file mode 100644
index 0000000..baf5153e
--- /dev/null
+++ b/libjava/java/net/InetAddress.java
@@ -0,0 +1,255 @@
+// INetAddress.java -- An Internet Protocol (IP) address.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+/**
+ * @author Per Bothner
+ * @date January 6, 1999.
+ */
+
+/*
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * (The latter turns out to have some errors ...)
+ * Status: Believed complete and correct.
+ */
+
+public final class InetAddress
+{
+ String hostname;
+ byte[] address;
+
+ InetAddress (byte[] address, String hostname)
+ {
+ this.address = address;
+ this.hostname = hostname;
+ }
+
+ public boolean isMulticastAddress ()
+ {
+ int len = address.length;
+ if (len == 4)
+ return (address[0] & 0xF0) == 0xE0;
+ if (len == 16)
+ return address[0] == (byte) 0xFF;
+ return false;
+ }
+
+ public String getHostName ()
+ {
+ if (hostname == null)
+ lookup (null, this, false);
+ return hostname;
+ }
+
+ public byte[] getAddress ()
+ {
+ // An experiment shows that JDK1.2 returns a different byte array each
+ // time. This makes sense, in terms of security.
+ return (byte[]) address.clone();
+ }
+
+ /* Helper function due to a CNI limitation. */
+ private static InetAddress[] allocArray (int count)
+ {
+ return new InetAddress[count];
+ }
+
+ /* Helper function due to a CNI limitation. */
+ private static SecurityException checkConnect (String hostname)
+ {
+ SecurityManager s = System.getSecurityManager();
+ if (s == null)
+ return null;
+ try
+ {
+ s.checkConnect(hostname, -1);
+ return null;
+ }
+ catch (SecurityException ex)
+ {
+ return ex;
+ }
+ }
+
+ public String getHostAddress ()
+ {
+ StringBuffer sbuf = new StringBuffer(40);
+ int len = address.length;
+ int i = 0;
+ if (len == 16)
+ { // An IPv6 address.
+ for (; ; i += 2)
+ {
+ if (i >= 16)
+ return sbuf.toString();
+ int x = ((address[i] & 0xFF) << 8) | (address[i+1] & 0xFF);
+ boolean empty = sbuf.length() == 0;
+ if (empty)
+ {
+ if (i == 10 && x == 0xFFFF)
+ { // IPv4-mapped IPv6 address.
+ sbuf.append(":FFFF:");
+ break; // Continue as IPv4 address;
+ }
+ else if (i == 12)
+ { // IPv4-compatible IPv6 address.
+ sbuf.append(':');
+ break; // Continue as IPv4 address.
+ }
+ else if (i > 0)
+ sbuf.append("::");
+ }
+ else
+ sbuf.append(':');
+ if (x != 0 || i >= 14)
+ sbuf.append(Integer.toHexString(x).toUpperCase());
+ }
+ }
+ for ( ; ; )
+ {
+ sbuf.append(address[i] & 0xFF);
+ i++;
+ if (i == len)
+ break;
+ sbuf.append('.');
+ }
+ return sbuf.toString();
+ }
+
+ public int hashCode()
+ {
+ // There hashing algorithm is not specified, but a simple experiment
+ // shows that it is equal to the address, as a 32-bit big-endian integer.
+ int hash = 0;
+ int len = address.length;
+ int i = len > 4 ? len - 4 : 0;
+ for ( ; i < len; i++)
+ hash = (hash << 8) | (address[i] & 0xFF);
+ return hash;
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (obj == null || ! (obj instanceof InetAddress))
+ return false;
+ // "The Java Class Libraries" 2nd edition says "If a machine has
+ // multiple names instances of InetAddress for different name of
+ // that same machine are not equal. This is because they have
+ // different host names." This violates the description in the
+ // JDK 1.2 API documentation. A little experiementation
+ // shows that the latter is correct.
+ byte[] addr1 = address;
+ byte[] addr2 = ((InetAddress) obj).address;
+ if (addr1.length != addr2.length)
+ return false;
+ for (int i = addr1.length; --i >= 0; )
+ if (addr1[i] != addr2[i])
+ return false;
+ return true;
+ }
+
+ public String toString()
+ {
+ return getHostName()+'/'+getHostAddress();
+ }
+
+ /** If host is a valid numeric IP address, return the numeric address.
+ * Otherwise, return null. */
+ private static native byte[] aton (String host);
+
+ private static native InetAddress[] lookup
+ (String hostname, InetAddress addr, boolean all);
+
+ public static InetAddress getByName (String host)
+ throws UnknownHostException
+ {
+ if (host == null)
+ return getLocalHost();
+ byte[] address = aton(host);
+ if (address != null)
+ return new InetAddress(address, null);
+ InetAddress iaddr = new InetAddress(null, null);
+ lookup(host, iaddr, false);
+ return iaddr;
+ }
+
+ public static InetAddress[] getAllByName (String host)
+ throws UnknownHostException
+ {
+ byte[] address = aton(host);
+ if (address != null)
+ {
+ InetAddress[] result = new InetAddress[1];
+ result[0] = new InetAddress(address, null);
+ return result;
+ }
+ return lookup(host, null, true);
+ }
+
+ private static final byte[] localhostAddress = { 127, 0, 0, 1 };
+
+ private static native String getLocalHostname ();
+
+ private static InetAddress localhost = null;
+
+ public static InetAddress getLocalHost() throws UnknownHostException
+ {
+ SecurityManager s = System.getSecurityManager();
+ // Experimentation shows that JDK1.2 does cache the result.
+ // However, if there is a security manager, and the cached result
+ // is other than "localhost", we need to check again.
+ if (localhost == null
+ || (s != null && localhost.address != localhostAddress))
+ getLocalHost(s);
+ return localhost;
+ }
+
+ private static synchronized void getLocalHost(SecurityManager s)
+ throws UnknownHostException
+ {
+ // Check the localhost cache again, now that we've synchronized.
+ if (s == null && localhost != null)
+ return;
+ String hostname = getLocalHostname();
+ if (s != null)
+ {
+ // "The Java Class Libraries" suggests that if the security
+ // manager disallows getting the local host name, then
+ // we use the loopback host.
+ // However, the JDK 1.2 API claims to throw SecurityException,
+ // which seems to suggest SecurityException is *not* caught.
+ // In this case, experimentation shows that former is correct.
+ try
+ {
+ // This is wrong, if the name returned from getLocalHostname()
+ // is not a fully qualified name. FIXME.
+ s.checkConnect(hostname, -1);
+ }
+ catch (SecurityException ex)
+ {
+ hostname = null;
+ }
+ }
+ if (hostname != null)
+ {
+ try
+ {
+ localhost = getByName(hostname);
+ }
+ catch (Exception ex)
+ {
+ }
+ }
+ if (localhost == null)
+ localhost = new InetAddress (localhostAddress, "localhost");
+ }
+}
diff --git a/libjava/java/net/MalformedURLException.java b/libjava/java/net/MalformedURLException.java
new file mode 100644
index 0000000..a5a8db5
--- /dev/null
+++ b/libjava/java/net/MalformedURLException.java
@@ -0,0 +1,35 @@
+// MalformedURLException.java
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 5, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+public class MalformedURLException extends java.io.IOException
+{
+ public MalformedURLException()
+ {
+ super();
+ }
+
+ public MalformedURLException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/net/NoRouteToHostException.java b/libjava/java/net/NoRouteToHostException.java
new file mode 100644
index 0000000..dc01688
--- /dev/null
+++ b/libjava/java/net/NoRouteToHostException.java
@@ -0,0 +1,35 @@
+// NoRouteToHostException.java
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 5, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+public class NoRouteToHostException extends SocketException
+{
+ public NoRouteToHostException()
+ {
+ super();
+ }
+
+ public NoRouteToHostException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/net/PlainSocketImpl.java b/libjava/java/net/PlainSocketImpl.java
new file mode 100644
index 0000000..5bc2cae
--- /dev/null
+++ b/libjava/java/net/PlainSocketImpl.java
@@ -0,0 +1,64 @@
+// natClass.cc - Implementation of java.lang.Class native methods.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+import java.io.*;
+
+class PlainSocketImpl extends SocketImpl
+{
+ int fnum = -1;
+
+ protected native void create (boolean stream) throws IOException;
+
+ protected void connect (String host, int port) throws IOException
+ {
+ connect(InetAddress.getByName(host), port);
+ }
+
+ protected native void connect (InetAddress host, int port)
+ throws IOException;
+
+ protected native void bind (InetAddress host, int port) throws IOException;
+
+ protected native void listen (int backlog) throws IOException;
+
+ private native void accept (PlainSocketImpl s) throws IOException;
+ protected void accept (SocketImpl s) throws IOException
+ {
+ accept((PlainSocketImpl) s);
+ }
+
+ private InputStream in;
+ private OutputStream out;
+
+ protected InputStream getInputStream() throws IOException
+ {
+ if (in == null)
+ in = new FileInputStream (fd);
+ return in;
+ }
+
+ protected OutputStream getOutputStream() throws IOException
+ {
+ if (out == null)
+ out = new FileOutputStream (fd);
+ return out;
+ }
+
+ protected int available () throws IOException
+ {
+ return in.available();
+ }
+
+ protected void close () throws IOException
+ {
+ fd.close();
+ }
+}
diff --git a/libjava/java/net/ProtocolException.java b/libjava/java/net/ProtocolException.java
new file mode 100644
index 0000000..f7db685
--- /dev/null
+++ b/libjava/java/net/ProtocolException.java
@@ -0,0 +1,35 @@
+// ProtocolException.java
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 5, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+public class ProtocolException extends java.io.IOException
+{
+ public ProtocolException()
+ {
+ super();
+ }
+
+ public ProtocolException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/net/ServerSocket.java b/libjava/java/net/ServerSocket.java
new file mode 100644
index 0000000..e4b5069
--- /dev/null
+++ b/libjava/java/net/ServerSocket.java
@@ -0,0 +1,105 @@
+// Socket.java
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date January 6, 1999.
+ */
+
+/** Written using on-line Java Platform 1.2 API Specification.
+ * Status: I believe all methods are implemented, but many
+ * of them just throw an exception.
+ */
+
+package java.net;
+import java.io.*;
+
+public class ServerSocket
+{
+ static SocketImplFactory factory;
+ SocketImpl impl;
+
+ public ServerSocket (int port)
+ throws java.io.IOException
+ {
+ this(port, 5);
+ }
+
+ public ServerSocket (int port, int backlog)
+ throws java.io.IOException
+ {
+ this(port, backlog, InetAddress.getLocalHost());
+ }
+
+ public ServerSocket (int port, int backlog, InetAddress bindAddr)
+ throws java.io.IOException
+ {
+ if (factory == null)
+ this.impl = new PlainSocketImpl();
+ else
+ this.impl = factory.createSocketImpl();
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkListen(port);
+ impl.create(true);
+ impl.bind(bindAddr, port);
+ impl.listen(backlog);
+ }
+
+ public InetAddress getInetAddress()
+ {
+ return impl.getInetAddress();
+ }
+
+ public int getLocalPort()
+ {
+ return impl.getLocalPort();
+ }
+
+ public Socket accept () throws IOException
+ {
+ Socket s = new Socket(Socket.factory == null ? new PlainSocketImpl()
+ : Socket.factory.createSocketImpl());
+ implAccept (s);
+ return s;
+ }
+
+ protected final void implAccept (Socket s) throws IOException
+ {
+ impl.accept(s.impl);
+ }
+
+ public void close () throws IOException
+ {
+ impl.close();
+ }
+
+ public void setSoTimeout (int timeout) throws SocketException
+ {
+ throw new InternalError("ServerSocket.setSoTimeout not implemented");
+ }
+
+ public int getSoTimeout () throws SocketException
+ {
+ throw new InternalError("ServerSocket.getSoTimeout not implemented");
+ }
+
+ public String toString ()
+ {
+ return impl.toString();
+ }
+
+ public static void setSocketImplFactory (SocketImplFactory fac)
+ throws IOException
+ {
+ factory = fac;
+ }
+
+}
diff --git a/libjava/java/net/Socket.java b/libjava/java/net/Socket.java
new file mode 100644
index 0000000..8c027d9
--- /dev/null
+++ b/libjava/java/net/Socket.java
@@ -0,0 +1,209 @@
+// Socket.java
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date January 6, 1999.
+ */
+
+/** Written using on-line Java Platform 1.2 API Specification.
+ * Status: I believe all methods are implemented, but many
+ * of them just throw an exception.
+ */
+
+package java.net;
+import java.io.*;
+
+public class Socket
+{
+ static SocketImplFactory factory;
+ SocketImpl impl;
+
+ protected Socket ()
+ {
+ }
+
+ protected Socket (SocketImpl impl) throws SocketException
+ {
+ this.impl = impl;
+ }
+
+ public Socket (String host, int port)
+ throws UnknownHostException, IOException
+ {
+ this(factory == null ? new PlainSocketImpl() : factory.createSocketImpl());
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkConnect(host, port);
+ impl.create(true);
+ impl.connect(host, port);
+ }
+
+ public Socket (InetAddress address, int port)
+ throws IOException
+ {
+ this(factory == null ? new PlainSocketImpl() : factory.createSocketImpl());
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkConnect(address.getHostName(), port);
+ impl.create(true);
+ impl.connect(address, port);
+ }
+
+ public Socket (String host, int port,
+ InetAddress localAddr, int localPort) throws IOException
+ {
+ this(factory == null ? new PlainSocketImpl() : factory.createSocketImpl());
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkConnect(host, port);
+ impl.create(true);
+ impl.bind(localAddr, localPort);
+ impl.connect(host, port);
+ }
+
+ public Socket (InetAddress address, int port,
+ InetAddress localAddr, int localPort) throws IOException
+ {
+ this(factory == null ? new PlainSocketImpl() : factory.createSocketImpl());
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkConnect(address.getHostName(), port);
+ impl.create(true);
+ impl.bind(localAddr, localPort);
+ impl.connect(address, port);
+ }
+
+ /**
+ * @deprecated Use DatagramSocket instead for UDP transport.
+ */
+ public Socket (String host, int port, boolean stream) throws IOException
+ {
+ impl = factory == null ? new PlainSocketImpl()
+ : factory.createSocketImpl();
+ impl.create(stream);
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkConnect(host, port);
+ impl.connect(host, port);
+ }
+
+ /**
+ * @deprecated Use DatagramSocket instead for UDP transport.
+ */
+ public Socket (InetAddress host, int port, boolean stream) throws IOException
+ {
+ impl = factory == null ? new PlainSocketImpl()
+ : factory.createSocketImpl();
+ impl.create(stream);
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkConnect(host.getHostName(), port);
+ impl.connect(host, port);
+ }
+
+ public InetAddress getInetAddress ()
+ {
+ return impl.getInetAddress();
+ }
+
+ public InetAddress getLocalAddress ()
+ {
+ // There doesn't seem to be any way to implement this
+ // using a (generic) SocketImpl ... What am I missing?
+ throw new InternalError("Socket.getLocalAddres not implemented");
+ }
+
+ public int getPort ()
+ {
+ return impl.getPort();
+ }
+
+ public int getLocalPort ()
+ {
+ return impl.getLocalPort();
+ }
+
+ public InputStream getInputStream () throws IOException
+ {
+ return impl.getInputStream();
+ }
+
+ public OutputStream getOutputStream () throws IOException
+ {
+ return impl.getOutputStream();
+ }
+
+ public void setTcpNoDelay (boolean on) throws SocketException
+ {
+ throw new InternalError("Socket.setTcpNoDelay not implemented");
+ }
+
+ public boolean getTcpNoDelay() throws SocketException
+ {
+ throw new InternalError("Socket.getTcpNoDelay not implemented");
+ }
+
+ public void setSoLinger(boolean on, int linger) throws SocketException
+ {
+ throw new InternalError("Socket.setSoLinger not implemented");
+ }
+
+ public boolean getSoLinger() throws SocketException
+ {
+ throw new InternalError("Socket.getSoLinger not implemented");
+ }
+
+ public void setSoTimeout (int timeout) throws SocketException
+ {
+ throw new InternalError("Socket.setSoTimeout not implemented");
+ }
+
+ public int getSoTimeout () throws SocketException
+ {
+ throw new InternalError("Socket.getSoTimeout not implemented");
+ }
+
+ public void setSendBufferSize (int size) throws SocketException
+ {
+ throw new InternalError("Socket.setSendBufferSize not implemented");
+ }
+
+ public int getSendBufferSize () throws SocketException
+ {
+ throw new InternalError("Socket.getSendBufferSize not implemented");
+ }
+
+ public void setReceiveBufferSize (int size) throws SocketException
+ {
+ throw new InternalError("Socket.setReceiveBufferSize not implemented");
+ }
+
+ public int getReceiveBufferSize () throws SocketException
+ {
+ throw new InternalError("Socket.getReceiveBufferSize not implemented");
+ }
+
+ public void close () throws IOException
+ {
+ impl.close();
+ }
+
+ public String toString ()
+ {
+ return impl.toString();
+ }
+
+ public static void setSocketImplFactory (SocketImplFactory fac)
+ throws IOException
+ {
+ factory = fac;
+ }
+}
diff --git a/libjava/java/net/SocketException.java b/libjava/java/net/SocketException.java
new file mode 100644
index 0000000..24a50ef
--- /dev/null
+++ b/libjava/java/net/SocketException.java
@@ -0,0 +1,33 @@
+// SocketException.java - Base class for networking exceptions
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+/**
+ * @author Per Bothner
+ * @date January 6, 1999.
+ */
+
+/** Written using on-line Java Platform 1.2 API Specification.
+ * Believed complete and correct.
+ */
+
+public class SocketException extends java.io.IOException
+{
+ public SocketException ()
+ {
+ super();
+ }
+
+ public SocketException (String s)
+ {
+ super(s);
+ }
+}
diff --git a/libjava/java/net/SocketImpl.java b/libjava/java/net/SocketImpl.java
new file mode 100644
index 0000000..5ad3118
--- /dev/null
+++ b/libjava/java/net/SocketImpl.java
@@ -0,0 +1,70 @@
+// SocketImpl.java - Abstract socket implementation.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+import java.io.*;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date January 6, 1999.
+ */
+
+/** Written using on-line Java Platform 1.2 API Specification.
+ * Believed complete and correct, except for implementation of toString.
+ */
+
+public abstract class SocketImpl
+{
+ protected InetAddress address;
+
+ protected FileDescriptor fd;
+
+ protected int localport;
+
+ protected int port;
+
+ public SocketImpl ()
+ {
+ }
+
+ protected abstract void create (boolean stream) throws IOException;
+
+ protected abstract void connect (String host, int port) throws IOException;
+
+ protected abstract void connect (InetAddress host, int port)
+ throws IOException;
+
+ protected abstract void bind (InetAddress host, int port) throws IOException;
+
+ protected abstract void listen (int backlog) throws IOException;
+
+ protected abstract void accept (SocketImpl s) throws IOException;
+
+ protected abstract InputStream getInputStream() throws IOException;
+
+ protected abstract OutputStream getOutputStream() throws IOException;
+
+ protected abstract int available () throws IOException;
+
+ protected abstract void close () throws IOException;
+
+ protected FileDescriptor getFileDescriptor () { return fd; }
+
+ protected InetAddress getInetAddress () { return address; }
+
+ protected int getPort () { return port; }
+
+ protected int getLocalPort () { return localport; }
+
+ public String toString ()
+ {
+ return super.toString(); // FIXME
+ }
+}
diff --git a/libjava/java/net/SocketImplFactory.java b/libjava/java/net/SocketImplFactory.java
new file mode 100644
index 0000000..7631ab8
--- /dev/null
+++ b/libjava/java/net/SocketImplFactory.java
@@ -0,0 +1,25 @@
+// SocketImplFactory.java - Abstract socket implementation factory.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date January 6, 1999.
+ */
+
+/** Written using on-line Java Platform 1.2 API Specification.
+ * Status: Believed complete and correct.
+ */
+
+public abstract interface SocketImplFactory
+{
+ public SocketImpl createSocketImpl ();
+}
diff --git a/libjava/java/net/URL.java b/libjava/java/net/URL.java
new file mode 100644
index 0000000..da56f49
--- /dev/null
+++ b/libjava/java/net/URL.java
@@ -0,0 +1,341 @@
+// URL.java - A Uniform Resource Locator.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+import java.io.*;
+import java.util.Hashtable;
+import java.util.StringTokenizer;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 4, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+public final class URL implements Serializable
+{
+ private String protocol;
+ private String host;
+ private int port;
+ private String file;
+ private String ref;
+ private URLStreamHandler handler;
+ private static Hashtable handlers = new Hashtable();
+ private static URLStreamHandlerFactory factory;
+
+ public URL(String protocol, String host, int port, String file)
+ throws MalformedURLException
+ {
+ this(protocol, host, port, file, null);
+ }
+
+ public URL(String protocol, String host, String file)
+ throws MalformedURLException
+ {
+ this(protocol, host, -1, file, null);
+ }
+
+ // JDK1.2
+ public URL(String protocol, String host, int port, String file,
+ URLStreamHandler handler) throws MalformedURLException
+ {
+ if (protocol == null)
+ throw new MalformedURLException("null protocol");
+ this.protocol = protocol;
+
+ if (handler != null)
+ {
+ // TODO12: Need SecurityManager.checkPermission and
+ // TODO12: java.net.NetPermission from JDK 1.2 to be implemented.
+ // Throw an exception if an extant security mgr precludes
+ // specifying a StreamHandler.
+ //
+ // SecurityManager s = System.getSecurityManager();
+ // if (s != null)
+ // s.checkPermission(NetPermission("specifyStreamHandler"));
+
+ this.handler = handler;
+ }
+ else
+ this.handler = setURLStreamHandler(protocol);
+
+ if (this.handler == null)
+ throw new MalformedURLException("Handler for protocol not found");
+
+ this.host = host;
+
+ this.port = port;
+
+ int hashAt = file.indexOf('#');
+ if (hashAt < 0)
+ {
+ this.file = file;
+ this.ref = null;
+ }
+ else
+ {
+ this.file = file.substring(0, hashAt);
+ this.ref = file.substring(hashAt + 1);
+ }
+ }
+
+ public URL(String spec) throws MalformedURLException
+ {
+ this((URL) null, spec, (URLStreamHandler) null);
+ }
+
+ public URL(URL context, String spec) throws MalformedURLException
+ {
+ this(context, spec, (URLStreamHandler) null);
+ }
+
+ // JDK1.2
+ public URL(URL context, String spec, URLStreamHandler handler)
+ throws MalformedURLException
+ {
+ /* A protocol is defined by the doc as the substring before a ':'
+ * as long as the ':' occurs before any '/'.
+ *
+ * If context is null, then spec must be an absolute URL.
+ *
+ * The relative URL need not specify all the components of a URL.
+ * If the protocol, host name, or port number is missing, the value
+ * is inherited from the context. A bare file component is appended
+ * to the context's file. The optional anchor is not inherited.
+ */
+
+ int colon;
+ int slash;
+ if ((colon = spec.indexOf(':')) > 0 &&
+ (colon < (slash = spec.indexOf('/')) || slash < 0))
+ {
+ // Protocol specified in spec string.
+ protocol = spec.substring(0, colon);
+ if (context != null && context.protocol == protocol)
+ {
+ // The 1.2 doc specifically says these are copied to the new URL.
+ host = context.host;
+ port = context.port;
+ file = context.file;
+ }
+ }
+ else if (context != null)
+ {
+ // Protocol NOT specified in spec string.
+ // Use context fields (except ref) as a foundation for relative URLs.
+ colon = -1;
+ protocol = context.protocol;
+ host = context.host;
+ port = context.port;
+ file = context.file;
+ }
+ else // Protocol NOT specified in spec. and no context available.
+ throw new
+ MalformedURLException("Absolute URL required with null context");
+
+ if (handler != null)
+ {
+ // TODO12: Need SecurityManager.checkPermission and
+ // TODO12: java.net.NetPermission from JDK 1.2 to be implemented.
+ // Throw an exception if an extant security mgr precludes
+ // specifying a StreamHandler.
+ //
+ // SecurityManager s = System.getSecurityManager();
+ // if (s != null)
+ // s.checkPermission(NetPermission("specifyStreamHandler"));
+
+ this.handler = handler;
+ }
+ else
+ this.handler = setURLStreamHandler(protocol);
+
+ if (this.handler == null)
+ throw new MalformedURLException("Handler for protocol not found");
+
+ // JDK 1.2 doc for parseURL specifically states that any '#' ref
+ // is to be excluded by passing the 'limit' as the indexOf the '#'
+ // if one exists, otherwise pass the end of the string.
+ int hashAt = spec.indexOf('#', colon + 1);
+ this.handler.parseURL(this, spec, colon + 1,
+ hashAt < 0 ? spec.length() : hashAt);
+ if (hashAt >= 0)
+ ref = spec.substring(hashAt + 1);
+ }
+
+ public boolean equals(Object obj)
+ {
+ if (obj == null || ! (obj instanceof URL))
+ return false;
+
+ URL uObj = (URL) obj;
+ if (protocol != uObj.protocol || host != uObj.host || port != uObj.port ||
+ file != uObj.file || ref != uObj.ref)
+ return false;
+
+ return true;
+ }
+
+ public final Object getContent() throws IOException
+ {
+ return openConnection().getContent();
+ }
+
+ public String getFile()
+ {
+ return file;
+ }
+
+ public String getHost()
+ {
+ return host;
+ }
+
+ public int getPort()
+ {
+ return port;
+ }
+
+ public String getProtocol()
+ {
+ return protocol;
+ }
+
+ public String getRef()
+ {
+ return ref;
+ }
+
+ public int hashCode()
+ {
+ // JCL book says this is computed using (only) the hashcodes of the
+ // protocol, host and file fields. Empirical evidence indicates this
+ // is probably XOR.
+ return (protocol.hashCode() ^ host.hashCode() ^ file.hashCode());
+ }
+
+ public URLConnection openConnection() throws IOException
+ {
+ return handler.openConnection(this);
+ }
+
+ public final InputStream openStream() throws IOException
+ {
+ return openConnection().getInputStream();
+ }
+
+ public boolean sameFile(URL other)
+ {
+ if (other == null || protocol != other.protocol || host != other.host ||
+ port != other.port || file != other.file)
+ return false;
+
+ return true;
+ }
+
+ protected void set(String protocol, String host, int port, String file,
+ String ref)
+ {
+ // TBD: Theoretically, a poorly written StreamHandler could pass an
+ // invalid protocol. It will cause the handler to be set to null
+ // thus overriding a valid handler. Callers of this method should
+ // be aware of this.
+ this.handler = setURLStreamHandler(protocol);
+ this.protocol = protocol;
+ this.port = port;
+ this.host = host;
+ this.file = file;
+ this.ref = ref;
+ }
+
+ public static synchronized void
+ setURLStreamHandlerFactory(URLStreamHandlerFactory fac)
+ {
+ if (factory != null)
+ throw new Error("URLStreamHandlerFactory already set");
+
+ // Throw an exception if an extant security mgr precludes
+ // setting the factory.
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkSetFactory();
+ factory = fac;
+ }
+
+ public String toExternalForm()
+ {
+ // Identical to toString().
+ return handler.toExternalForm(this);
+ }
+
+ public String toString()
+ {
+ // Identical to toExternalForm().
+ return handler.toExternalForm(this);
+ }
+
+ private URLStreamHandler setURLStreamHandler(String protocol)
+ {
+ URLStreamHandler handler;
+
+ // See if a handler has been cached for this protocol.
+ if ((handler = (URLStreamHandler) handlers.get(protocol)) != null)
+ return handler;
+
+ // If a non-default factory has been set, use it to find the protocol.
+ if (factory != null)
+ handler = factory.createURLStreamHandler(protocol);
+
+ // Non-default factory may have returned null or a factory wasn't set.
+ // Use the default search algorithm to find a handler for this protocol.
+ if (handler == null)
+ {
+ // Get the list of packages to check and append our default handler
+ // to it, along with the JDK specified default as a last resort.
+ // Except in very unusual environments the JDK specified one shouldn't
+ // ever be needed (or available).
+ String propVal = System.getProperty("java.protocol.handler.pkgs");
+ propVal = (propVal == null) ? "" : (propVal + "|");
+ propVal = propVal + "gnu.gcj.protocol|sun.net.www.protocol";
+
+ StringTokenizer pkgPrefix = new StringTokenizer(propVal, "|");
+ do
+ {
+ String facName = pkgPrefix.nextToken() + "." + protocol +
+ ".Handler";
+ try
+ {
+ handler =
+ (URLStreamHandler) Class.forName(facName).newInstance();
+ }
+ catch (Exception e)
+ {
+ // Can't instantiate; handler still null, go on to next element.
+ }
+ } while ((handler == null ||
+ ! (handler instanceof URLStreamHandler)) &&
+ pkgPrefix.hasMoreTokens());
+ }
+
+ // Update the hashtable with the new protocol handler.
+ if (handler != null)
+ if (handler instanceof URLStreamHandler)
+ handlers.put(protocol, handler);
+ else
+ handler = null;
+
+ return handler;
+ }
+}
diff --git a/libjava/java/net/URLConnection.java b/libjava/java/net/URLConnection.java
new file mode 100644
index 0000000..12e8a8b
--- /dev/null
+++ b/libjava/java/net/URLConnection.java
@@ -0,0 +1,423 @@
+// URLConnection.java - Superclass of all communications links between
+// an application and a URL.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+import java.io.*;
+import java.text.ParsePosition;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.Locale;
+import java.util.Hashtable;
+import java.util.StringTokenizer;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 5, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Two guessContentTypeFrom... methods not implemented.
+ * getContent method assumes content type from response; see comment there.
+ */
+
+public abstract class URLConnection
+{
+ protected URL url;
+ protected boolean doInput = true;
+ protected boolean doOutput = false;
+ protected boolean allowUserInteraction;
+ protected boolean useCaches;
+ protected long ifModifiedSince = 0L;
+ protected boolean connected = false;
+ private static boolean defaultAllowUserInteraction = false;
+ private static boolean defaultUseCaches = true;
+ private static FileNameMap fileNameMap; // Set by the URLConnection subclass.
+ private static ContentHandlerFactory factory;
+ private static ContentHandler contentHandler;
+ private static Hashtable handlers = new Hashtable();
+ private static Locale locale = new Locale("En", "Us", "Unix");
+ private static SimpleDateFormat dateFormat1 =
+ new SimpleDateFormat("EEE, dd MMM yyyy hh:mm:ss 'GMT'", locale);
+ private static SimpleDateFormat dateFormat2 =
+ new SimpleDateFormat("EEEE, dd-MMM-yy hh:mm:ss 'GMT'", locale);
+ private static SimpleDateFormat dateFormat3 =
+ new SimpleDateFormat("EEE MMM d hh:mm:ss yyyy", locale);
+
+ protected URLConnection(URL url)
+ {
+ this.url = url;
+ allowUserInteraction = defaultAllowUserInteraction;
+ useCaches = defaultUseCaches;
+ }
+
+ public abstract void connect() throws IOException;
+
+ public URL getURL()
+ {
+ return url;
+ }
+
+ public int getContentLength()
+ {
+ return getHeaderFieldInt("content-length", -1);
+ }
+
+ public String getContentType()
+ {
+ return getHeaderField("content-type");
+ }
+
+ public String getContentEncoding()
+ {
+ return getHeaderField("content-encoding");
+ }
+
+ public long getExpiration()
+ {
+ return getHeaderFieldDate("expiration", 0L);
+ }
+
+ public long getDate()
+ {
+ return getHeaderFieldDate("date", 0L);
+ }
+
+ public long getLastModified()
+ {
+ return getHeaderFieldDate("last-modified", 0L);
+ }
+
+ public String getHeaderField(int n)
+ {
+ // Subclasses for specific protocols override this.
+ return null;
+ }
+
+ public String getHeaderField(String name)
+ {
+ // Subclasses for specific protocols override this.
+ return null;
+ }
+
+ public int getHeaderFieldInt(String name, int val)
+ {
+ String str = getHeaderField(name);
+ try
+ {
+ if (str != null)
+ val = Integer.parseInt(str);
+ }
+ catch (NumberFormatException e)
+ {
+ ; // Do nothing; val is the default.
+ }
+ return val;
+ }
+
+ public long getHeaderFieldDate(String name, long val)
+ {
+ String str = getHeaderField(name);
+ if (str != null)
+ {
+ Date date;
+ if ((date = dateFormat1.parse(str, new ParsePosition(0))) != null)
+ val = date.getTime();
+ else if ((date = dateFormat2.parse(str, new ParsePosition(0))) != null)
+ val = date.getTime();
+ else if ((date = dateFormat3.parse(str, new ParsePosition(0))) != null)
+ val = date.getTime();
+ }
+ return val;
+ }
+
+ public String getHeaderFieldKey(int n)
+ {
+ // Subclasses for specific protocols override this.
+ return null;
+ }
+
+ public Object getContent() throws IOException
+ {
+ // FIXME: Doc indicates that other criteria should be applied as
+ // heuristics to determine the true content type, e.g. see
+ // guessContentTypeFromName() and guessContentTypeFromStream methods
+ // as well as FileNameMap class & fileNameMap field & get/set methods.
+ String cType = getContentType();
+ contentHandler = setContentHandler(cType);
+ if (contentHandler == null)
+ return getInputStream();
+
+ return contentHandler.getContent(this);
+ }
+
+// TODO12: public Permission getPermission() throws IOException
+// {
+// // Subclasses may override this.
+// return java.security.AllPermission;
+// }
+
+ public InputStream getInputStream() throws IOException
+ {
+ // Subclasses for specific protocols override this.
+ throw new UnknownServiceException("Protocol " + url.getProtocol() +
+ " does not support input.");
+ }
+
+ public OutputStream getOutputStream() throws IOException
+ {
+ // Subclasses for specific protocols override this.
+ throw new UnknownServiceException("Protocol " + url.getProtocol() +
+ " does not support output.");
+ }
+
+ public String toString()
+ {
+ return this.getClass().getName() + ":" + url.toString();
+ }
+
+ public void setDoInput(boolean doinput)
+ {
+ if (connected)
+ throw new IllegalAccessError("Already connected");
+
+ doInput = doinput;
+ }
+
+ public boolean getDoInput()
+ {
+ return doInput;
+ }
+
+ public void setDoOutput(boolean dooutput)
+ {
+ if (connected)
+ throw new IllegalAccessError("Already connected");
+
+ doOutput = dooutput;
+ if (doOutput)
+ doInput = false;
+ }
+
+ public boolean getDoOutput()
+ {
+ return doOutput;
+ }
+
+ public void setAllowUserInteraction(boolean allowuserinteraction)
+ {
+ if (connected)
+ throw new IllegalAccessError("Already connected");
+
+ allowUserInteraction = allowuserinteraction;
+ }
+
+ public boolean getAllowUserInteraction()
+ {
+ return allowUserInteraction;
+ }
+
+ public static void
+ setDefaultAllowUserInteraction(boolean defaultallowuserinteraction)
+ {
+ defaultAllowUserInteraction = defaultallowuserinteraction;
+ }
+
+ public static boolean getDefaultAllowUserInteraction()
+ {
+ return defaultAllowUserInteraction;
+ }
+
+ public void setUseCaches(boolean usecaches)
+ {
+ if (connected)
+ throw new IllegalAccessError("Already connected");
+
+ useCaches = usecaches;
+ }
+
+ public boolean getUseCaches()
+ {
+ return useCaches;
+ }
+
+ public void setIfModifiedSince(long ifmodifiedsince)
+ {
+ if (connected)
+ throw new IllegalAccessError("Already connected");
+
+ ifModifiedSince = ifmodifiedsince;
+ }
+
+ public long getIfModifiedSince()
+ {
+ return ifModifiedSince;
+ }
+
+ public boolean getDefaultUseCaches()
+ {
+ return defaultUseCaches;
+ }
+
+ public void setDefaultUseCaches(boolean defaultusecaches)
+ {
+ defaultUseCaches = defaultusecaches;
+ }
+
+ public void setRequestProperty(String key, String value)
+ {
+ // Do nothing unless overridden by subclasses that support setting
+ // header fields in the request.
+ }
+
+ public String getRequestProperty(String key)
+ {
+ // Overridden by subclasses that support reading header fields from the
+ // request.
+ return null;
+ }
+
+ public static void setDefaultRequestProperty(String key, String value)
+ {
+ // Do nothing unless overridden by subclasses that support setting
+ // default request properties.
+ }
+
+ public static String getDefaultRequestProperty(String key)
+ {
+ // Overridden by subclasses that support default request properties.
+ return null;
+ }
+
+ public static void setContentHandlerFactory(ContentHandlerFactory fac)
+ {
+ if (factory != null)
+ throw new Error("ContentHandlerFactory already set");
+
+ // Throw an exception if an extant security mgr precludes
+ // setting the factory.
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkSetFactory();
+ factory = fac;
+ }
+
+// TODO: protected static String guessContentTypeFromName(String fname)
+// {
+// }
+
+// TODO: public static String guessContentTypeFromStream(InputStream is)
+// throws IOException
+// {
+// }
+
+// TODO12: protected void parseURL(URL u, String spec, int start, int limit)
+
+ // JDK1.2
+ public static FileNameMap getFileNameMap()
+ {
+ return fileNameMap;
+ }
+
+ // JDK1.2
+ public static void setFileNameMap(FileNameMap map)
+ {
+ // Throw an exception if an extant security mgr precludes
+ // setting the factory.
+ SecurityManager s = System.getSecurityManager();
+ if (s != null)
+ s.checkSetFactory();
+
+ fileNameMap = map;
+ }
+
+ private ContentHandler setContentHandler(String contentType)
+ {
+ ContentHandler handler;
+
+ // No content type so just handle it as the default.
+ if (contentType == null || contentType == "")
+ return null;
+
+ // See if a handler has been cached for this content type.
+ // For efficiency, if a content type has been searched for but not
+ // found, it will be in the hash table but as the contentType String
+ // instead of a ContentHandler.
+ if ((handler = (ContentHandler) handlers.get(contentType)) != null)
+ if (handler instanceof ContentHandler)
+ return handler;
+ else
+ return null;
+
+ // If a non-default factory has been set, use it to find the content type.
+ if (factory != null)
+ handler = factory.createContentHandler(contentType);
+
+ // Non-default factory may have returned null or a factory wasn't set.
+ // Use the default search algorithm to find a handler for this content type.
+ if (handler == null)
+ {
+ // Get the list of packages to check and append our default handler
+ // to it, along with the JDK specified default as a last resort.
+ // Except in very unusual environments the JDK specified one shouldn't
+ // ever be needed (or available).
+ String propVal = System.getProperty("java.content.handler.pkgs");
+ propVal = (propVal == null) ? "" : (propVal + "|");
+ propVal = propVal + "gnu.gcj.content|sun.net.www.content";
+
+ // Replace the '/' character in the content type with '.' and
+ // all other non-alphabetic, non-numeric characters with '_'.
+ StringTokenizer pkgPrefix = new StringTokenizer(propVal, "|");
+ char[] cArray = contentType.toCharArray();
+ for (int i = 0; i < cArray.length; i++)
+ {
+ if (cArray[i] == '/')
+ cArray[i] = '.';
+ else if (! ((cArray[i] >= 'A' && cArray[i] <= 'Z') ||
+ (cArray[i] >= 'a' && cArray[i] <= 'z') ||
+ (cArray[i] >= '0' && cArray[i] <= '9')))
+ cArray[i] = '_';
+ }
+ String contentClass = new String(cArray);
+
+ // See if a class of this content type exists in any of the packages.
+ do
+ {
+ String facName = pkgPrefix.nextToken() + "." + contentClass;
+ try
+ {
+ handler =
+ (ContentHandler) Class.forName(facName).newInstance();
+ }
+ catch (Exception e)
+ {
+ // Can't instantiate; handler still null, go on to next element.
+ }
+ } while ((handler == null ||
+ ! (handler instanceof ContentHandler)) &&
+ pkgPrefix.hasMoreTokens());
+ }
+
+ // Update the hashtable with the new content handler.
+ if (handler != null && handler instanceof ContentHandler)
+ {
+ handlers.put(contentType, handler);
+ return handler;
+ }
+
+ // For efficiency on subsequent searches, put a dummy entry in the hash
+ // table for content types that don't have a non-default ContentHandler.
+ handlers.put(contentType, contentType);
+ return null;
+ }
+}
diff --git a/libjava/java/net/URLStreamHandler.java b/libjava/java/net/URLStreamHandler.java
new file mode 100644
index 0000000..29e0e6d
--- /dev/null
+++ b/libjava/java/net/URLStreamHandler.java
@@ -0,0 +1,107 @@
+// URLStreamHandler.java - Superclass of all stream protocol handlers.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 4, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+public abstract class URLStreamHandler
+{
+ protected abstract URLConnection openConnection(URL u)
+ throws java.io.IOException;
+
+protected void parseURL(URL u, String spec, int start, int limit)
+ {
+ String tmpStr;
+ String host = ""; // Initialize to null string.
+ String file;
+ int port = -1;
+ int colon;
+
+ /* TBD: The JDK 1.2 doc specifically says that limit is the position
+ * to stop parsing at and that it will be either the end of the string
+ * or the position of '#'; thus the doc infers that this method does
+ * not set the ref.
+ */
+ tmpStr = spec.substring(start, limit);
+ int hostEnd = 0;
+ if (tmpStr.startsWith("//"))
+ {
+ int slash = tmpStr.indexOf('/', 2);
+ hostEnd = tmpStr.length();
+ if (slash >= 0)
+ hostEnd = slash;
+
+ host = tmpStr.substring(2, hostEnd);
+
+ // Look for optional port number.
+ if ((colon = host.indexOf(':')) >= 0)
+ {
+ try
+ {
+ port = Integer.parseInt(host.substring(colon + 1));
+ }
+ catch (NumberFormatException e)
+ {
+ ; // Ignore invalid port values; port is already set to -1.
+ }
+ host = host.substring(0, colon);
+ }
+ }
+
+ if (hostEnd < tmpStr.length())
+ file = ((tmpStr.startsWith("/")) ? "" : "/") + tmpStr.substring(hostEnd);
+ else
+ file = "/";
+
+ u.set(u.getProtocol(), host, port, file, u.getRef());
+ }
+
+ protected void setURL(URL u, String protocol, String host, int port,
+ String file, String ref)
+ {
+ u.set(protocol, host, port, file, ref);
+ }
+
+ protected String toExternalForm(URL u)
+ {
+ String resStr, host, file, ref;
+ int port;
+
+ resStr = u.getProtocol() + ":";
+ host = u.getHost();
+ port = u.getPort();
+ file = u.getFile();
+ ref = u.getRef();
+
+ if (! host.equals(""))
+ {
+ resStr = resStr + "//" + host;
+ if (port >= 0)
+ resStr = resStr + ":" + port;
+ }
+
+ resStr = resStr + file;
+
+ if (ref != null)
+ resStr = resStr + "#" + ref;
+
+ return resStr;
+ }
+}
diff --git a/libjava/java/net/URLStreamHandlerFactory.java b/libjava/java/net/URLStreamHandlerFactory.java
new file mode 100644
index 0000000..474d723
--- /dev/null
+++ b/libjava/java/net/URLStreamHandlerFactory.java
@@ -0,0 +1,27 @@
+// URLStreamHandlerFactory.java - Abstract URL Stream Handler factory.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 5, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+public abstract interface URLStreamHandlerFactory
+{
+ public URLStreamHandler createURLStreamHandler(String protocol);
+}
diff --git a/libjava/java/net/UnknownHostException.java b/libjava/java/net/UnknownHostException.java
new file mode 100644
index 0000000..1c20509
--- /dev/null
+++ b/libjava/java/net/UnknownHostException.java
@@ -0,0 +1,34 @@
+// UnknownHostException.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+/**
+ * @author Per Bothner
+ * @date January 6, 1999.
+ */
+
+/*
+ * Written using on-line Java Platform 1.2 API Specification.
+ * Status: Believed complete and correct.
+ */
+
+public class UnknownHostException extends java.io.IOException
+{
+ public UnknownHostException ()
+ {
+ super();
+ }
+
+ public UnknownHostException (String host)
+ {
+ super(host);
+ }
+}
diff --git a/libjava/java/net/UnknownServiceException.java b/libjava/java/net/UnknownServiceException.java
new file mode 100644
index 0000000..dba798e
--- /dev/null
+++ b/libjava/java/net/UnknownServiceException.java
@@ -0,0 +1,35 @@
+// UnknownServiceException.java
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.net;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 5, 1999.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+public class UnknownServiceException extends java.io.IOException
+{
+ public UnknownServiceException()
+ {
+ super();
+ }
+
+ public UnknownServiceException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/net/natInetAddress.cc b/libjava/java/net/natInetAddress.cc
new file mode 100644
index 0000000..7f7d953
--- /dev/null
+++ b/libjava/java/net/natInetAddress.cc
@@ -0,0 +1,270 @@
+// natClass.cc - Implementation of java.lang.Class native methods.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#include <string.h>
+#include <errno.h>
+
+#include <sys/param.h>
+#include <sys/types.h>
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_ARPA_INET_H
+#include <arpa/inet.h>
+#endif
+#ifdef HAVE_NETDB_H
+#include <netdb.h>
+#endif
+
+#include <cni.h>
+#include <jvm.h>
+#include <java/net/InetAddress.h>
+#include <java/net/UnknownHostException.h>
+#include <java/lang/SecurityException.h>
+
+#if defined(HAVE_UNAME) && ! defined(HAVE_GETHOSTNAME)
+#include <sys/utsname.h>
+#endif
+
+#ifndef HAVE_GETHOSTNAME_DECL
+extern "C" int gethostname (char *name, int namelen);
+#endif
+
+jbyteArray
+java::net::InetAddress::aton (jstring host)
+{
+ char *hostname;
+ char buf[100];
+ int len = JvGetStringUTFLength(host);
+ if (len < 100)
+ hostname = buf;
+ else
+ hostname = (char*) _Jv_AllocBytesChecked (len+1);
+ JvGetStringUTFRegion (host, 0, host->length(), hostname);
+ buf[len] = '\0';
+ char* bytes = NULL;
+ int blen = 0;
+#ifdef HAVE_INET_ATON
+ struct in_addr laddr;
+ if (inet_aton (hostname, &laddr))
+ {
+ bytes = (char*) &laddr;
+ len = 4;
+ }
+#elif defined(HAVE_INET_ADDR)
+ in_addr_t laddr = inet_addr (hostname);
+ if (laddr != (in_addr_t)(-1))
+ {
+ bytes = (char*) &laddr;
+ len = 4;
+ }
+#endif
+#ifdef HAVE_INET_PTON
+ char inet6_addr[16];
+ if (len == 0 && inet_pton (AF_INET6, hostname, inet6_addr) > 0)
+ {
+ bytes = inet6_addr;
+ len = 16;
+ }
+#endif
+ if (blen == 0)
+ return NULL;
+ jbyteArray result = JvNewByteArray (len);
+ memcpy (elements (result), bytes, blen);
+ return result;
+}
+
+
+JArray<java::net::InetAddress*> *
+java::net::InetAddress::lookup (jstring host, java::net::InetAddress* iaddr,
+ jboolean all)
+{
+ struct hostent *hptr = NULL;
+#if defined (HAVE_GETHOSTBYNAME_R) || defined (HAVE_GETHOSTBYADDR_R)
+ struct hostent hent_r;
+ char fixed_buffer[200];
+ char *buffer_r = fixed_buffer;
+ int size_r = sizeof (fixed_buffer);
+#endif
+
+ if (host != NULL)
+ {
+ char *hostname;
+ char buf[100];
+ int len = JvGetStringUTFLength(host);
+ if (len < 100)
+ hostname = buf;
+ else
+ hostname = (char*) _Jv_AllocBytesChecked (len+1);
+ JvGetStringUTFRegion (host, 0, host->length(), hostname);
+ buf[len] = '\0';
+#ifdef HAVE_GETHOSTBYNAME_R
+ int herr = ERANGE;
+ while (hptr == NULL && herr == ERANGE)
+ {
+ int ok;
+#ifdef GETHOSTBYNAME_R_RETURNS_INT
+ ok = ! gethostbyname_r (hostname, &hent_r, buffer_r, size_r,
+ &hptr, &herr);
+#else
+ hptr = gethostbyname_r (hostname, &hent_r, buffer_r, size_r, &herr);
+ ok = hptr != NULL;
+#endif /* GETHOSTNAME_R_RETURNS_INT */
+ if (! ok && herr == ERANGE)
+ {
+ size_r *= 2;
+ buffer_r = (char *) _Jv_AllocBytesChecked (size_r);
+ }
+ }
+#else
+ // FIXME: this is insufficient if some other piece of code calls
+ // this gethostbyname.
+ JvSynchronize sync (java::net::InetAddress::localhostAddress);
+ hptr = gethostbyname (hostname);
+#endif /* HAVE_GETHOSTBYNAME_R */
+ }
+ else
+ {
+ jbyteArray bytes = iaddr->address;
+ char *chars = (char*) elements (bytes);
+ int len = bytes->length;
+ int type;
+ char *val;
+ if (len == 4)
+ {
+ val = chars;
+ type = AF_INET;
+ }
+#ifdef HAVE_INET6
+ else if (len == 16)
+ {
+ val = (char *) &chars;
+ type = AF_INET16;
+ }
+#endif /* HAVE_INET6 */
+ else
+ JvFail ("unrecognized size");
+
+#ifdef HAVE_GETHOSTBYADDR_R
+ int herr = ERANGE;
+ while (hptr == NULL && herr == ERANGE)
+ {
+ int ok;
+#ifdef GETHOSTBYADDR_R_RETURNS_INT
+ ok = ! gethostbyaddr_r (val, len, type, &hent_r,
+ buffer_r, size_r, &hptr, &herr);
+#else
+ hptr = gethostbyaddr_r (val, len, type, &hent_r,
+ buffer_r, size_r, &herr);
+ ok = hptr != NULL;
+#endif /* GETHOSTBYADDR_R_RETURNS_INT */
+ if (! ok && herr == ERANGE)
+ {
+ size_r *= 2;
+ buffer_r = (char *) _Jv_AllocBytesChecked (size_r);
+ }
+ }
+#else /* HAVE_GETHOSTBYADDR_R */
+ // FIXME: this is insufficient if some other piece of code calls
+ // this gethostbyaddr.
+ JvSynchronize sync (java::net::InetAddress::localhostAddress);
+ hptr = gethostbyaddr (val, len, type);
+#endif /* HAVE_GETHOSTBYADDR_R */
+ }
+ if (hptr != NULL)
+ {
+ host = JvNewStringUTF (hptr->h_name);
+ java::lang::SecurityException *ex = checkConnect (host);
+ if (ex != NULL)
+ {
+ if (iaddr == NULL || iaddr->address == NULL)
+ JvThrow (ex);
+ hptr = NULL;
+ }
+ }
+ if (hptr == NULL)
+ {
+ if (iaddr != NULL && iaddr->address != NULL)
+ {
+ iaddr->hostname = iaddr->getHostAddress();
+ return NULL;
+ }
+ else
+ JvThrow (new java::net::UnknownHostException(host));
+ }
+ int count;
+ if (all)
+ {
+ char** ptr = hptr->h_addr_list;
+ count = 0;
+ while (*ptr++) count++;
+ }
+ else
+ count = 1;
+ JArray<java::net::InetAddress*> *result;
+ java::net::InetAddress** iaddrs;
+ if (all)
+ {
+ result = java::net::InetAddress::allocArray (count);
+ iaddrs = elements (result);
+ }
+ else
+ {
+ result = NULL;
+ iaddrs = &iaddr;
+ }
+
+ for (int i = 0; i < count; i++)
+ {
+ if (iaddrs[i] == NULL)
+ iaddrs[i] = new java::net::InetAddress (NULL, NULL);
+ if (i == 0)
+ iaddrs[0]->hostname = host;
+ if (iaddrs[i]->address == NULL)
+ {
+ char *bytes = hptr->h_addr_list[i];
+ iaddr->address = JvNewByteArray (hptr->h_length);
+ memcpy (elements (iaddr->address), bytes, hptr->h_length);
+ }
+ }
+ return result;
+}
+
+jstring
+java::net::InetAddress::getLocalHostname ()
+{
+ char *chars;
+#ifdef HAVE_GETHOSTNAME
+ char buffer[MAXHOSTNAMELEN];
+ if (gethostname (buffer, MAXHOSTNAMELEN))
+ return NULL;
+ chars = buffer;
+#elif HAVE_UNAME
+ struct utsname stuff;
+ if (uname (&stuff) != 0)
+ return NULL:
+ chars = stuff.nodename;
+#else
+ return NULL;
+#endif
+ // It is admittedly non-optimal to convert the hostname to Unicode
+ // only to convert it back in getByName, but simplicity wins. Note
+ // that unless there is a SecurityManager, we only get called once
+ // anyway, thanks to the InetAddress.localhost cache.
+ return JvNewStringUTF (chars);
+}
diff --git a/libjava/java/net/natPlainSocketImpl.cc b/libjava/java/net/natPlainSocketImpl.cc
new file mode 100644
index 0000000..076ee71
--- /dev/null
+++ b/libjava/java/net/natPlainSocketImpl.cc
@@ -0,0 +1,177 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <errno.h>
+#include <stdio.h>
+#include <string.h>
+
+#include <cni.h>
+#include <java/io/IOException.h>
+#include <java/io/FileDescriptor.h>
+#include <java/net/PlainSocketImpl.h>
+#include <java/net/InetAddress.h>
+
+#ifndef HAVE_SOCKLEN_T
+typedef int socklen_t;
+#endif
+
+union SockAddr
+{
+ struct sockaddr_in address;
+#ifdef HAVE_INET6
+ struct sockaddr_in6 address6;
+#endif
+};
+
+void
+java::net::PlainSocketImpl::create (jboolean stream)
+{
+ int sock = ::socket (AF_INET, stream ? SOCK_STREAM : SOCK_DGRAM, 0);
+ if (sock < 0)
+ {
+ char msg[100];
+ char* strerr = strerror (errno);
+ sprintf (msg, "SocketImpl.create: %.*s", 80, strerr);
+ JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
+ }
+ fnum = sock;
+ fd = new java::io::FileDescriptor (sock);
+}
+
+void
+java::net::PlainSocketImpl::bind (java::net::InetAddress *host, jint lport)
+{
+ union SockAddr u;
+ jbyteArray haddress = host->address;
+ jbyte *bytes = elements (haddress);
+ int len = haddress->length;
+ struct sockaddr *ptr = (struct sockaddr *) &u.address;
+ if (len == 4)
+ {
+ u.address.sin_family = AF_INET;
+ memcpy (&u.address.sin_addr, bytes, len);
+ len = sizeof (struct sockaddr_in);
+ u.address.sin_port = htons (lport);
+ }
+#ifdef HAVE_INET6
+ else if (len == 16)
+ {
+ u.address6.sin6_family = AF_INET6;
+ memcpy (&u.address6.sin6_addr, bytes, len);
+ len = sizeof (struct sockaddr_in6);
+ u.address6.sin6_port = htons (lport);
+ }
+#endif
+ else
+ goto error;
+ if (::bind (fnum, ptr, len) == 0)
+ {
+ address = host;
+ localport = lport;
+ return;
+ }
+ error:
+ char msg[100];
+ char* strerr = strerror (errno);
+ sprintf (msg, "SocketImpl.bind: %.*s", 80, strerr);
+ JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
+}
+
+void
+java::net::PlainSocketImpl::connect (java::net::InetAddress *host, jint rport)
+{
+ union SockAddr u;
+ jbyteArray haddress = host->address;
+ jbyte *bytes = elements (haddress);
+ int len = haddress->length;
+ struct sockaddr *ptr = (struct sockaddr *) &u.address;
+ if (len == 4)
+ {
+ u.address.sin_family = AF_INET;
+ memcpy (&u.address.sin_addr, bytes, len);
+ len = sizeof (struct sockaddr_in);
+ u.address.sin_port = htons (rport);
+ }
+#ifdef HAVE_INET6
+ else if (len == 16)
+ {
+ u.address6.sin6_family = AF_INET6;
+ memcpy (&u.address6.sin6_addr, bytes, len);
+ len = sizeof (struct sockaddr_in6);
+ u.address6.sin6_port = htons (rport);
+ }
+#endif
+ else
+ goto error;
+ if (::connect (fnum, ptr, len) == 0)
+ {
+ address = host;
+ port = rport;
+ return;
+ }
+ error:
+ char msg[100];
+ char* strerr = strerror (errno);
+ sprintf (msg, "SocketImpl.connect: %.*s", 80, strerr);
+ JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
+}
+
+void
+java::net::PlainSocketImpl::listen (jint backlog)
+{
+ if (::listen (fnum, backlog) != 0)
+ {
+ char msg[100];
+ char* strerr = strerror (errno);
+ sprintf (msg, "SocketImpl.listen: %.*s", 80, strerr);
+ JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
+ }
+}
+
+void
+java::net::PlainSocketImpl::accept (java::net::PlainSocketImpl *s)
+{
+ union SockAddr u;
+ socklen_t addrlen = sizeof(u);
+ int new_socket = ::accept (fnum, (sockaddr*) &u, &addrlen);
+ if (new_socket < 0)
+ goto error;
+ jbyteArray raddr;
+ jint rport;
+ if (u.address.sin_family == AF_INET)
+ {
+ raddr = JvNewByteArray (4);
+ memcpy (elements (raddr), &u.address.sin_addr, 4);
+ rport = ntohs (u.address.sin_port);
+ }
+#ifdef HAVE_INET6
+ {
+ raddr = JvNewByteArray (16);
+ memcpy (elements (raddr), &u.address6.sin6_addr, 16);
+ rport = ntohs (u.address6.sin6_port);
+ }
+#endif
+ else
+ goto error;
+ s->fnum = new_socket;
+ s->localport = localport;
+ s->address = new InetAddress (raddr, NULL);
+ s->port = rport;
+ s->fd = new java::io::FileDescriptor (new_socket);
+ return;
+ error:
+ char msg[100];
+ char* strerr = strerror (errno);
+ sprintf (msg, "SocketImpl.accept: %.*s", 80, strerr);
+ JvThrow (new java::io::IOException (JvNewStringUTF (msg)));
+}
diff --git a/libjava/java/text/BreakIterator.java b/libjava/java/text/BreakIterator.java
new file mode 100644
index 0000000..0e09d45
--- /dev/null
+++ b/libjava/java/text/BreakIterator.java
@@ -0,0 +1,160 @@
+// BreakIterator.java - Iterate over logical breaks in text.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.text;
+
+import java.io.Serializable;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date March 19, 1999
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct to 1.1.
+ */
+
+public abstract class BreakIterator implements Cloneable, Serializable
+{
+ // The value was discovered by writing a test program.
+ public static final int DONE = -1;
+
+ protected BreakIterator ()
+ {
+ }
+
+ public abstract int current ();
+ public abstract int first ();
+ public abstract int following (int pos);
+
+ public static synchronized Locale[] getAvailableLocales ()
+ {
+ // FIXME.
+ return null;
+ }
+
+ private static BreakIterator getInstance (String type, Locale loc)
+ {
+ String className;
+ try
+ {
+ ResourceBundle res
+ = ResourceBundle.getBundle("gnu.gcj.text.LocaleData", loc);
+ className = res.getString(type);
+ }
+ catch (MissingResourceException x)
+ {
+ return null;
+ }
+ try
+ {
+ Class k = Class.forName(className);
+ return (BreakIterator) k.newInstance();
+ }
+ catch (ClassNotFoundException x1)
+ {
+ return null;
+ }
+ catch (InstantiationException x2)
+ {
+ return null;
+ }
+ catch (IllegalAccessException x3)
+ {
+ return null;
+ }
+ }
+
+ public static BreakIterator getCharacterInstance ()
+ {
+ return getCharacterInstance (Locale.getDefault());
+ }
+
+ public static BreakIterator getCharacterInstance (Locale loc)
+ {
+ BreakIterator r = getInstance ("CharacterIterator", loc);
+ if (r == null)
+ r = new gnu.gcj.text.CharacterBreakIterator ();
+ return r;
+ }
+
+ public static BreakIterator getLineInstance ()
+ {
+ return getLineInstance (Locale.getDefault());
+ }
+
+ public static BreakIterator getLineInstance (Locale loc)
+ {
+ BreakIterator r = getInstance ("LineIterator", loc);
+ if (r == null)
+ r = new gnu.gcj.text.LineBreakIterator ();
+ return r;
+ }
+
+ public static BreakIterator getSentenceInstance ()
+ {
+ return getSentenceInstance (Locale.getDefault());
+ }
+
+ public static BreakIterator getSentenceInstance (Locale loc)
+ {
+ BreakIterator r = getInstance ("SentenceIterator", loc);
+ if (r == null)
+ r = new gnu.gcj.text.SentenceBreakIterator ();
+ return r;
+ }
+
+ public abstract CharacterIterator getText ();
+
+ public static BreakIterator getWordInstance ()
+ {
+ return getWordInstance (Locale.getDefault());
+ }
+
+ public static BreakIterator getWordInstance (Locale loc)
+ {
+ BreakIterator r = getInstance ("WordIterator", loc);
+ if (r == null)
+ r = new gnu.gcj.text.WordBreakIterator ();
+ return r;
+ }
+
+ public boolean isBoundary (int pos)
+ {
+ if (pos == 0)
+ return true;
+ return following (pos - 1) == pos;
+ }
+
+ public abstract int last ();
+ public abstract int next ();
+ public abstract int next (int n);
+
+ public int preceding (int pos)
+ {
+ if (following (pos) == DONE)
+ last ();
+ while (previous () >= pos)
+ ;
+ return current ();
+ }
+
+ public abstract int previous ();
+
+ public void setText (String newText)
+ {
+ setText (new StringCharacterIterator (newText));
+ }
+
+ public abstract void setText (CharacterIterator newText);
+}
diff --git a/libjava/java/text/CharacterIterator.java b/libjava/java/text/CharacterIterator.java
new file mode 100644
index 0000000..d34e988
--- /dev/null
+++ b/libjava/java/text/CharacterIterator.java
@@ -0,0 +1,36 @@
+// CharacterIterator.java - Protocol for iterating over Unicode characters.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.text;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date February 22, 1999
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct to 1.1.
+ */
+
+public interface CharacterIterator extends Cloneable
+{
+ public abstract Object clone ();
+ public abstract char current ();
+ public abstract char first ();
+ public abstract int getBeginIndex ();
+ public abstract int getEndIndex ();
+ public abstract int getIndex ();
+ public abstract char last ();
+ public abstract char next ();
+ public abstract char previous ();
+ public abstract char setIndex (int idx);
+
+ public static final char DONE = '\uffff';
+}
diff --git a/libjava/java/text/ChoiceFormat.java b/libjava/java/text/ChoiceFormat.java
new file mode 100644
index 0000000..bed62a7
--- /dev/null
+++ b/libjava/java/text/ChoiceFormat.java
@@ -0,0 +1,310 @@
+// ChoiceFormat.java - Formatter for `switch'-like string substitution.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.text;
+
+import java.util.Vector;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date March 9, 1999
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 from http://www.javasoft.com.
+ * Status: Believed complete and correct to 1.1.
+ */
+
+public class ChoiceFormat extends NumberFormat
+{
+ // Note: we assume the same kind of quoting rules apply here.
+ // This isn't explicitly documented. But for instance we accept
+ // '#' as a literal hash in a format string.
+ public void applyPattern (String newPattern)
+ {
+ int index = 0, max = newPattern.length();
+ Vector stringVec = new Vector ();
+ Vector limitVec = new Vector ();
+ StringBuffer buf = new StringBuffer ();
+
+ while (true)
+ {
+ // Find end of double.
+ int dstart = index;
+ while (index < max)
+ {
+ char c = newPattern.charAt(index);
+ if (c == '#' || c == '\u2064' || c == '<')
+ break;
+ ++index;
+ }
+
+ if (index == max)
+ throw new IllegalArgumentException ("unexpected end of text");
+ Double d = new Double (newPattern.substring(dstart, index));
+
+ if (newPattern.charAt(index) == '<')
+ d = new Double (nextDouble (d.doubleValue()));
+
+ limitVec.addElement(d);
+
+ // Scan text.
+ ++index;
+ buf.setLength(0);
+ while (index < max)
+ {
+ char c = newPattern.charAt(index);
+ if (c == '\'' && index < max + 1
+ && newPattern.charAt(index + 1) == '\'')
+ {
+ buf.append(c);
+ ++index;
+ }
+ else if (c == '\'' && index < max + 2)
+ {
+ buf.append(newPattern.charAt(index + 1));
+ index += 2;
+ }
+ else if (c == '|')
+ break;
+ else
+ buf.append(c);
+ ++index;
+ }
+
+ stringVec.addElement(buf.toString());
+ if (index == max)
+ break;
+ ++index;
+ }
+
+ strings = new String[stringVec.size()];
+ stringVec.copyInto(strings);
+
+ limits = new double[limitVec.size()];
+ for (int i = 0; i < limits.length; ++i)
+ {
+ Double d = (Double) limitVec.elementAt(i);
+ limits[i] = d.doubleValue();
+ }
+ }
+
+ public ChoiceFormat (String newPattern)
+ {
+ super ();
+ applyPattern (newPattern);
+ }
+
+ public ChoiceFormat (double[] limits, String[] strings)
+ {
+ super ();
+ setChoices (limits, strings);
+ }
+
+ public Object clone ()
+ {
+ return new ChoiceFormat (limits, strings);
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (! (obj instanceof ChoiceFormat))
+ return false;
+ ChoiceFormat cf = (ChoiceFormat) obj;
+ if (limits.length != cf.limits.length)
+ return false;
+ for (int i = limits.length - 1; i >= 0; --i)
+ {
+ if (limits[i] != cf.limits[i]
+ || !strings[i].equals(cf.strings[i]))
+ return false;
+ }
+ return true;
+ }
+
+ public StringBuffer format (long num, StringBuffer appendBuf,
+ FieldPosition pos)
+ {
+ return format ((double) num, appendBuf, pos);
+ }
+
+ public StringBuffer format (double num, StringBuffer appendBuf,
+ FieldPosition pos)
+ {
+ if (limits.length == 0)
+ return appendBuf;
+
+ int index = 0;
+ if (! Double.isNaN(num) && num >= limits[0])
+ {
+ for (; index < limits.length - 1; ++index)
+ {
+ if (limits[index] <= num
+ && index != limits.length - 2
+ && num < limits[index + 1])
+ break;
+ }
+ }
+
+ return appendBuf.append(strings[index]);
+ }
+
+ public Object[] getFormats ()
+ {
+ return (Object[]) strings.clone();
+ }
+
+ public double[] getLimits ()
+ {
+ return (double[]) limits.clone();
+ }
+
+ public int hashCode ()
+ {
+ int hash = 0;
+ for (int i = 0; i < limits.length; ++i)
+ {
+ long v = Double.doubleToLongBits(limits[i]);
+ hash ^= (v ^ (v >>> 32));
+ hash ^= strings[i].hashCode();
+ }
+ return hash;
+ }
+
+ public static final double nextDouble (double d)
+ {
+ return nextDouble (d, true);
+ }
+
+ public static final double nextDouble (double d, boolean next)
+ {
+ if (Double.isInfinite(d) || Double.isNaN(d))
+ return d;
+
+ long bits = Double.doubleToLongBits(d);
+
+ long mantMask = (1L << mantissaBits) - 1;
+ long mantissa = bits & mantMask;
+
+ long expMask = (1L << exponentBits) - 1;
+ long exponent = (bits >>> mantissaBits) & expMask;
+
+ if (next ^ (bits < 0)) // Increment magnitude
+ {
+ if (mantissa == (1L << mantissaBits) - 1)
+ {
+ mantissa = 0L;
+ exponent++;
+
+ // Check for absolute overflow.
+ if (exponent >= (1L << mantissaBits))
+ return (bits > 0) ? Double.POSITIVE_INFINITY
+ : Double.NEGATIVE_INFINITY;
+ }
+ else
+ mantissa++;
+ }
+ else // Decrement magnitude
+ {
+ if (exponent == 0L && mantissa == 0L)
+ {
+ // The only case where there is a change of sign
+ return next ? Double.MIN_VALUE : -Double.MIN_VALUE;
+ }
+ else
+ {
+ if (mantissa == 0L)
+ {
+ mantissa = (1L << mantissaBits) - 1;
+ exponent--;
+ }
+ else
+ mantissa--;
+ }
+ }
+
+ long result = bits < 0 ? 1 : 0;
+ result = (result << exponentBits) | exponent;
+ result = (result << mantissaBits) | mantissa;
+ return Double.longBitsToDouble(result);
+ }
+
+ public Number parse (String sourceStr, ParsePosition pos)
+ {
+ int index = pos.getIndex();
+ for (int i = 0; i < limits.length; ++i)
+ {
+ if (sourceStr.startsWith(strings[i], index))
+ {
+ pos.setIndex(index + strings[i].length());
+ return new Double (limits[i]);
+ }
+ }
+ pos.setErrorIndex(index);
+ return new Double (Double.NaN);
+ }
+
+ public static final double previousDouble (double d)
+ {
+ return nextDouble (d, false);
+ }
+
+ public void setChoices (double[] limits, String[] strings)
+ {
+ if (limits == null || strings == null)
+ throw new NullPointerException ();
+ if (limits.length != strings.length)
+ throw new IllegalArgumentException ();
+ this.strings = (String[]) strings.clone();
+ this.limits = (double[]) limits.clone();
+ }
+
+ private final void quoteString (StringBuffer dest, String text)
+ {
+ int max = text.length();
+ for (int i = 0; i < max; ++i)
+ {
+ char c = text.charAt(i);
+ if (c == '\'')
+ {
+ dest.append(c);
+ dest.append(c);
+ }
+ else if (c == '#' || c == '|' || c == '\u2064' || c == '<')
+ {
+ dest.append('\'');
+ dest.append(c);
+ dest.append('\'');
+ }
+ else
+ dest.append(c);
+ }
+ }
+
+ public String toPattern ()
+ {
+ StringBuffer result = new StringBuffer ();
+ for (int i = 0; i < limits.length; ++i)
+ {
+ result.append(limits[i]);
+ result.append('#');
+ quoteString (result, strings[i]);
+ }
+ return result.toString();
+ }
+
+ // Formats and limits.
+ private String[] strings;
+ private double[] limits;
+
+ // Number of mantissa bits in double.
+ private static final int mantissaBits = 52;
+ // Number of exponent bits in a double.
+ private static final int exponentBits = 11;
+}
diff --git a/libjava/java/text/DateFormat.java b/libjava/java/text/DateFormat.java
new file mode 100644
index 0000000..bfd6b01
--- /dev/null
+++ b/libjava/java/text/DateFormat.java
@@ -0,0 +1,301 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.text;
+
+import java.util.*;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date October 25, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Mostly complete; search for FIXME to see omissions.
+ */
+
+public abstract class DateFormat extends Format implements Cloneable
+{
+ protected Calendar calendar;
+ protected NumberFormat numberFormat;
+
+ // (Values determined using a test program.)
+ public final static int FULL = 0;
+ public final static int LONG = 1;
+ public final static int MEDIUM = 2;
+ public final static int SHORT = 3;
+ public final static int DEFAULT = MEDIUM;
+
+ public final static int ERA_FIELD = 0;
+ public final static int YEAR_FIELD = 1;
+ public final static int MONTH_FIELD = 2;
+ public final static int DATE_FIELD = 3;
+ public final static int HOUR_OF_DAY1_FIELD = 4;
+ public final static int HOUR_OF_DAY0_FIELD = 5;
+ public final static int MINUTE_FIELD = 6;
+ public final static int SECOND_FIELD = 7;
+ public final static int MILLISECOND_FIELD = 8;
+ public final static int DAY_OF_WEEK_FIELD = 9;
+ public final static int DAY_OF_YEAR_FIELD = 10;
+ public final static int DAY_OF_WEEK_IN_MONTH_FIELD = 11;
+ public final static int WEEK_OF_YEAR_FIELD = 12;
+ public final static int WEEK_OF_MONTH_FIELD = 13;
+ public final static int AM_PM_FIELD = 14;
+ public final static int HOUR1_FIELD = 15;
+ public final static int HOUR0_FIELD = 16;
+ public final static int TIMEZONE_FIELD = 17;
+
+ protected DateFormat ()
+ {
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (! (obj instanceof DateFormat))
+ return false;
+ DateFormat d = (DateFormat) obj;
+ return calendar.equals(d.calendar) && numberFormat.equals(d.numberFormat);
+ }
+
+ public final StringBuffer format (Object obj,
+ StringBuffer buf, FieldPosition pos)
+ {
+ if (obj instanceof Number)
+ return format (new Date(((Number) obj).longValue()), buf, pos);
+ return format ((Date) obj, buf, pos);
+ }
+
+ public final String format (Date date)
+ {
+ StringBuffer sb = new StringBuffer ();
+ format (date, sb, new FieldPosition (MONTH_FIELD));
+ return sb.toString();
+ }
+
+ public abstract StringBuffer format (Date date,
+ StringBuffer buf, FieldPosition pos);
+
+ public static Locale[] getAvailableLocales ()
+ {
+ return null; // FIXME
+ }
+
+ public Calendar getCalendar ()
+ {
+ return calendar;
+ }
+
+ private static final DateFormat computeInstance (int style, Locale loc,
+ boolean use_date,
+ boolean use_time)
+ {
+ ResourceBundle res;
+ try
+ {
+ res = ResourceBundle.getBundle("gnu.gcj.text.LocaleData", loc);
+ }
+ catch (MissingResourceException x)
+ {
+ res = null;
+ }
+
+ String pattern = null;
+ if (use_date)
+ {
+ String name, def;
+ switch (style)
+ {
+ case FULL:
+ name = "fullDateFormat";
+ def = "EEEE MMMM d, yyyy G";
+ break;
+ case LONG:
+ name = "longDateFormat";
+ def = "MMMM d, yyyy";
+ break;
+ case MEDIUM:
+ name = "mediumDateFormat";
+ def = "d-MMM-yy";
+ break;
+ case SHORT:
+ name = "shortDateFormat";
+ def = "M/d/yy";
+ break;
+ default:
+ throw new IllegalArgumentException ();
+ }
+ try
+ {
+ pattern = res == null ? def : res.getString(name);
+ }
+ catch (MissingResourceException x)
+ {
+ pattern = def;
+ }
+ }
+
+ if (use_time)
+ {
+ if (pattern == null)
+ pattern = "";
+ else
+ pattern += " ";
+
+ String name, def;
+ switch (style)
+ {
+ case FULL:
+ name = "fullTimeFormat";
+ def = "h:mm:ss;S 'o''clock' a z";
+ break;
+ case LONG:
+ name = "longTimeFormat";
+ def = "h:mm:ss a z";
+ break;
+ case MEDIUM:
+ name = "mediumTimeFormat";
+ def = "h:mm:ss a";
+ break;
+ case SHORT:
+ name = "shortTimeFormat";
+ def = "h:mm a";
+ break;
+ default:
+ throw new IllegalArgumentException ();
+ }
+
+ String s;
+ try
+ {
+ s = res == null ? def : res.getString(name);
+ }
+ catch (MissingResourceException x)
+ {
+ s = def;
+ }
+ pattern += s;
+ }
+
+ return new SimpleDateFormat (pattern, loc);
+ }
+
+ public static final DateFormat getDateInstance ()
+ {
+ return getDateInstance (DEFAULT, Locale.getDefault());
+ }
+
+ public static final DateFormat getDateInstance (int style)
+ {
+ return getDateInstance (style, Locale.getDefault());
+ }
+
+ public static final DateFormat getDateInstance (int style, Locale loc)
+ {
+ return computeInstance (style, loc, true, false);
+ }
+
+ public static final DateFormat getDateTimeInstance ()
+ {
+ return getDateTimeInstance (DEFAULT, Locale.getDefault());
+ }
+
+ public static final DateFormat getDateTimeInstance (int style)
+ {
+ return getDateTimeInstance (style, Locale.getDefault());
+ }
+
+ public static final DateFormat getDateTimeInstance (int style, Locale loc)
+ {
+ return computeInstance (style, loc, true, true);
+ }
+
+ public static final DateFormat getInstance ()
+ {
+ // JCL book says SHORT.
+ return getDateTimeInstance (SHORT, Locale.getDefault());
+ }
+
+ public NumberFormat getNumberFormat ()
+ {
+ return numberFormat;
+ }
+
+ public static final DateFormat getTimeInstance ()
+ {
+ return getTimeInstance (DEFAULT, Locale.getDefault());
+ }
+
+ public static final DateFormat getTimeInstance (int style)
+ {
+ return getTimeInstance (style, Locale.getDefault());
+ }
+
+ public static final DateFormat getTimeInstance (int style, Locale loc)
+ {
+ return computeInstance (style, loc, false, true);
+ }
+
+ public TimeZone getTimeZone ()
+ {
+ return calendar.getTimeZone();
+ }
+
+ public int hashCode ()
+ {
+ int hash = calendar.hashCode();
+ if (numberFormat != null)
+ hash ^= numberFormat.hashCode();
+ return hash;
+ }
+
+ public boolean isLenient ()
+ {
+ return calendar.isLenient();
+ }
+
+ public Date parse (String source) throws ParseException
+ {
+ ParsePosition pos = new ParsePosition(0);
+ Date result = parse (source, pos);
+ if (result == null)
+ {
+ int index = pos.getErrorIndex();
+ if (index < 0)
+ index = pos.getIndex();
+ throw new ParseException("invalid Date syntax", index);
+ }
+ return result;
+ }
+
+ public abstract Date parse (String source, ParsePosition pos);
+
+ public Object parseObject (String source, ParsePosition pos)
+ {
+ return parse(source, pos);
+ }
+
+ public void setCalendar (Calendar calendar)
+ {
+ this.calendar = calendar;
+ }
+
+ public void setLenient (boolean lenient)
+ {
+ calendar.setLenient(lenient);
+ }
+
+ public void setNumberFormat (NumberFormat numberFormat)
+ {
+ this.numberFormat = numberFormat;
+ }
+
+ public void setTimeZone (TimeZone timeZone)
+ {
+ calendar.setTimeZone(timeZone);
+ }
+}
diff --git a/libjava/java/text/DateFormatSymbols.java b/libjava/java/text/DateFormatSymbols.java
new file mode 100644
index 0000000..d21cdea
--- /dev/null
+++ b/libjava/java/text/DateFormatSymbols.java
@@ -0,0 +1,265 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.text;
+
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date October 24, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3.
+ * Status: Believed complete and correct.
+ */
+
+public class DateFormatSymbols extends Object
+ implements java.io.Serializable, Cloneable
+{
+ private String[] ampms;
+ private String[] eras;
+ private String localPatternChars;
+ private String[] months;
+ private String[] shortMonths;
+ private String[] shortWeekdays;
+ private String[] weekdays;
+ private String[][] zoneStrings;
+
+ private static final String[] ampmsDefault = {"AM", "PM" };
+ private static final String[] erasDefault = {"BC", "AD" };
+ // localPatternCharsDefault is used by SimpleDateFormat.
+ protected static final String localPatternCharsDefault
+ = "GyMdkHmsSEDFwWahKz";
+ private static final String[] monthsDefault = {
+ "January", "February", "March", "April", "May", "June",
+ "July", "August", "September", "October", "November", "December", ""
+ };
+ private static final String[] shortMonthsDefault = {
+ "Jan", "Feb", "Mar", "Apr", "May", "Jun",
+ "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", ""
+ };
+ private static final String[] shortWeekdaysDefault = {
+ "", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
+ };
+ private static final String[] weekdaysDefault = {
+ "", "Sunday", "Monday", "Tuesday",
+ "Wednesday", "Thursday", "Friday", "Saturday"
+ };
+
+ private static String[][] zoneStringsDefault = {
+ { "PST", "Pacific Standard Time", "PST",
+ /**/ "Pacific Daylight Time", "PDT", "San Francisco" },
+ { "MST", "Mountain Standard Time", "MST",
+ /**/ "Mountain Daylight Time", "MDT", "Denver" },
+ { "PNT", "Mountain Standard Time", "MST",
+ /**/ "Mountain Standard Time", "MST", "Phoenix" },
+ { "CST", "Central Standard Time", "CST",
+ /**/ "Central Daylight Time", "CDT", "Chicago" },
+ { "EST", "Eastern Standard Time", "EST",
+ /**/ "Eastern Daylight Time", "EDT", "Boston" },
+ { "IET", "Eastern Standard Time", "EST",
+ /**/ "Eastern Standard Time", "EST", "Indianapolis" },
+ { "PRT", "Atlantic Standard Time", "AST",
+ /**/ "Atlantic Daylight Time", "ADT", "Halifax" },
+ { "HST", "Hawaii Standard Time", "HST",
+ /**/ "Hawaii Daylight Time", "HDT", "Honolulu" },
+ { "AST", "Alaska Standard Time", "AST",
+ /**/ "Alaska Daylight Time", "ADT", "Anchorage" }
+ };
+
+ private final Object safeGetResource (ResourceBundle res,
+ String key, Object def)
+ {
+ if (res != null)
+ {
+ try
+ {
+ return res.getObject(key);
+ }
+ catch (MissingResourceException x)
+ {
+ }
+ }
+ return def;
+ }
+
+ public DateFormatSymbols (Locale locale)
+ {
+ ResourceBundle res;
+ try
+ {
+ res = ResourceBundle.getBundle("gnu.gcj.text.LocaleData", locale);
+ }
+ catch (MissingResourceException x)
+ {
+ res = null;
+ }
+ ampms = (String[]) safeGetResource (res, "ampm", ampmsDefault);
+ eras = (String[]) safeGetResource (res, "eras", erasDefault);
+ localPatternChars = (String) safeGetResource (res, "datePatternChars",
+ localPatternCharsDefault);
+ months = (String[]) safeGetResource (res, "months", monthsDefault);
+ shortMonths = (String[]) safeGetResource (res, "shortMonths",
+ shortMonthsDefault);
+ shortWeekdays = (String[]) safeGetResource (res, "shortWeekdays",
+ shortWeekdaysDefault);
+ weekdays = (String[]) safeGetResource (res, "weekdays", weekdaysDefault);
+ zoneStrings = (String[][]) safeGetResource (res, "zoneStrings",
+ zoneStringsDefault);
+ }
+
+ public DateFormatSymbols ()
+ {
+ this (Locale.getDefault());
+ }
+
+ public String[] getAmPmStrings()
+ {
+ return ampms;
+ }
+
+ public String[] getEras()
+ {
+ return eras;
+ }
+
+
+ public String getLocalPatternChars()
+ {
+ return localPatternChars;
+ }
+
+ public String[] getMonths ()
+ {
+ return months;
+ }
+
+ public String[] getShortMonths ()
+ {
+ return shortMonths;
+ }
+
+ public String[] getShortWeekdays ()
+ {
+ return shortWeekdays;
+ }
+
+ public String[] getWeekdays ()
+ {
+ return weekdays;
+ }
+
+ public String[] [] getZoneStrings ()
+ {
+ return zoneStrings;
+ }
+
+ public void setAmPmStrings (String[] value)
+ {
+ ampms = value;
+ }
+
+ public void setEras (String[] value)
+ {
+ eras = value;
+ }
+
+ public void setLocalPatternChars (String value)
+ {
+ localPatternChars = value;
+ }
+
+ public void setMonths (String[] value)
+ {
+ months = value;
+ }
+
+ public void setShortMonths (String[] value)
+ {
+ shortMonths = value;
+ }
+
+ public void setShortWeekdays (String[] value)
+ {
+ shortWeekdays = value;
+ }
+
+ public void setWeekdays (String[] value)
+ {
+ weekdays = value;
+ }
+
+ public void setZoneStrings (String[][] value)
+ {
+ zoneStrings = value;
+ }
+
+ /* Does a "deep" equality test - recurses into arrays. */
+ protected static boolean equals (Object x, Object y)
+ {
+ if (x == y)
+ return true;
+ if (x == null || y == null)
+ return false;
+ if (! (x instanceof Object[]) || ! (y instanceof Object[]))
+ return x.equals(y);
+ Object[] xa = (Object[]) x;
+ Object[] ya = (Object[]) y;
+ if (xa.length != ya.length)
+ return false;
+ for (int i = xa.length; --i >= 0; )
+ {
+ if (! equals(xa[i], ya[i]))
+ return false;
+ }
+ return true;
+ }
+
+ private static int hashCode (Object x)
+ {
+ if (x == null)
+ return 0;
+ if (! (x instanceof Object[]))
+ return x.hashCode();
+ Object[] xa = (Object[]) x;
+ int hash = 0;
+ for (int i = 0; i < xa.length; i++)
+ hash = 37 * hashCode(xa[i]);
+ return hash;
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (obj == null || ! (obj instanceof DateFormatSymbols))
+ return false;
+ DateFormatSymbols other = (DateFormatSymbols) obj;
+ return (equals(ampms, other.ampms)
+ && equals(eras, other.eras)
+ && equals(localPatternChars, other.localPatternChars)
+ && equals(months, other.months)
+ && equals(shortMonths, other.shortMonths)
+ && equals(shortWeekdays, other.shortWeekdays)
+ && equals(weekdays, other.weekdays)
+ && equals(zoneStrings, other.zoneStrings));
+ }
+
+ public int hashCode ()
+ {
+ return (hashCode(ampms)
+ ^ hashCode(eras)
+ ^ hashCode(localPatternChars)
+ ^ hashCode(months)
+ ^ hashCode(shortMonths)
+ ^ hashCode(shortWeekdays)
+ ^ hashCode(weekdays)
+ ^ hashCode(zoneStrings));
+ }
+}
diff --git a/libjava/java/text/DecimalFormat.java b/libjava/java/text/DecimalFormat.java
new file mode 100644
index 0000000..9ea9d92
--- /dev/null
+++ b/libjava/java/text/DecimalFormat.java
@@ -0,0 +1,983 @@
+// DecimalFormat.java - Localized number formatting.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.text;
+
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date March 4, 1999
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 from http://www.javasoft.com.
+ * Status: Believed complete and correct to 1.2, except serialization.
+ * Note however that the docs are very unclear about how format parsing
+ * should work. No doubt there are problems here.
+ */
+
+public class DecimalFormat extends NumberFormat
+{
+ // This is a helper for applyPatternWithSymbols. It reads a prefix
+ // or a suffix. It can cause some side-effects.
+ private final int scanFix (String pattern, int index, StringBuffer buf,
+ String patChars, DecimalFormatSymbols syms,
+ boolean is_suffix)
+ throws ParseException
+ {
+ int len = pattern.length();
+ buf.setLength(0);
+ boolean multiplierSet = false;
+ while (index < len)
+ {
+ char c = pattern.charAt(index);
+ if (c == '\'' && index + 1 < len
+ && pattern.charAt(index + 1) == '\'')
+ {
+ buf.append(c);
+ ++index;
+ }
+ else if (c == '\'' && index + 2 < len
+ && pattern.charAt(index + 2) == '\'')
+ {
+ buf.append(pattern.charAt(index + 1));
+ index += 2;
+ }
+ else if (c == '\u00a4')
+ {
+ if (index + 1 < len && pattern.charAt(index + 1) == '\u00a4')
+ {
+ buf.append(syms.getInternationalCurrencySymbol());
+ ++index;
+ }
+ else
+ buf.append(syms.getCurrencySymbol());
+ }
+ else if (is_suffix && c == syms.getPercent())
+ {
+ if (multiplierSet)
+ throw new ParseException ("multiplier already set", index);
+ multiplierSet = true;
+ multiplier = 100;
+ buf.append(c);
+ }
+ else if (is_suffix && c == syms.getPerMill())
+ {
+ if (multiplierSet)
+ throw new ParseException ("multiplier already set", index);
+ multiplierSet = true;
+ multiplier = 1000;
+ buf.append(c);
+ }
+ else if (patChars.indexOf(c) != -1)
+ {
+ // This is a pattern character.
+ break;
+ }
+ else
+ buf.append(c);
+ ++index;
+ }
+
+ return index;
+ }
+
+ // A helper which reads a number format.
+ private final int scanFormat (String pattern, int index,
+ String patChars, DecimalFormatSymbols syms,
+ boolean is_positive)
+ throws ParseException
+ {
+ int max = pattern.length();
+
+ int countSinceGroup = 0;
+ int zeroCount = 0;
+ boolean saw_group = false;
+
+ //
+ // Scan integer part.
+ //
+ while (index < max)
+ {
+ char c = pattern.charAt(index);
+
+ if (c == syms.getDigit())
+ {
+ if (zeroCount > 0)
+ throw new ParseException ("digit mark following zero", index);
+ ++countSinceGroup;
+ }
+ else if (c == syms.getZeroDigit())
+ {
+ ++zeroCount;
+ ++countSinceGroup;
+ }
+ else if (c == syms.getGroupingSeparator())
+ {
+ countSinceGroup = 0;
+ saw_group = true;
+ }
+ else
+ break;
+
+ ++index;
+ }
+
+ // We can only side-effect when parsing the positive format.
+ if (is_positive)
+ {
+ groupingUsed = saw_group;
+ groupingSize = (byte) countSinceGroup;
+ minimumIntegerDigits = zeroCount;
+ }
+
+ // Early termination.
+ if (index == max || pattern.charAt(index) == syms.getGroupingSeparator())
+ {
+ if (is_positive)
+ decimalSeparatorAlwaysShown = false;
+ return index;
+ }
+
+ if (pattern.charAt(index) == syms.getDecimalSeparator())
+ {
+ ++index;
+
+ //
+ // Scan fractional part.
+ //
+ int hashCount = 0;
+ zeroCount = 0;
+ while (index < max)
+ {
+ char c = pattern.charAt(index);
+ if (c == syms.getZeroDigit())
+ {
+ if (hashCount > 0)
+ throw new ParseException ("zero mark following digit",
+ index);
+ ++zeroCount;
+ }
+ else if (c == syms.getDigit())
+ {
+ ++hashCount;
+ }
+ else if (c != syms.getExponential()
+ && c != syms.getPatternSeparator()
+ && patChars.indexOf(c) != -1)
+ throw new ParseException ("unexpected special character",
+ index);
+ else
+ break;
+
+ ++index;
+ }
+
+ if (is_positive)
+ {
+ maximumFractionDigits = hashCount + zeroCount;
+ minimumFractionDigits = zeroCount;
+ }
+
+ if (index == max)
+ return index;
+ }
+
+ if (pattern.charAt(index) == syms.getExponential())
+ {
+ //
+ // Scan exponential format.
+ //
+ zeroCount = 0;
+ ++index;
+ while (index < max)
+ {
+ char c = pattern.charAt(index);
+ if (c == syms.getZeroDigit())
+ ++zeroCount;
+ else if (c == syms.getDigit())
+ {
+ if (zeroCount > 0)
+ throw new
+ ParseException ("digit mark following zero in exponent",
+ index);
+ }
+ else if (patChars.indexOf(c) != -1)
+ throw new ParseException ("unexpected special character",
+ index);
+ else
+ break;
+
+ ++index;
+ }
+
+ if (is_positive)
+ {
+ useExponentialNotation = true;
+ minExponentDigits = (byte) zeroCount;
+ }
+ }
+
+ return index;
+ }
+
+ // This helper function creates a string consisting of all the
+ // characters which can appear in a pattern and must be quoted.
+ private final String patternChars (DecimalFormatSymbols syms)
+ {
+ StringBuffer buf = new StringBuffer ();
+ buf.append(syms.getDecimalSeparator());
+ buf.append(syms.getDigit());
+ buf.append(syms.getExponential());
+ buf.append(syms.getGroupingSeparator());
+ // Adding this one causes pattern application to fail.
+ // Of course, omitting is causes toPattern to fail.
+ // ... but we already have bugs there. FIXME.
+ // buf.append(syms.getMinusSign());
+ buf.append(syms.getPatternSeparator());
+ buf.append(syms.getPercent());
+ buf.append(syms.getPerMill());
+ buf.append(syms.getZeroDigit());
+ buf.append('\u00a4');
+ return buf.toString();
+ }
+
+ private final void applyPatternWithSymbols (String pattern,
+ DecimalFormatSymbols syms)
+ throws ParseException
+ {
+ // Initialize to the state the parser expects.
+ negativePrefix = "";
+ negativeSuffix = "";
+ positivePrefix = "";
+ positiveSuffix = "";
+ decimalSeparatorAlwaysShown = false;
+ groupingSize = 0;
+ minExponentDigits = 0;
+ multiplier = 1;
+ useExponentialNotation = false;
+ groupingUsed = false;
+ maximumFractionDigits = 0;
+ maximumIntegerDigits = 309;
+ minimumFractionDigits = 0;
+ minimumIntegerDigits = 1;
+
+ StringBuffer buf = new StringBuffer ();
+ String patChars = patternChars (syms);
+
+ int max = pattern.length();
+ int index = scanFix (pattern, 0, buf, patChars, syms, false);
+ positivePrefix = buf.toString();
+
+ index = scanFormat (pattern, index, patChars, syms, true);
+
+ index = scanFix (pattern, index, buf, patChars, syms, true);
+ positiveSuffix = buf.toString();
+
+ if (index == pattern.length())
+ {
+ // No negative info.
+ negativePrefix = null;
+ negativeSuffix = null;
+ }
+ else
+ {
+ if (pattern.charAt(index) != syms.getPatternSeparator())
+ throw new ParseException ("separator character expected", index);
+
+ index = scanFix (pattern, index + 1, buf, patChars, syms, false);
+ negativePrefix = buf.toString();
+
+ // We parse the negative format for errors but we don't let
+ // it side-effect this object.
+ index = scanFormat (pattern, index, patChars, syms, false);
+
+ index = scanFix (pattern, index, buf, patChars, syms, true);
+ negativeSuffix = buf.toString();
+
+ if (index != pattern.length())
+ throw new ParseException ("end of pattern expected", index);
+ }
+ }
+
+ public void applyLocalizedPattern (String pattern) throws ParseException
+ {
+ applyPatternWithSymbols (pattern, symbols);
+ }
+
+ public void applyPattern (String pattern) throws ParseException
+ {
+ applyPatternWithSymbols (pattern, nonLocalizedSymbols);
+ }
+
+ public Object clone ()
+ {
+ return new DecimalFormat (this);
+ }
+
+ private DecimalFormat (DecimalFormat dup)
+ {
+ decimalSeparatorAlwaysShown = dup.decimalSeparatorAlwaysShown;
+ groupingSize = dup.groupingSize;
+ minExponentDigits = dup.minExponentDigits;
+ multiplier = dup.multiplier;
+ negativePrefix = dup.negativePrefix;
+ negativeSuffix = dup.negativeSuffix;
+ positivePrefix = dup.positivePrefix;
+ positiveSuffix = dup.positiveSuffix;
+ symbols = (DecimalFormatSymbols) dup.symbols.clone();
+ useExponentialNotation = dup.useExponentialNotation;
+ }
+
+ public DecimalFormat ()
+ {
+ this ("#,##0.###");
+ }
+
+ public DecimalFormat (String pattern)
+ {
+ this (pattern, new DecimalFormatSymbols ());
+ }
+
+ public DecimalFormat (String pattern, DecimalFormatSymbols symbols)
+ {
+ this.symbols = symbols;
+ // The docs imply that the constructor turns a ParseException
+ // into an IllegalArgumentException.
+ try
+ {
+ applyPattern (pattern);
+ }
+ catch (ParseException x)
+ {
+ throw new IllegalArgumentException (x.getMessage());
+ }
+ }
+
+ private final boolean equals (String s1, String s2)
+ {
+ if (s1 == null || s2 == null)
+ return s1 == s2;
+ return s1.equals(s2);
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (! (obj instanceof DecimalFormat))
+ return false;
+ DecimalFormat dup = (DecimalFormat) obj;
+ return (decimalSeparatorAlwaysShown == dup.decimalSeparatorAlwaysShown
+ && groupingSize == dup.groupingSize
+ && minExponentDigits == dup.minExponentDigits
+ && multiplier == dup.multiplier
+ && equals(negativePrefix, dup.negativePrefix)
+ && equals(negativeSuffix, dup.negativeSuffix)
+ && equals(positivePrefix, dup.positivePrefix)
+ && equals(positiveSuffix, dup.positiveSuffix)
+ && symbols.equals(dup.symbols)
+ && useExponentialNotation == dup.useExponentialNotation);
+ }
+
+ public StringBuffer format (double number, StringBuffer dest,
+ FieldPosition fieldPos)
+ {
+ // A very special case.
+ if (Double.isNaN(number))
+ {
+ dest.append(symbols.getNaN());
+ if (fieldPos != null && fieldPos.getField() == INTEGER_FIELD)
+ {
+ int index = dest.length();
+ fieldPos.setBeginIndex(index - symbols.getNaN().length());
+ fieldPos.setEndIndex(index);
+ }
+ return dest;
+ }
+
+ boolean is_neg = number < 0;
+ if (is_neg)
+ {
+ if (negativePrefix != null)
+ dest.append(negativePrefix);
+ else
+ {
+ dest.append(symbols.getMinusSign());
+ dest.append(positivePrefix);
+ }
+ number = - number;
+ }
+ else
+ dest.append(positivePrefix);
+
+ int integerBeginIndex = dest.length();
+ int integerEndIndex = 0;
+ if (Double.isInfinite (number))
+ {
+ dest.append(symbols.getInfinity());
+ integerEndIndex = dest.length();
+ }
+ else
+ {
+ number *= multiplier;
+
+ // Compute exponent.
+ long exponent = 0;
+ double baseNumber;
+ if (useExponentialNotation)
+ {
+ exponent = (long) (Math.log(number) / Math.log(10));
+ if (minimumIntegerDigits > 0)
+ exponent -= minimumIntegerDigits - 1;
+ baseNumber = (long) (number / Math.pow(10.0, exponent));
+ }
+ else
+ baseNumber = number;
+
+ // Round to the correct number of digits.
+ baseNumber += 5 * Math.pow(10.0, - maximumFractionDigits - 1);
+
+ int index = dest.length();
+ double intPart = Math.floor(baseNumber);
+ int count = 0;
+ while (count < maximumIntegerDigits
+ && (intPart > 0 || count < minimumIntegerDigits))
+ {
+ long dig = (long) (intPart % 10);
+ intPart = Math.floor(intPart / 10);
+
+ // Append group separator if required.
+ if (groupingUsed && count > 0 && count % groupingSize == 0)
+ dest.insert(index, symbols.getGroupingSeparator());
+
+ dest.insert(index, (char) (symbols.getZeroDigit() + dig));
+
+ ++count;
+ }
+
+ integerEndIndex = dest.length();
+
+ int decimal_index = integerEndIndex;
+ int consecutive_zeros = 0;
+ int total_digits = 0;
+
+ // Strip integer part from NUMBER.
+ double fracPart = baseNumber - Math.floor(baseNumber);
+ for (count = 0;
+ count < maximumFractionDigits
+ && (fracPart != 0 || count < minimumFractionDigits);
+ ++count)
+ {
+ ++total_digits;
+ fracPart *= 10;
+ long dig = (long) fracPart;
+ if (dig == 0)
+ ++consecutive_zeros;
+ else
+ consecutive_zeros = 0;
+ dest.append((char) (symbols.getZeroDigit() + dig));
+
+ // Strip integer part from FRACPART.
+ fracPart = fracPart - Math.floor (fracPart);
+ }
+
+ // Strip extraneous trailing `0's. We can't always detect
+ // these in the loop.
+ int extra_zeros = Math.min (consecutive_zeros,
+ total_digits - minimumFractionDigits);
+ if (extra_zeros > 0)
+ {
+ dest.setLength(dest.length() - extra_zeros);
+ total_digits -= extra_zeros;
+ }
+
+ // If required, add the decimal symbol.
+ if (decimalSeparatorAlwaysShown
+ || total_digits > 0)
+ {
+ dest.insert(decimal_index, symbols.getDecimalSeparator());
+ if (fieldPos != null && fieldPos.getField() == FRACTION_FIELD)
+ {
+ fieldPos.setBeginIndex(decimal_index + 1);
+ fieldPos.setEndIndex(dest.length());
+ }
+ }
+
+ // Finally, print the exponent.
+ if (useExponentialNotation)
+ {
+ dest.append(symbols.getExponential());
+ dest.append(exponent < 0 ? '-' : '+');
+ index = dest.length();
+ for (count = 0;
+ exponent > 0 || count < minExponentDigits;
+ ++count)
+ {
+ long dig = exponent % 10;
+ exponent /= 10;
+ dest.insert(index, (char) (symbols.getZeroDigit() + dig));
+ }
+ }
+ }
+
+ if (fieldPos != null && fieldPos.getField() == INTEGER_FIELD)
+ {
+ fieldPos.setBeginIndex(integerBeginIndex);
+ fieldPos.setEndIndex(integerEndIndex);
+ }
+
+ dest.append((is_neg && negativeSuffix != null)
+ ? negativeSuffix
+ : positiveSuffix);
+ return dest;
+ }
+
+ public StringBuffer format (long number, StringBuffer dest,
+ FieldPosition fieldPos)
+ {
+ // If using exponential notation, we just format as a double.
+ if (useExponentialNotation)
+ return format ((double) number, dest, fieldPos);
+
+ boolean is_neg = number < 0;
+ if (is_neg)
+ {
+ if (negativePrefix != null)
+ dest.append(negativePrefix);
+ else
+ {
+ dest.append(symbols.getMinusSign());
+ dest.append(positivePrefix);
+ }
+ number = - number;
+ }
+ else
+ dest.append(positivePrefix);
+
+ int integerBeginIndex = dest.length();
+ int index = dest.length();
+ int count = 0;
+ while (count < maximumIntegerDigits
+ && (number > 0 || count < minimumIntegerDigits))
+ {
+ long dig = number % 10;
+ number /= 10;
+ // NUMBER and DIG will be less than 0 if the original number
+ // was the most negative long.
+ if (dig < 0)
+ {
+ dig = - dig;
+ number = - number;
+ }
+
+ // Append group separator if required.
+ if (groupingUsed && count > 0 && count % groupingSize == 0)
+ dest.insert(index, symbols.getGroupingSeparator());
+
+ dest.insert(index, (char) (symbols.getZeroDigit() + dig));
+
+ ++count;
+ }
+
+ if (fieldPos != null && fieldPos.getField() == INTEGER_FIELD)
+ {
+ fieldPos.setBeginIndex(integerBeginIndex);
+ fieldPos.setEndIndex(dest.length());
+ }
+
+ if (decimalSeparatorAlwaysShown || minimumFractionDigits > 0)
+ {
+ dest.append(symbols.getDecimalSeparator());
+ if (fieldPos != null && fieldPos.getField() == FRACTION_FIELD)
+ {
+ fieldPos.setBeginIndex(dest.length());
+ fieldPos.setEndIndex(dest.length() + minimumFractionDigits);
+ }
+ }
+
+ for (count = 0; count < minimumFractionDigits; ++count)
+ dest.append(symbols.getZeroDigit());
+
+ dest.append((is_neg && negativeSuffix != null)
+ ? negativeSuffix
+ : positiveSuffix);
+ return dest;
+ }
+
+ public DecimalFormatSymbols getDecimalFormatSymbols ()
+ {
+ return symbols;
+ }
+
+ public int getGroupingSize ()
+ {
+ return groupingSize;
+ }
+
+ public int getMultiplier ()
+ {
+ return multiplier;
+ }
+
+ public String getNegativePrefix ()
+ {
+ return negativePrefix;
+ }
+
+ public String getNegativeSuffix ()
+ {
+ return negativeSuffix;
+ }
+
+ public String getPositivePrefix ()
+ {
+ return positivePrefix;
+ }
+
+ public String getPositiveSuffix ()
+ {
+ return positiveSuffix;
+ }
+
+ public int hashCode ()
+ {
+ int hash = (negativeSuffix.hashCode() ^ negativePrefix.hashCode()
+ ^positivePrefix.hashCode() ^ positiveSuffix.hashCode());
+ // FIXME.
+ return hash;
+ }
+
+ public boolean isDecimalSeparatorAlwaysShown ()
+ {
+ return decimalSeparatorAlwaysShown;
+ }
+
+ public Number parse (String str, ParsePosition pos)
+ {
+ // Our strategy is simple: copy the text into a buffer,
+ // translating or omitting locale-specific information. Then
+ // let Double or Long convert the number for us.
+
+ boolean is_neg = false;
+ int index = pos.getIndex();
+ StringBuffer buf = new StringBuffer ();
+
+ // We have to check both prefixes, because one might be empty.
+ // We want to pick the longest prefix that matches.
+ boolean got_pos = str.startsWith(positivePrefix, index);
+ String np = (negativePrefix != null
+ ? negativePrefix
+ : positivePrefix + symbols.getMinusSign());
+ boolean got_neg = str.startsWith(np, index);
+
+ if (got_pos && got_neg)
+ {
+ // By checking this way, we preserve ambiguity in the case
+ // where the negative format differs only in suffix. We
+ // check this again later.
+ if (np.length() > positivePrefix.length())
+ {
+ is_neg = true;
+ index += np.length();
+ }
+ else
+ index += positivePrefix.length();
+ }
+ else if (got_neg)
+ {
+ is_neg = true;
+ index += np.length();
+ }
+ else if (got_pos)
+ index += positivePrefix.length();
+ else
+ {
+ pos.setErrorIndex (index);
+ return null;
+ }
+
+ // FIXME: handle Inf and NaN.
+
+ // FIXME: do we have to respect minimum/maxmimum digit stuff?
+ // What about leading zeros? What about multiplier?
+
+ int start_index = index;
+ int max = str.length();
+ char zero = symbols.getZeroDigit();
+ int last_group = -1;
+ boolean int_part = true;
+ boolean exp_part = false;
+ for (; index < max; ++index)
+ {
+ char c = str.charAt(index);
+
+ // FIXME: what about grouping size?
+ if (groupingUsed && c == symbols.getGroupingSeparator())
+ {
+ if (last_group != -1
+ && (index - last_group) % groupingSize != 0)
+ {
+ pos.setErrorIndex(index);
+ return null;
+ }
+ last_group = index;
+ }
+ else if (c >= zero && c <= zero + 9)
+ {
+ buf.append((char) (c - zero + '0'));
+ exp_part = false;
+ }
+ else if (parseIntegerOnly)
+ break;
+ else if (c == symbols.getDecimalSeparator())
+ {
+ if (last_group != -1
+ && (index - last_group) % groupingSize != 0)
+ {
+ pos.setErrorIndex(index);
+ return null;
+ }
+ buf.append('.');
+ int_part = false;
+ }
+ else if (c == symbols.getExponential())
+ {
+ buf.append('E');
+ int_part = false;
+ exp_part = true;
+ }
+ else if (exp_part
+ && (c == '+' || c == '-' || c == symbols.getMinusSign()))
+ {
+ // For exponential notation.
+ buf.append(c);
+ }
+ else
+ break;
+ }
+
+ if (index == start_index)
+ {
+ // Didn't see any digits.
+ pos.setErrorIndex(index);
+ return null;
+ }
+
+ // Check the suffix. We must do this before converting the
+ // buffer to a number to handle the case of a number which is
+ // the most negative Long.
+ boolean got_pos_suf = str.startsWith(positiveSuffix, index);
+ String ns = (negativePrefix == null ? positiveSuffix : negativeSuffix);
+ boolean got_neg_suf = str.startsWith(ns, index);
+ if (is_neg)
+ {
+ if (! got_neg_suf)
+ {
+ pos.setErrorIndex(index);
+ return null;
+ }
+ }
+ else if (got_pos && got_neg && got_neg_suf)
+ {
+ is_neg = true;
+ }
+ else if (got_pos != got_pos_suf && got_neg != got_neg_suf)
+ {
+ pos.setErrorIndex(index);
+ return null;
+ }
+
+ String suffix = is_neg ? ns : positiveSuffix;
+ if (is_neg)
+ buf.insert(0, '-');
+
+ String t = buf.toString();
+ Number result = null;
+ try
+ {
+ result = new Long (t);
+ }
+ catch (NumberFormatException x1)
+ {
+ try
+ {
+ result = new Double (t);
+ }
+ catch (NumberFormatException x2)
+ {
+ }
+ }
+ if (result == null)
+ {
+ pos.setErrorIndex(index);
+ return null;
+ }
+
+ pos.setIndex(index + suffix.length());
+
+ return result;
+ }
+
+ public void setDecimalFormatSymbols (DecimalFormatSymbols newSymbols)
+ {
+ symbols = newSymbols;
+ }
+
+ public void setDecimalSeparatorAlwaysShown (boolean newValue)
+ {
+ decimalSeparatorAlwaysShown = newValue;
+ }
+
+ public void setGroupingSize (int groupSize)
+ {
+ groupingSize = (byte) groupSize;
+ }
+
+ public void setMaximumFractionDigits (int newValue)
+ {
+ maximumFractionDigits = Math.min(newValue, 340);
+ }
+
+ public void setMaximumIntegerDigits (int newValue)
+ {
+ maximumIntegerDigits = Math.min(newValue, 309);
+ }
+
+ public void setMinimumFractionDigits (int newValue)
+ {
+ minimumFractionDigits = Math.min(newValue, 340);
+ }
+
+ public void setMinimumIntegerDigits (int newValue)
+ {
+ minimumIntegerDigits = Math.min(newValue, 309);
+ }
+
+ public void setMultiplier (int newValue)
+ {
+ multiplier = newValue;
+ }
+
+ public void setNegativePrefix (String newValue)
+ {
+ negativePrefix = newValue;
+ }
+
+ public void setNegativeSuffix (String newValue)
+ {
+ negativeSuffix = newValue;
+ }
+
+ public void setPositivePrefix (String newValue)
+ {
+ positivePrefix = newValue;
+ }
+
+ public void setPositiveSuffix (String newValue)
+ {
+ positiveSuffix = newValue;
+ }
+
+ private final void quoteFix (StringBuffer buf, String text, String patChars)
+ {
+ int len = text.length();
+ for (int index = 0; index < len; ++index)
+ {
+ char c = text.charAt(index);
+ if (patChars.indexOf(c) != -1)
+ {
+ buf.append('\'');
+ buf.append(c);
+ buf.append('\'');
+ }
+ else
+ buf.append(c);
+ }
+ }
+
+ private final String computePattern (DecimalFormatSymbols syms)
+ {
+ StringBuffer mainPattern = new StringBuffer ();
+ // We have to at least emit a zero for the minimum number of
+ // digits. Past that we need hash marks up to the grouping
+ // separator (and one beyond).
+ int total_digits = Math.max(minimumIntegerDigits,
+ groupingUsed ? groupingSize + 1: 0);
+ for (int i = 0; i < total_digits - minimumIntegerDigits; ++i)
+ mainPattern.append(syms.getDigit());
+ for (int i = total_digits - minimumIntegerDigits; i < total_digits; ++i)
+ mainPattern.append(syms.getZeroDigit());
+ // Inserting the gropuing operator afterwards is easier.
+ if (groupingUsed)
+ mainPattern.insert(mainPattern.length() - groupingSize,
+ syms.getGroupingSeparator());
+ // See if we need decimal info.
+ if (minimumFractionDigits > 0 || maximumFractionDigits > 0
+ || decimalSeparatorAlwaysShown)
+ mainPattern.append(syms.getDecimalSeparator());
+ for (int i = 0; i < minimumFractionDigits; ++i)
+ mainPattern.append(syms.getZeroDigit());
+ for (int i = minimumFractionDigits; i < maximumFractionDigits; ++i)
+ mainPattern.append(syms.getDigit());
+ if (useExponentialNotation)
+ {
+ mainPattern.append(syms.getExponential());
+ for (int i = 0; i < minExponentDigits; ++i)
+ mainPattern.append(syms.getZeroDigit());
+ if (minExponentDigits == 0)
+ mainPattern.append(syms.getDigit());
+ }
+
+ String main = mainPattern.toString();
+ String patChars = patternChars (syms);
+ mainPattern.setLength(0);
+
+ quoteFix (mainPattern, positivePrefix, patChars);
+ mainPattern.append(main);
+ quoteFix (mainPattern, positiveSuffix, patChars);
+
+ if (negativePrefix != null)
+ {
+ quoteFix (mainPattern, negativePrefix, patChars);
+ mainPattern.append(main);
+ quoteFix (mainPattern, negativeSuffix, patChars);
+ }
+
+ return mainPattern.toString();
+ }
+
+ public String toLocalizedPattern ()
+ {
+ return computePattern (symbols);
+ }
+
+ public String toPattern ()
+ {
+ return computePattern (nonLocalizedSymbols);
+ }
+
+ // These names are fixed by the serialization spec.
+ private boolean decimalSeparatorAlwaysShown;
+ private byte groupingSize;
+ private byte minExponentDigits;
+ private int multiplier;
+ private String negativePrefix;
+ private String negativeSuffix;
+ private String positivePrefix;
+ private String positiveSuffix;
+ private DecimalFormatSymbols symbols;
+ private boolean useExponentialNotation;
+
+ // The locale-independent pattern symbols happen to be the same as
+ // the US symbols.
+ private static final DecimalFormatSymbols nonLocalizedSymbols
+ = new DecimalFormatSymbols (Locale.US);
+}
diff --git a/libjava/java/text/DecimalFormatSymbols.java b/libjava/java/text/DecimalFormatSymbols.java
new file mode 100644
index 0000000..783cb6f
--- /dev/null
+++ b/libjava/java/text/DecimalFormatSymbols.java
@@ -0,0 +1,293 @@
+// DecimalFormatSymbols.java - Symbols used to format numbers.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.text;
+
+import java.io.Serializable;
+import java.util.Locale;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date February 24, 1999
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 from http://www.javasoft.com.
+ * Status: Believed complete and correct to 1.2, except serialization.
+ */
+
+public final class DecimalFormatSymbols implements Cloneable, Serializable
+{
+ public Object clone ()
+ {
+ return new DecimalFormatSymbols (this);
+ }
+
+ private DecimalFormatSymbols (DecimalFormatSymbols orig)
+ {
+ this.currencySymbol = orig.currencySymbol;
+ this.decimalSeparator = orig.decimalSeparator;
+ this.digit = orig.digit;
+ this.exponential = orig.exponential;
+ this.groupingSeparator = orig.groupingSeparator;
+ this.infinity = orig.infinity;
+ this.intlCurrencySymbol = orig.intlCurrencySymbol;
+ this.minusSign = orig.minusSign;
+ this.NaN = orig.NaN;
+ this.patternSeparator = orig.patternSeparator;
+ this.percent = orig.percent;
+ this.perMill = orig.perMill;
+ this.zeroDigit = orig.zeroDigit;
+ }
+
+ public DecimalFormatSymbols ()
+ {
+ this (Locale.getDefault());
+ }
+
+ private final String safeGetString (ResourceBundle bundle,
+ String name, String def)
+ {
+ if (bundle != null)
+ {
+ try
+ {
+ return bundle.getString(name);
+ }
+ catch (MissingResourceException x)
+ {
+ }
+ }
+ return def;
+ }
+
+ public final char safeGetChar (ResourceBundle bundle,
+ String name, char def)
+ {
+ String r = null;
+ if (bundle != null)
+ {
+ try
+ {
+ r = bundle.getString(name);
+ }
+ catch (MissingResourceException x)
+ {
+ }
+ }
+ if (r == null || r.length() < 1)
+ return def;
+ return r.charAt(0);
+ }
+
+ public DecimalFormatSymbols (Locale loc)
+ {
+ ResourceBundle res;
+ try
+ {
+ res = ResourceBundle.getBundle("gnu.gcj.text.LocaleData", loc);
+ }
+ catch (MissingResourceException x)
+ {
+ res = null;
+ }
+ currencySymbol = safeGetString (res, "currencySymbol", "$");
+ decimalSeparator = safeGetChar (res, "decimalSeparator", '.');
+ digit = safeGetChar (res, "digit", '#');
+ exponential = safeGetChar (res, "exponential", 'E');
+ groupingSeparator = safeGetChar (res, "groupingSeparator", ',');
+ infinity = safeGetString (res, "infinity", "\u221e");
+ // FIXME: default?
+ intlCurrencySymbol = safeGetString (res, "intlCurrencySymbol", "$");
+ minusSign = safeGetChar (res, "minusSign", '-');
+ NaN = safeGetString (res, "NaN", "\ufffd");
+ patternSeparator = safeGetChar (res, "patternSeparator", ';');
+ percent = safeGetChar (res, "percent", '%');
+ perMill = safeGetChar (res, "perMill", '\u2030');
+ zeroDigit = safeGetChar (res, "zeroDigit", '0');
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (! (obj instanceof DecimalFormatSymbols))
+ return false;
+ DecimalFormatSymbols dfs = (DecimalFormatSymbols) obj;
+ return (currencySymbol.equals(dfs.currencySymbol)
+ && decimalSeparator == dfs.decimalSeparator
+ && digit == dfs.digit
+ && exponential == dfs.exponential
+ && groupingSeparator == dfs.groupingSeparator
+ && infinity.equals(dfs.infinity)
+ && intlCurrencySymbol.equals(dfs.intlCurrencySymbol)
+ && minusSign == dfs.minusSign
+ && NaN.equals(dfs.NaN)
+ && patternSeparator == dfs.patternSeparator
+ && percent == dfs.percent
+ && perMill == dfs.perMill
+ && zeroDigit == dfs.zeroDigit);
+ }
+
+ public String getCurrencySymbol ()
+ {
+ return currencySymbol;
+ }
+
+ public char getDecimalSeparator ()
+ {
+ return decimalSeparator;
+ }
+
+ public char getDigit ()
+ {
+ return digit;
+ }
+
+ // This is our own extension.
+ char getExponential ()
+ {
+ return exponential;
+ }
+
+ public char getGroupingSeparator ()
+ {
+ return groupingSeparator;
+ }
+
+ public String getInfinity ()
+ {
+ return infinity;
+ }
+
+ public String getInternationalCurrencySymbol ()
+ {
+ return intlCurrencySymbol;
+ }
+
+ public char getMinusSign ()
+ {
+ return minusSign;
+ }
+
+ public String getNaN ()
+ {
+ return NaN;
+ }
+
+ public char getPatternSeparator ()
+ {
+ return patternSeparator;
+ }
+
+ public char getPercent ()
+ {
+ return percent;
+ }
+
+ public char getPerMill ()
+ {
+ return perMill;
+ }
+
+ public char getZeroDigit ()
+ {
+ return zeroDigit;
+ }
+
+ public int hashCode ()
+ {
+ // Compute based on zero digit, grouping separator, and decimal
+ // separator -- JCL book. This probably isn't a very good hash
+ // code.
+ return zeroDigit << 16 + groupingSeparator << 8 + decimalSeparator;
+ }
+
+ public void setCurrenySymbol (String currency)
+ {
+ currencySymbol = currency;
+ }
+
+ public void setDecimalSeparator (char decimalSep)
+ {
+ decimalSeparator = decimalSep;
+ }
+
+ public void setDigit (char digit)
+ {
+ this.digit = digit;
+ }
+
+ // This is our own extension.
+ void setExponential (char exp)
+ {
+ exponential = exp;
+ }
+
+ public void setGroupingSeparator (char groupSep)
+ {
+ groupingSeparator = groupSep;
+ }
+
+ public void setInfinity (String infinity)
+ {
+ this.infinity = infinity;
+ }
+
+ public void setInternationalCurrencySymbol (String currency)
+ {
+ intlCurrencySymbol = currency;
+ }
+
+ public void setMinusSign (char minusSign)
+ {
+ this.minusSign = minusSign;
+ }
+
+ public void setNaN (String nan)
+ {
+ NaN = nan;
+ }
+
+ public void setPatternSeparator (char patternSep)
+ {
+ patternSeparator = patternSep;
+ }
+
+ public void setPercent (char percent)
+ {
+ this.percent = percent;
+ }
+
+ public void setPerMill (char perMill)
+ {
+ this.perMill = perMill;
+ }
+
+ public void setZeroDigit (char zeroDigit)
+ {
+ this.zeroDigit = zeroDigit;
+ }
+
+ // The names of the instance variables are fixed by the
+ // serialization spec.
+ private String currencySymbol;
+ private char decimalSeparator;
+ private char digit;
+ private char exponential;
+ private char groupingSeparator;
+ private String infinity;
+ private String intlCurrencySymbol;
+ private char minusSign;
+ private String NaN;
+ private char patternSeparator;
+ private char percent;
+ private char perMill;
+ private char zeroDigit;
+}
diff --git a/libjava/java/text/FieldPosition.java b/libjava/java/text/FieldPosition.java
new file mode 100644
index 0000000..2f8c093
--- /dev/null
+++ b/libjava/java/text/FieldPosition.java
@@ -0,0 +1,65 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.text;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date October 25, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ * Includes JDK 1.2 methods.
+ */
+
+public class FieldPosition
+{
+ int field;
+ int beginIndex;
+ int endIndex;
+
+ public FieldPosition (int field)
+ {
+ this.field = field;
+ }
+
+ public int getField ()
+ {
+ return field;
+ }
+
+ public int getBeginIndex ()
+ {
+ return beginIndex;
+ }
+
+ public int getEndIndex ()
+ {
+ return endIndex;
+ }
+
+ public void setBeginIndex (int index)
+ {
+ beginIndex = index;
+ }
+
+ public void setEndIndex (int index)
+ {
+ endIndex = index;
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (! (obj instanceof FieldPosition))
+ return false;
+ FieldPosition other = (FieldPosition) obj;
+ return (field == other.field
+ && beginIndex == other.beginIndex && endIndex == other.endIndex);
+ }
+}
diff --git a/libjava/java/text/Format.java b/libjava/java/text/Format.java
new file mode 100644
index 0000000..d2c918b
--- /dev/null
+++ b/libjava/java/text/Format.java
@@ -0,0 +1,51 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.text;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date October 25, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public abstract class Format implements java.io.Serializable, Cloneable
+{
+ public Format ()
+ {
+ }
+
+ public abstract StringBuffer format (Object obj,
+ StringBuffer sbuf, FieldPosition pos);
+
+ public final String format (Object obj)
+ {
+ StringBuffer sbuf = new StringBuffer();
+ format(obj, sbuf, new FieldPosition(0));
+ return sbuf.toString();
+ }
+
+ public abstract Object parseObject (String source, ParsePosition pos);
+
+ public Object parseObject (String source) throws ParseException
+ {
+ ParsePosition pos = new ParsePosition(0);
+ Object result = parseObject (source, pos);
+ if (result == null)
+ {
+ int index = pos.getErrorIndex();
+ if (index < 0)
+ index = pos.getIndex();
+ throw new ParseException("parseObject failed", index);
+ }
+ return result;
+ }
+}
diff --git a/libjava/java/text/MessageFormat.java b/libjava/java/text/MessageFormat.java
new file mode 100644
index 0000000..8b42235
--- /dev/null
+++ b/libjava/java/text/MessageFormat.java
@@ -0,0 +1,543 @@
+// MessageFormat.java - Localized message formatting.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.text;
+
+import java.util.Date;
+import java.util.Locale;
+import java.util.Vector;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date March 3, 1999
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 from http://www.javasoft.com.
+ * Status: Believed complete and correct to 1.2, except serialization.
+ * and parsing.
+ */
+
+final class MessageFormatElement
+{
+ // Argument number.
+ int argNumber;
+ // Formatter to be used. This is the format set by setFormat.
+ Format setFormat;
+ // Formatter to be used based on the type.
+ Format format;
+
+ // Argument will be checked to make sure it is an instance of this
+ // class.
+ Class formatClass;
+
+ // Formatter type.
+ String type;
+ // Formatter style.
+ String style;
+
+ // Text to follow this element.
+ String trailer;
+
+ // FIXME: shouldn't need this.
+ Class forName (String name)
+ {
+ try
+ {
+ return Class.forName (name);
+ }
+ catch (ClassNotFoundException x)
+ {
+ }
+ return null;
+ }
+
+ // Recompute the locale-based formatter.
+ void setLocale (Locale loc)
+ {
+ if (type == null)
+ ;
+ else if (type.equals("number"))
+ {
+ // FIXME: named class literal.
+ // formatClass = Number.class;
+ formatClass = forName ("java.lang.Number");
+
+ if (style == null)
+ format = NumberFormat.getInstance(loc);
+ else if (style.equals("currency"))
+ format = NumberFormat.getCurrencyInstance(loc);
+ else if (style.equals("percent"))
+ format = NumberFormat.getPercentInstance(loc);
+ else if (style.equals("integer"))
+ {
+ NumberFormat nf = NumberFormat.getNumberInstance(loc);
+ nf.setMaximumFractionDigits(0);
+ nf.setGroupingUsed(false);
+ format = nf;
+ }
+ else
+ {
+ format = NumberFormat.getNumberInstance(loc);
+ DecimalFormat df = (DecimalFormat) format;
+ try
+ {
+ df.applyPattern(style);
+ }
+ catch (ParseException x)
+ {
+ throw new IllegalArgumentException (x.getMessage());
+ }
+ }
+ }
+ else if (type.equals("time") || type.equals("date"))
+ {
+ // FIXME: named class literal.
+ // formatClass = Date.class;
+ formatClass = forName ("java.util.Date");
+
+ int val = DateFormat.DEFAULT;
+ if (style == null)
+ ;
+ if (style.equals("short"))
+ val = DateFormat.SHORT;
+ else if (style.equals("medium"))
+ val = DateFormat.MEDIUM;
+ else if (style.equals("long"))
+ val = DateFormat.LONG;
+ else if (style.equals("full"))
+ val = DateFormat.FULL;
+
+ if (type.equals("time"))
+ format = DateFormat.getTimeInstance(val, loc);
+ else
+ format = DateFormat.getDateInstance(val, loc);
+
+ if (style != null && val == DateFormat.DEFAULT)
+ {
+ SimpleDateFormat sdf = (SimpleDateFormat) format;
+ sdf.applyPattern(style);
+ }
+ }
+ else if (type.equals("choice"))
+ {
+ // FIXME: named class literal.
+ // formatClass = Number.class;
+ formatClass = forName ("java.lang.Number");
+
+ if (style == null)
+ throw new
+ IllegalArgumentException ("style required for choice format");
+ format = new ChoiceFormat (style);
+ }
+ }
+}
+
+public class MessageFormat extends Format
+{
+ // Helper that returns the text up to the next format opener. The
+ // text is put into BUFFER. Returns index of character after end of
+ // string. Throws IllegalArgumentException on error.
+ private static final int scanString (String pat, int index,
+ StringBuffer buffer)
+ {
+ int max = pat.length();
+ buffer.setLength(0);
+ for (; index < max; ++index)
+ {
+ char c = pat.charAt(index);
+ if (c == '\'' && index + 2 < max && pat.charAt(index + 2) == '\'')
+ {
+ buffer.append(pat.charAt(index + 1));
+ index += 2;
+ }
+ else if (c == '\'' && index + 1 < max
+ && pat.charAt(index + 1) == '\'')
+ {
+ buffer.append(c);
+ ++index;
+ }
+ else if (c == '{')
+ break;
+ else if (c == '}')
+ throw new IllegalArgumentException ();
+ else
+ buffer.append(c);
+ }
+ return index;
+ }
+
+ // This helper retrieves a single part of a format element. Returns
+ // the index of the terminating character.
+ private static final int scanFormatElement (String pat, int index,
+ StringBuffer buffer,
+ char term)
+ {
+ int max = pat.length();
+ buffer.setLength(0);
+ int brace_depth = 1;
+
+ for (; index < max; ++index)
+ {
+ char c = pat.charAt(index);
+ if (c == '\'' && index + 2 < max && pat.charAt(index + 2) == '\'')
+ {
+ buffer.append(c);
+ buffer.append(pat.charAt(index + 1));
+ buffer.append(c);
+ index += 2;
+ }
+ else if (c == '\'' && index + 1 < max
+ && pat.charAt(index + 1) == '\'')
+ {
+ buffer.append(c);
+ ++index;
+ }
+ else if (c == '{')
+ {
+ buffer.append(c);
+ ++brace_depth;
+ }
+ else if (c == '}')
+ {
+ if (--brace_depth == 0)
+ break;
+ buffer.append(c);
+ }
+ // Check for TERM after braces, because TERM might be `}'.
+ else if (c == term)
+ break;
+ else
+ buffer.append(c);
+ }
+ return index;
+ }
+
+ // This is used to parse a format element and whatever non-format
+ // text might trail it.
+ private static final int scanFormat (String pat, int index,
+ StringBuffer buffer, Vector elts,
+ Locale locale)
+ {
+ MessageFormatElement mfe = new MessageFormatElement ();
+ elts.addElement(mfe);
+
+ int max = pat.length();
+
+ // Skip the opening `{'.
+ ++index;
+
+ // Fetch the argument number.
+ index = scanFormatElement (pat, index, buffer, ',');
+ try
+ {
+ mfe.argNumber = Integer.parseInt(buffer.toString());
+ }
+ catch (NumberFormatException nfx)
+ {
+ throw new IllegalArgumentException ();
+ }
+
+ // Extract the element format.
+ if (index < max && pat.charAt(index) == ',')
+ {
+ index = scanFormatElement (pat, index + 1, buffer, ',');
+ mfe.type = buffer.toString();
+
+ // Extract the style.
+ if (index < max && pat.charAt(index) == ',')
+ {
+ index = scanFormatElement (pat, index + 1, buffer, '}');
+ mfe.style = buffer.toString ();
+ }
+ }
+
+ // Advance past the last terminator.
+ if (index >= max || pat.charAt(index) != '}')
+ throw new IllegalArgumentException ();
+ ++index;
+
+ // Now fetch trailing string.
+ index = scanString (pat, index, buffer);
+ mfe.trailer = buffer.toString ();
+
+ mfe.setLocale(locale);
+
+ return index;
+ }
+
+ public void applyPattern (String newPattern)
+ {
+ pattern = newPattern;
+
+ StringBuffer tempBuffer = new StringBuffer ();
+
+ int index = scanString (newPattern, 0, tempBuffer);
+ leader = tempBuffer.toString();
+
+ Vector elts = new Vector ();
+ while (index < newPattern.length())
+ index = scanFormat (newPattern, index, tempBuffer, elts, locale);
+
+ elements = new MessageFormatElement[elts.size()];
+ elts.copyInto(elements);
+ }
+
+ public Object clone ()
+ {
+ MessageFormat c = new MessageFormat ();
+ c.setLocale(locale);
+ c.applyPattern(pattern);
+ return (Object) c;
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (! (obj instanceof MessageFormat))
+ return false;
+ MessageFormat mf = (MessageFormat) obj;
+ return (pattern.equals(mf.pattern)
+ && locale.equals(mf.locale));
+ }
+
+ public static String format (String pattern, Object arguments[])
+ {
+ MessageFormat mf = new MessageFormat (pattern);
+ StringBuffer sb = new StringBuffer ();
+ FieldPosition fp = new FieldPosition (NumberFormat.INTEGER_FIELD);
+ return mf.format(arguments, sb, fp).toString();
+ }
+
+ public final StringBuffer format (Object arguments[], StringBuffer appendBuf,
+ FieldPosition ignore)
+ {
+ appendBuf.append(leader);
+
+ for (int i = 0; i < elements.length; ++i)
+ {
+ if (elements[i].argNumber >= arguments.length)
+ throw new IllegalArgumentException ();
+ Object thisArg = arguments[elements[i].argNumber];
+
+ Format formatter = null;
+ if (elements[i].setFormat != null)
+ formatter = elements[i].setFormat;
+ else if (elements[i].format != null)
+ {
+ if (elements[i].formatClass != null
+ && ! elements[i].formatClass.isInstance(thisArg))
+ throw new IllegalArgumentException ();
+ formatter = elements[i].format;
+ }
+ else if (thisArg instanceof Number)
+ formatter = NumberFormat.getInstance(locale);
+ else if (thisArg instanceof Date)
+ formatter = DateFormat.getTimeInstance(DateFormat.DEFAULT, locale);
+ else
+ appendBuf.append(thisArg);
+
+ if (formatter != null)
+ {
+ // Special-case ChoiceFormat.
+ if (formatter instanceof ChoiceFormat)
+ {
+ StringBuffer buf = new StringBuffer ();
+ // FIXME: don't actually know what is correct here.
+ // Can a sub-format refer to any argument, or just
+ // the single argument passed to it? Must test
+ // against JDK.
+ formatter.format(thisArg, buf, ignore);
+ MessageFormat mf = new MessageFormat ();
+ mf.setLocale(locale);
+ mf.applyPattern(buf.toString());
+ formatter = mf;
+ }
+ formatter.format(thisArg, appendBuf, ignore);
+ }
+
+ appendBuf.append(elements[i].trailer);
+ }
+
+ return appendBuf;
+ }
+
+ public final StringBuffer format (Object singleArg, StringBuffer appendBuf,
+ FieldPosition ignore)
+ {
+ Object[] args = new Object[1];
+ args[0] = singleArg;
+ return format (args, appendBuf, ignore);
+ }
+
+ public Format[] getFormats ()
+ {
+ Format[] f = new Format[elements.length];
+ for (int i = elements.length - 1; i >= 0; --i)
+ f[i] = elements[i].setFormat;
+ return f;
+ }
+
+ public Locale getLocale ()
+ {
+ return locale;
+ }
+
+ public int hashCode ()
+ {
+ // FIXME: not a very good hash.
+ return pattern.hashCode() + locale.hashCode();
+ }
+
+ private MessageFormat ()
+ {
+ }
+
+ public MessageFormat (String pattern)
+ {
+ applyPattern (pattern);
+ }
+
+ public Object[] parse (String sourceStr, ParsePosition pos)
+ {
+ // Check initial text.
+ int index = pos.getIndex();
+ if (! sourceStr.startsWith(leader, index))
+ {
+ pos.setErrorIndex(index);
+ return null;
+ }
+ index += leader.length();
+
+ Vector results = new Vector (elements.length, 1);
+ // Now check each format.
+ for (int i = 0; i < elements.length; ++i)
+ {
+ Format formatter = null;
+ if (elements[i].setFormat != null)
+ formatter = elements[i].setFormat;
+ else if (elements[i].format != null)
+ formatter = elements[i].format;
+
+ Object value = null;
+ if (formatter instanceof ChoiceFormat)
+ {
+ // We must special-case a ChoiceFormat because it might
+ // have recursive formatting.
+ ChoiceFormat cf = (ChoiceFormat) formatter;
+ String[] formats = (String[]) cf.getFormats();
+ double[] limits = (double[]) cf.getLimits();
+ MessageFormat subfmt = new MessageFormat ();
+ subfmt.setLocale(locale);
+ ParsePosition subpos = new ParsePosition (index);
+
+ int j;
+ for (j = 0; value == null && j < limits.length; ++j)
+ {
+ subfmt.applyPattern(formats[j]);
+ subpos.setIndex(index);
+ value = subfmt.parse(sourceStr, subpos);
+ }
+ if (value != null)
+ {
+ index = subpos.getIndex();
+ value = new Double (limits[j]);
+ }
+ }
+ else if (formatter != null)
+ {
+ pos.setIndex(index);
+ value = formatter.parseObject(sourceStr, pos);
+ if (value != null)
+ index = pos.getIndex();
+ }
+ else
+ {
+ // We have a String format. This can lose in a number
+ // of ways, but we give it a shot.
+ int next_index = sourceStr.indexOf(elements[i].trailer, index);
+ if (next_index == -1)
+ {
+ pos.setErrorIndex(index);
+ return null;
+ }
+ value = sourceStr.substring(index, next_index);
+ index = next_index;
+ }
+
+ if (value == null
+ || ! sourceStr.startsWith(elements[i].trailer, index))
+ {
+ pos.setErrorIndex(index);
+ return null;
+ }
+
+ if (elements[i].argNumber >= results.size())
+ results.setSize(elements[i].argNumber + 1);
+ results.setElementAt(value, elements[i].argNumber);
+
+ index += elements[i].trailer.length();
+ }
+
+ Object[] r = new Object[results.size()];
+ results.copyInto(r);
+ return r;
+ }
+
+ public Object[] parse (String sourceStr) throws ParseException
+ {
+ ParsePosition pp = new ParsePosition (0);
+ Object[] r = parse (sourceStr, pp);
+ if (r == null)
+ throw new ParseException ("couldn't parse string", pp.getErrorIndex());
+ return r;
+ }
+
+ public Object parseObject (String sourceStr, ParsePosition pos)
+ {
+ return parse (sourceStr, pos);
+ }
+
+ public void setFormat (int variableNum, Format newFormat)
+ {
+ elements[variableNum].setFormat = newFormat;
+ }
+
+ public void setFormats (Format[] newFormats)
+ {
+ if (newFormats.length < elements.length)
+ throw new IllegalArgumentException ();
+ int len = Math.min(newFormats.length, elements.length);
+ for (int i = 0; i < len; ++i)
+ elements[i].setFormat = newFormats[i];
+ }
+
+ public void setLocale (Locale loc)
+ {
+ locale = loc;
+ if (elements != null)
+ {
+ for (int i = 0; i < elements.length; ++i)
+ elements[i].setLocale(loc);
+ }
+ }
+
+ public String toPattern ()
+ {
+ return pattern;
+ }
+
+ // The pattern string.
+ private String pattern;
+ // The locale.
+ private Locale locale;
+ // Variables.
+ private MessageFormatElement[] elements;
+ // Leader text.
+ private String leader;
+}
diff --git a/libjava/java/text/NumberFormat.java b/libjava/java/text/NumberFormat.java
new file mode 100644
index 0000000..6ee79b3
--- /dev/null
+++ b/libjava/java/text/NumberFormat.java
@@ -0,0 +1,236 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.text;
+
+import java.util.Locale;
+import java.util.ResourceBundle;
+import java.util.MissingResourceException;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date March 4, 1999
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 from http://www.javasoft.com.
+ * Status: Believed complete and correct to 1.2, except serialization
+ * and getAvailableLocales.
+ */
+
+public abstract class NumberFormat extends Format implements Cloneable
+{
+ public static final int INTEGER_FIELD = 0;
+ public static final int FRACTION_FIELD = 1;
+
+ public final String format (long number)
+ {
+ StringBuffer sbuf = new StringBuffer(50);
+ format (number, sbuf, null);
+ return sbuf.toString();
+ }
+
+ public final StringBuffer format (Object obj, StringBuffer sbuf,
+ FieldPosition pos)
+ {
+ return format(((Number) obj).doubleValue(), sbuf, pos);
+ }
+
+ public abstract StringBuffer format (double number,
+ StringBuffer sbuf, FieldPosition pos);
+
+ public abstract StringBuffer format (long number,
+ StringBuffer sbuf, FieldPosition pos);
+
+ public static Locale[] getAvailableLocales ()
+ {
+ // FIXME.
+ return null;
+ }
+
+ private static final NumberFormat computeInstance (Locale loc,
+ String resource,
+ String def)
+ {
+ ResourceBundle res;
+ try
+ {
+ res = ResourceBundle.getBundle("gnu.gcj.text.LocaleData", loc);
+ }
+ catch (MissingResourceException x)
+ {
+ res = null;
+ }
+ String fmt;
+ try
+ {
+ fmt = res == null ? def : res.getString(resource);
+ }
+ catch (MissingResourceException x)
+ {
+ fmt = def;
+ }
+ DecimalFormatSymbols dfs = new DecimalFormatSymbols (loc);
+ return new DecimalFormat (fmt, dfs);
+ }
+
+ public static final NumberFormat getCurrencyInstance ()
+ {
+ return getCurrencyInstance (Locale.getDefault());
+ }
+
+ public static NumberFormat getCurrencyInstance (Locale loc)
+ {
+ return computeInstance (loc, "currencyFormat", "$#,##0.00;($#,##0.00)");
+ }
+
+ public static final NumberFormat getInstance ()
+ {
+ return getInstance (Locale.getDefault());
+ }
+
+ public static NumberFormat getInstance (Locale loc)
+ {
+ // For now always return a number instance.
+ return getNumberInstance (loc);
+ }
+
+ public int getMaximumFractionDigits ()
+ {
+ return maximumFractionDigits;
+ }
+
+ public int getMaximumIntegerDigits ()
+ {
+ return maximumIntegerDigits;
+ }
+
+ public int getMinimumFractionDigits ()
+ {
+ return minimumFractionDigits;
+ }
+
+ public int getMinimumIntegerDigits ()
+ {
+ return minimumIntegerDigits;
+ }
+
+ public static final NumberFormat getNumberInstance ()
+ {
+ return getNumberInstance (Locale.getDefault());
+ }
+
+ public static NumberFormat getNumberInstance (Locale loc)
+ {
+ return computeInstance (loc, "numberFormat", "#,##0.###");
+ }
+
+ public static final NumberFormat getPercentInstance ()
+ {
+ return getPercentInstance (Locale.getDefault());
+ }
+
+ public static NumberFormat getPercentInstance (Locale loc)
+ {
+ return computeInstance (loc, "percentFormat", "#,##0%");
+ }
+
+ public int hashCode ()
+ {
+ int hash = super.hashCode();
+ hash ^= (maximumFractionDigits + maximumIntegerDigits
+ + minimumFractionDigits + minimumIntegerDigits);
+ if (groupingUsed)
+ hash ^= 0xf0f0;
+ if (parseIntegerOnly)
+ hash ^= 0x0f0f;
+ return hash;
+ }
+
+ public boolean isGroupingUsed ()
+ {
+ return groupingUsed;
+ }
+
+ public boolean isParseIntegerOnly ()
+ {
+ return parseIntegerOnly;
+ }
+
+ public NumberFormat ()
+ {
+ }
+
+ public abstract Number parse (String sourceStr, ParsePosition pos);
+
+ public Number parse (String sourceStr) throws ParseException
+ {
+ ParsePosition pp = new ParsePosition (0);
+ Number r = parse (sourceStr, pp);
+ if (r == null)
+ {
+ int index = pp.getErrorIndex();
+ if (index < 0)
+ index = pp.getIndex();
+ throw new ParseException ("couldn't parse number", index);
+ }
+ return r;
+ }
+
+ public final Object parseObject (String sourceStr, ParsePosition pos)
+ {
+ return parse (sourceStr, pos);
+ }
+
+ public void setGroupingUsed (boolean newValue)
+ {
+ groupingUsed = newValue;
+ }
+
+ public void setMaximumFractionDigits (int newValue)
+ {
+ maximumFractionDigits = newValue;
+ }
+
+ public void setMaximumIntegerDigits (int newValue)
+ {
+ maximumIntegerDigits = newValue;
+ }
+
+ public void setMinimumFractionDigits (int newValue)
+ {
+ minimumFractionDigits = newValue;
+ }
+
+ public void setMinimumIntegerDigits (int newValue)
+ {
+ minimumIntegerDigits = newValue;
+ }
+
+ public void setParseIntegerOnly (boolean value)
+ {
+ parseIntegerOnly = value;
+ }
+
+ public final String format (double number)
+ {
+ StringBuffer sbuf = new StringBuffer(50);
+ format (number, sbuf, null);
+ return sbuf.toString();
+ }
+
+ // These field names are fixed by the serialization spec.
+ // FIXME: serialization spec also mentions `byte' versions of the
+ // min/max fields. We have no use for those, so for now they are
+ // omitted.
+ protected boolean groupingUsed;
+ protected int maximumFractionDigits;
+ protected int maximumIntegerDigits;
+ protected int minimumFractionDigits;
+ protected int minimumIntegerDigits;
+ protected boolean parseIntegerOnly;
+}
diff --git a/libjava/java/text/ParseException.java b/libjava/java/text/ParseException.java
new file mode 100644
index 0000000..6bc9353
--- /dev/null
+++ b/libjava/java/text/ParseException.java
@@ -0,0 +1,34 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.text;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date October 25, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class ParseException extends Exception
+{
+ private int errorOffset;
+
+ public ParseException (String msg, int errorOffset)
+ {
+ super(msg);
+ this.errorOffset = errorOffset;
+ }
+
+ public int getErrorOffset ()
+ {
+ return errorOffset;
+ }
+}
diff --git a/libjava/java/text/ParsePosition.java b/libjava/java/text/ParsePosition.java
new file mode 100644
index 0000000..4603f79
--- /dev/null
+++ b/libjava/java/text/ParsePosition.java
@@ -0,0 +1,59 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.text;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date October 25, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ * Includes JDK 1.2 methods.
+ */
+
+public class ParsePosition
+{
+ int index;
+ int errorIndex;
+
+ public ParsePosition (int index)
+ {
+ this.index = index;
+ errorIndex = -1;
+ }
+
+ public int getIndex ()
+ {
+ return index;
+ }
+
+ public void setIndex (int index)
+ {
+ this.index = index;
+ }
+
+ public int getErrorIndex ()
+ {
+ return errorIndex;
+ }
+
+ public void setErrorIndex (int ei)
+ {
+ errorIndex = ei;
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (obj != null || ! (obj instanceof ParsePosition))
+ return false;
+ ParsePosition other = (ParsePosition) obj;
+ return index == other.index && errorIndex == other.errorIndex;
+ }
+}
diff --git a/libjava/java/text/SimpleDateFormat.java b/libjava/java/text/SimpleDateFormat.java
new file mode 100644
index 0000000..b401247
--- /dev/null
+++ b/libjava/java/text/SimpleDateFormat.java
@@ -0,0 +1,522 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.text;
+
+import java.util.*;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date October 25, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: parse is not implemented.
+ */
+
+public class SimpleDateFormat extends DateFormat
+{
+ private Date defaultCenturyStart;
+ private DateFormatSymbols formatData;
+ private String pattern;
+
+ public SimpleDateFormat ()
+ {
+ this("dd/MM/yy HH:mm", Locale.getDefault());
+ }
+
+ public SimpleDateFormat (String pattern)
+ {
+ this(pattern, Locale.getDefault());
+ }
+
+ public SimpleDateFormat (String pattern, Locale locale)
+ {
+ this.pattern = pattern;
+ this.calendar = Calendar.getInstance(locale);
+ this.numberFormat = NumberFormat.getInstance(locale);
+ numberFormat.setGroupingUsed(false);
+ this.formatData = new DateFormatSymbols (locale);
+ }
+
+ public SimpleDateFormat (String pattern, DateFormatSymbols formatData)
+ {
+ this.pattern = pattern;
+ this.formatData = formatData;
+ this.calendar = Calendar.getInstance();
+ this.numberFormat = NumberFormat.getInstance();
+ numberFormat.setGroupingUsed(false);
+ }
+
+ public Date get2DigitYearStart()
+ {
+ return defaultCenturyStart;
+ }
+
+ public void set2DigitYearStart(Date startDate)
+ {
+ defaultCenturyStart = startDate;
+ }
+
+ public DateFormatSymbols getDateFormatSymbols ()
+ {
+ return formatData;
+ }
+
+ public void setDateFormatSymbols (DateFormatSymbols value)
+ {
+ formatData = value;
+ }
+
+ public String toPattern ()
+ {
+ return pattern;
+ }
+
+ public void applyPattern (String pattern)
+ {
+ this.pattern = pattern;
+ }
+
+ private String applyLocalizedPattern (String pattern,
+ String oldChars, String newChars)
+ {
+ int len = pattern.length();
+ StringBuffer buf = new StringBuffer(len);
+ boolean quoted = false;
+ for (int i = 0; i < len; i++)
+ {
+ char ch = pattern.charAt(i);
+ if (ch == '\'')
+ quoted = ! quoted;
+ if (! quoted)
+ {
+ int j = oldChars.indexOf(ch);
+ if (j >= 0)
+ ch = newChars.charAt(j);
+ }
+ buf.append(ch);
+ }
+ return buf.toString();
+ }
+
+ public void applyLocalizedPattern (String pattern)
+ {
+ String localChars = formatData.getLocalPatternChars();
+ String standardChars = DateFormatSymbols.localPatternCharsDefault;
+ pattern = applyLocalizedPattern (pattern, localChars, standardChars);
+ applyPattern(pattern);
+ }
+
+ public String toLocalizedPattern ()
+ {
+ String localChars = formatData.getLocalPatternChars();
+ String standardChars = DateFormatSymbols.localPatternCharsDefault;
+ return applyLocalizedPattern (pattern, standardChars, localChars);
+ }
+
+ private final void append (StringBuffer buf, int value, int numDigits)
+ {
+ numberFormat.setMinimumIntegerDigits(numDigits);
+ numberFormat.format(value, buf, null);
+ }
+
+ public StringBuffer format (Date date, StringBuffer buf, FieldPosition pos)
+ {
+ Calendar calendar = (Calendar) this.calendar.clone();
+ calendar.setTime(date);
+ int len = pattern.length();
+ int quoteStart = -1;
+ for (int i = 0; i < len; i++)
+ {
+ char ch = pattern.charAt(i);
+ if (ch == '\'')
+ {
+ // We must do a little lookahead to see if we have two
+ // single quotes embedded in quoted text.
+ if (i < len - 1 && pattern.charAt(i + 1) == '\'')
+ {
+ ++i;
+ buf.append(ch);
+ }
+ else
+ quoteStart = quoteStart < 0 ? i : -1;
+ }
+ // From JCL: any characters in the pattern that are not in
+ // the ranges of [a..z] and [A..Z] are treated as quoted
+ // text.
+ else if (quoteStart != -1
+ || ((ch < 'a' || ch > 'z')
+ && (ch < 'A' || ch > 'Z')))
+ buf.append(ch);
+ else
+ {
+ int first = i;
+ int value;
+ while (++i < len && pattern.charAt(i) == ch) ;
+ int count = i - first; // Number of repetions of ch in pattern.
+ int beginIndex = buf.length();
+ int field;
+ i--; // Skip all but last instance of ch in pattern.
+ switch (ch)
+ {
+ case 'd':
+ append(buf, calendar.get(Calendar.DATE), count);
+ field = DateFormat.DATE_FIELD;
+ break;
+ case 'D':
+ append(buf, calendar.get(Calendar.DAY_OF_YEAR), count);
+ field = DateFormat.DAY_OF_YEAR_FIELD;
+ break;
+ case 'F':
+ append(buf, calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH),count);
+ field = DateFormat.DAY_OF_WEEK_IN_MONTH_FIELD;
+ break;
+ case 'E':
+ value = calendar.get(calendar.DAY_OF_WEEK);
+ buf.append(count <= 3 ? formatData.getShortWeekdays()[value]
+ : formatData.getWeekdays()[value]);
+ field = DateFormat.DAY_OF_WEEK_FIELD;
+ break;
+ case 'w':
+ append(buf, calendar.get(Calendar.WEEK_OF_YEAR), count);
+ field = DateFormat.WEEK_OF_YEAR_FIELD;
+ break;
+ case 'W':
+ append(buf, calendar.get(Calendar.WEEK_OF_MONTH), count);
+ field = DateFormat.WEEK_OF_MONTH_FIELD;
+ break;
+ case 'M':
+ value = calendar.get(Calendar.MONTH);
+ if (count <= 2)
+ append(buf, value + 1, count);
+ else
+ buf.append(count <= 3 ? formatData.getShortMonths()[value]
+ : formatData.getMonths()[value]);
+ field = DateFormat.MONTH_FIELD;
+ break;
+ case 'y':
+ value = calendar.get(Calendar.YEAR);
+ append(buf, count <= 2 ? value % 100 : value, count);
+ field = DateFormat.YEAR_FIELD;
+ break;
+ case 'K':
+ append(buf, calendar.get(Calendar.HOUR), count);
+ field = DateFormat.HOUR0_FIELD;
+ break;
+ case 'h':
+ value = ((calendar.get(Calendar.HOUR) + 11) % 12) + 1;
+ append(buf, value, count);
+ field = DateFormat.HOUR1_FIELD;
+ break;
+ case 'H':
+ append(buf, calendar.get(Calendar.HOUR_OF_DAY), count);
+ field = DateFormat.HOUR_OF_DAY0_FIELD;
+ break;
+ case 'k':
+ value = ((calendar.get(Calendar.HOUR_OF_DAY) + 23) % 24) + 1;
+ append(buf, value, count);
+ field = DateFormat.HOUR_OF_DAY1_FIELD;
+ break;
+ case 'm':
+ append(buf, calendar.get(Calendar.MINUTE), count);
+ field = DateFormat.MINUTE_FIELD;
+ break;
+ case 's':
+ append(buf, calendar.get(Calendar.SECOND), count);
+ field = DateFormat.SECOND_FIELD;
+ break;
+ case 'S':
+ append(buf, calendar.get(Calendar.MILLISECOND), count);
+ field = DateFormat.MILLISECOND_FIELD;
+ break;
+ case 'a':
+ value = calendar.get(calendar.AM_PM);
+ buf.append(formatData.getAmPmStrings()[value]);
+ field = DateFormat.AM_PM_FIELD;
+ break;
+ case 'z':
+ String zoneID = calendar.getTimeZone().getID();
+ String[][] zoneStrings = formatData.getZoneStrings();
+ int zoneCount = zoneStrings.length;
+ for (int j = 0; j < zoneCount; j++)
+ {
+ String[] strings = zoneStrings[j];
+ if (zoneID.equals(strings[0]))
+ {
+ j = count > 3 ? 2 : 1;
+ if (calendar.get(Calendar.DST_OFFSET) != 0)
+ j+=2;
+ zoneID = strings[j];
+ break;
+ }
+ }
+ buf.append(zoneID);
+ field = DateFormat.TIMEZONE_FIELD;
+ break;
+ default:
+ // Note that the JCL is actually somewhat
+ // contradictory here. It defines the pattern letters
+ // to be a particular list, but also says that a
+ // pattern containing an invalid pattern letter must
+ // throw an exception. It doesn't describe what an
+ // invalid pattern letter might be, so we just assume
+ // it is any letter in [a-zA-Z] not explicitly covered
+ // above.
+ throw new RuntimeException("bad format string");
+ }
+ if (pos != null && field == pos.getField())
+ {
+ pos.setBeginIndex(beginIndex);
+ pos.setEndIndex(buf.length());
+ }
+ }
+ }
+ return buf;
+ }
+
+ private final boolean expect (String source, ParsePosition pos,
+ char ch)
+ {
+ int x = pos.getIndex();
+ boolean r = x < source.length() && source.charAt(x) == ch;
+ if (r)
+ pos.setIndex(x + 1);
+ else
+ pos.setErrorIndex(x);
+ return r;
+ }
+
+ public Date parse (String source, ParsePosition pos)
+ {
+ int fmt_index = 0;
+ int fmt_max = pattern.length();
+
+ calendar.clear();
+ int quote_start = -1;
+ for (; fmt_index < fmt_max; ++fmt_index)
+ {
+ char ch = pattern.charAt(fmt_index);
+ if (ch == '\'')
+ {
+ int index = pos.getIndex();
+ if (fmt_index < fmt_max - 1
+ && pattern.charAt(fmt_index + 1) == '\'')
+ {
+ if (! expect (source, pos, ch))
+ return null;
+ ++fmt_index;
+ }
+ else
+ quote_start = quote_start < 0 ? fmt_index : -1;
+ continue;
+ }
+
+ if (quote_start != -1
+ || ((ch < 'a' || ch > 'z')
+ && (ch < 'A' || ch > 'Z')))
+ {
+ if (! expect (source, pos, ch))
+ return null;
+ continue;
+ }
+
+ // We've arrived at a potential pattern character in the
+ // pattern.
+ int first = fmt_index;
+ while (++fmt_index < fmt_max && pattern.charAt(fmt_index) == ch)
+ ;
+ int count = fmt_index - first;
+ --fmt_index;
+
+ // We can handle most fields automatically: most either are
+ // numeric or are looked up in a string vector. In some cases
+ // we need an offset. When numeric, `offset' is added to the
+ // resulting value. When doing a string lookup, offset is the
+ // initial index into the string array.
+ int calendar_field;
+ boolean is_numeric = true;
+ String[] match = null;
+ int offset = 0;
+ int zone_number = 0;
+ switch (ch)
+ {
+ case 'd':
+ calendar_field = Calendar.DATE;
+ break;
+ case 'D':
+ calendar_field = Calendar.DAY_OF_YEAR;
+ break;
+ case 'F':
+ calendar_field = Calendar.DAY_OF_WEEK_IN_MONTH;
+ break;
+ case 'E':
+ is_numeric = false;
+ offset = 1;
+ calendar_field = Calendar.DAY_OF_WEEK;
+ match = (count <= 3
+ ? formatData.getShortWeekdays()
+ : formatData.getWeekdays());
+ break;
+ case 'w':
+ calendar_field = Calendar.WEEK_OF_YEAR;
+ break;
+ case 'W':
+ calendar_field = Calendar.WEEK_OF_MONTH;
+ break;
+ case 'M':
+ calendar_field = Calendar.MONTH;
+ if (count <= 2)
+ ;
+ else
+ {
+ is_numeric = false;
+ match = (count <= 3
+ ? formatData.getShortMonths()
+ : formatData.getMonths());
+ }
+ break;
+ case 'y':
+ calendar_field = Calendar.YEAR;
+ if (count <= 2)
+ offset = 1900;
+ break;
+ case 'K':
+ calendar_field = Calendar.HOUR;
+ break;
+ case 'h':
+ calendar_field = Calendar.HOUR;
+ offset = -1;
+ break;
+ case 'H':
+ calendar_field = Calendar.HOUR_OF_DAY;
+ break;
+ case 'k':
+ calendar_field = Calendar.HOUR_OF_DAY;
+ offset = -1;
+ break;
+ case 'm':
+ calendar_field = Calendar.MINUTE;
+ break;
+ case 's':
+ calendar_field = Calendar.SECOND;
+ break;
+ case 'S':
+ calendar_field = Calendar.MILLISECOND;
+ break;
+ case 'a':
+ is_numeric = false;
+ calendar_field = Calendar.AM_PM;
+ match = formatData.getAmPmStrings();
+ break;
+ case 'z':
+ // We need a special case for the timezone, because it
+ // uses a different data structure than the other cases.
+ is_numeric = false;
+ calendar_field = Calendar.DST_OFFSET;
+ String[][] zoneStrings = formatData.getZoneStrings();
+ int zoneCount = zoneStrings.length;
+ int index = pos.getIndex();
+ boolean found_zone = false;
+ for (int j = 0; j < zoneCount; j++)
+ {
+ String[] strings = zoneStrings[j];
+ int k;
+ for (k = 1; k < strings.length; ++k)
+ {
+ if (source.startsWith(strings[k], index))
+ break;
+ }
+ if (k != strings.length)
+ {
+ if (k > 2)
+ ; // FIXME: dst.
+ zone_number = 0; // FIXME: dst.
+ // FIXME: raw offset to SimpleTimeZone const.
+ calendar.setTimeZone(new SimpleTimeZone (1, strings[0]));
+ pos.setIndex(index + strings[k].length());
+ break;
+ }
+ }
+ if (! found_zone)
+ {
+ pos.setErrorIndex(pos.getIndex());
+ return null;
+ }
+ break;
+ default:
+ pos.setErrorIndex(pos.getIndex());
+ return null;
+ }
+
+ // Compute the value we should assign to the field.
+ int value;
+ if (is_numeric)
+ {
+ numberFormat.setMinimumIntegerDigits(count);
+ Number n = numberFormat.parse(source, pos);
+ if (pos == null || ! (n instanceof Long))
+ return null;
+ value = n.intValue() + offset;
+ }
+ else if (match != null)
+ {
+ int index = pos.getIndex();
+ int i;
+ for (i = offset; i < match.length; ++i)
+ {
+ if (source.startsWith(match[i], index))
+ break;
+ }
+ if (i == match.length)
+ {
+ pos.setErrorIndex(index);
+ return null;
+ }
+ pos.setIndex(index + match[i].length());
+ value = i;
+ }
+ else
+ value = zone_number;
+
+ // Assign the value and move on.
+ try
+ {
+ calendar.set(calendar_field, value);
+ }
+ // FIXME: what exception is thrown on an invalid
+ // non-lenient set?
+ catch (IllegalArgumentException x)
+ {
+ pos.setErrorIndex(pos.getIndex());
+ return null;
+ }
+ }
+
+ return calendar.getTime();
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (! (obj instanceof SimpleDateFormat) || ! super.equals(obj) )
+ return false;
+ SimpleDateFormat other = (SimpleDateFormat) obj;
+ return (DateFormatSymbols.equals(pattern, other.pattern)
+ && DateFormatSymbols.equals(formatData, other.formatData)
+ && DateFormatSymbols.equals(defaultCenturyStart,
+ other.defaultCenturyStart));
+ }
+
+ public int hashCode ()
+ {
+ int hash = super.hashCode();
+ if (pattern != null)
+ hash ^= pattern.hashCode();
+ return hash;
+ }
+}
diff --git a/libjava/java/text/StringCharacterIterator.java b/libjava/java/text/StringCharacterIterator.java
new file mode 100644
index 0000000..6eaa8e7
--- /dev/null
+++ b/libjava/java/text/StringCharacterIterator.java
@@ -0,0 +1,142 @@
+// StringCharacterIterator.java - Iterate over string of Unicode characters.
+
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.text;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date February 22, 1999
+ */
+/* Written using "Java Class Libraries", 2nd edition, plus online
+ * API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct to 1.1.
+ */
+
+public final class StringCharacterIterator implements CharacterIterator
+{
+ public Object clone ()
+ {
+ return (Object) new StringCharacterIterator (text, begin, end, pos);
+ }
+
+ public char current ()
+ {
+ // This follows JDK 1.2 semantics and not 1.1 semantics.
+ // In 1.1 we would throw an exception if begin==end.
+ return (pos < end) ? text.charAt(pos) : CharacterIterator.DONE;
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (! (obj instanceof StringCharacterIterator))
+ return false;
+ StringCharacterIterator sci = (StringCharacterIterator) obj;
+ // The spec says "the same text". We take this to mean equals,
+ // not ==.
+ return (pos == sci.pos
+ && begin == sci.begin
+ && end == sci.end
+ && text.equals(sci.text));
+ }
+
+ public char first ()
+ {
+ pos = begin;
+ return current ();
+ }
+
+ public int getBeginIndex ()
+ {
+ return begin;
+ }
+
+ public int getEndIndex ()
+ {
+ return end;
+ }
+
+ public int getIndex ()
+ {
+ return pos;
+ }
+
+ public int hashCode ()
+ {
+ // FIXME: this is a terrible hash code. Find a better one.
+ return text.hashCode() + pos + begin + end;
+ }
+
+ public char last ()
+ {
+ pos = end;
+ return current ();
+ }
+
+ public char next ()
+ {
+ if (pos == end)
+ return CharacterIterator.DONE;
+ ++pos;
+ return current ();
+ }
+
+ public char previous ()
+ {
+ if (pos == begin)
+ return CharacterIterator.DONE;
+ --pos;
+ return current ();
+ }
+
+ public char setIndex (int idx)
+ {
+ // In 1.1 we would throw an error if `idx == end'.
+ if (idx < begin || idx > end)
+ throw new IllegalArgumentException ();
+ pos = idx;
+ return current ();
+ }
+
+ public StringCharacterIterator (String text)
+ {
+ // FIXME: remove check for null once we have compiler/runtime
+ // support for NullPointerException.
+ this (text, 0, text == null ? 0 : text.length(), 0);
+ }
+ public StringCharacterIterator (String text, int pos)
+ {
+ // FIXME: remove check for null once we have compiler/runtime
+ // support for NullPointerException.
+ this (text, 0, text == null ? 0 : text.length(), pos);
+ }
+ public StringCharacterIterator (String text, int begin, int end, int pos)
+ {
+ if (text == null)
+ throw new NullPointerException ();
+ if (begin < 0 || begin > end || end > text.length()
+ // In 1.1 we would also throw if `pos == end'.
+ || pos < begin || pos > end)
+ throw new IllegalArgumentException ();
+
+ this.text = text;
+ this.begin = begin;
+ this.end = end;
+ this.pos = pos;
+ }
+
+ // String to iterate over.
+ private String text;
+ // Current position.
+ private int pos;
+ // Start position in string.
+ private int begin;
+ // End position in string.
+ private int end;
+}
diff --git a/libjava/java/util/BitSet.java b/libjava/java/util/BitSet.java
new file mode 100644
index 0000000..e588695
--- /dev/null
+++ b/libjava/java/util/BitSet.java
@@ -0,0 +1,183 @@
+// BitSet - A vector of bits.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+import java.io.Serializable;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 23, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * hashCode algorithm taken from JDK 1.2 docs.
+ */
+
+public final class BitSet implements Cloneable, Serializable
+{
+ public void and (BitSet bs)
+ {
+ if (bs == null)
+ throw new NullPointerException ();
+ int max = Math.min(bits.length, bs.bits.length);
+ int i;
+ for (i = 0; i < max; ++i)
+ bits[i] &= bs.bits[i];
+ for ( ; i < bits.length; ++i)
+ bits[i] = 0;
+ }
+
+ public BitSet ()
+ {
+ this (64);
+ }
+
+ public BitSet (int nbits)
+ {
+ if (nbits < 0)
+ throw new NegativeArraySizeException ();
+ int length = nbits / 64;
+ if (nbits % 64 != 0)
+ ++length;
+ bits = new long[length];
+ }
+
+ public void clear (int pos)
+ {
+ if (pos < 0)
+ throw new IndexOutOfBoundsException ();
+ int bit = pos % 64;
+ int offset = pos / 64;
+ ensure (offset);
+ bits[offset] &= ~ (1 << bit);
+ }
+
+ public Object clone ()
+ {
+ BitSet bs = new BitSet (bits.length * 64);
+ System.arraycopy(bits, 0, bs.bits, 0, bits.length);
+ return bs;
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (! (obj instanceof BitSet))
+ return false;
+ BitSet bs = (BitSet) obj;
+ int max = Math.min(bits.length, bs.bits.length);
+ int i;
+ for (i = 0; i < max; ++i)
+ if (bits[i] != bs.bits[i])
+ return false;
+ // If one is larger, check to make sure all extra bits are 0.
+ for (int j = i; j < bits.length; ++j)
+ if (bits[j] != 0)
+ return false;
+ for (int j = i; j < bs.bits.length; ++j)
+ if (bs.bits[j] != 0)
+ return false;
+ return true;
+ }
+
+ public boolean get (int pos)
+ {
+ if (pos < 0)
+ throw new IndexOutOfBoundsException ();
+
+ int bit = pos % 64;
+ int offset = pos / 64;
+
+ if (offset >= bits.length)
+ return false;
+
+ return (bits[offset] & (1 << bit)) == 0 ? false : true;
+ }
+
+ public int hashCode ()
+ {
+ long h = 1234;
+ for (int i = bits.length - 1; i >= 0; --i)
+ h ^= bits[i] * (i + 1);
+ return (int) ((h >> 32) ^ h);
+ }
+
+ public void or (BitSet bs)
+ {
+ if (bs == null)
+ throw new NullPointerException ();
+ ensure (bs.bits.length - 1);
+ int i;
+ for (i = 0; i < bs.bits.length; ++i)
+ bits[i] |= bs.bits[i];
+ }
+
+ public void set (int pos)
+ {
+ if (pos < 0)
+ throw new IndexOutOfBoundsException ();
+ int bit = pos % 64;
+ int offset = pos / 64;
+ ensure (offset);
+ bits[offset] |= 1 << bit;
+ }
+
+ public int size ()
+ {
+ return bits.length * 64;
+ }
+
+ public String toString ()
+ {
+ StringBuffer result = new StringBuffer ("{");
+ boolean first = true;
+ for (int i = 0; i < bits.length; ++i)
+ {
+ int bit = 1;
+ long word = bits[i];
+ for (int j = 0; j < 64; ++j)
+ {
+ if ((word & bit) != 0)
+ {
+ if (! first)
+ result.append(", ");
+ result.append(64 * i + j);
+ first = false;
+ }
+ bit <<= 1;
+ }
+ }
+
+ return result.append("}").toString();
+ }
+
+ public void xor (BitSet bs)
+ {
+ if (bs == null)
+ throw new NullPointerException ();
+ ensure (bs.bits.length - 1);
+ int i;
+ for (i = 0; i < bs.bits.length; ++i)
+ bits[i] ^= bs.bits[i];
+ }
+
+ // Make sure the vector is big enough.
+ private final void ensure (int lastElt)
+ {
+ if (lastElt + 1 > bits.length)
+ {
+ long[] nd = new long[lastElt + 1];
+ System.arraycopy(bits, 0, nd, 0, bits.length);
+ bits = nd;
+ }
+ }
+
+ // The actual bits.
+ private long[] bits;
+}
diff --git a/libjava/java/util/Calendar.java b/libjava/java/util/Calendar.java
new file mode 100644
index 0000000..8649adf
--- /dev/null
+++ b/libjava/java/util/Calendar.java
@@ -0,0 +1,258 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date October 24, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3,
+ * and "The Java Language Specification", ISBN 0-201-63451-1.
+ * Status: Unimplemented: getAvailableLocales.
+ * No Locale knowledge.
+ */
+
+public abstract class Calendar implements java.io.Serializable, Cloneable
+{
+ public final static int JANUARY = 0;
+ public final static int FEBRUARY = 1;
+ public final static int MARCH = 2;
+ public final static int APRIL = 3;
+ public final static int MAY = 4;
+ public final static int JUNE = 5;
+ public final static int JULY = 6;
+ public final static int AUGUST = 7;
+ public final static int SEPTEMBER = 8;
+ public final static int OCTOBER = 9;
+ public final static int NOVEMBER = 10;
+ public final static int DECEMBER = 11;
+ public final static int UNDECIMBER = 12;
+
+ public final static int SUNDAY = 1;
+ public final static int MONDAY = 2;
+ public final static int TUESDAY = 3;
+ public final static int WEDNESDAY = 4;
+ public final static int THURSDAY = 5;
+ public final static int FRIDAY = 6;
+ public final static int SATURDAY = 7;
+
+ public final static int AM = 0;
+ public final static int PM = 1;
+
+ public final static int FIELD_COUNT = 17;
+
+ // These constants are not docuemnted, but were determined using
+ // a simple test program.
+ public final static int ERA = 0;
+ public final static int YEAR = 1;
+ public final static int MONTH = 2;
+ public final static int WEEK_OF_YEAR = 3;
+ public final static int WEEK_OF_MONTH = 4;
+ public final static int DATE = 5;
+ public final static int DAY_OF_MONTH = 5;
+ public final static int DAY_OF_YEAR = 6;
+ public final static int DAY_OF_WEEK = 7;
+ public final static int DAY_OF_WEEK_IN_MONTH = 8;
+ public final static int AM_PM = 9;
+ public final static int HOUR = 10;
+ public final static int HOUR_OF_DAY = 11;
+ public final static int MINUTE = 12;
+ public final static int SECOND = 13;
+ public final static int MILLISECOND = 14;
+ public final static int ZONE_OFFSET = 15;
+ public final static int DST_OFFSET = 16;
+
+ // The fields are as specified in Sun's "Serialized Form"
+ // in the JDK 1.2 beta 4 API specification.
+ protected boolean areFieldsSet;
+ protected int[] fields;
+ private int firstDayOfWeek;
+ protected boolean[] isSet;
+ protected boolean isTimeSet;
+ private boolean lenient;
+ private int minimalDaysInFirstWeek;
+ private int nextStamp;
+ //private int serialVersionOnStream;
+ protected long time;
+ private TimeZone zone;
+
+ protected Calendar ()
+ {
+ this (null, null);
+ }
+
+ protected Calendar (TimeZone tx, Locale loc)
+ {
+ fields = new int[FIELD_COUNT];
+ isSet = new boolean[FIELD_COUNT];
+ firstDayOfWeek = SUNDAY; // Locale-dependent. FIXME.
+ this.zone = zone != null ? zone : TimeZone.getDefault();
+ }
+
+ public Object clone ()
+ {
+ try
+ {
+ return super.clone();
+ }
+ catch (CloneNotSupportedException ex)
+ {
+ throw new RuntimeException("internal error - "+ex);
+ }
+ }
+
+ public static Calendar getInstance ()
+ {
+ return new GregorianCalendar ();
+ }
+
+ public static Calendar getInstance (TimeZone zone)
+ {
+ return new GregorianCalendar (zone);
+ }
+
+ public static Calendar getInstance (Locale locale)
+ {
+ return new GregorianCalendar (locale);
+ }
+
+ public static Calendar getInstance (TimeZone zone, Locale locale)
+ {
+ return new GregorianCalendar (zone, locale);
+ }
+
+ public boolean isLenient() { return lenient; }
+ public void setLenient (boolean lenient) { this.lenient = lenient; }
+
+ public int getFirstDayOfWeek ()
+ {
+ return firstDayOfWeek;
+ }
+
+ public void setFirstDayOfWeek (int value)
+ {
+ firstDayOfWeek = value;
+ }
+
+ public int getMinimalDaysInFirstWeek ()
+ {
+ return minimalDaysInFirstWeek;
+ }
+
+ public void setMinimalDaysInFirstWeek (int value)
+ {
+ minimalDaysInFirstWeek = value;
+ }
+
+ public TimeZone getTimeZone ()
+ {
+ return zone;
+ }
+
+ public void setTimeZone (TimeZone tz)
+ {
+ zone = tz;
+ }
+
+ abstract public void add(int fld, int amount);
+ abstract public void roll (int fld, boolean up);
+
+ public final void set (int year, int month, int date)
+ {
+ set(YEAR, year);
+ set(MONTH, month);
+ set(DATE, date);
+ }
+
+ public final void set (int year, int month, int date, int hour, int minute)
+ {
+ set(year, month, date);
+ set(HOUR_OF_DAY, hour);
+ set(MINUTE, minute);
+ }
+
+ public final void set (int year, int month, int date,
+ int hour, int minute, int second)
+ {
+ set(year, month, date, hour, minute);
+ set(SECOND, second);
+ }
+
+ public final void set (int fld, int value)
+ {
+ fields[fld] = value;
+ isTimeSet = false;
+ }
+
+ public final void clear (int fld)
+ {
+ fields[fld] = 0;
+ isSet[fld] = false;
+ areFieldsSet = false;
+ }
+
+ public final void clear ()
+ {
+ for (int fld = FIELD_COUNT; --fld >= 0; )
+ {
+ fields[fld] = 0;
+ isSet[fld] = false;
+ }
+ areFieldsSet = false;
+ }
+
+ protected void complete()
+ {
+ if (!isTimeSet) computeTime();
+ if (!areFieldsSet) computeFields();
+ }
+
+ protected abstract void computeFields();
+ protected abstract void computeTime();
+
+ protected final int internalGet (int fld) { return fields[fld]; }
+
+ public final int get(int fld)
+ {
+ complete();
+ return fields[fld];
+ }
+
+ public abstract boolean after (Object cal);
+ public abstract boolean before (Object cal);
+ public abstract boolean equals (Object obj);
+
+ protected long getTimeInMillis()
+ {
+ if (!isTimeSet) computeTime();
+ return time;
+ }
+
+ public final Date getTime() { return new Date(getTimeInMillis()); }
+
+ public final void setTime (Date date)
+ {
+ setTimeInMillis(date.getTime());
+ }
+
+ protected void setTimeInMillis (long millis)
+ {
+ time = millis;
+ isTimeSet = true;
+ clear();
+ }
+
+ abstract public int getMaximum(int fld);
+ abstract public int getMinimum(int fld);
+ abstract public int getGreatestMinimum(int fld);
+ abstract public int getLeastMaximum(int fld);
+
+ public final boolean isSet(int fld) { return isSet[fld]; }
+}
diff --git a/libjava/java/util/ConcurrentModificationException.java b/libjava/java/util/ConcurrentModificationException.java
new file mode 100644
index 0000000..478fdff
--- /dev/null
+++ b/libjava/java/util/ConcurrentModificationException.java
@@ -0,0 +1,33 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 2, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+/* Added in JDK 1.2 */
+public class ConcurrentModificationException extends RuntimeException
+{
+ public ConcurrentModificationException()
+ {
+ super();
+ }
+
+ public ConcurrentModificationException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/util/Date.java b/libjava/java/util/Date.java
new file mode 100644
index 0000000..3d23780
--- /dev/null
+++ b/libjava/java/util/Date.java
@@ -0,0 +1,460 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+import java.text.*;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date October 24, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3,
+ * "The Java Language Specification", ISBN 0-201-63451-1,
+ * and O'Reilly's "Java in a Nutshell".
+ * Status: Need to re-write toString().
+ * Missing: ToGMTString and toLocaleString.
+ * Serialization spec: Specifies readObject/writeObject.
+ */
+
+public class Date implements java.io.Serializable, Cloneable
+{
+ private long millis;
+
+ public Date() { millis = System.currentTimeMillis(); }
+
+ public Date(long millis) { this.millis = millis; }
+
+ public Date(int year, int month, int date, int hours,
+ int minutes, int seconds)
+ {
+ setTime(year, month, date, hours, minutes, seconds);
+ }
+
+ public Date(int year, int month, int date, int hours, int minutes)
+ {
+ setTime(year, month, date, hours, minutes, 0);
+ }
+
+ public Date(int year, int month, int date)
+ {
+ setTime(year, month, date, 0, 0, 0);
+ }
+
+ public Date (String s) { this(parse(s)); }
+
+ private static int skipParens(String string, int offset)
+ {
+ int len = string.length();
+ int p = 0;
+ int i;
+
+ for (i = offset; i < len; ++i)
+ {
+ if (string.charAt(i) == '(')
+ ++p;
+ else if (string.charAt(i) == ')')
+ {
+ --p;
+ if (p == 0)
+ return i + 1;
+ // If we've encounted unbalanced parens, just return the
+ // leftover one as an ordinary character. It will be
+ // caught later in parsing and cause an
+ // IllegalArgumentException.
+ if (p < 0)
+ return i;
+ }
+ }
+
+ // Not sure what to do if `p != 0' here.
+ return i;
+ }
+
+ private static int parseTz(String tok, char sign)
+ throws IllegalArgumentException
+ {
+ int num;
+
+ try
+ {
+ // parseInt doesn't handle '+' so strip off sign.
+ num = Integer.parseInt(tok.substring(1));
+ }
+ catch (NumberFormatException ex)
+ {
+ throw new IllegalArgumentException(tok);
+ }
+
+ // Convert hours to minutes.
+ if (num < 24)
+ num *= 60;
+ else
+ num = (num / 100) * 60 + num % 100;
+
+ return sign == '-' ? -num : num;
+ }
+
+ private static int parseMonth(String tok)
+ {
+ // Initialize strings for month names.
+ // We could possibly use the fields of DateFormatSymbols but that is
+ // localized and thus might not match the English words specified.
+ String months[] = { "JANUARY", "FEBRUARY", "MARCH", "APRIL", "MAY",
+ "JUNE", "JULY", "AUGUST", "SEPTEMBER", "OCTOBER",
+ "NOVEMBER", "DECEMBER" };
+
+ int i;
+ for (i = 0; i < 12; i++)
+ if (months[i].startsWith(tok))
+ return i;
+
+ // Return -1 if not found.
+ return -1;
+ }
+
+ private static boolean parseDayOfWeek(String tok)
+ {
+ // Initialize strings for days of the week names.
+ // We could possibly use the fields of DateFormatSymbols but that is
+ // localized and thus might not match the English words specified.
+ String daysOfWeek[] = { "SUNDAY", "MONDAY", "TUESDAY", "WEDNESDAY",
+ "THURSDAY", "FRIDAY", "SATURDAY" };
+
+ int i;
+ for (i = 0; i < 7; i++)
+ if (daysOfWeek[i].startsWith(tok))
+ return true;
+
+ return false;
+ }
+
+ public static long parse(String string)
+ {
+ // Initialize date/time fields before parsing begins.
+ int year = -1;
+ int month = -1;
+ int day = -1;
+ int hour = -1;
+ int minute = -1;
+ int second = -1;
+ int timezone = 0;
+ boolean localTimezone = true;
+
+ // Trim out any nested stuff in parentheses now to make parsing easier.
+ StringBuffer buf = new StringBuffer();
+ int off = 0;
+ int openParenOffset, tmpMonth;
+ while ((openParenOffset = string.indexOf('(', off)) >= 0)
+ {
+ // Copy part of string leading up to open paren.
+ buf.append(string.substring(off, openParenOffset));
+ off = skipParens(string, openParenOffset);
+ }
+ buf.append(string.substring(off));
+
+ // Make all chars upper case to simplify comparisons later.
+ // Also ignore commas; treat them as delimiters.
+ StringTokenizer strtok =
+ new StringTokenizer(buf.toString().toUpperCase(), " \t\n\r,");
+
+ while (strtok.hasMoreTokens())
+ {
+ String tok = strtok.nextToken();
+ char firstch = tok.charAt(0);
+ if ((firstch == '+' || firstch == '-') && year >= 0)
+ {
+ timezone = parseTz(tok, firstch);
+ localTimezone = false;
+ }
+ else if (firstch >= '0' && firstch <= '9')
+ {
+ while (tok != null && tok.length() > 0)
+ {
+ // A colon or slash may be valid in the number.
+ // Find the first of these before calling parseInt.
+ int colon = tok.indexOf(':');
+ int slash = tok.indexOf('/');
+ int hyphen = tok.indexOf('-');
+ // We choose tok.length initially because it makes
+ // processing simpler.
+ int punctOffset = tok.length();
+ if (colon >= 0)
+ punctOffset = Math.min(punctOffset, colon);
+ if (slash >= 0)
+ punctOffset = Math.min(punctOffset, slash);
+ if (hyphen >= 0)
+ punctOffset = Math.min(punctOffset, hyphen);
+ // Following code relies on -1 being the exceptional
+ // case.
+ if (punctOffset == tok.length())
+ punctOffset = -1;
+
+ int num;
+ try
+ {
+ num = Integer.parseInt(punctOffset < 0 ? tok :
+ tok.substring(0, punctOffset));
+ }
+ catch (NumberFormatException ex)
+ {
+ throw new IllegalArgumentException(tok);
+ }
+
+ // TBD: Spec says year can be followed by a slash. That might
+ // make sense if using YY/MM/DD formats, but it would fail in
+ // that format for years <= 70. Also, what about 1900? That
+ // is interpreted as the year 3800; seems that the comparison
+ // should be num >= 1900 rather than just > 1900.
+ // What about a year of 62 - 70? (61 or less could be a (leap)
+ // second). 70/MM/DD cause an exception but 71/MM/DD is ok
+ // even though there's no ambiguity in either case.
+ // For the parse method, the spec as written seems too loose.
+ // Until shown otherwise, we'll follow the spec as written.
+ if (num > 70 && (punctOffset < 0 || punctOffset == slash))
+ year = num > 1900 ? num - 1900 : num;
+ else if (punctOffset > 0 && punctOffset == colon)
+ {
+ if (hour < 0)
+ hour = num;
+ else
+ minute = num;
+ }
+ else if (punctOffset > 0 && punctOffset == slash)
+ {
+ if (month < 0)
+ month = num - 1;
+ else
+ day = num;
+ }
+ else if (hour >= 0 && minute < 0)
+ minute = num;
+ else if (minute >= 0 && second < 0)
+ second = num;
+ else if (day < 0)
+ day = num;
+ else
+ throw new IllegalArgumentException(tok);
+
+ // Advance string if there's more to process in this token.
+ if (punctOffset < 0 || punctOffset + 1 >= tok.length())
+ tok = null;
+ else
+ tok = tok.substring(punctOffset + 1);
+ }
+ }
+ else if (firstch >= 'A' && firstch <= 'Z')
+ {
+ if (tok.equals("AM"))
+ {
+ if (hour < 1 || hour > 12)
+ throw new IllegalArgumentException(tok);
+ if (hour == 12)
+ hour = 0;
+ }
+ else if (tok.equals("PM"))
+ {
+ if (hour < 1 || hour > 12)
+ throw new IllegalArgumentException(tok);
+ if (hour < 12)
+ hour += 12;
+ }
+ else if (parseDayOfWeek(tok))
+ ; // Ignore it; throw the token away.
+ else if (tok.equals("UT") || tok.equals("UTC") || tok.equals("GMT"))
+ localTimezone = false;
+ else if (tok.startsWith("UT") || tok.startsWith("GMT"))
+ {
+ int signOffset = 3;
+ if (tok.charAt(1) == 'T' && tok.charAt(2) != 'C')
+ signOffset = 2;
+
+ char sign = tok.charAt(signOffset);
+ if (sign != '+' && sign != '-')
+ throw new IllegalArgumentException(tok);
+
+ timezone = parseTz(tok.substring(signOffset), sign);
+ localTimezone = false;
+ }
+ else if ((tmpMonth = parseMonth(tok)) >= 0)
+ month = tmpMonth;
+ else if (tok.length() == 3 && tok.charAt(2) == 'T')
+ {
+ // Convert timezone offset from hours to minutes.
+ char ch = tok.charAt(0);
+ if (ch == 'E')
+ timezone = -5 * 60;
+ else if (ch == 'C')
+ timezone = -6 * 60;
+ else if (ch == 'M')
+ timezone = -7 * 60;
+ else if (ch == 'P')
+ timezone = -8 * 60;
+ else
+ throw new IllegalArgumentException(tok);
+
+ // Shift 60 minutes for Daylight Savings Time.
+ if (tok.charAt(1) == 'D')
+ timezone += 60;
+ else if (tok.charAt(1) != 'S')
+ throw new IllegalArgumentException(tok);
+
+ localTimezone = false;
+ }
+ else
+ throw new IllegalArgumentException(tok);
+ }
+ else
+ throw new IllegalArgumentException(tok);
+ }
+
+ // Unspecified minutes and seconds should default to 0.
+ if (minute < 0)
+ minute = 0;
+ if (second < 0)
+ second = 0;
+
+ // Throw exception if any other fields have not been recognized and set.
+ if (year < 0 || month < 0 || day < 0 || hour < 0)
+ throw new IllegalArgumentException("Missing field");
+
+ // Return the time in either local time or relative to GMT as parsed.
+ // If no time-zone was specified, get the local one (in minutes) and
+ // convert to milliseconds before adding to the UTC.
+ return UTC(year, month, day, hour, minute, second) + (localTimezone ?
+ new Date(year, month, day).getTimezoneOffset() * 60 * 1000:
+ -timezone * 60 * 1000);
+ }
+
+ public boolean after (Date when) { return this.millis > when.millis; }
+ public boolean before (Date when) { return this.millis < when.millis; }
+
+ public boolean equals(Object obj)
+ {
+ return (obj != null && obj instanceof Date
+ && ((Date)obj).millis == this.millis);
+ }
+
+ public long getTime() { return millis; }
+
+ public int hashCode()
+ {
+ return (int)(millis^(millis>>>32));
+ }
+
+ private void setTime(int year, int month, int date,
+ int hours, int minutes, int seconds)
+ {
+ Calendar cal = new GregorianCalendar(year+1900, month, date,
+ hours, minutes, seconds);
+ millis = cal.getTimeInMillis();
+ }
+
+ public void setTime(long millis) { this.millis = millis; }
+
+ private int getField (int fld)
+ {
+ Calendar cal = new GregorianCalendar();
+ cal.setTime(this);
+ return cal.get(fld);
+ }
+
+ public int getYear ()
+ {
+ return getField(Calendar.YEAR) - 1900;
+ }
+
+ public int getMonth ()
+ {
+ return getField(Calendar.MONTH);
+ }
+
+ public int getDate ()
+ {
+ return getField(Calendar.DATE);
+ }
+
+ public int getDay ()
+ {
+ return getField(Calendar.DAY_OF_WEEK) - 1;
+ }
+
+ public int getHours ()
+ {
+ return getField(Calendar.HOUR_OF_DAY);
+ }
+
+ public int getMinutes ()
+ {
+ return getField(Calendar.MINUTE);
+ }
+
+ public int getSeconds ()
+ {
+ return getField(Calendar.SECOND);
+ }
+
+ private void setField (int fld, int value)
+ {
+ Calendar cal = new GregorianCalendar();
+ cal.setTime(this);
+ cal.set(fld, value);
+ millis = cal.getTimeInMillis();
+ }
+
+ public void setYear (int year)
+ {
+ setField(Calendar.YEAR, 1900 + year);
+ }
+
+ public void setMonth (int month)
+ {
+ setField(Calendar.MONTH, month);
+ }
+
+ public void setDate (int date)
+ {
+ setField(Calendar.DATE, date);
+ }
+
+ public void setHours (int hours)
+ {
+ setField(Calendar.HOUR_OF_DAY, hours);
+ }
+
+ public void setMinutes (int minutes)
+ {
+ setField(Calendar.MINUTE, minutes);
+ }
+
+ public void setSeconds (int seconds)
+ {
+ setField(Calendar.SECOND, seconds);
+ }
+
+ public int getTimezoneOffset ()
+ {
+ Calendar cal = new GregorianCalendar();
+ cal.setTime(this);
+ return - (cal.get(Calendar.ZONE_OFFSET)
+ + cal.get(Calendar.DST_OFFSET)/(60*1000));
+ }
+
+ public native String toString ();
+
+ // TODO: toLocaleString
+ // TODO: toGMTString
+
+ public static long UTC (int year, int month, int date,
+ int hours, int minutes, int seconds)
+ {
+ GregorianCalendar cal = new GregorianCalendar (TimeZone.zoneGMT);
+ cal.set(year+1900, month, date, hours, minutes, seconds);
+ return cal.getTimeInMillis();
+ }
+}
diff --git a/libjava/java/util/Dictionary.java b/libjava/java/util/Dictionary.java
new file mode 100644
index 0000000..2c27112
--- /dev/null
+++ b/libjava/java/util/Dictionary.java
@@ -0,0 +1,34 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date August 31, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct
+ */
+
+/* The JDK 1.2 beta doc indicates that Dictionary is obsolete and that the
+ * new java.util.Map interface should be used instead.
+ */
+public abstract class Dictionary
+{
+ public abstract Enumeration elements();
+ public abstract Object get(Object key) throws NullPointerException;
+ public abstract boolean isEmpty();
+ public abstract Enumeration keys();
+ public abstract Object put(Object key, Object elem)
+ throws NullPointerException;
+ public abstract Object remove(Object key) throws NullPointerException;
+ public abstract int size();
+}
diff --git a/libjava/java/util/EmptyStackException.java b/libjava/java/util/EmptyStackException.java
new file mode 100644
index 0000000..9c4c0b0
--- /dev/null
+++ b/libjava/java/util/EmptyStackException.java
@@ -0,0 +1,27 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 2, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class EmptyStackException extends RuntimeException
+{
+ public EmptyStackException()
+ {
+ super();
+ }
+}
diff --git a/libjava/java/util/Enumeration.java b/libjava/java/util/Enumeration.java
new file mode 100644
index 0000000..2332888
--- /dev/null
+++ b/libjava/java/util/Enumeration.java
@@ -0,0 +1,24 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date August 25, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1.
+ * Status: Believed complete and correct
+ */
+
+public interface Enumeration
+{
+ public boolean hasMoreElements();
+ public Object nextElement() throws NoSuchElementException;
+}
diff --git a/libjava/java/util/EventListener.java b/libjava/java/util/EventListener.java
new file mode 100644
index 0000000..394d98c
--- /dev/null
+++ b/libjava/java/util/EventListener.java
@@ -0,0 +1,24 @@
+// EventListener.java - Listen for events from event source.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date December 12, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Believed complete and correct.
+ */
+
+public interface EventListener
+{
+}
diff --git a/libjava/java/util/EventObject.java b/libjava/java/util/EventObject.java
new file mode 100644
index 0000000..178ecff
--- /dev/null
+++ b/libjava/java/util/EventObject.java
@@ -0,0 +1,42 @@
+// EventObject.java - Represent events fired by objects.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date December 12, 1998
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * Status: Believed complete, but not fully correct.
+ */
+
+public class EventObject implements java.io.Serializable
+{
+ public EventObject (Object source)
+ {
+ this.source = source;
+ }
+
+ public Object getSource ()
+ {
+ return source;
+ }
+
+ public String toString ()
+ {
+ // FIXME.
+ return getSource().toString();
+ }
+
+ // Source of the event.
+ protected transient Object source;
+}
diff --git a/libjava/java/util/GregorianCalendar.java b/libjava/java/util/GregorianCalendar.java
new file mode 100644
index 0000000..d20c06e
--- /dev/null
+++ b/libjava/java/util/GregorianCalendar.java
@@ -0,0 +1,257 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date October 24, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3,
+ * and "The Java Language Specification", ISBN 0-201-63451-1.
+ * Status: "leniency" is not handled, and neither is roll-over in
+ * add and roll. This is partly because of unclear specification.
+ * hashCode has no spec.
+ */
+
+public class GregorianCalendar extends Calendar {
+ public static final int BC = 0;
+ public static final int AD = 1;
+
+ // The fields are as specified in Sun's "Serialized Form"
+ // in the JDK 1.2 beta 4 API specification.
+ // Value from a simple test program (getGregorianChange.getTime()).
+ long gregorianCutover = -12219292800000L;
+
+ private final static int[] mins = {
+ 0 /* ERA */,
+ 1 /* YEAR */,
+ 0 /* MONTH */,
+ 0 /* WEEK_OF_YEAR */,
+ 0 /* WEEK_OF_MONTH */,
+ 1 /* DATE */,
+ 1 /* DAY_OF_YEAR */,
+ 1 /* DAY_OF_WEEK */,
+ -1 /* DAY_OF_WEEK_IN_MONTH */,
+ 0 /* AM_PM */,
+ 0 /* HOUR */,
+ 0 /* HOUR_OF_DAY */,
+ 0 /* MINUTE */,
+ 0 /* SECOND */,
+ 0 /* MILLISECOND */,
+ -43200000 /* ZONE_OFFSET */,
+ 0 /* DST_OFFSET */
+ };
+
+ private final static int[] maxs = {
+ 1 /* ERA */,
+ 5000000 /* YEAR */,
+ 11 /* MONTH */,
+ 54 /* WEEK_OF_YEAR */,
+ 6 /* WEEK_OF_MONTH */,
+ 31 /* DATE */,
+ 366 /* DAY_OF_YEAR */,
+ 7 /* DAY_OF_WEEK */,
+ 6 /* DAY_OF_WEEK_IN_MONTH */,
+ 1 /* AM_PM */,
+ 12 /* HOUR */,
+ 23 /* HOUR_OF_DAY */,
+ 59 /* MINUTE */,
+ 59 /* SECOND */,
+ 999 /* MILLISECOND */,
+ 43200000 /* ZONE_OFFSET */,
+ 3600000 /* DST_OFFSET */
+ };
+
+ private final static int[] leastMaximums = {
+ 1 /* ERA */,
+ 5000000 /* YEAR */,
+ 11 /* MONTH */,
+ 53 /* WEEK_OF_YEAR */,
+ 6 /* WEEK_OF_MONTH */,
+ 28 /* DATE */,
+ 365 /* DAY_OF_YEAR */,
+ 7 /* DAY_OF_WEEK */,
+ 4 /* DAY_OF_WEEK_IN_MONTH */,
+ 1 /* AM_PM */,
+ 11 /* HOUR */,
+ 23 /* HOUR_OF_DAY */,
+ 59 /* MINUTE */,
+ 59 /* SECOND */,
+ 999 /* MILLISECOND */,
+ 43200000 /* ZONE_OFFSET */,
+ 3600000 /* DST_OFFSET */
+ };
+
+ public GregorianCalendar ()
+ {
+ this(null, null);
+ }
+
+ public GregorianCalendar (TimeZone zone)
+ {
+ this (zone, null);
+ }
+
+ public GregorianCalendar (Locale locale)
+ {
+ this (null, locale);
+ }
+
+ public GregorianCalendar (TimeZone zone, Locale locale)
+ {
+ super (zone, locale);
+ }
+
+ public GregorianCalendar (int year, int month, int date)
+ {
+ this((TimeZone) null);
+ set (year, month, date);
+ }
+
+ public GregorianCalendar (int year, int month, int date,
+ int hour, int minute)
+ {
+ this((TimeZone) null);
+ set (year, month, date, hour, minute);
+ }
+
+ public GregorianCalendar (int year, int month, int date,
+ int hour, int minute, int second)
+ {
+ this((TimeZone) null);
+ set (year, month, date, hour, minute, second);
+ }
+
+ public int getMinimum(int calfield) { return mins[calfield]; }
+ public int getGreatestMinimum(int calfield) { return mins[calfield]; }
+ public int getMaximum(int calfield) { return maxs[calfield]; }
+ public int getLeastMaximum(int calfield) { return leastMaximums[calfield]; }
+
+ protected native void computeFields();
+
+ protected native void computeTime();
+
+ public void add (int fld, int amount)
+ {
+ if (fld >= ZONE_OFFSET)
+ throw new IllegalArgumentException("bad field to add");
+ fields[fld] += amount;
+ adjust(fld);
+ }
+
+ public void roll (int fld, boolean up)
+ {
+ if (fld >= ZONE_OFFSET)
+ throw new IllegalArgumentException("bad field to roll");
+
+ int old = fields[fld];
+ if (up)
+ {
+ fields[fld] = old == getMaximum(fld) ? getMinimum(fld)
+ : old + 1;
+ }
+ else
+ {
+ fields[fld] = old == getMinimum(fld) ? getMaximum(fld)
+ : old - 1;
+ }
+ }
+
+ private void adjust (int fld)
+ {
+ int value = fields[fld];
+ int radix = maxs[fld] + 1;
+ switch (fld)
+ {
+ case MONTH:
+ case SECOND:
+ case MILLISECOND:
+ if (value >= radix)
+ {
+ int next = value / radix;
+ fields[fld] = value - radix * next;
+ fields[fld - 1] += next;
+ adjust(fld - 1);
+ }
+ else if (value < 0) // min[fld]
+ {
+ int next = (value - radix - 1) / radix;
+ fields[fld] = value - radix * next;
+ fields[fld - 1] += next;
+ adjust(fld - 1);
+ }
+ break;
+ }
+ }
+
+ public final Date getGregorianChange() { return new Date(gregorianCutover); }
+ public void setGregorianChange (Date date)
+ { gregorianCutover = date.getTime(); }
+
+ public boolean isLeapYear(int year)
+ {
+ if ((year % 4) != 0)
+ return false;
+ if ((year % 100) != 0 || (year % 400) == 0)
+ return true;
+ // year divisible by 100 but not 400.
+ GregorianCalendar date = new GregorianCalendar(year, FEBRUARY, 28);
+ return gregorianCutover < date.getTimeInMillis();
+ }
+
+ public boolean after (Object cal)
+ {
+ return cal instanceof Calendar
+ && getTimeInMillis() > ((Calendar) cal).getTimeInMillis();
+ }
+
+ public boolean before (Object cal)
+ {
+ return cal instanceof Calendar
+ && getTimeInMillis() < ((Calendar) cal).getTimeInMillis();
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (obj == null || ! (obj instanceof GregorianCalendar))
+ return false;
+ GregorianCalendar other = (GregorianCalendar) obj;
+
+ for (int i = FIELD_COUNT; --i >= 0; )
+ {
+ boolean set = isSet[i];
+ if (set != other.isSet[i]
+ || (set && fields[i] != other.fields[i]))
+ return false;
+ }
+ if (areFieldsSet != other.areFieldsSet
+ || isTimeSet != other.isTimeSet
+ || (isTimeSet && time != other.time)
+ || getFirstDayOfWeek() != other.getFirstDayOfWeek()
+ || getMinimalDaysInFirstWeek() != other.getMinimalDaysInFirstWeek()
+ || isLenient() != other.isLenient()
+ || ! getTimeZone().equals(other.getTimeZone()))
+ return false;
+ return true;
+ }
+
+ public int hashCode ()
+ {
+ int hashcode = 0;
+ for (int i = FIELD_COUNT; --i >= 0; )
+ {
+ if (isSet[i])
+ hashcode += 37 * fields[i];
+ }
+ if (isTimeSet)
+ hashcode += 89 * time;
+ return hashcode;
+ }
+}
diff --git a/libjava/java/util/Hashtable.java b/libjava/java/util/Hashtable.java
new file mode 100644
index 0000000..51ab2b1
--- /dev/null
+++ b/libjava/java/util/Hashtable.java
@@ -0,0 +1,398 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+import java.io.Serializable;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 24, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct
+ */
+
+class HashtableEntry
+{
+ public Object key;
+ public Object value;
+ public HashtableEntry nextEntry = null;
+
+ public HashtableEntry(Object key, Object value)
+ {
+ this.key = key;
+ this.value = value;
+ }
+}
+
+class HashtableEnumeration implements Enumeration
+{
+ // TBD: Enumeration is not safe if new elements are put in the table as
+ // this could cause a rehash and we'd completely lose our place. Even
+ // without a rehash, it is undetermined if a new element added would
+ // appear in the enumeration. The spec says nothing about this, but
+ // the "Java Class Libraries" book infers that modifications to the
+ // hashtable during enumeration causes indeterminate results. Don't do it!
+ // A safer way would be to make a copy of the table (e.g. into a vector)
+ // but this is a fair bit more expensive.
+ private HashtableEntry[] bucket;
+ private int bucketIndex;
+ private HashtableEntry elem;
+ private int enumCount;
+ private int size;
+ private boolean values;
+
+ public HashtableEnumeration(HashtableEntry[] bkt, int sz, boolean isValues)
+ {
+ bucket = bkt;
+ bucketIndex = -1;
+ enumCount = 0;
+ elem = null;
+ size = sz;
+ values = isValues;
+ }
+
+ public boolean hasMoreElements()
+ {
+ return enumCount < size;
+ }
+
+ public Object nextElement()
+ {
+ if (!hasMoreElements())
+ throw new NoSuchElementException();
+
+ // Find next element
+ if (elem != null) // In the middle of a bucket
+ elem = elem.nextEntry;
+ while (elem == null) // Find the next non-empty bucket
+ elem = bucket[++bucketIndex];
+
+ enumCount++;
+ return values ? elem.value : elem.key;
+ }
+}
+
+// TBD: The algorithm used here closely reflects what is described in
+// the "Java Class Libraries" book. The "Java Language Spec" is much
+// less specific about the implementation. Because of this freedom
+// provided by the actual spec, hash table algorithms should be
+// investigated to see if there is a better alternative to this one.
+
+// TODO12:
+// public class Hashtable extends Dictionary
+// implements Map, Cloneable, Serializable
+
+public class Hashtable extends Dictionary implements Cloneable, Serializable
+{
+ private HashtableEntry bucket[];
+ private float loadFactor;
+ private int hsize = 0;
+
+ public Hashtable()
+ {
+ // The "Java Class Libraries" book (p. 919) says that initial size in this
+ // case is 101 (a prime number to increase the odds of even distribution).
+ this(101, 0.75F);
+ }
+
+ public Hashtable(int initialSize)
+ {
+ this(initialSize, 0.75F);
+ }
+
+ public Hashtable(int initialSize, float loadFactor)
+ {
+ if (initialSize < 0 || loadFactor <= 0.0 || loadFactor > 1.0)
+ throw new IllegalArgumentException();
+
+ bucket = new HashtableEntry[initialSize];
+ this.loadFactor = loadFactor;
+ }
+
+ // TODO12:
+ // public Hashtable(Map t)
+ // {
+ // }
+
+ public synchronized void clear()
+ {
+ // Aid the GC by nulling out the entries in the hash table.
+ for (int i = 0; i < bucket.length; i++)
+ {
+ HashtableEntry elem = bucket[i];
+ bucket[i] = null; // May already be null.
+ while (elem != null)
+ {
+ HashtableEntry next = elem.nextEntry;
+ elem.nextEntry = null; // May already be null.
+ elem = next;
+ }
+ }
+ hsize = 0;
+ }
+
+ public synchronized Object clone()
+ {
+ // New hashtable will have same initialCapacity and loadFactor.
+ Hashtable newTable = new Hashtable(bucket.length, loadFactor);
+
+ HashtableEntry newElem, prev = null;
+ for (int i = 0; i < bucket.length; i++)
+ for (HashtableEntry elem = bucket[i]; elem != null; elem = elem.nextEntry)
+ {
+ // An easy but expensive method is newTable.put(elem.key, elem.value);
+ // Since the hash tables are the same size, the buckets and collisions
+ // will be the same in the new one, so we can just clone directly.
+ // This is much cheaper than using put.
+ newElem = new HashtableEntry(elem.key, elem.value);
+ if (newTable.bucket[i] == null)
+ prev = newTable.bucket[i] = newElem;
+ else
+ prev = prev.nextEntry = newElem;
+ }
+
+ newTable.hsize = this.hsize;
+ return newTable;
+ }
+
+ public synchronized boolean contains(Object value) throws NullPointerException
+ {
+ // An exception is thrown here according to the JDK 1.2 doc.
+ if (value == null)
+ throw new NullPointerException();
+
+ for (int i = 0; i < bucket.length; i++)
+ for (HashtableEntry elem = bucket[i]; elem != null; elem = elem.nextEntry)
+ if (elem.value.equals(value))
+ return true;
+
+ return false;
+ }
+
+ public synchronized boolean containsKey(Object key)
+ {
+ // The Map interface mandates that we throw this.
+ if (key == null)
+ throw new NullPointerException ();
+
+ for (HashtableEntry elem = bucket[Math.abs(key.hashCode()
+ % bucket.length)];
+ elem != null; elem = elem.nextEntry)
+ if (elem.key.equals(key))
+ return true;
+
+ return false;
+ }
+
+ public synchronized Enumeration elements()
+ {
+ return new HashtableEnumeration(bucket, hsize, true);
+ }
+
+ public synchronized Object get(Object key)
+ {
+ // The Dictionary interface mandates that get() throw a
+ // NullPointerException if key is null.
+ if (key == null)
+ throw new NullPointerException ();
+
+ for (HashtableEntry elem = bucket[Math.abs (key.hashCode()
+ % bucket.length)];
+ elem != null; elem = elem.nextEntry)
+ if (elem.key.equals(key))
+ return elem.value;
+
+ return null;
+ }
+
+ public boolean isEmpty()
+ {
+ return this.hsize <= 0;
+ }
+
+ public synchronized Enumeration keys()
+ {
+ return new HashtableEnumeration(bucket, hsize, false);
+ }
+
+ public synchronized Object put(Object key, Object value)
+ throws NullPointerException
+ {
+ if (key == null || value == null)
+ throw new NullPointerException();
+
+ HashtableEntry prevElem = null;
+ final int index = Math.abs(key.hashCode() % bucket.length);
+
+ for (HashtableEntry elem = bucket[index]; elem != null;
+ prevElem = elem, elem = elem.nextEntry)
+ if (elem.key.equals(key))
+ {
+ // Update with the new value and then return the old one.
+ Object oldVal = elem.value;
+ elem.value = value;
+ return oldVal;
+ }
+
+ // At this point, we know we need to add a new element.
+ HashtableEntry newElem = new HashtableEntry(key, value);
+ if (bucket[index] == null)
+ bucket[index] = newElem;
+ else
+ prevElem.nextEntry = newElem;
+
+ if (++hsize > loadFactor * bucket.length)
+ rehash();
+
+ return null;
+ }
+
+ protected void rehash()
+ {
+ // Create a new table which is twice the size (plus one) of the old.
+ // One is added to make the new array length odd so it thus has at least
+ // a (small) possibility of being a prime number.
+ HashtableEntry oldBucket[] = bucket;
+ bucket = new HashtableEntry[bucket.length * 2 + 1];
+
+ // Copy over each entry into the new table
+ HashtableEntry elem;
+ for (int i = 0; i < oldBucket.length; i++)
+ for (elem = oldBucket[i]; elem != null; elem = elem.nextEntry)
+ {
+ // Calling put(elem.key, elem.value); would seem like the easy way
+ // but it is dangerous since put increases 'hsize' and calls rehash!
+ // This could become infinite recursion under the right
+ // circumstances. Instead, we'll add the element directly; this is a
+ // bit more efficient than put since the data is already verified.
+ final int index = Math.abs(elem.key.hashCode() % bucket.length);
+ HashtableEntry newElem = new HashtableEntry(elem.key, elem.value);
+ if (bucket[index] == null)
+ bucket[index] = newElem;
+ else
+ {
+ // Since this key can't already be in the table, just add this
+ // in at the top of the bucket.
+ newElem.nextEntry = bucket[index];
+ bucket[index] = newElem;
+ }
+ }
+ }
+
+ public synchronized Object remove(Object key)
+ {
+ // TBD: Hmm, none of the various docs say to throw an exception here.
+ if (key == null)
+ return null;
+
+ Object retval;
+ HashtableEntry prevElem = null;
+ final int index = Math.abs(key.hashCode() % bucket.length);
+
+ for (HashtableEntry elem = bucket[index]; elem != null;
+ prevElem = elem, elem = elem.nextEntry)
+ if (elem.key.equals(key))
+ {
+ retval = elem.value;
+ if (prevElem == null)
+ bucket[index] = elem.nextEntry;
+ else
+ prevElem.nextEntry = elem.nextEntry;
+ --hsize;
+ return retval;
+ }
+
+ return null;
+ }
+
+ public int size()
+ {
+ return this.hsize;
+ }
+
+ public synchronized String toString()
+ {
+ // Following the Java Lang Spec 21.5.4 (p. 636).
+
+ Enumeration keys = keys();
+ Enumeration values = elements();
+
+ // Prepend first element with open bracket
+ StringBuffer result = new StringBuffer("{");
+
+ // add first element if one exists
+ // TBD: Seems like it is more efficient to catch the exception than
+ // to call hasMoreElements each time around.
+ try
+ {
+ result.append(keys.nextElement().toString() + "=" +
+ values.nextElement().toString());
+ }
+ catch (NoSuchElementException ex)
+ {
+ }
+
+ // Prepend subsequent elements with ", "
+ try
+ {
+ while (true)
+ result.append(", " + keys.nextElement().toString() + "=" +
+ values.nextElement().toString());
+ }
+ catch (NoSuchElementException ex)
+ {
+ }
+
+ // Append last element with closing bracket
+ result.append("}");
+ return result.toString();
+ }
+
+ // TODO12:
+ // public Set entrySet()
+ // {
+ // }
+
+ // TODO12:
+ // public Set keySet()
+ // {
+ // }
+
+ // Since JDK 1.2:
+ // This method is identical to contains but is part of the 1.2 Map interface.
+ // TBD: Should contains return containsValue instead? Depends on which
+ // will be called more typically.
+ public synchronized boolean containsValue(Object value)
+ {
+ return this.contains(value);
+ }
+
+ // TODO12:
+ // public boolean equals(Object o)
+ // {
+ // }
+
+ // TODO12:
+ // public boolean hashCode()
+ // {
+ // }
+
+ // TODO12:
+ // public void putAll(Map t)
+ // {
+ // }
+
+ // TODO12:
+ // public Collection values()
+ // {
+ // }
+}
diff --git a/libjava/java/util/ListResourceBundle.java b/libjava/java/util/ListResourceBundle.java
new file mode 100644
index 0000000..a855c45
--- /dev/null
+++ b/libjava/java/util/ListResourceBundle.java
@@ -0,0 +1,52 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Anthony Green <green@cygnus.com>
+ * @date November 26, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3,
+ * and "The Java Language Specification", ISBN 0-201-63451-1. */
+
+public abstract class ListResourceBundle extends ResourceBundle
+{
+ public final Object handleGetObject(String key)
+ {
+ Object a[][] = getContents();
+
+ for (int i = 0; i < a.length; i++)
+ {
+ if (key.compareTo((String) a[i][0]) == 0)
+ return a[i][1];
+ }
+ throw new MissingResourceException("can't find handle",
+ getClass().getName(),
+ key);
+ }
+
+ public Enumeration getKeys()
+ {
+ Object a[][] = getContents();
+
+ Vector keys = new Vector(a.length);
+
+ for (int i = 0; i < a.length; i++)
+ keys.addElement(a[i][0]);
+
+ return keys.elements();
+ }
+
+ protected abstract Object[][] getContents();
+
+ public ListResourceBundle()
+ {
+ }
+}
diff --git a/libjava/java/util/Locale.java b/libjava/java/util/Locale.java
new file mode 100644
index 0000000..e47cd1d
--- /dev/null
+++ b/libjava/java/util/Locale.java
@@ -0,0 +1,125 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date October 24, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3,
+ * and "The Java Language Specification", ISBN 0-201-63451-1.
+ * Status: None of the getDisplayXXX or getISO3XXX methods are implemented.
+ */
+public final class Locale implements java.io.Serializable, Cloneable
+{
+ // The fields are as specified in Sun's "Serialized Form"
+ // in the JDK 1.2 beta 4 API specification.
+ private String country;
+ private int hashcode;
+ private String language;
+ private String variant;
+ private static Locale defaultLocale;
+
+ // FIXME: many are still missing.
+ public static final Locale CANADA = new Locale ("en", "CA");
+ public static final Locale FRANCE = new Locale ("fr", "FR");
+ public static final Locale JAPAN = new Locale ("ja", "JP");
+ public static final Locale UK = new Locale ("en", "GB");
+ public static final Locale US = new Locale ("en", "US");
+
+ public Locale (String languageCode, String countryCode)
+ {
+ language = languageCode.toLowerCase();
+ country = countryCode.toUpperCase();
+ hashcode = languageCode.hashCode() ^ countryCode.hashCode();
+ }
+
+ public Locale (String languageCode, String countryCode,
+ String variantCode)
+ {
+ this (languageCode, countryCode);
+ variant = variantCode;
+ hashcode ^= variantCode.hashCode();
+ }
+
+ public Object clone ()
+ {
+ return (Object) new Locale (language, country, variant);
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (! (obj instanceof Locale))
+ return false;
+ Locale loc = (Locale) obj;
+ if ((language == null && loc.language != null)
+ || (country == null && loc.country != null)
+ || (variant == null && loc.variant != null))
+ return false;
+ return (language.equals(loc.language)
+ && country.equals(loc.country)
+ && variant.equals(loc.variant));
+ }
+
+ public String getCountry ()
+ {
+ return country;
+ }
+
+ public String getLanguage ()
+ {
+ return language;
+ }
+
+ public String getVariant ()
+ {
+ return variant;
+ }
+
+ public int hashCode ()
+ {
+ return hashcode;
+ }
+
+ private static synchronized Locale setDefault()
+ {
+ if (defaultLocale != null)
+ return defaultLocale;
+ String language = System.getProperty("user.language");
+ String country = System.getProperty("user.region");
+ defaultLocale = new Locale (language == null ? "en" : language,
+ country == null ? "" : country);
+ return defaultLocale;
+ }
+
+ public static Locale getDefault ()
+ {
+ return defaultLocale == null ? setDefault() : defaultLocale;
+ }
+
+ public static void setDefault (Locale newLocale)
+ {
+ defaultLocale = newLocale;
+ }
+
+ public String toString ()
+ {
+ StringBuffer result = new StringBuffer(20);
+ result.append(language);
+ result.append('_');
+ result.append(country);
+ if (variant != null && variant.length() > 0)
+ {
+ result.append('_');
+ result.append(variant);
+ }
+ return result.toString();
+ }
+}
diff --git a/libjava/java/util/MissingResourceException.java b/libjava/java/util/MissingResourceException.java
new file mode 100644
index 0000000..e24cd6a
--- /dev/null
+++ b/libjava/java/util/MissingResourceException.java
@@ -0,0 +1,43 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 2, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class MissingResourceException extends RuntimeException
+{
+ private String className;
+ private String key;
+
+ public MissingResourceException(String msg, String cName, String k)
+ {
+ super(msg);
+ className = cName;
+ key = k;
+ }
+
+ public String getClassName()
+ {
+ return className;
+ }
+
+ public String getKey()
+ {
+ return key;
+ }
+}
+
diff --git a/libjava/java/util/NoSuchElementException.java b/libjava/java/util/NoSuchElementException.java
new file mode 100644
index 0000000..2e6d024
--- /dev/null
+++ b/libjava/java/util/NoSuchElementException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 2, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class NoSuchElementException extends RuntimeException
+{
+ public NoSuchElementException()
+ {
+ super();
+ }
+
+ public NoSuchElementException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/util/Observable.java b/libjava/java/util/Observable.java
new file mode 100644
index 0000000..627892e
--- /dev/null
+++ b/libjava/java/util/Observable.java
@@ -0,0 +1,98 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 2, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class Observable
+{
+ /* tracks whether this object has changed */
+ private boolean changed;
+
+ /* list of the Observers registered as interested in this Observable */
+ private Vector observerVec;
+
+ /* TBD: This might be better implemented as an Observer[]
+ * but that would mean writing more code rather than making use of
+ * the existing Vector class (this also implies a larger text code
+ * space in resulting executables). The tradeoff is one of speed
+ * (manipulating the Observer[] directly) vs. size/reuse. In the future,
+ * we may decide to make the tradeoff and reimplement with an Observer[].
+ */
+
+ public Observable()
+ {
+ changed = false;
+ observerVec = new Vector();
+ }
+
+ public synchronized void addObserver(Observer obs)
+ {
+ // JDK 1.2 spec says not to add this if it is already there
+ if (!observerVec.contains(obs))
+ observerVec.addElement(obs);
+ }
+
+ protected synchronized void clearChanged()
+ {
+ changed = false;
+ }
+
+ public synchronized int countObservers()
+ {
+ return observerVec.size();
+ }
+
+ public synchronized void deleteObserver(Observer obs)
+ {
+ observerVec.removeElement(obs);
+ }
+
+ public synchronized void deleteObservers()
+ {
+ observerVec.removeAllElements();
+ }
+
+ public synchronized boolean hasChanged()
+ {
+ return changed;
+ }
+
+ public void notifyObservers()
+ {
+ notifyObservers(null);
+ }
+
+ public void notifyObservers(Object arg)
+ {
+ if (changed)
+ {
+ /* The JDK 1.2 spec states that though the order of notification
+ * is unspecified in subclasses, in Observable it is in the order
+ * of registration.
+ */
+ for (int i = 0, numObs = observerVec.size(); i < numObs; i++)
+ ((Observer) (observerVec.elementAt(i))).update(this, arg);
+ changed = false;
+ }
+ }
+
+ protected synchronized void setChanged()
+ {
+ changed = true;
+ }
+}
diff --git a/libjava/java/util/Observer.java b/libjava/java/util/Observer.java
new file mode 100644
index 0000000..c131f3b
--- /dev/null
+++ b/libjava/java/util/Observer.java
@@ -0,0 +1,24 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date August 25, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct
+ */
+
+public interface Observer
+{
+ public void update(Observable observed, Object arg);
+}
diff --git a/libjava/java/util/Properties.java b/libjava/java/util/Properties.java
new file mode 100644
index 0000000..aac7214
--- /dev/null
+++ b/libjava/java/util/Properties.java
@@ -0,0 +1,376 @@
+// Properties - Property list representation.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.OutputStream;
+import java.io.OutputStreamWriter;
+import java.io.PrintStream;
+import java.io.PrintWriter;
+import java.io.PushbackReader;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 26, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * Status: Complete to JDK 1.1.
+ */
+
+public class Properties extends Hashtable
+{
+ protected Properties defaults;
+
+ public String getProperty (String propName)
+ {
+ return getProperty (propName, null);
+ }
+
+ public String getProperty (String propName, String defVal)
+ {
+ String r = (String) get (propName);
+ if (r == null)
+ {
+ if (defaults != null)
+ r = defaults.getProperty(propName, defVal);
+ else
+ r = defVal;
+ }
+ return r;
+ }
+
+ public void list (PrintStream out)
+ {
+ Enumeration e = propertyNames ();
+ while (e.hasMoreElements())
+ {
+ String key = (String) e.nextElement();
+ String value = getProperty(key);
+ if (value != null)
+ {
+ if (value.length() > 40)
+ {
+ // JDK compatibility.
+ value = value.substring(0, 37) + "...";
+ }
+ out.print(key);
+ out.print("=");
+ out.println(value);
+ }
+ }
+ }
+
+ public void list (PrintWriter writer)
+ {
+ Enumeration e = propertyNames ();
+ while (e.hasMoreElements())
+ {
+ String key = (String) e.nextElement();
+ String value = getProperty(key);
+ if (value != null)
+ {
+ if (value.length() > 40)
+ {
+ // JDK compatibility.
+ value = value.substring(0, 37) + "...";
+ }
+ writer.print(key);
+ writer.print("=");
+ writer.println(value);
+ }
+ }
+ }
+
+ private final boolean skip_ws (PushbackReader reader) throws IOException
+ {
+ while (true)
+ {
+ int c = reader.read();
+ if (c == -1)
+ return false;
+ // FIXME: we use our own definition of whitespace.
+ // Character.isWhitespace includes newlines, which we don't
+ // want. Character.isSpaceChar doesn't include \t.
+ if (c == ' ' || c == '\t')
+ {
+ reader.unread(c);
+ return true;
+ }
+ }
+ }
+
+ // Note: this method needs to be rewritten for JDK 1.2.
+ // We rather arbitrarily decide that an EOF in the middle of a line
+ // means that the whole line should be ignored. The spec doesn't
+ // specifically address this, but this interpretation seems valid.
+ public synchronized void load (InputStream in) throws IOException
+ {
+ PushbackReader reader = new PushbackReader (new InputStreamReader (in));
+
+ StringBuffer key = new StringBuffer ();
+ StringBuffer value = new StringBuffer ();
+
+ nextLine:
+ while (true)
+ {
+ key.setLength(0);
+ value.setLength(0);
+
+ // Skip leading whitespace.
+ if (! skip_ws (reader))
+ return;
+
+ // Read key until key terminator.
+ boolean first_char = true;
+ int c;
+ while (true)
+ {
+ c = reader.read();
+ if (c == -1)
+ return;
+ if (c == '\\')
+ {
+ first_char = false;
+ c = reader.read();
+ if (c == -1)
+ return;
+ }
+
+ // If we found a comment, just read to end of line and
+ // then keep going.
+ if (first_char == true && (c == '#' || c == '!'))
+ {
+ while (c != -1 && c != '\r' && c != '\n')
+ c = reader.read();
+ if (c == -1)
+ return;
+ continue nextLine;
+ }
+
+ if (c == '\r' || c == '\n')
+ {
+ if (first_char)
+ continue nextLine;
+ reader.unread(c);
+ break;
+ }
+ // FIXME: again, our own definitino of whitespace.
+ if (c == ' ' || c == '\t' || c == ':' || c == '=')
+ break;
+
+ first_char = false;
+ key.append(c);
+ }
+
+ // Found end of key. Skip whitespace. If the terminator
+ // was whitespace, also skip a single instance of a "real"
+ // terminator, and then more whitespace.
+ if (! skip_ws (reader))
+ return;
+ if (c != ':' && c != '=')
+ {
+ c = reader.read();
+ if (c == -1)
+ return;
+ if (c == ':' || c == '=')
+ {
+ // Skip more whitespace.
+ if (! skip_ws (reader))
+ return;
+ }
+ else
+ reader.unread(c);
+ }
+
+ // Now read the value.
+ while (true)
+ {
+ c = reader.read();
+ if (c == -1)
+ return;
+ if (c == '\r' || c == '\n')
+ break;
+ if (c == '\\')
+ {
+ c = reader.read();
+ switch (c)
+ {
+ case -1:
+ return;
+ case 't':
+ c = '\t';
+ break;
+ case 'r':
+ c = '\r';
+ break;
+ case 'n':
+ c = '\n';
+ break;
+ case 'u':
+ c = 0;
+ for (int i = 0; i < 4; ++i)
+ {
+ int x = reader.read();
+ if (x == -1)
+ return;
+ int d = Character.digit((char) x, 16);
+ // FIXME: what to do here? We call it an
+ // error.
+ if (d == -1)
+ throw new IOException ();
+ c <<= 4;
+ c |= d;
+ }
+ break;
+ default:
+ // Nothing.
+ }
+ }
+ else
+ value.append(c);
+ }
+
+ put (key.toString(), value.toString());
+ }
+ }
+
+ public Properties ()
+ {
+ defaults = null;
+ }
+
+ public Properties (Properties defs)
+ {
+ defaults = defs;
+ }
+
+ private final void addHashEntries (Hashtable base)
+ {
+ if (defaults != null)
+ defaults.addHashEntries(base);
+ Enumeration keys = keys ();
+ while (keys.hasMoreElements())
+ base.put(keys.nextElement(), base);
+ }
+
+ public Enumeration propertyNames ()
+ {
+ // We make a new Hashtable that holds all the keys. Then we
+ // return an enumeration for this hash. We do this because we
+ // don't want modifications to be reflected in the enumeration
+ // (per JCL), and because there doesn't seem to be a
+ // particularly better way to ensure that duplicates are
+ // ignored.
+ Hashtable t = new Hashtable ();
+ addHashEntries (t);
+ return t.keys();
+ }
+
+ public synchronized void save (OutputStream out, String comment)
+ {
+ // Use a buffer because writing a single string through
+ // OutputStreamWriter is fairly expensive.
+ BufferedWriter output
+ = new BufferedWriter (new OutputStreamWriter (out));
+ String newline = System.getProperty("line.separator");
+
+ try
+ {
+ if (comment != null)
+ {
+ // FIXME: what if COMMENT contains newlines?
+ output.write("#");
+ output.write(comment);
+ output.write(newline);
+ }
+ output.write("# ");
+ output.write(new Date().toString());
+ output.write(newline);
+
+ Enumeration keys = keys ();
+ while (keys.hasMoreElements())
+ {
+ String key = (String) keys.nextElement();
+ String value = (String) get (key);
+
+ // FIXME: JCL says that the key can contain many Unicode
+ // characters. But it also doesn't say we should encode
+ // it in any way.
+ // FIXME: if key contains ':', '=', or whitespace, must
+ // quote it here.
+ output.write(key);
+ output.write("=");
+
+ boolean leading = true;
+ for (int i = 0; i < value.length(); ++i)
+ {
+ boolean new_lead = false;
+ char c = value.charAt(i);
+ switch (c)
+ {
+ case '\n':
+ output.write("\\n");
+ break;
+ case '\r':
+ output.write("\\r");
+ break;
+ case '\t':
+ output.write("\\t");
+ break;
+ case '\\':
+ output.write("\\\\");
+ break;
+
+ case '#':
+ case '!':
+ case '=':
+ case ':':
+ output.write("\\");
+ output.write(c);
+ break;
+
+ case ' ':
+ new_lead = leading;
+ if (leading)
+ output.write("\\");
+ output.write(c);
+ break;
+
+ default:
+ if (c < '\u0020' || c > '\u007e')
+ {
+ output.write("\\u");
+ output.write(Character.forDigit(c >>> 12, 16));
+ output.write(Character.forDigit((c >>> 8) & 0xff,
+ 16));
+ output.write(Character.forDigit((c >>> 4) & 0xff,
+ 16));
+ output.write(Character.forDigit(c & 0xff, 16));
+ }
+ else
+ output.write(c);
+ }
+ leading = new_lead;
+ }
+ output.write(newline);
+ }
+
+ output.flush();
+ }
+ catch (IOException ignore)
+ {
+ }
+ }
+}
diff --git a/libjava/java/util/Random.java b/libjava/java/util/Random.java
new file mode 100644
index 0000000..26010ce
--- /dev/null
+++ b/libjava/java/util/Random.java
@@ -0,0 +1,148 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+import java.io.Serializable;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date August 25, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct
+ */
+
+/* This class is completely specified by the spec to ensure absolute
+ * portability between all implementations of Java
+ */
+public class Random implements Serializable
+{
+ /* Used by next() to hold the state of the pseudorandom number generator */
+ protected long seed;
+
+ /* Used by nextGaussian() to hold a precomputed value */
+ /* to be delivered by that method the next time it is called */
+ protected double nextNextGaussian;
+
+ /* Used by nextGaussian() to keep track of whether it is has precomputed */
+ /* and stashed away the next value to be delivered by that method */
+ protected boolean haveNextNextGaussian = false;
+
+ public Random()
+ {
+ this(System.currentTimeMillis());
+ }
+
+ public Random(long seed)
+ {
+ setSeed(seed);
+ }
+
+ protected synchronized int next(int bits)
+ {
+ seed = (seed * 0x5DEECE66DL + 0xBL) & ((1L << 48) - 1);
+ return (int)(seed >>> (48 - bits));
+ }
+
+ // JDK1.2
+ public boolean nextBoolean()
+ {
+ return next(1) != 0;
+ }
+
+ /* The method nextBytes() is not fully specified in the published specs.
+ * At first I implemented it simply via:
+ * for (int i = 0; i < buf.length; i++)
+ * buf[i] = (byte)next(8);
+ * but a simple test did not yield the same results as the std implementation.
+ * There seemed to be a relationship where each i byte above was at pos 4*i+3
+ * in the std. For efficiency, by reducing calls to the expensive math
+ * routines, the std probably was calling next(32) once rather than next(8)
+ * 4 times. Changing the algorithm to the one below based on that assumption
+ * then yielded identical results to the std.
+ */
+ public void nextBytes(byte[] buf)
+ {
+ int randInt = 0;
+
+ for (int i = 0; i < buf.length; i++)
+ {
+ int shift = (i % 4) * 8;
+ if (shift == 0)
+ randInt = next(32);
+ buf[i] = (byte) (randInt >> shift);
+ }
+ }
+
+ public double nextDouble()
+ {
+ return (((long)next(26) << 27) + next(27)) / (double)(1L << 53);
+ }
+
+ public float nextFloat()
+ {
+ return next(24) / ((float)(1 << 24));
+ }
+
+ public synchronized double nextGaussian()
+ {
+ if (haveNextNextGaussian)
+ {
+ haveNextNextGaussian = false;
+ return nextNextGaussian;
+ }
+ else
+ {
+ double v1, v2, s;
+ do
+ {
+ v1 = 2 * nextDouble() - 1; // between -1.0 and 1.0
+ v2 = 2 * nextDouble() - 1; // between -1.0 and 1.0
+ s = v1 * v1 + v2 * v2;
+ } while (s >= 1);
+ double norm = Math.sqrt(-2 * Math.log(s)/s);
+ nextNextGaussian = v2 * norm;
+ haveNextNextGaussian = true;
+ return v1 * norm;
+ }
+ }
+
+ public int nextInt()
+ {
+ return next(32);
+ }
+
+ // JDK1.2
+ public int nextInt(int n)
+ {
+ if (n <= 0)
+ throw new IllegalArgumentException("n must be positive");
+
+ int bits, val;
+ do
+ {
+ bits = next(31);
+ val = bits % n;
+ } while (bits - val + (n-1) < 0);
+ return val;
+ }
+
+ public long nextLong()
+ {
+ return ((long)next(32) << 32) + next(32);
+ }
+
+ public synchronized void setSeed(long seed)
+ {
+ this.seed = (seed ^ 0x5DEECE66DL) & ((1L << 48) - 1);
+ haveNextNextGaussian = false;
+ }
+}
diff --git a/libjava/java/util/ResourceBundle.java b/libjava/java/util/ResourceBundle.java
new file mode 100644
index 0000000..ba1d3f9
--- /dev/null
+++ b/libjava/java/util/ResourceBundle.java
@@ -0,0 +1,188 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Anthony Green <green@cygnus.com>
+ * @date November 26, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3,
+ * and "The Java Language Specification", ISBN 0-201-63451-1. */
+
+public abstract class ResourceBundle
+{
+ protected ResourceBundle parent;
+
+ public ResourceBundle ()
+ {
+ }
+
+ public final String getString (String key) throws MissingResourceException
+ {
+ return (String) getObject(key);
+ }
+
+ public final String[] getStringArray (String key)
+ throws MissingResourceException
+ {
+ return (String[]) getObject(key);
+ }
+
+ public final Object getObject(String key) throws MissingResourceException
+ {
+ Object result;
+
+ try
+ {
+ return handleGetObject (key);
+ }
+ catch (MissingResourceException ex)
+ {
+ if (parent != null)
+ return parent.getObject(key);
+ else
+ throw ex;
+ }
+ }
+
+ public static final ResourceBundle getBundle(String baseName)
+ throws MissingResourceException
+ {
+ return getBundle(baseName, Locale.getDefault());
+ }
+
+ // Start searching with the name bundleName. Continue searching by
+ // stripping off the '_' delimited tails until the search name is
+ // the same as stopHere.
+ private static final ResourceBundle trySomeGetBundle (String bundleName,
+ String stopHere)
+ {
+ Class rbc;
+
+ while (true)
+ {
+ try
+ {
+ rbc = Class.forName(bundleName);
+ try
+ {
+ return (ResourceBundle) rbc.newInstance();
+ }
+ catch (IllegalAccessException ex)
+ {
+ // Fall through
+ }
+ catch (InstantiationException ex)
+ {
+ // Fall through
+ }
+ return null;
+ }
+ catch (ClassNotFoundException ex)
+ {
+ if (bundleName.compareTo(stopHere) == 0)
+ return null;
+ else
+ {
+ int last = bundleName.lastIndexOf('_');
+
+ // No more underscores?
+ if (last == -1)
+ return null;
+
+ // Loop around, testing this new shorter name.
+ bundleName = bundleName.substring(0, last);
+ }
+ }
+ }
+ }
+
+ // Search for bundles, but stop at baseName_language.
+ private static final ResourceBundle partialGetBundle (String baseName,
+ Locale locale)
+ {
+ ResourceBundle rb;
+
+ String bundleName = (baseName
+ + "_"
+ + locale.getLanguage() + "_"
+ + locale.getCountry() + "_"
+ + locale.getVariant());
+
+ String stopHere = (baseName
+ + "_"
+ + locale.getLanguage());
+
+
+ rb = trySomeGetBundle(bundleName, stopHere);
+
+ return rb;
+ }
+
+ public static final ResourceBundle getBundle (String baseName,
+ Locale locale)
+ throws MissingResourceException
+ {
+ ResourceBundle rb;
+ Class rbc;
+
+ // FIXME: We can't currently rely on NullPointerException being
+ // thrown when we invoke a method on a null object.
+ if (locale == null)
+ throw new NullPointerException ();
+
+ rb = partialGetBundle(baseName, locale);
+ if (rb != null)
+ return rb;
+
+ if (! locale.equals(Locale.getDefault()))
+ {
+ rb = partialGetBundle(baseName, Locale.getDefault());
+ if (rb != null)
+ return rb;
+ }
+
+ // Try just the baseName.
+ try
+ {
+ rbc = Class.forName (baseName);
+ try
+ {
+ return (ResourceBundle) rbc.newInstance();
+ }
+ catch (IllegalAccessException ex)
+ {
+ // Fall through.
+ }
+ catch (InstantiationException ex)
+ {
+ // Fall through.
+ }
+ }
+ catch (ClassNotFoundException ex)
+ {
+ // Fall through.
+ }
+
+ throw new MissingResourceException("can't load bundle",
+ baseName,
+ "bundle");
+ }
+
+ protected void setParent(ResourceBundle parent)
+ {
+ this.parent = parent;
+ }
+
+ protected abstract Object handleGetObject(String key)
+ throws MissingResourceException;
+
+ public abstract Enumeration getKeys();
+}
diff --git a/libjava/java/util/SimpleTimeZone.java b/libjava/java/util/SimpleTimeZone.java
new file mode 100644
index 0000000..6082b18
--- /dev/null
+++ b/libjava/java/util/SimpleTimeZone.java
@@ -0,0 +1,182 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date October 24, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3.
+ * Status: Does not know how to figure out if daylight savings time
+ * is in effect; hence only correct for zones without DST.
+ * No known spec for hashCode.
+ */
+
+public class SimpleTimeZone extends TimeZone
+{
+ // The fields are as specified in Sun's "Serialized Form"
+ // in the JDK 1.2 beta 4 API specification.
+
+ int dstSavings = 60 * 60 * 1000;
+
+ int rawOffset;
+
+ // int serialVersionOnStream;
+
+ int startDay;
+ int startDayOfWeek;
+ int startMode; /// Seems to be JDK 1.2 only.
+
+ int startMonth;
+
+ int startTime;
+
+ int startYear;
+
+ int endDay;
+
+ int endDayOfWeek;
+
+ int endMode; // Seems to be JDK 1.2 only.
+
+ int endMonth;
+
+ int endTime;
+
+ // byte[] monthLength;
+
+ boolean useDaylight;
+
+ public SimpleTimeZone (int rawOffset, String ID)
+ {
+ setID(ID);
+ this.rawOffset = rawOffset;
+ }
+
+ public SimpleTimeZone (int rawOffset, String ID,
+ int startMonth, int startDay,
+ int startDayOfWeek, int startTime,
+ int endMonth, int endDay,
+ int endDayOfWeek, int endTime)
+ {
+ this(rawOffset, ID);
+ setStartRule (startMonth, startDay, startDayOfWeek, startTime);
+ setEndRule (endMonth, endDay, endDayOfWeek, endTime);
+ }
+
+ public int getRawOffset() { return rawOffset; }
+ public void setRawOffset (int offsetMillis) { rawOffset = offsetMillis; }
+
+ public int getOffset (int era, int year, int month, int day,
+ int dayOfWeek, int millis)
+ {
+ int offset = getRawOffset();
+ if (useDaylight)
+ {
+ if (startYear != 0
+ && (year < startYear || era == GregorianCalendar.BC))
+ return offset;
+ boolean midYearSummer = startMonth < endMonth;
+ if (midYearSummer ? (month < startMonth || month > endMonth)
+ : (month < startMonth && month > endMonth))
+ return offset; // Definitely not DST.
+ if (midYearSummer ? (month > startMonth && month < endMonth)
+ : (month > startMonth || month < endMonth))
+ return offset + dstSavings; // Definitely DST.
+ // Now it gets more complicated. Bail for now.
+ throw new Error("not implemented - SimpleTimeZone.getOffset");
+ }
+ return offset;
+ }
+
+ public boolean useDaylightTime() { return useDaylight; }
+
+ public boolean inDaylightTime(Date date)
+ {
+ if (! useDaylight)
+ return false;
+ throw new Error("not implemented - SimpleTimeZone.inDaylightTime");
+ }
+
+ public int getDSTSavings () { return dstSavings; }
+
+ public void setDSTSavings (int millisSavedDuringDST)
+ { dstSavings = millisSavedDuringDST; }
+
+ public void setStartRule (int month, int dayOfWeekInMonth,
+ int dayOfWeek, int time)
+ {
+ this.startMonth = month;
+ this.startDay = dayOfWeekInMonth;
+ this.startDayOfWeek = dayOfWeek;
+ this.startTime = time;
+ this.useDaylight = true;
+ }
+
+ public void setEndRule (int month, int dayOfWeekInMonth,
+ int dayOfWeek, int time)
+ {
+ this.endMonth = month;
+ this.endDay = dayOfWeekInMonth;
+ this.endDayOfWeek = dayOfWeek;
+ this.endTime = time;
+ this.useDaylight = true;
+ }
+
+ public void setStartYear (int year)
+ {
+ this.startYear = startYear;
+ }
+
+ public boolean hasSameRules (TimeZone other)
+ {
+ if (this == other)
+ return true;
+ if (! (other instanceof SimpleTimeZone))
+ return false;
+ SimpleTimeZone o = (SimpleTimeZone) other;
+ if (rawOffset != o.rawOffset)
+ return false;
+ if (useDaylight != o.useDaylight)
+ return false;
+ if (! useDaylight)
+ return true;
+ return startDay == o.startDay
+ && startDayOfWeek == o.startDayOfWeek
+ && startMonth == o.startMonth
+ && startTime == o.startTime
+ && endDay == o.endDay
+ && endDayOfWeek == o.endDayOfWeek
+ && endMonth == o.endMonth
+ && endTime == o.endTime
+ && startYear == o.startYear
+ && startMode == o.startMode
+ && endMode == o.endMode;
+ }
+
+ public boolean equals (Object obj)
+ {
+ if (! (obj instanceof SimpleTimeZone))
+ return false;
+ SimpleTimeZone other = (SimpleTimeZone) obj;
+ return getID() == other.getID() && hasSameRules(other);
+ }
+
+ public int hashCode ()
+ {
+ // FIXME - this does not folow any spec (since none is public)!
+ int hash = rawOffset;
+ if (useDaylight)
+ hash += dstSavings + startYear + startMode + endMode
+ + startDay + startDayOfWeek + startMonth + startTime
+ + endDay + endDayOfWeek + endMonth + endTime;
+ return hash;
+ }
+}
diff --git a/libjava/java/util/Stack.java b/libjava/java/util/Stack.java
new file mode 100644
index 0000000..bc45888
--- /dev/null
+++ b/libjava/java/util/Stack.java
@@ -0,0 +1,74 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date August 20, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct
+ */
+
+public class Stack extends Vector
+{
+ // Could use Vector methods internally for the following methods
+ // but have used Vector fields directly for efficiency (i.e. this
+ // often reduces out duplicate bounds checking).
+
+ public boolean empty()
+ {
+ return elementCount == 0;
+ }
+
+ public synchronized Object peek()
+ {
+ if (elementCount == 0)
+ throw new EmptyStackException();
+
+ return elementData[elementCount - 1];
+ }
+
+ public synchronized Object pop()
+ {
+ if (elementCount == 0)
+ throw new EmptyStackException();
+
+ Object obj = elementData[--elementCount];
+
+ // Set topmost element to null to assist the gc in cleanup
+ elementData[elementCount] = null;
+ return obj;
+ }
+
+ public Object push(Object obj)
+ {
+ // When growing the Stack, use the Vector routines in case more
+ // memory is needed.
+ // Note: spec indicates that this method *always* returns obj passed in!
+
+ addElement(obj);
+ return obj;
+ }
+
+ public synchronized int search(Object obj)
+ {
+ // Return the position of obj on the stack as measured from the top;
+ // i.e. the top element is 1, the next element down is 2, etc.
+ // If obj is not on the stack, return -1
+
+ for (int i = elementCount-1; i >=0; --i)
+ if (elementData[i].equals(obj))
+ return elementCount - i;
+
+ return -1;
+ }
+}
diff --git a/libjava/java/util/StringTokenizer.java b/libjava/java/util/StringTokenizer.java
new file mode 100644
index 0000000..4516057
--- /dev/null
+++ b/libjava/java/util/StringTokenizer.java
@@ -0,0 +1,185 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date August 24, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct
+ */
+
+public class StringTokenizer implements Enumeration
+{
+ /* String to be parsed */
+ private String inputString;
+
+ /* String to be parsed put into a char array for efficient access */
+ private char[] chArray;
+
+ /* Set of delimiter characters for separating tokens */
+ private String delimiters;
+
+ /* Whether delimiters in this instance are treated as tokens themselves */
+ private boolean returnDelimiters;
+
+ /* Index into the input string to start parsing for the next token */
+ private int inputStringIndex;
+
+ public StringTokenizer(String str)
+ {
+ this(str, " \t\n\r", false);
+ }
+
+ public StringTokenizer(String str, String delims)
+ {
+ this(str, delims, false);
+ }
+
+ public StringTokenizer(String str, String delims, boolean retDelim)
+ {
+ inputString = str;
+ delimiters = delims;
+ returnDelimiters = retDelim;
+ inputStringIndex = 0;
+
+ // Work on a copy of the remaining string in a char array
+ // to gain efficiency of using primitives
+ chArray = new char[inputString.length()];
+ inputString.getChars(0, inputString.length(), chArray, 0);
+ }
+
+ public int countTokens()
+ {
+ int count = 0;
+ int delimiterCount = 0;
+ boolean tokenFound = false; // Set when a non-delimiter is found
+ int offset = inputStringIndex;
+
+ // Note for efficiency, we count up the delimiters rather than check
+ // returnDelimiters every time we encounter one. That way, we can
+ // just do the conditional once at the end of the method
+ while (offset < chArray.length)
+ {
+ if (isDelimiter(chArray[offset++]))
+ {
+ if (tokenFound)
+ {
+ // Got to the end of a token
+ count++;
+ tokenFound = false;
+ }
+
+ delimiterCount++; // Increment for this delimiter
+ }
+ else
+ {
+ tokenFound = true;
+
+ // Get to the end of the token
+ while (offset < chArray.length && !isDelimiter(chArray[offset]))
+ offset++;
+ }
+ }
+
+ // Make sure to count the last token
+ if (tokenFound)
+ count++;
+
+ // if counting delmiters add them into the token count
+ return returnDelimiters ? count + delimiterCount : count;
+ }
+
+ public boolean hasMoreElements()
+ {
+ return hasMoreTokens();
+ }
+
+ public boolean hasMoreTokens()
+ {
+ int offset = inputStringIndex;
+
+ while (offset < chArray.length)
+ if (!isDelimiter(chArray[offset++]) || returnDelimiters)
+ {
+ // update the current position with the start of the next token
+ inputStringIndex = --offset;
+
+ return true;
+ }
+
+ return false;
+ }
+
+ public Object nextElement()
+ {
+ return nextToken();
+ }
+
+ public String nextToken()
+ {
+ int offset = inputStringIndex;
+ int startSubstr = -1;
+
+ // Make sure we have more chars left to parse
+ // and then find the start of the next token
+ while (offset < chArray.length && startSubstr < 0)
+ {
+ // Find the start of the token; skipping initial delimiters
+ if (!isDelimiter(chArray[offset++]))
+ startSubstr = offset - 1;
+ else if (returnDelimiters)
+ {
+ // The single char delimiter is treated as a token
+ inputStringIndex = offset; // update the current position
+
+ return inputString.substring(offset - 1, inputStringIndex);
+ }
+ }
+
+ // Now look for the end of the token
+ while (offset < chArray.length)
+ {
+ if (isDelimiter(chArray[offset++]))
+ {
+ // Found the end of token
+ inputStringIndex = offset - 1; // update the current position
+
+ return inputString.substring(startSubstr, inputStringIndex);
+ }
+ }
+
+ // Got to the end of the string without finding the start of a token
+ if (startSubstr < 0)
+ throw new NoSuchElementException();
+
+ // Got to the end of the string before a delimiter
+ inputStringIndex = offset; // update the current position
+
+ return inputString.substring(startSubstr, inputStringIndex);
+ }
+
+ public String nextToken(String delims)
+ {
+ // First replace with new set of delimiters
+ delimiters = delims;
+
+ return nextToken();
+ }
+
+ // This private method could be inlined but the other methods are
+ // more readable this way, so we'll take the hit on efficiency.
+ private boolean isDelimiter(char ch)
+ {
+ return delimiters.indexOf(ch) >= 0;
+ }
+}
diff --git a/libjava/java/util/TimeZone.java b/libjava/java/util/TimeZone.java
new file mode 100644
index 0000000..ad2dd62
--- /dev/null
+++ b/libjava/java/util/TimeZone.java
@@ -0,0 +1,120 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Per Bothner <bothner@cygnus.com>
+ * @date October 24, 1998.
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3.
+ * Status: getAvailableIDs, getDefault, getTimeZone only know about GMT.
+ */
+
+public abstract class TimeZone implements java.io.Serializable, Cloneable
+{
+ public static final int SHORT = 0;
+ public static final int LONG = 1;
+
+ // The fields are as specified in Sun's "Serialized Form"
+ // in the JDK 1.2 beta 4 API specification.
+ String ID;
+
+ static final TimeZone zoneGMT = new SimpleTimeZone(0, "GMT");
+
+ private static TimeZone zoneDefault;
+
+ public TimeZone ()
+ {
+ }
+
+ public abstract int getOffset (int era, int year, int month,
+ int day, int dayOfWeek, int milliseconds);
+
+ public abstract void setRawOffset (int offsetMillis);
+
+ public abstract int getRawOffset ();
+
+ public String getID () { return ID; }
+
+ public void setID (String ID) { this.ID = ID; }
+
+ public final String getDisplayName()
+ {
+ return ID; // FIXME
+ }
+
+ // public final String getDisplayName (Local locale) { ... } FIXME
+
+ public final String getDisplayName (boolean daylight, int style)
+ {
+ return ID; // FIXME
+ }
+
+ /*
+ public final String getDisplayName (boolean daylight, int style, Locale locale)
+ {
+ return ID; // FIXME
+ }
+ */
+
+ public abstract boolean useDaylightTime();
+
+ public abstract boolean inDaylightTime (Date date);
+
+ public static TimeZone getTimeZone (String ID)
+ {
+ return zoneGMT; // FIXME
+ }
+
+ public static String[] getAvailableIDs()
+ { // FIXME - only knows about GMT
+ String[] zones = new String[1];
+ zones[0] = "GMT";
+ return zones;
+ }
+
+ public static String[] getAvailableIDs(int rawOffset)
+ {
+ return rawOffset == 0 ? getAvailableIDs() : new String[0]; // FIXME
+ }
+
+ private static synchronized TimeZone setDefault()
+ {
+ if (zoneDefault == null)
+ {
+ try
+ {
+ String id = System.getProperty("user.timezone");
+ if (id != null && ! id.equals("GMT"))
+ zoneDefault = getTimeZone(id);
+ }
+ catch (Exception ex)
+ {
+ }
+ if (zoneDefault == null)
+ zoneDefault = zoneGMT;
+ }
+ return zoneDefault;
+ }
+
+ public static TimeZone getDefault()
+ {
+ return zoneDefault == null ? setDefault() : zoneDefault;
+ }
+
+ public static void setDefault (TimeZone zone) { zoneDefault = zone; }
+
+ public boolean hasSameRules (TimeZone other)
+ {
+ return this == other;
+ }
+
+ // public Object clone ();
+}
diff --git a/libjava/java/util/TooManyListenersException.java b/libjava/java/util/TooManyListenersException.java
new file mode 100644
index 0000000..13bbc4e
--- /dev/null
+++ b/libjava/java/util/TooManyListenersException.java
@@ -0,0 +1,32 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date September 2, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct.
+ */
+
+public class TooManyListenersException extends Exception
+{
+ public TooManyListenersException()
+ {
+ super();
+ }
+
+ public TooManyListenersException(String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/util/Vector.java b/libjava/java/util/Vector.java
new file mode 100644
index 0000000..aaa9ea2
--- /dev/null
+++ b/libjava/java/util/Vector.java
@@ -0,0 +1,450 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util;
+
+import java.io.Serializable;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date August 17, 1998.
+ */
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * "The Java Language Specification", ISBN 0-201-63451-1
+ * plus online API docs for JDK 1.2 beta from http://www.javasoft.com.
+ * Status: Believed complete and correct
+ */
+
+class VectorEnumeration implements Enumeration
+{
+ private int enumIndex;
+ private Vector enumVec;
+
+ public VectorEnumeration(Vector vec)
+ {
+ enumVec = vec;
+ enumIndex = 0;
+ }
+
+ public boolean hasMoreElements()
+ {
+ return enumIndex < enumVec.size();
+ }
+
+ public Object nextElement()
+ {
+ if (!hasMoreElements())
+ throw new NoSuchElementException();
+
+ return enumVec.elementData[enumIndex++];
+ }
+}
+
+// TODO12:
+// public class Vector extends AbstractList
+// implements List, Cloneable, Serializable
+
+public class Vector implements Cloneable, Serializable
+{
+ /* The size of the increment to use when growing this vector.
+ The default of 0 means to double the capacity when growing. */
+ protected int capacityIncrement;
+
+ /* The number of elements currently in elementData */
+ protected int elementCount;
+
+ /* The buffer in which elements of this vector are stored */
+ protected Object[] elementData;
+
+ public Vector()
+ {
+ this(10, 0);
+ }
+
+ public Vector(int initCap)
+ {
+ this(initCap, 0);
+ }
+
+ public Vector(int initCap, int capIncrement)
+ {
+ if (initCap < 0)
+ throw new IllegalArgumentException ();
+ elementData = new Object[initCap];
+ capacityIncrement = capIncrement;
+ elementCount = 0;
+ }
+
+ public final synchronized void addElement(Object obj)
+ {
+ // Make sure there's room for a new element
+ if (elementCount == elementData.length)
+ ensureCapacity(elementCount+1);
+
+ elementData[elementCount++] = obj;
+ }
+
+ public final int capacity()
+ {
+ return elementData.length;
+ }
+
+ public synchronized Object clone()
+ {
+ // New vector needs to have same size, capacity and capacityIncrement
+ Vector newVec = new Vector(elementData.length, capacityIncrement);
+
+ System.arraycopy(elementData, 0, newVec.elementData, 0, elementCount);
+ newVec.elementCount = elementCount;
+ return newVec;
+ }
+
+ public final boolean contains(Object obj)
+ {
+ for (int i = 0; i < elementCount; i++)
+ {
+ if (obj == null
+ ? elementData[i] == null
+ : obj.equals(elementData[i]))
+ return true;
+ }
+
+ return false;
+ }
+
+ public final synchronized void copyInto(Object[] objArray)
+ {
+ System.arraycopy(elementData, 0, objArray, 0, elementCount);
+ }
+
+ public final synchronized Object elementAt(int idx)
+ {
+ if (idx < 0 || idx >= size())
+ throw new ArrayIndexOutOfBoundsException();
+
+ return elementData[idx];
+ }
+
+ public final synchronized Enumeration elements()
+ {
+ return new VectorEnumeration(this);
+ }
+
+ public final synchronized void ensureCapacity(int minCap)
+ {
+ // Increasing the vector could make it much larger than minCap;
+ // e.g. if minCap is just larger than the vector, size may double.
+ // If someone cares about this possibility they should set capacityIncrement
+ if (minCap > elementData.length)
+ {
+ // Increase the vector; double it if capacityIncrement is zero
+ int newSize = elementData.length;
+ newSize +=
+ (capacityIncrement > 0) ? capacityIncrement : elementData.length;
+
+ // Make sure newSize is at least minCap
+ if (newSize < minCap)
+ newSize = minCap;
+
+ Object[] newArray = new Object[newSize];
+ System.arraycopy(elementData, 0, newArray, 0, elementCount);
+ elementData = newArray;
+ }
+ }
+
+ public final synchronized Object firstElement()
+ {
+ if (elementCount == 0)
+ throw new NoSuchElementException();
+
+ return elementData[0];
+ }
+
+ public final int indexOf(Object obj)
+ {
+ return indexOf(obj, 0);
+ }
+
+ public final synchronized int indexOf(Object obj, int idx)
+ {
+ if (idx < 0)
+ throw new IllegalArgumentException ();
+ for (int i = idx; i < elementCount; i++)
+ {
+ if (obj == null
+ ? elementData[i] == null
+ : obj.equals(elementData[i]))
+ return i;
+ }
+
+ return -1;
+ }
+
+ public final synchronized void insertElementAt(Object obj, int idx)
+ {
+ if (idx < 0 || idx > size())
+ throw new ArrayIndexOutOfBoundsException();
+ else if (idx == size()) // Spec says just use addElement()
+ addElement(obj);
+ else
+ {
+ // Make sure there's room for a new element
+ if (elementCount == elementData.length)
+ ensureCapacity(elementCount+1);
+
+ // Shift the existing elements up and increment elementCount
+ for (int i = elementCount++; i > idx; --i)
+ elementData[i] = elementData[i-1];
+
+ elementData[idx] = obj;
+ }
+ }
+
+ public final boolean isEmpty()
+ {
+ return elementCount == 0;
+ }
+
+ public final synchronized Object lastElement()
+ {
+ if (elementCount == 0)
+ throw new NoSuchElementException();
+
+ return elementData[elementCount - 1];
+ }
+
+ public final int lastIndexOf(Object obj)
+ {
+ return lastIndexOf(obj, size()-1);
+ }
+
+ public final synchronized int lastIndexOf(Object obj, int idx)
+ {
+ if (idx < 0)
+ throw new IllegalArgumentException ();
+ for (int i = idx; i >= 0; --i)
+ {
+ if (obj == null
+ ? elementData[i] == null
+ : obj.equals(elementData[i]))
+ return i;
+ }
+
+ return -1;
+ }
+
+ public final synchronized void removeAllElements()
+ {
+ // Remove elements now to assist the gc in early cleanup
+ for (int i = elementCount-1; i >= 0; --i)
+ elementData[i] = null;
+ elementCount = 0;
+ }
+
+ public final synchronized boolean removeElement(Object obj)
+ {
+ for (int i = 0; i < elementCount; i++)
+ {
+ if (obj == null
+ ? elementData[i] == null
+ : obj.equals(elementData[i]))
+ {
+ int j;
+
+ // Decrement count first to ensure we don't walk off end of array
+ --elementCount;
+
+ for (j = i; j < elementCount; j++)
+ elementData[j] = elementData[j+1];
+
+ // At this point, j was incrememented and points to old last element
+ // Remove element now to assist the gc in early cleanup
+ elementData[j] = null;
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ public final synchronized void removeElementAt(int idx)
+ {
+ int i;
+
+ if (idx < 0 || idx >= size())
+ throw new ArrayIndexOutOfBoundsException();
+
+ // Decrement count first to ensure we don't walk off the end of the array
+ --elementCount;
+
+ for (i = idx; i < elementCount; i++)
+ elementData[i] = elementData[i+1];
+
+ // At this point, i was incrememented and now points to the old last element
+ // Remove element now to assist the gc in early cleanup
+ elementData[i] = null;
+ }
+
+ public final synchronized void setElementAt(Object obj, int idx)
+ {
+ if (idx < 0 || idx >= size())
+ throw new ArrayIndexOutOfBoundsException();
+
+ elementData[idx] = obj;
+ }
+
+ public final synchronized void setSize(int newSize)
+ {
+ if (newSize < 0)
+ throw new ArrayIndexOutOfBoundsException();
+
+ // Java Lang Spec p. 658 says to remove the excess elements and discard
+ // when new size is smaller than old size.
+ // When truncating, we could alternatively just reset elementCount instead
+ // of freeing up the memory if the spec hadn't specified. The spec makes
+ // sense though; if someone cares enough to call a setSize() function
+ // they probably are doing so to free memory.
+ if (newSize < elementCount)
+ {
+ elementCount = newSize;
+ trimToSize();
+ }
+ else if (newSize > elementCount) // Skip == case
+ {
+ // TBD: ensureCapacity() may create a vector much larger than newSize;
+ // do we want to make the vector exactly newSize? Spec is unclear.
+ ensureCapacity(newSize);
+
+ // Make sure to null out new elements of grown vector
+ for (int i = elementCount; i < newSize; i++)
+ elementData[i] = null;
+ elementCount = newSize;
+ }
+ }
+
+ public final int size()
+ {
+ return elementCount;
+ }
+
+ public final synchronized String toString()
+ {
+ // Following the Java Lang Spec p. 656
+
+ // Prepend first element with open bracket
+ StringBuffer result = new StringBuffer("[");
+
+ if (elementCount > 0) // add first element if one exists
+ result.append(elementData[0].toString());
+
+ // Prepend subsequent elements with ", "
+ for (int i = 1; i < elementCount; i++)
+ result.append(", ").append(elementData[i].toString());
+
+ // Append last element with closing bracket
+ result.append("]");
+ return result.toString();
+ }
+
+ public final synchronized void trimToSize()
+ {
+ // Give up excess storage capacity to save memory
+ //
+ // Don't bother checking for the case where size() == the capacity of the
+ // vector since that is a much less likely case; it's more efficient to
+ // not do the check and lose a bit of performance in that infrequent case
+ Object[] newArray = new Object[elementCount];
+ System.arraycopy(elementData, 0, newArray, 0, elementCount);
+ elementData = newArray;
+ }
+
+ // TODO12:
+ // public Vector(Collection c)
+ // {
+ // }
+
+ // TODO12:
+ // public public boolean add(Object o)
+ // {
+ // }
+
+ // TODO12:
+ // public void add(int index, Object element)
+ // {
+ // }
+
+ // TODO12:
+ // public boolean addAll(Collection c)
+ // {
+ // }
+
+ // TODO12:
+ // public boolean addAll(int index, Collection c)
+ // {
+ // }
+
+ // TODO12:
+ // public void clear()
+ // {
+ // }
+
+ // TODO12:
+ // public boolean containsAll(Collection c)
+ // {
+ // }
+
+ // TODO12:
+ // public boolean equals(Object o)
+ // {
+ // }
+
+ // TODO12:
+ // public int hashCode()
+ // {
+ // }
+
+ // TODO12:
+ // public Object get(int index)
+ // {
+ // }
+
+ // TODO12:
+ // public boolean remove(Object o)
+ // {
+ // }
+
+ // TODO12:
+ // public Object remove(int index)
+ // {
+ // }
+
+ // TODO12:
+ // public boolean removeAll(Collection c)
+ // {
+ // }
+
+ // TODO12:
+ // public boolean retainAll(Collection c)
+ // {
+ // }
+
+ // TODO12:
+ // public Object set(int index, Object element)
+ // {
+ // }
+
+ // TODO12:
+ // public Object[] toArray()
+ // {
+ // }
+
+ // TODO12:
+ // public Object[] toArray(Object[] a)
+ // {
+ // }
+}
diff --git a/libjava/java/util/natDate.cc b/libjava/java/util/natDate.cc
new file mode 100644
index 0000000..27f91f6
--- /dev/null
+++ b/libjava/java/util/natDate.cc
@@ -0,0 +1,45 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+// We want to make sure to pick up the POSIX ctime_r. Some systems,
+// such as Solaris 2.6, have their own version as well.
+#ifdef HAVE_CTIME_R
+#define _POSIX_PTHREAD_SEMANTICS
+#endif
+
+#include <cni.h>
+#include <java/util/Date.h>
+#include <java/lang/String.h>
+
+#include <time.h>
+
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
+jstring
+java::util::Date::toString()
+{
+#ifdef HAVE_CTIME_R
+ time_t t = millis / 1000;
+ char buf[30];
+ return JvNewStringLatin1 (ctime_r (&t, buf));
+#elif defined (HAVE_CTIME)
+ // FIXME: this isn't thread-safe.
+ time_t t = millis / 1000;
+ return JvNewStringLatin1 (ctime (&t));
+#else
+ return NULL;
+#endif
+}
diff --git a/libjava/java/util/natGregorianCalendar.cc b/libjava/java/util/natGregorianCalendar.cc
new file mode 100644
index 0000000..cfa98bd
--- /dev/null
+++ b/libjava/java/util/natGregorianCalendar.cc
@@ -0,0 +1,124 @@
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+// We want to make sure to pick up the POSIX `_r' functions. Some
+// systems, such as Solaris 2.6, require this define in order to
+// declare the functions in the appropriate header.
+#if defined (HAVE_GMTIME_R) || defined (HAVE_LOCALTIME_R)
+# define _POSIX_PTHREAD_SEMANTICS
+# ifndef _REENTRANT
+# define _REENTRANT
+# endif /* _REENTRANT */
+#endif
+
+#ifdef ECOS
+#include <string.h>
+#endif
+
+#include <cni.h>
+#include <java/util/TimeZone.h>
+#include <java/util/GregorianCalendar.h>
+#include <time.h>
+
+void
+java::util::GregorianCalendar::computeTime ()
+{
+ struct tm tim;
+ tim.tm_sec = elements(fields)[SECOND];
+ tim.tm_min = elements(fields)[MINUTE];
+ tim.tm_hour = elements(fields)[HOUR_OF_DAY];
+ tim.tm_mday = elements(fields)[DATE];
+ tim.tm_mon = elements(fields)[MONTH];
+ tim.tm_year = elements(fields)[YEAR] - 1900;
+ tim.tm_isdst = 0; // FIXME
+#ifndef ECOS
+ // FIXME: None of the standard C library access to the ECOS calendar
+ // is yet available.
+ time_t t = mktime (&tim);
+#else
+ time_t t = 0;
+#endif
+
+ // Adjust for local timezone (introduced by mktime) and our
+ // timezone.
+#if defined (STRUCT_TM_HAS_GMTOFF)
+ t += tim.tm_gmtoff;
+#elif defined (HAVE_TIMEZONE)
+ t -= timezone;
+#endif
+ java::util::TimeZone *zone = getTimeZone ();
+ t += zone->getRawOffset();
+
+ // Adjust for milliseconds.
+ time = t * 1000 + elements(fields)[MILLISECOND];
+
+ isTimeSet = true;
+}
+
+void
+java::util::GregorianCalendar::computeFields ()
+{
+ time_t t = time / 1000;
+ int millis = time % 1000;
+ if (t < 0 && millis != 0)
+ {
+ t--;
+ millis = t - 1000 * t;
+ }
+ elements(fields)[MILLISECOND] = millis;
+ struct tm tim;
+ java::util::TimeZone *zone = getTimeZone ();
+
+ // FIXME: None of the standard C library access to the ECOS calendar
+ // is yet available.
+#ifdef ECOS
+ memset (&tim, 0, sizeof tim);
+#else
+ if (zone->getRawOffset() == 0 || ! zone->useDaylightTime())
+ {
+#if defined(__JV_POSIX_THREADS__) && defined(HAVE_GMTIME_R)
+ gmtime_r (&t, &tim);
+#else
+ // Get global lock (because gmtime uses a global buffer). FIXME
+ tim = *(struct tm*) gmtime (&t);
+ // Release global lock. FIXME
+#endif
+ }
+ else
+ {
+#if defined(__JV_POSIX_THREADS__) && defined(HAVE_LOCALTIME_R)
+ localtime_r (&t, &tim);
+#else
+ // Get global lock (because localtime uses a global buffer). FIXME
+ tim = *(struct tm*) localtime (&t);
+ // Release global lock. FIXME
+#endif
+ }
+#endif /* ECOS */
+ elements(fields)[SECOND] = tim.tm_sec;
+ elements(fields)[MINUTE] = tim.tm_min;
+ elements(fields)[HOUR_OF_DAY] = tim.tm_hour;
+ elements(fields)[AM_PM] = tim.tm_hour < 12 ? AM : PM;
+ elements(fields)[HOUR] = tim.tm_hour % 12;
+ elements(fields)[DATE] = tim.tm_mday;
+ elements(fields)[MONTH] = tim.tm_mon;
+ elements(fields)[YEAR] = 1900 + tim.tm_year;
+ elements(fields)[DAY_OF_WEEK] = tim.tm_wday + 1;
+ elements(fields)[DAY_OF_WEEK_IN_MONTH] = ((tim.tm_mday - 1) / 7) + 1;
+ elements(fields)[DAY_OF_YEAR] = tim.tm_yday + 1;
+ elements(fields)[WEEK_OF_MONTH]
+ = (tim.tm_mday + 6 + (5 - tim.tm_wday + getFirstDayOfWeek()) % 7) / 7;
+ elements(fields)[WEEK_OF_YEAR]
+ = (tim.tm_yday + 7 + (5 - tim.tm_wday + getFirstDayOfWeek()) % 7) / 7;
+ elements(fields)[ERA] = AD;
+ elements(fields)[DST_OFFSET] = tim.tm_isdst <= 0 ? 0 : 60*60*1000;
+ elements(fields)[ZONE_OFFSET] = getTimeZone()->getRawOffset();
+ areFieldsSet = true;
+}
diff --git a/libjava/java/util/zip/Adler32.java b/libjava/java/util/zip/Adler32.java
new file mode 100644
index 0000000..8e4ab9a
--- /dev/null
+++ b/libjava/java/util/zip/Adler32.java
@@ -0,0 +1,101 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util.zip;
+
+/**
+ * @author Per Bothner
+ * @date April 6, 1999.
+ */
+
+/*
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * The actual Adler32 algorithm is taken from RFC 1950.
+ * Status: Believed complete and correct.
+ */
+
+public class Adler32 implements Checksum
+{
+ private static int BASE = 65521; /* largest prime smaller than 65536 */
+
+ int s1;
+ int s2;
+
+ public Adler32 ()
+ {
+ reset();
+ }
+
+ public void reset () { s1 = 1; s2 = 0; }
+
+ public void update (int bval)
+ {
+ s1 = (s1 + (bval & 0xFF)) % BASE;
+ s2 = (s1 + s2) % BASE;
+ }
+
+ public void update (byte[] buffer)
+ {
+ update(buffer, 0, buffer.length);
+ }
+
+ public void update (byte[] buf, int off, int len)
+ {
+ int s1 = this.s1;
+ int s2 = this.s2;
+ while (len > 0)
+ {
+ // We can defer the modulo operation.
+ int n = 4000;
+ if (n > len)
+ n = len;
+ len -= n;
+ while (--n >= 0)
+ {
+ s1 = s1 + (buf[off++] & 0xFF);
+ s2 = s2 + s1;
+ }
+ s1 %= BASE;
+ s2 %= BASE;
+ }
+ this.s1 = s1;
+ this.s2 = s2;
+ }
+
+ public long getValue()
+ {
+ return ((long) s2 << 16) + s1;
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/libjava/java/util/zip/CRC32.java b/libjava/java/util/zip/CRC32.java
new file mode 100644
index 0000000..ab19b58
--- /dev/null
+++ b/libjava/java/util/zip/CRC32.java
@@ -0,0 +1,70 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util.zip;
+
+/**
+ * @author Per Bothner
+ * @date April 1, 1999.
+ */
+
+/*
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * The actual CRC32 algorithm is taken from RFC 1952.
+ * Status: Believed complete and correct.
+ */
+
+public class CRC32 implements Checksum
+{
+ int crc = 0;
+
+ static int[] crc_table = make_crc_table();
+
+ /* Make the table for a fast CRC. */
+ static int[] make_crc_table ()
+ {
+ int[] crc_table = new int[256];
+ for (int n = 0; n < 256; n++)
+ {
+ int c = n;
+ for (int k = 8; --k >= 0; )
+ {
+ if ((c & 1) != 0)
+ c = 0xedb88320 ^ (c >>> 1);
+ else
+ c = c >>> 1;
+ }
+ crc_table[n] = c;
+ }
+ return crc_table;
+ }
+
+ public long getValue ()
+ {
+ return (long) crc & 0xffffffffL;
+ }
+
+ public void reset () { crc = 0; }
+
+ public void update (int bval)
+ {
+ int c = ~crc;
+ c = crc_table[(c ^ bval) & 0xff] ^ (c >>> 8);
+ crc = ~c;
+ }
+
+ public void update (byte[] buf, int off, int len)
+ {
+ int c = ~crc;
+ while (--len >= 0)
+ c = crc_table[(c ^ buf[off++]) & 0xff] ^ (c >>> 8);
+ crc = ~c;
+ }
+ public void update (byte[] buf) { update(buf, 0, buf.length); }
+}
diff --git a/libjava/java/util/zip/Checksum.java b/libjava/java/util/zip/Checksum.java
new file mode 100644
index 0000000..85cdae2
--- /dev/null
+++ b/libjava/java/util/zip/Checksum.java
@@ -0,0 +1,31 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util.zip;
+
+/**
+ * @author Per Bothner
+ * @date January 9, 1999.
+ */
+
+/*
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+public interface Checksum
+{
+ public long getValue ();
+
+ public void reset ();
+
+ public void update (int bval);
+
+ public void update (byte[] buf, int off, int len);
+}
diff --git a/libjava/java/util/zip/Deflater.java b/libjava/java/util/zip/Deflater.java
new file mode 100644
index 0000000..81312e2
--- /dev/null
+++ b/libjava/java/util/zip/Deflater.java
@@ -0,0 +1,13 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util.zip;
+
+public class Deflater
+{
+}
diff --git a/libjava/java/util/zip/DeflaterOutputStream.java b/libjava/java/util/zip/DeflaterOutputStream.java
new file mode 100644
index 0000000..4f0b8b4
--- /dev/null
+++ b/libjava/java/util/zip/DeflaterOutputStream.java
@@ -0,0 +1,46 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util.zip;
+import java.io.*;
+
+/** JUST AN INCOMPLETE STUB! */
+
+public class DeflaterOutputStream extends FilterOutputStream
+{
+ protected byte[] buf;
+
+ protected Deflater def;
+
+ public DeflaterOutputStream(OutputStream out)
+ {
+ this(out, null, 512);
+ }
+
+ public DeflaterOutputStream(OutputStream out, Deflater defl)
+ {
+ this(out, defl, 512);
+ }
+
+ public DeflaterOutputStream(OutputStream out, Deflater defl, int bufsize)
+ {
+ super(out);
+ buf = new byte[bufsize];
+ def = defl;
+ }
+
+ public void finish () throws IOException
+ {
+ }
+
+ public void close () throws IOException
+ {
+ finish();
+ out.close();
+ }
+}
diff --git a/libjava/java/util/zip/ZipConstants.java b/libjava/java/util/zip/ZipConstants.java
new file mode 100644
index 0000000..4aec92e
--- /dev/null
+++ b/libjava/java/util/zip/ZipConstants.java
@@ -0,0 +1,13 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util.zip;
+
+public interface ZipConstants
+{
+}
diff --git a/libjava/java/util/zip/ZipEntry.java b/libjava/java/util/zip/ZipEntry.java
new file mode 100644
index 0000000..d472de5
--- /dev/null
+++ b/libjava/java/util/zip/ZipEntry.java
@@ -0,0 +1,84 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util.zip;
+
+/**
+ * @author Per Bothner
+ * @date January 6, 1999.
+ */
+
+/*
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status: Believed complete and correct.
+ */
+
+public class ZipEntry
+{
+ // These values were determined using a simple test program.
+ public static final int STORED = 0;
+ public static final int DEFLATED = 8;
+
+ String comment;
+ long compressedSize = -1;
+ long crc = -1;
+ byte[] extra;
+ int method = -1;
+ String name;
+ long size = -1;
+ long time = -1;
+
+ ZipEntry next;
+
+ public ZipEntry (String name)
+ {
+ this.name = name;
+ }
+
+ public String getComment () { return comment; }
+
+ public long getCompressedSize () { return compressedSize; }
+
+ public long getCrc () { return crc; }
+
+ public byte[] getExtra() { return extra; }
+
+ public int getMethod () { return method; }
+
+ public String getName () { return name; }
+
+ public long getSize () { return size; }
+
+ public long getTime () { return time; }
+
+ public boolean isDirectory ()
+ {
+ if (name != null)
+ {
+ int nlen = name.length();
+ if (nlen > 0 && name.charAt(nlen-1) == '/')
+ return true;
+ }
+ return false;
+ }
+
+ public void setComment (String comment) { this.comment = comment; }
+
+ public void setCrc (long crc) { this.crc = crc; }
+
+ public void setExtra (byte[] extra) { this.extra = extra; }
+
+ public void setMethod(int method) { this.method = method; }
+
+ public void setSize (long size) { this.size = size; }
+
+ public void setTime (long time) { this.time = time; }
+
+ public String toString () { return name; }
+}
diff --git a/libjava/java/util/zip/ZipException.java b/libjava/java/util/zip/ZipException.java
new file mode 100644
index 0000000..5c038a5
--- /dev/null
+++ b/libjava/java/util/zip/ZipException.java
@@ -0,0 +1,33 @@
+// ZipException.java
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libjava.
+
+This software is copyrighted work licensed under the terms of the
+Libjava License. Please consult the file "LIBJAVA_LICENSE" for
+details. */
+
+package java.util.zip;
+
+/**
+ * @author Per Bothner
+ * @date January 9, 1999.
+ */
+
+/* Written using on-line Java Platform 1.2 API Specification.
+ * Believed complete and correct.
+ */
+
+public class ZipException extends java.io.IOException
+{
+ public ZipException ()
+ {
+ super();
+ }
+
+ public ZipException (String msg)
+ {
+ super(msg);
+ }
+}
diff --git a/libjava/java/util/zip/ZipFile.java b/libjava/java/util/zip/ZipFile.java
new file mode 100644
index 0000000..75f0a3d
--- /dev/null
+++ b/libjava/java/util/zip/ZipFile.java
@@ -0,0 +1,81 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util.zip;
+import java.io.*;
+
+/** JUST AN INCOMPLETE STUB! */
+
+public class ZipFile implements ZipConstants
+{
+
+ String name;
+ ZipEntry entries;
+
+ public ZipFile (String fname) throws IOException
+ {
+ name = fname;
+ // FIXME
+ }
+
+ public ZipFile (File f) throws IOException
+ {
+ this(f.getPath());
+ }
+
+ public java.util.Enumeration entries()
+ {
+ return new ZipEnumeration(this);
+ }
+
+ public void close() throws IOException
+ {
+ // FIXME
+ }
+
+ public ZipEntry getEntry(String name)
+ {
+ for (ZipEntry entry = entries; entry != null; entry = entry.next)
+ {
+ if (name.equals(entry.getName()))
+ return entry;
+ }
+ return null;
+ }
+
+ public InputStream getInputStream(ZipEntry ze) throws IOException
+ {
+ return null; // FIXME
+ }
+
+ public String getName () { return name; }
+}
+
+class ZipEnumeration implements java.util.Enumeration
+{
+ ZipEntry entry;
+
+ ZipEnumeration (ZipFile zfile)
+ {
+ entry = zfile.entries;
+ }
+
+ public boolean hasMoreElements ()
+ {
+ return entry != null;
+ }
+
+ public Object nextElement ()
+ {
+ ZipEntry cur = entry;
+ if (cur == null)
+ throw new java.util.NoSuchElementException();
+ entry = cur.next;
+ return cur;
+ }
+}
diff --git a/libjava/java/util/zip/ZipOutputStream.java b/libjava/java/util/zip/ZipOutputStream.java
new file mode 100644
index 0000000..42cfb00
--- /dev/null
+++ b/libjava/java/util/zip/ZipOutputStream.java
@@ -0,0 +1,26 @@
+/* Copyright (C) 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.util.zip;
+import java.io.*;
+
+/** JUST AN INCOMPLETE STUB! */
+
+public class ZipOutputStream extends DeflaterOutputStream
+ implements ZipConstants
+{
+ public ZipOutputStream (OutputStream out)
+ {
+ super(out);
+ }
+
+ public void putNextEntry (ZipEntry entry) throws IOException
+ {
+ throw new Error ("java.util.zip.ZipOutputStream.putNextEntry: not implemented");
+ }
+}
diff --git a/libjava/jni.cc b/libjava/jni.cc
new file mode 100644
index 0000000..e227c03
--- /dev/null
+++ b/libjava/jni.cc
@@ -0,0 +1,308 @@
+// jni.cc - JNI implementation, including the jump table.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <stddef.h>
+
+#include <jni.h>
+#include <java-field.h>
+
+static jclass
+_Jv_JNI_GetSuperclass (JNIEnv *, jclass clazz)
+{
+ return clazz->getSuperclass ();
+}
+
+static jboolean
+IsAssignableFrom(JNIEnv *, jclass clazz1, jclass clazz2)
+{
+ return clazz1->isAssignableFrom (clazz2);
+}
+
+static jobject
+_Jv_JNI_GetObjectField (JNIEnv *, jobject obj, jfieldID field)
+{
+ return _Jv_GetObjectField (obj, field);
+}
+
+static jbyte
+_Jv_JNI_GetByteField (JNIEnv *, jobject obj, jfieldID field)
+{
+ return _Jv_GetByteField (obj, field);
+}
+
+static jshort
+_Jv_JNI_GetShortField (JNIEnv *, jobject obj, jfieldID field)
+{
+ return _Jv_GetShortField (obj, field);
+}
+
+static jint
+_Jv_JNI_GetIntField (JNIEnv *, jobject obj, jfieldID field)
+{
+ return _Jv_GetIntField (obj, field);
+}
+
+static jlong
+_Jv_JNI_GetLongField (JNIEnv *, jobject obj, jfieldID field)
+{
+ return _Jv_GetLongField (obj, field);
+}
+
+static jsize
+_Jv_JNI_GetStringLength (JNIEnv *, jstring string)
+{
+ return string->length();
+}
+
+// JDK 1.2
+jobject
+_Jv_JNI_ToReflectedField (JNIEnv *, jclass cls, jfieldID fieldID)
+{
+ java::lang::reflect::Field *field = new java::lang::reflect::Field();
+ field->declaringClass = cls;
+ field->offset = (char*) fieldID - (char *) cls->fields;
+ field->name = _Jv_NewStringUtf8Const (fieldID->getNameUtf8Const (cls));
+ return field;
+}
+
+// JDK 1.2
+jfieldID
+_Jv_JNI_FromReflectedField (JNIEnv *, java::lang::reflect::Field *field)
+{
+ return _Jv_FromReflectedField (field);
+}
+
+#define NOT_IMPL NULL
+
+struct JNINativeInterface _Jv_JNIFunctions =
+{
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ NOT_IMPL /* GetVersion */,
+ NOT_IMPL /* DefineClass */,
+ NOT_IMPL /* FindClass */,
+ NULL,
+ NULL,
+ NULL,
+ _Jv_JNI_GetSuperclass,
+ IsAssignableFrom,
+ NULL,
+ NOT_IMPL /* Throw */,
+ NOT_IMPL /* ThrowNew */,
+ NOT_IMPL /* ExceptionOccurred */,
+ NOT_IMPL /* ExceptionDescribe */,
+ NOT_IMPL /* ExceptionClear */,
+ NOT_IMPL /* FatalError */,
+ NOT_IMPL /* NULL */,
+ NOT_IMPL /* NULL */,
+ NOT_IMPL /* NewGlobalRef */,
+ NOT_IMPL /* DeleteGlobalRef */,
+ NOT_IMPL /* DeleteLocalRef */,
+ NOT_IMPL /* IsSameObject */,
+ NOT_IMPL /* NULL */,
+ NOT_IMPL /* NULL */,
+ NOT_IMPL /* AllocObject */,
+ NOT_IMPL /* NewObject */,
+ NOT_IMPL /* NewObjectV */,
+ NOT_IMPL /* NewObjectA */,
+ NOT_IMPL /* GetObjectClass */,
+ NOT_IMPL /* IsInstanceOf */,
+ NOT_IMPL /* GetMethodID */,
+ NOT_IMPL /* CallObjectMethod */,
+ NOT_IMPL /* CallObjectMethodV */,
+ NOT_IMPL /* CallObjectMethodA */,
+ NOT_IMPL /* CallBooleanMethod */,
+ NOT_IMPL /* CallBooleanMethodV */,
+ NOT_IMPL /* CallBooleanMethodA */,
+ NOT_IMPL /* CallByteMethod */,
+ NOT_IMPL /* CallByteMethodV */,
+ NOT_IMPL /* CallByteMethodA */,
+ NOT_IMPL /* CallCharMethod */,
+ NOT_IMPL /* CallCharMethodV */,
+ NOT_IMPL /* CallCharMethodA */,
+ NOT_IMPL /* CallShortMethod */,
+ NOT_IMPL /* CallShortMethodV */,
+ NOT_IMPL /* CallShortMethodA */,
+ NOT_IMPL /* CallIntMethod */,
+ NOT_IMPL /* CallIntMethodV */,
+ NOT_IMPL /* CallIntMethodA */,
+ NOT_IMPL /* CallLongMethod */,
+ NOT_IMPL /* CallLongMethodV */,
+ NOT_IMPL /* CallLongMethodA */,
+ NOT_IMPL /* CallFloatMethod */,
+ NOT_IMPL /* CallFloatMethodV */,
+ NOT_IMPL /* CallFloatMethodA */,
+ NOT_IMPL /* CallDoubleMethod */,
+ NOT_IMPL /* CallDoubleMethodV */,
+ NOT_IMPL /* CallDoubleMethodA */,
+ NOT_IMPL /* CallVoidMethod */,
+ NOT_IMPL /* CallVoidMethodV */,
+ NOT_IMPL /* CallVoidMethodA */,
+ NOT_IMPL /* CallNonvirtualObjectMethod */,
+ NOT_IMPL /* CallNonvirtualObjectMethodV */,
+ NOT_IMPL /* CallNonvirtualObjectMethodA */,
+ NOT_IMPL /* CallNonvirtualBooleanMethod */,
+ NOT_IMPL /* CallNonvirtualBooleanMethodV */,
+ NOT_IMPL /* CallNonvirtualBooleanMethodA */,
+ NOT_IMPL /* CallNonvirtualByteMethod */,
+ NOT_IMPL /* CallNonvirtualByteMethodV */,
+ NOT_IMPL /* CallNonvirtualByteMethodA */,
+ NOT_IMPL /* CallNonvirtualCharMethod */,
+ NOT_IMPL /* CallNonvirtualCharMethodV */,
+ NOT_IMPL /* CallNonvirtualCharMethodA */,
+ NOT_IMPL /* CallNonvirtualShortMethod */,
+ NOT_IMPL /* CallNonvirtualShortMethodV */,
+ NOT_IMPL /* CallNonvirtualShortMethodA */,
+ NOT_IMPL /* CallNonvirtualIntMethod */,
+ NOT_IMPL /* CallNonvirtualIntMethodV */,
+ NOT_IMPL /* CallNonvirtualIntMethodA */,
+ NOT_IMPL /* CallNonvirtualLongMethod */,
+ NOT_IMPL /* CallNonvirtualLongMethodV */,
+ NOT_IMPL /* CallNonvirtualLongMethodA */,
+ NOT_IMPL /* CallNonvirtualFloatMethod */,
+ NOT_IMPL /* CallNonvirtualFloatMethodV */,
+ NOT_IMPL /* CallNonvirtualFloatMethodA */,
+ NOT_IMPL /* CallNonvirtualDoubleMethod */,
+ NOT_IMPL /* CallNonvirtualDoubleMethodV */,
+ NOT_IMPL /* CallNonvirtualDoubleMethodA */,
+ NOT_IMPL /* CallNonvirtualVoidMethod */,
+ NOT_IMPL /* CallNonvirtualVoidMethodV */,
+ NOT_IMPL /* CallNonvirtualVoidMethodA */,
+ NOT_IMPL /* GetFieldID */,
+ _Jv_JNI_GetObjectField,
+ NOT_IMPL /* GetBooleanField */,
+ _Jv_JNI_GetByteField,
+ NOT_IMPL /* GetCharField */,
+ _Jv_JNI_GetShortField,
+ _Jv_JNI_GetIntField,
+ _Jv_JNI_GetLongField,
+ NOT_IMPL /* GetFloatField */,
+ NOT_IMPL /* GetDoubleField */,
+ NOT_IMPL /* SetObjectField */,
+ NOT_IMPL /* SetBooleanField */,
+ NOT_IMPL /* SetByteField */,
+ NOT_IMPL /* SetCharField */,
+ NOT_IMPL /* SetShortField */,
+ NOT_IMPL /* SetIntField */,
+ NOT_IMPL /* SetLongField */,
+ NOT_IMPL /* SetFloatField */,
+ NOT_IMPL /* SetDoubleField */,
+ NOT_IMPL /* GetStaticMethodID */,
+ NOT_IMPL /* CallStaticObjectMethod */,
+ NOT_IMPL /* CallStaticObjectMethodV */,
+ NOT_IMPL /* CallStaticObjectMethodA */,
+ NOT_IMPL /* CallStaticBooleanMethod */,
+ NOT_IMPL /* CallStaticBooleanMethodV */,
+ NOT_IMPL /* CallStaticBooleanMethodA */,
+ NOT_IMPL /* CallStaticByteMethod */,
+ NOT_IMPL /* CallStaticByteMethodV */,
+ NOT_IMPL /* CallStaticByteMethodA */,
+ NOT_IMPL /* CallStaticCharMethod */,
+ NOT_IMPL /* CallStaticCharMethodV */,
+ NOT_IMPL /* CallStaticCharMethodA */,
+ NOT_IMPL /* CallStaticShortMethod */,
+ NOT_IMPL /* CallStaticShortMethodV */,
+ NOT_IMPL /* CallStaticShortMethodA */,
+ NOT_IMPL /* CallStaticIntMethod */,
+ NOT_IMPL /* CallStaticIntMethodV */,
+ NOT_IMPL /* CallStaticIntMethodA */,
+ NOT_IMPL /* CallStaticLongMethod */,
+ NOT_IMPL /* CallStaticLongMethodV */,
+ NOT_IMPL /* CallStaticLongMethodA */,
+ NOT_IMPL /* CallStaticFloatMethod */,
+ NOT_IMPL /* CallStaticFloatMethodV */,
+ NOT_IMPL /* CallStaticFloatMethodA */,
+ NOT_IMPL /* CallStaticDoubleMethod */,
+ NOT_IMPL /* CallStaticDoubleMethodV */,
+ NOT_IMPL /* CallStaticDoubleMethodA */,
+ NOT_IMPL /* CallStaticVoidMethod */,
+ NOT_IMPL /* CallStaticVoidMethodV */,
+ NOT_IMPL /* CallStaticVoidMethodA */,
+ NOT_IMPL /* GetStaticFieldID */,
+ NOT_IMPL /* GetStaticObjectField */,
+ NOT_IMPL /* GetStaticBooleanField */,
+ NOT_IMPL /* GetStaticByteField */,
+ NOT_IMPL /* GetStaticCharField */,
+ NOT_IMPL /* GetStaticShortField */,
+ NOT_IMPL /* GetStaticIntField */,
+ NOT_IMPL /* GetStaticLongField */,
+ NOT_IMPL /* GetStaticFloatField */,
+ NOT_IMPL /* GetStaticDoubleField */,
+ NOT_IMPL /* SetStaticObjectField */,
+ NOT_IMPL /* SetStaticBooleanField */,
+ NOT_IMPL /* SetStaticByteField */,
+ NOT_IMPL /* SetStaticCharField */,
+ NOT_IMPL /* SetStaticShortField */,
+ NOT_IMPL /* SetStaticIntField */,
+ NOT_IMPL /* SetStaticLongField */,
+ NOT_IMPL /* SetStaticFloatField */,
+ NOT_IMPL /* SetStaticDoubleField */,
+ NOT_IMPL /* NewString */,
+ _Jv_JNI_GetStringLength,
+ NOT_IMPL /* GetStringChars */,
+ NOT_IMPL /* ReleaseStringChars */,
+ NOT_IMPL /* NewStringUTF */,
+ NOT_IMPL /* GetStringUTFLength */,
+ NOT_IMPL /* GetStringUTFChars */,
+ NOT_IMPL /* ReleaseStringUTFChars */,
+ NOT_IMPL /* GetArrayLength */,
+ NOT_IMPL /* NewObjectArray */,
+ NOT_IMPL /* GetObjectArrayElement */,
+ NOT_IMPL /* SetObjectArrayElement */,
+ NOT_IMPL /* NewBooleanArray */,
+ NOT_IMPL /* NewByteArray */,
+ NOT_IMPL /* NewCharArray */,
+ NOT_IMPL /* NewShortArray */,
+ NOT_IMPL /* NewIntArray */,
+ NOT_IMPL /* NewLongArray */,
+ NOT_IMPL /* NewFloatArray */,
+ NOT_IMPL /* NewDoubleArray */,
+ NOT_IMPL /* GetBooleanArrayElements */,
+ NOT_IMPL /* GetByteArrayElements */,
+ NOT_IMPL /* GetCharArrayElements */,
+ NOT_IMPL /* GetShortArrayElements */,
+ NOT_IMPL /* GetIntArrayElements */,
+ NOT_IMPL /* GetLongArrayElements */,
+ NOT_IMPL /* GetFloatArrayElements */,
+ NOT_IMPL /* GetDoubleArrayElements */,
+ NOT_IMPL /* ReleaseBooleanArrayElements */,
+ NOT_IMPL /* ReleaseByteArrayElements */,
+ NOT_IMPL /* ReleaseCharArrayElements */,
+ NOT_IMPL /* ReleaseShortArrayElements */,
+ NOT_IMPL /* ReleaseIntArrayElements */,
+ NOT_IMPL /* ReleaseLongArrayElements */,
+ NOT_IMPL /* ReleaseFloatArrayElements */,
+ NOT_IMPL /* ReleaseDoubleArrayElements */,
+ NOT_IMPL /* GetBooleanArrayRegion */,
+ NOT_IMPL /* GetByteArrayRegion */,
+ NOT_IMPL /* GetCharArrayRegion */,
+ NOT_IMPL /* GetShortArrayRegion */,
+ NOT_IMPL /* GetIntArrayRegion */,
+ NOT_IMPL /* GetLongArrayRegion */,
+ NOT_IMPL /* GetFloatArrayRegion */,
+ NOT_IMPL /* GetDoubleArrayRegion */,
+ NOT_IMPL /* SetBooleanArrayRegion */,
+ NOT_IMPL /* SetByteArrayRegion */,
+ NOT_IMPL /* SetCharArrayRegion */,
+ NOT_IMPL /* SetShortArrayRegion */,
+ NOT_IMPL /* SetIntArrayRegion */,
+ NOT_IMPL /* SetLongArrayRegion */,
+ NOT_IMPL /* SetFloatArrayRegion */,
+ NOT_IMPL /* SetDoubleArrayRegion */,
+ NOT_IMPL /* RegisterNatives */,
+ NOT_IMPL /* UnregisterNatives */,
+ NOT_IMPL /* MonitorEnter */,
+ NOT_IMPL /* MonitorExit */,
+ NOT_IMPL /* GetJavaVM */,
+};
diff --git a/libjava/no-threads.cc b/libjava/no-threads.cc
new file mode 100644
index 0000000..d6e0298
--- /dev/null
+++ b/libjava/no-threads.cc
@@ -0,0 +1,26 @@
+// no-thread.cc - Implementation of `no threads' threads.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <cni.h>
+#include <jvm.h>
+#include <java/lang/Thread.h>
+
+java::lang::Thread *_Jv_OnlyThread = NULL;
+
+void
+_Jv_ThreadStart (java::lang::Thread *thread, _Jv_Thread_t *,
+ _Jv_ThreadStartFunc *meth)
+{
+ JvAssert (! _Jv_OnlyThread);
+ _Jv_OnlyThread = thread;
+ (*meth) (thread);
+}
diff --git a/libjava/nogc.cc b/libjava/nogc.cc
new file mode 100644
index 0000000..2d3676b
--- /dev/null
+++ b/libjava/nogc.cc
@@ -0,0 +1,81 @@
+// nogc.cc - Code to implement no GC.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <cni.h>
+#include <jvm.h>
+
+// Total amount of memory allocated.
+static long total = 0;
+
+void *
+_Jv_AllocObj (jsize size)
+{
+ total += size;
+ return calloc (size, 1);
+}
+
+void *
+_Jv_AllocArray (jsize size)
+{
+ total += size;
+ return calloc (size, 1);
+}
+
+void *
+_Jv_AllocBytes (jsize size)
+{
+ total += size;
+ return calloc (size, 1);
+}
+
+void
+_Jv_RegisterFinalizer (void *, _Jv_FinalizerFunc *)
+{
+ // FIXME: should actually register so that finalizers can be run on
+ // exit.
+}
+
+void
+_Jv_RunFinalizers (void)
+{
+}
+
+void
+_Jv_RunAllFinalizers (void)
+{
+ // FIXME: should still run all finalizers.
+}
+
+void
+_Jv_RunGC (void)
+{
+}
+
+long
+_Jv_GCTotalMemory (void)
+{
+ return total;
+}
+
+long
+_Jv_GCFreeMemory (void)
+{
+ return 0;
+}
+
+void
+_Jv_InitGC (void)
+{
+}
diff --git a/libjava/posix-threads.cc b/libjava/posix-threads.cc
new file mode 100644
index 0000000..436588a
--- /dev/null
+++ b/libjava/posix-threads.cc
@@ -0,0 +1,360 @@
+// posix-threads.cc - interface between libjava and POSIX threads.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+// TO DO:
+// * Document signal handling limitations
+
+#include <config.h>
+
+// If we're using the Boehm GC, then we need to override some of the
+// thread primitives. This is fairly gross.
+#ifdef HAVE_BOEHM_GC
+extern "C"
+{
+#include <boehm-config.h>
+#include <gc.h>
+};
+#endif /* HAVE_BOEHM_GC */
+
+#include <stdlib.h>
+#include <time.h>
+#include <signal.h>
+
+#include <cni.h>
+#include <jvm.h>
+#include <java/lang/Thread.h>
+#include <java/lang/System.h>
+
+// This is used to implement thread startup.
+struct starter
+{
+ _Jv_ThreadStartFunc *method;
+ java::lang::Thread *object;
+ _Jv_Thread_t *data;
+};
+
+// This is the key used to map from the POSIX thread value back to the
+// Java object representing the thread. The key is global to all
+// threads, so it is ok to make it a global here.
+pthread_key_t _Jv_ThreadKey;
+
+// We keep a count of all non-daemon threads which are running. When
+// this reaches zero, _Jv_ThreadWait returns.
+static pthread_mutex_t daemon_mutex;
+static pthread_cond_t daemon_cond;
+static int non_daemon_count;
+
+// The signal to use when interrupting a thread.
+#ifdef LINUX_THREADS
+ // LinuxThreads usurps both SIGUSR1 and SIGUSR2.
+# define INTR SIGHUP
+#else /* LINUX_THREADS */
+# define INTR SIGUSR2
+#endif /* LINUX_THREADS */
+
+//
+// These are the flags that can appear in _Jv_Thread_t.
+//
+
+// Thread started.
+#define FLAG_START 0x01
+// Thread is daemon.
+#define FLAG_DAEMON 0x02
+
+
+
+int
+_Jv_CondWait (_Jv_ConditionVariable_t *cv, _Jv_Mutex_t *mu,
+ jlong millis, jint nanos)
+{
+ int r;
+ pthread_mutex_t *pmu;
+#ifdef HAVE_RECURSIVE_MUTEX
+ pmu = mu;
+#else
+ pmu = &mu->mutex2;
+#endif
+ if (millis == 0 && nanos == 0)
+ r = pthread_cond_wait (cv, pmu);
+ else
+ {
+ struct timespec ts;
+ unsigned long m = millis + java::lang::System::currentTimeMillis ();
+
+ ts.tv_sec = m / 1000;
+ ts.tv_nsec = (m % 1000) * 1000 * 1000 + nanos;
+
+ r = pthread_cond_timedwait (cv, pmu, &ts);
+ }
+ return r;
+}
+
+#ifndef RECURSIVE_MUTEX_IS_DEFAULT
+
+void
+_Jv_MutexInit (_Jv_Mutex_t *mu)
+{
+#ifdef HAVE_RECURSIVE_MUTEX
+ pthread_mutexattr_t *val = NULL;
+
+#if defined (HAVE_PTHREAD_MUTEXATTR_SETTYPE)
+ pthread_mutexattr_t attr;
+
+ // If this is slow, then allocate it statically and only initialize
+ // it once.
+ pthread_mutexattr_init (&attr);
+ pthread_mutexattr_settype (&attr, PTHREAD_MUTEX_RECURSIVE);
+ val = &attr;
+#elif defined (HAVE_PTHREAD_MUTEXATTR_SETKIND_NP)
+ pthread_mutexattr_t attr;
+ pthread_mutexattr_init (&attr);
+ pthread_mutexattr_setkind_np (&attr, PTHREAD_MUTEX_RECURSIVE_NP);
+ val = &attr;
+#endif
+
+ pthread_mutex_init (mu, val);
+
+#if defined (HAVE_PTHREAD_MUTEXATTR_SETTYPE) || defined (HAVE_PTHREAD_MUTEXATTR_SETKIND_NP)
+ pthread_mutexattr_destroy (&attr);
+#endif
+
+#else /* HAVE_RECURSIVE_MUTEX */
+
+ // No recursive mutex, so simulate one.
+ pthread_mutex_init (&mu->mutex, NULL);
+ pthread_mutex_init (&mu->mutex2, NULL);
+ pthread_cond_init (&mu->cond, 0);
+ mu->count = 0;
+
+#endif /* HAVE_RECURSIVE_MUTEX */
+}
+
+#endif /* not RECURSIVE_MUTEX_IS_DEFAULT */
+
+#if ! defined (LINUX_THREADS) && ! defined (HAVE_RECURSIVE_MUTEX)
+
+void
+_Jv_MutexDestroy (_Jv_Mutex_t *mu)
+{
+ pthread_mutex_destroy (&mu->mutex);
+ pthread_mutex_destroy (&mu->mutex2);
+ pthread_cond_destroy (&mu->cond);
+}
+
+int
+_Jv_MutexLock (_Jv_Mutex_t *mu)
+{
+ if (pthread_mutex_lock (&mu->mutex))
+ return -1;
+ while (1)
+ {
+ if (mu->count == 0)
+ {
+ // Grab the lock.
+ mu->thread = pthread_self ();
+ mu->count = 1;
+ pthread_mutex_lock (&mu->mutex2);
+ break;
+ }
+ else if (pthread_self () == mu->thread)
+ {
+ // Already have the lock.
+ mu->count += 1;
+ break;
+ }
+ else
+ {
+ // Try to acquire the lock.
+ pthread_cond_wait (&mu->cond, &mu->mutex);
+ }
+ }
+ pthread_mutex_unlock (&mu->mutex);
+ return 0;
+}
+
+int
+_Jv_MutexUnlock (_Jv_Mutex_t *mu)
+{
+ if (pthread_mutex_lock (&mu->mutex))
+ return -1;
+ int r = 0;
+ if (mu->count == 0 || pthread_self () != mu->thread)
+ r = -1;
+ else
+ {
+ mu->count -= 1;
+ if (! mu->count)
+ {
+ pthread_mutex_unlock (&mu->mutex2);
+ pthread_cond_signal (&mu->cond);
+ }
+ }
+ pthread_mutex_unlock (&mu->mutex);
+ return r;
+}
+
+#endif /* not LINUX_THREADS and not HAVE_RECURSIVE_MUTEX */
+
+static void
+handle_intr (int)
+{
+ // Do nothing.
+}
+
+void
+_Jv_InitThreads (void)
+{
+ pthread_key_create (&_Jv_ThreadKey, NULL);
+ pthread_mutex_init (&daemon_mutex, NULL);
+ pthread_cond_init (&daemon_cond, 0);
+ non_daemon_count = 0;
+
+ // Arrange for the interrupt signal to interrupt system calls.
+ struct sigaction act;
+ act.sa_handler = handle_intr;
+ sigemptyset (&act.sa_mask);
+ act.sa_flags = 0;
+ sigaction (INTR, &act, NULL);
+
+ // Arrange for SIGINT to be blocked to all threads. It is only
+ // deliverable to the master thread.
+ sigset_t mask;
+ sigemptyset (&mask);
+ sigaddset (&mask, SIGINT);
+ pthread_sigmask (SIG_BLOCK, &mask, NULL);
+}
+
+void
+_Jv_ThreadInitData (_Jv_Thread_t **data, java::lang::Thread *)
+{
+ _Jv_Thread_t *info = new _Jv_Thread_t;
+
+ info->flags = 0;
+ info->exception = NULL;
+
+ // FIXME register a finalizer for INFO here.
+ // FIXME also must mark INFO somehow.
+
+ *data = info;
+}
+
+void
+_Jv_ThreadSetPriority (_Jv_Thread_t *data, jint prio)
+{
+ if (data->flags & FLAG_START)
+ {
+ struct sched_param param;
+
+ param.sched_priority = prio;
+ pthread_setschedparam (data->thread, SCHED_RR, &param);
+ }
+}
+
+
+// This is called as a cleanup handler when a thread is exiting. We
+// use it to throw the requested exception. It's entirely possible
+// that this approach is doomed to failure, in which case we'll need
+// to adopt some alternate. For instance, use a signal to implement
+// _Jv_ThreadCancel.
+static void
+throw_cleanup (void *data)
+{
+ _Jv_Thread_t *td = (_Jv_Thread_t *) data;
+ _Jv_Throw ((java::lang::Throwable *) td->exception);
+}
+
+void
+_Jv_ThreadCancel (_Jv_Thread_t *data, void *error)
+{
+ data->exception = error;
+ pthread_cancel (data->thread);
+}
+
+// This function is called when a thread is started. We don't arrange
+// to call the `run' method directly, because this function must
+// return a value.
+static void *
+really_start (void *x)
+{
+ struct starter *info = (struct starter *) x;
+
+ pthread_cleanup_push (throw_cleanup, info->data);
+ pthread_setspecific (_Jv_ThreadKey, info->object);
+ info->method (info->object);
+ pthread_cleanup_pop (0);
+
+ if (! (info->data->flags & FLAG_DAEMON))
+ {
+ pthread_mutex_lock (&daemon_mutex);
+ --non_daemon_count;
+ if (! non_daemon_count)
+ pthread_cond_signal (&daemon_cond);
+ pthread_mutex_unlock (&daemon_mutex);
+ }
+
+ return NULL;
+}
+
+void
+_Jv_ThreadStart (java::lang::Thread *thread, _Jv_Thread_t *data,
+ _Jv_ThreadStartFunc *meth)
+{
+ struct sched_param param;
+ pthread_attr_t attr;
+ struct starter *info;
+
+ if (data->flags & FLAG_START)
+ return;
+ data->flags |= FLAG_START;
+
+ param.sched_priority = thread->getPriority();
+
+ pthread_attr_init (&attr);
+ pthread_attr_setschedparam (&attr, &param);
+
+ // FIXME: handle marking the info object for GC.
+ info = (struct starter *) _Jv_AllocBytes (sizeof (struct starter));
+ info->method = meth;
+ info->object = thread;
+ info->data = data;
+
+ if (! thread->isDaemon())
+ {
+ pthread_mutex_lock (&daemon_mutex);
+ ++non_daemon_count;
+ pthread_mutex_unlock (&daemon_mutex);
+ }
+ else
+ data->flags |= FLAG_DAEMON;
+ pthread_create (&data->thread, &attr, really_start, (void *) info);
+
+ pthread_attr_destroy (&attr);
+}
+
+void
+_Jv_ThreadWait (void)
+{
+ // Arrange for SIGINT to be delivered to the master thread.
+ sigset_t mask;
+ sigemptyset (&mask);
+ sigaddset (&mask, SIGINT);
+ pthread_sigmask (SIG_UNBLOCK, &mask, NULL);
+
+ pthread_mutex_lock (&daemon_mutex);
+ if (non_daemon_count)
+ pthread_cond_wait (&daemon_cond, &daemon_mutex);
+ pthread_mutex_unlock (&daemon_mutex);
+}
+
+void
+_Jv_ThreadInterrupt (_Jv_Thread_t *data)
+{
+ pthread_kill (data->thread, INTR);
+}
diff --git a/libjava/prims.cc b/libjava/prims.cc
new file mode 100644
index 0000000..265e281
--- /dev/null
+++ b/libjava/prims.cc
@@ -0,0 +1,602 @@
+// prims.cc - Code for core of runtime environment.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+#include <string.h>
+#ifdef HANDLE_SEGV
+#include <signal.h>
+#endif
+
+#pragma implementation "java-array.h"
+
+#include <cni.h>
+#include <jvm.h>
+
+#include <java/lang/Class.h>
+#include <java/lang/Runtime.h>
+#include <java/lang/String.h>
+#include <java/lang/Thread.h>
+#include <java/lang/ThreadGroup.h>
+#include <java/lang/FirstThread.h>
+#include <java/lang/ArrayIndexOutOfBoundsException.h>
+#include <java/lang/ClassFormatError.h>
+#include <java/lang/ClassCastException.h>
+#include <java/lang/NegativeArraySizeException.h>
+#include <java/lang/NullPointerException.h>
+#include <java/lang/OutOfMemoryError.h>
+#include <java/lang/ArrayStoreException.h>
+#include <java/lang/System.h>
+#include <java/lang/reflect/Modifier.h>
+#include <java/io/PrintStream.h>
+
+#define ObjectClass _CL_Q34java4lang6Object
+extern java::lang::Class ObjectClass;
+
+// We allocate a single OutOfMemoryError exception which we keep
+// around for use if we run out of memory.
+static java::lang::OutOfMemoryError *no_memory;
+
+// Largest representable size_t.
+#define SIZE_T_MAX ((size_t) (~ (size_t) 0))
+
+
+
+jboolean
+_Jv_equalUtf8Consts (Utf8Const* a, Utf8Const *b)
+{
+ register int len;
+ register _Jv_ushort *aptr, *bptr;
+ if (a == b)
+ return true;
+ if (a->hash != b->hash)
+ return false;
+ len = a->length;
+ if (b->length != len)
+ return false;
+ aptr = (_Jv_ushort *)a->data;
+ bptr = (_Jv_ushort *)b->data;
+ len = (len + 1) >> 1;
+ while (--len >= 0)
+ if (*aptr++ != *bptr++)
+ return false;
+ return true;
+}
+
+/* True iff A is equal to STR.
+ HASH is STR->hashCode().
+*/
+
+jboolean
+_Jv_equal (Utf8Const* a, jstring str, jint hash)
+{
+ if (a->hash != (_Jv_ushort) hash)
+ return false;
+ jint len = str->length();
+ jint i = 0;
+ jchar *sptr = _Jv_GetStringChars (str);
+ register unsigned char* ptr = (unsigned char*) a->data;
+ register unsigned char* limit = ptr + a->length;
+ for (;; i++, sptr++)
+ {
+ int ch = UTF8_GET (ptr, limit);
+ if (i == len)
+ return ch < 0;
+ if (ch != *sptr)
+ return false;
+ }
+ return true;
+}
+
+/* Count the number of Unicode chars encoded in a given Ut8 string. */
+int
+_Jv_strLengthUtf8(char* str, int len)
+{
+ register unsigned char* ptr;
+ register unsigned char* limit;
+ int str_length;
+
+ ptr = (unsigned char*) str;
+ limit = ptr + len;
+ str_length = 0;
+ for (; ptr < limit; str_length++) {
+ if (UTF8_GET (ptr, limit) < 0) {
+ return (-1);
+ }
+ }
+ return (str_length);
+}
+
+/* Calculate a hash value for a string encoded in Utf8 format.
+ * This returns the same hash value as specified or java.lang.String.hashCode.
+ */
+static jint
+hashUtf8String (char* str, int len)
+{
+ register unsigned char* ptr = (unsigned char*) str;
+ register unsigned char* limit = ptr + len;
+ jint hash = 0;
+
+ for (; ptr < limit;)
+ {
+ int ch = UTF8_GET (ptr, limit);
+ /* Updated specification from
+ http://www.javasoft.com/docs/books/jls/clarify.html. */
+ hash = (31 * hash) + ch;
+ }
+ return hash;
+}
+
+_Jv_Utf8Const *
+_Jv_makeUtf8Const (char* s, int len)
+{
+ if (len < 0)
+ len = strlen (s);
+ Utf8Const* m = (Utf8Const*) _Jv_AllocBytes (sizeof(Utf8Const) + len + 1);
+ if (! m)
+ JvThrow (no_memory);
+ memcpy (m->data, s, len);
+ m->data[len] = 0;
+ m->length = len;
+ m->hash = hashUtf8String (s, len) & 0xFFFF;
+ return (m);
+}
+
+
+
+#ifdef DEBUG
+void
+_Jv_Abort (const char *function, const char *file, int line,
+ const char *message)
+#else
+void
+_Jv_Abort (const char *, const char *, int, const char *message)
+#endif
+{
+#ifdef DEBUG
+ fprintf (stderr,
+ "libgcj failure: %s\n in function %s, file %s, line %d\n",
+ message, function, file, line);
+#else
+ java::io::PrintStream *err = java::lang::System::err;
+ err->print(JvNewStringLatin1 ("libgcj failure: "));
+ err->println(JvNewStringLatin1 (message));
+ err->flush();
+#endif
+ abort ();
+}
+
+static void
+fail_on_finalization (jobject)
+{
+ JvFail ("object was finalized");
+}
+
+void
+_Jv_GCWatch (jobject obj)
+{
+ _Jv_RegisterFinalizer (obj, fail_on_finalization);
+}
+
+void
+_Jv_ThrowBadArrayIndex(jint bad_index)
+{
+ JvThrow (new java::lang::ArrayIndexOutOfBoundsException
+ (java::lang::String::valueOf(bad_index)));
+}
+
+void*
+_Jv_CheckCast (jclass c, jobject obj)
+{
+ if (obj != NULL && ! c->isAssignableFrom(obj->getClass()))
+ JvThrow (new java::lang::ClassCastException);
+ return obj;
+}
+
+void
+_Jv_CheckArrayStore (jobject arr, jobject obj)
+{
+ if (obj)
+ {
+ JvAssert (arr != NULL);
+ jclass arr_class = arr->getClass();
+ JvAssert (arr_class->isArray());
+ jclass elt_class = arr_class->getComponentType();
+ jclass obj_class = obj->getClass();
+ if (! elt_class->isAssignableFrom(obj_class))
+ JvThrow (new java::lang::ArrayStoreException);
+ }
+}
+
+
+
+// Allocate some unscanned memory and throw an exception if no memory.
+void *
+_Jv_AllocBytesChecked (jsize size)
+{
+ void *r = _Jv_AllocBytes (size);
+ if (! r)
+ _Jv_Throw (no_memory);
+ return r;
+}
+
+// Allocate a new object of class C. SIZE is the size of the object
+// to allocate. You might think this is redundant, but it isn't; some
+// classes, such as String, aren't of fixed size.
+jobject
+_Jv_AllocObject (jclass c, jint size)
+{
+ _Jv_InitClass (c);
+
+ jobject obj = (jobject) _Jv_AllocObj (size);
+ if (! obj)
+ JvThrow (no_memory);
+ *((_Jv_VTable **) obj) = c->vtable;
+
+ // If this class has inherited finalize from Object, then don't
+ // bother registering a finalizer. We know that finalize() is the
+ // very first method after the dummy entry. If this turns out to be
+ // unreliable, a more robust implementation can be written. Such an
+ // implementation would look for Object.finalize in Object's method
+ // table at startup, and then use that information to find the
+ // appropriate index in the method vector.
+ if (c->vtable->method[1] != ObjectClass.vtable->method[1])
+ _Jv_RegisterFinalizer (obj, _Jv_FinalizeObject);
+
+ return obj;
+}
+
+// Allocate a new array of Java objects. Each object is of type
+// `elementClass'. `init' is used to initialize each slot in the
+// array.
+jobjectArray
+_Jv_NewObjectArray (jsize count, jclass elementClass, jobject init)
+{
+ if (count < 0)
+ JvThrow (new java::lang::NegativeArraySizeException);
+
+ // Check for overflow.
+ if ((size_t) count > (SIZE_T_MAX - sizeof (__JArray)) / sizeof (jobject))
+ JvThrow (no_memory);
+
+ size_t size = count * sizeof (jobject) + sizeof (__JArray);
+ jclass clas = _Jv_FindArrayClass (elementClass);
+ jobjectArray obj = (jobjectArray) _Jv_AllocArray (size);
+ if (! obj)
+ JvThrow (no_memory);
+ obj->length = count;
+ jobject* ptr = elements(obj);
+ // We know the allocator returns zeroed memory. So don't bother
+ // zeroing it again.
+ if (init)
+ {
+ while (--count >= 0)
+ *ptr++ = init;
+ }
+ // Set the vtbl last to avoid problems if the GC happens during the
+ // window in this function between the allocation and this
+ // assignment.
+ *((_Jv_VTable **) obj) = clas->vtable;
+ return obj;
+}
+
+// Allocate a new array of primitives. ELTYPE is the type of the
+// element, COUNT is the size of the array.
+jobject
+_Jv_NewPrimArray (jclass eltype, jint count)
+{
+ int elsize = eltype->size();
+ if (count < 0)
+ JvThrow (new java::lang::NegativeArraySizeException ());
+
+ // Check for overflow.
+ if ((size_t) count > (SIZE_T_MAX - sizeof (__JArray)) / elsize)
+ JvThrow (no_memory);
+
+ __JArray *arr = (__JArray*) _Jv_AllocObj (sizeof (__JArray)
+ + elsize * count);
+ if (! arr)
+ JvThrow (no_memory);
+ arr->length = count;
+ // Note that we assume we are given zeroed memory by the allocator.
+
+ jclass klass = _Jv_FindArrayClass (eltype);
+ // Set the vtbl last to avoid problems if the GC happens during the
+ // window in this function between the allocation and this
+ // assignment.
+ *((_Jv_VTable **) arr) = klass->vtable;
+ return arr;
+}
+
+jcharArray
+JvNewCharArray (jint length)
+{
+ return (jcharArray) _Jv_NewPrimArray (JvPrimClass (char), length);
+}
+
+jbooleanArray
+JvNewBooleanArray (jint length)
+{
+ return (jbooleanArray) _Jv_NewPrimArray (JvPrimClass (boolean), length);
+}
+
+jbyteArray
+JvNewByteArray (jint length)
+{
+ return (jbyteArray) _Jv_NewPrimArray (JvPrimClass (byte), length);
+}
+
+jshortArray
+JvNewShortArray (jint length)
+{
+ return (jshortArray) _Jv_NewPrimArray (JvPrimClass (short), length);
+}
+
+jintArray
+JvNewIntArray (jint length)
+{
+ return (jintArray) _Jv_NewPrimArray (JvPrimClass (int), length);
+}
+
+jlongArray
+JvNewLongArray (jint length)
+{
+ return (jlongArray) _Jv_NewPrimArray (JvPrimClass (long), length);
+}
+
+jfloatArray
+JvNewFloatArray (jint length)
+{
+ return (jfloatArray) _Jv_NewPrimArray (JvPrimClass (float), length);
+}
+
+jdoubleArray
+JvNewDoubleArray (jint length)
+{
+ return (jdoubleArray) _Jv_NewPrimArray (JvPrimClass (double), length);
+}
+
+jobject
+_Jv_NewArray (jint type, jint size)
+{
+ switch (type)
+ {
+ case 4: return JvNewBooleanArray (size);
+ case 5: return JvNewCharArray (size);
+ case 6: return JvNewFloatArray (size);
+ case 7: return JvNewDoubleArray (size);
+ case 8: return JvNewByteArray (size);
+ case 9: return JvNewShortArray (size);
+ case 10: return JvNewIntArray (size);
+ case 11: return JvNewLongArray (size);
+ }
+ JvFail ("newarray - bad type code");
+ return NULL; // Placate compiler.
+}
+
+jobject
+_Jv_NewMultiArray (jclass type, jint dimensions, jint *sizes)
+{
+ JvAssert (type->isArray());
+ jclass element_type = type->getComponentType();
+ jobject result;
+ if (element_type->isPrimitive())
+ result = _Jv_NewPrimArray (element_type, sizes[0]);
+ else
+ result = _Jv_NewObjectArray (sizes[0], element_type, NULL);
+
+ if (dimensions > 1)
+ {
+ JvAssert (! element_type->isPrimitive());
+ JvAssert (element_type->isArray());
+ jobject *contents = elements ((jobjectArray) result);
+ for (int i = 0; i < sizes[0]; ++i)
+ contents[i] = _Jv_NewMultiArray (element_type, dimensions - 1,
+ sizes + 1);
+ }
+
+ return result;
+}
+
+jobject
+_Jv_NewMultiArray (jclass array_type, jint dimensions, ...)
+{
+ va_list args;
+ jint sizes[dimensions];
+ va_start (args, dimensions);
+ for (int i = 0; i < dimensions; ++i)
+ {
+ jint size = va_arg (args, jint);
+ sizes[i] = size;
+ }
+ va_end (args);
+
+ return _Jv_NewMultiArray (array_type, dimensions, sizes);
+}
+
+
+
+#ifdef HANDLE_SEGV
+
+static java::lang::NullPointerException *nullp;
+
+static void
+catch_segv (int)
+{
+ // Don't run `new' in a signal handler, so we always throw the same
+ // null pointer exception.
+ _Jv_Throw (nullp);
+}
+
+#endif /* HANDLE_SEGV */
+
+class _Jv_PrimClass : public java::lang::Class
+{
+public:
+ // FIXME: calling convention is weird. If we use the natural types
+ // then the compiler will complain because they aren't Java types.
+ _Jv_PrimClass (jobject cname, jbyte sig, jint len)
+ {
+ using namespace java::lang::reflect;
+
+ // We must initialize every field of the class. We do this in
+ // the same order they are declared in Class.h.
+ next = NULL;
+ name = _Jv_makeUtf8Const ((char *) cname, -1);
+ accflags = Modifier::PUBLIC | Modifier::FINAL;
+ superclass = NULL;
+ constants.size = 0;
+ constants.tags = NULL;
+ constants.data = NULL;
+ methods = NULL;
+ method_count = sig;
+ vtable_method_count = 0;
+ fields = NULL;
+ size_in_bytes = len;
+ field_count = 0;
+ static_field_count = 0;
+ vtable = JV_PRIMITIVE_VTABLE;
+ interfaces = NULL;
+ loader = NULL;
+ interface_count = 0;
+ state = 0; // FIXME.
+ thread = NULL;
+ }
+};
+
+#define DECLARE_PRIM_TYPE(NAME, SIG, LEN) \
+ _Jv_PrimClass _Jv_##NAME##Class((jobject) #NAME, (jbyte) SIG, (jint) LEN)
+
+DECLARE_PRIM_TYPE(byte, 'B', 1);
+DECLARE_PRIM_TYPE(short, 'S', 2);
+DECLARE_PRIM_TYPE(int, 'I', 4);
+DECLARE_PRIM_TYPE(long, 'J', 8);
+DECLARE_PRIM_TYPE(boolean, 'Z', 1);
+DECLARE_PRIM_TYPE(char, 'C', 2);
+DECLARE_PRIM_TYPE(float, 'F', 4);
+DECLARE_PRIM_TYPE(double, 'D', 8);
+DECLARE_PRIM_TYPE(void, 'V', 0);
+
+jclass
+_Jv_FindClassFromSignature (char *sig, java::lang::ClassLoader *loader)
+{
+ switch (*sig)
+ {
+ case 'B':
+ return JvPrimClass (byte);
+ case 'S':
+ return JvPrimClass (short);
+ case 'I':
+ return JvPrimClass (int);
+ case 'J':
+ return JvPrimClass (long);
+ case 'Z':
+ return JvPrimClass (boolean);
+ case 'C':
+ return JvPrimClass (char);
+ case 'F':
+ return JvPrimClass (float);
+ case 'D':
+ return JvPrimClass (double);
+ case 'V':
+ return JvPrimClass (void);
+ case 'L':
+ {
+ int i;
+ for (i = 1; sig[i] && sig[i] != ';'; ++i)
+ ;
+ _Jv_Utf8Const *name = _Jv_makeUtf8Const (&sig[1], i - 1);
+ return _Jv_FindClass (name, loader);
+ }
+ case '[':
+ return _Jv_FindArrayClass (_Jv_FindClassFromSignature (&sig[1], loader));
+ }
+ JvFail ("couldn't understand class signature");
+ return NULL; // Placate compiler.
+}
+
+
+
+JArray<jstring> *
+JvConvertArgv (int argc, const char **argv)
+{
+ if (argc < 0)
+ argc = 0;
+ jobjectArray ar = JvNewObjectArray(argc, &StringClass, NULL);
+ jobject* ptr = elements(ar);
+ for (int i = 0; i < argc; i++)
+ {
+ const char *arg = argv[i];
+ // FIXME - should probably use JvNewStringUTF.
+ *ptr++ = JvNewStringLatin1(arg, strlen(arg));
+ }
+ return (JArray<jstring>*) ar;
+}
+
+// FIXME: These variables are static so that they will be
+// automatically scanned by the Boehm collector. This is needed
+// because with qthreads the collector won't scan the initial stack --
+// it will only scan the qthreads stacks.
+
+// Command line arguments.
+static jobject arg_vec;
+
+// The primary threadgroup.
+static java::lang::ThreadGroup *main_group;
+
+// The primary thread.
+static java::lang::Thread *main_thread;
+
+void
+JvRunMain (jclass klass, int argc, const char **argv)
+{
+#ifdef HANDLE_SEGV
+ nullp = new java::lang::NullPointerException ();
+
+ struct sigaction act;
+ act.sa_handler = catch_segv;
+ sigemptyset (&act.sa_mask);
+ act.sa_flags = 0;
+ sigaction (SIGSEGV, &act, NULL);
+#endif
+
+ no_memory = new java::lang::OutOfMemoryError;
+
+ arg_vec = JvConvertArgv (argc - 1, argv + 1);
+ main_group = new java::lang::ThreadGroup (23);
+ main_thread = new java::lang::FirstThread (main_group, klass, arg_vec);
+
+ main_thread->start();
+ _Jv_ThreadWait ();
+
+ java::lang::Runtime::getRuntime ()->exit (0);
+}
+
+
+
+void *
+_Jv_Malloc (jsize size)
+{
+ if (size == 0)
+ size = 1;
+ void *ptr = malloc ((size_t) size);
+ if (ptr == NULL)
+ JvThrow (no_memory);
+ return ptr;
+}
+
+void
+_Jv_Free (void* ptr)
+{
+ return free (ptr);
+}
diff --git a/libjava/quick-threads.cc b/libjava/quick-threads.cc
new file mode 100644
index 0000000..ed7ac5e
--- /dev/null
+++ b/libjava/quick-threads.cc
@@ -0,0 +1,51 @@
+// quick-threads.cc - interface between libjava and QuickThreads.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+#include <config.h>
+
+#include <cni.h>
+#include <jvm.h>
+
+#include <java/lang/Thread.h>
+#include <java/lang/System.h>
+
+
+// Identifier for our piece of thread-local data. Visible so that it
+// can be used in quick-threads.h.
+int _Jv_ThreadKey;
+
+void
+_Jv_ThreadStart (java::lang::Thread *thread, _Jv_Thread_t *data,
+ _Jv_ThreadStartFunc *meth)
+{
+ *data = coop_create ((coop_userf_t *) meth, (void *) thread,
+ thread->isDaemon());
+ coop_setspecific (*data, _Jv_ThreadKey, thread);
+}
+
+static void
+qthrow (void *except)
+{
+ _Jv_Throw ((java::lang::Throwable *) except);
+}
+
+// Function to destroy thread-specific data item. We just don't care.
+static void
+destroy_data (void *)
+{
+}
+
+void
+_Jv_InitThreads (void)
+{
+ coop_init ();
+ _Jv_ThreadKey = coop_key_create (destroy_data);
+ coop_set_throw_function (qthrow);
+}
diff --git a/libjava/testsuite/ChangeLog b/libjava/testsuite/ChangeLog
new file mode 100644
index 0000000..d7559a2
--- /dev/null
+++ b/libjava/testsuite/ChangeLog
@@ -0,0 +1,326 @@
+1999-04-06 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.mauve/mauve.exp (test_mauve_sim): Reference
+ mauve-libgcj.
+ (test_mauve): Likewise.
+
+1999-03-30 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.mauve/mauve.exp: Renamed from test.exp. With the new
+ name it is easier to run just the Mauve tests.
+
+ * libjava.mauve/test.exp (test_mauve): Added gnu/testlet/config to
+ list of files to link in.
+ (test_mauve_sim): Likewise.
+ * libjava.mauve/DejaGNUTestHarness.java (srcdir, tmpdir): New
+ static variables.
+ (DejaGNUTestHarness): Removed argument from constructor.
+ (dejasrcdir): New static variable.
+ (main): Set `dejasrcdir'.
+ (getSourceDirectory): New method.
+
+1999-03-08 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.compile/perc.java: New file.
+
+1999-02-26 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.util/test.exp: Removed.
+
+1999-02-25 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.mauve/test.exp: Make sure current directory is correct
+ after tests are run.
+
+ * libjava.mauve/test.exp (test_mauve): Removed extra arg in call
+ to bytecompile_file.
+ (test_mauve_sim): Likewise.
+
+Thu Feb 25 09:21:03 1999 Anthony Green <green@cygnus.com>
+
+ * libjava.compile/euc_comment1.java,
+ libjava.compile/euc_comment2.java,
+ libjava.compile/euc_comment3.java,
+ libjava.compile/euc_comment1.java,
+ libjava.compile/euc_comment2.java,
+ libjava.compile/euc_comment3.java: New files.
+
+ * libjava.compile/Case.java, libjava.compile/support/Case.java:
+ New files.
+
+1999-02-24 Tom Tromey <tromey@cygnus.com>
+
+ * lib/libjava.exp (find_jvscan): New proc.
+ (bytecompile_file): Removed `srcfile_in' argument.
+ (test_libjava_from_javac): Use `jv-scan' program to find name of
+ `main' and name of all generated classes. Compile all generated
+ classes, not just primary class. For no-exec tests, only try to
+ build the .o, not the full executable.
+
+Wed Feb 24 11:22:32 1999 Anthony Green <green@hoser.cygnus.com>
+
+ * libjava.compile/test.exp: Minor fix.
+
+1999-02-23 Anthony Green <green@cygnus.com>
+
+ * libjava.compile/Where.java, libjava.compile/support/Waldo.java,
+ libjava.compile/Twice.java, libjava.compile/Semi.java,
+ libjava.compile/Statics.java, libjava.compile/test.exp,
+ libjava.lang/Synch.java, libjava.lang/Synch.out: New files.
+
+1999-02-16 Tom Tromey <tromey@cygnus.com>
+
+ * Makefile.in: Rebuilt.
+ * Makefile.am (AUTOMAKE_OPTIONS): Added no-installinfo.
+
+Wed Feb 17 19:53:51 1999 Warren Levy <warrenl@cygnus.com>
+
+ * libjava.mauve/test.exp: modified file allows Mauve tests to
+ run on JMR board; simplified script to use same procedure for
+ all testing
+
+1999-02-10 Tom Tromey <tromey@cygnus.com>
+
+ * lib/libjava.exp (libjava_arguments): Updated to track library
+ renames.
+
+1999-02-07 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.lang/slash.java: New file.
+ * libjava.lang/slash.out: New file.
+
+Mon Feb 1 05:17:40 1999 Anthony Green <green@fencer.cygnus.com>
+
+ * lib/libjava.exp: Test compiling from source as well as from
+ bytecodes.
+
+1999-01-11 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.mauve/test.exp (mauve_compute_uses): Read classes file,
+ not choices file.
+
+ * libjava.mauve/test.exp (test_mauve): Added
+ ResourceNotFoundException to list of harness files to compile.
+ (test_mauve_sim): Likewise.
+
+1998-12-17 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.lang/Invoke_1.java: New file.
+
+ * libjava.lang/Thread_1.java (Thread_1): Class now public.
+ * libjava.lang/Array_1.java (Array_1): Class now public.
+
+ * libjava.lang/Throw_1.out: New file.
+ * libjava.lang/Throw_1.java: New file.
+
+1998-12-11 Tom Tromey <tromey@cygnus.com>
+
+ * lib/libjava.exp (libjava_arguments): New proc.
+ (test_libjava): Use it.
+ (bytecompile_file): Added classpath argument.
+ * libjava.mauve/test.exp: New file.
+ * libjava.mauve/DejaGNUTestHarness.java: New file.
+
+1998-12-08 Tom Tromey <tromey@cygnus.com>
+
+ * Various: removed all test files that migrated to Mauve.
+
+1998-12-07 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.lang/Array_1.java (main): Removed extraneous
+ getSuperclass call.
+
+1998-11-23 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.lang/Finalize_1.java (main): Clear `f' before GC.
+
+1998-10-08 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.lang/Thread_1.out: Added missing line.
+
+Fri Oct 2 14:55:46 1998 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.lang/Array_1.java: Changed so Cloneable test can run
+ even if clone test itself fails.
+
+ * libjava.lang/Array_1.java: Uncommented calls to getSuperclass.
+ Added test to see if array implements Cloneable.
+
+Thu Oct 1 11:28:06 1998 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.lang/Array_1.java: New file.
+ * libjava.lang/Array_1.out: New file.
+
+Thu Oct 1 13:51:00 1998 Anthony Green <green@cygnus.com>
+
+ * testsuite/lib/libjava.exp: Find qthreads library correctly.
+
+Tue Sep 29 16:36:43 1998 Warren Levy <warrenl@cygnus.com>
+
+ * libjava.util/Hashtable_1.java, libjava.util/Hashtable_1.out: Created.
+
+Tue Sep 29 00:40:26 1998 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.lang/Thread_1.java (started): New field.
+ (run): Set `started'. Handle all synchronization here.
+ (Thread_1): Initialize `started'.
+ (doit): Just start both threads and let them handle their own
+ synchronization.
+
+ * libjava.lang/Boolean_5.out: Changed to reflect the
+ Boolean_5.java changes.
+ * libjava.lang/Boolean_5.java: Don't replace the system
+ properties, just augment them. Don't print the property object.
+ * libjava.lang/Long_2.out: Changed to reflect Long_2.java
+ changes.
+ * libjava.lang/Long_2.java: Don't replace the system properties,
+ just augment them. Don't print the property object.
+ * libjava.lang/Integer_2.out: Changed to reflect Integer_2.java
+ changes.
+ * libjava.lang/Integer_2.java: Don't replace the system
+ properties, just augment them. Don't print the property object.
+
+Sat Sep 26 15:57:39 1998 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.lang/Thread_1.java (main): Catch InterruptedException.
+
+Tue Sep 22 13:45:58 1998 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.lang/Thread_1.out: New file.
+ * libjava.lang/Thread_1.java: New file.
+
+Mon Sep 21 14:20:08 1998 Tom Tromey <tromey@cygnus.com>
+
+ * lib/libjava.exp (test_libjava): Use runtest_file_p to see if
+ test should be short-circuited.
+
+Tue Sep 15 13:57:45 1998 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.lang/Character_9.java: New file.
+ * libjava.lang/Character_9.out: New file.
+
+Mon Sep 14 12:27:04 1998 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.lang/Character_8.out: New file.
+ * libjava.lang/Character_8.java: New file.
+ * libjava.lang/Character_7.out: New file.
+ * libjava.lang/Character_7.java: New file.
+ * libjava.lang/Character_6.out: New file.
+ * libjava.lang/Character_6.java: New file.
+ * libjava.lang/Character_5.out: New file.
+ * libjava.lang/Character_5.java: New file.
+ * libjava.lang/Character_4.out: New file.
+ * libjava.lang/Character_4.java: New file.
+ * libjava.lang/Character_3.out: New file.
+ * libjava.lang/Character_3.java: New file.
+ * libjava.lang/Character_2.out: New file.
+ * libjava.lang/Character_2.java: New file.
+
+Fri Sep 11 10:04:55 1998 Tom Tromey <tromey@cygnus.com>
+
+ * libjava.lang/Character_1.out: New file.
+ * libjava.lang/Character_1.java: New file.
+
+Fri Sep 18 14:43:59 1998 Warren Levy <warrenl@cygnus.com>
+
+ * libjava.lang/Long_1.java, libjava.lang/Long_1.out,
+ libjava.lang/Long_2.java, libjava.lang/Long_2.out: Created.
+
+Fri Sep 18 12:43:52 1998 Warren Levy <warrenl@cygnus.com>
+
+ * libjava.lang/Integer_1.java, libjava.lang/Integer_1.out,
+ libjava.lang/Integer_2.java, libjava.lang/Integer_2.out: Created.
+
+ * libjava.lang/String_2.java, libjava.lang/String_2.out: Use JDK 1.2
+ values for hashCode.
+
+Thu Sep 10 12:44:42 1998 Warren Levy <warrenl@cygnus.com>
+
+ * libjava.lang/String_1.java, libjava.lang/String_1.out,
+ libjava.lang/String_2.java, libjava.lang/String_2.out,
+ libjava.lang/String_3.java, libjava.lang/String_3.out,
+ libjava.lang/String_4.java, libjava.lang/String_4.out,
+ libjava.lang/String_5.java, libjava.lang/String_5.out,
+ libjava.lang/String_6.java, libjava.lang/String_6.out,
+ libjava.lang/String_7.java, libjava.lang/String_7.out,
+ libjava.lang/String_8.java, libjava.lang/String_8.out,
+ libjava.lang/String_9.java, libjava.lang/String_9.out: Created.
+
+Tue Sep 8 13:31:59 1998 Warren Levy <warrenl@cygnus.com>
+
+ * libjava.lang/Byte_1.java, libjava.lang/Byte_1.out,
+ libjava.lang/Short_1.java, libjava.lang/Short_1.out: New files.
+
+Thu Sep 3 15:57:57 1998 Warren Levy <warrenl@cygnus.com>
+
+ * libjava.lang/Boolean_1.java, libjava.lang/Boolean_1.out,
+ libjava.lang/Boolean_2.java, libjava.lang/Boolean_2.out,
+ libjava.lang/Boolean_3.java, libjava.lang/Boolean_3.out,
+ libjava.lang/Boolean_4.java, libjava.lang/Boolean_4.out,
+ libjava.lang/Boolean_5.java, libjava.lang/Boolean_5.out: Created.
+
+Tue Sep 1 12:27:54 1998 Tom Tromey <tromey@cygnus.com>
+
+ * lib/libjava.exp (bytecompile_file): Don't throw error if byte
+ compilation fails. Added `srcfile_in' argument. Changed return
+ value.
+ (test_libjava): Gracefully handle byte-compilation failure.
+
+ * libjava.lang/System_15.java (main): Typo fix.
+ (System_15): Choose correct class name.
+ (X): Moved into System_15.
+
+ * libjava.lang/System_1.java, libjava.lang/System_1.out,
+ libjava.lang/System_10.java, libjava.lang/System_10.out,
+ libjava.lang/System_11.java, libjava.lang/System_11.out,
+ libjava.lang/System_12.java, libjava.lang/System_12.out,
+ libjava.lang/System_13.java, libjava.lang/System_13.out,
+ libjava.lang/System_14.java, libjava.lang/System_14.out,
+ libjava.lang/System_15.java, libjava.lang/System_15.out,
+ libjava.lang/System_2.java, libjava.lang/System_2.out,
+ libjava.lang/System_3.java, libjava.lang/System_3.out,
+ libjava.lang/System_4.java, libjava.lang/System_4.out,
+ libjava.lang/System_5.java, libjava.lang/System_5.out,
+ libjava.lang/System_6.java, libjava.lang/System_6.out,
+ libjava.lang/System_7.java, libjava.lang/System_7.out,
+ libjava.lang/System_8.java, libjava.lang/System_8.out,
+ libjava.lang/System_9.java, libjava.lang/System_9.out: New files.
+
+ * lib/libjava.exp (test_libjava): Only add -lgc or -lqthreads if
+ library is actually found.
+
+ * lib/libjava.exp (test_libjava): Look for qthreads.
+
+Mon Aug 31 17:49:21 1998 Warren Levy <warrenl@cygnus.com>
+
+ * libjava.util/Random_1.java, libjava.util/Random_1.out,
+ libjava.util/Random_2.java, libjava.util/Random_2.out,
+ libjava.util/Random_3.java, libjava.util/Random_3.out,
+ libjava.util/Random_4.java, libjava.util/Random_4.out,
+ libjava.util/Random_5.java, libjava.util/Random_5.out,
+ libjava.util/Random_6.java, libjava.util/Random_6.out,
+ libjava.util/Random_7.java, libjava.util/Random_7.out,
+ libjava.util/Random_8.java, libjava.util/Random_8.out,
+ libjava.util/test.exp: Created.
+
+Mon Aug 31 16:37:19 1998 Tom Tromey <tromey@cygnus.com>
+
+ * lib/libjava.exp: Changed gjavac to gcj everywhere.
+
+Wed Aug 26 12:20:10 1998 Anthony Green <green@cygnus.com>
+
+ * Makefile.am (EXPECT,RUNTEST): Find expect and runtest
+ correctly.
+ * Makefile.in: Rebuild.
+
+Tue Aug 25 18:43:33 1998 Anthony Green <green@cygnus.com>
+
+ * lib/libjava.exp: Fix CLASSPATH setting.
+
+Tue Aug 25 17:27:37 1998 Anthony Green <green@cygnus.com>
+
+ * ChangeLog, lib/libjava.exp, config/default.exp,
+ libjava.lang/Finalize_1.java, libjava.lang/Finalize_1.out,
+ libjava.lang/Float_1.java, libjava.lang/Float_1.out
+ libjava.lang/test.exp, Makefile.am, Makefile.in: Created.
+
diff --git a/libjava/testsuite/Makefile.am b/libjava/testsuite/Makefile.am
new file mode 100644
index 0000000..e1d359d
--- /dev/null
+++ b/libjava/testsuite/Makefile.am
@@ -0,0 +1,15 @@
+## Process this file with automake to produce Makefile.in.
+
+AUTOMAKE_OPTIONS = foreign dejagnu no-installinfo
+
+# Setup the testing framework, if you have one
+EXPECT = `if [ -f $(top_builddir)/../expect/expect ] ; then \
+ echo $(top_builddir)/../expect/expect ; \
+ else echo expect ; fi`
+
+RUNTEST = `if [ -f $(top_srcdir)/../dejagnu/runtest ] ; then \
+ echo $(top_srcdir)/../dejagnu/runtest ; \
+ else echo runtest; fi`
+
+RUNTESTFLAGS = @AM_RUNTESTFLAGS@
+
diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in
new file mode 100644
index 0000000..764c148
--- /dev/null
+++ b/libjava/testsuite/Makefile.in
@@ -0,0 +1,251 @@
+# Makefile.in generated automatically by automake 1.4 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_alias = @build_alias@
+build_triplet = @build@
+host_alias = @host_alias@
+host_triplet = @host@
+target_alias = @target_alias@
+target_triplet = @target@
+AM_RUNTESTFLAGS = @AM_RUNTESTFLAGS@
+AR = @AR@
+AS = @AS@
+CC = @CC@
+COMPPATH = @COMPPATH@
+CPP = @CPP@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+EH_COMMON_INCLUDE = @EH_COMMON_INCLUDE@
+EXEEXT = @EXEEXT@
+GCDEPS = @GCDEPS@
+GCINCS = @GCINCS@
+GCLIBS = @GCLIBS@
+GCOBJS = @GCOBJS@
+LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
+LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
+LIBGCJ_JAVAFLAGS = @LIBGCJ_JAVAFLAGS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+PACKAGE = @PACKAGE@
+PERL = @PERL@
+RANLIB = @RANLIB@
+THREADDEPS = @THREADDEPS@
+THREADINCS = @THREADINCS@
+THREADLIBS = @THREADLIBS@
+THREADOBJS = @THREADOBJS@
+VERSION = @VERSION@
+here = @here@
+libgcj_basedir = @libgcj_basedir@
+
+AUTOMAKE_OPTIONS = foreign dejagnu no-installinfo
+
+# Setup the testing framework, if you have one
+EXPECT = `if [ -f $(top_builddir)/../expect/expect ] ; then \
+ echo $(top_builddir)/../expect/expect ; \
+ else echo expect ; fi`
+
+
+RUNTEST = `if [ -f $(top_srcdir)/../dejagnu/runtest ] ; then \
+ echo $(top_srcdir)/../dejagnu/runtest ; \
+ else echo runtest; fi`
+
+
+RUNTESTFLAGS = @AM_RUNTESTFLAGS@
+mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
+CONFIG_HEADER = ../include/config.h
+CONFIG_CLEAN_FILES =
+DIST_COMMON = ChangeLog Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --foreign testsuite/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = testsuite
+
+distdir: $(DISTFILES)
+ here=`cd $(top_builddir) && pwd`; \
+ top_distdir=`cd $(top_distdir) && pwd`; \
+ distdir=`cd $(distdir) && pwd`; \
+ cd $(top_srcdir) \
+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --foreign testsuite/Makefile
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+
+DEJATOOL = $(PACKAGE)
+
+RUNTESTDEFAULTFLAGS = --tool $(DEJATOOL) --srcdir $$srcdir
+
+check-DEJAGNU: site.exp
+ srcdir=`cd $(srcdir) && pwd`; export srcdir; \
+ EXPECT=$(EXPECT); export EXPECT; \
+ runtest=$(RUNTEST); \
+ if $(SHELL) -c "$$runtest --version" > /dev/null 2>&1; then \
+ $$runtest $(RUNTESTDEFAULTFLAGS) $(RUNTESTFLAGS); \
+ else echo "WARNING: could not find \`runtest'" 1>&2; :;\
+ fi
+site.exp: Makefile
+ @echo 'Making a new site.exp file...'
+ @test ! -f site.bak || rm -f site.bak
+ @echo '## these variables are automatically generated by make ##' > $@-t
+ @echo '# Do not edit here. If you wish to override these values' >> $@-t
+ @echo '# edit the last section' >> $@-t
+ @echo 'set tool $(DEJATOOL)' >> $@-t
+ @echo 'set srcdir $(srcdir)' >> $@-t
+ @echo 'set objdir' `pwd` >> $@-t
+ @echo 'set host_alias $(host_alias)' >> $@-t
+ @echo 'set host_triplet $(host_triplet)' >> $@-t
+ @echo 'set target_alias $(target_alias)' >> $@-t
+ @echo 'set target_triplet $(target_triplet)' >> $@-t
+ @echo 'set build_alias $(build_alias)' >> $@-t
+ @echo 'set build_triplet $(build_triplet)' >> $@-t
+ @echo '## All variables above are generated by configure. Do Not Edit ##' >> $@-t
+ @test ! -f site.exp || sed '1,/^## All variables above are.*##/ d' site.exp >> $@-t
+ @test ! -f site.exp || mv site.exp site.bak
+ @mv $@-t site.exp
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+ $(MAKE) $(AM_MAKEFLAGS) check-DEJAGNU
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-info-am:
+install-info: install-info-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: tags distdir check-DEJAGNU info-am info dvi-am dvi check \
+check-am installcheck-am installcheck install-info-am install-info \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/libjava/testsuite/config/default.exp b/libjava/testsuite/config/default.exp
new file mode 100644
index 0000000..90967cc
--- /dev/null
+++ b/libjava/testsuite/config/default.exp
@@ -0,0 +1 @@
+load_lib "standard.exp"
diff --git a/libjava/testsuite/lib/libjava.exp b/libjava/testsuite/lib/libjava.exp
new file mode 100644
index 0000000..9c8b36d
--- /dev/null
+++ b/libjava/testsuite/lib/libjava.exp
@@ -0,0 +1,450 @@
+# Copyright (C) 1998, 1999 Cygnus Solutions
+
+load_lib "libgloss.exp"
+
+# GCJ_UNDER_TEST is the compiler under test.
+
+global tmpdir
+
+if ![info exists tmpdir] {
+ set tmpdir "/tmp"
+}
+
+# Find `jv-scan'. FIXME: this relies on DejaGnu internals. These
+# should probably be exposed in a better way.
+proc find_jvscan {} {
+ global tool_root_dir
+
+ set file [lookfor_file $tool_root_dir jv-scan]
+ if { $file == "" } {
+ set file [lookfor_file $tool_root_dir gcc/jv-scan];
+ }
+ if {$file == ""} {
+ set file jv-scan
+ }
+ return $file
+}
+
+proc bytecompile_file { file objdir {classpath {}} } {
+ global env
+ set dirname [file dirname $file];
+
+ catch {unset env(CLASSPATH)}
+ if {$classpath != ""} then {
+ set env(CLASSPATH) $classpath
+ }
+ if {[catch {system "cd $dirname; javac $file -d $objdir"} msg]} then {
+ verbose "couldn't compile $file: $msg"
+ set r 0
+ } else {
+ set r 1
+ }
+ return $r
+}
+
+set libjava_initialized 0
+
+#
+# Build the status wrapper library as needed.
+#
+proc libjava_init { args } {
+ global wrapper_file;
+ global wrap_compile_flags;
+ global libjava_initialized
+ global GCJ_UNDER_TEST
+ global TOOL_EXECUTABLE
+
+ if { $libjava_initialized == 1 } { return; }
+
+ if ![info exists GCJ_UNDER_TEST] {
+ if [info exists TOOL_EXECUTABLE] {
+ set GCJ_UNDER_TEST $TOOL_EXECUTABLE;
+ } else {
+ set GCJ_UNDER_TEST "[find_gcj]"
+ }
+ }
+
+ set wrapper_file "";
+ set wrap_compile_flags "";
+ if [target_info exists needs_status_wrapper] {
+ set result [build_wrapper "testglue.o"];
+ if { $result != "" } {
+ set wrapper_file [lindex $result 0];
+ set wrap_compile_flags [lindex $result 1];
+ } else {
+ warning "Status wrapper failed to build."
+ }
+ }
+
+ set libjava_initialized 1
+}
+
+# Compute arguments needed for compiler.
+proc libjava_arguments {} {
+ global base_dir
+ global LIBJAVA
+ global LIBGC
+ global srcdir subdir objdir
+ global TOOL_OPTIONS
+ global GCJ_UNDER_TEST
+ global tmpdir
+ global runtests
+
+ if [info exists LIBJAVA] {
+ set libjava $LIBJAVA;
+ } else {
+ set gp [get_multilibs];
+ if { $gp != "" } {
+ if [file exists "$gp/libjava/libgcj.a"] {
+ set libjava "-L$gp/libjava -lgcj";
+ }
+ }
+ if ![info exists libjava] {
+ set libjava [findfile $base_dir/../../libjava/libgcj.a "-L$base_dir/../../libjava -lgcj" -lgcj]
+ }
+ }
+
+ if [info exists LIBGC] {
+ set libgc $LIBGC;
+ } else {
+ set gp [get_multilibs];
+ if { $gp != "" } {
+ if [file exists "$gp/boehm-gc/libgcjgc.a"] {
+ set libgc "-L$gp/boehm-gc -lgcjgc";
+ }
+ }
+ if ![info exists libgc] {
+ set libgc [findfile $base_dir/../../boehm-gc/libgcjgc.a \
+ "-L$base_dir/../../boehm-gc -lgcjgc" \
+ {}]
+ }
+ }
+
+ if [info exists LIBQTHREADS] {
+ set libqthreads $LIBQTHREADS
+ } else {
+ set gp [get_multilibs]
+ if { $gp != "" } {
+ if [file exists "$gp/qthreads/libgcjcoop.a"] {
+ set libqthreads "-L$gp/qthreads -lgcjcoop";
+ }
+ }
+ if ![info exists libqthreads] {
+ set libqthreads [findfile $base_dir/../../qthreads/libgcjcoop.a \
+ "-L$base_dir/../../qthreads -lgcjcoop" \
+ {}]
+ }
+ }
+
+ # FIXME: there's no way to determine whether -lpthread is
+ # required. We should get this info from configure, or it should
+ # just be in the compiler driver.
+
+ verbose "using LIBJAVA = $libjava" 2
+ verbose "using LIBGC = $libgc" 2
+ verbose "using LIBQTHREADS = $libqthreads" 2
+ set args ""
+
+ # Basically we want to build up a colon separated path list from
+ # the value of $libjava.
+
+ # First strip away any -L arguments.
+ regsub -all -- "-L" $libjava "" ld_library_path
+
+ # Then remove any -lgcj argument.
+ regsub -all -- " -lgcj.*" $ld_library_path "" ld_library_path
+
+ # First strip away any -L arguments.
+ regsub -all -- "-L" $libgc $ld_library_path ld_library_path
+
+ # Then remove any -lgcjgc argument.
+ regsub -all -- " -lgcjgc.*" $ld_library_path "" ld_library_path
+
+ # That's enough to make things work for the normal case.
+ # If we wanted to handle an arbitrary value of libjava,
+ # then we'd have to do a lot more work.
+
+ # Set variables the dynamic linker looks at.
+ setenv LD_LIBRARY_PATH $ld_library_path
+ setenv SHLIB_PATH $ld_library_path
+
+ # Set the CLASSPATH environment variable
+ verbose "CLASSPATH is $objdir/.."
+ global env
+ set env(CLASSPATH) "$objdir/.."
+
+ global wrapper_file wrap_compile_flags;
+ lappend args "additional_flags=$wrap_compile_flags";
+ lappend args "libs=$wrapper_file";
+ lappend args "libs=$libjava";
+ lappend args "libs=$libgc";
+ lappend args "libs=$libqthreads"
+ lappend args debug
+
+ if { [target_info needs_status_wrapper]!="" && [info exists gluefile] } {
+ lappend args "libs=${gluefile}"
+ lappend args "ldflags=$wrap_flags"
+ }
+
+ if [info exists TOOL_OPTIONS] {
+ lappend args "additional_flags=$TOOL_OPTIONS"
+ }
+ lappend args "compiler=$GCJ_UNDER_TEST"
+
+ return $args
+}
+
+
+#
+# Run the test specified by srcfile and resultfile. compile_args and
+# exec_args are additional arguments to be passed in when compiling and
+# running the testcase, respectively.
+#
+proc test_libjava_from_source { options srcfile compile_args inpfile resultfile exec_args } {
+ global base_dir
+ global LIBJAVA
+ global LIBGC
+ global srcdir subdir objdir
+ global TOOL_OPTIONS
+ global GCJ_UNDER_TEST
+ global tmpdir
+ global runtests
+
+ set errname [file rootname [file tail $srcfile]]
+ if {! [runtest_file_p $runtests $errname]} {
+ return
+ }
+
+ set args [libjava_arguments]
+ # Add the --main flag
+ lappend args "additional_flags=--main=[file rootname [file tail $srcfile]]"
+ if { $compile_args != "" } {
+ lappend args "additional_flags=$compile_args"
+ }
+
+ regsub "^.*/(\[^/.\]+)\[.\]\[^/]*$" "$srcfile" "\\1" out
+ set executable "${objdir}/$out"
+ if { $compile_args != "" } {
+ set errname "$errname $compile_args"
+ }
+
+ if { [target_compile $srcfile "$executable" executable $args] != "" } {
+ fail "$errname compilation from source"
+ setup_xfail "*-*-*"
+ fail "$errname execution from source compiled test"
+ setup_xfail "*-*-*"
+ fail "$errname output from source compiled test"
+ return;
+ }
+ pass "$errname compilation from source"
+
+ if { $exec_args == "no-exec" } {
+ return
+ }
+
+ set result [libjava_load $executable "$exec_args" "$inpfile"];
+ set status [lindex $result 0];
+ set output [lindex $result 1];
+ $status "$errname execution from source compiled test"
+ if { $status != "pass" } {
+ setup_xfail "*-*-*"
+ fail "$errname output from source compiled test"
+ return;
+ }
+
+ verbose "resultfile is $resultfile"
+ set id [open $resultfile r];
+ set expected ""
+ append expected [read $id];
+ regsub -all "\r" "$output" "" output;
+ regsub "\n*$" $expected "" expected
+ regsub "\n*$" $output "" output
+ regsub "^\n*" $expected "" expected
+ regsub "^\n*" $output "" output
+ regsub -all "\[ \t\]\[ \t\]*" $expected " " expected
+ regsub -all "\[ \t\]*\n\n*" $expected "\n" expected
+ regsub -all "\[ \t\]\[ \t\]*" $output " " output
+ regsub -all "\[ \t\]*\n\n*" $output "\n" output
+ verbose "expected is $expected"
+ verbose "actual is $output"
+ set passed 0;
+ if {$options == "regexp_match"} {
+ if [regexp $expected $output] {
+ set passed 1;
+ }
+ } else {
+ if { $expected == $output } {
+ set passed 1;
+ }
+ }
+ if { $passed == 1 } {
+ pass "$errname output from source compiled test"
+ } else {
+ clone_output "expected was $expected"
+ clone_output "output was $output"
+ fail "$errname output from source compiled test"
+ }
+ close $id;
+}
+
+#
+# Run the test specified by srcfile and resultfile. compile_args and
+# exec_args are additional arguments to be passed in when compiling and
+# running the testcase, respectively.
+#
+proc test_libjava_from_javac { options srcfile compile_args inpfile resultfile exec_args } {
+ global base_dir
+ global LIBJAVA
+ global LIBGC
+ global srcdir subdir objdir
+ global TOOL_OPTIONS
+ global GCJ_UNDER_TEST
+ global tmpdir
+ global runtests
+
+ set errname [file rootname [file tail $srcfile]]
+ if {! [runtest_file_p $runtests $errname]} {
+ return
+ }
+
+ # bytecompile files with Sun's compiler for now.
+ set bc_ok [bytecompile_file $srcfile $objdir]
+ if {! $bc_ok} then {
+ fail "$errname byte compilation"
+ setup_xfail "*-*-*"
+ fail "$errname compilation from bytecode"
+ setup_xfail "*-*-*"
+ fail "$errname execution from bytecode->native test"
+ setup_xfail "*-*-*"
+ fail "$errname output from bytecode->native test"
+ return
+ }
+ pass "$errname byte compilation"
+
+ # Find name to use for --main, and name of all class files.
+ set jvscan [find_jvscan]
+ verbose "jvscan is $jvscan"
+ set main_name [string trim \
+ [target_compile $srcfile "" none \
+ "compiler=$jvscan additional_flags=--print-main"]]
+ verbose "main name is $main_name"
+ set class_out [string trim \
+ [target_compile $srcfile "" none \
+ "compiler=$jvscan additional_flags=--list-class"]]
+ verbose "class list is $class_out"
+ # FIXME: As of Wed Feb 24 1999, `jv-scan --list-class' prints
+ # nothing if the file contains an interface and not a class. I
+ # believe this is a jv-scan bug.
+ if {$class_out == ""} then {
+ set class_files [file rootname [file tail $srcfile]].class
+ } else {
+ # Turn "a b" into "a.class b.class".
+ set class_files [join [split [string trim $class_out]] ".class "].class
+ }
+
+ # Initial arguments.
+ set args [libjava_arguments]
+
+ # Usually it is an error for a test program not to have a `main'
+ # method. However, for no-exec tests it is ok.
+ if {$main_name == ""} {
+ if {$exec_args != "no-exec"} {
+ perror "No `main' given in program $errname"
+ return
+ } else {
+ set type object
+ set executable [file rootname [file tail $srcfile]].o
+ }
+ } else {
+ set type executable
+ lappend args "additional_flags=--main=$main_name"
+ set executable "${objdir}/$main_name"
+ }
+
+ if { $compile_args != "" } {
+ lappend args "additional_flags=$compile_args"
+ }
+
+ if { $compile_args != "" } {
+ set errname "$errname $compile_args"
+ }
+
+ if { [target_compile $class_files "$executable" $type $args] != "" } {
+ fail "$errname compilation from bytecode"
+ setup_xfail "*-*-*"
+ if {$exec_args != "no-exec"} {
+ fail "$errname execution from bytecode->native test"
+ setup_xfail "*-*-*"
+ fail "$errname output from bytecode->native test"
+ }
+ return;
+ }
+ pass "$errname compilation from bytecode"
+
+ if { $exec_args == "no-exec" } {
+ return
+ }
+
+ set result [libjava_load $executable "$exec_args" "$inpfile"];
+ set status [lindex $result 0];
+ set output [lindex $result 1];
+ $status "$errname execution from bytecode->native test"
+ if { $status != "pass" } {
+ setup_xfail "*-*-*"
+ fail "$errname output from bytecode->native test"
+ return;
+ }
+
+ verbose "resultfile is $resultfile"
+ set id [open $resultfile r];
+ set expected ""
+ append expected [read $id];
+ regsub -all "\r" "$output" "" output;
+ regsub "\n*$" $expected "" expected
+ regsub "\n*$" $output "" output
+ regsub "^\n*" $expected "" expected
+ regsub "^\n*" $output "" output
+ regsub -all "\[ \t\]\[ \t\]*" $expected " " expected
+ regsub -all "\[ \t\]*\n\n*" $expected "\n" expected
+ regsub -all "\[ \t\]\[ \t\]*" $output " " output
+ regsub -all "\[ \t\]*\n\n*" $output "\n" output
+ verbose "expected is $expected"
+ verbose "actual is $output"
+ set passed 0;
+ if {$options == "regexp_match"} {
+ if [regexp $expected $output] {
+ set passed 1;
+ }
+ } else {
+ if { $expected == $output } {
+ set passed 1;
+ }
+ }
+ if { $passed == 1 } {
+ pass "$errname output from bytecode->native test"
+ } else {
+ clone_output "expected was $expected"
+ clone_output "output was $output"
+ fail "$errname output from bytecode->native test"
+ }
+ close $id;
+}
+
+#
+# Run the test specified by srcfile and resultfile. compile_args and
+# exec_args are additional arguments to be passed in when compiling and
+# running the testcase, respectively.
+#
+proc test_libjava { options srcfile compile_args inpfile resultfile exec_args } {
+ test_libjava_from_source $options $srcfile $compile_args $inpfile $resultfile $exec_args
+ test_libjava_from_javac $options $srcfile $compile_args $inpfile $resultfile $exec_args
+ }
+
+#
+# libjava_version -- extract and print the version number of libjavap
+#
+proc default_libjava_version {} {
+}
+
+proc default_libjava_start { } {
+}
diff --git a/libjava/testsuite/libjava.compile/Case.java b/libjava/testsuite/libjava.compile/Case.java
new file mode 100644
index 0000000..c5eb1d5
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/Case.java
@@ -0,0 +1,15 @@
+// Simple compiler test.
+
+public class Case
+{
+ public static int foo (int i, support.Case x)
+ {
+ switch (i)
+ {
+ case x.A:
+ return 1;
+ default:
+ return 0;
+ }
+ }
+}
diff --git a/libjava/testsuite/libjava.compile/Semi.java b/libjava/testsuite/libjava.compile/Semi.java
new file mode 100644
index 0000000..39b3edc
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/Semi.java
@@ -0,0 +1,8 @@
+// Simple compiler test.
+
+public class Semi
+{
+ Semi () { };
+}
+
+
diff --git a/libjava/testsuite/libjava.compile/Statics.java b/libjava/testsuite/libjava.compile/Statics.java
new file mode 100644
index 0000000..b86a57c
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/Statics.java
@@ -0,0 +1,7 @@
+// Simple compiler test.
+
+public interface Statics {
+
+ public static final int OwnerGrabButtonMask = 1<<24;
+
+}
diff --git a/libjava/testsuite/libjava.compile/Twice.java b/libjava/testsuite/libjava.compile/Twice.java
new file mode 100644
index 0000000..d80760f
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/Twice.java
@@ -0,0 +1,14 @@
+// Simple compiler test.
+
+public class Twice
+{
+ Twice (boolean q)
+ {
+ if (q)
+ for (int p = 0; p < 10; p++);
+ else
+ for (int p = 0; p < 10; p++);
+ }
+}
+
+
diff --git a/libjava/testsuite/libjava.compile/Where.java b/libjava/testsuite/libjava.compile/Where.java
new file mode 100644
index 0000000..08fcc78
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/Where.java
@@ -0,0 +1,12 @@
+// Simple compiler test.
+
+public final class Where implements support.Waldo
+{
+ int WhereIsWaldo ()
+ {
+ // The compiler should find 'here' in support.Waldo.
+ return here;
+ }
+}
+
+
diff --git a/libjava/testsuite/libjava.compile/euc_comment1.java b/libjava/testsuite/libjava.compile/euc_comment1.java
new file mode 100644
index 0000000..bb55623
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/euc_comment1.java
@@ -0,0 +1,5 @@
+public class euc_comment1 {
+ public static void main(String[] args) {
+ /* ÆþÎÏ */
+ }
+}
diff --git a/libjava/testsuite/libjava.compile/euc_comment2.java b/libjava/testsuite/libjava.compile/euc_comment2.java
new file mode 100644
index 0000000..9a9426f
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/euc_comment2.java
@@ -0,0 +1,5 @@
+public class euc_comment2 {
+ public static void main(String[] args) {
+ // ÆþÎÏ
+ }
+}
diff --git a/libjava/testsuite/libjava.compile/euc_comment3.java b/libjava/testsuite/libjava.compile/euc_comment3.java
new file mode 100644
index 0000000..b0f35d0
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/euc_comment3.java
@@ -0,0 +1,5 @@
+public class euc_comment3 {
+ public static void main(String[] args) {
+ // ÆþÎÏ
+ }
+}
diff --git a/libjava/testsuite/libjava.compile/perc.java b/libjava/testsuite/libjava.compile/perc.java
new file mode 100644
index 0000000..8dc2f6f
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/perc.java
@@ -0,0 +1,9 @@
+// This generates code that `gcj -C' doesn't like.
+
+public class perc
+{
+ public static void main (String[] args)
+ {
+ System.out.println (27.0 % 10.0);
+ }
+}
diff --git a/libjava/testsuite/libjava.compile/sjis_comment1.java b/libjava/testsuite/libjava.compile/sjis_comment1.java
new file mode 100644
index 0000000..2613282
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/sjis_comment1.java
@@ -0,0 +1,5 @@
+public class sjis_comment1 {
+ public static void main(String[] args) {
+ /* “ü—Í */
+ }
+}
diff --git a/libjava/testsuite/libjava.compile/sjis_comment2.java b/libjava/testsuite/libjava.compile/sjis_comment2.java
new file mode 100644
index 0000000..d4ae92f
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/sjis_comment2.java
@@ -0,0 +1,5 @@
+public class sjis_comment2 {
+ public static void main(String[] args) {
+ // “ü—Í
+ }
+}
diff --git a/libjava/testsuite/libjava.compile/sjis_comment3.java b/libjava/testsuite/libjava.compile/sjis_comment3.java
new file mode 100644
index 0000000..7370c4e
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/sjis_comment3.java
@@ -0,0 +1,5 @@
+public class sjis_comment3 {
+ public static void main(String[] args) {
+ // “ü—Í
+ }
+}
diff --git a/libjava/testsuite/libjava.compile/support/Case.java b/libjava/testsuite/libjava.compile/support/Case.java
new file mode 100644
index 0000000..709b47a
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/support/Case.java
@@ -0,0 +1,6 @@
+package support;
+
+public class Case
+{
+ public static final int A = 9;
+}
diff --git a/libjava/testsuite/libjava.compile/support/Waldo.java b/libjava/testsuite/libjava.compile/support/Waldo.java
new file mode 100644
index 0000000..e28829d
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/support/Waldo.java
@@ -0,0 +1,7 @@
+package support;
+
+public interface Waldo {
+
+ public static final int here = 9;
+
+}
diff --git a/libjava/testsuite/libjava.compile/test.exp b/libjava/testsuite/libjava.compile/test.exp
new file mode 100644
index 0000000..db6aef1
--- /dev/null
+++ b/libjava/testsuite/libjava.compile/test.exp
@@ -0,0 +1,10 @@
+global srcdir subdir
+
+catch "glob -nocomplain ${srcdir}/${subdir}/*.java" srcfiles
+verbose "srcfiles are $srcfiles"
+
+set prefix ""
+foreach x $srcfiles {
+ test_libjava $options "$x" "" "" "" "no-exec"
+ test_libjava $options "$x" "-O" "" "" "no-exec"
+}
diff --git a/libjava/testsuite/libjava.lang/Array_1.java b/libjava/testsuite/libjava.lang/Array_1.java
new file mode 100644
index 0000000..1fcf04e
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Array_1.java
@@ -0,0 +1,18 @@
+// Test of array stuff. Technically this probably isn't in java.lang.
+
+public class Array_1
+{
+ public static void main (String[] args)
+ {
+ int x[][] = { { 1, 2}, null };
+
+ System.out.println(Cloneable.class.isInstance(x));
+
+ // This example is from the Java Spec book.
+ int y[][] = (int[][]) x.clone();
+ System.out.println(x == y);
+ System.out.println(x[0] == y[0] && x[1] == y[1]);
+
+ System.out.println(x.getClass().getSuperclass());
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/Array_1.out b/libjava/testsuite/libjava.lang/Array_1.out
new file mode 100644
index 0000000..3cc754d
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Array_1.out
@@ -0,0 +1,4 @@
+true
+false
+true
+class java.lang.Object
diff --git a/libjava/testsuite/libjava.lang/Finalize_1.java b/libjava/testsuite/libjava.lang/Finalize_1.java
new file mode 100644
index 0000000..b1a4d95
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Finalize_1.java
@@ -0,0 +1,28 @@
+// Finalize.java - Test code for finalizers.
+
+import java.io.*;
+import java.util.*;
+import java.lang.Runtime;
+
+public final class Finalize_1
+{
+ public static void main (String[] args)
+ {
+ Finalize_1 f;
+ Runtime t;
+
+ t = Runtime.getRuntime ();
+
+ for (int i = 0; i < 3; ++i)
+ f = new Finalize_1 ();
+ f = null;
+
+ t.gc ();
+ t.runFinalization ();
+ }
+
+ public void finalize () throws Throwable
+ {
+ System.out.print ("Finalize ");
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/Finalize_1.out b/libjava/testsuite/libjava.lang/Finalize_1.out
new file mode 100644
index 0000000..45b1f96
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Finalize_1.out
@@ -0,0 +1 @@
+Finalize Finalize Finalize
diff --git a/libjava/testsuite/libjava.lang/Float_1.java b/libjava/testsuite/libjava.lang/Float_1.java
new file mode 100644
index 0000000..cb147ee
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Float_1.java
@@ -0,0 +1,52 @@
+/*
+
+Date: 25 Aug 1998 16:04:00 -0000
+From: Andrew Haley <aph@pasanda.cygnus.co.uk>
+To: java-project@cygnus.com
+Subject: Help: vtable problem?
+
+My little program:
+
+-----------------------------------------------------------------------
+import java.lang.*;
+
+ public class widget
+ {
+ public static void main (String argv[])
+ {
+ int test = Float.floatToIntBits((float)2.0);
+ String s = Integer.toHexString(test);
+
+ System.out.print (s+"\n");
+ }
+
+ }
+-----------------------------------------------------------------------
+prints out
+
+40000000
+
+with Sun's interpreter, but prints out
+
+true
+
+when compiled with gcj; PrintStream dispatches a string arg as a
+boolean rather than as a String. I've tried to rebuild everything.
+
+?
+
+Thanks,
+Andrew.
+
+*/
+
+public class Float_1
+{
+ public static void main (String argv[])
+ {
+ int test = Float.floatToIntBits((float)2.0);
+ String s = Integer.toHexString(test);
+
+ System.out.print (s+"\n");
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/Float_1.out b/libjava/testsuite/libjava.lang/Float_1.out
new file mode 100644
index 0000000..52f3f6a
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Float_1.out
@@ -0,0 +1 @@
+40000000
diff --git a/libjava/testsuite/libjava.lang/Invoke_1.java b/libjava/testsuite/libjava.lang/Invoke_1.java
new file mode 100644
index 0000000..bc467830
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Invoke_1.java
@@ -0,0 +1,27 @@
+// Test of failing method invocation.
+
+public class Invoke_1
+{
+ public void call_me ()
+ {
+ System.out.println ("no");
+ }
+
+ public static Invoke_1 get_i ()
+ {
+ return null;
+ }
+
+ public static void main (String[] args)
+ {
+ Invoke_1 i = get_i ();
+ try
+ {
+ i.call_me ();
+ }
+ catch (NullPointerException ok)
+ {
+ System.out.println ("ok");
+ }
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/Invoke_1.out b/libjava/testsuite/libjava.lang/Invoke_1.out
new file mode 100644
index 0000000..9766475
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Invoke_1.out
@@ -0,0 +1 @@
+ok
diff --git a/libjava/testsuite/libjava.lang/Synch.java b/libjava/testsuite/libjava.lang/Synch.java
new file mode 100644
index 0000000..15e2d26
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Synch.java
@@ -0,0 +1,17 @@
+public class Synch
+{
+ public synchronized void s()
+ {
+ // This call to notify() isn't supposed to cause a
+ // java.lang.IllegalMonitorStateException.
+ notify ();
+ }
+
+ public static void main (String[] args)
+ {
+ (new Synch()).s();
+ System.out.println ("Ok");
+ }
+}
+
+
diff --git a/libjava/testsuite/libjava.lang/Synch.out b/libjava/testsuite/libjava.lang/Synch.out
new file mode 100644
index 0000000..7326d96
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Synch.out
@@ -0,0 +1 @@
+Ok
diff --git a/libjava/testsuite/libjava.lang/Thread_1.java b/libjava/testsuite/libjava.lang/Thread_1.java
new file mode 100644
index 0000000..932afa5
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Thread_1.java
@@ -0,0 +1,182 @@
+// Various thread tests.
+
+public class Thread_1 extends Thread
+{
+ // The group for the workers.
+ static ThreadGroup subgroup;
+
+ // Which piece of test code to try.
+ static int test_case;
+
+ // Names of the tests.
+ static final int JOIN_GOOD = 0;
+ static final int JOIN_TIMEOUT = 1;
+ static final int JOIN_INTERRUPTED = 2;
+ static final int THREAD_EXIT = 3;
+
+ // True if this is normal; false if daemon.
+ boolean normal;
+ // The other thread in the test.
+ Thread_1 other;
+ // True when the thread has entered run().
+ boolean started;
+
+ public void run ()
+ {
+ try
+ {
+ if (normal)
+ {
+ System.out.println ("test " + test_case);
+ // Tell the main thread to start the daemon thread.
+ synchronized (this)
+ {
+ started = true;
+ notify ();
+ }
+ // Now wait for daemon to start.
+ synchronized (other)
+ {
+ while (! other.started)
+ other.wait ();
+ }
+ switch (test_case)
+ {
+ case JOIN_GOOD:
+ other.join ();
+ System.out.println ("joined");
+ break;
+ case JOIN_TIMEOUT:
+ other.join (10);
+ System.out.println (other.isAlive());
+ other.join ();
+ break;
+ case JOIN_INTERRUPTED:
+ other.join ();
+ System.out.println ("joined");
+ break;
+ case THREAD_EXIT:
+ // Nothing.
+ break;
+
+ default:
+ System.out.println ("failure");
+ break;
+ }
+ }
+ else
+ {
+ // Let the normal thread start first.
+ synchronized (other)
+ {
+ while (! other.started)
+ other.wait();
+ }
+ // Tell normal thread that we've started.
+ synchronized (this)
+ {
+ started = true;
+ notify ();
+ }
+ switch (test_case)
+ {
+ case JOIN_GOOD:
+ System.out.println ("daemon done");
+ break;
+ case JOIN_TIMEOUT:
+ sleep (50);
+ break;
+ case JOIN_INTERRUPTED:
+ other.interrupt ();
+ break;
+ case THREAD_EXIT:
+ // Wait for a while. However, don't wait indefinitely
+ // -- we want this thread to terminate so that the
+ // process won't hang if there is a bug.
+ sleep (10000);
+ System.out.println ("daemon still alive");
+ break;
+
+ default:
+ System.out.println ("failure");
+ break;
+ }
+ }
+ }
+ catch (InterruptedException e)
+ {
+ System.out.println ("interrupted");
+ }
+ }
+
+ public void setOther (Thread_1 x)
+ {
+ other = x;
+ }
+
+ Thread_1 (String name, boolean x)
+ {
+ super (subgroup, name);
+ normal = x;
+ started = false;
+ setDaemon (! normal);
+ }
+
+ // Run a single test.
+ static Thread_1 doit (int what)
+ {
+ // FIXME: we used to just use the same threads each time. That
+ // didn't work -- must debug.
+ Thread_1 dt = new Thread_1 ("daemon", false);
+ Thread_1 nt = new Thread_1 ("normal", true);
+
+ dt.setOther(nt);
+ nt.setOther(dt);
+
+ test_case = what;
+ try
+ {
+ nt.start();
+ dt.start();
+
+ // Don't wait for the threads if we're doing the exit test.
+ if (what != THREAD_EXIT)
+ {
+ nt.join ();
+ dt.join ();
+ }
+ }
+ catch (InterruptedException e)
+ {
+ System.out.println ("caught bad exception");
+ }
+
+ return dt;
+ }
+
+ public static void main (String[] args)
+ {
+ subgroup = new ThreadGroup ("sub");
+
+ doit (JOIN_GOOD);
+
+ System.out.println ("active count = " + subgroup.activeCount ());
+
+ Thread_1 dt = doit (JOIN_TIMEOUT);
+ // Make sure that joining a dead thread works.
+ System.out.println ("still alive: " + dt.isAlive ());
+ try
+ {
+ dt.join ();
+ }
+ catch (InterruptedException e)
+ {
+ System.out.println ("exception caught");
+ }
+
+ doit (JOIN_INTERRUPTED);
+
+ // This test must come last.
+ doit (THREAD_EXIT);
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/Thread_1.out b/libjava/testsuite/libjava.lang/Thread_1.out
new file mode 100644
index 0000000..1bd7a01
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Thread_1.out
@@ -0,0 +1,10 @@
+test 0
+daemon done
+joined
+active count = 2
+test 1
+true
+still alive: false
+test 2
+interrupted
+test 3
diff --git a/libjava/testsuite/libjava.lang/Throw_1.java b/libjava/testsuite/libjava.lang/Throw_1.java
new file mode 100644
index 0000000..4a0780a
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Throw_1.java
@@ -0,0 +1,25 @@
+// Some tests of `throw'.
+
+public class Throw_1
+{
+ public static Throwable get ()
+ {
+ return null;
+ }
+
+ public static void main (String[] args)
+ {
+ Throwable t = get ();
+ try
+ {
+ throw t;
+ }
+ catch (NullPointerException y)
+ {
+ }
+ catch (Throwable x)
+ {
+ System.out.println ("no");
+ }
+ }
+}
diff --git a/libjava/testsuite/libjava.lang/Throw_1.out b/libjava/testsuite/libjava.lang/Throw_1.out
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/Throw_1.out
diff --git a/libjava/testsuite/libjava.lang/test.exp b/libjava/testsuite/libjava.lang/test.exp
new file mode 100644
index 0000000..cfe9cf5
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/test.exp
@@ -0,0 +1,34 @@
+global srcdir subdir
+
+catch "glob -nocomplain ${srcdir}/${subdir}/*.out" srcfiles
+verbose "srcfiles are $srcfiles"
+
+set prefix ""
+foreach x $srcfiles {
+ regsub "\\.out$" $x "" prefix
+ set bname [file tail $prefix]
+ set args ""
+ if [file exists $srcdir/$subdir/${bname}.arg] {
+ set id [open "$srcdir/$subdir/${bname}.arg" r];
+ set args [read -nonewline $id];
+ close $id;
+ }
+ if [file exists $srcdir/$subdir/${bname}.xpo] {
+ set resfile "$srcdir/$subdir/${bname}.xpo"
+ set options "regexp_match"
+ } else {
+ set resfile "${prefix}.out"
+ set options ""
+ }
+
+ if [file exists ${prefix}.inp] {
+ set inpfile ${prefix}.inp
+ } else {
+ set inpfile ""
+ }
+
+ verbose "inpfile is $inpfile"
+
+ test_libjava $options "${prefix}.java" "" $inpfile $resfile $args
+ test_libjava $options "${prefix}.java" "-O" $inpfile $resfile $args
+}
diff --git a/libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java b/libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java
new file mode 100644
index 0000000..5c1cf5e
--- /dev/null
+++ b/libjava/testsuite/libjava.mauve/DejaGNUTestHarness.java
@@ -0,0 +1,31 @@
+// Copyright (c) 1998, 1999 Cygnus Solutions
+
+// Written by Tom Tromey <tromey@cygnus.com>
+
+import gnu.testlet.*;
+
+public class DejaGNUTestHarness extends SimpleTestHarness
+{
+ static String dejasrcdir;
+
+ public String getSourceDirectory ()
+ {
+ return dejasrcdir;
+ }
+
+ private DejaGNUTestHarness ()
+ {
+ super (/* verbose */ true, /* debug */ false);
+ }
+
+ public static void main (String[] args)
+ {
+ dejasrcdir = args.length > 0 ? args[0] : "";
+ DejaGNUTestHarness harness = new DejaGNUTestHarness ();
+ // This might seem weird, given that we check args.length above.
+ // However, in some cases the expect code rewrites this runtest
+ // invocation to have an explicit name for the test to run.
+ harness.runtest (args[1]);
+ System.exit(harness.done());
+ }
+}
diff --git a/libjava/testsuite/libjava.mauve/mauve.exp b/libjava/testsuite/libjava.mauve/mauve.exp
new file mode 100644
index 0000000..7d5e71e
--- /dev/null
+++ b/libjava/testsuite/libjava.mauve/mauve.exp
@@ -0,0 +1,355 @@
+# Copyright (C) 1998, 1999 Cygnus Solutions.
+# Written by Tom Tromey <tromey@cygnus.com>.
+# Incorporate Mauve into libjava's DejaGNU test suite framework.
+
+# FIXME: should be able to compile from source as well as from .class.
+
+
+# Compute list of files to compile. Returns list of all files
+# representing classes that must be tested. Result parameter `uses'
+# maps source file names onto list of objects required for link.
+proc mauve_compute_uses {aName} {
+ upvar $aName uses
+ global env
+
+ set fd [open classes r]
+ set line [read $fd]
+ close $fd
+
+ foreach item [split $line] {
+ if {$item == ""} then {
+ continue
+ }
+ set item [join [split $item .] /].java
+
+ # Look for Uses line in source file.
+ set fd [open $env(MAUVEDIR)/$item r]
+ set ufiles [list $item]
+ set dir [file dirname $item]
+ while {[gets $fd sline] != -1} {
+ if {[regsub -- {^// Uses:} $sline {} sline]} then {
+ foreach uf [split $sline] {
+ if {$uf != ""} then {
+ lappend ufiles $dir/$uf
+ }
+ }
+ }
+ }
+ close $fd
+
+ set uses($item) {}
+ foreach file $ufiles {
+ set file [file rootname $file].o
+ lappend uses($item) $file
+ }
+ }
+
+ return [lsort [array names uses]]
+}
+
+# Run all the Mauve tests.
+proc test_mauve {} {
+ global srcdir subdir env
+
+ if {! [info exists env(MAUVEDIR)]} then {
+ verbose "MAUVEDIR not set; not running Mauve tests"
+ return
+ }
+
+ # Run in subdir so we don't overwrite our own Makefile.
+ catch {system "rm -rf mauve-build"}
+ file mkdir mauve-build
+ # Some weirdness to set srcdir correctly.
+ set here [pwd]
+ cd $srcdir
+ set full_srcdir [pwd]
+ cd $here/mauve-build
+
+ if {[catch {system "$env(MAUVEDIR)/configure --with-gcj"} msg]} then {
+ fail "Mauve configure"
+ verbose "configure failed with $msg"
+ return
+ }
+ pass "Mauve configure"
+
+ # Copy appropriate tags file locally.
+ set fd [open $full_srcdir/../mauve-libgcj r]
+ set c [read $fd]
+ close $fd
+ set fd [open mauve-libgcj w]
+ puts -nonewline $fd $c
+ close $fd
+
+ if {[catch {system "make KEYS=libjava classes.stamp"} msg]} then {
+ fail "Mauve build"
+ verbose "build failed with $msg"
+ return
+ }
+ pass "Mauve build"
+
+ set srcfile $full_srcdir/$subdir/DejaGNUTestHarness.java
+ if {! [bytecompile_file $srcfile [pwd] $env(MAUVEDIR):[pwd]]} then {
+ fail "Compile DejaGNUTestHarness.java"
+ return
+ }
+ pass "Compile DejaGNUTestHarness.java"
+
+ # Compute list of files to test, and also all files to build.
+ set choices [mauve_compute_uses uses]
+
+ # Compute flags to use to do the build.
+ set compile_args [libjava_arguments]
+ set link_args [concat $compile_args \
+ [list "additional_flags=--main=DejaGNUTestHarness"]]
+
+ set ok 1
+ set objlist {}
+ foreach base {DejaGNUTestHarness gnu/testlet/SimpleTestHarness gnu/testlet/TestHarness gnu/testlet/Testlet gnu/testlet/ResourceNotFoundException gnu/testlet/config} {
+ set file $base.class
+ set obj $base.o
+ if {[target_compile [pwd]/$file $obj object $compile_args] != ""} then {
+ fail "Compile $obj"
+ set ok 0
+ } else {
+ pass "Compile $obj"
+ }
+ lappend objlist $obj
+ }
+ if {! $ok} then {
+ return
+ }
+
+ set Executable DejaGNUTestHarness
+ foreach file $choices {
+ # Turn `java/lang/Foo.java' into `java.lang.Foo'.
+ set class [file rootname $file]
+ regsub -all -- / $class . class
+
+ set ok 1
+ foreach obj $uses($file) {
+ if {! [file exists $obj]} then {
+ verbose "compiling $obj for test of $class"
+ set srcfile [file rootname $obj].class
+ if {[target_compile [pwd]/$srcfile $obj object $compile_args]
+ != ""} then {
+ fail "Compile $obj for $class"
+ set ok 0
+ break
+ }
+ pass "Compile $obj for $class"
+ }
+ }
+ if {! $ok} then {
+ continue
+ }
+
+ if {[target_compile [concat $uses($file) $objlist] \
+ $Executable executable $link_args] != ""} then {
+ fail "Link for $class"
+ continue
+ }
+ pass "Link for $class"
+
+ set result [libjava_load [pwd]/DejaGNUTestHarness \
+ "$env(MAUVEDIR) $class" ""]
+ if {[lindex $result 0] != "pass"} then {
+ fail "Execute for $class"
+ continue
+ }
+
+ # Test for an exception thrown in the test harness itself. This
+ # isn't enough to test for all faults in the test harness, but
+ # it's better than nothing.
+ set output [lindex $result 1];
+ if [regexp "Exception: " $output] then {
+ fail $output
+ continue
+ }
+
+ pass "Execute for $class"
+
+ # Extract pass/failure info from output.
+ foreach line [split [lindex $result 1] \n] {
+ if {[regexp -- {^(PASS|FAIL): (.*)$} $line ignore what msg]} then {
+ if {$what == "PASS"} then {
+ pass $msg
+ } else {
+ fail $msg
+ }
+ }
+ }
+ }
+}
+
+# Run all the Mauve tests in a sim environment. In this case, the
+# program cannot use argv[] because there's no way to pass in the
+# command line, so tha name of the class to test is substituted by
+# patching the source of the DejaGNUTestHarness.
+proc test_mauve_sim {} {
+ global srcdir subdir env
+
+ if {! [info exists env(MAUVEDIR)]} then {
+ verbose "MAUVEDIR not set; not running Mauve tests"
+ return
+ }
+
+ # Run in subdir so we don't overwrite our own Makefile.
+ catch {system "rm -rf mauve-build"}
+ file mkdir mauve-build
+ # Some weirdness to set srcdir correctly.
+ set here [pwd]
+ cd $srcdir
+ set full_srcdir [pwd]
+ cd $here/mauve-build
+
+ if {[catch {system "$env(MAUVEDIR)/configure --with-gcj"} msg]} then {
+ fail "Mauve configure"
+ verbose "configure failed with $msg"
+ return
+ }
+ pass "Mauve configure"
+
+ # Copy appropriate tags file locally.
+ set fd [open $full_srcdir/../mauve-libgcj r]
+ set c [read $fd]
+ close $fd
+ set fd [open mauve-libgcj w]
+ puts -nonewline $fd $c
+ close $fd
+
+ if {[catch {system "make KEYS=libjava classes.stamp"} msg]} then {
+ fail "Mauve build"
+ verbose "build failed with $msg"
+ return
+ }
+ pass "Mauve build"
+
+ # Compute list of files to test, and also all files to build.
+ set choices [mauve_compute_uses uses]
+
+ # Compute flags to use to do the build.
+ set compile_args [libjava_arguments]
+ set link_args [concat $compile_args \
+ [list "additional_flags=--main=DejaGNUTestHarness"]]
+
+ set ok 1
+ set objlist {}
+ foreach base {gnu/testlet/SimpleTestHarness gnu/testlet/TestHarness \
+ gnu/testlet/Testlet gnu/testlet/ResourceNotFoundException \
+ gnu/testlet/config} {
+ set file $base.class
+ set obj $base.o
+ if {[target_compile [pwd]/$file $obj object $compile_args] != ""} then {
+ fail "Compile $obj"
+ set ok 0
+ } else {
+ pass "Compile $obj"
+ }
+ lappend objlist $obj
+ }
+ if {! $ok} then {
+ return
+ }
+
+ lappend objlist gnu/testlet/DejaGNUTestHarness.o
+
+ set Executable DejaGNUTestHarness
+ foreach file $choices {
+ # Turn `java/lang/Foo.java' into `java.lang.Foo'.
+
+ set class [file rootname $file]
+ regsub -all -- / $class . class
+
+ set ok 1
+ foreach obj $uses($file) {
+ if {! [file exists $obj]} then {
+ verbose "compiling $obj for test of $class"
+ set srcfile [file rootname $obj].class
+ if {[target_compile [pwd]/$srcfile $obj object $compile_args]
+ != ""} then {
+ fail "Compile $obj for $class"
+ set ok 0
+ break
+ }
+ pass "Compile $obj for $class"
+ }
+ }
+ if {! $ok} then {
+ continue
+ }
+
+ set infile $full_srcdir/$subdir/DejaGNUTestHarness.java
+ set srcfile DejaGNUTestHarness.java
+ set f [open $infile r]
+ set d [open gnu/testlet/$srcfile w]
+ while {[gets $f line] >= 0} {
+ if [regexp {harness\.runtest \(args\[1\]\)} $line] then {
+ regsub {args\[1\]} $line "\"$class\"" out
+ } else {
+ set out $line
+ }
+ puts $d $out
+ }
+ close $f
+ close $d
+
+ if {! [bytecompile_file [pwd]/gnu/testlet/$srcfile [pwd]/gnu/testlet \
+ $env(MAUVEDIR):[pwd]]} then {
+ fail "Compile DejaGNUTestHarness.java"
+ return
+ }
+
+ if {[target_compile gnu/testlet/DejaGNUTestHarness.class \
+ gnu/testlet/DejaGNUTestHarness.o object $compile_args]
+ != ""} then {
+ fail "Compile DejaGNUTestHarness.java"
+ continue
+ }
+
+ if {[target_compile [concat $uses($file) $objlist] \
+ $Executable executable $link_args] != ""} then {
+ fail "Link for $class"
+ continue
+ }
+ pass "Link for $class"
+
+ set result [libjava_load [pwd]/DejaGNUTestHarness \
+ "$env(MAUVEDIR) $class" ""]
+ if {[lindex $result 0] != "pass"} then {
+ fail "Execute for $class"
+ continue
+ }
+
+ # Test for an exception thrown in the test harness itself. This
+ # isn't enough to test for all faults in the test harness, but
+ # it's better than nothing.
+ set output [lindex $result 1];
+ if [regexp "Exception: " $output] then {
+ fail $output
+ continue
+ }
+
+ pass "Execute for $class"
+
+ # Extract pass/failure info from output.
+ foreach line [split [lindex $result 1] \n] {
+ if {[regexp -- {^(PASS|FAIL): (.*)$} $line ignore what msg]} then {
+ if {$what == "PASS"} then {
+ pass $msg
+ } else {
+ fail $msg
+ }
+ }
+ }
+ }
+}
+
+# The test_mauve* procs will change the current directory. It's
+# simpler to fix this up here than to keep track of this in the procs.
+set here [pwd]
+if { [board_info target exists is_simulator] } {
+ test_mauve_sim
+} else {
+ test_mauve
+}
+cd $here