java tea 加密_QQ通信使用的TEA加密

packageFate.qqrecordreader;import java.io.*;importjava.nio.ByteBuffer;import java.util.*;importorg.apache.commons.codec.digest.DigestUtils;importorg.apache.commons.logging.Log;importorg.apache.commons.logging.LogFactory;public classUtil

{publicUtil()

{

}public static long getUnsignedInt(byte in[], int offset, intlen)

{long ret = 0L;int end = 0;if(len > 8)

end= offset + 8;elseend= offset +len;for(int i = offset; i < end; i++)

{

ret<<= 8;

ret|= in[i] & 0xff;

}return ret & 0xffffffffL | ret >>> 32;

}private static boolean shouldFilterred(charc)

{return (c >= '\0' || (CHARS[c] & 1) == 0) && ('\0' > c || c > '\0');

}public staticString filterUnprintableCharacter(String s)

{

sb.delete(0, sb.length());

sb.append(s);for(; sb.length() > 0; sb.deleteCharAt(0))

{char c = sb.charAt(0);if(!shouldFilterred(c))break;

}for(; sb.length() > 0; sb.deleteCharAt(sb.length() - 1))

{char c = sb.charAt(sb.length() - 1);if(!shouldFilterred(c))break;

}int len =sb.length();for(int i = len - 1; i >= 0; i--)

{char c =sb.charAt(i);if(shouldFilterred(c) && !Character.isSpaceChar(c))

sb.deleteCharAt(i);

}returnsb.toString();

}public static boolean isByteArrayEqual(byte b1[], byteb2[])

{if(b1.length !=b2.length)return false;for(int i = 0; i < b1.length; i++)if(b1[i] !=b2[i])return false;return true;

}public static boolean checkFileMD5(RandomAccessFile file, bytemd5[])

{returncompareMD5(getFileMD5(file), md5);

}public static boolean isIpZero(byteip[])

{for(int i = 0; i < ip.length; i++)if(ip[i] != 0)return false;return true;

}public static boolean checkFileMD5(String filename, bytemd5[])

{returncompareMD5(getFileMD5(filename), md5);

}public static byte[] getFileMD5(String filename)

{try{

RandomAccessFile file= new RandomAccessFile(filename, "r");byte md5[] =getFileMD5(file);

file.close();returnmd5;

}catch(Exception e)

{return null;

}

}public static byte[] getFileMD5(RandomAccessFile file)

{try{

file.seek(0L);byte buf[] = file.length() <= 0x98a000L ? new byte[(int)file.length()] : new byte[0x98a000];

file.readFully(buf);returnDigestUtils.md5(buf);

}catch(IOException e)

{return null;

}

}public staticString getFileMD5String(String filename)

{byte md5[] =getFileMD5(filename);if(md5 == null)return null;

sb.delete(0, sb.length());for(int i = 0; i < md5.length; i++)

{

String s= Integer.toHexString(md5[i] & 0xff);if(s.length() < 2)

sb.append('0').append(s);elsesb.append(s);

}returnsb.toString().toUpperCase();

}public static boolean compareMD5(byte m1[], bytem2[])

{if(m1 == null || m2 == null)return true;for(int i = 0; i < 16; i++)if(m1[i] !=m2[i])return false;return true;

}public static byte[] getBytes(String s, String encoding)

{try{returns.getBytes(encoding);

}catch(UnsupportedEncodingException e)

{returns.getBytes();

}

}public static byte[] getBytes(String s)

{return getBytes(s, "GBK");

}public staticString getString(String s, String srcEncoding, String destEncoding)

{try{return newString(s.getBytes(srcEncoding), destEncoding);

}catch(UnsupportedEncodingException e)

{returns;

}

}public static String getString(ByteBuffer buf, bytedelimit)

{

baos.reset();byteb;for(; buf.hasRemaining(); baos.write(b))

{

b=buf.get();if(b ==delimit)returngetString(baos.toByteArray());

}returngetString(baos.toByteArray());

}public staticString getString(ByteBuffer buf)

{

baos.reset();for(; buf.hasRemaining(); baos.write(buf.get()));returngetString(baos.toByteArray());

}public static String getString(ByteBuffer buf, intlen)

{

baos.reset();for(; buf.hasRemaining() && len-- > 0; baos.write(buf.get()));returngetString(baos.toByteArray());

}public static String getString(ByteBuffer buf, byte delimit, intmaxLen)

{

baos.reset();byteb;for(; buf.hasRemaining() && maxLen-- > 0; baos.write(b))

{

b=buf.get();if(b ==delimit)break;

}for(; buf.hasRemaining() && maxLen-- > 0; buf.get());returngetString(baos.toByteArray());

}public static String getString(byteb[], String encoding)

{try{return newString(b, encoding);

}catch(UnsupportedEncodingException e)

{return newString(b);

}

}public static String getString(byteb[])

{return getString(b, "GBK");

}public static String getString(byte b[], int offset, intlen, String encoding)

{try{return newString(b, offset, len, encoding);

}catch(UnsupportedEncodingException e)

{return newString(b, offset, len);

}

}public static String getString(byte b[], int offset, intlen)

{return getString(b, offset, len, "GBK");

}public static int getInt(String s, intfaultValue)

{try{returnInteger.parseInt(s);

}catch(NumberFormatException e)

{returnfaultValue;

}

}public static long getLong(String s, int radix, longfaultValue)

{try{returnLong.parseLong(s, radix);

}catch(NumberFormatException e)

{returnfaultValue;

}

}public static int getInt(String s, int radix, intfaultValue)

{try{returnInteger.parseInt(s, radix);

}catch(NumberFormatException e)

{returnfaultValue;

}

}public static booleanisInt(String s)

{try{

Integer.parseInt(s);return true;

}catch(NumberFormatException e)

{return false;

}

}public static char getChar(String s, intfaultValue)

{return (char)(getInt(s, faultValue) & 0xffff);

}public static byte getByte(String s, intfaultValue)

{return (byte)(getInt(s, faultValue) & 0xff);

}public static String getIpStringFromBytes(byteip[])

{

sb.delete(0, sb.length());

sb.append(ip[0] & 0xff);

sb.append('.');

sb.append(ip[1] & 0xff);

sb.append('.');

sb.append(ip[2] & 0xff);

sb.append('.');

sb.append(ip[3] & 0xff);returnsb.toString();

}public static byte[] getIpByteArrayFromString(String ip)

{byte ret[] = new byte[4];

StringTokenizer st= new StringTokenizer(ip, ".");try{

ret[0] = (byte)(Integer.parseInt(st.nextToken()) & 0xff);

ret[1] = (byte)(Integer.parseInt(st.nextToken()) & 0xff);

ret[2] = (byte)(Integer.parseInt(st.nextToken()) & 0xff);

ret[3] = (byte)(Integer.parseInt(st.nextToken()) & 0xff);

}catch(Exception e)

{

log.error(e.getMessage());

}returnret;

}public static boolean isIpEquals(byte ip1[], byteip2[])

{return ip1[0] == ip2[0] && ip1[1] == ip2[1] && ip1[2] == ip2[2] && ip1[3] == ip2[3];

}public static String getCommandString(charcmd)

{switch(cmd)

{case 98: //'b'

return "QQ_CMD_REQUEST_LOGIN_TOKEN";case 1: //'\001'

return "QQ.QQ_CMD_LOGOUT";case 2: //'\002'

return "QQ.QQ_CMD_KEEP_ALIVE";case 4: //'\004'

return "QQ.QQ_CMD_MODIFY_INFO";case 5: //'\005'

return "QQ.QQ_CMD_SEARCH_USER";case 6: //'\006'

return "QQ.QQ_CMD_GET_USER_INFO";case 92: //'\\'

return "QQ_CMD_FRIEND_LEVEL_OP";case 167:return "QQ_CMD_ADD_FRIEND_EX";case 10: //'\n'

return "QQ.QQ_CMD_DELETE_FRIEND";case 11: //'\013'

return "QQ.QQ_CMD_ADD_FRIEND_AUTH";case 13: //'\r'

return "QQ.QQ_CMD_CHANGE_STATUS";case 18: //'\022'

return "QQ.QQ_CMD_ACK_SYS_MSG";case 22: //'\026'

return "QQ.QQ_CMD_SEND_IM";case 23: //'\027'

return "QQ.QQ_CMD_RECV_IM";case 28: //'\034'

return "QQ.QQ_CMD_REMOVE_SELF";case 34: //'"'

return "QQ.QQ_CMD_LOGIN";case 38: //'&'

return "QQ.QQ_CMD_GET_FRIEND_LIST";case 39: //'\''

return "QQ.QQ_CMD_GET_FRIEND_ONLINE";case 48: //'0'

return "QQ.QQ_CMD_CLUSTER_CMD";case 128:return "QQ.QQ_CMD_RECV_MSG_SYS";case 129:return "QQ.QQ_CMD_RECV_MSG_FRIEND_CHANGE_STATUS";case 29: //'\035'

return "QQ_CMD_REQUEST_KEY";case 60: //'

return "QQ_CMD_GROUP_NAME_OP";case 61: //'='

return "QQ_CMD_UPLOAD_GROUP_FRIEND";case 88: //'X'

return "QQ_CMD_DOWNLOAD_GROUP_FRIEND";case 62: //'>'

return "QQ_CMD_FRIEND_DATA_OP";case 97: //'a'

return "QQ_CMD_ADVANCED_SEARCH";case 95: //'_'

return "QQ_CMD_GET_TEMP_CLUSTER_ONLINE_MEMBER";case 168:return "QQ_CMD_AUTHORIZE";case 103: //'g'

return "QQ_CMD_SIGNATURE_OP";case 101: //'e'

return "QQ_CMD_USER_PROPERTY_OP";case 166:return "QQ_CMD_WEATHER_OP";case 45: //'-'

return "QQ_CMD_SEND_SMS";case 102: //'f'

return "QQ_CMD_TEMP_SESSION_OP";case 94: //'^'

return "QQ_CMD_PRIVACY_DATA_OP";

}return (new StringBuilder("UNKNOWN_TYPE ")).append(cmd).toString();

}public static String getClusterCommandString(bytecmd)

{switch(cmd)

{case 1: //'\001'

return "QQ_CLUSTER_CMD_CREATE_CLUSTER";case 2: //'\002'

return "QQ_CLUSTER_CMD_MODIFY_MEMBER";case 3: //'\003'

return "QQ_CLUSTER_CMD_MODIFY_CLUSTER_INFO";case 4: //'\004'

return "QQ_CLUSTER_CMD_GET_CLUSTER_INFO";case 5: //'\005'

return "QQ_CLUSTER_CMD_ACTIVATE_CLUSTER";case 6: //'\006'

return "QQ_CLUSTER_CMD_SEARCH_CLUSTER";case 7: //'\007'

return "QQ_CLUSTER_CMD_JOIN_CLUSTER";case 8: //'\b'

return "QQ_CLUSTER_CMD_JOIN_CLUSTER_AUTH";case 9: //'\t'

return "QQ_CLUSTER_CMD_EXIT_CLUSTER";case 11: //'\013'

return "QQ_CLUSTER_CMD_GET_ONLINE_MEMBER";case 12: //'\f'

return "QQ_CLUSTER_CMD_GET_MEMBER_INFO";case 51: //'3'

return "QQ_CLUSTER_CMD_GET_TEMP_INFO";case 55: //'7'

return "QQ_CLUSTER_CMD_ACTIVATE_TEMP";case 19: //'\023'

return "QQ_CLUSTER_CMD_COMMIT_MEMBER_ORGANIZATION";case 17: //'\021'

return "QQ_CLUSTER_CMD_COMMIT_MEMBER_ORGANIZATION";case 48: //'0'

return "QQ_CLUSTER_CMD_CREATE_TEMP";case 50: //'2'

return "QQ_CLUSTER_CMD_EXIT_TEMP";case 16: //'\020'

return "QQ_CLUSTER_CMD_GET_CARD";case 15: //'\017'

return "QQ_CLUSTER_CMD_GET_CARD_BATCH";case 25: //'\031'

return "QQ_CLUSTER_CMD_GET_VERSION_ID";case 14: //'\016'

return "QQ_CLUSTER_CMD_MODIFY_CARD";case 52: //'4'

return "QQ_CLUSTER_CMD_MODIFY_TEMP_INFO";case 53: //'5'

return "QQ_CLUSTER_CMD_SEND_TEMP_IM";case 10: //'\n'

case 13: //'\r'

case 18: //'\022'

case 20: //'\024'

case 21: //'\025'

case 22: //'\026'

case 23: //'\027'

case 24: //'\030'

case 26: //'\032'

case 27: //'\033'

case 28: //'\034'

case 29: //'\035'

case 30: //'\036'

case 31: //'\037'

case 32: //' '

case 33: //'!'

case 34: //'"'

case 35: //'#'

case 36: //'$'

case 37: //'%'

case 38: //'&'

case 39: //'\''

case 40: //'('

case 41: //')'

case 42: //'*'

case 43: //'+'

case 44: //','

case 45: //'-'

case 46: //'.'

case 47: //'/'

case 49: //'1'

case 54: //'6'

default:return "Unknown QQ Cluster Command";

}

}public static String getFileCommandString(charcommand)

{switch(command)

{case 1: //'\001'

return "QQ_FILE_CMD_HEART_BEAT";case 2: //'\002'

return "QQ_FILE_CMD_HEART_BEAT_ACK";case 3: //'\003'

return "QQ_FILE_CMD_TRANSFER_FINISHED";case 7: //'\007'

return "QQ_FILE_CMD_FILE_OP";case 8: //'\b'

return "QQ_FILE_CMD_FILE_OP_ACK";case 49: //'1'

return "QQ_FILE_CMD_SENDER_SAY_HELLO";case 50: //'2'

return "QQ_FILE_CMD_SENDER_SAY_HELLO_ACK";case 51: //'3'

return "QQ_FILE_CMD_RECEIVER_SAY_HELLO";case 52: //'4'

return "QQ_FILE_CMD_RECEIVER_SAY_HELLO_ACK";case 60: //'

return "QQ_FILE_CMD_NOTIFY_IP_ACK";case 61: //'='

return "QQ_FILE_CMD_PING";case 62: //'>'

return "QQ_FILE_CMD_PONG";case 64: //'@'

return "QQ_FILE_CMD_YES_I_AM_BEHIND_FIREWALL";

}return (new StringBuilder("UNKNOWN TYPE ")).append(command).toString();

}public static String getEncodingString(charencoding)

{switch(encoding)

{case 34306:return "GBK";case 0: //'\0'

return "ISO-8859-1";case 34307:return "BIG5";

}return "GBK";

}public static String getNormalIMTypeString(chartype)

{switch(type)

{case 11: //'\013'

return "QQ_IM_NORMAL_TEXT";case 1: //'\001'

return "QQ_IM_TCP_REQUEST";case 3: //'\003'

return "QQ_IM_ACCEPT_TCP_REQUEST";case 5: //'\005'

return "QQ_IM_REJECT_TCP_REQUEST";case 53: //'5'

return "QQ_IM_UDP_REQUEST";case 55: //'7'

return "QQ_IM_ACCEPT_UDP_REQUEST";case 57: //'9'

return "QQ_IM_REJECT_UDP_REQUEST";case 59: //';'

return "QQ_IM_NOTIFY_IP";case 63: //'?'

return "QQ_IM_ARE_YOU_BEHIND_FIREWALL";case 65: //'A'

return "QQ_IM_ARE_YOU_BEHIND_PROXY";case 66: //'B'

return "QQ_IM_YES_I_AM_BEHIND_PROXY";case 73: //'I'

return "QQ_IM_REQUEST_CANCELED";

}returnString.valueOf(type);

}public static String getIMReplyType(bytetype)

{switch(type)

{case 1: //'\001'

return "QQ_IM_TEXT";case 2: //'\002'

return "QQ_IM_AUTO_REPLY";

}return "UNKNOWN";

}public static int indexOf(byte buf[], int begin, byteb)

{for(int i = begin; i < buf.length; i++)if(buf[i] ==b)returni;return -1;

}public static int indexOf(byte buf[], int begin, byteb[])

{for(int i = begin; i < buf.length; i++)

{for(int j = 0; j < b.length; j++)if(buf[i] ==b[j])returni;

}return -1;

}public staticRandom random()

{if(random == null)

random= newRandom();returnrandom;

}public static byte[] randomKey()

{byte key[] = new byte[16];

random().nextBytes(key);returnkey;

}public static final int parseInt(byte content[], intoffset)

{return (content[offset++] & 0xff) << 24 | (content[offset++] & 0xff) << 16 | (content[offset++] & 0xff) << 8 | content[offset++] & 0xff;

}public static final char parseChar(byte content[], intoffset)

{return (char)((content[offset++] & 0xff) << 8 | content[offset++] & 0xff);

}public static final String getAuthActionString(byteb)

{switch(b)

{case 48: //'0'

return "QQ_MY_AUTH_APPROVE";case 49: //'1'

return "QQ_MY_AUTH_REJECT";case 50: //'2'

return "QQ_MY_AUTH_REQUEST";

}return "Unknown Action";

}public static final String getAuthTypeString(byteb)

{switch(b)

{case 1: //'\001'

return "QQ_AUTH_NEED";case 2: //'\002'

return "QQ_AUTH_REJECT";case 0: //'\0'

return "QQ_AUTH_NO";

}return "Unknown Type";

}public static final String getSearchTypeString(byteb)

{switch(b)

{case 1: //'\001'

return "QQ_SEARCH_CLUSTER_BY_ID";case 2: //'\002'

return "QQ_SEARCH_DEMO_CLUSTER";case 49: //'1'

return "QQ_SEARCH_ALL";case 48: //'0'

return "QQ_SEARCH_CUSTOM";

}return "Unknown Search Type";

}public static String convertByteToHexString(byteb[])

{if(b == null)return "null";else

return convertByteToHexString(b, 0, b.length);

}public static String convertByteToHexString(byte b[], int offset, intlen)

{if(b == null)return "null";int end = offset +len;if(end >b.length)

end=b.length;

sb.delete(0, sb.length());for(int i = offset; i < end; i++)

sb.append(hex[(b[i]& 0xf0) >>> 4]).append(hex[b[i] & 0xf]).append(' ');if(sb.length() > 0)

sb.deleteCharAt(sb.length()- 1);returnsb.toString();

}public static String convertByteToHexStringWithoutSpace(byteb[])

{if(b == null)return "null";else

return convertByteToHexStringWithoutSpace(b, 0, b.length);

}public static String convertByteToHexStringWithoutSpace(byte b[], int offset, intlen)

{if(b == null)return "null";int end = offset +len;if(end >b.length)

end=b.length;

sb.delete(0, sb.length());for(int i = offset; i < end; i++)

sb.append(hex[(b[i]& 0xf0) >>> 4]).append(hex[b[i] & 0xf]);returnsb.toString();

}public static byte[] convertHexStringToByte(String s)

{try{

s=s.trim();

StringTokenizer st= new StringTokenizer(s, " ");byte ret[] = new byte[st.countTokens()];for(int i = 0; st.hasMoreTokens(); i++)

{

String byteString=st.nextToken();if(byteString.length() > 2)return null;

ret[i]= (byte)(Integer.parseInt(byteString, 16) & 0xff);

}returnret;

}catch(Exception e)

{return null;

}

}public static byte[] convertHexStringToByteNoSpace(String s)

{int len =s.length();byte ret[] = new byte[len >>> 1];for(int i = 0; i <= len - 2; i += 2)

ret[i>>> 1] = (byte)(Integer.parseInt(s.substring(i, i + 2).trim(), 16) & 0xff);returnret;

}public static String convertIpToString(byteip[])

{

sb.delete(0, sb.length());for(int i = 0; i < ip.length; i++)

sb.append(ip[i]& 0xff).append('.');

sb.deleteCharAt(sb.length()- 1);returnsb.toString();

}public static int findByteOffset(byte ar[], byteb)

{return findByteOffset(ar, b, 0);

}public static int findByteOffset(byte ar[], byte b, intfrom)

{for(int i = from; i < ar.length; i++)if(ar[i] ==b)returni;return -1;

}public static int findByteOffset(byte ar[], byte b, int from, intoccurs)

{int i =from;int j = 0;for(; i < ar.length; i++)if(ar[i] == b && ++j ==occurs)returni;return -1;

}public static byte[] convertCharToBytes(charc)

{byte b[] = new byte[2];

b[0] = (byte)((c & 0xff00) >>> 8);

b[1] = (byte)(c & 0xff);returnb;

}public static int getIntFromBytes(byte b[], int offset, intlen)

{if(len > 4)

len= 4;int ret = 0;int end = offset +len;for(int i = offset; i < end; i++)

{

ret|= b[i] & 0xff;if(i < end - 1)

ret<<= 8;

}returnret;

}public static byte[] getSubBytes(byte b[], int offset, intlen)

{byte ret[] = new byte[len];

System.arraycopy(b, offset, ret,0, len);returnret;

}public static String get05CommandString(charcommand)

{switch(command)

{case 33: //'!'

return "QQ_05_CMD_REQUEST_AGENT";case 34: //'"'

return "QQ_05_CMD_REQUEST_FACE";case 38: //'&'

return "QQ_05_CMD_REQUEST_BEGIN";case 35: //'#'

return "QQ_05_CMD_TRANSFER";case 36: //'$'

case 37: //'%'

default:return "UNKNOWN 05 FAMILY COMMAND";

}

}public static String getFTPCommandString(charcommand)

{switch(command)

{case 2: //'\002'

return "QQ_03_CMD_GET_CUSTOM_HEAD_DATA";case 4: //'\004'

return "QQ_03_CMD_GET_CUSTOM_HEAD_INFO";case 3: //'\003'

default:return "UNKNOWN FTP FAMILY COMMAND";

}

}public static String getErrorString(interror)

{switch(error)

{case 1: //'\001'

return "\u53D1\u9001\u8D85\u65F6";case 0: //'\0'

return "\u8FDC\u7A0B\u8FDE\u63A5\u5DF2\u5173\u95ED";

}return "";

}public static String getProtocolString(intp)

{switch(p)

{case 4: //'\004'

return "QQ_PROTOCOL_FAMILY_03";case 2: //'\002'

return "QQ_PROTOCOL_FAMILY_05";case 1: //'\001'

return "QQ_PROTOCOL_FAMILY_BASIC";case 8: //'\b'

return "QQ_PROTOCOL_FAMILY_DISK";case 3: //'\003'

case 5: //'\005'

case 6: //'\006'

case 7: //'\007'

default:return "";

}

}private static Log log = LogFactory.getLog("test/Util");private staticRandom random;private static ByteArrayOutputStream baos = newByteArrayOutputStream();private static StringBuilder sb = newStringBuilder();private static char hex[] ={'0', '1', '2', '3', '4', '5', '6', '7', '8', '9','A', 'B', 'C', 'D', 'E', 'F'};private static final byteCHARS[];public static final int MASK_VALID = 1;static Class class$0;static{

CHARS= new byte[0x10000];

CHARS[9] = 35;

CHARS[10] = 19;

CHARS[13] = 19;

CHARS[32] = 51;

CHARS[33] = 49;

CHARS[34] = 33;

Arrays.fill(CHARS,35, 38, (byte)49);

CHARS[38] = 1;

Arrays.fill(CHARS,39, 45, (byte)49);

Arrays.fill(CHARS,45, 47, (byte)-71);

CHARS[47] = 49;

Arrays.fill(CHARS,48, 58, (byte)-71);

CHARS[58] = 61;

CHARS[59] = 49;

CHARS[60] = 1;

CHARS[61] = 49;

CHARS[62] = 33;

Arrays.fill(CHARS,63, 65, (byte)49);

Arrays.fill(CHARS,65, 91, (byte)-3);

Arrays.fill(CHARS,91, 93, (byte)33);

CHARS[93] = 1;

CHARS[94] = 33;

CHARS[95] = -3;

CHARS[96] = 33;

Arrays.fill(CHARS,97, 123, (byte)-3);

Arrays.fill(CHARS,123, 183, (byte)33);

CHARS[183] = -87;

Arrays.fill(CHARS,184, 192, (byte)33);

Arrays.fill(CHARS,192, 215, (byte)-19);

CHARS[215] = 33;

Arrays.fill(CHARS,216, 247, (byte)-19);

CHARS[247] = 33;

Arrays.fill(CHARS,248, 306, (byte)-19);

Arrays.fill(CHARS,306, 308, (byte)33);

Arrays.fill(CHARS,308, 319, (byte)-19);

Arrays.fill(CHARS,319, 321, (byte)33);

Arrays.fill(CHARS,321, 329, (byte)-19);

CHARS[329] = 33;

Arrays.fill(CHARS,330, 383, (byte)-19);

CHARS[383] = 33;

Arrays.fill(CHARS,384, 452, (byte)-19);

Arrays.fill(CHARS,452, 461, (byte)33);

Arrays.fill(CHARS,461, 497, (byte)-19);

Arrays.fill(CHARS,497, 500, (byte)33);

Arrays.fill(CHARS,500, 502, (byte)-19);

Arrays.fill(CHARS,502, 506, (byte)33);

Arrays.fill(CHARS,506, 536, (byte)-19);

Arrays.fill(CHARS,536, 592, (byte)33);

Arrays.fill(CHARS,592, 681, (byte)-19);

Arrays.fill(CHARS,681, 699, (byte)33);

Arrays.fill(CHARS,699, 706, (byte)-19);

Arrays.fill(CHARS,706, 720, (byte)33);

Arrays.fill(CHARS,720, 722, (byte)-87);

Arrays.fill(CHARS,722, 768, (byte)33);

Arrays.fill(CHARS,768, 838, (byte)-87);

Arrays.fill(CHARS,838, 864, (byte)33);

Arrays.fill(CHARS,864, 866, (byte)-87);

Arrays.fill(CHARS,866, 902, (byte)33);

CHARS[902] = -19;

CHARS[903] = -87;

Arrays.fill(CHARS,904, 907, (byte)-19);

CHARS[907] = 33;

CHARS[908] = -19;

CHARS[909] = 33;

Arrays.fill(CHARS,910, 930, (byte)-19);

CHARS[930] = 33;

Arrays.fill(CHARS,931, 975, (byte)-19);

CHARS[975] = 33;

Arrays.fill(CHARS,976, 983, (byte)-19);

Arrays.fill(CHARS,983, 986, (byte)33);

CHARS[986] = -19;

CHARS[987] = 33;

CHARS[988] = -19;

CHARS[989] = 33;

CHARS[990] = -19;

CHARS[991] = 33;

CHARS[992] = -19;

CHARS[993] = 33;

Arrays.fill(CHARS,994, 1012, (byte)-19);

Arrays.fill(CHARS,1012, 1025, (byte)33);

Arrays.fill(CHARS,1025, 1037, (byte)-19);

CHARS[1037] = 33;

Arrays.fill(CHARS,1038, 1104, (byte)-19);

CHARS[1104] = 33;

Arrays.fill(CHARS,1105, 1117, (byte)-19);

CHARS[1117] = 33;

Arrays.fill(CHARS,1118, 1154, (byte)-19);

CHARS[1154] = 33;

Arrays.fill(CHARS,1155, 1159, (byte)-87);

Arrays.fill(CHARS,1159, 1168, (byte)33);

Arrays.fill(CHARS,1168, 1221, (byte)-19);

Arrays.fill(CHARS,1221, 1223, (byte)33);

Arrays.fill(CHARS,1223, 1225, (byte)-19);

Arrays.fill(CHARS,1225, 1227, (byte)33);

Arrays.fill(CHARS,1227, 1229, (byte)-19);

Arrays.fill(CHARS,1229, 1232, (byte)33);

Arrays.fill(CHARS,1232, 1260, (byte)-19);

Arrays.fill(CHARS,1260, 1262, (byte)33);

Arrays.fill(CHARS,1262, 1270, (byte)-19);

Arrays.fill(CHARS,1270, 1272, (byte)33);

Arrays.fill(CHARS,1272, 1274, (byte)-19);

Arrays.fill(CHARS,1274, 1329, (byte)33);

Arrays.fill(CHARS,1329, 1367, (byte)-19);

Arrays.fill(CHARS,1367, 1369, (byte)33);

CHARS[1369] = -19;

Arrays.fill(CHARS,1370, 1377, (byte)33);

Arrays.fill(CHARS,1377, 1415, (byte)-19);

Arrays.fill(CHARS,1415, 1425, (byte)33);

Arrays.fill(CHARS,1425, 1442, (byte)-87);

CHARS[1442] = 33;

Arrays.fill(CHARS,1443, 1466, (byte)-87);

CHARS[1466] = 33;

Arrays.fill(CHARS,1467, 1470, (byte)-87);

CHARS[1470] = 33;

CHARS[1471] = -87;

CHARS[1472] = 33;

Arrays.fill(CHARS,1473, 1475, (byte)-87);

CHARS[1475] = 33;

CHARS[1476] = -87;

Arrays.fill(CHARS,1477, 1488, (byte)33);

Arrays.fill(CHARS,1488, 1515, (byte)-19);

Arrays.fill(CHARS,1515, 1520, (byte)33);

Arrays.fill(CHARS,1520, 1523, (byte)-19);

Arrays.fill(CHARS,1523, 1569, (byte)33);

Arrays.fill(CHARS,1569, 1595, (byte)-19);

Arrays.fill(CHARS,1595, 1600, (byte)33);

CHARS[1600] = -87;

Arrays.fill(CHARS,1601, 1611, (byte)-19);

Arrays.fill(CHARS,1611, 1619, (byte)-87);

Arrays.fill(CHARS,1619, 1632, (byte)33);

Arrays.fill(CHARS,1632, 1642, (byte)-87);

Arrays.fill(CHARS,1642, 1648, (byte)33);

CHARS[1648] = -87;

Arrays.fill(CHARS,1649, 1720, (byte)-19);

Arrays.fill(CHARS,1720, 1722, (byte)33);

Arrays.fill(CHARS,1722, 1727, (byte)-19);

CHARS[1727] = 33;

Arrays.fill(CHARS,1728, 1743, (byte)-19);

CHARS[1743] = 33;

Arrays.fill(CHARS,1744, 1748, (byte)-19);

CHARS[1748] = 33;

CHARS[1749] = -19;

Arrays.fill(CHARS,1750, 1765, (byte)-87);

Arrays.fill(CHARS,1765, 1767, (byte)-19);

Arrays.fill(CHARS,1767, 1769, (byte)-87);

CHARS[1769] = 33;

Arrays.fill(CHARS,1770, 1774, (byte)-87);

Arrays.fill(CHARS,1774, 1776, (byte)33);

Arrays.fill(CHARS,1776, 1786, (byte)-87);

Arrays.fill(CHARS,1786, 2305, (byte)33);

Arrays.fill(CHARS,2305, 2308, (byte)-87);

CHARS[2308] = 33;

Arrays.fill(CHARS,2309, 2362, (byte)-19);

Arrays.fill(CHARS,2362, 2364, (byte)33);

CHARS[2364] = -87;

CHARS[2365] = -19;

Arrays.fill(CHARS,2366, 2382, (byte)-87);

Arrays.fill(CHARS,2382, 2385, (byte)33);

Arrays.fill(CHARS,2385, 2389, (byte)-87);

Arrays.fill(CHARS,2389, 2392, (byte)33);

Arrays.fill(CHARS,2392, 2402, (byte)-19);

Arrays.fill(CHARS,2402, 2404, (byte)-87);

Arrays.fill(CHARS,2404, 2406, (byte)33);

Arrays.fill(CHARS,2406, 2416, (byte)-87);

Arrays.fill(CHARS,2416, 2433, (byte)33);

Arrays.fill(CHARS,2433, 2436, (byte)-87);

CHARS[2436] = 33;

Arrays.fill(CHARS,2437, 2445, (byte)-19);

Arrays.fill(CHARS,2445, 2447, (byte)33);

Arrays.fill(CHARS,2447, 2449, (byte)-19);

Arrays.fill(CHARS,2449, 2451, (byte)33);

Arrays.fill(CHARS,2451, 2473, (byte)-19);

CHARS[2473] = 33;

Arrays.fill(CHARS,2474, 2481, (byte)-19);

CHARS[2481] = 33;

CHARS[2482] = -19;

Arrays.fill(CHARS,2483, 2486, (byte)33);

Arrays.fill(CHARS,2486, 2490, (byte)-19);

Arrays.fill(CHARS,2490, 2492, (byte)33);

CHARS[2492] = -87;

CHARS[2493] = 33;

Arrays.fill(CHARS,2494, 2501, (byte)-87);

Arrays.fill(CHARS,2501, 2503, (byte)33);

Arrays.fill(CHARS,2503, 2505, (byte)-87);

Arrays.fill(CHARS,2505, 2507, (byte)33);

Arrays.fill(CHARS,2507, 2510, (byte)-87);

Arrays.fill(CHARS,2510, 2519, (byte)33);

CHARS[2519] = -87;

Arrays.fill(CHARS,2520, 2524, (byte)33);

Arrays.fill(CHARS,2524, 2526, (byte)-19);

CHARS[2526] = 33;

Arrays.fill(CHARS,2527, 2530, (byte)-19);

Arrays.fill(CHARS,2530, 2532, (byte)-87);

Arrays.fill(CHARS,2532, 2534, (byte)33);

Arrays.fill(CHARS,2534, 2544, (byte)-87);

Arrays.fill(CHARS,2544, 2546, (byte)-19);

Arrays.fill(CHARS,2546, 2562, (byte)33);

CHARS[2562] = -87;

Arrays.fill(CHARS,2563, 2565, (byte)33);

Arrays.fill(CHARS,2565, 2571, (byte)-19);

Arrays.fill(CHARS,2571, 2575, (byte)33);

Arrays.fill(CHARS,2575, 2577, (byte)-19);

Arrays.fill(CHARS,2577, 2579, (byte)33);

Arrays.fill(CHARS,2579, 2601, (byte)-19);

CHARS[2601] = 33;

Arrays.fill(CHARS,2602, 2609, (byte)-19);

CHARS[2609] = 33;

Arrays.fill(CHARS,2610, 2612, (byte)-19);

CHARS[2612] = 33;

Arrays.fill(CHARS,2613, 2615, (byte)-19);

CHARS[2615] = 33;

Arrays.fill(CHARS,2616, 2618, (byte)-19);

Arrays.fill(CHARS,2618, 2620, (byte)33);

CHARS[2620] = -87;

CHARS[2621] = 33;

Arrays.fill(CHARS,2622, 2627, (byte)-87);

Arrays.fill(CHARS,2627, 2631, (byte)33);

Arrays.fill(CHARS,2631, 2633, (byte)-87);

Arrays.fill(CHARS,2633, 2635, (byte)33);

Arrays.fill(CHARS,2635, 2638, (byte)-87);

Arrays.fill(CHARS,2638, 2649, (byte)33);

Arrays.fill(CHARS,2649, 2653, (byte)-19);

CHARS[2653] = 33;

CHARS[2654] = -19;

Arrays.fill(CHARS,2655, 2662, (byte)33);

Arrays.fill(CHARS,2662, 2674, (byte)-87);

Arrays.fill(CHARS,2674, 2677, (byte)-19);

Arrays.fill(CHARS,2677, 2689, (byte)33);

Arrays.fill(CHARS,2689, 2692, (byte)-87);

CHARS[2692] = 33;

Arrays.fill(CHARS,2693, 2700, (byte)-19);

CHARS[2700] = 33;

CHARS[2701] = -19;

CHARS[2702] = 33;

Arrays.fill(CHARS,2703, 2706, (byte)-19);

CHARS[2706] = 33;

Arrays.fill(CHARS,2707, 2729, (byte)-19);

CHARS[2729] = 33;

Arrays.fill(CHARS,2730, 2737, (byte)-19);

CHARS[2737] = 33;

Arrays.fill(CHARS,2738, 2740, (byte)-19);

CHARS[2740] = 33;

Arrays.fill(CHARS,2741, 2746, (byte)-19);

Arrays.fill(CHARS,2746, 2748, (byte)33);

CHARS[2748] = -87;

CHARS[2749] = -19;

Arrays.fill(CHARS,2750, 2758, (byte)-87);

CHARS[2758] = 33;

Arrays.fill(CHARS,2759, 2762, (byte)-87);

CHARS[2762] = 33;

Arrays.fill(CHARS,2763, 2766, (byte)-87);

Arrays.fill(CHARS,2766, 2784, (byte)33);

CHARS[2784] = -19;

Arrays.fill(CHARS,2785, 2790, (byte)33);

Arrays.fill(CHARS,2790, 2800, (byte)-87);

Arrays.fill(CHARS,2800, 2817, (byte)33);

Arrays.fill(CHARS,2817, 2820, (byte)-87);

CHARS[2820] = 33;

Arrays.fill(CHARS,2821, 2829, (byte)-19);

Arrays.fill(CHARS,2829, 2831, (byte)33);

Arrays.fill(CHARS,2831, 2833, (byte)-19);

Arrays.fill(CHARS,2833, 2835, (byte)33);

Arrays.fill(CHARS,2835, 2857, (byte)-19);

CHARS[2857] = 33;

Arrays.fill(CHARS,2858, 2865, (byte)-19);

CHARS[2865] = 33;

Arrays.fill(CHARS,2866, 2868, (byte)-19);

Arrays.fill(CHARS,2868, 2870, (byte)33);

Arrays.fill(CHARS,2870, 2874, (byte)-19);

Arrays.fill(CHARS,2874, 2876, (byte)33);

CHARS[2876] = -87;

CHARS[2877] = -19;

Arrays.fill(CHARS,2878, 2884, (byte)-87);

Arrays.fill(CHARS,2884, 2887, (byte)33);

Arrays.fill(CHARS,2887, 2889, (byte)-87);

Arrays.fill(CHARS,2889, 2891, (byte)33);

Arrays.fill(CHARS,2891, 2894, (byte)-87);

Arrays.fill(CHARS,2894, 2902, (byte)33);

Arrays.fill(CHARS,2902, 2904, (byte)-87);

Arrays.fill(CHARS,2904, 2908, (byte)33);

Arrays.fill(CHARS,2908, 2910, (byte)-19);

CHARS[2910] = 33;

Arrays.fill(CHARS,2911, 2914, (byte)-19);

Arrays.fill(CHARS,2914, 2918, (byte)33);

Arrays.fill(CHARS,2918, 2928, (byte)-87);

Arrays.fill(CHARS,2928, 2946, (byte)33);

Arrays.fill(CHARS,2946, 2948, (byte)-87);

CHARS[2948] = 33;

Arrays.fill(CHARS,2949, 2955, (byte)-19);

Arrays.fill(CHARS,2955, 2958, (byte)33);

Arrays.fill(CHARS,2958, 2961, (byte)-19);

CHARS[2961] = 33;

Arrays.fill(CHARS,2962, 2966, (byte)-19);

Arrays.fill(CHARS,2966, 2969, (byte)33);

Arrays.fill(CHARS,2969, 2971, (byte)-19);

CHARS[2971] = 33;

CHARS[2972] = -19;

CHARS[2973] = 33;

Arrays.fill(CHARS,2974, 2976, (byte)-19);

Arrays.fill(CHARS,2976, 2979, (byte)33);

Arrays.fill(CHARS,2979, 2981, (byte)-19);

Arrays.fill(CHARS,2981, 2984, (byte)33);

Arrays.fill(CHARS,2984, 2987, (byte)-19);

Arrays.fill(CHARS,2987, 2990, (byte)33);

Arrays.fill(CHARS,2990, 2998, (byte)-19);

CHARS[2998] = 33;

Arrays.fill(CHARS,2999, 3002, (byte)-19);

Arrays.fill(CHARS,3002, 3006, (byte)33);

Arrays.fill(CHARS,3006, 3011, (byte)-87);

Arrays.fill(CHARS,3011, 3014, (byte)33);

Arrays.fill(CHARS,3014, 3017, (byte)-87);

CHARS[3017] = 33;

Arrays.fill(CHARS,3018, 3022, (byte)-87);

Arrays.fill(CHARS,3022, 3031, (byte)33);

CHARS[3031] = -87;

Arrays.fill(CHARS,3032, 3047, (byte)33);

Arrays.fill(CHARS,3047, 3056, (byte)-87);

Arrays.fill(CHARS,3056, 3073, (byte)33);

Arrays.fill(CHARS,3073, 3076, (byte)-87);

CHARS[3076] = 33;

Arrays.fill(CHARS,3077, 3085, (byte)-19);

CHARS[3085] = 33;

Arrays.fill(CHARS,3086, 3089, (byte)-19);

CHARS[3089] = 33;

Arrays.fill(CHARS,3090, 3113, (byte)-19);

CHARS[3113] = 33;

Arrays.fill(CHARS,3114, 3124, (byte)-19);

CHARS[3124] = 33;

Arrays.fill(CHARS,3125, 3130, (byte)-19);

Arrays.fill(CHARS,3130, 3134, (byte)33);

Arrays.fill(CHARS,3134, 3141, (byte)-87);

CHARS[3141] = 33;

Arrays.fill(CHARS,3142, 3145, (byte)-87);

CHARS[3145] = 33;

Arrays.fill(CHARS,3146, 3150, (byte)-87);

Arrays.fill(CHARS,3150, 3157, (byte)33);

Arrays.fill(CHARS,3157, 3159, (byte)-87);

Arrays.fill(CHARS,3159, 3168, (byte)33);

Arrays.fill(CHARS,3168, 3170, (byte)-19);

Arrays.fill(CHARS,3170, 3174, (byte)33);

Arrays.fill(CHARS,3174, 3184, (byte)-87);

Arrays.fill(CHARS,3184, 3202, (byte)33);

Arrays.fill(CHARS,3202, 3204, (byte)-87);

CHARS[3204] = 33;

Arrays.fill(CHARS,3205, 3213, (byte)-19);

CHARS[3213] = 33;

Arrays.fill(CHARS,3214, 3217, (byte)-19);

CHARS[3217] = 33;

Arrays.fill(CHARS,3218, 3241, (byte)-19);

CHARS[3241] = 33;

Arrays.fill(CHARS,3242, 3252, (byte)-19);

CHARS[3252] = 33;

Arrays.fill(CHARS,3253, 3258, (byte)-19);

Arrays.fill(CHARS,3258, 3262, (byte)33);

Arrays.fill(CHARS,3262, 3269, (byte)-87);

CHARS[3269] = 33;

Arrays.fill(CHARS,3270, 3273, (byte)-87);

CHARS[3273] = 33;

Arrays.fill(CHARS,3274, 3278, (byte)-87);

Arrays.fill(CHARS,3278, 3285, (byte)33);

Arrays.fill(CHARS,3285, 3287, (byte)-87);

Arrays.fill(CHARS,3287, 3294, (byte)33);

CHARS[3294] = -19;

CHARS[3295] = 33;

Arrays.fill(CHARS,3296, 3298, (byte)-19);

Arrays.fill(CHARS,3298, 3302, (byte)33);

Arrays.fill(CHARS,3302, 3312, (byte)-87);

Arrays.fill(CHARS,3312, 3330, (byte)33);

Arrays.fill(CHARS,3330, 3332, (byte)-87);

CHARS[3332] = 33;

Arrays.fill(CHARS,3333, 3341, (byte)-19);

CHARS[3341] = 33;

Arrays.fill(CHARS,3342, 3345, (byte)-19);

CHARS[3345] = 33;

Arrays.fill(CHARS,3346, 3369, (byte)-19);

CHARS[3369] = 33;

Arrays.fill(CHARS,3370, 3386, (byte)-19);

Arrays.fill(CHARS,3386, 3390, (byte)33);

Arrays.fill(CHARS,3390, 3396, (byte)-87);

Arrays.fill(CHARS,3396, 3398, (byte)33);

Arrays.fill(CHARS,3398, 3401, (byte)-87);

CHARS[3401] = 33;

Arrays.fill(CHARS,3402, 3406, (byte)-87);

Arrays.fill(CHARS,3406, 3415, (byte)33);

CHARS[3415] = -87;

Arrays.fill(CHARS,3416, 3424, (byte)33);

Arrays.fill(CHARS,3424, 3426, (byte)-19);

Arrays.fill(CHARS,3426, 3430, (byte)33);

Arrays.fill(CHARS,3430, 3440, (byte)-87);

Arrays.fill(CHARS,3440, 3585, (byte)33);

Arrays.fill(CHARS,3585, 3631, (byte)-19);

CHARS[3631] = 33;

CHARS[3632] = -19;

CHARS[3633] = -87;

Arrays.fill(CHARS,3634, 3636, (byte)-19);

Arrays.fill(CHARS,3636, 3643, (byte)-87);

Arrays.fill(CHARS,3643, 3648, (byte)33);

Arrays.fill(CHARS,3648, 3654, (byte)-19);

Arrays.fill(CHARS,3654, 3663, (byte)-87);

CHARS[3663] = 33;

Arrays.fill(CHARS,3664, 3674, (byte)-87);

Arrays.fill(CHARS,3674, 3713, (byte)33);

Arrays.fill(CHARS,3713, 3715, (byte)-19);

CHARS[3715] = 33;

CHARS[3716] = -19;

Arrays.fill(CHARS,3717, 3719, (byte)33);

Arrays.fill(CHARS,3719, 3721, (byte)-19);

CHARS[3721] = 33;

CHARS[3722] = -19;

Arrays.fill(CHARS,3723, 3725, (byte)33);

CHARS[3725] = -19;

Arrays.fill(CHARS,3726, 3732, (byte)33);

Arrays.fill(CHARS,3732, 3736, (byte)-19);

CHARS[3736] = 33;

Arrays.fill(CHARS,3737, 3744, (byte)-19);

CHARS[3744] = 33;

Arrays.fill(CHARS,3745, 3748, (byte)-19);

CHARS[3748] = 33;

CHARS[3749] = -19;

CHARS[3750] = 33;

CHARS[3751] = -19;

Arrays.fill(CHARS,3752, 3754, (byte)33);

Arrays.fill(CHARS,3754, 3756, (byte)-19);

CHARS[3756] = 33;

Arrays.fill(CHARS,3757, 3759, (byte)-19);

CHARS[3759] = 33;

CHARS[3760] = -19;

CHARS[3761] = -87;

Arrays.fill(CHARS,3762, 3764, (byte)-19);

Arrays.fill(CHARS,3764, 3770, (byte)-87);

CHARS[3770] = 33;

Arrays.fill(CHARS,3771, 3773, (byte)-87);

CHARS[3773] = -19;

Arrays.fill(CHARS,3774, 3776, (byte)33);

Arrays.fill(CHARS,3776, 3781, (byte)-19);

CHARS[3781] = 33;

CHARS[3782] = -87;

CHARS[3783] = 33;

Arrays.fill(CHARS,3784, 3790, (byte)-87);

Arrays.fill(CHARS,3790, 3792, (byte)33);

Arrays.fill(CHARS,3792, 3802, (byte)-87);

Arrays.fill(CHARS,3802, 3864, (byte)33);

Arrays.fill(CHARS,3864, 3866, (byte)-87);

Arrays.fill(CHARS,3866, 3872, (byte)33);

Arrays.fill(CHARS,3872, 3882, (byte)-87);

Arrays.fill(CHARS,3882, 3893, (byte)33);

CHARS[3893] = -87;

CHARS[3894] = 33;

CHARS[3895] = -87;

CHARS[3896] = 33;

CHARS[3897] = -87;

Arrays.fill(CHARS,3898, 3902, (byte)33);

Arrays.fill(CHARS,3902, 3904, (byte)-87);

Arrays.fill(CHARS,3904, 3912, (byte)-19);

CHARS[3912] = 33;

Arrays.fill(CHARS,3913, 3946, (byte)-19);

Arrays.fill(CHARS,3946, 3953, (byte)33);

Arrays.fill(CHARS,3953, 3973, (byte)-87);

CHARS[3973] = 33;

Arrays.fill(CHARS,3974, 3980, (byte)-87);

Arrays.fill(CHARS,3980, 3984, (byte)33);

Arrays.fill(CHARS,3984, 3990, (byte)-87);

CHARS[3990] = 33;

CHARS[3991] = -87;

CHARS[3992] = 33;

Arrays.fill(CHARS,3993, 4014, (byte)-87);

Arrays.fill(CHARS,4014, 4017, (byte)33);

Arrays.fill(CHARS,4017, 4024, (byte)-87);

CHARS[4024] = 33;

CHARS[4025] = -87;

Arrays.fill(CHARS,4026, 4256, (byte)33);

Arrays.fill(CHARS,4256, 4294, (byte)-19);

Arrays.fill(CHARS,4294, 4304, (byte)33);

Arrays.fill(CHARS,4304, 4343, (byte)-19);

Arrays.fill(CHARS,4343, 4352, (byte)33);

CHARS[4352] = -19;

CHARS[4353] = 33;

Arrays.fill(CHARS,4354, 4356, (byte)-19);

CHARS[4356] = 33;

Arrays.fill(CHARS,4357, 4360, (byte)-19);

CHARS[4360] = 33;

CHARS[4361] = -19;

CHARS[4362] = 33;

Arrays.fill(CHARS,4363, 4365, (byte)-19);

CHARS[4365] = 33;

Arrays.fill(CHARS,4366, 4371, (byte)-19);

Arrays.fill(CHARS,4371, 4412, (byte)33);

CHARS[4412] = -19;

CHARS[4413] = 33;

CHARS[4414] = -19;

CHARS[4415] = 33;

CHARS[4416] = -19;

Arrays.fill(CHARS,4417, 4428, (byte)33);

CHARS[4428] = -19;

CHARS[4429] = 33;

CHARS[4430] = -19;

CHARS[4431] = 33;

CHARS[4432] = -19;

Arrays.fill(CHARS,4433, 4436, (byte)33);

Arrays.fill(CHARS,4436, 4438, (byte)-19);

Arrays.fill(CHARS,4438, 4441, (byte)33);

CHARS[4441] = -19;

Arrays.fill(CHARS,4442, 4447, (byte)33);

Arrays.fill(CHARS,4447, 4450, (byte)-19);

CHARS[4450] = 33;

CHARS[4451] = -19;

CHARS[4452] = 33;

CHARS[4453] = -19;

CHARS[4454] = 33;

CHARS[4455] = -19;

CHARS[4456] = 33;

CHARS[4457] = -19;

Arrays.fill(CHARS,4458, 4461, (byte)33);

Arrays.fill(CHARS,4461, 4463, (byte)-19);

Arrays.fill(CHARS,4463, 4466, (byte)33);

Arrays.fill(CHARS,4466, 4468, (byte)-19);

CHARS[4468] = 33;

CHARS[4469] = -19;

Arrays.fill(CHARS,4470, 4510, (byte)33);

CHARS[4510] = -19;

Arrays.fill(CHARS,4511, 4520, (byte)33);

CHARS[4520] = -19;

Arrays.fill(CHARS,4521, 4523, (byte)33);

CHARS[4523] = -19;

Arrays.fill(CHARS,4524, 4526, (byte)33);

Arrays.fill(CHARS,4526, 4528, (byte)-19);

Arrays.fill(CHARS,4528, 4535, (byte)33);

Arrays.fill(CHARS,4535, 4537, (byte)-19);

CHARS[4537] = 33;

CHARS[4538] = -19;

CHARS[4539] = 33;

Arrays.fill(CHARS,4540, 4547, (byte)-19);

Arrays.fill(CHARS,4547, 4587, (byte)33);

CHARS[4587] = -19;

Arrays.fill(CHARS,4588, 4592, (byte)33);

CHARS[4592] = -19;

Arrays.fill(CHARS,4593, 4601, (byte)33);

CHARS[4601] = -19;

Arrays.fill(CHARS,4602, 7680, (byte)33);

Arrays.fill(CHARS,7680, 7836, (byte)-19);

Arrays.fill(CHARS,7836, 7840, (byte)33);

Arrays.fill(CHARS,7840, 7930, (byte)-19);

Arrays.fill(CHARS,7930, 7936, (byte)33);

Arrays.fill(CHARS,7936, 7958, (byte)-19);

Arrays.fill(CHARS,7958, 7960, (byte)33);

Arrays.fill(CHARS,7960, 7966, (byte)-19);

Arrays.fill(CHARS,7966, 7968, (byte)33);

Arrays.fill(CHARS,7968, 8006, (byte)-19);

Arrays.fill(CHARS,8006, 8008, (byte)33);

Arrays.fill(CHARS,8008, 8014, (byte)-19);

Arrays.fill(CHARS,8014, 8016, (byte)33);

Arrays.fill(CHARS,8016, 8024, (byte)-19);

CHARS[8024] = 33;

CHARS[8025] = -19;

CHARS[8026] = 33;

CHARS[8027] = -19;

CHARS[8028] = 33;

CHARS[8029] = -19;

CHARS[8030] = 33;

Arrays.fill(CHARS,8031, 8062, (byte)-19);

Arrays.fill(CHARS,8062, 8064, (byte)33);

Arrays.fill(CHARS,8064, 8117, (byte)-19);

CHARS[8117] = 33;

Arrays.fill(CHARS,8118, 8125, (byte)-19);

CHARS[8125] = 33;

CHARS[8126] = -19;

Arrays.fill(CHARS,8127, 8130, (byte)33);

Arrays.fill(CHARS,8130, 8133, (byte)-19);

CHARS[8133] = 33;

Arrays.fill(CHARS,8134, 8141, (byte)-19);

Arrays.fill(CHARS,8141, 8144, (byte)33);

Arrays.fill(CHARS,8144, 8148, (byte)-19);

Arrays.fill(CHARS,8148, 8150, (byte)33);

Arrays.fill(CHARS,8150, 8156, (byte)-19);

Arrays.fill(CHARS,8156, 8160, (byte)33);

Arrays.fill(CHARS,8160, 8173, (byte)-19);

Arrays.fill(CHARS,8173, 8178, (byte)33);

Arrays.fill(CHARS,8178, 8181, (byte)-19);

CHARS[8181] = 33;

Arrays.fill(CHARS,8182, 8189, (byte)-19);

Arrays.fill(CHARS,8189, 8400, (byte)33);

Arrays.fill(CHARS,8400, 8413, (byte)-87);

Arrays.fill(CHARS,8413, 8417, (byte)33);

CHARS[8417] = -87;

Arrays.fill(CHARS,8418, 8486, (byte)33);

CHARS[8486] = -19;

Arrays.fill(CHARS,8487, 8490, (byte)33);

Arrays.fill(CHARS,8490, 8492, (byte)-19);

Arrays.fill(CHARS,8492, 8494, (byte)33);

CHARS[8494] = -19;

Arrays.fill(CHARS,8495, 8576, (byte)33);

Arrays.fill(CHARS,8576, 8579, (byte)-19);

Arrays.fill(CHARS,8579, 12293, (byte)33);

CHARS[12293] = -87;

CHARS[12294] = 33;

CHARS[12295] = -19;

Arrays.fill(CHARS,12296, 12321, (byte)33);

Arrays.fill(CHARS,12321, 12330, (byte)-19);

Arrays.fill(CHARS,12330, 12336, (byte)-87);

CHARS[12336] = 33;

Arrays.fill(CHARS,12337, 12342, (byte)-87);

Arrays.fill(CHARS,12342, 12353, (byte)33);

Arrays.fill(CHARS,12353, 12437, (byte)-19);

Arrays.fill(CHARS,12437, 12441, (byte)33);

Arrays.fill(CHARS,12441, 12443, (byte)-87);

Arrays.fill(CHARS,12443, 12445, (byte)33);

Arrays.fill(CHARS,12445, 12447, (byte)-87);

Arrays.fill(CHARS,12447, 12449, (byte)33);

Arrays.fill(CHARS,12449, 12539, (byte)-19);

CHARS[12539] = 33;

Arrays.fill(CHARS,12540, 12543, (byte)-87);

Arrays.fill(CHARS,12543, 12549, (byte)33);

Arrays.fill(CHARS,12549, 12589, (byte)-19);

Arrays.fill(CHARS,12589, 19968, (byte)33);

Arrays.fill(CHARS,19968, 40870, (byte)-19);

Arrays.fill(CHARS,40870, 44032, (byte)33);

Arrays.fill(CHARS,44032, 55204, (byte)-19);

Arrays.fill(CHARS,55204, 55296, (byte)33);

Arrays.fill(CHARS,57344, 65534, (byte)33);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值