Changeset 331 for EcnlProtoTool/trunk/onigmo-6.1.3
- Timestamp:
- Jan 21, 2018, 12:10:09 AM (6 years ago)
- Location:
- EcnlProtoTool/trunk/onigmo-6.1.3
- Files:
-
- 4 deleted
- 25 edited
- 4 copied
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/onigmo-6.1.3/.cproject
r279 r331 20 20 <builder buildPath="${workspace_loc:/onigmo}/Debug" id="com.renesas.cdt.rz.library.project.debug.win32.builder.Id.648387239" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Builder" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.renesas.cdt.rz.library.project.debug.win32.builder.Id"/> 21 21 <tool id="com.renesas.cdt.rz.libraryProject.debug.win32.tool.compiler.Id.1403906573" name="Compiler" superClass="com.renesas.cdt.rz.libraryProject.debug.win32.tool.compiler.Id"> 22 <option defaultValue="true" id="com.renesas.cdt.core.Compiler.option.misc2.893295126" name="æ¨æºã·ã¹ãã ã»ãã£ã¬ã¯ããªã¼ã§ãããã¼ã»ãã¡ã¤ã«ãæ¤ç´¢ããªã (-nostdinc)" superClass="com.renesas.cdt.core.Compiler.option.misc2" value=" false" valueType="boolean"/>22 <option defaultValue="true" id="com.renesas.cdt.core.Compiler.option.misc2.893295126" name="æ¨æºã·ã¹ãã ã»ãã£ã¬ã¯ããªã¼ã§ãããã¼ã»ãã¡ã¤ã«ãæ¤ç´¢ããªã (-nostdinc)" superClass="com.renesas.cdt.core.Compiler.option.misc2" value="true" valueType="boolean"/> 23 23 <option id="com.renesas.cdt.rz.Debug.Compiler.option.library.dataEndian.830168116" name="ã¨ã³ãã£ã¢ã³" superClass="com.renesas.cdt.rz.Debug.Compiler.option.library.dataEndian" value="Little-endian" valueType="enumerated"/> 24 24 <option id="com.renesas.cdt.rz.Debug.Compiler.option.library.instructionset.181932475" name="å½ä»¤ã»ãã" superClass="com.renesas.cdt.rz.Debug.Compiler.option.library.instructionset" value="ARM" valueType="enumerated"/> … … 30 30 <option id="com.renesas.cdt.rz.Debug.Compiler.option.library.architecture.2113164712" name="ã¢ã¼ããã¯ãã£ã¼" superClass="com.renesas.cdt.rz.Debug.Compiler.option.library.architecture" value="armv7-a" valueType="enumerated"/> 31 31 <option id="com.renesas.cdt.rz.Debug.Compiler.option.library.cpuType.1970460770" name="CPU ã¿ã¤ã" superClass="com.renesas.cdt.rz.Debug.Compiler.option.library.cpuType" value="cortex-a9" valueType="enumerated"/> 32 <option id="com.renesas.cdt.core.Compiler.option.stackSizeInDecimal.79407894" name="Decimal representation of '-Ws atck-usage'" superClass="com.renesas.cdt.core.Compiler.option.stackSizeInDecimal" value="256" valueType="string"/>32 <option id="com.renesas.cdt.core.Compiler.option.stackSizeInDecimal.79407894" name="Decimal representation of '-Wstack-usage'" superClass="com.renesas.cdt.core.Compiler.option.stackSizeInDecimal" value="256" valueType="string"/> 33 33 <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.rz.Debug.Compiler.option.library.macroDefines.614908404" name="ãã¯ãå®ç¾©" superClass="com.renesas.cdt.rz.Debug.Compiler.option.library.macroDefines" valueType="definedSymbols"> 34 34 <listOptionValue builtIn="false" value="ONIG_EXTERN=extern"/> 35 35 </option> 36 36 <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.renesas.cdt.core.Compiler.option.includeFileDir.46425275" name="ã¤ã³ã¯ã«ã¼ãã»ãã¡ã¤ã«ã»ãã£ã¬ã¯ããªã¼" superClass="com.renesas.cdt.core.Compiler.option.includeFileDir" valueType="includePath"> 37 <listOptionValue builtIn="false" value=""${workspace_loc:/musl-1.1.18/include}""/> 37 38 <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src}""/> 39 <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/enc/unicode}""/> 38 40 </option> 39 41 <inputType id="%Base.Compiler.C.InputType.Id.884982235" name="C å -
EcnlProtoTool/trunk/onigmo-6.1.3/.info
r279 r331 4 4 GCC_STRING=5.2-GNUARM-NONE_v16.01 5 5 VERSION_IDE= 6 E2STUDIO_VERSION=5. 3.1.0026 E2STUDIO_VERSION=5.4.0.018 7 7 ACTIVE_CONFIGURATION=Debug -
EcnlProtoTool/trunk/onigmo-6.1.3/.project
r279 r331 1 1 <?xml version="1.0" encoding="UTF-8"?> 2 2 <projectDescription> 3 <name>onigmo- 5.15.0</name>3 <name>onigmo-6.1.3</name> 4 4 <comment></comment> 5 5 <projects> -
EcnlProtoTool/trunk/onigmo-6.1.3/README
r279 r331 1 README 201 4/07/181 README 2016/11/30 2 2 3 3 Onigmo (Oniguruma-mod) -- (C) K.Takata <kentkt AT csc DOT jp> … … 6 6 7 7 Onigmo is a regular expressions library forked from Oniguruma. 8 Some of new features introduced in Perl 5.10+ can be used. 9 10 Some patches are merged from Ruby 2.x. 8 It focuses to support new expressions like `\K`, `\R`, `(?(cond)yes|no)` 9 and etc. which are supported in Perl 5.10+. 10 11 Since Onigmo is used as the default regexp library of Ruby 2.0 or later, 12 many patches are backported from Ruby 2.x. 11 13 12 14 See also the Wiki page: … … 24 26 25 27 Encoding: 26 CP932 28 CP932, CP1250, CP1251, CP1252, CP1253, CP1254, CP1257 27 29 28 30 Syntax: … … 31 33 32 34 New Source Files: 33 enc/cp932.c CP932 encoding.34 35 enc/jis/props.h JIS character properties data. 35 36 enc/jis/props.kwd JIS character properties data. 36 37 enc/unicode/casefold.h Unicode case folding data. 37 38 enc/unicode/name2ctype.h Unicode properties data. 38 39 onig.py onig.dll/libonig.so loader. 39 enc/windows_*.c CP* encoding 40 41 onigmo.py onigmo.dll/libonigmo.so loader. 40 42 testpy.py test program. 41 43 … … 47 49 48 50 win32/Makefile.mingw Makefile for Win32 (MinGW) 49 win32/makedef.py creates onig .def.50 win32/onig .rc resource file for onig.dll.51 win32/makedef.py creates onigmo.def. 52 win32/onigmo.rc resource file for onigmo.dll. 51 53 52 54 -
EcnlProtoTool/trunk/onigmo-6.1.3/src/config.h
r321 r331 1 /* config.h.in. Generated from configure. inby autoheader. */1 /* config.h.in. Generated from configure.ac by autoheader. */ 2 2 3 3 /* Define to one of `_getb67', `GETB67', `getb67' for Cray-2 and Cray-YMP … … 22 22 #define HAVE_INTTYPES_H 23 23 24 /* Define to 1 if you have the `pthread' library (-lpthread). */25 #define HAVE_LIBPTHREAD26 27 24 /* Define to 1 if you have the <memory.h> header file. */ 28 25 #define HAVE_MEMORY_H 29 30 /* Define if compilerr supports prototypes */31 #define HAVE_PROTOTYPES32 33 /* Define to 1 if you have the <pthread.h> header file. */34 #define HAVE_PTHREAD_H35 36 /* Define if compiler supports stdarg prototypes */37 #define HAVE_STDARG_PROTOTYPES38 26 39 27 /* Define to 1 if you have the <stdint.h> header file. */ … … 93 81 /* The size of `int', as computed by sizeof. */ 94 82 #undef SIZEOF_INT 95 #define SIZEOF_INT sizeof(int)83 #define SIZEOF_INT 4 96 84 97 85 /* The size of `long', as computed by sizeof. */ 98 86 #undef SIZEOF_LONG 99 #define SIZEOF_LONG sizeof(long)87 #define SIZEOF_LONG 4 100 88 101 89 /* The size of `short', as computed by sizeof. */ 102 90 #undef SIZEOF_SHORT 91 #define SIZEOF_SHORT 2 92 93 /* The size of `void*', as computed by sizeof. */ 94 #undef SIZEOF_VOIDP 95 #define SIZEOF_VOIDP 4 103 96 104 97 /* If using the C implementation of alloca, define if you know the … … 122 115 #undef USE_CRNL_AS_LINE_TERMINATOR 123 116 124 /* Define if enable the default multithread system */125 #undef USE_DEFAULT_MULTI_THREAD_SYSTEM126 127 /* Define if enbale multithread support */128 #undef USE_MULTI_THREAD_SYSTEM129 130 117 /* Version number of package */ 131 118 #undef VERSION -
EcnlProtoTool/trunk/onigmo-6.1.3/src/enc/ascii.c
r321 r331 30 30 31 31 #include "regenc.h" 32 #ifdef RUBY 33 # include "encindex.h" 34 #endif 32 35 33 OnigEncodingType OnigEncodingASCII = { 36 #ifndef ENCINDEX_ASCII 37 # define ENCINDEX_ASCII 0 38 #endif 39 40 OnigEncodingDefine(ascii, ASCII) = { 34 41 onigenc_single_byte_mbc_enc_len, 35 " US-ASCII",/* name */42 "ASCII-8BIT",/* name */ 36 43 1, /* max byte length */ 37 44 1, /* min byte length */ … … 48 55 onigenc_single_byte_left_adjust_char_head, 49 56 onigenc_always_true_is_allowed_reverse_match, 57 onigenc_single_byte_ascii_only_case_map, 58 ENCINDEX_ASCII, 50 59 ONIGENC_FLAG_NONE, 51 60 }; 61 ENC_ALIAS("BINARY", "ASCII-8BIT") 62 ENC_REPLICATE("IBM437", "ASCII-8BIT") 63 ENC_ALIAS("CP437", "IBM437") 64 ENC_REPLICATE("IBM737", "ASCII-8BIT") 65 ENC_ALIAS("CP737", "IBM737") 66 ENC_REPLICATE("IBM775", "ASCII-8BIT") 67 ENC_ALIAS("CP775", "IBM775") 68 ENC_REPLICATE("CP850", "ASCII-8BIT") 69 ENC_ALIAS("IBM850", "CP850") 70 ENC_REPLICATE("IBM852", "ASCII-8BIT") 71 ENC_REPLICATE("CP852", "IBM852") 72 ENC_REPLICATE("IBM855", "ASCII-8BIT") 73 ENC_REPLICATE("CP855", "IBM855") 74 ENC_REPLICATE("IBM857", "ASCII-8BIT") 75 ENC_ALIAS("CP857", "IBM857") 76 ENC_REPLICATE("IBM860", "ASCII-8BIT") 77 ENC_ALIAS("CP860", "IBM860") 78 ENC_REPLICATE("IBM861", "ASCII-8BIT") 79 ENC_ALIAS("CP861", "IBM861") 80 ENC_REPLICATE("IBM862", "ASCII-8BIT") 81 ENC_ALIAS("CP862", "IBM862") 82 ENC_REPLICATE("IBM863", "ASCII-8BIT") 83 ENC_ALIAS("CP863", "IBM863") 84 ENC_REPLICATE("IBM864", "ASCII-8BIT") 85 ENC_ALIAS("CP864", "IBM864") 86 ENC_REPLICATE("IBM865", "ASCII-8BIT") 87 ENC_ALIAS("CP865", "IBM865") 88 ENC_REPLICATE("IBM866", "ASCII-8BIT") 89 ENC_ALIAS("CP866", "IBM866") 90 ENC_REPLICATE("IBM869", "ASCII-8BIT") 91 ENC_ALIAS("CP869", "IBM869") 92 ENC_REPLICATE("Windows-1258", "ASCII-8BIT") 93 ENC_ALIAS("CP1258", "Windows-1258") 94 ENC_REPLICATE("GB1988", "ASCII-8BIT") 95 ENC_REPLICATE("macCentEuro", "ASCII-8BIT") 96 ENC_REPLICATE("macCroatian", "ASCII-8BIT") 97 ENC_REPLICATE("macCyrillic", "ASCII-8BIT") 98 ENC_REPLICATE("macGreek", "ASCII-8BIT") 99 ENC_REPLICATE("macIceland", "ASCII-8BIT") 100 ENC_REPLICATE("macRoman", "ASCII-8BIT") 101 ENC_REPLICATE("macRomania", "ASCII-8BIT") 102 ENC_REPLICATE("macThai", "ASCII-8BIT") 103 ENC_REPLICATE("macTurkish", "ASCII-8BIT") 104 ENC_REPLICATE("macUkraine", "ASCII-8BIT") -
EcnlProtoTool/trunk/onigmo-6.1.3/src/enc/unicode.c
r321 r331 138 138 } 139 139 140 #include "enc/unicode/casefold.h" 141 142 #include "enc/unicode/name2ctype.h" 140 /* macros related to ONIGENC_CASE flags */ 141 /* defined here because not used in other files */ 142 #define ONIGENC_CASE_SPECIALS (ONIGENC_CASE_TITLECASE | ONIGENC_CASE_IS_TITLECASE | ONIGENC_CASE_UP_SPECIAL | ONIGENC_CASE_DOWN_SPECIAL) 143 144 /* macros for length in CaseMappingSpecials array in enc/unicode/casefold.h */ 145 #define SpecialsLengthOffset 25 /* needs to be higher than the 22 bits used for Unicode codepoints */ 146 #define SpecialsLengthExtract(n) ((n) >> SpecialsLengthOffset) 147 #define SpecialsCodepointExtract(n) ((n) & ((1 << SpecialsLengthOffset) - 1)) 148 #define SpecialsLengthEncode(n) ((n) << SpecialsLengthOffset) 149 150 #define OnigSpecialIndexMask (((1 << OnigSpecialIndexWidth) - 1) << OnigSpecialIndexShift) 151 #define OnigSpecialIndexEncode(n) ((n) << OnigSpecialIndexShift) 152 #define OnigSpecialIndexDecode(n) (((n) & OnigSpecialIndexMask) >> OnigSpecialIndexShift) 153 154 /* macros to shorten "enc/unicode/casefold.h", undefined immediately after including the file */ 155 #define U ONIGENC_CASE_UPCASE 156 #define D ONIGENC_CASE_DOWNCASE 157 #define F ONIGENC_CASE_FOLD 158 #define ST ONIGENC_CASE_TITLECASE 159 #define SU ONIGENC_CASE_UP_SPECIAL 160 #define SL ONIGENC_CASE_DOWN_SPECIAL 161 #define IT ONIGENC_CASE_IS_TITLECASE 162 #define I(n) OnigSpecialIndexEncode(n) 163 #define L(n) SpecialsLengthEncode(n) 164 165 #include "casefold.h" 166 167 #undef U 168 #undef D 169 #undef F 170 #undef ST 171 #undef SU 172 #undef SL 173 #undef IT 174 #undef I 175 #undef L 176 177 #include "name2ctype.h" 143 178 144 179 #define CODE_RANGES_NUM numberof(CodeRanges) 145 180 146 181 extern int 147 onigenc_unicode_is_code_ctype(OnigCodePoint code, unsigned int ctype )182 onigenc_unicode_is_code_ctype(OnigCodePoint code, unsigned int ctype, OnigEncoding enc ARG_UNUSED) 148 183 { 149 184 if ( … … 177 212 extern int 178 213 onigenc_utf16_32_get_ctype_code_range(OnigCtype ctype, OnigCodePoint* sb_out, 179 const OnigCodePoint* ranges[]) 214 const OnigCodePoint* ranges[], 215 OnigEncoding enc ARG_UNUSED) 180 216 { 181 217 *sb_out = 0x00; … … 183 219 } 184 220 185 #include "st.h"186 187 221 #define PROPERTY_NAME_MAX_SIZE (MAX_WORD_LENGTH + 1) 188 222 189 223 extern int 190 onigenc_unicode_property_name_to_ctype(OnigEncoding enc, UChar* name,UChar* end)224 onigenc_unicode_property_name_to_ctype(OnigEncoding enc, const UChar* name, const UChar* end) 191 225 { 192 226 int len; 193 227 int ctype; 194 228 UChar buf[PROPERTY_NAME_MAX_SIZE]; 195 UChar *p;229 const UChar *p; 196 230 OnigCodePoint code; 197 231 198 232 len = 0; 199 for (p = name; p < end; p += enclen(enc, p )) {233 for (p = name; p < end; p += enclen(enc, p, end)) { 200 234 code = ONIGENC_MBC_TO_CODE(enc, p, end); 201 235 if (code == ' ' || code == '-' || code == '_') … … 223 257 #define onigenc_unicode_unfold3_lookup onigenc_unicode_CaseUnfold_13_lookup 224 258 259 enum { 260 I_WITH_DOT_ABOVE = 0x0130, 261 DOTLESS_i = 0x0131, 262 DOT_ABOVE = 0x0307 263 }; 264 225 265 extern int 226 266 onigenc_unicode_mbc_case_fold(OnigEncoding enc, … … 234 274 235 275 code = ONIGENC_MBC_TO_CODE(enc, p, end); 236 len = enclen(enc, p );276 len = enclen(enc, p, end); 237 277 *pp += len; 238 278 239 279 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI 240 280 if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) != 0) { 241 if (code == 0x0049) {242 return ONIGENC_CODE_TO_MBC(enc, 0x0131, fold);243 } 244 else if (code == 0x0130) {245 return ONIGENC_CODE_TO_MBC(enc, 0x0069, fold);281 if (code == 'I') { 282 return ONIGENC_CODE_TO_MBC(enc, DOTLESS_i, fold); 283 } 284 else if (code == I_WITH_DOT_ABOVE) { 285 return ONIGENC_CODE_TO_MBC(enc, 'i', fold); 246 286 } 247 287 } … … 249 289 250 290 if ((to = onigenc_unicode_fold_lookup(code)) != 0) { 251 if ( to->n== 1) {291 if (OnigCodePointCount(to->n) == 1) { 252 292 return ONIGENC_CODE_TO_MBC(enc, to->code[0], fold); 253 293 } … … 260 300 { 261 301 rlen = 0; 262 for (i = 0; i < to->n; i++) {302 for (i = 0; i < OnigCodePointCount(to->n); i++) { 263 303 len = ONIGENC_CODE_TO_MBC(enc, to->code[i], fold); 264 304 fold += len; … … 277 317 extern int 278 318 onigenc_unicode_apply_all_case_fold(OnigCaseFoldType flag, 279 OnigApplyAllCaseFoldFunc f, void* arg) 319 OnigApplyAllCaseFoldFunc f, void* arg, 320 OnigEncoding enc ARG_UNUSED) 280 321 { 281 322 const CaseUnfold_11_Type* p11; … … 285 326 for (i = 0; i < numberof(CaseUnfold_11); i++) { 286 327 p11 = &CaseUnfold_11[i]; 287 for (j = 0; j < p11->to.n; j++) {328 for (j = 0; j < OnigCodePointCount(p11->to.n); j++) { 288 329 code = p11->from; 289 330 r = (*f)(p11->to.code[j], &code, 1, arg); … … 306 347 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI 307 348 if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) != 0) { 308 code = 0x0131;309 r = (*f)( 0x0049, &code, 1, arg);349 code = DOTLESS_i; 350 r = (*f)('I', &code, 1, arg); 310 351 if (r != 0) return r; 311 code = 0x0049;312 r = (*f)( 0x0131, &code, 1, arg);352 code = 'I'; 353 r = (*f)(DOTLESS_i, &code, 1, arg); 313 354 if (r != 0) return r; 314 355 315 code = 0x0130;316 r = (*f)( 0x0069, &code, 1, arg);356 code = I_WITH_DOT_ABOVE; 357 r = (*f)('i', &code, 1, arg); 317 358 if (r != 0) return r; 318 code = 0x0069;319 r = (*f)( 0x0130, &code, 1, arg);359 code = 'i'; 360 r = (*f)(I_WITH_DOT_ABOVE, &code, 1, arg); 320 361 if (r != 0) return r; 321 362 } … … 324 365 for (i = 0; i < numberof(CaseUnfold_11_Locale); i++) { 325 366 p11 = &CaseUnfold_11_Locale[i]; 326 for (j = 0; j < p11->to.n; j++) {367 for (j = 0; j < OnigCodePointCount(p11->to.n); j++) { 327 368 code = p11->from; 328 369 r = (*f)(p11->to.code[j], &code, 1, arg); … … 350 391 if ((flag & INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR) != 0) { 351 392 for (i = 0; i < numberof(CaseUnfold_12); i++) { 352 for (j = 0; j < CaseUnfold_12[i].to.n; j++) {393 for (j = 0; j < OnigCodePointCount(CaseUnfold_12[i].to.n); j++) { 353 394 r = (*f)(CaseUnfold_12[i].to.code[j], 354 395 (OnigCodePoint* )CaseUnfold_12[i].from, 2, arg); 355 396 if (r != 0) return r; 356 397 357 for (k = 0; k < CaseUnfold_12[i].to.n; k++) {398 for (k = 0; k < OnigCodePointCount(CaseUnfold_12[i].to.n); k++) { 358 399 if (k == j) continue; 359 400 … … 369 410 #endif 370 411 for (i = 0; i < numberof(CaseUnfold_12_Locale); i++) { 371 for (j = 0; j < CaseUnfold_12_Locale[i].to.n; j++) {412 for (j = 0; j < OnigCodePointCount(CaseUnfold_12_Locale[i].to.n); j++) { 372 413 r = (*f)(CaseUnfold_12_Locale[i].to.code[j], 373 414 (OnigCodePoint* )CaseUnfold_12_Locale[i].from, 2, arg); 374 415 if (r != 0) return r; 375 416 376 for (k = 0; k < CaseUnfold_12_Locale[i].to.n; k++) {417 for (k = 0; k < OnigCodePointCount(CaseUnfold_12_Locale[i].to.n); k++) { 377 418 if (k == j) continue; 378 419 … … 389 430 390 431 for (i = 0; i < numberof(CaseUnfold_13); i++) { 391 for (j = 0; j < CaseUnfold_13[i].to.n; j++) {432 for (j = 0; j < OnigCodePointCount(CaseUnfold_13[i].to.n); j++) { 392 433 r = (*f)(CaseUnfold_13[i].to.code[j], 393 434 (OnigCodePoint* )CaseUnfold_13[i].from, 3, arg); 394 435 if (r != 0) return r; 395 436 396 for (k = 0; k < CaseUnfold_13[i].to.n; k++) {437 for (k = 0; k < OnigCodePointCount(CaseUnfold_13[i].to.n); k++) { 397 438 if (k == j) continue; 398 439 … … 407 448 return 0; 408 449 } 450 451 #define CodePointListValidP(x) (OnigCodePointCount((x)->n) <= numberof((x)->code)) 409 452 410 453 extern int … … 421 464 422 465 code = ONIGENC_MBC_TO_CODE(enc, p, end); 423 len = enclen(enc, p );466 len = enclen(enc, p, end); 424 467 425 468 #ifdef USE_UNICODE_CASE_FOLD_TURKISH_AZERI 426 469 if ((flag & ONIGENC_CASE_FOLD_TURKISH_AZERI) != 0) { 427 if (code == 0x0049) { 470 switch (code) { 471 case 'I': 428 472 items[0].byte_len = len; 429 473 items[0].code_len = 1; 430 items[0].code[0] = 0x0131;474 items[0].code[0] = DOTLESS_i; 431 475 return 1; 432 } 433 else if (code == 0x0130) { 476 case I_WITH_DOT_ABOVE: 434 477 items[0].byte_len = len; 435 478 items[0].code_len = 1; 436 items[0].code[0] = 0x0069;479 items[0].code[0] = 'i'; 437 480 return 1; 438 } 439 else if (code == 0x0131) { 481 case DOTLESS_i: 440 482 items[0].byte_len = len; 441 483 items[0].code_len = 1; 442 items[0].code[0] = 0x0049;484 items[0].code[0] = 'I'; 443 485 return 1; 444 } 445 else if (code == 0x0069) { 486 case 'i': 446 487 items[0].byte_len = len; 447 488 items[0].code_len = 1; 448 items[0].code[0] = 0x0130;489 items[0].code[0] = I_WITH_DOT_ABOVE; 449 490 return 1; 450 491 } … … 453 494 454 495 if ((to = onigenc_unicode_fold_lookup(code)) != 0) { 455 if ( to->n== 1) {496 if (OnigCodePointCount(to->n) == 1) { 456 497 OnigCodePoint orig_code = code; 457 498 … … 462 503 463 504 code = to->code[0]; 464 if ((to = onigenc_unicode_unfold1_lookup(code)) != 0) { 465 for (i = 0; i < to->n; i++) { 505 if ((to = onigenc_unicode_unfold1_lookup(code)) != 0 && 506 CodePointListValidP(to)) { 507 for (i = 0; i < OnigCodePointCount(to->n); i++) { 466 508 if (to->code[i] != orig_code) { 467 509 items[n].byte_len = len; … … 477 519 int fn, ncs[3]; 478 520 479 for (fn = 0; fn < to->n; fn++) {521 for (fn = 0; fn < OnigCodePointCount(to->n); fn++) { 480 522 cs[fn][0] = to->code[fn]; 481 523 if ((z3 = onigenc_unicode_unfold1_lookup(cs[fn][0])) != 0) { 482 for (i = 0; i < z3->n; i++) {524 for (i = 0; i < OnigCodePointCount(z3->n); i++) { 483 525 cs[fn][i+1] = z3->code[i]; 484 526 } 485 ncs[fn] = z3->n+ 1;527 ncs[fn] = OnigCodePointCount(z3->n) + 1; 486 528 } 487 529 else … … 500 542 } 501 543 502 if ((z2 = onigenc_unicode_unfold2_lookup(to->code)) != 0) { 503 for (i = 0; i < z2->n; i++) { 544 if ((z2 = onigenc_unicode_unfold2_lookup(to->code)) != 0 && 545 CodePointListValidP(z2)) { 546 for (i = 0; i < OnigCodePointCount(z2->n); i++) { 504 547 if (z2->code[i] == code) continue; 505 548 … … 525 568 } 526 569 527 if ((z2 = onigenc_unicode_unfold3_lookup(to->code)) != 0) { 528 for (i = 0; i < z2->n; i++) { 570 if ((z2 = onigenc_unicode_unfold3_lookup(to->code)) != 0 && 571 CodePointListValidP(z2)) { 572 for (i = 0; i < OnigCodePointCount(z2->n); i++) { 529 573 if (z2->code[i] == code) continue; 530 574 … … 542 586 } 543 587 else { 544 if ((to = onigenc_unicode_unfold1_lookup(code)) != 0) { 545 for (i = 0; i < to->n; i++) { 588 if ((to = onigenc_unicode_unfold1_lookup(code)) != 0 && 589 CodePointListValidP(to)) { 590 for (i = 0; i < OnigCodePointCount(to->n); i++) { 546 591 items[n].byte_len = len; 547 592 items[n].code_len = 1; … … 561 606 code = ONIGENC_MBC_TO_CODE(enc, p, end); 562 607 if ((to = onigenc_unicode_fold_lookup(code)) != 0 563 && to->n== 1) {608 && OnigCodePointCount(to->n) == 1) { 564 609 codes[1] = to->code[0]; 565 610 } … … 567 612 codes[1] = code; 568 613 569 clen = enclen(enc, p );614 clen = enclen(enc, p, end); 570 615 len += clen; 571 if ((z2 = onigenc_unicode_unfold2_lookup(codes)) != 0) { 572 for (i = 0; i < z2->n; i++) { 616 if ((z2 = onigenc_unicode_unfold2_lookup(codes)) != 0 && 617 CodePointListValidP(z2)) { 618 for (i = 0; i < OnigCodePointCount(z2->n); i++) { 573 619 items[n].byte_len = len; 574 620 items[n].code_len = 1; … … 582 628 code = ONIGENC_MBC_TO_CODE(enc, p, end); 583 629 if ((to = onigenc_unicode_fold_lookup(code)) != 0 584 && to->n== 1) {630 && OnigCodePointCount(to->n) == 1) { 585 631 codes[2] = to->code[0]; 586 632 } … … 588 634 codes[2] = code; 589 635 590 clen = enclen(enc, p );636 clen = enclen(enc, p, end); 591 637 len += clen; 592 if ((z2 = onigenc_unicode_unfold3_lookup(codes)) != 0) { 593 for (i = 0; i < z2->n; i++) { 638 if ((z2 = onigenc_unicode_unfold3_lookup(codes)) != 0 && 639 CodePointListValidP(z2)) { 640 for (i = 0; i < OnigCodePointCount(z2->n); i++) { 594 641 items[n].byte_len = len; 595 642 items[n].code_len = 1; … … 604 651 return n; 605 652 } 653 654 /* length in bytes for three characters in UTF-32; e.g. needed for ffi (U+FB03) */ 655 #define CASE_MAPPING_SLACK 12 656 #define MODIFIED (flags |= ONIGENC_CASE_MODIFIED) 657 extern int 658 onigenc_unicode_case_map(OnigCaseFoldType* flagP, 659 const OnigUChar** pp, const OnigUChar* end, 660 OnigUChar* to, OnigUChar* to_end, 661 const struct OnigEncodingTypeST* enc) 662 { 663 OnigCodePoint code; 664 OnigUChar *to_start = to; 665 OnigCaseFoldType flags = *flagP; 666 int codepoint_length; 667 668 to_end -= CASE_MAPPING_SLACK; 669 /* copy flags ONIGENC_CASE_UPCASE and ONIGENC_CASE_DOWNCASE over to 670 * ONIGENC_CASE_UP_SPECIAL and ONIGENC_CASE_DOWN_SPECIAL */ 671 flags |= (flags & (ONIGENC_CASE_UPCASE | ONIGENC_CASE_DOWNCASE)) << ONIGENC_CASE_SPECIAL_OFFSET; 672 673 while (*pp < end && to <= to_end) { 674 codepoint_length = ONIGENC_PRECISE_MBC_ENC_LEN(enc, *pp, end); 675 if (codepoint_length < 0) 676 return codepoint_length; /* encoding invalid */ 677 code = ONIGENC_MBC_TO_CODE(enc, *pp, end); 678 *pp += codepoint_length; 679 680 if (code <= 'z') { /* ASCII comes first */ 681 if (code >= 'a' && code <= 'z') { 682 if (flags & ONIGENC_CASE_UPCASE) { 683 MODIFIED; 684 if (flags & ONIGENC_CASE_FOLD_TURKISH_AZERI && code == 'i') 685 code = I_WITH_DOT_ABOVE; 686 else 687 code += 'A' - 'a'; 688 } 689 } 690 else if (code >= 'A' && code <= 'Z') { 691 if (flags & (ONIGENC_CASE_DOWNCASE | ONIGENC_CASE_FOLD)) { 692 MODIFIED; 693 if (flags & ONIGENC_CASE_FOLD_TURKISH_AZERI && code == 'I') 694 code = DOTLESS_i; 695 else 696 code += 'a' - 'A'; 697 } 698 } 699 } 700 else if (!(flags & ONIGENC_CASE_ASCII_ONLY) && code >= 0x00B5) { /* deal with non-ASCII; micron sign (U+00B5) is lowest affected */ 701 const CodePointList3 *folded; 702 703 if (code == I_WITH_DOT_ABOVE) { 704 if (flags & (ONIGENC_CASE_DOWNCASE | ONIGENC_CASE_FOLD)) { 705 MODIFIED; 706 code = 'i'; 707 if (!(flags & ONIGENC_CASE_FOLD_TURKISH_AZERI)) { /* make dot above explicit */ 708 to += ONIGENC_CODE_TO_MBC(enc, code, to); 709 code = DOT_ABOVE; 710 } 711 } 712 } 713 else if (code == DOTLESS_i) { /* handle this manually, because it isn't involved in folding */ 714 if (flags & ONIGENC_CASE_UPCASE) { 715 MODIFIED; 716 code = 'I'; 717 } 718 } 719 else if ((folded = onigenc_unicode_fold_lookup(code)) != 0) { /* data about character found in CaseFold_11_Table */ 720 if ((flags & ONIGENC_CASE_TITLECASE) /* Titlecase needed, */ 721 && (OnigCaseFoldFlags(folded->n) & ONIGENC_CASE_IS_TITLECASE)) { /* but already Titlecase */ 722 /* already Titlecase, no changes needed */ 723 } 724 else if (flags & OnigCaseFoldFlags(folded->n)) { /* needs and data availability match */ 725 const OnigCodePoint *next; 726 int count; 727 728 MODIFIED; 729 if (flags & OnigCaseFoldFlags(folded->n) & ONIGENC_CASE_SPECIALS) { /* special */ 730 const OnigCodePoint *SpecialsStart = CaseMappingSpecials + OnigSpecialIndexDecode(folded->n); 731 732 if (OnigCaseFoldFlags(folded->n) & ONIGENC_CASE_IS_TITLECASE) { /* swapCASE available */ 733 if ((flags & (ONIGENC_CASE_UPCASE | ONIGENC_CASE_DOWNCASE)) 734 == (ONIGENC_CASE_UPCASE | ONIGENC_CASE_DOWNCASE)) /* swapCASE needed */ 735 goto SpecialsCopy; 736 else /* swapCASE not needed */ 737 SpecialsStart += SpecialsLengthExtract(*SpecialsStart); 738 } 739 if (OnigCaseFoldFlags(folded->n) & ONIGENC_CASE_TITLECASE) { /* Titlecase available */ 740 if (flags & ONIGENC_CASE_TITLECASE) /* Titlecase needed, but not yet Titlecase */ 741 goto SpecialsCopy; 742 else /* Titlecase not needed */ 743 SpecialsStart += SpecialsLengthExtract(*SpecialsStart); 744 } 745 if (OnigCaseFoldFlags(folded->n) & ONIGENC_CASE_DOWN_SPECIAL) { 746 if (!(flags & ONIGENC_CASE_DOWN_SPECIAL)) 747 SpecialsStart += SpecialsLengthExtract(*SpecialsStart); 748 } 749 /* here, we know we use ONIGENC_CASE_UP_SPECIAL, and the position is right */ 750 SpecialsCopy: 751 count = SpecialsLengthExtract(*SpecialsStart); 752 next = SpecialsStart; 753 code = SpecialsCodepointExtract(*next++); 754 } 755 else { /* no specials */ 756 count = OnigCodePointCount(folded->n); 757 next = folded->code; 758 code = *next++; 759 } 760 if (count == 1) 761 ; 762 else if (count == 2) { 763 to += ONIGENC_CODE_TO_MBC(enc, code, to); 764 code = *next; 765 } 766 else { /* count == 3 */ 767 to += ONIGENC_CODE_TO_MBC(enc, code, to); 768 to += ONIGENC_CODE_TO_MBC(enc, *next++, to); 769 code = *next; 770 } 771 } 772 } 773 else if ((folded = onigenc_unicode_unfold1_lookup(code)) != 0 /* data about character found in CaseUnfold_11_Table */ 774 && flags & OnigCaseFoldFlags(folded->n)) { /* needs and data availability match */ 775 MODIFIED; 776 code = folded->code[(flags & OnigCaseFoldFlags(folded->n) & ONIGENC_CASE_TITLECASE) ? 1 : 0]; 777 } 778 } 779 to += ONIGENC_CODE_TO_MBC(enc, code, to); 780 /* switch from titlecase to lowercase for capitalize */ 781 if (flags & ONIGENC_CASE_TITLECASE) 782 flags ^= (ONIGENC_CASE_UPCASE | ONIGENC_CASE_DOWNCASE | ONIGENC_CASE_TITLECASE | 783 ONIGENC_CASE_UP_SPECIAL | ONIGENC_CASE_DOWN_SPECIAL); 784 } 785 *flagP = flags; 786 return (int )(to - to_start); 787 } 788 789 #if 0 790 const char onigenc_unicode_version_string[] = 791 #ifdef ONIG_UNICODE_VERSION_STRING 792 ONIG_UNICODE_VERSION_STRING 793 #endif 794 ""; 795 796 const int onigenc_unicode_version_number[3] = { 797 #ifdef ONIG_UNICODE_VERSION_MAJOR 798 ONIG_UNICODE_VERSION_MAJOR, 799 ONIG_UNICODE_VERSION_MINOR, 800 ONIG_UNICODE_VERSION_TEENY, 801 #else 802 0 803 #endif 804 }; 805 #endif -
EcnlProtoTool/trunk/onigmo-6.1.3/src/enc/unicode/casefold.h
r321 r331 2 2 /* Generated by tool/case-folding.rb */ 3 3 4 #if defined ONIG_UNICODE_VERSION_STRING && !( \ 5 ONIG_UNICODE_VERSION_MAJOR == 10 && \ 6 ONIG_UNICODE_VERSION_MINOR == 0 && \ 7 ONIG_UNICODE_VERSION_TEENY == 0 && \ 8 1) 9 # error ONIG_UNICODE_VERSION_STRING mismatch 10 #endif 11 #define ONIG_UNICODE_VERSION_STRING "10.0.0" 12 #define ONIG_UNICODE_VERSION_MAJOR 10 13 #define ONIG_UNICODE_VERSION_MINOR 0 14 #define ONIG_UNICODE_VERSION_TEENY 0 15 4 16 static const CaseFold_11_Type CaseFold_11_Table[] = { 5 #define CaseFold (*(CaseFold_11_Type (*)[1178])(CaseFold_11_Table+0)) 6 {0x0041, {1, {0x0061}}}, 7 {0x0042, {1, {0x0062}}}, 8 {0x0043, {1, {0x0063}}}, 9 {0x0044, {1, {0x0064}}}, 10 {0x0045, {1, {0x0065}}}, 11 {0x0046, {1, {0x0066}}}, 12 {0x0047, {1, {0x0067}}}, 13 {0x0048, {1, {0x0068}}}, 14 {0x004a, {1, {0x006a}}}, 15 {0x004b, {1, {0x006b}}}, 16 {0x004c, {1, {0x006c}}}, 17 {0x004d, {1, {0x006d}}}, 18 {0x004e, {1, {0x006e}}}, 19 {0x004f, {1, {0x006f}}}, 20 {0x0050, {1, {0x0070}}}, 21 {0x0051, {1, {0x0071}}}, 22 {0x0052, {1, {0x0072}}}, 23 {0x0053, {1, {0x0073}}}, 24 {0x0054, {1, {0x0074}}}, 25 {0x0055, {1, {0x0075}}}, 26 {0x0056, {1, {0x0076}}}, 27 {0x0057, {1, {0x0077}}}, 28 {0x0058, {1, {0x0078}}}, 29 {0x0059, {1, {0x0079}}}, 30 {0x005a, {1, {0x007a}}}, 31 {0x00b5, {1, {0x03bc}}}, 32 {0x00c0, {1, {0x00e0}}}, 33 {0x00c1, {1, {0x00e1}}}, 34 {0x00c2, {1, {0x00e2}}}, 35 {0x00c3, {1, {0x00e3}}}, 36 {0x00c4, {1, {0x00e4}}}, 37 {0x00c5, {1, {0x00e5}}}, 38 {0x00c6, {1, {0x00e6}}}, 39 {0x00c7, {1, {0x00e7}}}, 40 {0x00c8, {1, {0x00e8}}}, 41 {0x00c9, {1, {0x00e9}}}, 42 {0x00ca, {1, {0x00ea}}}, 43 {0x00cb, {1, {0x00eb}}}, 44 {0x00cc, {1, {0x00ec}}}, 45 {0x00cd, {1, {0x00ed}}}, 46 {0x00ce, {1, {0x00ee}}}, 47 {0x00cf, {1, {0x00ef}}}, 48 {0x00d0, {1, {0x00f0}}}, 49 {0x00d1, {1, {0x00f1}}}, 50 {0x00d2, {1, {0x00f2}}}, 51 {0x00d3, {1, {0x00f3}}}, 52 {0x00d4, {1, {0x00f4}}}, 53 {0x00d5, {1, {0x00f5}}}, 54 {0x00d6, {1, {0x00f6}}}, 55 {0x00d8, {1, {0x00f8}}}, 56 {0x00d9, {1, {0x00f9}}}, 57 {0x00da, {1, {0x00fa}}}, 58 {0x00db, {1, {0x00fb}}}, 59 {0x00dc, {1, {0x00fc}}}, 60 {0x00dd, {1, {0x00fd}}}, 61 {0x00de, {1, {0x00fe}}}, 62 {0x00df, {2, {0x0073, 0x0073}}}, 63 {0x0100, {1, {0x0101}}}, 64 {0x0102, {1, {0x0103}}}, 65 {0x0104, {1, {0x0105}}}, 66 {0x0106, {1, {0x0107}}}, 67 {0x0108, {1, {0x0109}}}, 68 {0x010a, {1, {0x010b}}}, 69 {0x010c, {1, {0x010d}}}, 70 {0x010e, {1, {0x010f}}}, 71 {0x0110, {1, {0x0111}}}, 72 {0x0112, {1, {0x0113}}}, 73 {0x0114, {1, {0x0115}}}, 74 {0x0116, {1, {0x0117}}}, 75 {0x0118, {1, {0x0119}}}, 76 {0x011a, {1, {0x011b}}}, 77 {0x011c, {1, {0x011d}}}, 78 {0x011e, {1, {0x011f}}}, 79 {0x0120, {1, {0x0121}}}, 80 {0x0122, {1, {0x0123}}}, 81 {0x0124, {1, {0x0125}}}, 82 {0x0126, {1, {0x0127}}}, 83 {0x0128, {1, {0x0129}}}, 84 {0x012a, {1, {0x012b}}}, 85 {0x012c, {1, {0x012d}}}, 86 {0x012e, {1, {0x012f}}}, 87 {0x0132, {1, {0x0133}}}, 88 {0x0134, {1, {0x0135}}}, 89 {0x0136, {1, {0x0137}}}, 90 {0x0139, {1, {0x013a}}}, 91 {0x013b, {1, {0x013c}}}, 92 {0x013d, {1, {0x013e}}}, 93 {0x013f, {1, {0x0140}}}, 94 {0x0141, {1, {0x0142}}}, 95 {0x0143, {1, {0x0144}}}, 96 {0x0145, {1, {0x0146}}}, 97 {0x0147, {1, {0x0148}}}, 98 {0x0149, {2, {0x02bc, 0x006e}}}, 99 {0x014a, {1, {0x014b}}}, 100 {0x014c, {1, {0x014d}}}, 101 {0x014e, {1, {0x014f}}}, 102 {0x0150, {1, {0x0151}}}, 103 {0x0152, {1, {0x0153}}}, 104 {0x0154, {1, {0x0155}}}, 105 {0x0156, {1, {0x0157}}}, 106 {0x0158, {1, {0x0159}}}, 107 {0x015a, {1, {0x015b}}}, 108 {0x015c, {1, {0x015d}}}, 109 {0x015e, {1, {0x015f}}}, 110 {0x0160, {1, {0x0161}}}, 111 {0x0162, {1, {0x0163}}}, 112 {0x0164, {1, {0x0165}}}, 113 {0x0166, {1, {0x0167}}}, 114 {0x0168, {1, {0x0169}}}, 115 {0x016a, {1, {0x016b}}}, 116 {0x016c, {1, {0x016d}}}, 117 {0x016e, {1, {0x016f}}}, 118 {0x0170, {1, {0x0171}}}, 119 {0x0172, {1, {0x0173}}}, 120 {0x0174, {1, {0x0175}}}, 121 {0x0176, {1, {0x0177}}}, 122 {0x0178, {1, {0x00ff}}}, 123 {0x0179, {1, {0x017a}}}, 124 {0x017b, {1, {0x017c}}}, 125 {0x017d, {1, {0x017e}}}, 126 {0x017f, {1, {0x0073}}}, 127 {0x0181, {1, {0x0253}}}, 128 {0x0182, {1, {0x0183}}}, 129 {0x0184, {1, {0x0185}}}, 130 {0x0186, {1, {0x0254}}}, 131 {0x0187, {1, {0x0188}}}, 132 {0x0189, {1, {0x0256}}}, 133 {0x018a, {1, {0x0257}}}, 134 {0x018b, {1, {0x018c}}}, 135 {0x018e, {1, {0x01dd}}}, 136 {0x018f, {1, {0x0259}}}, 137 {0x0190, {1, {0x025b}}}, 138 {0x0191, {1, {0x0192}}}, 139 {0x0193, {1, {0x0260}}}, 140 {0x0194, {1, {0x0263}}}, 141 {0x0196, {1, {0x0269}}}, 142 {0x0197, {1, {0x0268}}}, 143 {0x0198, {1, {0x0199}}}, 144 {0x019c, {1, {0x026f}}}, 145 {0x019d, {1, {0x0272}}}, 146 {0x019f, {1, {0x0275}}}, 147 {0x01a0, {1, {0x01a1}}}, 148 {0x01a2, {1, {0x01a3}}}, 149 {0x01a4, {1, {0x01a5}}}, 150 {0x01a6, {1, {0x0280}}}, 151 {0x01a7, {1, {0x01a8}}}, 152 {0x01a9, {1, {0x0283}}}, 153 {0x01ac, {1, {0x01ad}}}, 154 {0x01ae, {1, {0x0288}}}, 155 {0x01af, {1, {0x01b0}}}, 156 {0x01b1, {1, {0x028a}}}, 157 {0x01b2, {1, {0x028b}}}, 158 {0x01b3, {1, {0x01b4}}}, 159 {0x01b5, {1, {0x01b6}}}, 160 {0x01b7, {1, {0x0292}}}, 161 {0x01b8, {1, {0x01b9}}}, 162 {0x01bc, {1, {0x01bd}}}, 163 {0x01c4, {1, {0x01c6}}}, 164 {0x01c5, {1, {0x01c6}}}, 165 {0x01c7, {1, {0x01c9}}}, 166 {0x01c8, {1, {0x01c9}}}, 167 {0x01ca, {1, {0x01cc}}}, 168 {0x01cb, {1, {0x01cc}}}, 169 {0x01cd, {1, {0x01ce}}}, 170 {0x01cf, {1, {0x01d0}}}, 171 {0x01d1, {1, {0x01d2}}}, 172 {0x01d3, {1, {0x01d4}}}, 173 {0x01d5, {1, {0x01d6}}}, 174 {0x01d7, {1, {0x01d8}}}, 175 {0x01d9, {1, {0x01da}}}, 176 {0x01db, {1, {0x01dc}}}, 177 {0x01de, {1, {0x01df}}}, 178 {0x01e0, {1, {0x01e1}}}, 179 {0x01e2, {1, {0x01e3}}}, 180 {0x01e4, {1, {0x01e5}}}, 181 {0x01e6, {1, {0x01e7}}}, 182 {0x01e8, {1, {0x01e9}}}, 183 {0x01ea, {1, {0x01eb}}}, 184 {0x01ec, {1, {0x01ed}}}, 185 {0x01ee, {1, {0x01ef}}}, 186 {0x01f0, {2, {0x006a, 0x030c}}}, 187 {0x01f1, {1, {0x01f3}}}, 188 {0x01f2, {1, {0x01f3}}}, 189 {0x01f4, {1, {0x01f5}}}, 190 {0x01f6, {1, {0x0195}}}, 191 {0x01f7, {1, {0x01bf}}}, 192 {0x01f8, {1, {0x01f9}}}, 193 {0x01fa, {1, {0x01fb}}}, 194 {0x01fc, {1, {0x01fd}}}, 195 {0x01fe, {1, {0x01ff}}}, 196 {0x0200, {1, {0x0201}}}, 197 {0x0202, {1, {0x0203}}}, 198 {0x0204, {1, {0x0205}}}, 199 {0x0206, {1, {0x0207}}}, 200 {0x0208, {1, {0x0209}}}, 201 {0x020a, {1, {0x020b}}}, 202 {0x020c, {1, {0x020d}}}, 203 {0x020e, {1, {0x020f}}}, 204 {0x0210, {1, {0x0211}}}, 205 {0x0212, {1, {0x0213}}}, 206 {0x0214, {1, {0x0215}}}, 207 {0x0216, {1, {0x0217}}}, 208 {0x0218, {1, {0x0219}}}, 209 {0x021a, {1, {0x021b}}}, 210 {0x021c, {1, {0x021d}}}, 211 {0x021e, {1, {0x021f}}}, 212 {0x0220, {1, {0x019e}}}, 213 {0x0222, {1, {0x0223}}}, 214 {0x0224, {1, {0x0225}}}, 215 {0x0226, {1, {0x0227}}}, 216 {0x0228, {1, {0x0229}}}, 217 {0x022a, {1, {0x022b}}}, 218 {0x022c, {1, {0x022d}}}, 219 {0x022e, {1, {0x022f}}}, 220 {0x0230, {1, {0x0231}}}, 221 {0x0232, {1, {0x0233}}}, 222 {0x023a, {1, {0x2c65}}}, 223 {0x023b, {1, {0x023c}}}, 224 {0x023d, {1, {0x019a}}}, 225 {0x023e, {1, {0x2c66}}}, 226 {0x0241, {1, {0x0242}}}, 227 {0x0243, {1, {0x0180}}}, 228 {0x0244, {1, {0x0289}}}, 229 {0x0245, {1, {0x028c}}}, 230 {0x0246, {1, {0x0247}}}, 231 {0x0248, {1, {0x0249}}}, 232 {0x024a, {1, {0x024b}}}, 233 {0x024c, {1, {0x024d}}}, 234 {0x024e, {1, {0x024f}}}, 235 {0x0345, {1, {0x03b9}}}, 236 {0x0370, {1, {0x0371}}}, 237 {0x0372, {1, {0x0373}}}, 238 {0x0376, {1, {0x0377}}}, 239 {0x037f, {1, {0x03f3}}}, 240 {0x0386, {1, {0x03ac}}}, 241 {0x0388, {1, {0x03ad}}}, 242 {0x0389, {1, {0x03ae}}}, 243 {0x038a, {1, {0x03af}}}, 244 {0x038c, {1, {0x03cc}}}, 245 {0x038e, {1, {0x03cd}}}, 246 {0x038f, {1, {0x03ce}}}, 247 {0x0390, {3, {0x03b9, 0x0308, 0x0301}}}, 248 {0x0391, {1, {0x03b1}}}, 249 {0x0392, {1, {0x03b2}}}, 250 {0x0393, {1, {0x03b3}}}, 251 {0x0394, {1, {0x03b4}}}, 252 {0x0395, {1, {0x03b5}}}, 253 {0x0396, {1, {0x03b6}}}, 254 {0x0397, {1, {0x03b7}}}, 255 {0x0398, {1, {0x03b8}}}, 256 {0x0399, {1, {0x03b9}}}, 257 {0x039a, {1, {0x03ba}}}, 258 {0x039b, {1, {0x03bb}}}, 259 {0x039c, {1, {0x03bc}}}, 260 {0x039d, {1, {0x03bd}}}, 261 {0x039e, {1, {0x03be}}}, 262 {0x039f, {1, {0x03bf}}}, 263 {0x03a0, {1, {0x03c0}}}, 264 {0x03a1, {1, {0x03c1}}}, 265 {0x03a3, {1, {0x03c3}}}, 266 {0x03a4, {1, {0x03c4}}}, 267 {0x03a5, {1, {0x03c5}}}, 268 {0x03a6, {1, {0x03c6}}}, 269 {0x03a7, {1, {0x03c7}}}, 270 {0x03a8, {1, {0x03c8}}}, 271 {0x03a9, {1, {0x03c9}}}, 272 {0x03aa, {1, {0x03ca}}}, 273 {0x03ab, {1, {0x03cb}}}, 274 {0x03b0, {3, {0x03c5, 0x0308, 0x0301}}}, 275 {0x03c2, {1, {0x03c3}}}, 276 {0x03cf, {1, {0x03d7}}}, 277 {0x03d0, {1, {0x03b2}}}, 278 {0x03d1, {1, {0x03b8}}}, 279 {0x03d5, {1, {0x03c6}}}, 280 {0x03d6, {1, {0x03c0}}}, 281 {0x03d8, {1, {0x03d9}}}, 282 {0x03da, {1, {0x03db}}}, 283 {0x03dc, {1, {0x03dd}}}, 284 {0x03de, {1, {0x03df}}}, 285 {0x03e0, {1, {0x03e1}}}, 286 {0x03e2, {1, {0x03e3}}}, 287 {0x03e4, {1, {0x03e5}}}, 288 {0x03e6, {1, {0x03e7}}}, 289 {0x03e8, {1, {0x03e9}}}, 290 {0x03ea, {1, {0x03eb}}}, 291 {0x03ec, {1, {0x03ed}}}, 292 {0x03ee, {1, {0x03ef}}}, 293 {0x03f0, {1, {0x03ba}}}, 294 {0x03f1, {1, {0x03c1}}}, 295 {0x03f4, {1, {0x03b8}}}, 296 {0x03f5, {1, {0x03b5}}}, 297 {0x03f7, {1, {0x03f8}}}, 298 {0x03f9, {1, {0x03f2}}}, 299 {0x03fa, {1, {0x03fb}}}, 300 {0x03fd, {1, {0x037b}}}, 301 {0x03fe, {1, {0x037c}}}, 302 {0x03ff, {1, {0x037d}}}, 303 {0x0400, {1, {0x0450}}}, 304 {0x0401, {1, {0x0451}}}, 305 {0x0402, {1, {0x0452}}}, 306 {0x0403, {1, {0x0453}}}, 307 {0x0404, {1, {0x0454}}}, 308 {0x0405, {1, {0x0455}}}, 309 {0x0406, {1, {0x0456}}}, 310 {0x0407, {1, {0x0457}}}, 311 {0x0408, {1, {0x0458}}}, 312 {0x0409, {1, {0x0459}}}, 313 {0x040a, {1, {0x045a}}}, 314 {0x040b, {1, {0x045b}}}, 315 {0x040c, {1, {0x045c}}}, 316 {0x040d, {1, {0x045d}}}, 317 {0x040e, {1, {0x045e}}}, 318 {0x040f, {1, {0x045f}}}, 319 {0x0410, {1, {0x0430}}}, 320 {0x0411, {1, {0x0431}}}, 321 {0x0412, {1, {0x0432}}}, 322 {0x0413, {1, {0x0433}}}, 323 {0x0414, {1, {0x0434}}}, 324 {0x0415, {1, {0x0435}}}, 325 {0x0416, {1, {0x0436}}}, 326 {0x0417, {1, {0x0437}}}, 327 {0x0418, {1, {0x0438}}}, 328 {0x0419, {1, {0x0439}}}, 329 {0x041a, {1, {0x043a}}}, 330 {0x041b, {1, {0x043b}}}, 331 {0x041c, {1, {0x043c}}}, 332 {0x041d, {1, {0x043d}}}, 333 {0x041e, {1, {0x043e}}}, 334 {0x041f, {1, {0x043f}}}, 335 {0x0420, {1, {0x0440}}}, 336 {0x0421, {1, {0x0441}}}, 337 {0x0422, {1, {0x0442}}}, 338 {0x0423, {1, {0x0443}}}, 339 {0x0424, {1, {0x0444}}}, 340 {0x0425, {1, {0x0445}}}, 341 {0x0426, {1, {0x0446}}}, 342 {0x0427, {1, {0x0447}}}, 343 {0x0428, {1, {0x0448}}}, 344 {0x0429, {1, {0x0449}}}, 345 {0x042a, {1, {0x044a}}}, 346 {0x042b, {1, {0x044b}}}, 347 {0x042c, {1, {0x044c}}}, 348 {0x042d, {1, {0x044d}}}, 349 {0x042e, {1, {0x044e}}}, 350 {0x042f, {1, {0x044f}}}, 351 {0x0460, {1, {0x0461}}}, 352 {0x0462, {1, {0x0463}}}, 353 {0x0464, {1, {0x0465}}}, 354 {0x0466, {1, {0x0467}}}, 355 {0x0468, {1, {0x0469}}}, 356 {0x046a, {1, {0x046b}}}, 357 {0x046c, {1, {0x046d}}}, 358 {0x046e, {1, {0x046f}}}, 359 {0x0470, {1, {0x0471}}}, 360 {0x0472, {1, {0x0473}}}, 361 {0x0474, {1, {0x0475}}}, 362 {0x0476, {1, {0x0477}}}, 363 {0x0478, {1, {0x0479}}}, 364 {0x047a, {1, {0x047b}}}, 365 {0x047c, {1, {0x047d}}}, 366 {0x047e, {1, {0x047f}}}, 367 {0x0480, {1, {0x0481}}}, 368 {0x048a, {1, {0x048b}}}, 369 {0x048c, {1, {0x048d}}}, 370 {0x048e, {1, {0x048f}}}, 371 {0x0490, {1, {0x0491}}}, 372 {0x0492, {1, {0x0493}}}, 373 {0x0494, {1, {0x0495}}}, 374 {0x0496, {1, {0x0497}}}, 375 {0x0498, {1, {0x0499}}}, 376 {0x049a, {1, {0x049b}}}, 377 {0x049c, {1, {0x049d}}}, 378 {0x049e, {1, {0x049f}}}, 379 {0x04a0, {1, {0x04a1}}}, 380 {0x04a2, {1, {0x04a3}}}, 381 {0x04a4, {1, {0x04a5}}}, 382 {0x04a6, {1, {0x04a7}}}, 383 {0x04a8, {1, {0x04a9}}}, 384 {0x04aa, {1, {0x04ab}}}, 385 {0x04ac, {1, {0x04ad}}}, 386 {0x04ae, {1, {0x04af}}}, 387 {0x04b0, {1, {0x04b1}}}, 388 {0x04b2, {1, {0x04b3}}}, 389 {0x04b4, {1, {0x04b5}}}, 390 {0x04b6, {1, {0x04b7}}}, 391 {0x04b8, {1, {0x04b9}}}, 392 {0x04ba, {1, {0x04bb}}}, 393 {0x04bc, {1, {0x04bd}}}, 394 {0x04be, {1, {0x04bf}}}, 395 {0x04c0, {1, {0x04cf}}}, 396 {0x04c1, {1, {0x04c2}}}, 397 {0x04c3, {1, {0x04c4}}}, 398 {0x04c5, {1, {0x04c6}}}, 399 {0x04c7, {1, {0x04c8}}}, 400 {0x04c9, {1, {0x04ca}}}, 401 {0x04cb, {1, {0x04cc}}}, 402 {0x04cd, {1, {0x04ce}}}, 403 {0x04d0, {1, {0x04d1}}}, 404 {0x04d2, {1, {0x04d3}}}, 405 {0x04d4, {1, {0x04d5}}}, 406 {0x04d6, {1, {0x04d7}}}, 407 {0x04d8, {1, {0x04d9}}}, 408 {0x04da, {1, {0x04db}}}, 409 {0x04dc, {1, {0x04dd}}}, 410 {0x04de, {1, {0x04df}}}, 411 {0x04e0, {1, {0x04e1}}}, 412 {0x04e2, {1, {0x04e3}}}, 413 {0x04e4, {1, {0x04e5}}}, 414 {0x04e6, {1, {0x04e7}}}, 415 {0x04e8, {1, {0x04e9}}}, 416 {0x04ea, {1, {0x04eb}}}, 417 {0x04ec, {1, {0x04ed}}}, 418 {0x04ee, {1, {0x04ef}}}, 419 {0x04f0, {1, {0x04f1}}}, 420 {0x04f2, {1, {0x04f3}}}, 421 {0x04f4, {1, {0x04f5}}}, 422 {0x04f6, {1, {0x04f7}}}, 423 {0x04f8, {1, {0x04f9}}}, 424 {0x04fa, {1, {0x04fb}}}, 425 {0x04fc, {1, {0x04fd}}}, 426 {0x04fe, {1, {0x04ff}}}, 427 {0x0500, {1, {0x0501}}}, 428 {0x0502, {1, {0x0503}}}, 429 {0x0504, {1, {0x0505}}}, 430 {0x0506, {1, {0x0507}}}, 431 {0x0508, {1, {0x0509}}}, 432 {0x050a, {1, {0x050b}}}, 433 {0x050c, {1, {0x050d}}}, 434 {0x050e, {1, {0x050f}}}, 435 {0x0510, {1, {0x0511}}}, 436 {0x0512, {1, {0x0513}}}, 437 {0x0514, {1, {0x0515}}}, 438 {0x0516, {1, {0x0517}}}, 439 {0x0518, {1, {0x0519}}}, 440 {0x051a, {1, {0x051b}}}, 441 {0x051c, {1, {0x051d}}}, 442 {0x051e, {1, {0x051f}}}, 443 {0x0520, {1, {0x0521}}}, 444 {0x0522, {1, {0x0523}}}, 445 {0x0524, {1, {0x0525}}}, 446 {0x0526, {1, {0x0527}}}, 447 {0x0528, {1, {0x0529}}}, 448 {0x052a, {1, {0x052b}}}, 449 {0x052c, {1, {0x052d}}}, 450 {0x052e, {1, {0x052f}}}, 451 {0x0531, {1, {0x0561}}}, 452 {0x0532, {1, {0x0562}}}, 453 {0x0533, {1, {0x0563}}}, 454 {0x0534, {1, {0x0564}}}, 455 {0x0535, {1, {0x0565}}}, 456 {0x0536, {1, {0x0566}}}, 457 {0x0537, {1, {0x0567}}}, 458 {0x0538, {1, {0x0568}}}, 459 {0x0539, {1, {0x0569}}}, 460 {0x053a, {1, {0x056a}}}, 461 {0x053b, {1, {0x056b}}}, 462 {0x053c, {1, {0x056c}}}, 463 {0x053d, {1, {0x056d}}}, 464 {0x053e, {1, {0x056e}}}, 465 {0x053f, {1, {0x056f}}}, 466 {0x0540, {1, {0x0570}}}, 467 {0x0541, {1, {0x0571}}}, 468 {0x0542, {1, {0x0572}}}, 469 {0x0543, {1, {0x0573}}}, 470 {0x0544, {1, {0x0574}}}, 471 {0x0545, {1, {0x0575}}}, 472 {0x0546, {1, {0x0576}}}, 473 {0x0547, {1, {0x0577}}}, 474 {0x0548, {1, {0x0578}}}, 475 {0x0549, {1, {0x0579}}}, 476 {0x054a, {1, {0x057a}}}, 477 {0x054b, {1, {0x057b}}}, 478 {0x054c, {1, {0x057c}}}, 479 {0x054d, {1, {0x057d}}}, 480 {0x054e, {1, {0x057e}}}, 481 {0x054f, {1, {0x057f}}}, 482 {0x0550, {1, {0x0580}}}, 483 {0x0551, {1, {0x0581}}}, 484 {0x0552, {1, {0x0582}}}, 485 {0x0553, {1, {0x0583}}}, 486 {0x0554, {1, {0x0584}}}, 487 {0x0555, {1, {0x0585}}}, 488 {0x0556, {1, {0x0586}}}, 489 {0x0587, {2, {0x0565, 0x0582}}}, 490 {0x10a0, {1, {0x2d00}}}, 491 {0x10a1, {1, {0x2d01}}}, 492 {0x10a2, {1, {0x2d02}}}, 493 {0x10a3, {1, {0x2d03}}}, 494 {0x10a4, {1, {0x2d04}}}, 495 {0x10a5, {1, {0x2d05}}}, 496 {0x10a6, {1, {0x2d06}}}, 497 {0x10a7, {1, {0x2d07}}}, 498 {0x10a8, {1, {0x2d08}}}, 499 {0x10a9, {1, {0x2d09}}}, 500 {0x10aa, {1, {0x2d0a}}}, 501 {0x10ab, {1, {0x2d0b}}}, 502 {0x10ac, {1, {0x2d0c}}}, 503 {0x10ad, {1, {0x2d0d}}}, 504 {0x10ae, {1, {0x2d0e}}}, 505 {0x10af, {1, {0x2d0f}}}, 506 {0x10b0, {1, {0x2d10}}}, 507 {0x10b1, {1, {0x2d11}}}, 508 {0x10b2, {1, {0x2d12}}}, 509 {0x10b3, {1, {0x2d13}}}, 510 {0x10b4, {1, {0x2d14}}}, 511 {0x10b5, {1, {0x2d15}}}, 512 {0x10b6, {1, {0x2d16}}}, 513 {0x10b7, {1, {0x2d17}}}, 514 {0x10b8, {1, {0x2d18}}}, 515 {0x10b9, {1, {0x2d19}}}, 516 {0x10ba, {1, {0x2d1a}}}, 517 {0x10bb, {1, {0x2d1b}}}, 518 {0x10bc, {1, {0x2d1c}}}, 519 {0x10bd, {1, {0x2d1d}}}, 520 {0x10be, {1, {0x2d1e}}}, 521 {0x10bf, {1, {0x2d1f}}}, 522 {0x10c0, {1, {0x2d20}}}, 523 {0x10c1, {1, {0x2d21}}}, 524 {0x10c2, {1, {0x2d22}}}, 525 {0x10c3, {1, {0x2d23}}}, 526 {0x10c4, {1, {0x2d24}}}, 527 {0x10c5, {1, {0x2d25}}}, 528 {0x10c7, {1, {0x2d27}}}, 529 {0x10cd, {1, {0x2d2d}}}, 530 {0x1e00, {1, {0x1e01}}}, 531 {0x1e02, {1, {0x1e03}}}, 532 {0x1e04, {1, {0x1e05}}}, 533 {0x1e06, {1, {0x1e07}}}, 534 {0x1e08, {1, {0x1e09}}}, 535 {0x1e0a, {1, {0x1e0b}}}, 536 {0x1e0c, {1, {0x1e0d}}}, 537 {0x1e0e, {1, {0x1e0f}}}, 538 {0x1e10, {1, {0x1e11}}}, 539 {0x1e12, {1, {0x1e13}}}, 540 {0x1e14, {1, {0x1e15}}}, 541 {0x1e16, {1, {0x1e17}}}, 542 {0x1e18, {1, {0x1e19}}}, 543 {0x1e1a, {1, {0x1e1b}}}, 544 {0x1e1c, {1, {0x1e1d}}}, 545 {0x1e1e, {1, {0x1e1f}}}, 546 {0x1e20, {1, {0x1e21}}}, 547 {0x1e22, {1, {0x1e23}}}, 548 {0x1e24, {1, {0x1e25}}}, 549 {0x1e26, {1, {0x1e27}}}, 550 {0x1e28, {1, {0x1e29}}}, 551 {0x1e2a, {1, {0x1e2b}}}, 552 {0x1e2c, {1, {0x1e2d}}}, 553 {0x1e2e, {1, {0x1e2f}}}, 554 {0x1e30, {1, {0x1e31}}}, 555 {0x1e32, {1, {0x1e33}}}, 556 {0x1e34, {1, {0x1e35}}}, 557 {0x1e36, {1, {0x1e37}}}, 558 {0x1e38, {1, {0x1e39}}}, 559 {0x1e3a, {1, {0x1e3b}}}, 560 {0x1e3c, {1, {0x1e3d}}}, 561 {0x1e3e, {1, {0x1e3f}}}, 562 {0x1e40, {1, {0x1e41}}}, 563 {0x1e42, {1, {0x1e43}}}, 564 {0x1e44, {1, {0x1e45}}}, 565 {0x1e46, {1, {0x1e47}}}, 566 {0x1e48, {1, {0x1e49}}}, 567 {0x1e4a, {1, {0x1e4b}}}, 568 {0x1e4c, {1, {0x1e4d}}}, 569 {0x1e4e, {1, {0x1e4f}}}, 570 {0x1e50, {1, {0x1e51}}}, 571 {0x1e52, {1, {0x1e53}}}, 572 {0x1e54, {1, {0x1e55}}}, 573 {0x1e56, {1, {0x1e57}}}, 574 {0x1e58, {1, {0x1e59}}}, 575 {0x1e5a, {1, {0x1e5b}}}, 576 {0x1e5c, {1, {0x1e5d}}}, 577 {0x1e5e, {1, {0x1e5f}}}, 578 {0x1e60, {1, {0x1e61}}}, 579 {0x1e62, {1, {0x1e63}}}, 580 {0x1e64, {1, {0x1e65}}}, 581 {0x1e66, {1, {0x1e67}}}, 582 {0x1e68, {1, {0x1e69}}}, 583 {0x1e6a, {1, {0x1e6b}}}, 584 {0x1e6c, {1, {0x1e6d}}}, 585 {0x1e6e, {1, {0x1e6f}}}, 586 {0x1e70, {1, {0x1e71}}}, 587 {0x1e72, {1, {0x1e73}}}, 588 {0x1e74, {1, {0x1e75}}}, 589 {0x1e76, {1, {0x1e77}}}, 590 {0x1e78, {1, {0x1e79}}}, 591 {0x1e7a, {1, {0x1e7b}}}, 592 {0x1e7c, {1, {0x1e7d}}}, 593 {0x1e7e, {1, {0x1e7f}}}, 594 {0x1e80, {1, {0x1e81}}}, 595 {0x1e82, {1, {0x1e83}}}, 596 {0x1e84, {1, {0x1e85}}}, 597 {0x1e86, {1, {0x1e87}}}, 598 {0x1e88, {1, {0x1e89}}}, 599 {0x1e8a, {1, {0x1e8b}}}, 600 {0x1e8c, {1, {0x1e8d}}}, 601 {0x1e8e, {1, {0x1e8f}}}, 602 {0x1e90, {1, {0x1e91}}}, 603 {0x1e92, {1, {0x1e93}}}, 604 {0x1e94, {1, {0x1e95}}}, 605 {0x1e96, {2, {0x0068, 0x0331}}}, 606 {0x1e97, {2, {0x0074, 0x0308}}}, 607 {0x1e98, {2, {0x0077, 0x030a}}}, 608 {0x1e99, {2, {0x0079, 0x030a}}}, 609 {0x1e9a, {2, {0x0061, 0x02be}}}, 610 {0x1e9b, {1, {0x1e61}}}, 611 {0x1e9e, {2, {0x0073, 0x0073}}}, 612 {0x1ea0, {1, {0x1ea1}}}, 613 {0x1ea2, {1, {0x1ea3}}}, 614 {0x1ea4, {1, {0x1ea5}}}, 615 {0x1ea6, {1, {0x1ea7}}}, 616 {0x1ea8, {1, {0x1ea9}}}, 617 {0x1eaa, {1, {0x1eab}}}, 618 {0x1eac, {1, {0x1ead}}}, 619 {0x1eae, {1, {0x1eaf}}}, 620 {0x1eb0, {1, {0x1eb1}}}, 621 {0x1eb2, {1, {0x1eb3}}}, 622 {0x1eb4, {1, {0x1eb5}}}, 623 {0x1eb6, {1, {0x1eb7}}}, 624 {0x1eb8, {1, {0x1eb9}}}, 625 {0x1eba, {1, {0x1ebb}}}, 626 {0x1ebc, {1, {0x1ebd}}}, 627 {0x1ebe, {1, {0x1ebf}}}, 628 {0x1ec0, {1, {0x1ec1}}}, 629 {0x1ec2, {1, {0x1ec3}}}, 630 {0x1ec4, {1, {0x1ec5}}}, 631 {0x1ec6, {1, {0x1ec7}}}, 632 {0x1ec8, {1, {0x1ec9}}}, 633 {0x1eca, {1, {0x1ecb}}}, 634 {0x1ecc, {1, {0x1ecd}}}, 635 {0x1ece, {1, {0x1ecf}}}, 636 {0x1ed0, {1, {0x1ed1}}}, 637 {0x1ed2, {1, {0x1ed3}}}, 638 {0x1ed4, {1, {0x1ed5}}}, 639 {0x1ed6, {1, {0x1ed7}}}, 640 {0x1ed8, {1, {0x1ed9}}}, 641 {0x1eda, {1, {0x1edb}}}, 642 {0x1edc, {1, {0x1edd}}}, 643 {0x1ede, {1, {0x1edf}}}, 644 {0x1ee0, {1, {0x1ee1}}}, 645 {0x1ee2, {1, {0x1ee3}}}, 646 {0x1ee4, {1, {0x1ee5}}}, 647 {0x1ee6, {1, {0x1ee7}}}, 648 {0x1ee8, {1, {0x1ee9}}}, 649 {0x1eea, {1, {0x1eeb}}}, 650 {0x1eec, {1, {0x1eed}}}, 651 {0x1eee, {1, {0x1eef}}}, 652 {0x1ef0, {1, {0x1ef1}}}, 653 {0x1ef2, {1, {0x1ef3}}}, 654 {0x1ef4, {1, {0x1ef5}}}, 655 {0x1ef6, {1, {0x1ef7}}}, 656 {0x1ef8, {1, {0x1ef9}}}, 657 {0x1efa, {1, {0x1efb}}}, 658 {0x1efc, {1, {0x1efd}}}, 659 {0x1efe, {1, {0x1eff}}}, 660 {0x1f08, {1, {0x1f00}}}, 661 {0x1f09, {1, {0x1f01}}}, 662 {0x1f0a, {1, {0x1f02}}}, 663 {0x1f0b, {1, {0x1f03}}}, 664 {0x1f0c, {1, {0x1f04}}}, 665 {0x1f0d, {1, {0x1f05}}}, 666 {0x1f0e, {1, {0x1f06}}}, 667 {0x1f0f, {1, {0x1f07}}}, 668 {0x1f18, {1, {0x1f10}}}, 669 {0x1f19, {1, {0x1f11}}}, 670 {0x1f1a, {1, {0x1f12}}}, 671 {0x1f1b, {1, {0x1f13}}}, 672 {0x1f1c, {1, {0x1f14}}}, 673 {0x1f1d, {1, {0x1f15}}}, 674 {0x1f28, {1, {0x1f20}}}, 675 {0x1f29, {1, {0x1f21}}}, 676 {0x1f2a, {1, {0x1f22}}}, 677 {0x1f2b, {1, {0x1f23}}}, 678 {0x1f2c, {1, {0x1f24}}}, 679 {0x1f2d, {1, {0x1f25}}}, 680 {0x1f2e, {1, {0x1f26}}}, 681 {0x1f2f, {1, {0x1f27}}}, 682 {0x1f38, {1, {0x1f30}}}, 683 {0x1f39, {1, {0x1f31}}}, 684 {0x1f3a, {1, {0x1f32}}}, 685 {0x1f3b, {1, {0x1f33}}}, 686 {0x1f3c, {1, {0x1f34}}}, 687 {0x1f3d, {1, {0x1f35}}}, 688 {0x1f3e, {1, {0x1f36}}}, 689 {0x1f3f, {1, {0x1f37}}}, 690 {0x1f48, {1, {0x1f40}}}, 691 {0x1f49, {1, {0x1f41}}}, 692 {0x1f4a, {1, {0x1f42}}}, 693 {0x1f4b, {1, {0x1f43}}}, 694 {0x1f4c, {1, {0x1f44}}}, 695 {0x1f4d, {1, {0x1f45}}}, 696 {0x1f50, {2, {0x03c5, 0x0313}}}, 697 {0x1f52, {3, {0x03c5, 0x0313, 0x0300}}}, 698 {0x1f54, {3, {0x03c5, 0x0313, 0x0301}}}, 699 {0x1f56, {3, {0x03c5, 0x0313, 0x0342}}}, 700 {0x1f59, {1, {0x1f51}}}, 701 {0x1f5b, {1, {0x1f53}}}, 702 {0x1f5d, {1, {0x1f55}}}, 703 {0x1f5f, {1, {0x1f57}}}, 704 {0x1f68, {1, {0x1f60}}}, 705 {0x1f69, {1, {0x1f61}}}, 706 {0x1f6a, {1, {0x1f62}}}, 707 {0x1f6b, {1, {0x1f63}}}, 708 {0x1f6c, {1, {0x1f64}}}, 709 {0x1f6d, {1, {0x1f65}}}, 710 {0x1f6e, {1, {0x1f66}}}, 711 {0x1f6f, {1, {0x1f67}}}, 712 {0x1f80, {2, {0x1f00, 0x03b9}}}, 713 {0x1f81, {2, {0x1f01, 0x03b9}}}, 714 {0x1f82, {2, {0x1f02, 0x03b9}}}, 715 {0x1f83, {2, {0x1f03, 0x03b9}}}, 716 {0x1f84, {2, {0x1f04, 0x03b9}}}, 717 {0x1f85, {2, {0x1f05, 0x03b9}}}, 718 {0x1f86, {2, {0x1f06, 0x03b9}}}, 719 {0x1f87, {2, {0x1f07, 0x03b9}}}, 720 {0x1f88, {2, {0x1f00, 0x03b9}}}, 721 {0x1f89, {2, {0x1f01, 0x03b9}}}, 722 {0x1f8a, {2, {0x1f02, 0x03b9}}}, 723 {0x1f8b, {2, {0x1f03, 0x03b9}}}, 724 {0x1f8c, {2, {0x1f04, 0x03b9}}}, 725 {0x1f8d, {2, {0x1f05, 0x03b9}}}, 726 {0x1f8e, {2, {0x1f06, 0x03b9}}}, 727 {0x1f8f, {2, {0x1f07, 0x03b9}}}, 728 {0x1f90, {2, {0x1f20, 0x03b9}}}, 729 {0x1f91, {2, {0x1f21, 0x03b9}}}, 730 {0x1f92, {2, {0x1f22, 0x03b9}}}, 731 {0x1f93, {2, {0x1f23, 0x03b9}}}, 732 {0x1f94, {2, {0x1f24, 0x03b9}}}, 733 {0x1f95, {2, {0x1f25, 0x03b9}}}, 734 {0x1f96, {2, {0x1f26, 0x03b9}}}, 735 {0x1f97, {2, {0x1f27, 0x03b9}}}, 736 {0x1f98, {2, {0x1f20, 0x03b9}}}, 737 {0x1f99, {2, {0x1f21, 0x03b9}}}, 738 {0x1f9a, {2, {0x1f22, 0x03b9}}}, 739 {0x1f9b, {2, {0x1f23, 0x03b9}}}, 740 {0x1f9c, {2, {0x1f24, 0x03b9}}}, 741 {0x1f9d, {2, {0x1f25, 0x03b9}}}, 742 {0x1f9e, {2, {0x1f26, 0x03b9}}}, 743 {0x1f9f, {2, {0x1f27, 0x03b9}}}, 744 {0x1fa0, {2, {0x1f60, 0x03b9}}}, 745 {0x1fa1, {2, {0x1f61, 0x03b9}}}, 746 {0x1fa2, {2, {0x1f62, 0x03b9}}}, 747 {0x1fa3, {2, {0x1f63, 0x03b9}}}, 748 {0x1fa4, {2, {0x1f64, 0x03b9}}}, 749 {0x1fa5, {2, {0x1f65, 0x03b9}}}, 750 {0x1fa6, {2, {0x1f66, 0x03b9}}}, 751 {0x1fa7, {2, {0x1f67, 0x03b9}}}, 752 {0x1fa8, {2, {0x1f60, 0x03b9}}}, 753 {0x1fa9, {2, {0x1f61, 0x03b9}}}, 754 {0x1faa, {2, {0x1f62, 0x03b9}}}, 755 {0x1fab, {2, {0x1f63, 0x03b9}}}, 756 {0x1fac, {2, {0x1f64, 0x03b9}}}, 757 {0x1fad, {2, {0x1f65, 0x03b9}}}, 758 {0x1fae, {2, {0x1f66, 0x03b9}}}, 759 {0x1faf, {2, {0x1f67, 0x03b9}}}, 760 {0x1fb2, {2, {0x1f70, 0x03b9}}}, 761 {0x1fb3, {2, {0x03b1, 0x03b9}}}, 762 {0x1fb4, {2, {0x03ac, 0x03b9}}}, 763 {0x1fb6, {2, {0x03b1, 0x0342}}}, 764 {0x1fb7, {3, {0x03b1, 0x0342, 0x03b9}}}, 765 {0x1fb8, {1, {0x1fb0}}}, 766 {0x1fb9, {1, {0x1fb1}}}, 767 {0x1fba, {1, {0x1f70}}}, 768 {0x1fbb, {1, {0x1f71}}}, 769 {0x1fbc, {2, {0x03b1, 0x03b9}}}, 770 {0x1fbe, {1, {0x03b9}}}, 771 {0x1fc2, {2, {0x1f74, 0x03b9}}}, 772 {0x1fc3, {2, {0x03b7, 0x03b9}}}, 773 {0x1fc4, {2, {0x03ae, 0x03b9}}}, 774 {0x1fc6, {2, {0x03b7, 0x0342}}}, 775 {0x1fc7, {3, {0x03b7, 0x0342, 0x03b9}}}, 776 {0x1fc8, {1, {0x1f72}}}, 777 {0x1fc9, {1, {0x1f73}}}, 778 {0x1fca, {1, {0x1f74}}}, 779 {0x1fcb, {1, {0x1f75}}}, 780 {0x1fcc, {2, {0x03b7, 0x03b9}}}, 781 {0x1fd2, {3, {0x03b9, 0x0308, 0x0300}}}, 782 {0x1fd3, {3, {0x03b9, 0x0308, 0x0301}}}, 783 {0x1fd6, {2, {0x03b9, 0x0342}}}, 784 {0x1fd7, {3, {0x03b9, 0x0308, 0x0342}}}, 785 {0x1fd8, {1, {0x1fd0}}}, 786 {0x1fd9, {1, {0x1fd1}}}, 787 {0x1fda, {1, {0x1f76}}}, 788 {0x1fdb, {1, {0x1f77}}}, 789 {0x1fe2, {3, {0x03c5, 0x0308, 0x0300}}}, 790 {0x1fe3, {3, {0x03c5, 0x0308, 0x0301}}}, 791 {0x1fe4, {2, {0x03c1, 0x0313}}}, 792 {0x1fe6, {2, {0x03c5, 0x0342}}}, 793 {0x1fe7, {3, {0x03c5, 0x0308, 0x0342}}}, 794 {0x1fe8, {1, {0x1fe0}}}, 795 {0x1fe9, {1, {0x1fe1}}}, 796 {0x1fea, {1, {0x1f7a}}}, 797 {0x1feb, {1, {0x1f7b}}}, 798 {0x1fec, {1, {0x1fe5}}}, 799 {0x1ff2, {2, {0x1f7c, 0x03b9}}}, 800 {0x1ff3, {2, {0x03c9, 0x03b9}}}, 801 {0x1ff4, {2, {0x03ce, 0x03b9}}}, 802 {0x1ff6, {2, {0x03c9, 0x0342}}}, 803 {0x1ff7, {3, {0x03c9, 0x0342, 0x03b9}}}, 804 {0x1ff8, {1, {0x1f78}}}, 805 {0x1ff9, {1, {0x1f79}}}, 806 {0x1ffa, {1, {0x1f7c}}}, 807 {0x1ffb, {1, {0x1f7d}}}, 808 {0x1ffc, {2, {0x03c9, 0x03b9}}}, 809 {0x2126, {1, {0x03c9}}}, 810 {0x212a, {1, {0x006b}}}, 811 {0x212b, {1, {0x00e5}}}, 812 {0x2132, {1, {0x214e}}}, 813 {0x2160, {1, {0x2170}}}, 814 {0x2161, {1, {0x2171}}}, 815 {0x2162, {1, {0x2172}}}, 816 {0x2163, {1, {0x2173}}}, 817 {0x2164, {1, {0x2174}}}, 818 {0x2165, {1, {0x2175}}}, 819 {0x2166, {1, {0x2176}}}, 820 {0x2167, {1, {0x2177}}}, 821 {0x2168, {1, {0x2178}}}, 822 {0x2169, {1, {0x2179}}}, 823 {0x216a, {1, {0x217a}}}, 824 {0x216b, {1, {0x217b}}}, 825 {0x216c, {1, {0x217c}}}, 826 {0x216d, {1, {0x217d}}}, 827 {0x216e, {1, {0x217e}}}, 828 {0x216f, {1, {0x217f}}}, 829 {0x2183, {1, {0x2184}}}, 830 {0x24b6, {1, {0x24d0}}}, 831 {0x24b7, {1, {0x24d1}}}, 832 {0x24b8, {1, {0x24d2}}}, 833 {0x24b9, {1, {0x24d3}}}, 834 {0x24ba, {1, {0x24d4}}}, 835 {0x24bb, {1, {0x24d5}}}, 836 {0x24bc, {1, {0x24d6}}}, 837 {0x24bd, {1, {0x24d7}}}, 838 {0x24be, {1, {0x24d8}}}, 839 {0x24bf, {1, {0x24d9}}}, 840 {0x24c0, {1, {0x24da}}}, 841 {0x24c1, {1, {0x24db}}}, 842 {0x24c2, {1, {0x24dc}}}, 843 {0x24c3, {1, {0x24dd}}}, 844 {0x24c4, {1, {0x24de}}}, 845 {0x24c5, {1, {0x24df}}}, 846 {0x24c6, {1, {0x24e0}}}, 847 {0x24c7, {1, {0x24e1}}}, 848 {0x24c8, {1, {0x24e2}}}, 849 {0x24c9, {1, {0x24e3}}}, 850 {0x24ca, {1, {0x24e4}}}, 851 {0x24cb, {1, {0x24e5}}}, 852 {0x24cc, {1, {0x24e6}}}, 853 {0x24cd, {1, {0x24e7}}}, 854 {0x24ce, {1, {0x24e8}}}, 855 {0x24cf, {1, {0x24e9}}}, 856 {0x2c00, {1, {0x2c30}}}, 857 {0x2c01, {1, {0x2c31}}}, 858 {0x2c02, {1, {0x2c32}}}, 859 {0x2c03, {1, {0x2c33}}}, 860 {0x2c04, {1, {0x2c34}}}, 861 {0x2c05, {1, {0x2c35}}}, 862 {0x2c06, {1, {0x2c36}}}, 863 {0x2c07, {1, {0x2c37}}}, 864 {0x2c08, {1, {0x2c38}}}, 865 {0x2c09, {1, {0x2c39}}}, 866 {0x2c0a, {1, {0x2c3a}}}, 867 {0x2c0b, {1, {0x2c3b}}}, 868 {0x2c0c, {1, {0x2c3c}}}, 869 {0x2c0d, {1, {0x2c3d}}}, 870 {0x2c0e, {1, {0x2c3e}}}, 871 {0x2c0f, {1, {0x2c3f}}}, 872 {0x2c10, {1, {0x2c40}}}, 873 {0x2c11, {1, {0x2c41}}}, 874 {0x2c12, {1, {0x2c42}}}, 875 {0x2c13, {1, {0x2c43}}}, 876 {0x2c14, {1, {0x2c44}}}, 877 {0x2c15, {1, {0x2c45}}}, 878 {0x2c16, {1, {0x2c46}}}, 879 {0x2c17, {1, {0x2c47}}}, 880 {0x2c18, {1, {0x2c48}}}, 881 {0x2c19, {1, {0x2c49}}}, 882 {0x2c1a, {1, {0x2c4a}}}, 883 {0x2c1b, {1, {0x2c4b}}}, 884 {0x2c1c, {1, {0x2c4c}}}, 885 {0x2c1d, {1, {0x2c4d}}}, 886 {0x2c1e, {1, {0x2c4e}}}, 887 {0x2c1f, {1, {0x2c4f}}}, 888 {0x2c20, {1, {0x2c50}}}, 889 {0x2c21, {1, {0x2c51}}}, 890 {0x2c22, {1, {0x2c52}}}, 891 {0x2c23, {1, {0x2c53}}}, 892 {0x2c24, {1, {0x2c54}}}, 893 {0x2c25, {1, {0x2c55}}}, 894 {0x2c26, {1, {0x2c56}}}, 895 {0x2c27, {1, {0x2c57}}}, 896 {0x2c28, {1, {0x2c58}}}, 897 {0x2c29, {1, {0x2c59}}}, 898 {0x2c2a, {1, {0x2c5a}}}, 899 {0x2c2b, {1, {0x2c5b}}}, 900 {0x2c2c, {1, {0x2c5c}}}, 901 {0x2c2d, {1, {0x2c5d}}}, 902 {0x2c2e, {1, {0x2c5e}}}, 903 {0x2c60, {1, {0x2c61}}}, 904 {0x2c62, {1, {0x026b}}}, 905 {0x2c63, {1, {0x1d7d}}}, 906 {0x2c64, {1, {0x027d}}}, 907 {0x2c67, {1, {0x2c68}}}, 908 {0x2c69, {1, {0x2c6a}}}, 909 {0x2c6b, {1, {0x2c6c}}}, 910 {0x2c6d, {1, {0x0251}}}, 911 {0x2c6e, {1, {0x0271}}}, 912 {0x2c6f, {1, {0x0250}}}, 913 {0x2c70, {1, {0x0252}}}, 914 {0x2c72, {1, {0x2c73}}}, 915 {0x2c75, {1, {0x2c76}}}, 916 {0x2c7e, {1, {0x023f}}}, 917 {0x2c7f, {1, {0x0240}}}, 918 {0x2c80, {1, {0x2c81}}}, 919 {0x2c82, {1, {0x2c83}}}, 920 {0x2c84, {1, {0x2c85}}}, 921 {0x2c86, {1, {0x2c87}}}, 922 {0x2c88, {1, {0x2c89}}}, 923 {0x2c8a, {1, {0x2c8b}}}, 924 {0x2c8c, {1, {0x2c8d}}}, 925 {0x2c8e, {1, {0x2c8f}}}, 926 {0x2c90, {1, {0x2c91}}}, 927 {0x2c92, {1, {0x2c93}}}, 928 {0x2c94, {1, {0x2c95}}}, 929 {0x2c96, {1, {0x2c97}}}, 930 {0x2c98, {1, {0x2c99}}}, 931 {0x2c9a, {1, {0x2c9b}}}, 932 {0x2c9c, {1, {0x2c9d}}}, 933 {0x2c9e, {1, {0x2c9f}}}, 934 {0x2ca0, {1, {0x2ca1}}}, 935 {0x2ca2, {1, {0x2ca3}}}, 936 {0x2ca4, {1, {0x2ca5}}}, 937 {0x2ca6, {1, {0x2ca7}}}, 938 {0x2ca8, {1, {0x2ca9}}}, 939 {0x2caa, {1, {0x2cab}}}, 940 {0x2cac, {1, {0x2cad}}}, 941 {0x2cae, {1, {0x2caf}}}, 942 {0x2cb0, {1, {0x2cb1}}}, 943 {0x2cb2, {1, {0x2cb3}}}, 944 {0x2cb4, {1, {0x2cb5}}}, 945 {0x2cb6, {1, {0x2cb7}}}, 946 {0x2cb8, {1, {0x2cb9}}}, 947 {0x2cba, {1, {0x2cbb}}}, 948 {0x2cbc, {1, {0x2cbd}}}, 949 {0x2cbe, {1, {0x2cbf}}}, 950 {0x2cc0, {1, {0x2cc1}}}, 951 {0x2cc2, {1, {0x2cc3}}}, 952 {0x2cc4, {1, {0x2cc5}}}, 953 {0x2cc6, {1, {0x2cc7}}}, 954 {0x2cc8, {1, {0x2cc9}}}, 955 {0x2cca, {1, {0x2ccb}}}, 956 {0x2ccc, {1, {0x2ccd}}}, 957 {0x2cce, {1, {0x2ccf}}}, 958 {0x2cd0, {1, {0x2cd1}}}, 959 {0x2cd2, {1, {0x2cd3}}}, 960 {0x2cd4, {1, {0x2cd5}}}, 961 {0x2cd6, {1, {0x2cd7}}}, 962 {0x2cd8, {1, {0x2cd9}}}, 963 {0x2cda, {1, {0x2cdb}}}, 964 {0x2cdc, {1, {0x2cdd}}}, 965 {0x2cde, {1, {0x2cdf}}}, 966 {0x2ce0, {1, {0x2ce1}}}, 967 {0x2ce2, {1, {0x2ce3}}}, 968 {0x2ceb, {1, {0x2cec}}}, 969 {0x2ced, {1, {0x2cee}}}, 970 {0x2cf2, {1, {0x2cf3}}}, 971 {0xa640, {1, {0xa641}}}, 972 {0xa642, {1, {0xa643}}}, 973 {0xa644, {1, {0xa645}}}, 974 {0xa646, {1, {0xa647}}}, 975 {0xa648, {1, {0xa649}}}, 976 {0xa64a, {1, {0xa64b}}}, 977 {0xa64c, {1, {0xa64d}}}, 978 {0xa64e, {1, {0xa64f}}}, 979 {0xa650, {1, {0xa651}}}, 980 {0xa652, {1, {0xa653}}}, 981 {0xa654, {1, {0xa655}}}, 982 {0xa656, {1, {0xa657}}}, 983 {0xa658, {1, {0xa659}}}, 984 {0xa65a, {1, {0xa65b}}}, 985 {0xa65c, {1, {0xa65d}}}, 986 {0xa65e, {1, {0xa65f}}}, 987 {0xa660, {1, {0xa661}}}, 988 {0xa662, {1, {0xa663}}}, 989 {0xa664, {1, {0xa665}}}, 990 {0xa666, {1, {0xa667}}}, 991 {0xa668, {1, {0xa669}}}, 992 {0xa66a, {1, {0xa66b}}}, 993 {0xa66c, {1, {0xa66d}}}, 994 {0xa680, {1, {0xa681}}}, 995 {0xa682, {1, {0xa683}}}, 996 {0xa684, {1, {0xa685}}}, 997 {0xa686, {1, {0xa687}}}, 998 {0xa688, {1, {0xa689}}}, 999 {0xa68a, {1, {0xa68b}}}, 1000 {0xa68c, {1, {0xa68d}}}, 1001 {0xa68e, {1, {0xa68f}}}, 1002 {0xa690, {1, {0xa691}}}, 1003 {0xa692, {1, {0xa693}}}, 1004 {0xa694, {1, {0xa695}}}, 1005 {0xa696, {1, {0xa697}}}, 1006 {0xa698, {1, {0xa699}}}, 1007 {0xa69a, {1, {0xa69b}}}, 1008 {0xa722, {1, {0xa723}}}, 1009 {0xa724, {1, {0xa725}}}, 1010 {0xa726, {1, {0xa727}}}, 1011 {0xa728, {1, {0xa729}}}, 1012 {0xa72a, {1, {0xa72b}}}, 1013 {0xa72c, {1, {0xa72d}}}, 1014 {0xa72e, {1, {0xa72f}}}, 1015 {0xa732, {1, {0xa733}}}, 1016 {0xa734, {1, {0xa735}}}, 1017 {0xa736, {1, {0xa737}}}, 1018 {0xa738, {1, {0xa739}}}, 1019 {0xa73a, {1, {0xa73b}}}, 1020 {0xa73c, {1, {0xa73d}}}, 1021 {0xa73e, {1, {0xa73f}}}, 1022 {0xa740, {1, {0xa741}}}, 1023 {0xa742, {1, {0xa743}}}, 1024 {0xa744, {1, {0xa745}}}, 1025 {0xa746, {1, {0xa747}}}, 1026 {0xa748, {1, {0xa749}}}, 1027 {0xa74a, {1, {0xa74b}}}, 1028 {0xa74c, {1, {0xa74d}}}, 1029 {0xa74e, {1, {0xa74f}}}, 1030 {0xa750, {1, {0xa751}}}, 1031 {0xa752, {1, {0xa753}}}, 1032 {0xa754, {1, {0xa755}}}, 1033 {0xa756, {1, {0xa757}}}, 1034 {0xa758, {1, {0xa759}}}, 1035 {0xa75a, {1, {0xa75b}}}, 1036 {0xa75c, {1, {0xa75d}}}, 1037 {0xa75e, {1, {0xa75f}}}, 1038 {0xa760, {1, {0xa761}}}, 1039 {0xa762, {1, {0xa763}}}, 1040 {0xa764, {1, {0xa765}}}, 1041 {0xa766, {1, {0xa767}}}, 1042 {0xa768, {1, {0xa769}}}, 1043 {0xa76a, {1, {0xa76b}}}, 1044 {0xa76c, {1, {0xa76d}}}, 1045 {0xa76e, {1, {0xa76f}}}, 1046 {0xa779, {1, {0xa77a}}}, 1047 {0xa77b, {1, {0xa77c}}}, 1048 {0xa77d, {1, {0x1d79}}}, 1049 {0xa77e, {1, {0xa77f}}}, 1050 {0xa780, {1, {0xa781}}}, 1051 {0xa782, {1, {0xa783}}}, 1052 {0xa784, {1, {0xa785}}}, 1053 {0xa786, {1, {0xa787}}}, 1054 {0xa78b, {1, {0xa78c}}}, 1055 {0xa78d, {1, {0x0265}}}, 1056 {0xa790, {1, {0xa791}}}, 1057 {0xa792, {1, {0xa793}}}, 1058 {0xa796, {1, {0xa797}}}, 1059 {0xa798, {1, {0xa799}}}, 1060 {0xa79a, {1, {0xa79b}}}, 1061 {0xa79c, {1, {0xa79d}}}, 1062 {0xa79e, {1, {0xa79f}}}, 1063 {0xa7a0, {1, {0xa7a1}}}, 1064 {0xa7a2, {1, {0xa7a3}}}, 1065 {0xa7a4, {1, {0xa7a5}}}, 1066 {0xa7a6, {1, {0xa7a7}}}, 1067 {0xa7a8, {1, {0xa7a9}}}, 1068 {0xa7aa, {1, {0x0266}}}, 1069 {0xa7ab, {1, {0x025c}}}, 1070 {0xa7ac, {1, {0x0261}}}, 1071 {0xa7ad, {1, {0x026c}}}, 1072 {0xa7b0, {1, {0x029e}}}, 1073 {0xa7b1, {1, {0x0287}}}, 1074 {0xfb00, {2, {0x0066, 0x0066}}}, 1075 {0xfb01, {2, {0x0066, 0x0069}}}, 1076 {0xfb02, {2, {0x0066, 0x006c}}}, 1077 {0xfb03, {3, {0x0066, 0x0066, 0x0069}}}, 1078 {0xfb04, {3, {0x0066, 0x0066, 0x006c}}}, 1079 {0xfb05, {2, {0x0073, 0x0074}}}, 1080 {0xfb06, {2, {0x0073, 0x0074}}}, 1081 {0xfb13, {2, {0x0574, 0x0576}}}, 1082 {0xfb14, {2, {0x0574, 0x0565}}}, 1083 {0xfb15, {2, {0x0574, 0x056b}}}, 1084 {0xfb16, {2, {0x057e, 0x0576}}}, 1085 {0xfb17, {2, {0x0574, 0x056d}}}, 1086 {0xff21, {1, {0xff41}}}, 1087 {0xff22, {1, {0xff42}}}, 1088 {0xff23, {1, {0xff43}}}, 1089 {0xff24, {1, {0xff44}}}, 1090 {0xff25, {1, {0xff45}}}, 1091 {0xff26, {1, {0xff46}}}, 1092 {0xff27, {1, {0xff47}}}, 1093 {0xff28, {1, {0xff48}}}, 1094 {0xff29, {1, {0xff49}}}, 1095 {0xff2a, {1, {0xff4a}}}, 1096 {0xff2b, {1, {0xff4b}}}, 1097 {0xff2c, {1, {0xff4c}}}, 1098 {0xff2d, {1, {0xff4d}}}, 1099 {0xff2e, {1, {0xff4e}}}, 1100 {0xff2f, {1, {0xff4f}}}, 1101 {0xff30, {1, {0xff50}}}, 1102 {0xff31, {1, {0xff51}}}, 1103 {0xff32, {1, {0xff52}}}, 1104 {0xff33, {1, {0xff53}}}, 1105 {0xff34, {1, {0xff54}}}, 1106 {0xff35, {1, {0xff55}}}, 1107 {0xff36, {1, {0xff56}}}, 1108 {0xff37, {1, {0xff57}}}, 1109 {0xff38, {1, {0xff58}}}, 1110 {0xff39, {1, {0xff59}}}, 1111 {0xff3a, {1, {0xff5a}}}, 1112 {0x10400, {1, {0x10428}}}, 1113 {0x10401, {1, {0x10429}}}, 1114 {0x10402, {1, {0x1042a}}}, 1115 {0x10403, {1, {0x1042b}}}, 1116 {0x10404, {1, {0x1042c}}}, 1117 {0x10405, {1, {0x1042d}}}, 1118 {0x10406, {1, {0x1042e}}}, 1119 {0x10407, {1, {0x1042f}}}, 1120 {0x10408, {1, {0x10430}}}, 1121 {0x10409, {1, {0x10431}}}, 1122 {0x1040a, {1, {0x10432}}}, 1123 {0x1040b, {1, {0x10433}}}, 1124 {0x1040c, {1, {0x10434}}}, 1125 {0x1040d, {1, {0x10435}}}, 1126 {0x1040e, {1, {0x10436}}}, 1127 {0x1040f, {1, {0x10437}}}, 1128 {0x10410, {1, {0x10438}}}, 1129 {0x10411, {1, {0x10439}}}, 1130 {0x10412, {1, {0x1043a}}}, 1131 {0x10413, {1, {0x1043b}}}, 1132 {0x10414, {1, {0x1043c}}}, 1133 {0x10415, {1, {0x1043d}}}, 1134 {0x10416, {1, {0x1043e}}}, 1135 {0x10417, {1, {0x1043f}}}, 1136 {0x10418, {1, {0x10440}}}, 1137 {0x10419, {1, {0x10441}}}, 1138 {0x1041a, {1, {0x10442}}}, 1139 {0x1041b, {1, {0x10443}}}, 1140 {0x1041c, {1, {0x10444}}}, 1141 {0x1041d, {1, {0x10445}}}, 1142 {0x1041e, {1, {0x10446}}}, 1143 {0x1041f, {1, {0x10447}}}, 1144 {0x10420, {1, {0x10448}}}, 1145 {0x10421, {1, {0x10449}}}, 1146 {0x10422, {1, {0x1044a}}}, 1147 {0x10423, {1, {0x1044b}}}, 1148 {0x10424, {1, {0x1044c}}}, 1149 {0x10425, {1, {0x1044d}}}, 1150 {0x10426, {1, {0x1044e}}}, 1151 {0x10427, {1, {0x1044f}}}, 1152 {0x118a0, {1, {0x118c0}}}, 1153 {0x118a1, {1, {0x118c1}}}, 1154 {0x118a2, {1, {0x118c2}}}, 1155 {0x118a3, {1, {0x118c3}}}, 1156 {0x118a4, {1, {0x118c4}}}, 1157 {0x118a5, {1, {0x118c5}}}, 1158 {0x118a6, {1, {0x118c6}}}, 1159 {0x118a7, {1, {0x118c7}}}, 1160 {0x118a8, {1, {0x118c8}}}, 1161 {0x118a9, {1, {0x118c9}}}, 1162 {0x118aa, {1, {0x118ca}}}, 1163 {0x118ab, {1, {0x118cb}}}, 1164 {0x118ac, {1, {0x118cc}}}, 1165 {0x118ad, {1, {0x118cd}}}, 1166 {0x118ae, {1, {0x118ce}}}, 1167 {0x118af, {1, {0x118cf}}}, 1168 {0x118b0, {1, {0x118d0}}}, 1169 {0x118b1, {1, {0x118d1}}}, 1170 {0x118b2, {1, {0x118d2}}}, 1171 {0x118b3, {1, {0x118d3}}}, 1172 {0x118b4, {1, {0x118d4}}}, 1173 {0x118b5, {1, {0x118d5}}}, 1174 {0x118b6, {1, {0x118d6}}}, 1175 {0x118b7, {1, {0x118d7}}}, 1176 {0x118b8, {1, {0x118d8}}}, 1177 {0x118b9, {1, {0x118d9}}}, 1178 {0x118ba, {1, {0x118da}}}, 1179 {0x118bb, {1, {0x118db}}}, 1180 {0x118bc, {1, {0x118dc}}}, 1181 {0x118bd, {1, {0x118dd}}}, 1182 {0x118be, {1, {0x118de}}}, 1183 {0x118bf, {1, {0x118df}}}, 1184 #define CaseFold_Locale (*(CaseFold_11_Type (*)[2])(CaseFold_11_Table+1178)) 1185 {0x0049, {1, {0x0069}}}, 1186 {0x0130, {2, {0x0069, 0x0307}}}, 17 #define CaseFold (*(CaseFold_11_Type (*)[1399])(CaseFold_11_Table+0)) 18 {0x0041, {1|F|D, {0x0061}}}, 19 {0x0042, {1|F|D, {0x0062}}}, 20 {0x0043, {1|F|D, {0x0063}}}, 21 {0x0044, {1|F|D, {0x0064}}}, 22 {0x0045, {1|F|D, {0x0065}}}, 23 {0x0046, {1|F|D, {0x0066}}}, 24 {0x0047, {1|F|D, {0x0067}}}, 25 {0x0048, {1|F|D, {0x0068}}}, 26 {0x004a, {1|F|D, {0x006a}}}, 27 {0x004b, {1|F|D, {0x006b}}}, 28 {0x004c, {1|F|D, {0x006c}}}, 29 {0x004d, {1|F|D, {0x006d}}}, 30 {0x004e, {1|F|D, {0x006e}}}, 31 {0x004f, {1|F|D, {0x006f}}}, 32 {0x0050, {1|F|D, {0x0070}}}, 33 {0x0051, {1|F|D, {0x0071}}}, 34 {0x0052, {1|F|D, {0x0072}}}, 35 {0x0053, {1|F|D, {0x0073}}}, 36 {0x0054, {1|F|D, {0x0074}}}, 37 {0x0055, {1|F|D, {0x0075}}}, 38 {0x0056, {1|F|D, {0x0076}}}, 39 {0x0057, {1|F|D, {0x0077}}}, 40 {0x0058, {1|F|D, {0x0078}}}, 41 {0x0059, {1|F|D, {0x0079}}}, 42 {0x005a, {1|F|D, {0x007a}}}, 43 {0x00b5, {1|F|SU|I(0), {0x03bc}}}, 44 {0x00c0, {1|F|D, {0x00e0}}}, 45 {0x00c1, {1|F|D, {0x00e1}}}, 46 {0x00c2, {1|F|D, {0x00e2}}}, 47 {0x00c3, {1|F|D, {0x00e3}}}, 48 {0x00c4, {1|F|D, {0x00e4}}}, 49 {0x00c5, {1|F|D, {0x00e5}}}, 50 {0x00c6, {1|F|D, {0x00e6}}}, 51 {0x00c7, {1|F|D, {0x00e7}}}, 52 {0x00c8, {1|F|D, {0x00e8}}}, 53 {0x00c9, {1|F|D, {0x00e9}}}, 54 {0x00ca, {1|F|D, {0x00ea}}}, 55 {0x00cb, {1|F|D, {0x00eb}}}, 56 {0x00cc, {1|F|D, {0x00ec}}}, 57 {0x00cd, {1|F|D, {0x00ed}}}, 58 {0x00ce, {1|F|D, {0x00ee}}}, 59 {0x00cf, {1|F|D, {0x00ef}}}, 60 {0x00d0, {1|F|D, {0x00f0}}}, 61 {0x00d1, {1|F|D, {0x00f1}}}, 62 {0x00d2, {1|F|D, {0x00f2}}}, 63 {0x00d3, {1|F|D, {0x00f3}}}, 64 {0x00d4, {1|F|D, {0x00f4}}}, 65 {0x00d5, {1|F|D, {0x00f5}}}, 66 {0x00d6, {1|F|D, {0x00f6}}}, 67 {0x00d8, {1|F|D, {0x00f8}}}, 68 {0x00d9, {1|F|D, {0x00f9}}}, 69 {0x00da, {1|F|D, {0x00fa}}}, 70 {0x00db, {1|F|D, {0x00fb}}}, 71 {0x00dc, {1|F|D, {0x00fc}}}, 72 {0x00dd, {1|F|D, {0x00fd}}}, 73 {0x00de, {1|F|D, {0x00fe}}}, 74 {0x00df, {2|F|ST|SU|I(1), {0x0073, 0x0073}}}, 75 {0x0100, {1|F|D, {0x0101}}}, 76 {0x0102, {1|F|D, {0x0103}}}, 77 {0x0104, {1|F|D, {0x0105}}}, 78 {0x0106, {1|F|D, {0x0107}}}, 79 {0x0108, {1|F|D, {0x0109}}}, 80 {0x010a, {1|F|D, {0x010b}}}, 81 {0x010c, {1|F|D, {0x010d}}}, 82 {0x010e, {1|F|D, {0x010f}}}, 83 {0x0110, {1|F|D, {0x0111}}}, 84 {0x0112, {1|F|D, {0x0113}}}, 85 {0x0114, {1|F|D, {0x0115}}}, 86 {0x0116, {1|F|D, {0x0117}}}, 87 {0x0118, {1|F|D, {0x0119}}}, 88 {0x011a, {1|F|D, {0x011b}}}, 89 {0x011c, {1|F|D, {0x011d}}}, 90 {0x011e, {1|F|D, {0x011f}}}, 91 {0x0120, {1|F|D, {0x0121}}}, 92 {0x0122, {1|F|D, {0x0123}}}, 93 {0x0124, {1|F|D, {0x0125}}}, 94 {0x0126, {1|F|D, {0x0127}}}, 95 {0x0128, {1|F|D, {0x0129}}}, 96 {0x012a, {1|F|D, {0x012b}}}, 97 {0x012c, {1|F|D, {0x012d}}}, 98 {0x012e, {1|F|D, {0x012f}}}, 99 {0x0132, {1|F|D, {0x0133}}}, 100 {0x0134, {1|F|D, {0x0135}}}, 101 {0x0136, {1|F|D, {0x0137}}}, 102 {0x0139, {1|F|D, {0x013a}}}, 103 {0x013b, {1|F|D, {0x013c}}}, 104 {0x013d, {1|F|D, {0x013e}}}, 105 {0x013f, {1|F|D, {0x0140}}}, 106 {0x0141, {1|F|D, {0x0142}}}, 107 {0x0143, {1|F|D, {0x0144}}}, 108 {0x0145, {1|F|D, {0x0146}}}, 109 {0x0147, {1|F|D, {0x0148}}}, 110 {0x0149, {2|F|SU|I(5), {0x02bc, 0x006e}}}, 111 {0x014a, {1|F|D, {0x014b}}}, 112 {0x014c, {1|F|D, {0x014d}}}, 113 {0x014e, {1|F|D, {0x014f}}}, 114 {0x0150, {1|F|D, {0x0151}}}, 115 {0x0152, {1|F|D, {0x0153}}}, 116 {0x0154, {1|F|D, {0x0155}}}, 117 {0x0156, {1|F|D, {0x0157}}}, 118 {0x0158, {1|F|D, {0x0159}}}, 119 {0x015a, {1|F|D, {0x015b}}}, 120 {0x015c, {1|F|D, {0x015d}}}, 121 {0x015e, {1|F|D, {0x015f}}}, 122 {0x0160, {1|F|D, {0x0161}}}, 123 {0x0162, {1|F|D, {0x0163}}}, 124 {0x0164, {1|F|D, {0x0165}}}, 125 {0x0166, {1|F|D, {0x0167}}}, 126 {0x0168, {1|F|D, {0x0169}}}, 127 {0x016a, {1|F|D, {0x016b}}}, 128 {0x016c, {1|F|D, {0x016d}}}, 129 {0x016e, {1|F|D, {0x016f}}}, 130 {0x0170, {1|F|D, {0x0171}}}, 131 {0x0172, {1|F|D, {0x0173}}}, 132 {0x0174, {1|F|D, {0x0175}}}, 133 {0x0176, {1|F|D, {0x0177}}}, 134 {0x0178, {1|F|D, {0x00ff}}}, 135 {0x0179, {1|F|D, {0x017a}}}, 136 {0x017b, {1|F|D, {0x017c}}}, 137 {0x017d, {1|F|D, {0x017e}}}, 138 {0x017f, {1|F|SU|I(7), {0x0073}}}, 139 {0x0181, {1|F|D, {0x0253}}}, 140 {0x0182, {1|F|D, {0x0183}}}, 141 {0x0184, {1|F|D, {0x0185}}}, 142 {0x0186, {1|F|D, {0x0254}}}, 143 {0x0187, {1|F|D, {0x0188}}}, 144 {0x0189, {1|F|D, {0x0256}}}, 145 {0x018a, {1|F|D, {0x0257}}}, 146 {0x018b, {1|F|D, {0x018c}}}, 147 {0x018e, {1|F|D, {0x01dd}}}, 148 {0x018f, {1|F|D, {0x0259}}}, 149 {0x0190, {1|F|D, {0x025b}}}, 150 {0x0191, {1|F|D, {0x0192}}}, 151 {0x0193, {1|F|D, {0x0260}}}, 152 {0x0194, {1|F|D, {0x0263}}}, 153 {0x0196, {1|F|D, {0x0269}}}, 154 {0x0197, {1|F|D, {0x0268}}}, 155 {0x0198, {1|F|D, {0x0199}}}, 156 {0x019c, {1|F|D, {0x026f}}}, 157 {0x019d, {1|F|D, {0x0272}}}, 158 {0x019f, {1|F|D, {0x0275}}}, 159 {0x01a0, {1|F|D, {0x01a1}}}, 160 {0x01a2, {1|F|D, {0x01a3}}}, 161 {0x01a4, {1|F|D, {0x01a5}}}, 162 {0x01a6, {1|F|D, {0x0280}}}, 163 {0x01a7, {1|F|D, {0x01a8}}}, 164 {0x01a9, {1|F|D, {0x0283}}}, 165 {0x01ac, {1|F|D, {0x01ad}}}, 166 {0x01ae, {1|F|D, {0x0288}}}, 167 {0x01af, {1|F|D, {0x01b0}}}, 168 {0x01b1, {1|F|D, {0x028a}}}, 169 {0x01b2, {1|F|D, {0x028b}}}, 170 {0x01b3, {1|F|D, {0x01b4}}}, 171 {0x01b5, {1|F|D, {0x01b6}}}, 172 {0x01b7, {1|F|D, {0x0292}}}, 173 {0x01b8, {1|F|D, {0x01b9}}}, 174 {0x01bc, {1|F|D, {0x01bd}}}, 175 {0x01c4, {1|F|D|ST|I(8), {0x01c6}}}, 176 {0x01c5, {1|F|D|IT|SU|I(9), {0x01c6}}}, 177 {0x01c7, {1|F|D|ST|I(12), {0x01c9}}}, 178 {0x01c8, {1|F|D|IT|SU|I(13), {0x01c9}}}, 179 {0x01ca, {1|F|D|ST|I(16), {0x01cc}}}, 180 {0x01cb, {1|F|D|IT|SU|I(17), {0x01cc}}}, 181 {0x01cd, {1|F|D, {0x01ce}}}, 182 {0x01cf, {1|F|D, {0x01d0}}}, 183 {0x01d1, {1|F|D, {0x01d2}}}, 184 {0x01d3, {1|F|D, {0x01d4}}}, 185 {0x01d5, {1|F|D, {0x01d6}}}, 186 {0x01d7, {1|F|D, {0x01d8}}}, 187 {0x01d9, {1|F|D, {0x01da}}}, 188 {0x01db, {1|F|D, {0x01dc}}}, 189 {0x01de, {1|F|D, {0x01df}}}, 190 {0x01e0, {1|F|D, {0x01e1}}}, 191 {0x01e2, {1|F|D, {0x01e3}}}, 192 {0x01e4, {1|F|D, {0x01e5}}}, 193 {0x01e6, {1|F|D, {0x01e7}}}, 194 {0x01e8, {1|F|D, {0x01e9}}}, 195 {0x01ea, {1|F|D, {0x01eb}}}, 196 {0x01ec, {1|F|D, {0x01ed}}}, 197 {0x01ee, {1|F|D, {0x01ef}}}, 198 {0x01f0, {2|F|SU|I(20), {0x006a, 0x030c}}}, 199 {0x01f1, {1|F|D|ST|I(22), {0x01f3}}}, 200 {0x01f2, {1|F|D|IT|SU|I(23), {0x01f3}}}, 201 {0x01f4, {1|F|D, {0x01f5}}}, 202 {0x01f6, {1|F|D, {0x0195}}}, 203 {0x01f7, {1|F|D, {0x01bf}}}, 204 {0x01f8, {1|F|D, {0x01f9}}}, 205 {0x01fa, {1|F|D, {0x01fb}}}, 206 {0x01fc, {1|F|D, {0x01fd}}}, 207 {0x01fe, {1|F|D, {0x01ff}}}, 208 {0x0200, {1|F|D, {0x0201}}}, 209 {0x0202, {1|F|D, {0x0203}}}, 210 {0x0204, {1|F|D, {0x0205}}}, 211 {0x0206, {1|F|D, {0x0207}}}, 212 {0x0208, {1|F|D, {0x0209}}}, 213 {0x020a, {1|F|D, {0x020b}}}, 214 {0x020c, {1|F|D, {0x020d}}}, 215 {0x020e, {1|F|D, {0x020f}}}, 216 {0x0210, {1|F|D, {0x0211}}}, 217 {0x0212, {1|F|D, {0x0213}}}, 218 {0x0214, {1|F|D, {0x0215}}}, 219 {0x0216, {1|F|D, {0x0217}}}, 220 {0x0218, {1|F|D, {0x0219}}}, 221 {0x021a, {1|F|D, {0x021b}}}, 222 {0x021c, {1|F|D, {0x021d}}}, 223 {0x021e, {1|F|D, {0x021f}}}, 224 {0x0220, {1|F|D, {0x019e}}}, 225 {0x0222, {1|F|D, {0x0223}}}, 226 {0x0224, {1|F|D, {0x0225}}}, 227 {0x0226, {1|F|D, {0x0227}}}, 228 {0x0228, {1|F|D, {0x0229}}}, 229 {0x022a, {1|F|D, {0x022b}}}, 230 {0x022c, {1|F|D, {0x022d}}}, 231 {0x022e, {1|F|D, {0x022f}}}, 232 {0x0230, {1|F|D, {0x0231}}}, 233 {0x0232, {1|F|D, {0x0233}}}, 234 {0x023a, {1|F|D, {0x2c65}}}, 235 {0x023b, {1|F|D, {0x023c}}}, 236 {0x023d, {1|F|D, {0x019a}}}, 237 {0x023e, {1|F|D, {0x2c66}}}, 238 {0x0241, {1|F|D, {0x0242}}}, 239 {0x0243, {1|F|D, {0x0180}}}, 240 {0x0244, {1|F|D, {0x0289}}}, 241 {0x0245, {1|F|D, {0x028c}}}, 242 {0x0246, {1|F|D, {0x0247}}}, 243 {0x0248, {1|F|D, {0x0249}}}, 244 {0x024a, {1|F|D, {0x024b}}}, 245 {0x024c, {1|F|D, {0x024d}}}, 246 {0x024e, {1|F|D, {0x024f}}}, 247 {0x0345, {1|F|SU|I(26), {0x03b9}}}, 248 {0x0370, {1|F|D, {0x0371}}}, 249 {0x0372, {1|F|D, {0x0373}}}, 250 {0x0376, {1|F|D, {0x0377}}}, 251 {0x037f, {1|F|D, {0x03f3}}}, 252 {0x0386, {1|F|D, {0x03ac}}}, 253 {0x0388, {1|F|D, {0x03ad}}}, 254 {0x0389, {1|F|D, {0x03ae}}}, 255 {0x038a, {1|F|D, {0x03af}}}, 256 {0x038c, {1|F|D, {0x03cc}}}, 257 {0x038e, {1|F|D, {0x03cd}}}, 258 {0x038f, {1|F|D, {0x03ce}}}, 259 {0x0390, {3|F|SU|I(27), {0x03b9, 0x0308, 0x0301}}}, 260 {0x0391, {1|F|D, {0x03b1}}}, 261 {0x0392, {1|F|D, {0x03b2}}}, 262 {0x0393, {1|F|D, {0x03b3}}}, 263 {0x0394, {1|F|D, {0x03b4}}}, 264 {0x0395, {1|F|D, {0x03b5}}}, 265 {0x0396, {1|F|D, {0x03b6}}}, 266 {0x0397, {1|F|D, {0x03b7}}}, 267 {0x0398, {1|F|D, {0x03b8}}}, 268 {0x0399, {1|F|D, {0x03b9}}}, 269 {0x039a, {1|F|D, {0x03ba}}}, 270 {0x039b, {1|F|D, {0x03bb}}}, 271 {0x039c, {1|F|D, {0x03bc}}}, 272 {0x039d, {1|F|D, {0x03bd}}}, 273 {0x039e, {1|F|D, {0x03be}}}, 274 {0x039f, {1|F|D, {0x03bf}}}, 275 {0x03a0, {1|F|D, {0x03c0}}}, 276 {0x03a1, {1|F|D, {0x03c1}}}, 277 {0x03a3, {1|F|D, {0x03c3}}}, 278 {0x03a4, {1|F|D, {0x03c4}}}, 279 {0x03a5, {1|F|D, {0x03c5}}}, 280 {0x03a6, {1|F|D, {0x03c6}}}, 281 {0x03a7, {1|F|D, {0x03c7}}}, 282 {0x03a8, {1|F|D, {0x03c8}}}, 283 {0x03a9, {1|F|D, {0x03c9}}}, 284 {0x03aa, {1|F|D, {0x03ca}}}, 285 {0x03ab, {1|F|D, {0x03cb}}}, 286 {0x03b0, {3|F|SU|I(30), {0x03c5, 0x0308, 0x0301}}}, 287 {0x03c2, {1|F|SU|I(33), {0x03c3}}}, 288 {0x03cf, {1|F|D, {0x03d7}}}, 289 {0x03d0, {1|F|SU|I(34), {0x03b2}}}, 290 {0x03d1, {1|F|SU|I(35), {0x03b8}}}, 291 {0x03d5, {1|F|SU|I(36), {0x03c6}}}, 292 {0x03d6, {1|F|SU|I(37), {0x03c0}}}, 293 {0x03d8, {1|F|D, {0x03d9}}}, 294 {0x03da, {1|F|D, {0x03db}}}, 295 {0x03dc, {1|F|D, {0x03dd}}}, 296 {0x03de, {1|F|D, {0x03df}}}, 297 {0x03e0, {1|F|D, {0x03e1}}}, 298 {0x03e2, {1|F|D, {0x03e3}}}, 299 {0x03e4, {1|F|D, {0x03e5}}}, 300 {0x03e6, {1|F|D, {0x03e7}}}, 301 {0x03e8, {1|F|D, {0x03e9}}}, 302 {0x03ea, {1|F|D, {0x03eb}}}, 303 {0x03ec, {1|F|D, {0x03ed}}}, 304 {0x03ee, {1|F|D, {0x03ef}}}, 305 {0x03f0, {1|F|SU|I(38), {0x03ba}}}, 306 {0x03f1, {1|F|SU|I(39), {0x03c1}}}, 307 {0x03f4, {1|F|D, {0x03b8}}}, 308 {0x03f5, {1|F|SU|I(40), {0x03b5}}}, 309 {0x03f7, {1|F|D, {0x03f8}}}, 310 {0x03f9, {1|F|D, {0x03f2}}}, 311 {0x03fa, {1|F|D, {0x03fb}}}, 312 {0x03fd, {1|F|D, {0x037b}}}, 313 {0x03fe, {1|F|D, {0x037c}}}, 314 {0x03ff, {1|F|D, {0x037d}}}, 315 {0x0400, {1|F|D, {0x0450}}}, 316 {0x0401, {1|F|D, {0x0451}}}, 317 {0x0402, {1|F|D, {0x0452}}}, 318 {0x0403, {1|F|D, {0x0453}}}, 319 {0x0404, {1|F|D, {0x0454}}}, 320 {0x0405, {1|F|D, {0x0455}}}, 321 {0x0406, {1|F|D, {0x0456}}}, 322 {0x0407, {1|F|D, {0x0457}}}, 323 {0x0408, {1|F|D, {0x0458}}}, 324 {0x0409, {1|F|D, {0x0459}}}, 325 {0x040a, {1|F|D, {0x045a}}}, 326 {0x040b, {1|F|D, {0x045b}}}, 327 {0x040c, {1|F|D, {0x045c}}}, 328 {0x040d, {1|F|D, {0x045d}}}, 329 {0x040e, {1|F|D, {0x045e}}}, 330 {0x040f, {1|F|D, {0x045f}}}, 331 {0x0410, {1|F|D, {0x0430}}}, 332 {0x0411, {1|F|D, {0x0431}}}, 333 {0x0412, {1|F|D, {0x0432}}}, 334 {0x0413, {1|F|D, {0x0433}}}, 335 {0x0414, {1|F|D, {0x0434}}}, 336 {0x0415, {1|F|D, {0x0435}}}, 337 {0x0416, {1|F|D, {0x0436}}}, 338 {0x0417, {1|F|D, {0x0437}}}, 339 {0x0418, {1|F|D, {0x0438}}}, 340 {0x0419, {1|F|D, {0x0439}}}, 341 {0x041a, {1|F|D, {0x043a}}}, 342 {0x041b, {1|F|D, {0x043b}}}, 343 {0x041c, {1|F|D, {0x043c}}}, 344 {0x041d, {1|F|D, {0x043d}}}, 345 {0x041e, {1|F|D, {0x043e}}}, 346 {0x041f, {1|F|D, {0x043f}}}, 347 {0x0420, {1|F|D, {0x0440}}}, 348 {0x0421, {1|F|D, {0x0441}}}, 349 {0x0422, {1|F|D, {0x0442}}}, 350 {0x0423, {1|F|D, {0x0443}}}, 351 {0x0424, {1|F|D, {0x0444}}}, 352 {0x0425, {1|F|D, {0x0445}}}, 353 {0x0426, {1|F|D, {0x0446}}}, 354 {0x0427, {1|F|D, {0x0447}}}, 355 {0x0428, {1|F|D, {0x0448}}}, 356 {0x0429, {1|F|D, {0x0449}}}, 357 {0x042a, {1|F|D, {0x044a}}}, 358 {0x042b, {1|F|D, {0x044b}}}, 359 {0x042c, {1|F|D, {0x044c}}}, 360 {0x042d, {1|F|D, {0x044d}}}, 361 {0x042e, {1|F|D, {0x044e}}}, 362 {0x042f, {1|F|D, {0x044f}}}, 363 {0x0460, {1|F|D, {0x0461}}}, 364 {0x0462, {1|F|D, {0x0463}}}, 365 {0x0464, {1|F|D, {0x0465}}}, 366 {0x0466, {1|F|D, {0x0467}}}, 367 {0x0468, {1|F|D, {0x0469}}}, 368 {0x046a, {1|F|D, {0x046b}}}, 369 {0x046c, {1|F|D, {0x046d}}}, 370 {0x046e, {1|F|D, {0x046f}}}, 371 {0x0470, {1|F|D, {0x0471}}}, 372 {0x0472, {1|F|D, {0x0473}}}, 373 {0x0474, {1|F|D, {0x0475}}}, 374 {0x0476, {1|F|D, {0x0477}}}, 375 {0x0478, {1|F|D, {0x0479}}}, 376 {0x047a, {1|F|D, {0x047b}}}, 377 {0x047c, {1|F|D, {0x047d}}}, 378 {0x047e, {1|F|D, {0x047f}}}, 379 {0x0480, {1|F|D, {0x0481}}}, 380 {0x048a, {1|F|D, {0x048b}}}, 381 {0x048c, {1|F|D, {0x048d}}}, 382 {0x048e, {1|F|D, {0x048f}}}, 383 {0x0490, {1|F|D, {0x0491}}}, 384 {0x0492, {1|F|D, {0x0493}}}, 385 {0x0494, {1|F|D, {0x0495}}}, 386 {0x0496, {1|F|D, {0x0497}}}, 387 {0x0498, {1|F|D, {0x0499}}}, 388 {0x049a, {1|F|D, {0x049b}}}, 389 {0x049c, {1|F|D, {0x049d}}}, 390 {0x049e, {1|F|D, {0x049f}}}, 391 {0x04a0, {1|F|D, {0x04a1}}}, 392 {0x04a2, {1|F|D, {0x04a3}}}, 393 {0x04a4, {1|F|D, {0x04a5}}}, 394 {0x04a6, {1|F|D, {0x04a7}}}, 395 {0x04a8, {1|F|D, {0x04a9}}}, 396 {0x04aa, {1|F|D, {0x04ab}}}, 397 {0x04ac, {1|F|D, {0x04ad}}}, 398 {0x04ae, {1|F|D, {0x04af}}}, 399 {0x04b0, {1|F|D, {0x04b1}}}, 400 {0x04b2, {1|F|D, {0x04b3}}}, 401 {0x04b4, {1|F|D, {0x04b5}}}, 402 {0x04b6, {1|F|D, {0x04b7}}}, 403 {0x04b8, {1|F|D, {0x04b9}}}, 404 {0x04ba, {1|F|D, {0x04bb}}}, 405 {0x04bc, {1|F|D, {0x04bd}}}, 406 {0x04be, {1|F|D, {0x04bf}}}, 407 {0x04c0, {1|F|D, {0x04cf}}}, 408 {0x04c1, {1|F|D, {0x04c2}}}, 409 {0x04c3, {1|F|D, {0x04c4}}}, 410 {0x04c5, {1|F|D, {0x04c6}}}, 411 {0x04c7, {1|F|D, {0x04c8}}}, 412 {0x04c9, {1|F|D, {0x04ca}}}, 413 {0x04cb, {1|F|D, {0x04cc}}}, 414 {0x04cd, {1|F|D, {0x04ce}}}, 415 {0x04d0, {1|F|D, {0x04d1}}}, 416 {0x04d2, {1|F|D, {0x04d3}}}, 417 {0x04d4, {1|F|D, {0x04d5}}}, 418 {0x04d6, {1|F|D, {0x04d7}}}, 419 {0x04d8, {1|F|D, {0x04d9}}}, 420 {0x04da, {1|F|D, {0x04db}}}, 421 {0x04dc, {1|F|D, {0x04dd}}}, 422 {0x04de, {1|F|D, {0x04df}}}, 423 {0x04e0, {1|F|D, {0x04e1}}}, 424 {0x04e2, {1|F|D, {0x04e3}}}, 425 {0x04e4, {1|F|D, {0x04e5}}}, 426 {0x04e6, {1|F|D, {0x04e7}}}, 427 {0x04e8, {1|F|D, {0x04e9}}}, 428 {0x04ea, {1|F|D, {0x04eb}}}, 429 {0x04ec, {1|F|D, {0x04ed}}}, 430 {0x04ee, {1|F|D, {0x04ef}}}, 431 {0x04f0, {1|F|D, {0x04f1}}}, 432 {0x04f2, {1|F|D, {0x04f3}}}, 433 {0x04f4, {1|F|D, {0x04f5}}}, 434 {0x04f6, {1|F|D, {0x04f7}}}, 435 {0x04f8, {1|F|D, {0x04f9}}}, 436 {0x04fa, {1|F|D, {0x04fb}}}, 437 {0x04fc, {1|F|D, {0x04fd}}}, 438 {0x04fe, {1|F|D, {0x04ff}}}, 439 {0x0500, {1|F|D, {0x0501}}}, 440 {0x0502, {1|F|D, {0x0503}}}, 441 {0x0504, {1|F|D, {0x0505}}}, 442 {0x0506, {1|F|D, {0x0507}}}, 443 {0x0508, {1|F|D, {0x0509}}}, 444 {0x050a, {1|F|D, {0x050b}}}, 445 {0x050c, {1|F|D, {0x050d}}}, 446 {0x050e, {1|F|D, {0x050f}}}, 447 {0x0510, {1|F|D, {0x0511}}}, 448 {0x0512, {1|F|D, {0x0513}}}, 449 {0x0514, {1|F|D, {0x0515}}}, 450 {0x0516, {1|F|D, {0x0517}}}, 451 {0x0518, {1|F|D, {0x0519}}}, 452 {0x051a, {1|F|D, {0x051b}}}, 453 {0x051c, {1|F|D, {0x051d}}}, 454 {0x051e, {1|F|D, {0x051f}}}, 455 {0x0520, {1|F|D, {0x0521}}}, 456 {0x0522, {1|F|D, {0x0523}}}, 457 {0x0524, {1|F|D, {0x0525}}}, 458 {0x0526, {1|F|D, {0x0527}}}, 459 {0x0528, {1|F|D, {0x0529}}}, 460 {0x052a, {1|F|D, {0x052b}}}, 461 {0x052c, {1|F|D, {0x052d}}}, 462 {0x052e, {1|F|D, {0x052f}}}, 463 {0x0531, {1|F|D, {0x0561}}}, 464 {0x0532, {1|F|D, {0x0562}}}, 465 {0x0533, {1|F|D, {0x0563}}}, 466 {0x0534, {1|F|D, {0x0564}}}, 467 {0x0535, {1|F|D, {0x0565}}}, 468 {0x0536, {1|F|D, {0x0566}}}, 469 {0x0537, {1|F|D, {0x0567}}}, 470 {0x0538, {1|F|D, {0x0568}}}, 471 {0x0539, {1|F|D, {0x0569}}}, 472 {0x053a, {1|F|D, {0x056a}}}, 473 {0x053b, {1|F|D, {0x056b}}}, 474 {0x053c, {1|F|D, {0x056c}}}, 475 {0x053d, {1|F|D, {0x056d}}}, 476 {0x053e, {1|F|D, {0x056e}}}, 477 {0x053f, {1|F|D, {0x056f}}}, 478 {0x0540, {1|F|D, {0x0570}}}, 479 {0x0541, {1|F|D, {0x0571}}}, 480 {0x0542, {1|F|D, {0x0572}}}, 481 {0x0543, {1|F|D, {0x0573}}}, 482 {0x0544, {1|F|D, {0x0574}}}, 483 {0x0545, {1|F|D, {0x0575}}}, 484 {0x0546, {1|F|D, {0x0576}}}, 485 {0x0547, {1|F|D, {0x0577}}}, 486 {0x0548, {1|F|D, {0x0578}}}, 487 {0x0549, {1|F|D, {0x0579}}}, 488 {0x054a, {1|F|D, {0x057a}}}, 489 {0x054b, {1|F|D, {0x057b}}}, 490 {0x054c, {1|F|D, {0x057c}}}, 491 {0x054d, {1|F|D, {0x057d}}}, 492 {0x054e, {1|F|D, {0x057e}}}, 493 {0x054f, {1|F|D, {0x057f}}}, 494 {0x0550, {1|F|D, {0x0580}}}, 495 {0x0551, {1|F|D, {0x0581}}}, 496 {0x0552, {1|F|D, {0x0582}}}, 497 {0x0553, {1|F|D, {0x0583}}}, 498 {0x0554, {1|F|D, {0x0584}}}, 499 {0x0555, {1|F|D, {0x0585}}}, 500 {0x0556, {1|F|D, {0x0586}}}, 501 {0x0587, {2|F|ST|SU|I(41), {0x0565, 0x0582}}}, 502 {0x10a0, {1|F|D, {0x2d00}}}, 503 {0x10a1, {1|F|D, {0x2d01}}}, 504 {0x10a2, {1|F|D, {0x2d02}}}, 505 {0x10a3, {1|F|D, {0x2d03}}}, 506 {0x10a4, {1|F|D, {0x2d04}}}, 507 {0x10a5, {1|F|D, {0x2d05}}}, 508 {0x10a6, {1|F|D, {0x2d06}}}, 509 {0x10a7, {1|F|D, {0x2d07}}}, 510 {0x10a8, {1|F|D, {0x2d08}}}, 511 {0x10a9, {1|F|D, {0x2d09}}}, 512 {0x10aa, {1|F|D, {0x2d0a}}}, 513 {0x10ab, {1|F|D, {0x2d0b}}}, 514 {0x10ac, {1|F|D, {0x2d0c}}}, 515 {0x10ad, {1|F|D, {0x2d0d}}}, 516 {0x10ae, {1|F|D, {0x2d0e}}}, 517 {0x10af, {1|F|D, {0x2d0f}}}, 518 {0x10b0, {1|F|D, {0x2d10}}}, 519 {0x10b1, {1|F|D, {0x2d11}}}, 520 {0x10b2, {1|F|D, {0x2d12}}}, 521 {0x10b3, {1|F|D, {0x2d13}}}, 522 {0x10b4, {1|F|D, {0x2d14}}}, 523 {0x10b5, {1|F|D, {0x2d15}}}, 524 {0x10b6, {1|F|D, {0x2d16}}}, 525 {0x10b7, {1|F|D, {0x2d17}}}, 526 {0x10b8, {1|F|D, {0x2d18}}}, 527 {0x10b9, {1|F|D, {0x2d19}}}, 528 {0x10ba, {1|F|D, {0x2d1a}}}, 529 {0x10bb, {1|F|D, {0x2d1b}}}, 530 {0x10bc, {1|F|D, {0x2d1c}}}, 531 {0x10bd, {1|F|D, {0x2d1d}}}, 532 {0x10be, {1|F|D, {0x2d1e}}}, 533 {0x10bf, {1|F|D, {0x2d1f}}}, 534 {0x10c0, {1|F|D, {0x2d20}}}, 535 {0x10c1, {1|F|D, {0x2d21}}}, 536 {0x10c2, {1|F|D, {0x2d22}}}, 537 {0x10c3, {1|F|D, {0x2d23}}}, 538 {0x10c4, {1|F|D, {0x2d24}}}, 539 {0x10c5, {1|F|D, {0x2d25}}}, 540 {0x10c7, {1|F|D, {0x2d27}}}, 541 {0x10cd, {1|F|D, {0x2d2d}}}, 542 {0x13f8, {1|F|U, {0x13f0}}}, 543 {0x13f9, {1|F|U, {0x13f1}}}, 544 {0x13fa, {1|F|U, {0x13f2}}}, 545 {0x13fb, {1|F|U, {0x13f3}}}, 546 {0x13fc, {1|F|U, {0x13f4}}}, 547 {0x13fd, {1|F|U, {0x13f5}}}, 548 {0x1c80, {1|F|SU|I(45), {0x0432}}}, 549 {0x1c81, {1|F|SU|I(46), {0x0434}}}, 550 {0x1c82, {1|F|SU|I(47), {0x043e}}}, 551 {0x1c83, {1|F|SU|I(48), {0x0441}}}, 552 {0x1c84, {1|F|SU|I(49), {0x0442}}}, 553 {0x1c85, {1|F|SU|I(50), {0x0442}}}, 554 {0x1c86, {1|F|SU|I(51), {0x044a}}}, 555 {0x1c87, {1|F|SU|I(52), {0x0463}}}, 556 {0x1c88, {1|F|SU|I(53), {0xa64b}}}, 557 {0x1e00, {1|F|D, {0x1e01}}}, 558 {0x1e02, {1|F|D, {0x1e03}}}, 559 {0x1e04, {1|F|D, {0x1e05}}}, 560 {0x1e06, {1|F|D, {0x1e07}}}, 561 {0x1e08, {1|F|D, {0x1e09}}}, 562 {0x1e0a, {1|F|D, {0x1e0b}}}, 563 {0x1e0c, {1|F|D, {0x1e0d}}}, 564 {0x1e0e, {1|F|D, {0x1e0f}}}, 565 {0x1e10, {1|F|D, {0x1e11}}}, 566 {0x1e12, {1|F|D, {0x1e13}}}, 567 {0x1e14, {1|F|D, {0x1e15}}}, 568 {0x1e16, {1|F|D, {0x1e17}}}, 569 {0x1e18, {1|F|D, {0x1e19}}}, 570 {0x1e1a, {1|F|D, {0x1e1b}}}, 571 {0x1e1c, {1|F|D, {0x1e1d}}}, 572 {0x1e1e, {1|F|D, {0x1e1f}}}, 573 {0x1e20, {1|F|D, {0x1e21}}}, 574 {0x1e22, {1|F|D, {0x1e23}}}, 575 {0x1e24, {1|F|D, {0x1e25}}}, 576 {0x1e26, {1|F|D, {0x1e27}}}, 577 {0x1e28, {1|F|D, {0x1e29}}}, 578 {0x1e2a, {1|F|D, {0x1e2b}}}, 579 {0x1e2c, {1|F|D, {0x1e2d}}}, 580 {0x1e2e, {1|F|D, {0x1e2f}}}, 581 {0x1e30, {1|F|D, {0x1e31}}}, 582 {0x1e32, {1|F|D, {0x1e33}}}, 583 {0x1e34, {1|F|D, {0x1e35}}}, 584 {0x1e36, {1|F|D, {0x1e37}}}, 585 {0x1e38, {1|F|D, {0x1e39}}}, 586 {0x1e3a, {1|F|D, {0x1e3b}}}, 587 {0x1e3c, {1|F|D, {0x1e3d}}}, 588 {0x1e3e, {1|F|D, {0x1e3f}}}, 589 {0x1e40, {1|F|D, {0x1e41}}}, 590 {0x1e42, {1|F|D, {0x1e43}}}, 591 {0x1e44, {1|F|D, {0x1e45}}}, 592 {0x1e46, {1|F|D, {0x1e47}}}, 593 {0x1e48, {1|F|D, {0x1e49}}}, 594 {0x1e4a, {1|F|D, {0x1e4b}}}, 595 {0x1e4c, {1|F|D, {0x1e4d}}}, 596 {0x1e4e, {1|F|D, {0x1e4f}}}, 597 {0x1e50, {1|F|D, {0x1e51}}}, 598 {0x1e52, {1|F|D, {0x1e53}}}, 599 {0x1e54, {1|F|D, {0x1e55}}}, 600 {0x1e56, {1|F|D, {0x1e57}}}, 601 {0x1e58, {1|F|D, {0x1e59}}}, 602 {0x1e5a, {1|F|D, {0x1e5b}}}, 603 {0x1e5c, {1|F|D, {0x1e5d}}}, 604 {0x1e5e, {1|F|D, {0x1e5f}}}, 605 {0x1e60, {1|F|D, {0x1e61}}}, 606 {0x1e62, {1|F|D, {0x1e63}}}, 607 {0x1e64, {1|F|D, {0x1e65}}}, 608 {0x1e66, {1|F|D, {0x1e67}}}, 609 {0x1e68, {1|F|D, {0x1e69}}}, 610 {0x1e6a, {1|F|D, {0x1e6b}}}, 611 {0x1e6c, {1|F|D, {0x1e6d}}}, 612 {0x1e6e, {1|F|D, {0x1e6f}}}, 613 {0x1e70, {1|F|D, {0x1e71}}}, 614 {0x1e72, {1|F|D, {0x1e73}}}, 615 {0x1e74, {1|F|D, {0x1e75}}}, 616 {0x1e76, {1|F|D, {0x1e77}}}, 617 {0x1e78, {1|F|D, {0x1e79}}}, 618 {0x1e7a, {1|F|D, {0x1e7b}}}, 619 {0x1e7c, {1|F|D, {0x1e7d}}}, 620 {0x1e7e, {1|F|D, {0x1e7f}}}, 621 {0x1e80, {1|F|D, {0x1e81}}}, 622 {0x1e82, {1|F|D, {0x1e83}}}, 623 {0x1e84, {1|F|D, {0x1e85}}}, 624 {0x1e86, {1|F|D, {0x1e87}}}, 625 {0x1e88, {1|F|D, {0x1e89}}}, 626 {0x1e8a, {1|F|D, {0x1e8b}}}, 627 {0x1e8c, {1|F|D, {0x1e8d}}}, 628 {0x1e8e, {1|F|D, {0x1e8f}}}, 629 {0x1e90, {1|F|D, {0x1e91}}}, 630 {0x1e92, {1|F|D, {0x1e93}}}, 631 {0x1e94, {1|F|D, {0x1e95}}}, 632 {0x1e96, {2|F|SU|I(54), {0x0068, 0x0331}}}, 633 {0x1e97, {2|F|SU|I(56), {0x0074, 0x0308}}}, 634 {0x1e98, {2|F|SU|I(58), {0x0077, 0x030a}}}, 635 {0x1e99, {2|F|SU|I(60), {0x0079, 0x030a}}}, 636 {0x1e9a, {2|F|SU|I(62), {0x0061, 0x02be}}}, 637 {0x1e9b, {1|F|SU|I(64), {0x1e61}}}, 638 {0x1e9e, {2|F|SL|I(65), {0x0073, 0x0073}}}, 639 {0x1ea0, {1|F|D, {0x1ea1}}}, 640 {0x1ea2, {1|F|D, {0x1ea3}}}, 641 {0x1ea4, {1|F|D, {0x1ea5}}}, 642 {0x1ea6, {1|F|D, {0x1ea7}}}, 643 {0x1ea8, {1|F|D, {0x1ea9}}}, 644 {0x1eaa, {1|F|D, {0x1eab}}}, 645 {0x1eac, {1|F|D, {0x1ead}}}, 646 {0x1eae, {1|F|D, {0x1eaf}}}, 647 {0x1eb0, {1|F|D, {0x1eb1}}}, 648 {0x1eb2, {1|F|D, {0x1eb3}}}, 649 {0x1eb4, {1|F|D, {0x1eb5}}}, 650 {0x1eb6, {1|F|D, {0x1eb7}}}, 651 {0x1eb8, {1|F|D, {0x1eb9}}}, 652 {0x1eba, {1|F|D, {0x1ebb}}}, 653 {0x1ebc, {1|F|D, {0x1ebd}}}, 654 {0x1ebe, {1|F|D, {0x1ebf}}}, 655 {0x1ec0, {1|F|D, {0x1ec1}}}, 656 {0x1ec2, {1|F|D, {0x1ec3}}}, 657 {0x1ec4, {1|F|D, {0x1ec5}}}, 658 {0x1ec6, {1|F|D, {0x1ec7}}}, 659 {0x1ec8, {1|F|D, {0x1ec9}}}, 660 {0x1eca, {1|F|D, {0x1ecb}}}, 661 {0x1ecc, {1|F|D, {0x1ecd}}}, 662 {0x1ece, {1|F|D, {0x1ecf}}}, 663 {0x1ed0, {1|F|D, {0x1ed1}}}, 664 {0x1ed2, {1|F|D, {0x1ed3}}}, 665 {0x1ed4, {1|F|D, {0x1ed5}}}, 666 {0x1ed6, {1|F|D, {0x1ed7}}}, 667 {0x1ed8, {1|F|D, {0x1ed9}}}, 668 {0x1eda, {1|F|D, {0x1edb}}}, 669 {0x1edc, {1|F|D, {0x1edd}}}, 670 {0x1ede, {1|F|D, {0x1edf}}}, 671 {0x1ee0, {1|F|D, {0x1ee1}}}, 672 {0x1ee2, {1|F|D, {0x1ee3}}}, 673 {0x1ee4, {1|F|D, {0x1ee5}}}, 674 {0x1ee6, {1|F|D, {0x1ee7}}}, 675 {0x1ee8, {1|F|D, {0x1ee9}}}, 676 {0x1eea, {1|F|D, {0x1eeb}}}, 677 {0x1eec, {1|F|D, {0x1eed}}}, 678 {0x1eee, {1|F|D, {0x1eef}}}, 679 {0x1ef0, {1|F|D, {0x1ef1}}}, 680 {0x1ef2, {1|F|D, {0x1ef3}}}, 681 {0x1ef4, {1|F|D, {0x1ef5}}}, 682 {0x1ef6, {1|F|D, {0x1ef7}}}, 683 {0x1ef8, {1|F|D, {0x1ef9}}}, 684 {0x1efa, {1|F|D, {0x1efb}}}, 685 {0x1efc, {1|F|D, {0x1efd}}}, 686 {0x1efe, {1|F|D, {0x1eff}}}, 687 {0x1f08, {1|F|D, {0x1f00}}}, 688 {0x1f09, {1|F|D, {0x1f01}}}, 689 {0x1f0a, {1|F|D, {0x1f02}}}, 690 {0x1f0b, {1|F|D, {0x1f03}}}, 691 {0x1f0c, {1|F|D, {0x1f04}}}, 692 {0x1f0d, {1|F|D, {0x1f05}}}, 693 {0x1f0e, {1|F|D, {0x1f06}}}, 694 {0x1f0f, {1|F|D, {0x1f07}}}, 695 {0x1f18, {1|F|D, {0x1f10}}}, 696 {0x1f19, {1|F|D, {0x1f11}}}, 697 {0x1f1a, {1|F|D, {0x1f12}}}, 698 {0x1f1b, {1|F|D, {0x1f13}}}, 699 {0x1f1c, {1|F|D, {0x1f14}}}, 700 {0x1f1d, {1|F|D, {0x1f15}}}, 701 {0x1f28, {1|F|D, {0x1f20}}}, 702 {0x1f29, {1|F|D, {0x1f21}}}, 703 {0x1f2a, {1|F|D, {0x1f22}}}, 704 {0x1f2b, {1|F|D, {0x1f23}}}, 705 {0x1f2c, {1|F|D, {0x1f24}}}, 706 {0x1f2d, {1|F|D, {0x1f25}}}, 707 {0x1f2e, {1|F|D, {0x1f26}}}, 708 {0x1f2f, {1|F|D, {0x1f27}}}, 709 {0x1f38, {1|F|D, {0x1f30}}}, 710 {0x1f39, {1|F|D, {0x1f31}}}, 711 {0x1f3a, {1|F|D, {0x1f32}}}, 712 {0x1f3b, {1|F|D, {0x1f33}}}, 713 {0x1f3c, {1|F|D, {0x1f34}}}, 714 {0x1f3d, {1|F|D, {0x1f35}}}, 715 {0x1f3e, {1|F|D, {0x1f36}}}, 716 {0x1f3f, {1|F|D, {0x1f37}}}, 717 {0x1f48, {1|F|D, {0x1f40}}}, 718 {0x1f49, {1|F|D, {0x1f41}}}, 719 {0x1f4a, {1|F|D, {0x1f42}}}, 720 {0x1f4b, {1|F|D, {0x1f43}}}, 721 {0x1f4c, {1|F|D, {0x1f44}}}, 722 {0x1f4d, {1|F|D, {0x1f45}}}, 723 {0x1f50, {2|F|SU|I(66), {0x03c5, 0x0313}}}, 724 {0x1f52, {3|F|SU|I(68), {0x03c5, 0x0313, 0x0300}}}, 725 {0x1f54, {3|F|SU|I(71), {0x03c5, 0x0313, 0x0301}}}, 726 {0x1f56, {3|F|SU|I(74), {0x03c5, 0x0313, 0x0342}}}, 727 {0x1f59, {1|F|D, {0x1f51}}}, 728 {0x1f5b, {1|F|D, {0x1f53}}}, 729 {0x1f5d, {1|F|D, {0x1f55}}}, 730 {0x1f5f, {1|F|D, {0x1f57}}}, 731 {0x1f68, {1|F|D, {0x1f60}}}, 732 {0x1f69, {1|F|D, {0x1f61}}}, 733 {0x1f6a, {1|F|D, {0x1f62}}}, 734 {0x1f6b, {1|F|D, {0x1f63}}}, 735 {0x1f6c, {1|F|D, {0x1f64}}}, 736 {0x1f6d, {1|F|D, {0x1f65}}}, 737 {0x1f6e, {1|F|D, {0x1f66}}}, 738 {0x1f6f, {1|F|D, {0x1f67}}}, 739 {0x1f80, {2|F|ST|SU|I(77), {0x1f00, 0x03b9}}}, 740 {0x1f81, {2|F|ST|SU|I(80), {0x1f01, 0x03b9}}}, 741 {0x1f82, {2|F|ST|SU|I(83), {0x1f02, 0x03b9}}}, 742 {0x1f83, {2|F|ST|SU|I(86), {0x1f03, 0x03b9}}}, 743 {0x1f84, {2|F|ST|SU|I(89), {0x1f04, 0x03b9}}}, 744 {0x1f85, {2|F|ST|SU|I(92), {0x1f05, 0x03b9}}}, 745 {0x1f86, {2|F|ST|SU|I(95), {0x1f06, 0x03b9}}}, 746 {0x1f87, {2|F|ST|SU|I(98), {0x1f07, 0x03b9}}}, 747 {0x1f88, {2|F|IT|SL|SU|I(101), {0x1f00, 0x03b9}}}, 748 {0x1f89, {2|F|IT|SL|SU|I(106), {0x1f01, 0x03b9}}}, 749 {0x1f8a, {2|F|IT|SL|SU|I(111), {0x1f02, 0x03b9}}}, 750 {0x1f8b, {2|F|IT|SL|SU|I(116), {0x1f03, 0x03b9}}}, 751 {0x1f8c, {2|F|IT|SL|SU|I(121), {0x1f04, 0x03b9}}}, 752 {0x1f8d, {2|F|IT|SL|SU|I(126), {0x1f05, 0x03b9}}}, 753 {0x1f8e, {2|F|IT|SL|SU|I(131), {0x1f06, 0x03b9}}}, 754 {0x1f8f, {2|F|IT|SL|SU|I(136), {0x1f07, 0x03b9}}}, 755 {0x1f90, {2|F|ST|SU|I(141), {0x1f20, 0x03b9}}}, 756 {0x1f91, {2|F|ST|SU|I(144), {0x1f21, 0x03b9}}}, 757 {0x1f92, {2|F|ST|SU|I(147), {0x1f22, 0x03b9}}}, 758 {0x1f93, {2|F|ST|SU|I(150), {0x1f23, 0x03b9}}}, 759 {0x1f94, {2|F|ST|SU|I(153), {0x1f24, 0x03b9}}}, 760 {0x1f95, {2|F|ST|SU|I(156), {0x1f25, 0x03b9}}}, 761 {0x1f96, {2|F|ST|SU|I(159), {0x1f26, 0x03b9}}}, 762 {0x1f97, {2|F|ST|SU|I(162), {0x1f27, 0x03b9}}}, 763 {0x1f98, {2|F|IT|SL|SU|I(165), {0x1f20, 0x03b9}}}, 764 {0x1f99, {2|F|IT|SL|SU|I(170), {0x1f21, 0x03b9}}}, 765 {0x1f9a, {2|F|IT|SL|SU|I(175), {0x1f22, 0x03b9}}}, 766 {0x1f9b, {2|F|IT|SL|SU|I(180), {0x1f23, 0x03b9}}}, 767 {0x1f9c, {2|F|IT|SL|SU|I(185), {0x1f24, 0x03b9}}}, 768 {0x1f9d, {2|F|IT|SL|SU|I(190), {0x1f25, 0x03b9}}}, 769 {0x1f9e, {2|F|IT|SL|SU|I(195), {0x1f26, 0x03b9}}}, 770 {0x1f9f, {2|F|IT|SL|SU|I(200), {0x1f27, 0x03b9}}}, 771 {0x1fa0, {2|F|ST|SU|I(205), {0x1f60, 0x03b9}}}, 772 {0x1fa1, {2|F|ST|SU|I(208), {0x1f61, 0x03b9}}}, 773 {0x1fa2, {2|F|ST|SU|I(211), {0x1f62, 0x03b9}}}, 774 {0x1fa3, {2|F|ST|SU|I(214), {0x1f63, 0x03b9}}}, 775 {0x1fa4, {2|F|ST|SU|I(217), {0x1f64, 0x03b9}}}, 776 {0x1fa5, {2|F|ST|SU|I(220), {0x1f65, 0x03b9}}}, 777 {0x1fa6, {2|F|ST|SU|I(223), {0x1f66, 0x03b9}}}, 778 {0x1fa7, {2|F|ST|SU|I(226), {0x1f67, 0x03b9}}}, 779 {0x1fa8, {2|F|IT|SL|SU|I(229), {0x1f60, 0x03b9}}}, 780 {0x1fa9, {2|F|IT|SL|SU|I(234), {0x1f61, 0x03b9}}}, 781 {0x1faa, {2|F|IT|SL|SU|I(239), {0x1f62, 0x03b9}}}, 782 {0x1fab, {2|F|IT|SL|SU|I(244), {0x1f63, 0x03b9}}}, 783 {0x1fac, {2|F|IT|SL|SU|I(249), {0x1f64, 0x03b9}}}, 784 {0x1fad, {2|F|IT|SL|SU|I(254), {0x1f65, 0x03b9}}}, 785 {0x1fae, {2|F|IT|SL|SU|I(259), {0x1f66, 0x03b9}}}, 786 {0x1faf, {2|F|IT|SL|SU|I(264), {0x1f67, 0x03b9}}}, 787 {0x1fb2, {2|F|ST|SU|I(269), {0x1f70, 0x03b9}}}, 788 {0x1fb3, {2|F|ST|SU|I(273), {0x03b1, 0x03b9}}}, 789 {0x1fb4, {2|F|ST|SU|I(276), {0x03ac, 0x03b9}}}, 790 {0x1fb6, {2|F|SU|I(280), {0x03b1, 0x0342}}}, 791 {0x1fb7, {3|F|ST|SU|I(282), {0x03b1, 0x0342, 0x03b9}}}, 792 {0x1fb8, {1|F|D, {0x1fb0}}}, 793 {0x1fb9, {1|F|D, {0x1fb1}}}, 794 {0x1fba, {1|F|D, {0x1f70}}}, 795 {0x1fbb, {1|F|D, {0x1f71}}}, 796 {0x1fbc, {2|F|IT|SL|SU|I(288), {0x03b1, 0x03b9}}}, 797 {0x1fbe, {1|F|SU|I(293), {0x03b9}}}, 798 {0x1fc2, {2|F|ST|SU|I(294), {0x1f74, 0x03b9}}}, 799 {0x1fc3, {2|F|ST|SU|I(298), {0x03b7, 0x03b9}}}, 800 {0x1fc4, {2|F|ST|SU|I(301), {0x03ae, 0x03b9}}}, 801 {0x1fc6, {2|F|SU|I(305), {0x03b7, 0x0342}}}, 802 {0x1fc7, {3|F|ST|SU|I(307), {0x03b7, 0x0342, 0x03b9}}}, 803 {0x1fc8, {1|F|D, {0x1f72}}}, 804 {0x1fc9, {1|F|D, {0x1f73}}}, 805 {0x1fca, {1|F|D, {0x1f74}}}, 806 {0x1fcb, {1|F|D, {0x1f75}}}, 807 {0x1fcc, {2|F|IT|SL|SU|I(313), {0x03b7, 0x03b9}}}, 808 {0x1fd2, {3|F|SU|I(318), {0x03b9, 0x0308, 0x0300}}}, 809 {0x1fd3, {3|F|SU|I(321), {0x03b9, 0x0308, 0x0301}}}, 810 {0x1fd6, {2|F|SU|I(324), {0x03b9, 0x0342}}}, 811 {0x1fd7, {3|F|SU|I(326), {0x03b9, 0x0308, 0x0342}}}, 812 {0x1fd8, {1|F|D, {0x1fd0}}}, 813 {0x1fd9, {1|F|D, {0x1fd1}}}, 814 {0x1fda, {1|F|D, {0x1f76}}}, 815 {0x1fdb, {1|F|D, {0x1f77}}}, 816 {0x1fe2, {3|F|SU|I(329), {0x03c5, 0x0308, 0x0300}}}, 817 {0x1fe3, {3|F|SU|I(332), {0x03c5, 0x0308, 0x0301}}}, 818 {0x1fe4, {2|F|SU|I(335), {0x03c1, 0x0313}}}, 819 {0x1fe6, {2|F|SU|I(337), {0x03c5, 0x0342}}}, 820 {0x1fe7, {3|F|SU|I(339), {0x03c5, 0x0308, 0x0342}}}, 821 {0x1fe8, {1|F|D, {0x1fe0}}}, 822 {0x1fe9, {1|F|D, {0x1fe1}}}, 823 {0x1fea, {1|F|D, {0x1f7a}}}, 824 {0x1feb, {1|F|D, {0x1f7b}}}, 825 {0x1fec, {1|F|D, {0x1fe5}}}, 826 {0x1ff2, {2|F|ST|SU|I(342), {0x1f7c, 0x03b9}}}, 827 {0x1ff3, {2|F|ST|SU|I(346), {0x03c9, 0x03b9}}}, 828 {0x1ff4, {2|F|ST|SU|I(349), {0x03ce, 0x03b9}}}, 829 {0x1ff6, {2|F|SU|I(353), {0x03c9, 0x0342}}}, 830 {0x1ff7, {3|F|ST|SU|I(355), {0x03c9, 0x0342, 0x03b9}}}, 831 {0x1ff8, {1|F|D, {0x1f78}}}, 832 {0x1ff9, {1|F|D, {0x1f79}}}, 833 {0x1ffa, {1|F|D, {0x1f7c}}}, 834 {0x1ffb, {1|F|D, {0x1f7d}}}, 835 {0x1ffc, {2|F|IT|SL|SU|I(361), {0x03c9, 0x03b9}}}, 836 {0x2126, {1|F|D, {0x03c9}}}, 837 {0x212a, {1|F|D, {0x006b}}}, 838 {0x212b, {1|F|D, {0x00e5}}}, 839 {0x2132, {1|F|D, {0x214e}}}, 840 {0x2160, {1|F|D, {0x2170}}}, 841 {0x2161, {1|F|D, {0x2171}}}, 842 {0x2162, {1|F|D, {0x2172}}}, 843 {0x2163, {1|F|D, {0x2173}}}, 844 {0x2164, {1|F|D, {0x2174}}}, 845 {0x2165, {1|F|D, {0x2175}}}, 846 {0x2166, {1|F|D, {0x2176}}}, 847 {0x2167, {1|F|D, {0x2177}}}, 848 {0x2168, {1|F|D, {0x2178}}}, 849 {0x2169, {1|F|D, {0x2179}}}, 850 {0x216a, {1|F|D, {0x217a}}}, 851 {0x216b, {1|F|D, {0x217b}}}, 852 {0x216c, {1|F|D, {0x217c}}}, 853 {0x216d, {1|F|D, {0x217d}}}, 854 {0x216e, {1|F|D, {0x217e}}}, 855 {0x216f, {1|F|D, {0x217f}}}, 856 {0x2183, {1|F|D, {0x2184}}}, 857 {0x24b6, {1|F|D, {0x24d0}}}, 858 {0x24b7, {1|F|D, {0x24d1}}}, 859 {0x24b8, {1|F|D, {0x24d2}}}, 860 {0x24b9, {1|F|D, {0x24d3}}}, 861 {0x24ba, {1|F|D, {0x24d4}}}, 862 {0x24bb, {1|F|D, {0x24d5}}}, 863 {0x24bc, {1|F|D, {0x24d6}}}, 864 {0x24bd, {1|F|D, {0x24d7}}}, 865 {0x24be, {1|F|D, {0x24d8}}}, 866 {0x24bf, {1|F|D, {0x24d9}}}, 867 {0x24c0, {1|F|D, {0x24da}}}, 868 {0x24c1, {1|F|D, {0x24db}}}, 869 {0x24c2, {1|F|D, {0x24dc}}}, 870 {0x24c3, {1|F|D, {0x24dd}}}, 871 {0x24c4, {1|F|D, {0x24de}}}, 872 {0x24c5, {1|F|D, {0x24df}}}, 873 {0x24c6, {1|F|D, {0x24e0}}}, 874 {0x24c7, {1|F|D, {0x24e1}}}, 875 {0x24c8, {1|F|D, {0x24e2}}}, 876 {0x24c9, {1|F|D, {0x24e3}}}, 877 {0x24ca, {1|F|D, {0x24e4}}}, 878 {0x24cb, {1|F|D, {0x24e5}}}, 879 {0x24cc, {1|F|D, {0x24e6}}}, 880 {0x24cd, {1|F|D, {0x24e7}}}, 881 {0x24ce, {1|F|D, {0x24e8}}}, 882 {0x24cf, {1|F|D, {0x24e9}}}, 883 {0x2c00, {1|F|D, {0x2c30}}}, 884 {0x2c01, {1|F|D, {0x2c31}}}, 885 {0x2c02, {1|F|D, {0x2c32}}}, 886 {0x2c03, {1|F|D, {0x2c33}}}, 887 {0x2c04, {1|F|D, {0x2c34}}}, 888 {0x2c05, {1|F|D, {0x2c35}}}, 889 {0x2c06, {1|F|D, {0x2c36}}}, 890 {0x2c07, {1|F|D, {0x2c37}}}, 891 {0x2c08, {1|F|D, {0x2c38}}}, 892 {0x2c09, {1|F|D, {0x2c39}}}, 893 {0x2c0a, {1|F|D, {0x2c3a}}}, 894 {0x2c0b, {1|F|D, {0x2c3b}}}, 895 {0x2c0c, {1|F|D, {0x2c3c}}}, 896 {0x2c0d, {1|F|D, {0x2c3d}}}, 897 {0x2c0e, {1|F|D, {0x2c3e}}}, 898 {0x2c0f, {1|F|D, {0x2c3f}}}, 899 {0x2c10, {1|F|D, {0x2c40}}}, 900 {0x2c11, {1|F|D, {0x2c41}}}, 901 {0x2c12, {1|F|D, {0x2c42}}}, 902 {0x2c13, {1|F|D, {0x2c43}}}, 903 {0x2c14, {1|F|D, {0x2c44}}}, 904 {0x2c15, {1|F|D, {0x2c45}}}, 905 {0x2c16, {1|F|D, {0x2c46}}}, 906 {0x2c17, {1|F|D, {0x2c47}}}, 907 {0x2c18, {1|F|D, {0x2c48}}}, 908 {0x2c19, {1|F|D, {0x2c49}}}, 909 {0x2c1a, {1|F|D, {0x2c4a}}}, 910 {0x2c1b, {1|F|D, {0x2c4b}}}, 911 {0x2c1c, {1|F|D, {0x2c4c}}}, 912 {0x2c1d, {1|F|D, {0x2c4d}}}, 913 {0x2c1e, {1|F|D, {0x2c4e}}}, 914 {0x2c1f, {1|F|D, {0x2c4f}}}, 915 {0x2c20, {1|F|D, {0x2c50}}}, 916 {0x2c21, {1|F|D, {0x2c51}}}, 917 {0x2c22, {1|F|D, {0x2c52}}}, 918 {0x2c23, {1|F|D, {0x2c53}}}, 919 {0x2c24, {1|F|D, {0x2c54}}}, 920 {0x2c25, {1|F|D, {0x2c55}}}, 921 {0x2c26, {1|F|D, {0x2c56}}}, 922 {0x2c27, {1|F|D, {0x2c57}}}, 923 {0x2c28, {1|F|D, {0x2c58}}}, 924 {0x2c29, {1|F|D, {0x2c59}}}, 925 {0x2c2a, {1|F|D, {0x2c5a}}}, 926 {0x2c2b, {1|F|D, {0x2c5b}}}, 927 {0x2c2c, {1|F|D, {0x2c5c}}}, 928 {0x2c2d, {1|F|D, {0x2c5d}}}, 929 {0x2c2e, {1|F|D, {0x2c5e}}}, 930 {0x2c60, {1|F|D, {0x2c61}}}, 931 {0x2c62, {1|F|D, {0x026b}}}, 932 {0x2c63, {1|F|D, {0x1d7d}}}, 933 {0x2c64, {1|F|D, {0x027d}}}, 934 {0x2c67, {1|F|D, {0x2c68}}}, 935 {0x2c69, {1|F|D, {0x2c6a}}}, 936 {0x2c6b, {1|F|D, {0x2c6c}}}, 937 {0x2c6d, {1|F|D, {0x0251}}}, 938 {0x2c6e, {1|F|D, {0x0271}}}, 939 {0x2c6f, {1|F|D, {0x0250}}}, 940 {0x2c70, {1|F|D, {0x0252}}}, 941 {0x2c72, {1|F|D, {0x2c73}}}, 942 {0x2c75, {1|F|D, {0x2c76}}}, 943 {0x2c7e, {1|F|D, {0x023f}}}, 944 {0x2c7f, {1|F|D, {0x0240}}}, 945 {0x2c80, {1|F|D, {0x2c81}}}, 946 {0x2c82, {1|F|D, {0x2c83}}}, 947 {0x2c84, {1|F|D, {0x2c85}}}, 948 {0x2c86, {1|F|D, {0x2c87}}}, 949 {0x2c88, {1|F|D, {0x2c89}}}, 950 {0x2c8a, {1|F|D, {0x2c8b}}}, 951 {0x2c8c, {1|F|D, {0x2c8d}}}, 952 {0x2c8e, {1|F|D, {0x2c8f}}}, 953 {0x2c90, {1|F|D, {0x2c91}}}, 954 {0x2c92, {1|F|D, {0x2c93}}}, 955 {0x2c94, {1|F|D, {0x2c95}}}, 956 {0x2c96, {1|F|D, {0x2c97}}}, 957 {0x2c98, {1|F|D, {0x2c99}}}, 958 {0x2c9a, {1|F|D, {0x2c9b}}}, 959 {0x2c9c, {1|F|D, {0x2c9d}}}, 960 {0x2c9e, {1|F|D, {0x2c9f}}}, 961 {0x2ca0, {1|F|D, {0x2ca1}}}, 962 {0x2ca2, {1|F|D, {0x2ca3}}}, 963 {0x2ca4, {1|F|D, {0x2ca5}}}, 964 {0x2ca6, {1|F|D, {0x2ca7}}}, 965 {0x2ca8, {1|F|D, {0x2ca9}}}, 966 {0x2caa, {1|F|D, {0x2cab}}}, 967 {0x2cac, {1|F|D, {0x2cad}}}, 968 {0x2cae, {1|F|D, {0x2caf}}}, 969 {0x2cb0, {1|F|D, {0x2cb1}}}, 970 {0x2cb2, {1|F|D, {0x2cb3}}}, 971 {0x2cb4, {1|F|D, {0x2cb5}}}, 972 {0x2cb6, {1|F|D, {0x2cb7}}}, 973 {0x2cb8, {1|F|D, {0x2cb9}}}, 974 {0x2cba, {1|F|D, {0x2cbb}}}, 975 {0x2cbc, {1|F|D, {0x2cbd}}}, 976 {0x2cbe, {1|F|D, {0x2cbf}}}, 977 {0x2cc0, {1|F|D, {0x2cc1}}}, 978 {0x2cc2, {1|F|D, {0x2cc3}}}, 979 {0x2cc4, {1|F|D, {0x2cc5}}}, 980 {0x2cc6, {1|F|D, {0x2cc7}}}, 981 {0x2cc8, {1|F|D, {0x2cc9}}}, 982 {0x2cca, {1|F|D, {0x2ccb}}}, 983 {0x2ccc, {1|F|D, {0x2ccd}}}, 984 {0x2cce, {1|F|D, {0x2ccf}}}, 985 {0x2cd0, {1|F|D, {0x2cd1}}}, 986 {0x2cd2, {1|F|D, {0x2cd3}}}, 987 {0x2cd4, {1|F|D, {0x2cd5}}}, 988 {0x2cd6, {1|F|D, {0x2cd7}}}, 989 {0x2cd8, {1|F|D, {0x2cd9}}}, 990 {0x2cda, {1|F|D, {0x2cdb}}}, 991 {0x2cdc, {1|F|D, {0x2cdd}}}, 992 {0x2cde, {1|F|D, {0x2cdf}}}, 993 {0x2ce0, {1|F|D, {0x2ce1}}}, 994 {0x2ce2, {1|F|D, {0x2ce3}}}, 995 {0x2ceb, {1|F|D, {0x2cec}}}, 996 {0x2ced, {1|F|D, {0x2cee}}}, 997 {0x2cf2, {1|F|D, {0x2cf3}}}, 998 {0xa640, {1|F|D, {0xa641}}}, 999 {0xa642, {1|F|D, {0xa643}}}, 1000 {0xa644, {1|F|D, {0xa645}}}, 1001 {0xa646, {1|F|D, {0xa647}}}, 1002 {0xa648, {1|F|D, {0xa649}}}, 1003 {0xa64a, {1|F|D, {0xa64b}}}, 1004 {0xa64c, {1|F|D, {0xa64d}}}, 1005 {0xa64e, {1|F|D, {0xa64f}}}, 1006 {0xa650, {1|F|D, {0xa651}}}, 1007 {0xa652, {1|F|D, {0xa653}}}, 1008 {0xa654, {1|F|D, {0xa655}}}, 1009 {0xa656, {1|F|D, {0xa657}}}, 1010 {0xa658, {1|F|D, {0xa659}}}, 1011 {0xa65a, {1|F|D, {0xa65b}}}, 1012 {0xa65c, {1|F|D, {0xa65d}}}, 1013 {0xa65e, {1|F|D, {0xa65f}}}, 1014 {0xa660, {1|F|D, {0xa661}}}, 1015 {0xa662, {1|F|D, {0xa663}}}, 1016 {0xa664, {1|F|D, {0xa665}}}, 1017 {0xa666, {1|F|D, {0xa667}}}, 1018 {0xa668, {1|F|D, {0xa669}}}, 1019 {0xa66a, {1|F|D, {0xa66b}}}, 1020 {0xa66c, {1|F|D, {0xa66d}}}, 1021 {0xa680, {1|F|D, {0xa681}}}, 1022 {0xa682, {1|F|D, {0xa683}}}, 1023 {0xa684, {1|F|D, {0xa685}}}, 1024 {0xa686, {1|F|D, {0xa687}}}, 1025 {0xa688, {1|F|D, {0xa689}}}, 1026 {0xa68a, {1|F|D, {0xa68b}}}, 1027 {0xa68c, {1|F|D, {0xa68d}}}, 1028 {0xa68e, {1|F|D, {0xa68f}}}, 1029 {0xa690, {1|F|D, {0xa691}}}, 1030 {0xa692, {1|F|D, {0xa693}}}, 1031 {0xa694, {1|F|D, {0xa695}}}, 1032 {0xa696, {1|F|D, {0xa697}}}, 1033 {0xa698, {1|F|D, {0xa699}}}, 1034 {0xa69a, {1|F|D, {0xa69b}}}, 1035 {0xa722, {1|F|D, {0xa723}}}, 1036 {0xa724, {1|F|D, {0xa725}}}, 1037 {0xa726, {1|F|D, {0xa727}}}, 1038 {0xa728, {1|F|D, {0xa729}}}, 1039 {0xa72a, {1|F|D, {0xa72b}}}, 1040 {0xa72c, {1|F|D, {0xa72d}}}, 1041 {0xa72e, {1|F|D, {0xa72f}}}, 1042 {0xa732, {1|F|D, {0xa733}}}, 1043 {0xa734, {1|F|D, {0xa735}}}, 1044 {0xa736, {1|F|D, {0xa737}}}, 1045 {0xa738, {1|F|D, {0xa739}}}, 1046 {0xa73a, {1|F|D, {0xa73b}}}, 1047 {0xa73c, {1|F|D, {0xa73d}}}, 1048 {0xa73e, {1|F|D, {0xa73f}}}, 1049 {0xa740, {1|F|D, {0xa741}}}, 1050 {0xa742, {1|F|D, {0xa743}}}, 1051 {0xa744, {1|F|D, {0xa745}}}, 1052 {0xa746, {1|F|D, {0xa747}}}, 1053 {0xa748, {1|F|D, {0xa749}}}, 1054 {0xa74a, {1|F|D, {0xa74b}}}, 1055 {0xa74c, {1|F|D, {0xa74d}}}, 1056 {0xa74e, {1|F|D, {0xa74f}}}, 1057 {0xa750, {1|F|D, {0xa751}}}, 1058 {0xa752, {1|F|D, {0xa753}}}, 1059 {0xa754, {1|F|D, {0xa755}}}, 1060 {0xa756, {1|F|D, {0xa757}}}, 1061 {0xa758, {1|F|D, {0xa759}}}, 1062 {0xa75a, {1|F|D, {0xa75b}}}, 1063 {0xa75c, {1|F|D, {0xa75d}}}, 1064 {0xa75e, {1|F|D, {0xa75f}}}, 1065 {0xa760, {1|F|D, {0xa761}}}, 1066 {0xa762, {1|F|D, {0xa763}}}, 1067 {0xa764, {1|F|D, {0xa765}}}, 1068 {0xa766, {1|F|D, {0xa767}}}, 1069 {0xa768, {1|F|D, {0xa769}}}, 1070 {0xa76a, {1|F|D, {0xa76b}}}, 1071 {0xa76c, {1|F|D, {0xa76d}}}, 1072 {0xa76e, {1|F|D, {0xa76f}}}, 1073 {0xa779, {1|F|D, {0xa77a}}}, 1074 {0xa77b, {1|F|D, {0xa77c}}}, 1075 {0xa77d, {1|F|D, {0x1d79}}}, 1076 {0xa77e, {1|F|D, {0xa77f}}}, 1077 {0xa780, {1|F|D, {0xa781}}}, 1078 {0xa782, {1|F|D, {0xa783}}}, 1079 {0xa784, {1|F|D, {0xa785}}}, 1080 {0xa786, {1|F|D, {0xa787}}}, 1081 {0xa78b, {1|F|D, {0xa78c}}}, 1082 {0xa78d, {1|F|D, {0x0265}}}, 1083 {0xa790, {1|F|D, {0xa791}}}, 1084 {0xa792, {1|F|D, {0xa793}}}, 1085 {0xa796, {1|F|D, {0xa797}}}, 1086 {0xa798, {1|F|D, {0xa799}}}, 1087 {0xa79a, {1|F|D, {0xa79b}}}, 1088 {0xa79c, {1|F|D, {0xa79d}}}, 1089 {0xa79e, {1|F|D, {0xa79f}}}, 1090 {0xa7a0, {1|F|D, {0xa7a1}}}, 1091 {0xa7a2, {1|F|D, {0xa7a3}}}, 1092 {0xa7a4, {1|F|D, {0xa7a5}}}, 1093 {0xa7a6, {1|F|D, {0xa7a7}}}, 1094 {0xa7a8, {1|F|D, {0xa7a9}}}, 1095 {0xa7aa, {1|F|D, {0x0266}}}, 1096 {0xa7ab, {1|F|D, {0x025c}}}, 1097 {0xa7ac, {1|F|D, {0x0261}}}, 1098 {0xa7ad, {1|F|D, {0x026c}}}, 1099 {0xa7ae, {1|F|D, {0x026a}}}, 1100 {0xa7b0, {1|F|D, {0x029e}}}, 1101 {0xa7b1, {1|F|D, {0x0287}}}, 1102 {0xa7b2, {1|F|D, {0x029d}}}, 1103 {0xa7b3, {1|F|D, {0xab53}}}, 1104 {0xa7b4, {1|F|D, {0xa7b5}}}, 1105 {0xa7b6, {1|F|D, {0xa7b7}}}, 1106 {0xab70, {1|F|U, {0x13a0}}}, 1107 {0xab71, {1|F|U, {0x13a1}}}, 1108 {0xab72, {1|F|U, {0x13a2}}}, 1109 {0xab73, {1|F|U, {0x13a3}}}, 1110 {0xab74, {1|F|U, {0x13a4}}}, 1111 {0xab75, {1|F|U, {0x13a5}}}, 1112 {0xab76, {1|F|U, {0x13a6}}}, 1113 {0xab77, {1|F|U, {0x13a7}}}, 1114 {0xab78, {1|F|U, {0x13a8}}}, 1115 {0xab79, {1|F|U, {0x13a9}}}, 1116 {0xab7a, {1|F|U, {0x13aa}}}, 1117 {0xab7b, {1|F|U, {0x13ab}}}, 1118 {0xab7c, {1|F|U, {0x13ac}}}, 1119 {0xab7d, {1|F|U, {0x13ad}}}, 1120 {0xab7e, {1|F|U, {0x13ae}}}, 1121 {0xab7f, {1|F|U, {0x13af}}}, 1122 {0xab80, {1|F|U, {0x13b0}}}, 1123 {0xab81, {1|F|U, {0x13b1}}}, 1124 {0xab82, {1|F|U, {0x13b2}}}, 1125 {0xab83, {1|F|U, {0x13b3}}}, 1126 {0xab84, {1|F|U, {0x13b4}}}, 1127 {0xab85, {1|F|U, {0x13b5}}}, 1128 {0xab86, {1|F|U, {0x13b6}}}, 1129 {0xab87, {1|F|U, {0x13b7}}}, 1130 {0xab88, {1|F|U, {0x13b8}}}, 1131 {0xab89, {1|F|U, {0x13b9}}}, 1132 {0xab8a, {1|F|U, {0x13ba}}}, 1133 {0xab8b, {1|F|U, {0x13bb}}}, 1134 {0xab8c, {1|F|U, {0x13bc}}}, 1135 {0xab8d, {1|F|U, {0x13bd}}}, 1136 {0xab8e, {1|F|U, {0x13be}}}, 1137 {0xab8f, {1|F|U, {0x13bf}}}, 1138 {0xab90, {1|F|U, {0x13c0}}}, 1139 {0xab91, {1|F|U, {0x13c1}}}, 1140 {0xab92, {1|F|U, {0x13c2}}}, 1141 {0xab93, {1|F|U, {0x13c3}}}, 1142 {0xab94, {1|F|U, {0x13c4}}}, 1143 {0xab95, {1|F|U, {0x13c5}}}, 1144 {0xab96, {1|F|U, {0x13c6}}}, 1145 {0xab97, {1|F|U, {0x13c7}}}, 1146 {0xab98, {1|F|U, {0x13c8}}}, 1147 {0xab99, {1|F|U, {0x13c9}}}, 1148 {0xab9a, {1|F|U, {0x13ca}}}, 1149 {0xab9b, {1|F|U, {0x13cb}}}, 1150 {0xab9c, {1|F|U, {0x13cc}}}, 1151 {0xab9d, {1|F|U, {0x13cd}}}, 1152 {0xab9e, {1|F|U, {0x13ce}}}, 1153 {0xab9f, {1|F|U, {0x13cf}}}, 1154 {0xaba0, {1|F|U, {0x13d0}}}, 1155 {0xaba1, {1|F|U, {0x13d1}}}, 1156 {0xaba2, {1|F|U, {0x13d2}}}, 1157 {0xaba3, {1|F|U, {0x13d3}}}, 1158 {0xaba4, {1|F|U, {0x13d4}}}, 1159 {0xaba5, {1|F|U, {0x13d5}}}, 1160 {0xaba6, {1|F|U, {0x13d6}}}, 1161 {0xaba7, {1|F|U, {0x13d7}}}, 1162 {0xaba8, {1|F|U, {0x13d8}}}, 1163 {0xaba9, {1|F|U, {0x13d9}}}, 1164 {0xabaa, {1|F|U, {0x13da}}}, 1165 {0xabab, {1|F|U, {0x13db}}}, 1166 {0xabac, {1|F|U, {0x13dc}}}, 1167 {0xabad, {1|F|U, {0x13dd}}}, 1168 {0xabae, {1|F|U, {0x13de}}}, 1169 {0xabaf, {1|F|U, {0x13df}}}, 1170 {0xabb0, {1|F|U, {0x13e0}}}, 1171 {0xabb1, {1|F|U, {0x13e1}}}, 1172 {0xabb2, {1|F|U, {0x13e2}}}, 1173 {0xabb3, {1|F|U, {0x13e3}}}, 1174 {0xabb4, {1|F|U, {0x13e4}}}, 1175 {0xabb5, {1|F|U, {0x13e5}}}, 1176 {0xabb6, {1|F|U, {0x13e6}}}, 1177 {0xabb7, {1|F|U, {0x13e7}}}, 1178 {0xabb8, {1|F|U, {0x13e8}}}, 1179 {0xabb9, {1|F|U, {0x13e9}}}, 1180 {0xabba, {1|F|U, {0x13ea}}}, 1181 {0xabbb, {1|F|U, {0x13eb}}}, 1182 {0xabbc, {1|F|U, {0x13ec}}}, 1183 {0xabbd, {1|F|U, {0x13ed}}}, 1184 {0xabbe, {1|F|U, {0x13ee}}}, 1185 {0xabbf, {1|F|U, {0x13ef}}}, 1186 {0xfb00, {2|F|ST|SU|I(366), {0x0066, 0x0066}}}, 1187 {0xfb01, {2|F|ST|SU|I(370), {0x0066, 0x0069}}}, 1188 {0xfb02, {2|F|ST|SU|I(374), {0x0066, 0x006c}}}, 1189 {0xfb03, {3|F|ST|SU|I(378), {0x0066, 0x0066, 0x0069}}}, 1190 {0xfb04, {3|F|ST|SU|I(384), {0x0066, 0x0066, 0x006c}}}, 1191 {0xfb05, {2|F|ST|SU|I(390), {0x0073, 0x0074}}}, 1192 {0xfb06, {2|F|ST|SU|I(394), {0x0073, 0x0074}}}, 1193 {0xfb13, {2|F|ST|SU|I(398), {0x0574, 0x0576}}}, 1194 {0xfb14, {2|F|ST|SU|I(402), {0x0574, 0x0565}}}, 1195 {0xfb15, {2|F|ST|SU|I(406), {0x0574, 0x056b}}}, 1196 {0xfb16, {2|F|ST|SU|I(410), {0x057e, 0x0576}}}, 1197 {0xfb17, {2|F|ST|SU|I(414), {0x0574, 0x056d}}}, 1198 {0xff21, {1|F|D, {0xff41}}}, 1199 {0xff22, {1|F|D, {0xff42}}}, 1200 {0xff23, {1|F|D, {0xff43}}}, 1201 {0xff24, {1|F|D, {0xff44}}}, 1202 {0xff25, {1|F|D, {0xff45}}}, 1203 {0xff26, {1|F|D, {0xff46}}}, 1204 {0xff27, {1|F|D, {0xff47}}}, 1205 {0xff28, {1|F|D, {0xff48}}}, 1206 {0xff29, {1|F|D, {0xff49}}}, 1207 {0xff2a, {1|F|D, {0xff4a}}}, 1208 {0xff2b, {1|F|D, {0xff4b}}}, 1209 {0xff2c, {1|F|D, {0xff4c}}}, 1210 {0xff2d, {1|F|D, {0xff4d}}}, 1211 {0xff2e, {1|F|D, {0xff4e}}}, 1212 {0xff2f, {1|F|D, {0xff4f}}}, 1213 {0xff30, {1|F|D, {0xff50}}}, 1214 {0xff31, {1|F|D, {0xff51}}}, 1215 {0xff32, {1|F|D, {0xff52}}}, 1216 {0xff33, {1|F|D, {0xff53}}}, 1217 {0xff34, {1|F|D, {0xff54}}}, 1218 {0xff35, {1|F|D, {0xff55}}}, 1219 {0xff36, {1|F|D, {0xff56}}}, 1220 {0xff37, {1|F|D, {0xff57}}}, 1221 {0xff38, {1|F|D, {0xff58}}}, 1222 {0xff39, {1|F|D, {0xff59}}}, 1223 {0xff3a, {1|F|D, {0xff5a}}}, 1224 {0x10400, {1|F|D, {0x10428}}}, 1225 {0x10401, {1|F|D, {0x10429}}}, 1226 {0x10402, {1|F|D, {0x1042a}}}, 1227 {0x10403, {1|F|D, {0x1042b}}}, 1228 {0x10404, {1|F|D, {0x1042c}}}, 1229 {0x10405, {1|F|D, {0x1042d}}}, 1230 {0x10406, {1|F|D, {0x1042e}}}, 1231 {0x10407, {1|F|D, {0x1042f}}}, 1232 {0x10408, {1|F|D, {0x10430}}}, 1233 {0x10409, {1|F|D, {0x10431}}}, 1234 {0x1040a, {1|F|D, {0x10432}}}, 1235 {0x1040b, {1|F|D, {0x10433}}}, 1236 {0x1040c, {1|F|D, {0x10434}}}, 1237 {0x1040d, {1|F|D, {0x10435}}}, 1238 {0x1040e, {1|F|D, {0x10436}}}, 1239 {0x1040f, {1|F|D, {0x10437}}}, 1240 {0x10410, {1|F|D, {0x10438}}}, 1241 {0x10411, {1|F|D, {0x10439}}}, 1242 {0x10412, {1|F|D, {0x1043a}}}, 1243 {0x10413, {1|F|D, {0x1043b}}}, 1244 {0x10414, {1|F|D, {0x1043c}}}, 1245 {0x10415, {1|F|D, {0x1043d}}}, 1246 {0x10416, {1|F|D, {0x1043e}}}, 1247 {0x10417, {1|F|D, {0x1043f}}}, 1248 {0x10418, {1|F|D, {0x10440}}}, 1249 {0x10419, {1|F|D, {0x10441}}}, 1250 {0x1041a, {1|F|D, {0x10442}}}, 1251 {0x1041b, {1|F|D, {0x10443}}}, 1252 {0x1041c, {1|F|D, {0x10444}}}, 1253 {0x1041d, {1|F|D, {0x10445}}}, 1254 {0x1041e, {1|F|D, {0x10446}}}, 1255 {0x1041f, {1|F|D, {0x10447}}}, 1256 {0x10420, {1|F|D, {0x10448}}}, 1257 {0x10421, {1|F|D, {0x10449}}}, 1258 {0x10422, {1|F|D, {0x1044a}}}, 1259 {0x10423, {1|F|D, {0x1044b}}}, 1260 {0x10424, {1|F|D, {0x1044c}}}, 1261 {0x10425, {1|F|D, {0x1044d}}}, 1262 {0x10426, {1|F|D, {0x1044e}}}, 1263 {0x10427, {1|F|D, {0x1044f}}}, 1264 {0x104b0, {1|F|D, {0x104d8}}}, 1265 {0x104b1, {1|F|D, {0x104d9}}}, 1266 {0x104b2, {1|F|D, {0x104da}}}, 1267 {0x104b3, {1|F|D, {0x104db}}}, 1268 {0x104b4, {1|F|D, {0x104dc}}}, 1269 {0x104b5, {1|F|D, {0x104dd}}}, 1270 {0x104b6, {1|F|D, {0x104de}}}, 1271 {0x104b7, {1|F|D, {0x104df}}}, 1272 {0x104b8, {1|F|D, {0x104e0}}}, 1273 {0x104b9, {1|F|D, {0x104e1}}}, 1274 {0x104ba, {1|F|D, {0x104e2}}}, 1275 {0x104bb, {1|F|D, {0x104e3}}}, 1276 {0x104bc, {1|F|D, {0x104e4}}}, 1277 {0x104bd, {1|F|D, {0x104e5}}}, 1278 {0x104be, {1|F|D, {0x104e6}}}, 1279 {0x104bf, {1|F|D, {0x104e7}}}, 1280 {0x104c0, {1|F|D, {0x104e8}}}, 1281 {0x104c1, {1|F|D, {0x104e9}}}, 1282 {0x104c2, {1|F|D, {0x104ea}}}, 1283 {0x104c3, {1|F|D, {0x104eb}}}, 1284 {0x104c4, {1|F|D, {0x104ec}}}, 1285 {0x104c5, {1|F|D, {0x104ed}}}, 1286 {0x104c6, {1|F|D, {0x104ee}}}, 1287 {0x104c7, {1|F|D, {0x104ef}}}, 1288 {0x104c8, {1|F|D, {0x104f0}}}, 1289 {0x104c9, {1|F|D, {0x104f1}}}, 1290 {0x104ca, {1|F|D, {0x104f2}}}, 1291 {0x104cb, {1|F|D, {0x104f3}}}, 1292 {0x104cc, {1|F|D, {0x104f4}}}, 1293 {0x104cd, {1|F|D, {0x104f5}}}, 1294 {0x104ce, {1|F|D, {0x104f6}}}, 1295 {0x104cf, {1|F|D, {0x104f7}}}, 1296 {0x104d0, {1|F|D, {0x104f8}}}, 1297 {0x104d1, {1|F|D, {0x104f9}}}, 1298 {0x104d2, {1|F|D, {0x104fa}}}, 1299 {0x104d3, {1|F|D, {0x104fb}}}, 1300 {0x10c80, {1|F|D, {0x10cc0}}}, 1301 {0x10c81, {1|F|D, {0x10cc1}}}, 1302 {0x10c82, {1|F|D, {0x10cc2}}}, 1303 {0x10c83, {1|F|D, {0x10cc3}}}, 1304 {0x10c84, {1|F|D, {0x10cc4}}}, 1305 {0x10c85, {1|F|D, {0x10cc5}}}, 1306 {0x10c86, {1|F|D, {0x10cc6}}}, 1307 {0x10c87, {1|F|D, {0x10cc7}}}, 1308 {0x10c88, {1|F|D, {0x10cc8}}}, 1309 {0x10c89, {1|F|D, {0x10cc9}}}, 1310 {0x10c8a, {1|F|D, {0x10cca}}}, 1311 {0x10c8b, {1|F|D, {0x10ccb}}}, 1312 {0x10c8c, {1|F|D, {0x10ccc}}}, 1313 {0x10c8d, {1|F|D, {0x10ccd}}}, 1314 {0x10c8e, {1|F|D, {0x10cce}}}, 1315 {0x10c8f, {1|F|D, {0x10ccf}}}, 1316 {0x10c90, {1|F|D, {0x10cd0}}}, 1317 {0x10c91, {1|F|D, {0x10cd1}}}, 1318 {0x10c92, {1|F|D, {0x10cd2}}}, 1319 {0x10c93, {1|F|D, {0x10cd3}}}, 1320 {0x10c94, {1|F|D, {0x10cd4}}}, 1321 {0x10c95, {1|F|D, {0x10cd5}}}, 1322 {0x10c96, {1|F|D, {0x10cd6}}}, 1323 {0x10c97, {1|F|D, {0x10cd7}}}, 1324 {0x10c98, {1|F|D, {0x10cd8}}}, 1325 {0x10c99, {1|F|D, {0x10cd9}}}, 1326 {0x10c9a, {1|F|D, {0x10cda}}}, 1327 {0x10c9b, {1|F|D, {0x10cdb}}}, 1328 {0x10c9c, {1|F|D, {0x10cdc}}}, 1329 {0x10c9d, {1|F|D, {0x10cdd}}}, 1330 {0x10c9e, {1|F|D, {0x10cde}}}, 1331 {0x10c9f, {1|F|D, {0x10cdf}}}, 1332 {0x10ca0, {1|F|D, {0x10ce0}}}, 1333 {0x10ca1, {1|F|D, {0x10ce1}}}, 1334 {0x10ca2, {1|F|D, {0x10ce2}}}, 1335 {0x10ca3, {1|F|D, {0x10ce3}}}, 1336 {0x10ca4, {1|F|D, {0x10ce4}}}, 1337 {0x10ca5, {1|F|D, {0x10ce5}}}, 1338 {0x10ca6, {1|F|D, {0x10ce6}}}, 1339 {0x10ca7, {1|F|D, {0x10ce7}}}, 1340 {0x10ca8, {1|F|D, {0x10ce8}}}, 1341 {0x10ca9, {1|F|D, {0x10ce9}}}, 1342 {0x10caa, {1|F|D, {0x10cea}}}, 1343 {0x10cab, {1|F|D, {0x10ceb}}}, 1344 {0x10cac, {1|F|D, {0x10cec}}}, 1345 {0x10cad, {1|F|D, {0x10ced}}}, 1346 {0x10cae, {1|F|D, {0x10cee}}}, 1347 {0x10caf, {1|F|D, {0x10cef}}}, 1348 {0x10cb0, {1|F|D, {0x10cf0}}}, 1349 {0x10cb1, {1|F|D, {0x10cf1}}}, 1350 {0x10cb2, {1|F|D, {0x10cf2}}}, 1351 {0x118a0, {1|F|D, {0x118c0}}}, 1352 {0x118a1, {1|F|D, {0x118c1}}}, 1353 {0x118a2, {1|F|D, {0x118c2}}}, 1354 {0x118a3, {1|F|D, {0x118c3}}}, 1355 {0x118a4, {1|F|D, {0x118c4}}}, 1356 {0x118a5, {1|F|D, {0x118c5}}}, 1357 {0x118a6, {1|F|D, {0x118c6}}}, 1358 {0x118a7, {1|F|D, {0x118c7}}}, 1359 {0x118a8, {1|F|D, {0x118c8}}}, 1360 {0x118a9, {1|F|D, {0x118c9}}}, 1361 {0x118aa, {1|F|D, {0x118ca}}}, 1362 {0x118ab, {1|F|D, {0x118cb}}}, 1363 {0x118ac, {1|F|D, {0x118cc}}}, 1364 {0x118ad, {1|F|D, {0x118cd}}}, 1365 {0x118ae, {1|F|D, {0x118ce}}}, 1366 {0x118af, {1|F|D, {0x118cf}}}, 1367 {0x118b0, {1|F|D, {0x118d0}}}, 1368 {0x118b1, {1|F|D, {0x118d1}}}, 1369 {0x118b2, {1|F|D, {0x118d2}}}, 1370 {0x118b3, {1|F|D, {0x118d3}}}, 1371 {0x118b4, {1|F|D, {0x118d4}}}, 1372 {0x118b5, {1|F|D, {0x118d5}}}, 1373 {0x118b6, {1|F|D, {0x118d6}}}, 1374 {0x118b7, {1|F|D, {0x118d7}}}, 1375 {0x118b8, {1|F|D, {0x118d8}}}, 1376 {0x118b9, {1|F|D, {0x118d9}}}, 1377 {0x118ba, {1|F|D, {0x118da}}}, 1378 {0x118bb, {1|F|D, {0x118db}}}, 1379 {0x118bc, {1|F|D, {0x118dc}}}, 1380 {0x118bd, {1|F|D, {0x118dd}}}, 1381 {0x118be, {1|F|D, {0x118de}}}, 1382 {0x118bf, {1|F|D, {0x118df}}}, 1383 {0x1e900, {1|F|D, {0x1e922}}}, 1384 {0x1e901, {1|F|D, {0x1e923}}}, 1385 {0x1e902, {1|F|D, {0x1e924}}}, 1386 {0x1e903, {1|F|D, {0x1e925}}}, 1387 {0x1e904, {1|F|D, {0x1e926}}}, 1388 {0x1e905, {1|F|D, {0x1e927}}}, 1389 {0x1e906, {1|F|D, {0x1e928}}}, 1390 {0x1e907, {1|F|D, {0x1e929}}}, 1391 {0x1e908, {1|F|D, {0x1e92a}}}, 1392 {0x1e909, {1|F|D, {0x1e92b}}}, 1393 {0x1e90a, {1|F|D, {0x1e92c}}}, 1394 {0x1e90b, {1|F|D, {0x1e92d}}}, 1395 {0x1e90c, {1|F|D, {0x1e92e}}}, 1396 {0x1e90d, {1|F|D, {0x1e92f}}}, 1397 {0x1e90e, {1|F|D, {0x1e930}}}, 1398 {0x1e90f, {1|F|D, {0x1e931}}}, 1399 {0x1e910, {1|F|D, {0x1e932}}}, 1400 {0x1e911, {1|F|D, {0x1e933}}}, 1401 {0x1e912, {1|F|D, {0x1e934}}}, 1402 {0x1e913, {1|F|D, {0x1e935}}}, 1403 {0x1e914, {1|F|D, {0x1e936}}}, 1404 {0x1e915, {1|F|D, {0x1e937}}}, 1405 {0x1e916, {1|F|D, {0x1e938}}}, 1406 {0x1e917, {1|F|D, {0x1e939}}}, 1407 {0x1e918, {1|F|D, {0x1e93a}}}, 1408 {0x1e919, {1|F|D, {0x1e93b}}}, 1409 {0x1e91a, {1|F|D, {0x1e93c}}}, 1410 {0x1e91b, {1|F|D, {0x1e93d}}}, 1411 {0x1e91c, {1|F|D, {0x1e93e}}}, 1412 {0x1e91d, {1|F|D, {0x1e93f}}}, 1413 {0x1e91e, {1|F|D, {0x1e940}}}, 1414 {0x1e91f, {1|F|D, {0x1e941}}}, 1415 {0x1e920, {1|F|D, {0x1e942}}}, 1416 {0x1e921, {1|F|D, {0x1e943}}}, 1417 #define CaseFold_Locale (*(CaseFold_11_Type (*)[2])(CaseFold_11_Table+1399)) 1418 {0x0049, {1|F|D, {0x0069}}}, 1419 {0x0130, {2|F|D, {0x0069, 0x0307}}}, 1187 1420 }; 1188 1421 1189 /* C code produced by gperf version 3.0.3*/1422 /* ANSI-C code produced by gperf version 3.1 */ 1190 1423 /* Command-line: gperf -7 -k1,2,3 -F,-1 -c -j1 -i1 -t -T -E -C -H onigenc_unicode_CaseFold_11_hash -N onigenc_unicode_CaseFold_11_lookup -n */ 1191 1424 1192 /* maximum key range = 1867, duplicates = 0 */1425 /* maximum key range = 3623, duplicates = 0 */ 1193 1426 1194 1427 #ifdef __GNUC__ … … 1205 1438 static const unsigned short asso_values[] = 1206 1439 { 1207 12, 212, 5, 217, 6, 1878, 173, 13, 2, 11, 1208 123, 5, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1209 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1210 1878, 1878, 1878, 220, 1878, 1878, 1878, 1878, 1878, 1878, 1211 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 382, 1212 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1878, 1213 8, 4, 219, 1, 1878, 343, 607, 274, 1202, 305, 1214 1362, 209, 259, 412, 1443, 174, 290, 35, 442, 21, 1215 1434, 70, 1472, 105, 362, 193, 591, 51, 3, 7, 1216 1414, 86, 1391, 371, 1358, 398, 1456, 149, 1266, 245, 1217 1263, 135, 1231, 121, 1096, 446, 932, 323, 1033, 428, 1218 1155, 466, 1084, 991, 1160, 474, 1131, 977, 298, 749, 1219 990, 491, 1010, 482, 1021, 696, 161, 729, 46, 966, 1220 1209, 813, 1043, 616, 848, 917, 1019, 594, 1201, 526, 1221 1127, 540, 943, 900, 171, 774, 1283, 760, 626, 935, 1222 1025, 554, 288, 955, 103, 788, 423, 1113, 24, 1005, 1223 20, 711, 9, 573, 358, 668, 5, 885, 228, 649, 1224 102, 628, 612, 515, 800, 871, 77, 1132, 17, 1072, 1225 1, 1188, 47, 1276, 244, 1326, 887, 1289, 202, 740, 1226 258, 1168, 222 1440 1, 3627, 2, 28, 3, 303, 218, 5, 21, 167, 1441 2, 199, 194, 7, 3627, 3627, 3627, 3627, 3627, 3627, 1442 3627, 3627, 3627, 3627, 3627, 3627, 3627, 28, 3627, 3627, 1443 3627, 3627, 3627, 3627, 3627, 282, 3627, 3627, 3627, 3627, 1444 3627, 113, 3627, 3627, 3627, 3627, 3627, 3627, 3627, 3627, 1445 3627, 318, 3627, 3627, 3627, 3627, 3627, 3627, 3627, 1197, 1446 3627, 3627, 149, 73, 513, 1, 3627, 3627, 267, 17, 1447 3627, 3627, 3627, 3627, 3627, 286, 3627, 3627, 289, 617, 1448 291, 28, 1163, 444, 36, 430, 954, 110, 1767, 5, 1449 11, 22, 1761, 486, 1921, 250, 1746, 122, 1905, 163, 1450 1716, 262, 1880, 80, 1503, 68, 1704, 157, 1681, 376, 1451 1673, 209, 1822, 203, 1406, 498, 1622, 362, 1588, 316, 1452 475, 599, 1228, 538, 1160, 585, 1510, 544, 331, 685, 1453 1672, 603, 1536, 840, 1684, 786, 1594, 743, 1380, 700, 1454 142, 839, 1302, 865, 1173, 1329, 1730, 1043, 1449, 969, 1455 1437, 1108, 1360, 925, 1497, 723, 154, 810, 391, 1083, 1456 1777, 1047, 436, 1051, 47, 1342, 8, 974, 98, 1318, 1457 781, 1314, 148, 1403, 39, 1357, 18, 1265, 11, 928, 1458 92, 1205, 2, 1295, 3, 1181, 187, 1151, 385, 1132, 1459 107, 1280, 8, 1678, 41, 511, 42, 1655, 78, 294, 1460 134, 1857, 17, 784, 2, 1113, 57, 496, 52 1227 1461 }; 1228 return asso_values[bits_of(code, 2)+ 65] + asso_values[bits_of(code, 1)] + asso_values[bits_of(code, 0)];1462 return asso_values[bits_of(code, 2)+81] + asso_values[bits_of(code, 1)+2] + asso_values[bits_of(code, 0)]; 1229 1463 } 1230 1464 1231 #ifdef __GNUC__1232 __inline1233 #ifdef __GNUC_STDC_INLINE__1234 __attribute__ ((__gnu_inline__))1235 #endif1236 #endif1237 1465 static const CodePointList3 * 1238 1466 onigenc_unicode_CaseFold_11_lookup(const OnigCodePoint code) … … 1241 1469 { 1242 1470 MIN_CODE_VALUE = 0x41, 1243 MAX_CODE_VALUE = 0x1 18bf,1244 TOTAL_KEYWORDS = 1 180,1471 MAX_CODE_VALUE = 0x1e921, 1472 TOTAL_KEYWORDS = 1401, 1245 1473 MIN_WORD_LENGTH = 3, 1246 1474 MAX_WORD_LENGTH = 3, 1247 MIN_HASH_VALUE = 11,1248 MAX_HASH_VALUE = 18771475 MIN_HASH_VALUE = 4, 1476 MAX_HASH_VALUE = 3626 1249 1477 }; 1250 1478 1251 1479 static const short wordlist[] = 1252 1480 { 1253 -1, -1, -1, -1, -1, -1, 1481 -1, -1, -1, -1, 1482 /*0x1ffb*/ 816, 1483 /*0x1fe7*/ 802, 1484 /*0x017b*/ 118, 1485 /*0x1f88*/ 729, 1486 /*0x0408*/ 305, 1487 /*0x0108*/ 61, 1488 /*0x10408*/ 1214, 1489 /*0x0055*/ 19, 1490 /*0xab88*/ 1112, 1491 /*0x1f89*/ 730, 1492 /*0x0409*/ 306, 1493 /*0x2c67*/ 916, 1494 /*0x10409*/ 1215, 1495 /*0x2c08*/ 873, 1496 /*0xab89*/ 1113, 1497 /*0x1ff9*/ 814, 1498 /*0x2c6f*/ 921, 1499 /*0x0179*/ 117, 1500 -1, 1501 /*0x2c09*/ 874, 1502 /*0x1f8a*/ 731, 1503 /*0x040a*/ 307, 1504 /*0x010a*/ 62, 1505 /*0x1040a*/ 1216, 1506 /*0x2c88*/ 931, 1507 /*0xab8a*/ 1114, 1508 /*0x1f80*/ 721, 1509 /*0x0400*/ 297, 1510 /*0x0100*/ 57, 1511 /*0x10400*/ 1206, 1512 /*0x2c0a*/ 875, 1513 /*0xab80*/ 1104, 1514 /*0x10c88*/ 1290, 1515 /*0x00d5*/ 47, 1516 /*0x1f83*/ 724, 1517 /*0x0403*/ 300, 1518 /*0x2c00*/ 865, 1519 /*0x10403*/ 1209, 1520 /*0x10c89*/ 1291, 1521 /*0xab83*/ 1107, 1522 /*0x1ff3*/ 809, 1523 /*0x2c8a*/ 932, 1524 /*0x1e908*/ 1373, 1525 /*0x00df*/ 56, 1526 /*0x2c03*/ 868, 1527 /*0x1fd3*/ 791, 1528 /*0x0053*/ 17, 1529 /*0x2c80*/ 927, 1530 /*0x1e909*/ 1374, 1531 /*0x10c8a*/ 1292, 1532 /*0x2183*/ 838, 1533 -1, 1534 /*0x017f*/ 120, 1535 -1, 1536 /*0xa780*/ 1059, 1537 /*0x10c80*/ 1282, 1538 -1, 1539 /*0x017d*/ 119, 1540 -1, 1541 /*0x1e90a*/ 1375, 1542 /*0x2c7f*/ 926, 1543 -1, -1, 1544 /*0x10c83*/ 1285, 1545 /*0x00dd*/ 54, 1546 /*0x1e900*/ 1365, 1547 /*0x1f98*/ 745, 1548 /*0x0418*/ 321, 1549 /*0x0118*/ 69, 1550 /*0x10418*/ 1230, 1551 /*0x037f*/ 233, 1552 /*0xab98*/ 1128, 1553 /*0x00d3*/ 45, 1554 /*0x1e903*/ 1368, 1555 -1, 1556 /*0x1e88*/ 607, 1557 /*0x2c18*/ 889, 1558 -1, 1559 /*0x1f96*/ 743, 1560 /*0x0416*/ 319, 1561 /*0x0116*/ 68, 1562 /*0x10416*/ 1228, 1563 -1, 1564 /*0xab96*/ 1126, 1565 -1, -1, 1566 /*0x2c75*/ 924, 1567 /*0x2c98*/ 939, 1568 /*0x2c16*/ 887, 1569 -1, 1570 /*0x1fe3*/ 799, 1571 -1, 1572 /*0x1e8a*/ 608, 1573 -1, 1574 /*0xa798*/ 1068, 1575 /*0x10c98*/ 1306, 1576 /*0x1fd7*/ 793, 1577 /*0x0057*/ 21, 1578 /*0x1e80*/ 603, 1579 /*0x2c96*/ 938, 1580 /*0x2c63*/ 914, 1581 -1, -1, -1, -1, 1582 /*0x1e918*/ 1389, 1583 /*0xa796*/ 1067, 1584 /*0x10c96*/ 1304, 1585 /*0x1f86*/ 727, 1586 /*0x0406*/ 303, 1587 /*0x0106*/ 60, 1588 /*0x10406*/ 1212, 1589 /*0x13fb*/ 527, 1590 /*0xab86*/ 1110, 1591 -1, 1592 /*0x2c6d*/ 919, 1593 -1, 1594 /*0x1e916*/ 1387, 1595 /*0x2c06*/ 871, 1596 -1, 1597 /*0x1f90*/ 737, 1598 /*0x0410*/ 313, 1599 /*0x0110*/ 65, 1600 /*0x10410*/ 1222, 1601 -1, 1602 /*0xab90*/ 1120, 1603 /*0x2ced*/ 978, 1604 /*0x13f9*/ 525, 1605 -1, 1606 /*0x2c86*/ 930, 1607 /*0x2c10*/ 881, 1608 -1, 1609 /*0x1ff7*/ 812, 1610 -1, -1, -1, 1611 /*0xa786*/ 1062, 1612 /*0x10c86*/ 1288, 1613 /*0x1e98*/ 616, 1614 -1, 1615 /*0x1fbb*/ 777, 1616 /*0x2c90*/ 935, 1617 /*0x013b*/ 85, 1618 -1, -1, 1619 /*0xabbb*/ 1163, 1620 /*0x1fdb*/ 797, 1621 /*0x1e906*/ 1371, 1622 /*0xa790*/ 1065, 1623 /*0x10c90*/ 1298, 1624 /*0x1e96*/ 614, 1625 /*0x1e08*/ 543, 1626 /*0x1fcb*/ 788, 1627 /*0x004b*/ 9, 1628 -1, 1629 /*0x1f9a*/ 747, 1630 /*0x041a*/ 323, 1631 /*0x011a*/ 70, 1632 /*0x1041a*/ 1232, 1633 /*0x1e910*/ 1381, 1634 /*0xab9a*/ 1130, 1635 /*0x1f92*/ 739, 1636 /*0x0412*/ 315, 1637 /*0x0112*/ 66, 1638 /*0x10412*/ 1224, 1639 /*0x2c1a*/ 891, 1640 /*0xab92*/ 1122, 1641 /*0x13fd*/ 529, 1642 /*0x1e0a*/ 544, 1643 /*0x0388*/ 235, 1644 -1, 1645 /*0x2c12*/ 883, 1646 /*0x03d5*/ 273, 1647 /*0x00db*/ 52, 1648 /*0x1e00*/ 539, 1649 /*0x0389*/ 236, 1650 /*0x2c9a*/ 940, 1651 -1, -1, 1652 /*0x00cb*/ 37, 1653 /*0x1e86*/ 606, 1654 /*0x03f9*/ 292, 1655 /*0x2c92*/ 936, 1656 /*0xa79a*/ 1069, 1657 /*0x10c9a*/ 1308, 1658 /*0x1fe9*/ 804, 1659 /*0x038a*/ 237, 1660 -1, -1, 1661 /*0xa792*/ 1066, 1662 /*0x10c92*/ 1300, 1663 -1, 1664 /*0x1e90*/ 611, 1665 -1, 1666 /*0x1e91a*/ 1391, 1667 /*0x2c69*/ 917, 1668 /*0x0508*/ 425, 1669 -1, -1, 1670 /*0x0555*/ 481, 1671 /*0x1e912*/ 1383, 1672 /*0x1fa0*/ 753, 1673 /*0x0420*/ 329, 1674 /*0x0120*/ 73, 1675 /*0x10420*/ 1238, 1676 /*0x03f1*/ 288, 1677 /*0xaba0*/ 1136, 1678 /*0x1f9e*/ 751, 1679 /*0x041e*/ 327, 1680 /*0x011e*/ 72, 1681 /*0x1041e*/ 1236, 1682 /*0x2c20*/ 897, 1683 /*0xab9e*/ 1134, 1684 /*0x050a*/ 426, 1685 /*0x1e18*/ 551, 1686 -1, 1687 /*0x03ff*/ 296, 1688 /*0x2c1e*/ 895, 1689 /*0x048a*/ 362, 1690 /*0x0500*/ 421, 1691 /*0x0208*/ 194, 1692 /*0x03fd*/ 294, 1693 /*0x2ca0*/ 943, 1694 -1, 1695 /*0x0480*/ 361, 1696 -1, 1697 /*0x1e16*/ 550, 1698 /*0x1e9a*/ 618, 1699 /*0x2c9e*/ 942, 1700 /*0xa7a0*/ 1072, 1701 /*0x10ca0*/ 1314, 1702 -1, 1703 /*0x0398*/ 249, 1704 /*0x1e92*/ 612, 1705 -1, 1706 /*0xa79e*/ 1071, 1707 /*0x10c9e*/ 1312, 1708 /*0x020a*/ 195, 1709 /*0x0553*/ 479, 1710 -1, 1711 /*0x1e920*/ 1397, 1712 -1, 1713 /*0x03f5*/ 290, 1714 /*0x0200*/ 190, 1715 /*0x0396*/ 247, 1716 /*0x104d3*/ 1281, 1717 /*0x1e91e*/ 1395, 1718 -1, 1719 /*0x1f8e*/ 735, 1720 /*0x040e*/ 311, 1721 /*0x010e*/ 64, 1722 /*0x1040e*/ 1220, 1723 -1, 1724 /*0xab8e*/ 1118, 1725 -1, -1, 1726 /*0x1e06*/ 542, 1727 -1, 1728 /*0x2c0e*/ 879, 1729 /*0x0518*/ 433, 1730 /*0x1f94*/ 741, 1731 /*0x0414*/ 317, 1732 /*0x0114*/ 67, 1733 /*0x10414*/ 1226, 1734 /*0x0498*/ 369, 1735 /*0xab94*/ 1124, 1736 /*0x2165*/ 827, 1737 /*0x2167*/ 829, 1738 /*0x1e10*/ 547, 1739 /*0x2c8e*/ 934, 1740 /*0x2c14*/ 885, 1741 /*0x0516*/ 432, 1742 /*0x216f*/ 837, 1743 /*0x1ea0*/ 621, 1744 /*0x0386*/ 234, 1745 /*0x2161*/ 823, 1746 /*0x0496*/ 368, 1747 /*0x10c8e*/ 1296, 1748 -1, 1749 /*0x1e9e*/ 620, 1750 -1, 1751 /*0x2c94*/ 937, 1752 -1, 1753 /*0x0218*/ 202, 1754 -1, -1, 1755 /*0x0390*/ 241, 1756 /*0x1e90e*/ 1379, 1757 -1, 1758 /*0x10c94*/ 1302, 1759 -1, 1760 /*0xa77b*/ 1056, 1761 /*0x1ff6*/ 811, 1762 /*0x0476*/ 356, 1763 /*0x0176*/ 115, 1764 /*0x0216*/ 201, 1765 -1, -1, 1766 /*0x03f7*/ 291, 1767 /*0x1e914*/ 1385, 1768 -1, 1769 /*0x0506*/ 424, 1770 -1, 1771 /*0x1e1a*/ 552, 1772 -1, -1, 1773 /*0xa779*/ 1055, 1774 -1, 1775 /*0x01d5*/ 167, 1776 /*0x1e12*/ 548, 1777 -1, 1778 /*0x0189*/ 126, 1779 /*0x0376*/ 232, 1780 /*0x0510*/ 429, 1781 /*0x1fa6*/ 759, 1782 /*0x0426*/ 335, 1783 /*0x0126*/ 76, 1784 /*0x10426*/ 1244, 1785 /*0x0490*/ 365, 1786 /*0xaba6*/ 1142, 1787 /*0x1e8e*/ 610, 1788 /*0x039a*/ 251, 1789 /*0x018a*/ 127, 1790 -1, 1791 /*0x2c26*/ 903, 1792 /*0x0206*/ 193, 1793 -1, 1794 /*0x0392*/ 243, 1795 -1, 1796 /*0x1faf*/ 768, 1797 /*0x042f*/ 344, 1798 -1, 1799 /*0x1e94*/ 613, 1800 /*0x053b*/ 455, 1801 /*0xabaf*/ 1151, 1802 /*0x2ca6*/ 946, 1803 -1, 1804 /*0x0210*/ 198, 1805 -1, -1, 1806 /*0x104bb*/ 1257, 1807 /*0x01f1*/ 181, 1808 /*0xa7a6*/ 1075, 1809 /*0x10ca6*/ 1320, 1810 -1, 1811 /*0x054b*/ 471, 1812 /*0xa77d*/ 1057, 1813 /*0x01d3*/ 166, 1814 /*0x051a*/ 434, 1815 /*0x1e20*/ 555, 1816 /*0x04cb*/ 395, 1817 -1, 1818 /*0x104cb*/ 1273, 1819 /*0x049a*/ 370, 1820 /*0x0512*/ 430, 1821 /*0x1e1e*/ 554, 1822 /*0x2163*/ 825, 1823 /*0x023b*/ 217, 1824 /*0x10caf*/ 1329, 1825 /*0x0492*/ 366, 1826 /*0x1fa4*/ 757, 1827 /*0x0424*/ 333, 1828 /*0x0124*/ 75, 1829 /*0x10424*/ 1242, 1830 /*0x1ef6*/ 664, 1831 /*0xaba4*/ 1140, 1832 -1, 1833 /*0x03a0*/ 257, 1834 /*0x0198*/ 137, 1835 -1, 1836 /*0x2c24*/ 901, 1837 /*0x216d*/ 835, 1838 /*0x021a*/ 203, 1839 /*0x039e*/ 255, 1840 /*0x1f9c*/ 749, 1841 /*0x041c*/ 325, 1842 /*0x011c*/ 71, 1843 /*0x1041c*/ 1234, 1844 /*0x0212*/ 199, 1845 /*0xab9c*/ 1132, 1846 /*0x0196*/ 135, 1847 /*0x2ca4*/ 945, 1848 -1, 1849 /*0x1feb*/ 806, 1850 /*0x2c1c*/ 893, 1851 -1, 1852 /*0x1ea6*/ 624, 1853 -1, 1854 /*0xa7a4*/ 1074, 1855 /*0x10ca4*/ 1318, 1856 /*0x004d*/ 11, 1857 -1, -1, 1858 /*0x2c6b*/ 918, 1859 /*0x0520*/ 437, 1860 /*0x2c9c*/ 941, 1861 /*0x1e0e*/ 546, 1862 -1, 1863 /*0x01d7*/ 168, 1864 /*0x04a0*/ 373, 1865 /*0x051e*/ 436, 1866 -1, 1867 /*0xa79c*/ 1070, 1868 /*0x10c9c*/ 1310, 1869 /*0x2ceb*/ 977, 1870 /*0x049e*/ 372, 1871 -1, -1, 1872 /*0x1e14*/ 549, 1873 -1, 1874 /*0x0186*/ 124, 1875 -1, -1, 1876 /*0x1e91c*/ 1393, 1877 /*0x038e*/ 239, 1878 -1, 1879 /*0x00cd*/ 39, 1880 -1, 1881 /*0x0220*/ 206, 1882 -1, -1, 1883 /*0x10bb*/ 511, 1884 /*0x0190*/ 131, 1885 -1, 1886 /*0x021e*/ 205, 1887 /*0x24bb*/ 844, 1888 /*0x0394*/ 245, 1889 -1, 1890 /*0x1f84*/ 725, 1891 /*0x0404*/ 301, 1892 /*0x0104*/ 59, 1893 /*0x10404*/ 1210, 1894 /*0x1ea4*/ 623, 1895 /*0xab84*/ 1108, 1896 /*0x01f7*/ 185, 1897 /*0x0051*/ 15, 1898 -1, 1899 /*0x24cb*/ 860, 1900 /*0x2c04*/ 869, 1901 -1, 1902 /*0x1e76*/ 598, 1903 /*0x050e*/ 428, 1904 /*0x1f82*/ 723, 1905 /*0x0402*/ 299, 1906 /*0x0102*/ 58, 1907 /*0x10402*/ 1208, 1908 /*0x048e*/ 364, 1909 /*0xab82*/ 1106, 1910 /*0x01db*/ 170, 1911 /*0x2c84*/ 929, 1912 -1, 1913 /*0x2169*/ 831, 1914 /*0x2c02*/ 867, 1915 /*0x0514*/ 431, 1916 /*0x01cb*/ 162, 1917 -1, 1918 /*0xa784*/ 1061, 1919 /*0x10c84*/ 1286, 1920 /*0x0494*/ 367, 1921 /*0x118bb*/ 1360, 1922 -1, 1923 /*0x00d1*/ 43, 1924 /*0x1e26*/ 558, 1925 /*0x2c82*/ 928, 1926 -1, 1927 /*0x020e*/ 197, 1928 -1, 1929 /*0x1e904*/ 1369, 1930 -1, -1, 1931 /*0xa782*/ 1060, 1932 /*0x10c82*/ 1284, 1933 -1, 1934 /*0x1fa7*/ 760, 1935 /*0x0427*/ 336, 1936 -1, 1937 /*0x10427*/ 1245, 1938 /*0x0214*/ 200, 1939 /*0xaba7*/ 1143, 1940 -1, 1941 /*0x03a6*/ 262, 1942 /*0x1e902*/ 1367, 1943 /*0x10a0*/ 484, 1944 /*0x2c27*/ 904, 1945 /*0x1f8c*/ 733, 1946 /*0x040c*/ 309, 1947 /*0x010c*/ 63, 1948 /*0x1040c*/ 1218, 1949 -1, 1950 /*0xab8c*/ 1116, 1951 /*0x04f6*/ 416, 1952 -1, -1, -1, 1953 /*0x2c0c*/ 877, 1954 /*0x047e*/ 360, 1955 /*0x1fa2*/ 755, 1956 /*0x0422*/ 331, 1957 /*0x0122*/ 74, 1958 /*0x10422*/ 1240, 1959 /*0x1e84*/ 605, 1960 /*0xaba2*/ 1138, 1961 /*0x10ca7*/ 1321, 1962 /*0x01a0*/ 141, 1963 /*0x2c7e*/ 925, 1964 /*0x2c8c*/ 933, 1965 /*0x2c22*/ 899, 1966 /*0x0526*/ 440, 1967 /*0x1e24*/ 557, 1968 /*0x1ff2*/ 808, 1969 /*0x0472*/ 354, 1970 /*0x0172*/ 113, 1971 /*0x04a6*/ 376, 1972 /*0x10c8c*/ 1294, 1973 /*0x1e82*/ 604, 1974 /*0x1f08*/ 669, 1975 -1, 1976 /*0x2ca2*/ 944, 1977 /*0x1f6f*/ 720, 1978 /*0x2c72*/ 923, 1979 /*0x118a0*/ 1333, 1980 /*0x1f09*/ 670, 1981 /*0x1e1c*/ 553, 1982 /*0x1e90c*/ 1377, 1983 /*0xa7a2*/ 1073, 1984 /*0x10ca2*/ 1316, 1985 /*0x03a4*/ 260, 1986 /*0xfb00*/ 1168, 1987 /*0x1f5f*/ 712, 1988 /*0x0372*/ 231, 1989 /*0x2cf2*/ 979, 1990 /*0x0226*/ 209, 1991 /*0x1f0a*/ 671, 1992 -1, -1, 1993 /*0xfb03*/ 1171, 1994 /*0x1faa*/ 763, 1995 /*0x042a*/ 339, 1996 /*0x012a*/ 78, 1997 -1, 1998 /*0x039c*/ 253, 1999 /*0xabaa*/ 1146, 2000 /*0x1fae*/ 767, 2001 /*0x042e*/ 343, 2002 /*0x012e*/ 80, 2003 -1, 2004 /*0x2c2a*/ 907, 2005 /*0xabae*/ 1150, 2006 -1, 2007 /*0x1f5d*/ 711, 2008 /*0x018e*/ 129, 2009 -1, 2010 /*0x2c2e*/ 911, 2011 /*0x0524*/ 439, 2012 -1, -1, 2013 /*0x1e8c*/ 609, 2014 /*0x2caa*/ 948, 2015 /*0x04a4*/ 375, 2016 -1, -1, -1, 2017 /*0x0194*/ 134, 2018 /*0x2cae*/ 950, 2019 /*0xa7aa*/ 1077, 2020 /*0x10caa*/ 1324, 2021 /*0x1efe*/ 668, 2022 /*0x051c*/ 435, 2023 /*0x1ea2*/ 622, 2024 -1, 2025 /*0xa7ae*/ 1081, 2026 /*0x10cae*/ 1328, 2027 /*0x049c*/ 371, 2028 -1, -1, -1, 2029 /*0x1e04*/ 541, 2030 /*0x0224*/ 208, 2031 /*0x1f18*/ 677, 2032 /*0xfb16*/ 1178, 2033 /*0x2126*/ 818, 2034 /*0x1ef2*/ 662, 2035 /*0x054d*/ 473, 2036 /*0x1fac*/ 765, 2037 /*0x042c*/ 341, 2038 /*0x012c*/ 79, 2039 -1, 2040 /*0x04cd*/ 396, 2041 /*0xabac*/ 1148, 2042 /*0x104cd*/ 1275, 2043 /*0x1e02*/ 540, 2044 /*0x021c*/ 204, 2045 -1, 2046 /*0x2c2c*/ 909, 2047 /*0x01f6*/ 184, 2048 /*0x10a6*/ 490, 2049 -1, 2050 /*0x1fa8*/ 761, 2051 /*0x0428*/ 337, 2052 /*0x0128*/ 77, 2053 /*0x03d1*/ 272, 2054 /*0x1fb2*/ 769, 2055 /*0xaba8*/ 1144, 2056 /*0x0132*/ 81, 2057 /*0x2cac*/ 949, 2058 /*0xa726*/ 1019, 2059 /*0xabb2*/ 1154, 2060 /*0x2c28*/ 905, 2061 /*0x1eaa*/ 626, 2062 /*0xfb06*/ 1174, 2063 /*0x10af*/ 499, 2064 /*0xa7ac*/ 1079, 2065 /*0x10cac*/ 1326, 2066 -1, 2067 /*0x1eae*/ 628, 2068 -1, 2069 /*0x01a6*/ 144, 2070 /*0x1f6d*/ 718, 2071 /*0x2ca8*/ 947, 2072 -1, 2073 /*0xa688*/ 1007, 2074 /*0x0504*/ 423, 2075 /*0x2cb2*/ 952, 2076 -1, -1, 2077 /*0xa7a8*/ 1076, 2078 /*0x10ca8*/ 1322, 2079 /*0x0551*/ 477, 2080 -1, 2081 /*0xa7b2*/ 1084, 2082 /*0x10cb2*/ 1332, 2083 /*0x01af*/ 149, 2084 /*0x1e0c*/ 545, 2085 /*0x118a6*/ 1339, 2086 /*0x104d1*/ 1279, 2087 /*0x0502*/ 422, 2088 -1, 2089 /*0xa68a*/ 1008, 2090 -1, 2091 /*0x03a7*/ 263, 2092 -1, 2093 /*0x10a4*/ 488, 2094 /*0x1e7e*/ 602, 2095 /*0xa680*/ 1003, 2096 /*0x1e22*/ 556, 2097 /*0x0204*/ 192, 2098 -1, -1, 2099 /*0x118af*/ 1348, 2100 /*0x216b*/ 833, 2101 /*0x038c*/ 238, 2102 /*0xa724*/ 1018, 2103 /*0x1f3b*/ 694, 2104 -1, -1, 2105 /*0x1eac*/ 627, 2106 -1, 2107 /*0x1e72*/ 596, 2108 /*0x1f5b*/ 710, 2109 /*0x0202*/ 191, 2110 /*0x03fe*/ 295, 2111 -1, 2112 /*0x01a4*/ 143, 2113 -1, 2114 /*0x1f4b*/ 702, 2115 -1, -1, 2116 /*0x1f1a*/ 679, 2117 -1, 2118 /*0x1ea8*/ 625, 2119 /*0x10cd*/ 523, 2120 /*0xff26*/ 1185, 2121 -1, 2122 /*0x1eb2*/ 630, 2123 /*0x24cd*/ 862, 2124 -1, 2125 /*0x019c*/ 138, 2126 /*0x050c*/ 427, 2127 -1, 2128 /*0x118a4*/ 1337, 2129 -1, -1, 2130 /*0x048c*/ 363, 2131 /*0xa698*/ 1015, 2132 /*0x1e2a*/ 560, 2133 /*0x0130*/ 1400, 2134 /*0xff2f*/ 1194, 2135 -1, 2136 /*0xabb0*/ 1152, 2137 /*0x0522*/ 438, 2138 /*0x1e2e*/ 562, 2139 /*0x01cd*/ 163, 2140 /*0x04fe*/ 420, 2141 -1, 2142 /*0x04a2*/ 374, 2143 /*0xa696*/ 1014, 2144 -1, 2145 /*0x1f69*/ 714, 2146 /*0x1fba*/ 776, 2147 -1, -1, 2148 /*0x020c*/ 196, 2149 /*0x03aa*/ 266, 2150 /*0xabba*/ 1162, 2151 /*0x2cb0*/ 951, 2152 -1, -1, 2153 /*0x04f2*/ 414, 2154 -1, -1, -1, 2155 /*0xa7b0*/ 1082, 2156 /*0x10cb0*/ 1330, 2157 /*0x0222*/ 207, 2158 -1, -1, -1, 2159 /*0xff24*/ 1183, 2160 -1, 2161 /*0x2cba*/ 956, 2162 -1, 2163 /*0x1fca*/ 787, 2164 /*0x004a*/ 8, 2165 /*0x014a*/ 93, 2166 -1, 2167 /*0xa686*/ 1006, 2168 -1, -1, -1, 2169 /*0x052a*/ 442, 2170 /*0x0184*/ 123, 2171 /*0x1e2c*/ 561, 2172 -1, -1, 2173 /*0x04aa*/ 378, 2174 /*0x052e*/ 444, 2175 /*0x01d1*/ 165, 2176 /*0xa690*/ 1011, 2177 -1, -1, 2178 /*0x04ae*/ 380, 2179 /*0x1fb8*/ 774, 2180 /*0x2cca*/ 964, 2181 -1, 2182 /*0x0182*/ 122, 2183 /*0x1e28*/ 559, 2184 /*0xabb8*/ 1160, 2185 -1, 2186 /*0x00ca*/ 36, 2187 /*0x1e32*/ 564, 2188 -1, -1, -1, 2189 /*0x022a*/ 211, 2190 /*0x10a7*/ 491, 2191 /*0x1eb0*/ 629, 2192 -1, -1, -1, 2193 /*0x022e*/ 213, 2194 /*0x1f0e*/ 675, 2195 /*0xfb14*/ 1176, 2196 /*0x2cb8*/ 955, 2197 /*0x03a8*/ 264, 2198 -1, -1, -1, -1, -1, -1, 2199 /*0x1eba*/ 634, 2200 -1, 2201 /*0xa69a*/ 1016, 2202 -1, -1, 2203 /*0x01a7*/ 145, 2204 /*0x052c*/ 443, 2205 /*0x10a2*/ 486, 2206 /*0xa692*/ 1012, 2207 /*0x1fd9*/ 795, 2208 /*0x0059*/ 23, 2209 /*0x04ac*/ 379, 2210 /*0x1ffa*/ 815, 2211 /*0x047a*/ 358, 2212 /*0x1fb6*/ 772, 2213 /*0xa77e*/ 1058, 2214 /*0x0136*/ 83, 2215 /*0xa722*/ 1017, 2216 -1, 2217 /*0xabb6*/ 1158, 2218 /*0x0528*/ 441, 2219 -1, 2220 /*0x118a7*/ 1340, 2221 /*0x1eca*/ 642, 2222 /*0x0532*/ 446, 2223 /*0x04a8*/ 377, 2224 /*0x01fe*/ 189, 2225 -1, 2226 /*0x01a2*/ 142, 2227 /*0x04b2*/ 382, 2228 /*0x022c*/ 212, 2229 /*0x104b2*/ 1248, 2230 /*0x212a*/ 819, 2231 -1, -1, 2232 /*0x2cb6*/ 954, 2233 /*0x00d9*/ 50, 2234 -1, 2235 /*0x1fcc*/ 789, 2236 /*0x004c*/ 10, 2237 /*0x014c*/ 94, 2238 /*0x01f2*/ 182, 2239 /*0xa7b6*/ 1087, 2240 /*0x1eb8*/ 633, 2241 /*0x0228*/ 210, 2242 /*0x118a2*/ 1335, 2243 -1, 2244 /*0x10aa*/ 494, 2245 /*0x0232*/ 215, 2246 -1, -1, -1, -1, 2247 /*0x10ae*/ 498, 2248 -1, -1, -1, 2249 /*0xa72a*/ 1021, 2250 -1, 2251 /*0x2ccc*/ 965, 2252 /*0xff27*/ 1186, 2253 /*0x1e30*/ 563, 2254 -1, 2255 /*0xa72e*/ 1023, 2256 -1, 2257 /*0x00cc*/ 38, 2258 -1, 2259 /*0x1fbc*/ 778, 2260 /*0x1fb4*/ 771, 2261 -1, 2262 /*0x0134*/ 82, 2263 /*0x1f2f*/ 690, 2264 /*0xabbc*/ 1164, 2265 /*0xabb4*/ 1156, 2266 /*0x01ae*/ 148, 2267 -1, 2268 /*0x1e3a*/ 568, 2269 -1, -1, 2270 /*0x03b0*/ 268, 2271 -1, -1, -1, 2272 /*0xff22*/ 1181, 2273 /*0x1efa*/ 666, 2274 /*0x118aa*/ 1343, 2275 /*0x1eb6*/ 632, 2276 -1, 2277 /*0x2cbc*/ 957, 2278 /*0x2cb4*/ 953, 2279 -1, 2280 /*0x118ae*/ 1347, 2281 -1, 2282 /*0x1fbe*/ 779, 2283 /*0x10ac*/ 496, 2284 /*0xa68e*/ 1010, 2285 /*0xa7b4*/ 1086, 2286 /*0x2132*/ 821, 2287 /*0xabbe*/ 1166, 2288 /*0x1e4a*/ 576, 2289 -1, -1, -1, -1, 2290 /*0xa72c*/ 1022, 2291 -1, -1, 2292 /*0xa694*/ 1013, 2293 /*0x10a8*/ 492, 2294 -1, 2295 /*0x1ecc*/ 643, 2296 /*0x04b0*/ 381, 2297 /*0x10b2*/ 502, 2298 /*0x104b0*/ 1246, 2299 /*0x2cbe*/ 958, 2300 /*0x01ac*/ 147, 2301 /*0x1f1c*/ 681, 2302 -1, 2303 /*0xa728*/ 1020, 2304 /*0x1e38*/ 567, 2305 -1, 2306 /*0x053a*/ 454, 2307 /*0xa732*/ 1024, 2308 /*0xff2a*/ 1189, 2309 /*0x13fa*/ 526, 2310 /*0x1f6b*/ 716, 2311 /*0x04ba*/ 386, 2312 -1, 2313 /*0x104ba*/ 1256, 2314 /*0xff2e*/ 1193, 2315 /*0x0230*/ 214, 2316 /*0x1f4d*/ 704, 2317 /*0x118ac*/ 1345, 2318 /*0x01b2*/ 151, 1254 2319 -1, -1, -1, -1, -1, 1255 /*0x10417*/ 1129, 1256 -1, -1, 1257 /*0x1ff3*/ 794, 1258 /*0x10418*/ 1130, 1259 /*0x1f97*/ 729, 2320 /*0x1ebc*/ 635, 2321 /*0x1eb4*/ 631, 2322 -1, -1, -1, 2323 /*0x054a*/ 470, 2324 /*0x023a*/ 216, 2325 /*0x118a8*/ 1341, 2326 -1, -1, -1, 2327 /*0x118b2*/ 1351, 2328 /*0x104ca*/ 1272, 2329 -1, 2330 /*0x1fc8*/ 785, 2331 /*0x0048*/ 7, 2332 -1, 2333 /*0x1fe2*/ 798, 2334 /*0x0462*/ 346, 2335 /*0x0162*/ 105, 2336 /*0xfb04*/ 1172, 2337 /*0x1e7a*/ 600, 2338 -1, 2339 /*0x1e36*/ 566, 2340 -1, 2341 /*0x0538*/ 452, 2342 /*0x1ebe*/ 636, 2343 /*0x2c62*/ 913, 2344 -1, 2345 /*0x024a*/ 226, 2346 /*0x04b8*/ 385, 2347 /*0xff2c*/ 1191, 2348 /*0x104b8*/ 1254, 2349 -1, 2350 /*0xfb02*/ 1170, 2351 /*0x2cc8*/ 963, 2352 -1, -1, 2353 /*0x2ce2*/ 976, 2354 /*0x03fa*/ 293, 2355 -1, 2356 /*0x00c8*/ 34, 2357 -1, 2358 /*0x1f85*/ 726, 2359 /*0x0405*/ 302, 2360 /*0xff28*/ 1187, 2361 /*0x10405*/ 1211, 2362 /*0x1e4c*/ 577, 2363 /*0xab85*/ 1109, 2364 /*0xff32*/ 1197, 2365 -1, -1, -1, 2366 /*0x2c05*/ 870, 2367 -1, 2368 /*0x10b0*/ 500, 2369 -1, -1, 2370 /*0x1fc4*/ 782, 2371 /*0x0044*/ 3, 2372 -1, -1, -1, 2373 /*0x1fd6*/ 792, 2374 /*0x0056*/ 20, 2375 /*0x0156*/ 99, 2376 -1, -1, 2377 /*0x0536*/ 450, 2378 -1, 2379 /*0x10ba*/ 510, 2380 /*0x04fa*/ 418, 2381 /*0x10c85*/ 1287, 2382 /*0x04b6*/ 384, 2383 /*0x24ba*/ 843, 2384 /*0x104b6*/ 1252, 2385 /*0x1e3c*/ 569, 2386 /*0x1e34*/ 565, 2387 -1, 2388 /*0x2cc4*/ 961, 2389 /*0xa73a*/ 1028, 2390 -1, 2391 /*0x1e905*/ 1370, 2392 -1, 2393 /*0x2cd6*/ 970, 2394 /*0x00c4*/ 30, 2395 /*0x1ec8*/ 641, 2396 /*0x1f0c*/ 673, 2397 -1, 2398 /*0x1ee2*/ 654, 2399 /*0x00d6*/ 48, 2400 -1, 2401 /*0x054c*/ 472, 2402 /*0x118b0*/ 1349, 2403 -1, -1, -1, 2404 /*0x24ca*/ 859, 2405 -1, 2406 /*0x104cc*/ 1274, 2407 -1, 2408 /*0xa64a*/ 985, 2409 /*0x1e3e*/ 570, 2410 /*0xa74a*/ 1036, 2411 -1, -1, -1, -1, 2412 /*0x118ba*/ 1359, 2413 -1, -1, -1, -1, 2414 /*0x10b8*/ 508, 2415 /*0x01ca*/ 161, 2416 -1, 2417 /*0x024c*/ 227, 2418 /*0x24b8*/ 841, 2419 -1, -1, -1, 2420 /*0x053c*/ 456, 2421 /*0x0534*/ 448, 2422 /*0xa738*/ 1027, 2423 -1, -1, 2424 /*0x04bc*/ 387, 2425 /*0x04b4*/ 383, 2426 /*0x104bc*/ 1258, 2427 /*0x104b4*/ 1250, 2428 /*0x1ec4*/ 639, 2429 /*0xff30*/ 1195, 2430 /*0x1fc2*/ 780, 2431 /*0x0042*/ 1, 2432 /*0x01b8*/ 155, 2433 /*0x1ed6*/ 648, 2434 /*0xa684*/ 1005, 2435 /*0x0050*/ 14, 2436 /*0x0150*/ 96, 2437 /*0x1f2a*/ 685, 2438 /*0x1fd2*/ 790, 2439 /*0x0052*/ 16, 2440 /*0x0152*/ 97, 2441 -1, -1, 2442 /*0x1f2e*/ 689, 2443 /*0xff3a*/ 1205, 2444 /*0x053e*/ 458, 2445 -1, -1, 2446 /*0xa682*/ 1004, 2447 /*0x118b8*/ 1357, 2448 /*0x04be*/ 388, 2449 /*0x2cc2*/ 960, 2450 /*0x104be*/ 1260, 2451 -1, 2452 /*0x10b6*/ 506, 2453 /*0x2cd0*/ 967, 2454 -1, 2455 /*0x00c2*/ 28, 2456 /*0x24b6*/ 839, 2457 /*0x2cd2*/ 968, 2458 /*0x1e48*/ 575, 2459 /*0x00d0*/ 42, 2460 -1, 2461 /*0x1e62*/ 588, 2462 /*0xa736*/ 1026, 2463 /*0x00d2*/ 44, 2464 -1, -1, -1, 2465 /*0x023e*/ 219, 2466 /*0x01d9*/ 169, 2467 /*0x004e*/ 12, 2468 /*0x014e*/ 95, 2469 /*0x01fa*/ 187, 2470 -1, -1, -1, -1, -1, -1, 2471 -1, 2472 /*0x03e2*/ 280, 2473 /*0x24cc*/ 861, 2474 -1, 2475 /*0x1f2c*/ 687, 2476 -1, 2477 /*0xa64c*/ 986, 2478 /*0xff38*/ 1203, 2479 /*0xa74c*/ 1037, 2480 -1, 2481 /*0xa68c*/ 1009, 2482 /*0x2cce*/ 966, 2483 /*0x118b6*/ 1355, 2484 -1, -1, 2485 /*0x1fc6*/ 783, 2486 /*0x0046*/ 5, 2487 /*0x00ce*/ 40, 2488 /*0x1f28*/ 683, 2489 -1, 2490 /*0x1ffc*/ 817, 2491 /*0x047c*/ 359, 2492 /*0x1ec2*/ 638, 2493 -1, 2494 /*0x1e44*/ 573, 2495 /*0x0548*/ 468, 2496 /*0x1ed0*/ 645, 2497 /*0x10bc*/ 512, 2498 /*0x10b4*/ 504, 2499 /*0x1e56*/ 582, 2500 /*0x1ed2*/ 646, 2501 /*0x24bc*/ 845, 2502 /*0x104c8*/ 1270, 2503 /*0x04e2*/ 406, 2504 -1, -1, 2505 /*0x2cc6*/ 962, 2506 /*0xa73c*/ 1029, 2507 /*0xa734*/ 1025, 2508 /*0x1fec*/ 807, 2509 /*0x046c*/ 351, 2510 /*0x016c*/ 110, 2511 /*0x00c6*/ 32, 2512 -1, -1, -1, -1, 2513 /*0x03d6*/ 274, 2514 /*0x01bc*/ 156, 2515 /*0x0248*/ 225, 2516 /*0xff36*/ 1201, 2517 -1, -1, 2518 /*0x10be*/ 514, 2519 -1, -1, -1, 2520 /*0x24be*/ 847, 2521 /*0x1fea*/ 805, 2522 /*0x046a*/ 350, 2523 /*0x016a*/ 109, 2524 -1, 2525 /*0x1ece*/ 644, 2526 /*0xa73e*/ 1030, 2527 -1, 2528 /*0x118bc*/ 1361, 2529 /*0x118b4*/ 1353, 2530 /*0x1fab*/ 764, 2531 /*0x042b*/ 340, 2532 /*0x0544*/ 464, 2533 /*0x1f81*/ 722, 2534 /*0x0401*/ 298, 2535 /*0xabab*/ 1147, 2536 /*0x10401*/ 1207, 2537 /*0x0556*/ 482, 2538 /*0xab81*/ 1105, 2539 /*0x104c4*/ 1266, 2540 /*0x2c2b*/ 908, 2541 -1, 2542 /*0x04d6*/ 400, 2543 /*0x2c01*/ 866, 2544 -1, 2545 /*0x013f*/ 87, 2546 -1, -1, 2547 /*0xabbf*/ 1167, 2548 -1, 2549 /*0x1ec6*/ 640, 2550 /*0x1fe8*/ 803, 2551 /*0x0468*/ 349, 2552 /*0x0168*/ 108, 2553 /*0x118be*/ 1363, 2554 /*0x1efc*/ 667, 2555 /*0x0244*/ 222, 2556 -1, 2557 /*0xa7ab*/ 1078, 2558 /*0x10cab*/ 1325, 2559 -1, 2560 /*0x1e42*/ 572, 2561 /*0x10c81*/ 1283, 2562 -1, 2563 /*0x2162*/ 824, 2564 /*0x1e50*/ 579, 2565 -1, 2566 /*0xff34*/ 1199, 2567 -1, 2568 /*0x1e52*/ 580, 2569 -1, 2570 /*0x1c88*/ 538, 2571 /*0x1e901*/ 1366, 2572 -1, 2573 /*0x1eec*/ 659, 2574 /*0x1fe4*/ 800, 2575 /*0x0464*/ 347, 2576 /*0x0164*/ 106, 2577 -1, 2578 /*0x03c2*/ 269, 2579 /*0x24c8*/ 857, 2580 -1, 2581 /*0x1f3a*/ 693, 2582 /*0x03d0*/ 271, 2583 /*0xa648*/ 984, 2584 /*0x2c64*/ 915, 2585 /*0xa748*/ 1035, 2586 /*0xa662*/ 997, 2587 -1, 2588 /*0xa762*/ 1048, 2589 -1, -1, -1, 2590 /*0x1eea*/ 658, 2591 /*0x1c80*/ 530, 2592 /*0x13fc*/ 528, 2593 -1, 2594 /*0x01c8*/ 160, 2595 /*0x1fa9*/ 762, 2596 /*0x0429*/ 338, 2597 /*0x01e2*/ 173, 2598 /*0x1e4e*/ 578, 2599 /*0x1c83*/ 533, 2600 /*0xaba9*/ 1145, 2601 -1, 2602 /*0x1f4a*/ 701, 2603 /*0x0542*/ 462, 2604 -1, 2605 /*0x2c29*/ 906, 2606 -1, 2607 /*0x0550*/ 476, 2608 -1, -1, 2609 /*0x104c2*/ 1264, 2610 /*0x0552*/ 478, 2611 /*0x04d0*/ 397, 2612 -1, 2613 /*0x104d0*/ 1278, 2614 -1, 2615 /*0x04d2*/ 398, 2616 /*0x10c4*/ 520, 2617 /*0x104d2*/ 1280, 2618 -1, 2619 /*0x1ee8*/ 657, 2620 /*0x24c4*/ 853, 2621 /*0x1f38*/ 691, 2622 /*0x1e46*/ 574, 2623 /*0x10ca9*/ 1323, 2624 /*0xa644*/ 982, 2625 -1, 2626 /*0xa744*/ 1033, 2627 /*0x1e7c*/ 601, 2628 -1, 2629 /*0xa656*/ 991, 2630 -1, 2631 /*0xa756*/ 1042, 2632 /*0x0460*/ 345, 2633 /*0x0160*/ 104, 2634 -1, -1, -1, 2635 /*0x01c4*/ 157, 2636 -1, -1, -1, 2637 /*0x2c60*/ 912, 2638 /*0x054e*/ 474, 2639 /*0x1ee4*/ 655, 2640 -1, -1, 2641 /*0x1e6c*/ 593, 2642 /*0x046e*/ 352, 2643 /*0x016e*/ 111, 2644 /*0x104ce*/ 1276, 2645 -1, -1, 2646 /*0x2ce0*/ 975, 2647 -1, -1, -1, 2648 /*0x2c6e*/ 920, 2649 -1, -1, 2650 /*0x1f59*/ 709, 2651 -1, 2652 /*0x1fe6*/ 801, 2653 /*0x0466*/ 348, 2654 /*0x0166*/ 107, 2655 /*0x03ec*/ 285, 2656 /*0x1e6a*/ 592, 2657 /*0x024e*/ 228, 2658 /*0x0546*/ 466, 2659 -1, -1, 2660 /*0x013d*/ 86, 2661 -1, 2662 /*0x1c86*/ 536, 2663 /*0xabbd*/ 1165, 2664 /*0x104c6*/ 1268, 2665 -1, -1, 2666 /*0x04fc*/ 419, 2667 -1, -1, 2668 /*0x1fda*/ 796, 2669 /*0x005a*/ 24, 2670 /*0x015a*/ 101, 2671 /*0x03ea*/ 284, 2672 /*0x1fd8*/ 794, 2673 /*0x0058*/ 22, 2674 /*0x0158*/ 100, 2675 -1, 2676 /*0x1f4c*/ 703, 2677 -1, 2678 /*0x10c2*/ 518, 2679 /*0x0246*/ 224, 2680 /*0x03ab*/ 267, 2681 -1, 2682 /*0x24c2*/ 851, 2683 /*0x1e68*/ 591, 2684 /*0x04ec*/ 411, 2685 -1, 2686 /*0xa642*/ 981, 2687 -1, 2688 /*0xa742*/ 1032, 2689 /*0x2cda*/ 972, 2690 /*0xa650*/ 988, 2691 /*0x1ee0*/ 653, 2692 /*0xa750*/ 1039, 2693 /*0x2cd8*/ 971, 2694 /*0xa652*/ 989, 2695 /*0x00da*/ 51, 2696 /*0xa752*/ 1040, 2697 /*0x0054*/ 18, 2698 /*0x0154*/ 98, 2699 /*0x00d8*/ 49, 2700 -1, 2701 /*0x03e8*/ 283, 2702 -1, 2703 /*0x04ea*/ 410, 2704 /*0x2cc0*/ 959, 2705 /*0x1f3c*/ 695, 2706 /*0x1eee*/ 660, 2707 /*0x1e64*/ 589, 2708 -1, -1, 2709 /*0x00c0*/ 26, 2710 -1, -1, 2711 /*0x015e*/ 103, 2712 /*0x1fc7*/ 784, 2713 /*0x0047*/ 6, 2714 /*0x0147*/ 91, 2715 /*0x2cd4*/ 969, 2716 -1, -1, 2717 /*0x053f*/ 459, 2718 /*0x1ee6*/ 656, 2719 /*0x24ce*/ 863, 2720 /*0x00d4*/ 46, 2721 -1, 2722 /*0x03e4*/ 281, 2723 /*0xa64e*/ 987, 2724 /*0x104bf*/ 1261, 2725 /*0xa74e*/ 1038, 2726 -1, -1, 2727 /*0x1f3e*/ 697, 2728 /*0x2cde*/ 974, 2729 /*0x04e8*/ 409, 2730 /*0x1fb9*/ 775, 2731 -1, 2732 /*0x0139*/ 84, 2733 -1, 2734 /*0x00de*/ 55, 2735 /*0xabb9*/ 1161, 2736 /*0x1eda*/ 650, 2737 /*0x00c7*/ 33, 2738 -1, -1, 2739 /*0x1ed8*/ 649, 2740 -1, -1, 2741 /*0x24c6*/ 855, 2742 /*0x03a9*/ 265, 2743 -1, -1, 2744 /*0xa646*/ 983, 2745 /*0x216c*/ 834, 2746 /*0xa746*/ 1034, 2747 -1, 2748 /*0x1ec0*/ 637, 2749 -1, 2750 /*0x04e4*/ 407, 2751 -1, 2752 /*0x015c*/ 102, 2753 /*0x1fa1*/ 754, 2754 /*0x0421*/ 330, 2755 -1, 2756 /*0x10421*/ 1239, 2757 -1, 2758 /*0xaba1*/ 1137, 2759 -1, 2760 /*0x1e60*/ 587, 2761 /*0x1ed4*/ 647, 2762 /*0x01fc*/ 188, 2763 /*0x2c21*/ 898, 2764 /*0x216a*/ 832, 2765 -1, -1, -1, 2766 /*0xa66c*/ 1002, 2767 -1, 2768 /*0xa76c*/ 1053, 2769 /*0x2cdc*/ 973, 2770 -1, 2771 /*0x212b*/ 820, 2772 -1, 2773 /*0x1e6e*/ 594, 2774 /*0x1ede*/ 652, 2775 /*0x00dc*/ 53, 2776 /*0x03e0*/ 279, 2777 -1, -1, 2778 /*0x01ec*/ 178, 2779 /*0x10ca1*/ 1315, 2780 -1, 2781 /*0x1f48*/ 699, 2782 /*0x0045*/ 4, 2783 /*0x0145*/ 90, 2784 /*0xa66a*/ 1001, 2785 /*0x10ab*/ 495, 2786 /*0xa76a*/ 1052, 2787 /*0x1e66*/ 590, 2788 -1, 2789 /*0x1e921*/ 1398, 2790 /*0x03ee*/ 286, 2791 /*0x2168*/ 830, 2792 -1, 2793 /*0x1fc3*/ 781, 2794 /*0x0043*/ 2, 2795 /*0x0143*/ 89, 2796 -1, 2797 /*0x01ea*/ 177, 2798 /*0x10bf*/ 515, 2799 /*0xfb05*/ 1173, 2800 -1, 2801 /*0x0345*/ 229, 2802 /*0x24bf*/ 848, 2803 -1, -1, 2804 /*0x03e6*/ 282, 2805 /*0x1e5a*/ 584, 2806 /*0x04e0*/ 405, 2807 /*0x00c5*/ 31, 2808 /*0x0181*/ 121, 2809 /*0x1e58*/ 583, 2810 -1, -1, -1, 2811 /*0xa668*/ 1000, 2812 /*0x2164*/ 826, 2813 /*0xa768*/ 1051, 2814 -1, -1, 2815 /*0x1edc*/ 651, 2816 /*0x00c3*/ 29, 2817 /*0x1e40*/ 571, 2818 /*0x04ee*/ 412, 2819 /*0x118ab*/ 1344, 2820 /*0x03da*/ 276, 2821 -1, -1, 2822 /*0x01e8*/ 176, 2823 /*0x03d8*/ 275, 2824 -1, 2825 /*0x1f56*/ 708, 2826 -1, -1, -1, 2827 /*0x1e54*/ 581, 2828 -1, 2829 /*0x118bf*/ 1364, 2830 /*0x04e6*/ 408, 2831 /*0xa664*/ 998, 2832 /*0x053d*/ 457, 2833 /*0xa764*/ 1049, 2834 /*0x1fc9*/ 786, 2835 /*0x0049*/ 1399, 2836 /*0x0149*/ 92, 2837 -1, -1, 2838 /*0x104bd*/ 1259, 2839 /*0x1f97*/ 744, 1260 2840 /*0x0417*/ 320, 1261 /*0x2c17*/ 873, 1262 /*0x1e97*/ 600, 1263 /*0x1f98*/ 730, 1264 /*0x0418*/ 321, 1265 /*0x2c18*/ 874, 1266 /*0x1e98*/ 601, 1267 /*0x0118*/ 69, 1268 /*0x0218*/ 202, 1269 /*0x2c98*/ 924, 1270 /*0x1e18*/ 536, 2841 /*0x1e5e*/ 586, 2842 /*0x10417*/ 1229, 2843 /*0x01e4*/ 174, 2844 /*0xab97*/ 1127, 2845 /*0x10a9*/ 493, 2846 /*0x1fad*/ 766, 2847 /*0x042d*/ 342, 2848 /*0x04da*/ 402, 2849 /*0x2c17*/ 888, 2850 -1, 2851 /*0xabad*/ 1149, 2852 /*0x04d8*/ 401, 2853 /*0xff2b*/ 1190, 2854 -1, 2855 /*0x023d*/ 218, 2856 /*0x2c2d*/ 910, 2857 -1, 2858 /*0x0540*/ 460, 2859 /*0x03de*/ 278, 2860 /*0x00c9*/ 35, 2861 -1, -1, 2862 /*0x04c0*/ 389, 2863 -1, 2864 /*0x104c0*/ 1262, 2865 /*0x01a9*/ 146, 2866 /*0x2160*/ 822, 2867 /*0x10c97*/ 1305, 2868 -1, -1, 2869 /*0x0554*/ 480, 2870 /*0x1fb3*/ 770, 2871 -1, 2872 /*0xa7ad*/ 1080, 2873 /*0x10cad*/ 1327, 2874 /*0x04d4*/ 399, 2875 /*0xabb3*/ 1155, 2876 /*0x1e917*/ 1388, 2877 -1, -1, -1, 2878 /*0x216e*/ 836, 2879 /*0x118a9*/ 1342, 2880 -1, -1, -1, 2881 /*0x1e5c*/ 585, 2882 -1, 2883 /*0x0547*/ 467, 2884 /*0xa660*/ 996, 2885 /*0x04de*/ 404, 2886 /*0xa760*/ 1047, 2887 -1, 2888 /*0x04c7*/ 393, 2889 /*0x1f50*/ 705, 2890 /*0x104c7*/ 1269, 2891 /*0x2166*/ 828, 2892 -1, 2893 /*0x1f52*/ 706, 2894 /*0xa7b3*/ 1085, 2895 -1, -1, 2896 /*0x01e0*/ 172, 2897 -1, 2898 /*0x03dc*/ 277, 2899 -1, 2900 /*0xa76e*/ 1054, 2901 /*0x03a1*/ 258, 2902 /*0x0539*/ 453, 2903 -1, 2904 /*0x1e97*/ 615, 2905 -1, -1, -1, -1, 2906 /*0x104b9*/ 1255, 2907 -1, 2908 /*0x01ee*/ 179, 2909 /*0x10bd*/ 513, 2910 /*0xa666*/ 999, 2911 /*0xff29*/ 1188, 2912 /*0xa766*/ 1050, 2913 /*0x24bd*/ 846, 2914 /*0x1fa5*/ 758, 2915 /*0x0425*/ 334, 2916 -1, 2917 /*0x10425*/ 1243, 2918 -1, 2919 /*0xaba5*/ 1141, 2920 /*0x1fb7*/ 773, 2921 -1, -1, 2922 /*0x01e6*/ 175, 2923 /*0x2c25*/ 902, 2924 /*0xabb7*/ 1159, 2925 -1, 2926 /*0x04dc*/ 403, 2927 -1, 2928 /*0xa65a*/ 993, 2929 -1, 2930 /*0xa75a*/ 1044, 2931 -1, 2932 /*0xa658*/ 992, 2933 -1, 2934 /*0xa758*/ 1043, 2935 /*0x10c0*/ 516, 2936 -1, -1, -1, 2937 /*0x24c0*/ 849, 2938 -1, -1, 2939 /*0x10ca5*/ 1319, 2940 /*0xa640*/ 980, 2941 -1, 2942 /*0xa740*/ 1031, 2943 /*0x118bd*/ 1362, 2944 /*0x1fa3*/ 756, 2945 /*0x0423*/ 332, 2946 -1, 2947 /*0x10423*/ 1241, 2948 /*0x1c84*/ 534, 2949 /*0xaba3*/ 1139, 2950 -1, -1, 2951 /*0x0545*/ 465, 2952 /*0xa654*/ 990, 2953 /*0x2c23*/ 900, 2954 /*0xa754*/ 1041, 2955 -1, 2956 /*0x04c5*/ 392, 2957 -1, 2958 /*0x104c5*/ 1267, 2959 -1, -1, 2960 /*0x1c82*/ 532, 2961 /*0x10c7*/ 522, 2962 /*0x0543*/ 463, 2963 -1, 2964 /*0x1f6c*/ 717, 2965 /*0x24c7*/ 856, 2966 /*0xa65e*/ 995, 2967 /*0x04c3*/ 391, 2968 /*0xa75e*/ 1046, 2969 /*0x104c3*/ 1265, 2970 -1, 2971 /*0x10ca3*/ 1317, 2972 -1, -1, 2973 /*0x0245*/ 223, 2974 /*0x1ff4*/ 810, 2975 /*0x0474*/ 355, 2976 /*0x0174*/ 114, 2977 -1, 2978 /*0x01de*/ 171, 2979 -1, 2980 /*0x10b9*/ 509, 2981 /*0x01c7*/ 159, 2982 /*0x1f6a*/ 715, 2983 /*0xfb01*/ 1169, 2984 /*0x24b9*/ 842, 2985 /*0x0243*/ 221, 2986 -1, -1, 1271 2987 /*0x0397*/ 248, 1272 /*0x1040e*/ 1120, 1273 /*0x0498*/ 369, 1274 -1, 1275 /*0x0398*/ 249, 1276 /*0xa798*/ 1053, 1277 /*0x1f8e*/ 720, 1278 /*0x040e*/ 311, 1279 /*0x2c0e*/ 864, 1280 /*0x1e8e*/ 595, 1281 /*0x010e*/ 64, 1282 /*0x020e*/ 197, 1283 /*0x2c8e*/ 919, 1284 /*0x1e0e*/ 531, 1285 /*0x03f1*/ 288, 1286 /*0x1040c*/ 1118, 1287 /*0x048e*/ 364, 1288 -1, 1289 /*0x038e*/ 239, 1290 /*0xa698*/ 1000, 1291 /*0x1f8c*/ 718, 1292 /*0x040c*/ 309, 1293 /*0x2c0c*/ 862, 1294 /*0x1e8c*/ 594, 1295 /*0x010c*/ 63, 1296 /*0x020c*/ 196, 1297 /*0x2c8c*/ 918, 1298 /*0x1e0c*/ 530, 1299 -1, -1, 1300 /*0x048c*/ 363, 1301 /*0x10416*/ 1128, 1302 /*0x038c*/ 238, 1303 /*0xa68e*/ 995, 1304 /*0x2c75*/ 909, 1305 /*0x013f*/ 87, 1306 /*0x1f96*/ 728, 1307 /*0x0416*/ 319, 1308 /*0x2c16*/ 872, 1309 /*0x1e96*/ 599, 1310 /*0x0116*/ 68, 1311 /*0x0216*/ 201, 1312 /*0x2c96*/ 923, 1313 /*0x1e16*/ 535, 1314 /*0x03f5*/ 290, 1315 -1, 1316 /*0x0496*/ 368, 1317 /*0xa68c*/ 994, 1318 /*0x0396*/ 247, 1319 /*0xa796*/ 1052, 1320 /*0x10410*/ 1122, 2988 -1, -1, 2989 /*0x1f2b*/ 686, 2990 /*0x1f9d*/ 750, 2991 /*0x041d*/ 326, 2992 -1, 2993 /*0x1041d*/ 1235, 2994 /*0xabb1*/ 1153, 2995 /*0xab9d*/ 1133, 2996 /*0x0470*/ 353, 2997 /*0x0170*/ 112, 2998 /*0x1f9b*/ 748, 2999 /*0x041b*/ 324, 3000 /*0x2c1d*/ 894, 3001 /*0x1041b*/ 1233, 3002 /*0x1f3f*/ 698, 3003 /*0xab9b*/ 1131, 3004 /*0x10a1*/ 485, 3005 /*0x2c70*/ 922, 3006 /*0xabb5*/ 1157, 3007 /*0x0549*/ 469, 3008 /*0x2c1b*/ 892, 3009 /*0xa65c*/ 994, 3010 /*0x1f68*/ 713, 3011 /*0xa75c*/ 1045, 3012 /*0x04c9*/ 394, 3013 -1, 3014 /*0x104c9*/ 1271, 3015 /*0x0370*/ 230, 3016 /*0x118b9*/ 1358, 3017 /*0xa7b1*/ 1083, 3018 /*0x10cb1*/ 1331, 3019 /*0x10c9d*/ 1311, 3020 -1, 3021 /*0x1f99*/ 746, 3022 /*0x0419*/ 322, 3023 -1, 3024 /*0x10419*/ 1231, 3025 -1, 3026 /*0xab99*/ 1129, 3027 /*0x10c9b*/ 1309, 3028 /*0x00b5*/ 25, 3029 /*0x1e91d*/ 1394, 3030 -1, 3031 /*0x2c19*/ 890, 3032 -1, 3033 /*0x1f93*/ 740, 3034 /*0x0413*/ 316, 3035 /*0x10c5*/ 521, 3036 /*0x10413*/ 1225, 3037 /*0x1e91b*/ 1392, 3038 /*0xab93*/ 1123, 3039 /*0x24c5*/ 854, 3040 -1, -1, 3041 /*0x118a1*/ 1334, 3042 /*0x2c13*/ 884, 3043 /*0x1ef4*/ 663, 3044 -1, 3045 /*0x0533*/ 447, 3046 /*0x10c3*/ 519, 3047 /*0x0041*/ 0, 3048 /*0x0141*/ 88, 3049 /*0x10c99*/ 1307, 3050 /*0x24c3*/ 852, 3051 -1, 3052 /*0x104b3*/ 1249, 3053 /*0xff39*/ 1204, 3054 -1, 3055 /*0x01c5*/ 158, 3056 /*0x1f29*/ 684, 3057 -1, -1, 3058 /*0x1e919*/ 1390, 3059 -1, 3060 /*0x10c93*/ 1301, 3061 /*0x1f8f*/ 736, 3062 /*0x040f*/ 312, 3063 -1, 3064 /*0x1040f*/ 1221, 3065 /*0x1ef0*/ 661, 3066 /*0xab8f*/ 1119, 3067 -1, 3068 /*0x1e9b*/ 619, 3069 /*0x03a5*/ 261, 3070 /*0x1e913*/ 1384, 3071 /*0x2c0f*/ 880, 3072 /*0x00c1*/ 27, 3073 -1, -1, -1, 3074 /*0x1f8b*/ 732, 3075 /*0x040b*/ 308, 3076 /*0xff21*/ 1180, 3077 /*0x1040b*/ 1217, 3078 -1, 3079 /*0xab8b*/ 1115, 3080 /*0x1f87*/ 728, 3081 /*0x0407*/ 304, 3082 /*0xab7b*/ 1099, 3083 /*0x10407*/ 1213, 3084 /*0x2c0b*/ 876, 3085 /*0xab87*/ 1111, 3086 /*0x0587*/ 483, 3087 -1, 3088 /*0x10c8f*/ 1297, 3089 /*0x1e99*/ 617, 3090 /*0x2c07*/ 872, 3091 /*0x004f*/ 13, 3092 -1, -1, -1, 3093 /*0x24c9*/ 858, 3094 -1, 3095 /*0xab79*/ 1097, 3096 /*0x1e90f*/ 1380, 3097 -1, 3098 /*0x0537*/ 451, 3099 /*0x03a3*/ 259, 3100 /*0xa78b*/ 1063, 3101 /*0x10c8b*/ 1293, 3102 /*0x10ad*/ 497, 3103 /*0x1f6e*/ 719, 3104 -1, 3105 /*0x104b7*/ 1253, 3106 -1, 3107 /*0x10c87*/ 1289, 3108 -1, -1, -1, 3109 /*0x1e90b*/ 1376, 3110 -1, -1, 3111 /*0x1e74*/ 597, 3112 /*0x00cf*/ 41, 3113 /*0x0197*/ 136, 3114 /*0x1e907*/ 1372, 3115 -1, 3116 /*0xab71*/ 1089, 3117 /*0xab73*/ 1091, 1321 3118 -1, -1, -1, -1, 1322 /*0x1f90*/ 722, 1323 /*0x0410*/ 313, 1324 /*0x2c10*/ 866, 1325 /*0x1e90*/ 596, 1326 /*0x0110*/ 65, 1327 /*0x0210*/ 198, 1328 /*0x2c90*/ 920, 1329 /*0x1e10*/ 532, 1330 /*0xa696*/ 999, 1331 /*0x2c6f*/ 906, 1332 /*0x0490*/ 365, 1333 /*0x1041a*/ 1132, 1334 /*0x0390*/ 241, 1335 /*0xa790*/ 1050, 1336 -1, -1, 1337 /*0x1f9a*/ 732, 1338 /*0x041a*/ 323, 1339 /*0x2c1a*/ 876, 1340 /*0x1e9a*/ 603, 1341 /*0x011a*/ 70, 1342 /*0x021a*/ 203, 1343 /*0x2c9a*/ 925, 1344 /*0x1e1a*/ 537, 1345 -1, -1, 1346 /*0x049a*/ 370, 1347 /*0xa690*/ 996, 1348 /*0x039a*/ 251, 1349 /*0xa79a*/ 1054, 1350 /*0x10412*/ 1124, 1351 -1, 1352 /*0x1fe9*/ 789, 1353 /*0x1fd9*/ 780, 1354 /*0x2c69*/ 902, 1355 /*0x1f92*/ 724, 1356 /*0x0412*/ 315, 1357 /*0x2c12*/ 868, 1358 /*0x1e92*/ 597, 1359 /*0x0112*/ 66, 1360 /*0x0212*/ 199, 1361 /*0x2c92*/ 921, 1362 /*0x1e12*/ 533, 1363 /*0xa69a*/ 1001, 1364 /*0x0059*/ 23, 1365 /*0x0492*/ 366, 1366 /*0x10426*/ 1144, 1367 /*0x0392*/ 243, 1368 /*0xa792*/ 1051, 1369 -1, -1, 1370 /*0x1fa6*/ 744, 1371 /*0x0426*/ 335, 1372 /*0x2c26*/ 888, 1373 /*0x1ea6*/ 609, 1374 /*0x0126*/ 76, 1375 /*0x0226*/ 209, 1376 /*0x2ca6*/ 931, 1377 /*0x1e26*/ 543, 1378 /*0x0518*/ 433, 1379 /*0x10424*/ 1142, 1380 /*0x04a6*/ 376, 1381 /*0xa692*/ 997, 1382 /*0x03a6*/ 262, 1383 /*0xa7a6*/ 1060, 1384 /*0x1fa4*/ 742, 1385 /*0x0424*/ 333, 1386 /*0x2c24*/ 886, 1387 /*0x1ea4*/ 608, 1388 /*0x0124*/ 75, 1389 /*0x0224*/ 208, 1390 /*0x2ca4*/ 930, 1391 /*0x1e24*/ 542, 1392 /*0x050e*/ 428, 1393 /*0x10420*/ 1138, 1394 /*0x04a4*/ 375, 1395 -1, 1396 /*0x03a4*/ 260, 1397 /*0xa7a4*/ 1059, 1398 /*0x1fa0*/ 738, 1399 /*0x0420*/ 329, 1400 /*0x2c20*/ 882, 1401 /*0x1ea0*/ 606, 1402 /*0x0120*/ 73, 1403 /*0x0220*/ 206, 1404 /*0x2ca0*/ 928, 1405 /*0x1e20*/ 540, 1406 /*0x050c*/ 427, 1407 -1, 1408 /*0x04a0*/ 373, 1409 -1, 1410 /*0x03a0*/ 257, 1411 /*0xa7a0*/ 1057, 1412 -1, -1, 1413 /*0x013d*/ 86, 1414 /*0x023d*/ 218, 1415 -1, 1416 /*0x053f*/ 459, 1417 /*0x1040a*/ 1116, 1418 -1, -1, -1, 1419 /*0x0516*/ 432, 1420 /*0x1f8a*/ 716, 1421 /*0x040a*/ 307, 1422 /*0x2c0a*/ 860, 1423 /*0x1e8a*/ 593, 1424 /*0x010a*/ 62, 1425 /*0x020a*/ 195, 1426 /*0x2c8a*/ 917, 1427 /*0x1e0a*/ 529, 1428 /*0x004f*/ 13, 3119 /*0x1f3d*/ 696, 3120 -1, -1, 3121 /*0x10b3*/ 503, 3122 -1, 3123 /*0xab7f*/ 1103, 3124 -1, 3125 /*0x03f4*/ 289, 3126 /*0x1f9f*/ 752, 3127 /*0x041f*/ 328, 3128 /*0xab7d*/ 1101, 3129 /*0x1041f*/ 1237, 3130 /*0x1e70*/ 595, 3131 /*0xab9f*/ 1135, 3132 -1, 3133 /*0x118ad*/ 1346, 3134 -1, -1, 3135 /*0x2c1f*/ 896, 3136 -1, -1, -1, -1, -1, 3137 /*0x01b3*/ 152, 3138 /*0x039d*/ 254, 3139 -1, -1, -1, -1, 3140 /*0x03f0*/ 287, 3141 /*0xab75*/ 1093, 3142 -1, 3143 /*0x039b*/ 252, 3144 -1, -1, -1, 3145 /*0x10c9f*/ 1313, 3146 -1, 3147 /*0x04f4*/ 415, 3148 /*0x1f54*/ 707, 3149 /*0x118b3*/ 1352, 3150 -1, 3151 /*0x1ff8*/ 813, 3152 /*0x0478*/ 357, 3153 /*0x0178*/ 116, 3154 -1, 3155 /*0x1e91f*/ 1396, 3156 -1, -1, -1, 3157 /*0x0531*/ 445, 3158 -1, 3159 /*0xff2d*/ 1192, 3160 -1, 3161 /*0x10a5*/ 489, 3162 /*0x0399*/ 250, 3163 -1, 3164 /*0x104b1*/ 1247, 3165 -1, -1, 3166 /*0x10b7*/ 507, 3167 /*0x04f0*/ 413, 3168 /*0x0535*/ 449, 3169 -1, 3170 /*0x24b7*/ 840, 3171 /*0x1f95*/ 742, 3172 /*0x0415*/ 318, 3173 /*0x0393*/ 244, 3174 /*0x10415*/ 1227, 3175 /*0x104b5*/ 1251, 3176 /*0xab95*/ 1125, 3177 -1, -1, -1, -1, 3178 /*0x2c15*/ 886, 3179 -1, 3180 /*0x1f39*/ 692, 3181 /*0xff33*/ 1198, 3182 -1, -1, 3183 /*0x01b7*/ 154, 3184 -1, -1, -1, -1, 3185 /*0xab77*/ 1095, 3186 -1, 3187 /*0x10a3*/ 487, 3188 -1, 3189 /*0x1f91*/ 738, 3190 /*0x0411*/ 314, 3191 /*0x118a5*/ 1338, 3192 /*0x10411*/ 1223, 3193 /*0x10c95*/ 1303, 3194 /*0xab91*/ 1121, 3195 -1, 3196 /*0x038f*/ 240, 3197 /*0x118b7*/ 1356, 3198 -1, 3199 /*0x2c11*/ 882, 3200 -1, -1, -1, 3201 /*0x1e915*/ 1386, 3202 -1, 3203 /*0x1f8d*/ 734, 3204 /*0x040d*/ 310, 3205 /*0x0541*/ 461, 3206 /*0x1040d*/ 1219, 3207 -1, 3208 /*0xab8d*/ 1117, 3209 -1, 3210 /*0x04c1*/ 390, 3211 /*0x1ef8*/ 665, 3212 /*0x104c1*/ 1263, 3213 /*0x2c0d*/ 878, 3214 -1, -1, 3215 /*0x10c91*/ 1299, 3216 -1, -1, -1, -1, -1, -1, 3217 /*0x118a3*/ 1336, 3218 -1, 1429 3219 /*0x03cf*/ 270, 1430 /*0x048a*/ 362, 1431 -1, 1432 /*0x038a*/ 237, 1433 -1, 1434 /*0x10414*/ 1126, 1435 -1, -1, -1, 1436 /*0x0510*/ 429, 1437 /*0x1f94*/ 726, 1438 /*0x0414*/ 317, 1439 /*0x2c14*/ 870, 1440 /*0x1e94*/ 598, 1441 /*0x0114*/ 67, 1442 /*0x0214*/ 200, 1443 /*0x2c94*/ 922, 1444 /*0x1e14*/ 534, 1445 /*0xa68a*/ 993, 1446 /*0x1ffb*/ 801, 1447 /*0x0494*/ 367, 1448 /*0x10406*/ 1112, 1449 /*0x0394*/ 245, 1450 /*0x017b*/ 118, 1451 -1, 1452 /*0x051a*/ 434, 1453 /*0x1f86*/ 712, 1454 /*0x0406*/ 303, 1455 /*0x2c06*/ 856, 1456 /*0x1e86*/ 591, 1457 /*0x0106*/ 60, 1458 /*0x0206*/ 193, 1459 /*0x2c86*/ 915, 1460 /*0x1e06*/ 527, 1461 -1, -1, 1462 /*0x0197*/ 136, 1463 /*0xa694*/ 998, 1464 /*0x0386*/ 234, 1465 /*0xa786*/ 1047, 1466 /*0x0198*/ 137, 1467 /*0x2c7f*/ 911, 1468 /*0x1f18*/ 662, 1469 /*0x017f*/ 120, 1470 /*0x0512*/ 430, 1471 /*0x1fe7*/ 787, 1472 -1, 1473 /*0x2c67*/ 901, 1474 /*0x00df*/ 56, 1475 -1, 1476 /*0x01f1*/ 181, 1477 /*0x03ff*/ 296, 1478 /*0x00dd*/ 54, 1479 /*0xa686*/ 991, 1480 /*0x018e*/ 129, 1481 /*0x1f5f*/ 697, 1482 /*0x1f0e*/ 660, 1483 /*0x10422*/ 1140, 1484 -1, 1485 /*0x1f5d*/ 696, 1486 /*0x0526*/ 440, 1487 /*0x1ff7*/ 797, 1488 /*0x1fa2*/ 740, 1489 /*0x0422*/ 331, 1490 /*0x2c22*/ 884, 1491 /*0x1ea2*/ 607, 1492 /*0x0122*/ 74, 1493 /*0x0222*/ 207, 1494 /*0x2ca2*/ 929, 1495 /*0x1e22*/ 541, 1496 /*0x1f0c*/ 658, 1497 /*0x10407*/ 1113, 1498 /*0x04a2*/ 374, 1499 /*0x03f7*/ 291, 1500 /*0x0524*/ 439, 1501 /*0xa7a2*/ 1058, 1502 /*0x1f87*/ 713, 1503 /*0x0407*/ 304, 1504 /*0x2c07*/ 857, 1505 /*0x017d*/ 119, 1506 /*0x0587*/ 483, 1507 /*0x1f3f*/ 683, 1508 /*0x10bf*/ 515, 1509 -1, 1510 /*0x0196*/ 135, 1511 -1, 1512 /*0x10402*/ 1108, 1513 /*0x03fd*/ 294, 1514 /*0x0520*/ 437, 1515 -1, -1, 1516 /*0x1f82*/ 708, 1517 /*0x0402*/ 299, 1518 /*0x2c02*/ 852, 1519 /*0x1e82*/ 589, 1520 /*0x0102*/ 58, 1521 /*0x0202*/ 191, 1522 /*0x2c82*/ 913, 1523 /*0x1e02*/ 525, 1524 -1, 1525 /*0x053d*/ 457, 1526 -1, 1527 /*0x1040b*/ 1117, 1528 /*0x0190*/ 131, 1529 /*0xa782*/ 1045, 1530 /*0x1fd7*/ 778, 1531 -1, 1532 /*0x1f8b*/ 717, 1533 /*0x040b*/ 308, 1534 /*0x2c0b*/ 861, 3220 /*0x1e911*/ 1382, 3221 /*0xff25*/ 1184, 3222 -1, 3223 /*0x0241*/ 220, 3224 -1, 3225 /*0xa78d*/ 1064, 3226 /*0x10c8d*/ 1295, 3227 /*0xff37*/ 1202, 3228 -1, 3229 /*0x10b1*/ 501, 3230 -1, -1, -1, 3231 /*0x01f4*/ 183, 3232 -1, -1, 3233 /*0x1e90d*/ 1378, 3234 -1, -1, -1, -1, 3235 /*0x10b5*/ 505, 3236 -1, -1, -1, 3237 /*0x13f8*/ 524, 1535 3238 /*0x054f*/ 475, 1536 -1, 1537 /*0x1f6f*/ 705, 1538 /*0x050a*/ 426, 1539 -1, -1, 1540 /*0x0057*/ 21, 1541 /*0x10404*/ 1110, 1542 /*0xa682*/ 989, 1543 -1, 1544 /*0xa78b*/ 1048, 1545 /*0x1f1a*/ 664, 1546 /*0x1f84*/ 710, 1547 /*0x0404*/ 301, 1548 /*0x2c04*/ 854, 1549 /*0x1e84*/ 590, 1550 /*0x0104*/ 59, 1551 /*0x0204*/ 192, 1552 /*0x2c84*/ 914, 1553 /*0x1e04*/ 526, 1554 -1, 1555 /*0x00d9*/ 50, 1556 /*0x0514*/ 431, 1557 -1, -1, 1558 /*0xa784*/ 1046, 1559 /*0x01d9*/ 169, 1560 /*0x1f69*/ 699, 1561 /*0x1f59*/ 694, 1562 -1, 1563 /*0x1faa*/ 748, 1564 /*0x042a*/ 339, 1565 /*0x2c2a*/ 892, 1566 /*0x1eaa*/ 611, 1567 /*0x012a*/ 78, 1568 /*0x022a*/ 211, 1569 /*0x2caa*/ 933, 1570 /*0x1e2a*/ 545, 1571 /*0x0506*/ 424, 1572 /*0xa684*/ 990, 1573 /*0x04aa*/ 378, 1574 -1, 1575 /*0x03aa*/ 266, 1576 /*0xa7aa*/ 1062, 1577 /*0x01a6*/ 144, 1578 /*0x10400*/ 1106, 1579 -1, 1580 /*0x10a6*/ 490, 1581 -1, -1, 1582 /*0x1f80*/ 706, 1583 /*0x0400*/ 297, 1584 /*0x2c00*/ 850, 1585 /*0x1e80*/ 588, 1586 /*0x0100*/ 57, 1587 /*0x0200*/ 190, 1588 /*0x2c80*/ 912, 1589 /*0x1e00*/ 524, 1590 /*0x01a4*/ 143, 1591 -1, 1592 /*0x0480*/ 361, 1593 /*0x10a4*/ 488, 1594 -1, 1595 /*0xa780*/ 1044, 1596 /*0x10413*/ 1125, 1597 /*0x1fe3*/ 784, 1598 -1, 1599 /*0x2c63*/ 899, 1600 -1, 1601 /*0x1f93*/ 725, 1602 /*0x0413*/ 316, 1603 /*0x2c13*/ 869, 1604 /*0x01a0*/ 141, 1605 /*0x1041c*/ 1134, 1606 /*0x0522*/ 438, 1607 /*0x10a0*/ 484, 1608 -1, 1609 /*0xa680*/ 988, 1610 /*0x1f9c*/ 734, 1611 /*0x041c*/ 325, 1612 /*0x2c1c*/ 878, 1613 /*0x0393*/ 244, 1614 /*0x011c*/ 71, 1615 /*0x021c*/ 204, 1616 /*0x2c9c*/ 926, 1617 /*0x1e1c*/ 538, 1618 /*0x1f3d*/ 681, 1619 /*0x10bd*/ 513, 1620 /*0x049c*/ 371, 1621 /*0x00cf*/ 41, 1622 /*0x039c*/ 253, 1623 /*0xa79c*/ 1055, 1624 -1, -1, 3239 -1, -1, -1, 3240 /*0x01b1*/ 150, 3241 /*0x019d*/ 139, 3242 -1, 3243 /*0x104cf*/ 1277, 3244 -1, 3245 /*0xff23*/ 1182, 3246 /*0x01f0*/ 180, 3247 -1, -1, -1, -1, -1, 3248 /*0x01b5*/ 153, 3249 -1, 3250 /*0x039f*/ 256, 3251 -1, -1, 3252 /*0x118b1*/ 1350, 3253 -1, -1, -1, -1, -1, -1, 3254 -1, -1, -1, -1, -1, 3255 /*0x118b5*/ 1354, 3256 /*0xfb17*/ 1179, 3257 /*0x1e78*/ 599, 3258 -1, -1, -1, 3259 /*0x1f49*/ 700, 3260 -1, 3261 /*0x10c1*/ 517, 3262 -1, -1, -1, 3263 /*0x24c1*/ 850, 3264 -1, -1, 3265 /*0x0193*/ 133, 3266 -1, -1, -1, 3267 /*0x1f2d*/ 688, 3268 -1, -1, -1, -1, -1, -1, 3269 /*0xff31*/ 1196, 3270 -1, -1, -1, -1, -1, -1, 3271 -1, -1, -1, -1, -1, 3272 /*0xff35*/ 1200, 3273 -1, -1, -1, -1, 3274 /*0x0395*/ 246, 3275 -1, 3276 /*0x018f*/ 130, 3277 -1, -1, -1, -1, -1, -1, 3278 /*0x04f8*/ 417, 3279 -1, -1, -1, -1, -1, 3280 /*0xab76*/ 1094, 3281 /*0x24cf*/ 864, 3282 /*0x018b*/ 128, 3283 -1, -1, -1, -1, -1, 3284 /*0x0187*/ 125, 3285 -1, 3286 /*0x0391*/ 242, 3287 -1, -1, -1, -1, -1, -1, 3288 -1, 1625 3289 /*0x01cf*/ 164, 1626 -1, -1, 1627 /*0x018a*/ 127, 1628 -1, 1629 /*0x1f0a*/ 656, 1630 /*0x1041e*/ 1136, 1631 /*0x037f*/ 233, 1632 -1, 1633 /*0x0502*/ 422, 1634 -1, 1635 /*0x1f9e*/ 736, 1636 /*0x041e*/ 327, 1637 /*0x2c1e*/ 880, 1638 /*0x1e9e*/ 605, 1639 /*0x011e*/ 72, 1640 /*0x021e*/ 205, 1641 /*0x2c9e*/ 927, 1642 /*0x1e1e*/ 539, 1643 -1, 1644 /*0x10408*/ 1114, 1645 /*0x049e*/ 372, 1646 /*0x0194*/ 134, 1647 /*0x039e*/ 255, 1648 /*0xa79e*/ 1056, 1649 /*0x1f88*/ 714, 1650 /*0x0408*/ 305, 1651 /*0x2c08*/ 858, 1652 /*0x1e88*/ 592, 1653 /*0x0108*/ 61, 1654 /*0x0208*/ 194, 1655 /*0x2c88*/ 916, 1656 /*0x1e08*/ 528, 1657 /*0x0535*/ 449, 1658 /*0x118bf*/ 1177, 1659 -1, 1660 /*0x1fdb*/ 782, 1661 /*0x0388*/ 235, 1662 /*0x0186*/ 124, 1663 -1, 1664 /*0x0504*/ 423, 1665 /*0x1fac*/ 750, 1666 /*0x042c*/ 341, 1667 /*0x2c2c*/ 894, 1668 /*0x1eac*/ 612, 1669 /*0x012c*/ 79, 1670 /*0x022c*/ 212, 1671 /*0x2cac*/ 934, 1672 /*0x1e2c*/ 546, 1673 -1, 1674 /*0x1040d*/ 1119, 1675 /*0x04ac*/ 379, 1676 /*0xa688*/ 992, 1677 -1, 1678 /*0xa7ac*/ 1064, 1679 /*0x1f8d*/ 719, 1680 /*0x040d*/ 310, 1681 /*0x2c0d*/ 863, 1682 /*0x052a*/ 442, 1683 /*0x1fa8*/ 746, 1684 /*0x0428*/ 337, 1685 /*0x2c28*/ 890, 1686 /*0x1ea8*/ 610, 1687 /*0x0128*/ 77, 1688 /*0x0228*/ 210, 1689 /*0x2ca8*/ 932, 1690 /*0x1e28*/ 544, 1691 -1, 1692 /*0xa78d*/ 1049, 1693 /*0x04a8*/ 377, 1694 /*0x24bf*/ 833, 1695 /*0x03a8*/ 264, 1696 /*0xa7a8*/ 1061, 1697 /*0x01f7*/ 185, 1698 /*0x01a2*/ 142, 1699 -1, -1, 1700 /*0x10a2*/ 486, 1701 /*0x0500*/ 421, 1702 /*0x1fae*/ 752, 1703 /*0x042e*/ 343, 1704 /*0x2c2e*/ 896, 1705 /*0x1eae*/ 613, 1706 /*0x012e*/ 80, 1707 /*0x022e*/ 213, 1708 /*0x2cae*/ 935, 1709 /*0x1e2e*/ 547, 1710 /*0x1fb2*/ 754, 1711 /*0x0187*/ 125, 1712 /*0x04ae*/ 380, 1713 /*0x1eb2*/ 615, 1714 /*0x0132*/ 81, 1715 /*0x0232*/ 215, 1716 /*0x2cb2*/ 937, 1717 /*0x1e32*/ 549, 1718 /*0x1fba*/ 761, 1719 -1, 1720 /*0x04b2*/ 382, 1721 /*0x1eba*/ 619, 1722 /*0xff26*/ 1085, 1723 /*0x023a*/ 216, 1724 /*0x2cba*/ 941, 1725 /*0x1e3a*/ 553, 1726 /*0x0182*/ 122, 1727 /*0x1fb8*/ 759, 1728 /*0x04ba*/ 386, 1729 /*0x051c*/ 435, 1730 /*0x1eb8*/ 618, 1731 -1, 1732 /*0x118a6*/ 1152, 1733 /*0x2cb8*/ 940, 1734 /*0x1e38*/ 552, 1735 -1, 1736 /*0xff24*/ 1083, 1737 /*0x04b8*/ 385, 1738 -1, -1, 1739 /*0x01d7*/ 168, 1740 /*0xfb17*/ 1079, 1741 /*0x018b*/ 128, 1742 -1, 1743 /*0x1f0b*/ 657, 1744 /*0x00b5*/ 25, 1745 /*0x118a4*/ 1150, 1746 -1, -1, -1, 1747 /*0x01b5*/ 153, 1748 /*0x1fec*/ 792, 1749 /*0x046c*/ 351, 1750 /*0x10b5*/ 505, 1751 /*0x1eec*/ 644, 1752 /*0x016c*/ 110, 1753 /*0x051e*/ 436, 1754 /*0x0184*/ 123, 1755 /*0x1e6c*/ 578, 1756 -1, 1757 /*0x118a0*/ 1146, 1758 /*0x04ec*/ 411, 1759 /*0x1fca*/ 772, 1760 /*0x03ec*/ 285, 1761 -1, 1762 /*0x1eca*/ 627, 1763 /*0x014a*/ 93, 1764 /*0x024a*/ 226, 1765 /*0x2cca*/ 949, 1766 /*0x1e4a*/ 561, 1767 /*0x0508*/ 425, 1768 -1, 1769 /*0x118bd*/ 1175, 1770 /*0x004a*/ 8, 1771 -1, -1, 1772 /*0x1fcc*/ 774, 1773 /*0x1f2a*/ 670, 1774 /*0x10aa*/ 494, 1775 /*0x1ecc*/ 628, 1776 /*0x014c*/ 94, 1777 /*0x024c*/ 227, 1778 /*0x2ccc*/ 950, 1779 /*0x1e4c*/ 562, 1780 -1, -1, 1781 /*0x052c*/ 443, 1782 /*0x004c*/ 10, 1783 -1, 1784 /*0xfb16*/ 1078, 1785 /*0x1fd6*/ 777, 1786 /*0xa726*/ 1004, 1787 -1, 1788 /*0x1ed6*/ 633, 1789 /*0x0156*/ 99, 1790 -1, 1791 /*0x2cd6*/ 955, 1792 /*0x1e56*/ 567, 1793 -1, -1, 1794 /*0x04d6*/ 400, 1795 /*0x0056*/ 20, 1796 /*0x03d6*/ 274, 1797 -1, 1798 /*0x0528*/ 441, 1799 /*0xa724*/ 1003, 1800 -1, -1, 1801 /*0x24bd*/ 831, 1802 /*0x1fe2*/ 783, 1803 /*0x0462*/ 346, 1804 /*0x2c62*/ 898, 1805 /*0x1ee2*/ 639, 1806 /*0x0162*/ 105, 1807 /*0x0193*/ 133, 1808 /*0x2ce2*/ 961, 1809 /*0x1e62*/ 573, 1810 -1, 1811 /*0x24cf*/ 849, 1812 /*0x04e2*/ 406, 1813 -1, 1814 /*0x03e2*/ 280, 1815 /*0x10415*/ 1127, 1816 /*0x019c*/ 138, 1817 /*0x052e*/ 444, 1818 /*0x1f1c*/ 666, 1819 -1, 1820 /*0x1f95*/ 727, 1821 /*0x0415*/ 318, 1822 /*0x2c15*/ 871, 1823 /*0x1fc8*/ 770, 1824 -1, 1825 /*0x0532*/ 446, 1826 /*0x1ec8*/ 626, 1827 -1, 1828 /*0x0248*/ 225, 1829 /*0x2cc8*/ 948, 1830 /*0x1e48*/ 560, 1831 /*0x10401*/ 1107, 1832 /*0x0395*/ 246, 1833 /*0x053a*/ 454, 1834 /*0x0048*/ 7, 1835 -1, 1836 /*0x1f81*/ 707, 1837 /*0x0401*/ 298, 1838 /*0x2c01*/ 851, 1839 /*0xff22*/ 1081, 1840 /*0x2165*/ 812, 1841 /*0x1feb*/ 791, 1842 /*0x0538*/ 452, 1843 /*0x2c6b*/ 903, 1844 /*0x2161*/ 808, 1845 /*0x1fc4*/ 767, 1846 -1, 1847 /*0x2ceb*/ 962, 1848 /*0x1ec4*/ 624, 1849 /*0x118a2*/ 1148, 1850 /*0x0244*/ 222, 1851 /*0x2cc4*/ 946, 1852 /*0x1e44*/ 558, 1853 -1, -1, 1854 /*0x1fd3*/ 776, 1855 /*0x0044*/ 3, 1856 /*0x1fea*/ 790, 1857 /*0x046a*/ 350, 1858 /*0x1f08*/ 654, 1859 /*0x1eea*/ 643, 1860 /*0x016a*/ 109, 1861 -1, 1862 /*0x00db*/ 52, 1863 /*0x1e6a*/ 577, 1864 /*0xa77b*/ 1041, 1865 /*0x0053*/ 17, 1866 /*0x04ea*/ 410, 1867 /*0x01db*/ 170, 1868 /*0x03ea*/ 284, 1869 /*0x1f5b*/ 695, 1870 -1, -1, 1871 /*0x01ac*/ 147, 1872 -1, 1873 /*0x1f2c*/ 672, 1874 /*0x10ac*/ 496, 1875 /*0x054a*/ 470, 1876 /*0x1fe8*/ 788, 1877 /*0x0468*/ 349, 1878 -1, 1879 /*0x1ee8*/ 642, 1880 /*0x0168*/ 108, 1881 -1, -1, 1882 /*0x1e68*/ 576, 1883 -1, -1, 1884 /*0x04e8*/ 409, 1885 /*0x1f0d*/ 659, 1886 /*0x03e8*/ 283, 1887 /*0x054c*/ 472, 1888 /*0xff35*/ 1100, 1889 /*0x1f28*/ 668, 1890 /*0x10a8*/ 492, 1891 -1, -1, 1892 /*0x1fe4*/ 785, 1893 /*0x0464*/ 347, 1894 /*0x2c64*/ 900, 1895 /*0x1ee4*/ 640, 1896 /*0x0164*/ 106, 1897 /*0x118b5*/ 1167, 1898 -1, 1899 /*0x1e64*/ 574, 1900 /*0x0556*/ 482, 1901 -1, 1902 /*0x04e4*/ 407, 1903 /*0xa722*/ 1002, 1904 /*0x03e4*/ 281, 1905 -1, 1906 /*0x01ae*/ 148, 1907 /*0x216f*/ 822, 1908 /*0x1f2e*/ 674, 1909 /*0x10ae*/ 498, 1910 -1, -1, 1911 /*0xff2a*/ 1089, 1912 -1, 1913 /*0x01b2*/ 151, 1914 -1, 1915 /*0xa77d*/ 1042, 1916 /*0x10b2*/ 502, 1917 -1, 1918 /*0xfb14*/ 1076, 1919 /*0x1fbc*/ 763, 1920 -1, 1921 /*0x118aa*/ 1156, 1922 /*0x1ebc*/ 620, 1923 /*0x1f3a*/ 678, 1924 /*0x10ba*/ 510, 1925 /*0x2cbc*/ 942, 1926 /*0x1e3c*/ 554, 1927 -1, -1, 1928 /*0x04bc*/ 387, 1929 /*0x01b8*/ 155, 1930 /*0x2169*/ 816, 1931 /*0x1f38*/ 676, 1932 /*0x10b8*/ 508, 1933 /*0xfb06*/ 1074, 1934 /*0x0460*/ 345, 1935 /*0x2c60*/ 897, 1936 /*0x1ee0*/ 638, 1937 /*0x0160*/ 104, 1938 /*0x0548*/ 468, 1939 /*0x2ce0*/ 960, 1940 /*0x1e60*/ 572, 1941 -1, -1, 1942 /*0x04e0*/ 405, 1943 -1, 1944 /*0x03e0*/ 279, 1945 -1, -1, -1, 1946 /*0x2126*/ 803, 1947 -1, 1948 /*0x1fbe*/ 764, 1949 -1, 1950 /*0x01ec*/ 178, 1951 /*0x1ebe*/ 621, 1952 /*0x1f6c*/ 702, 1953 /*0x023e*/ 219, 1954 /*0x2cbe*/ 943, 1955 /*0x1e3e*/ 555, 1956 /*0x00ca*/ 36, 1957 /*0x0544*/ 464, 1958 /*0x04be*/ 388, 1959 /*0x1ffc*/ 802, 1960 /*0x047c*/ 359, 1961 /*0x01ca*/ 161, 1962 /*0x1efc*/ 652, 1963 /*0x1f4a*/ 686, 1964 -1, -1, 1965 /*0x1e7c*/ 586, 1966 /*0x0553*/ 479, 1967 /*0x1fb6*/ 757, 1968 /*0x04fc*/ 419, 1969 /*0x00cc*/ 38, 1970 /*0x1eb6*/ 617, 1971 /*0x0136*/ 83, 1972 -1, 1973 /*0x2cb6*/ 939, 1974 /*0x1e36*/ 551, 1975 /*0xa72a*/ 1006, 1976 /*0x1f4c*/ 688, 1977 /*0x04b6*/ 384, 1978 /*0x1fd2*/ 775, 1979 -1, -1, 1980 /*0x1ed2*/ 631, 1981 /*0x0152*/ 97, 1982 /*0x00d6*/ 48, 1983 /*0x2cd2*/ 953, 1984 /*0x1e52*/ 565, 1985 -1, -1, 1986 /*0x04d2*/ 398, 1987 /*0x0052*/ 16, 1988 /*0x1f56*/ 693, 1989 -1, -1, -1, 1990 /*0xfb02*/ 1070, 1991 /*0x1ed0*/ 630, 1992 /*0x0150*/ 96, 1993 -1, 1994 /*0x2cd0*/ 952, 1995 /*0x1e50*/ 564, 1996 -1, -1, 1997 /*0x04d0*/ 397, 1998 /*0x0050*/ 14, 1999 /*0x03d0*/ 271, 2000 -1, 2001 /*0x1fda*/ 781, 2002 /*0x01e2*/ 173, 2003 -1, 2004 /*0x1eda*/ 635, 2005 /*0x015a*/ 101, 2006 /*0xff2c*/ 1091, 2007 /*0x2cda*/ 957, 2008 /*0x1e5a*/ 569, 2009 -1, 2010 /*0xa66c*/ 987, 2011 /*0x04da*/ 402, 2012 /*0x005a*/ 24, 2013 /*0x03da*/ 276, 2014 -1, 2015 /*0x2c6d*/ 904, 2016 /*0x118ac*/ 1158, 2017 -1, 2018 /*0x00c8*/ 34, 2019 /*0x2ced*/ 963, 2020 /*0xfb04*/ 1072, 2021 /*0xa64a*/ 970, 2022 -1, 2023 /*0x01c8*/ 160, 2024 /*0xff28*/ 1087, 2025 /*0x1f48*/ 684, 2026 /*0x1fc2*/ 765, 2027 -1, -1, 2028 /*0x1ec2*/ 623, 2029 -1, 2030 /*0x053c*/ 456, 2031 /*0x2cc2*/ 945, 2032 /*0x1e42*/ 557, 2033 /*0x118a8*/ 1154, 2034 /*0xa64c*/ 971, 2035 /*0x0181*/ 121, 2036 /*0x0042*/ 1, 2037 /*0x03c2*/ 269, 2038 -1, 2039 /*0x00c4*/ 30, 2040 -1, -1, 2041 /*0x1f6b*/ 701, 2042 /*0xff2e*/ 1093, 2043 /*0x01c4*/ 157, 2044 -1, 2045 /*0x2167*/ 814, 2046 /*0x10c4*/ 520, 2047 /*0xa656*/ 976, 2048 /*0x00d3*/ 45, 2049 -1, 2050 /*0xff32*/ 1097, 2051 -1, 2052 /*0x118ae*/ 1160, 2053 /*0x01d3*/ 166, 2054 -1, 2055 /*0x01ea*/ 177, 2056 /*0xfb00*/ 1068, 2057 /*0x1f6a*/ 700, 2058 /*0xff3a*/ 1105, 2059 -1, 2060 /*0x118b2*/ 1164, 2061 -1, 2062 /*0x053e*/ 458, 2063 /*0x0145*/ 90, 2064 /*0x0245*/ 223, 2065 -1, 2066 /*0xa662*/ 982, 2067 /*0xff38*/ 1103, 2068 /*0x118ba*/ 1172, 2069 /*0x04c5*/ 392, 2070 /*0x0045*/ 4, 2071 -1, -1, 2072 /*0xa72c*/ 1007, 2073 -1, 2074 /*0xfb13*/ 1075, 2075 /*0x01e8*/ 176, 2076 /*0x118b8*/ 1170, 2077 /*0x1f68*/ 698, 2078 -1, -1, -1, 2079 /*0x0536*/ 450, 2080 /*0x046e*/ 352, 2081 /*0x2c6e*/ 905, 2082 /*0x1eee*/ 645, 2083 /*0x016e*/ 111, 2084 /*0xa648*/ 969, 2085 -1, 2086 /*0x1e6e*/ 579, 2087 -1, 2088 /*0xa728*/ 1005, 2089 /*0x04ee*/ 412, 2090 /*0x0552*/ 478, 2091 /*0x03ee*/ 286, 2092 /*0x01e4*/ 174, 2093 /*0x1fe6*/ 786, 2094 /*0x0466*/ 348, 2095 /*0x1ff9*/ 799, 2096 /*0x1ee6*/ 641, 2097 /*0x0166*/ 107, 2098 -1, 2099 /*0x0179*/ 117, 2100 /*0x1e66*/ 575, 2101 /*0x24ba*/ 828, 2102 -1, 2103 /*0x04e6*/ 408, 2104 /*0x0550*/ 476, 2105 /*0x03e6*/ 282, 2106 /*0xa644*/ 967, 2107 /*0x03f9*/ 292, 2108 /*0xa72e*/ 1008, 2109 -1, 2110 /*0x24b8*/ 826, 2111 /*0x1ece*/ 629, 2112 /*0x014e*/ 95, 2113 /*0x024e*/ 228, 2114 /*0x2cce*/ 951, 2115 /*0x1e4e*/ 563, 2116 /*0xa732*/ 1009, 2117 -1, 2118 /*0xa66a*/ 986, 2119 /*0x004e*/ 12, 2120 /*0x01bc*/ 156, 2121 -1, 2122 /*0x1f3c*/ 680, 2123 /*0x10bc*/ 512, 2124 /*0xa73a*/ 1013, 2125 /*0x1fc6*/ 768, 2126 -1, -1, 2127 /*0x1ec6*/ 625, 2128 -1, 2129 /*0x0246*/ 224, 2130 /*0x2cc6*/ 947, 2131 /*0x1e46*/ 559, 2132 /*0xa738*/ 1012, 2133 -1, 2134 /*0x01e0*/ 172, 2135 /*0x0046*/ 5, 2136 /*0x212a*/ 804, 2137 -1, 2138 /*0xa668*/ 985, 2139 /*0x1fa9*/ 747, 2140 /*0x0429*/ 338, 2141 /*0x2c29*/ 891, 2142 /*0x0542*/ 462, 2143 -1, 2144 /*0x24ca*/ 844, 2145 /*0x1ed4*/ 632, 2146 /*0x0154*/ 98, 2147 -1, 2148 /*0x2cd4*/ 954, 2149 /*0x1e54*/ 566, 2150 -1, 2151 /*0x03a9*/ 265, 2152 /*0x04d4*/ 399, 2153 /*0x0054*/ 18, 2154 /*0x1f3e*/ 682, 2155 /*0x10be*/ 514, 2156 /*0xa76c*/ 1038, 2157 /*0xa664*/ 983, 2158 /*0x24cc*/ 846, 2159 -1, 2160 /*0x04cd*/ 396, 2161 /*0x004d*/ 11, 2162 /*0x1fd8*/ 779, 2163 /*0x01fc*/ 188, 2164 -1, 2165 /*0x1ed8*/ 634, 2166 /*0x0158*/ 100, 2167 /*0xa74a*/ 1021, 2168 /*0x2cd8*/ 956, 2169 /*0x1e58*/ 568, 2170 -1, 2171 /*0x2163*/ 810, 2172 /*0x04d8*/ 401, 2173 /*0x0058*/ 22, 2174 /*0x03d8*/ 275, 2175 /*0x10b6*/ 506, 2176 /*0x1ec0*/ 622, 2177 /*0x0545*/ 465, 2178 /*0x00d2*/ 44, 2179 /*0x2cc0*/ 944, 2180 /*0x1e40*/ 556, 2181 /*0xa74c*/ 1022, 2182 -1, 2183 /*0x04c0*/ 389, 2184 /*0x1fb4*/ 756, 2185 /*0x1f52*/ 691, 2186 -1, 2187 /*0x1eb4*/ 616, 2188 /*0x0134*/ 82, 2189 -1, 2190 /*0x2cb4*/ 938, 2191 /*0x1e34*/ 550, 2192 /*0x00d0*/ 42, 2193 -1, 2194 /*0x04b4*/ 383, 2195 /*0xa756*/ 1027, 2196 -1, 2197 /*0x1fb7*/ 758, 2198 -1, 2199 /*0x1f50*/ 690, 2200 /*0xa660*/ 981, 2201 /*0x1eb0*/ 614, 2202 /*0x0130*/ 1179, 2203 /*0x0230*/ 214, 2204 /*0x2cb0*/ 936, 2205 /*0x1e30*/ 548, 2206 /*0x00da*/ 51, 2207 -1, 2208 /*0x04b0*/ 381, 2209 -1, 2210 /*0x03b0*/ 268, 2211 /*0xa7b0*/ 1066, 2212 /*0x24c8*/ 842, 2213 -1, 2214 /*0xa762*/ 1033, 2215 /*0x1ede*/ 637, 2216 /*0x015e*/ 103, 2217 /*0x1fb9*/ 760, 2218 /*0x2cde*/ 959, 2219 /*0x1e5e*/ 571, 2220 -1, 2221 /*0x0139*/ 84, 2222 /*0x04de*/ 404, 2223 -1, 2224 /*0x03de*/ 278, 2225 /*0x1f6d*/ 703, 2226 /*0x1fc7*/ 769, 2227 /*0x0345*/ 229, 2228 /*0x1fbb*/ 762, 2229 /*0x054e*/ 474, 2230 /*0x0147*/ 91, 2231 /*0x00c2*/ 28, 2232 /*0x013b*/ 85, 2233 /*0x023b*/ 217, 2234 /*0x24c4*/ 838, 2235 /*0xa748*/ 1020, 2236 /*0x04c7*/ 393, 2237 /*0x0047*/ 6, 2238 -1, 2239 /*0x10c2*/ 518, 2240 /*0x1fab*/ 749, 2241 /*0x042b*/ 340, 2242 /*0x2c2b*/ 893, 2243 /*0x0055*/ 19, 2244 /*0x03d5*/ 273, 2245 -1, 2246 /*0x0546*/ 466, 2247 -1, -1, 2248 /*0xa652*/ 974, 2249 /*0x1fc3*/ 766, 2250 -1, 2251 /*0x03ab*/ 267, 2252 /*0xa7ab*/ 1063, 2253 /*0x0143*/ 89, 2254 /*0x0243*/ 221, 2255 -1, 2256 /*0xa744*/ 1018, 2257 -1, -1, 2258 /*0x04c3*/ 391, 2259 /*0x0043*/ 2, 2260 -1, 2261 /*0xa650*/ 973, 2262 /*0x0554*/ 480, 2263 -1, 2264 /*0x00c5*/ 31, 2265 -1, -1, 2266 /*0xa76a*/ 1037, 2267 -1, 2268 /*0x01c5*/ 158, 2269 /*0x054d*/ 473, 2270 -1, 2271 /*0x10c5*/ 521, 2272 -1, -1, 2273 /*0xa65a*/ 978, 2274 /*0x118bc*/ 1174, 2275 /*0x1ff2*/ 793, 2276 /*0x0472*/ 354, 2277 /*0x2c72*/ 908, 2278 /*0x1ef2*/ 647, 2279 /*0x0172*/ 113, 2280 -1, 2281 /*0x2cf2*/ 964, 2282 /*0x1e72*/ 581, 2283 /*0x2132*/ 806, 2284 -1, 2285 /*0x04f2*/ 414, 2286 /*0xa768*/ 1036, 2287 /*0x1faf*/ 753, 2288 /*0x042f*/ 344, 2289 -1, 2290 /*0x01ee*/ 179, 2291 /*0x0540*/ 460, 2292 /*0x1f6e*/ 704, 2293 -1, 2294 /*0x10427*/ 1145, 2295 -1, 2296 /*0xfb15*/ 1077, 2297 -1, 2298 /*0xa642*/ 966, 2299 /*0x1fa7*/ 745, 2300 /*0x0427*/ 336, 2301 /*0x2c27*/ 889, 2302 /*0x0534*/ 448, 2303 -1, 2304 /*0x01e6*/ 175, 2305 /*0xa764*/ 1034, 2306 -1, 2307 /*0x118be*/ 1176, 2308 -1, -1, 2309 /*0x24bc*/ 830, 2310 /*0x03a7*/ 263, 2311 /*0xfb01*/ 1069, 2312 -1, 2313 /*0x00ce*/ 40, 2314 /*0x0537*/ 451, 2315 -1, 2316 /*0xff36*/ 1101, 2317 -1, 2318 /*0x1edc*/ 636, 2319 /*0x015c*/ 102, 2320 -1, 2321 /*0x2cdc*/ 958, 2322 /*0x1e5c*/ 570, 2323 /*0x216c*/ 819, 2324 -1, 2325 /*0x04dc*/ 403, 2326 /*0x118b6*/ 1168, 2327 /*0x03dc*/ 277, 2328 -1, 2329 /*0x1fcb*/ 773, 2330 /*0x00c6*/ 32, 2331 -1, 2332 /*0xa73c*/ 1014, 2333 /*0x1fb3*/ 755, 2334 /*0x0539*/ 453, 2335 /*0x0470*/ 353, 2336 /*0x2c70*/ 907, 2337 /*0x1ef0*/ 646, 2338 /*0x0170*/ 112, 2339 /*0x04cb*/ 395, 2340 /*0x004b*/ 9, 2341 /*0x1e70*/ 580, 2342 /*0x24be*/ 832, 2343 /*0x0547*/ 467, 2344 /*0x04f0*/ 413, 2345 /*0x053b*/ 455, 2346 /*0x03f0*/ 287, 2347 /*0xa760*/ 1032, 2348 /*0x00d4*/ 46, 2349 /*0x0555*/ 481, 2350 /*0x01a9*/ 146, 2351 -1, 2352 /*0x1f29*/ 669, 2353 /*0x10a9*/ 493, 2354 -1, 2355 /*0x1f54*/ 692, 2356 /*0x00cd*/ 39, 2357 /*0x1fad*/ 751, 2358 /*0x042d*/ 342, 2359 /*0x2c2d*/ 895, 2360 -1, 2361 /*0x01cd*/ 163, 2362 /*0x24b6*/ 824, 2363 /*0x1f4d*/ 689, 2364 /*0x10cd*/ 523, 2365 /*0xa73e*/ 1015, 2366 -1, 2367 /*0x0543*/ 463, 2368 /*0x00d8*/ 49, 2369 /*0xa666*/ 984, 2370 /*0xa7ad*/ 1065, 2371 /*0x047e*/ 360, 2372 /*0x2c7e*/ 910, 2373 /*0x1efe*/ 653, 2374 -1, 2375 /*0xa7b1*/ 1067, 2376 -1, 2377 /*0x1e7e*/ 587, 2378 -1, 2379 /*0x00c0*/ 26, 2380 /*0x04fe*/ 420, 2381 /*0x2162*/ 809, 2382 /*0x03fe*/ 295, 2383 -1, 2384 /*0xa64e*/ 972, 2385 /*0xa736*/ 1011, 2386 -1, 2387 /*0x10c0*/ 516, 2388 -1, -1, 2389 /*0x1ff4*/ 795, 2390 /*0x0474*/ 355, 2391 -1, 2392 /*0x1ef4*/ 648, 2393 /*0x0174*/ 114, 2394 -1, 2395 /*0xa752*/ 1025, 2396 /*0x1e74*/ 582, 2397 /*0x10b4*/ 504, 2398 /*0x10403*/ 1109, 2399 /*0x04f4*/ 415, 2400 /*0xa646*/ 968, 2401 /*0x03f4*/ 289, 2402 /*0x1fc9*/ 771, 2403 /*0x1f83*/ 709, 2404 /*0x0403*/ 300, 2405 /*0x2c03*/ 853, 2406 /*0x0149*/ 92, 2407 /*0x01b7*/ 154, 2408 -1, 2409 /*0xa750*/ 1024, 2410 /*0x10b7*/ 507, 2411 /*0x10b0*/ 500, 2412 /*0x04c9*/ 394, 2413 /*0x0049*/ 1178, 2414 /*0x0141*/ 88, 2415 /*0x0241*/ 220, 2416 -1, 2417 /*0x00de*/ 55, 2418 /*0xa654*/ 975, 2419 /*0x216b*/ 818, 2420 /*0x04c1*/ 390, 2421 /*0x0041*/ 0, 2422 /*0x01de*/ 171, 2423 /*0xa75a*/ 1029, 2424 -1, 2425 /*0x24c2*/ 836, 2426 -1, 2427 /*0x10425*/ 1143, 2428 -1, 2429 /*0x1f39*/ 677, 2430 /*0x10b9*/ 509, 2431 /*0x00c7*/ 33, 2432 /*0x1fa5*/ 743, 2433 /*0x0425*/ 334, 2434 /*0x2c25*/ 887, 2435 /*0x216a*/ 817, 2436 /*0x01c7*/ 159, 2437 /*0x00d5*/ 47, 2438 /*0xa658*/ 977, 2439 /*0x10c7*/ 522, 2440 /*0x1f3b*/ 679, 2441 /*0x10bb*/ 511, 2442 /*0x01d5*/ 167, 2443 -1, 2444 /*0x03a5*/ 261, 2445 /*0x0372*/ 231, 2446 -1, -1, 2447 /*0xa742*/ 1017, 2448 /*0xa640*/ 965, 2449 /*0x054b*/ 471, 2450 -1, 2451 /*0x1f2b*/ 671, 2452 /*0x10ab*/ 495, 2453 /*0x0533*/ 447, 2454 /*0x00c3*/ 29, 2455 /*0x2168*/ 815, 2456 -1, -1, 2457 /*0x10423*/ 1141, 2458 /*0x24c5*/ 839, 2459 -1, 2460 /*0x10421*/ 1139, 2461 /*0x10c3*/ 519, 2462 /*0x1fa3*/ 741, 2463 /*0x0423*/ 332, 2464 /*0x2c23*/ 885, 2465 /*0x1fa1*/ 739, 2466 /*0x0421*/ 330, 2467 /*0x2c21*/ 883, 2468 -1, -1, -1, -1, -1, 2469 /*0x2164*/ 811, 2470 /*0x03a3*/ 259, 2471 /*0x1ff6*/ 796, 2472 /*0x0476*/ 356, 2473 /*0x03a1*/ 258, 2474 /*0x1ef6*/ 649, 2475 /*0x0176*/ 115, 2476 -1, 2477 /*0x0531*/ 445, 2478 /*0x1e76*/ 583, 2479 -1, -1, 2480 /*0x04f6*/ 416, 2481 /*0xa65e*/ 980, 2482 /*0x01f2*/ 182, 2483 /*0x1ffa*/ 800, 2484 /*0x047a*/ 358, 2485 -1, 2486 /*0x1efa*/ 651, 2487 -1, 2488 /*0x0051*/ 15, 2489 /*0x03d1*/ 272, 2490 /*0x1e7a*/ 585, 2491 /*0xff29*/ 1088, 2492 -1, 2493 /*0x04fa*/ 418, 2494 /*0x01af*/ 149, 2495 /*0x03fa*/ 293, 2496 /*0x1f2f*/ 675, 2497 /*0x10af*/ 499, 2498 /*0x0370*/ 230, 2499 /*0xa76e*/ 1039, 2500 -1, 2501 /*0x118a9*/ 1155, 2502 -1, -1, -1, 2503 /*0x24ce*/ 848, 2504 /*0x01a7*/ 145, 2505 -1, -1, 2506 /*0x10a7*/ 491, 2507 -1, 2508 /*0x2160*/ 807, 2509 -1, 2510 /*0xa766*/ 1035, 2511 -1, 2512 /*0xa779*/ 1040, 2513 -1, 2514 /*0x0549*/ 469, 2515 /*0x00dc*/ 53, 2516 -1, 2517 /*0x1ff8*/ 798, 2518 /*0x0478*/ 357, 2519 /*0x24c6*/ 840, 2520 /*0x1ef8*/ 650, 2521 /*0x0178*/ 116, 2522 /*0x0541*/ 461, 2523 -1, 2524 /*0x1e78*/ 584, 2525 /*0xa74e*/ 1023, 2526 -1, 2527 /*0x04f8*/ 417, 2528 -1, 2529 /*0x00cb*/ 37, 2530 -1, -1, -1, 2531 /*0xff34*/ 1099, 2532 /*0x01cb*/ 162, 2533 -1, 2534 /*0x1f4b*/ 687, 2535 -1, 2536 /*0x01b3*/ 152, 2537 /*0x01f0*/ 180, 2538 -1, 2539 /*0x10b3*/ 503, 2540 /*0xa746*/ 1019, 2541 /*0x118b4*/ 1166, 2542 /*0x1041d*/ 1135, 2543 /*0x24cd*/ 847, 2544 /*0xff37*/ 1102, 2545 /*0xff30*/ 1095, 2546 /*0x10405*/ 1111, 2547 /*0x1f9d*/ 735, 2548 /*0x041d*/ 326, 2549 /*0x2c1d*/ 879, 2550 -1, 2551 /*0x1f85*/ 711, 2552 /*0x0405*/ 302, 2553 /*0x2c05*/ 855, 2554 /*0x118b7*/ 1169, 2555 /*0x118b0*/ 1162, 2556 -1, -1, 2557 /*0xa754*/ 1026, 2558 /*0x039d*/ 254, 2559 -1, -1, 2560 /*0x1f2d*/ 673, 2561 /*0x10ad*/ 497, 2562 /*0xff39*/ 1104, 2563 /*0x01b1*/ 150, 2564 /*0x24c0*/ 834, 2565 -1, 2566 /*0x10b1*/ 501, 3290 -1, -1, -1, -1, -1, -1, 3291 -1, -1, -1, -1, -1, -1, 3292 -1, -1, -1, -1, -1, -1, 3293 -1, -1, -1, -1, -1, -1, 3294 -1, -1, -1, -1, -1, -1, 3295 -1, -1, -1, -1, -1, -1, 3296 -1, -1, -1, -1, -1, -1, 3297 -1, -1, 3298 /*0x019f*/ 140, 3299 -1, -1, -1, -1, -1, -1, 3300 -1, -1, -1, -1, -1, -1, 3301 -1, -1, -1, -1, -1, -1, 3302 -1, -1, -1, -1, -1, -1, 3303 -1, 3304 /*0x1c85*/ 535, 3305 -1, -1, -1, -1, -1, -1, 3306 -1, -1, 3307 /*0x01f8*/ 186, 3308 -1, -1, -1, -1, -1, -1, 3309 -1, -1, -1, -1, -1, -1, 3310 -1, -1, -1, -1, -1, -1, 3311 -1, -1, -1, -1, -1, -1, 3312 -1, 3313 /*0x1f1d*/ 682, 3314 -1, -1, -1, -1, -1, -1, 3315 -1, 3316 /*0x1f1b*/ 680, 3317 -1, -1, -1, -1, -1, -1, 3318 -1, -1, -1, -1, -1, -1, 3319 -1, 3320 /*0x0191*/ 132, 3321 -1, -1, -1, -1, -1, -1, 3322 -1, -1, 3323 /*0x1f19*/ 678, 3324 /*0xfb13*/ 1175, 3325 -1, -1, -1, -1, -1, -1, 3326 -1, -1, -1, -1, -1, -1, 3327 -1, -1, -1, -1, -1, -1, 3328 -1, -1, -1, -1, -1, -1, 3329 -1, -1, -1, -1, -1, -1, 3330 -1, -1, -1, -1, -1, -1, 2567 3331 -1, -1, -1, -1, 2568 /*0x01fe*/ 189, 2569 /*0x118b9*/ 1171, 2570 /*0x1041b*/ 1133, 2571 -1, -1, 2572 /*0xa758*/ 1028, 2573 -1, 2574 /*0x1f9b*/ 733, 2575 /*0x041b*/ 324, 2576 /*0x2c1b*/ 877, 2577 /*0x1e9b*/ 604, 2578 /*0xa65c*/ 979, 2579 /*0x118bb*/ 1173, 2580 -1, 2581 /*0xff2b*/ 1090, 2582 -1, 2583 /*0xa740*/ 1016, 2584 /*0x24b7*/ 825, 2585 -1, 2586 /*0x039b*/ 252, 2587 /*0x01f4*/ 183, 2588 /*0x0551*/ 477, 2589 /*0x216d*/ 820, 2590 -1, 2591 /*0x118ab*/ 1157, 2592 /*0x10419*/ 1131, 2593 -1, 2594 /*0xa734*/ 1010, 2595 /*0x00c9*/ 35, 2596 -1, 2597 /*0x1f99*/ 731, 2598 /*0x0419*/ 322, 2599 /*0x2c19*/ 875, 2600 /*0x1e99*/ 602, 2601 -1, 2602 /*0x1f49*/ 685, 2603 /*0x00c1*/ 27, 2604 /*0x24b9*/ 827, 3332 /*0x1f0f*/ 676, 2605 3333 -1, -1, -1, -1, 2606 /*0x0399*/ 250, 2607 -1, 2608 /*0x10c1*/ 517, 2609 /*0x1040f*/ 1121, 2610 /*0x24c7*/ 841, 2611 -1, 2612 /*0x24bb*/ 829, 2613 -1, 2614 /*0x1f8f*/ 721, 2615 /*0x040f*/ 312, 2616 /*0x2c0f*/ 865, 2617 -1, 2618 /*0x10409*/ 1115, 2619 /*0xa75e*/ 1031, 2620 -1, -1, -1, 2621 /*0x1f89*/ 715, 2622 /*0x0409*/ 306, 2623 /*0x2c09*/ 859, 2624 /*0x038f*/ 240, 2625 -1, 2626 /*0x0376*/ 232, 2627 /*0xff2f*/ 1094, 2628 /*0x10a5*/ 489, 2629 /*0x1041f*/ 1137, 2630 -1, -1, 2631 /*0x24c3*/ 837, 2632 /*0x0389*/ 236, 2633 /*0x1f9f*/ 737, 2634 /*0x041f*/ 328, 2635 /*0x2c1f*/ 881, 2636 /*0x118af*/ 1161, 2637 -1, 2638 /*0xff27*/ 1086, 2639 -1, -1, -1, -1, -1, 2640 /*0x10411*/ 1123, 2641 /*0x039f*/ 256, 2642 -1, -1, 2643 /*0x118a7*/ 1153, 2644 /*0x1f91*/ 723, 2645 /*0x0411*/ 314, 2646 /*0x2c11*/ 867, 2647 /*0x2183*/ 823, 2648 -1, 2649 /*0x216e*/ 821, 3334 /*0xab7e*/ 1102, 3335 -1, -1, -1, -1, -1, -1, 3336 -1, -1, -1, 3337 /*0x1f0b*/ 672, 2650 3338 -1, -1, -1, -1, 2651 /*0x10a3*/ 487, 2652 -1, 2653 /*0x0391*/ 242, 2654 /*0x10a1*/ 485, 2655 -1, -1, -1, -1, -1, 2656 /*0x2166*/ 813, 2657 /*0x01f6*/ 184, 2658 -1, 2659 /*0x00d1*/ 43, 2660 -1, 2661 /*0xff33*/ 1098, 2662 -1, -1, 2663 /*0x01d1*/ 165, 2664 -1, -1, -1, -1, -1, 2665 /*0x01fa*/ 187, 2666 /*0x118b3*/ 1165, 2667 -1, -1, -1, -1, -1, -1, 2668 -1, -1, -1, -1, -1, -1, 2669 -1, 2670 /*0xff2d*/ 1092, 3339 /*0xab72*/ 1090, 3340 -1, -1, -1, -1, -1, -1, 3341 -1, -1, -1, -1, -1, -1, 3342 -1, -1, -1, -1, -1, -1, 3343 -1, -1, -1, -1, -1, -1, 3344 -1, -1, -1, -1, -1, -1, 3345 -1, -1, -1, -1, -1, -1, 3346 -1, -1, -1, -1, -1, -1, 3347 -1, -1, -1, -1, -1, -1, 3348 -1, -1, -1, -1, -1, -1, 3349 -1, -1, -1, -1, -1, -1, 3350 -1, -1, -1, -1, -1, -1, 3351 -1, -1, -1, -1, -1, -1, 3352 -1, -1, -1, -1, -1, -1, 3353 -1, -1, 3354 /*0x1c81*/ 531, 3355 -1, -1, -1, -1, -1, -1, 3356 -1, -1, -1, -1, -1, -1, 3357 -1, -1, -1, -1, -1, -1, 3358 -1, -1, -1, 3359 /*0xfb15*/ 1177, 3360 -1, -1, -1, -1, -1, -1, 3361 -1, -1, -1, -1, -1, -1, 3362 -1, -1, -1, -1, -1, -1, 3363 -1, -1, -1, -1, -1, -1, 3364 -1, -1, -1, -1, -1, -1, 3365 -1, -1, -1, -1, -1, -1, 3366 -1, -1, -1, -1, -1, -1, 3367 -1, -1, -1, -1, -1, -1, 3368 -1, -1, -1, 3369 /*0x1f0d*/ 674, 3370 -1, -1, -1, -1, -1, -1, 3371 -1, -1, -1, -1, -1, -1, 3372 -1, -1, -1, -1, -1, -1, 3373 -1, -1, -1, -1, -1, -1, 3374 -1, -1, -1, -1, -1, -1, 3375 -1, -1, -1, -1, -1, -1, 3376 -1, -1, -1, -1, -1, -1, 3377 -1, -1, -1, -1, -1, -1, 3378 -1, -1, -1, -1, -1, -1, 3379 -1, -1, -1, -1, -1, -1, 3380 -1, -1, -1, -1, -1, -1, 3381 -1, -1, -1, -1, -1, -1, 3382 -1, -1, -1, -1, -1, -1, 3383 -1, -1, -1, -1, -1, -1, 3384 -1, -1, -1, -1, -1, -1, 3385 -1, -1, -1, -1, -1, -1, 3386 -1, -1, -1, -1, -1, -1, 3387 -1, -1, -1, -1, -1, -1, 3388 -1, -1, -1, -1, -1, -1, 3389 -1, -1, -1, 3390 /*0xab7a*/ 1098, 3391 -1, -1, -1, -1, -1, -1, 3392 -1, -1, -1, -1, -1, -1, 3393 -1, -1, -1, -1, -1, -1, 3394 -1, -1, -1, -1, -1, -1, 3395 -1, -1, -1, -1, -1, -1, 3396 -1, -1, -1, -1, -1, -1, 3397 -1, -1, -1, -1, -1, -1, 3398 -1, -1, -1, -1, -1, -1, 3399 -1, -1, -1, -1, -1, -1, 3400 -1, -1, -1, -1, -1, -1, 3401 -1, -1, -1, -1, -1, -1, 3402 -1, -1, -1, -1, -1, -1, 3403 -1, -1, -1, -1, -1, -1, 3404 -1, -1, -1, -1, -1, -1, 3405 -1, -1, -1, -1, -1, -1, 3406 -1, -1, -1, -1, -1, -1, 3407 -1, -1, -1, -1, -1, -1, 3408 -1, -1, -1, -1, -1, -1, 3409 -1, -1, -1, -1, -1, -1, 3410 -1, -1, -1, -1, -1, -1, 3411 -1, -1, -1, -1, -1, -1, 3412 -1, -1, -1, -1, -1, -1, 3413 -1, -1, -1, -1, -1, -1, 3414 -1, -1, -1, -1, -1, -1, 3415 -1, -1, -1, -1, -1, -1, 3416 -1, -1, -1, -1, -1, -1, 3417 -1, -1, -1, -1, -1, -1, 3418 -1, -1, -1, -1, -1, -1, 3419 -1, -1, -1, -1, -1, -1, 3420 -1, -1, -1, -1, -1, -1, 3421 -1, -1, -1, -1, -1, -1, 3422 -1, -1, -1, -1, -1, -1, 3423 -1, -1, -1, -1, -1, -1, 3424 -1, -1, -1, -1, -1, -1, 3425 -1, -1, -1, -1, -1, -1, 3426 -1, -1, -1, -1, -1, -1, 3427 -1, -1, -1, -1, -1, -1, 3428 -1, -1, -1, -1, -1, -1, 3429 -1, -1, -1, -1, -1, -1, 3430 -1, -1, -1, -1, -1, -1, 3431 -1, -1, -1, -1, -1, -1, 3432 -1, -1, -1, -1, -1, -1, 3433 -1, -1, -1, -1, -1, -1, 3434 -1, -1, -1, -1, -1, -1, 3435 -1, -1, -1, -1, -1, -1, 3436 -1, -1, -1, -1, -1, -1, 3437 -1, -1, -1, -1, -1, -1, 3438 -1, -1, -1, -1, -1, -1, 3439 -1, -1, -1, -1, -1, -1, 3440 -1, -1, -1, -1, -1, -1, 3441 -1, -1, -1, -1, -1, -1, 3442 -1, -1, -1, -1, -1, -1, 3443 -1, -1, -1, -1, -1, -1, 3444 -1, -1, -1, -1, -1, -1, 2671 3445 -1, -1, -1, -1, 2672 /*0xff31*/ 1096, 3446 /*0xab7c*/ 1100, 3447 -1, -1, -1, -1, -1, -1, 3448 -1, -1, -1, -1, -1, -1, 3449 -1, -1, -1, -1, -1, -1, 3450 -1, -1, -1, -1, -1, -1, 3451 -1, -1, -1, -1, -1, -1, 3452 -1, -1, -1, -1, -1, -1, 3453 -1, -1, -1, -1, -1, -1, 3454 -1, -1, -1, -1, -1, -1, 3455 -1, -1, -1, -1, -1, -1, 3456 -1, -1, -1, -1, -1, -1, 3457 -1, -1, -1, -1, -1, -1, 3458 -1, -1, -1, -1, -1, -1, 3459 -1, -1, -1, -1, -1, -1, 2673 3460 -1, -1, -1, -1, 2674 /*0x118ad*/ 1159, 3461 /*0x1c87*/ 537, 3462 -1, -1, -1, -1, -1, -1, 3463 -1, -1, -1, -1, -1, -1, 3464 -1, -1, -1, -1, -1, -1, 3465 -1, -1, -1, -1, -1, -1, 3466 -1, -1, -1, -1, -1, -1, 3467 -1, -1, -1, -1, -1, -1, 3468 -1, -1, -1, -1, -1, -1, 3469 -1, -1, -1, -1, -1, -1, 3470 -1, -1, -1, -1, -1, -1, 3471 -1, -1, -1, -1, -1, -1, 3472 -1, -1, -1, -1, -1, -1, 3473 -1, -1, -1, -1, -1, -1, 3474 -1, -1, -1, -1, -1, -1, 3475 -1, -1, -1, -1, -1, -1, 3476 -1, -1, -1, -1, -1, -1, 3477 -1, -1, -1, -1, -1, -1, 3478 -1, -1, -1, -1, -1, -1, 3479 -1, -1, -1, -1, -1, -1, 3480 -1, -1, -1, -1, -1, -1, 3481 -1, -1, -1, -1, -1, -1, 3482 -1, -1, -1, -1, -1, -1, 3483 -1, -1, -1, -1, -1, -1, 3484 -1, -1, -1, -1, -1, -1, 3485 -1, -1, -1, -1, -1, -1, 3486 -1, -1, -1, -1, -1, -1, 3487 -1, -1, -1, -1, -1, -1, 3488 -1, -1, -1, -1, -1, -1, 3489 -1, -1, -1, -1, -1, -1, 3490 -1, -1, -1, -1, -1, -1, 3491 -1, -1, -1, -1, -1, -1, 3492 -1, -1, -1, -1, -1, -1, 3493 -1, -1, -1, -1, -1, -1, 3494 -1, -1, -1, -1, -1, -1, 3495 -1, -1, -1, -1, -1, -1, 3496 -1, -1, -1, -1, -1, -1, 3497 -1, -1, -1, -1, -1, -1, 3498 -1, -1, -1, -1, -1, -1, 3499 -1, -1, -1, -1, -1, -1, 3500 -1, -1, -1, -1, -1, -1, 3501 -1, -1, -1, -1, -1, -1, 3502 -1, -1, -1, -1, -1, -1, 3503 -1, -1, -1, -1, -1, -1, 3504 -1, -1, -1, -1, -1, -1, 3505 -1, -1, -1, -1, -1, -1, 3506 -1, -1, -1, -1, -1, -1, 3507 -1, -1, -1, -1, -1, -1, 3508 -1, -1, -1, -1, -1, -1, 3509 -1, -1, -1, -1, -1, -1, 3510 -1, -1, -1, -1, -1, -1, 3511 -1, -1, -1, -1, -1, -1, 3512 -1, -1, -1, -1, -1, -1, 3513 -1, -1, -1, -1, -1, -1, 3514 -1, -1, -1, -1, -1, -1, 3515 -1, -1, -1, -1, -1, -1, 3516 -1, -1, -1, -1, -1, -1, 3517 -1, -1, -1, -1, -1, -1, 3518 -1, -1, -1, -1, -1, -1, 3519 -1, -1, -1, -1, -1, -1, 3520 -1, -1, -1, -1, -1, -1, 3521 -1, -1, -1, -1, -1, -1, 3522 -1, -1, -1, -1, -1, -1, 3523 -1, -1, -1, -1, -1, -1, 3524 -1, -1, -1, -1, -1, -1, 3525 -1, -1, -1, -1, -1, -1, 3526 -1, -1, -1, -1, -1, -1, 3527 -1, -1, -1, -1, -1, -1, 3528 -1, -1, -1, -1, -1, -1, 3529 -1, -1, -1, -1, -1, -1, 3530 -1, -1, -1, -1, -1, -1, 3531 -1, -1, -1, -1, -1, -1, 3532 -1, -1, -1, -1, -1, -1, 3533 -1, -1, -1, -1, -1, -1, 3534 -1, -1, -1, -1, -1, -1, 3535 -1, -1, -1, -1, -1, -1, 3536 -1, -1, -1, -1, -1, -1, 3537 -1, -1, -1, -1, -1, -1, 3538 -1, -1, 3539 /*0xab74*/ 1092, 3540 -1, -1, -1, -1, -1, -1, 3541 -1, -1, -1, -1, -1, -1, 3542 -1, -1, -1, -1, -1, -1, 2675 3543 -1, -1, -1, -1, 2676 /*0x118b1*/ 1163, 2677 -1, -1, 2678 /*0x24cb*/ 845, 2679 -1, -1, -1, 2680 /*0x01f8*/ 186, 3544 /*0xab70*/ 1088, 3545 -1, -1, -1, -1, -1, -1, 3546 -1, -1, -1, -1, -1, -1, 3547 -1, -1, -1, -1, -1, -1, 3548 -1, -1, -1, -1, -1, -1, 3549 -1, -1, -1, -1, -1, -1, 3550 -1, -1, -1, -1, -1, -1, 3551 -1, -1, -1, -1, -1, -1, 3552 -1, -1, -1, -1, -1, -1, 3553 -1, -1, -1, -1, -1, -1, 3554 -1, -1, -1, -1, -1, -1, 3555 -1, -1, -1, -1, -1, -1, 3556 -1, -1, -1, -1, -1, -1, 3557 -1, -1, -1, -1, -1, -1, 3558 -1, -1, -1, -1, -1, -1, 3559 -1, -1, -1, -1, -1, -1, 3560 -1, -1, -1, -1, -1, -1, 3561 -1, -1, -1, -1, -1, -1, 3562 -1, -1, -1, -1, -1, -1, 3563 -1, -1, -1, -1, -1, -1, 3564 -1, -1, -1, -1, -1, -1, 3565 -1, -1, -1, -1, -1, -1, 3566 -1, -1, -1, -1, -1, -1, 3567 -1, -1, -1, -1, -1, -1, 3568 -1, -1, -1, -1, -1, -1, 3569 -1, -1, -1, -1, -1, -1, 3570 -1, -1, -1, -1, -1, -1, 3571 -1, -1, -1, -1, -1, -1, 3572 -1, -1, -1, -1, -1, -1, 3573 -1, -1, -1, -1, -1, -1, 2681 3574 -1, -1, -1, -1, 2682 /*0xa75c*/ 1030, 2683 -1, -1, -1, -1, -1, -1, 2684 -1, -1, -1, -1, -1, -1, 2685 -1, -1, -1, -1, -1, -1, 2686 -1, -1, -1, -1, -1, -1, 2687 -1, -1, 2688 /*0x019d*/ 139, 2689 -1, 2690 /*0x1f1d*/ 667, 2691 -1, -1, -1, -1, -1, -1, 2692 -1, -1, -1, -1, -1, -1, 2693 -1, -1, -1, -1, -1, -1, 2694 -1, 2695 /*0xff25*/ 1084, 2696 -1, -1, -1, -1, -1, 2697 /*0xa77e*/ 1043, 2698 -1, -1, -1, 2699 /*0x118a5*/ 1151, 2700 -1, -1, 2701 /*0x1f1b*/ 665, 2702 -1, -1, 2703 /*0x24c9*/ 843, 2704 -1, -1, -1, -1, -1, -1, 2705 -1, 2706 /*0x24c1*/ 835, 2707 -1, -1, -1, -1, -1, -1, 2708 -1, 2709 /*0xff23*/ 1082, 2710 -1, -1, 2711 /*0xff21*/ 1080, 2712 /*0x1f19*/ 663, 2713 -1, -1, -1, -1, -1, 2714 /*0x118a3*/ 1149, 2715 /*0x212b*/ 805, 2716 -1, 2717 /*0x118a1*/ 1147, 2718 -1, -1, -1, -1, -1, -1, 2719 -1, -1, 2720 /*0x018f*/ 130, 2721 -1, 2722 /*0x1f0f*/ 661, 2723 -1, -1, -1, -1, -1, -1, 2724 /*0x0189*/ 126, 2725 -1, 2726 /*0x1f09*/ 655, 2727 -1, -1, -1, -1, -1, -1, 2728 -1, -1, -1, -1, 2729 /*0x019f*/ 140, 2730 -1, -1, -1, -1, -1, -1, 2731 -1, -1, -1, -1, -1, -1, 2732 -1, -1, -1, 2733 /*0x0191*/ 132, 2734 -1, -1, -1, -1, -1, -1, 2735 -1, -1, -1, -1, -1, -1, 2736 -1, -1, -1, 2737 /*0xfb03*/ 1071, 2738 -1, -1, -1, -1, -1, -1, 2739 -1, -1, -1, -1, -1, -1, 2740 -1, -1, -1, -1, -1, -1, 2741 -1, -1, -1, -1, -1, -1, 2742 -1, -1, -1, -1, -1, -1, 2743 -1, -1, -1, -1, -1, -1, 2744 -1, -1, -1, -1, -1, -1, 2745 -1, -1, -1, -1, -1, -1, 2746 -1, -1, -1, -1, -1, -1, 2747 -1, -1, -1, -1, -1, -1, 2748 -1, -1, -1, -1, -1, -1, 2749 -1, -1, -1, -1, -1, -1, 2750 -1, -1, -1, -1, -1, -1, 2751 -1, -1, -1, -1, -1, -1, 2752 -1, -1, -1, -1, -1, -1, 2753 -1, -1, -1, -1, -1, -1, 2754 -1, -1, -1, -1, -1, -1, 2755 -1, -1, -1, -1, -1, -1, 2756 -1, -1, -1, -1, -1, -1, 2757 -1, -1, -1, -1, -1, -1, 2758 -1, -1, -1, -1, -1, -1, 2759 -1, -1, -1, -1, -1, -1, 2760 -1, -1, -1, -1, -1, -1, 2761 -1, -1, -1, -1, -1, -1, 2762 -1, -1, -1, -1, -1, -1, 2763 -1, -1, -1, -1, -1, -1, 2764 -1, -1, -1, 2765 /*0xfb05*/ 1073 3575 /*0xab78*/ 1096 2766 3576 }; 2767 3577 2768 3578 if (code <= MAX_CODE_VALUE && code >= MIN_CODE_VALUE) 2769 3579 { 2770 register int key = onigenc_unicode_CaseFold_11_hash(code);3580 register unsigned int key = onigenc_unicode_CaseFold_11_hash(code); 2771 3581 2772 if (key <= MAX_HASH_VALUE && key >= 0)3582 if (key <= MAX_HASH_VALUE) 2773 3583 { 2774 3584 register short s = wordlist[key]; … … 2782 3592 2783 3593 static const CaseUnfold_11_Type CaseUnfold_11_Table[] = { 2784 #define CaseUnfold_11 (*(CaseUnfold_11_Type (*)[1054])(CaseUnfold_11_Table+0)) 2785 {0x0061, {1, {0x0041}}}, 2786 {0x0062, {1, {0x0042}}}, 2787 {0x0063, {1, {0x0043}}}, 2788 {0x0064, {1, {0x0044}}}, 2789 {0x0065, {1, {0x0045}}}, 2790 {0x0066, {1, {0x0046}}}, 2791 {0x0067, {1, {0x0047}}}, 2792 {0x0068, {1, {0x0048}}}, 2793 {0x006a, {1, {0x004a}}}, 2794 {0x006b, {2, {0x004b, 0x212a}}}, 2795 {0x006c, {1, {0x004c}}}, 2796 {0x006d, {1, {0x004d}}}, 2797 {0x006e, {1, {0x004e}}}, 2798 {0x006f, {1, {0x004f}}}, 2799 {0x0070, {1, {0x0050}}}, 2800 {0x0071, {1, {0x0051}}}, 2801 {0x0072, {1, {0x0052}}}, 2802 {0x0073, {2, {0x0053, 0x017f}}}, 2803 {0x0074, {1, {0x0054}}}, 2804 {0x0075, {1, {0x0055}}}, 2805 {0x0076, {1, {0x0056}}}, 2806 {0x0077, {1, {0x0057}}}, 2807 {0x0078, {1, {0x0058}}}, 2808 {0x0079, {1, {0x0059}}}, 2809 {0x007a, {1, {0x005a}}}, 2810 {0x00e0, {1, {0x00c0}}}, 2811 {0x00e1, {1, {0x00c1}}}, 2812 {0x00e2, {1, {0x00c2}}}, 2813 {0x00e3, {1, {0x00c3}}}, 2814 {0x00e4, {1, {0x00c4}}}, 2815 {0x00e5, {2, {0x00c5, 0x212b}}}, 2816 {0x00e6, {1, {0x00c6}}}, 2817 {0x00e7, {1, {0x00c7}}}, 2818 {0x00e8, {1, {0x00c8}}}, 2819 {0x00e9, {1, {0x00c9}}}, 2820 {0x00ea, {1, {0x00ca}}}, 2821 {0x00eb, {1, {0x00cb}}}, 2822 {0x00ec, {1, {0x00cc}}}, 2823 {0x00ed, {1, {0x00cd}}}, 2824 {0x00ee, {1, {0x00ce}}}, 2825 {0x00ef, {1, {0x00cf}}}, 2826 {0x00f0, {1, {0x00d0}}}, 2827 {0x00f1, {1, {0x00d1}}}, 2828 {0x00f2, {1, {0x00d2}}}, 2829 {0x00f3, {1, {0x00d3}}}, 2830 {0x00f4, {1, {0x00d4}}}, 2831 {0x00f5, {1, {0x00d5}}}, 2832 {0x00f6, {1, {0x00d6}}}, 2833 {0x00f8, {1, {0x00d8}}}, 2834 {0x00f9, {1, {0x00d9}}}, 2835 {0x00fa, {1, {0x00da}}}, 2836 {0x00fb, {1, {0x00db}}}, 2837 {0x00fc, {1, {0x00dc}}}, 2838 {0x00fd, {1, {0x00dd}}}, 2839 {0x00fe, {1, {0x00de}}}, 2840 {0x00ff, {1, {0x0178}}}, 2841 {0x0101, {1, {0x0100}}}, 2842 {0x0103, {1, {0x0102}}}, 2843 {0x0105, {1, {0x0104}}}, 2844 {0x0107, {1, {0x0106}}}, 2845 {0x0109, {1, {0x0108}}}, 2846 {0x010b, {1, {0x010a}}}, 2847 {0x010d, {1, {0x010c}}}, 2848 {0x010f, {1, {0x010e}}}, 2849 {0x0111, {1, {0x0110}}}, 2850 {0x0113, {1, {0x0112}}}, 2851 {0x0115, {1, {0x0114}}}, 2852 {0x0117, {1, {0x0116}}}, 2853 {0x0119, {1, {0x0118}}}, 2854 {0x011b, {1, {0x011a}}}, 2855 {0x011d, {1, {0x011c}}}, 2856 {0x011f, {1, {0x011e}}}, 2857 {0x0121, {1, {0x0120}}}, 2858 {0x0123, {1, {0x0122}}}, 2859 {0x0125, {1, {0x0124}}}, 2860 {0x0127, {1, {0x0126}}}, 2861 {0x0129, {1, {0x0128}}}, 2862 {0x012b, {1, {0x012a}}}, 2863 {0x012d, {1, {0x012c}}}, 2864 {0x012f, {1, {0x012e}}}, 2865 {0x0133, {1, {0x0132}}}, 2866 {0x0135, {1, {0x0134}}}, 2867 {0x0137, {1, {0x0136}}}, 2868 {0x013a, {1, {0x0139}}}, 2869 {0x013c, {1, {0x013b}}}, 2870 {0x013e, {1, {0x013d}}}, 2871 {0x0140, {1, {0x013f}}}, 2872 {0x0142, {1, {0x0141}}}, 2873 {0x0144, {1, {0x0143}}}, 2874 {0x0146, {1, {0x0145}}}, 2875 {0x0148, {1, {0x0147}}}, 2876 {0x014b, {1, {0x014a}}}, 2877 {0x014d, {1, {0x014c}}}, 2878 {0x014f, {1, {0x014e}}}, 2879 {0x0151, {1, {0x0150}}}, 2880 {0x0153, {1, {0x0152}}}, 2881 {0x0155, {1, {0x0154}}}, 2882 {0x0157, {1, {0x0156}}}, 2883 {0x0159, {1, {0x0158}}}, 2884 {0x015b, {1, {0x015a}}}, 2885 {0x015d, {1, {0x015c}}}, 2886 {0x015f, {1, {0x015e}}}, 2887 {0x0161, {1, {0x0160}}}, 2888 {0x0163, {1, {0x0162}}}, 2889 {0x0165, {1, {0x0164}}}, 2890 {0x0167, {1, {0x0166}}}, 2891 {0x0169, {1, {0x0168}}}, 2892 {0x016b, {1, {0x016a}}}, 2893 {0x016d, {1, {0x016c}}}, 2894 {0x016f, {1, {0x016e}}}, 2895 {0x0171, {1, {0x0170}}}, 2896 {0x0173, {1, {0x0172}}}, 2897 {0x0175, {1, {0x0174}}}, 2898 {0x0177, {1, {0x0176}}}, 2899 {0x017a, {1, {0x0179}}}, 2900 {0x017c, {1, {0x017b}}}, 2901 {0x017e, {1, {0x017d}}}, 2902 {0x0180, {1, {0x0243}}}, 2903 {0x0183, {1, {0x0182}}}, 2904 {0x0185, {1, {0x0184}}}, 2905 {0x0188, {1, {0x0187}}}, 2906 {0x018c, {1, {0x018b}}}, 2907 {0x0192, {1, {0x0191}}}, 2908 {0x0195, {1, {0x01f6}}}, 2909 {0x0199, {1, {0x0198}}}, 2910 {0x019a, {1, {0x023d}}}, 2911 {0x019e, {1, {0x0220}}}, 2912 {0x01a1, {1, {0x01a0}}}, 2913 {0x01a3, {1, {0x01a2}}}, 2914 {0x01a5, {1, {0x01a4}}}, 2915 {0x01a8, {1, {0x01a7}}}, 2916 {0x01ad, {1, {0x01ac}}}, 2917 {0x01b0, {1, {0x01af}}}, 2918 {0x01b4, {1, {0x01b3}}}, 2919 {0x01b6, {1, {0x01b5}}}, 2920 {0x01b9, {1, {0x01b8}}}, 2921 {0x01bd, {1, {0x01bc}}}, 2922 {0x01bf, {1, {0x01f7}}}, 2923 {0x01c6, {2, {0x01c4, 0x01c5}}}, 2924 {0x01c9, {2, {0x01c7, 0x01c8}}}, 2925 {0x01cc, {2, {0x01ca, 0x01cb}}}, 2926 {0x01ce, {1, {0x01cd}}}, 2927 {0x01d0, {1, {0x01cf}}}, 2928 {0x01d2, {1, {0x01d1}}}, 2929 {0x01d4, {1, {0x01d3}}}, 2930 {0x01d6, {1, {0x01d5}}}, 2931 {0x01d8, {1, {0x01d7}}}, 2932 {0x01da, {1, {0x01d9}}}, 2933 {0x01dc, {1, {0x01db}}}, 2934 {0x01dd, {1, {0x018e}}}, 2935 {0x01df, {1, {0x01de}}}, 2936 {0x01e1, {1, {0x01e0}}}, 2937 {0x01e3, {1, {0x01e2}}}, 2938 {0x01e5, {1, {0x01e4}}}, 2939 {0x01e7, {1, {0x01e6}}}, 2940 {0x01e9, {1, {0x01e8}}}, 2941 {0x01eb, {1, {0x01ea}}}, 2942 {0x01ed, {1, {0x01ec}}}, 2943 {0x01ef, {1, {0x01ee}}}, 2944 {0x01f3, {2, {0x01f1, 0x01f2}}}, 2945 {0x01f5, {1, {0x01f4}}}, 2946 {0x01f9, {1, {0x01f8}}}, 2947 {0x01fb, {1, {0x01fa}}}, 2948 {0x01fd, {1, {0x01fc}}}, 2949 {0x01ff, {1, {0x01fe}}}, 2950 {0x0201, {1, {0x0200}}}, 2951 {0x0203, {1, {0x0202}}}, 2952 {0x0205, {1, {0x0204}}}, 2953 {0x0207, {1, {0x0206}}}, 2954 {0x0209, {1, {0x0208}}}, 2955 {0x020b, {1, {0x020a}}}, 2956 {0x020d, {1, {0x020c}}}, 2957 {0x020f, {1, {0x020e}}}, 2958 {0x0211, {1, {0x0210}}}, 2959 {0x0213, {1, {0x0212}}}, 2960 {0x0215, {1, {0x0214}}}, 2961 {0x0217, {1, {0x0216}}}, 2962 {0x0219, {1, {0x0218}}}, 2963 {0x021b, {1, {0x021a}}}, 2964 {0x021d, {1, {0x021c}}}, 2965 {0x021f, {1, {0x021e}}}, 2966 {0x0223, {1, {0x0222}}}, 2967 {0x0225, {1, {0x0224}}}, 2968 {0x0227, {1, {0x0226}}}, 2969 {0x0229, {1, {0x0228}}}, 2970 {0x022b, {1, {0x022a}}}, 2971 {0x022d, {1, {0x022c}}}, 2972 {0x022f, {1, {0x022e}}}, 2973 {0x0231, {1, {0x0230}}}, 2974 {0x0233, {1, {0x0232}}}, 2975 {0x023c, {1, {0x023b}}}, 2976 {0x023f, {1, {0x2c7e}}}, 2977 {0x0240, {1, {0x2c7f}}}, 2978 {0x0242, {1, {0x0241}}}, 2979 {0x0247, {1, {0x0246}}}, 2980 {0x0249, {1, {0x0248}}}, 2981 {0x024b, {1, {0x024a}}}, 2982 {0x024d, {1, {0x024c}}}, 2983 {0x024f, {1, {0x024e}}}, 2984 {0x0250, {1, {0x2c6f}}}, 2985 {0x0251, {1, {0x2c6d}}}, 2986 {0x0252, {1, {0x2c70}}}, 2987 {0x0253, {1, {0x0181}}}, 2988 {0x0254, {1, {0x0186}}}, 2989 {0x0256, {1, {0x0189}}}, 2990 {0x0257, {1, {0x018a}}}, 2991 {0x0259, {1, {0x018f}}}, 2992 {0x025b, {1, {0x0190}}}, 2993 {0x025c, {1, {0xa7ab}}}, 2994 {0x0260, {1, {0x0193}}}, 2995 {0x0261, {1, {0xa7ac}}}, 2996 {0x0263, {1, {0x0194}}}, 2997 {0x0265, {1, {0xa78d}}}, 2998 {0x0266, {1, {0xa7aa}}}, 2999 {0x0268, {1, {0x0197}}}, 3000 {0x0269, {1, {0x0196}}}, 3001 {0x026b, {1, {0x2c62}}}, 3002 {0x026c, {1, {0xa7ad}}}, 3003 {0x026f, {1, {0x019c}}}, 3004 {0x0271, {1, {0x2c6e}}}, 3005 {0x0272, {1, {0x019d}}}, 3006 {0x0275, {1, {0x019f}}}, 3007 {0x027d, {1, {0x2c64}}}, 3008 {0x0280, {1, {0x01a6}}}, 3009 {0x0283, {1, {0x01a9}}}, 3010 {0x0287, {1, {0xa7b1}}}, 3011 {0x0288, {1, {0x01ae}}}, 3012 {0x0289, {1, {0x0244}}}, 3013 {0x028a, {1, {0x01b1}}}, 3014 {0x028b, {1, {0x01b2}}}, 3015 {0x028c, {1, {0x0245}}}, 3016 {0x0292, {1, {0x01b7}}}, 3017 {0x029e, {1, {0xa7b0}}}, 3018 {0x0371, {1, {0x0370}}}, 3019 {0x0373, {1, {0x0372}}}, 3020 {0x0377, {1, {0x0376}}}, 3021 {0x037b, {1, {0x03fd}}}, 3022 {0x037c, {1, {0x03fe}}}, 3023 {0x037d, {1, {0x03ff}}}, 3024 {0x03ac, {1, {0x0386}}}, 3025 {0x03ad, {1, {0x0388}}}, 3026 {0x03ae, {1, {0x0389}}}, 3027 {0x03af, {1, {0x038a}}}, 3028 {0x03b1, {1, {0x0391}}}, 3029 {0x03b2, {2, {0x0392, 0x03d0}}}, 3030 {0x03b3, {1, {0x0393}}}, 3031 {0x03b4, {1, {0x0394}}}, 3032 {0x03b5, {2, {0x0395, 0x03f5}}}, 3033 {0x03b6, {1, {0x0396}}}, 3034 {0x03b7, {1, {0x0397}}}, 3035 {0x03b8, {3, {0x0398, 0x03d1, 0x03f4}}}, 3036 {0x03b9, {3, {0x0345, 0x0399, 0x1fbe}}}, 3037 {0x03ba, {2, {0x039a, 0x03f0}}}, 3038 {0x03bb, {1, {0x039b}}}, 3039 {0x03bc, {2, {0x00b5, 0x039c}}}, 3040 {0x03bd, {1, {0x039d}}}, 3041 {0x03be, {1, {0x039e}}}, 3042 {0x03bf, {1, {0x039f}}}, 3043 {0x03c0, {2, {0x03a0, 0x03d6}}}, 3044 {0x03c1, {2, {0x03a1, 0x03f1}}}, 3045 {0x03c3, {2, {0x03a3, 0x03c2}}}, 3046 {0x03c4, {1, {0x03a4}}}, 3047 {0x03c5, {1, {0x03a5}}}, 3048 {0x03c6, {2, {0x03a6, 0x03d5}}}, 3049 {0x03c7, {1, {0x03a7}}}, 3050 {0x03c8, {1, {0x03a8}}}, 3051 {0x03c9, {2, {0x03a9, 0x2126}}}, 3052 {0x03ca, {1, {0x03aa}}}, 3053 {0x03cb, {1, {0x03ab}}}, 3054 {0x03cc, {1, {0x038c}}}, 3055 {0x03cd, {1, {0x038e}}}, 3056 {0x03ce, {1, {0x038f}}}, 3057 {0x03d7, {1, {0x03cf}}}, 3058 {0x03d9, {1, {0x03d8}}}, 3059 {0x03db, {1, {0x03da}}}, 3060 {0x03dd, {1, {0x03dc}}}, 3061 {0x03df, {1, {0x03de}}}, 3062 {0x03e1, {1, {0x03e0}}}, 3063 {0x03e3, {1, {0x03e2}}}, 3064 {0x03e5, {1, {0x03e4}}}, 3065 {0x03e7, {1, {0x03e6}}}, 3066 {0x03e9, {1, {0x03e8}}}, 3067 {0x03eb, {1, {0x03ea}}}, 3068 {0x03ed, {1, {0x03ec}}}, 3069 {0x03ef, {1, {0x03ee}}}, 3070 {0x03f2, {1, {0x03f9}}}, 3071 {0x03f3, {1, {0x037f}}}, 3072 {0x03f8, {1, {0x03f7}}}, 3073 {0x03fb, {1, {0x03fa}}}, 3074 {0x0430, {1, {0x0410}}}, 3075 {0x0431, {1, {0x0411}}}, 3076 {0x0432, {1, {0x0412}}}, 3077 {0x0433, {1, {0x0413}}}, 3078 {0x0434, {1, {0x0414}}}, 3079 {0x0435, {1, {0x0415}}}, 3080 {0x0436, {1, {0x0416}}}, 3081 {0x0437, {1, {0x0417}}}, 3082 {0x0438, {1, {0x0418}}}, 3083 {0x0439, {1, {0x0419}}}, 3084 {0x043a, {1, {0x041a}}}, 3085 {0x043b, {1, {0x041b}}}, 3086 {0x043c, {1, {0x041c}}}, 3087 {0x043d, {1, {0x041d}}}, 3088 {0x043e, {1, {0x041e}}}, 3089 {0x043f, {1, {0x041f}}}, 3090 {0x0440, {1, {0x0420}}}, 3091 {0x0441, {1, {0x0421}}}, 3092 {0x0442, {1, {0x0422}}}, 3093 {0x0443, {1, {0x0423}}}, 3094 {0x0444, {1, {0x0424}}}, 3095 {0x0445, {1, {0x0425}}}, 3096 {0x0446, {1, {0x0426}}}, 3097 {0x0447, {1, {0x0427}}}, 3098 {0x0448, {1, {0x0428}}}, 3099 {0x0449, {1, {0x0429}}}, 3100 {0x044a, {1, {0x042a}}}, 3101 {0x044b, {1, {0x042b}}}, 3102 {0x044c, {1, {0x042c}}}, 3103 {0x044d, {1, {0x042d}}}, 3104 {0x044e, {1, {0x042e}}}, 3105 {0x044f, {1, {0x042f}}}, 3106 {0x0450, {1, {0x0400}}}, 3107 {0x0451, {1, {0x0401}}}, 3108 {0x0452, {1, {0x0402}}}, 3109 {0x0453, {1, {0x0403}}}, 3110 {0x0454, {1, {0x0404}}}, 3111 {0x0455, {1, {0x0405}}}, 3112 {0x0456, {1, {0x0406}}}, 3113 {0x0457, {1, {0x0407}}}, 3114 {0x0458, {1, {0x0408}}}, 3115 {0x0459, {1, {0x0409}}}, 3116 {0x045a, {1, {0x040a}}}, 3117 {0x045b, {1, {0x040b}}}, 3118 {0x045c, {1, {0x040c}}}, 3119 {0x045d, {1, {0x040d}}}, 3120 {0x045e, {1, {0x040e}}}, 3121 {0x045f, {1, {0x040f}}}, 3122 {0x0461, {1, {0x0460}}}, 3123 {0x0463, {1, {0x0462}}}, 3124 {0x0465, {1, {0x0464}}}, 3125 {0x0467, {1, {0x0466}}}, 3126 {0x0469, {1, {0x0468}}}, 3127 {0x046b, {1, {0x046a}}}, 3128 {0x046d, {1, {0x046c}}}, 3129 {0x046f, {1, {0x046e}}}, 3130 {0x0471, {1, {0x0470}}}, 3131 {0x0473, {1, {0x0472}}}, 3132 {0x0475, {1, {0x0474}}}, 3133 {0x0477, {1, {0x0476}}}, 3134 {0x0479, {1, {0x0478}}}, 3135 {0x047b, {1, {0x047a}}}, 3136 {0x047d, {1, {0x047c}}}, 3137 {0x047f, {1, {0x047e}}}, 3138 {0x0481, {1, {0x0480}}}, 3139 {0x048b, {1, {0x048a}}}, 3140 {0x048d, {1, {0x048c}}}, 3141 {0x048f, {1, {0x048e}}}, 3142 {0x0491, {1, {0x0490}}}, 3143 {0x0493, {1, {0x0492}}}, 3144 {0x0495, {1, {0x0494}}}, 3145 {0x0497, {1, {0x0496}}}, 3146 {0x0499, {1, {0x0498}}}, 3147 {0x049b, {1, {0x049a}}}, 3148 {0x049d, {1, {0x049c}}}, 3149 {0x049f, {1, {0x049e}}}, 3150 {0x04a1, {1, {0x04a0}}}, 3151 {0x04a3, {1, {0x04a2}}}, 3152 {0x04a5, {1, {0x04a4}}}, 3153 {0x04a7, {1, {0x04a6}}}, 3154 {0x04a9, {1, {0x04a8}}}, 3155 {0x04ab, {1, {0x04aa}}}, 3156 {0x04ad, {1, {0x04ac}}}, 3157 {0x04af, {1, {0x04ae}}}, 3158 {0x04b1, {1, {0x04b0}}}, 3159 {0x04b3, {1, {0x04b2}}}, 3160 {0x04b5, {1, {0x04b4}}}, 3161 {0x04b7, {1, {0x04b6}}}, 3162 {0x04b9, {1, {0x04b8}}}, 3163 {0x04bb, {1, {0x04ba}}}, 3164 {0x04bd, {1, {0x04bc}}}, 3165 {0x04bf, {1, {0x04be}}}, 3166 {0x04c2, {1, {0x04c1}}}, 3167 {0x04c4, {1, {0x04c3}}}, 3168 {0x04c6, {1, {0x04c5}}}, 3169 {0x04c8, {1, {0x04c7}}}, 3170 {0x04ca, {1, {0x04c9}}}, 3171 {0x04cc, {1, {0x04cb}}}, 3172 {0x04ce, {1, {0x04cd}}}, 3173 {0x04cf, {1, {0x04c0}}}, 3174 {0x04d1, {1, {0x04d0}}}, 3175 {0x04d3, {1, {0x04d2}}}, 3176 {0x04d5, {1, {0x04d4}}}, 3177 {0x04d7, {1, {0x04d6}}}, 3178 {0x04d9, {1, {0x04d8}}}, 3179 {0x04db, {1, {0x04da}}}, 3180 {0x04dd, {1, {0x04dc}}}, 3181 {0x04df, {1, {0x04de}}}, 3182 {0x04e1, {1, {0x04e0}}}, 3183 {0x04e3, {1, {0x04e2}}}, 3184 {0x04e5, {1, {0x04e4}}}, 3185 {0x04e7, {1, {0x04e6}}}, 3186 {0x04e9, {1, {0x04e8}}}, 3187 {0x04eb, {1, {0x04ea}}}, 3188 {0x04ed, {1, {0x04ec}}}, 3189 {0x04ef, {1, {0x04ee}}}, 3190 {0x04f1, {1, {0x04f0}}}, 3191 {0x04f3, {1, {0x04f2}}}, 3192 {0x04f5, {1, {0x04f4}}}, 3193 {0x04f7, {1, {0x04f6}}}, 3194 {0x04f9, {1, {0x04f8}}}, 3195 {0x04fb, {1, {0x04fa}}}, 3196 {0x04fd, {1, {0x04fc}}}, 3197 {0x04ff, {1, {0x04fe}}}, 3198 {0x0501, {1, {0x0500}}}, 3199 {0x0503, {1, {0x0502}}}, 3200 {0x0505, {1, {0x0504}}}, 3201 {0x0507, {1, {0x0506}}}, 3202 {0x0509, {1, {0x0508}}}, 3203 {0x050b, {1, {0x050a}}}, 3204 {0x050d, {1, {0x050c}}}, 3205 {0x050f, {1, {0x050e}}}, 3206 {0x0511, {1, {0x0510}}}, 3207 {0x0513, {1, {0x0512}}}, 3208 {0x0515, {1, {0x0514}}}, 3209 {0x0517, {1, {0x0516}}}, 3210 {0x0519, {1, {0x0518}}}, 3211 {0x051b, {1, {0x051a}}}, 3212 {0x051d, {1, {0x051c}}}, 3213 {0x051f, {1, {0x051e}}}, 3214 {0x0521, {1, {0x0520}}}, 3215 {0x0523, {1, {0x0522}}}, 3216 {0x0525, {1, {0x0524}}}, 3217 {0x0527, {1, {0x0526}}}, 3218 {0x0529, {1, {0x0528}}}, 3219 {0x052b, {1, {0x052a}}}, 3220 {0x052d, {1, {0x052c}}}, 3221 {0x052f, {1, {0x052e}}}, 3222 {0x0561, {1, {0x0531}}}, 3223 {0x0562, {1, {0x0532}}}, 3224 {0x0563, {1, {0x0533}}}, 3225 {0x0564, {1, {0x0534}}}, 3226 {0x0565, {1, {0x0535}}}, 3227 {0x0566, {1, {0x0536}}}, 3228 {0x0567, {1, {0x0537}}}, 3229 {0x0568, {1, {0x0538}}}, 3230 {0x0569, {1, {0x0539}}}, 3231 {0x056a, {1, {0x053a}}}, 3232 {0x056b, {1, {0x053b}}}, 3233 {0x056c, {1, {0x053c}}}, 3234 {0x056d, {1, {0x053d}}}, 3235 {0x056e, {1, {0x053e}}}, 3236 {0x056f, {1, {0x053f}}}, 3237 {0x0570, {1, {0x0540}}}, 3238 {0x0571, {1, {0x0541}}}, 3239 {0x0572, {1, {0x0542}}}, 3240 {0x0573, {1, {0x0543}}}, 3241 {0x0574, {1, {0x0544}}}, 3242 {0x0575, {1, {0x0545}}}, 3243 {0x0576, {1, {0x0546}}}, 3244 {0x0577, {1, {0x0547}}}, 3245 {0x0578, {1, {0x0548}}}, 3246 {0x0579, {1, {0x0549}}}, 3247 {0x057a, {1, {0x054a}}}, 3248 {0x057b, {1, {0x054b}}}, 3249 {0x057c, {1, {0x054c}}}, 3250 {0x057d, {1, {0x054d}}}, 3251 {0x057e, {1, {0x054e}}}, 3252 {0x057f, {1, {0x054f}}}, 3253 {0x0580, {1, {0x0550}}}, 3254 {0x0581, {1, {0x0551}}}, 3255 {0x0582, {1, {0x0552}}}, 3256 {0x0583, {1, {0x0553}}}, 3257 {0x0584, {1, {0x0554}}}, 3258 {0x0585, {1, {0x0555}}}, 3259 {0x0586, {1, {0x0556}}}, 3260 {0x1d79, {1, {0xa77d}}}, 3261 {0x1d7d, {1, {0x2c63}}}, 3262 {0x1e01, {1, {0x1e00}}}, 3263 {0x1e03, {1, {0x1e02}}}, 3264 {0x1e05, {1, {0x1e04}}}, 3265 {0x1e07, {1, {0x1e06}}}, 3266 {0x1e09, {1, {0x1e08}}}, 3267 {0x1e0b, {1, {0x1e0a}}}, 3268 {0x1e0d, {1, {0x1e0c}}}, 3269 {0x1e0f, {1, {0x1e0e}}}, 3270 {0x1e11, {1, {0x1e10}}}, 3271 {0x1e13, {1, {0x1e12}}}, 3272 {0x1e15, {1, {0x1e14}}}, 3273 {0x1e17, {1, {0x1e16}}}, 3274 {0x1e19, {1, {0x1e18}}}, 3275 {0x1e1b, {1, {0x1e1a}}}, 3276 {0x1e1d, {1, {0x1e1c}}}, 3277 {0x1e1f, {1, {0x1e1e}}}, 3278 {0x1e21, {1, {0x1e20}}}, 3279 {0x1e23, {1, {0x1e22}}}, 3280 {0x1e25, {1, {0x1e24}}}, 3281 {0x1e27, {1, {0x1e26}}}, 3282 {0x1e29, {1, {0x1e28}}}, 3283 {0x1e2b, {1, {0x1e2a}}}, 3284 {0x1e2d, {1, {0x1e2c}}}, 3285 {0x1e2f, {1, {0x1e2e}}}, 3286 {0x1e31, {1, {0x1e30}}}, 3287 {0x1e33, {1, {0x1e32}}}, 3288 {0x1e35, {1, {0x1e34}}}, 3289 {0x1e37, {1, {0x1e36}}}, 3290 {0x1e39, {1, {0x1e38}}}, 3291 {0x1e3b, {1, {0x1e3a}}}, 3292 {0x1e3d, {1, {0x1e3c}}}, 3293 {0x1e3f, {1, {0x1e3e}}}, 3294 {0x1e41, {1, {0x1e40}}}, 3295 {0x1e43, {1, {0x1e42}}}, 3296 {0x1e45, {1, {0x1e44}}}, 3297 {0x1e47, {1, {0x1e46}}}, 3298 {0x1e49, {1, {0x1e48}}}, 3299 {0x1e4b, {1, {0x1e4a}}}, 3300 {0x1e4d, {1, {0x1e4c}}}, 3301 {0x1e4f, {1, {0x1e4e}}}, 3302 {0x1e51, {1, {0x1e50}}}, 3303 {0x1e53, {1, {0x1e52}}}, 3304 {0x1e55, {1, {0x1e54}}}, 3305 {0x1e57, {1, {0x1e56}}}, 3306 {0x1e59, {1, {0x1e58}}}, 3307 {0x1e5b, {1, {0x1e5a}}}, 3308 {0x1e5d, {1, {0x1e5c}}}, 3309 {0x1e5f, {1, {0x1e5e}}}, 3310 {0x1e61, {2, {0x1e60, 0x1e9b}}}, 3311 {0x1e63, {1, {0x1e62}}}, 3312 {0x1e65, {1, {0x1e64}}}, 3313 {0x1e67, {1, {0x1e66}}}, 3314 {0x1e69, {1, {0x1e68}}}, 3315 {0x1e6b, {1, {0x1e6a}}}, 3316 {0x1e6d, {1, {0x1e6c}}}, 3317 {0x1e6f, {1, {0x1e6e}}}, 3318 {0x1e71, {1, {0x1e70}}}, 3319 {0x1e73, {1, {0x1e72}}}, 3320 {0x1e75, {1, {0x1e74}}}, 3321 {0x1e77, {1, {0x1e76}}}, 3322 {0x1e79, {1, {0x1e78}}}, 3323 {0x1e7b, {1, {0x1e7a}}}, 3324 {0x1e7d, {1, {0x1e7c}}}, 3325 {0x1e7f, {1, {0x1e7e}}}, 3326 {0x1e81, {1, {0x1e80}}}, 3327 {0x1e83, {1, {0x1e82}}}, 3328 {0x1e85, {1, {0x1e84}}}, 3329 {0x1e87, {1, {0x1e86}}}, 3330 {0x1e89, {1, {0x1e88}}}, 3331 {0x1e8b, {1, {0x1e8a}}}, 3332 {0x1e8d, {1, {0x1e8c}}}, 3333 {0x1e8f, {1, {0x1e8e}}}, 3334 {0x1e91, {1, {0x1e90}}}, 3335 {0x1e93, {1, {0x1e92}}}, 3336 {0x1e95, {1, {0x1e94}}}, 3337 {0x1ea1, {1, {0x1ea0}}}, 3338 {0x1ea3, {1, {0x1ea2}}}, 3339 {0x1ea5, {1, {0x1ea4}}}, 3340 {0x1ea7, {1, {0x1ea6}}}, 3341 {0x1ea9, {1, {0x1ea8}}}, 3342 {0x1eab, {1, {0x1eaa}}}, 3343 {0x1ead, {1, {0x1eac}}}, 3344 {0x1eaf, {1, {0x1eae}}}, 3345 {0x1eb1, {1, {0x1eb0}}}, 3346 {0x1eb3, {1, {0x1eb2}}}, 3347 {0x1eb5, {1, {0x1eb4}}}, 3348 {0x1eb7, {1, {0x1eb6}}}, 3349 {0x1eb9, {1, {0x1eb8}}}, 3350 {0x1ebb, {1, {0x1eba}}}, 3351 {0x1ebd, {1, {0x1ebc}}}, 3352 {0x1ebf, {1, {0x1ebe}}}, 3353 {0x1ec1, {1, {0x1ec0}}}, 3354 {0x1ec3, {1, {0x1ec2}}}, 3355 {0x1ec5, {1, {0x1ec4}}}, 3356 {0x1ec7, {1, {0x1ec6}}}, 3357 {0x1ec9, {1, {0x1ec8}}}, 3358 {0x1ecb, {1, {0x1eca}}}, 3359 {0x1ecd, {1, {0x1ecc}}}, 3360 {0x1ecf, {1, {0x1ece}}}, 3361 {0x1ed1, {1, {0x1ed0}}}, 3362 {0x1ed3, {1, {0x1ed2}}}, 3363 {0x1ed5, {1, {0x1ed4}}}, 3364 {0x1ed7, {1, {0x1ed6}}}, 3365 {0x1ed9, {1, {0x1ed8}}}, 3366 {0x1edb, {1, {0x1eda}}}, 3367 {0x1edd, {1, {0x1edc}}}, 3368 {0x1edf, {1, {0x1ede}}}, 3369 {0x1ee1, {1, {0x1ee0}}}, 3370 {0x1ee3, {1, {0x1ee2}}}, 3371 {0x1ee5, {1, {0x1ee4}}}, 3372 {0x1ee7, {1, {0x1ee6}}}, 3373 {0x1ee9, {1, {0x1ee8}}}, 3374 {0x1eeb, {1, {0x1eea}}}, 3375 {0x1eed, {1, {0x1eec}}}, 3376 {0x1eef, {1, {0x1eee}}}, 3377 {0x1ef1, {1, {0x1ef0}}}, 3378 {0x1ef3, {1, {0x1ef2}}}, 3379 {0x1ef5, {1, {0x1ef4}}}, 3380 {0x1ef7, {1, {0x1ef6}}}, 3381 {0x1ef9, {1, {0x1ef8}}}, 3382 {0x1efb, {1, {0x1efa}}}, 3383 {0x1efd, {1, {0x1efc}}}, 3384 {0x1eff, {1, {0x1efe}}}, 3385 {0x1f00, {1, {0x1f08}}}, 3386 {0x1f01, {1, {0x1f09}}}, 3387 {0x1f02, {1, {0x1f0a}}}, 3388 {0x1f03, {1, {0x1f0b}}}, 3389 {0x1f04, {1, {0x1f0c}}}, 3390 {0x1f05, {1, {0x1f0d}}}, 3391 {0x1f06, {1, {0x1f0e}}}, 3392 {0x1f07, {1, {0x1f0f}}}, 3393 {0x1f10, {1, {0x1f18}}}, 3394 {0x1f11, {1, {0x1f19}}}, 3395 {0x1f12, {1, {0x1f1a}}}, 3396 {0x1f13, {1, {0x1f1b}}}, 3397 {0x1f14, {1, {0x1f1c}}}, 3398 {0x1f15, {1, {0x1f1d}}}, 3399 {0x1f20, {1, {0x1f28}}}, 3400 {0x1f21, {1, {0x1f29}}}, 3401 {0x1f22, {1, {0x1f2a}}}, 3402 {0x1f23, {1, {0x1f2b}}}, 3403 {0x1f24, {1, {0x1f2c}}}, 3404 {0x1f25, {1, {0x1f2d}}}, 3405 {0x1f26, {1, {0x1f2e}}}, 3406 {0x1f27, {1, {0x1f2f}}}, 3407 {0x1f30, {1, {0x1f38}}}, 3408 {0x1f31, {1, {0x1f39}}}, 3409 {0x1f32, {1, {0x1f3a}}}, 3410 {0x1f33, {1, {0x1f3b}}}, 3411 {0x1f34, {1, {0x1f3c}}}, 3412 {0x1f35, {1, {0x1f3d}}}, 3413 {0x1f36, {1, {0x1f3e}}}, 3414 {0x1f37, {1, {0x1f3f}}}, 3415 {0x1f40, {1, {0x1f48}}}, 3416 {0x1f41, {1, {0x1f49}}}, 3417 {0x1f42, {1, {0x1f4a}}}, 3418 {0x1f43, {1, {0x1f4b}}}, 3419 {0x1f44, {1, {0x1f4c}}}, 3420 {0x1f45, {1, {0x1f4d}}}, 3421 {0x1f51, {1, {0x1f59}}}, 3422 {0x1f53, {1, {0x1f5b}}}, 3423 {0x1f55, {1, {0x1f5d}}}, 3424 {0x1f57, {1, {0x1f5f}}}, 3425 {0x1f60, {1, {0x1f68}}}, 3426 {0x1f61, {1, {0x1f69}}}, 3427 {0x1f62, {1, {0x1f6a}}}, 3428 {0x1f63, {1, {0x1f6b}}}, 3429 {0x1f64, {1, {0x1f6c}}}, 3430 {0x1f65, {1, {0x1f6d}}}, 3431 {0x1f66, {1, {0x1f6e}}}, 3432 {0x1f67, {1, {0x1f6f}}}, 3433 {0x1f70, {1, {0x1fba}}}, 3434 {0x1f71, {1, {0x1fbb}}}, 3435 {0x1f72, {1, {0x1fc8}}}, 3436 {0x1f73, {1, {0x1fc9}}}, 3437 {0x1f74, {1, {0x1fca}}}, 3438 {0x1f75, {1, {0x1fcb}}}, 3439 {0x1f76, {1, {0x1fda}}}, 3440 {0x1f77, {1, {0x1fdb}}}, 3441 {0x1f78, {1, {0x1ff8}}}, 3442 {0x1f79, {1, {0x1ff9}}}, 3443 {0x1f7a, {1, {0x1fea}}}, 3444 {0x1f7b, {1, {0x1feb}}}, 3445 {0x1f7c, {1, {0x1ffa}}}, 3446 {0x1f7d, {1, {0x1ffb}}}, 3447 {0x1fb0, {1, {0x1fb8}}}, 3448 {0x1fb1, {1, {0x1fb9}}}, 3449 {0x1fd0, {1, {0x1fd8}}}, 3450 {0x1fd1, {1, {0x1fd9}}}, 3451 {0x1fe0, {1, {0x1fe8}}}, 3452 {0x1fe1, {1, {0x1fe9}}}, 3453 {0x1fe5, {1, {0x1fec}}}, 3454 {0x214e, {1, {0x2132}}}, 3455 {0x2170, {1, {0x2160}}}, 3456 {0x2171, {1, {0x2161}}}, 3457 {0x2172, {1, {0x2162}}}, 3458 {0x2173, {1, {0x2163}}}, 3459 {0x2174, {1, {0x2164}}}, 3460 {0x2175, {1, {0x2165}}}, 3461 {0x2176, {1, {0x2166}}}, 3462 {0x2177, {1, {0x2167}}}, 3463 {0x2178, {1, {0x2168}}}, 3464 {0x2179, {1, {0x2169}}}, 3465 {0x217a, {1, {0x216a}}}, 3466 {0x217b, {1, {0x216b}}}, 3467 {0x217c, {1, {0x216c}}}, 3468 {0x217d, {1, {0x216d}}}, 3469 {0x217e, {1, {0x216e}}}, 3470 {0x217f, {1, {0x216f}}}, 3471 {0x2184, {1, {0x2183}}}, 3472 {0x24d0, {1, {0x24b6}}}, 3473 {0x24d1, {1, {0x24b7}}}, 3474 {0x24d2, {1, {0x24b8}}}, 3475 {0x24d3, {1, {0x24b9}}}, 3476 {0x24d4, {1, {0x24ba}}}, 3477 {0x24d5, {1, {0x24bb}}}, 3478 {0x24d6, {1, {0x24bc}}}, 3479 {0x24d7, {1, {0x24bd}}}, 3480 {0x24d8, {1, {0x24be}}}, 3481 {0x24d9, {1, {0x24bf}}}, 3482 {0x24da, {1, {0x24c0}}}, 3483 {0x24db, {1, {0x24c1}}}, 3484 {0x24dc, {1, {0x24c2}}}, 3485 {0x24dd, {1, {0x24c3}}}, 3486 {0x24de, {1, {0x24c4}}}, 3487 {0x24df, {1, {0x24c5}}}, 3488 {0x24e0, {1, {0x24c6}}}, 3489 {0x24e1, {1, {0x24c7}}}, 3490 {0x24e2, {1, {0x24c8}}}, 3491 {0x24e3, {1, {0x24c9}}}, 3492 {0x24e4, {1, {0x24ca}}}, 3493 {0x24e5, {1, {0x24cb}}}, 3494 {0x24e6, {1, {0x24cc}}}, 3495 {0x24e7, {1, {0x24cd}}}, 3496 {0x24e8, {1, {0x24ce}}}, 3497 {0x24e9, {1, {0x24cf}}}, 3498 {0x2c30, {1, {0x2c00}}}, 3499 {0x2c31, {1, {0x2c01}}}, 3500 {0x2c32, {1, {0x2c02}}}, 3501 {0x2c33, {1, {0x2c03}}}, 3502 {0x2c34, {1, {0x2c04}}}, 3503 {0x2c35, {1, {0x2c05}}}, 3504 {0x2c36, {1, {0x2c06}}}, 3505 {0x2c37, {1, {0x2c07}}}, 3506 {0x2c38, {1, {0x2c08}}}, 3507 {0x2c39, {1, {0x2c09}}}, 3508 {0x2c3a, {1, {0x2c0a}}}, 3509 {0x2c3b, {1, {0x2c0b}}}, 3510 {0x2c3c, {1, {0x2c0c}}}, 3511 {0x2c3d, {1, {0x2c0d}}}, 3512 {0x2c3e, {1, {0x2c0e}}}, 3513 {0x2c3f, {1, {0x2c0f}}}, 3514 {0x2c40, {1, {0x2c10}}}, 3515 {0x2c41, {1, {0x2c11}}}, 3516 {0x2c42, {1, {0x2c12}}}, 3517 {0x2c43, {1, {0x2c13}}}, 3518 {0x2c44, {1, {0x2c14}}}, 3519 {0x2c45, {1, {0x2c15}}}, 3520 {0x2c46, {1, {0x2c16}}}, 3521 {0x2c47, {1, {0x2c17}}}, 3522 {0x2c48, {1, {0x2c18}}}, 3523 {0x2c49, {1, {0x2c19}}}, 3524 {0x2c4a, {1, {0x2c1a}}}, 3525 {0x2c4b, {1, {0x2c1b}}}, 3526 {0x2c4c, {1, {0x2c1c}}}, 3527 {0x2c4d, {1, {0x2c1d}}}, 3528 {0x2c4e, {1, {0x2c1e}}}, 3529 {0x2c4f, {1, {0x2c1f}}}, 3530 {0x2c50, {1, {0x2c20}}}, 3531 {0x2c51, {1, {0x2c21}}}, 3532 {0x2c52, {1, {0x2c22}}}, 3533 {0x2c53, {1, {0x2c23}}}, 3534 {0x2c54, {1, {0x2c24}}}, 3535 {0x2c55, {1, {0x2c25}}}, 3536 {0x2c56, {1, {0x2c26}}}, 3537 {0x2c57, {1, {0x2c27}}}, 3538 {0x2c58, {1, {0x2c28}}}, 3539 {0x2c59, {1, {0x2c29}}}, 3540 {0x2c5a, {1, {0x2c2a}}}, 3541 {0x2c5b, {1, {0x2c2b}}}, 3542 {0x2c5c, {1, {0x2c2c}}}, 3543 {0x2c5d, {1, {0x2c2d}}}, 3544 {0x2c5e, {1, {0x2c2e}}}, 3545 {0x2c61, {1, {0x2c60}}}, 3546 {0x2c65, {1, {0x023a}}}, 3547 {0x2c66, {1, {0x023e}}}, 3548 {0x2c68, {1, {0x2c67}}}, 3549 {0x2c6a, {1, {0x2c69}}}, 3550 {0x2c6c, {1, {0x2c6b}}}, 3551 {0x2c73, {1, {0x2c72}}}, 3552 {0x2c76, {1, {0x2c75}}}, 3553 {0x2c81, {1, {0x2c80}}}, 3554 {0x2c83, {1, {0x2c82}}}, 3555 {0x2c85, {1, {0x2c84}}}, 3556 {0x2c87, {1, {0x2c86}}}, 3557 {0x2c89, {1, {0x2c88}}}, 3558 {0x2c8b, {1, {0x2c8a}}}, 3559 {0x2c8d, {1, {0x2c8c}}}, 3560 {0x2c8f, {1, {0x2c8e}}}, 3561 {0x2c91, {1, {0x2c90}}}, 3562 {0x2c93, {1, {0x2c92}}}, 3563 {0x2c95, {1, {0x2c94}}}, 3564 {0x2c97, {1, {0x2c96}}}, 3565 {0x2c99, {1, {0x2c98}}}, 3566 {0x2c9b, {1, {0x2c9a}}}, 3567 {0x2c9d, {1, {0x2c9c}}}, 3568 {0x2c9f, {1, {0x2c9e}}}, 3569 {0x2ca1, {1, {0x2ca0}}}, 3570 {0x2ca3, {1, {0x2ca2}}}, 3571 {0x2ca5, {1, {0x2ca4}}}, 3572 {0x2ca7, {1, {0x2ca6}}}, 3573 {0x2ca9, {1, {0x2ca8}}}, 3574 {0x2cab, {1, {0x2caa}}}, 3575 {0x2cad, {1, {0x2cac}}}, 3576 {0x2caf, {1, {0x2cae}}}, 3577 {0x2cb1, {1, {0x2cb0}}}, 3578 {0x2cb3, {1, {0x2cb2}}}, 3579 {0x2cb5, {1, {0x2cb4}}}, 3580 {0x2cb7, {1, {0x2cb6}}}, 3581 {0x2cb9, {1, {0x2cb8}}}, 3582 {0x2cbb, {1, {0x2cba}}}, 3583 {0x2cbd, {1, {0x2cbc}}}, 3584 {0x2cbf, {1, {0x2cbe}}}, 3585 {0x2cc1, {1, {0x2cc0}}}, 3586 {0x2cc3, {1, {0x2cc2}}}, 3587 {0x2cc5, {1, {0x2cc4}}}, 3588 {0x2cc7, {1, {0x2cc6}}}, 3589 {0x2cc9, {1, {0x2cc8}}}, 3590 {0x2ccb, {1, {0x2cca}}}, 3591 {0x2ccd, {1, {0x2ccc}}}, 3592 {0x2ccf, {1, {0x2cce}}}, 3593 {0x2cd1, {1, {0x2cd0}}}, 3594 {0x2cd3, {1, {0x2cd2}}}, 3595 {0x2cd5, {1, {0x2cd4}}}, 3596 {0x2cd7, {1, {0x2cd6}}}, 3597 {0x2cd9, {1, {0x2cd8}}}, 3598 {0x2cdb, {1, {0x2cda}}}, 3599 {0x2cdd, {1, {0x2cdc}}}, 3600 {0x2cdf, {1, {0x2cde}}}, 3601 {0x2ce1, {1, {0x2ce0}}}, 3602 {0x2ce3, {1, {0x2ce2}}}, 3603 {0x2cec, {1, {0x2ceb}}}, 3604 {0x2cee, {1, {0x2ced}}}, 3605 {0x2cf3, {1, {0x2cf2}}}, 3606 {0x2d00, {1, {0x10a0}}}, 3607 {0x2d01, {1, {0x10a1}}}, 3608 {0x2d02, {1, {0x10a2}}}, 3609 {0x2d03, {1, {0x10a3}}}, 3610 {0x2d04, {1, {0x10a4}}}, 3611 {0x2d05, {1, {0x10a5}}}, 3612 {0x2d06, {1, {0x10a6}}}, 3613 {0x2d07, {1, {0x10a7}}}, 3614 {0x2d08, {1, {0x10a8}}}, 3615 {0x2d09, {1, {0x10a9}}}, 3616 {0x2d0a, {1, {0x10aa}}}, 3617 {0x2d0b, {1, {0x10ab}}}, 3618 {0x2d0c, {1, {0x10ac}}}, 3619 {0x2d0d, {1, {0x10ad}}}, 3620 {0x2d0e, {1, {0x10ae}}}, 3621 {0x2d0f, {1, {0x10af}}}, 3622 {0x2d10, {1, {0x10b0}}}, 3623 {0x2d11, {1, {0x10b1}}}, 3624 {0x2d12, {1, {0x10b2}}}, 3625 {0x2d13, {1, {0x10b3}}}, 3626 {0x2d14, {1, {0x10b4}}}, 3627 {0x2d15, {1, {0x10b5}}}, 3628 {0x2d16, {1, {0x10b6}}}, 3629 {0x2d17, {1, {0x10b7}}}, 3630 {0x2d18, {1, {0x10b8}}}, 3631 {0x2d19, {1, {0x10b9}}}, 3632 {0x2d1a, {1, {0x10ba}}}, 3633 {0x2d1b, {1, {0x10bb}}}, 3634 {0x2d1c, {1, {0x10bc}}}, 3635 {0x2d1d, {1, {0x10bd}}}, 3636 {0x2d1e, {1, {0x10be}}}, 3637 {0x2d1f, {1, {0x10bf}}}, 3638 {0x2d20, {1, {0x10c0}}}, 3639 {0x2d21, {1, {0x10c1}}}, 3640 {0x2d22, {1, {0x10c2}}}, 3641 {0x2d23, {1, {0x10c3}}}, 3642 {0x2d24, {1, {0x10c4}}}, 3643 {0x2d25, {1, {0x10c5}}}, 3644 {0x2d27, {1, {0x10c7}}}, 3645 {0x2d2d, {1, {0x10cd}}}, 3646 {0xa641, {1, {0xa640}}}, 3647 {0xa643, {1, {0xa642}}}, 3648 {0xa645, {1, {0xa644}}}, 3649 {0xa647, {1, {0xa646}}}, 3650 {0xa649, {1, {0xa648}}}, 3651 {0xa64b, {1, {0xa64a}}}, 3652 {0xa64d, {1, {0xa64c}}}, 3653 {0xa64f, {1, {0xa64e}}}, 3654 {0xa651, {1, {0xa650}}}, 3655 {0xa653, {1, {0xa652}}}, 3656 {0xa655, {1, {0xa654}}}, 3657 {0xa657, {1, {0xa656}}}, 3658 {0xa659, {1, {0xa658}}}, 3659 {0xa65b, {1, {0xa65a}}}, 3660 {0xa65d, {1, {0xa65c}}}, 3661 {0xa65f, {1, {0xa65e}}}, 3662 {0xa661, {1, {0xa660}}}, 3663 {0xa663, {1, {0xa662}}}, 3664 {0xa665, {1, {0xa664}}}, 3665 {0xa667, {1, {0xa666}}}, 3666 {0xa669, {1, {0xa668}}}, 3667 {0xa66b, {1, {0xa66a}}}, 3668 {0xa66d, {1, {0xa66c}}}, 3669 {0xa681, {1, {0xa680}}}, 3670 {0xa683, {1, {0xa682}}}, 3671 {0xa685, {1, {0xa684}}}, 3672 {0xa687, {1, {0xa686}}}, 3673 {0xa689, {1, {0xa688}}}, 3674 {0xa68b, {1, {0xa68a}}}, 3675 {0xa68d, {1, {0xa68c}}}, 3676 {0xa68f, {1, {0xa68e}}}, 3677 {0xa691, {1, {0xa690}}}, 3678 {0xa693, {1, {0xa692}}}, 3679 {0xa695, {1, {0xa694}}}, 3680 {0xa697, {1, {0xa696}}}, 3681 {0xa699, {1, {0xa698}}}, 3682 {0xa69b, {1, {0xa69a}}}, 3683 {0xa723, {1, {0xa722}}}, 3684 {0xa725, {1, {0xa724}}}, 3685 {0xa727, {1, {0xa726}}}, 3686 {0xa729, {1, {0xa728}}}, 3687 {0xa72b, {1, {0xa72a}}}, 3688 {0xa72d, {1, {0xa72c}}}, 3689 {0xa72f, {1, {0xa72e}}}, 3690 {0xa733, {1, {0xa732}}}, 3691 {0xa735, {1, {0xa734}}}, 3692 {0xa737, {1, {0xa736}}}, 3693 {0xa739, {1, {0xa738}}}, 3694 {0xa73b, {1, {0xa73a}}}, 3695 {0xa73d, {1, {0xa73c}}}, 3696 {0xa73f, {1, {0xa73e}}}, 3697 {0xa741, {1, {0xa740}}}, 3698 {0xa743, {1, {0xa742}}}, 3699 {0xa745, {1, {0xa744}}}, 3700 {0xa747, {1, {0xa746}}}, 3701 {0xa749, {1, {0xa748}}}, 3702 {0xa74b, {1, {0xa74a}}}, 3703 {0xa74d, {1, {0xa74c}}}, 3704 {0xa74f, {1, {0xa74e}}}, 3705 {0xa751, {1, {0xa750}}}, 3706 {0xa753, {1, {0xa752}}}, 3707 {0xa755, {1, {0xa754}}}, 3708 {0xa757, {1, {0xa756}}}, 3709 {0xa759, {1, {0xa758}}}, 3710 {0xa75b, {1, {0xa75a}}}, 3711 {0xa75d, {1, {0xa75c}}}, 3712 {0xa75f, {1, {0xa75e}}}, 3713 {0xa761, {1, {0xa760}}}, 3714 {0xa763, {1, {0xa762}}}, 3715 {0xa765, {1, {0xa764}}}, 3716 {0xa767, {1, {0xa766}}}, 3717 {0xa769, {1, {0xa768}}}, 3718 {0xa76b, {1, {0xa76a}}}, 3719 {0xa76d, {1, {0xa76c}}}, 3720 {0xa76f, {1, {0xa76e}}}, 3721 {0xa77a, {1, {0xa779}}}, 3722 {0xa77c, {1, {0xa77b}}}, 3723 {0xa77f, {1, {0xa77e}}}, 3724 {0xa781, {1, {0xa780}}}, 3725 {0xa783, {1, {0xa782}}}, 3726 {0xa785, {1, {0xa784}}}, 3727 {0xa787, {1, {0xa786}}}, 3728 {0xa78c, {1, {0xa78b}}}, 3729 {0xa791, {1, {0xa790}}}, 3730 {0xa793, {1, {0xa792}}}, 3731 {0xa797, {1, {0xa796}}}, 3732 {0xa799, {1, {0xa798}}}, 3733 {0xa79b, {1, {0xa79a}}}, 3734 {0xa79d, {1, {0xa79c}}}, 3735 {0xa79f, {1, {0xa79e}}}, 3736 {0xa7a1, {1, {0xa7a0}}}, 3737 {0xa7a3, {1, {0xa7a2}}}, 3738 {0xa7a5, {1, {0xa7a4}}}, 3739 {0xa7a7, {1, {0xa7a6}}}, 3740 {0xa7a9, {1, {0xa7a8}}}, 3741 {0xff41, {1, {0xff21}}}, 3742 {0xff42, {1, {0xff22}}}, 3743 {0xff43, {1, {0xff23}}}, 3744 {0xff44, {1, {0xff24}}}, 3745 {0xff45, {1, {0xff25}}}, 3746 {0xff46, {1, {0xff26}}}, 3747 {0xff47, {1, {0xff27}}}, 3748 {0xff48, {1, {0xff28}}}, 3749 {0xff49, {1, {0xff29}}}, 3750 {0xff4a, {1, {0xff2a}}}, 3751 {0xff4b, {1, {0xff2b}}}, 3752 {0xff4c, {1, {0xff2c}}}, 3753 {0xff4d, {1, {0xff2d}}}, 3754 {0xff4e, {1, {0xff2e}}}, 3755 {0xff4f, {1, {0xff2f}}}, 3756 {0xff50, {1, {0xff30}}}, 3757 {0xff51, {1, {0xff31}}}, 3758 {0xff52, {1, {0xff32}}}, 3759 {0xff53, {1, {0xff33}}}, 3760 {0xff54, {1, {0xff34}}}, 3761 {0xff55, {1, {0xff35}}}, 3762 {0xff56, {1, {0xff36}}}, 3763 {0xff57, {1, {0xff37}}}, 3764 {0xff58, {1, {0xff38}}}, 3765 {0xff59, {1, {0xff39}}}, 3766 {0xff5a, {1, {0xff3a}}}, 3767 {0x10428, {1, {0x10400}}}, 3768 {0x10429, {1, {0x10401}}}, 3769 {0x1042a, {1, {0x10402}}}, 3770 {0x1042b, {1, {0x10403}}}, 3771 {0x1042c, {1, {0x10404}}}, 3772 {0x1042d, {1, {0x10405}}}, 3773 {0x1042e, {1, {0x10406}}}, 3774 {0x1042f, {1, {0x10407}}}, 3775 {0x10430, {1, {0x10408}}}, 3776 {0x10431, {1, {0x10409}}}, 3777 {0x10432, {1, {0x1040a}}}, 3778 {0x10433, {1, {0x1040b}}}, 3779 {0x10434, {1, {0x1040c}}}, 3780 {0x10435, {1, {0x1040d}}}, 3781 {0x10436, {1, {0x1040e}}}, 3782 {0x10437, {1, {0x1040f}}}, 3783 {0x10438, {1, {0x10410}}}, 3784 {0x10439, {1, {0x10411}}}, 3785 {0x1043a, {1, {0x10412}}}, 3786 {0x1043b, {1, {0x10413}}}, 3787 {0x1043c, {1, {0x10414}}}, 3788 {0x1043d, {1, {0x10415}}}, 3789 {0x1043e, {1, {0x10416}}}, 3790 {0x1043f, {1, {0x10417}}}, 3791 {0x10440, {1, {0x10418}}}, 3792 {0x10441, {1, {0x10419}}}, 3793 {0x10442, {1, {0x1041a}}}, 3794 {0x10443, {1, {0x1041b}}}, 3795 {0x10444, {1, {0x1041c}}}, 3796 {0x10445, {1, {0x1041d}}}, 3797 {0x10446, {1, {0x1041e}}}, 3798 {0x10447, {1, {0x1041f}}}, 3799 {0x10448, {1, {0x10420}}}, 3800 {0x10449, {1, {0x10421}}}, 3801 {0x1044a, {1, {0x10422}}}, 3802 {0x1044b, {1, {0x10423}}}, 3803 {0x1044c, {1, {0x10424}}}, 3804 {0x1044d, {1, {0x10425}}}, 3805 {0x1044e, {1, {0x10426}}}, 3806 {0x1044f, {1, {0x10427}}}, 3807 {0x118c0, {1, {0x118a0}}}, 3808 {0x118c1, {1, {0x118a1}}}, 3809 {0x118c2, {1, {0x118a2}}}, 3810 {0x118c3, {1, {0x118a3}}}, 3811 {0x118c4, {1, {0x118a4}}}, 3812 {0x118c5, {1, {0x118a5}}}, 3813 {0x118c6, {1, {0x118a6}}}, 3814 {0x118c7, {1, {0x118a7}}}, 3815 {0x118c8, {1, {0x118a8}}}, 3816 {0x118c9, {1, {0x118a9}}}, 3817 {0x118ca, {1, {0x118aa}}}, 3818 {0x118cb, {1, {0x118ab}}}, 3819 {0x118cc, {1, {0x118ac}}}, 3820 {0x118cd, {1, {0x118ad}}}, 3821 {0x118ce, {1, {0x118ae}}}, 3822 {0x118cf, {1, {0x118af}}}, 3823 {0x118d0, {1, {0x118b0}}}, 3824 {0x118d1, {1, {0x118b1}}}, 3825 {0x118d2, {1, {0x118b2}}}, 3826 {0x118d3, {1, {0x118b3}}}, 3827 {0x118d4, {1, {0x118b4}}}, 3828 {0x118d5, {1, {0x118b5}}}, 3829 {0x118d6, {1, {0x118b6}}}, 3830 {0x118d7, {1, {0x118b7}}}, 3831 {0x118d8, {1, {0x118b8}}}, 3832 {0x118d9, {1, {0x118b9}}}, 3833 {0x118da, {1, {0x118ba}}}, 3834 {0x118db, {1, {0x118bb}}}, 3835 {0x118dc, {1, {0x118bc}}}, 3836 {0x118dd, {1, {0x118bd}}}, 3837 {0x118de, {1, {0x118be}}}, 3838 {0x118df, {1, {0x118bf}}}, 3839 #define CaseUnfold_11_Locale (*(CaseUnfold_11_Type (*)[1])(CaseUnfold_11_Table+1054)) 3840 {0x0069, {1, {0x0049}}}, 3594 #define CaseUnfold_11 (*(CaseUnfold_11_Type (*)[1266])(CaseUnfold_11_Table+0)) 3595 {0x0061, {1|U, {0x0041}}}, 3596 {0x0062, {1|U, {0x0042}}}, 3597 {0x0063, {1|U, {0x0043}}}, 3598 {0x0064, {1|U, {0x0044}}}, 3599 {0x0065, {1|U, {0x0045}}}, 3600 {0x0066, {1|U, {0x0046}}}, 3601 {0x0067, {1|U, {0x0047}}}, 3602 {0x0068, {1|U, {0x0048}}}, 3603 {0x006a, {1|U, {0x004a}}}, 3604 {0x006b, {2|U, {0x004b, 0x212a}}}, 3605 {0x006c, {1|U, {0x004c}}}, 3606 {0x006d, {1|U, {0x004d}}}, 3607 {0x006e, {1|U, {0x004e}}}, 3608 {0x006f, {1|U, {0x004f}}}, 3609 {0x0070, {1|U, {0x0050}}}, 3610 {0x0071, {1|U, {0x0051}}}, 3611 {0x0072, {1|U, {0x0052}}}, 3612 {0x0073, {2|U, {0x0053, 0x017f}}}, 3613 {0x0074, {1|U, {0x0054}}}, 3614 {0x0075, {1|U, {0x0055}}}, 3615 {0x0076, {1|U, {0x0056}}}, 3616 {0x0077, {1|U, {0x0057}}}, 3617 {0x0078, {1|U, {0x0058}}}, 3618 {0x0079, {1|U, {0x0059}}}, 3619 {0x007a, {1|U, {0x005a}}}, 3620 {0x00e0, {1|U, {0x00c0}}}, 3621 {0x00e1, {1|U, {0x00c1}}}, 3622 {0x00e2, {1|U, {0x00c2}}}, 3623 {0x00e3, {1|U, {0x00c3}}}, 3624 {0x00e4, {1|U, {0x00c4}}}, 3625 {0x00e5, {2|U, {0x00c5, 0x212b}}}, 3626 {0x00e6, {1|U, {0x00c6}}}, 3627 {0x00e7, {1|U, {0x00c7}}}, 3628 {0x00e8, {1|U, {0x00c8}}}, 3629 {0x00e9, {1|U, {0x00c9}}}, 3630 {0x00ea, {1|U, {0x00ca}}}, 3631 {0x00eb, {1|U, {0x00cb}}}, 3632 {0x00ec, {1|U, {0x00cc}}}, 3633 {0x00ed, {1|U, {0x00cd}}}, 3634 {0x00ee, {1|U, {0x00ce}}}, 3635 {0x00ef, {1|U, {0x00cf}}}, 3636 {0x00f0, {1|U, {0x00d0}}}, 3637 {0x00f1, {1|U, {0x00d1}}}, 3638 {0x00f2, {1|U, {0x00d2}}}, 3639 {0x00f3, {1|U, {0x00d3}}}, 3640 {0x00f4, {1|U, {0x00d4}}}, 3641 {0x00f5, {1|U, {0x00d5}}}, 3642 {0x00f6, {1|U, {0x00d6}}}, 3643 {0x00f8, {1|U, {0x00d8}}}, 3644 {0x00f9, {1|U, {0x00d9}}}, 3645 {0x00fa, {1|U, {0x00da}}}, 3646 {0x00fb, {1|U, {0x00db}}}, 3647 {0x00fc, {1|U, {0x00dc}}}, 3648 {0x00fd, {1|U, {0x00dd}}}, 3649 {0x00fe, {1|U, {0x00de}}}, 3650 {0x00ff, {1|U, {0x0178}}}, 3651 {0x0101, {1|U, {0x0100}}}, 3652 {0x0103, {1|U, {0x0102}}}, 3653 {0x0105, {1|U, {0x0104}}}, 3654 {0x0107, {1|U, {0x0106}}}, 3655 {0x0109, {1|U, {0x0108}}}, 3656 {0x010b, {1|U, {0x010a}}}, 3657 {0x010d, {1|U, {0x010c}}}, 3658 {0x010f, {1|U, {0x010e}}}, 3659 {0x0111, {1|U, {0x0110}}}, 3660 {0x0113, {1|U, {0x0112}}}, 3661 {0x0115, {1|U, {0x0114}}}, 3662 {0x0117, {1|U, {0x0116}}}, 3663 {0x0119, {1|U, {0x0118}}}, 3664 {0x011b, {1|U, {0x011a}}}, 3665 {0x011d, {1|U, {0x011c}}}, 3666 {0x011f, {1|U, {0x011e}}}, 3667 {0x0121, {1|U, {0x0120}}}, 3668 {0x0123, {1|U, {0x0122}}}, 3669 {0x0125, {1|U, {0x0124}}}, 3670 {0x0127, {1|U, {0x0126}}}, 3671 {0x0129, {1|U, {0x0128}}}, 3672 {0x012b, {1|U, {0x012a}}}, 3673 {0x012d, {1|U, {0x012c}}}, 3674 {0x012f, {1|U, {0x012e}}}, 3675 {0x0133, {1|U, {0x0132}}}, 3676 {0x0135, {1|U, {0x0134}}}, 3677 {0x0137, {1|U, {0x0136}}}, 3678 {0x013a, {1|U, {0x0139}}}, 3679 {0x013c, {1|U, {0x013b}}}, 3680 {0x013e, {1|U, {0x013d}}}, 3681 {0x0140, {1|U, {0x013f}}}, 3682 {0x0142, {1|U, {0x0141}}}, 3683 {0x0144, {1|U, {0x0143}}}, 3684 {0x0146, {1|U, {0x0145}}}, 3685 {0x0148, {1|U, {0x0147}}}, 3686 {0x014b, {1|U, {0x014a}}}, 3687 {0x014d, {1|U, {0x014c}}}, 3688 {0x014f, {1|U, {0x014e}}}, 3689 {0x0151, {1|U, {0x0150}}}, 3690 {0x0153, {1|U, {0x0152}}}, 3691 {0x0155, {1|U, {0x0154}}}, 3692 {0x0157, {1|U, {0x0156}}}, 3693 {0x0159, {1|U, {0x0158}}}, 3694 {0x015b, {1|U, {0x015a}}}, 3695 {0x015d, {1|U, {0x015c}}}, 3696 {0x015f, {1|U, {0x015e}}}, 3697 {0x0161, {1|U, {0x0160}}}, 3698 {0x0163, {1|U, {0x0162}}}, 3699 {0x0165, {1|U, {0x0164}}}, 3700 {0x0167, {1|U, {0x0166}}}, 3701 {0x0169, {1|U, {0x0168}}}, 3702 {0x016b, {1|U, {0x016a}}}, 3703 {0x016d, {1|U, {0x016c}}}, 3704 {0x016f, {1|U, {0x016e}}}, 3705 {0x0171, {1|U, {0x0170}}}, 3706 {0x0173, {1|U, {0x0172}}}, 3707 {0x0175, {1|U, {0x0174}}}, 3708 {0x0177, {1|U, {0x0176}}}, 3709 {0x017a, {1|U, {0x0179}}}, 3710 {0x017c, {1|U, {0x017b}}}, 3711 {0x017e, {1|U, {0x017d}}}, 3712 {0x0180, {1|U, {0x0243}}}, 3713 {0x0183, {1|U, {0x0182}}}, 3714 {0x0185, {1|U, {0x0184}}}, 3715 {0x0188, {1|U, {0x0187}}}, 3716 {0x018c, {1|U, {0x018b}}}, 3717 {0x0192, {1|U, {0x0191}}}, 3718 {0x0195, {1|U, {0x01f6}}}, 3719 {0x0199, {1|U, {0x0198}}}, 3720 {0x019a, {1|U, {0x023d}}}, 3721 {0x019e, {1|U, {0x0220}}}, 3722 {0x01a1, {1|U, {0x01a0}}}, 3723 {0x01a3, {1|U, {0x01a2}}}, 3724 {0x01a5, {1|U, {0x01a4}}}, 3725 {0x01a8, {1|U, {0x01a7}}}, 3726 {0x01ad, {1|U, {0x01ac}}}, 3727 {0x01b0, {1|U, {0x01af}}}, 3728 {0x01b4, {1|U, {0x01b3}}}, 3729 {0x01b6, {1|U, {0x01b5}}}, 3730 {0x01b9, {1|U, {0x01b8}}}, 3731 {0x01bd, {1|U, {0x01bc}}}, 3732 {0x01bf, {1|U, {0x01f7}}}, 3733 {0x01c6, {2|U|ST, {0x01c4, 0x01c5}}}, 3734 {0x01c9, {2|U|ST, {0x01c7, 0x01c8}}}, 3735 {0x01cc, {2|U|ST, {0x01ca, 0x01cb}}}, 3736 {0x01ce, {1|U, {0x01cd}}}, 3737 {0x01d0, {1|U, {0x01cf}}}, 3738 {0x01d2, {1|U, {0x01d1}}}, 3739 {0x01d4, {1|U, {0x01d3}}}, 3740 {0x01d6, {1|U, {0x01d5}}}, 3741 {0x01d8, {1|U, {0x01d7}}}, 3742 {0x01da, {1|U, {0x01d9}}}, 3743 {0x01dc, {1|U, {0x01db}}}, 3744 {0x01dd, {1|U, {0x018e}}}, 3745 {0x01df, {1|U, {0x01de}}}, 3746 {0x01e1, {1|U, {0x01e0}}}, 3747 {0x01e3, {1|U, {0x01e2}}}, 3748 {0x01e5, {1|U, {0x01e4}}}, 3749 {0x01e7, {1|U, {0x01e6}}}, 3750 {0x01e9, {1|U, {0x01e8}}}, 3751 {0x01eb, {1|U, {0x01ea}}}, 3752 {0x01ed, {1|U, {0x01ec}}}, 3753 {0x01ef, {1|U, {0x01ee}}}, 3754 {0x01f3, {2|U|ST, {0x01f1, 0x01f2}}}, 3755 {0x01f5, {1|U, {0x01f4}}}, 3756 {0x01f9, {1|U, {0x01f8}}}, 3757 {0x01fb, {1|U, {0x01fa}}}, 3758 {0x01fd, {1|U, {0x01fc}}}, 3759 {0x01ff, {1|U, {0x01fe}}}, 3760 {0x0201, {1|U, {0x0200}}}, 3761 {0x0203, {1|U, {0x0202}}}, 3762 {0x0205, {1|U, {0x0204}}}, 3763 {0x0207, {1|U, {0x0206}}}, 3764 {0x0209, {1|U, {0x0208}}}, 3765 {0x020b, {1|U, {0x020a}}}, 3766 {0x020d, {1|U, {0x020c}}}, 3767 {0x020f, {1|U, {0x020e}}}, 3768 {0x0211, {1|U, {0x0210}}}, 3769 {0x0213, {1|U, {0x0212}}}, 3770 {0x0215, {1|U, {0x0214}}}, 3771 {0x0217, {1|U, {0x0216}}}, 3772 {0x0219, {1|U, {0x0218}}}, 3773 {0x021b, {1|U, {0x021a}}}, 3774 {0x021d, {1|U, {0x021c}}}, 3775 {0x021f, {1|U, {0x021e}}}, 3776 {0x0223, {1|U, {0x0222}}}, 3777 {0x0225, {1|U, {0x0224}}}, 3778 {0x0227, {1|U, {0x0226}}}, 3779 {0x0229, {1|U, {0x0228}}}, 3780 {0x022b, {1|U, {0x022a}}}, 3781 {0x022d, {1|U, {0x022c}}}, 3782 {0x022f, {1|U, {0x022e}}}, 3783 {0x0231, {1|U, {0x0230}}}, 3784 {0x0233, {1|U, {0x0232}}}, 3785 {0x023c, {1|U, {0x023b}}}, 3786 {0x023f, {1|U, {0x2c7e}}}, 3787 {0x0240, {1|U, {0x2c7f}}}, 3788 {0x0242, {1|U, {0x0241}}}, 3789 {0x0247, {1|U, {0x0246}}}, 3790 {0x0249, {1|U, {0x0248}}}, 3791 {0x024b, {1|U, {0x024a}}}, 3792 {0x024d, {1|U, {0x024c}}}, 3793 {0x024f, {1|U, {0x024e}}}, 3794 {0x0250, {1|U, {0x2c6f}}}, 3795 {0x0251, {1|U, {0x2c6d}}}, 3796 {0x0252, {1|U, {0x2c70}}}, 3797 {0x0253, {1|U, {0x0181}}}, 3798 {0x0254, {1|U, {0x0186}}}, 3799 {0x0256, {1|U, {0x0189}}}, 3800 {0x0257, {1|U, {0x018a}}}, 3801 {0x0259, {1|U, {0x018f}}}, 3802 {0x025b, {1|U, {0x0190}}}, 3803 {0x025c, {1|U, {0xa7ab}}}, 3804 {0x0260, {1|U, {0x0193}}}, 3805 {0x0261, {1|U, {0xa7ac}}}, 3806 {0x0263, {1|U, {0x0194}}}, 3807 {0x0265, {1|U, {0xa78d}}}, 3808 {0x0266, {1|U, {0xa7aa}}}, 3809 {0x0268, {1|U, {0x0197}}}, 3810 {0x0269, {1|U, {0x0196}}}, 3811 {0x026a, {1|U, {0xa7ae}}}, 3812 {0x026b, {1|U, {0x2c62}}}, 3813 {0x026c, {1|U, {0xa7ad}}}, 3814 {0x026f, {1|U, {0x019c}}}, 3815 {0x0271, {1|U, {0x2c6e}}}, 3816 {0x0272, {1|U, {0x019d}}}, 3817 {0x0275, {1|U, {0x019f}}}, 3818 {0x027d, {1|U, {0x2c64}}}, 3819 {0x0280, {1|U, {0x01a6}}}, 3820 {0x0283, {1|U, {0x01a9}}}, 3821 {0x0287, {1|U, {0xa7b1}}}, 3822 {0x0288, {1|U, {0x01ae}}}, 3823 {0x0289, {1|U, {0x0244}}}, 3824 {0x028a, {1|U, {0x01b1}}}, 3825 {0x028b, {1|U, {0x01b2}}}, 3826 {0x028c, {1|U, {0x0245}}}, 3827 {0x0292, {1|U, {0x01b7}}}, 3828 {0x029d, {1|U, {0xa7b2}}}, 3829 {0x029e, {1|U, {0xa7b0}}}, 3830 {0x0371, {1|U, {0x0370}}}, 3831 {0x0373, {1|U, {0x0372}}}, 3832 {0x0377, {1|U, {0x0376}}}, 3833 {0x037b, {1|U, {0x03fd}}}, 3834 {0x037c, {1|U, {0x03fe}}}, 3835 {0x037d, {1|U, {0x03ff}}}, 3836 {0x03ac, {1|U, {0x0386}}}, 3837 {0x03ad, {1|U, {0x0388}}}, 3838 {0x03ae, {1|U, {0x0389}}}, 3839 {0x03af, {1|U, {0x038a}}}, 3840 {0x03b1, {1|U, {0x0391}}}, 3841 {0x03b2, {2|U, {0x0392, 0x03d0}}}, 3842 {0x03b3, {1|U, {0x0393}}}, 3843 {0x03b4, {1|U, {0x0394}}}, 3844 {0x03b5, {2|U, {0x0395, 0x03f5}}}, 3845 {0x03b6, {1|U, {0x0396}}}, 3846 {0x03b7, {1|U, {0x0397}}}, 3847 {0x03b8, {3|U, {0x0398, 0x03d1, 0x03f4}}}, 3848 {0x03b9, {3|U, {0x0399, 0x0345, 0x1fbe}}}, 3849 {0x03ba, {2|U, {0x039a, 0x03f0}}}, 3850 {0x03bb, {1|U, {0x039b}}}, 3851 {0x03bc, {2|U, {0x039c, 0x00b5}}}, 3852 {0x03bd, {1|U, {0x039d}}}, 3853 {0x03be, {1|U, {0x039e}}}, 3854 {0x03bf, {1|U, {0x039f}}}, 3855 {0x03c0, {2|U, {0x03a0, 0x03d6}}}, 3856 {0x03c1, {2|U, {0x03a1, 0x03f1}}}, 3857 {0x03c3, {2|U, {0x03a3, 0x03c2}}}, 3858 {0x03c4, {1|U, {0x03a4}}}, 3859 {0x03c5, {1|U, {0x03a5}}}, 3860 {0x03c6, {2|U, {0x03a6, 0x03d5}}}, 3861 {0x03c7, {1|U, {0x03a7}}}, 3862 {0x03c8, {1|U, {0x03a8}}}, 3863 {0x03c9, {2|U, {0x03a9, 0x2126}}}, 3864 {0x03ca, {1|U, {0x03aa}}}, 3865 {0x03cb, {1|U, {0x03ab}}}, 3866 {0x03cc, {1|U, {0x038c}}}, 3867 {0x03cd, {1|U, {0x038e}}}, 3868 {0x03ce, {1|U, {0x038f}}}, 3869 {0x03d7, {1|U, {0x03cf}}}, 3870 {0x03d9, {1|U, {0x03d8}}}, 3871 {0x03db, {1|U, {0x03da}}}, 3872 {0x03dd, {1|U, {0x03dc}}}, 3873 {0x03df, {1|U, {0x03de}}}, 3874 {0x03e1, {1|U, {0x03e0}}}, 3875 {0x03e3, {1|U, {0x03e2}}}, 3876 {0x03e5, {1|U, {0x03e4}}}, 3877 {0x03e7, {1|U, {0x03e6}}}, 3878 {0x03e9, {1|U, {0x03e8}}}, 3879 {0x03eb, {1|U, {0x03ea}}}, 3880 {0x03ed, {1|U, {0x03ec}}}, 3881 {0x03ef, {1|U, {0x03ee}}}, 3882 {0x03f2, {1|U, {0x03f9}}}, 3883 {0x03f3, {1|U, {0x037f}}}, 3884 {0x03f8, {1|U, {0x03f7}}}, 3885 {0x03fb, {1|U, {0x03fa}}}, 3886 {0x0430, {1|U, {0x0410}}}, 3887 {0x0431, {1|U, {0x0411}}}, 3888 {0x0432, {2|U, {0x0412, 0x1c80}}}, 3889 {0x0433, {1|U, {0x0413}}}, 3890 {0x0434, {2|U, {0x0414, 0x1c81}}}, 3891 {0x0435, {1|U, {0x0415}}}, 3892 {0x0436, {1|U, {0x0416}}}, 3893 {0x0437, {1|U, {0x0417}}}, 3894 {0x0438, {1|U, {0x0418}}}, 3895 {0x0439, {1|U, {0x0419}}}, 3896 {0x043a, {1|U, {0x041a}}}, 3897 {0x043b, {1|U, {0x041b}}}, 3898 {0x043c, {1|U, {0x041c}}}, 3899 {0x043d, {1|U, {0x041d}}}, 3900 {0x043e, {2|U, {0x041e, 0x1c82}}}, 3901 {0x043f, {1|U, {0x041f}}}, 3902 {0x0440, {1|U, {0x0420}}}, 3903 {0x0441, {2|U, {0x0421, 0x1c83}}}, 3904 {0x0442, {3|U, {0x0422, 0x1c84, 0x1c85}}}, 3905 {0x0443, {1|U, {0x0423}}}, 3906 {0x0444, {1|U, {0x0424}}}, 3907 {0x0445, {1|U, {0x0425}}}, 3908 {0x0446, {1|U, {0x0426}}}, 3909 {0x0447, {1|U, {0x0427}}}, 3910 {0x0448, {1|U, {0x0428}}}, 3911 {0x0449, {1|U, {0x0429}}}, 3912 {0x044a, {2|U, {0x042a, 0x1c86}}}, 3913 {0x044b, {1|U, {0x042b}}}, 3914 {0x044c, {1|U, {0x042c}}}, 3915 {0x044d, {1|U, {0x042d}}}, 3916 {0x044e, {1|U, {0x042e}}}, 3917 {0x044f, {1|U, {0x042f}}}, 3918 {0x0450, {1|U, {0x0400}}}, 3919 {0x0451, {1|U, {0x0401}}}, 3920 {0x0452, {1|U, {0x0402}}}, 3921 {0x0453, {1|U, {0x0403}}}, 3922 {0x0454, {1|U, {0x0404}}}, 3923 {0x0455, {1|U, {0x0405}}}, 3924 {0x0456, {1|U, {0x0406}}}, 3925 {0x0457, {1|U, {0x0407}}}, 3926 {0x0458, {1|U, {0x0408}}}, 3927 {0x0459, {1|U, {0x0409}}}, 3928 {0x045a, {1|U, {0x040a}}}, 3929 {0x045b, {1|U, {0x040b}}}, 3930 {0x045c, {1|U, {0x040c}}}, 3931 {0x045d, {1|U, {0x040d}}}, 3932 {0x045e, {1|U, {0x040e}}}, 3933 {0x045f, {1|U, {0x040f}}}, 3934 {0x0461, {1|U, {0x0460}}}, 3935 {0x0463, {2|U, {0x0462, 0x1c87}}}, 3936 {0x0465, {1|U, {0x0464}}}, 3937 {0x0467, {1|U, {0x0466}}}, 3938 {0x0469, {1|U, {0x0468}}}, 3939 {0x046b, {1|U, {0x046a}}}, 3940 {0x046d, {1|U, {0x046c}}}, 3941 {0x046f, {1|U, {0x046e}}}, 3942 {0x0471, {1|U, {0x0470}}}, 3943 {0x0473, {1|U, {0x0472}}}, 3944 {0x0475, {1|U, {0x0474}}}, 3945 {0x0477, {1|U, {0x0476}}}, 3946 {0x0479, {1|U, {0x0478}}}, 3947 {0x047b, {1|U, {0x047a}}}, 3948 {0x047d, {1|U, {0x047c}}}, 3949 {0x047f, {1|U, {0x047e}}}, 3950 {0x0481, {1|U, {0x0480}}}, 3951 {0x048b, {1|U, {0x048a}}}, 3952 {0x048d, {1|U, {0x048c}}}, 3953 {0x048f, {1|U, {0x048e}}}, 3954 {0x0491, {1|U, {0x0490}}}, 3955 {0x0493, {1|U, {0x0492}}}, 3956 {0x0495, {1|U, {0x0494}}}, 3957 {0x0497, {1|U, {0x0496}}}, 3958 {0x0499, {1|U, {0x0498}}}, 3959 {0x049b, {1|U, {0x049a}}}, 3960 {0x049d, {1|U, {0x049c}}}, 3961 {0x049f, {1|U, {0x049e}}}, 3962 {0x04a1, {1|U, {0x04a0}}}, 3963 {0x04a3, {1|U, {0x04a2}}}, 3964 {0x04a5, {1|U, {0x04a4}}}, 3965 {0x04a7, {1|U, {0x04a6}}}, 3966 {0x04a9, {1|U, {0x04a8}}}, 3967 {0x04ab, {1|U, {0x04aa}}}, 3968 {0x04ad, {1|U, {0x04ac}}}, 3969 {0x04af, {1|U, {0x04ae}}}, 3970 {0x04b1, {1|U, {0x04b0}}}, 3971 {0x04b3, {1|U, {0x04b2}}}, 3972 {0x04b5, {1|U, {0x04b4}}}, 3973 {0x04b7, {1|U, {0x04b6}}}, 3974 {0x04b9, {1|U, {0x04b8}}}, 3975 {0x04bb, {1|U, {0x04ba}}}, 3976 {0x04bd, {1|U, {0x04bc}}}, 3977 {0x04bf, {1|U, {0x04be}}}, 3978 {0x04c2, {1|U, {0x04c1}}}, 3979 {0x04c4, {1|U, {0x04c3}}}, 3980 {0x04c6, {1|U, {0x04c5}}}, 3981 {0x04c8, {1|U, {0x04c7}}}, 3982 {0x04ca, {1|U, {0x04c9}}}, 3983 {0x04cc, {1|U, {0x04cb}}}, 3984 {0x04ce, {1|U, {0x04cd}}}, 3985 {0x04cf, {1|U, {0x04c0}}}, 3986 {0x04d1, {1|U, {0x04d0}}}, 3987 {0x04d3, {1|U, {0x04d2}}}, 3988 {0x04d5, {1|U, {0x04d4}}}, 3989 {0x04d7, {1|U, {0x04d6}}}, 3990 {0x04d9, {1|U, {0x04d8}}}, 3991 {0x04db, {1|U, {0x04da}}}, 3992 {0x04dd, {1|U, {0x04dc}}}, 3993 {0x04df, {1|U, {0x04de}}}, 3994 {0x04e1, {1|U, {0x04e0}}}, 3995 {0x04e3, {1|U, {0x04e2}}}, 3996 {0x04e5, {1|U, {0x04e4}}}, 3997 {0x04e7, {1|U, {0x04e6}}}, 3998 {0x04e9, {1|U, {0x04e8}}}, 3999 {0x04eb, {1|U, {0x04ea}}}, 4000 {0x04ed, {1|U, {0x04ec}}}, 4001 {0x04ef, {1|U, {0x04ee}}}, 4002 {0x04f1, {1|U, {0x04f0}}}, 4003 {0x04f3, {1|U, {0x04f2}}}, 4004 {0x04f5, {1|U, {0x04f4}}}, 4005 {0x04f7, {1|U, {0x04f6}}}, 4006 {0x04f9, {1|U, {0x04f8}}}, 4007 {0x04fb, {1|U, {0x04fa}}}, 4008 {0x04fd, {1|U, {0x04fc}}}, 4009 {0x04ff, {1|U, {0x04fe}}}, 4010 {0x0501, {1|U, {0x0500}}}, 4011 {0x0503, {1|U, {0x0502}}}, 4012 {0x0505, {1|U, {0x0504}}}, 4013 {0x0507, {1|U, {0x0506}}}, 4014 {0x0509, {1|U, {0x0508}}}, 4015 {0x050b, {1|U, {0x050a}}}, 4016 {0x050d, {1|U, {0x050c}}}, 4017 {0x050f, {1|U, {0x050e}}}, 4018 {0x0511, {1|U, {0x0510}}}, 4019 {0x0513, {1|U, {0x0512}}}, 4020 {0x0515, {1|U, {0x0514}}}, 4021 {0x0517, {1|U, {0x0516}}}, 4022 {0x0519, {1|U, {0x0518}}}, 4023 {0x051b, {1|U, {0x051a}}}, 4024 {0x051d, {1|U, {0x051c}}}, 4025 {0x051f, {1|U, {0x051e}}}, 4026 {0x0521, {1|U, {0x0520}}}, 4027 {0x0523, {1|U, {0x0522}}}, 4028 {0x0525, {1|U, {0x0524}}}, 4029 {0x0527, {1|U, {0x0526}}}, 4030 {0x0529, {1|U, {0x0528}}}, 4031 {0x052b, {1|U, {0x052a}}}, 4032 {0x052d, {1|U, {0x052c}}}, 4033 {0x052f, {1|U, {0x052e}}}, 4034 {0x0561, {1|U, {0x0531}}}, 4035 {0x0562, {1|U, {0x0532}}}, 4036 {0x0563, {1|U, {0x0533}}}, 4037 {0x0564, {1|U, {0x0534}}}, 4038 {0x0565, {1|U, {0x0535}}}, 4039 {0x0566, {1|U, {0x0536}}}, 4040 {0x0567, {1|U, {0x0537}}}, 4041 {0x0568, {1|U, {0x0538}}}, 4042 {0x0569, {1|U, {0x0539}}}, 4043 {0x056a, {1|U, {0x053a}}}, 4044 {0x056b, {1|U, {0x053b}}}, 4045 {0x056c, {1|U, {0x053c}}}, 4046 {0x056d, {1|U, {0x053d}}}, 4047 {0x056e, {1|U, {0x053e}}}, 4048 {0x056f, {1|U, {0x053f}}}, 4049 {0x0570, {1|U, {0x0540}}}, 4050 {0x0571, {1|U, {0x0541}}}, 4051 {0x0572, {1|U, {0x0542}}}, 4052 {0x0573, {1|U, {0x0543}}}, 4053 {0x0574, {1|U, {0x0544}}}, 4054 {0x0575, {1|U, {0x0545}}}, 4055 {0x0576, {1|U, {0x0546}}}, 4056 {0x0577, {1|U, {0x0547}}}, 4057 {0x0578, {1|U, {0x0548}}}, 4058 {0x0579, {1|U, {0x0549}}}, 4059 {0x057a, {1|U, {0x054a}}}, 4060 {0x057b, {1|U, {0x054b}}}, 4061 {0x057c, {1|U, {0x054c}}}, 4062 {0x057d, {1|U, {0x054d}}}, 4063 {0x057e, {1|U, {0x054e}}}, 4064 {0x057f, {1|U, {0x054f}}}, 4065 {0x0580, {1|U, {0x0550}}}, 4066 {0x0581, {1|U, {0x0551}}}, 4067 {0x0582, {1|U, {0x0552}}}, 4068 {0x0583, {1|U, {0x0553}}}, 4069 {0x0584, {1|U, {0x0554}}}, 4070 {0x0585, {1|U, {0x0555}}}, 4071 {0x0586, {1|U, {0x0556}}}, 4072 {0x13a0, {1|D, {0xab70}}}, 4073 {0x13a1, {1|D, {0xab71}}}, 4074 {0x13a2, {1|D, {0xab72}}}, 4075 {0x13a3, {1|D, {0xab73}}}, 4076 {0x13a4, {1|D, {0xab74}}}, 4077 {0x13a5, {1|D, {0xab75}}}, 4078 {0x13a6, {1|D, {0xab76}}}, 4079 {0x13a7, {1|D, {0xab77}}}, 4080 {0x13a8, {1|D, {0xab78}}}, 4081 {0x13a9, {1|D, {0xab79}}}, 4082 {0x13aa, {1|D, {0xab7a}}}, 4083 {0x13ab, {1|D, {0xab7b}}}, 4084 {0x13ac, {1|D, {0xab7c}}}, 4085 {0x13ad, {1|D, {0xab7d}}}, 4086 {0x13ae, {1|D, {0xab7e}}}, 4087 {0x13af, {1|D, {0xab7f}}}, 4088 {0x13b0, {1|D, {0xab80}}}, 4089 {0x13b1, {1|D, {0xab81}}}, 4090 {0x13b2, {1|D, {0xab82}}}, 4091 {0x13b3, {1|D, {0xab83}}}, 4092 {0x13b4, {1|D, {0xab84}}}, 4093 {0x13b5, {1|D, {0xab85}}}, 4094 {0x13b6, {1|D, {0xab86}}}, 4095 {0x13b7, {1|D, {0xab87}}}, 4096 {0x13b8, {1|D, {0xab88}}}, 4097 {0x13b9, {1|D, {0xab89}}}, 4098 {0x13ba, {1|D, {0xab8a}}}, 4099 {0x13bb, {1|D, {0xab8b}}}, 4100 {0x13bc, {1|D, {0xab8c}}}, 4101 {0x13bd, {1|D, {0xab8d}}}, 4102 {0x13be, {1|D, {0xab8e}}}, 4103 {0x13bf, {1|D, {0xab8f}}}, 4104 {0x13c0, {1|D, {0xab90}}}, 4105 {0x13c1, {1|D, {0xab91}}}, 4106 {0x13c2, {1|D, {0xab92}}}, 4107 {0x13c3, {1|D, {0xab93}}}, 4108 {0x13c4, {1|D, {0xab94}}}, 4109 {0x13c5, {1|D, {0xab95}}}, 4110 {0x13c6, {1|D, {0xab96}}}, 4111 {0x13c7, {1|D, {0xab97}}}, 4112 {0x13c8, {1|D, {0xab98}}}, 4113 {0x13c9, {1|D, {0xab99}}}, 4114 {0x13ca, {1|D, {0xab9a}}}, 4115 {0x13cb, {1|D, {0xab9b}}}, 4116 {0x13cc, {1|D, {0xab9c}}}, 4117 {0x13cd, {1|D, {0xab9d}}}, 4118 {0x13ce, {1|D, {0xab9e}}}, 4119 {0x13cf, {1|D, {0xab9f}}}, 4120 {0x13d0, {1|D, {0xaba0}}}, 4121 {0x13d1, {1|D, {0xaba1}}}, 4122 {0x13d2, {1|D, {0xaba2}}}, 4123 {0x13d3, {1|D, {0xaba3}}}, 4124 {0x13d4, {1|D, {0xaba4}}}, 4125 {0x13d5, {1|D, {0xaba5}}}, 4126 {0x13d6, {1|D, {0xaba6}}}, 4127 {0x13d7, {1|D, {0xaba7}}}, 4128 {0x13d8, {1|D, {0xaba8}}}, 4129 {0x13d9, {1|D, {0xaba9}}}, 4130 {0x13da, {1|D, {0xabaa}}}, 4131 {0x13db, {1|D, {0xabab}}}, 4132 {0x13dc, {1|D, {0xabac}}}, 4133 {0x13dd, {1|D, {0xabad}}}, 4134 {0x13de, {1|D, {0xabae}}}, 4135 {0x13df, {1|D, {0xabaf}}}, 4136 {0x13e0, {1|D, {0xabb0}}}, 4137 {0x13e1, {1|D, {0xabb1}}}, 4138 {0x13e2, {1|D, {0xabb2}}}, 4139 {0x13e3, {1|D, {0xabb3}}}, 4140 {0x13e4, {1|D, {0xabb4}}}, 4141 {0x13e5, {1|D, {0xabb5}}}, 4142 {0x13e6, {1|D, {0xabb6}}}, 4143 {0x13e7, {1|D, {0xabb7}}}, 4144 {0x13e8, {1|D, {0xabb8}}}, 4145 {0x13e9, {1|D, {0xabb9}}}, 4146 {0x13ea, {1|D, {0xabba}}}, 4147 {0x13eb, {1|D, {0xabbb}}}, 4148 {0x13ec, {1|D, {0xabbc}}}, 4149 {0x13ed, {1|D, {0xabbd}}}, 4150 {0x13ee, {1|D, {0xabbe}}}, 4151 {0x13ef, {1|D, {0xabbf}}}, 4152 {0x13f0, {1|D, {0x13f8}}}, 4153 {0x13f1, {1|D, {0x13f9}}}, 4154 {0x13f2, {1|D, {0x13fa}}}, 4155 {0x13f3, {1|D, {0x13fb}}}, 4156 {0x13f4, {1|D, {0x13fc}}}, 4157 {0x13f5, {1|D, {0x13fd}}}, 4158 {0x1d79, {1|U, {0xa77d}}}, 4159 {0x1d7d, {1|U, {0x2c63}}}, 4160 {0x1e01, {1|U, {0x1e00}}}, 4161 {0x1e03, {1|U, {0x1e02}}}, 4162 {0x1e05, {1|U, {0x1e04}}}, 4163 {0x1e07, {1|U, {0x1e06}}}, 4164 {0x1e09, {1|U, {0x1e08}}}, 4165 {0x1e0b, {1|U, {0x1e0a}}}, 4166 {0x1e0d, {1|U, {0x1e0c}}}, 4167 {0x1e0f, {1|U, {0x1e0e}}}, 4168 {0x1e11, {1|U, {0x1e10}}}, 4169 {0x1e13, {1|U, {0x1e12}}}, 4170 {0x1e15, {1|U, {0x1e14}}}, 4171 {0x1e17, {1|U, {0x1e16}}}, 4172 {0x1e19, {1|U, {0x1e18}}}, 4173 {0x1e1b, {1|U, {0x1e1a}}}, 4174 {0x1e1d, {1|U, {0x1e1c}}}, 4175 {0x1e1f, {1|U, {0x1e1e}}}, 4176 {0x1e21, {1|U, {0x1e20}}}, 4177 {0x1e23, {1|U, {0x1e22}}}, 4178 {0x1e25, {1|U, {0x1e24}}}, 4179 {0x1e27, {1|U, {0x1e26}}}, 4180 {0x1e29, {1|U, {0x1e28}}}, 4181 {0x1e2b, {1|U, {0x1e2a}}}, 4182 {0x1e2d, {1|U, {0x1e2c}}}, 4183 {0x1e2f, {1|U, {0x1e2e}}}, 4184 {0x1e31, {1|U, {0x1e30}}}, 4185 {0x1e33, {1|U, {0x1e32}}}, 4186 {0x1e35, {1|U, {0x1e34}}}, 4187 {0x1e37, {1|U, {0x1e36}}}, 4188 {0x1e39, {1|U, {0x1e38}}}, 4189 {0x1e3b, {1|U, {0x1e3a}}}, 4190 {0x1e3d, {1|U, {0x1e3c}}}, 4191 {0x1e3f, {1|U, {0x1e3e}}}, 4192 {0x1e41, {1|U, {0x1e40}}}, 4193 {0x1e43, {1|U, {0x1e42}}}, 4194 {0x1e45, {1|U, {0x1e44}}}, 4195 {0x1e47, {1|U, {0x1e46}}}, 4196 {0x1e49, {1|U, {0x1e48}}}, 4197 {0x1e4b, {1|U, {0x1e4a}}}, 4198 {0x1e4d, {1|U, {0x1e4c}}}, 4199 {0x1e4f, {1|U, {0x1e4e}}}, 4200 {0x1e51, {1|U, {0x1e50}}}, 4201 {0x1e53, {1|U, {0x1e52}}}, 4202 {0x1e55, {1|U, {0x1e54}}}, 4203 {0x1e57, {1|U, {0x1e56}}}, 4204 {0x1e59, {1|U, {0x1e58}}}, 4205 {0x1e5b, {1|U, {0x1e5a}}}, 4206 {0x1e5d, {1|U, {0x1e5c}}}, 4207 {0x1e5f, {1|U, {0x1e5e}}}, 4208 {0x1e61, {2|U, {0x1e60, 0x1e9b}}}, 4209 {0x1e63, {1|U, {0x1e62}}}, 4210 {0x1e65, {1|U, {0x1e64}}}, 4211 {0x1e67, {1|U, {0x1e66}}}, 4212 {0x1e69, {1|U, {0x1e68}}}, 4213 {0x1e6b, {1|U, {0x1e6a}}}, 4214 {0x1e6d, {1|U, {0x1e6c}}}, 4215 {0x1e6f, {1|U, {0x1e6e}}}, 4216 {0x1e71, {1|U, {0x1e70}}}, 4217 {0x1e73, {1|U, {0x1e72}}}, 4218 {0x1e75, {1|U, {0x1e74}}}, 4219 {0x1e77, {1|U, {0x1e76}}}, 4220 {0x1e79, {1|U, {0x1e78}}}, 4221 {0x1e7b, {1|U, {0x1e7a}}}, 4222 {0x1e7d, {1|U, {0x1e7c}}}, 4223 {0x1e7f, {1|U, {0x1e7e}}}, 4224 {0x1e81, {1|U, {0x1e80}}}, 4225 {0x1e83, {1|U, {0x1e82}}}, 4226 {0x1e85, {1|U, {0x1e84}}}, 4227 {0x1e87, {1|U, {0x1e86}}}, 4228 {0x1e89, {1|U, {0x1e88}}}, 4229 {0x1e8b, {1|U, {0x1e8a}}}, 4230 {0x1e8d, {1|U, {0x1e8c}}}, 4231 {0x1e8f, {1|U, {0x1e8e}}}, 4232 {0x1e91, {1|U, {0x1e90}}}, 4233 {0x1e93, {1|U, {0x1e92}}}, 4234 {0x1e95, {1|U, {0x1e94}}}, 4235 {0x1ea1, {1|U, {0x1ea0}}}, 4236 {0x1ea3, {1|U, {0x1ea2}}}, 4237 {0x1ea5, {1|U, {0x1ea4}}}, 4238 {0x1ea7, {1|U, {0x1ea6}}}, 4239 {0x1ea9, {1|U, {0x1ea8}}}, 4240 {0x1eab, {1|U, {0x1eaa}}}, 4241 {0x1ead, {1|U, {0x1eac}}}, 4242 {0x1eaf, {1|U, {0x1eae}}}, 4243 {0x1eb1, {1|U, {0x1eb0}}}, 4244 {0x1eb3, {1|U, {0x1eb2}}}, 4245 {0x1eb5, {1|U, {0x1eb4}}}, 4246 {0x1eb7, {1|U, {0x1eb6}}}, 4247 {0x1eb9, {1|U, {0x1eb8}}}, 4248 {0x1ebb, {1|U, {0x1eba}}}, 4249 {0x1ebd, {1|U, {0x1ebc}}}, 4250 {0x1ebf, {1|U, {0x1ebe}}}, 4251 {0x1ec1, {1|U, {0x1ec0}}}, 4252 {0x1ec3, {1|U, {0x1ec2}}}, 4253 {0x1ec5, {1|U, {0x1ec4}}}, 4254 {0x1ec7, {1|U, {0x1ec6}}}, 4255 {0x1ec9, {1|U, {0x1ec8}}}, 4256 {0x1ecb, {1|U, {0x1eca}}}, 4257 {0x1ecd, {1|U, {0x1ecc}}}, 4258 {0x1ecf, {1|U, {0x1ece}}}, 4259 {0x1ed1, {1|U, {0x1ed0}}}, 4260 {0x1ed3, {1|U, {0x1ed2}}}, 4261 {0x1ed5, {1|U, {0x1ed4}}}, 4262 {0x1ed7, {1|U, {0x1ed6}}}, 4263 {0x1ed9, {1|U, {0x1ed8}}}, 4264 {0x1edb, {1|U, {0x1eda}}}, 4265 {0x1edd, {1|U, {0x1edc}}}, 4266 {0x1edf, {1|U, {0x1ede}}}, 4267 {0x1ee1, {1|U, {0x1ee0}}}, 4268 {0x1ee3, {1|U, {0x1ee2}}}, 4269 {0x1ee5, {1|U, {0x1ee4}}}, 4270 {0x1ee7, {1|U, {0x1ee6}}}, 4271 {0x1ee9, {1|U, {0x1ee8}}}, 4272 {0x1eeb, {1|U, {0x1eea}}}, 4273 {0x1eed, {1|U, {0x1eec}}}, 4274 {0x1eef, {1|U, {0x1eee}}}, 4275 {0x1ef1, {1|U, {0x1ef0}}}, 4276 {0x1ef3, {1|U, {0x1ef2}}}, 4277 {0x1ef5, {1|U, {0x1ef4}}}, 4278 {0x1ef7, {1|U, {0x1ef6}}}, 4279 {0x1ef9, {1|U, {0x1ef8}}}, 4280 {0x1efb, {1|U, {0x1efa}}}, 4281 {0x1efd, {1|U, {0x1efc}}}, 4282 {0x1eff, {1|U, {0x1efe}}}, 4283 {0x1f00, {1|U, {0x1f08}}}, 4284 {0x1f01, {1|U, {0x1f09}}}, 4285 {0x1f02, {1|U, {0x1f0a}}}, 4286 {0x1f03, {1|U, {0x1f0b}}}, 4287 {0x1f04, {1|U, {0x1f0c}}}, 4288 {0x1f05, {1|U, {0x1f0d}}}, 4289 {0x1f06, {1|U, {0x1f0e}}}, 4290 {0x1f07, {1|U, {0x1f0f}}}, 4291 {0x1f10, {1|U, {0x1f18}}}, 4292 {0x1f11, {1|U, {0x1f19}}}, 4293 {0x1f12, {1|U, {0x1f1a}}}, 4294 {0x1f13, {1|U, {0x1f1b}}}, 4295 {0x1f14, {1|U, {0x1f1c}}}, 4296 {0x1f15, {1|U, {0x1f1d}}}, 4297 {0x1f20, {1|U, {0x1f28}}}, 4298 {0x1f21, {1|U, {0x1f29}}}, 4299 {0x1f22, {1|U, {0x1f2a}}}, 4300 {0x1f23, {1|U, {0x1f2b}}}, 4301 {0x1f24, {1|U, {0x1f2c}}}, 4302 {0x1f25, {1|U, {0x1f2d}}}, 4303 {0x1f26, {1|U, {0x1f2e}}}, 4304 {0x1f27, {1|U, {0x1f2f}}}, 4305 {0x1f30, {1|U, {0x1f38}}}, 4306 {0x1f31, {1|U, {0x1f39}}}, 4307 {0x1f32, {1|U, {0x1f3a}}}, 4308 {0x1f33, {1|U, {0x1f3b}}}, 4309 {0x1f34, {1|U, {0x1f3c}}}, 4310 {0x1f35, {1|U, {0x1f3d}}}, 4311 {0x1f36, {1|U, {0x1f3e}}}, 4312 {0x1f37, {1|U, {0x1f3f}}}, 4313 {0x1f40, {1|U, {0x1f48}}}, 4314 {0x1f41, {1|U, {0x1f49}}}, 4315 {0x1f42, {1|U, {0x1f4a}}}, 4316 {0x1f43, {1|U, {0x1f4b}}}, 4317 {0x1f44, {1|U, {0x1f4c}}}, 4318 {0x1f45, {1|U, {0x1f4d}}}, 4319 {0x1f51, {1|U, {0x1f59}}}, 4320 {0x1f53, {1|U, {0x1f5b}}}, 4321 {0x1f55, {1|U, {0x1f5d}}}, 4322 {0x1f57, {1|U, {0x1f5f}}}, 4323 {0x1f60, {1|U, {0x1f68}}}, 4324 {0x1f61, {1|U, {0x1f69}}}, 4325 {0x1f62, {1|U, {0x1f6a}}}, 4326 {0x1f63, {1|U, {0x1f6b}}}, 4327 {0x1f64, {1|U, {0x1f6c}}}, 4328 {0x1f65, {1|U, {0x1f6d}}}, 4329 {0x1f66, {1|U, {0x1f6e}}}, 4330 {0x1f67, {1|U, {0x1f6f}}}, 4331 {0x1f70, {1|U, {0x1fba}}}, 4332 {0x1f71, {1|U, {0x1fbb}}}, 4333 {0x1f72, {1|U, {0x1fc8}}}, 4334 {0x1f73, {1|U, {0x1fc9}}}, 4335 {0x1f74, {1|U, {0x1fca}}}, 4336 {0x1f75, {1|U, {0x1fcb}}}, 4337 {0x1f76, {1|U, {0x1fda}}}, 4338 {0x1f77, {1|U, {0x1fdb}}}, 4339 {0x1f78, {1|U, {0x1ff8}}}, 4340 {0x1f79, {1|U, {0x1ff9}}}, 4341 {0x1f7a, {1|U, {0x1fea}}}, 4342 {0x1f7b, {1|U, {0x1feb}}}, 4343 {0x1f7c, {1|U, {0x1ffa}}}, 4344 {0x1f7d, {1|U, {0x1ffb}}}, 4345 {0x1fb0, {1|U, {0x1fb8}}}, 4346 {0x1fb1, {1|U, {0x1fb9}}}, 4347 {0x1fd0, {1|U, {0x1fd8}}}, 4348 {0x1fd1, {1|U, {0x1fd9}}}, 4349 {0x1fe0, {1|U, {0x1fe8}}}, 4350 {0x1fe1, {1|U, {0x1fe9}}}, 4351 {0x1fe5, {1|U, {0x1fec}}}, 4352 {0x214e, {1|U, {0x2132}}}, 4353 {0x2170, {1|U, {0x2160}}}, 4354 {0x2171, {1|U, {0x2161}}}, 4355 {0x2172, {1|U, {0x2162}}}, 4356 {0x2173, {1|U, {0x2163}}}, 4357 {0x2174, {1|U, {0x2164}}}, 4358 {0x2175, {1|U, {0x2165}}}, 4359 {0x2176, {1|U, {0x2166}}}, 4360 {0x2177, {1|U, {0x2167}}}, 4361 {0x2178, {1|U, {0x2168}}}, 4362 {0x2179, {1|U, {0x2169}}}, 4363 {0x217a, {1|U, {0x216a}}}, 4364 {0x217b, {1|U, {0x216b}}}, 4365 {0x217c, {1|U, {0x216c}}}, 4366 {0x217d, {1|U, {0x216d}}}, 4367 {0x217e, {1|U, {0x216e}}}, 4368 {0x217f, {1|U, {0x216f}}}, 4369 {0x2184, {1|U, {0x2183}}}, 4370 {0x24d0, {1|U, {0x24b6}}}, 4371 {0x24d1, {1|U, {0x24b7}}}, 4372 {0x24d2, {1|U, {0x24b8}}}, 4373 {0x24d3, {1|U, {0x24b9}}}, 4374 {0x24d4, {1|U, {0x24ba}}}, 4375 {0x24d5, {1|U, {0x24bb}}}, 4376 {0x24d6, {1|U, {0x24bc}}}, 4377 {0x24d7, {1|U, {0x24bd}}}, 4378 {0x24d8, {1|U, {0x24be}}}, 4379 {0x24d9, {1|U, {0x24bf}}}, 4380 {0x24da, {1|U, {0x24c0}}}, 4381 {0x24db, {1|U, {0x24c1}}}, 4382 {0x24dc, {1|U, {0x24c2}}}, 4383 {0x24dd, {1|U, {0x24c3}}}, 4384 {0x24de, {1|U, {0x24c4}}}, 4385 {0x24df, {1|U, {0x24c5}}}, 4386 {0x24e0, {1|U, {0x24c6}}}, 4387 {0x24e1, {1|U, {0x24c7}}}, 4388 {0x24e2, {1|U, {0x24c8}}}, 4389 {0x24e3, {1|U, {0x24c9}}}, 4390 {0x24e4, {1|U, {0x24ca}}}, 4391 {0x24e5, {1|U, {0x24cb}}}, 4392 {0x24e6, {1|U, {0x24cc}}}, 4393 {0x24e7, {1|U, {0x24cd}}}, 4394 {0x24e8, {1|U, {0x24ce}}}, 4395 {0x24e9, {1|U, {0x24cf}}}, 4396 {0x2c30, {1|U, {0x2c00}}}, 4397 {0x2c31, {1|U, {0x2c01}}}, 4398 {0x2c32, {1|U, {0x2c02}}}, 4399 {0x2c33, {1|U, {0x2c03}}}, 4400 {0x2c34, {1|U, {0x2c04}}}, 4401 {0x2c35, {1|U, {0x2c05}}}, 4402 {0x2c36, {1|U, {0x2c06}}}, 4403 {0x2c37, {1|U, {0x2c07}}}, 4404 {0x2c38, {1|U, {0x2c08}}}, 4405 {0x2c39, {1|U, {0x2c09}}}, 4406 {0x2c3a, {1|U, {0x2c0a}}}, 4407 {0x2c3b, {1|U, {0x2c0b}}}, 4408 {0x2c3c, {1|U, {0x2c0c}}}, 4409 {0x2c3d, {1|U, {0x2c0d}}}, 4410 {0x2c3e, {1|U, {0x2c0e}}}, 4411 {0x2c3f, {1|U, {0x2c0f}}}, 4412 {0x2c40, {1|U, {0x2c10}}}, 4413 {0x2c41, {1|U, {0x2c11}}}, 4414 {0x2c42, {1|U, {0x2c12}}}, 4415 {0x2c43, {1|U, {0x2c13}}}, 4416 {0x2c44, {1|U, {0x2c14}}}, 4417 {0x2c45, {1|U, {0x2c15}}}, 4418 {0x2c46, {1|U, {0x2c16}}}, 4419 {0x2c47, {1|U, {0x2c17}}}, 4420 {0x2c48, {1|U, {0x2c18}}}, 4421 {0x2c49, {1|U, {0x2c19}}}, 4422 {0x2c4a, {1|U, {0x2c1a}}}, 4423 {0x2c4b, {1|U, {0x2c1b}}}, 4424 {0x2c4c, {1|U, {0x2c1c}}}, 4425 {0x2c4d, {1|U, {0x2c1d}}}, 4426 {0x2c4e, {1|U, {0x2c1e}}}, 4427 {0x2c4f, {1|U, {0x2c1f}}}, 4428 {0x2c50, {1|U, {0x2c20}}}, 4429 {0x2c51, {1|U, {0x2c21}}}, 4430 {0x2c52, {1|U, {0x2c22}}}, 4431 {0x2c53, {1|U, {0x2c23}}}, 4432 {0x2c54, {1|U, {0x2c24}}}, 4433 {0x2c55, {1|U, {0x2c25}}}, 4434 {0x2c56, {1|U, {0x2c26}}}, 4435 {0x2c57, {1|U, {0x2c27}}}, 4436 {0x2c58, {1|U, {0x2c28}}}, 4437 {0x2c59, {1|U, {0x2c29}}}, 4438 {0x2c5a, {1|U, {0x2c2a}}}, 4439 {0x2c5b, {1|U, {0x2c2b}}}, 4440 {0x2c5c, {1|U, {0x2c2c}}}, 4441 {0x2c5d, {1|U, {0x2c2d}}}, 4442 {0x2c5e, {1|U, {0x2c2e}}}, 4443 {0x2c61, {1|U, {0x2c60}}}, 4444 {0x2c65, {1|U, {0x023a}}}, 4445 {0x2c66, {1|U, {0x023e}}}, 4446 {0x2c68, {1|U, {0x2c67}}}, 4447 {0x2c6a, {1|U, {0x2c69}}}, 4448 {0x2c6c, {1|U, {0x2c6b}}}, 4449 {0x2c73, {1|U, {0x2c72}}}, 4450 {0x2c76, {1|U, {0x2c75}}}, 4451 {0x2c81, {1|U, {0x2c80}}}, 4452 {0x2c83, {1|U, {0x2c82}}}, 4453 {0x2c85, {1|U, {0x2c84}}}, 4454 {0x2c87, {1|U, {0x2c86}}}, 4455 {0x2c89, {1|U, {0x2c88}}}, 4456 {0x2c8b, {1|U, {0x2c8a}}}, 4457 {0x2c8d, {1|U, {0x2c8c}}}, 4458 {0x2c8f, {1|U, {0x2c8e}}}, 4459 {0x2c91, {1|U, {0x2c90}}}, 4460 {0x2c93, {1|U, {0x2c92}}}, 4461 {0x2c95, {1|U, {0x2c94}}}, 4462 {0x2c97, {1|U, {0x2c96}}}, 4463 {0x2c99, {1|U, {0x2c98}}}, 4464 {0x2c9b, {1|U, {0x2c9a}}}, 4465 {0x2c9d, {1|U, {0x2c9c}}}, 4466 {0x2c9f, {1|U, {0x2c9e}}}, 4467 {0x2ca1, {1|U, {0x2ca0}}}, 4468 {0x2ca3, {1|U, {0x2ca2}}}, 4469 {0x2ca5, {1|U, {0x2ca4}}}, 4470 {0x2ca7, {1|U, {0x2ca6}}}, 4471 {0x2ca9, {1|U, {0x2ca8}}}, 4472 {0x2cab, {1|U, {0x2caa}}}, 4473 {0x2cad, {1|U, {0x2cac}}}, 4474 {0x2caf, {1|U, {0x2cae}}}, 4475 {0x2cb1, {1|U, {0x2cb0}}}, 4476 {0x2cb3, {1|U, {0x2cb2}}}, 4477 {0x2cb5, {1|U, {0x2cb4}}}, 4478 {0x2cb7, {1|U, {0x2cb6}}}, 4479 {0x2cb9, {1|U, {0x2cb8}}}, 4480 {0x2cbb, {1|U, {0x2cba}}}, 4481 {0x2cbd, {1|U, {0x2cbc}}}, 4482 {0x2cbf, {1|U, {0x2cbe}}}, 4483 {0x2cc1, {1|U, {0x2cc0}}}, 4484 {0x2cc3, {1|U, {0x2cc2}}}, 4485 {0x2cc5, {1|U, {0x2cc4}}}, 4486 {0x2cc7, {1|U, {0x2cc6}}}, 4487 {0x2cc9, {1|U, {0x2cc8}}}, 4488 {0x2ccb, {1|U, {0x2cca}}}, 4489 {0x2ccd, {1|U, {0x2ccc}}}, 4490 {0x2ccf, {1|U, {0x2cce}}}, 4491 {0x2cd1, {1|U, {0x2cd0}}}, 4492 {0x2cd3, {1|U, {0x2cd2}}}, 4493 {0x2cd5, {1|U, {0x2cd4}}}, 4494 {0x2cd7, {1|U, {0x2cd6}}}, 4495 {0x2cd9, {1|U, {0x2cd8}}}, 4496 {0x2cdb, {1|U, {0x2cda}}}, 4497 {0x2cdd, {1|U, {0x2cdc}}}, 4498 {0x2cdf, {1|U, {0x2cde}}}, 4499 {0x2ce1, {1|U, {0x2ce0}}}, 4500 {0x2ce3, {1|U, {0x2ce2}}}, 4501 {0x2cec, {1|U, {0x2ceb}}}, 4502 {0x2cee, {1|U, {0x2ced}}}, 4503 {0x2cf3, {1|U, {0x2cf2}}}, 4504 {0x2d00, {1|U, {0x10a0}}}, 4505 {0x2d01, {1|U, {0x10a1}}}, 4506 {0x2d02, {1|U, {0x10a2}}}, 4507 {0x2d03, {1|U, {0x10a3}}}, 4508 {0x2d04, {1|U, {0x10a4}}}, 4509 {0x2d05, {1|U, {0x10a5}}}, 4510 {0x2d06, {1|U, {0x10a6}}}, 4511 {0x2d07, {1|U, {0x10a7}}}, 4512 {0x2d08, {1|U, {0x10a8}}}, 4513 {0x2d09, {1|U, {0x10a9}}}, 4514 {0x2d0a, {1|U, {0x10aa}}}, 4515 {0x2d0b, {1|U, {0x10ab}}}, 4516 {0x2d0c, {1|U, {0x10ac}}}, 4517 {0x2d0d, {1|U, {0x10ad}}}, 4518 {0x2d0e, {1|U, {0x10ae}}}, 4519 {0x2d0f, {1|U, {0x10af}}}, 4520 {0x2d10, {1|U, {0x10b0}}}, 4521 {0x2d11, {1|U, {0x10b1}}}, 4522 {0x2d12, {1|U, {0x10b2}}}, 4523 {0x2d13, {1|U, {0x10b3}}}, 4524 {0x2d14, {1|U, {0x10b4}}}, 4525 {0x2d15, {1|U, {0x10b5}}}, 4526 {0x2d16, {1|U, {0x10b6}}}, 4527 {0x2d17, {1|U, {0x10b7}}}, 4528 {0x2d18, {1|U, {0x10b8}}}, 4529 {0x2d19, {1|U, {0x10b9}}}, 4530 {0x2d1a, {1|U, {0x10ba}}}, 4531 {0x2d1b, {1|U, {0x10bb}}}, 4532 {0x2d1c, {1|U, {0x10bc}}}, 4533 {0x2d1d, {1|U, {0x10bd}}}, 4534 {0x2d1e, {1|U, {0x10be}}}, 4535 {0x2d1f, {1|U, {0x10bf}}}, 4536 {0x2d20, {1|U, {0x10c0}}}, 4537 {0x2d21, {1|U, {0x10c1}}}, 4538 {0x2d22, {1|U, {0x10c2}}}, 4539 {0x2d23, {1|U, {0x10c3}}}, 4540 {0x2d24, {1|U, {0x10c4}}}, 4541 {0x2d25, {1|U, {0x10c5}}}, 4542 {0x2d27, {1|U, {0x10c7}}}, 4543 {0x2d2d, {1|U, {0x10cd}}}, 4544 {0xa641, {1|U, {0xa640}}}, 4545 {0xa643, {1|U, {0xa642}}}, 4546 {0xa645, {1|U, {0xa644}}}, 4547 {0xa647, {1|U, {0xa646}}}, 4548 {0xa649, {1|U, {0xa648}}}, 4549 {0xa64b, {2|U, {0xa64a, 0x1c88}}}, 4550 {0xa64d, {1|U, {0xa64c}}}, 4551 {0xa64f, {1|U, {0xa64e}}}, 4552 {0xa651, {1|U, {0xa650}}}, 4553 {0xa653, {1|U, {0xa652}}}, 4554 {0xa655, {1|U, {0xa654}}}, 4555 {0xa657, {1|U, {0xa656}}}, 4556 {0xa659, {1|U, {0xa658}}}, 4557 {0xa65b, {1|U, {0xa65a}}}, 4558 {0xa65d, {1|U, {0xa65c}}}, 4559 {0xa65f, {1|U, {0xa65e}}}, 4560 {0xa661, {1|U, {0xa660}}}, 4561 {0xa663, {1|U, {0xa662}}}, 4562 {0xa665, {1|U, {0xa664}}}, 4563 {0xa667, {1|U, {0xa666}}}, 4564 {0xa669, {1|U, {0xa668}}}, 4565 {0xa66b, {1|U, {0xa66a}}}, 4566 {0xa66d, {1|U, {0xa66c}}}, 4567 {0xa681, {1|U, {0xa680}}}, 4568 {0xa683, {1|U, {0xa682}}}, 4569 {0xa685, {1|U, {0xa684}}}, 4570 {0xa687, {1|U, {0xa686}}}, 4571 {0xa689, {1|U, {0xa688}}}, 4572 {0xa68b, {1|U, {0xa68a}}}, 4573 {0xa68d, {1|U, {0xa68c}}}, 4574 {0xa68f, {1|U, {0xa68e}}}, 4575 {0xa691, {1|U, {0xa690}}}, 4576 {0xa693, {1|U, {0xa692}}}, 4577 {0xa695, {1|U, {0xa694}}}, 4578 {0xa697, {1|U, {0xa696}}}, 4579 {0xa699, {1|U, {0xa698}}}, 4580 {0xa69b, {1|U, {0xa69a}}}, 4581 {0xa723, {1|U, {0xa722}}}, 4582 {0xa725, {1|U, {0xa724}}}, 4583 {0xa727, {1|U, {0xa726}}}, 4584 {0xa729, {1|U, {0xa728}}}, 4585 {0xa72b, {1|U, {0xa72a}}}, 4586 {0xa72d, {1|U, {0xa72c}}}, 4587 {0xa72f, {1|U, {0xa72e}}}, 4588 {0xa733, {1|U, {0xa732}}}, 4589 {0xa735, {1|U, {0xa734}}}, 4590 {0xa737, {1|U, {0xa736}}}, 4591 {0xa739, {1|U, {0xa738}}}, 4592 {0xa73b, {1|U, {0xa73a}}}, 4593 {0xa73d, {1|U, {0xa73c}}}, 4594 {0xa73f, {1|U, {0xa73e}}}, 4595 {0xa741, {1|U, {0xa740}}}, 4596 {0xa743, {1|U, {0xa742}}}, 4597 {0xa745, {1|U, {0xa744}}}, 4598 {0xa747, {1|U, {0xa746}}}, 4599 {0xa749, {1|U, {0xa748}}}, 4600 {0xa74b, {1|U, {0xa74a}}}, 4601 {0xa74d, {1|U, {0xa74c}}}, 4602 {0xa74f, {1|U, {0xa74e}}}, 4603 {0xa751, {1|U, {0xa750}}}, 4604 {0xa753, {1|U, {0xa752}}}, 4605 {0xa755, {1|U, {0xa754}}}, 4606 {0xa757, {1|U, {0xa756}}}, 4607 {0xa759, {1|U, {0xa758}}}, 4608 {0xa75b, {1|U, {0xa75a}}}, 4609 {0xa75d, {1|U, {0xa75c}}}, 4610 {0xa75f, {1|U, {0xa75e}}}, 4611 {0xa761, {1|U, {0xa760}}}, 4612 {0xa763, {1|U, {0xa762}}}, 4613 {0xa765, {1|U, {0xa764}}}, 4614 {0xa767, {1|U, {0xa766}}}, 4615 {0xa769, {1|U, {0xa768}}}, 4616 {0xa76b, {1|U, {0xa76a}}}, 4617 {0xa76d, {1|U, {0xa76c}}}, 4618 {0xa76f, {1|U, {0xa76e}}}, 4619 {0xa77a, {1|U, {0xa779}}}, 4620 {0xa77c, {1|U, {0xa77b}}}, 4621 {0xa77f, {1|U, {0xa77e}}}, 4622 {0xa781, {1|U, {0xa780}}}, 4623 {0xa783, {1|U, {0xa782}}}, 4624 {0xa785, {1|U, {0xa784}}}, 4625 {0xa787, {1|U, {0xa786}}}, 4626 {0xa78c, {1|U, {0xa78b}}}, 4627 {0xa791, {1|U, {0xa790}}}, 4628 {0xa793, {1|U, {0xa792}}}, 4629 {0xa797, {1|U, {0xa796}}}, 4630 {0xa799, {1|U, {0xa798}}}, 4631 {0xa79b, {1|U, {0xa79a}}}, 4632 {0xa79d, {1|U, {0xa79c}}}, 4633 {0xa79f, {1|U, {0xa79e}}}, 4634 {0xa7a1, {1|U, {0xa7a0}}}, 4635 {0xa7a3, {1|U, {0xa7a2}}}, 4636 {0xa7a5, {1|U, {0xa7a4}}}, 4637 {0xa7a7, {1|U, {0xa7a6}}}, 4638 {0xa7a9, {1|U, {0xa7a8}}}, 4639 {0xa7b5, {1|U, {0xa7b4}}}, 4640 {0xa7b7, {1|U, {0xa7b6}}}, 4641 {0xab53, {1|U, {0xa7b3}}}, 4642 {0xff41, {1|U, {0xff21}}}, 4643 {0xff42, {1|U, {0xff22}}}, 4644 {0xff43, {1|U, {0xff23}}}, 4645 {0xff44, {1|U, {0xff24}}}, 4646 {0xff45, {1|U, {0xff25}}}, 4647 {0xff46, {1|U, {0xff26}}}, 4648 {0xff47, {1|U, {0xff27}}}, 4649 {0xff48, {1|U, {0xff28}}}, 4650 {0xff49, {1|U, {0xff29}}}, 4651 {0xff4a, {1|U, {0xff2a}}}, 4652 {0xff4b, {1|U, {0xff2b}}}, 4653 {0xff4c, {1|U, {0xff2c}}}, 4654 {0xff4d, {1|U, {0xff2d}}}, 4655 {0xff4e, {1|U, {0xff2e}}}, 4656 {0xff4f, {1|U, {0xff2f}}}, 4657 {0xff50, {1|U, {0xff30}}}, 4658 {0xff51, {1|U, {0xff31}}}, 4659 {0xff52, {1|U, {0xff32}}}, 4660 {0xff53, {1|U, {0xff33}}}, 4661 {0xff54, {1|U, {0xff34}}}, 4662 {0xff55, {1|U, {0xff35}}}, 4663 {0xff56, {1|U, {0xff36}}}, 4664 {0xff57, {1|U, {0xff37}}}, 4665 {0xff58, {1|U, {0xff38}}}, 4666 {0xff59, {1|U, {0xff39}}}, 4667 {0xff5a, {1|U, {0xff3a}}}, 4668 {0x10428, {1|U, {0x10400}}}, 4669 {0x10429, {1|U, {0x10401}}}, 4670 {0x1042a, {1|U, {0x10402}}}, 4671 {0x1042b, {1|U, {0x10403}}}, 4672 {0x1042c, {1|U, {0x10404}}}, 4673 {0x1042d, {1|U, {0x10405}}}, 4674 {0x1042e, {1|U, {0x10406}}}, 4675 {0x1042f, {1|U, {0x10407}}}, 4676 {0x10430, {1|U, {0x10408}}}, 4677 {0x10431, {1|U, {0x10409}}}, 4678 {0x10432, {1|U, {0x1040a}}}, 4679 {0x10433, {1|U, {0x1040b}}}, 4680 {0x10434, {1|U, {0x1040c}}}, 4681 {0x10435, {1|U, {0x1040d}}}, 4682 {0x10436, {1|U, {0x1040e}}}, 4683 {0x10437, {1|U, {0x1040f}}}, 4684 {0x10438, {1|U, {0x10410}}}, 4685 {0x10439, {1|U, {0x10411}}}, 4686 {0x1043a, {1|U, {0x10412}}}, 4687 {0x1043b, {1|U, {0x10413}}}, 4688 {0x1043c, {1|U, {0x10414}}}, 4689 {0x1043d, {1|U, {0x10415}}}, 4690 {0x1043e, {1|U, {0x10416}}}, 4691 {0x1043f, {1|U, {0x10417}}}, 4692 {0x10440, {1|U, {0x10418}}}, 4693 {0x10441, {1|U, {0x10419}}}, 4694 {0x10442, {1|U, {0x1041a}}}, 4695 {0x10443, {1|U, {0x1041b}}}, 4696 {0x10444, {1|U, {0x1041c}}}, 4697 {0x10445, {1|U, {0x1041d}}}, 4698 {0x10446, {1|U, {0x1041e}}}, 4699 {0x10447, {1|U, {0x1041f}}}, 4700 {0x10448, {1|U, {0x10420}}}, 4701 {0x10449, {1|U, {0x10421}}}, 4702 {0x1044a, {1|U, {0x10422}}}, 4703 {0x1044b, {1|U, {0x10423}}}, 4704 {0x1044c, {1|U, {0x10424}}}, 4705 {0x1044d, {1|U, {0x10425}}}, 4706 {0x1044e, {1|U, {0x10426}}}, 4707 {0x1044f, {1|U, {0x10427}}}, 4708 {0x104d8, {1|U, {0x104b0}}}, 4709 {0x104d9, {1|U, {0x104b1}}}, 4710 {0x104da, {1|U, {0x104b2}}}, 4711 {0x104db, {1|U, {0x104b3}}}, 4712 {0x104dc, {1|U, {0x104b4}}}, 4713 {0x104dd, {1|U, {0x104b5}}}, 4714 {0x104de, {1|U, {0x104b6}}}, 4715 {0x104df, {1|U, {0x104b7}}}, 4716 {0x104e0, {1|U, {0x104b8}}}, 4717 {0x104e1, {1|U, {0x104b9}}}, 4718 {0x104e2, {1|U, {0x104ba}}}, 4719 {0x104e3, {1|U, {0x104bb}}}, 4720 {0x104e4, {1|U, {0x104bc}}}, 4721 {0x104e5, {1|U, {0x104bd}}}, 4722 {0x104e6, {1|U, {0x104be}}}, 4723 {0x104e7, {1|U, {0x104bf}}}, 4724 {0x104e8, {1|U, {0x104c0}}}, 4725 {0x104e9, {1|U, {0x104c1}}}, 4726 {0x104ea, {1|U, {0x104c2}}}, 4727 {0x104eb, {1|U, {0x104c3}}}, 4728 {0x104ec, {1|U, {0x104c4}}}, 4729 {0x104ed, {1|U, {0x104c5}}}, 4730 {0x104ee, {1|U, {0x104c6}}}, 4731 {0x104ef, {1|U, {0x104c7}}}, 4732 {0x104f0, {1|U, {0x104c8}}}, 4733 {0x104f1, {1|U, {0x104c9}}}, 4734 {0x104f2, {1|U, {0x104ca}}}, 4735 {0x104f3, {1|U, {0x104cb}}}, 4736 {0x104f4, {1|U, {0x104cc}}}, 4737 {0x104f5, {1|U, {0x104cd}}}, 4738 {0x104f6, {1|U, {0x104ce}}}, 4739 {0x104f7, {1|U, {0x104cf}}}, 4740 {0x104f8, {1|U, {0x104d0}}}, 4741 {0x104f9, {1|U, {0x104d1}}}, 4742 {0x104fa, {1|U, {0x104d2}}}, 4743 {0x104fb, {1|U, {0x104d3}}}, 4744 {0x10cc0, {1|U, {0x10c80}}}, 4745 {0x10cc1, {1|U, {0x10c81}}}, 4746 {0x10cc2, {1|U, {0x10c82}}}, 4747 {0x10cc3, {1|U, {0x10c83}}}, 4748 {0x10cc4, {1|U, {0x10c84}}}, 4749 {0x10cc5, {1|U, {0x10c85}}}, 4750 {0x10cc6, {1|U, {0x10c86}}}, 4751 {0x10cc7, {1|U, {0x10c87}}}, 4752 {0x10cc8, {1|U, {0x10c88}}}, 4753 {0x10cc9, {1|U, {0x10c89}}}, 4754 {0x10cca, {1|U, {0x10c8a}}}, 4755 {0x10ccb, {1|U, {0x10c8b}}}, 4756 {0x10ccc, {1|U, {0x10c8c}}}, 4757 {0x10ccd, {1|U, {0x10c8d}}}, 4758 {0x10cce, {1|U, {0x10c8e}}}, 4759 {0x10ccf, {1|U, {0x10c8f}}}, 4760 {0x10cd0, {1|U, {0x10c90}}}, 4761 {0x10cd1, {1|U, {0x10c91}}}, 4762 {0x10cd2, {1|U, {0x10c92}}}, 4763 {0x10cd3, {1|U, {0x10c93}}}, 4764 {0x10cd4, {1|U, {0x10c94}}}, 4765 {0x10cd5, {1|U, {0x10c95}}}, 4766 {0x10cd6, {1|U, {0x10c96}}}, 4767 {0x10cd7, {1|U, {0x10c97}}}, 4768 {0x10cd8, {1|U, {0x10c98}}}, 4769 {0x10cd9, {1|U, {0x10c99}}}, 4770 {0x10cda, {1|U, {0x10c9a}}}, 4771 {0x10cdb, {1|U, {0x10c9b}}}, 4772 {0x10cdc, {1|U, {0x10c9c}}}, 4773 {0x10cdd, {1|U, {0x10c9d}}}, 4774 {0x10cde, {1|U, {0x10c9e}}}, 4775 {0x10cdf, {1|U, {0x10c9f}}}, 4776 {0x10ce0, {1|U, {0x10ca0}}}, 4777 {0x10ce1, {1|U, {0x10ca1}}}, 4778 {0x10ce2, {1|U, {0x10ca2}}}, 4779 {0x10ce3, {1|U, {0x10ca3}}}, 4780 {0x10ce4, {1|U, {0x10ca4}}}, 4781 {0x10ce5, {1|U, {0x10ca5}}}, 4782 {0x10ce6, {1|U, {0x10ca6}}}, 4783 {0x10ce7, {1|U, {0x10ca7}}}, 4784 {0x10ce8, {1|U, {0x10ca8}}}, 4785 {0x10ce9, {1|U, {0x10ca9}}}, 4786 {0x10cea, {1|U, {0x10caa}}}, 4787 {0x10ceb, {1|U, {0x10cab}}}, 4788 {0x10cec, {1|U, {0x10cac}}}, 4789 {0x10ced, {1|U, {0x10cad}}}, 4790 {0x10cee, {1|U, {0x10cae}}}, 4791 {0x10cef, {1|U, {0x10caf}}}, 4792 {0x10cf0, {1|U, {0x10cb0}}}, 4793 {0x10cf1, {1|U, {0x10cb1}}}, 4794 {0x10cf2, {1|U, {0x10cb2}}}, 4795 {0x118c0, {1|U, {0x118a0}}}, 4796 {0x118c1, {1|U, {0x118a1}}}, 4797 {0x118c2, {1|U, {0x118a2}}}, 4798 {0x118c3, {1|U, {0x118a3}}}, 4799 {0x118c4, {1|U, {0x118a4}}}, 4800 {0x118c5, {1|U, {0x118a5}}}, 4801 {0x118c6, {1|U, {0x118a6}}}, 4802 {0x118c7, {1|U, {0x118a7}}}, 4803 {0x118c8, {1|U, {0x118a8}}}, 4804 {0x118c9, {1|U, {0x118a9}}}, 4805 {0x118ca, {1|U, {0x118aa}}}, 4806 {0x118cb, {1|U, {0x118ab}}}, 4807 {0x118cc, {1|U, {0x118ac}}}, 4808 {0x118cd, {1|U, {0x118ad}}}, 4809 {0x118ce, {1|U, {0x118ae}}}, 4810 {0x118cf, {1|U, {0x118af}}}, 4811 {0x118d0, {1|U, {0x118b0}}}, 4812 {0x118d1, {1|U, {0x118b1}}}, 4813 {0x118d2, {1|U, {0x118b2}}}, 4814 {0x118d3, {1|U, {0x118b3}}}, 4815 {0x118d4, {1|U, {0x118b4}}}, 4816 {0x118d5, {1|U, {0x118b5}}}, 4817 {0x118d6, {1|U, {0x118b6}}}, 4818 {0x118d7, {1|U, {0x118b7}}}, 4819 {0x118d8, {1|U, {0x118b8}}}, 4820 {0x118d9, {1|U, {0x118b9}}}, 4821 {0x118da, {1|U, {0x118ba}}}, 4822 {0x118db, {1|U, {0x118bb}}}, 4823 {0x118dc, {1|U, {0x118bc}}}, 4824 {0x118dd, {1|U, {0x118bd}}}, 4825 {0x118de, {1|U, {0x118be}}}, 4826 {0x118df, {1|U, {0x118bf}}}, 4827 {0x1e922, {1|U, {0x1e900}}}, 4828 {0x1e923, {1|U, {0x1e901}}}, 4829 {0x1e924, {1|U, {0x1e902}}}, 4830 {0x1e925, {1|U, {0x1e903}}}, 4831 {0x1e926, {1|U, {0x1e904}}}, 4832 {0x1e927, {1|U, {0x1e905}}}, 4833 {0x1e928, {1|U, {0x1e906}}}, 4834 {0x1e929, {1|U, {0x1e907}}}, 4835 {0x1e92a, {1|U, {0x1e908}}}, 4836 {0x1e92b, {1|U, {0x1e909}}}, 4837 {0x1e92c, {1|U, {0x1e90a}}}, 4838 {0x1e92d, {1|U, {0x1e90b}}}, 4839 {0x1e92e, {1|U, {0x1e90c}}}, 4840 {0x1e92f, {1|U, {0x1e90d}}}, 4841 {0x1e930, {1|U, {0x1e90e}}}, 4842 {0x1e931, {1|U, {0x1e90f}}}, 4843 {0x1e932, {1|U, {0x1e910}}}, 4844 {0x1e933, {1|U, {0x1e911}}}, 4845 {0x1e934, {1|U, {0x1e912}}}, 4846 {0x1e935, {1|U, {0x1e913}}}, 4847 {0x1e936, {1|U, {0x1e914}}}, 4848 {0x1e937, {1|U, {0x1e915}}}, 4849 {0x1e938, {1|U, {0x1e916}}}, 4850 {0x1e939, {1|U, {0x1e917}}}, 4851 {0x1e93a, {1|U, {0x1e918}}}, 4852 {0x1e93b, {1|U, {0x1e919}}}, 4853 {0x1e93c, {1|U, {0x1e91a}}}, 4854 {0x1e93d, {1|U, {0x1e91b}}}, 4855 {0x1e93e, {1|U, {0x1e91c}}}, 4856 {0x1e93f, {1|U, {0x1e91d}}}, 4857 {0x1e940, {1|U, {0x1e91e}}}, 4858 {0x1e941, {1|U, {0x1e91f}}}, 4859 {0x1e942, {1|U, {0x1e920}}}, 4860 {0x1e943, {1|U, {0x1e921}}}, 4861 #define CaseUnfold_11_Locale (*(CaseUnfold_11_Type (*)[1])(CaseUnfold_11_Table+1266)) 4862 {0x0069, {1|U, {0x0049}}}, 3841 4863 }; 3842 4864 3843 /* C code produced by gperf version 3.0.3*/4865 /* ANSI-C code produced by gperf version 3.1 */ 3844 4866 /* Command-line: gperf -7 -k1,2,3 -F,-1 -c -j1 -i1 -t -T -E -C -H onigenc_unicode_CaseUnfold_11_hash -N onigenc_unicode_CaseUnfold_11_lookup -n */ 3845 4867 3846 /* maximum key range = 1907, duplicates = 0 */4868 /* maximum key range = 2216, duplicates = 0 */ 3847 4869 3848 4870 #ifdef __GNUC__ … … 3859 4881 static const unsigned short asso_values[] = 3860 4882 { 3861 1, 1915, 4, 12, 199, 716, 4, 230, 6, 134,3862 355, 116, 9, 3, 7, 13, 1915, 1915, 1915, 1915,3863 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915,3864 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915,3865 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915, 1915,3866 1915, 1915, 1915, 40, 1915, 1915, 1915, 1915, 1915, 1915,3867 1915, 1915, 21, 1915, 2, 1, 11, 49, 50, 667,3868 131, 651, 26, 872, 251, 1136, 24, 42, 295, 1145,3869 1 11, 27, 47, 12, 812, 806, 107, 786, 21, 1070,3870 13, 967, 41, 5, 523, 1152, 71, 1077, 73, 948,3871 14, 601, 10, 575, 15, 764, 1, 929, 27, 1057,3872 23, 498, 15, 918, 1208, 753, 1211, 512, 1180, 736,3873 1 082, 711, 441, 898, 410, 1028, 277, 887, 238, 684,3874 33 6, 425, 740, 406, 1016, 360, 972, 382, 1006, 354,3875 1 168, 302, 999, 286, 901, 252, 546, 106, 1159, 148,3876 1 121, 224, 1061, 132, 1152, 182, 871, 210, 1163, 235,3877 1 183, 371, 1197, 64, 954, 90, 339, 79, 604, 168,3878 982, 159, 448, 328, 525, 634, 195, 620, 261, 852,3879 9 34, 312, 210, 836, 668, 983, 586, 823, 460, 955,3880 1176, 697, 119, 9984883 1, 2219, 2, 14, 4, 807, 9, 379, 10, 179, 4884 70, 161, 2, 3, 411, 4, 2219, 2219, 2219, 2219, 4885 2219, 2219, 2219, 2219, 2219, 2219, 2219, 2219, 2219, 80, 4886 2219, 2219, 2219, 2219, 2219, 2219, 2219, 2219, 2219, 2219, 4887 2219, 2219, 2219, 1, 2219, 2219, 2219, 2219, 2219, 2219, 4888 2219, 2219, 2219, 210, 2219, 2219, 2219, 2219, 2219, 2219, 4889 2219, 2219, 53, 2219, 7, 8, 306, 607, 169, 844, 4890 431, 722, 125, 1047, 489, 1394, 15, 16, 324, 1361, 4891 140, 521, 47, 461, 221, 985, 70, 965, 9, 1085, 4892 51, 1029, 223, 11, 430, 1168, 122, 1457, 344, 930, 4893 91, 711, 31, 651, 157, 772, 224, 876, 262, 900, 4894 254, 686, 221, 830, 1335, 755, 432, 623, 1382, 675, 4895 1275, 587, 99, 821, 1530, 958, 195, 810, 1518, 739, 4896 330, 361, 767, 313, 941, 400, 925, 384, 1142, 295, 4897 1295, 242, 1103, 229, 1082, 206, 1066, 104, 1317, 137, 4898 1249, 263, 1229, 115, 1154, 71, 135, 60, 1211, 158, 4899 1472, 175, 1232, 1, 1345, 27, 1269, 38, 1111, 87, 4900 1189, 49, 1256, 503, 1157, 574, 1410, 556, 1200, 787, 4901 948, 486, 1316, 797, 1218, 1044, 1282, 1007, 1126, 996, 4902 818, 1019, 218, 1072 3881 4903 }; 3882 4904 return asso_values[bits_of(code, 2)+66] + asso_values[bits_of(code, 1)+4] + asso_values[bits_of(code, 0)]; 3883 4905 } 3884 4906 3885 #ifdef __GNUC__3886 __inline3887 #ifdef __GNUC_STDC_INLINE__3888 __attribute__ ((__gnu_inline__))3889 #endif3890 #endif3891 4907 static const CodePointList3 * 3892 4908 onigenc_unicode_CaseUnfold_11_lookup(const OnigCodePoint code) … … 3895 4911 { 3896 4912 MIN_CODE_VALUE = 0x61, 3897 MAX_CODE_VALUE = 0x1 18df,3898 TOTAL_KEYWORDS = 1 055,4913 MAX_CODE_VALUE = 0x1e943, 4914 TOTAL_KEYWORDS = 1267, 3899 4915 MIN_WORD_LENGTH = 3, 3900 4916 MAX_WORD_LENGTH = 3, 3901 MIN_HASH_VALUE = 8,3902 MAX_HASH_VALUE = 19144917 MIN_HASH_VALUE = 3, 4918 MAX_HASH_VALUE = 2218 3903 4919 }; 3904 4920 3905 4921 static const short wordlist[] = 3906 4922 { 3907 -1, -1, -1, -1, -1, -1, 3908 -1, -1, 3909 /*0x1e1b*/ 490, 3910 /*0x049b*/ 362, 4923 -1, -1, -1, 4924 /*0x13e1*/ 542, 4925 /*0x0461*/ 339, 4926 /*0x04e1*/ 399, 4927 /*0x0061*/ 0, 4928 -1, 4929 /*0x104e1*/ 1122, 4930 /*0x1e61*/ 613, 4931 /*0x1ee1*/ 672, 4932 /*0x0161*/ 102, 4933 /*0x0261*/ 210, 4934 /*0x2ce1*/ 904, 4935 -1, 4936 /*0x049b*/ 364, 4937 -1, -1, 4938 /*0x24e1*/ 792, 4939 /*0x1e1b*/ 578, 4940 /*0x048b*/ 356, 3911 4941 /*0x011b*/ 69, 3912 /*0x2c9b*/ 781,3913 4942 /*0x021b*/ 178, 3914 /*0x051b*/ 426, 3915 /*0x1e91*/ 549, 3916 /*0x1e11*/ 485, 3917 /*0x0491*/ 357, 4943 /*0x2c9b*/ 869, 4944 /*0x1e0b*/ 570, 4945 /*0x1e8b*/ 634, 4946 /*0x010b*/ 61, 4947 /*0x020b*/ 170, 4948 /*0x2c8b*/ 861, 4949 /*0x13e3*/ 544, 4950 /*0x0463*/ 340, 4951 /*0x04e3*/ 400, 4952 /*0x0063*/ 2, 4953 /*0x13a4*/ 481, 4954 /*0x104e3*/ 1124, 4955 /*0x1e63*/ 614, 4956 /*0x1ee3*/ 673, 4957 /*0x0163*/ 103, 4958 /*0x0263*/ 211, 4959 /*0x2ce3*/ 905, 4960 /*0x13e5*/ 546, 4961 /*0x0465*/ 341, 4962 /*0x04e5*/ 401, 4963 /*0x0065*/ 4, 4964 /*0x24e3*/ 794, 4965 /*0x104e5*/ 1126, 4966 /*0x1e65*/ 615, 4967 /*0x1ee5*/ 674, 4968 /*0x0165*/ 104, 4969 /*0x0265*/ 212, 4970 /*0xa761*/ 1016, 4971 /*0x13e9*/ 550, 4972 /*0x0469*/ 343, 4973 /*0x04e9*/ 403, 4974 /*0x0069*/ 1266, 4975 /*0x24e5*/ 796, 4976 /*0x104e9*/ 1130, 4977 /*0x1e69*/ 617, 4978 /*0x1ee9*/ 676, 4979 /*0x0169*/ 106, 4980 /*0x0269*/ 215, 4981 -1, 4982 /*0x13db*/ 536, 4983 /*0x045b*/ 334, 4984 /*0x04db*/ 396, 4985 -1, 4986 /*0x24e9*/ 800, 4987 /*0x104db*/ 1116, 4988 /*0x1e5b*/ 610, 4989 /*0x1edb*/ 669, 4990 /*0x015b*/ 99, 4991 /*0x025b*/ 207, 4992 /*0x2cdb*/ 901, 4993 /*0x13d9*/ 534, 4994 /*0x0459*/ 332, 4995 /*0x04d9*/ 395, 4996 /*0xa763*/ 1017, 4997 /*0x24db*/ 786, 4998 /*0x104d9*/ 1114, 4999 /*0x1e59*/ 609, 5000 /*0x1ed9*/ 668, 5001 /*0x0159*/ 98, 5002 /*0x0259*/ 206, 5003 /*0x2cd9*/ 900, 5004 -1, 5005 /*0x10ce1*/ 1182, 5006 -1, 5007 /*0xa765*/ 1018, 5008 /*0x24d9*/ 784, 5009 /*0x13e7*/ 548, 5010 /*0x0467*/ 342, 5011 /*0x04e7*/ 402, 5012 /*0x0067*/ 6, 5013 /*0x13a2*/ 479, 5014 /*0x104e7*/ 1128, 5015 /*0x1e67*/ 616, 5016 /*0x1ee7*/ 675, 5017 /*0x0167*/ 105, 5018 /*0xa769*/ 1020, 5019 -1, -1, 5020 /*0x13b8*/ 501, 5021 /*0x0438*/ 299, 5022 -1, 5023 /*0x24e7*/ 798, 5024 /*0x10438*/ 1089, 5025 /*0x13d1*/ 526, 5026 /*0x0451*/ 324, 5027 /*0x04d1*/ 391, 5028 /*0xa75b*/ 1013, 5029 -1, 5030 /*0x10ce3*/ 1184, 5031 /*0x1e51*/ 605, 5032 /*0x1ed1*/ 664, 5033 /*0x0151*/ 94, 5034 /*0x0251*/ 200, 5035 /*0x2cd1*/ 896, 5036 /*0x13d7*/ 532, 5037 /*0x0457*/ 330, 5038 /*0x04d7*/ 394, 5039 /*0xa759*/ 1012, 5040 /*0x24d1*/ 776, 5041 /*0x10ce5*/ 1186, 5042 /*0x1e57*/ 608, 5043 /*0x1ed7*/ 667, 5044 /*0x0157*/ 97, 5045 /*0x0257*/ 205, 5046 /*0x2cd7*/ 899, 5047 -1, -1, 5048 /*0x0586*/ 476, 5049 -1, 5050 /*0x24d7*/ 782, 5051 /*0x10ce9*/ 1190, 5052 -1, -1, 5053 /*0xa767*/ 1019, 5054 /*0x13da*/ 535, 5055 /*0x045a*/ 333, 5056 /*0x13d3*/ 528, 5057 /*0x0453*/ 326, 5058 /*0x04d3*/ 392, 5059 /*0x104da*/ 1115, 5060 /*0xa661*/ 965, 5061 /*0x10cdb*/ 1176, 5062 /*0x1e53*/ 606, 5063 /*0x1ed3*/ 665, 5064 /*0x0153*/ 95, 5065 /*0x0253*/ 202, 5066 /*0x2cd3*/ 897, 5067 -1, -1, 5068 /*0x24da*/ 785, 5069 /*0xa751*/ 1008, 5070 /*0x24d3*/ 778, 5071 /*0x10cd9*/ 1174, 5072 -1, -1, -1, 5073 /*0x13a6*/ 483, 5074 /*0x13dd*/ 538, 5075 /*0x045d*/ 336, 5076 /*0x04dd*/ 397, 5077 /*0x03e1*/ 279, 5078 /*0xa757*/ 1011, 5079 /*0x104dd*/ 1118, 5080 /*0x1e5d*/ 611, 5081 /*0x1edd*/ 670, 5082 /*0x015d*/ 100, 5083 /*0xa663*/ 966, 5084 /*0x2cdd*/ 902, 5085 /*0x10ce7*/ 1188, 5086 -1, -1, 5087 /*0x0582*/ 472, 5088 /*0x24dd*/ 788, 5089 -1, 5090 /*0x13df*/ 540, 5091 /*0x045f*/ 338, 5092 /*0x04df*/ 398, 5093 /*0xa665*/ 967, 5094 -1, 5095 /*0x104df*/ 1120, 5096 /*0x1e5f*/ 612, 5097 /*0x1edf*/ 671, 5098 /*0x015f*/ 101, 5099 /*0xa753*/ 1009, 5100 /*0x2cdf*/ 903, 5101 /*0x10cd1*/ 1166, 5102 /*0x03e3*/ 280, 5103 /*0xab53*/ 1046, 5104 /*0xa669*/ 969, 5105 /*0x24df*/ 790, 5106 -1, -1, 5107 /*0x028a*/ 229, 5108 /*0x028b*/ 230, 5109 /*0x13bc*/ 505, 5110 /*0x043c*/ 303, 5111 /*0x10cd7*/ 1172, 5112 /*0x03e5*/ 281, 5113 /*0x1043c*/ 1093, 5114 /*0xa65b*/ 962, 5115 -1, -1, 5116 /*0x013c*/ 84, 5117 /*0x023c*/ 190, 5118 /*0xa75d*/ 1014, 5119 /*0x13cf*/ 524, 5120 /*0x044f*/ 322, 5121 /*0x04cf*/ 390, 5122 /*0x03e9*/ 283, 5123 /*0x1044f*/ 1112, 5124 /*0xa659*/ 961, 5125 /*0x1e4f*/ 604, 5126 /*0x1ecf*/ 663, 5127 /*0x014f*/ 93, 5128 /*0x024f*/ 198, 5129 /*0x2ccf*/ 895, 5130 /*0x10cda*/ 1175, 5131 -1, 5132 /*0x10cd3*/ 1168, 5133 /*0x03db*/ 276, 5134 /*0x13ae*/ 491, 5135 /*0xa75f*/ 1015, 5136 /*0x2c61*/ 848, 5137 /*0x13a8*/ 485, 5138 /*0x1042e*/ 1079, 5139 /*0x017e*/ 116, 5140 /*0xa667*/ 968, 5141 /*0x10428*/ 1073, 5142 /*0x13cd*/ 522, 5143 /*0x044d*/ 320, 5144 /*0x03d9*/ 275, 5145 -1, 5146 /*0x1044d*/ 1110, 5147 -1, 5148 /*0x1e4d*/ 603, 5149 /*0x1ecd*/ 662, 5150 /*0x014d*/ 92, 5151 /*0x024d*/ 197, 5152 /*0x2ccd*/ 894, 5153 /*0x10cdd*/ 1178, 5154 -1, 5155 /*0x13cb*/ 520, 5156 /*0x044b*/ 318, 5157 /*0xa651*/ 957, 5158 -1, 5159 /*0x1044b*/ 1108, 5160 /*0x03e7*/ 282, 5161 /*0x1e4b*/ 602, 5162 /*0x1ecb*/ 661, 5163 /*0x014b*/ 91, 5164 /*0x024b*/ 196, 5165 /*0x2ccb*/ 893, 5166 /*0xa74f*/ 1007, 5167 /*0x13ac*/ 489, 5168 /*0xa657*/ 960, 5169 -1, 5170 /*0x10cdf*/ 1180, 5171 /*0x1042c*/ 1077, 5172 /*0x03b8*/ 252, 5173 /*0x2c65*/ 849, 5174 -1, 5175 /*0x13aa*/ 487, 5176 /*0x13d5*/ 530, 5177 /*0x0455*/ 328, 5178 /*0x04d5*/ 393, 5179 /*0x1042a*/ 1075, 5180 -1, -1, 5181 /*0x1e55*/ 607, 5182 /*0x1ed5*/ 666, 5183 /*0x0155*/ 96, 5184 /*0x118db*/ 1227, 5185 /*0x2cd5*/ 898, 5186 -1, 5187 /*0x03d7*/ 274, 5188 /*0xa74d*/ 1006, 5189 /*0xa653*/ 958, 5190 /*0x24d5*/ 780, 5191 -1, -1, -1, 5192 /*0x2c5b*/ 844, 5193 /*0x118d9*/ 1225, 5194 -1, -1, -1, -1, 5195 /*0x10ccf*/ 1164, 5196 /*0xa74b*/ 1005, 5197 -1, -1, -1, 5198 /*0x2c59*/ 842, 5199 -1, 5200 /*0x13c9*/ 518, 5201 /*0x0449*/ 316, 5202 -1, 5203 /*0xa65d*/ 963, 5204 /*0x10449*/ 1106, 5205 /*0x029e*/ 234, 5206 /*0x1e49*/ 601, 5207 /*0x1ec9*/ 660, 5208 -1, 5209 /*0x0249*/ 195, 5210 /*0x2cc9*/ 892, 5211 /*0x1f61*/ 729, 5212 -1, -1, 5213 /*0x0580*/ 470, 5214 /*0xa755*/ 1010, 5215 /*0x10ccd*/ 1162, 5216 -1, 5217 /*0x13c3*/ 512, 5218 /*0x0443*/ 310, 5219 /*0xa65f*/ 964, 5220 /*0x118d1*/ 1217, 5221 /*0x10443*/ 1100, 5222 /*0x03dd*/ 277, 5223 /*0x1e43*/ 598, 5224 /*0x1ec3*/ 657, 5225 /*0x2c38*/ 809, 5226 -1, 5227 /*0x2cc3*/ 889, 5228 /*0x10ccb*/ 1160, 5229 -1, 5230 /*0x2c51*/ 834, 5231 /*0x118d7*/ 1223, 5232 -1, -1, 5233 /*0x13c0*/ 509, 5234 /*0x0440*/ 307, 5235 /*0x1f63*/ 731, 5236 -1, 5237 /*0x10440*/ 1097, 5238 /*0x03df*/ 278, 5239 /*0x1f24*/ 706, 5240 /*0x2c57*/ 840, 5241 /*0x0140*/ 86, 5242 /*0x0240*/ 192, 5243 -1, -1, 5244 /*0xa749*/ 1004, 5245 /*0x1f65*/ 733, 5246 /*0x13a0*/ 477, 5247 /*0x10cd5*/ 1170, 5248 /*0xa64f*/ 956, 5249 /*0x118da*/ 1226, 5250 -1, 5251 /*0x118d3*/ 1219, 5252 -1, -1, 5253 /*0x1f10*/ 696, 5254 -1, -1, 5255 /*0x03bc*/ 256, 5256 -1, 5257 /*0x2c5a*/ 843, 5258 -1, 5259 /*0x2c53*/ 836, 5260 /*0xa743*/ 1001, 5261 /*0x13c1*/ 510, 5262 /*0x0441*/ 308, 5263 -1, -1, 5264 /*0x10441*/ 1098, 5265 -1, 5266 /*0x1e41*/ 597, 5267 /*0x1ec1*/ 656, 5268 /*0xa64d*/ 955, 5269 /*0x118dd*/ 1229, 5270 /*0x2cc1*/ 888, 5271 -1, -1, -1, 5272 /*0x1f14*/ 700, 5273 -1, 5274 /*0x10cc9*/ 1158, 5275 -1, 5276 /*0x01e1*/ 151, 5277 /*0x2c5d*/ 846, 5278 /*0x03ae*/ 243, 5279 /*0xa64b*/ 954, 5280 -1, 5281 /*0x13c7*/ 516, 5282 /*0x0447*/ 314, 5283 -1, 5284 /*0x118df*/ 1231, 5285 /*0x10447*/ 1104, 5286 /*0x03cd*/ 272, 5287 /*0x1e47*/ 600, 5288 /*0x1ec7*/ 659, 5289 /*0x1f67*/ 735, 5290 /*0x0247*/ 194, 5291 /*0x2cc7*/ 891, 5292 /*0x10cc3*/ 1152, 5293 /*0x1f22*/ 704, 5294 -1, -1, 5295 /*0x0292*/ 232, 5296 /*0x13c5*/ 514, 5297 /*0x0445*/ 312, 5298 /*0x03cb*/ 270, 5299 /*0xa655*/ 959, 5300 /*0x10445*/ 1102, 5301 /*0x01e3*/ 152, 5302 /*0x1e45*/ 599, 5303 /*0x1ec5*/ 658, 5304 /*0xa741*/ 1000, 5305 /*0x1f51*/ 724, 5306 /*0x2cc5*/ 890, 5307 /*0x0561*/ 439, 5308 /*0x10cc0*/ 1149, 5309 /*0xff59*/ 1071, 5310 /*0x03ac*/ 241, 5311 -1, 5312 /*0x01e5*/ 153, 5313 /*0x2c3c*/ 813, 5314 /*0x118cf*/ 1215, 5315 -1, 5316 /*0x1f57*/ 727, 5317 /*0x051b*/ 428, 5318 -1, -1, -1, -1, 5319 /*0x050b*/ 420, 5320 /*0x01e9*/ 155, 5321 /*0x2c4f*/ 832, 5322 -1, 5323 /*0x1f06*/ 694, 5324 /*0xa747*/ 1003, 5325 /*0x13b2*/ 495, 5326 /*0x0432*/ 293, 5327 /*0x0584*/ 474, 5328 /*0xa649*/ 953, 5329 /*0x10432*/ 1083, 5330 /*0x0563*/ 441, 5331 /*0x2d16*/ 931, 5332 -1, 5333 /*0x2d1b*/ 936, 5334 /*0x118cd*/ 1213, 5335 /*0x1f53*/ 725, 5336 /*0x10cc1*/ 1150, 5337 /*0x2d0a*/ 919, 5338 /*0x2d0b*/ 920, 5339 /*0xff51*/ 1063, 5340 /*0xa745*/ 1002, 5341 /*0x0565*/ 443, 5342 -1, -1, 5343 /*0x2c4d*/ 830, 5344 -1, 5345 /*0xa643*/ 950, 5346 /*0x118cb*/ 1211, 5347 /*0x03c9*/ 268, 5348 -1, 5349 /*0xff57*/ 1069, 5350 -1, 5351 /*0x0569*/ 447, 5352 /*0x2d24*/ 945, 5353 -1, 5354 /*0x1f26*/ 708, 5355 /*0x0491*/ 359, 5356 /*0x2c4b*/ 828, 5357 /*0x01e7*/ 154, 5358 /*0x10cc7*/ 1156, 5359 /*0x1e11*/ 573, 5360 /*0x1e91*/ 637, 3918 5361 /*0x0111*/ 64, 3919 /*0x2c91*/ 776,3920 5362 /*0x0211*/ 173, 3921 /*0x0511*/ 421, 3922 /*0xa79b*/ 948, 3923 /*0x1f24*/ 618, 3924 /*0x1f00*/ 600, 3925 /*0x1f11*/ 609, 3926 /*0x0580*/ 468, 3927 /*0x1f22*/ 616, 3928 /*0x1f26*/ 620, 3929 /*0xa791*/ 944, 3930 /*0x1e8f*/ 548, 3931 /*0x1e0f*/ 484, 3932 /*0x048f*/ 356, 5363 /*0x2c91*/ 864, 5364 /*0xa79b*/ 1036, 5365 /*0x03c3*/ 262, 5366 /*0x1f02*/ 690, 5367 /*0x118d5*/ 1221, 5368 /*0x2d10*/ 925, 5369 /*0xff5a*/ 1072, 5370 /*0x1e924*/ 1234, 5371 /*0xff53*/ 1065, 5372 /*0x2d18*/ 933, 5373 -1, 5374 /*0x10cc5*/ 1154, 5375 -1, 5376 /*0x0280*/ 224, 5377 /*0x2c55*/ 838, 5378 /*0x13f3*/ 560, 5379 /*0x0473*/ 348, 5380 /*0x04f3*/ 408, 5381 /*0x0073*/ 17, 5382 /*0x03c0*/ 260, 5383 /*0x104f3*/ 1140, 5384 /*0x1e73*/ 622, 5385 /*0x1ef3*/ 681, 5386 /*0x0173*/ 111, 5387 -1, 5388 /*0x2cf3*/ 908, 5389 /*0x0567*/ 445, 5390 -1, 5391 /*0x2d14*/ 929, 5392 /*0x019e*/ 126, 5393 /*0xa641*/ 949, 5394 /*0x028c*/ 231, 5395 /*0x13eb*/ 552, 5396 /*0x046b*/ 344, 5397 /*0x04eb*/ 404, 5398 /*0x006b*/ 9, 5399 /*0x118c9*/ 1209, 5400 /*0x104eb*/ 1132, 5401 /*0x1e6b*/ 618, 5402 /*0x1eeb*/ 677, 5403 /*0x016b*/ 107, 5404 /*0x026b*/ 217, 5405 /*0x01da*/ 147, 5406 -1, -1, -1, 5407 /*0x2c49*/ 826, 5408 -1, -1, 5409 /*0x2d22*/ 943, 5410 /*0x03c1*/ 261, 5411 -1, 5412 /*0x048f*/ 358, 5413 /*0xa647*/ 952, 5414 /*0x118c3*/ 1203, 5415 /*0x1f12*/ 698, 5416 /*0x1e0f*/ 572, 5417 /*0x1e8f*/ 636, 3933 5418 /*0x010f*/ 63, 3934 /*0x2c8f*/ 775,3935 5419 /*0x020f*/ 172, 3936 /*0x050f*/ 420, 3937 /*0xa69b*/ 897, 3938 -1, 3939 /*0x1f06*/ 606, 3940 -1, 3941 /*0x0586*/ 474, 3942 -1, -1, 3943 /*0xa691*/ 892, 3944 /*0x1e8b*/ 546, 3945 /*0x1e0b*/ 482, 3946 /*0x048b*/ 354, 3947 /*0x010b*/ 61, 3948 /*0x2c8b*/ 773, 3949 /*0x020b*/ 170, 3950 /*0x050b*/ 418, 3951 /*0x1e81*/ 541, 3952 /*0x1e01*/ 477, 3953 /*0x0481*/ 353, 5420 /*0x2c8f*/ 863, 5421 /*0xa69b*/ 985, 5422 -1, -1, 5423 /*0x2c43*/ 820, 5424 /*0x01dd*/ 149, 5425 /*0xa68b*/ 977, 5426 /*0x1e922*/ 1232, 5427 -1, 5428 /*0xa645*/ 951, 5429 -1, 5430 /*0x118c0*/ 1200, 5431 -1, 5432 /*0x03c7*/ 266, 5433 -1, 5434 /*0x1e938*/ 1254, 5435 -1, 5436 /*0xff4f*/ 1061, 5437 -1, 5438 /*0xa76b*/ 1021, 5439 /*0x2d1e*/ 939, 5440 /*0x2c40*/ 817, 5441 /*0x01df*/ 150, 5442 /*0x2d06*/ 915, 5443 /*0x0373*/ 236, 5444 /*0x13ef*/ 556, 5445 /*0x046f*/ 346, 5446 /*0x04ef*/ 406, 5447 /*0x006f*/ 13, 5448 /*0x03c5*/ 264, 5449 /*0x104ef*/ 1136, 5450 /*0x1e6f*/ 620, 5451 /*0x1eef*/ 679, 5452 /*0x016f*/ 109, 5453 /*0x026f*/ 219, 5454 -1, -1, 5455 /*0x1f55*/ 726, 5456 /*0x2d0e*/ 923, 5457 -1, 5458 /*0xff4d*/ 1059, 5459 -1, 5460 /*0x118c1*/ 1201, 5461 /*0x13ed*/ 554, 5462 /*0x046d*/ 345, 5463 /*0x04ed*/ 405, 5464 /*0x006d*/ 11, 5465 -1, 5466 /*0x104ed*/ 1134, 5467 /*0x1e6d*/ 619, 5468 /*0x1eed*/ 678, 5469 /*0x016d*/ 108, 5470 /*0x2c41*/ 818, 5471 /*0xff4b*/ 1057, 5472 /*0x10ceb*/ 1192, 5473 -1, 5474 /*0x13b7*/ 500, 5475 /*0x0437*/ 298, 5476 /*0x04b7*/ 378, 5477 -1, 5478 /*0x10437*/ 1088, 5479 /*0x03b2*/ 246, 5480 /*0x1e37*/ 592, 5481 /*0x1eb7*/ 651, 5482 /*0x0137*/ 82, 5483 /*0x118c7*/ 1207, 5484 /*0x2cb7*/ 883, 5485 /*0x2d02*/ 911, 5486 /*0x0192*/ 122, 5487 -1, 5488 /*0x019a*/ 125, 5489 /*0x01a8*/ 130, 5490 /*0xa76f*/ 1023, 5491 /*0x1e926*/ 1236, 5492 /*0xff55*/ 1067, 5493 /*0x2c47*/ 824, 5494 /*0x1fe1*/ 755, 5495 -1, 5496 /*0x0481*/ 355, 5497 /*0x0581*/ 471, 5498 /*0x1f00*/ 688, 5499 /*0x118c5*/ 1205, 5500 /*0x1e01*/ 565, 5501 /*0x1e81*/ 629, 3954 5502 /*0x0101*/ 56, 3955 /*0x2c81*/ 768,3956 5503 /*0x0201*/ 165, 3957 /*0x0501*/ 413, 3958 /*0xa68f*/ 891, 3959 /*0x1f10*/ 608, 3960 -1, 3961 /*0x1f01*/ 601, 3962 /*0x1f02*/ 602, 3963 /*0x0581*/ 469, 3964 /*0x0582*/ 470, 3965 /*0xa781*/ 939, 3966 /*0x1ee1*/ 584, 3967 /*0x1e61*/ 525, 3968 /*0x04e1*/ 397, 3969 /*0x0161*/ 102, 3970 /*0x2ce1*/ 816, 3971 /*0x0261*/ 210, 3972 /*0x0561*/ 437, 3973 /*0xa68b*/ 889, 3974 /*0x0461*/ 337, 3975 -1, 3976 /*0x1f61*/ 641, 3977 -1, -1, -1, 3978 /*0xa681*/ 884, 3979 /*0x1ee5*/ 586, 3980 /*0x1e65*/ 527, 3981 /*0x04e5*/ 399, 3982 /*0x0165*/ 104, 3983 /*0x1f20*/ 614, 3984 /*0x0265*/ 212, 3985 /*0x0565*/ 441, 3986 -1, 3987 /*0x0465*/ 339, 3988 -1, 3989 /*0x1f65*/ 645, 3990 /*0x1ee3*/ 585, 3991 /*0x1e63*/ 526, 3992 /*0x04e3*/ 398, 3993 /*0x0163*/ 103, 3994 /*0x2ce3*/ 817, 3995 /*0x0263*/ 211, 3996 /*0x0563*/ 439, 3997 -1, 3998 /*0x0463*/ 338, 3999 -1, 4000 /*0x1f63*/ 643, 4001 -1, -1, -1, 4002 /*0x2c61*/ 760, 4003 /*0x24e1*/ 704, 4004 /*0x1ed1*/ 576, 4005 /*0x1e51*/ 517, 4006 /*0x04d1*/ 389, 4007 /*0x0151*/ 94, 4008 /*0x2cd1*/ 808, 4009 /*0x0251*/ 200, 4010 /*0x1fe1*/ 667, 4011 /*0xa761*/ 928, 4012 /*0x0451*/ 322, 4013 -1, 4014 /*0x1f51*/ 636, 4015 /*0x1f14*/ 612, 4016 -1, 4017 /*0x2c65*/ 761, 4018 /*0x24e5*/ 708, 4019 -1, 4020 /*0x017e*/ 116, 4021 -1, -1, 4022 /*0x057e*/ 466, 4023 -1, 4024 /*0x1fe5*/ 668, 4025 /*0xa765*/ 930, 4026 -1, 4027 /*0x03ae*/ 241, 4028 /*0x24e3*/ 706, 4029 /*0x1ed7*/ 579, 4030 /*0x1e57*/ 520, 4031 /*0x04d7*/ 392, 4032 /*0x0157*/ 97, 4033 /*0x2cd7*/ 811, 4034 /*0x0257*/ 205, 4035 /*0x03ac*/ 239, 4036 /*0xa763*/ 929, 4037 /*0x0457*/ 328, 4038 /*0x1f04*/ 604, 4039 /*0x1f57*/ 639, 4040 /*0x0584*/ 472, 4041 /*0x0280*/ 223, 4042 -1, 4043 /*0x2c51*/ 746, 4044 /*0x24d1*/ 688, 4045 /*0x1ed3*/ 577, 4046 /*0x1e53*/ 518, 4047 /*0x04d3*/ 390, 4048 /*0x0153*/ 95, 4049 /*0x2cd3*/ 809, 4050 /*0x0253*/ 202, 4051 /*0x1fd1*/ 665, 4052 /*0xa751*/ 920, 4053 /*0x0453*/ 324, 4054 /*0x028a*/ 228, 4055 /*0x1f53*/ 637, 4056 /*0x1ee9*/ 588, 4057 /*0x1e69*/ 529, 4058 /*0x04e9*/ 401, 4059 /*0x0169*/ 106, 4060 -1, 4061 /*0x0269*/ 215, 4062 /*0x0569*/ 445, 4063 -1, 4064 /*0x0469*/ 341, 4065 /*0x1ee7*/ 587, 4066 /*0x1e67*/ 528, 4067 /*0x04e7*/ 400, 4068 /*0x0167*/ 105, 4069 /*0x2c57*/ 752, 4070 /*0x24d7*/ 694, 4071 /*0x0567*/ 443, 4072 /*0x028b*/ 229, 4073 /*0x0467*/ 340, 4074 /*0xa661*/ 877, 4075 /*0x1f67*/ 647, 4076 /*0x03e1*/ 277, 4077 -1, 4078 /*0xa757*/ 923, 4079 /*0x1ed9*/ 580, 4080 /*0x1e59*/ 521, 4081 /*0x04d9*/ 393, 4082 /*0x0159*/ 98, 4083 /*0x2cd9*/ 812, 4084 /*0x0259*/ 206, 4085 /*0x2c53*/ 748, 4086 /*0x24d3*/ 690, 4087 /*0x0459*/ 330, 4088 -1, 4089 /*0xa665*/ 879, 4090 -1, 4091 /*0x03e5*/ 279, 4092 -1, -1, 4093 /*0xa753*/ 921, 4094 -1, 4095 /*0x2cee*/ 819, 4096 /*0x24e9*/ 712, 4097 /*0x056e*/ 450, 4098 -1, 4099 /*0xa663*/ 878, 4100 /*0x029e*/ 232, 4101 /*0x03e3*/ 278, 4102 -1, 4103 /*0x10428*/ 982, 4104 /*0xa769*/ 932, 4105 /*0x24e7*/ 710, 4106 /*0x1edb*/ 581, 4107 /*0x1e5b*/ 522, 4108 /*0x04db*/ 394, 4109 /*0x015b*/ 99, 4110 /*0x2cdb*/ 813, 4111 /*0x025b*/ 207, 4112 /*0x0574*/ 456, 4113 /*0xa767*/ 931, 4114 /*0x045b*/ 332, 4115 /*0xa651*/ 869, 4116 /*0x1f74*/ 652, 4117 /*0x1042e*/ 988, 4118 /*0x2c59*/ 754, 4119 /*0x24d9*/ 696, 4120 /*0x1ed5*/ 578, 4121 /*0x1e55*/ 519, 4122 /*0x04d5*/ 391, 4123 /*0x0155*/ 96, 4124 /*0x2cd5*/ 810, 4125 /*0x1042c*/ 986, 4126 /*0x01a8*/ 130, 4127 /*0xa759*/ 924, 4128 /*0x0455*/ 326, 4129 /*0x1042a*/ 984, 4130 /*0x1f55*/ 638, 4131 /*0x1edd*/ 582, 4132 /*0x1e5d*/ 523, 4133 /*0x04dd*/ 395, 4134 /*0x015d*/ 100, 4135 /*0x2cdd*/ 814, 5504 /*0x2c81*/ 856, 5505 /*0x1f43*/ 721, 5506 -1, -1, 5507 /*0xa76d*/ 1022, 5508 /*0x2c45*/ 822, 5509 /*0x13b3*/ 496, 5510 /*0x0433*/ 294, 5511 /*0x04b3*/ 376, 5512 -1, 5513 /*0x10433*/ 1084, 5514 /*0x057e*/ 468, 5515 /*0x1e33*/ 590, 5516 /*0x1eb3*/ 649, 5517 /*0x0133*/ 80, 5518 /*0x0233*/ 189, 5519 /*0x2cb3*/ 881, 5520 /*0xa737*/ 995, 5521 /*0x1f40*/ 718, 5522 -1, 5523 /*0xff49*/ 1055, 5524 /*0x10cef*/ 1196, 5525 -1, -1, -1, 5526 /*0x1e93c*/ 1258, 5527 /*0xa66b*/ 970, 5528 /*0x1fe5*/ 756, 5529 -1, 5530 /*0x03f3*/ 288, 5531 -1, 5532 /*0x217e*/ 772, 5533 /*0x1f20*/ 702, 5534 /*0x2d12*/ 927, 5535 /*0x13a5*/ 482, 5536 /*0x2d1a*/ 935, 5537 /*0x04a5*/ 369, 5538 /*0x2c32*/ 803, 5539 /*0xff43*/ 1049, 5540 /*0x10ced*/ 1194, 5541 /*0x1e25*/ 583, 5542 /*0x1ea5*/ 642, 5543 /*0x0125*/ 74, 5544 /*0x0225*/ 182, 5545 /*0x2ca5*/ 874, 5546 -1, 5547 /*0x03eb*/ 284, 5548 -1, -1, 5549 /*0x1f41*/ 719, 5550 /*0x0288*/ 227, 5551 /*0x1e92e*/ 1244, 5552 -1, 5553 /*0xa733*/ 993, 5554 /*0x1e928*/ 1238, 5555 -1, 5556 /*0x01c9*/ 139, 5557 -1, 5558 /*0x13b5*/ 498, 5559 /*0x0435*/ 296, 5560 /*0x04b5*/ 377, 5561 -1, 5562 /*0x10435*/ 1086, 5563 -1, 5564 /*0x1e35*/ 591, 5565 /*0x1eb5*/ 650, 5566 /*0x0135*/ 81, 4136 5567 /*0x0180*/ 117, 5568 /*0x2cb5*/ 882, 5569 /*0x13ad*/ 490, 5570 -1, 5571 /*0x04ad*/ 373, 5572 -1, 5573 /*0x1042d*/ 1078, 5574 -1, 5575 /*0x1e2d*/ 587, 5576 /*0x1ead*/ 646, 5577 /*0x012d*/ 78, 5578 /*0x022d*/ 186, 5579 /*0x2cad*/ 878, 5580 -1, 5581 /*0xa725*/ 987, 5582 -1, -1, 5583 /*0x1e92c*/ 1242, 5584 /*0x018c*/ 121, 5585 /*0xff41*/ 1047, 5586 -1, 5587 /*0x1f45*/ 723, 5588 -1, -1, 5589 /*0x2c73*/ 854, 5590 /*0x1e92a*/ 1240, 5591 /*0x1fd1*/ 753, 5592 /*0x13a3*/ 480, 5593 -1, 5594 /*0x04a3*/ 368, 5595 /*0xa66d*/ 971, 5596 -1, 5597 /*0x03ef*/ 286, 5598 /*0x1e23*/ 582, 5599 /*0x1ea3*/ 641, 5600 /*0x0123*/ 73, 5601 /*0x0223*/ 181, 5602 /*0x2ca3*/ 873, 5603 /*0xa735*/ 994, 5604 -1, -1, 5605 /*0x0585*/ 475, 5606 /*0xff47*/ 1053, 5607 -1, 5608 /*0x1e05*/ 567, 5609 /*0x1e85*/ 631, 5610 /*0x0105*/ 58, 5611 /*0x0205*/ 167, 5612 /*0x2c85*/ 858, 5613 /*0xa72d*/ 991, 5614 /*0x03ed*/ 285, 5615 /*0x2d00*/ 909, 5616 /*0x1f04*/ 692, 5617 /*0x1f32*/ 712, 5618 -1, 5619 /*0x13bf*/ 508, 5620 /*0x043f*/ 306, 5621 /*0x04bf*/ 382, 5622 /*0xff45*/ 1051, 5623 /*0x1043f*/ 1096, 5624 -1, 5625 /*0x1e3f*/ 596, 5626 /*0x1ebf*/ 655, 5627 /*0x03b7*/ 251, 5628 /*0x023f*/ 191, 5629 /*0x2cbf*/ 887, 5630 -1, -1, -1, 5631 /*0x2d0c*/ 921, 5632 -1, 5633 /*0x13b1*/ 494, 5634 /*0x0431*/ 292, 5635 /*0x04b1*/ 375, 5636 /*0xa723*/ 986, 5637 /*0x10431*/ 1082, 5638 /*0x1e943*/ 1265, 5639 /*0x1e31*/ 589, 5640 /*0x1eb1*/ 648, 5641 -1, 5642 /*0x0231*/ 188, 5643 /*0x2cb1*/ 880, 5644 /*0x1f11*/ 697, 5645 /*0x13c2*/ 511, 5646 /*0x0442*/ 309, 5647 /*0x04c2*/ 383, 5648 -1, 5649 /*0x10442*/ 1099, 5650 /*0x13a7*/ 484, 5651 /*0x2d20*/ 941, 5652 /*0x04a7*/ 370, 5653 /*0x0142*/ 87, 5654 /*0x0242*/ 193, 5655 /*0x1e940*/ 1262, 5656 /*0x1e27*/ 584, 5657 /*0x1ea7*/ 643, 5658 /*0x0127*/ 75, 5659 /*0x0227*/ 183, 5660 /*0x2ca7*/ 875, 5661 /*0x03b3*/ 247, 5662 -1, 5663 /*0xa78c*/ 1031, 5664 /*0xa73f*/ 999, 5665 /*0x13f1*/ 558, 5666 /*0x0471*/ 347, 5667 /*0x04f1*/ 407, 5668 /*0x0071*/ 15, 5669 /*0x1f73*/ 739, 5670 /*0x104f1*/ 1138, 5671 /*0x1e71*/ 621, 5672 /*0x1ef1*/ 680, 5673 /*0x0171*/ 110, 5674 /*0x0271*/ 220, 5675 /*0x13f5*/ 562, 5676 /*0x0475*/ 349, 5677 /*0x04f5*/ 409, 5678 /*0x0075*/ 19, 5679 -1, 5680 /*0x104f5*/ 1142, 5681 /*0x1e75*/ 623, 5682 /*0x1ef5*/ 682, 5683 /*0x0175*/ 112, 5684 /*0x0275*/ 222, 5685 /*0x00e1*/ 26, 5686 /*0x1e941*/ 1263, 5687 /*0x2c37*/ 808, 5688 /*0x13bd*/ 506, 5689 /*0x043d*/ 304, 5690 /*0x04bd*/ 381, 5691 -1, 5692 /*0x1043d*/ 1094, 5693 -1, 5694 /*0x1e3d*/ 595, 5695 /*0x1ebd*/ 654, 5696 -1, 5697 /*0xa727*/ 988, 5698 /*0x2cbd*/ 886, 5699 /*0x13b9*/ 502, 5700 /*0x0439*/ 300, 5701 /*0x04b9*/ 379, 5702 -1, 5703 /*0x10439*/ 1090, 5704 /*0x017c*/ 115, 5705 /*0x1e39*/ 593, 5706 /*0x1eb9*/ 652, 5707 -1, 5708 /*0x13af*/ 492, 5709 /*0x2cb9*/ 884, 5710 /*0x04af*/ 374, 5711 /*0x00e3*/ 28, 5712 /*0x1042f*/ 1080, 5713 /*0x03b5*/ 249, 5714 /*0x1e2f*/ 588, 5715 /*0x1eaf*/ 647, 5716 /*0x012f*/ 79, 5717 /*0x022f*/ 187, 5718 /*0x2caf*/ 879, 5719 -1, -1, -1, 5720 /*0x00e5*/ 30, 5721 /*0x2c33*/ 804, 5722 /*0x03ad*/ 242, 5723 /*0x0583*/ 473, 5724 -1, 5725 /*0x10cc2*/ 1151, 5726 /*0x1e03*/ 566, 5727 /*0x1e83*/ 630, 5728 /*0x0103*/ 57, 5729 /*0x0203*/ 166, 5730 /*0x2c83*/ 857, 5731 /*0x00e9*/ 34, 5732 /*0x0371*/ 235, 5733 /*0xa73d*/ 998, 5734 -1, 5735 /*0x2d1c*/ 937, 5736 /*0x2d04*/ 913, 5737 -1, -1, -1, 5738 /*0x01f3*/ 159, 5739 /*0xa77c*/ 1025, 5740 -1, 5741 /*0x0188*/ 120, 5742 /*0xa739*/ 996, 5743 /*0x10cf1*/ 1198, 5744 -1, 5745 /*0x0511*/ 423, 5746 -1, -1, -1, -1, 5747 /*0x13a9*/ 486, 5748 /*0xa72f*/ 992, 5749 /*0x04a9*/ 371, 5750 /*0x1e932*/ 1248, 5751 /*0x10429*/ 1074, 5752 /*0x01eb*/ 156, 5753 /*0x1e29*/ 585, 5754 /*0x1ea9*/ 644, 5755 /*0x0129*/ 76, 5756 /*0x0229*/ 184, 5757 /*0x2ca9*/ 876, 5758 /*0x037c*/ 239, 5759 -1, -1, 5760 /*0x2d11*/ 926, 5761 -1, 5762 /*0x1f37*/ 717, 5763 /*0x00e7*/ 32, 5764 -1, -1, 5765 /*0x0573*/ 457, 5766 /*0x2c35*/ 806, 5767 -1, 5768 /*0x03bf*/ 259, 5769 /*0x13ab*/ 488, 5770 -1, 5771 /*0x04ab*/ 372, 5772 -1, 5773 /*0x1042b*/ 1076, 5774 -1, 5775 /*0x1e2b*/ 586, 5776 /*0x1eab*/ 645, 5777 /*0x012b*/ 77, 5778 /*0x022b*/ 185, 5779 /*0x2cab*/ 877, 5780 -1, 5781 /*0x1f01*/ 689, 5782 /*0x056b*/ 449, 5783 -1, 5784 /*0x03b1*/ 245, 5785 /*0x2173*/ 761, 5786 -1, 5787 /*0x2d08*/ 917, 5788 -1, -1, -1, 5789 /*0xa791*/ 1032, 5790 /*0xa729*/ 989, 5791 -1, 5792 /*0x13c6*/ 515, 5793 /*0x0446*/ 313, 5794 /*0x04c6*/ 385, 5795 /*0x1f33*/ 713, 5796 /*0x10446*/ 1103, 5797 /*0x13a1*/ 478, 5798 /*0x050f*/ 422, 5799 /*0x04a1*/ 367, 5800 /*0x0146*/ 89, 5801 /*0x01ef*/ 158, 5802 -1, 5803 /*0x1e21*/ 581, 5804 /*0x1ea1*/ 640, 5805 /*0x0121*/ 72, 5806 -1, 5807 /*0x2ca1*/ 872, 5808 /*0x13c4*/ 513, 5809 /*0x0444*/ 311, 5810 /*0x04c4*/ 384, 5811 -1, 5812 /*0x10444*/ 1101, 5813 -1, 5814 /*0xa72b*/ 990, 5815 /*0x13f2*/ 559, 5816 /*0x0144*/ 88, 5817 /*0x2d0f*/ 924, 5818 /*0x0072*/ 16, 5819 /*0x01ed*/ 157, 5820 /*0x104f2*/ 1139, 5821 -1, -1, 5822 /*0x1f25*/ 707, 5823 /*0x0272*/ 221, 5824 /*0x13bb*/ 504, 5825 /*0x043b*/ 302, 5826 /*0x04bb*/ 380, 5827 /*0x2c3f*/ 816, 5828 /*0x1043b*/ 1092, 5829 -1, 5830 /*0x1e3b*/ 594, 5831 /*0x1ebb*/ 653, 5832 /*0x056f*/ 453, 5833 /*0x0495*/ 361, 5834 /*0x2cbb*/ 885, 5835 -1, 5836 /*0x03bd*/ 257, 5837 /*0x1e15*/ 575, 5838 /*0x1e95*/ 639, 5839 /*0x0115*/ 66, 5840 /*0x0215*/ 175, 5841 /*0x2c95*/ 866, 5842 -1, 5843 /*0x2c31*/ 802, 5844 -1, 5845 /*0x118c2*/ 1202, 5846 /*0x1f35*/ 715, 5847 /*0x03b9*/ 253, 5848 /*0xa691*/ 980, 5849 -1, 5850 /*0x056d*/ 451, 5851 -1, -1, 5852 /*0x0493*/ 360, 5853 -1, 5854 /*0x2c42*/ 819, 5855 /*0x03af*/ 244, 5856 /*0x1e13*/ 574, 5857 /*0x1e93*/ 638, 5858 /*0x0113*/ 65, 5859 /*0x0213*/ 174, 5860 /*0x2c93*/ 865, 5861 -1, 5862 /*0x047b*/ 352, 5863 /*0x04fb*/ 412, 5864 -1, -1, 5865 /*0x104fb*/ 1148, 5866 /*0x1e7b*/ 626, 5867 /*0x1efb*/ 685, 5868 -1, 5869 /*0xa73b*/ 997, 5870 -1, 5871 /*0x10cc6*/ 1155, 5872 /*0x0479*/ 351, 5873 /*0x04f9*/ 411, 5874 /*0x0079*/ 23, 5875 -1, 5876 /*0x104f9*/ 1146, 5877 /*0x1e79*/ 625, 5878 /*0x1ef9*/ 684, 5879 -1, 5880 /*0x1f23*/ 705, 5881 /*0x0501*/ 415, 5882 -1, -1, 5883 /*0x047d*/ 353, 5884 /*0x04fd*/ 413, 5885 /*0x0283*/ 225, 5886 /*0x10cc4*/ 1153, 5887 /*0x00fe*/ 54, 5888 /*0x1e7d*/ 627, 5889 /*0x1efd*/ 686, 5890 /*0x1f05*/ 693, 5891 /*0x027d*/ 223, 5892 /*0x01a5*/ 129, 5893 /*0x10cf2*/ 1199, 5894 /*0x0499*/ 363, 5895 /*0x2c3d*/ 814, 5896 -1, 5897 /*0x1e937*/ 1253, 5898 /*0x1e19*/ 577, 5899 /*0x2d01*/ 910, 5900 /*0x0119*/ 68, 5901 /*0x0219*/ 177, 5902 /*0x2c99*/ 868, 5903 -1, -1, 5904 /*0xa68f*/ 979, 5905 /*0x2c39*/ 810, 5906 -1, 5907 /*0x0477*/ 350, 5908 /*0x04f7*/ 410, 5909 /*0x0077*/ 21, 5910 /*0xa7b7*/ 1045, 5911 /*0x104f7*/ 1144, 5912 /*0x1e77*/ 624, 5913 /*0x1ef7*/ 683, 5914 /*0x0177*/ 113, 5915 /*0x1e07*/ 568, 5916 /*0x1e87*/ 632, 5917 /*0x0107*/ 59, 5918 /*0x0207*/ 168, 5919 /*0x2c87*/ 859, 5920 -1, 5921 /*0x1d79*/ 563, 5922 /*0x1f31*/ 711, 5923 /*0x0525*/ 433, 5924 -1, -1, 5925 /*0x01ad*/ 131, 5926 /*0x037b*/ 238, 5927 /*0x13d0*/ 525, 5928 /*0x0450*/ 323, 5929 /*0xa781*/ 1027, 5930 -1, 5931 /*0x1e933*/ 1249, 5932 /*0x1d7d*/ 564, 5933 /*0x1f42*/ 720, 5934 /*0x047f*/ 354, 5935 /*0x04ff*/ 414, 5936 /*0x0250*/ 199, 5937 -1, 5938 /*0x1f27*/ 709, 5939 /*0x1e7f*/ 628, 5940 /*0x1eff*/ 687, 5941 /*0x2d25*/ 946, 5942 /*0x24d0*/ 775, 5943 /*0x13ce*/ 523, 5944 /*0x044e*/ 321, 5945 /*0x04ce*/ 389, 5946 /*0x03c6*/ 265, 5947 /*0x1044e*/ 1111, 5948 /*0x0497*/ 362, 5949 /*0x037d*/ 240, 5950 /*0x01a3*/ 128, 5951 -1, 5952 /*0x1e17*/ 576, 5953 /*0x1f71*/ 737, 5954 /*0x0117*/ 67, 5955 /*0x0217*/ 176, 5956 /*0x2c97*/ 867, 5957 /*0x052d*/ 437, 5958 -1, 5959 /*0x1e925*/ 1235, 5960 -1, 5961 /*0x0185*/ 119, 5962 /*0x03c4*/ 263, 5963 /*0x1f75*/ 741, 5964 /*0x13cc*/ 521, 5965 /*0x044c*/ 319, 5966 /*0x04cc*/ 388, 5967 -1, 5968 /*0x1044c*/ 1109, 5969 /*0x03f2*/ 287, 5970 /*0xff42*/ 1048, 5971 -1, 5972 /*0x13e6*/ 547, 5973 /*0xa7a5*/ 1041, 5974 /*0x0377*/ 237, 5975 /*0x0066*/ 5, 5976 /*0x2d2d*/ 948, 5977 /*0x104e6*/ 1127, 5978 /*0x01bf*/ 137, 5979 /*0x03bb*/ 255, 5980 /*0xa77f*/ 1026, 5981 /*0x0266*/ 213, 5982 /*0x0523*/ 432, 5983 /*0x1e935*/ 1251, 5984 /*0x1f7c*/ 748, 5985 -1, -1, 5986 /*0x24e6*/ 797, 5987 -1, 5988 /*0xa681*/ 972, 5989 /*0x007a*/ 24, 5990 -1, 5991 /*0x104fa*/ 1147, 5992 /*0x0505*/ 417, 5993 /*0x1e92d*/ 1243, 5994 /*0x017a*/ 114, 5995 -1, 5996 /*0xa7b5*/ 1044, 5997 /*0x118c6*/ 1206, 5998 -1, -1, 5999 /*0x2d23*/ 944, 6000 -1, 6001 /*0x13c8*/ 517, 6002 /*0x0448*/ 315, 6003 /*0x04c8*/ 386, 6004 -1, 6005 /*0x10448*/ 1105, 6006 /*0x2c46*/ 823, 6007 /*0x10cd0*/ 1165, 6008 /*0x1f03*/ 691, 6009 /*0x0148*/ 90, 6010 /*0x2d05*/ 914, 6011 /*0x2184*/ 774, 6012 /*0x118c4*/ 1204, 6013 /*0x13d8*/ 533, 6014 /*0x0458*/ 331, 6015 /*0x03fb*/ 290, 6016 /*0x13ec*/ 553, 6017 /*0x1e923*/ 1233, 6018 /*0x104d8*/ 1113, 6019 /*0x006c*/ 10, 6020 -1, 6021 /*0x104ec*/ 1133, 6022 /*0x2c44*/ 821, 6023 /*0x10cce*/ 1163, 6024 -1, 6025 /*0x026c*/ 218, 6026 /*0x2cec*/ 906, 6027 -1, 6028 /*0x24d8*/ 783, 6029 /*0x049d*/ 365, 6030 -1, 6031 /*0xa7a3*/ 1040, 6032 /*0xa77a*/ 1024, 6033 /*0x1e1d*/ 579, 6034 /*0x01f5*/ 160, 6035 /*0x011d*/ 70, 6036 /*0x021d*/ 179, 6037 /*0x2c9d*/ 870, 6038 -1, 6039 /*0x2c3b*/ 812, 6040 -1, 6041 /*0x0527*/ 434, 6042 /*0xa785*/ 1029, 6043 -1, 6044 /*0x10ccc*/ 1161, 6045 /*0x1e93f*/ 1261, 6046 -1, 6047 /*0x01bd*/ 136, 6048 /*0x13e8*/ 549, 6049 -1, -1, 6050 /*0x0068*/ 7, 6051 /*0x10ce6*/ 1187, 6052 /*0x104e8*/ 1129, 6053 -1, -1, 6054 /*0x0571*/ 455, 6055 /*0x0268*/ 214, 6056 /*0x01b9*/ 135, 6057 /*0x13f0*/ 557, 6058 /*0x2d27*/ 947, 6059 /*0x1e931*/ 1247, 6060 /*0x0070*/ 14, 6061 /*0x24e8*/ 799, 6062 /*0x104f0*/ 1137, 6063 -1, 6064 /*0x0575*/ 459, 6065 -1, -1, -1, 6066 /*0x13dc*/ 537, 6067 /*0x045c*/ 335, 6068 -1, 6069 /*0x1e942*/ 1264, 6070 -1, 6071 /*0x104dc*/ 1117, 6072 /*0x2171*/ 759, 6073 -1, 6074 /*0x1e927*/ 1237, 6075 /*0x025c*/ 208, 6076 /*0x0076*/ 20, 6077 /*0x0183*/ 118, 6078 /*0x104f6*/ 1143, 6079 /*0x10cc8*/ 1157, 6080 /*0x0287*/ 226, 6081 /*0x24dc*/ 787, 6082 /*0x2175*/ 763, 6083 /*0x057c*/ 466, 6084 /*0x13d6*/ 531, 6085 /*0x0456*/ 329, 6086 -1, 6087 /*0x13e0*/ 541, 6088 /*0xa7a7*/ 1042, 6089 -1, 6090 /*0x1f21*/ 703, 6091 /*0x10cd8*/ 1173, 6092 /*0x104e0*/ 1121, 6093 /*0x0256*/ 204, 6094 /*0x10cec*/ 1193, 6095 /*0x052f*/ 438, 6096 /*0x0260*/ 209, 6097 /*0x03ce*/ 273, 6098 /*0xa685*/ 974, 6099 /*0x24d6*/ 781, 6100 -1, 6101 /*0x1f44*/ 722, 6102 /*0x24e0*/ 791, 6103 /*0x217c*/ 770, 6104 /*0x13d4*/ 529, 6105 /*0x0454*/ 327, 6106 -1, -1, 6107 /*0x1f72*/ 738, 6108 /*0x0503*/ 416, 6109 -1, 6110 /*0x13ea*/ 551, 6111 /*0x1e93d*/ 1259, 6112 /*0x0254*/ 203, 6113 /*0x006a*/ 8, 6114 -1, 6115 /*0x104ea*/ 1131, 6116 -1, 6117 /*0x03cc*/ 271, 6118 /*0x24d4*/ 779, 6119 /*0x026a*/ 216, 6120 -1, 6121 /*0xff46*/ 1052, 6122 /*0x1e939*/ 1255, 6123 /*0x13e4*/ 545, 6124 /*0x1f15*/ 701, 6125 /*0x10ce8*/ 1189, 6126 /*0x0064*/ 3, 6127 /*0x2d03*/ 912, 6128 /*0x104e4*/ 1125, 6129 /*0x13b6*/ 499, 6130 /*0x0436*/ 297, 6131 /*0x1e92f*/ 1245, 6132 /*0x118d0*/ 1216, 6133 /*0x10436*/ 1087, 6134 -1, -1, 6135 /*0x10cf0*/ 1197, 6136 /*0xff44*/ 1050, 6137 /*0x24e4*/ 795, 6138 /*0x0078*/ 22, 6139 /*0x0529*/ 435, 6140 /*0x104f8*/ 1145, 6141 /*0x2c50*/ 833, 6142 -1, 6143 /*0x1f13*/ 699, 6144 -1, 6145 /*0x00f3*/ 44, 6146 /*0x10cdc*/ 1177, 6147 /*0x118ce*/ 1214, 6148 /*0x13ca*/ 519, 6149 /*0x044a*/ 317, 6150 /*0x04ca*/ 387, 6151 -1, 6152 /*0x1044a*/ 1107, 6153 -1, 6154 /*0x1f7b*/ 747, 6155 /*0x03c8*/ 267, 6156 /*0x01c6*/ 138, 6157 /*0x2c4e*/ 831, 6158 /*0xa783*/ 1028, 6159 -1, -1, 6160 /*0x01a1*/ 127, 6161 /*0x00eb*/ 36, 6162 /*0x052b*/ 436, 6163 /*0x10cd6*/ 1171, 6164 /*0x1f79*/ 745, 6165 -1, 6166 /*0x10ce0*/ 1181, 6167 /*0x118cc*/ 1212, 6168 /*0x13f4*/ 561, 6169 /*0x13d2*/ 527, 6170 /*0x0452*/ 325, 6171 /*0x0074*/ 18, 6172 -1, 6173 /*0x104f4*/ 1141, 6174 -1, 6175 /*0x1e929*/ 1239, 6176 /*0x1f7d*/ 749, 6177 /*0x2c4c*/ 829, 6178 /*0x0252*/ 201, 6179 -1, -1, -1, -1, 6180 /*0x10cd4*/ 1169, 6181 /*0x24d2*/ 777, 6182 /*0x2c66*/ 850, 6183 -1, 6184 /*0x13b0*/ 493, 6185 /*0x0430*/ 291, 6186 /*0xa7a9*/ 1043, 6187 /*0x10cea*/ 1191, 6188 /*0x10430*/ 1081, 6189 /*0x0521*/ 431, 6190 -1, -1, 6191 /*0x0195*/ 123, 6192 -1, 6193 /*0x13e2*/ 543, 6194 /*0x029d*/ 233, 6195 /*0x1e92b*/ 1241, 6196 /*0x0062*/ 1, 6197 /*0x1f77*/ 743, 6198 /*0x104e2*/ 1123, 6199 /*0x10ce4*/ 1185, 6200 /*0x1f07*/ 695, 6201 -1, 6202 /*0x118c8*/ 1208, 6203 -1, -1, -1, 6204 /*0x0572*/ 456, 6205 /*0x2d21*/ 942, 6206 /*0x24e2*/ 793, 6207 /*0x1fb1*/ 751, 6208 /*0x00ef*/ 40, 6209 /*0x048d*/ 357, 6210 /*0x2c48*/ 825, 6211 /*0xa683*/ 973, 6212 /*0x118d8*/ 1224, 6213 /*0x1e0d*/ 571, 6214 /*0x1e8d*/ 635, 6215 /*0x010d*/ 62, 6216 /*0x020d*/ 171, 6217 /*0x2c8d*/ 862, 6218 -1, -1, 6219 /*0x01fb*/ 162, 6220 /*0x0515*/ 425, 6221 /*0x2c58*/ 841, 6222 /*0x10cca*/ 1159, 6223 /*0x2172*/ 760, 6224 /*0x2c6c*/ 853, 6225 /*0x00ed*/ 38, 6226 -1, 6227 /*0x13b4*/ 497, 6228 /*0x0434*/ 295, 6229 -1, 6230 /*0x01f9*/ 161, 6231 /*0x10434*/ 1085, 6232 -1, -1, -1, -1, 6233 /*0xa7a1*/ 1039, 6234 -1, -1, 6235 /*0x2d15*/ 930, 6236 /*0x0513*/ 424, 6237 -1, 6238 /*0x01fd*/ 163, 6239 -1, 6240 /*0x10cd2*/ 1167, 6241 /*0x1e09*/ 569, 6242 /*0x1e89*/ 633, 6243 /*0x0109*/ 60, 6244 /*0x0209*/ 169, 6245 /*0x2c89*/ 860, 6246 /*0x1e93b*/ 1257, 6247 /*0x057b*/ 465, 6248 /*0x0199*/ 124, 6249 /*0xff50*/ 1062, 6250 -1, 6251 /*0x13ee*/ 555, 6252 /*0x2c68*/ 851, 6253 -1, 6254 /*0x006e*/ 12, 6255 /*0x2d13*/ 928, 6256 /*0x104ee*/ 1135, 6257 /*0x1f66*/ 734, 6258 /*0x0579*/ 463, 6259 -1, -1, 6260 /*0x2cee*/ 907, 6261 -1, -1, 6262 /*0x118dc*/ 1228, 6263 /*0xff4e*/ 1060, 6264 -1, 6265 /*0x217b*/ 769, 6266 /*0x10ce2*/ 1183, 6267 -1, 6268 /*0x057d*/ 467, 6269 -1, 6270 /*0x1f7a*/ 746, 6271 -1, 6272 /*0x2c5c*/ 845, 6273 -1, 6274 /*0x03b6*/ 250, 6275 -1, 6276 /*0x2179*/ 767, 6277 -1, 6278 /*0x0519*/ 427, 6279 /*0x2c76*/ 855, 6280 /*0x118d6*/ 1222, 6281 /*0x03f8*/ 289, 6282 -1, 6283 /*0x01d0*/ 142, 6284 /*0xff4c*/ 1058, 6285 /*0xa793*/ 1033, 6286 -1, -1, 6287 /*0x217d*/ 771, 6288 /*0x01ff*/ 164, 6289 /*0x2c56*/ 839, 6290 -1, -1, 6291 /*0x0577*/ 461, 6292 /*0x03ca*/ 269, 6293 -1, 6294 /*0x0507*/ 418, 6295 /*0x2d19*/ 934, 6296 /*0x049f*/ 366, 6297 /*0x01ce*/ 141, 6298 /*0x118d4*/ 1220, 6299 -1, 6300 /*0x1e1f*/ 580, 6301 -1, 6302 /*0x011f*/ 71, 6303 /*0x021f*/ 180, 6304 /*0x2c9f*/ 871, 6305 -1, -1, -1, 6306 /*0x2c54*/ 837, 6307 /*0x13de*/ 539, 6308 /*0x045e*/ 337, 6309 /*0x2177*/ 765, 6310 -1, 6311 /*0x2d07*/ 916, 6312 /*0x104de*/ 1119, 6313 /*0x2c6a*/ 852, 6314 -1, -1, 6315 /*0x01cc*/ 140, 6316 /*0x057f*/ 469, 6317 -1, 6318 /*0xff48*/ 1054, 6319 -1, 6320 /*0xa695*/ 982, 6321 /*0x24de*/ 789, 6322 -1, -1, 6323 /*0xa799*/ 1035, 6324 -1, 6325 /*0x10cee*/ 1195, 6326 -1, -1, 6327 /*0x0517*/ 426, 6328 /*0xff58*/ 1070, 6329 /*0x2c36*/ 807, 6330 -1, -1, -1, -1, 6331 /*0x217f*/ 773, 6332 -1, -1, 6333 /*0x1f70*/ 736, 6334 /*0xa693*/ 981, 6335 /*0x118ca*/ 1210, 6336 /*0xa787*/ 1030, 6337 -1, -1, -1, 6338 /*0x214e*/ 757, 6339 -1, 6340 /*0x2d17*/ 932, 6341 -1, -1, 6342 /*0x2c4a*/ 827, 6343 /*0x13be*/ 507, 6344 /*0x043e*/ 305, 6345 -1, 6346 /*0x0566*/ 444, 6347 /*0x1043e*/ 1095, 6348 /*0x1f76*/ 742, 6349 -1, -1, 4137 6350 /*0x013e*/ 85, 4138 -1, 4139 /*0x045d*/ 334, 4140 -1, 4141 /*0xa657*/ 872, 4142 /*0x043e*/ 303, 4143 /*0x03d7*/ 272, 4144 -1, 4145 /*0x217e*/ 684, 4146 /*0x2c5b*/ 756, 4147 /*0x24db*/ 698, 4148 /*0x1ecf*/ 575, 4149 /*0x1e4f*/ 516, 4150 /*0x04cf*/ 388, 4151 /*0x014f*/ 93, 4152 /*0x2ccf*/ 807, 4153 /*0x024f*/ 198, 4154 -1, 4155 /*0xa75b*/ 925, 4156 /*0x044f*/ 320, 4157 /*0xa653*/ 870, 4158 /*0x0061*/ 0, 4159 -1, 4160 /*0x2c55*/ 750, 4161 /*0x24d5*/ 692, 4162 -1, 4163 /*0x0570*/ 452, 4164 -1, -1, 4165 /*0x019a*/ 125, 4166 /*0x1f70*/ 648, 4167 /*0xa669*/ 881, 4168 /*0xa755*/ 922, 4169 /*0x03e9*/ 281, 4170 /*0x2c5d*/ 758, 4171 /*0x24dd*/ 700, 4172 /*0x0065*/ 4, 4173 /*0x2c3e*/ 727, 4174 -1, 4175 /*0x013c*/ 84, 4176 /*0xa667*/ 880, 4177 /*0x023c*/ 190, 4178 /*0x03e7*/ 280, 4179 /*0xa75d*/ 926, 4180 /*0x043c*/ 301, 4181 /*0x1ecd*/ 574, 4182 /*0x1e4d*/ 515, 4183 /*0x0063*/ 2, 4184 /*0x014d*/ 92, 4185 /*0x2ccd*/ 806, 4186 /*0x024d*/ 197, 4187 /*0x2c4f*/ 744, 4188 /*0x01e1*/ 151, 4189 /*0x044d*/ 318, 4190 /*0xa659*/ 873, 4191 -1, 4192 /*0x03d9*/ 273, 4193 -1, -1, 4194 /*0x019e*/ 126, 4195 /*0xa74f*/ 919, 4196 /*0x1ecb*/ 573, 4197 /*0x1e4b*/ 514, 4198 -1, 4199 /*0x014b*/ 91, 4200 /*0x2ccb*/ 805, 4201 /*0x024b*/ 196, 4202 /*0x01e5*/ 153, 4203 /*0xa78c*/ 943, 4204 /*0x044b*/ 316, 4205 -1, 4206 /*0x1ef3*/ 593, 4207 /*0x1e73*/ 534, 4208 /*0x04f3*/ 406, 4209 /*0x0173*/ 111, 4210 /*0x2cf3*/ 820, 4211 /*0x2c3c*/ 725, 4212 /*0x0573*/ 455, 4213 /*0x01e3*/ 152, 4214 /*0x0473*/ 346, 4215 -1, 4216 /*0x1f73*/ 651, 4217 /*0xa65b*/ 874, 4218 -1, 4219 /*0x03db*/ 274, 4220 /*0x2c4d*/ 742, 4221 -1, 4222 /*0x1eeb*/ 589, 4223 /*0x1e6b*/ 530, 4224 /*0x04eb*/ 402, 4225 /*0x016b*/ 107, 4226 -1, 4227 /*0x026b*/ 216, 4228 /*0x056b*/ 447, 4229 /*0xa74d*/ 918, 4230 /*0x046b*/ 342, 4231 /*0xa655*/ 871, 4232 -1, 4233 /*0x0140*/ 86, 4234 /*0x2174*/ 674, 4235 /*0x0240*/ 192, 4236 /*0x2c4b*/ 740, 4237 /*0x118d1*/ 1039, 4238 /*0x0440*/ 305, 4239 /*0x0564*/ 440, 4240 /*0x1f40*/ 630, 4241 -1, 4242 /*0xa65d*/ 875, 4243 /*0x1f64*/ 644, 4244 /*0x03dd*/ 275, 4245 /*0xa74b*/ 917, 4246 /*0x2c73*/ 766, 4247 /*0x03be*/ 256, 4248 /*0x1ec9*/ 572, 4249 /*0x1e49*/ 513, 4250 -1, 4251 /*0x0069*/ 1054, 4252 /*0x2cc9*/ 804, 4253 /*0x0249*/ 195, 4254 /*0x1ec5*/ 570, 4255 /*0x1e45*/ 511, 4256 /*0x0449*/ 314, 4257 -1, 4258 /*0x2cc5*/ 802, 4259 /*0xa64f*/ 868, 4260 /*0x0067*/ 6, 4261 -1, 4262 /*0x0445*/ 310, 4263 /*0x118d7*/ 1045, 4264 /*0x1f45*/ 635, 4265 /*0x1edf*/ 583, 4266 /*0x1e5f*/ 524, 4267 /*0x04df*/ 396, 4268 /*0x015f*/ 101, 4269 /*0x2cdf*/ 815, 4270 /*0x2c40*/ 729, 4271 /*0xa76b*/ 933, 4272 -1, 4273 /*0x045f*/ 336, 4274 /*0x24e4*/ 707, 4275 -1, 4276 /*0x1ec7*/ 571, 4277 /*0x1e47*/ 512, 4278 /*0x0288*/ 226, 4279 /*0x118d3*/ 1041, 4280 /*0x2cc7*/ 803, 4281 /*0x0247*/ 194, 4282 /*0x01e9*/ 155, 4283 -1, 4284 /*0x0447*/ 312, 4285 /*0x2170*/ 670, 4286 /*0x03bc*/ 254, 4287 /*0x006e*/ 12, 4288 /*0x2c49*/ 738, 4289 -1, -1, 4290 /*0x01e7*/ 154, 4291 -1, 4292 /*0xa64d*/ 867, 4293 /*0x2c45*/ 734, 4294 /*0x03cd*/ 270, 4295 -1, 4296 /*0xa749*/ 916, 4297 -1, -1, 4298 /*0x1ec3*/ 569, 4299 /*0x1e43*/ 510, 4300 /*0x0074*/ 18, 4301 /*0xa745*/ 914, 4302 /*0x2cc3*/ 801, 4303 -1, 4304 /*0x24df*/ 702, 6351 -1, -1, 6352 /*0x118d2*/ 1218, 6353 /*0x13ba*/ 503, 6354 /*0x043a*/ 301, 6355 /*0x01d8*/ 146, 6356 -1, 6357 /*0x1043a*/ 1091, 6358 -1, 6359 /*0x057a*/ 464, 6360 /*0x1f60*/ 728, 4305 6361 /*0x013a*/ 83, 4306 /*0x0443*/ 308, 4307 /*0xa64b*/ 866, 4308 /*0x1f43*/ 633, 4309 /*0x03cb*/ 268, 4310 /*0x043a*/ 299, 4311 /*0x118d9*/ 1047, 4312 /*0xa75f*/ 927, 4313 -1, 4314 /*0x2c47*/ 736, 4315 -1, -1, 4316 /*0x1ec1*/ 568, 4317 /*0x1e41*/ 509, 4318 /*0x03f3*/ 286, 4319 /*0x028c*/ 230, 4320 /*0x2cc1*/ 800, 4321 -1, 4322 /*0xa747*/ 915, 4323 -1, 4324 /*0x0441*/ 306, 4325 -1, 4326 /*0x1f41*/ 631, 6362 /*0x2c52*/ 835, 6363 -1, -1, 6364 /*0x03b4*/ 248, 6365 -1, -1, -1, 6366 /*0xa797*/ 1034, 6367 -1, -1, -1, 6368 /*0xa699*/ 984, 6369 -1, -1, -1, 6370 /*0x10cde*/ 1179, 6371 -1, 6372 /*0x217a*/ 768, 6373 /*0x2c30*/ 801, 6374 -1, -1, -1, -1, -1, -1, 6375 -1, -1, -1, 6376 /*0x056c*/ 450, 6377 /*0xa687*/ 975, 6378 -1, -1, 6379 /*0xff56*/ 1068, 6380 /*0x0289*/ 228, 6381 -1, 6382 /*0x1f64*/ 732, 6383 -1, -1, -1, 6384 /*0x051d*/ 429, 6385 -1, 6386 /*0x1f36*/ 716, 6387 -1, -1, -1, -1, -1, -1, 6388 /*0x1f78*/ 744, 6389 -1, 6390 /*0x01dc*/ 148, 6391 -1, 6392 /*0xff54*/ 1066, 6393 -1, 6394 /*0x00f1*/ 42, 6395 -1, -1, -1, 6396 /*0x2d1d*/ 938, 6397 -1, 6398 /*0x0568*/ 446, 6399 -1, -1, -1, 6400 /*0x00f5*/ 46, 6401 /*0x2c34*/ 805, 6402 -1, 6403 /*0xa697*/ 983, 6404 /*0x01d6*/ 145, 6405 -1, -1, 6406 /*0x0570*/ 454, 6407 -1, -1, -1, -1, -1, -1, 6408 -1, -1, -1, -1, 6409 /*0x1f74*/ 740, 6410 -1, -1, 6411 /*0x00fc*/ 52, 6412 -1, -1, 6413 /*0x01d4*/ 144, 6414 /*0x0576*/ 460, 6415 /*0xa79d*/ 1037, 6416 /*0x2170*/ 758, 6417 -1, -1, -1, -1, -1, -1, 6418 /*0xff4a*/ 1056, 6419 -1, -1, 6420 /*0x1f30*/ 710, 6421 -1, -1, -1, -1, -1, -1, 6422 -1, 6423 /*0x2176*/ 764, 6424 -1, 6425 /*0x1f62*/ 730, 6426 -1, -1, 6427 /*0x01b6*/ 134, 4327 6428 -1, -1, -1, -1, -1, 4328 /*0xa66b*/ 882, 4329 /*0x2173*/ 673, 4330 /*0x03eb*/ 282, 4331 /*0x1043e*/ 1004, 4332 -1, 4333 /*0x2c43*/ 732, 4334 /*0x118db*/ 1049, 4335 -1, 4336 /*0x0438*/ 297, 4337 /*0x2c3a*/ 723, 4338 /*0x03c0*/ 258, 4339 /*0xff51*/ 972, 4340 -1, 4341 /*0x056a*/ 446, 4342 /*0xa743*/ 913, 4343 -1, -1, 4344 /*0x1044f*/ 1021, 4345 /*0x0070*/ 14, 4346 -1, 4347 /*0x118d5*/ 1043, 4348 -1, 4349 /*0x017a*/ 114, 4350 /*0x01dd*/ 149, 4351 /*0x2c41*/ 730, 4352 /*0x057a*/ 462, 4353 /*0xa649*/ 865, 4354 -1, 4355 /*0x03c9*/ 266, 4356 /*0x1f7a*/ 658, 4357 -1, 4358 /*0x118dd*/ 1051, 4359 /*0xa645*/ 863, 4360 /*0xa741*/ 912, 4361 /*0x03c5*/ 262, 4362 -1, -1, 4363 /*0xff57*/ 978, 4364 -1, 4365 /*0x0188*/ 120, 4366 /*0x2c38*/ 721, 4367 -1, 4368 /*0x1043c*/ 1002, 4369 /*0xa65f*/ 876, 4370 -1, 4371 /*0x03df*/ 276, 4372 -1, 4373 /*0x2c6a*/ 764, 4374 /*0x118cf*/ 1037, 4375 -1, -1, 4376 /*0x1044d*/ 1019, 4377 -1, 4378 /*0xff53*/ 974, 4379 /*0xa647*/ 864, 4380 -1, 4381 /*0x03c7*/ 264, 4382 /*0x1ead*/ 558, 4383 /*0x1e2d*/ 499, 4384 /*0x04ad*/ 371, 4385 /*0x012d*/ 78, 4386 /*0x2cad*/ 790, 4387 /*0x022d*/ 186, 4388 /*0x052d*/ 435, 4389 -1, -1, -1, 4390 /*0x1044b*/ 1017, 4391 /*0xa77a*/ 936, 4392 /*0x0073*/ 17, 4393 -1, 4394 /*0x1eb3*/ 561, 4395 /*0x1e33*/ 502, 4396 /*0x04b3*/ 374, 4397 /*0x0133*/ 80, 4398 /*0x2cb3*/ 793, 4399 /*0x0233*/ 189, 4400 -1, 4401 /*0xa643*/ 862, 4402 /*0x0433*/ 292, 4403 /*0x03c3*/ 260, 4404 /*0x1f33*/ 625, 4405 /*0x118cd*/ 1035, 4406 /*0x018c*/ 121, 4407 /*0x03ba*/ 252, 4408 /*0x006b*/ 9, 4409 /*0x2d1b*/ 848, 4410 /*0xff59*/ 980, 4411 /*0x2cec*/ 818, 4412 /*0x026c*/ 217, 4413 /*0x056c*/ 448, 4414 /*0x2d24*/ 857, 4415 /*0x2d00*/ 821, 4416 /*0x2d11*/ 838, 4417 /*0x2d18*/ 845, 4418 /*0x2d22*/ 855, 4419 /*0x0064*/ 3, 4420 /*0xa641*/ 861, 4421 /*0x118cb*/ 1033, 4422 /*0x03c1*/ 259, 4423 /*0x01f3*/ 159, 4424 /*0x10440*/ 1006, 4425 /*0x2d16*/ 843, 4426 -1, -1, 4427 /*0x2d0a*/ 831, 4428 /*0xa72d*/ 903, 4429 /*0x2d06*/ 827, 4430 /*0x2d0f*/ 836, 4431 -1, 4432 /*0x0250*/ 199, 4433 /*0x2c33*/ 716, 4434 -1, 4435 /*0x0450*/ 321, 4436 -1, 4437 /*0x03b8*/ 250, 4438 /*0x01eb*/ 156, 4439 -1, -1, 4440 /*0x10449*/ 1015, 4441 /*0xa733*/ 905, 4442 -1, 4443 /*0x2d1a*/ 847, 4444 /*0x2d0b*/ 832, 4445 /*0x2c6c*/ 765, 4446 /*0x10445*/ 1011, 4447 -1, -1, 4448 /*0x2d10*/ 837, 4449 /*0xff55*/ 976, 4450 /*0x2d01*/ 822, 4451 /*0x2d02*/ 823, 4452 /*0x118c0*/ 1022, 4453 -1, 4454 /*0x1ea5*/ 554, 4455 /*0x1e25*/ 495, 4456 /*0x04a5*/ 367, 4457 /*0x0125*/ 74, 4458 /*0x2ca5*/ 786, 4459 /*0x0225*/ 182, 4460 /*0x0525*/ 431, 4461 -1, 4462 /*0x01c9*/ 139, 4463 -1, 4464 /*0x1f25*/ 619, 4465 /*0x2c50*/ 745, 4466 /*0x24d0*/ 687, 4467 /*0x10447*/ 1013, 4468 /*0xa7a5*/ 953, 4469 /*0x217a*/ 680, 4470 /*0x118c9*/ 1031, 4471 /*0x0578*/ 460, 4472 /*0x2d1e*/ 851, 4473 /*0x1fd0*/ 664, 4474 /*0x2d20*/ 853, 4475 /*0x1f78*/ 656, 4476 /*0x118c5*/ 1027, 4477 /*0xff4f*/ 970, 4478 -1, 4479 /*0x01df*/ 150, 4480 /*0x1ea3*/ 553, 4481 /*0x1e23*/ 494, 4482 /*0x04a3*/ 366, 4483 /*0x0123*/ 73, 4484 /*0x2ca3*/ 785, 4485 /*0x0223*/ 181, 4486 /*0x0523*/ 430, 4487 /*0x118df*/ 1053, 4488 /*0x0266*/ 213, 4489 /*0x0566*/ 442, 4490 /*0x1f23*/ 617, 4491 /*0x10443*/ 1009, 4492 /*0x03ad*/ 240, 4493 /*0x1f66*/ 646, 4494 /*0xa7a3*/ 952, 4495 /*0x1043a*/ 1000, 4496 -1, -1, 4497 /*0x118c7*/ 1029, 4498 /*0x1eef*/ 591, 4499 /*0x1e6f*/ 532, 4500 /*0x04ef*/ 404, 4501 /*0x016f*/ 109, 4502 /*0xa725*/ 899, 4503 /*0x026f*/ 218, 4504 /*0x056f*/ 451, 4505 /*0x03b3*/ 245, 4506 /*0x046f*/ 344, 4507 /*0x2d14*/ 841, 4508 -1, 4509 /*0x10441*/ 1007, 4510 /*0xff4d*/ 968, 4511 /*0x2d0e*/ 835, 4512 /*0x1eed*/ 590, 4513 /*0x1e6d*/ 531, 4514 /*0x04ed*/ 403, 4515 /*0x016d*/ 108, 4516 -1, -1, 4517 /*0x056d*/ 449, 4518 -1, 4519 /*0x046d*/ 343, 4520 /*0x118c3*/ 1025, 4521 /*0x2c66*/ 762, 4522 /*0x24e6*/ 709, 4523 /*0x006a*/ 8, 4524 /*0x10438*/ 998, 4525 /*0xff4b*/ 966, 4526 -1, 4527 /*0xa723*/ 898, 4528 /*0x1e85*/ 543, 4529 /*0x1e05*/ 479, 4530 /*0x2d04*/ 825, 4531 /*0x0105*/ 58, 4532 /*0x2c85*/ 770, 4533 /*0x0205*/ 167, 4534 /*0x0505*/ 415, 4535 /*0x007a*/ 24, 4536 -1, -1, 4537 /*0x1f05*/ 605, 4538 /*0x118c1*/ 1023, 4539 /*0x0585*/ 473, 4540 -1, 4541 /*0xa785*/ 941, 4542 /*0x0373*/ 234, 4543 /*0x1e83*/ 542, 4544 /*0x1e03*/ 478, 4545 /*0xa76f*/ 935, 4546 /*0x0103*/ 57, 4547 /*0x2c83*/ 769, 4548 /*0x0203*/ 166, 4549 /*0x0503*/ 414, 4550 /*0x0576*/ 458, 4551 -1, -1, 4552 /*0x1f03*/ 603, 4553 /*0x1f76*/ 654, 4554 /*0x0583*/ 471, 4555 /*0xa685*/ 886, 4556 /*0xa783*/ 940, 4557 -1, 4558 /*0xa76d*/ 934, 4559 /*0x1ebf*/ 567, 4560 /*0x1e3f*/ 508, 4561 /*0x04bf*/ 380, 4562 -1, 4563 /*0x2cbf*/ 799, 4564 /*0x023f*/ 191, 4565 -1, -1, 4566 /*0x043f*/ 304, 4567 -1, -1, -1, 4568 /*0xa683*/ 885, 4569 /*0x1efd*/ 598, 4570 /*0x1e7d*/ 539, 4571 /*0x04fd*/ 411, 4572 /*0xff49*/ 964, 4573 /*0x03f8*/ 287, 4574 /*0x027d*/ 222, 4575 /*0x057d*/ 465, 4576 /*0x1042d*/ 987, 4577 /*0x047d*/ 351, 4578 /*0xff45*/ 960, 4579 /*0x1f7d*/ 661, 4580 /*0x2c76*/ 767, 4581 -1, -1, 4582 /*0x1eb7*/ 563, 4583 /*0x1e37*/ 504, 4584 /*0x04b7*/ 376, 4585 /*0x0137*/ 82, 4586 /*0x2cb7*/ 795, 4587 /*0x2178*/ 678, 4588 /*0x1d7d*/ 476, 4589 /*0x10433*/ 993, 4590 /*0x0437*/ 296, 4591 -1, 4592 /*0x1f37*/ 629, 4593 -1, 4594 /*0x006c*/ 10, 4595 /*0x2c3f*/ 728, 4596 -1, -1, 4597 /*0x01ad*/ 131, 4598 /*0xff47*/ 962, 6429 /*0xff52*/ 1064, 6430 -1, -1, -1, -1, -1, -1, 6431 /*0x056a*/ 448, 6432 -1, -1, -1, -1, -1, 6433 /*0x1fd0*/ 752, 6434 -1, -1, -1, -1, -1, 6435 /*0x03be*/ 258, 6436 /*0x0564*/ 442, 4599 6437 -1, -1, -1, -1, 4600 /*0xa73f*/ 911, 4601 -1, 4602 /*0x03ef*/ 284, 4603 /*0x1eb5*/ 562, 4604 /*0x1e35*/ 503, 4605 /*0x04b5*/ 375, 4606 /*0x0135*/ 81, 4607 /*0x2cb5*/ 794, 4608 -1, 4609 /*0x04c2*/ 381, 4610 /*0x0142*/ 87, 4611 /*0x0435*/ 294, 4612 /*0x0242*/ 193, 4613 /*0x1f35*/ 627, 4614 /*0xa66d*/ 883, 4615 /*0x0442*/ 307, 4616 /*0x03ed*/ 283, 4617 /*0x1f42*/ 632, 4618 /*0x2c37*/ 720, 4619 /*0xff43*/ 958, 4620 /*0x1eb1*/ 560, 4621 /*0x1e31*/ 501, 4622 /*0x04b1*/ 373, 4623 -1, 4624 /*0x2cb1*/ 792, 4625 /*0x0231*/ 188, 4626 -1, 4627 /*0xa737*/ 907, 4628 /*0x0431*/ 290, 4629 -1, 4630 /*0x1f31*/ 623, 4631 /*0x1ea7*/ 555, 4632 /*0x1e27*/ 496, 4633 /*0x04a7*/ 368, 4634 /*0x0127*/ 75, 4635 /*0x2ca7*/ 787, 4636 /*0x0227*/ 183, 4637 /*0x0527*/ 432, 4638 /*0xff41*/ 956, 4639 -1, 4640 /*0x2d08*/ 829, 4641 /*0x1f27*/ 621, 4642 /*0x01d0*/ 142, 4643 /*0x2c35*/ 718, 4644 -1, 4645 /*0xa7a7*/ 954, 4646 /*0x00e1*/ 26, 4647 /*0x2c42*/ 731, 4648 /*0x2184*/ 686, 4649 -1, 4650 /*0x118d0*/ 1038, 4651 /*0x0078*/ 22, 4652 /*0xa735*/ 906, 4653 /*0x1e95*/ 551, 4654 /*0x1e15*/ 487, 4655 /*0x0495*/ 359, 4656 /*0x0115*/ 66, 4657 /*0x2c95*/ 778, 4658 /*0x0215*/ 175, 4659 /*0x0515*/ 423, 4660 /*0x2c31*/ 714, 4661 /*0x00e5*/ 30, 4662 -1, 4663 /*0x1f15*/ 613, 4664 -1, 4665 /*0x2176*/ 676, 4666 /*0x03bf*/ 257, 4667 /*0x0283*/ 224, 4668 /*0x1fb1*/ 663, 4669 /*0x0066*/ 5, 4670 -1, 4671 /*0x01a5*/ 129, 4672 /*0x00e3*/ 28, 4673 /*0x1e93*/ 550, 4674 /*0x1e13*/ 486, 4675 /*0x0493*/ 358, 4676 /*0x0113*/ 65, 4677 /*0x2c93*/ 777, 4678 /*0x0213*/ 174, 4679 /*0x0513*/ 422, 4680 /*0xa727*/ 900, 4681 -1, 4682 /*0xa695*/ 894, 4683 /*0x1f13*/ 611, 4684 /*0x2d0c*/ 833, 4685 /*0x006f*/ 13, 4686 -1, 4687 /*0xa793*/ 945, 4688 -1, 4689 /*0x1f12*/ 610, 4690 /*0x1ef9*/ 596, 4691 /*0x1e79*/ 537, 4692 /*0x04f9*/ 409, 4693 /*0x03b7*/ 249, 4694 /*0x217d*/ 683, 4695 -1, 4696 /*0x0579*/ 461, 4697 /*0x01a3*/ 128, 4698 /*0x0479*/ 349, 4699 /*0x006d*/ 11, 4700 /*0x1f79*/ 657, 4701 /*0x00fe*/ 54, 4702 /*0xa693*/ 893, 4703 /*0x1ef5*/ 594, 4704 /*0x1e75*/ 535, 4705 /*0x04f5*/ 407, 4706 /*0x0175*/ 112, 4707 -1, 4708 /*0x0275*/ 221, 4709 /*0x0575*/ 457, 4710 /*0x1d79*/ 475, 4711 /*0x0475*/ 347, 4712 -1, 4713 /*0x1f75*/ 653, 4714 -1, -1, 4715 /*0x01ef*/ 158, 4716 -1, 4717 /*0x03b5*/ 247, 4718 /*0x1ef1*/ 592, 4719 /*0x1e71*/ 533, 4720 /*0x04f1*/ 405, 4721 /*0x0171*/ 110, 4722 -1, 4723 /*0x0271*/ 219, 4724 /*0x0571*/ 453, 4725 -1, 4726 /*0x0471*/ 345, 4727 -1, 4728 /*0x1f71*/ 649, 4729 /*0x01ed*/ 157, 4730 -1, -1, 4731 /*0x0076*/ 20, 4732 -1, 4733 /*0x03b1*/ 243, 4734 -1, -1, -1, 4735 /*0x1e87*/ 544, 4736 /*0x1e07*/ 480, 4737 /*0x00e9*/ 34, 4738 /*0x0107*/ 59, 4739 /*0x2c87*/ 771, 4740 /*0x0207*/ 168, 4741 /*0x0507*/ 416, 4742 /*0x045a*/ 331, 4743 /*0x0185*/ 119, 4744 -1, 4745 /*0x1f07*/ 607, 4746 /*0x00e7*/ 32, 4747 -1, -1, 4748 /*0xa787*/ 942, 4749 /*0x1ebd*/ 566, 4750 /*0x1e3d*/ 507, 4751 /*0x04bd*/ 379, 4752 /*0x1043f*/ 1005, 4753 /*0x2cbd*/ 798, 4754 /*0xff50*/ 971, 4755 -1, -1, 4756 /*0x043d*/ 302, 4757 /*0x0183*/ 118, 4758 -1, 4759 /*0x1eb9*/ 564, 4760 /*0x1e39*/ 505, 4761 /*0x04b9*/ 377, 4762 /*0xa687*/ 887, 4763 /*0x2cb9*/ 796, 4764 /*0x04ce*/ 387, 4765 -1, -1, 4766 /*0x0439*/ 298, 4767 -1, -1, 4768 /*0x044e*/ 319, 4769 /*0x00ee*/ 39, 4770 /*0x2c5a*/ 755, 4771 /*0x24da*/ 697, 4772 /*0x01bf*/ 137, 4773 -1, -1, -1, 4774 /*0x10437*/ 997, 4775 /*0x1eaf*/ 559, 4776 /*0x1e2f*/ 500, 4777 /*0x04af*/ 372, 4778 /*0x012f*/ 79, 4779 /*0x2caf*/ 791, 4780 /*0x022f*/ 187, 4781 /*0x052f*/ 436, 6438 /*0x118de*/ 1230, 6439 -1, -1, 6440 /*0x1f34*/ 714, 6441 -1, -1, 6442 /*0x03ba*/ 254, 6443 -1, 6444 /*0x0578*/ 462, 6445 -1, 6446 /*0x2c5e*/ 847, 6447 /*0x01d2*/ 143, 6448 -1, -1, -1, -1, -1, -1, 6449 -1, -1, -1, -1, -1, -1, 6450 -1, -1, -1, -1, 6451 /*0x2178*/ 766, 6452 /*0x01b0*/ 132, 6453 -1, -1, -1, -1, -1, -1, 6454 -1, -1, 6455 /*0x1e936*/ 1252, 6456 -1, -1, -1, 6457 /*0x0574*/ 458, 6458 -1, -1, -1, -1, -1, -1, 6459 -1, -1, -1, -1, -1, -1, 6460 -1, 6461 /*0x2c3e*/ 815, 6462 -1, -1, -1, -1, -1, 6463 /*0x2174*/ 762, 6464 -1, -1, -1, -1, -1, 6465 /*0x2c3a*/ 811, 6466 -1, 6467 /*0x00f2*/ 43, 6468 /*0x0562*/ 440, 6469 -1, -1, -1, -1, 6470 /*0x01b4*/ 133, 6471 -1, -1, -1, -1, -1, -1, 6472 -1, -1, -1, -1, 6473 /*0x050d*/ 421, 6474 -1, -1, -1, -1, -1, -1, 6475 -1, -1, -1, -1, 6476 /*0x1e930*/ 1246, 6477 -1, -1, -1, -1, -1, -1, 6478 -1, 6479 /*0x2d0d*/ 922, 6480 -1, -1, -1, -1, -1, -1, 6481 -1, -1, -1, -1, -1, 6482 /*0x00fb*/ 51, 6483 -1, 6484 /*0x0509*/ 419, 6485 -1, -1, -1, -1, -1, -1, 6486 -1, -1, 6487 /*0x00f9*/ 49, 6488 -1, -1, -1, -1, -1, -1, 6489 /*0x056e*/ 452, 6490 -1, -1, 6491 /*0x2d09*/ 918, 6492 -1, 6493 /*0x00fd*/ 53, 6494 -1, -1, -1, 6495 /*0x1e934*/ 1250, 6496 -1, -1, -1, -1, -1, -1, 6497 -1, -1, 6498 /*0x1fe0*/ 754, 6499 -1, -1, -1, -1, -1, -1, 6500 -1, -1, -1, -1, -1, -1, 6501 -1, -1, -1, -1, -1, -1, 6502 -1, -1, -1, -1, -1, -1, 6503 -1, -1, -1, -1, 6504 /*0x051f*/ 430, 6505 -1, -1, -1, -1, -1, -1, 6506 -1, -1, -1, -1, 6507 /*0x00ff*/ 55, 6508 -1, -1, -1, 6509 /*0xa68d*/ 978, 6510 -1, -1, -1, 6511 /*0x2d1f*/ 940, 6512 -1, -1, -1, -1, -1, -1, 6513 -1, -1, -1, -1, -1, -1, 6514 -1, -1, -1, -1, -1, -1, 6515 -1, -1, -1, -1, -1, -1, 6516 -1, -1, -1, -1, 6517 /*0xa689*/ 976, 6518 -1, 6519 /*0x00e6*/ 31, 6520 /*0xa79f*/ 1038, 6521 -1, -1, -1, -1, -1, -1, 6522 -1, -1, -1, -1, -1, -1, 6523 -1, 6524 /*0x00fa*/ 50, 6525 -1, -1, -1, -1, -1, -1, 6526 -1, -1, 6527 /*0x1fb0*/ 750, 6528 -1, -1, -1, -1, -1, -1, 6529 -1, -1, -1, -1, -1, -1, 6530 -1, -1, -1, -1, -1, -1, 6531 -1, -1, -1, 6532 /*0x00ec*/ 37, 6533 -1, 6534 /*0x1e93e*/ 1260, 6535 -1, -1, -1, -1, -1, -1, 6536 -1, -1, -1, -1, -1, 6537 /*0x1e93a*/ 1256, 6538 -1, -1, -1, -1, -1, -1, 6539 -1, -1, -1, -1, -1, -1, 6540 -1, -1, -1, -1, -1, 6541 /*0x00e8*/ 33, 6542 -1, -1, -1, -1, -1, -1, 6543 -1, -1, -1, -1, 6544 /*0x00f0*/ 41, 6545 -1, -1, -1, -1, -1, -1, 6546 -1, -1, -1, -1, -1, -1, 6547 -1, -1, -1, -1, -1, 6548 /*0x00f6*/ 47, 6549 -1, -1, -1, -1, -1, -1, 6550 -1, -1, -1, -1, -1, -1, 6551 -1, 6552 /*0x00e0*/ 25, 6553 -1, -1, -1, -1, -1, -1, 6554 -1, -1, -1, -1, -1, -1, 6555 -1, -1, -1, -1, -1, -1, 6556 -1, -1, -1, -1, -1, 6557 /*0x00ea*/ 35, 6558 -1, -1, -1, -1, -1, -1, 6559 -1, -1, -1, -1, -1, -1, 6560 /*0x00e4*/ 29, 6561 -1, -1, -1, -1, -1, -1, 6562 -1, -1, -1, -1, -1, -1, 6563 /*0x00f8*/ 48, 6564 -1, -1, -1, -1, -1, -1, 6565 -1, -1, -1, -1, -1, -1, 6566 -1, -1, -1, -1, -1, -1, 6567 -1, -1, -1, -1, -1, -1, 6568 -1, -1, -1, -1, -1, -1, 6569 -1, -1, -1, 4782 6570 /*0x00f4*/ 45, 4783 /*0x01fd*/ 163, 4784 /*0x2c3d*/ 726, 4785 -1, 4786 /*0x1ea9*/ 556, 4787 /*0x1e29*/ 497, 4788 /*0x04a9*/ 369, 4789 /*0x0129*/ 76, 4790 /*0x2ca9*/ 788, 4791 /*0x0229*/ 184, 4792 /*0x0529*/ 433, 4793 /*0xa73d*/ 910, 4794 -1, 4795 /*0x2c39*/ 722, 4796 /*0x0272*/ 220, 4797 /*0x0572*/ 454, 4798 /*0x2c4e*/ 743, 4799 /*0x10435*/ 995, 4800 /*0xa7a9*/ 955, 4801 /*0x1f72*/ 650, 4802 /*0x0292*/ 231, 4803 /*0x10442*/ 1008, 4804 /*0xa739*/ 908, 4805 /*0x1ea1*/ 552, 4806 /*0x1e21*/ 493, 4807 /*0x04a1*/ 365, 4808 /*0x0121*/ 72, 4809 /*0x2ca1*/ 784, 4810 /*0x2179*/ 679, 4811 /*0x0521*/ 429, 4812 /*0x1efb*/ 597, 4813 /*0x1e7b*/ 538, 4814 /*0x04fb*/ 410, 4815 /*0x1f21*/ 615, 4816 /*0x10431*/ 991, 4817 /*0x0562*/ 438, 4818 /*0x057b*/ 463, 4819 /*0xa7a1*/ 951, 4820 /*0x047b*/ 350, 4821 /*0x1f62*/ 642, 4822 /*0x1f7b*/ 659, 4823 /*0x2175*/ 675, 4824 /*0xa72f*/ 904, 4825 /*0x1e19*/ 489, 4826 /*0x0499*/ 361, 4827 /*0x0119*/ 68, 4828 /*0x2c99*/ 780, 4829 /*0x0219*/ 177, 4830 /*0x0519*/ 425, 4831 /*0x04c6*/ 383, 4832 /*0x0146*/ 89, 4833 /*0x00f0*/ 41, 4834 /*0x118c2*/ 1024, 4835 /*0xa729*/ 901, 4836 -1, 4837 /*0x0446*/ 311, 4838 /*0xa799*/ 947, 4839 /*0x2171*/ 671, 4840 /*0x1ef7*/ 595, 4841 /*0x1e77*/ 536, 4842 /*0x04f7*/ 408, 4843 /*0x0177*/ 113, 4844 /*0x0268*/ 214, 4845 /*0x0568*/ 444, 4846 /*0x0577*/ 459, 4847 -1, 4848 /*0x0477*/ 348, 4849 -1, 4850 /*0x1f77*/ 655, 4851 -1, 4852 /*0x24e2*/ 705, 4853 /*0xa699*/ 896, 4854 -1, 4855 /*0x1eff*/ 599, 4856 /*0x1e7f*/ 540, 4857 /*0x04ff*/ 412, 4858 /*0x04cc*/ 386, 4859 /*0x03bd*/ 255, 4860 -1, 4861 /*0x057f*/ 467, 4862 /*0x0287*/ 225, 4863 /*0x047f*/ 352, 4864 /*0x044c*/ 317, 4865 /*0x04c8*/ 384, 4866 /*0x0148*/ 90, 4867 -1, -1, 4868 /*0x2c46*/ 735, 4869 /*0x03b9*/ 251, 4870 /*0x0448*/ 313, 4871 /*0x0195*/ 123, 4872 /*0x03ce*/ 271, 4873 -1, 4874 /*0x04c4*/ 382, 4875 /*0x0144*/ 88, 4876 /*0x2d2d*/ 860, 4877 /*0x0079*/ 23, 4878 /*0x2c68*/ 763, 4879 /*0x24e8*/ 711, 4880 /*0x0444*/ 309, 4881 -1, 4882 /*0x1f44*/ 634, 4883 /*0x00f3*/ 44, 4884 /*0x1ebb*/ 565, 4885 /*0x1e3b*/ 506, 4886 /*0x04bb*/ 378, 4887 /*0x214e*/ 669, 4888 /*0x2cbb*/ 797, 4889 /*0x03af*/ 242, 4890 /*0x0075*/ 19, 4891 -1, 4892 /*0x043b*/ 300, 4893 -1, -1, 4894 /*0x2c4c*/ 741, 4895 -1, 4896 /*0x0192*/ 122, 4897 -1, 4898 /*0x00eb*/ 36, 4899 -1, 4900 /*0x2d1c*/ 849, 4901 /*0x2c48*/ 737, 4902 /*0xa77f*/ 938, 4903 -1, 4904 /*0x03f2*/ 285, 4905 /*0x0071*/ 15, 4906 /*0x037d*/ 238, 4907 /*0x01f9*/ 161, 4908 -1, 4909 /*0x00e4*/ 29, 4910 -1, 4911 /*0x2c44*/ 733, 4912 /*0x1eab*/ 557, 4913 /*0x1e2b*/ 498, 4914 /*0x04ab*/ 370, 4915 /*0x012b*/ 77, 4916 /*0x2cab*/ 789, 4917 /*0x022b*/ 185, 4918 /*0x052b*/ 434, 4919 /*0x2172*/ 672, 4920 /*0x01f5*/ 160, 4921 /*0x0256*/ 204, 4922 -1, 4923 /*0x2c3b*/ 724, 4924 /*0x0456*/ 327, 4925 /*0x03fb*/ 288, 4926 /*0x1e17*/ 488, 4927 /*0x0497*/ 360, 4928 /*0x0117*/ 67, 4929 /*0x2c97*/ 779, 4930 /*0x0217*/ 176, 4931 /*0x0517*/ 424, 4932 /*0xa73b*/ 909, 4933 /*0x1e1f*/ 492, 4934 /*0x049f*/ 364, 4935 /*0x011f*/ 71, 4936 /*0x2c9f*/ 783, 4937 /*0x021f*/ 180, 4938 /*0x051f*/ 428, 4939 /*0xa797*/ 946, 4940 /*0x217b*/ 681, 4941 /*0xff42*/ 957, 4942 /*0x03c6*/ 263, 4943 -1, -1, 4944 /*0x0436*/ 295, 4945 /*0xa79f*/ 950, 4946 /*0x1f36*/ 628, 4947 /*0x1043d*/ 1003, 4948 -1, -1, -1, 4949 /*0x2d25*/ 858, 4950 -1, 4951 /*0xa697*/ 895, 4952 /*0x01da*/ 147, 4953 /*0x2c56*/ 751, 4954 /*0x24d6*/ 693, 4955 -1, 4956 /*0x10439*/ 999, 4957 -1, 4958 /*0xa72b*/ 902, 4959 /*0x1044e*/ 1020, 4960 /*0x118da*/ 1048, 6571 -1, -1, -1, -1, -1, -1, 6572 -1, -1, -1, -1, -1, -1, 6573 -1, -1, -1, -1, -1, -1, 6574 -1, -1, -1, -1, -1, -1, 4961 6575 -1, -1, -1, -1, 4962 /*0x2177*/ 677, 4963 /*0x03cc*/ 269, 4964 -1, 4965 /*0x01bd*/ 136, 6576 /*0x00e2*/ 27, 6577 -1, -1, -1, -1, -1, -1, 6578 -1, -1, -1, -1, -1, -1, 6579 -1, -1, -1, -1, -1, -1, 6580 -1, -1, -1, -1, -1, -1, 6581 -1, -1, -1, -1, -1, -1, 6582 -1, -1, -1, -1, -1, -1, 6583 -1, -1, -1, -1, -1, -1, 6584 -1, -1, -1, -1, -1, -1, 6585 -1, -1, -1, -1, -1, -1, 6586 -1, -1, -1, -1, -1, -1, 4966 6587 -1, -1, -1, -1, 4967 /*0x03c8*/ 265, 4968 /*0x2c36*/ 719, 4969 /*0x2d23*/ 856, 4970 /*0x1042f*/ 989, 4971 -1, 4972 /*0x0254*/ 203, 4973 /*0x01b9*/ 135, 4974 /*0x217f*/ 685, 4975 /*0x0454*/ 325, 4976 /*0x01ce*/ 141, 4977 /*0x03c4*/ 261, 4978 /*0x0072*/ 16, 4979 -1, -1, 4980 /*0x10429*/ 983, 4981 /*0x1e89*/ 545, 4982 /*0x1e09*/ 481, 4983 /*0x118ce*/ 1036, 4984 /*0x0109*/ 60, 4985 /*0x2c89*/ 772, 4986 /*0x0209*/ 169, 4987 /*0x0509*/ 417, 4988 /*0x03bb*/ 253, 4989 -1, 4990 /*0x1e8d*/ 547, 4991 /*0x1e0d*/ 483, 4992 /*0x048d*/ 355, 4993 /*0x010d*/ 62, 4994 /*0x2c8d*/ 774, 4995 /*0x020d*/ 171, 4996 /*0x050d*/ 419, 4997 /*0x0062*/ 1, 4998 /*0x1e1d*/ 491, 4999 /*0x049d*/ 363, 5000 /*0x011d*/ 70, 5001 /*0x2c9d*/ 782, 5002 /*0x021d*/ 179, 5003 /*0x051d*/ 427, 5004 -1, 5005 /*0x0458*/ 329, 5006 /*0x2c54*/ 749, 5007 /*0x24d4*/ 691, 5008 /*0x00ea*/ 35, 5009 /*0x0252*/ 201, 5010 /*0xa689*/ 888, 5011 /*0xa79d*/ 949, 5012 /*0x0452*/ 323, 5013 /*0x025c*/ 208, 5014 -1, 5015 /*0x04ca*/ 385, 5016 /*0x045c*/ 333, 5017 -1, 5018 /*0x2d05*/ 826, 5019 /*0xa68d*/ 890, 5020 /*0x00fa*/ 50, 5021 /*0x044a*/ 315, 5022 /*0x01a1*/ 127, 5023 /*0x10446*/ 1012, 5024 /*0x017c*/ 115, 5025 /*0x0068*/ 7, 5026 /*0x0077*/ 21, 5027 /*0x057c*/ 464, 5028 -1, 5029 /*0x01fb*/ 162, 5030 -1, 5031 /*0x1f7c*/ 660, 5032 -1, 5033 /*0x0434*/ 293, 5034 /*0x2d03*/ 824, 5035 /*0x1f34*/ 626, 5036 /*0x045e*/ 335, 5037 /*0x2c58*/ 753, 5038 /*0x24d8*/ 695, 5039 -1, -1, 5040 /*0x0199*/ 124, 5041 /*0x03b6*/ 248, 5042 -1, 5043 /*0x2c52*/ 747, 5044 /*0x24d2*/ 689, 5045 /*0x01c6*/ 138, 5046 /*0x0260*/ 209, 5047 /*0x2c5c*/ 757, 5048 /*0x24dc*/ 699, 5049 /*0x1044c*/ 1018, 5050 /*0x0371*/ 233, 5051 /*0x1f60*/ 640, 5052 /*0x2c4a*/ 739, 5053 /*0x118c6*/ 1028, 5054 -1, -1, 5055 /*0x10448*/ 1014, 5056 -1, -1, -1, 5057 /*0x0430*/ 289, 5058 /*0xff5a*/ 981, 5059 /*0x1f30*/ 622, 5060 /*0x0432*/ 291, 5061 /*0x2c34*/ 717, 5062 /*0x1f32*/ 624, 5063 /*0x10444*/ 1010, 5064 /*0x2c5e*/ 759, 5065 /*0x24de*/ 701, 5066 /*0xa77c*/ 937, 5067 -1, 5068 /*0x01ff*/ 164, 5069 /*0x01cc*/ 140, 5070 -1, -1, -1, -1, -1, 5071 /*0x1043b*/ 1001, 5072 -1, 5073 /*0x118cc*/ 1034, 5074 -1, 5075 /*0x24e0*/ 703, 5076 -1, 5077 /*0x00ec*/ 37, 5078 -1, -1, 5079 /*0x118c8*/ 1030, 5080 -1, 5081 /*0x1fe0*/ 666, 5082 -1, 5083 /*0xff4e*/ 969, 5084 /*0x2c30*/ 713, 5085 -1, -1, 5086 /*0x2c32*/ 715, 5087 -1, 5088 /*0x118c4*/ 1026, 5089 -1, -1, 5090 /*0x1fb0*/ 662, 5091 -1, -1, -1, -1, -1, -1, 5092 /*0x1042b*/ 985, 5093 -1, -1, -1, -1, -1, 5094 /*0x0289*/ 227, 5095 -1, -1, -1, -1, -1, -1, 5096 -1, -1, -1, -1, -1, -1, 5097 -1, 5098 /*0x03ca*/ 267, 5099 -1, -1, 5100 /*0x2d27*/ 859, 5101 -1, 5102 /*0x10436*/ 996, 5103 -1, 5104 /*0x01d6*/ 145, 5105 -1, -1, -1, -1, 5106 /*0x03b4*/ 246, 5107 -1, -1, 5108 /*0x118d6*/ 1044, 5109 -1, -1, 5110 /*0x00f8*/ 48, 5111 -1, -1, -1, -1, 5112 /*0x217c*/ 682, 5113 -1, 5114 /*0x2d15*/ 842, 5115 /*0x037b*/ 236, 5116 -1, 5117 /*0x01b6*/ 134, 5118 -1, -1, -1, -1, -1, -1, 5119 /*0xff46*/ 961, 5120 /*0x00e6*/ 31, 5121 -1, -1, -1, -1, -1, -1, 5122 /*0x03b2*/ 244, 5123 -1, 5124 /*0x2d13*/ 840, 5125 -1, -1, -1, -1, -1, 5126 /*0x2d12*/ 839, 5127 /*0x00ef*/ 40, 5128 -1, 5129 /*0x0377*/ 235, 5130 -1, -1, -1, -1, -1, -1, 5131 -1, 5132 /*0xff4c*/ 967, 5133 -1, -1, -1, 5134 /*0x00ed*/ 38, 5135 /*0x01d4*/ 144, 5136 -1, 5137 /*0xff48*/ 963, 5138 -1, -1, -1, -1, -1, 5139 /*0x118d4*/ 1042, 5140 -1, -1, -1, 5141 /*0xff44*/ 959, 5142 -1, -1, -1, -1, -1, -1, 5143 -1, -1, -1, -1, -1, 5144 /*0x1044a*/ 1016, 5145 -1, -1, -1, -1, -1, -1, 5146 /*0x01d8*/ 146, 5147 -1, 5148 /*0x00f6*/ 47, 5149 -1, -1, 5150 /*0x10434*/ 994, 5151 -1, 5152 /*0x01d2*/ 143, 5153 /*0x118d8*/ 1046, 5154 -1, -1, 5155 /*0x01dc*/ 148, 5156 -1, 5157 /*0x2d07*/ 828, 5158 -1, 5159 /*0x118d2*/ 1040, 5160 -1, -1, -1, 5161 /*0x118dc*/ 1050, 5162 -1, -1, -1, -1, 5163 /*0x118ca*/ 1032, 5164 -1, 5165 /*0xff56*/ 977, 5166 -1, 5167 /*0x01b4*/ 133, 5168 -1, -1, 5169 /*0x00fd*/ 53, 5170 -1, 5171 /*0x10430*/ 990, 5172 -1, -1, 5173 /*0x10432*/ 992, 5174 -1, -1, 5175 /*0x118de*/ 1052, 5176 -1, -1, -1, -1, -1, -1, 5177 -1, -1, -1, -1, -1, -1, 5178 -1, -1, -1, -1, 5179 /*0x01b0*/ 132, 5180 -1, -1, -1, -1, -1, -1, 5181 -1, -1, -1, -1, -1, -1, 5182 -1, -1, -1, -1, -1, -1, 5183 -1, -1, -1, -1, -1, -1, 5184 -1, -1, -1, -1, -1, 5185 /*0xff54*/ 975, 5186 -1, -1, 5187 /*0x2d21*/ 854, 5188 -1, -1, -1, -1, -1, -1, 5189 -1, -1, -1, -1, -1, -1, 5190 -1, -1, -1, -1, -1, -1, 5191 /*0x2d19*/ 846, 5192 -1, -1, -1, -1, -1, -1, 5193 -1, -1, 5194 /*0xff58*/ 979, 5195 -1, -1, -1, -1, -1, -1, 5196 /*0xff52*/ 973, 5197 -1, -1, -1, -1, -1, -1, 5198 -1, -1, 5199 /*0xff4a*/ 965, 5200 -1, -1, -1, -1, -1, -1, 5201 -1, -1, -1, -1, -1, -1, 5202 -1, -1, -1, 5203 /*0x037c*/ 237, 5204 -1, -1, -1, -1, -1, -1, 5205 -1, 5206 /*0x00f9*/ 49, 5207 -1, -1, -1, -1, -1, -1, 5208 -1, -1, -1, -1, -1, -1, 5209 /*0x00f5*/ 46, 5210 -1, -1, -1, -1, -1, -1, 5211 -1, -1, -1, -1, -1, -1, 5212 -1, -1, -1, 5213 /*0x00f1*/ 42, 5214 -1, -1, -1, -1, -1, -1, 5215 -1, -1, -1, -1, -1, -1, 5216 -1, -1, -1, -1, -1, -1, 5217 -1, -1, -1, -1, -1, -1, 5218 /*0x2d17*/ 844, 5219 -1, -1, -1, -1, -1, -1, 5220 /*0x2d1f*/ 852, 5221 -1, -1, -1, -1, -1, -1, 5222 -1, -1, -1, -1, -1, -1, 5223 -1, -1, -1, -1, -1, -1, 5224 -1, -1, -1, -1, -1, -1, 5225 -1, -1, -1, -1, -1, -1, 5226 -1, -1, -1, -1, -1, -1, 5227 -1, -1, -1, -1, -1, -1, 5228 -1, -1, -1, -1, -1, -1, 5229 -1, 5230 /*0x00f2*/ 43, 5231 -1, -1, -1, -1, -1, -1, 5232 -1, -1, 5233 /*0x2d09*/ 830, 5234 -1, -1, -1, -1, -1, -1, 5235 -1, -1, 5236 /*0x2d0d*/ 834, 5237 -1, 5238 /*0x00e2*/ 27, 5239 /*0x00fb*/ 51, 5240 -1, -1, -1, 5241 /*0x2d1d*/ 850, 5242 -1, -1, -1, -1, -1, -1, 5243 -1, -1, -1, -1, -1, -1, 5244 -1, -1, -1, -1, -1, -1, 5245 -1, -1, -1, -1, 5246 /*0x00e8*/ 33, 5247 -1, -1, -1, -1, -1, -1, 5248 -1, -1, -1, -1, -1, -1, 5249 -1, -1, -1, 5250 /*0x00ff*/ 55, 5251 -1, -1, -1, -1, -1, -1, 5252 -1, -1, -1, -1, -1, -1, 5253 -1, -1, -1, -1, -1, -1, 5254 -1, -1, -1, -1, -1, -1, 5255 -1, -1, -1, -1, -1, -1, 5256 -1, -1, -1, -1, -1, -1, 5257 -1, -1, -1, -1, -1, -1, 5258 -1, -1, -1, -1, -1, -1, 5259 -1, -1, -1, -1, -1, -1, 5260 -1, -1, -1, -1, -1, -1, 5261 -1, -1, -1, -1, -1, -1, 5262 -1, -1, -1, -1, -1, -1, 5263 -1, -1, -1, -1, -1, -1, 5264 -1, -1, -1, -1, -1, -1, 5265 -1, -1, -1, -1, -1, -1, 5266 -1, -1, -1, -1, -1, -1, 5267 -1, -1, -1, -1, -1, -1, 5268 -1, -1, -1, -1, -1, -1, 5269 -1, -1, -1, -1, -1, -1, 5270 -1, -1, -1, -1, -1, -1, 5271 -1, -1, -1, -1, -1, -1, 5272 -1, -1, -1, -1, -1, -1, 5273 -1, -1, -1, -1, -1, -1, 5274 -1, -1, -1, -1, -1, -1, 5275 -1, -1, -1, -1, -1, -1, 5276 -1, -1, -1, -1, -1, -1, 5277 -1, -1, -1, -1, -1, -1, 5278 -1, -1, -1, -1, -1, -1, 5279 -1, -1, -1, -1, -1, -1, 5280 -1, -1, -1, 5281 /*0x00fc*/ 52, 5282 -1, -1, -1, -1, -1, -1, 5283 -1, -1, -1, -1, -1, -1, 5284 -1, -1, -1, -1, -1, -1, 5285 -1, -1, 5286 /*0x00e0*/ 25 6588 /*0x00ee*/ 39 5287 6589 }; 5288 6590 5289 6591 if (code <= MAX_CODE_VALUE && code >= MIN_CODE_VALUE) 5290 6592 { 5291 register int key = onigenc_unicode_CaseUnfold_11_hash(code);6593 register unsigned int key = onigenc_unicode_CaseUnfold_11_hash(code); 5292 6594 5293 if (key <= MAX_HASH_VALUE && key >= 0)6595 if (key <= MAX_HASH_VALUE) 5294 6596 { 5295 6597 register short s = wordlist[key]; … … 5366 6668 }; 5367 6669 5368 /* C code produced by gperf version 3.0.3*/6670 /* ANSI-C code produced by gperf version 3.1 */ 5369 6671 /* Command-line: gperf -7 -k1,2,3,4,5,6 -F,-1 -c -j1 -i1 -t -T -E -C -H onigenc_unicode_CaseUnfold_12_hash -N onigenc_unicode_CaseUnfold_12_lookup -n */ 5370 6672 … … 5401 6703 } 5402 6704 5403 #ifdef __GNUC__5404 __inline5405 #ifdef __GNUC_STDC_INLINE__5406 __attribute__ ((__gnu_inline__))5407 #endif5408 #endif5409 6705 static const CodePointList2 * 5410 6706 onigenc_unicode_CaseUnfold_12_lookup(const OnigCodePoint *codes) … … 5491 6787 codes[1] <= MAX_CODE_VALUE && codes[1] >= MIN_CODE_VALUE) 5492 6788 { 5493 register int key = onigenc_unicode_CaseUnfold_12_hash(codes);6789 register unsigned int key = onigenc_unicode_CaseUnfold_12_hash(codes); 5494 6790 5495 if (key <= MAX_HASH_VALUE && key >= 0)6791 if (key <= MAX_HASH_VALUE) 5496 6792 { 5497 6793 register short s = wordlist[key]; … … 5522 6818 }; 5523 6819 5524 /* C code produced by gperf version 3.0.3*/6820 /* ANSI-C code produced by gperf version 3.1 */ 5525 6821 /* Command-line: gperf -7 -k1,2,3,4,5,6,7,8,9 -F,-1 -c -j1 -i1 -t -T -E -C -H onigenc_unicode_CaseUnfold_13_hash -N onigenc_unicode_CaseUnfold_13_lookup -n */ 5526 6822 … … 5557 6853 } 5558 6854 5559 #ifdef __GNUC__5560 __inline5561 #ifdef __GNUC_STDC_INLINE__5562 __attribute__ ((__gnu_inline__))5563 #endif5564 #endif5565 6855 static const CodePointList2 * 5566 6856 onigenc_unicode_CaseUnfold_13_lookup(const OnigCodePoint *codes) … … 5605 6895 codes[2] <= MAX_CODE_VALUE && codes[2] >= MIN_CODE_VALUE) 5606 6896 { 5607 register int key = onigenc_unicode_CaseUnfold_13_hash(codes);6897 register unsigned int key = onigenc_unicode_CaseUnfold_13_hash(codes); 5608 6898 5609 if (key <= MAX_HASH_VALUE && key >= 0)6899 if (key <= MAX_HASH_VALUE) 5610 6900 { 5611 6901 register short s = wordlist[key]; … … 5618 6908 } 5619 6909 6910 static const OnigCodePoint CaseMappingSpecials[] = { 6911 L(1)|0x039C, 6912 L(2)|0x0053, 0x0073, L(2)|0x0053, 0x0053, 6913 L(2)|0x02BC, 0x004E, 6914 L(1)|0x0053, 6915 L(1)|0x01C5, 6916 L(2)|0x0064, 0x017D, L(1)|0x01C4, 6917 L(1)|0x01C8, 6918 L(2)|0x006C, 0x004A, L(1)|0x01C7, 6919 L(1)|0x01CB, 6920 L(2)|0x006E, 0x004A, L(1)|0x01CA, 6921 L(2)|0x004A, 0x030C, 6922 L(1)|0x01F2, 6923 L(2)|0x0064, 0x005A, L(1)|0x01F1, 6924 L(1)|0x0399, 6925 L(3)|0x0399, 0x0308, 0x0301, 6926 L(3)|0x03A5, 0x0308, 0x0301, 6927 L(1)|0x03A3, 6928 L(1)|0x0392, 6929 L(1)|0x0398, 6930 L(1)|0x03A6, 6931 L(1)|0x03A0, 6932 L(1)|0x039A, 6933 L(1)|0x03A1, 6934 L(1)|0x0395, 6935 L(2)|0x0535, 0x0582, L(2)|0x0535, 0x0552, 6936 L(1)|0x0412, 6937 L(1)|0x0414, 6938 L(1)|0x041E, 6939 L(1)|0x0421, 6940 L(1)|0x0422, 6941 L(1)|0x0422, 6942 L(1)|0x042A, 6943 L(1)|0x0462, 6944 L(1)|0xA64A, 6945 L(2)|0x0048, 0x0331, 6946 L(2)|0x0054, 0x0308, 6947 L(2)|0x0057, 0x030A, 6948 L(2)|0x0059, 0x030A, 6949 L(2)|0x0041, 0x02BE, 6950 L(1)|0x1E60, 6951 L(1)|0x00DF, 6952 L(2)|0x03A5, 0x0313, 6953 L(3)|0x03A5, 0x0313, 0x0300, 6954 L(3)|0x03A5, 0x0313, 0x0301, 6955 L(3)|0x03A5, 0x0313, 0x0342, 6956 L(1)|0x1F88, L(2)|0x1F08, 0x0399, 6957 L(1)|0x1F89, L(2)|0x1F09, 0x0399, 6958 L(1)|0x1F8A, L(2)|0x1F0A, 0x0399, 6959 L(1)|0x1F8B, L(2)|0x1F0B, 0x0399, 6960 L(1)|0x1F8C, L(2)|0x1F0C, 0x0399, 6961 L(1)|0x1F8D, L(2)|0x1F0D, 0x0399, 6962 L(1)|0x1F8E, L(2)|0x1F0E, 0x0399, 6963 L(1)|0x1F8F, L(2)|0x1F0F, 0x0399, 6964 L(2)|0x1F00, 0x0399, L(1)|0x1F80, L(2)|0x1F08, 0x0399, 6965 L(2)|0x1F01, 0x0399, L(1)|0x1F81, L(2)|0x1F09, 0x0399, 6966 L(2)|0x1F02, 0x0399, L(1)|0x1F82, L(2)|0x1F0A, 0x0399, 6967 L(2)|0x1F03, 0x0399, L(1)|0x1F83, L(2)|0x1F0B, 0x0399, 6968 L(2)|0x1F04, 0x0399, L(1)|0x1F84, L(2)|0x1F0C, 0x0399, 6969 L(2)|0x1F05, 0x0399, L(1)|0x1F85, L(2)|0x1F0D, 0x0399, 6970 L(2)|0x1F06, 0x0399, L(1)|0x1F86, L(2)|0x1F0E, 0x0399, 6971 L(2)|0x1F07, 0x0399, L(1)|0x1F87, L(2)|0x1F0F, 0x0399, 6972 L(1)|0x1F98, L(2)|0x1F28, 0x0399, 6973 L(1)|0x1F99, L(2)|0x1F29, 0x0399, 6974 L(1)|0x1F9A, L(2)|0x1F2A, 0x0399, 6975 L(1)|0x1F9B, L(2)|0x1F2B, 0x0399, 6976 L(1)|0x1F9C, L(2)|0x1F2C, 0x0399, 6977 L(1)|0x1F9D, L(2)|0x1F2D, 0x0399, 6978 L(1)|0x1F9E, L(2)|0x1F2E, 0x0399, 6979 L(1)|0x1F9F, L(2)|0x1F2F, 0x0399, 6980 L(2)|0x1F20, 0x0399, L(1)|0x1F90, L(2)|0x1F28, 0x0399, 6981 L(2)|0x1F21, 0x0399, L(1)|0x1F91, L(2)|0x1F29, 0x0399, 6982 L(2)|0x1F22, 0x0399, L(1)|0x1F92, L(2)|0x1F2A, 0x0399, 6983 L(2)|0x1F23, 0x0399, L(1)|0x1F93, L(2)|0x1F2B, 0x0399, 6984 L(2)|0x1F24, 0x0399, L(1)|0x1F94, L(2)|0x1F2C, 0x0399, 6985 L(2)|0x1F25, 0x0399, L(1)|0x1F95, L(2)|0x1F2D, 0x0399, 6986 L(2)|0x1F26, 0x0399, L(1)|0x1F96, L(2)|0x1F2E, 0x0399, 6987 L(2)|0x1F27, 0x0399, L(1)|0x1F97, L(2)|0x1F2F, 0x0399, 6988 L(1)|0x1FA8, L(2)|0x1F68, 0x0399, 6989 L(1)|0x1FA9, L(2)|0x1F69, 0x0399, 6990 L(1)|0x1FAA, L(2)|0x1F6A, 0x0399, 6991 L(1)|0x1FAB, L(2)|0x1F6B, 0x0399, 6992 L(1)|0x1FAC, L(2)|0x1F6C, 0x0399, 6993 L(1)|0x1FAD, L(2)|0x1F6D, 0x0399, 6994 L(1)|0x1FAE, L(2)|0x1F6E, 0x0399, 6995 L(1)|0x1FAF, L(2)|0x1F6F, 0x0399, 6996 L(2)|0x1F60, 0x0399, L(1)|0x1FA0, L(2)|0x1F68, 0x0399, 6997 L(2)|0x1F61, 0x0399, L(1)|0x1FA1, L(2)|0x1F69, 0x0399, 6998 L(2)|0x1F62, 0x0399, L(1)|0x1FA2, L(2)|0x1F6A, 0x0399, 6999 L(2)|0x1F63, 0x0399, L(1)|0x1FA3, L(2)|0x1F6B, 0x0399, 7000 L(2)|0x1F64, 0x0399, L(1)|0x1FA4, L(2)|0x1F6C, 0x0399, 7001 L(2)|0x1F65, 0x0399, L(1)|0x1FA5, L(2)|0x1F6D, 0x0399, 7002 L(2)|0x1F66, 0x0399, L(1)|0x1FA6, L(2)|0x1F6E, 0x0399, 7003 L(2)|0x1F67, 0x0399, L(1)|0x1FA7, L(2)|0x1F6F, 0x0399, 7004 L(2)|0x1FBA, 0x0345, L(2)|0x1FBA, 0x0399, 7005 L(1)|0x1FBC, L(2)|0x0391, 0x0399, 7006 L(2)|0x0386, 0x0345, L(2)|0x0386, 0x0399, 7007 L(2)|0x0391, 0x0342, 7008 L(3)|0x0391, 0x0342, 0x0345, L(3)|0x0391, 0x0342, 0x0399, 7009 L(2)|0x03B1, 0x0399, L(1)|0x1FB3, L(2)|0x0391, 0x0399, 7010 L(1)|0x0399, 7011 L(2)|0x1FCA, 0x0345, L(2)|0x1FCA, 0x0399, 7012 L(1)|0x1FCC, L(2)|0x0397, 0x0399, 7013 L(2)|0x0389, 0x0345, L(2)|0x0389, 0x0399, 7014 L(2)|0x0397, 0x0342, 7015 L(3)|0x0397, 0x0342, 0x0345, L(3)|0x0397, 0x0342, 0x0399, 7016 L(2)|0x03B7, 0x0399, L(1)|0x1FC3, L(2)|0x0397, 0x0399, 7017 L(3)|0x0399, 0x0308, 0x0300, 7018 L(3)|0x0399, 0x0308, 0x0301, 7019 L(2)|0x0399, 0x0342, 7020 L(3)|0x0399, 0x0308, 0x0342, 7021 L(3)|0x03A5, 0x0308, 0x0300, 7022 L(3)|0x03A5, 0x0308, 0x0301, 7023 L(2)|0x03A1, 0x0313, 7024 L(2)|0x03A5, 0x0342, 7025 L(3)|0x03A5, 0x0308, 0x0342, 7026 L(2)|0x1FFA, 0x0345, L(2)|0x1FFA, 0x0399, 7027 L(1)|0x1FFC, L(2)|0x03A9, 0x0399, 7028 L(2)|0x038F, 0x0345, L(2)|0x038F, 0x0399, 7029 L(2)|0x03A9, 0x0342, 7030 L(3)|0x03A9, 0x0342, 0x0345, L(3)|0x03A9, 0x0342, 0x0399, 7031 L(2)|0x03C9, 0x0399, L(1)|0x1FF3, L(2)|0x03A9, 0x0399, 7032 L(2)|0x0046, 0x0066, L(2)|0x0046, 0x0046, 7033 L(2)|0x0046, 0x0069, L(2)|0x0046, 0x0049, 7034 L(2)|0x0046, 0x006C, L(2)|0x0046, 0x004C, 7035 L(3)|0x0046, 0x0066, 0x0069, L(3)|0x0046, 0x0046, 0x0049, 7036 L(3)|0x0046, 0x0066, 0x006C, L(3)|0x0046, 0x0046, 0x004C, 7037 L(2)|0x0053, 0x0074, L(2)|0x0053, 0x0054, 7038 L(2)|0x0053, 0x0074, L(2)|0x0053, 0x0054, 7039 L(2)|0x0544, 0x0576, L(2)|0x0544, 0x0546, 7040 L(2)|0x0544, 0x0565, L(2)|0x0544, 0x0535, 7041 L(2)|0x0544, 0x056B, L(2)|0x0544, 0x053B, 7042 L(2)|0x054E, 0x0576, L(2)|0x054E, 0x0546, 7043 L(2)|0x0544, 0x056D, L(2)|0x0544, 0x053D, 7044 }; -
EcnlProtoTool/trunk/onigmo-6.1.3/src/enc/unicode/name2ctype.h
r321 r331 1 /* C code produced by gperf version 3.0. 3*/1 /* C code produced by gperf version 3.0.4 */ 2 2 /* Command-line: gperf -7 -c -j1 -i1 -t -C -P -T -H uniname2ctype_hash -Q uniname2ctype_pool -N uniname2ctype_p */ 3 3 #ifndef USE_UNICODE_PROPERTIES … … 35 35 36 36 37 #define long size_t38 37 39 38 /* 'NEWLINE': [[:NEWLINE:]] */ … … 45 44 /* 'Alpha': [[:Alpha:]] */ 46 45 static const OnigCodePoint CR_Alpha[] = { 47 6 00,46 660, 48 47 0x0041, 0x005a, 49 48 0x0061, 0x007a, … … 97 96 0x081a, 0x082c, 98 97 0x0840, 0x0858, 99 0x08a0, 0x08b2, 100 0x08e4, 0x08e9, 98 0x0860, 0x086a, 99 0x08a0, 0x08b4, 100 0x08b6, 0x08bd, 101 0x08d4, 0x08df, 102 0x08e3, 0x08e9, 101 103 0x08f0, 0x093b, 102 104 0x093d, 0x094c, … … 118 120 0x09df, 0x09e3, 119 121 0x09f0, 0x09f1, 122 0x09fc, 0x09fc, 120 123 0x0a01, 0x0a03, 121 124 0x0a05, 0x0a0a, … … 145 148 0x0ad0, 0x0ad0, 146 149 0x0ae0, 0x0ae3, 150 0x0af9, 0x0afc, 147 151 0x0b01, 0x0b03, 148 152 0x0b05, 0x0b0c, … … 183 187 0x0c4a, 0x0c4c, 184 188 0x0c55, 0x0c56, 185 0x0c58, 0x0c5 9,189 0x0c58, 0x0c5a, 186 190 0x0c60, 0x0c63, 187 0x0c8 1, 0x0c83,191 0x0c80, 0x0c83, 188 192 0x0c85, 0x0c8c, 189 193 0x0c8e, 0x0c90, … … 198 202 0x0ce0, 0x0ce3, 199 203 0x0cf1, 0x0cf2, 200 0x0d0 1, 0x0d03,204 0x0d00, 0x0d03, 201 205 0x0d05, 0x0d0c, 202 206 0x0d0e, 0x0d10, … … 206 210 0x0d4a, 0x0d4c, 207 211 0x0d4e, 0x0d4e, 208 0x0d5 7, 0x0d57,209 0x0d 60, 0x0d63,212 0x0d54, 0x0d57, 213 0x0d5f, 0x0d63, 210 214 0x0d7a, 0x0d7f, 211 215 0x0d82, 0x0d83, … … 275 279 0x135f, 0x135f, 276 280 0x1380, 0x138f, 277 0x13a0, 0x13f4, 281 0x13a0, 0x13f5, 282 0x13f8, 0x13fd, 278 283 0x1401, 0x166c, 279 284 0x166f, 0x167f, … … 316 321 0x1c4d, 0x1c4f, 317 322 0x1c5a, 0x1c7d, 323 0x1c80, 0x1c88, 318 324 0x1ce9, 0x1cec, 319 325 0x1cee, 0x1cf3, … … 387 393 0x30a1, 0x30fa, 388 394 0x30fc, 0x30ff, 389 0x3105, 0x312 d,395 0x3105, 0x312e, 390 396 0x3131, 0x318e, 391 397 0x31a0, 0x31ba, 392 398 0x31f0, 0x31ff, 393 399 0x3400, 0x4db5, 394 0x4e00, 0x9f cc,400 0x4e00, 0x9fea, 395 401 0xa000, 0xa48c, 396 402 0xa4d0, 0xa4fd, … … 400 406 0xa640, 0xa66e, 401 407 0xa674, 0xa67b, 402 0xa67f, 0xa69d, 403 0xa69f, 0xa6ef, 408 0xa67f, 0xa6ef, 404 409 0xa717, 0xa71f, 405 410 0xa722, 0xa788, 406 0xa78b, 0xa78e, 407 0xa790, 0xa7ad, 408 0xa7b0, 0xa7b1, 411 0xa78b, 0xa7ae, 412 0xa7b0, 0xa7b7, 409 413 0xa7f7, 0xa801, 410 414 0xa803, 0xa805, … … 413 417 0xa840, 0xa873, 414 418 0xa880, 0xa8c3, 419 0xa8c5, 0xa8c5, 415 420 0xa8f2, 0xa8f7, 416 421 0xa8fb, 0xa8fb, 422 0xa8fd, 0xa8fd, 417 423 0xa90a, 0xa92a, 418 424 0xa930, 0xa952, … … 440 446 0xab28, 0xab2e, 441 447 0xab30, 0xab5a, 442 0xab5c, 0xab5f, 443 0xab64, 0xab65, 444 0xabc0, 0xabea, 448 0xab5c, 0xab65, 449 0xab70, 0xabea, 445 450 0xac00, 0xd7a3, 446 451 0xd7b0, 0xd7c6, … … 481 486 0x102a0, 0x102d0, 482 487 0x10300, 0x1031f, 483 0x103 30, 0x1034a,488 0x1032d, 0x1034a, 484 489 0x10350, 0x1037a, 485 490 0x10380, 0x1039d, … … 488 493 0x103d1, 0x103d5, 489 494 0x10400, 0x1049d, 495 0x104b0, 0x104d3, 496 0x104d8, 0x104fb, 490 497 0x10500, 0x10527, 491 498 0x10530, 0x10563, … … 501 508 0x10860, 0x10876, 502 509 0x10880, 0x1089e, 510 0x108e0, 0x108f2, 511 0x108f4, 0x108f5, 503 512 0x10900, 0x10915, 504 513 0x10920, 0x10939, … … 519 528 0x10b80, 0x10b91, 520 529 0x10c00, 0x10c48, 530 0x10c80, 0x10cb2, 531 0x10cc0, 0x10cf2, 521 532 0x11000, 0x11045, 522 533 0x11082, 0x110b8, … … 528 539 0x111c1, 0x111c4, 529 540 0x111da, 0x111da, 541 0x111dc, 0x111dc, 530 542 0x11200, 0x11211, 531 543 0x11213, 0x11234, 532 544 0x11237, 0x11237, 545 0x1123e, 0x1123e, 546 0x11280, 0x11286, 547 0x11288, 0x11288, 548 0x1128a, 0x1128d, 549 0x1128f, 0x1129d, 550 0x1129f, 0x112a8, 533 551 0x112b0, 0x112e8, 534 0x1130 1, 0x11303,552 0x11300, 0x11303, 535 553 0x11305, 0x1130c, 536 554 0x1130f, 0x11310, … … 542 560 0x11347, 0x11348, 543 561 0x1134b, 0x1134c, 562 0x11350, 0x11350, 544 563 0x11357, 0x11357, 545 564 0x1135d, 0x11363, 565 0x11400, 0x11441, 566 0x11443, 0x11445, 567 0x11447, 0x1144a, 546 568 0x11480, 0x114c1, 547 569 0x114c4, 0x114c5, … … 549 571 0x11580, 0x115b5, 550 572 0x115b8, 0x115be, 573 0x115d8, 0x115dd, 551 574 0x11600, 0x1163e, 552 575 0x11640, 0x11640, 553 576 0x11644, 0x11644, 554 577 0x11680, 0x116b5, 578 0x11700, 0x11719, 579 0x1171d, 0x1172a, 555 580 0x118a0, 0x118df, 556 581 0x118ff, 0x118ff, 582 0x11a00, 0x11a32, 583 0x11a35, 0x11a3e, 584 0x11a50, 0x11a83, 585 0x11a86, 0x11a97, 557 586 0x11ac0, 0x11af8, 558 0x12000, 0x12398, 587 0x11c00, 0x11c08, 588 0x11c0a, 0x11c36, 589 0x11c38, 0x11c3e, 590 0x11c40, 0x11c40, 591 0x11c72, 0x11c8f, 592 0x11c92, 0x11ca7, 593 0x11ca9, 0x11cb6, 594 0x11d00, 0x11d06, 595 0x11d08, 0x11d09, 596 0x11d0b, 0x11d36, 597 0x11d3a, 0x11d3a, 598 0x11d3c, 0x11d3d, 599 0x11d3f, 0x11d41, 600 0x11d43, 0x11d43, 601 0x11d46, 0x11d47, 602 0x12000, 0x12399, 559 603 0x12400, 0x1246e, 604 0x12480, 0x12543, 560 605 0x13000, 0x1342e, 606 0x14400, 0x14646, 561 607 0x16800, 0x16a38, 562 608 0x16a40, 0x16a5e, … … 569 615 0x16f50, 0x16f7e, 570 616 0x16f93, 0x16f9f, 571 0x1b000, 0x1b001, 617 0x16fe0, 0x16fe1, 618 0x17000, 0x187ec, 619 0x18800, 0x18af2, 620 0x1b000, 0x1b11e, 621 0x1b170, 0x1b2fb, 572 622 0x1bc00, 0x1bc6a, 573 623 0x1bc70, 0x1bc7c, … … 605 655 0x1d7aa, 0x1d7c2, 606 656 0x1d7c4, 0x1d7cb, 657 0x1e000, 0x1e006, 658 0x1e008, 0x1e018, 659 0x1e01b, 0x1e021, 660 0x1e023, 0x1e024, 661 0x1e026, 0x1e02a, 607 662 0x1e800, 0x1e8c4, 663 0x1e900, 0x1e943, 664 0x1e947, 0x1e947, 608 665 0x1ee00, 0x1ee03, 609 666 0x1ee05, 0x1ee1f, … … 645 702 0x2a700, 0x2b734, 646 703 0x2b740, 0x2b81d, 704 0x2b820, 0x2cea1, 705 0x2ceb0, 0x2ebe0, 647 706 0x2f800, 0x2fa1d, 648 707 }; /* CR_Alpha */ … … 670 729 /* 'Digit': [[:Digit:]] */ 671 730 static const OnigCodePoint CR_Digit[] = { 672 5 0,731 55, 673 732 0x0030, 0x0039, 674 733 0x0660, 0x0669, … … 714 773 0x111d0, 0x111d9, 715 774 0x112f0, 0x112f9, 775 0x11450, 0x11459, 716 776 0x114d0, 0x114d9, 717 777 0x11650, 0x11659, 718 778 0x116c0, 0x116c9, 779 0x11730, 0x11739, 719 780 0x118e0, 0x118e9, 781 0x11c50, 0x11c59, 782 0x11d50, 0x11d59, 720 783 0x16a60, 0x16a69, 721 784 0x16b50, 0x16b59, 722 785 0x1d7ce, 0x1d7ff, 786 0x1e950, 0x1e959, 723 787 }; /* CR_Digit */ 724 788 725 789 /* 'Graph': [[:Graph:]] */ 726 790 static const OnigCodePoint CR_Graph[] = { 727 6 05,791 654, 728 792 0x0021, 0x007e, 729 793 0x00a1, 0x0377, … … 750 814 0x0840, 0x085b, 751 815 0x085e, 0x085e, 752 0x08a0, 0x08b2, 753 0x08e4, 0x0983, 816 0x0860, 0x086a, 817 0x08a0, 0x08b4, 818 0x08b6, 0x08bd, 819 0x08d4, 0x0983, 754 820 0x0985, 0x098c, 755 821 0x098f, 0x0990, … … 764 830 0x09dc, 0x09dd, 765 831 0x09df, 0x09e3, 766 0x09e6, 0x09f b,832 0x09e6, 0x09fd, 767 833 0x0a01, 0x0a03, 768 834 0x0a05, 0x0a0a, … … 794 860 0x0ae0, 0x0ae3, 795 861 0x0ae6, 0x0af1, 862 0x0af9, 0x0aff, 796 863 0x0b01, 0x0b03, 797 864 0x0b05, 0x0b0c, … … 833 900 0x0c4a, 0x0c4d, 834 901 0x0c55, 0x0c56, 835 0x0c58, 0x0c5 9,902 0x0c58, 0x0c5a, 836 903 0x0c60, 0x0c63, 837 904 0x0c66, 0x0c6f, 838 0x0c78, 0x0c7f, 839 0x0c81, 0x0c83, 905 0x0c78, 0x0c83, 840 906 0x0c85, 0x0c8c, 841 907 0x0c8e, 0x0c90, … … 851 917 0x0ce6, 0x0cef, 852 918 0x0cf1, 0x0cf2, 853 0x0d0 1, 0x0d03,919 0x0d00, 0x0d03, 854 920 0x0d05, 0x0d0c, 855 921 0x0d0e, 0x0d10, 856 0x0d12, 0x0d3a, 857 0x0d3d, 0x0d44, 922 0x0d12, 0x0d44, 858 923 0x0d46, 0x0d48, 859 0x0d4a, 0x0d4e, 860 0x0d57, 0x0d57, 861 0x0d60, 0x0d63, 862 0x0d66, 0x0d75, 863 0x0d79, 0x0d7f, 924 0x0d4a, 0x0d4f, 925 0x0d54, 0x0d63, 926 0x0d66, 0x0d7f, 864 927 0x0d82, 0x0d83, 865 928 0x0d85, 0x0d96, … … 921 984 0x135d, 0x137c, 922 985 0x1380, 0x1399, 923 0x13a0, 0x13f4, 986 0x13a0, 0x13f5, 987 0x13f8, 0x13fd, 924 988 0x1400, 0x167f, 925 989 0x1681, 0x169c, … … 961 1025 0x1bfc, 0x1c37, 962 1026 0x1c3b, 0x1c49, 963 0x1c4d, 0x1c 7f,1027 0x1c4d, 0x1c88, 964 1028 0x1cc0, 0x1cc7, 965 0x1cd0, 0x1cf6, 966 0x1cf8, 0x1cf9, 967 0x1d00, 0x1df5, 968 0x1dfc, 0x1f15, 1029 0x1cd0, 0x1cf9, 1030 0x1d00, 0x1df9, 1031 0x1dfb, 0x1f15, 969 1032 0x1f18, 0x1f1d, 970 1033 0x1f20, 0x1f45, … … 989 1052 0x2074, 0x208e, 990 1053 0x2090, 0x209c, 991 0x20a0, 0x20b d,1054 0x20a0, 0x20bf, 992 1055 0x20d0, 0x20f0, 993 0x2100, 0x2189, 994 0x2190, 0x23fa, 995 0x2400, 0x2426, 1056 0x2100, 0x218b, 1057 0x2190, 0x2426, 996 1058 0x2440, 0x244a, 997 1059 0x2460, 0x2b73, … … 999 1061 0x2b98, 0x2bb9, 1000 1062 0x2bbd, 0x2bc8, 1001 0x2bca, 0x2bd1, 1063 0x2bca, 0x2bd2, 1064 0x2bec, 0x2bef, 1002 1065 0x2c00, 0x2c2e, 1003 1066 0x2c30, 0x2c5e, … … 1017 1080 0x2dd0, 0x2dd6, 1018 1081 0x2dd8, 0x2dde, 1019 0x2de0, 0x2e4 2,1082 0x2de0, 0x2e49, 1020 1083 0x2e80, 0x2e99, 1021 1084 0x2e9b, 0x2ef3, … … 1025 1088 0x3041, 0x3096, 1026 1089 0x3099, 0x30ff, 1027 0x3105, 0x312 d,1090 0x3105, 0x312e, 1028 1091 0x3131, 0x318e, 1029 1092 0x3190, 0x31ba, … … 1032 1095 0x3220, 0x32fe, 1033 1096 0x3300, 0x4db5, 1034 0x4dc0, 0x9f cc,1097 0x4dc0, 0x9fea, 1035 1098 0xa000, 0xa48c, 1036 1099 0xa490, 0xa4c6, 1037 1100 0xa4d0, 0xa62b, 1038 0xa640, 0xa69d, 1039 0xa69f, 0xa6f7, 1040 0xa700, 0xa78e, 1041 0xa790, 0xa7ad, 1042 0xa7b0, 0xa7b1, 1101 0xa640, 0xa6f7, 1102 0xa700, 0xa7ae, 1103 0xa7b0, 0xa7b7, 1043 1104 0xa7f7, 0xa82b, 1044 1105 0xa830, 0xa839, 1045 1106 0xa840, 0xa877, 1046 0xa880, 0xa8c 4,1107 0xa880, 0xa8c5, 1047 1108 0xa8ce, 0xa8d9, 1048 0xa8e0, 0xa8f b,1109 0xa8e0, 0xa8fd, 1049 1110 0xa900, 0xa953, 1050 1111 0xa95f, 0xa97c, … … 1062 1123 0xab20, 0xab26, 1063 1124 0xab28, 0xab2e, 1064 0xab30, 0xab5f, 1065 0xab64, 0xab65, 1066 0xabc0, 0xabed, 1125 0xab30, 0xab65, 1126 0xab70, 0xabed, 1067 1127 0xabf0, 0xabf9, 1068 1128 0xac00, 0xd7a3, … … 1084 1144 0xfdf0, 0xfdfd, 1085 1145 0xfe00, 0xfe19, 1086 0xfe20, 0xfe2d, 1087 0xfe30, 0xfe52, 1146 0xfe20, 0xfe52, 1088 1147 0xfe54, 0xfe66, 1089 1148 0xfe68, 0xfe6b, … … 1108 1167 0x10100, 0x10102, 1109 1168 0x10107, 0x10133, 1110 0x10137, 0x1018 c,1169 0x10137, 0x1018e, 1111 1170 0x10190, 0x1019b, 1112 1171 0x101a0, 0x101a0, … … 1116 1175 0x102e0, 0x102fb, 1117 1176 0x10300, 0x10323, 1118 0x103 30, 0x1034a,1177 0x1032d, 0x1034a, 1119 1178 0x10350, 0x1037a, 1120 1179 0x10380, 0x1039d, … … 1123 1182 0x10400, 0x1049d, 1124 1183 0x104a0, 0x104a9, 1184 0x104b0, 0x104d3, 1185 0x104d8, 0x104fb, 1125 1186 0x10500, 0x10527, 1126 1187 0x10530, 0x10563, … … 1137 1198 0x10857, 0x1089e, 1138 1199 0x108a7, 0x108af, 1139 0x10900, 0x1091b, 1200 0x108e0, 0x108f2, 1201 0x108f4, 0x108f5, 1202 0x108fb, 0x1091b, 1140 1203 0x1091f, 0x10939, 1141 1204 0x1093f, 0x1093f, 1142 1205 0x10980, 0x109b7, 1143 0x109b e, 0x109bf,1144 0x10 a00, 0x10a03,1206 0x109bc, 0x109cf, 1207 0x109d2, 0x10a03, 1145 1208 0x10a05, 0x10a06, 1146 1209 0x10a0c, 0x10a13, … … 1160 1223 0x10ba9, 0x10baf, 1161 1224 0x10c00, 0x10c48, 1225 0x10c80, 0x10cb2, 1226 0x10cc0, 0x10cf2, 1227 0x10cfa, 0x10cff, 1162 1228 0x10e60, 0x10e7e, 1163 1229 0x11000, 0x1104d, … … 1169 1235 0x11136, 0x11143, 1170 1236 0x11150, 0x11176, 1171 0x11180, 0x111c8, 1172 0x111cd, 0x111cd, 1173 0x111d0, 0x111da, 1237 0x11180, 0x111cd, 1238 0x111d0, 0x111df, 1174 1239 0x111e1, 0x111f4, 1175 1240 0x11200, 0x11211, 1176 0x11213, 0x1123d, 1241 0x11213, 0x1123e, 1242 0x11280, 0x11286, 1243 0x11288, 0x11288, 1244 0x1128a, 0x1128d, 1245 0x1128f, 0x1129d, 1246 0x1129f, 0x112a9, 1177 1247 0x112b0, 0x112ea, 1178 1248 0x112f0, 0x112f9, 1179 0x1130 1, 0x11303,1249 0x11300, 0x11303, 1180 1250 0x11305, 0x1130c, 1181 1251 0x1130f, 0x11310, … … 1187 1257 0x11347, 0x11348, 1188 1258 0x1134b, 0x1134d, 1259 0x11350, 0x11350, 1189 1260 0x11357, 0x11357, 1190 1261 0x1135d, 0x11363, 1191 1262 0x11366, 0x1136c, 1192 1263 0x11370, 0x11374, 1264 0x11400, 0x11459, 1265 0x1145b, 0x1145b, 1266 0x1145d, 0x1145d, 1193 1267 0x11480, 0x114c7, 1194 1268 0x114d0, 0x114d9, 1195 1269 0x11580, 0x115b5, 1196 0x115b8, 0x115 c9,1270 0x115b8, 0x115dd, 1197 1271 0x11600, 0x11644, 1198 1272 0x11650, 0x11659, 1273 0x11660, 0x1166c, 1199 1274 0x11680, 0x116b7, 1200 1275 0x116c0, 0x116c9, 1276 0x11700, 0x11719, 1277 0x1171d, 0x1172b, 1278 0x11730, 0x1173f, 1201 1279 0x118a0, 0x118f2, 1202 1280 0x118ff, 0x118ff, 1281 0x11a00, 0x11a47, 1282 0x11a50, 0x11a83, 1283 0x11a86, 0x11a9c, 1284 0x11a9e, 0x11aa2, 1203 1285 0x11ac0, 0x11af8, 1204 0x12000, 0x12398, 1286 0x11c00, 0x11c08, 1287 0x11c0a, 0x11c36, 1288 0x11c38, 0x11c45, 1289 0x11c50, 0x11c6c, 1290 0x11c70, 0x11c8f, 1291 0x11c92, 0x11ca7, 1292 0x11ca9, 0x11cb6, 1293 0x11d00, 0x11d06, 1294 0x11d08, 0x11d09, 1295 0x11d0b, 0x11d36, 1296 0x11d3a, 0x11d3a, 1297 0x11d3c, 0x11d3d, 1298 0x11d3f, 0x11d47, 1299 0x11d50, 0x11d59, 1300 0x12000, 0x12399, 1205 1301 0x12400, 0x1246e, 1206 1302 0x12470, 0x12474, 1303 0x12480, 0x12543, 1207 1304 0x13000, 0x1342e, 1305 0x14400, 0x14646, 1208 1306 0x16800, 0x16a38, 1209 1307 0x16a40, 0x16a5e, … … 1220 1318 0x16f50, 0x16f7e, 1221 1319 0x16f8f, 0x16f9f, 1222 0x1b000, 0x1b001, 1320 0x16fe0, 0x16fe1, 1321 0x17000, 0x187ec, 1322 0x18800, 0x18af2, 1323 0x1b000, 0x1b11e, 1324 0x1b170, 0x1b2fb, 1223 1325 0x1bc00, 0x1bc6a, 1224 1326 0x1bc70, 0x1bc7c, … … 1228 1330 0x1d000, 0x1d0f5, 1229 1331 0x1d100, 0x1d126, 1230 0x1d129, 0x1d1 dd,1332 0x1d129, 0x1d1e8, 1231 1333 0x1d200, 0x1d245, 1232 1334 0x1d300, 0x1d356, … … 1252 1354 0x1d552, 0x1d6a5, 1253 1355 0x1d6a8, 0x1d7cb, 1254 0x1d7ce, 0x1d7ff, 1356 0x1d7ce, 0x1da8b, 1357 0x1da9b, 0x1da9f, 1358 0x1daa1, 0x1daaf, 1359 0x1e000, 0x1e006, 1360 0x1e008, 0x1e018, 1361 0x1e01b, 0x1e021, 1362 0x1e023, 0x1e024, 1363 0x1e026, 0x1e02a, 1255 1364 0x1e800, 0x1e8c4, 1256 1365 0x1e8c7, 0x1e8d6, 1366 0x1e900, 0x1e94a, 1367 0x1e950, 0x1e959, 1368 0x1e95e, 0x1e95f, 1257 1369 0x1ee00, 0x1ee03, 1258 1370 0x1ee05, 0x1ee1f, … … 1298 1410 0x1f110, 0x1f12e, 1299 1411 0x1f130, 0x1f16b, 1300 0x1f170, 0x1f1 9a,1412 0x1f170, 0x1f1ac, 1301 1413 0x1f1e6, 0x1f202, 1302 0x1f210, 0x1f23 a,1414 0x1f210, 0x1f23b, 1303 1415 0x1f240, 0x1f248, 1304 1416 0x1f250, 0x1f251, 1305 0x1f300, 0x1f32c, 1306 0x1f330, 0x1f37d, 1307 0x1f380, 0x1f3ce, 1308 0x1f3d4, 0x1f3f7, 1309 0x1f400, 0x1f4fe, 1310 0x1f500, 0x1f54a, 1311 0x1f550, 0x1f579, 1312 0x1f57b, 0x1f5a3, 1313 0x1f5a5, 0x1f642, 1314 0x1f645, 0x1f6cf, 1417 0x1f260, 0x1f265, 1418 0x1f300, 0x1f6d4, 1315 1419 0x1f6e0, 0x1f6ec, 1316 0x1f6f0, 0x1f6f 3,1420 0x1f6f0, 0x1f6f8, 1317 1421 0x1f700, 0x1f773, 1318 1422 0x1f780, 0x1f7d4, … … 1322 1426 0x1f860, 0x1f887, 1323 1427 0x1f890, 0x1f8ad, 1428 0x1f900, 0x1f90b, 1429 0x1f910, 0x1f93e, 1430 0x1f940, 0x1f94c, 1431 0x1f950, 0x1f96b, 1432 0x1f980, 0x1f997, 1433 0x1f9c0, 0x1f9c0, 1434 0x1f9d0, 0x1f9e6, 1324 1435 0x20000, 0x2a6d6, 1325 1436 0x2a700, 0x2b734, 1326 1437 0x2b740, 0x2b81d, 1438 0x2b820, 0x2cea1, 1439 0x2ceb0, 0x2ebe0, 1327 1440 0x2f800, 0x2fa1d, 1328 1441 0xe0001, 0xe0001, … … 1335 1448 /* 'Lower': [[:Lower:]] */ 1336 1449 static const OnigCodePoint CR_Lower[] = { 1337 6 33,1450 640, 1338 1451 0x0061, 0x007a, 1339 1452 0x00aa, 0x00aa, … … 1611 1724 0x052f, 0x052f, 1612 1725 0x0561, 0x0587, 1726 0x13f8, 0x13fd, 1727 0x1c80, 0x1c88, 1613 1728 0x1d00, 0x1dbf, 1614 1729 0x1e01, 0x1e01, … … 1932 2047 0xa7a7, 0xa7a7, 1933 2048 0xa7a9, 0xa7a9, 2049 0xa7b5, 0xa7b5, 2050 0xa7b7, 0xa7b7, 1934 2051 0xa7f8, 0xa7fa, 1935 2052 0xab30, 0xab5a, 1936 0xab5c, 0xab 5f,1937 0xab 64, 0xab65,2053 0xab5c, 0xab65, 2054 0xab70, 0xabbf, 1938 2055 0xfb00, 0xfb06, 1939 2056 0xfb13, 0xfb17, 1940 2057 0xff41, 0xff5a, 1941 2058 0x10428, 0x1044f, 2059 0x104d8, 0x104fb, 2060 0x10cc0, 0x10cf2, 1942 2061 0x118c0, 0x118df, 1943 2062 0x1d41a, 0x1d433, … … 1969 2088 0x1d7c4, 0x1d7c9, 1970 2089 0x1d7cb, 0x1d7cb, 2090 0x1e922, 0x1e943, 1971 2091 }; /* CR_Lower */ 1972 2092 1973 2093 /* 'Print': [[:Print:]] */ 1974 2094 static const OnigCodePoint CR_Print[] = { 1975 6 02,2095 651, 1976 2096 0x0020, 0x007e, 1977 2097 0x00a0, 0x0377, … … 1998 2118 0x0840, 0x085b, 1999 2119 0x085e, 0x085e, 2000 0x08a0, 0x08b2, 2001 0x08e4, 0x0983, 2120 0x0860, 0x086a, 2121 0x08a0, 0x08b4, 2122 0x08b6, 0x08bd, 2123 0x08d4, 0x0983, 2002 2124 0x0985, 0x098c, 2003 2125 0x098f, 0x0990, … … 2012 2134 0x09dc, 0x09dd, 2013 2135 0x09df, 0x09e3, 2014 0x09e6, 0x09f b,2136 0x09e6, 0x09fd, 2015 2137 0x0a01, 0x0a03, 2016 2138 0x0a05, 0x0a0a, … … 2042 2164 0x0ae0, 0x0ae3, 2043 2165 0x0ae6, 0x0af1, 2166 0x0af9, 0x0aff, 2044 2167 0x0b01, 0x0b03, 2045 2168 0x0b05, 0x0b0c, … … 2081 2204 0x0c4a, 0x0c4d, 2082 2205 0x0c55, 0x0c56, 2083 0x0c58, 0x0c5 9,2206 0x0c58, 0x0c5a, 2084 2207 0x0c60, 0x0c63, 2085 2208 0x0c66, 0x0c6f, 2086 0x0c78, 0x0c7f, 2087 0x0c81, 0x0c83, 2209 0x0c78, 0x0c83, 2088 2210 0x0c85, 0x0c8c, 2089 2211 0x0c8e, 0x0c90, … … 2099 2221 0x0ce6, 0x0cef, 2100 2222 0x0cf1, 0x0cf2, 2101 0x0d0 1, 0x0d03,2223 0x0d00, 0x0d03, 2102 2224 0x0d05, 0x0d0c, 2103 2225 0x0d0e, 0x0d10, 2104 0x0d12, 0x0d3a, 2105 0x0d3d, 0x0d44, 2226 0x0d12, 0x0d44, 2106 2227 0x0d46, 0x0d48, 2107 0x0d4a, 0x0d4e, 2108 0x0d57, 0x0d57, 2109 0x0d60, 0x0d63, 2110 0x0d66, 0x0d75, 2111 0x0d79, 0x0d7f, 2228 0x0d4a, 0x0d4f, 2229 0x0d54, 0x0d63, 2230 0x0d66, 0x0d7f, 2112 2231 0x0d82, 0x0d83, 2113 2232 0x0d85, 0x0d96, … … 2169 2288 0x135d, 0x137c, 2170 2289 0x1380, 0x1399, 2171 0x13a0, 0x13f4, 2290 0x13a0, 0x13f5, 2291 0x13f8, 0x13fd, 2172 2292 0x1400, 0x169c, 2173 2293 0x16a0, 0x16f8, … … 2208 2328 0x1bfc, 0x1c37, 2209 2329 0x1c3b, 0x1c49, 2210 0x1c4d, 0x1c 7f,2330 0x1c4d, 0x1c88, 2211 2331 0x1cc0, 0x1cc7, 2212 0x1cd0, 0x1cf6, 2213 0x1cf8, 0x1cf9, 2214 0x1d00, 0x1df5, 2215 0x1dfc, 0x1f15, 2332 0x1cd0, 0x1cf9, 2333 0x1d00, 0x1df9, 2334 0x1dfb, 0x1f15, 2216 2335 0x1f18, 0x1f1d, 2217 2336 0x1f20, 0x1f45, … … 2234 2353 0x2074, 0x208e, 2235 2354 0x2090, 0x209c, 2236 0x20a0, 0x20b d,2355 0x20a0, 0x20bf, 2237 2356 0x20d0, 0x20f0, 2238 0x2100, 0x2189, 2239 0x2190, 0x23fa, 2240 0x2400, 0x2426, 2357 0x2100, 0x218b, 2358 0x2190, 0x2426, 2241 2359 0x2440, 0x244a, 2242 2360 0x2460, 0x2b73, … … 2244 2362 0x2b98, 0x2bb9, 2245 2363 0x2bbd, 0x2bc8, 2246 0x2bca, 0x2bd1, 2364 0x2bca, 0x2bd2, 2365 0x2bec, 0x2bef, 2247 2366 0x2c00, 0x2c2e, 2248 2367 0x2c30, 0x2c5e, … … 2262 2381 0x2dd0, 0x2dd6, 2263 2382 0x2dd8, 0x2dde, 2264 0x2de0, 0x2e4 2,2383 0x2de0, 0x2e49, 2265 2384 0x2e80, 0x2e99, 2266 2385 0x2e9b, 0x2ef3, … … 2270 2389 0x3041, 0x3096, 2271 2390 0x3099, 0x30ff, 2272 0x3105, 0x312 d,2391 0x3105, 0x312e, 2273 2392 0x3131, 0x318e, 2274 2393 0x3190, 0x31ba, … … 2277 2396 0x3220, 0x32fe, 2278 2397 0x3300, 0x4db5, 2279 0x4dc0, 0x9f cc,2398 0x4dc0, 0x9fea, 2280 2399 0xa000, 0xa48c, 2281 2400 0xa490, 0xa4c6, 2282 2401 0xa4d0, 0xa62b, 2283 0xa640, 0xa69d, 2284 0xa69f, 0xa6f7, 2285 0xa700, 0xa78e, 2286 0xa790, 0xa7ad, 2287 0xa7b0, 0xa7b1, 2402 0xa640, 0xa6f7, 2403 0xa700, 0xa7ae, 2404 0xa7b0, 0xa7b7, 2288 2405 0xa7f7, 0xa82b, 2289 2406 0xa830, 0xa839, 2290 2407 0xa840, 0xa877, 2291 0xa880, 0xa8c 4,2408 0xa880, 0xa8c5, 2292 2409 0xa8ce, 0xa8d9, 2293 0xa8e0, 0xa8f b,2410 0xa8e0, 0xa8fd, 2294 2411 0xa900, 0xa953, 2295 2412 0xa95f, 0xa97c, … … 2307 2424 0xab20, 0xab26, 2308 2425 0xab28, 0xab2e, 2309 0xab30, 0xab5f, 2310 0xab64, 0xab65, 2311 0xabc0, 0xabed, 2426 0xab30, 0xab65, 2427 0xab70, 0xabed, 2312 2428 0xabf0, 0xabf9, 2313 2429 0xac00, 0xd7a3, … … 2329 2445 0xfdf0, 0xfdfd, 2330 2446 0xfe00, 0xfe19, 2331 0xfe20, 0xfe2d, 2332 0xfe30, 0xfe52, 2447 0xfe20, 0xfe52, 2333 2448 0xfe54, 0xfe66, 2334 2449 0xfe68, 0xfe6b, … … 2353 2468 0x10100, 0x10102, 2354 2469 0x10107, 0x10133, 2355 0x10137, 0x1018 c,2470 0x10137, 0x1018e, 2356 2471 0x10190, 0x1019b, 2357 2472 0x101a0, 0x101a0, … … 2361 2476 0x102e0, 0x102fb, 2362 2477 0x10300, 0x10323, 2363 0x103 30, 0x1034a,2478 0x1032d, 0x1034a, 2364 2479 0x10350, 0x1037a, 2365 2480 0x10380, 0x1039d, … … 2368 2483 0x10400, 0x1049d, 2369 2484 0x104a0, 0x104a9, 2485 0x104b0, 0x104d3, 2486 0x104d8, 0x104fb, 2370 2487 0x10500, 0x10527, 2371 2488 0x10530, 0x10563, … … 2382 2499 0x10857, 0x1089e, 2383 2500 0x108a7, 0x108af, 2384 0x10900, 0x1091b, 2501 0x108e0, 0x108f2, 2502 0x108f4, 0x108f5, 2503 0x108fb, 0x1091b, 2385 2504 0x1091f, 0x10939, 2386 2505 0x1093f, 0x1093f, 2387 2506 0x10980, 0x109b7, 2388 0x109b e, 0x109bf,2389 0x10 a00, 0x10a03,2507 0x109bc, 0x109cf, 2508 0x109d2, 0x10a03, 2390 2509 0x10a05, 0x10a06, 2391 2510 0x10a0c, 0x10a13, … … 2405 2524 0x10ba9, 0x10baf, 2406 2525 0x10c00, 0x10c48, 2526 0x10c80, 0x10cb2, 2527 0x10cc0, 0x10cf2, 2528 0x10cfa, 0x10cff, 2407 2529 0x10e60, 0x10e7e, 2408 2530 0x11000, 0x1104d, … … 2414 2536 0x11136, 0x11143, 2415 2537 0x11150, 0x11176, 2416 0x11180, 0x111c8, 2417 0x111cd, 0x111cd, 2418 0x111d0, 0x111da, 2538 0x11180, 0x111cd, 2539 0x111d0, 0x111df, 2419 2540 0x111e1, 0x111f4, 2420 2541 0x11200, 0x11211, 2421 0x11213, 0x1123d, 2542 0x11213, 0x1123e, 2543 0x11280, 0x11286, 2544 0x11288, 0x11288, 2545 0x1128a, 0x1128d, 2546 0x1128f, 0x1129d, 2547 0x1129f, 0x112a9, 2422 2548 0x112b0, 0x112ea, 2423 2549 0x112f0, 0x112f9, 2424 0x1130 1, 0x11303,2550 0x11300, 0x11303, 2425 2551 0x11305, 0x1130c, 2426 2552 0x1130f, 0x11310, … … 2432 2558 0x11347, 0x11348, 2433 2559 0x1134b, 0x1134d, 2560 0x11350, 0x11350, 2434 2561 0x11357, 0x11357, 2435 2562 0x1135d, 0x11363, 2436 2563 0x11366, 0x1136c, 2437 2564 0x11370, 0x11374, 2565 0x11400, 0x11459, 2566 0x1145b, 0x1145b, 2567 0x1145d, 0x1145d, 2438 2568 0x11480, 0x114c7, 2439 2569 0x114d0, 0x114d9, 2440 2570 0x11580, 0x115b5, 2441 0x115b8, 0x115 c9,2571 0x115b8, 0x115dd, 2442 2572 0x11600, 0x11644, 2443 2573 0x11650, 0x11659, 2574 0x11660, 0x1166c, 2444 2575 0x11680, 0x116b7, 2445 2576 0x116c0, 0x116c9, 2577 0x11700, 0x11719, 2578 0x1171d, 0x1172b, 2579 0x11730, 0x1173f, 2446 2580 0x118a0, 0x118f2, 2447 2581 0x118ff, 0x118ff, 2582 0x11a00, 0x11a47, 2583 0x11a50, 0x11a83, 2584 0x11a86, 0x11a9c, 2585 0x11a9e, 0x11aa2, 2448 2586 0x11ac0, 0x11af8, 2449 0x12000, 0x12398, 2587 0x11c00, 0x11c08, 2588 0x11c0a, 0x11c36, 2589 0x11c38, 0x11c45, 2590 0x11c50, 0x11c6c, 2591 0x11c70, 0x11c8f, 2592 0x11c92, 0x11ca7, 2593 0x11ca9, 0x11cb6, 2594 0x11d00, 0x11d06, 2595 0x11d08, 0x11d09, 2596 0x11d0b, 0x11d36, 2597 0x11d3a, 0x11d3a, 2598 0x11d3c, 0x11d3d, 2599 0x11d3f, 0x11d47, 2600 0x11d50, 0x11d59, 2601 0x12000, 0x12399, 2450 2602 0x12400, 0x1246e, 2451 2603 0x12470, 0x12474, 2604 0x12480, 0x12543, 2452 2605 0x13000, 0x1342e, 2606 0x14400, 0x14646, 2453 2607 0x16800, 0x16a38, 2454 2608 0x16a40, 0x16a5e, … … 2465 2619 0x16f50, 0x16f7e, 2466 2620 0x16f8f, 0x16f9f, 2467 0x1b000, 0x1b001, 2621 0x16fe0, 0x16fe1, 2622 0x17000, 0x187ec, 2623 0x18800, 0x18af2, 2624 0x1b000, 0x1b11e, 2625 0x1b170, 0x1b2fb, 2468 2626 0x1bc00, 0x1bc6a, 2469 2627 0x1bc70, 0x1bc7c, … … 2473 2631 0x1d000, 0x1d0f5, 2474 2632 0x1d100, 0x1d126, 2475 0x1d129, 0x1d1 dd,2633 0x1d129, 0x1d1e8, 2476 2634 0x1d200, 0x1d245, 2477 2635 0x1d300, 0x1d356, … … 2497 2655 0x1d552, 0x1d6a5, 2498 2656 0x1d6a8, 0x1d7cb, 2499 0x1d7ce, 0x1d7ff, 2657 0x1d7ce, 0x1da8b, 2658 0x1da9b, 0x1da9f, 2659 0x1daa1, 0x1daaf, 2660 0x1e000, 0x1e006, 2661 0x1e008, 0x1e018, 2662 0x1e01b, 0x1e021, 2663 0x1e023, 0x1e024, 2664 0x1e026, 0x1e02a, 2500 2665 0x1e800, 0x1e8c4, 2501 2666 0x1e8c7, 0x1e8d6, 2667 0x1e900, 0x1e94a, 2668 0x1e950, 0x1e959, 2669 0x1e95e, 0x1e95f, 2502 2670 0x1ee00, 0x1ee03, 2503 2671 0x1ee05, 0x1ee1f, … … 2543 2711 0x1f110, 0x1f12e, 2544 2712 0x1f130, 0x1f16b, 2545 0x1f170, 0x1f1 9a,2713 0x1f170, 0x1f1ac, 2546 2714 0x1f1e6, 0x1f202, 2547 0x1f210, 0x1f23 a,2715 0x1f210, 0x1f23b, 2548 2716 0x1f240, 0x1f248, 2549 2717 0x1f250, 0x1f251, 2550 0x1f300, 0x1f32c, 2551 0x1f330, 0x1f37d, 2552 0x1f380, 0x1f3ce, 2553 0x1f3d4, 0x1f3f7, 2554 0x1f400, 0x1f4fe, 2555 0x1f500, 0x1f54a, 2556 0x1f550, 0x1f579, 2557 0x1f57b, 0x1f5a3, 2558 0x1f5a5, 0x1f642, 2559 0x1f645, 0x1f6cf, 2718 0x1f260, 0x1f265, 2719 0x1f300, 0x1f6d4, 2560 2720 0x1f6e0, 0x1f6ec, 2561 0x1f6f0, 0x1f6f 3,2721 0x1f6f0, 0x1f6f8, 2562 2722 0x1f700, 0x1f773, 2563 2723 0x1f780, 0x1f7d4, … … 2567 2727 0x1f860, 0x1f887, 2568 2728 0x1f890, 0x1f8ad, 2729 0x1f900, 0x1f90b, 2730 0x1f910, 0x1f93e, 2731 0x1f940, 0x1f94c, 2732 0x1f950, 0x1f96b, 2733 0x1f980, 0x1f997, 2734 0x1f9c0, 0x1f9c0, 2735 0x1f9d0, 0x1f9e6, 2569 2736 0x20000, 0x2a6d6, 2570 2737 0x2a700, 0x2b734, 2571 2738 0x2b740, 0x2b81d, 2739 0x2b820, 0x2cea1, 2740 0x2ceb0, 0x2ebe0, 2572 2741 0x2f800, 0x2fa1d, 2573 2742 0xe0001, 0xe0001, … … 2578 2747 }; /* CR_Print */ 2579 2748 2580 /* 'Punct': [[:Punct:]] */ 2581 static const OnigCodePoint CR_Punct[] = { 2582 155, 2583 0x0021, 0x0023, 2584 0x0025, 0x002a, 2585 0x002c, 0x002f, 2586 0x003a, 0x003b, 2587 0x003f, 0x0040, 2588 0x005b, 0x005d, 2589 0x005f, 0x005f, 2590 0x007b, 0x007b, 2591 0x007d, 0x007d, 2749 /* 'XPosixPunct': [[:Punct:]] */ 2750 static const OnigCodePoint CR_XPosixPunct[] = { 2751 167, 2752 0x0021, 0x002f, 2753 0x003a, 0x0040, 2754 0x005b, 0x0060, 2755 0x007b, 0x007e, 2592 2756 0x00a1, 0x00a1, 2593 2757 0x00a7, 0x00a7, … … 2617 2781 0x0964, 0x0965, 2618 2782 0x0970, 0x0970, 2783 0x09fd, 0x09fd, 2619 2784 0x0af0, 0x0af0, 2620 2785 0x0df4, 0x0df4, … … 2666 2831 0x2d70, 0x2d70, 2667 2832 0x2e00, 0x2e2e, 2668 0x2e30, 0x2e4 2,2833 0x2e30, 0x2e49, 2669 2834 0x3001, 0x3003, 2670 2835 0x3008, 0x3011, … … 2682 2847 0xa8ce, 0xa8cf, 2683 2848 0xa8f8, 0xa8fa, 2849 0xa8fc, 0xa8fc, 2684 2850 0xa92e, 0xa92f, 2685 2851 0xa95f, 0xa95f, … … 2724 2890 0x11140, 0x11143, 2725 2891 0x11174, 0x11175, 2726 0x111c5, 0x111c 8,2892 0x111c5, 0x111c9, 2727 2893 0x111cd, 0x111cd, 2894 0x111db, 0x111db, 2895 0x111dd, 0x111df, 2728 2896 0x11238, 0x1123d, 2897 0x112a9, 0x112a9, 2898 0x1144b, 0x1144f, 2899 0x1145b, 0x1145b, 2900 0x1145d, 0x1145d, 2729 2901 0x114c6, 0x114c6, 2730 0x115c1, 0x115 c9,2902 0x115c1, 0x115d7, 2731 2903 0x11641, 0x11643, 2904 0x11660, 0x1166c, 2905 0x1173c, 0x1173e, 2906 0x11a3f, 0x11a46, 2907 0x11a9a, 0x11a9c, 2908 0x11a9e, 0x11aa2, 2909 0x11c41, 0x11c45, 2910 0x11c70, 0x11c71, 2732 2911 0x12470, 0x12474, 2733 2912 0x16a6e, 0x16a6f, … … 2736 2915 0x16b44, 0x16b44, 2737 2916 0x1bc9f, 0x1bc9f, 2738 }; /* CR_Punct */ 2917 0x1da87, 0x1da8b, 2918 0x1e95e, 0x1e95f, 2919 }; /* CR_XPosixPunct */ 2739 2920 2740 2921 /* 'Space': [[:Space:]] */ … … 2755 2936 /* 'Upper': [[:Upper:]] */ 2756 2937 static const OnigCodePoint CR_Upper[] = { 2757 6 27,2938 632, 2758 2939 0x0041, 0x005a, 2759 2940 0x00c0, 0x00d6, … … 3031 3212 0x10c7, 0x10c7, 3032 3213 0x10cd, 0x10cd, 3214 0x13a0, 0x13f5, 3033 3215 0x1e00, 0x1e00, 3034 3216 0x1e02, 0x1e02, … … 3344 3526 0xa7a6, 0xa7a6, 3345 3527 0xa7a8, 0xa7a8, 3346 0xa7aa, 0xa7ad, 3347 0xa7b0, 0xa7b1, 3528 0xa7aa, 0xa7ae, 3529 0xa7b0, 0xa7b4, 3530 0xa7b6, 0xa7b6, 3348 3531 0xff21, 0xff3a, 3349 3532 0x10400, 0x10427, 3533 0x104b0, 0x104d3, 3534 0x10c80, 0x10cb2, 3350 3535 0x118a0, 0x118bf, 3351 3536 0x1d400, 0x1d419, … … 3380 3565 0x1d790, 0x1d7a8, 3381 3566 0x1d7ca, 0x1d7ca, 3567 0x1e900, 0x1e921, 3382 3568 0x1f130, 0x1f149, 3383 3569 0x1f150, 0x1f169, … … 3395 3581 /* 'Word': [[:Word:]] */ 3396 3582 static const OnigCodePoint CR_Word[] = { 3397 6 29,3583 692, 3398 3584 0x0030, 0x0039, 3399 3585 0x0041, 0x005a, … … 3444 3630 0x0800, 0x082d, 3445 3631 0x0840, 0x085b, 3446 0x08a0, 0x08b2, 3447 0x08e4, 0x0963, 3632 0x0860, 0x086a, 3633 0x08a0, 0x08b4, 3634 0x08b6, 0x08bd, 3635 0x08d4, 0x08e1, 3636 0x08e3, 0x0963, 3448 3637 0x0966, 0x096f, 3449 3638 0x0971, 0x0983, … … 3461 3650 0x09df, 0x09e3, 3462 3651 0x09e6, 0x09f1, 3652 0x09fc, 0x09fc, 3463 3653 0x0a01, 0x0a03, 3464 3654 0x0a05, 0x0a0a, … … 3490 3680 0x0ae0, 0x0ae3, 3491 3681 0x0ae6, 0x0aef, 3682 0x0af9, 0x0aff, 3492 3683 0x0b01, 0x0b03, 3493 3684 0x0b05, 0x0b0c, … … 3530 3721 0x0c4a, 0x0c4d, 3531 3722 0x0c55, 0x0c56, 3532 0x0c58, 0x0c5 9,3723 0x0c58, 0x0c5a, 3533 3724 0x0c60, 0x0c63, 3534 3725 0x0c66, 0x0c6f, 3535 0x0c8 1, 0x0c83,3726 0x0c80, 0x0c83, 3536 3727 0x0c85, 0x0c8c, 3537 3728 0x0c8e, 0x0c90, … … 3547 3738 0x0ce6, 0x0cef, 3548 3739 0x0cf1, 0x0cf2, 3549 0x0d0 1, 0x0d03,3740 0x0d00, 0x0d03, 3550 3741 0x0d05, 0x0d0c, 3551 3742 0x0d0e, 0x0d10, 3552 0x0d12, 0x0d3a, 3553 0x0d3d, 0x0d44, 3743 0x0d12, 0x0d44, 3554 3744 0x0d46, 0x0d48, 3555 3745 0x0d4a, 0x0d4e, 3556 0x0d5 7, 0x0d57,3557 0x0d 60, 0x0d63,3746 0x0d54, 0x0d57, 3747 0x0d5f, 0x0d63, 3558 3748 0x0d66, 0x0d6f, 3559 3749 0x0d7a, 0x0d7f, … … 3627 3817 0x135d, 0x135f, 3628 3818 0x1380, 0x138f, 3629 0x13a0, 0x13f4, 3819 0x13a0, 0x13f5, 3820 0x13f8, 0x13fd, 3630 3821 0x1401, 0x166c, 3631 3822 0x166f, 0x167f, … … 3671 3862 0x1c40, 0x1c49, 3672 3863 0x1c4d, 0x1c7d, 3864 0x1c80, 0x1c88, 3673 3865 0x1cd0, 0x1cd2, 3674 0x1cd4, 0x1cf6, 3675 0x1cf8, 0x1cf9, 3676 0x1d00, 0x1df5, 3677 0x1dfc, 0x1f15, 3866 0x1cd4, 0x1cf9, 3867 0x1d00, 0x1df9, 3868 0x1dfb, 0x1f15, 3678 3869 0x1f18, 0x1f1d, 3679 3870 0x1f20, 0x1f45, … … 3744 3935 0x30a1, 0x30fa, 3745 3936 0x30fc, 0x30ff, 3746 0x3105, 0x312 d,3937 0x3105, 0x312e, 3747 3938 0x3131, 0x318e, 3748 3939 0x31a0, 0x31ba, 3749 3940 0x31f0, 0x31ff, 3750 3941 0x3400, 0x4db5, 3751 0x4e00, 0x9f cc,3942 0x4e00, 0x9fea, 3752 3943 0xa000, 0xa48c, 3753 3944 0xa4d0, 0xa4fd, … … 3756 3947 0xa640, 0xa672, 3757 3948 0xa674, 0xa67d, 3758 0xa67f, 0xa69d, 3759 0xa69f, 0xa6f1, 3949 0xa67f, 0xa6f1, 3760 3950 0xa717, 0xa71f, 3761 3951 0xa722, 0xa788, 3762 0xa78b, 0xa78e, 3763 0xa790, 0xa7ad, 3764 0xa7b0, 0xa7b1, 3952 0xa78b, 0xa7ae, 3953 0xa7b0, 0xa7b7, 3765 3954 0xa7f7, 0xa827, 3766 3955 0xa840, 0xa873, 3767 0xa880, 0xa8c 4,3956 0xa880, 0xa8c5, 3768 3957 0xa8d0, 0xa8d9, 3769 3958 0xa8e0, 0xa8f7, 3770 3959 0xa8fb, 0xa8fb, 3960 0xa8fd, 0xa8fd, 3771 3961 0xa900, 0xa92d, 3772 3962 0xa930, 0xa953, … … 3789 3979 0xab28, 0xab2e, 3790 3980 0xab30, 0xab5a, 3791 0xab5c, 0xab5f, 3792 0xab64, 0xab65, 3793 0xabc0, 0xabea, 3981 0xab5c, 0xab65, 3982 0xab70, 0xabea, 3794 3983 0xabec, 0xabed, 3795 3984 0xabf0, 0xabf9, … … 3813 4002 0xfdf0, 0xfdfb, 3814 4003 0xfe00, 0xfe0f, 3815 0xfe20, 0xfe2 d,4004 0xfe20, 0xfe2f, 3816 4005 0xfe33, 0xfe34, 3817 4006 0xfe4d, 0xfe4f, … … 3840 4029 0x102e0, 0x102e0, 3841 4030 0x10300, 0x1031f, 3842 0x103 30, 0x1034a,4031 0x1032d, 0x1034a, 3843 4032 0x10350, 0x1037a, 3844 4033 0x10380, 0x1039d, … … 3848 4037 0x10400, 0x1049d, 3849 4038 0x104a0, 0x104a9, 4039 0x104b0, 0x104d3, 4040 0x104d8, 0x104fb, 3850 4041 0x10500, 0x10527, 3851 4042 0x10530, 0x10563, … … 3861 4052 0x10860, 0x10876, 3862 4053 0x10880, 0x1089e, 4054 0x108e0, 0x108f2, 4055 0x108f4, 0x108f5, 3863 4056 0x10900, 0x10915, 3864 4057 0x10920, 0x10939, … … 3881 4074 0x10b80, 0x10b91, 3882 4075 0x10c00, 0x10c48, 4076 0x10c80, 0x10cb2, 4077 0x10cc0, 0x10cf2, 3883 4078 0x11000, 0x11046, 3884 4079 0x11066, 0x1106f, … … 3891 4086 0x11176, 0x11176, 3892 4087 0x11180, 0x111c4, 4088 0x111ca, 0x111cc, 3893 4089 0x111d0, 0x111da, 4090 0x111dc, 0x111dc, 3894 4091 0x11200, 0x11211, 3895 4092 0x11213, 0x11237, 4093 0x1123e, 0x1123e, 4094 0x11280, 0x11286, 4095 0x11288, 0x11288, 4096 0x1128a, 0x1128d, 4097 0x1128f, 0x1129d, 4098 0x1129f, 0x112a8, 3896 4099 0x112b0, 0x112ea, 3897 4100 0x112f0, 0x112f9, 3898 0x1130 1, 0x11303,4101 0x11300, 0x11303, 3899 4102 0x11305, 0x1130c, 3900 4103 0x1130f, 0x11310, … … 3906 4109 0x11347, 0x11348, 3907 4110 0x1134b, 0x1134d, 4111 0x11350, 0x11350, 3908 4112 0x11357, 0x11357, 3909 4113 0x1135d, 0x11363, 3910 4114 0x11366, 0x1136c, 3911 4115 0x11370, 0x11374, 4116 0x11400, 0x1144a, 4117 0x11450, 0x11459, 3912 4118 0x11480, 0x114c5, 3913 4119 0x114c7, 0x114c7, … … 3915 4121 0x11580, 0x115b5, 3916 4122 0x115b8, 0x115c0, 4123 0x115d8, 0x115dd, 3917 4124 0x11600, 0x11640, 3918 4125 0x11644, 0x11644, … … 3920 4127 0x11680, 0x116b7, 3921 4128 0x116c0, 0x116c9, 4129 0x11700, 0x11719, 4130 0x1171d, 0x1172b, 4131 0x11730, 0x11739, 3922 4132 0x118a0, 0x118e9, 3923 4133 0x118ff, 0x118ff, 4134 0x11a00, 0x11a3e, 4135 0x11a47, 0x11a47, 4136 0x11a50, 0x11a83, 4137 0x11a86, 0x11a99, 3924 4138 0x11ac0, 0x11af8, 3925 0x12000, 0x12398, 4139 0x11c00, 0x11c08, 4140 0x11c0a, 0x11c36, 4141 0x11c38, 0x11c40, 4142 0x11c50, 0x11c59, 4143 0x11c72, 0x11c8f, 4144 0x11c92, 0x11ca7, 4145 0x11ca9, 0x11cb6, 4146 0x11d00, 0x11d06, 4147 0x11d08, 0x11d09, 4148 0x11d0b, 0x11d36, 4149 0x11d3a, 0x11d3a, 4150 0x11d3c, 0x11d3d, 4151 0x11d3f, 0x11d47, 4152 0x11d50, 0x11d59, 4153 0x12000, 0x12399, 3926 4154 0x12400, 0x1246e, 4155 0x12480, 0x12543, 3927 4156 0x13000, 0x1342e, 4157 0x14400, 0x14646, 3928 4158 0x16800, 0x16a38, 3929 4159 0x16a40, 0x16a5e, … … 3939 4169 0x16f50, 0x16f7e, 3940 4170 0x16f8f, 0x16f9f, 3941 0x1b000, 0x1b001, 4171 0x16fe0, 0x16fe1, 4172 0x17000, 0x187ec, 4173 0x18800, 0x18af2, 4174 0x1b000, 0x1b11e, 4175 0x1b170, 0x1b2fb, 3942 4176 0x1bc00, 0x1bc6a, 3943 4177 0x1bc70, 0x1bc7c, … … 3982 4216 0x1d7c4, 0x1d7cb, 3983 4217 0x1d7ce, 0x1d7ff, 4218 0x1da00, 0x1da36, 4219 0x1da3b, 0x1da6c, 4220 0x1da75, 0x1da75, 4221 0x1da84, 0x1da84, 4222 0x1da9b, 0x1da9f, 4223 0x1daa1, 0x1daaf, 4224 0x1e000, 0x1e006, 4225 0x1e008, 0x1e018, 4226 0x1e01b, 0x1e021, 4227 0x1e023, 0x1e024, 4228 0x1e026, 0x1e02a, 3984 4229 0x1e800, 0x1e8c4, 3985 4230 0x1e8d0, 0x1e8d6, 4231 0x1e900, 0x1e94a, 4232 0x1e950, 0x1e959, 3986 4233 0x1ee00, 0x1ee03, 3987 4234 0x1ee05, 0x1ee1f, … … 4023 4270 0x2a700, 0x2b734, 4024 4271 0x2b740, 0x2b81d, 4272 0x2b820, 0x2cea1, 4273 0x2ceb0, 0x2ebe0, 4025 4274 0x2f800, 0x2fa1d, 4026 4275 0xe0100, 0xe01ef, … … 4029 4278 /* 'Alnum': [[:Alnum:]] */ 4030 4279 static const OnigCodePoint CR_Alnum[] = { 4031 6 30,4280 695, 4032 4281 0x0030, 0x0039, 4033 4282 0x0041, 0x005a, … … 4081 4330 0x081a, 0x082c, 4082 4331 0x0840, 0x0858, 4083 0x08a0, 0x08b2, 4084 0x08e4, 0x08e9, 4332 0x0860, 0x086a, 4333 0x08a0, 0x08b4, 4334 0x08b6, 0x08bd, 4335 0x08d4, 0x08df, 4336 0x08e3, 0x08e9, 4085 4337 0x08f0, 0x093b, 4086 4338 0x093d, 0x094c, … … 4103 4355 0x09df, 0x09e3, 4104 4356 0x09e6, 0x09f1, 4357 0x09fc, 0x09fc, 4105 4358 0x0a01, 0x0a03, 4106 4359 0x0a05, 0x0a0a, … … 4131 4384 0x0ae0, 0x0ae3, 4132 4385 0x0ae6, 0x0aef, 4386 0x0af9, 0x0afc, 4133 4387 0x0b01, 0x0b03, 4134 4388 0x0b05, 0x0b0c, … … 4171 4425 0x0c4a, 0x0c4c, 4172 4426 0x0c55, 0x0c56, 4173 0x0c58, 0x0c5 9,4427 0x0c58, 0x0c5a, 4174 4428 0x0c60, 0x0c63, 4175 4429 0x0c66, 0x0c6f, 4176 0x0c8 1, 0x0c83,4430 0x0c80, 0x0c83, 4177 4431 0x0c85, 0x0c8c, 4178 4432 0x0c8e, 0x0c90, … … 4188 4442 0x0ce6, 0x0cef, 4189 4443 0x0cf1, 0x0cf2, 4190 0x0d0 1, 0x0d03,4444 0x0d00, 0x0d03, 4191 4445 0x0d05, 0x0d0c, 4192 4446 0x0d0e, 0x0d10, … … 4196 4450 0x0d4a, 0x0d4c, 4197 4451 0x0d4e, 0x0d4e, 4198 0x0d5 7, 0x0d57,4199 0x0d 60, 0x0d63,4452 0x0d54, 0x0d57, 4453 0x0d5f, 0x0d63, 4200 4454 0x0d66, 0x0d6f, 4201 4455 0x0d7a, 0x0d7f, … … 4271 4525 0x135f, 0x135f, 4272 4526 0x1380, 0x138f, 4273 0x13a0, 0x13f4, 4527 0x13a0, 0x13f5, 4528 0x13f8, 0x13fd, 4274 4529 0x1401, 0x166c, 4275 4530 0x166f, 0x167f, … … 4317 4572 0x1c40, 0x1c49, 4318 4573 0x1c4d, 0x1c7d, 4574 0x1c80, 0x1c88, 4319 4575 0x1ce9, 0x1cec, 4320 4576 0x1cee, 0x1cf3, … … 4388 4644 0x30a1, 0x30fa, 4389 4645 0x30fc, 0x30ff, 4390 0x3105, 0x312 d,4646 0x3105, 0x312e, 4391 4647 0x3131, 0x318e, 4392 4648 0x31a0, 0x31ba, 4393 4649 0x31f0, 0x31ff, 4394 4650 0x3400, 0x4db5, 4395 0x4e00, 0x9f cc,4651 0x4e00, 0x9fea, 4396 4652 0xa000, 0xa48c, 4397 4653 0xa4d0, 0xa4fd, … … 4400 4656 0xa640, 0xa66e, 4401 4657 0xa674, 0xa67b, 4402 0xa67f, 0xa69d, 4403 0xa69f, 0xa6ef, 4658 0xa67f, 0xa6ef, 4404 4659 0xa717, 0xa71f, 4405 4660 0xa722, 0xa788, 4406 0xa78b, 0xa78e, 4407 0xa790, 0xa7ad, 4408 0xa7b0, 0xa7b1, 4661 0xa78b, 0xa7ae, 4662 0xa7b0, 0xa7b7, 4409 4663 0xa7f7, 0xa801, 4410 4664 0xa803, 0xa805, … … 4413 4667 0xa840, 0xa873, 4414 4668 0xa880, 0xa8c3, 4669 0xa8c5, 0xa8c5, 4415 4670 0xa8d0, 0xa8d9, 4416 4671 0xa8f2, 0xa8f7, 4417 4672 0xa8fb, 0xa8fb, 4673 0xa8fd, 0xa8fd, 4418 4674 0xa900, 0xa92a, 4419 4675 0xa930, 0xa952, … … 4441 4697 0xab28, 0xab2e, 4442 4698 0xab30, 0xab5a, 4443 0xab5c, 0xab5f, 4444 0xab64, 0xab65, 4445 0xabc0, 0xabea, 4699 0xab5c, 0xab65, 4700 0xab70, 0xabea, 4446 4701 0xabf0, 0xabf9, 4447 4702 0xac00, 0xd7a3, … … 4484 4739 0x102a0, 0x102d0, 4485 4740 0x10300, 0x1031f, 4486 0x103 30, 0x1034a,4741 0x1032d, 0x1034a, 4487 4742 0x10350, 0x1037a, 4488 4743 0x10380, 0x1039d, … … 4492 4747 0x10400, 0x1049d, 4493 4748 0x104a0, 0x104a9, 4749 0x104b0, 0x104d3, 4750 0x104d8, 0x104fb, 4494 4751 0x10500, 0x10527, 4495 4752 0x10530, 0x10563, … … 4505 4762 0x10860, 0x10876, 4506 4763 0x10880, 0x1089e, 4764 0x108e0, 0x108f2, 4765 0x108f4, 0x108f5, 4507 4766 0x10900, 0x10915, 4508 4767 0x10920, 0x10939, … … 4523 4782 0x10b80, 0x10b91, 4524 4783 0x10c00, 0x10c48, 4784 0x10c80, 0x10cb2, 4785 0x10cc0, 0x10cf2, 4525 4786 0x11000, 0x11045, 4526 4787 0x11066, 0x1106f, … … 4535 4796 0x111c1, 0x111c4, 4536 4797 0x111d0, 0x111da, 4798 0x111dc, 0x111dc, 4537 4799 0x11200, 0x11211, 4538 4800 0x11213, 0x11234, 4539 4801 0x11237, 0x11237, 4802 0x1123e, 0x1123e, 4803 0x11280, 0x11286, 4804 0x11288, 0x11288, 4805 0x1128a, 0x1128d, 4806 0x1128f, 0x1129d, 4807 0x1129f, 0x112a8, 4540 4808 0x112b0, 0x112e8, 4541 4809 0x112f0, 0x112f9, 4542 0x1130 1, 0x11303,4810 0x11300, 0x11303, 4543 4811 0x11305, 0x1130c, 4544 4812 0x1130f, 0x11310, … … 4550 4818 0x11347, 0x11348, 4551 4819 0x1134b, 0x1134c, 4820 0x11350, 0x11350, 4552 4821 0x11357, 0x11357, 4553 4822 0x1135d, 0x11363, 4823 0x11400, 0x11441, 4824 0x11443, 0x11445, 4825 0x11447, 0x1144a, 4826 0x11450, 0x11459, 4554 4827 0x11480, 0x114c1, 4555 4828 0x114c4, 0x114c5, … … 4558 4831 0x11580, 0x115b5, 4559 4832 0x115b8, 0x115be, 4833 0x115d8, 0x115dd, 4560 4834 0x11600, 0x1163e, 4561 4835 0x11640, 0x11640, … … 4564 4838 0x11680, 0x116b5, 4565 4839 0x116c0, 0x116c9, 4840 0x11700, 0x11719, 4841 0x1171d, 0x1172a, 4842 0x11730, 0x11739, 4566 4843 0x118a0, 0x118e9, 4567 4844 0x118ff, 0x118ff, 4845 0x11a00, 0x11a32, 4846 0x11a35, 0x11a3e, 4847 0x11a50, 0x11a83, 4848 0x11a86, 0x11a97, 4568 4849 0x11ac0, 0x11af8, 4569 0x12000, 0x12398, 4850 0x11c00, 0x11c08, 4851 0x11c0a, 0x11c36, 4852 0x11c38, 0x11c3e, 4853 0x11c40, 0x11c40, 4854 0x11c50, 0x11c59, 4855 0x11c72, 0x11c8f, 4856 0x11c92, 0x11ca7, 4857 0x11ca9, 0x11cb6, 4858 0x11d00, 0x11d06, 4859 0x11d08, 0x11d09, 4860 0x11d0b, 0x11d36, 4861 0x11d3a, 0x11d3a, 4862 0x11d3c, 0x11d3d, 4863 0x11d3f, 0x11d41, 4864 0x11d43, 0x11d43, 4865 0x11d46, 0x11d47, 4866 0x11d50, 0x11d59, 4867 0x12000, 0x12399, 4570 4868 0x12400, 0x1246e, 4869 0x12480, 0x12543, 4571 4870 0x13000, 0x1342e, 4871 0x14400, 0x14646, 4572 4872 0x16800, 0x16a38, 4573 4873 0x16a40, 0x16a5e, … … 4582 4882 0x16f50, 0x16f7e, 4583 4883 0x16f93, 0x16f9f, 4584 0x1b000, 0x1b001, 4884 0x16fe0, 0x16fe1, 4885 0x17000, 0x187ec, 4886 0x18800, 0x18af2, 4887 0x1b000, 0x1b11e, 4888 0x1b170, 0x1b2fb, 4585 4889 0x1bc00, 0x1bc6a, 4586 4890 0x1bc70, 0x1bc7c, … … 4619 4923 0x1d7c4, 0x1d7cb, 4620 4924 0x1d7ce, 0x1d7ff, 4925 0x1e000, 0x1e006, 4926 0x1e008, 0x1e018, 4927 0x1e01b, 0x1e021, 4928 0x1e023, 0x1e024, 4929 0x1e026, 0x1e02a, 4621 4930 0x1e800, 0x1e8c4, 4931 0x1e900, 0x1e943, 4932 0x1e947, 0x1e947, 4933 0x1e950, 0x1e959, 4622 4934 0x1ee00, 0x1ee03, 4623 4935 0x1ee05, 0x1ee1f, … … 4659 4971 0x2a700, 0x2b734, 4660 4972 0x2b740, 0x2b81d, 4973 0x2b820, 0x2cea1, 4974 0x2ceb0, 0x2ebe0, 4661 4975 0x2f800, 0x2fa1d, 4662 4976 }; /* CR_Alnum */ … … 4667 4981 0x0000, 0x007f, 4668 4982 }; /* CR_ASCII */ 4983 4984 /* 'Punct' */ 4985 static const OnigCodePoint CR_Punct[] = { 4986 172, 4987 0x0021, 0x0023, 4988 0x0025, 0x002a, 4989 0x002c, 0x002f, 4990 0x003a, 0x003b, 4991 0x003f, 0x0040, 4992 0x005b, 0x005d, 4993 0x005f, 0x005f, 4994 0x007b, 0x007b, 4995 0x007d, 0x007d, 4996 0x00a1, 0x00a1, 4997 0x00a7, 0x00a7, 4998 0x00ab, 0x00ab, 4999 0x00b6, 0x00b7, 5000 0x00bb, 0x00bb, 5001 0x00bf, 0x00bf, 5002 0x037e, 0x037e, 5003 0x0387, 0x0387, 5004 0x055a, 0x055f, 5005 0x0589, 0x058a, 5006 0x05be, 0x05be, 5007 0x05c0, 0x05c0, 5008 0x05c3, 0x05c3, 5009 0x05c6, 0x05c6, 5010 0x05f3, 0x05f4, 5011 0x0609, 0x060a, 5012 0x060c, 0x060d, 5013 0x061b, 0x061b, 5014 0x061e, 0x061f, 5015 0x066a, 0x066d, 5016 0x06d4, 0x06d4, 5017 0x0700, 0x070d, 5018 0x07f7, 0x07f9, 5019 0x0830, 0x083e, 5020 0x085e, 0x085e, 5021 0x0964, 0x0965, 5022 0x0970, 0x0970, 5023 0x09fd, 0x09fd, 5024 0x0af0, 0x0af0, 5025 0x0df4, 0x0df4, 5026 0x0e4f, 0x0e4f, 5027 0x0e5a, 0x0e5b, 5028 0x0f04, 0x0f12, 5029 0x0f14, 0x0f14, 5030 0x0f3a, 0x0f3d, 5031 0x0f85, 0x0f85, 5032 0x0fd0, 0x0fd4, 5033 0x0fd9, 0x0fda, 5034 0x104a, 0x104f, 5035 0x10fb, 0x10fb, 5036 0x1360, 0x1368, 5037 0x1400, 0x1400, 5038 0x166d, 0x166e, 5039 0x169b, 0x169c, 5040 0x16eb, 0x16ed, 5041 0x1735, 0x1736, 5042 0x17d4, 0x17d6, 5043 0x17d8, 0x17da, 5044 0x1800, 0x180a, 5045 0x1944, 0x1945, 5046 0x1a1e, 0x1a1f, 5047 0x1aa0, 0x1aa6, 5048 0x1aa8, 0x1aad, 5049 0x1b5a, 0x1b60, 5050 0x1bfc, 0x1bff, 5051 0x1c3b, 0x1c3f, 5052 0x1c7e, 0x1c7f, 5053 0x1cc0, 0x1cc7, 5054 0x1cd3, 0x1cd3, 5055 0x2010, 0x2027, 5056 0x2030, 0x2043, 5057 0x2045, 0x2051, 5058 0x2053, 0x205e, 5059 0x207d, 0x207e, 5060 0x208d, 0x208e, 5061 0x2308, 0x230b, 5062 0x2329, 0x232a, 5063 0x2768, 0x2775, 5064 0x27c5, 0x27c6, 5065 0x27e6, 0x27ef, 5066 0x2983, 0x2998, 5067 0x29d8, 0x29db, 5068 0x29fc, 0x29fd, 5069 0x2cf9, 0x2cfc, 5070 0x2cfe, 0x2cff, 5071 0x2d70, 0x2d70, 5072 0x2e00, 0x2e2e, 5073 0x2e30, 0x2e49, 5074 0x3001, 0x3003, 5075 0x3008, 0x3011, 5076 0x3014, 0x301f, 5077 0x3030, 0x3030, 5078 0x303d, 0x303d, 5079 0x30a0, 0x30a0, 5080 0x30fb, 0x30fb, 5081 0xa4fe, 0xa4ff, 5082 0xa60d, 0xa60f, 5083 0xa673, 0xa673, 5084 0xa67e, 0xa67e, 5085 0xa6f2, 0xa6f7, 5086 0xa874, 0xa877, 5087 0xa8ce, 0xa8cf, 5088 0xa8f8, 0xa8fa, 5089 0xa8fc, 0xa8fc, 5090 0xa92e, 0xa92f, 5091 0xa95f, 0xa95f, 5092 0xa9c1, 0xa9cd, 5093 0xa9de, 0xa9df, 5094 0xaa5c, 0xaa5f, 5095 0xaade, 0xaadf, 5096 0xaaf0, 0xaaf1, 5097 0xabeb, 0xabeb, 5098 0xfd3e, 0xfd3f, 5099 0xfe10, 0xfe19, 5100 0xfe30, 0xfe52, 5101 0xfe54, 0xfe61, 5102 0xfe63, 0xfe63, 5103 0xfe68, 0xfe68, 5104 0xfe6a, 0xfe6b, 5105 0xff01, 0xff03, 5106 0xff05, 0xff0a, 5107 0xff0c, 0xff0f, 5108 0xff1a, 0xff1b, 5109 0xff1f, 0xff20, 5110 0xff3b, 0xff3d, 5111 0xff3f, 0xff3f, 5112 0xff5b, 0xff5b, 5113 0xff5d, 0xff5d, 5114 0xff5f, 0xff65, 5115 0x10100, 0x10102, 5116 0x1039f, 0x1039f, 5117 0x103d0, 0x103d0, 5118 0x1056f, 0x1056f, 5119 0x10857, 0x10857, 5120 0x1091f, 0x1091f, 5121 0x1093f, 0x1093f, 5122 0x10a50, 0x10a58, 5123 0x10a7f, 0x10a7f, 5124 0x10af0, 0x10af6, 5125 0x10b39, 0x10b3f, 5126 0x10b99, 0x10b9c, 5127 0x11047, 0x1104d, 5128 0x110bb, 0x110bc, 5129 0x110be, 0x110c1, 5130 0x11140, 0x11143, 5131 0x11174, 0x11175, 5132 0x111c5, 0x111c9, 5133 0x111cd, 0x111cd, 5134 0x111db, 0x111db, 5135 0x111dd, 0x111df, 5136 0x11238, 0x1123d, 5137 0x112a9, 0x112a9, 5138 0x1144b, 0x1144f, 5139 0x1145b, 0x1145b, 5140 0x1145d, 0x1145d, 5141 0x114c6, 0x114c6, 5142 0x115c1, 0x115d7, 5143 0x11641, 0x11643, 5144 0x11660, 0x1166c, 5145 0x1173c, 0x1173e, 5146 0x11a3f, 0x11a46, 5147 0x11a9a, 0x11a9c, 5148 0x11a9e, 0x11aa2, 5149 0x11c41, 0x11c45, 5150 0x11c70, 0x11c71, 5151 0x12470, 0x12474, 5152 0x16a6e, 0x16a6f, 5153 0x16af5, 0x16af5, 5154 0x16b37, 0x16b3b, 5155 0x16b44, 0x16b44, 5156 0x1bc9f, 0x1bc9f, 5157 0x1da87, 0x1da8b, 5158 0x1e95e, 0x1e95f, 5159 }; /* CR_Punct */ 4669 5160 4670 5161 #ifdef USE_UNICODE_PROPERTIES … … 4677 5168 /* 'Assigned': - */ 4678 5169 static const OnigCodePoint CR_Assigned[] = { 4679 6 00,5170 649, 4680 5171 0x0000, 0x0377, 4681 5172 0x037a, 0x037f, … … 4701 5192 0x0840, 0x085b, 4702 5193 0x085e, 0x085e, 4703 0x08a0, 0x08b2, 4704 0x08e4, 0x0983, 5194 0x0860, 0x086a, 5195 0x08a0, 0x08b4, 5196 0x08b6, 0x08bd, 5197 0x08d4, 0x0983, 4705 5198 0x0985, 0x098c, 4706 5199 0x098f, 0x0990, … … 4715 5208 0x09dc, 0x09dd, 4716 5209 0x09df, 0x09e3, 4717 0x09e6, 0x09f b,5210 0x09e6, 0x09fd, 4718 5211 0x0a01, 0x0a03, 4719 5212 0x0a05, 0x0a0a, … … 4745 5238 0x0ae0, 0x0ae3, 4746 5239 0x0ae6, 0x0af1, 5240 0x0af9, 0x0aff, 4747 5241 0x0b01, 0x0b03, 4748 5242 0x0b05, 0x0b0c, … … 4784 5278 0x0c4a, 0x0c4d, 4785 5279 0x0c55, 0x0c56, 4786 0x0c58, 0x0c5 9,5280 0x0c58, 0x0c5a, 4787 5281 0x0c60, 0x0c63, 4788 5282 0x0c66, 0x0c6f, 4789 0x0c78, 0x0c7f, 4790 0x0c81, 0x0c83, 5283 0x0c78, 0x0c83, 4791 5284 0x0c85, 0x0c8c, 4792 5285 0x0c8e, 0x0c90, … … 4802 5295 0x0ce6, 0x0cef, 4803 5296 0x0cf1, 0x0cf2, 4804 0x0d0 1, 0x0d03,5297 0x0d00, 0x0d03, 4805 5298 0x0d05, 0x0d0c, 4806 5299 0x0d0e, 0x0d10, 4807 0x0d12, 0x0d3a, 4808 0x0d3d, 0x0d44, 5300 0x0d12, 0x0d44, 4809 5301 0x0d46, 0x0d48, 4810 0x0d4a, 0x0d4e, 4811 0x0d57, 0x0d57, 4812 0x0d60, 0x0d63, 4813 0x0d66, 0x0d75, 4814 0x0d79, 0x0d7f, 5302 0x0d4a, 0x0d4f, 5303 0x0d54, 0x0d63, 5304 0x0d66, 0x0d7f, 4815 5305 0x0d82, 0x0d83, 4816 5306 0x0d85, 0x0d96, … … 4872 5362 0x135d, 0x137c, 4873 5363 0x1380, 0x1399, 4874 0x13a0, 0x13f4, 5364 0x13a0, 0x13f5, 5365 0x13f8, 0x13fd, 4875 5366 0x1400, 0x169c, 4876 5367 0x16a0, 0x16f8, … … 4911 5402 0x1bfc, 0x1c37, 4912 5403 0x1c3b, 0x1c49, 4913 0x1c4d, 0x1c 7f,5404 0x1c4d, 0x1c88, 4914 5405 0x1cc0, 0x1cc7, 4915 0x1cd0, 0x1cf6, 4916 0x1cf8, 0x1cf9, 4917 0x1d00, 0x1df5, 4918 0x1dfc, 0x1f15, 5406 0x1cd0, 0x1cf9, 5407 0x1d00, 0x1df9, 5408 0x1dfb, 0x1f15, 4919 5409 0x1f18, 0x1f1d, 4920 5410 0x1f20, 0x1f45, … … 4936 5426 0x2074, 0x208e, 4937 5427 0x2090, 0x209c, 4938 0x20a0, 0x20b d,5428 0x20a0, 0x20bf, 4939 5429 0x20d0, 0x20f0, 4940 0x2100, 0x2189, 4941 0x2190, 0x23fa, 4942 0x2400, 0x2426, 5430 0x2100, 0x218b, 5431 0x2190, 0x2426, 4943 5432 0x2440, 0x244a, 4944 5433 0x2460, 0x2b73, … … 4946 5435 0x2b98, 0x2bb9, 4947 5436 0x2bbd, 0x2bc8, 4948 0x2bca, 0x2bd1, 5437 0x2bca, 0x2bd2, 5438 0x2bec, 0x2bef, 4949 5439 0x2c00, 0x2c2e, 4950 5440 0x2c30, 0x2c5e, … … 4964 5454 0x2dd0, 0x2dd6, 4965 5455 0x2dd8, 0x2dde, 4966 0x2de0, 0x2e4 2,5456 0x2de0, 0x2e49, 4967 5457 0x2e80, 0x2e99, 4968 5458 0x2e9b, 0x2ef3, … … 4972 5462 0x3041, 0x3096, 4973 5463 0x3099, 0x30ff, 4974 0x3105, 0x312 d,5464 0x3105, 0x312e, 4975 5465 0x3131, 0x318e, 4976 5466 0x3190, 0x31ba, … … 4979 5469 0x3220, 0x32fe, 4980 5470 0x3300, 0x4db5, 4981 0x4dc0, 0x9f cc,5471 0x4dc0, 0x9fea, 4982 5472 0xa000, 0xa48c, 4983 5473 0xa490, 0xa4c6, 4984 5474 0xa4d0, 0xa62b, 4985 0xa640, 0xa69d, 4986 0xa69f, 0xa6f7, 4987 0xa700, 0xa78e, 4988 0xa790, 0xa7ad, 4989 0xa7b0, 0xa7b1, 5475 0xa640, 0xa6f7, 5476 0xa700, 0xa7ae, 5477 0xa7b0, 0xa7b7, 4990 5478 0xa7f7, 0xa82b, 4991 5479 0xa830, 0xa839, 4992 5480 0xa840, 0xa877, 4993 0xa880, 0xa8c 4,5481 0xa880, 0xa8c5, 4994 5482 0xa8ce, 0xa8d9, 4995 0xa8e0, 0xa8f b,5483 0xa8e0, 0xa8fd, 4996 5484 0xa900, 0xa953, 4997 5485 0xa95f, 0xa97c, … … 5009 5497 0xab20, 0xab26, 5010 5498 0xab28, 0xab2e, 5011 0xab30, 0xab5f, 5012 0xab64, 0xab65, 5013 0xabc0, 0xabed, 5499 0xab30, 0xab65, 5500 0xab70, 0xabed, 5014 5501 0xabf0, 0xabf9, 5015 5502 0xac00, 0xd7a3, … … 5031 5518 0xfdf0, 0xfdfd, 5032 5519 0xfe00, 0xfe19, 5033 0xfe20, 0xfe2d, 5034 0xfe30, 0xfe52, 5520 0xfe20, 0xfe52, 5035 5521 0xfe54, 0xfe66, 5036 5522 0xfe68, 0xfe6b, … … 5055 5541 0x10100, 0x10102, 5056 5542 0x10107, 0x10133, 5057 0x10137, 0x1018 c,5543 0x10137, 0x1018e, 5058 5544 0x10190, 0x1019b, 5059 5545 0x101a0, 0x101a0, … … 5063 5549 0x102e0, 0x102fb, 5064 5550 0x10300, 0x10323, 5065 0x103 30, 0x1034a,5551 0x1032d, 0x1034a, 5066 5552 0x10350, 0x1037a, 5067 5553 0x10380, 0x1039d, … … 5070 5556 0x10400, 0x1049d, 5071 5557 0x104a0, 0x104a9, 5558 0x104b0, 0x104d3, 5559 0x104d8, 0x104fb, 5072 5560 0x10500, 0x10527, 5073 5561 0x10530, 0x10563, … … 5084 5572 0x10857, 0x1089e, 5085 5573 0x108a7, 0x108af, 5086 0x10900, 0x1091b, 5574 0x108e0, 0x108f2, 5575 0x108f4, 0x108f5, 5576 0x108fb, 0x1091b, 5087 5577 0x1091f, 0x10939, 5088 5578 0x1093f, 0x1093f, 5089 5579 0x10980, 0x109b7, 5090 0x109b e, 0x109bf,5091 0x10 a00, 0x10a03,5580 0x109bc, 0x109cf, 5581 0x109d2, 0x10a03, 5092 5582 0x10a05, 0x10a06, 5093 5583 0x10a0c, 0x10a13, … … 5107 5597 0x10ba9, 0x10baf, 5108 5598 0x10c00, 0x10c48, 5599 0x10c80, 0x10cb2, 5600 0x10cc0, 0x10cf2, 5601 0x10cfa, 0x10cff, 5109 5602 0x10e60, 0x10e7e, 5110 5603 0x11000, 0x1104d, … … 5116 5609 0x11136, 0x11143, 5117 5610 0x11150, 0x11176, 5118 0x11180, 0x111c8, 5119 0x111cd, 0x111cd, 5120 0x111d0, 0x111da, 5611 0x11180, 0x111cd, 5612 0x111d0, 0x111df, 5121 5613 0x111e1, 0x111f4, 5122 5614 0x11200, 0x11211, 5123 0x11213, 0x1123d, 5615 0x11213, 0x1123e, 5616 0x11280, 0x11286, 5617 0x11288, 0x11288, 5618 0x1128a, 0x1128d, 5619 0x1128f, 0x1129d, 5620 0x1129f, 0x112a9, 5124 5621 0x112b0, 0x112ea, 5125 5622 0x112f0, 0x112f9, 5126 0x1130 1, 0x11303,5623 0x11300, 0x11303, 5127 5624 0x11305, 0x1130c, 5128 5625 0x1130f, 0x11310, … … 5134 5631 0x11347, 0x11348, 5135 5632 0x1134b, 0x1134d, 5633 0x11350, 0x11350, 5136 5634 0x11357, 0x11357, 5137 5635 0x1135d, 0x11363, 5138 5636 0x11366, 0x1136c, 5139 5637 0x11370, 0x11374, 5638 0x11400, 0x11459, 5639 0x1145b, 0x1145b, 5640 0x1145d, 0x1145d, 5140 5641 0x11480, 0x114c7, 5141 5642 0x114d0, 0x114d9, 5142 5643 0x11580, 0x115b5, 5143 0x115b8, 0x115 c9,5644 0x115b8, 0x115dd, 5144 5645 0x11600, 0x11644, 5145 5646 0x11650, 0x11659, 5647 0x11660, 0x1166c, 5146 5648 0x11680, 0x116b7, 5147 5649 0x116c0, 0x116c9, 5650 0x11700, 0x11719, 5651 0x1171d, 0x1172b, 5652 0x11730, 0x1173f, 5148 5653 0x118a0, 0x118f2, 5149 5654 0x118ff, 0x118ff, 5655 0x11a00, 0x11a47, 5656 0x11a50, 0x11a83, 5657 0x11a86, 0x11a9c, 5658 0x11a9e, 0x11aa2, 5150 5659 0x11ac0, 0x11af8, 5151 0x12000, 0x12398, 5660 0x11c00, 0x11c08, 5661 0x11c0a, 0x11c36, 5662 0x11c38, 0x11c45, 5663 0x11c50, 0x11c6c, 5664 0x11c70, 0x11c8f, 5665 0x11c92, 0x11ca7, 5666 0x11ca9, 0x11cb6, 5667 0x11d00, 0x11d06, 5668 0x11d08, 0x11d09, 5669 0x11d0b, 0x11d36, 5670 0x11d3a, 0x11d3a, 5671 0x11d3c, 0x11d3d, 5672 0x11d3f, 0x11d47, 5673 0x11d50, 0x11d59, 5674 0x12000, 0x12399, 5152 5675 0x12400, 0x1246e, 5153 5676 0x12470, 0x12474, 5677 0x12480, 0x12543, 5154 5678 0x13000, 0x1342e, 5679 0x14400, 0x14646, 5155 5680 0x16800, 0x16a38, 5156 5681 0x16a40, 0x16a5e, … … 5167 5692 0x16f50, 0x16f7e, 5168 5693 0x16f8f, 0x16f9f, 5169 0x1b000, 0x1b001, 5694 0x16fe0, 0x16fe1, 5695 0x17000, 0x187ec, 5696 0x18800, 0x18af2, 5697 0x1b000, 0x1b11e, 5698 0x1b170, 0x1b2fb, 5170 5699 0x1bc00, 0x1bc6a, 5171 5700 0x1bc70, 0x1bc7c, … … 5175 5704 0x1d000, 0x1d0f5, 5176 5705 0x1d100, 0x1d126, 5177 0x1d129, 0x1d1 dd,5706 0x1d129, 0x1d1e8, 5178 5707 0x1d200, 0x1d245, 5179 5708 0x1d300, 0x1d356, … … 5199 5728 0x1d552, 0x1d6a5, 5200 5729 0x1d6a8, 0x1d7cb, 5201 0x1d7ce, 0x1d7ff, 5730 0x1d7ce, 0x1da8b, 5731 0x1da9b, 0x1da9f, 5732 0x1daa1, 0x1daaf, 5733 0x1e000, 0x1e006, 5734 0x1e008, 0x1e018, 5735 0x1e01b, 0x1e021, 5736 0x1e023, 0x1e024, 5737 0x1e026, 0x1e02a, 5202 5738 0x1e800, 0x1e8c4, 5203 5739 0x1e8c7, 0x1e8d6, 5740 0x1e900, 0x1e94a, 5741 0x1e950, 0x1e959, 5742 0x1e95e, 0x1e95f, 5204 5743 0x1ee00, 0x1ee03, 5205 5744 0x1ee05, 0x1ee1f, … … 5245 5784 0x1f110, 0x1f12e, 5246 5785 0x1f130, 0x1f16b, 5247 0x1f170, 0x1f1 9a,5786 0x1f170, 0x1f1ac, 5248 5787 0x1f1e6, 0x1f202, 5249 0x1f210, 0x1f23 a,5788 0x1f210, 0x1f23b, 5250 5789 0x1f240, 0x1f248, 5251 5790 0x1f250, 0x1f251, 5252 0x1f300, 0x1f32c, 5253 0x1f330, 0x1f37d, 5254 0x1f380, 0x1f3ce, 5255 0x1f3d4, 0x1f3f7, 5256 0x1f400, 0x1f4fe, 5257 0x1f500, 0x1f54a, 5258 0x1f550, 0x1f579, 5259 0x1f57b, 0x1f5a3, 5260 0x1f5a5, 0x1f642, 5261 0x1f645, 0x1f6cf, 5791 0x1f260, 0x1f265, 5792 0x1f300, 0x1f6d4, 5262 5793 0x1f6e0, 0x1f6ec, 5263 0x1f6f0, 0x1f6f 3,5794 0x1f6f0, 0x1f6f8, 5264 5795 0x1f700, 0x1f773, 5265 5796 0x1f780, 0x1f7d4, … … 5269 5800 0x1f860, 0x1f887, 5270 5801 0x1f890, 0x1f8ad, 5802 0x1f900, 0x1f90b, 5803 0x1f910, 0x1f93e, 5804 0x1f940, 0x1f94c, 5805 0x1f950, 0x1f96b, 5806 0x1f980, 0x1f997, 5807 0x1f9c0, 0x1f9c0, 5808 0x1f9d0, 0x1f9e6, 5271 5809 0x20000, 0x2a6d6, 5272 5810 0x2a700, 0x2b734, 5273 5811 0x2b740, 0x2b81d, 5812 0x2b820, 0x2cea1, 5813 0x2ceb0, 0x2ebe0, 5274 5814 0x2f800, 0x2fa1d, 5275 5815 0xe0001, 0xe0001, … … 5282 5822 /* 'C': Major Category */ 5283 5823 static const OnigCodePoint CR_C[] = { 5284 6 03,5824 653, 5285 5825 0x0000, 0x001f, 5286 5826 0x007f, 0x009f, … … 5309 5849 0x083f, 0x083f, 5310 5850 0x085c, 0x085d, 5311 0x085f, 0x089f, 5312 0x08b3, 0x08e3, 5851 0x085f, 0x085f, 5852 0x086b, 0x089f, 5853 0x08b5, 0x08b5, 5854 0x08be, 0x08d3, 5855 0x08e2, 0x08e2, 5313 5856 0x0984, 0x0984, 5314 5857 0x098d, 0x098e, … … 5324 5867 0x09de, 0x09de, 5325 5868 0x09e4, 0x09e5, 5326 0x09f c, 0x0a00,5869 0x09fe, 0x0a00, 5327 5870 0x0a04, 0x0a04, 5328 5871 0x0a0b, 0x0a0e, … … 5353 5896 0x0ad1, 0x0adf, 5354 5897 0x0ae4, 0x0ae5, 5355 0x0af2, 0x0b00, 5898 0x0af2, 0x0af8, 5899 0x0b00, 0x0b00, 5356 5900 0x0b04, 0x0b04, 5357 5901 0x0b0d, 0x0b0e, … … 5393 5937 0x0c4e, 0x0c54, 5394 5938 0x0c57, 0x0c57, 5395 0x0c5 a, 0x0c5f,5939 0x0c5b, 0x0c5f, 5396 5940 0x0c64, 0x0c65, 5397 5941 0x0c70, 0x0c77, 5398 0x0c80, 0x0c80,5399 5942 0x0c84, 0x0c84, 5400 5943 0x0c8d, 0x0c8d, … … 5410 5953 0x0ce4, 0x0ce5, 5411 5954 0x0cf0, 0x0cf0, 5412 0x0cf3, 0x0 d00,5955 0x0cf3, 0x0cff, 5413 5956 0x0d04, 0x0d04, 5414 5957 0x0d0d, 0x0d0d, 5415 5958 0x0d11, 0x0d11, 5416 0x0d3b, 0x0d3c,5417 5959 0x0d45, 0x0d45, 5418 5960 0x0d49, 0x0d49, 5419 0x0d4f, 0x0d56, 5420 0x0d58, 0x0d5f, 5961 0x0d50, 0x0d53, 5421 5962 0x0d64, 0x0d65, 5422 0x0d76, 0x0d78,5423 5963 0x0d80, 0x0d81, 5424 5964 0x0d84, 0x0d84, … … 5481 6021 0x137d, 0x137f, 5482 6022 0x139a, 0x139f, 5483 0x13f5, 0x13ff, 6023 0x13f6, 0x13f7, 6024 0x13fe, 0x13ff, 5484 6025 0x169d, 0x169f, 5485 6026 0x16f9, 0x16ff, … … 5520 6061 0x1c38, 0x1c3a, 5521 6062 0x1c4a, 0x1c4c, 5522 0x1c8 0, 0x1cbf,6063 0x1c89, 0x1cbf, 5523 6064 0x1cc8, 0x1ccf, 5524 0x1cf7, 0x1cf7,5525 6065 0x1cfa, 0x1cff, 5526 0x1df 6, 0x1dfb,6066 0x1dfa, 0x1dfa, 5527 6067 0x1f16, 0x1f17, 5528 6068 0x1f1e, 0x1f1f, … … 5547 6087 0x208f, 0x208f, 5548 6088 0x209d, 0x209f, 5549 0x20 be, 0x20cf,6089 0x20c0, 0x20cf, 5550 6090 0x20f1, 0x20ff, 5551 0x218a, 0x218f, 5552 0x23fb, 0x23ff, 6091 0x218c, 0x218f, 5553 6092 0x2427, 0x243f, 5554 6093 0x244b, 0x245f, … … 5557 6096 0x2bba, 0x2bbc, 5558 6097 0x2bc9, 0x2bc9, 5559 0x2bd2, 0x2bff, 6098 0x2bd3, 0x2beb, 6099 0x2bf0, 0x2bff, 5560 6100 0x2c2f, 0x2c2f, 5561 6101 0x2c5f, 0x2c5f, … … 5575 6115 0x2dd7, 0x2dd7, 5576 6116 0x2ddf, 0x2ddf, 5577 0x2e4 3, 0x2e7f,6117 0x2e4a, 0x2e7f, 5578 6118 0x2e9a, 0x2e9a, 5579 6119 0x2ef4, 0x2eff, … … 5583 6123 0x3097, 0x3098, 5584 6124 0x3100, 0x3104, 5585 0x312 e, 0x3130,6125 0x312f, 0x3130, 5586 6126 0x318f, 0x318f, 5587 6127 0x31bb, 0x31bf, … … 5590 6130 0x32ff, 0x32ff, 5591 6131 0x4db6, 0x4dbf, 5592 0x9f cd, 0x9fff,6132 0x9feb, 0x9fff, 5593 6133 0xa48d, 0xa48f, 5594 6134 0xa4c7, 0xa4cf, 5595 6135 0xa62c, 0xa63f, 5596 0xa69e, 0xa69e,5597 6136 0xa6f8, 0xa6ff, 5598 0xa78f, 0xa78f, 5599 0xa7ae, 0xa7af, 5600 0xa7b2, 0xa7f6, 6137 0xa7af, 0xa7af, 6138 0xa7b8, 0xa7f6, 5601 6139 0xa82c, 0xa82f, 5602 6140 0xa83a, 0xa83f, 5603 6141 0xa878, 0xa87f, 5604 0xa8c 5, 0xa8cd,6142 0xa8c6, 0xa8cd, 5605 6143 0xa8da, 0xa8df, 5606 0xa8f c, 0xa8ff,6144 0xa8fe, 0xa8ff, 5607 6145 0xa954, 0xa95e, 5608 6146 0xa97d, 0xa97f, … … 5620 6158 0xab27, 0xab27, 5621 6159 0xab2f, 0xab2f, 5622 0xab60, 0xab63, 5623 0xab66, 0xabbf, 6160 0xab66, 0xab6f, 5624 6161 0xabee, 0xabef, 5625 6162 0xabfa, 0xabff, … … 5642 6179 0xfdfe, 0xfdff, 5643 6180 0xfe1a, 0xfe1f, 5644 0xfe2e, 0xfe2f,5645 6181 0xfe53, 0xfe53, 5646 6182 0xfe67, 0xfe67, … … 5665 6201 0x10103, 0x10106, 5666 6202 0x10134, 0x10136, 5667 0x1018 d, 0x1018f,6203 0x1018f, 0x1018f, 5668 6204 0x1019c, 0x1019f, 5669 6205 0x101a1, 0x101cf, … … 5672 6208 0x102d1, 0x102df, 5673 6209 0x102fc, 0x102ff, 5674 0x10324, 0x1032 f,6210 0x10324, 0x1032c, 5675 6211 0x1034b, 0x1034f, 5676 6212 0x1037b, 0x1037f, … … 5679 6215 0x103d6, 0x103ff, 5680 6216 0x1049e, 0x1049f, 5681 0x104aa, 0x104ff, 6217 0x104aa, 0x104af, 6218 0x104d4, 0x104d7, 6219 0x104fc, 0x104ff, 5682 6220 0x10528, 0x1052f, 5683 6221 0x10564, 0x1056e, … … 5693 6231 0x10856, 0x10856, 5694 6232 0x1089f, 0x108a6, 5695 0x108b0, 0x108ff, 6233 0x108b0, 0x108df, 6234 0x108f3, 0x108f3, 6235 0x108f6, 0x108fa, 5696 6236 0x1091c, 0x1091e, 5697 6237 0x1093a, 0x1093e, 5698 6238 0x10940, 0x1097f, 5699 0x109b8, 0x109b d,5700 0x109 c0, 0x109ff,6239 0x109b8, 0x109bb, 6240 0x109d0, 0x109d1, 5701 6241 0x10a04, 0x10a04, 5702 6242 0x10a07, 0x10a0b, … … 5716 6256 0x10b9d, 0x10ba8, 5717 6257 0x10bb0, 0x10bff, 5718 0x10c49, 0x10e5f, 6258 0x10c49, 0x10c7f, 6259 0x10cb3, 0x10cbf, 6260 0x10cf3, 0x10cf9, 6261 0x10d00, 0x10e5f, 5719 6262 0x10e7f, 0x10fff, 5720 6263 0x1104e, 0x11051, … … 5727 6270 0x11144, 0x1114f, 5728 6271 0x11177, 0x1117f, 5729 0x111c9, 0x111cc,5730 6272 0x111ce, 0x111cf, 5731 0x111 db, 0x111e0,6273 0x111e0, 0x111e0, 5732 6274 0x111f5, 0x111ff, 5733 6275 0x11212, 0x11212, 5734 0x1123e, 0x112af, 6276 0x1123f, 0x1127f, 6277 0x11287, 0x11287, 6278 0x11289, 0x11289, 6279 0x1128e, 0x1128e, 6280 0x1129e, 0x1129e, 6281 0x112aa, 0x112af, 5735 6282 0x112eb, 0x112ef, 5736 0x112fa, 0x11 300,6283 0x112fa, 0x112ff, 5737 6284 0x11304, 0x11304, 5738 6285 0x1130d, 0x1130e, … … 5744 6291 0x11345, 0x11346, 5745 6292 0x11349, 0x1134a, 5746 0x1134e, 0x11356, 6293 0x1134e, 0x1134f, 6294 0x11351, 0x11356, 5747 6295 0x11358, 0x1135c, 5748 6296 0x11364, 0x11365, 5749 6297 0x1136d, 0x1136f, 5750 0x11375, 0x1147f, 6298 0x11375, 0x113ff, 6299 0x1145a, 0x1145a, 6300 0x1145c, 0x1145c, 6301 0x1145e, 0x1147f, 5751 6302 0x114c8, 0x114cf, 5752 6303 0x114da, 0x1157f, 5753 6304 0x115b6, 0x115b7, 5754 0x115 ca, 0x115ff,6305 0x115de, 0x115ff, 5755 6306 0x11645, 0x1164f, 5756 0x1165a, 0x1167f, 6307 0x1165a, 0x1165f, 6308 0x1166d, 0x1167f, 5757 6309 0x116b8, 0x116bf, 5758 0x116ca, 0x1189f, 6310 0x116ca, 0x116ff, 6311 0x1171a, 0x1171c, 6312 0x1172c, 0x1172f, 6313 0x11740, 0x1189f, 5759 6314 0x118f3, 0x118fe, 5760 0x11900, 0x11abf, 5761 0x11af9, 0x11fff, 5762 0x12399, 0x123ff, 6315 0x11900, 0x119ff, 6316 0x11a48, 0x11a4f, 6317 0x11a84, 0x11a85, 6318 0x11a9d, 0x11a9d, 6319 0x11aa3, 0x11abf, 6320 0x11af9, 0x11bff, 6321 0x11c09, 0x11c09, 6322 0x11c37, 0x11c37, 6323 0x11c46, 0x11c4f, 6324 0x11c6d, 0x11c6f, 6325 0x11c90, 0x11c91, 6326 0x11ca8, 0x11ca8, 6327 0x11cb7, 0x11cff, 6328 0x11d07, 0x11d07, 6329 0x11d0a, 0x11d0a, 6330 0x11d37, 0x11d39, 6331 0x11d3b, 0x11d3b, 6332 0x11d3e, 0x11d3e, 6333 0x11d48, 0x11d4f, 6334 0x11d5a, 0x11fff, 6335 0x1239a, 0x123ff, 5763 6336 0x1246f, 0x1246f, 5764 0x12475, 0x12fff, 5765 0x1342f, 0x167ff, 6337 0x12475, 0x1247f, 6338 0x12544, 0x12fff, 6339 0x1342f, 0x143ff, 6340 0x14647, 0x167ff, 5766 6341 0x16a39, 0x16a3f, 5767 6342 0x16a5f, 0x16a5f, … … 5777 6352 0x16f45, 0x16f4f, 5778 6353 0x16f7f, 0x16f8e, 5779 0x16fa0, 0x1afff, 5780 0x1b002, 0x1bbff, 6354 0x16fa0, 0x16fdf, 6355 0x16fe2, 0x16fff, 6356 0x187ed, 0x187ff, 6357 0x18af3, 0x1afff, 6358 0x1b11f, 0x1b16f, 6359 0x1b2fc, 0x1bbff, 5781 6360 0x1bc6b, 0x1bc6f, 5782 6361 0x1bc7d, 0x1bc7f, … … 5787 6366 0x1d127, 0x1d128, 5788 6367 0x1d173, 0x1d17a, 5789 0x1d1 de, 0x1d1ff,6368 0x1d1e9, 0x1d1ff, 5790 6369 0x1d246, 0x1d2ff, 5791 6370 0x1d357, 0x1d35f, … … 5811 6390 0x1d6a6, 0x1d6a7, 5812 6391 0x1d7cc, 0x1d7cd, 5813 0x1d800, 0x1e7ff, 6392 0x1da8c, 0x1da9a, 6393 0x1daa0, 0x1daa0, 6394 0x1dab0, 0x1dfff, 6395 0x1e007, 0x1e007, 6396 0x1e019, 0x1e01a, 6397 0x1e022, 0x1e022, 6398 0x1e025, 0x1e025, 6399 0x1e02b, 0x1e7ff, 5814 6400 0x1e8c5, 0x1e8c6, 5815 0x1e8d7, 0x1edff, 6401 0x1e8d7, 0x1e8ff, 6402 0x1e94b, 0x1e94f, 6403 0x1e95a, 0x1e95d, 6404 0x1e960, 0x1edff, 5816 6405 0x1ee04, 0x1ee04, 5817 6406 0x1ee20, 0x1ee20, … … 5857 6446 0x1f12f, 0x1f12f, 5858 6447 0x1f16c, 0x1f16f, 5859 0x1f1 9b, 0x1f1e5,6448 0x1f1ad, 0x1f1e5, 5860 6449 0x1f203, 0x1f20f, 5861 0x1f23 b, 0x1f23f,6450 0x1f23c, 0x1f23f, 5862 6451 0x1f249, 0x1f24f, 5863 0x1f252, 0x1f2ff, 5864 0x1f32d, 0x1f32f, 5865 0x1f37e, 0x1f37f, 5866 0x1f3cf, 0x1f3d3, 5867 0x1f3f8, 0x1f3ff, 5868 0x1f4ff, 0x1f4ff, 5869 0x1f54b, 0x1f54f, 5870 0x1f57a, 0x1f57a, 5871 0x1f5a4, 0x1f5a4, 5872 0x1f643, 0x1f644, 5873 0x1f6d0, 0x1f6df, 6452 0x1f252, 0x1f25f, 6453 0x1f266, 0x1f2ff, 6454 0x1f6d5, 0x1f6df, 5874 6455 0x1f6ed, 0x1f6ef, 5875 0x1f6f 4, 0x1f6ff,6456 0x1f6f9, 0x1f6ff, 5876 6457 0x1f774, 0x1f77f, 5877 6458 0x1f7d5, 0x1f7ff, … … 5880 6461 0x1f85a, 0x1f85f, 5881 6462 0x1f888, 0x1f88f, 5882 0x1f8ae, 0x1ffff, 6463 0x1f8ae, 0x1f8ff, 6464 0x1f90c, 0x1f90f, 6465 0x1f93f, 0x1f93f, 6466 0x1f94d, 0x1f94f, 6467 0x1f96c, 0x1f97f, 6468 0x1f998, 0x1f9bf, 6469 0x1f9c1, 0x1f9cf, 6470 0x1f9e7, 0x1ffff, 5883 6471 0x2a6d7, 0x2a6ff, 5884 6472 0x2b735, 0x2b73f, 5885 0x2b81e, 0x2f7ff, 6473 0x2b81e, 0x2b81f, 6474 0x2cea2, 0x2ceaf, 6475 0x2ebe1, 0x2f7ff, 5886 6476 0x2fa1e, 0xe00ff, 5887 6477 0xe01f0, 0x10ffff, … … 5893 6483 /* 'Cf': General Category */ 5894 6484 static const OnigCodePoint CR_Cf[] = { 5895 1 7,6485 18, 5896 6486 0x00ad, 0x00ad, 5897 6487 0x0600, 0x0605, … … 5899 6489 0x06dd, 0x06dd, 5900 6490 0x070f, 0x070f, 6491 0x08e2, 0x08e2, 5901 6492 0x180e, 0x180e, 5902 6493 0x200b, 0x200f, … … 5915 6506 /* 'Cn': General Category */ 5916 6507 static const OnigCodePoint CR_Cn[] = { 5917 6 00,6508 649, 5918 6509 0x0378, 0x0379, 5919 6510 0x0380, 0x0383, … … 5938 6529 0x083f, 0x083f, 5939 6530 0x085c, 0x085d, 5940 0x085f, 0x089f, 5941 0x08b3, 0x08e3, 6531 0x085f, 0x085f, 6532 0x086b, 0x089f, 6533 0x08b5, 0x08b5, 6534 0x08be, 0x08d3, 5942 6535 0x0984, 0x0984, 5943 6536 0x098d, 0x098e, … … 5953 6546 0x09de, 0x09de, 5954 6547 0x09e4, 0x09e5, 5955 0x09f c, 0x0a00,6548 0x09fe, 0x0a00, 5956 6549 0x0a04, 0x0a04, 5957 6550 0x0a0b, 0x0a0e, … … 5982 6575 0x0ad1, 0x0adf, 5983 6576 0x0ae4, 0x0ae5, 5984 0x0af2, 0x0b00, 6577 0x0af2, 0x0af8, 6578 0x0b00, 0x0b00, 5985 6579 0x0b04, 0x0b04, 5986 6580 0x0b0d, 0x0b0e, … … 6022 6616 0x0c4e, 0x0c54, 6023 6617 0x0c57, 0x0c57, 6024 0x0c5 a, 0x0c5f,6618 0x0c5b, 0x0c5f, 6025 6619 0x0c64, 0x0c65, 6026 6620 0x0c70, 0x0c77, 6027 0x0c80, 0x0c80,6028 6621 0x0c84, 0x0c84, 6029 6622 0x0c8d, 0x0c8d, … … 6039 6632 0x0ce4, 0x0ce5, 6040 6633 0x0cf0, 0x0cf0, 6041 0x0cf3, 0x0 d00,6634 0x0cf3, 0x0cff, 6042 6635 0x0d04, 0x0d04, 6043 6636 0x0d0d, 0x0d0d, 6044 6637 0x0d11, 0x0d11, 6045 0x0d3b, 0x0d3c,6046 6638 0x0d45, 0x0d45, 6047 6639 0x0d49, 0x0d49, 6048 0x0d4f, 0x0d56, 6049 0x0d58, 0x0d5f, 6640 0x0d50, 0x0d53, 6050 6641 0x0d64, 0x0d65, 6051 0x0d76, 0x0d78,6052 6642 0x0d80, 0x0d81, 6053 6643 0x0d84, 0x0d84, … … 6110 6700 0x137d, 0x137f, 6111 6701 0x139a, 0x139f, 6112 0x13f5, 0x13ff, 6702 0x13f6, 0x13f7, 6703 0x13fe, 0x13ff, 6113 6704 0x169d, 0x169f, 6114 6705 0x16f9, 0x16ff, … … 6149 6740 0x1c38, 0x1c3a, 6150 6741 0x1c4a, 0x1c4c, 6151 0x1c8 0, 0x1cbf,6742 0x1c89, 0x1cbf, 6152 6743 0x1cc8, 0x1ccf, 6153 0x1cf7, 0x1cf7,6154 6744 0x1cfa, 0x1cff, 6155 0x1df 6, 0x1dfb,6745 0x1dfa, 0x1dfa, 6156 6746 0x1f16, 0x1f17, 6157 6747 0x1f1e, 0x1f1f, … … 6174 6764 0x208f, 0x208f, 6175 6765 0x209d, 0x209f, 6176 0x20 be, 0x20cf,6766 0x20c0, 0x20cf, 6177 6767 0x20f1, 0x20ff, 6178 0x218a, 0x218f, 6179 0x23fb, 0x23ff, 6768 0x218c, 0x218f, 6180 6769 0x2427, 0x243f, 6181 6770 0x244b, 0x245f, … … 6184 6773 0x2bba, 0x2bbc, 6185 6774 0x2bc9, 0x2bc9, 6186 0x2bd2, 0x2bff, 6775 0x2bd3, 0x2beb, 6776 0x2bf0, 0x2bff, 6187 6777 0x2c2f, 0x2c2f, 6188 6778 0x2c5f, 0x2c5f, … … 6202 6792 0x2dd7, 0x2dd7, 6203 6793 0x2ddf, 0x2ddf, 6204 0x2e4 3, 0x2e7f,6794 0x2e4a, 0x2e7f, 6205 6795 0x2e9a, 0x2e9a, 6206 6796 0x2ef4, 0x2eff, … … 6210 6800 0x3097, 0x3098, 6211 6801 0x3100, 0x3104, 6212 0x312 e, 0x3130,6802 0x312f, 0x3130, 6213 6803 0x318f, 0x318f, 6214 6804 0x31bb, 0x31bf, … … 6217 6807 0x32ff, 0x32ff, 6218 6808 0x4db6, 0x4dbf, 6219 0x9f cd, 0x9fff,6809 0x9feb, 0x9fff, 6220 6810 0xa48d, 0xa48f, 6221 6811 0xa4c7, 0xa4cf, 6222 6812 0xa62c, 0xa63f, 6223 0xa69e, 0xa69e,6224 6813 0xa6f8, 0xa6ff, 6225 0xa78f, 0xa78f, 6226 0xa7ae, 0xa7af, 6227 0xa7b2, 0xa7f6, 6814 0xa7af, 0xa7af, 6815 0xa7b8, 0xa7f6, 6228 6816 0xa82c, 0xa82f, 6229 6817 0xa83a, 0xa83f, 6230 6818 0xa878, 0xa87f, 6231 0xa8c 5, 0xa8cd,6819 0xa8c6, 0xa8cd, 6232 6820 0xa8da, 0xa8df, 6233 0xa8f c, 0xa8ff,6821 0xa8fe, 0xa8ff, 6234 6822 0xa954, 0xa95e, 6235 6823 0xa97d, 0xa97f, … … 6247 6835 0xab27, 0xab27, 6248 6836 0xab2f, 0xab2f, 6249 0xab60, 0xab63, 6250 0xab66, 0xabbf, 6837 0xab66, 0xab6f, 6251 6838 0xabee, 0xabef, 6252 6839 0xabfa, 0xabff, … … 6269 6856 0xfdfe, 0xfdff, 6270 6857 0xfe1a, 0xfe1f, 6271 0xfe2e, 0xfe2f,6272 6858 0xfe53, 0xfe53, 6273 6859 0xfe67, 0xfe67, … … 6293 6879 0x10103, 0x10106, 6294 6880 0x10134, 0x10136, 6295 0x1018 d, 0x1018f,6881 0x1018f, 0x1018f, 6296 6882 0x1019c, 0x1019f, 6297 6883 0x101a1, 0x101cf, … … 6300 6886 0x102d1, 0x102df, 6301 6887 0x102fc, 0x102ff, 6302 0x10324, 0x1032 f,6888 0x10324, 0x1032c, 6303 6889 0x1034b, 0x1034f, 6304 6890 0x1037b, 0x1037f, … … 6307 6893 0x103d6, 0x103ff, 6308 6894 0x1049e, 0x1049f, 6309 0x104aa, 0x104ff, 6895 0x104aa, 0x104af, 6896 0x104d4, 0x104d7, 6897 0x104fc, 0x104ff, 6310 6898 0x10528, 0x1052f, 6311 6899 0x10564, 0x1056e, … … 6321 6909 0x10856, 0x10856, 6322 6910 0x1089f, 0x108a6, 6323 0x108b0, 0x108ff, 6911 0x108b0, 0x108df, 6912 0x108f3, 0x108f3, 6913 0x108f6, 0x108fa, 6324 6914 0x1091c, 0x1091e, 6325 6915 0x1093a, 0x1093e, 6326 6916 0x10940, 0x1097f, 6327 0x109b8, 0x109b d,6328 0x109 c0, 0x109ff,6917 0x109b8, 0x109bb, 6918 0x109d0, 0x109d1, 6329 6919 0x10a04, 0x10a04, 6330 6920 0x10a07, 0x10a0b, … … 6344 6934 0x10b9d, 0x10ba8, 6345 6935 0x10bb0, 0x10bff, 6346 0x10c49, 0x10e5f, 6936 0x10c49, 0x10c7f, 6937 0x10cb3, 0x10cbf, 6938 0x10cf3, 0x10cf9, 6939 0x10d00, 0x10e5f, 6347 6940 0x10e7f, 0x10fff, 6348 6941 0x1104e, 0x11051, … … 6354 6947 0x11144, 0x1114f, 6355 6948 0x11177, 0x1117f, 6356 0x111c9, 0x111cc,6357 6949 0x111ce, 0x111cf, 6358 0x111 db, 0x111e0,6950 0x111e0, 0x111e0, 6359 6951 0x111f5, 0x111ff, 6360 6952 0x11212, 0x11212, 6361 0x1123e, 0x112af, 6953 0x1123f, 0x1127f, 6954 0x11287, 0x11287, 6955 0x11289, 0x11289, 6956 0x1128e, 0x1128e, 6957 0x1129e, 0x1129e, 6958 0x112aa, 0x112af, 6362 6959 0x112eb, 0x112ef, 6363 0x112fa, 0x11 300,6960 0x112fa, 0x112ff, 6364 6961 0x11304, 0x11304, 6365 6962 0x1130d, 0x1130e, … … 6371 6968 0x11345, 0x11346, 6372 6969 0x11349, 0x1134a, 6373 0x1134e, 0x11356, 6970 0x1134e, 0x1134f, 6971 0x11351, 0x11356, 6374 6972 0x11358, 0x1135c, 6375 6973 0x11364, 0x11365, 6376 6974 0x1136d, 0x1136f, 6377 0x11375, 0x1147f, 6975 0x11375, 0x113ff, 6976 0x1145a, 0x1145a, 6977 0x1145c, 0x1145c, 6978 0x1145e, 0x1147f, 6378 6979 0x114c8, 0x114cf, 6379 6980 0x114da, 0x1157f, 6380 6981 0x115b6, 0x115b7, 6381 0x115 ca, 0x115ff,6982 0x115de, 0x115ff, 6382 6983 0x11645, 0x1164f, 6383 0x1165a, 0x1167f, 6984 0x1165a, 0x1165f, 6985 0x1166d, 0x1167f, 6384 6986 0x116b8, 0x116bf, 6385 0x116ca, 0x1189f, 6987 0x116ca, 0x116ff, 6988 0x1171a, 0x1171c, 6989 0x1172c, 0x1172f, 6990 0x11740, 0x1189f, 6386 6991 0x118f3, 0x118fe, 6387 0x11900, 0x11abf, 6388 0x11af9, 0x11fff, 6389 0x12399, 0x123ff, 6992 0x11900, 0x119ff, 6993 0x11a48, 0x11a4f, 6994 0x11a84, 0x11a85, 6995 0x11a9d, 0x11a9d, 6996 0x11aa3, 0x11abf, 6997 0x11af9, 0x11bff, 6998 0x11c09, 0x11c09, 6999 0x11c37, 0x11c37, 7000 0x11c46, 0x11c4f, 7001 0x11c6d, 0x11c6f, 7002 0x11c90, 0x11c91, 7003 0x11ca8, 0x11ca8, 7004 0x11cb7, 0x11cff, 7005 0x11d07, 0x11d07, 7006 0x11d0a, 0x11d0a, 7007 0x11d37, 0x11d39, 7008 0x11d3b, 0x11d3b, 7009 0x11d3e, 0x11d3e, 7010 0x11d48, 0x11d4f, 7011 0x11d5a, 0x11fff, 7012 0x1239a, 0x123ff, 6390 7013 0x1246f, 0x1246f, 6391 0x12475, 0x12fff, 6392 0x1342f, 0x167ff, 7014 0x12475, 0x1247f, 7015 0x12544, 0x12fff, 7016 0x1342f, 0x143ff, 7017 0x14647, 0x167ff, 6393 7018 0x16a39, 0x16a3f, 6394 7019 0x16a5f, 0x16a5f, … … 6404 7029 0x16f45, 0x16f4f, 6405 7030 0x16f7f, 0x16f8e, 6406 0x16fa0, 0x1afff, 6407 0x1b002, 0x1bbff, 7031 0x16fa0, 0x16fdf, 7032 0x16fe2, 0x16fff, 7033 0x187ed, 0x187ff, 7034 0x18af3, 0x1afff, 7035 0x1b11f, 0x1b16f, 7036 0x1b2fc, 0x1bbff, 6408 7037 0x1bc6b, 0x1bc6f, 6409 7038 0x1bc7d, 0x1bc7f, … … 6413 7042 0x1d0f6, 0x1d0ff, 6414 7043 0x1d127, 0x1d128, 6415 0x1d1 de, 0x1d1ff,7044 0x1d1e9, 0x1d1ff, 6416 7045 0x1d246, 0x1d2ff, 6417 7046 0x1d357, 0x1d35f, … … 6437 7066 0x1d6a6, 0x1d6a7, 6438 7067 0x1d7cc, 0x1d7cd, 6439 0x1d800, 0x1e7ff, 7068 0x1da8c, 0x1da9a, 7069 0x1daa0, 0x1daa0, 7070 0x1dab0, 0x1dfff, 7071 0x1e007, 0x1e007, 7072 0x1e019, 0x1e01a, 7073 0x1e022, 0x1e022, 7074 0x1e025, 0x1e025, 7075 0x1e02b, 0x1e7ff, 6440 7076 0x1e8c5, 0x1e8c6, 6441 0x1e8d7, 0x1edff, 7077 0x1e8d7, 0x1e8ff, 7078 0x1e94b, 0x1e94f, 7079 0x1e95a, 0x1e95d, 7080 0x1e960, 0x1edff, 6442 7081 0x1ee04, 0x1ee04, 6443 7082 0x1ee20, 0x1ee20, … … 6483 7122 0x1f12f, 0x1f12f, 6484 7123 0x1f16c, 0x1f16f, 6485 0x1f1 9b, 0x1f1e5,7124 0x1f1ad, 0x1f1e5, 6486 7125 0x1f203, 0x1f20f, 6487 0x1f23 b, 0x1f23f,7126 0x1f23c, 0x1f23f, 6488 7127 0x1f249, 0x1f24f, 6489 0x1f252, 0x1f2ff, 6490 0x1f32d, 0x1f32f, 6491 0x1f37e, 0x1f37f, 6492 0x1f3cf, 0x1f3d3, 6493 0x1f3f8, 0x1f3ff, 6494 0x1f4ff, 0x1f4ff, 6495 0x1f54b, 0x1f54f, 6496 0x1f57a, 0x1f57a, 6497 0x1f5a4, 0x1f5a4, 6498 0x1f643, 0x1f644, 6499 0x1f6d0, 0x1f6df, 7128 0x1f252, 0x1f25f, 7129 0x1f266, 0x1f2ff, 7130 0x1f6d5, 0x1f6df, 6500 7131 0x1f6ed, 0x1f6ef, 6501 0x1f6f 4, 0x1f6ff,7132 0x1f6f9, 0x1f6ff, 6502 7133 0x1f774, 0x1f77f, 6503 7134 0x1f7d5, 0x1f7ff, … … 6506 7137 0x1f85a, 0x1f85f, 6507 7138 0x1f888, 0x1f88f, 6508 0x1f8ae, 0x1ffff, 7139 0x1f8ae, 0x1f8ff, 7140 0x1f90c, 0x1f90f, 7141 0x1f93f, 0x1f93f, 7142 0x1f94d, 0x1f94f, 7143 0x1f96c, 0x1f97f, 7144 0x1f998, 0x1f9bf, 7145 0x1f9c1, 0x1f9cf, 7146 0x1f9e7, 0x1ffff, 6509 7147 0x2a6d7, 0x2a6ff, 6510 7148 0x2b735, 0x2b73f, 6511 0x2b81e, 0x2f7ff, 7149 0x2b81e, 0x2b81f, 7150 0x2cea2, 0x2ceaf, 7151 0x2ebe1, 0x2f7ff, 6512 7152 0x2fa1e, 0xe0000, 6513 7153 0xe0002, 0xe001f, … … 6534 7174 /* 'L': Major Category */ 6535 7175 static const OnigCodePoint CR_L[] = { 6536 5 37,7176 585, 6537 7177 0x0041, 0x005a, 6538 7178 0x0061, 0x007a, … … 6583 7223 0x0828, 0x0828, 6584 7224 0x0840, 0x0858, 6585 0x08a0, 0x08b2, 7225 0x0860, 0x086a, 7226 0x08a0, 0x08b4, 7227 0x08b6, 0x08bd, 6586 7228 0x0904, 0x0939, 6587 7229 0x093d, 0x093d, … … 6600 7242 0x09df, 0x09e1, 6601 7243 0x09f0, 0x09f1, 7244 0x09fc, 0x09fc, 6602 7245 0x0a05, 0x0a0a, 6603 7246 0x0a0f, 0x0a10, … … 6619 7262 0x0ad0, 0x0ad0, 6620 7263 0x0ae0, 0x0ae1, 7264 0x0af9, 0x0af9, 6621 7265 0x0b05, 0x0b0c, 6622 7266 0x0b0f, 0x0b10, … … 6645 7289 0x0c2a, 0x0c39, 6646 7290 0x0c3d, 0x0c3d, 6647 0x0c58, 0x0c5 9,7291 0x0c58, 0x0c5a, 6648 7292 0x0c60, 0x0c61, 7293 0x0c80, 0x0c80, 6649 7294 0x0c85, 0x0c8c, 6650 7295 0x0c8e, 0x0c90, … … 6661 7306 0x0d3d, 0x0d3d, 6662 7307 0x0d4e, 0x0d4e, 6663 0x0d60, 0x0d61, 7308 0x0d54, 0x0d56, 7309 0x0d5f, 0x0d61, 6664 7310 0x0d7a, 0x0d7f, 6665 7311 0x0d85, 0x0d96, … … 6722 7368 0x1318, 0x135a, 6723 7369 0x1380, 0x138f, 6724 0x13a0, 0x13f4, 7370 0x13a0, 0x13f5, 7371 0x13f8, 0x13fd, 6725 7372 0x1401, 0x166c, 6726 7373 0x166f, 0x167f, … … 6738 7385 0x17dc, 0x17dc, 6739 7386 0x1820, 0x1877, 6740 0x1880, 0x18a8, 7387 0x1880, 0x1884, 7388 0x1887, 0x18a8, 6741 7389 0x18aa, 0x18aa, 6742 7390 0x18b0, 0x18f5, … … 6745 7393 0x1970, 0x1974, 6746 7394 0x1980, 0x19ab, 6747 0x19 c1, 0x19c7,7395 0x19b0, 0x19c9, 6748 7396 0x1a00, 0x1a16, 6749 7397 0x1a20, 0x1a54, … … 6757 7405 0x1c4d, 0x1c4f, 6758 7406 0x1c5a, 0x1c7d, 7407 0x1c80, 0x1c88, 6759 7408 0x1ce9, 0x1cec, 6760 7409 0x1cee, 0x1cf1, … … 6824 7473 0x30a1, 0x30fa, 6825 7474 0x30fc, 0x30ff, 6826 0x3105, 0x312 d,7475 0x3105, 0x312e, 6827 7476 0x3131, 0x318e, 6828 7477 0x31a0, 0x31ba, 6829 7478 0x31f0, 0x31ff, 6830 7479 0x3400, 0x4db5, 6831 0x4e00, 0x9f cc,7480 0x4e00, 0x9fea, 6832 7481 0xa000, 0xa48c, 6833 7482 0xa4d0, 0xa4fd, … … 6840 7489 0xa717, 0xa71f, 6841 7490 0xa722, 0xa788, 6842 0xa78b, 0xa78e, 6843 0xa790, 0xa7ad, 6844 0xa7b0, 0xa7b1, 7491 0xa78b, 0xa7ae, 7492 0xa7b0, 0xa7b7, 6845 7493 0xa7f7, 0xa801, 6846 7494 0xa803, 0xa805, … … 6851 7499 0xa8f2, 0xa8f7, 6852 7500 0xa8fb, 0xa8fb, 7501 0xa8fd, 0xa8fd, 6853 7502 0xa90a, 0xa925, 6854 7503 0xa930, 0xa946, … … 6879 7528 0xab28, 0xab2e, 6880 7529 0xab30, 0xab5a, 6881 0xab5c, 0xab5f, 6882 0xab64, 0xab65, 6883 0xabc0, 0xabe2, 7530 0xab5c, 0xab65, 7531 0xab70, 0xabe2, 6884 7532 0xac00, 0xd7a3, 6885 7533 0xd7b0, 0xd7c6, … … 6920 7568 0x102a0, 0x102d0, 6921 7569 0x10300, 0x1031f, 6922 0x103 30, 0x10340,7570 0x1032d, 0x10340, 6923 7571 0x10342, 0x10349, 6924 7572 0x10350, 0x10375, … … 6927 7575 0x103c8, 0x103cf, 6928 7576 0x10400, 0x1049d, 7577 0x104b0, 0x104d3, 7578 0x104d8, 0x104fb, 6929 7579 0x10500, 0x10527, 6930 7580 0x10530, 0x10563, … … 6940 7590 0x10860, 0x10876, 6941 7591 0x10880, 0x1089e, 7592 0x108e0, 0x108f2, 7593 0x108f4, 0x108f5, 6942 7594 0x10900, 0x10915, 6943 7595 0x10920, 0x10939, … … 6957 7609 0x10b80, 0x10b91, 6958 7610 0x10c00, 0x10c48, 7611 0x10c80, 0x10cb2, 7612 0x10cc0, 0x10cf2, 6959 7613 0x11003, 0x11037, 6960 7614 0x11083, 0x110af, … … 6966 7620 0x111c1, 0x111c4, 6967 7621 0x111da, 0x111da, 7622 0x111dc, 0x111dc, 6968 7623 0x11200, 0x11211, 6969 7624 0x11213, 0x1122b, 7625 0x11280, 0x11286, 7626 0x11288, 0x11288, 7627 0x1128a, 0x1128d, 7628 0x1128f, 0x1129d, 7629 0x1129f, 0x112a8, 6970 7630 0x112b0, 0x112de, 6971 7631 0x11305, 0x1130c, … … 6976 7636 0x11335, 0x11339, 6977 7637 0x1133d, 0x1133d, 7638 0x11350, 0x11350, 6978 7639 0x1135d, 0x11361, 7640 0x11400, 0x11434, 7641 0x11447, 0x1144a, 6979 7642 0x11480, 0x114af, 6980 7643 0x114c4, 0x114c5, 6981 7644 0x114c7, 0x114c7, 6982 7645 0x11580, 0x115ae, 7646 0x115d8, 0x115db, 6983 7647 0x11600, 0x1162f, 6984 7648 0x11644, 0x11644, 6985 7649 0x11680, 0x116aa, 7650 0x11700, 0x11719, 6986 7651 0x118a0, 0x118df, 6987 7652 0x118ff, 0x118ff, 7653 0x11a00, 0x11a00, 7654 0x11a0b, 0x11a32, 7655 0x11a3a, 0x11a3a, 7656 0x11a50, 0x11a50, 7657 0x11a5c, 0x11a83, 7658 0x11a86, 0x11a89, 6988 7659 0x11ac0, 0x11af8, 6989 0x12000, 0x12398, 7660 0x11c00, 0x11c08, 7661 0x11c0a, 0x11c2e, 7662 0x11c40, 0x11c40, 7663 0x11c72, 0x11c8f, 7664 0x11d00, 0x11d06, 7665 0x11d08, 0x11d09, 7666 0x11d0b, 0x11d30, 7667 0x11d46, 0x11d46, 7668 0x12000, 0x12399, 7669 0x12480, 0x12543, 6990 7670 0x13000, 0x1342e, 7671 0x14400, 0x14646, 6991 7672 0x16800, 0x16a38, 6992 7673 0x16a40, 0x16a5e, … … 6999 7680 0x16f50, 0x16f50, 7000 7681 0x16f93, 0x16f9f, 7001 0x1b000, 0x1b001, 7682 0x16fe0, 0x16fe1, 7683 0x17000, 0x187ec, 7684 0x18800, 0x18af2, 7685 0x1b000, 0x1b11e, 7686 0x1b170, 0x1b2fb, 7002 7687 0x1bc00, 0x1bc6a, 7003 7688 0x1bc70, 0x1bc7c, … … 7035 7720 0x1d7c4, 0x1d7cb, 7036 7721 0x1e800, 0x1e8c4, 7722 0x1e900, 0x1e943, 7037 7723 0x1ee00, 0x1ee03, 7038 7724 0x1ee05, 0x1ee1f, … … 7071 7757 0x2a700, 0x2b734, 7072 7758 0x2b740, 0x2b81d, 7759 0x2b820, 0x2cea1, 7760 0x2ceb0, 0x2ebe0, 7073 7761 0x2f800, 0x2fa1d, 7074 7762 }; /* CR_L */ … … 7076 7764 /* 'LC': General Category */ 7077 7765 static const OnigCodePoint CR_LC[] = { 7078 1 17,7766 126, 7079 7767 0x0041, 0x005a, 7080 7768 0x0061, 0x007a, … … 7102 7790 0x10c7, 0x10c7, 7103 7791 0x10cd, 0x10cd, 7792 0x13a0, 0x13f5, 7793 0x13f8, 0x13fd, 7794 0x1c80, 0x1c88, 7104 7795 0x1d00, 0x1d2b, 7105 7796 0x1d6b, 0x1d77, … … 7153 7844 0xa771, 0xa787, 7154 7845 0xa78b, 0xa78e, 7155 0xa790, 0xa7a d,7156 0xa7b0, 0xa7b 1,7846 0xa790, 0xa7ae, 7847 0xa7b0, 0xa7b7, 7157 7848 0xa7fa, 0xa7fa, 7158 7849 0xab30, 0xab5a, 7159 0xab64, 0xab65, 7850 0xab60, 0xab65, 7851 0xab70, 0xabbf, 7160 7852 0xfb00, 0xfb06, 7161 7853 0xfb13, 0xfb17, … … 7163 7855 0xff41, 0xff5a, 7164 7856 0x10400, 0x1044f, 7857 0x104b0, 0x104d3, 7858 0x104d8, 0x104fb, 7859 0x10c80, 0x10cb2, 7860 0x10cc0, 0x10cf2, 7165 7861 0x118a0, 0x118df, 7166 7862 0x1d400, 0x1d454, … … 7194 7890 0x1d7aa, 0x1d7c2, 7195 7891 0x1d7c4, 0x1d7cb, 7892 0x1e900, 0x1e943, 7196 7893 }; /* CR_LC */ 7197 7894 7198 7895 /* 'Ll': General Category */ 7199 7896 static const OnigCodePoint CR_Ll[] = { 7200 6 25,7897 633, 7201 7898 0x0061, 0x007a, 7202 7899 0x00b5, 0x00b5, … … 7469 8166 0x052f, 0x052f, 7470 8167 0x0561, 0x0587, 8168 0x13f8, 0x13fd, 8169 0x1c80, 0x1c88, 7471 8170 0x1d00, 0x1d2b, 7472 8171 0x1d6b, 0x1d77, … … 7788 8487 0xa7a7, 0xa7a7, 7789 8488 0xa7a9, 0xa7a9, 8489 0xa7b5, 0xa7b5, 8490 0xa7b7, 0xa7b7, 7790 8491 0xa7fa, 0xa7fa, 7791 8492 0xab30, 0xab5a, 7792 0xab64, 0xab65, 8493 0xab60, 0xab65, 8494 0xab70, 0xabbf, 7793 8495 0xfb00, 0xfb06, 7794 8496 0xfb13, 0xfb17, 7795 8497 0xff41, 0xff5a, 7796 8498 0x10428, 0x1044f, 8499 0x104d8, 0x104fb, 8500 0x10cc0, 0x10cf2, 7797 8501 0x118c0, 0x118df, 7798 8502 0x1d41a, 0x1d433, … … 7824 8528 0x1d7c4, 0x1d7c9, 7825 8529 0x1d7cb, 0x1d7cb, 8530 0x1e922, 0x1e943, 7826 8531 }; /* CR_Ll */ 7827 8532 7828 8533 /* 'Lm': General Category */ 7829 8534 static const OnigCodePoint CR_Lm[] = { 7830 5 6,8535 57, 7831 8536 0x02b0, 0x02c1, 7832 8537 0x02c6, 0x02d1, … … 7885 8590 0x16b40, 0x16b43, 7886 8591 0x16f93, 0x16f9f, 8592 0x16fe0, 0x16fe1, 7887 8593 }; /* CR_Lm */ 7888 8594 7889 8595 /* 'Lo': General Category */ 7890 8596 static const OnigCodePoint CR_Lo[] = { 7891 4 17,8597 459, 7892 8598 0x00aa, 0x00aa, 7893 8599 0x00ba, 0x00ba, … … 7912 8618 0x0800, 0x0815, 7913 8619 0x0840, 0x0858, 7914 0x08a0, 0x08b2, 8620 0x0860, 0x086a, 8621 0x08a0, 0x08b4, 8622 0x08b6, 0x08bd, 7915 8623 0x0904, 0x0939, 7916 8624 0x093d, 0x093d, … … 7929 8637 0x09df, 0x09e1, 7930 8638 0x09f0, 0x09f1, 8639 0x09fc, 0x09fc, 7931 8640 0x0a05, 0x0a0a, 7932 8641 0x0a0f, 0x0a10, … … 7948 8657 0x0ad0, 0x0ad0, 7949 8658 0x0ae0, 0x0ae1, 8659 0x0af9, 0x0af9, 7950 8660 0x0b05, 0x0b0c, 7951 8661 0x0b0f, 0x0b10, … … 7974 8684 0x0c2a, 0x0c39, 7975 8685 0x0c3d, 0x0c3d, 7976 0x0c58, 0x0c5 9,8686 0x0c58, 0x0c5a, 7977 8687 0x0c60, 0x0c61, 8688 0x0c80, 0x0c80, 7978 8689 0x0c85, 0x0c8c, 7979 8690 0x0c8e, 0x0c90, … … 7990 8701 0x0d3d, 0x0d3d, 7991 8702 0x0d4e, 0x0d4e, 7992 0x0d60, 0x0d61, 8703 0x0d54, 0x0d56, 8704 0x0d5f, 0x0d61, 7993 8705 0x0d7a, 0x0d7f, 7994 8706 0x0d85, 0x0d96, … … 8047 8759 0x1318, 0x135a, 8048 8760 0x1380, 0x138f, 8049 0x13a0, 0x13f4,8050 8761 0x1401, 0x166c, 8051 8762 0x166f, 0x167f, … … 8063 8774 0x1820, 0x1842, 8064 8775 0x1844, 0x1877, 8065 0x1880, 0x18a8, 8776 0x1880, 0x1884, 8777 0x1887, 0x18a8, 8066 8778 0x18aa, 0x18aa, 8067 8779 0x18b0, 0x18f5, … … 8070 8782 0x1970, 0x1974, 8071 8783 0x1980, 0x19ab, 8072 0x19 c1, 0x19c7,8784 0x19b0, 0x19c9, 8073 8785 0x1a00, 0x1a16, 8074 8786 0x1a20, 0x1a54, … … 8101 8813 0x30a1, 0x30fa, 8102 8814 0x30ff, 0x30ff, 8103 0x3105, 0x312 d,8815 0x3105, 0x312e, 8104 8816 0x3131, 0x318e, 8105 8817 0x31a0, 0x31ba, 8106 8818 0x31f0, 0x31ff, 8107 8819 0x3400, 0x4db5, 8108 0x4e00, 0x9f cc,8820 0x4e00, 0x9fea, 8109 8821 0xa000, 0xa014, 8110 8822 0xa016, 0xa48c, … … 8115 8827 0xa66e, 0xa66e, 8116 8828 0xa6a0, 0xa6e5, 8829 0xa78f, 0xa78f, 8117 8830 0xa7f7, 0xa7f7, 8118 8831 0xa7fb, 0xa801, … … 8124 8837 0xa8f2, 0xa8f7, 8125 8838 0xa8fb, 0xa8fb, 8839 0xa8fd, 0xa8fd, 8126 8840 0xa90a, 0xa925, 8127 8841 0xa930, 0xa946, … … 8188 8902 0x102a0, 0x102d0, 8189 8903 0x10300, 0x1031f, 8190 0x103 30, 0x10340,8904 0x1032d, 0x10340, 8191 8905 0x10342, 0x10349, 8192 8906 0x10350, 0x10375, … … 8208 8922 0x10860, 0x10876, 8209 8923 0x10880, 0x1089e, 8924 0x108e0, 0x108f2, 8925 0x108f4, 0x108f5, 8210 8926 0x10900, 0x10915, 8211 8927 0x10920, 0x10939, … … 8234 8950 0x111c1, 0x111c4, 8235 8951 0x111da, 0x111da, 8952 0x111dc, 0x111dc, 8236 8953 0x11200, 0x11211, 8237 8954 0x11213, 0x1122b, 8955 0x11280, 0x11286, 8956 0x11288, 0x11288, 8957 0x1128a, 0x1128d, 8958 0x1128f, 0x1129d, 8959 0x1129f, 0x112a8, 8238 8960 0x112b0, 0x112de, 8239 8961 0x11305, 0x1130c, … … 8244 8966 0x11335, 0x11339, 8245 8967 0x1133d, 0x1133d, 8968 0x11350, 0x11350, 8246 8969 0x1135d, 0x11361, 8970 0x11400, 0x11434, 8971 0x11447, 0x1144a, 8247 8972 0x11480, 0x114af, 8248 8973 0x114c4, 0x114c5, 8249 8974 0x114c7, 0x114c7, 8250 8975 0x11580, 0x115ae, 8976 0x115d8, 0x115db, 8251 8977 0x11600, 0x1162f, 8252 8978 0x11644, 0x11644, 8253 8979 0x11680, 0x116aa, 8980 0x11700, 0x11719, 8254 8981 0x118ff, 0x118ff, 8982 0x11a00, 0x11a00, 8983 0x11a0b, 0x11a32, 8984 0x11a3a, 0x11a3a, 8985 0x11a50, 0x11a50, 8986 0x11a5c, 0x11a83, 8987 0x11a86, 0x11a89, 8255 8988 0x11ac0, 0x11af8, 8256 0x12000, 0x12398, 8989 0x11c00, 0x11c08, 8990 0x11c0a, 0x11c2e, 8991 0x11c40, 0x11c40, 8992 0x11c72, 0x11c8f, 8993 0x11d00, 0x11d06, 8994 0x11d08, 0x11d09, 8995 0x11d0b, 0x11d30, 8996 0x11d46, 0x11d46, 8997 0x12000, 0x12399, 8998 0x12480, 0x12543, 8257 8999 0x13000, 0x1342e, 9000 0x14400, 0x14646, 8258 9001 0x16800, 0x16a38, 8259 9002 0x16a40, 0x16a5e, … … 8264 9007 0x16f00, 0x16f44, 8265 9008 0x16f50, 0x16f50, 8266 0x1b000, 0x1b001, 9009 0x17000, 0x187ec, 9010 0x18800, 0x18af2, 9011 0x1b000, 0x1b11e, 9012 0x1b170, 0x1b2fb, 8267 9013 0x1bc00, 0x1bc6a, 8268 9014 0x1bc70, 0x1bc7c, … … 8306 9052 0x2a700, 0x2b734, 8307 9053 0x2b740, 0x2b81d, 9054 0x2b820, 0x2cea1, 9055 0x2ceb0, 0x2ebe0, 8308 9056 0x2f800, 0x2fa1d, 8309 9057 }; /* CR_Lo */ … … 8326 9074 /* 'Lu': General Category */ 8327 9075 static const OnigCodePoint CR_Lu[] = { 8328 62 2,9076 627, 8329 9077 0x0041, 0x005a, 8330 9078 0x00c0, 0x00d6, … … 8602 9350 0x10c7, 0x10c7, 8603 9351 0x10cd, 0x10cd, 9352 0x13a0, 0x13f5, 8604 9353 0x1e00, 0x1e00, 8605 9354 0x1e02, 0x1e02, … … 8913 9662 0xa7a6, 0xa7a6, 8914 9663 0xa7a8, 0xa7a8, 8915 0xa7aa, 0xa7ad, 8916 0xa7b0, 0xa7b1, 9664 0xa7aa, 0xa7ae, 9665 0xa7b0, 0xa7b4, 9666 0xa7b6, 0xa7b6, 8917 9667 0xff21, 0xff3a, 8918 9668 0x10400, 0x10427, 9669 0x104b0, 0x104d3, 9670 0x10c80, 0x10cb2, 8919 9671 0x118a0, 0x118bf, 8920 9672 0x1d400, 0x1d419, … … 8949 9701 0x1d790, 0x1d7a8, 8950 9702 0x1d7ca, 0x1d7ca, 9703 0x1e900, 0x1e921, 8951 9704 }; /* CR_Lu */ 8952 9705 8953 9706 /* 'M': Major Category */ 8954 9707 static const OnigCodePoint CR_M[] = { 8955 2 29,9708 263, 8956 9709 0x0300, 0x036f, 8957 9710 0x0483, 0x0489, … … 8977 9730 0x0829, 0x082d, 8978 9731 0x0859, 0x085b, 8979 0x08e4, 0x0903, 9732 0x08d4, 0x08e1, 9733 0x08e3, 0x0903, 8980 9734 0x093a, 0x093c, 8981 9735 0x093e, 0x094f, … … 9003 9757 0x0acb, 0x0acd, 9004 9758 0x0ae2, 0x0ae3, 9759 0x0afa, 0x0aff, 9005 9760 0x0b01, 0x0b03, 9006 9761 0x0b3c, 0x0b3c, … … 9028 9783 0x0cd5, 0x0cd6, 9029 9784 0x0ce2, 0x0ce3, 9030 0x0d01, 0x0d03, 9785 0x0d00, 0x0d03, 9786 0x0d3b, 0x0d3c, 9031 9787 0x0d3e, 0x0d44, 9032 9788 0x0d46, 0x0d48, … … 9074 9830 0x17dd, 0x17dd, 9075 9831 0x180b, 0x180d, 9832 0x1885, 0x1886, 9076 9833 0x18a9, 0x18a9, 9077 9834 0x1920, 0x192b, 9078 9835 0x1930, 0x193b, 9079 0x19b0, 0x19c0,9080 0x19c8, 0x19c9,9081 9836 0x1a17, 0x1a1b, 9082 9837 0x1a55, 0x1a5e, … … 9095 9850 0x1ced, 0x1ced, 9096 9851 0x1cf2, 0x1cf4, 9097 0x1cf 8, 0x1cf9,9098 0x1dc0, 0x1df 5,9099 0x1df c, 0x1dff,9852 0x1cf7, 0x1cf9, 9853 0x1dc0, 0x1df9, 9854 0x1dfb, 0x1dff, 9100 9855 0x20d0, 0x20f0, 9101 9856 0x2cef, 0x2cf1, … … 9106 9861 0xa66f, 0xa672, 9107 9862 0xa674, 0xa67d, 9108 0xa69 f, 0xa69f,9863 0xa69e, 0xa69f, 9109 9864 0xa6f0, 0xa6f1, 9110 9865 0xa802, 0xa802, … … 9113 9868 0xa823, 0xa827, 9114 9869 0xa880, 0xa881, 9115 0xa8b4, 0xa8c 4,9870 0xa8b4, 0xa8c5, 9116 9871 0xa8e0, 0xa8f1, 9117 9872 0xa926, 0xa92d, … … 9135 9890 0xfb1e, 0xfb1e, 9136 9891 0xfe00, 0xfe0f, 9137 0xfe20, 0xfe2 d,9892 0xfe20, 0xfe2f, 9138 9893 0x101fd, 0x101fd, 9139 9894 0x102e0, 0x102e0, … … 9154 9909 0x11180, 0x11182, 9155 9910 0x111b3, 0x111c0, 9911 0x111ca, 0x111cc, 9156 9912 0x1122c, 0x11237, 9913 0x1123e, 0x1123e, 9157 9914 0x112df, 0x112ea, 9158 0x1130 1, 0x11303,9915 0x11300, 0x11303, 9159 9916 0x1133c, 0x1133c, 9160 9917 0x1133e, 0x11344, … … 9165 9922 0x11366, 0x1136c, 9166 9923 0x11370, 0x11374, 9924 0x11435, 0x11446, 9167 9925 0x114b0, 0x114c3, 9168 9926 0x115af, 0x115b5, 9169 9927 0x115b8, 0x115c0, 9928 0x115dc, 0x115dd, 9170 9929 0x11630, 0x11640, 9171 9930 0x116ab, 0x116b7, 9931 0x1171d, 0x1172b, 9932 0x11a01, 0x11a0a, 9933 0x11a33, 0x11a39, 9934 0x11a3b, 0x11a3e, 9935 0x11a47, 0x11a47, 9936 0x11a51, 0x11a5b, 9937 0x11a8a, 0x11a99, 9938 0x11c2f, 0x11c36, 9939 0x11c38, 0x11c3f, 9940 0x11c92, 0x11ca7, 9941 0x11ca9, 0x11cb6, 9942 0x11d31, 0x11d36, 9943 0x11d3a, 0x11d3a, 9944 0x11d3c, 0x11d3d, 9945 0x11d3f, 0x11d45, 9946 0x11d47, 0x11d47, 9172 9947 0x16af0, 0x16af4, 9173 9948 0x16b30, 0x16b36, … … 9181 9956 0x1d1aa, 0x1d1ad, 9182 9957 0x1d242, 0x1d244, 9958 0x1da00, 0x1da36, 9959 0x1da3b, 0x1da6c, 9960 0x1da75, 0x1da75, 9961 0x1da84, 0x1da84, 9962 0x1da9b, 0x1da9f, 9963 0x1daa1, 0x1daaf, 9964 0x1e000, 0x1e006, 9965 0x1e008, 0x1e018, 9966 0x1e01b, 0x1e021, 9967 0x1e023, 0x1e024, 9968 0x1e026, 0x1e02a, 9183 9969 0x1e8d0, 0x1e8d6, 9970 0x1e944, 0x1e94a, 9184 9971 0xe0100, 0xe01ef, 9185 9972 }; /* CR_M */ … … 9187 9974 /* 'Mc': General Category */ 9188 9975 static const OnigCodePoint CR_Mc[] = { 9189 1 47,9976 160, 9190 9977 0x0903, 0x0903, 9191 9978 0x093b, 0x093b, … … 9252 10039 0x1930, 0x1931, 9253 10040 0x1933, 0x1938, 9254 0x19b0, 0x19c0,9255 0x19c8, 0x19c9,9256 10041 0x1a19, 0x1a1a, 9257 10042 0x1a55, 0x1a55, … … 9277 10062 0x1ce1, 0x1ce1, 9278 10063 0x1cf2, 0x1cf3, 10064 0x1cf7, 0x1cf7, 9279 10065 0x302e, 0x302f, 9280 10066 0xa823, 0xa824, … … 9319 10105 0x11357, 0x11357, 9320 10106 0x11362, 0x11363, 10107 0x11435, 0x11437, 10108 0x11440, 0x11441, 10109 0x11445, 0x11445, 9321 10110 0x114b0, 0x114b2, 9322 10111 0x114b9, 0x114b9, … … 9332 10121 0x116ae, 0x116af, 9333 10122 0x116b6, 0x116b6, 10123 0x11720, 0x11721, 10124 0x11726, 0x11726, 10125 0x11a07, 0x11a08, 10126 0x11a39, 0x11a39, 10127 0x11a57, 0x11a58, 10128 0x11a97, 0x11a97, 10129 0x11c2f, 0x11c2f, 10130 0x11c3e, 0x11c3e, 10131 0x11ca9, 0x11ca9, 10132 0x11cb1, 0x11cb1, 10133 0x11cb4, 0x11cb4, 9334 10134 0x16f51, 0x16f7e, 9335 10135 0x1d165, 0x1d166, … … 9349 10149 /* 'Mn': General Category */ 9350 10150 static const OnigCodePoint CR_Mn[] = { 9351 255,10151 301, 9352 10152 0x0300, 0x036f, 9353 10153 0x0483, 0x0487, … … 9373 10173 0x0829, 0x082d, 9374 10174 0x0859, 0x085b, 9375 0x08e4, 0x0902, 10175 0x08d4, 0x08e1, 10176 0x08e3, 0x0902, 9376 10177 0x093a, 0x093a, 9377 10178 0x093c, 0x093c, … … 9399 10200 0x0acd, 0x0acd, 9400 10201 0x0ae2, 0x0ae3, 10202 0x0afa, 0x0aff, 9401 10203 0x0b01, 0x0b01, 9402 10204 0x0b3c, 0x0b3c, … … 9421 10223 0x0ccc, 0x0ccd, 9422 10224 0x0ce2, 0x0ce3, 9423 0x0d01, 0x0d01, 10225 0x0d00, 0x0d01, 10226 0x0d3b, 0x0d3c, 9424 10227 0x0d41, 0x0d44, 9425 10228 0x0d4d, 0x0d4d, … … 9467 10270 0x17dd, 0x17dd, 9468 10271 0x180b, 0x180d, 10272 0x1885, 0x1886, 9469 10273 0x18a9, 0x18a9, 9470 10274 0x1920, 0x1922, … … 9504 10308 0x1cf4, 0x1cf4, 9505 10309 0x1cf8, 0x1cf9, 9506 0x1dc0, 0x1df 5,9507 0x1df c, 0x1dff,10310 0x1dc0, 0x1df9, 10311 0x1dfb, 0x1dff, 9508 10312 0x20d0, 0x20dc, 9509 10313 0x20e1, 0x20e1, … … 9516 10320 0xa66f, 0xa66f, 9517 10321 0xa674, 0xa67d, 9518 0xa69 f, 0xa69f,10322 0xa69e, 0xa69f, 9519 10323 0xa6f0, 0xa6f1, 9520 10324 0xa802, 0xa802, … … 9522 10326 0xa80b, 0xa80b, 9523 10327 0xa825, 0xa826, 9524 0xa8c4, 0xa8c 4,10328 0xa8c4, 0xa8c5, 9525 10329 0xa8e0, 0xa8f1, 9526 10330 0xa926, 0xa92d, … … 9549 10353 0xfb1e, 0xfb1e, 9550 10354 0xfe00, 0xfe0f, 9551 0xfe20, 0xfe2 d,10355 0xfe20, 0xfe2f, 9552 10356 0x101fd, 0x101fd, 9553 10357 0x102e0, 0x102e0, … … 9570 10374 0x11180, 0x11181, 9571 10375 0x111b6, 0x111be, 10376 0x111ca, 0x111cc, 9572 10377 0x1122f, 0x11231, 9573 10378 0x11234, 0x11234, 9574 10379 0x11236, 0x11237, 10380 0x1123e, 0x1123e, 9575 10381 0x112df, 0x112df, 9576 10382 0x112e3, 0x112ea, 9577 0x1130 1, 0x11301,10383 0x11300, 0x11301, 9578 10384 0x1133c, 0x1133c, 9579 10385 0x11340, 0x11340, 9580 10386 0x11366, 0x1136c, 9581 10387 0x11370, 0x11374, 10388 0x11438, 0x1143f, 10389 0x11442, 0x11444, 10390 0x11446, 0x11446, 9582 10391 0x114b3, 0x114b8, 9583 10392 0x114ba, 0x114ba, … … 9587 10396 0x115bc, 0x115bd, 9588 10397 0x115bf, 0x115c0, 10398 0x115dc, 0x115dd, 9589 10399 0x11633, 0x1163a, 9590 10400 0x1163d, 0x1163d, … … 9594 10404 0x116b0, 0x116b5, 9595 10405 0x116b7, 0x116b7, 10406 0x1171d, 0x1171f, 10407 0x11722, 0x11725, 10408 0x11727, 0x1172b, 10409 0x11a01, 0x11a06, 10410 0x11a09, 0x11a0a, 10411 0x11a33, 0x11a38, 10412 0x11a3b, 0x11a3e, 10413 0x11a47, 0x11a47, 10414 0x11a51, 0x11a56, 10415 0x11a59, 0x11a5b, 10416 0x11a8a, 0x11a96, 10417 0x11a98, 0x11a99, 10418 0x11c30, 0x11c36, 10419 0x11c38, 0x11c3d, 10420 0x11c3f, 0x11c3f, 10421 0x11c92, 0x11ca7, 10422 0x11caa, 0x11cb0, 10423 0x11cb2, 0x11cb3, 10424 0x11cb5, 0x11cb6, 10425 0x11d31, 0x11d36, 10426 0x11d3a, 0x11d3a, 10427 0x11d3c, 0x11d3d, 10428 0x11d3f, 0x11d45, 10429 0x11d47, 0x11d47, 9596 10430 0x16af0, 0x16af4, 9597 10431 0x16b30, 0x16b36, … … 9603 10437 0x1d1aa, 0x1d1ad, 9604 10438 0x1d242, 0x1d244, 10439 0x1da00, 0x1da36, 10440 0x1da3b, 0x1da6c, 10441 0x1da75, 0x1da75, 10442 0x1da84, 0x1da84, 10443 0x1da9b, 0x1da9f, 10444 0x1daa1, 0x1daaf, 10445 0x1e000, 0x1e006, 10446 0x1e008, 0x1e018, 10447 0x1e01b, 0x1e021, 10448 0x1e023, 0x1e024, 10449 0x1e026, 0x1e02a, 9605 10450 0x1e8d0, 0x1e8d6, 10451 0x1e944, 0x1e94a, 9606 10452 0xe0100, 0xe01ef, 9607 10453 }; /* CR_Mn */ … … 9609 10455 /* 'N': Major Category */ 9610 10456 static const OnigCodePoint CR_N[] = { 9611 1 05,10457 116, 9612 10458 0x0030, 0x0039, 9613 10459 0x00b2, 0x00b3, … … 9628 10474 0x0c78, 0x0c7e, 9629 10475 0x0ce6, 0x0cef, 9630 0x0d66, 0x0d75, 10476 0x0d58, 0x0d5e, 10477 0x0d66, 0x0d78, 9631 10478 0x0de6, 0x0def, 9632 10479 0x0e50, 0x0e59, … … 9688 10535 0x10879, 0x1087f, 9689 10536 0x108a7, 0x108af, 10537 0x108fb, 0x108ff, 9690 10538 0x10916, 0x1091b, 10539 0x109bc, 0x109bd, 10540 0x109c0, 0x109cf, 10541 0x109d2, 0x109ff, 9691 10542 0x10a40, 0x10a47, 9692 10543 0x10a7d, 0x10a7e, … … 9696 10547 0x10b78, 0x10b7f, 9697 10548 0x10ba9, 0x10baf, 10549 0x10cfa, 0x10cff, 9698 10550 0x10e60, 0x10e7e, 9699 10551 0x11052, 0x1106f, … … 9703 10555 0x111e1, 0x111f4, 9704 10556 0x112f0, 0x112f9, 10557 0x11450, 0x11459, 9705 10558 0x114d0, 0x114d9, 9706 10559 0x11650, 0x11659, 9707 10560 0x116c0, 0x116c9, 10561 0x11730, 0x1173b, 9708 10562 0x118e0, 0x118f2, 10563 0x11c50, 0x11c6c, 10564 0x11d50, 0x11d59, 9709 10565 0x12400, 0x1246e, 9710 10566 0x16a60, 0x16a69, … … 9714 10570 0x1d7ce, 0x1d7ff, 9715 10571 0x1e8c7, 0x1e8cf, 10572 0x1e950, 0x1e959, 9716 10573 0x1f100, 0x1f10c, 9717 10574 }; /* CR_N */ … … 9739 10596 /* 'No': General Category */ 9740 10597 static const OnigCodePoint CR_No[] = { 9741 52,10598 60, 9742 10599 0x00b2, 0x00b3, 9743 10600 0x00b9, 0x00b9, … … 9747 10604 0x0bf0, 0x0bf2, 9748 10605 0x0c78, 0x0c7e, 9749 0x0d70, 0x0d75, 10606 0x0d58, 0x0d5e, 10607 0x0d70, 0x0d78, 9750 10608 0x0f2a, 0x0f33, 9751 10609 0x1369, 0x137c, … … 9776 10634 0x10879, 0x1087f, 9777 10635 0x108a7, 0x108af, 10636 0x108fb, 0x108ff, 9778 10637 0x10916, 0x1091b, 10638 0x109bc, 0x109bd, 10639 0x109c0, 0x109cf, 10640 0x109d2, 0x109ff, 9779 10641 0x10a40, 0x10a47, 9780 10642 0x10a7d, 0x10a7e, … … 9784 10646 0x10b78, 0x10b7f, 9785 10647 0x10ba9, 0x10baf, 10648 0x10cfa, 0x10cff, 9786 10649 0x10e60, 0x10e7e, 9787 10650 0x11052, 0x11065, 9788 10651 0x111e1, 0x111f4, 10652 0x1173a, 0x1173b, 9789 10653 0x118ea, 0x118f2, 10654 0x11c5a, 0x11c6c, 9790 10655 0x16b5b, 0x16b61, 9791 10656 0x1d360, 0x1d371, … … 9940 10805 /* 'Po': General Category */ 9941 10806 static const OnigCodePoint CR_Po[] = { 9942 1 51,10807 169, 9943 10808 0x0021, 0x0023, 9944 10809 0x0025, 0x0027, … … 9973 10838 0x0964, 0x0965, 9974 10839 0x0970, 0x0970, 10840 0x09fd, 0x09fd, 9975 10841 0x0af0, 0x0af0, 9976 10842 0x0df4, 0x0df4, … … 10024 10890 0x2e3c, 0x2e3f, 10025 10891 0x2e41, 0x2e41, 10892 0x2e43, 0x2e49, 10026 10893 0x3001, 0x3003, 10027 10894 0x303d, 0x303d, … … 10035 10902 0xa8ce, 0xa8cf, 10036 10903 0xa8f8, 0xa8fa, 10904 0xa8fc, 0xa8fc, 10037 10905 0xa92e, 0xa92f, 10038 10906 0xa95f, 0xa95f, … … 10080 10948 0x11140, 0x11143, 10081 10949 0x11174, 0x11175, 10082 0x111c5, 0x111c 8,10950 0x111c5, 0x111c9, 10083 10951 0x111cd, 0x111cd, 10952 0x111db, 0x111db, 10953 0x111dd, 0x111df, 10084 10954 0x11238, 0x1123d, 10955 0x112a9, 0x112a9, 10956 0x1144b, 0x1144f, 10957 0x1145b, 0x1145b, 10958 0x1145d, 0x1145d, 10085 10959 0x114c6, 0x114c6, 10086 0x115c1, 0x115 c9,10960 0x115c1, 0x115d7, 10087 10961 0x11641, 0x11643, 10962 0x11660, 0x1166c, 10963 0x1173c, 0x1173e, 10964 0x11a3f, 0x11a46, 10965 0x11a9a, 0x11a9c, 10966 0x11a9e, 0x11aa2, 10967 0x11c41, 0x11c45, 10968 0x11c70, 0x11c71, 10088 10969 0x12470, 0x12474, 10089 10970 0x16a6e, 0x16a6f, … … 10092 10973 0x16b44, 0x16b44, 10093 10974 0x1bc9f, 0x1bc9f, 10975 0x1da87, 0x1da8b, 10976 0x1e95e, 0x1e95f, 10094 10977 }; /* CR_Po */ 10095 10978 … … 10176 11059 /* 'S': Major Category */ 10177 11060 static const OnigCodePoint CR_S[] = { 10178 21 0,11061 217, 10179 11062 0x0024, 0x0024, 10180 11063 0x002b, 0x002b, … … 10215 11098 0x0bf3, 0x0bfa, 10216 11099 0x0c7f, 0x0c7f, 11100 0x0d4f, 0x0d4f, 10217 11101 0x0d79, 0x0d79, 10218 11102 0x0e3f, 0x0e3f, … … 10245 11129 0x207a, 0x207c, 10246 11130 0x208a, 0x208c, 10247 0x20a0, 0x20b d,11131 0x20a0, 0x20bf, 10248 11132 0x2100, 0x2101, 10249 11133 0x2103, 0x2106, … … 10260 11144 0x214a, 0x214d, 10261 11145 0x214f, 0x214f, 11146 0x218a, 0x218b, 10262 11147 0x2190, 0x2307, 10263 11148 0x230c, 0x2328, 10264 0x232b, 0x23fa, 10265 0x2400, 0x2426, 11149 0x232b, 0x2426, 10266 11150 0x2440, 0x244a, 10267 11151 0x249c, 0x24e9, … … 10276 11160 0x2b98, 0x2bb9, 10277 11161 0x2bbd, 0x2bc8, 10278 0x2bca, 0x2bd1, 11162 0x2bca, 0x2bd2, 11163 0x2bec, 0x2bef, 10279 11164 0x2ce5, 0x2cea, 10280 11165 0x2e80, 0x2e99, … … 10325 11210 0x10137, 0x1013f, 10326 11211 0x10179, 0x10189, 10327 0x1018c, 0x1018 c,11212 0x1018c, 0x1018e, 10328 11213 0x10190, 0x1019b, 10329 11214 0x101a0, 0x101a0, … … 10331 11216 0x10877, 0x10878, 10332 11217 0x10ac8, 0x10ac8, 11218 0x1173f, 0x1173f, 10333 11219 0x16b3c, 0x16b3f, 10334 11220 0x16b45, 0x16b45, … … 10340 11226 0x1d183, 0x1d184, 10341 11227 0x1d18c, 0x1d1a9, 10342 0x1d1ae, 0x1d1 dd,11228 0x1d1ae, 0x1d1e8, 10343 11229 0x1d200, 0x1d241, 10344 11230 0x1d245, 0x1d245, … … 10354 11240 0x1d7a9, 0x1d7a9, 10355 11241 0x1d7c3, 0x1d7c3, 11242 0x1d800, 0x1d9ff, 11243 0x1da37, 0x1da3a, 11244 0x1da6d, 0x1da74, 11245 0x1da76, 0x1da83, 11246 0x1da85, 0x1da86, 10356 11247 0x1eef0, 0x1eef1, 10357 11248 0x1f000, 0x1f02b, … … 10363 11254 0x1f110, 0x1f12e, 10364 11255 0x1f130, 0x1f16b, 10365 0x1f170, 0x1f1 9a,11256 0x1f170, 0x1f1ac, 10366 11257 0x1f1e6, 0x1f202, 10367 0x1f210, 0x1f23 a,11258 0x1f210, 0x1f23b, 10368 11259 0x1f240, 0x1f248, 10369 11260 0x1f250, 0x1f251, 10370 0x1f300, 0x1f32c, 10371 0x1f330, 0x1f37d, 10372 0x1f380, 0x1f3ce, 10373 0x1f3d4, 0x1f3f7, 10374 0x1f400, 0x1f4fe, 10375 0x1f500, 0x1f54a, 10376 0x1f550, 0x1f579, 10377 0x1f57b, 0x1f5a3, 10378 0x1f5a5, 0x1f642, 10379 0x1f645, 0x1f6cf, 11261 0x1f260, 0x1f265, 11262 0x1f300, 0x1f6d4, 10380 11263 0x1f6e0, 0x1f6ec, 10381 0x1f6f0, 0x1f6f 3,11264 0x1f6f0, 0x1f6f8, 10382 11265 0x1f700, 0x1f773, 10383 11266 0x1f780, 0x1f7d4, … … 10387 11270 0x1f860, 0x1f887, 10388 11271 0x1f890, 0x1f8ad, 11272 0x1f900, 0x1f90b, 11273 0x1f910, 0x1f93e, 11274 0x1f940, 0x1f94c, 11275 0x1f950, 0x1f96b, 11276 0x1f980, 0x1f997, 11277 0x1f9c0, 0x1f9c0, 11278 0x1f9d0, 0x1f9e6, 10389 11279 }; /* CR_S */ 10390 11280 … … 10402 11292 0x0e3f, 0x0e3f, 10403 11293 0x17db, 0x17db, 10404 0x20a0, 0x20b d,11294 0x20a0, 0x20bf, 10405 11295 0xa838, 0xa838, 10406 11296 0xfdfc, 0xfdfc, … … 10413 11303 /* 'Sk': General Category */ 10414 11304 static const OnigCodePoint CR_Sk[] = { 10415 2 8,11305 29, 10416 11306 0x005e, 0x005e, 10417 11307 0x0060, 0x0060, … … 10442 11332 0xff40, 0xff40, 10443 11333 0xffe3, 0xffe3, 11334 0x1f3fb, 0x1f3ff, 10444 11335 }; /* CR_Sk */ 10445 11336 … … 10515 11406 /* 'So': General Category */ 10516 11407 static const OnigCodePoint CR_So[] = { 10517 1 65,11408 173, 10518 11409 0x00a6, 0x00a6, 10519 11410 0x00a9, 0x00a9, … … 10532 11423 0x0bfa, 0x0bfa, 10533 11424 0x0c7f, 0x0c7f, 11425 0x0d4f, 0x0d4f, 10534 11426 0x0d79, 0x0d79, 10535 11427 0x0f01, 0x0f03, … … 10564 11456 0x214c, 0x214d, 10565 11457 0x214f, 0x214f, 11458 0x218a, 0x218b, 10566 11459 0x2195, 0x2199, 10567 11460 0x219c, 0x219f, … … 10579 11472 0x237d, 0x239a, 10580 11473 0x23b4, 0x23db, 10581 0x23e2, 0x23fa, 10582 0x2400, 0x2426, 11474 0x23e2, 0x2426, 10583 11475 0x2440, 0x244a, 10584 11476 0x249c, 0x24e9, … … 10596 11488 0x2b98, 0x2bb9, 10597 11489 0x2bbd, 0x2bc8, 10598 0x2bca, 0x2bd1, 11490 0x2bca, 0x2bd2, 11491 0x2bec, 0x2bef, 10599 11492 0x2ce5, 0x2cea, 10600 11493 0x2e80, 0x2e99, … … 10630 11523 0x10137, 0x1013f, 10631 11524 0x10179, 0x10189, 10632 0x1018c, 0x1018 c,11525 0x1018c, 0x1018e, 10633 11526 0x10190, 0x1019b, 10634 11527 0x101a0, 0x101a0, … … 10636 11529 0x10877, 0x10878, 10637 11530 0x10ac8, 0x10ac8, 11531 0x1173f, 0x1173f, 10638 11532 0x16b3c, 0x16b3f, 10639 11533 0x16b45, 0x16b45, … … 10645 11539 0x1d183, 0x1d184, 10646 11540 0x1d18c, 0x1d1a9, 10647 0x1d1ae, 0x1d1 dd,11541 0x1d1ae, 0x1d1e8, 10648 11542 0x1d200, 0x1d241, 10649 11543 0x1d245, 0x1d245, 10650 11544 0x1d300, 0x1d356, 11545 0x1d800, 0x1d9ff, 11546 0x1da37, 0x1da3a, 11547 0x1da6d, 0x1da74, 11548 0x1da76, 0x1da83, 11549 0x1da85, 0x1da86, 10651 11550 0x1f000, 0x1f02b, 10652 11551 0x1f030, 0x1f093, … … 10657 11556 0x1f110, 0x1f12e, 10658 11557 0x1f130, 0x1f16b, 10659 0x1f170, 0x1f1 9a,11558 0x1f170, 0x1f1ac, 10660 11559 0x1f1e6, 0x1f202, 10661 0x1f210, 0x1f23 a,11560 0x1f210, 0x1f23b, 10662 11561 0x1f240, 0x1f248, 10663 11562 0x1f250, 0x1f251, 10664 0x1f300, 0x1f32c, 10665 0x1f330, 0x1f37d, 10666 0x1f380, 0x1f3ce, 10667 0x1f3d4, 0x1f3f7, 10668 0x1f400, 0x1f4fe, 10669 0x1f500, 0x1f54a, 10670 0x1f550, 0x1f579, 10671 0x1f57b, 0x1f5a3, 10672 0x1f5a5, 0x1f642, 10673 0x1f645, 0x1f6cf, 11563 0x1f260, 0x1f265, 11564 0x1f300, 0x1f3fa, 11565 0x1f400, 0x1f6d4, 10674 11566 0x1f6e0, 0x1f6ec, 10675 0x1f6f0, 0x1f6f 3,11567 0x1f6f0, 0x1f6f8, 10676 11568 0x1f700, 0x1f773, 10677 11569 0x1f780, 0x1f7d4, … … 10681 11573 0x1f860, 0x1f887, 10682 11574 0x1f890, 0x1f8ad, 11575 0x1f900, 0x1f90b, 11576 0x1f910, 0x1f93e, 11577 0x1f940, 0x1f94c, 11578 0x1f950, 0x1f96b, 11579 0x1f980, 0x1f997, 11580 0x1f9c0, 0x1f9c0, 11581 0x1f9d0, 0x1f9e6, 10683 11582 }; /* CR_So */ 10684 11583 … … 10874 11773 /* 'Cased': Derived Property */ 10875 11774 static const OnigCodePoint CR_Cased[] = { 10876 1 27,11775 135, 10877 11776 0x0041, 0x005a, 10878 11777 0x0061, 0x007a, … … 10905 11804 0x10c7, 0x10c7, 10906 11805 0x10cd, 0x10cd, 11806 0x13a0, 0x13f5, 11807 0x13f8, 0x13fd, 11808 0x1c80, 0x1c88, 10907 11809 0x1d00, 0x1dbf, 10908 11810 0x1e00, 0x1f15, … … 10957 11859 0xa722, 0xa787, 10958 11860 0xa78b, 0xa78e, 10959 0xa790, 0xa7a d,10960 0xa7b0, 0xa7b 1,11861 0xa790, 0xa7ae, 11862 0xa7b0, 0xa7b7, 10961 11863 0xa7f8, 0xa7fa, 10962 11864 0xab30, 0xab5a, 10963 0xab5c, 0xab 5f,10964 0xab 64, 0xab65,11865 0xab5c, 0xab65, 11866 0xab70, 0xabbf, 10965 11867 0xfb00, 0xfb06, 10966 11868 0xfb13, 0xfb17, … … 10968 11870 0xff41, 0xff5a, 10969 11871 0x10400, 0x1044f, 11872 0x104b0, 0x104d3, 11873 0x104d8, 0x104fb, 11874 0x10c80, 0x10cb2, 11875 0x10cc0, 0x10cf2, 10970 11876 0x118a0, 0x118df, 10971 11877 0x1d400, 0x1d454, … … 10999 11905 0x1d7aa, 0x1d7c2, 11000 11906 0x1d7c4, 0x1d7cb, 11907 0x1e900, 0x1e943, 11001 11908 0x1f130, 0x1f149, 11002 11909 0x1f150, 0x1f169, … … 11006 11913 /* 'Case_Ignorable': Derived Property */ 11007 11914 static const OnigCodePoint CR_Case_Ignorable[] = { 11008 3 35,11915 381, 11009 11916 0x0027, 0x0027, 11010 11917 0x002e, 0x002e, … … 11047 11954 0x0816, 0x082d, 11048 11955 0x0859, 0x085b, 11049 0x08 e4, 0x0902,11956 0x08d4, 0x0902, 11050 11957 0x093a, 0x093a, 11051 11958 0x093c, 0x093c, … … 11074 11981 0x0acd, 0x0acd, 11075 11982 0x0ae2, 0x0ae3, 11983 0x0afa, 0x0aff, 11076 11984 0x0b01, 0x0b01, 11077 11985 0x0b3c, 0x0b3c, … … 11096 12004 0x0ccc, 0x0ccd, 11097 12005 0x0ce2, 0x0ce3, 11098 0x0d01, 0x0d01, 12006 0x0d00, 0x0d01, 12007 0x0d3b, 0x0d3c, 11099 12008 0x0d41, 0x0d44, 11100 12009 0x0d4d, 0x0d4d, … … 11146 12055 0x180b, 0x180e, 11147 12056 0x1843, 0x1843, 12057 0x1885, 0x1886, 11148 12058 0x18a9, 0x18a9, 11149 12059 0x1920, 0x1922, … … 11187 12097 0x1d2c, 0x1d6a, 11188 12098 0x1d78, 0x1d78, 11189 0x1d9b, 0x1df 5,11190 0x1df c, 0x1dff,12099 0x1d9b, 0x1df9, 12100 0x1dfb, 0x1dff, 11191 12101 0x1fbd, 0x1fbd, 11192 12102 0x1fbf, 0x1fc1, … … 11224 12134 0xa674, 0xa67d, 11225 12135 0xa67f, 0xa67f, 11226 0xa69c, 0xa69d, 11227 0xa69f, 0xa69f, 12136 0xa69c, 0xa69f, 11228 12137 0xa6f0, 0xa6f1, 11229 12138 0xa700, 0xa721, … … 11235 12144 0xa80b, 0xa80b, 11236 12145 0xa825, 0xa826, 11237 0xa8c4, 0xa8c 4,12146 0xa8c4, 0xa8c5, 11238 12147 0xa8e0, 0xa8f1, 11239 12148 0xa926, 0xa92d, … … 11269 12178 0xfe00, 0xfe0f, 11270 12179 0xfe13, 0xfe13, 11271 0xfe20, 0xfe2 d,12180 0xfe20, 0xfe2f, 11272 12181 0xfe52, 0xfe52, 11273 12182 0xfe55, 0xfe55, … … 11303 12212 0x11180, 0x11181, 11304 12213 0x111b6, 0x111be, 12214 0x111ca, 0x111cc, 11305 12215 0x1122f, 0x11231, 11306 12216 0x11234, 0x11234, 11307 12217 0x11236, 0x11237, 12218 0x1123e, 0x1123e, 11308 12219 0x112df, 0x112df, 11309 12220 0x112e3, 0x112ea, 11310 0x1130 1, 0x11301,12221 0x11300, 0x11301, 11311 12222 0x1133c, 0x1133c, 11312 12223 0x11340, 0x11340, 11313 12224 0x11366, 0x1136c, 11314 12225 0x11370, 0x11374, 12226 0x11438, 0x1143f, 12227 0x11442, 0x11444, 12228 0x11446, 0x11446, 11315 12229 0x114b3, 0x114b8, 11316 12230 0x114ba, 0x114ba, … … 11320 12234 0x115bc, 0x115bd, 11321 12235 0x115bf, 0x115c0, 12236 0x115dc, 0x115dd, 11322 12237 0x11633, 0x1163a, 11323 12238 0x1163d, 0x1163d, … … 11327 12242 0x116b0, 0x116b5, 11328 12243 0x116b7, 0x116b7, 12244 0x1171d, 0x1171f, 12245 0x11722, 0x11725, 12246 0x11727, 0x1172b, 12247 0x11a01, 0x11a06, 12248 0x11a09, 0x11a0a, 12249 0x11a33, 0x11a38, 12250 0x11a3b, 0x11a3e, 12251 0x11a47, 0x11a47, 12252 0x11a51, 0x11a56, 12253 0x11a59, 0x11a5b, 12254 0x11a8a, 0x11a96, 12255 0x11a98, 0x11a99, 12256 0x11c30, 0x11c36, 12257 0x11c38, 0x11c3d, 12258 0x11c3f, 0x11c3f, 12259 0x11c92, 0x11ca7, 12260 0x11caa, 0x11cb0, 12261 0x11cb2, 0x11cb3, 12262 0x11cb5, 0x11cb6, 12263 0x11d31, 0x11d36, 12264 0x11d3a, 0x11d3a, 12265 0x11d3c, 0x11d3d, 12266 0x11d3f, 0x11d45, 12267 0x11d47, 0x11d47, 11329 12268 0x16af0, 0x16af4, 11330 12269 0x16b30, 0x16b36, 11331 12270 0x16b40, 0x16b43, 11332 12271 0x16f8f, 0x16f9f, 12272 0x16fe0, 0x16fe1, 11333 12273 0x1bc9d, 0x1bc9e, 11334 12274 0x1bca0, 0x1bca3, … … 11338 12278 0x1d1aa, 0x1d1ad, 11339 12279 0x1d242, 0x1d244, 12280 0x1da00, 0x1da36, 12281 0x1da3b, 0x1da6c, 12282 0x1da75, 0x1da75, 12283 0x1da84, 0x1da84, 12284 0x1da9b, 0x1da9f, 12285 0x1daa1, 0x1daaf, 12286 0x1e000, 0x1e006, 12287 0x1e008, 0x1e018, 12288 0x1e01b, 0x1e021, 12289 0x1e023, 0x1e024, 12290 0x1e026, 0x1e02a, 11340 12291 0x1e8d0, 0x1e8d6, 12292 0x1e944, 0x1e94a, 12293 0x1f3fb, 0x1f3ff, 11341 12294 0xe0001, 0xe0001, 11342 12295 0xe0020, 0xe007f, … … 11346 12299 /* 'Changes_When_Lowercased': Derived Property */ 11347 12300 static const OnigCodePoint CR_Changes_When_Lowercased[] = { 11348 5 85,12301 590, 11349 12302 0x0041, 0x005a, 11350 12303 0x00c0, 0x00d6, … … 11621 12574 0x10c7, 0x10c7, 11622 12575 0x10cd, 0x10cd, 12576 0x13a0, 0x13f5, 11623 12577 0x1e00, 0x1e00, 11624 12578 0x1e02, 0x1e02, … … 11927 12881 0xa7a6, 0xa7a6, 11928 12882 0xa7a8, 0xa7a8, 11929 0xa7aa, 0xa7ad, 11930 0xa7b0, 0xa7b1, 12883 0xa7aa, 0xa7ae, 12884 0xa7b0, 0xa7b4, 12885 0xa7b6, 0xa7b6, 11931 12886 0xff21, 0xff3a, 11932 12887 0x10400, 0x10427, 12888 0x104b0, 0x104d3, 12889 0x10c80, 0x10cb2, 11933 12890 0x118a0, 0x118bf, 12891 0x1e900, 0x1e921, 11934 12892 }; /* CR_Changes_When_Lowercased */ 11935 12893 11936 12894 /* 'Changes_When_Uppercased': Derived Property */ 11937 12895 static const OnigCodePoint CR_Changes_When_Uppercased[] = { 11938 599,12896 607, 11939 12897 0x0061, 0x007a, 11940 12898 0x00b5, 0x00b5, … … 12087 13045 0x0263, 0x0263, 12088 13046 0x0265, 0x0266, 12089 0x0268, 0x0269, 12090 0x026b, 0x026c, 13047 0x0268, 0x026c, 12091 13048 0x026f, 0x026f, 12092 13049 0x0271, 0x0272, … … 12097 13054 0x0287, 0x028c, 12098 13055 0x0292, 0x0292, 12099 0x029 e, 0x029e,13056 0x029d, 0x029e, 12100 13057 0x0345, 0x0345, 12101 13058 0x0371, 0x0371, … … 12223 13180 0x052f, 0x052f, 12224 13181 0x0561, 0x0587, 13182 0x13f8, 0x13fd, 13183 0x1c80, 0x1c88, 12225 13184 0x1d79, 0x1d79, 12226 13185 0x1d7d, 0x1d7d, … … 12531 13490 0xa7a7, 0xa7a7, 12532 13491 0xa7a9, 0xa7a9, 13492 0xa7b5, 0xa7b5, 13493 0xa7b7, 0xa7b7, 13494 0xab53, 0xab53, 13495 0xab70, 0xabbf, 12533 13496 0xfb00, 0xfb06, 12534 13497 0xfb13, 0xfb17, 12535 13498 0xff41, 0xff5a, 12536 13499 0x10428, 0x1044f, 13500 0x104d8, 0x104fb, 13501 0x10cc0, 0x10cf2, 12537 13502 0x118c0, 0x118df, 13503 0x1e922, 0x1e943, 12538 13504 }; /* CR_Changes_When_Uppercased */ 12539 13505 12540 13506 /* 'Changes_When_Titlecased': Derived Property */ 12541 13507 static const OnigCodePoint CR_Changes_When_Titlecased[] = { 12542 60 0,13508 608, 12543 13509 0x0061, 0x007a, 12544 13510 0x00b5, 0x00b5, … … 12692 13658 0x0263, 0x0263, 12693 13659 0x0265, 0x0266, 12694 0x0268, 0x0269, 12695 0x026b, 0x026c, 13660 0x0268, 0x026c, 12696 13661 0x026f, 0x026f, 12697 13662 0x0271, 0x0272, … … 12702 13667 0x0287, 0x028c, 12703 13668 0x0292, 0x0292, 12704 0x029 e, 0x029e,13669 0x029d, 0x029e, 12705 13670 0x0345, 0x0345, 12706 13671 0x0371, 0x0371, … … 12828 13793 0x052f, 0x052f, 12829 13794 0x0561, 0x0587, 13795 0x13f8, 0x13fd, 13796 0x1c80, 0x1c88, 12830 13797 0x1d79, 0x1d79, 12831 13798 0x1d7d, 0x1d7d, … … 13136 14103 0xa7a7, 0xa7a7, 13137 14104 0xa7a9, 0xa7a9, 14105 0xa7b5, 0xa7b5, 14106 0xa7b7, 0xa7b7, 14107 0xab53, 0xab53, 14108 0xab70, 0xabbf, 13138 14109 0xfb00, 0xfb06, 13139 14110 0xfb13, 0xfb17, 13140 14111 0xff41, 0xff5a, 13141 14112 0x10428, 0x1044f, 14113 0x104d8, 0x104fb, 14114 0x10cc0, 0x10cf2, 13142 14115 0x118c0, 0x118df, 14116 0x1e922, 0x1e943, 13143 14117 }; /* CR_Changes_When_Titlecased */ 13144 14118 13145 14119 /* 'Changes_When_Casefolded': Derived Property */ 13146 14120 static const OnigCodePoint CR_Changes_When_Casefolded[] = { 13147 596,14121 603, 13148 14122 0x0041, 0x005a, 13149 14123 0x00b5, 0x00b5, … … 13427 14401 0x10c7, 0x10c7, 13428 14402 0x10cd, 0x10cd, 14403 0x13f8, 0x13fd, 14404 0x1c80, 0x1c88, 13429 14405 0x1e00, 0x1e00, 13430 14406 0x1e02, 0x1e02, … … 13735 14711 0xa7a6, 0xa7a6, 13736 14712 0xa7a8, 0xa7a8, 13737 0xa7aa, 0xa7ad, 13738 0xa7b0, 0xa7b1, 14713 0xa7aa, 0xa7ae, 14714 0xa7b0, 0xa7b4, 14715 0xa7b6, 0xa7b6, 14716 0xab70, 0xabbf, 13739 14717 0xfb00, 0xfb06, 13740 14718 0xfb13, 0xfb17, 13741 14719 0xff21, 0xff3a, 13742 14720 0x10400, 0x10427, 14721 0x104b0, 0x104d3, 14722 0x10c80, 0x10cb2, 13743 14723 0x118a0, 0x118bf, 14724 0x1e900, 0x1e921, 13744 14725 }; /* CR_Changes_When_Casefolded */ 13745 14726 13746 14727 /* 'Changes_When_Casemapped': Derived Property */ 13747 14728 static const OnigCodePoint CR_Changes_When_Casemapped[] = { 13748 1 07,14729 116, 13749 14730 0x0041, 0x005a, 13750 14731 0x0061, 0x007a, … … 13768 14749 0x0263, 0x0263, 13769 14750 0x0265, 0x0266, 13770 0x0268, 0x0269, 13771 0x026b, 0x026c, 14751 0x0268, 0x026c, 13772 14752 0x026f, 0x026f, 13773 14753 0x0271, 0x0272, … … 13778 14758 0x0287, 0x028c, 13779 14759 0x0292, 0x0292, 13780 0x029 e, 0x029e,14760 0x029d, 0x029e, 13781 14761 0x0345, 0x0345, 13782 14762 0x0370, 0x0373, … … 13798 14778 0x10c7, 0x10c7, 13799 14779 0x10cd, 0x10cd, 14780 0x13a0, 0x13f5, 14781 0x13f8, 0x13fd, 14782 0x1c80, 0x1c88, 13800 14783 0x1d79, 0x1d79, 13801 14784 0x1d7d, 0x1d7d, … … 13846 14829 0xa78b, 0xa78d, 13847 14830 0xa790, 0xa793, 13848 0xa796, 0xa7ad, 13849 0xa7b0, 0xa7b1, 14831 0xa796, 0xa7ae, 14832 0xa7b0, 0xa7b7, 14833 0xab53, 0xab53, 14834 0xab70, 0xabbf, 13850 14835 0xfb00, 0xfb06, 13851 14836 0xfb13, 0xfb17, … … 13853 14838 0xff41, 0xff5a, 13854 14839 0x10400, 0x1044f, 14840 0x104b0, 0x104d3, 14841 0x104d8, 0x104fb, 14842 0x10c80, 0x10cb2, 14843 0x10cc0, 0x10cf2, 13855 14844 0x118a0, 0x118df, 14845 0x1e900, 0x1e943, 13856 14846 }; /* CR_Changes_When_Casemapped */ 13857 14847 13858 14848 /* 'ID_Start': Derived Property */ 13859 14849 static const OnigCodePoint CR_ID_Start[] = { 13860 5 38,14850 585, 13861 14851 0x0041, 0x005a, 13862 14852 0x0061, 0x007a, … … 13907 14897 0x0828, 0x0828, 13908 14898 0x0840, 0x0858, 13909 0x08a0, 0x08b2, 14899 0x0860, 0x086a, 14900 0x08a0, 0x08b4, 14901 0x08b6, 0x08bd, 13910 14902 0x0904, 0x0939, 13911 14903 0x093d, 0x093d, … … 13924 14916 0x09df, 0x09e1, 13925 14917 0x09f0, 0x09f1, 14918 0x09fc, 0x09fc, 13926 14919 0x0a05, 0x0a0a, 13927 14920 0x0a0f, 0x0a10, … … 13943 14936 0x0ad0, 0x0ad0, 13944 14937 0x0ae0, 0x0ae1, 14938 0x0af9, 0x0af9, 13945 14939 0x0b05, 0x0b0c, 13946 14940 0x0b0f, 0x0b10, … … 13969 14963 0x0c2a, 0x0c39, 13970 14964 0x0c3d, 0x0c3d, 13971 0x0c58, 0x0c5 9,14965 0x0c58, 0x0c5a, 13972 14966 0x0c60, 0x0c61, 14967 0x0c80, 0x0c80, 13973 14968 0x0c85, 0x0c8c, 13974 14969 0x0c8e, 0x0c90, … … 13985 14980 0x0d3d, 0x0d3d, 13986 14981 0x0d4e, 0x0d4e, 13987 0x0d60, 0x0d61, 14982 0x0d54, 0x0d56, 14983 0x0d5f, 0x0d61, 13988 14984 0x0d7a, 0x0d7f, 13989 14985 0x0d85, 0x0d96, … … 14046 15042 0x1318, 0x135a, 14047 15043 0x1380, 0x138f, 14048 0x13a0, 0x13f4, 15044 0x13a0, 0x13f5, 15045 0x13f8, 0x13fd, 14049 15046 0x1401, 0x166c, 14050 15047 0x166f, 0x167f, … … 14069 15066 0x1970, 0x1974, 14070 15067 0x1980, 0x19ab, 14071 0x19 c1, 0x19c7,15068 0x19b0, 0x19c9, 14072 15069 0x1a00, 0x1a16, 14073 15070 0x1a20, 0x1a54, … … 14081 15078 0x1c4d, 0x1c4f, 14082 15079 0x1c5a, 0x1c7d, 15080 0x1c80, 0x1c88, 14083 15081 0x1ce9, 0x1cec, 14084 15082 0x1cee, 0x1cf1, … … 14147 15145 0x30a1, 0x30fa, 14148 15146 0x30fc, 0x30ff, 14149 0x3105, 0x312 d,15147 0x3105, 0x312e, 14150 15148 0x3131, 0x318e, 14151 15149 0x31a0, 0x31ba, 14152 15150 0x31f0, 0x31ff, 14153 15151 0x3400, 0x4db5, 14154 0x4e00, 0x9f cc,15152 0x4e00, 0x9fea, 14155 15153 0xa000, 0xa48c, 14156 15154 0xa4d0, 0xa4fd, … … 14163 15161 0xa717, 0xa71f, 14164 15162 0xa722, 0xa788, 14165 0xa78b, 0xa78e, 14166 0xa790, 0xa7ad, 14167 0xa7b0, 0xa7b1, 15163 0xa78b, 0xa7ae, 15164 0xa7b0, 0xa7b7, 14168 15165 0xa7f7, 0xa801, 14169 15166 0xa803, 0xa805, … … 14174 15171 0xa8f2, 0xa8f7, 14175 15172 0xa8fb, 0xa8fb, 15173 0xa8fd, 0xa8fd, 14176 15174 0xa90a, 0xa925, 14177 15175 0xa930, 0xa946, … … 14202 15200 0xab28, 0xab2e, 14203 15201 0xab30, 0xab5a, 14204 0xab5c, 0xab5f, 14205 0xab64, 0xab65, 14206 0xabc0, 0xabe2, 15202 0xab5c, 0xab65, 15203 0xab70, 0xabe2, 14207 15204 0xac00, 0xd7a3, 14208 15205 0xd7b0, 0xd7c6, … … 14244 15241 0x102a0, 0x102d0, 14245 15242 0x10300, 0x1031f, 14246 0x103 30, 0x1034a,15243 0x1032d, 0x1034a, 14247 15244 0x10350, 0x10375, 14248 15245 0x10380, 0x1039d, … … 14251 15248 0x103d1, 0x103d5, 14252 15249 0x10400, 0x1049d, 15250 0x104b0, 0x104d3, 15251 0x104d8, 0x104fb, 14253 15252 0x10500, 0x10527, 14254 15253 0x10530, 0x10563, … … 14264 15263 0x10860, 0x10876, 14265 15264 0x10880, 0x1089e, 15265 0x108e0, 0x108f2, 15266 0x108f4, 0x108f5, 14266 15267 0x10900, 0x10915, 14267 15268 0x10920, 0x10939, … … 14281 15282 0x10b80, 0x10b91, 14282 15283 0x10c00, 0x10c48, 15284 0x10c80, 0x10cb2, 15285 0x10cc0, 0x10cf2, 14283 15286 0x11003, 0x11037, 14284 15287 0x11083, 0x110af, … … 14290 15293 0x111c1, 0x111c4, 14291 15294 0x111da, 0x111da, 15295 0x111dc, 0x111dc, 14292 15296 0x11200, 0x11211, 14293 15297 0x11213, 0x1122b, 15298 0x11280, 0x11286, 15299 0x11288, 0x11288, 15300 0x1128a, 0x1128d, 15301 0x1128f, 0x1129d, 15302 0x1129f, 0x112a8, 14294 15303 0x112b0, 0x112de, 14295 15304 0x11305, 0x1130c, … … 14300 15309 0x11335, 0x11339, 14301 15310 0x1133d, 0x1133d, 15311 0x11350, 0x11350, 14302 15312 0x1135d, 0x11361, 15313 0x11400, 0x11434, 15314 0x11447, 0x1144a, 14303 15315 0x11480, 0x114af, 14304 15316 0x114c4, 0x114c5, 14305 15317 0x114c7, 0x114c7, 14306 15318 0x11580, 0x115ae, 15319 0x115d8, 0x115db, 14307 15320 0x11600, 0x1162f, 14308 15321 0x11644, 0x11644, 14309 15322 0x11680, 0x116aa, 15323 0x11700, 0x11719, 14310 15324 0x118a0, 0x118df, 14311 15325 0x118ff, 0x118ff, 15326 0x11a00, 0x11a00, 15327 0x11a0b, 0x11a32, 15328 0x11a3a, 0x11a3a, 15329 0x11a50, 0x11a50, 15330 0x11a5c, 0x11a83, 15331 0x11a86, 0x11a89, 14312 15332 0x11ac0, 0x11af8, 14313 0x12000, 0x12398, 15333 0x11c00, 0x11c08, 15334 0x11c0a, 0x11c2e, 15335 0x11c40, 0x11c40, 15336 0x11c72, 0x11c8f, 15337 0x11d00, 0x11d06, 15338 0x11d08, 0x11d09, 15339 0x11d0b, 0x11d30, 15340 0x11d46, 0x11d46, 15341 0x12000, 0x12399, 14314 15342 0x12400, 0x1246e, 15343 0x12480, 0x12543, 14315 15344 0x13000, 0x1342e, 15345 0x14400, 0x14646, 14316 15346 0x16800, 0x16a38, 14317 15347 0x16a40, 0x16a5e, … … 14324 15354 0x16f50, 0x16f50, 14325 15355 0x16f93, 0x16f9f, 14326 0x1b000, 0x1b001, 15356 0x16fe0, 0x16fe1, 15357 0x17000, 0x187ec, 15358 0x18800, 0x18af2, 15359 0x1b000, 0x1b11e, 15360 0x1b170, 0x1b2fb, 14327 15361 0x1bc00, 0x1bc6a, 14328 15362 0x1bc70, 0x1bc7c, … … 14360 15394 0x1d7c4, 0x1d7cb, 14361 15395 0x1e800, 0x1e8c4, 15396 0x1e900, 0x1e943, 14362 15397 0x1ee00, 0x1ee03, 14363 15398 0x1ee05, 0x1ee1f, … … 14396 15431 0x2a700, 0x2b734, 14397 15432 0x2b740, 0x2b81d, 15433 0x2b820, 0x2cea1, 15434 0x2ceb0, 0x2ebe0, 14398 15435 0x2f800, 0x2fa1d, 14399 15436 }; /* CR_ID_Start */ … … 14401 15438 /* 'ID_Continue': Derived Property */ 14402 15439 static const OnigCodePoint CR_ID_Continue[] = { 14403 6 26,15440 689, 14404 15441 0x0030, 0x0039, 14405 15442 0x0041, 0x005a, … … 14451 15488 0x0800, 0x082d, 14452 15489 0x0840, 0x085b, 14453 0x08a0, 0x08b2, 14454 0x08e4, 0x0963, 15490 0x0860, 0x086a, 15491 0x08a0, 0x08b4, 15492 0x08b6, 0x08bd, 15493 0x08d4, 0x08e1, 15494 0x08e3, 0x0963, 14455 15495 0x0966, 0x096f, 14456 15496 0x0971, 0x0983, … … 14468 15508 0x09df, 0x09e3, 14469 15509 0x09e6, 0x09f1, 15510 0x09fc, 0x09fc, 14470 15511 0x0a01, 0x0a03, 14471 15512 0x0a05, 0x0a0a, … … 14497 15538 0x0ae0, 0x0ae3, 14498 15539 0x0ae6, 0x0aef, 15540 0x0af9, 0x0aff, 14499 15541 0x0b01, 0x0b03, 14500 15542 0x0b05, 0x0b0c, … … 14537 15579 0x0c4a, 0x0c4d, 14538 15580 0x0c55, 0x0c56, 14539 0x0c58, 0x0c5 9,15581 0x0c58, 0x0c5a, 14540 15582 0x0c60, 0x0c63, 14541 15583 0x0c66, 0x0c6f, 14542 0x0c8 1, 0x0c83,15584 0x0c80, 0x0c83, 14543 15585 0x0c85, 0x0c8c, 14544 15586 0x0c8e, 0x0c90, … … 14554 15596 0x0ce6, 0x0cef, 14555 15597 0x0cf1, 0x0cf2, 14556 0x0d0 1, 0x0d03,15598 0x0d00, 0x0d03, 14557 15599 0x0d05, 0x0d0c, 14558 15600 0x0d0e, 0x0d10, 14559 0x0d12, 0x0d3a, 14560 0x0d3d, 0x0d44, 15601 0x0d12, 0x0d44, 14561 15602 0x0d46, 0x0d48, 14562 15603 0x0d4a, 0x0d4e, 14563 0x0d5 7, 0x0d57,14564 0x0d 60, 0x0d63,15604 0x0d54, 0x0d57, 15605 0x0d5f, 0x0d63, 14565 15606 0x0d66, 0x0d6f, 14566 15607 0x0d7a, 0x0d7f, … … 14635 15676 0x1369, 0x1371, 14636 15677 0x1380, 0x138f, 14637 0x13a0, 0x13f4, 15678 0x13a0, 0x13f5, 15679 0x13f8, 0x13fd, 14638 15680 0x1401, 0x166c, 14639 15681 0x166f, 0x167f, … … 14679 15721 0x1c40, 0x1c49, 14680 15722 0x1c4d, 0x1c7d, 15723 0x1c80, 0x1c88, 14681 15724 0x1cd0, 0x1cd2, 14682 0x1cd4, 0x1cf6, 14683 0x1cf8, 0x1cf9, 14684 0x1d00, 0x1df5, 14685 0x1dfc, 0x1f15, 15725 0x1cd4, 0x1cf9, 15726 0x1d00, 0x1df9, 15727 0x1dfb, 0x1f15, 14686 15728 0x1f18, 0x1f1d, 14687 15729 0x1f20, 0x1f45, … … 14750 15792 0x30a1, 0x30fa, 14751 15793 0x30fc, 0x30ff, 14752 0x3105, 0x312 d,15794 0x3105, 0x312e, 14753 15795 0x3131, 0x318e, 14754 15796 0x31a0, 0x31ba, 14755 15797 0x31f0, 0x31ff, 14756 15798 0x3400, 0x4db5, 14757 0x4e00, 0x9f cc,15799 0x4e00, 0x9fea, 14758 15800 0xa000, 0xa48c, 14759 15801 0xa4d0, 0xa4fd, … … 14762 15804 0xa640, 0xa66f, 14763 15805 0xa674, 0xa67d, 14764 0xa67f, 0xa69d, 14765 0xa69f, 0xa6f1, 15806 0xa67f, 0xa6f1, 14766 15807 0xa717, 0xa71f, 14767 15808 0xa722, 0xa788, 14768 0xa78b, 0xa78e, 14769 0xa790, 0xa7ad, 14770 0xa7b0, 0xa7b1, 15809 0xa78b, 0xa7ae, 15810 0xa7b0, 0xa7b7, 14771 15811 0xa7f7, 0xa827, 14772 15812 0xa840, 0xa873, 14773 0xa880, 0xa8c 4,15813 0xa880, 0xa8c5, 14774 15814 0xa8d0, 0xa8d9, 14775 15815 0xa8e0, 0xa8f7, 14776 15816 0xa8fb, 0xa8fb, 15817 0xa8fd, 0xa8fd, 14777 15818 0xa900, 0xa92d, 14778 15819 0xa930, 0xa953, … … 14795 15836 0xab28, 0xab2e, 14796 15837 0xab30, 0xab5a, 14797 0xab5c, 0xab5f, 14798 0xab64, 0xab65, 14799 0xabc0, 0xabea, 15838 0xab5c, 0xab65, 15839 0xab70, 0xabea, 14800 15840 0xabec, 0xabed, 14801 15841 0xabf0, 0xabf9, … … 14819 15859 0xfdf0, 0xfdfb, 14820 15860 0xfe00, 0xfe0f, 14821 0xfe20, 0xfe2 d,15861 0xfe20, 0xfe2f, 14822 15862 0xfe33, 0xfe34, 14823 15863 0xfe4d, 0xfe4f, … … 14846 15886 0x102e0, 0x102e0, 14847 15887 0x10300, 0x1031f, 14848 0x103 30, 0x1034a,15888 0x1032d, 0x1034a, 14849 15889 0x10350, 0x1037a, 14850 15890 0x10380, 0x1039d, … … 14854 15894 0x10400, 0x1049d, 14855 15895 0x104a0, 0x104a9, 15896 0x104b0, 0x104d3, 15897 0x104d8, 0x104fb, 14856 15898 0x10500, 0x10527, 14857 15899 0x10530, 0x10563, … … 14867 15909 0x10860, 0x10876, 14868 15910 0x10880, 0x1089e, 15911 0x108e0, 0x108f2, 15912 0x108f4, 0x108f5, 14869 15913 0x10900, 0x10915, 14870 15914 0x10920, 0x10939, … … 14887 15931 0x10b80, 0x10b91, 14888 15932 0x10c00, 0x10c48, 15933 0x10c80, 0x10cb2, 15934 0x10cc0, 0x10cf2, 14889 15935 0x11000, 0x11046, 14890 15936 0x11066, 0x1106f, … … 14897 15943 0x11176, 0x11176, 14898 15944 0x11180, 0x111c4, 15945 0x111ca, 0x111cc, 14899 15946 0x111d0, 0x111da, 15947 0x111dc, 0x111dc, 14900 15948 0x11200, 0x11211, 14901 15949 0x11213, 0x11237, 15950 0x1123e, 0x1123e, 15951 0x11280, 0x11286, 15952 0x11288, 0x11288, 15953 0x1128a, 0x1128d, 15954 0x1128f, 0x1129d, 15955 0x1129f, 0x112a8, 14902 15956 0x112b0, 0x112ea, 14903 15957 0x112f0, 0x112f9, 14904 0x1130 1, 0x11303,15958 0x11300, 0x11303, 14905 15959 0x11305, 0x1130c, 14906 15960 0x1130f, 0x11310, … … 14912 15966 0x11347, 0x11348, 14913 15967 0x1134b, 0x1134d, 15968 0x11350, 0x11350, 14914 15969 0x11357, 0x11357, 14915 15970 0x1135d, 0x11363, 14916 15971 0x11366, 0x1136c, 14917 15972 0x11370, 0x11374, 15973 0x11400, 0x1144a, 15974 0x11450, 0x11459, 14918 15975 0x11480, 0x114c5, 14919 15976 0x114c7, 0x114c7, … … 14921 15978 0x11580, 0x115b5, 14922 15979 0x115b8, 0x115c0, 15980 0x115d8, 0x115dd, 14923 15981 0x11600, 0x11640, 14924 15982 0x11644, 0x11644, … … 14926 15984 0x11680, 0x116b7, 14927 15985 0x116c0, 0x116c9, 15986 0x11700, 0x11719, 15987 0x1171d, 0x1172b, 15988 0x11730, 0x11739, 14928 15989 0x118a0, 0x118e9, 14929 15990 0x118ff, 0x118ff, 15991 0x11a00, 0x11a3e, 15992 0x11a47, 0x11a47, 15993 0x11a50, 0x11a83, 15994 0x11a86, 0x11a99, 14930 15995 0x11ac0, 0x11af8, 14931 0x12000, 0x12398, 15996 0x11c00, 0x11c08, 15997 0x11c0a, 0x11c36, 15998 0x11c38, 0x11c40, 15999 0x11c50, 0x11c59, 16000 0x11c72, 0x11c8f, 16001 0x11c92, 0x11ca7, 16002 0x11ca9, 0x11cb6, 16003 0x11d00, 0x11d06, 16004 0x11d08, 0x11d09, 16005 0x11d0b, 0x11d36, 16006 0x11d3a, 0x11d3a, 16007 0x11d3c, 0x11d3d, 16008 0x11d3f, 0x11d47, 16009 0x11d50, 0x11d59, 16010 0x12000, 0x12399, 14932 16011 0x12400, 0x1246e, 16012 0x12480, 0x12543, 14933 16013 0x13000, 0x1342e, 16014 0x14400, 0x14646, 14934 16015 0x16800, 0x16a38, 14935 16016 0x16a40, 0x16a5e, … … 14945 16026 0x16f50, 0x16f7e, 14946 16027 0x16f8f, 0x16f9f, 14947 0x1b000, 0x1b001, 16028 0x16fe0, 0x16fe1, 16029 0x17000, 0x187ec, 16030 0x18800, 0x18af2, 16031 0x1b000, 0x1b11e, 16032 0x1b170, 0x1b2fb, 14948 16033 0x1bc00, 0x1bc6a, 14949 16034 0x1bc70, 0x1bc7c, … … 14988 16073 0x1d7c4, 0x1d7cb, 14989 16074 0x1d7ce, 0x1d7ff, 16075 0x1da00, 0x1da36, 16076 0x1da3b, 0x1da6c, 16077 0x1da75, 0x1da75, 16078 0x1da84, 0x1da84, 16079 0x1da9b, 0x1da9f, 16080 0x1daa1, 0x1daaf, 16081 0x1e000, 0x1e006, 16082 0x1e008, 0x1e018, 16083 0x1e01b, 0x1e021, 16084 0x1e023, 0x1e024, 16085 0x1e026, 0x1e02a, 14990 16086 0x1e800, 0x1e8c4, 14991 16087 0x1e8d0, 0x1e8d6, 16088 0x1e900, 0x1e94a, 16089 0x1e950, 0x1e959, 14992 16090 0x1ee00, 0x1ee03, 14993 16091 0x1ee05, 0x1ee1f, … … 15026 16124 0x2a700, 0x2b734, 15027 16125 0x2b740, 0x2b81d, 16126 0x2b820, 0x2cea1, 16127 0x2ceb0, 0x2ebe0, 15028 16128 0x2f800, 0x2fa1d, 15029 16129 0xe0100, 0xe01ef, … … 15032 16132 /* 'XID_Start': Derived Property */ 15033 16133 static const OnigCodePoint CR_XID_Start[] = { 15034 5 45,16134 592, 15035 16135 0x0041, 0x005a, 15036 16136 0x0061, 0x007a, … … 15081 16181 0x0828, 0x0828, 15082 16182 0x0840, 0x0858, 15083 0x08a0, 0x08b2, 16183 0x0860, 0x086a, 16184 0x08a0, 0x08b4, 16185 0x08b6, 0x08bd, 15084 16186 0x0904, 0x0939, 15085 16187 0x093d, 0x093d, … … 15098 16200 0x09df, 0x09e1, 15099 16201 0x09f0, 0x09f1, 16202 0x09fc, 0x09fc, 15100 16203 0x0a05, 0x0a0a, 15101 16204 0x0a0f, 0x0a10, … … 15117 16220 0x0ad0, 0x0ad0, 15118 16221 0x0ae0, 0x0ae1, 16222 0x0af9, 0x0af9, 15119 16223 0x0b05, 0x0b0c, 15120 16224 0x0b0f, 0x0b10, … … 15143 16247 0x0c2a, 0x0c39, 15144 16248 0x0c3d, 0x0c3d, 15145 0x0c58, 0x0c5 9,16249 0x0c58, 0x0c5a, 15146 16250 0x0c60, 0x0c61, 16251 0x0c80, 0x0c80, 15147 16252 0x0c85, 0x0c8c, 15148 16253 0x0c8e, 0x0c90, … … 15159 16264 0x0d3d, 0x0d3d, 15160 16265 0x0d4e, 0x0d4e, 15161 0x0d60, 0x0d61, 16266 0x0d54, 0x0d56, 16267 0x0d5f, 0x0d61, 15162 16268 0x0d7a, 0x0d7f, 15163 16269 0x0d85, 0x0d96, … … 15220 16326 0x1318, 0x135a, 15221 16327 0x1380, 0x138f, 15222 0x13a0, 0x13f4, 16328 0x13a0, 0x13f5, 16329 0x13f8, 0x13fd, 15223 16330 0x1401, 0x166c, 15224 16331 0x166f, 0x167f, … … 15243 16350 0x1970, 0x1974, 15244 16351 0x1980, 0x19ab, 15245 0x19 c1, 0x19c7,16352 0x19b0, 0x19c9, 15246 16353 0x1a00, 0x1a16, 15247 16354 0x1a20, 0x1a54, … … 15255 16362 0x1c4d, 0x1c4f, 15256 16363 0x1c5a, 0x1c7d, 16364 0x1c80, 0x1c88, 15257 16365 0x1ce9, 0x1cec, 15258 16366 0x1cee, 0x1cf1, … … 15321 16429 0x30a1, 0x30fa, 15322 16430 0x30fc, 0x30ff, 15323 0x3105, 0x312 d,16431 0x3105, 0x312e, 15324 16432 0x3131, 0x318e, 15325 16433 0x31a0, 0x31ba, 15326 16434 0x31f0, 0x31ff, 15327 16435 0x3400, 0x4db5, 15328 0x4e00, 0x9f cc,16436 0x4e00, 0x9fea, 15329 16437 0xa000, 0xa48c, 15330 16438 0xa4d0, 0xa4fd, … … 15337 16445 0xa717, 0xa71f, 15338 16446 0xa722, 0xa788, 15339 0xa78b, 0xa78e, 15340 0xa790, 0xa7ad, 15341 0xa7b0, 0xa7b1, 16447 0xa78b, 0xa7ae, 16448 0xa7b0, 0xa7b7, 15342 16449 0xa7f7, 0xa801, 15343 16450 0xa803, 0xa805, … … 15348 16455 0xa8f2, 0xa8f7, 15349 16456 0xa8fb, 0xa8fb, 16457 0xa8fd, 0xa8fd, 15350 16458 0xa90a, 0xa925, 15351 16459 0xa930, 0xa946, … … 15376 16484 0xab28, 0xab2e, 15377 16485 0xab30, 0xab5a, 15378 0xab5c, 0xab5f, 15379 0xab64, 0xab65, 15380 0xabc0, 0xabe2, 16486 0xab5c, 0xab65, 16487 0xab70, 0xabe2, 15381 16488 0xac00, 0xd7a3, 15382 16489 0xd7b0, 0xd7c6, … … 15425 16532 0x102a0, 0x102d0, 15426 16533 0x10300, 0x1031f, 15427 0x103 30, 0x1034a,16534 0x1032d, 0x1034a, 15428 16535 0x10350, 0x10375, 15429 16536 0x10380, 0x1039d, … … 15432 16539 0x103d1, 0x103d5, 15433 16540 0x10400, 0x1049d, 16541 0x104b0, 0x104d3, 16542 0x104d8, 0x104fb, 15434 16543 0x10500, 0x10527, 15435 16544 0x10530, 0x10563, … … 15445 16554 0x10860, 0x10876, 15446 16555 0x10880, 0x1089e, 16556 0x108e0, 0x108f2, 16557 0x108f4, 0x108f5, 15447 16558 0x10900, 0x10915, 15448 16559 0x10920, 0x10939, … … 15462 16573 0x10b80, 0x10b91, 15463 16574 0x10c00, 0x10c48, 16575 0x10c80, 0x10cb2, 16576 0x10cc0, 0x10cf2, 15464 16577 0x11003, 0x11037, 15465 16578 0x11083, 0x110af, … … 15471 16584 0x111c1, 0x111c4, 15472 16585 0x111da, 0x111da, 16586 0x111dc, 0x111dc, 15473 16587 0x11200, 0x11211, 15474 16588 0x11213, 0x1122b, 16589 0x11280, 0x11286, 16590 0x11288, 0x11288, 16591 0x1128a, 0x1128d, 16592 0x1128f, 0x1129d, 16593 0x1129f, 0x112a8, 15475 16594 0x112b0, 0x112de, 15476 16595 0x11305, 0x1130c, … … 15481 16600 0x11335, 0x11339, 15482 16601 0x1133d, 0x1133d, 16602 0x11350, 0x11350, 15483 16603 0x1135d, 0x11361, 16604 0x11400, 0x11434, 16605 0x11447, 0x1144a, 15484 16606 0x11480, 0x114af, 15485 16607 0x114c4, 0x114c5, 15486 16608 0x114c7, 0x114c7, 15487 16609 0x11580, 0x115ae, 16610 0x115d8, 0x115db, 15488 16611 0x11600, 0x1162f, 15489 16612 0x11644, 0x11644, 15490 16613 0x11680, 0x116aa, 16614 0x11700, 0x11719, 15491 16615 0x118a0, 0x118df, 15492 16616 0x118ff, 0x118ff, 16617 0x11a00, 0x11a00, 16618 0x11a0b, 0x11a32, 16619 0x11a3a, 0x11a3a, 16620 0x11a50, 0x11a50, 16621 0x11a5c, 0x11a83, 16622 0x11a86, 0x11a89, 15493 16623 0x11ac0, 0x11af8, 15494 0x12000, 0x12398, 16624 0x11c00, 0x11c08, 16625 0x11c0a, 0x11c2e, 16626 0x11c40, 0x11c40, 16627 0x11c72, 0x11c8f, 16628 0x11d00, 0x11d06, 16629 0x11d08, 0x11d09, 16630 0x11d0b, 0x11d30, 16631 0x11d46, 0x11d46, 16632 0x12000, 0x12399, 15495 16633 0x12400, 0x1246e, 16634 0x12480, 0x12543, 15496 16635 0x13000, 0x1342e, 16636 0x14400, 0x14646, 15497 16637 0x16800, 0x16a38, 15498 16638 0x16a40, 0x16a5e, … … 15505 16645 0x16f50, 0x16f50, 15506 16646 0x16f93, 0x16f9f, 15507 0x1b000, 0x1b001, 16647 0x16fe0, 0x16fe1, 16648 0x17000, 0x187ec, 16649 0x18800, 0x18af2, 16650 0x1b000, 0x1b11e, 16651 0x1b170, 0x1b2fb, 15508 16652 0x1bc00, 0x1bc6a, 15509 16653 0x1bc70, 0x1bc7c, … … 15541 16685 0x1d7c4, 0x1d7cb, 15542 16686 0x1e800, 0x1e8c4, 16687 0x1e900, 0x1e943, 15543 16688 0x1ee00, 0x1ee03, 15544 16689 0x1ee05, 0x1ee1f, … … 15577 16722 0x2a700, 0x2b734, 15578 16723 0x2b740, 0x2b81d, 16724 0x2b820, 0x2cea1, 16725 0x2ceb0, 0x2ebe0, 15579 16726 0x2f800, 0x2fa1d, 15580 16727 }; /* CR_XID_Start */ … … 15582 16729 /* 'XID_Continue': Derived Property */ 15583 16730 static const OnigCodePoint CR_XID_Continue[] = { 15584 6 33,16731 696, 15585 16732 0x0030, 0x0039, 15586 16733 0x0041, 0x005a, … … 15632 16779 0x0800, 0x082d, 15633 16780 0x0840, 0x085b, 15634 0x08a0, 0x08b2, 15635 0x08e4, 0x0963, 16781 0x0860, 0x086a, 16782 0x08a0, 0x08b4, 16783 0x08b6, 0x08bd, 16784 0x08d4, 0x08e1, 16785 0x08e3, 0x0963, 15636 16786 0x0966, 0x096f, 15637 16787 0x0971, 0x0983, … … 15649 16799 0x09df, 0x09e3, 15650 16800 0x09e6, 0x09f1, 16801 0x09fc, 0x09fc, 15651 16802 0x0a01, 0x0a03, 15652 16803 0x0a05, 0x0a0a, … … 15678 16829 0x0ae0, 0x0ae3, 15679 16830 0x0ae6, 0x0aef, 16831 0x0af9, 0x0aff, 15680 16832 0x0b01, 0x0b03, 15681 16833 0x0b05, 0x0b0c, … … 15718 16870 0x0c4a, 0x0c4d, 15719 16871 0x0c55, 0x0c56, 15720 0x0c58, 0x0c5 9,16872 0x0c58, 0x0c5a, 15721 16873 0x0c60, 0x0c63, 15722 16874 0x0c66, 0x0c6f, 15723 0x0c8 1, 0x0c83,16875 0x0c80, 0x0c83, 15724 16876 0x0c85, 0x0c8c, 15725 16877 0x0c8e, 0x0c90, … … 15735 16887 0x0ce6, 0x0cef, 15736 16888 0x0cf1, 0x0cf2, 15737 0x0d0 1, 0x0d03,16889 0x0d00, 0x0d03, 15738 16890 0x0d05, 0x0d0c, 15739 16891 0x0d0e, 0x0d10, 15740 0x0d12, 0x0d3a, 15741 0x0d3d, 0x0d44, 16892 0x0d12, 0x0d44, 15742 16893 0x0d46, 0x0d48, 15743 16894 0x0d4a, 0x0d4e, 15744 0x0d5 7, 0x0d57,15745 0x0d 60, 0x0d63,16895 0x0d54, 0x0d57, 16896 0x0d5f, 0x0d63, 15746 16897 0x0d66, 0x0d6f, 15747 16898 0x0d7a, 0x0d7f, … … 15816 16967 0x1369, 0x1371, 15817 16968 0x1380, 0x138f, 15818 0x13a0, 0x13f4, 16969 0x13a0, 0x13f5, 16970 0x13f8, 0x13fd, 15819 16971 0x1401, 0x166c, 15820 16972 0x166f, 0x167f, … … 15860 17012 0x1c40, 0x1c49, 15861 17013 0x1c4d, 0x1c7d, 17014 0x1c80, 0x1c88, 15862 17015 0x1cd0, 0x1cd2, 15863 0x1cd4, 0x1cf6, 15864 0x1cf8, 0x1cf9, 15865 0x1d00, 0x1df5, 15866 0x1dfc, 0x1f15, 17016 0x1cd4, 0x1cf9, 17017 0x1d00, 0x1df9, 17018 0x1dfb, 0x1f15, 15867 17019 0x1f18, 0x1f1d, 15868 17020 0x1f20, 0x1f45, … … 15932 17084 0x30a1, 0x30fa, 15933 17085 0x30fc, 0x30ff, 15934 0x3105, 0x312 d,17086 0x3105, 0x312e, 15935 17087 0x3131, 0x318e, 15936 17088 0x31a0, 0x31ba, 15937 17089 0x31f0, 0x31ff, 15938 17090 0x3400, 0x4db5, 15939 0x4e00, 0x9f cc,17091 0x4e00, 0x9fea, 15940 17092 0xa000, 0xa48c, 15941 17093 0xa4d0, 0xa4fd, … … 15944 17096 0xa640, 0xa66f, 15945 17097 0xa674, 0xa67d, 15946 0xa67f, 0xa69d, 15947 0xa69f, 0xa6f1, 17098 0xa67f, 0xa6f1, 15948 17099 0xa717, 0xa71f, 15949 17100 0xa722, 0xa788, 15950 0xa78b, 0xa78e, 15951 0xa790, 0xa7ad, 15952 0xa7b0, 0xa7b1, 17101 0xa78b, 0xa7ae, 17102 0xa7b0, 0xa7b7, 15953 17103 0xa7f7, 0xa827, 15954 17104 0xa840, 0xa873, 15955 0xa880, 0xa8c 4,17105 0xa880, 0xa8c5, 15956 17106 0xa8d0, 0xa8d9, 15957 17107 0xa8e0, 0xa8f7, 15958 17108 0xa8fb, 0xa8fb, 17109 0xa8fd, 0xa8fd, 15959 17110 0xa900, 0xa92d, 15960 17111 0xa930, 0xa953, … … 15977 17128 0xab28, 0xab2e, 15978 17129 0xab30, 0xab5a, 15979 0xab5c, 0xab5f, 15980 0xab64, 0xab65, 15981 0xabc0, 0xabea, 17130 0xab5c, 0xab65, 17131 0xab70, 0xabea, 15982 17132 0xabec, 0xabed, 15983 17133 0xabf0, 0xabf9, … … 16002 17152 0xfdf0, 0xfdf9, 16003 17153 0xfe00, 0xfe0f, 16004 0xfe20, 0xfe2 d,17154 0xfe20, 0xfe2f, 16005 17155 0xfe33, 0xfe34, 16006 17156 0xfe4d, 0xfe4f, … … 16034 17184 0x102e0, 0x102e0, 16035 17185 0x10300, 0x1031f, 16036 0x103 30, 0x1034a,17186 0x1032d, 0x1034a, 16037 17187 0x10350, 0x1037a, 16038 17188 0x10380, 0x1039d, … … 16042 17192 0x10400, 0x1049d, 16043 17193 0x104a0, 0x104a9, 17194 0x104b0, 0x104d3, 17195 0x104d8, 0x104fb, 16044 17196 0x10500, 0x10527, 16045 17197 0x10530, 0x10563, … … 16055 17207 0x10860, 0x10876, 16056 17208 0x10880, 0x1089e, 17209 0x108e0, 0x108f2, 17210 0x108f4, 0x108f5, 16057 17211 0x10900, 0x10915, 16058 17212 0x10920, 0x10939, … … 16075 17229 0x10b80, 0x10b91, 16076 17230 0x10c00, 0x10c48, 17231 0x10c80, 0x10cb2, 17232 0x10cc0, 0x10cf2, 16077 17233 0x11000, 0x11046, 16078 17234 0x11066, 0x1106f, … … 16085 17241 0x11176, 0x11176, 16086 17242 0x11180, 0x111c4, 17243 0x111ca, 0x111cc, 16087 17244 0x111d0, 0x111da, 17245 0x111dc, 0x111dc, 16088 17246 0x11200, 0x11211, 16089 17247 0x11213, 0x11237, 17248 0x1123e, 0x1123e, 17249 0x11280, 0x11286, 17250 0x11288, 0x11288, 17251 0x1128a, 0x1128d, 17252 0x1128f, 0x1129d, 17253 0x1129f, 0x112a8, 16090 17254 0x112b0, 0x112ea, 16091 17255 0x112f0, 0x112f9, 16092 0x1130 1, 0x11303,17256 0x11300, 0x11303, 16093 17257 0x11305, 0x1130c, 16094 17258 0x1130f, 0x11310, … … 16100 17264 0x11347, 0x11348, 16101 17265 0x1134b, 0x1134d, 17266 0x11350, 0x11350, 16102 17267 0x11357, 0x11357, 16103 17268 0x1135d, 0x11363, 16104 17269 0x11366, 0x1136c, 16105 17270 0x11370, 0x11374, 17271 0x11400, 0x1144a, 17272 0x11450, 0x11459, 16106 17273 0x11480, 0x114c5, 16107 17274 0x114c7, 0x114c7, … … 16109 17276 0x11580, 0x115b5, 16110 17277 0x115b8, 0x115c0, 17278 0x115d8, 0x115dd, 16111 17279 0x11600, 0x11640, 16112 17280 0x11644, 0x11644, … … 16114 17282 0x11680, 0x116b7, 16115 17283 0x116c0, 0x116c9, 17284 0x11700, 0x11719, 17285 0x1171d, 0x1172b, 17286 0x11730, 0x11739, 16116 17287 0x118a0, 0x118e9, 16117 17288 0x118ff, 0x118ff, 17289 0x11a00, 0x11a3e, 17290 0x11a47, 0x11a47, 17291 0x11a50, 0x11a83, 17292 0x11a86, 0x11a99, 16118 17293 0x11ac0, 0x11af8, 16119 0x12000, 0x12398, 17294 0x11c00, 0x11c08, 17295 0x11c0a, 0x11c36, 17296 0x11c38, 0x11c40, 17297 0x11c50, 0x11c59, 17298 0x11c72, 0x11c8f, 17299 0x11c92, 0x11ca7, 17300 0x11ca9, 0x11cb6, 17301 0x11d00, 0x11d06, 17302 0x11d08, 0x11d09, 17303 0x11d0b, 0x11d36, 17304 0x11d3a, 0x11d3a, 17305 0x11d3c, 0x11d3d, 17306 0x11d3f, 0x11d47, 17307 0x11d50, 0x11d59, 17308 0x12000, 0x12399, 16120 17309 0x12400, 0x1246e, 17310 0x12480, 0x12543, 16121 17311 0x13000, 0x1342e, 17312 0x14400, 0x14646, 16122 17313 0x16800, 0x16a38, 16123 17314 0x16a40, 0x16a5e, … … 16133 17324 0x16f50, 0x16f7e, 16134 17325 0x16f8f, 0x16f9f, 16135 0x1b000, 0x1b001, 17326 0x16fe0, 0x16fe1, 17327 0x17000, 0x187ec, 17328 0x18800, 0x18af2, 17329 0x1b000, 0x1b11e, 17330 0x1b170, 0x1b2fb, 16136 17331 0x1bc00, 0x1bc6a, 16137 17332 0x1bc70, 0x1bc7c, … … 16176 17371 0x1d7c4, 0x1d7cb, 16177 17372 0x1d7ce, 0x1d7ff, 17373 0x1da00, 0x1da36, 17374 0x1da3b, 0x1da6c, 17375 0x1da75, 0x1da75, 17376 0x1da84, 0x1da84, 17377 0x1da9b, 0x1da9f, 17378 0x1daa1, 0x1daaf, 17379 0x1e000, 0x1e006, 17380 0x1e008, 0x1e018, 17381 0x1e01b, 0x1e021, 17382 0x1e023, 0x1e024, 17383 0x1e026, 0x1e02a, 16178 17384 0x1e800, 0x1e8c4, 16179 17385 0x1e8d0, 0x1e8d6, 17386 0x1e900, 0x1e94a, 17387 0x1e950, 0x1e959, 16180 17388 0x1ee00, 0x1ee03, 16181 17389 0x1ee05, 0x1ee1f, … … 16214 17422 0x2a700, 0x2b734, 16215 17423 0x2b740, 0x2b81d, 17424 0x2b820, 0x2cea1, 17425 0x2ceb0, 0x2ebe0, 16216 17426 0x2f800, 0x2fa1d, 16217 17427 0xe0100, 0xe01ef, … … 16242 17452 /* 'Grapheme_Extend': Derived Property */ 16243 17453 static const OnigCodePoint CR_Grapheme_Extend[] = { 16244 272,17454 319, 16245 17455 0x0300, 0x036f, 16246 17456 0x0483, 0x0489, … … 16266 17476 0x0829, 0x082d, 16267 17477 0x0859, 0x085b, 16268 0x08e4, 0x0902, 17478 0x08d4, 0x08e1, 17479 0x08e3, 0x0902, 16269 17480 0x093a, 0x093a, 16270 17481 0x093c, 0x093c, … … 16294 17505 0x0acd, 0x0acd, 16295 17506 0x0ae2, 0x0ae3, 17507 0x0afa, 0x0aff, 16296 17508 0x0b01, 0x0b01, 16297 17509 0x0b3c, 0x0b3c, … … 16320 17532 0x0cd5, 0x0cd6, 16321 17533 0x0ce2, 0x0ce3, 16322 0x0d01, 0x0d01, 17534 0x0d00, 0x0d01, 17535 0x0d3b, 0x0d3c, 16323 17536 0x0d3e, 0x0d3e, 16324 17537 0x0d41, 0x0d44, … … 16370 17583 0x17dd, 0x17dd, 16371 17584 0x180b, 0x180d, 17585 0x1885, 0x1886, 16372 17586 0x18a9, 0x18a9, 16373 17587 0x1920, 0x1922, … … 16407 17621 0x1cf4, 0x1cf4, 16408 17622 0x1cf8, 0x1cf9, 16409 0x1dc0, 0x1df 5,16410 0x1df c, 0x1dff,16411 0x200c, 0x200 d,17623 0x1dc0, 0x1df9, 17624 0x1dfb, 0x1dff, 17625 0x200c, 0x200c, 16412 17626 0x20d0, 0x20f0, 16413 17627 0x2cef, 0x2cf1, … … 16418 17632 0xa66f, 0xa672, 16419 17633 0xa674, 0xa67d, 16420 0xa69 f, 0xa69f,17634 0xa69e, 0xa69f, 16421 17635 0xa6f0, 0xa6f1, 16422 17636 0xa802, 0xa802, … … 16424 17638 0xa80b, 0xa80b, 16425 17639 0xa825, 0xa826, 16426 0xa8c4, 0xa8c 4,17640 0xa8c4, 0xa8c5, 16427 17641 0xa8e0, 0xa8f1, 16428 17642 0xa926, 0xa92d, … … 16451 17665 0xfb1e, 0xfb1e, 16452 17666 0xfe00, 0xfe0f, 16453 0xfe20, 0xfe2 d,17667 0xfe20, 0xfe2f, 16454 17668 0xff9e, 0xff9f, 16455 17669 0x101fd, 0x101fd, … … 16473 17687 0x11180, 0x11181, 16474 17688 0x111b6, 0x111be, 17689 0x111ca, 0x111cc, 16475 17690 0x1122f, 0x11231, 16476 17691 0x11234, 0x11234, 16477 17692 0x11236, 0x11237, 17693 0x1123e, 0x1123e, 16478 17694 0x112df, 0x112df, 16479 17695 0x112e3, 0x112ea, 16480 0x1130 1, 0x11301,17696 0x11300, 0x11301, 16481 17697 0x1133c, 0x1133c, 16482 17698 0x1133e, 0x1133e, … … 16485 17701 0x11366, 0x1136c, 16486 17702 0x11370, 0x11374, 17703 0x11438, 0x1143f, 17704 0x11442, 0x11444, 17705 0x11446, 0x11446, 16487 17706 0x114b0, 0x114b0, 16488 17707 0x114b3, 0x114b8, … … 16495 17714 0x115bc, 0x115bd, 16496 17715 0x115bf, 0x115c0, 17716 0x115dc, 0x115dd, 16497 17717 0x11633, 0x1163a, 16498 17718 0x1163d, 0x1163d, … … 16502 17722 0x116b0, 0x116b5, 16503 17723 0x116b7, 0x116b7, 17724 0x1171d, 0x1171f, 17725 0x11722, 0x11725, 17726 0x11727, 0x1172b, 17727 0x11a01, 0x11a06, 17728 0x11a09, 0x11a0a, 17729 0x11a33, 0x11a38, 17730 0x11a3b, 0x11a3e, 17731 0x11a47, 0x11a47, 17732 0x11a51, 0x11a56, 17733 0x11a59, 0x11a5b, 17734 0x11a8a, 0x11a96, 17735 0x11a98, 0x11a99, 17736 0x11c30, 0x11c36, 17737 0x11c38, 0x11c3d, 17738 0x11c3f, 0x11c3f, 17739 0x11c92, 0x11ca7, 17740 0x11caa, 0x11cb0, 17741 0x11cb2, 0x11cb3, 17742 0x11cb5, 0x11cb6, 17743 0x11d31, 0x11d36, 17744 0x11d3a, 0x11d3a, 17745 0x11d3c, 0x11d3d, 17746 0x11d3f, 0x11d45, 17747 0x11d47, 0x11d47, 16504 17748 0x16af0, 0x16af4, 16505 17749 0x16b30, 0x16b36, … … 16513 17757 0x1d1aa, 0x1d1ad, 16514 17758 0x1d242, 0x1d244, 17759 0x1da00, 0x1da36, 17760 0x1da3b, 0x1da6c, 17761 0x1da75, 0x1da75, 17762 0x1da84, 0x1da84, 17763 0x1da9b, 0x1da9f, 17764 0x1daa1, 0x1daaf, 17765 0x1e000, 0x1e006, 17766 0x1e008, 0x1e018, 17767 0x1e01b, 0x1e021, 17768 0x1e023, 0x1e024, 17769 0x1e026, 0x1e02a, 16515 17770 0x1e8d0, 0x1e8d6, 17771 0x1e944, 0x1e94a, 17772 0xe0020, 0xe007f, 16516 17773 0xe0100, 0xe01ef, 16517 17774 }; /* CR_Grapheme_Extend */ … … 16519 17776 /* 'Grapheme_Base': Derived Property */ 16520 17777 static const OnigCodePoint CR_Grapheme_Base[] = { 16521 7 24,17778 791, 16522 17779 0x0020, 0x007e, 16523 17780 0x00a0, 0x00ac, … … 16563 17820 0x0840, 0x0858, 16564 17821 0x085e, 0x085e, 16565 0x08a0, 0x08b2, 17822 0x0860, 0x086a, 17823 0x08a0, 0x08b4, 17824 0x08b6, 0x08bd, 16566 17825 0x0903, 0x0939, 16567 17826 0x093b, 0x093b, … … 16585 17844 0x09dc, 0x09dd, 16586 17845 0x09df, 0x09e1, 16587 0x09e6, 0x09f b,17846 0x09e6, 0x09fd, 16588 17847 0x0a03, 0x0a03, 16589 17848 0x0a05, 0x0a0a, … … 16612 17871 0x0ae0, 0x0ae1, 16613 17872 0x0ae6, 0x0af1, 17873 0x0af9, 0x0af9, 16614 17874 0x0b02, 0x0b03, 16615 17875 0x0b05, 0x0b0c, … … 16649 17909 0x0c3d, 0x0c3d, 16650 17910 0x0c41, 0x0c44, 16651 0x0c58, 0x0c5 9,17911 0x0c58, 0x0c5a, 16652 17912 0x0c60, 0x0c61, 16653 17913 0x0c66, 0x0c6f, 16654 0x0c78, 0x0c 7f,17914 0x0c78, 0x0c80, 16655 17915 0x0c82, 0x0c83, 16656 17916 0x0c85, 0x0c8c, … … 16676 17936 0x0d46, 0x0d48, 16677 17937 0x0d4a, 0x0d4c, 16678 0x0d4e, 0x0d4 e,16679 0x0d 60, 0x0d61,16680 0x0d 66, 0x0d75,16681 0x0d 79, 0x0d7f,17938 0x0d4e, 0x0d4f, 17939 0x0d54, 0x0d56, 17940 0x0d58, 0x0d61, 17941 0x0d66, 0x0d7f, 16682 17942 0x0d82, 0x0d83, 16683 17943 0x0d85, 0x0d96, … … 16756 18016 0x1360, 0x137c, 16757 18017 0x1380, 0x1399, 16758 0x13a0, 0x13f4, 18018 0x13a0, 0x13f5, 18019 0x13f8, 0x13fd, 16759 18020 0x1400, 0x169c, 16760 18021 0x16a0, 0x16f8, … … 16776 18037 0x1810, 0x1819, 16777 18038 0x1820, 0x1877, 16778 0x1880, 0x18a8, 18039 0x1880, 0x1884, 18040 0x1887, 0x18a8, 16779 18041 0x18aa, 0x18aa, 16780 18042 0x18b0, 0x18f5, … … 16818 18080 0x1c34, 0x1c35, 16819 18081 0x1c3b, 0x1c49, 16820 0x1c4d, 0x1c 7f,18082 0x1c4d, 0x1c88, 16821 18083 0x1cc0, 0x1cc7, 16822 18084 0x1cd3, 0x1cd3, … … 16824 18086 0x1ce9, 0x1cec, 16825 18087 0x1cee, 0x1cf3, 16826 0x1cf5, 0x1cf 6,18088 0x1cf5, 0x1cf7, 16827 18089 0x1d00, 0x1dbf, 16828 18090 0x1e00, 0x1f15, … … 16848 18110 0x2074, 0x208e, 16849 18111 0x2090, 0x209c, 16850 0x20a0, 0x20bd, 16851 0x2100, 0x2189, 16852 0x2190, 0x23fa, 16853 0x2400, 0x2426, 18112 0x20a0, 0x20bf, 18113 0x2100, 0x218b, 18114 0x2190, 0x2426, 16854 18115 0x2440, 0x244a, 16855 18116 0x2460, 0x2b73, … … 16857 18118 0x2b98, 0x2bb9, 16858 18119 0x2bbd, 0x2bc8, 16859 0x2bca, 0x2bd1, 18120 0x2bca, 0x2bd2, 18121 0x2bec, 0x2bef, 16860 18122 0x2c00, 0x2c2e, 16861 18123 0x2c30, 0x2c5e, … … 16876 18138 0x2dd0, 0x2dd6, 16877 18139 0x2dd8, 0x2dde, 16878 0x2e00, 0x2e4 2,18140 0x2e00, 0x2e49, 16879 18141 0x2e80, 0x2e99, 16880 18142 0x2e9b, 0x2ef3, … … 16885 18147 0x3041, 0x3096, 16886 18148 0x309b, 0x30ff, 16887 0x3105, 0x312 d,18149 0x3105, 0x312e, 16888 18150 0x3131, 0x318e, 16889 18151 0x3190, 0x31ba, … … 16892 18154 0x3220, 0x32fe, 16893 18155 0x3300, 0x4db5, 16894 0x4dc0, 0x9f cc,18156 0x4dc0, 0x9fea, 16895 18157 0xa000, 0xa48c, 16896 18158 0xa490, 0xa4c6, … … 16901 18163 0xa6a0, 0xa6ef, 16902 18164 0xa6f2, 0xa6f7, 16903 0xa700, 0xa78e, 16904 0xa790, 0xa7ad, 16905 0xa7b0, 0xa7b1, 18165 0xa700, 0xa7ae, 18166 0xa7b0, 0xa7b7, 16906 18167 0xa7f7, 0xa801, 16907 18168 0xa803, 0xa805, … … 16913 18174 0xa880, 0xa8c3, 16914 18175 0xa8ce, 0xa8d9, 16915 0xa8f2, 0xa8f b,18176 0xa8f2, 0xa8fd, 16916 18177 0xa900, 0xa925, 16917 18178 0xa92e, 0xa946, … … 16946 18207 0xab20, 0xab26, 16947 18208 0xab28, 0xab2e, 16948 0xab30, 0xab5f, 16949 0xab64, 0xab65, 16950 0xabc0, 0xabe4, 18209 0xab30, 0xab65, 18210 0xab70, 0xabe4, 16951 18211 0xabe6, 0xabe7, 16952 18212 0xabe9, 0xabec, … … 16994 18254 0x10100, 0x10102, 16995 18255 0x10107, 0x10133, 16996 0x10137, 0x1018 c,18256 0x10137, 0x1018e, 16997 18257 0x10190, 0x1019b, 16998 18258 0x101a0, 0x101a0, … … 17002 18262 0x102e1, 0x102fb, 17003 18263 0x10300, 0x10323, 17004 0x103 30, 0x1034a,18264 0x1032d, 0x1034a, 17005 18265 0x10350, 0x10375, 17006 18266 0x10380, 0x1039d, … … 17009 18269 0x10400, 0x1049d, 17010 18270 0x104a0, 0x104a9, 18271 0x104b0, 0x104d3, 18272 0x104d8, 0x104fb, 17011 18273 0x10500, 0x10527, 17012 18274 0x10530, 0x10563, … … 17023 18285 0x10857, 0x1089e, 17024 18286 0x108a7, 0x108af, 17025 0x10900, 0x1091b, 18287 0x108e0, 0x108f2, 18288 0x108f4, 0x108f5, 18289 0x108fb, 0x1091b, 17026 18290 0x1091f, 0x10939, 17027 18291 0x1093f, 0x1093f, 17028 18292 0x10980, 0x109b7, 17029 0x109b e, 0x109bf,17030 0x10 a00, 0x10a00,18293 0x109bc, 0x109cf, 18294 0x109d2, 0x10a00, 17031 18295 0x10a10, 0x10a13, 17032 18296 0x10a15, 0x10a17, … … 17044 18308 0x10ba9, 0x10baf, 17045 18309 0x10c00, 0x10c48, 18310 0x10c80, 0x10cb2, 18311 0x10cc0, 0x10cf2, 18312 0x10cfa, 0x10cff, 17046 18313 0x10e60, 0x10e7e, 17047 18314 0x11000, 0x11000, … … 17061 18328 0x11174, 0x11176, 17062 18329 0x11182, 0x111b5, 17063 0x111bf, 0x111c 8,18330 0x111bf, 0x111c9, 17064 18331 0x111cd, 0x111cd, 17065 0x111d0, 0x111d a,18332 0x111d0, 0x111df, 17066 18333 0x111e1, 0x111f4, 17067 18334 0x11200, 0x11211, … … 17070 18337 0x11235, 0x11235, 17071 18338 0x11238, 0x1123d, 18339 0x11280, 0x11286, 18340 0x11288, 0x11288, 18341 0x1128a, 0x1128d, 18342 0x1128f, 0x1129d, 18343 0x1129f, 0x112a9, 17072 18344 0x112b0, 0x112de, 17073 18345 0x112e0, 0x112e2, … … 17085 18357 0x11347, 0x11348, 17086 18358 0x1134b, 0x1134d, 18359 0x11350, 0x11350, 17087 18360 0x1135d, 0x11363, 18361 0x11400, 0x11437, 18362 0x11440, 0x11441, 18363 0x11445, 0x11445, 18364 0x11447, 0x11459, 18365 0x1145b, 0x1145b, 18366 0x1145d, 0x1145d, 17088 18367 0x11480, 0x114af, 17089 18368 0x114b1, 0x114b2, … … 17098 18377 0x115b8, 0x115bb, 17099 18378 0x115be, 0x115be, 17100 0x115c1, 0x115 c9,18379 0x115c1, 0x115db, 17101 18380 0x11600, 0x11632, 17102 18381 0x1163b, 0x1163c, … … 17104 18383 0x11641, 0x11644, 17105 18384 0x11650, 0x11659, 18385 0x11660, 0x1166c, 17106 18386 0x11680, 0x116aa, 17107 18387 0x116ac, 0x116ac, … … 17109 18389 0x116b6, 0x116b6, 17110 18390 0x116c0, 0x116c9, 18391 0x11700, 0x11719, 18392 0x11720, 0x11721, 18393 0x11726, 0x11726, 18394 0x11730, 0x1173f, 17111 18395 0x118a0, 0x118f2, 17112 18396 0x118ff, 0x118ff, 18397 0x11a00, 0x11a00, 18398 0x11a07, 0x11a08, 18399 0x11a0b, 0x11a32, 18400 0x11a39, 0x11a3a, 18401 0x11a3f, 0x11a46, 18402 0x11a50, 0x11a50, 18403 0x11a57, 0x11a58, 18404 0x11a5c, 0x11a83, 18405 0x11a86, 0x11a89, 18406 0x11a97, 0x11a97, 18407 0x11a9a, 0x11a9c, 18408 0x11a9e, 0x11aa2, 17113 18409 0x11ac0, 0x11af8, 17114 0x12000, 0x12398, 18410 0x11c00, 0x11c08, 18411 0x11c0a, 0x11c2f, 18412 0x11c3e, 0x11c3e, 18413 0x11c40, 0x11c45, 18414 0x11c50, 0x11c6c, 18415 0x11c70, 0x11c8f, 18416 0x11ca9, 0x11ca9, 18417 0x11cb1, 0x11cb1, 18418 0x11cb4, 0x11cb4, 18419 0x11d00, 0x11d06, 18420 0x11d08, 0x11d09, 18421 0x11d0b, 0x11d30, 18422 0x11d46, 0x11d46, 18423 0x11d50, 0x11d59, 18424 0x12000, 0x12399, 17115 18425 0x12400, 0x1246e, 17116 18426 0x12470, 0x12474, 18427 0x12480, 0x12543, 17117 18428 0x13000, 0x1342e, 18429 0x14400, 0x14646, 17118 18430 0x16800, 0x16a38, 17119 18431 0x16a40, 0x16a5e, … … 17131 18443 0x16f50, 0x16f7e, 17132 18444 0x16f93, 0x16f9f, 17133 0x1b000, 0x1b001, 18445 0x16fe0, 0x16fe1, 18446 0x17000, 0x187ec, 18447 0x18800, 0x18af2, 18448 0x1b000, 0x1b11e, 18449 0x1b170, 0x1b2fb, 17134 18450 0x1bc00, 0x1bc6a, 17135 18451 0x1bc70, 0x1bc7c, … … 17145 18461 0x1d183, 0x1d184, 17146 18462 0x1d18c, 0x1d1a9, 17147 0x1d1ae, 0x1d1 dd,18463 0x1d1ae, 0x1d1e8, 17148 18464 0x1d200, 0x1d241, 17149 18465 0x1d245, 0x1d245, … … 17170 18486 0x1d552, 0x1d6a5, 17171 18487 0x1d6a8, 0x1d7cb, 17172 0x1d7ce, 0x1d7ff, 18488 0x1d7ce, 0x1d9ff, 18489 0x1da37, 0x1da3a, 18490 0x1da6d, 0x1da74, 18491 0x1da76, 0x1da83, 18492 0x1da85, 0x1da8b, 17173 18493 0x1e800, 0x1e8c4, 17174 18494 0x1e8c7, 0x1e8cf, 18495 0x1e900, 0x1e943, 18496 0x1e950, 0x1e959, 18497 0x1e95e, 0x1e95f, 17175 18498 0x1ee00, 0x1ee03, 17176 18499 0x1ee05, 0x1ee1f, … … 17216 18539 0x1f110, 0x1f12e, 17217 18540 0x1f130, 0x1f16b, 17218 0x1f170, 0x1f1 9a,18541 0x1f170, 0x1f1ac, 17219 18542 0x1f1e6, 0x1f202, 17220 0x1f210, 0x1f23 a,18543 0x1f210, 0x1f23b, 17221 18544 0x1f240, 0x1f248, 17222 18545 0x1f250, 0x1f251, 17223 0x1f300, 0x1f32c, 17224 0x1f330, 0x1f37d, 17225 0x1f380, 0x1f3ce, 17226 0x1f3d4, 0x1f3f7, 17227 0x1f400, 0x1f4fe, 17228 0x1f500, 0x1f54a, 17229 0x1f550, 0x1f579, 17230 0x1f57b, 0x1f5a3, 17231 0x1f5a5, 0x1f642, 17232 0x1f645, 0x1f6cf, 18546 0x1f260, 0x1f265, 18547 0x1f300, 0x1f6d4, 17233 18548 0x1f6e0, 0x1f6ec, 17234 0x1f6f0, 0x1f6f 3,18549 0x1f6f0, 0x1f6f8, 17235 18550 0x1f700, 0x1f773, 17236 18551 0x1f780, 0x1f7d4, … … 17240 18555 0x1f860, 0x1f887, 17241 18556 0x1f890, 0x1f8ad, 18557 0x1f900, 0x1f90b, 18558 0x1f910, 0x1f93e, 18559 0x1f940, 0x1f94c, 18560 0x1f950, 0x1f96b, 18561 0x1f980, 0x1f997, 18562 0x1f9c0, 0x1f9c0, 18563 0x1f9d0, 0x1f9e6, 17242 18564 0x20000, 0x2a6d6, 17243 18565 0x2a700, 0x2b734, 17244 18566 0x2b740, 0x2b81d, 18567 0x2b820, 0x2cea1, 18568 0x2ceb0, 0x2ebe0, 17245 18569 0x2f800, 0x2fa1d, 17246 18570 }; /* CR_Grapheme_Base */ … … 17248 18572 /* 'Grapheme_Link': Derived Property */ 17249 18573 static const OnigCodePoint CR_Grapheme_Link[] = { 17250 4 0,18574 48, 17251 18575 0x094d, 0x094d, 17252 18576 0x09cd, 0x09cd, … … 17257 18581 0x0c4d, 0x0c4d, 17258 18582 0x0ccd, 0x0ccd, 18583 0x0d3b, 0x0d3c, 17259 18584 0x0d4d, 0x0d4d, 17260 18585 0x0dca, 0x0dca, … … 17285 18610 0x112ea, 0x112ea, 17286 18611 0x1134d, 0x1134d, 18612 0x11442, 0x11442, 17287 18613 0x114c2, 0x114c2, 17288 18614 0x115bf, 0x115bf, 17289 18615 0x1163f, 0x1163f, 17290 18616 0x116b6, 0x116b6, 18617 0x1172b, 0x1172b, 18618 0x11a34, 0x11a34, 18619 0x11a47, 0x11a47, 18620 0x11a99, 0x11a99, 18621 0x11c3f, 0x11c3f, 18622 0x11d44, 0x11d45, 17291 18623 }; /* CR_Grapheme_Link */ 17292 18624 17293 18625 /* 'Common': Script */ 17294 18626 static const OnigCodePoint CR_Common[] = { 17295 16 5,18627 164, 17296 18628 0x0000, 0x0040, 17297 18629 0x005b, 0x0060, … … 17311 18643 0x0605, 0x0605, 17312 18644 0x060c, 0x060c, 17313 0x061b, 0x061 c,18645 0x061b, 0x061b, 17314 18646 0x061f, 0x061f, 17315 18647 0x0640, 0x0640, 17316 0x0660, 0x0669,17317 18648 0x06dd, 0x06dd, 18649 0x08e2, 0x08e2, 17318 18650 0x0964, 0x0965, 17319 18651 0x0e3f, 0x0e3f, … … 17328 18660 0x1ce9, 0x1cec, 17329 18661 0x1cee, 0x1cf3, 17330 0x1cf5, 0x1cf 6,18662 0x1cf5, 0x1cf7, 17331 18663 0x2000, 0x200b, 17332 18664 0x200e, 0x2064, … … 17334 18666 0x2074, 0x207e, 17335 18667 0x2080, 0x208e, 17336 0x20a0, 0x20b d,18668 0x20a0, 0x20bf, 17337 18669 0x2100, 0x2125, 17338 18670 0x2127, 0x2129, … … 17340 18672 0x2133, 0x214d, 17341 18673 0x214f, 0x215f, 17342 0x2189, 0x2189, 17343 0x2190, 0x23fa, 17344 0x2400, 0x2426, 18674 0x2189, 0x218b, 18675 0x2190, 0x2426, 17345 18676 0x2440, 0x244a, 17346 18677 0x2460, 0x27ff, … … 17349 18680 0x2b98, 0x2bb9, 17350 18681 0x2bbd, 0x2bc8, 17351 0x2bca, 0x2bd1, 17352 0x2e00, 0x2e42, 18682 0x2bca, 0x2bd2, 18683 0x2bec, 0x2bef, 18684 0x2e00, 0x2e49, 17353 18685 0x2ff0, 0x2ffb, 17354 18686 0x3000, 0x3004, … … 17399 18731 0x1d183, 0x1d184, 17400 18732 0x1d18c, 0x1d1a9, 17401 0x1d1ae, 0x1d1 dd,18733 0x1d1ae, 0x1d1e8, 17402 18734 0x1d300, 0x1d356, 17403 18735 0x1d360, 0x1d371, … … 17432 18764 0x1f110, 0x1f12e, 17433 18765 0x1f130, 0x1f16b, 17434 0x1f170, 0x1f1 9a,18766 0x1f170, 0x1f1ac, 17435 18767 0x1f1e6, 0x1f1ff, 17436 18768 0x1f201, 0x1f202, 17437 0x1f210, 0x1f23 a,18769 0x1f210, 0x1f23b, 17438 18770 0x1f240, 0x1f248, 17439 18771 0x1f250, 0x1f251, 17440 0x1f300, 0x1f32c, 17441 0x1f330, 0x1f37d, 17442 0x1f380, 0x1f3ce, 17443 0x1f3d4, 0x1f3f7, 17444 0x1f400, 0x1f4fe, 17445 0x1f500, 0x1f54a, 17446 0x1f550, 0x1f579, 17447 0x1f57b, 0x1f5a3, 17448 0x1f5a5, 0x1f642, 17449 0x1f645, 0x1f6cf, 18772 0x1f260, 0x1f265, 18773 0x1f300, 0x1f6d4, 17450 18774 0x1f6e0, 0x1f6ec, 17451 0x1f6f0, 0x1f6f 3,18775 0x1f6f0, 0x1f6f8, 17452 18776 0x1f700, 0x1f773, 17453 18777 0x1f780, 0x1f7d4, … … 17457 18781 0x1f860, 0x1f887, 17458 18782 0x1f890, 0x1f8ad, 18783 0x1f900, 0x1f90b, 18784 0x1f910, 0x1f93e, 18785 0x1f940, 0x1f94c, 18786 0x1f950, 0x1f96b, 18787 0x1f980, 0x1f997, 18788 0x1f9c0, 0x1f9c0, 18789 0x1f9d0, 0x1f9e6, 17459 18790 0xe0001, 0xe0001, 17460 18791 0xe0020, 0xe007f, … … 17463 18794 /* 'Latin': Script */ 17464 18795 static const OnigCodePoint CR_Latin[] = { 17465 3 3,18796 31, 17466 18797 0x0041, 0x005a, 17467 18798 0x0061, 0x007a, … … 17487 18818 0x2c60, 0x2c7f, 17488 18819 0xa722, 0xa787, 17489 0xa78b, 0xa78e, 17490 0xa790, 0xa7ad, 17491 0xa7b0, 0xa7b1, 18820 0xa78b, 0xa7ae, 18821 0xa7b0, 0xa7b7, 17492 18822 0xa7f7, 0xa7ff, 17493 18823 0xab30, 0xab5a, 17494 0xab5c, 0xab5f, 17495 0xab64, 0xab64, 18824 0xab5c, 0xab64, 17496 18825 0xfb00, 0xfb06, 17497 18826 0xff21, 0xff3a, … … 17535 18864 0x2126, 0x2126, 17536 18865 0xab65, 0xab65, 17537 0x10140, 0x1018 c,18866 0x10140, 0x1018e, 17538 18867 0x101a0, 0x101a0, 17539 18868 0x1d200, 0x1d245, … … 17542 18871 /* 'Cyrillic': Script */ 17543 18872 static const OnigCodePoint CR_Cyrillic[] = { 17544 7,18873 8, 17545 18874 0x0400, 0x0484, 17546 18875 0x0487, 0x052f, 18876 0x1c80, 0x1c88, 17547 18877 0x1d2b, 0x1d2b, 17548 18878 0x1d78, 0x1d78, 17549 18879 0x2de0, 0x2dff, 17550 0xa640, 0xa69 d,17551 0x a69f, 0xa69f,18880 0xa640, 0xa69f, 18881 0xfe2e, 0xfe2f, 17552 18882 }; /* CR_Cyrillic */ 17553 18883 … … 17579 18909 /* 'Arabic': Script */ 17580 18910 static const OnigCodePoint CR_Arabic[] = { 17581 5 5,18911 57, 17582 18912 0x0600, 0x0604, 17583 18913 0x0606, 0x060b, 17584 18914 0x060d, 0x061a, 18915 0x061c, 0x061c, 17585 18916 0x061e, 0x061e, 17586 18917 0x0620, 0x063f, 17587 18918 0x0641, 0x064a, 17588 0x0656, 0x065f, 17589 0x066a, 0x066f, 18919 0x0656, 0x066f, 17590 18920 0x0671, 0x06dc, 17591 18921 0x06de, 0x06ff, 17592 18922 0x0750, 0x077f, 17593 0x08a0, 0x08b2, 17594 0x08e4, 0x08ff, 18923 0x08a0, 0x08b4, 18924 0x08b6, 0x08bd, 18925 0x08d4, 0x08e1, 18926 0x08e3, 0x08ff, 17595 18927 0xfb50, 0xfbc1, 17596 18928 0xfbd3, 0xfd3d, … … 17639 18971 /* 'Syriac': Script */ 17640 18972 static const OnigCodePoint CR_Syriac[] = { 17641 3,18973 4, 17642 18974 0x0700, 0x070d, 17643 18975 0x070f, 0x074a, 17644 18976 0x074d, 0x074f, 18977 0x0860, 0x086a, 17645 18978 }; /* CR_Syriac */ 17646 18979 … … 17657 18990 0x0953, 0x0963, 17658 18991 0x0966, 0x097f, 17659 0xa8e0, 0xa8f b,18992 0xa8e0, 0xa8fd, 17660 18993 }; /* CR_Devanagari */ 17661 18994 … … 17676 19009 0x09dc, 0x09dd, 17677 19010 0x09df, 0x09e3, 17678 0x09e6, 0x09f b,19011 0x09e6, 0x09fd, 17679 19012 }; /* CR_Bengali */ 17680 19013 … … 17702 19035 /* 'Gujarati': Script */ 17703 19036 static const OnigCodePoint CR_Gujarati[] = { 17704 1 3,19037 14, 17705 19038 0x0a81, 0x0a83, 17706 19039 0x0a85, 0x0a8d, … … 17716 19049 0x0ae0, 0x0ae3, 17717 19050 0x0ae6, 0x0af1, 19051 0x0af9, 0x0aff, 17718 19052 }; /* CR_Gujarati */ 17719 19053 … … 17770 19104 0x0c4a, 0x0c4d, 17771 19105 0x0c55, 0x0c56, 17772 0x0c58, 0x0c5 9,19106 0x0c58, 0x0c5a, 17773 19107 0x0c60, 0x0c63, 17774 19108 0x0c66, 0x0c6f, … … 17779 19113 static const OnigCodePoint CR_Kannada[] = { 17780 19114 14, 17781 0x0c8 1, 0x0c83,19115 0x0c80, 0x0c83, 17782 19116 0x0c85, 0x0c8c, 17783 19117 0x0c8e, 0x0c90, … … 17797 19131 /* 'Malayalam': Script */ 17798 19132 static const OnigCodePoint CR_Malayalam[] = { 17799 11,17800 0x0d0 1, 0x0d03,19133 8, 19134 0x0d00, 0x0d03, 17801 19135 0x0d05, 0x0d0c, 17802 19136 0x0d0e, 0x0d10, 17803 0x0d12, 0x0d3a, 17804 0x0d3d, 0x0d44, 19137 0x0d12, 0x0d44, 17805 19138 0x0d46, 0x0d48, 17806 0x0d4a, 0x0d4e, 17807 0x0d57, 0x0d57, 17808 0x0d60, 0x0d63, 17809 0x0d66, 0x0d75, 17810 0x0d79, 0x0d7f, 19139 0x0d4a, 0x0d4f, 19140 0x0d54, 0x0d63, 19141 0x0d66, 0x0d7f, 17811 19142 }; /* CR_Malayalam */ 17812 19143 … … 17950 19281 /* 'Cherokee': Script */ 17951 19282 static const OnigCodePoint CR_Cherokee[] = { 17952 1, 17953 0x13a0, 0x13f4, 19283 3, 19284 0x13a0, 0x13f5, 19285 0x13f8, 0x13fd, 19286 0xab70, 0xabbf, 17954 19287 }; /* CR_Cherokee */ 17955 19288 … … 17985 19318 /* 'Mongolian': Script */ 17986 19319 static const OnigCodePoint CR_Mongolian[] = { 17987 6,19320 7, 17988 19321 0x1800, 0x1801, 17989 19322 0x1804, 0x1804, … … 17992 19325 0x1820, 0x1877, 17993 19326 0x1880, 0x18aa, 19327 0x11660, 0x1166c, 17994 19328 }; /* CR_Mongolian */ 17995 19329 … … 17999 19333 0x3041, 0x3096, 18000 19334 0x309d, 0x309f, 18001 0x1b001, 0x1b 001,19335 0x1b001, 0x1b11e, 18002 19336 0x1f200, 0x1f200, 18003 19337 }; /* CR_Hiragana */ … … 18020 19354 3, 18021 19355 0x02ea, 0x02eb, 18022 0x3105, 0x312 d,19356 0x3105, 0x312e, 18023 19357 0x31a0, 0x31ba, 18024 19358 }; /* CR_Bopomofo */ … … 18026 19360 /* 'Han': Script */ 18027 19361 static const OnigCodePoint CR_Han[] = { 18028 1 5,19362 17, 18029 19363 0x2e80, 0x2e99, 18030 19364 0x2e9b, 0x2ef3, … … 18035 19369 0x3038, 0x303b, 18036 19370 0x3400, 0x4db5, 18037 0x4e00, 0x9f cc,19371 0x4e00, 0x9fea, 18038 19372 0xf900, 0xfa6d, 18039 19373 0xfa70, 0xfad9, … … 18041 19375 0x2a700, 0x2b734, 18042 19376 0x2b740, 0x2b81d, 19377 0x2b820, 0x2cea1, 19378 0x2ceb0, 0x2ebe0, 18043 19379 0x2f800, 0x2fa1d, 18044 19380 }; /* CR_Han */ … … 18053 19389 /* 'Old_Italic': Script */ 18054 19390 static const OnigCodePoint CR_Old_Italic[] = { 18055 1,19391 2, 18056 19392 0x10300, 0x10323, 19393 0x1032d, 0x1032f, 18057 19394 }; /* CR_Old_Italic */ 18058 19395 … … 18084 19421 0x1cf4, 0x1cf4, 18085 19422 0x1cf8, 0x1cf9, 18086 0x1dc0, 0x1df 5,18087 0x1df c, 0x1dff,19423 0x1dc0, 0x1df9, 19424 0x1dfb, 0x1dff, 18088 19425 0x200c, 0x200d, 18089 19426 0x20d0, 0x20f0, … … 18220 19557 /* 'Glagolitic': Script */ 18221 19558 static const OnigCodePoint CR_Glagolitic[] = { 18222 2,19559 7, 18223 19560 0x2c00, 0x2c2e, 18224 19561 0x2c30, 0x2c5e, 19562 0x1e000, 0x1e006, 19563 0x1e008, 0x1e018, 19564 0x1e01b, 0x1e021, 19565 0x1e023, 0x1e024, 19566 0x1e026, 0x1e02a, 18225 19567 }; /* CR_Glagolitic */ 18226 19568 … … 18268 19610 /* 'Cuneiform': Script */ 18269 19611 static const OnigCodePoint CR_Cuneiform[] = { 18270 3,18271 0x12000, 0x1239 8,19612 4, 19613 0x12000, 0x12399, 18272 19614 0x12400, 0x1246e, 18273 19615 0x12470, 0x12474, 19616 0x12480, 0x12543, 18274 19617 }; /* CR_Cuneiform */ 18275 19618 … … 18323 19666 static const OnigCodePoint CR_Saurashtra[] = { 18324 19667 2, 18325 0xa880, 0xa8c 4,19668 0xa880, 0xa8c5, 18326 19669 0xa8ce, 0xa8d9, 18327 19670 }; /* CR_Saurashtra */ … … 18505 19848 /* 'Meroitic_Cursive': Script */ 18506 19849 static const OnigCodePoint CR_Meroitic_Cursive[] = { 18507 2,19850 3, 18508 19851 0x109a0, 0x109b7, 18509 0x109be, 0x109bf, 19852 0x109bc, 0x109cf, 19853 0x109d2, 0x109ff, 18510 19854 }; /* CR_Meroitic_Cursive */ 18511 19855 … … 18526 19870 /* 'Sharada': Script */ 18527 19871 static const OnigCodePoint CR_Sharada[] = { 18528 3, 18529 0x11180, 0x111c8, 18530 0x111cd, 0x111cd, 18531 0x111d0, 0x111da, 19872 2, 19873 0x11180, 0x111cd, 19874 0x111d0, 0x111df, 18532 19875 }; /* CR_Sharada */ 18533 19876 … … 18578 19921 /* 'Grantha': Script */ 18579 19922 static const OnigCodePoint CR_Grantha[] = { 18580 1 4,18581 0x1130 1, 0x11303,19923 15, 19924 0x11300, 0x11303, 18582 19925 0x11305, 0x1130c, 18583 19926 0x1130f, 0x11310, … … 18589 19932 0x11347, 0x11348, 18590 19933 0x1134b, 0x1134d, 19934 0x11350, 0x11350, 18591 19935 0x11357, 0x11357, 18592 19936 0x1135d, 0x11363, … … 18609 19953 2, 18610 19954 0x11200, 0x11211, 18611 0x11213, 0x1123 d,19955 0x11213, 0x1123e, 18612 19956 }; /* CR_Khojki */ 18613 19957 … … 18698 20042 2, 18699 20043 0x11580, 0x115b5, 18700 0x115b8, 0x115 c9,20044 0x115b8, 0x115dd, 18701 20045 }; /* CR_Siddham */ 18702 20046 … … 18721 20065 0x118ff, 0x118ff, 18722 20066 }; /* CR_Warang_Citi */ 20067 20068 /* 'Ahom': Script */ 20069 static const OnigCodePoint CR_Ahom[] = { 20070 3, 20071 0x11700, 0x11719, 20072 0x1171d, 0x1172b, 20073 0x11730, 0x1173f, 20074 }; /* CR_Ahom */ 20075 20076 /* 'Anatolian_Hieroglyphs': Script */ 20077 static const OnigCodePoint CR_Anatolian_Hieroglyphs[] = { 20078 1, 20079 0x14400, 0x14646, 20080 }; /* CR_Anatolian_Hieroglyphs */ 20081 20082 /* 'Hatran': Script */ 20083 static const OnigCodePoint CR_Hatran[] = { 20084 3, 20085 0x108e0, 0x108f2, 20086 0x108f4, 0x108f5, 20087 0x108fb, 0x108ff, 20088 }; /* CR_Hatran */ 20089 20090 /* 'Multani': Script */ 20091 static const OnigCodePoint CR_Multani[] = { 20092 5, 20093 0x11280, 0x11286, 20094 0x11288, 0x11288, 20095 0x1128a, 0x1128d, 20096 0x1128f, 0x1129d, 20097 0x1129f, 0x112a9, 20098 }; /* CR_Multani */ 20099 20100 /* 'Old_Hungarian': Script */ 20101 static const OnigCodePoint CR_Old_Hungarian[] = { 20102 3, 20103 0x10c80, 0x10cb2, 20104 0x10cc0, 0x10cf2, 20105 0x10cfa, 0x10cff, 20106 }; /* CR_Old_Hungarian */ 20107 20108 /* 'SignWriting': Script */ 20109 static const OnigCodePoint CR_SignWriting[] = { 20110 3, 20111 0x1d800, 0x1da8b, 20112 0x1da9b, 0x1da9f, 20113 0x1daa1, 0x1daaf, 20114 }; /* CR_SignWriting */ 20115 20116 /* 'Adlam': Script */ 20117 static const OnigCodePoint CR_Adlam[] = { 20118 3, 20119 0x1e900, 0x1e94a, 20120 0x1e950, 0x1e959, 20121 0x1e95e, 0x1e95f, 20122 }; /* CR_Adlam */ 20123 20124 /* 'Bhaiksuki': Script */ 20125 static const OnigCodePoint CR_Bhaiksuki[] = { 20126 4, 20127 0x11c00, 0x11c08, 20128 0x11c0a, 0x11c36, 20129 0x11c38, 0x11c45, 20130 0x11c50, 0x11c6c, 20131 }; /* CR_Bhaiksuki */ 20132 20133 /* 'Marchen': Script */ 20134 static const OnigCodePoint CR_Marchen[] = { 20135 3, 20136 0x11c70, 0x11c8f, 20137 0x11c92, 0x11ca7, 20138 0x11ca9, 0x11cb6, 20139 }; /* CR_Marchen */ 20140 20141 /* 'Newa': Script */ 20142 static const OnigCodePoint CR_Newa[] = { 20143 3, 20144 0x11400, 0x11459, 20145 0x1145b, 0x1145b, 20146 0x1145d, 0x1145d, 20147 }; /* CR_Newa */ 20148 20149 /* 'Osage': Script */ 20150 static const OnigCodePoint CR_Osage[] = { 20151 2, 20152 0x104b0, 0x104d3, 20153 0x104d8, 0x104fb, 20154 }; /* CR_Osage */ 20155 20156 /* 'Tangut': Script */ 20157 static const OnigCodePoint CR_Tangut[] = { 20158 3, 20159 0x16fe0, 0x16fe0, 20160 0x17000, 0x187ec, 20161 0x18800, 0x18af2, 20162 }; /* CR_Tangut */ 20163 20164 /* 'Masaram_Gondi': Script */ 20165 static const OnigCodePoint CR_Masaram_Gondi[] = { 20166 7, 20167 0x11d00, 0x11d06, 20168 0x11d08, 0x11d09, 20169 0x11d0b, 0x11d36, 20170 0x11d3a, 0x11d3a, 20171 0x11d3c, 0x11d3d, 20172 0x11d3f, 0x11d47, 20173 0x11d50, 0x11d59, 20174 }; /* CR_Masaram_Gondi */ 20175 20176 /* 'Nushu': Script */ 20177 static const OnigCodePoint CR_Nushu[] = { 20178 2, 20179 0x16fe1, 0x16fe1, 20180 0x1b170, 0x1b2fb, 20181 }; /* CR_Nushu */ 20182 20183 /* 'Soyombo': Script */ 20184 static const OnigCodePoint CR_Soyombo[] = { 20185 3, 20186 0x11a50, 0x11a83, 20187 0x11a86, 0x11a9c, 20188 0x11a9e, 0x11aa2, 20189 }; /* CR_Soyombo */ 20190 20191 /* 'Zanabazar_Square': Script */ 20192 static const OnigCodePoint CR_Zanabazar_Square[] = { 20193 1, 20194 0x11a00, 0x11a47, 20195 }; /* CR_Zanabazar_Square */ 18723 20196 18724 20197 /* 'White_Space': Binary Property */ … … 18801 20274 /* 'Terminal_Punctuation': Binary Property */ 18802 20275 static const OnigCodePoint CR_Terminal_Punctuation[] = { 18803 86,20276 97, 18804 20277 0x0021, 0x0021, 18805 20278 0x002c, 0x002c, … … 18878 20351 0x111c5, 0x111c6, 18879 20352 0x111cd, 0x111cd, 20353 0x111de, 0x111df, 18880 20354 0x11238, 0x1123c, 20355 0x112a9, 0x112a9, 20356 0x1144b, 0x1144d, 20357 0x1145b, 0x1145b, 18881 20358 0x115c2, 0x115c5, 18882 0x115c9, 0x115 c9,20359 0x115c9, 0x115d7, 18883 20360 0x11641, 0x11642, 20361 0x1173c, 0x1173e, 20362 0x11a42, 0x11a43, 20363 0x11a9b, 0x11a9c, 20364 0x11aa1, 0x11aa2, 20365 0x11c41, 0x11c43, 20366 0x11c71, 0x11c71, 18884 20367 0x12470, 0x12474, 18885 20368 0x16a6e, 0x16a6f, … … 18888 20371 0x16b44, 0x16b44, 18889 20372 0x1bc9f, 0x1bc9f, 20373 0x1da87, 0x1da8a, 18890 20374 }; /* CR_Terminal_Punctuation */ 18891 20375 … … 19045 20529 /* 'Other_Alphabetic': Binary Property */ 19046 20530 static const OnigCodePoint CR_Other_Alphabetic[] = { 19047 178,20531 206, 19048 20532 0x0345, 0x0345, 19049 20533 0x05b0, 0x05bd, … … 19067 20551 0x0825, 0x0827, 19068 20552 0x0829, 0x082c, 19069 0x08e4, 0x08e9, 20553 0x08d4, 0x08df, 20554 0x08e3, 0x08e9, 19070 20555 0x08f0, 0x0903, 19071 20556 0x093a, 0x093b, … … 19092 20577 0x0acb, 0x0acc, 19093 20578 0x0ae2, 0x0ae3, 20579 0x0afa, 0x0afc, 19094 20580 0x0b01, 0x0b03, 19095 20581 0x0b3e, 0x0b44, … … 19115 20601 0x0cd5, 0x0cd6, 19116 20602 0x0ce2, 0x0ce3, 19117 0x0d0 1, 0x0d03,20603 0x0d00, 0x0d03, 19118 20604 0x0d3e, 0x0d44, 19119 20605 0x0d46, 0x0d48, … … 19152 20638 0x1772, 0x1773, 19153 20639 0x17b6, 0x17c8, 20640 0x1885, 0x1886, 19154 20641 0x18a9, 0x18a9, 19155 20642 0x1920, 0x192b, 19156 20643 0x1930, 0x1938, 19157 0x19b0, 0x19c0,19158 0x19c8, 0x19c9,19159 20644 0x1a17, 0x1a1b, 19160 20645 0x1a55, 0x1a5e, … … 19172 20657 0x2de0, 0x2dff, 19173 20658 0xa674, 0xa67b, 19174 0xa69 f, 0xa69f,20659 0xa69e, 0xa69f, 19175 20660 0xa823, 0xa827, 19176 20661 0xa880, 0xa881, 19177 20662 0xa8b4, 0xa8c3, 20663 0xa8c5, 0xa8c5, 19178 20664 0xa926, 0xa92a, 19179 20665 0xa947, 0xa952, … … 19205 20691 0x1122c, 0x11234, 19206 20692 0x11237, 0x11237, 20693 0x1123e, 0x1123e, 19207 20694 0x112df, 0x112e8, 19208 0x1130 1, 0x11303,20695 0x11300, 0x11303, 19209 20696 0x1133e, 0x11344, 19210 20697 0x11347, 0x11348, … … 19212 20699 0x11357, 0x11357, 19213 20700 0x11362, 0x11363, 20701 0x11435, 0x11441, 20702 0x11443, 0x11445, 19214 20703 0x114b0, 0x114c1, 19215 20704 0x115af, 0x115b5, 19216 20705 0x115b8, 0x115be, 20706 0x115dc, 0x115dd, 19217 20707 0x11630, 0x1163e, 19218 20708 0x11640, 0x11640, 19219 20709 0x116ab, 0x116b5, 20710 0x1171d, 0x1172a, 20711 0x11a01, 0x11a0a, 20712 0x11a35, 0x11a39, 20713 0x11a3b, 0x11a3e, 20714 0x11a51, 0x11a5b, 20715 0x11a8a, 0x11a97, 20716 0x11c2f, 0x11c36, 20717 0x11c38, 0x11c3e, 20718 0x11c92, 0x11ca7, 20719 0x11ca9, 0x11cb6, 20720 0x11d31, 0x11d36, 20721 0x11d3a, 0x11d3a, 20722 0x11d3c, 0x11d3d, 20723 0x11d3f, 0x11d41, 20724 0x11d43, 0x11d43, 20725 0x11d47, 0x11d47, 19220 20726 0x16b30, 0x16b36, 19221 20727 0x16f51, 0x16f7e, 19222 20728 0x1bc9e, 0x1bc9e, 20729 0x1e000, 0x1e006, 20730 0x1e008, 0x1e018, 20731 0x1e01b, 0x1e021, 20732 0x1e023, 0x1e024, 20733 0x1e026, 0x1e02a, 20734 0x1e947, 0x1e947, 19223 20735 0x1f130, 0x1f149, 19224 20736 0x1f150, 0x1f169, … … 19228 20740 /* 'Ideographic': Binary Property */ 19229 20741 static const OnigCodePoint CR_Ideographic[] = { 19230 1 1,20742 16, 19231 20743 0x3006, 0x3007, 19232 20744 0x3021, 0x3029, 19233 20745 0x3038, 0x303a, 19234 20746 0x3400, 0x4db5, 19235 0x4e00, 0x9f cc,20747 0x4e00, 0x9fea, 19236 20748 0xf900, 0xfa6d, 19237 20749 0xfa70, 0xfad9, 20750 0x17000, 0x187ec, 20751 0x18800, 0x18af2, 20752 0x1b170, 0x1b2fb, 19238 20753 0x20000, 0x2a6d6, 19239 20754 0x2a700, 0x2b734, 19240 20755 0x2b740, 0x2b81d, 20756 0x2b820, 0x2cea1, 20757 0x2ceb0, 0x2ebe0, 19241 20758 0x2f800, 0x2fa1d, 19242 20759 }; /* CR_Ideographic */ … … 19244 20761 /* 'Diacritic': Binary Property */ 19245 20762 static const OnigCodePoint CR_Diacritic[] = { 19246 1 45,20763 159, 19247 20764 0x005e, 0x005e, 19248 20765 0x0060, 0x0060, … … 19273 20790 0x07eb, 0x07f5, 19274 20791 0x0818, 0x0819, 19275 0x08e 4, 0x08fe,20792 0x08e3, 0x08fe, 19276 20793 0x093c, 0x093c, 19277 20794 0x094d, 0x094d, … … 19284 20801 0x0abc, 0x0abc, 19285 20802 0x0acd, 0x0acd, 20803 0x0afd, 0x0aff, 19286 20804 0x0b3c, 0x0b3c, 19287 20805 0x0b4d, 0x0b4d, … … 19290 20808 0x0cbc, 0x0cbc, 19291 20809 0x0ccd, 0x0ccd, 20810 0x0d3b, 0x0d3c, 19292 20811 0x0d4d, 0x0d4d, 19293 20812 0x0dca, 0x0dca, … … 19323 20842 0x1ced, 0x1ced, 19324 20843 0x1cf4, 0x1cf4, 19325 0x1cf 8, 0x1cf9,20844 0x1cf7, 0x1cf9, 19326 20845 0x1d2c, 0x1d6a, 19327 20846 0x1dc4, 0x1dcf, 19328 0x1df5, 0x1df 5,20847 0x1df5, 0x1df9, 19329 20848 0x1dfd, 0x1dff, 19330 20849 0x1fbd, 0x1fbd, … … 19360 20879 0xabec, 0xabed, 19361 20880 0xfb1e, 0xfb1e, 19362 0xfe20, 0xfe2 d,20881 0xfe20, 0xfe2f, 19363 20882 0xff3e, 0xff3e, 19364 20883 0xff40, 0xff40, … … 19372 20891 0x11173, 0x11173, 19373 20892 0x111c0, 0x111c0, 20893 0x111ca, 0x111cc, 19374 20894 0x11235, 0x11236, 19375 20895 0x112e9, 0x112ea, … … 19378 20898 0x11366, 0x1136c, 19379 20899 0x11370, 0x11374, 20900 0x11442, 0x11442, 20901 0x11446, 0x11446, 19380 20902 0x114c2, 0x114c3, 19381 20903 0x115bf, 0x115c0, 19382 20904 0x1163f, 0x1163f, 19383 20905 0x116b6, 0x116b7, 20906 0x1172b, 0x1172b, 20907 0x11a34, 0x11a34, 20908 0x11a47, 0x11a47, 20909 0x11a99, 0x11a99, 20910 0x11c3f, 0x11c3f, 20911 0x11d42, 0x11d42, 20912 0x11d44, 0x11d45, 19384 20913 0x16af0, 0x16af4, 19385 20914 0x16f8f, 0x16f9f, … … 19390 20919 0x1d1aa, 0x1d1ad, 19391 20920 0x1e8d0, 0x1e8d6, 20921 0x1e944, 0x1e946, 20922 0x1e948, 0x1e94a, 19392 20923 }; /* CR_Diacritic */ 19393 20924 19394 20925 /* 'Extender': Binary Property */ 19395 20926 static const OnigCodePoint CR_Extender[] = { 19396 2 6,20927 29, 19397 20928 0x00b7, 0x00b7, 19398 20929 0x02d0, 0x02d1, … … 19420 20951 0x1135d, 0x1135d, 19421 20952 0x115c6, 0x115c8, 20953 0x11a98, 0x11a98, 19422 20954 0x16b42, 0x16b43, 20955 0x16fe0, 0x16fe1, 20956 0x1e944, 0x1e946, 19423 20957 }; /* CR_Extender */ 19424 20958 … … 19483 21017 /* 'Other_Grapheme_Extend': Binary Property */ 19484 21018 static const OnigCodePoint CR_Other_Grapheme_Extend[] = { 19485 2 2,21019 23, 19486 21020 0x09be, 0x09be, 19487 21021 0x09d7, 0x09d7, … … 19496 21030 0x0dcf, 0x0dcf, 19497 21031 0x0ddf, 0x0ddf, 19498 0x200c, 0x200 d,21032 0x200c, 0x200c, 19499 21033 0x302e, 0x302f, 19500 21034 0xff9e, 0xff9f, … … 19506 21040 0x1d165, 0x1d165, 19507 21041 0x1d16e, 0x1d172, 21042 0xe0020, 0xe007f, 19508 21043 }; /* CR_Other_Grapheme_Extend */ 19509 21044 … … 19531 21066 /* 'Unified_Ideograph': Binary Property */ 19532 21067 static const OnigCodePoint CR_Unified_Ideograph[] = { 19533 1 2,21068 14, 19534 21069 0x3400, 0x4db5, 19535 0x4e00, 0x9f cc,21070 0x4e00, 0x9fea, 19536 21071 0xfa0e, 0xfa0f, 19537 21072 0xfa11, 0xfa11, … … 19544 21079 0x2a700, 0x2b734, 19545 21080 0x2b740, 0x2b81d, 21081 0x2b820, 0x2cea1, 21082 0x2ceb0, 0x2ebe0, 19546 21083 }; /* CR_Unified_Ideograph */ 19547 21084 … … 19564 21101 /* 'Deprecated': Binary Property */ 19565 21102 static const OnigCodePoint CR_Deprecated[] = { 19566 9,21103 8, 19567 21104 0x0149, 0x0149, 19568 21105 0x0673, 0x0673, … … 19573 21110 0x2329, 0x232a, 19574 21111 0xe0001, 0xe0001, 19575 0xe0020, 0xe007f,19576 21112 }; /* CR_Deprecated */ 19577 21113 … … 19614 21150 /* 'Logical_Order_Exception': Binary Property */ 19615 21151 static const OnigCodePoint CR_Logical_Order_Exception[] = { 19616 5,21152 7, 19617 21153 0x0e40, 0x0e44, 19618 21154 0x0ec0, 0x0ec4, 21155 0x19b5, 0x19b7, 21156 0x19ba, 0x19ba, 19619 21157 0xaab5, 0xaab6, 19620 21158 0xaab9, 0xaab9, … … 19624 21162 /* 'Other_ID_Start': Binary Property */ 19625 21163 static const OnigCodePoint CR_Other_ID_Start[] = { 19626 3, 21164 4, 21165 0x1885, 0x1886, 19627 21166 0x2118, 0x2118, 19628 21167 0x212e, 0x212e, … … 19639 21178 }; /* CR_Other_ID_Continue */ 19640 21179 19641 /* 'S Term': Binary Property */19642 static const OnigCodePoint CR_S Term[] = {19643 6 0,21180 /* 'Sentence_Terminal': Binary Property */ 21181 static const OnigCodePoint CR_Sentence_Terminal[] = { 21182 68, 19644 21183 0x0021, 0x0021, 19645 21184 0x002e, 0x002e, … … 19692 21231 0x111c5, 0x111c6, 19693 21232 0x111cd, 0x111cd, 21233 0x111de, 0x111df, 19694 21234 0x11238, 0x11239, 19695 21235 0x1123b, 0x1123c, 21236 0x112a9, 0x112a9, 21237 0x1144b, 0x1144c, 19696 21238 0x115c2, 0x115c3, 19697 0x115c9, 0x115 c9,21239 0x115c9, 0x115d7, 19698 21240 0x11641, 0x11642, 21241 0x1173c, 0x1173e, 21242 0x11a42, 0x11a43, 21243 0x11a9b, 0x11a9c, 21244 0x11c41, 0x11c42, 19699 21245 0x16a6e, 0x16a6f, 19700 21246 0x16af5, 0x16af5, … … 19702 21248 0x16b44, 0x16b44, 19703 21249 0x1bc9f, 0x1bc9f, 19704 }; /* CR_STerm */ 21250 0x1da88, 0x1da88, 21251 }; /* CR_Sentence_Terminal */ 19705 21252 19706 21253 /* 'Variation_Selector': Binary Property */ … … 19755 21302 }; /* CR_Pattern_Syntax */ 19756 21303 21304 /* 'Prepended_Concatenation_Mark': Binary Property */ 21305 static const OnigCodePoint CR_Prepended_Concatenation_Mark[] = { 21306 5, 21307 0x0600, 0x0605, 21308 0x06dd, 0x06dd, 21309 0x070f, 0x070f, 21310 0x08e2, 0x08e2, 21311 0x110bd, 0x110bd, 21312 }; /* CR_Prepended_Concatenation_Mark */ 21313 21314 /* 'Regional_Indicator': Binary Property */ 21315 static const OnigCodePoint CR_Regional_Indicator[] = { 21316 1, 21317 0x1f1e6, 0x1f1ff, 21318 }; /* CR_Regional_Indicator */ 21319 21320 /* 'Emoji': Emoji */ 21321 static const OnigCodePoint CR_Emoji[] = { 21322 145, 21323 0x0023, 0x0023, 21324 0x002a, 0x002a, 21325 0x0030, 0x0039, 21326 0x00a9, 0x00a9, 21327 0x00ae, 0x00ae, 21328 0x203c, 0x203c, 21329 0x2049, 0x2049, 21330 0x2122, 0x2122, 21331 0x2139, 0x2139, 21332 0x2194, 0x2199, 21333 0x21a9, 0x21aa, 21334 0x231a, 0x231b, 21335 0x2328, 0x2328, 21336 0x23cf, 0x23cf, 21337 0x23e9, 0x23f3, 21338 0x23f8, 0x23fa, 21339 0x24c2, 0x24c2, 21340 0x25aa, 0x25ab, 21341 0x25b6, 0x25b6, 21342 0x25c0, 0x25c0, 21343 0x25fb, 0x25fe, 21344 0x2600, 0x2604, 21345 0x260e, 0x260e, 21346 0x2611, 0x2611, 21347 0x2614, 0x2615, 21348 0x2618, 0x2618, 21349 0x261d, 0x261d, 21350 0x2620, 0x2620, 21351 0x2622, 0x2623, 21352 0x2626, 0x2626, 21353 0x262a, 0x262a, 21354 0x262e, 0x262f, 21355 0x2638, 0x263a, 21356 0x2640, 0x2640, 21357 0x2642, 0x2642, 21358 0x2648, 0x2653, 21359 0x2660, 0x2660, 21360 0x2663, 0x2663, 21361 0x2665, 0x2666, 21362 0x2668, 0x2668, 21363 0x267b, 0x267b, 21364 0x267f, 0x267f, 21365 0x2692, 0x2697, 21366 0x2699, 0x2699, 21367 0x269b, 0x269c, 21368 0x26a0, 0x26a1, 21369 0x26aa, 0x26ab, 21370 0x26b0, 0x26b1, 21371 0x26bd, 0x26be, 21372 0x26c4, 0x26c5, 21373 0x26c8, 0x26c8, 21374 0x26ce, 0x26cf, 21375 0x26d1, 0x26d1, 21376 0x26d3, 0x26d4, 21377 0x26e9, 0x26ea, 21378 0x26f0, 0x26f5, 21379 0x26f7, 0x26fa, 21380 0x26fd, 0x26fd, 21381 0x2702, 0x2702, 21382 0x2705, 0x2705, 21383 0x2708, 0x270d, 21384 0x270f, 0x270f, 21385 0x2712, 0x2712, 21386 0x2714, 0x2714, 21387 0x2716, 0x2716, 21388 0x271d, 0x271d, 21389 0x2721, 0x2721, 21390 0x2728, 0x2728, 21391 0x2733, 0x2734, 21392 0x2744, 0x2744, 21393 0x2747, 0x2747, 21394 0x274c, 0x274c, 21395 0x274e, 0x274e, 21396 0x2753, 0x2755, 21397 0x2757, 0x2757, 21398 0x2763, 0x2764, 21399 0x2795, 0x2797, 21400 0x27a1, 0x27a1, 21401 0x27b0, 0x27b0, 21402 0x27bf, 0x27bf, 21403 0x2934, 0x2935, 21404 0x2b05, 0x2b07, 21405 0x2b1b, 0x2b1c, 21406 0x2b50, 0x2b50, 21407 0x2b55, 0x2b55, 21408 0x3030, 0x3030, 21409 0x303d, 0x303d, 21410 0x3297, 0x3297, 21411 0x3299, 0x3299, 21412 0x1f004, 0x1f004, 21413 0x1f0cf, 0x1f0cf, 21414 0x1f170, 0x1f171, 21415 0x1f17e, 0x1f17f, 21416 0x1f18e, 0x1f18e, 21417 0x1f191, 0x1f19a, 21418 0x1f1e6, 0x1f1ff, 21419 0x1f201, 0x1f202, 21420 0x1f21a, 0x1f21a, 21421 0x1f22f, 0x1f22f, 21422 0x1f232, 0x1f23a, 21423 0x1f250, 0x1f251, 21424 0x1f300, 0x1f321, 21425 0x1f324, 0x1f393, 21426 0x1f396, 0x1f397, 21427 0x1f399, 0x1f39b, 21428 0x1f39e, 0x1f3f0, 21429 0x1f3f3, 0x1f3f5, 21430 0x1f3f7, 0x1f4fd, 21431 0x1f4ff, 0x1f53d, 21432 0x1f549, 0x1f54e, 21433 0x1f550, 0x1f567, 21434 0x1f56f, 0x1f570, 21435 0x1f573, 0x1f57a, 21436 0x1f587, 0x1f587, 21437 0x1f58a, 0x1f58d, 21438 0x1f590, 0x1f590, 21439 0x1f595, 0x1f596, 21440 0x1f5a4, 0x1f5a5, 21441 0x1f5a8, 0x1f5a8, 21442 0x1f5b1, 0x1f5b2, 21443 0x1f5bc, 0x1f5bc, 21444 0x1f5c2, 0x1f5c4, 21445 0x1f5d1, 0x1f5d3, 21446 0x1f5dc, 0x1f5de, 21447 0x1f5e1, 0x1f5e1, 21448 0x1f5e3, 0x1f5e3, 21449 0x1f5e8, 0x1f5e8, 21450 0x1f5ef, 0x1f5ef, 21451 0x1f5f3, 0x1f5f3, 21452 0x1f5fa, 0x1f64f, 21453 0x1f680, 0x1f6c5, 21454 0x1f6cb, 0x1f6d2, 21455 0x1f6e0, 0x1f6e5, 21456 0x1f6e9, 0x1f6e9, 21457 0x1f6eb, 0x1f6ec, 21458 0x1f6f0, 0x1f6f0, 21459 0x1f6f3, 0x1f6f8, 21460 0x1f910, 0x1f93a, 21461 0x1f93c, 0x1f93e, 21462 0x1f940, 0x1f945, 21463 0x1f947, 0x1f94c, 21464 0x1f950, 0x1f96b, 21465 0x1f980, 0x1f997, 21466 0x1f9c0, 0x1f9c0, 21467 0x1f9d0, 0x1f9e6, 21468 }; /* CR_Emoji */ 21469 21470 /* 'Emoji_Presentation': Emoji */ 21471 static const OnigCodePoint CR_Emoji_Presentation[] = { 21472 75, 21473 0x231a, 0x231b, 21474 0x23e9, 0x23ec, 21475 0x23f0, 0x23f0, 21476 0x23f3, 0x23f3, 21477 0x25fd, 0x25fe, 21478 0x2614, 0x2615, 21479 0x2648, 0x2653, 21480 0x267f, 0x267f, 21481 0x2693, 0x2693, 21482 0x26a1, 0x26a1, 21483 0x26aa, 0x26ab, 21484 0x26bd, 0x26be, 21485 0x26c4, 0x26c5, 21486 0x26ce, 0x26ce, 21487 0x26d4, 0x26d4, 21488 0x26ea, 0x26ea, 21489 0x26f2, 0x26f3, 21490 0x26f5, 0x26f5, 21491 0x26fa, 0x26fa, 21492 0x26fd, 0x26fd, 21493 0x2705, 0x2705, 21494 0x270a, 0x270b, 21495 0x2728, 0x2728, 21496 0x274c, 0x274c, 21497 0x274e, 0x274e, 21498 0x2753, 0x2755, 21499 0x2757, 0x2757, 21500 0x2795, 0x2797, 21501 0x27b0, 0x27b0, 21502 0x27bf, 0x27bf, 21503 0x2b1b, 0x2b1c, 21504 0x2b50, 0x2b50, 21505 0x2b55, 0x2b55, 21506 0x1f004, 0x1f004, 21507 0x1f0cf, 0x1f0cf, 21508 0x1f18e, 0x1f18e, 21509 0x1f191, 0x1f19a, 21510 0x1f1e6, 0x1f1ff, 21511 0x1f201, 0x1f201, 21512 0x1f21a, 0x1f21a, 21513 0x1f22f, 0x1f22f, 21514 0x1f232, 0x1f236, 21515 0x1f238, 0x1f23a, 21516 0x1f250, 0x1f251, 21517 0x1f300, 0x1f320, 21518 0x1f32d, 0x1f335, 21519 0x1f337, 0x1f37c, 21520 0x1f37e, 0x1f393, 21521 0x1f3a0, 0x1f3ca, 21522 0x1f3cf, 0x1f3d3, 21523 0x1f3e0, 0x1f3f0, 21524 0x1f3f4, 0x1f3f4, 21525 0x1f3f8, 0x1f43e, 21526 0x1f440, 0x1f440, 21527 0x1f442, 0x1f4fc, 21528 0x1f4ff, 0x1f53d, 21529 0x1f54b, 0x1f54e, 21530 0x1f550, 0x1f567, 21531 0x1f57a, 0x1f57a, 21532 0x1f595, 0x1f596, 21533 0x1f5a4, 0x1f5a4, 21534 0x1f5fb, 0x1f64f, 21535 0x1f680, 0x1f6c5, 21536 0x1f6cc, 0x1f6cc, 21537 0x1f6d0, 0x1f6d2, 21538 0x1f6eb, 0x1f6ec, 21539 0x1f6f4, 0x1f6f8, 21540 0x1f910, 0x1f93a, 21541 0x1f93c, 0x1f93e, 21542 0x1f940, 0x1f945, 21543 0x1f947, 0x1f94c, 21544 0x1f950, 0x1f96b, 21545 0x1f980, 0x1f997, 21546 0x1f9c0, 0x1f9c0, 21547 0x1f9d0, 0x1f9e6, 21548 }; /* CR_Emoji_Presentation */ 21549 21550 /* 'Emoji_Modifier': Emoji */ 21551 static const OnigCodePoint CR_Emoji_Modifier[] = { 21552 1, 21553 0x1f3fb, 0x1f3ff, 21554 }; /* CR_Emoji_Modifier */ 21555 21556 /* 'Emoji_Modifier_Base': Emoji */ 21557 static const OnigCodePoint CR_Emoji_Modifier_Base[] = { 21558 32, 21559 0x261d, 0x261d, 21560 0x26f9, 0x26f9, 21561 0x270a, 0x270d, 21562 0x1f385, 0x1f385, 21563 0x1f3c2, 0x1f3c4, 21564 0x1f3c7, 0x1f3c7, 21565 0x1f3ca, 0x1f3cc, 21566 0x1f442, 0x1f443, 21567 0x1f446, 0x1f450, 21568 0x1f466, 0x1f469, 21569 0x1f46e, 0x1f46e, 21570 0x1f470, 0x1f478, 21571 0x1f47c, 0x1f47c, 21572 0x1f481, 0x1f483, 21573 0x1f485, 0x1f487, 21574 0x1f4aa, 0x1f4aa, 21575 0x1f574, 0x1f575, 21576 0x1f57a, 0x1f57a, 21577 0x1f590, 0x1f590, 21578 0x1f595, 0x1f596, 21579 0x1f645, 0x1f647, 21580 0x1f64b, 0x1f64f, 21581 0x1f6a3, 0x1f6a3, 21582 0x1f6b4, 0x1f6b6, 21583 0x1f6c0, 0x1f6c0, 21584 0x1f6cc, 0x1f6cc, 21585 0x1f918, 0x1f91c, 21586 0x1f91e, 0x1f91f, 21587 0x1f926, 0x1f926, 21588 0x1f930, 0x1f939, 21589 0x1f93d, 0x1f93e, 21590 0x1f9d1, 0x1f9dd, 21591 }; /* CR_Emoji_Modifier_Base */ 21592 21593 /* 'Emoji_Component': Emoji */ 21594 static const OnigCodePoint CR_Emoji_Component[] = { 21595 5, 21596 0x0023, 0x0023, 21597 0x002a, 0x002a, 21598 0x0030, 0x0039, 21599 0x1f1e6, 0x1f1ff, 21600 0x1f3fb, 0x1f3ff, 21601 }; /* CR_Emoji_Component */ 21602 19757 21603 /* 'Unknown': Script */ 19758 21604 static const OnigCodePoint CR_Unknown[] = { 19759 598,21605 647, 19760 21606 0x0378, 0x0379, 19761 21607 0x0380, 0x0383, … … 19780 21626 0x083f, 0x083f, 19781 21627 0x085c, 0x085d, 19782 0x085f, 0x089f, 19783 0x08b3, 0x08e3, 21628 0x085f, 0x085f, 21629 0x086b, 0x089f, 21630 0x08b5, 0x08b5, 21631 0x08be, 0x08d3, 19784 21632 0x0984, 0x0984, 19785 21633 0x098d, 0x098e, … … 19795 21643 0x09de, 0x09de, 19796 21644 0x09e4, 0x09e5, 19797 0x09f c, 0x0a00,21645 0x09fe, 0x0a00, 19798 21646 0x0a04, 0x0a04, 19799 21647 0x0a0b, 0x0a0e, … … 19824 21672 0x0ad1, 0x0adf, 19825 21673 0x0ae4, 0x0ae5, 19826 0x0af2, 0x0b00, 21674 0x0af2, 0x0af8, 21675 0x0b00, 0x0b00, 19827 21676 0x0b04, 0x0b04, 19828 21677 0x0b0d, 0x0b0e, … … 19864 21713 0x0c4e, 0x0c54, 19865 21714 0x0c57, 0x0c57, 19866 0x0c5 a, 0x0c5f,21715 0x0c5b, 0x0c5f, 19867 21716 0x0c64, 0x0c65, 19868 21717 0x0c70, 0x0c77, 19869 0x0c80, 0x0c80,19870 21718 0x0c84, 0x0c84, 19871 21719 0x0c8d, 0x0c8d, … … 19881 21729 0x0ce4, 0x0ce5, 19882 21730 0x0cf0, 0x0cf0, 19883 0x0cf3, 0x0 d00,21731 0x0cf3, 0x0cff, 19884 21732 0x0d04, 0x0d04, 19885 21733 0x0d0d, 0x0d0d, 19886 21734 0x0d11, 0x0d11, 19887 0x0d3b, 0x0d3c,19888 21735 0x0d45, 0x0d45, 19889 21736 0x0d49, 0x0d49, 19890 0x0d4f, 0x0d56, 19891 0x0d58, 0x0d5f, 21737 0x0d50, 0x0d53, 19892 21738 0x0d64, 0x0d65, 19893 0x0d76, 0x0d78,19894 21739 0x0d80, 0x0d81, 19895 21740 0x0d84, 0x0d84, … … 19952 21797 0x137d, 0x137f, 19953 21798 0x139a, 0x139f, 19954 0x13f5, 0x13ff, 21799 0x13f6, 0x13f7, 21800 0x13fe, 0x13ff, 19955 21801 0x169d, 0x169f, 19956 21802 0x16f9, 0x16ff, … … 19991 21837 0x1c38, 0x1c3a, 19992 21838 0x1c4a, 0x1c4c, 19993 0x1c8 0, 0x1cbf,21839 0x1c89, 0x1cbf, 19994 21840 0x1cc8, 0x1ccf, 19995 0x1cf7, 0x1cf7,19996 21841 0x1cfa, 0x1cff, 19997 0x1df 6, 0x1dfb,21842 0x1dfa, 0x1dfa, 19998 21843 0x1f16, 0x1f17, 19999 21844 0x1f1e, 0x1f1f, … … 20016 21861 0x208f, 0x208f, 20017 21862 0x209d, 0x209f, 20018 0x20 be, 0x20cf,21863 0x20c0, 0x20cf, 20019 21864 0x20f1, 0x20ff, 20020 0x218a, 0x218f, 20021 0x23fb, 0x23ff, 21865 0x218c, 0x218f, 20022 21866 0x2427, 0x243f, 20023 21867 0x244b, 0x245f, … … 20026 21870 0x2bba, 0x2bbc, 20027 21871 0x2bc9, 0x2bc9, 20028 0x2bd2, 0x2bff, 21872 0x2bd3, 0x2beb, 21873 0x2bf0, 0x2bff, 20029 21874 0x2c2f, 0x2c2f, 20030 21875 0x2c5f, 0x2c5f, … … 20044 21889 0x2dd7, 0x2dd7, 20045 21890 0x2ddf, 0x2ddf, 20046 0x2e4 3, 0x2e7f,21891 0x2e4a, 0x2e7f, 20047 21892 0x2e9a, 0x2e9a, 20048 21893 0x2ef4, 0x2eff, … … 20052 21897 0x3097, 0x3098, 20053 21898 0x3100, 0x3104, 20054 0x312 e, 0x3130,21899 0x312f, 0x3130, 20055 21900 0x318f, 0x318f, 20056 21901 0x31bb, 0x31bf, … … 20059 21904 0x32ff, 0x32ff, 20060 21905 0x4db6, 0x4dbf, 20061 0x9f cd, 0x9fff,21906 0x9feb, 0x9fff, 20062 21907 0xa48d, 0xa48f, 20063 21908 0xa4c7, 0xa4cf, 20064 21909 0xa62c, 0xa63f, 20065 0xa69e, 0xa69e,20066 21910 0xa6f8, 0xa6ff, 20067 0xa78f, 0xa78f, 20068 0xa7ae, 0xa7af, 20069 0xa7b2, 0xa7f6, 21911 0xa7af, 0xa7af, 21912 0xa7b8, 0xa7f6, 20070 21913 0xa82c, 0xa82f, 20071 21914 0xa83a, 0xa83f, 20072 21915 0xa878, 0xa87f, 20073 0xa8c 5, 0xa8cd,21916 0xa8c6, 0xa8cd, 20074 21917 0xa8da, 0xa8df, 20075 0xa8f c, 0xa8ff,21918 0xa8fe, 0xa8ff, 20076 21919 0xa954, 0xa95e, 20077 21920 0xa97d, 0xa97f, … … 20089 21932 0xab27, 0xab27, 20090 21933 0xab2f, 0xab2f, 20091 0xab60, 0xab63, 20092 0xab66, 0xabbf, 21934 0xab66, 0xab6f, 20093 21935 0xabee, 0xabef, 20094 21936 0xabfa, 0xabff, … … 20111 21953 0xfdfe, 0xfdff, 20112 21954 0xfe1a, 0xfe1f, 20113 0xfe2e, 0xfe2f,20114 21955 0xfe53, 0xfe53, 20115 21956 0xfe67, 0xfe67, … … 20135 21976 0x10103, 0x10106, 20136 21977 0x10134, 0x10136, 20137 0x1018 d, 0x1018f,21978 0x1018f, 0x1018f, 20138 21979 0x1019c, 0x1019f, 20139 21980 0x101a1, 0x101cf, … … 20142 21983 0x102d1, 0x102df, 20143 21984 0x102fc, 0x102ff, 20144 0x10324, 0x1032 f,21985 0x10324, 0x1032c, 20145 21986 0x1034b, 0x1034f, 20146 21987 0x1037b, 0x1037f, … … 20149 21990 0x103d6, 0x103ff, 20150 21991 0x1049e, 0x1049f, 20151 0x104aa, 0x104ff, 21992 0x104aa, 0x104af, 21993 0x104d4, 0x104d7, 21994 0x104fc, 0x104ff, 20152 21995 0x10528, 0x1052f, 20153 21996 0x10564, 0x1056e, … … 20163 22006 0x10856, 0x10856, 20164 22007 0x1089f, 0x108a6, 20165 0x108b0, 0x108ff, 22008 0x108b0, 0x108df, 22009 0x108f3, 0x108f3, 22010 0x108f6, 0x108fa, 20166 22011 0x1091c, 0x1091e, 20167 22012 0x1093a, 0x1093e, 20168 22013 0x10940, 0x1097f, 20169 0x109b8, 0x109b d,20170 0x109 c0, 0x109ff,22014 0x109b8, 0x109bb, 22015 0x109d0, 0x109d1, 20171 22016 0x10a04, 0x10a04, 20172 22017 0x10a07, 0x10a0b, … … 20186 22031 0x10b9d, 0x10ba8, 20187 22032 0x10bb0, 0x10bff, 20188 0x10c49, 0x10e5f, 22033 0x10c49, 0x10c7f, 22034 0x10cb3, 0x10cbf, 22035 0x10cf3, 0x10cf9, 22036 0x10d00, 0x10e5f, 20189 22037 0x10e7f, 0x10fff, 20190 22038 0x1104e, 0x11051, … … 20196 22044 0x11144, 0x1114f, 20197 22045 0x11177, 0x1117f, 20198 0x111c9, 0x111cc,20199 22046 0x111ce, 0x111cf, 20200 0x111 db, 0x111e0,22047 0x111e0, 0x111e0, 20201 22048 0x111f5, 0x111ff, 20202 22049 0x11212, 0x11212, 20203 0x1123e, 0x112af, 22050 0x1123f, 0x1127f, 22051 0x11287, 0x11287, 22052 0x11289, 0x11289, 22053 0x1128e, 0x1128e, 22054 0x1129e, 0x1129e, 22055 0x112aa, 0x112af, 20204 22056 0x112eb, 0x112ef, 20205 0x112fa, 0x11 300,22057 0x112fa, 0x112ff, 20206 22058 0x11304, 0x11304, 20207 22059 0x1130d, 0x1130e, … … 20213 22065 0x11345, 0x11346, 20214 22066 0x11349, 0x1134a, 20215 0x1134e, 0x11356, 22067 0x1134e, 0x1134f, 22068 0x11351, 0x11356, 20216 22069 0x11358, 0x1135c, 20217 22070 0x11364, 0x11365, 20218 22071 0x1136d, 0x1136f, 20219 0x11375, 0x1147f, 22072 0x11375, 0x113ff, 22073 0x1145a, 0x1145a, 22074 0x1145c, 0x1145c, 22075 0x1145e, 0x1147f, 20220 22076 0x114c8, 0x114cf, 20221 22077 0x114da, 0x1157f, 20222 22078 0x115b6, 0x115b7, 20223 0x115 ca, 0x115ff,22079 0x115de, 0x115ff, 20224 22080 0x11645, 0x1164f, 20225 0x1165a, 0x1167f, 22081 0x1165a, 0x1165f, 22082 0x1166d, 0x1167f, 20226 22083 0x116b8, 0x116bf, 20227 0x116ca, 0x1189f, 22084 0x116ca, 0x116ff, 22085 0x1171a, 0x1171c, 22086 0x1172c, 0x1172f, 22087 0x11740, 0x1189f, 20228 22088 0x118f3, 0x118fe, 20229 0x11900, 0x11abf, 20230 0x11af9, 0x11fff, 20231 0x12399, 0x123ff, 22089 0x11900, 0x119ff, 22090 0x11a48, 0x11a4f, 22091 0x11a84, 0x11a85, 22092 0x11a9d, 0x11a9d, 22093 0x11aa3, 0x11abf, 22094 0x11af9, 0x11bff, 22095 0x11c09, 0x11c09, 22096 0x11c37, 0x11c37, 22097 0x11c46, 0x11c4f, 22098 0x11c6d, 0x11c6f, 22099 0x11c90, 0x11c91, 22100 0x11ca8, 0x11ca8, 22101 0x11cb7, 0x11cff, 22102 0x11d07, 0x11d07, 22103 0x11d0a, 0x11d0a, 22104 0x11d37, 0x11d39, 22105 0x11d3b, 0x11d3b, 22106 0x11d3e, 0x11d3e, 22107 0x11d48, 0x11d4f, 22108 0x11d5a, 0x11fff, 22109 0x1239a, 0x123ff, 20232 22110 0x1246f, 0x1246f, 20233 0x12475, 0x12fff, 20234 0x1342f, 0x167ff, 22111 0x12475, 0x1247f, 22112 0x12544, 0x12fff, 22113 0x1342f, 0x143ff, 22114 0x14647, 0x167ff, 20235 22115 0x16a39, 0x16a3f, 20236 22116 0x16a5f, 0x16a5f, … … 20246 22126 0x16f45, 0x16f4f, 20247 22127 0x16f7f, 0x16f8e, 20248 0x16fa0, 0x1afff, 20249 0x1b002, 0x1bbff, 22128 0x16fa0, 0x16fdf, 22129 0x16fe2, 0x16fff, 22130 0x187ed, 0x187ff, 22131 0x18af3, 0x1afff, 22132 0x1b11f, 0x1b16f, 22133 0x1b2fc, 0x1bbff, 20250 22134 0x1bc6b, 0x1bc6f, 20251 22135 0x1bc7d, 0x1bc7f, … … 20255 22139 0x1d0f6, 0x1d0ff, 20256 22140 0x1d127, 0x1d128, 20257 0x1d1 de, 0x1d1ff,22141 0x1d1e9, 0x1d1ff, 20258 22142 0x1d246, 0x1d2ff, 20259 22143 0x1d357, 0x1d35f, … … 20279 22163 0x1d6a6, 0x1d6a7, 20280 22164 0x1d7cc, 0x1d7cd, 20281 0x1d800, 0x1e7ff, 22165 0x1da8c, 0x1da9a, 22166 0x1daa0, 0x1daa0, 22167 0x1dab0, 0x1dfff, 22168 0x1e007, 0x1e007, 22169 0x1e019, 0x1e01a, 22170 0x1e022, 0x1e022, 22171 0x1e025, 0x1e025, 22172 0x1e02b, 0x1e7ff, 20282 22173 0x1e8c5, 0x1e8c6, 20283 0x1e8d7, 0x1edff, 22174 0x1e8d7, 0x1e8ff, 22175 0x1e94b, 0x1e94f, 22176 0x1e95a, 0x1e95d, 22177 0x1e960, 0x1edff, 20284 22178 0x1ee04, 0x1ee04, 20285 22179 0x1ee20, 0x1ee20, … … 20325 22219 0x1f12f, 0x1f12f, 20326 22220 0x1f16c, 0x1f16f, 20327 0x1f1 9b, 0x1f1e5,22221 0x1f1ad, 0x1f1e5, 20328 22222 0x1f203, 0x1f20f, 20329 0x1f23 b, 0x1f23f,22223 0x1f23c, 0x1f23f, 20330 22224 0x1f249, 0x1f24f, 20331 0x1f252, 0x1f2ff, 20332 0x1f32d, 0x1f32f, 20333 0x1f37e, 0x1f37f, 20334 0x1f3cf, 0x1f3d3, 20335 0x1f3f8, 0x1f3ff, 20336 0x1f4ff, 0x1f4ff, 20337 0x1f54b, 0x1f54f, 20338 0x1f57a, 0x1f57a, 20339 0x1f5a4, 0x1f5a4, 20340 0x1f643, 0x1f644, 20341 0x1f6d0, 0x1f6df, 22225 0x1f252, 0x1f25f, 22226 0x1f266, 0x1f2ff, 22227 0x1f6d5, 0x1f6df, 20342 22228 0x1f6ed, 0x1f6ef, 20343 0x1f6f 4, 0x1f6ff,22229 0x1f6f9, 0x1f6ff, 20344 22230 0x1f774, 0x1f77f, 20345 22231 0x1f7d5, 0x1f7ff, … … 20348 22234 0x1f85a, 0x1f85f, 20349 22235 0x1f888, 0x1f88f, 20350 0x1f8ae, 0x1ffff, 22236 0x1f8ae, 0x1f8ff, 22237 0x1f90c, 0x1f90f, 22238 0x1f93f, 0x1f93f, 22239 0x1f94d, 0x1f94f, 22240 0x1f96c, 0x1f97f, 22241 0x1f998, 0x1f9bf, 22242 0x1f9c1, 0x1f9cf, 22243 0x1f9e7, 0x1ffff, 20351 22244 0x2a6d7, 0x2a6ff, 20352 22245 0x2b735, 0x2b73f, 20353 0x2b81e, 0x2f7ff, 22246 0x2b81e, 0x2b81f, 22247 0x2cea2, 0x2ceaf, 22248 0x2ebe1, 0x2f7ff, 20354 22249 0x2fa1e, 0xe0000, 20355 22250 0xe0002, 0xe001f, … … 27518 29413 0xefffe, 0x10ffff, 27519 29414 }; /* CR_Age_7_0 */ 29415 29416 /* 'Age_8_0': Derived Age 8.0 */ 29417 static const OnigCodePoint CR_Age_8_0[] = { 29418 623, 29419 0x0000, 0x0377, 29420 0x037a, 0x037f, 29421 0x0384, 0x038a, 29422 0x038c, 0x038c, 29423 0x038e, 0x03a1, 29424 0x03a3, 0x052f, 29425 0x0531, 0x0556, 29426 0x0559, 0x055f, 29427 0x0561, 0x0587, 29428 0x0589, 0x058a, 29429 0x058d, 0x058f, 29430 0x0591, 0x05c7, 29431 0x05d0, 0x05ea, 29432 0x05f0, 0x05f4, 29433 0x0600, 0x061c, 29434 0x061e, 0x070d, 29435 0x070f, 0x074a, 29436 0x074d, 0x07b1, 29437 0x07c0, 0x07fa, 29438 0x0800, 0x082d, 29439 0x0830, 0x083e, 29440 0x0840, 0x085b, 29441 0x085e, 0x085e, 29442 0x08a0, 0x08b4, 29443 0x08e3, 0x0983, 29444 0x0985, 0x098c, 29445 0x098f, 0x0990, 29446 0x0993, 0x09a8, 29447 0x09aa, 0x09b0, 29448 0x09b2, 0x09b2, 29449 0x09b6, 0x09b9, 29450 0x09bc, 0x09c4, 29451 0x09c7, 0x09c8, 29452 0x09cb, 0x09ce, 29453 0x09d7, 0x09d7, 29454 0x09dc, 0x09dd, 29455 0x09df, 0x09e3, 29456 0x09e6, 0x09fb, 29457 0x0a01, 0x0a03, 29458 0x0a05, 0x0a0a, 29459 0x0a0f, 0x0a10, 29460 0x0a13, 0x0a28, 29461 0x0a2a, 0x0a30, 29462 0x0a32, 0x0a33, 29463 0x0a35, 0x0a36, 29464 0x0a38, 0x0a39, 29465 0x0a3c, 0x0a3c, 29466 0x0a3e, 0x0a42, 29467 0x0a47, 0x0a48, 29468 0x0a4b, 0x0a4d, 29469 0x0a51, 0x0a51, 29470 0x0a59, 0x0a5c, 29471 0x0a5e, 0x0a5e, 29472 0x0a66, 0x0a75, 29473 0x0a81, 0x0a83, 29474 0x0a85, 0x0a8d, 29475 0x0a8f, 0x0a91, 29476 0x0a93, 0x0aa8, 29477 0x0aaa, 0x0ab0, 29478 0x0ab2, 0x0ab3, 29479 0x0ab5, 0x0ab9, 29480 0x0abc, 0x0ac5, 29481 0x0ac7, 0x0ac9, 29482 0x0acb, 0x0acd, 29483 0x0ad0, 0x0ad0, 29484 0x0ae0, 0x0ae3, 29485 0x0ae6, 0x0af1, 29486 0x0af9, 0x0af9, 29487 0x0b01, 0x0b03, 29488 0x0b05, 0x0b0c, 29489 0x0b0f, 0x0b10, 29490 0x0b13, 0x0b28, 29491 0x0b2a, 0x0b30, 29492 0x0b32, 0x0b33, 29493 0x0b35, 0x0b39, 29494 0x0b3c, 0x0b44, 29495 0x0b47, 0x0b48, 29496 0x0b4b, 0x0b4d, 29497 0x0b56, 0x0b57, 29498 0x0b5c, 0x0b5d, 29499 0x0b5f, 0x0b63, 29500 0x0b66, 0x0b77, 29501 0x0b82, 0x0b83, 29502 0x0b85, 0x0b8a, 29503 0x0b8e, 0x0b90, 29504 0x0b92, 0x0b95, 29505 0x0b99, 0x0b9a, 29506 0x0b9c, 0x0b9c, 29507 0x0b9e, 0x0b9f, 29508 0x0ba3, 0x0ba4, 29509 0x0ba8, 0x0baa, 29510 0x0bae, 0x0bb9, 29511 0x0bbe, 0x0bc2, 29512 0x0bc6, 0x0bc8, 29513 0x0bca, 0x0bcd, 29514 0x0bd0, 0x0bd0, 29515 0x0bd7, 0x0bd7, 29516 0x0be6, 0x0bfa, 29517 0x0c00, 0x0c03, 29518 0x0c05, 0x0c0c, 29519 0x0c0e, 0x0c10, 29520 0x0c12, 0x0c28, 29521 0x0c2a, 0x0c39, 29522 0x0c3d, 0x0c44, 29523 0x0c46, 0x0c48, 29524 0x0c4a, 0x0c4d, 29525 0x0c55, 0x0c56, 29526 0x0c58, 0x0c5a, 29527 0x0c60, 0x0c63, 29528 0x0c66, 0x0c6f, 29529 0x0c78, 0x0c7f, 29530 0x0c81, 0x0c83, 29531 0x0c85, 0x0c8c, 29532 0x0c8e, 0x0c90, 29533 0x0c92, 0x0ca8, 29534 0x0caa, 0x0cb3, 29535 0x0cb5, 0x0cb9, 29536 0x0cbc, 0x0cc4, 29537 0x0cc6, 0x0cc8, 29538 0x0cca, 0x0ccd, 29539 0x0cd5, 0x0cd6, 29540 0x0cde, 0x0cde, 29541 0x0ce0, 0x0ce3, 29542 0x0ce6, 0x0cef, 29543 0x0cf1, 0x0cf2, 29544 0x0d01, 0x0d03, 29545 0x0d05, 0x0d0c, 29546 0x0d0e, 0x0d10, 29547 0x0d12, 0x0d3a, 29548 0x0d3d, 0x0d44, 29549 0x0d46, 0x0d48, 29550 0x0d4a, 0x0d4e, 29551 0x0d57, 0x0d57, 29552 0x0d5f, 0x0d63, 29553 0x0d66, 0x0d75, 29554 0x0d79, 0x0d7f, 29555 0x0d82, 0x0d83, 29556 0x0d85, 0x0d96, 29557 0x0d9a, 0x0db1, 29558 0x0db3, 0x0dbb, 29559 0x0dbd, 0x0dbd, 29560 0x0dc0, 0x0dc6, 29561 0x0dca, 0x0dca, 29562 0x0dcf, 0x0dd4, 29563 0x0dd6, 0x0dd6, 29564 0x0dd8, 0x0ddf, 29565 0x0de6, 0x0def, 29566 0x0df2, 0x0df4, 29567 0x0e01, 0x0e3a, 29568 0x0e3f, 0x0e5b, 29569 0x0e81, 0x0e82, 29570 0x0e84, 0x0e84, 29571 0x0e87, 0x0e88, 29572 0x0e8a, 0x0e8a, 29573 0x0e8d, 0x0e8d, 29574 0x0e94, 0x0e97, 29575 0x0e99, 0x0e9f, 29576 0x0ea1, 0x0ea3, 29577 0x0ea5, 0x0ea5, 29578 0x0ea7, 0x0ea7, 29579 0x0eaa, 0x0eab, 29580 0x0ead, 0x0eb9, 29581 0x0ebb, 0x0ebd, 29582 0x0ec0, 0x0ec4, 29583 0x0ec6, 0x0ec6, 29584 0x0ec8, 0x0ecd, 29585 0x0ed0, 0x0ed9, 29586 0x0edc, 0x0edf, 29587 0x0f00, 0x0f47, 29588 0x0f49, 0x0f6c, 29589 0x0f71, 0x0f97, 29590 0x0f99, 0x0fbc, 29591 0x0fbe, 0x0fcc, 29592 0x0fce, 0x0fda, 29593 0x1000, 0x10c5, 29594 0x10c7, 0x10c7, 29595 0x10cd, 0x10cd, 29596 0x10d0, 0x1248, 29597 0x124a, 0x124d, 29598 0x1250, 0x1256, 29599 0x1258, 0x1258, 29600 0x125a, 0x125d, 29601 0x1260, 0x1288, 29602 0x128a, 0x128d, 29603 0x1290, 0x12b0, 29604 0x12b2, 0x12b5, 29605 0x12b8, 0x12be, 29606 0x12c0, 0x12c0, 29607 0x12c2, 0x12c5, 29608 0x12c8, 0x12d6, 29609 0x12d8, 0x1310, 29610 0x1312, 0x1315, 29611 0x1318, 0x135a, 29612 0x135d, 0x137c, 29613 0x1380, 0x1399, 29614 0x13a0, 0x13f5, 29615 0x13f8, 0x13fd, 29616 0x1400, 0x169c, 29617 0x16a0, 0x16f8, 29618 0x1700, 0x170c, 29619 0x170e, 0x1714, 29620 0x1720, 0x1736, 29621 0x1740, 0x1753, 29622 0x1760, 0x176c, 29623 0x176e, 0x1770, 29624 0x1772, 0x1773, 29625 0x1780, 0x17dd, 29626 0x17e0, 0x17e9, 29627 0x17f0, 0x17f9, 29628 0x1800, 0x180e, 29629 0x1810, 0x1819, 29630 0x1820, 0x1877, 29631 0x1880, 0x18aa, 29632 0x18b0, 0x18f5, 29633 0x1900, 0x191e, 29634 0x1920, 0x192b, 29635 0x1930, 0x193b, 29636 0x1940, 0x1940, 29637 0x1944, 0x196d, 29638 0x1970, 0x1974, 29639 0x1980, 0x19ab, 29640 0x19b0, 0x19c9, 29641 0x19d0, 0x19da, 29642 0x19de, 0x1a1b, 29643 0x1a1e, 0x1a5e, 29644 0x1a60, 0x1a7c, 29645 0x1a7f, 0x1a89, 29646 0x1a90, 0x1a99, 29647 0x1aa0, 0x1aad, 29648 0x1ab0, 0x1abe, 29649 0x1b00, 0x1b4b, 29650 0x1b50, 0x1b7c, 29651 0x1b80, 0x1bf3, 29652 0x1bfc, 0x1c37, 29653 0x1c3b, 0x1c49, 29654 0x1c4d, 0x1c7f, 29655 0x1cc0, 0x1cc7, 29656 0x1cd0, 0x1cf6, 29657 0x1cf8, 0x1cf9, 29658 0x1d00, 0x1df5, 29659 0x1dfc, 0x1f15, 29660 0x1f18, 0x1f1d, 29661 0x1f20, 0x1f45, 29662 0x1f48, 0x1f4d, 29663 0x1f50, 0x1f57, 29664 0x1f59, 0x1f59, 29665 0x1f5b, 0x1f5b, 29666 0x1f5d, 0x1f5d, 29667 0x1f5f, 0x1f7d, 29668 0x1f80, 0x1fb4, 29669 0x1fb6, 0x1fc4, 29670 0x1fc6, 0x1fd3, 29671 0x1fd6, 0x1fdb, 29672 0x1fdd, 0x1fef, 29673 0x1ff2, 0x1ff4, 29674 0x1ff6, 0x1ffe, 29675 0x2000, 0x2064, 29676 0x2066, 0x2071, 29677 0x2074, 0x208e, 29678 0x2090, 0x209c, 29679 0x20a0, 0x20be, 29680 0x20d0, 0x20f0, 29681 0x2100, 0x218b, 29682 0x2190, 0x23fa, 29683 0x2400, 0x2426, 29684 0x2440, 0x244a, 29685 0x2460, 0x2b73, 29686 0x2b76, 0x2b95, 29687 0x2b98, 0x2bb9, 29688 0x2bbd, 0x2bc8, 29689 0x2bca, 0x2bd1, 29690 0x2bec, 0x2bef, 29691 0x2c00, 0x2c2e, 29692 0x2c30, 0x2c5e, 29693 0x2c60, 0x2cf3, 29694 0x2cf9, 0x2d25, 29695 0x2d27, 0x2d27, 29696 0x2d2d, 0x2d2d, 29697 0x2d30, 0x2d67, 29698 0x2d6f, 0x2d70, 29699 0x2d7f, 0x2d96, 29700 0x2da0, 0x2da6, 29701 0x2da8, 0x2dae, 29702 0x2db0, 0x2db6, 29703 0x2db8, 0x2dbe, 29704 0x2dc0, 0x2dc6, 29705 0x2dc8, 0x2dce, 29706 0x2dd0, 0x2dd6, 29707 0x2dd8, 0x2dde, 29708 0x2de0, 0x2e42, 29709 0x2e80, 0x2e99, 29710 0x2e9b, 0x2ef3, 29711 0x2f00, 0x2fd5, 29712 0x2ff0, 0x2ffb, 29713 0x3000, 0x303f, 29714 0x3041, 0x3096, 29715 0x3099, 0x30ff, 29716 0x3105, 0x312d, 29717 0x3131, 0x318e, 29718 0x3190, 0x31ba, 29719 0x31c0, 0x31e3, 29720 0x31f0, 0x321e, 29721 0x3220, 0x32fe, 29722 0x3300, 0x4db5, 29723 0x4dc0, 0x9fd5, 29724 0xa000, 0xa48c, 29725 0xa490, 0xa4c6, 29726 0xa4d0, 0xa62b, 29727 0xa640, 0xa6f7, 29728 0xa700, 0xa7ad, 29729 0xa7b0, 0xa7b7, 29730 0xa7f7, 0xa82b, 29731 0xa830, 0xa839, 29732 0xa840, 0xa877, 29733 0xa880, 0xa8c4, 29734 0xa8ce, 0xa8d9, 29735 0xa8e0, 0xa8fd, 29736 0xa900, 0xa953, 29737 0xa95f, 0xa97c, 29738 0xa980, 0xa9cd, 29739 0xa9cf, 0xa9d9, 29740 0xa9de, 0xa9fe, 29741 0xaa00, 0xaa36, 29742 0xaa40, 0xaa4d, 29743 0xaa50, 0xaa59, 29744 0xaa5c, 0xaac2, 29745 0xaadb, 0xaaf6, 29746 0xab01, 0xab06, 29747 0xab09, 0xab0e, 29748 0xab11, 0xab16, 29749 0xab20, 0xab26, 29750 0xab28, 0xab2e, 29751 0xab30, 0xab65, 29752 0xab70, 0xabed, 29753 0xabf0, 0xabf9, 29754 0xac00, 0xd7a3, 29755 0xd7b0, 0xd7c6, 29756 0xd7cb, 0xd7fb, 29757 0xd800, 0xfa6d, 29758 0xfa70, 0xfad9, 29759 0xfb00, 0xfb06, 29760 0xfb13, 0xfb17, 29761 0xfb1d, 0xfb36, 29762 0xfb38, 0xfb3c, 29763 0xfb3e, 0xfb3e, 29764 0xfb40, 0xfb41, 29765 0xfb43, 0xfb44, 29766 0xfb46, 0xfbc1, 29767 0xfbd3, 0xfd3f, 29768 0xfd50, 0xfd8f, 29769 0xfd92, 0xfdc7, 29770 0xfdd0, 0xfdfd, 29771 0xfe00, 0xfe19, 29772 0xfe20, 0xfe52, 29773 0xfe54, 0xfe66, 29774 0xfe68, 0xfe6b, 29775 0xfe70, 0xfe74, 29776 0xfe76, 0xfefc, 29777 0xfeff, 0xfeff, 29778 0xff01, 0xffbe, 29779 0xffc2, 0xffc7, 29780 0xffca, 0xffcf, 29781 0xffd2, 0xffd7, 29782 0xffda, 0xffdc, 29783 0xffe0, 0xffe6, 29784 0xffe8, 0xffee, 29785 0xfff9, 0x1000b, 29786 0x1000d, 0x10026, 29787 0x10028, 0x1003a, 29788 0x1003c, 0x1003d, 29789 0x1003f, 0x1004d, 29790 0x10050, 0x1005d, 29791 0x10080, 0x100fa, 29792 0x10100, 0x10102, 29793 0x10107, 0x10133, 29794 0x10137, 0x1018c, 29795 0x10190, 0x1019b, 29796 0x101a0, 0x101a0, 29797 0x101d0, 0x101fd, 29798 0x10280, 0x1029c, 29799 0x102a0, 0x102d0, 29800 0x102e0, 0x102fb, 29801 0x10300, 0x10323, 29802 0x10330, 0x1034a, 29803 0x10350, 0x1037a, 29804 0x10380, 0x1039d, 29805 0x1039f, 0x103c3, 29806 0x103c8, 0x103d5, 29807 0x10400, 0x1049d, 29808 0x104a0, 0x104a9, 29809 0x10500, 0x10527, 29810 0x10530, 0x10563, 29811 0x1056f, 0x1056f, 29812 0x10600, 0x10736, 29813 0x10740, 0x10755, 29814 0x10760, 0x10767, 29815 0x10800, 0x10805, 29816 0x10808, 0x10808, 29817 0x1080a, 0x10835, 29818 0x10837, 0x10838, 29819 0x1083c, 0x1083c, 29820 0x1083f, 0x10855, 29821 0x10857, 0x1089e, 29822 0x108a7, 0x108af, 29823 0x108e0, 0x108f2, 29824 0x108f4, 0x108f5, 29825 0x108fb, 0x1091b, 29826 0x1091f, 0x10939, 29827 0x1093f, 0x1093f, 29828 0x10980, 0x109b7, 29829 0x109bc, 0x109cf, 29830 0x109d2, 0x10a03, 29831 0x10a05, 0x10a06, 29832 0x10a0c, 0x10a13, 29833 0x10a15, 0x10a17, 29834 0x10a19, 0x10a33, 29835 0x10a38, 0x10a3a, 29836 0x10a3f, 0x10a47, 29837 0x10a50, 0x10a58, 29838 0x10a60, 0x10a9f, 29839 0x10ac0, 0x10ae6, 29840 0x10aeb, 0x10af6, 29841 0x10b00, 0x10b35, 29842 0x10b39, 0x10b55, 29843 0x10b58, 0x10b72, 29844 0x10b78, 0x10b91, 29845 0x10b99, 0x10b9c, 29846 0x10ba9, 0x10baf, 29847 0x10c00, 0x10c48, 29848 0x10c80, 0x10cb2, 29849 0x10cc0, 0x10cf2, 29850 0x10cfa, 0x10cff, 29851 0x10e60, 0x10e7e, 29852 0x11000, 0x1104d, 29853 0x11052, 0x1106f, 29854 0x1107f, 0x110c1, 29855 0x110d0, 0x110e8, 29856 0x110f0, 0x110f9, 29857 0x11100, 0x11134, 29858 0x11136, 0x11143, 29859 0x11150, 0x11176, 29860 0x11180, 0x111cd, 29861 0x111d0, 0x111df, 29862 0x111e1, 0x111f4, 29863 0x11200, 0x11211, 29864 0x11213, 0x1123d, 29865 0x11280, 0x11286, 29866 0x11288, 0x11288, 29867 0x1128a, 0x1128d, 29868 0x1128f, 0x1129d, 29869 0x1129f, 0x112a9, 29870 0x112b0, 0x112ea, 29871 0x112f0, 0x112f9, 29872 0x11300, 0x11303, 29873 0x11305, 0x1130c, 29874 0x1130f, 0x11310, 29875 0x11313, 0x11328, 29876 0x1132a, 0x11330, 29877 0x11332, 0x11333, 29878 0x11335, 0x11339, 29879 0x1133c, 0x11344, 29880 0x11347, 0x11348, 29881 0x1134b, 0x1134d, 29882 0x11350, 0x11350, 29883 0x11357, 0x11357, 29884 0x1135d, 0x11363, 29885 0x11366, 0x1136c, 29886 0x11370, 0x11374, 29887 0x11480, 0x114c7, 29888 0x114d0, 0x114d9, 29889 0x11580, 0x115b5, 29890 0x115b8, 0x115dd, 29891 0x11600, 0x11644, 29892 0x11650, 0x11659, 29893 0x11680, 0x116b7, 29894 0x116c0, 0x116c9, 29895 0x11700, 0x11719, 29896 0x1171d, 0x1172b, 29897 0x11730, 0x1173f, 29898 0x118a0, 0x118f2, 29899 0x118ff, 0x118ff, 29900 0x11ac0, 0x11af8, 29901 0x12000, 0x12399, 29902 0x12400, 0x1246e, 29903 0x12470, 0x12474, 29904 0x12480, 0x12543, 29905 0x13000, 0x1342e, 29906 0x14400, 0x14646, 29907 0x16800, 0x16a38, 29908 0x16a40, 0x16a5e, 29909 0x16a60, 0x16a69, 29910 0x16a6e, 0x16a6f, 29911 0x16ad0, 0x16aed, 29912 0x16af0, 0x16af5, 29913 0x16b00, 0x16b45, 29914 0x16b50, 0x16b59, 29915 0x16b5b, 0x16b61, 29916 0x16b63, 0x16b77, 29917 0x16b7d, 0x16b8f, 29918 0x16f00, 0x16f44, 29919 0x16f50, 0x16f7e, 29920 0x16f8f, 0x16f9f, 29921 0x1b000, 0x1b001, 29922 0x1bc00, 0x1bc6a, 29923 0x1bc70, 0x1bc7c, 29924 0x1bc80, 0x1bc88, 29925 0x1bc90, 0x1bc99, 29926 0x1bc9c, 0x1bca3, 29927 0x1d000, 0x1d0f5, 29928 0x1d100, 0x1d126, 29929 0x1d129, 0x1d1e8, 29930 0x1d200, 0x1d245, 29931 0x1d300, 0x1d356, 29932 0x1d360, 0x1d371, 29933 0x1d400, 0x1d454, 29934 0x1d456, 0x1d49c, 29935 0x1d49e, 0x1d49f, 29936 0x1d4a2, 0x1d4a2, 29937 0x1d4a5, 0x1d4a6, 29938 0x1d4a9, 0x1d4ac, 29939 0x1d4ae, 0x1d4b9, 29940 0x1d4bb, 0x1d4bb, 29941 0x1d4bd, 0x1d4c3, 29942 0x1d4c5, 0x1d505, 29943 0x1d507, 0x1d50a, 29944 0x1d50d, 0x1d514, 29945 0x1d516, 0x1d51c, 29946 0x1d51e, 0x1d539, 29947 0x1d53b, 0x1d53e, 29948 0x1d540, 0x1d544, 29949 0x1d546, 0x1d546, 29950 0x1d54a, 0x1d550, 29951 0x1d552, 0x1d6a5, 29952 0x1d6a8, 0x1d7cb, 29953 0x1d7ce, 0x1da8b, 29954 0x1da9b, 0x1da9f, 29955 0x1daa1, 0x1daaf, 29956 0x1e800, 0x1e8c4, 29957 0x1e8c7, 0x1e8d6, 29958 0x1ee00, 0x1ee03, 29959 0x1ee05, 0x1ee1f, 29960 0x1ee21, 0x1ee22, 29961 0x1ee24, 0x1ee24, 29962 0x1ee27, 0x1ee27, 29963 0x1ee29, 0x1ee32, 29964 0x1ee34, 0x1ee37, 29965 0x1ee39, 0x1ee39, 29966 0x1ee3b, 0x1ee3b, 29967 0x1ee42, 0x1ee42, 29968 0x1ee47, 0x1ee47, 29969 0x1ee49, 0x1ee49, 29970 0x1ee4b, 0x1ee4b, 29971 0x1ee4d, 0x1ee4f, 29972 0x1ee51, 0x1ee52, 29973 0x1ee54, 0x1ee54, 29974 0x1ee57, 0x1ee57, 29975 0x1ee59, 0x1ee59, 29976 0x1ee5b, 0x1ee5b, 29977 0x1ee5d, 0x1ee5d, 29978 0x1ee5f, 0x1ee5f, 29979 0x1ee61, 0x1ee62, 29980 0x1ee64, 0x1ee64, 29981 0x1ee67, 0x1ee6a, 29982 0x1ee6c, 0x1ee72, 29983 0x1ee74, 0x1ee77, 29984 0x1ee79, 0x1ee7c, 29985 0x1ee7e, 0x1ee7e, 29986 0x1ee80, 0x1ee89, 29987 0x1ee8b, 0x1ee9b, 29988 0x1eea1, 0x1eea3, 29989 0x1eea5, 0x1eea9, 29990 0x1eeab, 0x1eebb, 29991 0x1eef0, 0x1eef1, 29992 0x1f000, 0x1f02b, 29993 0x1f030, 0x1f093, 29994 0x1f0a0, 0x1f0ae, 29995 0x1f0b1, 0x1f0bf, 29996 0x1f0c1, 0x1f0cf, 29997 0x1f0d1, 0x1f0f5, 29998 0x1f100, 0x1f10c, 29999 0x1f110, 0x1f12e, 30000 0x1f130, 0x1f16b, 30001 0x1f170, 0x1f19a, 30002 0x1f1e6, 0x1f202, 30003 0x1f210, 0x1f23a, 30004 0x1f240, 0x1f248, 30005 0x1f250, 0x1f251, 30006 0x1f300, 0x1f579, 30007 0x1f57b, 0x1f5a3, 30008 0x1f5a5, 0x1f6d0, 30009 0x1f6e0, 0x1f6ec, 30010 0x1f6f0, 0x1f6f3, 30011 0x1f700, 0x1f773, 30012 0x1f780, 0x1f7d4, 30013 0x1f800, 0x1f80b, 30014 0x1f810, 0x1f847, 30015 0x1f850, 0x1f859, 30016 0x1f860, 0x1f887, 30017 0x1f890, 0x1f8ad, 30018 0x1f910, 0x1f918, 30019 0x1f980, 0x1f984, 30020 0x1f9c0, 0x1f9c0, 30021 0x1fffe, 0x2a6d6, 30022 0x2a700, 0x2b734, 30023 0x2b740, 0x2b81d, 30024 0x2b820, 0x2cea1, 30025 0x2f800, 0x2fa1d, 30026 0x2fffe, 0x2ffff, 30027 0x3fffe, 0x3ffff, 30028 0x4fffe, 0x4ffff, 30029 0x5fffe, 0x5ffff, 30030 0x6fffe, 0x6ffff, 30031 0x7fffe, 0x7ffff, 30032 0x8fffe, 0x8ffff, 30033 0x9fffe, 0x9ffff, 30034 0xafffe, 0xaffff, 30035 0xbfffe, 0xbffff, 30036 0xcfffe, 0xcffff, 30037 0xdfffe, 0xdffff, 30038 0xe0001, 0xe0001, 30039 0xe0020, 0xe007f, 30040 0xe0100, 0xe01ef, 30041 0xefffe, 0x10ffff, 30042 }; /* CR_Age_8_0 */ 30043 30044 /* 'Age_9_0': Derived Age 9.0 */ 30045 static const OnigCodePoint CR_Age_9_0[] = { 30046 648, 30047 0x0000, 0x0377, 30048 0x037a, 0x037f, 30049 0x0384, 0x038a, 30050 0x038c, 0x038c, 30051 0x038e, 0x03a1, 30052 0x03a3, 0x052f, 30053 0x0531, 0x0556, 30054 0x0559, 0x055f, 30055 0x0561, 0x0587, 30056 0x0589, 0x058a, 30057 0x058d, 0x058f, 30058 0x0591, 0x05c7, 30059 0x05d0, 0x05ea, 30060 0x05f0, 0x05f4, 30061 0x0600, 0x061c, 30062 0x061e, 0x070d, 30063 0x070f, 0x074a, 30064 0x074d, 0x07b1, 30065 0x07c0, 0x07fa, 30066 0x0800, 0x082d, 30067 0x0830, 0x083e, 30068 0x0840, 0x085b, 30069 0x085e, 0x085e, 30070 0x08a0, 0x08b4, 30071 0x08b6, 0x08bd, 30072 0x08d4, 0x0983, 30073 0x0985, 0x098c, 30074 0x098f, 0x0990, 30075 0x0993, 0x09a8, 30076 0x09aa, 0x09b0, 30077 0x09b2, 0x09b2, 30078 0x09b6, 0x09b9, 30079 0x09bc, 0x09c4, 30080 0x09c7, 0x09c8, 30081 0x09cb, 0x09ce, 30082 0x09d7, 0x09d7, 30083 0x09dc, 0x09dd, 30084 0x09df, 0x09e3, 30085 0x09e6, 0x09fb, 30086 0x0a01, 0x0a03, 30087 0x0a05, 0x0a0a, 30088 0x0a0f, 0x0a10, 30089 0x0a13, 0x0a28, 30090 0x0a2a, 0x0a30, 30091 0x0a32, 0x0a33, 30092 0x0a35, 0x0a36, 30093 0x0a38, 0x0a39, 30094 0x0a3c, 0x0a3c, 30095 0x0a3e, 0x0a42, 30096 0x0a47, 0x0a48, 30097 0x0a4b, 0x0a4d, 30098 0x0a51, 0x0a51, 30099 0x0a59, 0x0a5c, 30100 0x0a5e, 0x0a5e, 30101 0x0a66, 0x0a75, 30102 0x0a81, 0x0a83, 30103 0x0a85, 0x0a8d, 30104 0x0a8f, 0x0a91, 30105 0x0a93, 0x0aa8, 30106 0x0aaa, 0x0ab0, 30107 0x0ab2, 0x0ab3, 30108 0x0ab5, 0x0ab9, 30109 0x0abc, 0x0ac5, 30110 0x0ac7, 0x0ac9, 30111 0x0acb, 0x0acd, 30112 0x0ad0, 0x0ad0, 30113 0x0ae0, 0x0ae3, 30114 0x0ae6, 0x0af1, 30115 0x0af9, 0x0af9, 30116 0x0b01, 0x0b03, 30117 0x0b05, 0x0b0c, 30118 0x0b0f, 0x0b10, 30119 0x0b13, 0x0b28, 30120 0x0b2a, 0x0b30, 30121 0x0b32, 0x0b33, 30122 0x0b35, 0x0b39, 30123 0x0b3c, 0x0b44, 30124 0x0b47, 0x0b48, 30125 0x0b4b, 0x0b4d, 30126 0x0b56, 0x0b57, 30127 0x0b5c, 0x0b5d, 30128 0x0b5f, 0x0b63, 30129 0x0b66, 0x0b77, 30130 0x0b82, 0x0b83, 30131 0x0b85, 0x0b8a, 30132 0x0b8e, 0x0b90, 30133 0x0b92, 0x0b95, 30134 0x0b99, 0x0b9a, 30135 0x0b9c, 0x0b9c, 30136 0x0b9e, 0x0b9f, 30137 0x0ba3, 0x0ba4, 30138 0x0ba8, 0x0baa, 30139 0x0bae, 0x0bb9, 30140 0x0bbe, 0x0bc2, 30141 0x0bc6, 0x0bc8, 30142 0x0bca, 0x0bcd, 30143 0x0bd0, 0x0bd0, 30144 0x0bd7, 0x0bd7, 30145 0x0be6, 0x0bfa, 30146 0x0c00, 0x0c03, 30147 0x0c05, 0x0c0c, 30148 0x0c0e, 0x0c10, 30149 0x0c12, 0x0c28, 30150 0x0c2a, 0x0c39, 30151 0x0c3d, 0x0c44, 30152 0x0c46, 0x0c48, 30153 0x0c4a, 0x0c4d, 30154 0x0c55, 0x0c56, 30155 0x0c58, 0x0c5a, 30156 0x0c60, 0x0c63, 30157 0x0c66, 0x0c6f, 30158 0x0c78, 0x0c83, 30159 0x0c85, 0x0c8c, 30160 0x0c8e, 0x0c90, 30161 0x0c92, 0x0ca8, 30162 0x0caa, 0x0cb3, 30163 0x0cb5, 0x0cb9, 30164 0x0cbc, 0x0cc4, 30165 0x0cc6, 0x0cc8, 30166 0x0cca, 0x0ccd, 30167 0x0cd5, 0x0cd6, 30168 0x0cde, 0x0cde, 30169 0x0ce0, 0x0ce3, 30170 0x0ce6, 0x0cef, 30171 0x0cf1, 0x0cf2, 30172 0x0d01, 0x0d03, 30173 0x0d05, 0x0d0c, 30174 0x0d0e, 0x0d10, 30175 0x0d12, 0x0d3a, 30176 0x0d3d, 0x0d44, 30177 0x0d46, 0x0d48, 30178 0x0d4a, 0x0d4f, 30179 0x0d54, 0x0d63, 30180 0x0d66, 0x0d7f, 30181 0x0d82, 0x0d83, 30182 0x0d85, 0x0d96, 30183 0x0d9a, 0x0db1, 30184 0x0db3, 0x0dbb, 30185 0x0dbd, 0x0dbd, 30186 0x0dc0, 0x0dc6, 30187 0x0dca, 0x0dca, 30188 0x0dcf, 0x0dd4, 30189 0x0dd6, 0x0dd6, 30190 0x0dd8, 0x0ddf, 30191 0x0de6, 0x0def, 30192 0x0df2, 0x0df4, 30193 0x0e01, 0x0e3a, 30194 0x0e3f, 0x0e5b, 30195 0x0e81, 0x0e82, 30196 0x0e84, 0x0e84, 30197 0x0e87, 0x0e88, 30198 0x0e8a, 0x0e8a, 30199 0x0e8d, 0x0e8d, 30200 0x0e94, 0x0e97, 30201 0x0e99, 0x0e9f, 30202 0x0ea1, 0x0ea3, 30203 0x0ea5, 0x0ea5, 30204 0x0ea7, 0x0ea7, 30205 0x0eaa, 0x0eab, 30206 0x0ead, 0x0eb9, 30207 0x0ebb, 0x0ebd, 30208 0x0ec0, 0x0ec4, 30209 0x0ec6, 0x0ec6, 30210 0x0ec8, 0x0ecd, 30211 0x0ed0, 0x0ed9, 30212 0x0edc, 0x0edf, 30213 0x0f00, 0x0f47, 30214 0x0f49, 0x0f6c, 30215 0x0f71, 0x0f97, 30216 0x0f99, 0x0fbc, 30217 0x0fbe, 0x0fcc, 30218 0x0fce, 0x0fda, 30219 0x1000, 0x10c5, 30220 0x10c7, 0x10c7, 30221 0x10cd, 0x10cd, 30222 0x10d0, 0x1248, 30223 0x124a, 0x124d, 30224 0x1250, 0x1256, 30225 0x1258, 0x1258, 30226 0x125a, 0x125d, 30227 0x1260, 0x1288, 30228 0x128a, 0x128d, 30229 0x1290, 0x12b0, 30230 0x12b2, 0x12b5, 30231 0x12b8, 0x12be, 30232 0x12c0, 0x12c0, 30233 0x12c2, 0x12c5, 30234 0x12c8, 0x12d6, 30235 0x12d8, 0x1310, 30236 0x1312, 0x1315, 30237 0x1318, 0x135a, 30238 0x135d, 0x137c, 30239 0x1380, 0x1399, 30240 0x13a0, 0x13f5, 30241 0x13f8, 0x13fd, 30242 0x1400, 0x169c, 30243 0x16a0, 0x16f8, 30244 0x1700, 0x170c, 30245 0x170e, 0x1714, 30246 0x1720, 0x1736, 30247 0x1740, 0x1753, 30248 0x1760, 0x176c, 30249 0x176e, 0x1770, 30250 0x1772, 0x1773, 30251 0x1780, 0x17dd, 30252 0x17e0, 0x17e9, 30253 0x17f0, 0x17f9, 30254 0x1800, 0x180e, 30255 0x1810, 0x1819, 30256 0x1820, 0x1877, 30257 0x1880, 0x18aa, 30258 0x18b0, 0x18f5, 30259 0x1900, 0x191e, 30260 0x1920, 0x192b, 30261 0x1930, 0x193b, 30262 0x1940, 0x1940, 30263 0x1944, 0x196d, 30264 0x1970, 0x1974, 30265 0x1980, 0x19ab, 30266 0x19b0, 0x19c9, 30267 0x19d0, 0x19da, 30268 0x19de, 0x1a1b, 30269 0x1a1e, 0x1a5e, 30270 0x1a60, 0x1a7c, 30271 0x1a7f, 0x1a89, 30272 0x1a90, 0x1a99, 30273 0x1aa0, 0x1aad, 30274 0x1ab0, 0x1abe, 30275 0x1b00, 0x1b4b, 30276 0x1b50, 0x1b7c, 30277 0x1b80, 0x1bf3, 30278 0x1bfc, 0x1c37, 30279 0x1c3b, 0x1c49, 30280 0x1c4d, 0x1c88, 30281 0x1cc0, 0x1cc7, 30282 0x1cd0, 0x1cf6, 30283 0x1cf8, 0x1cf9, 30284 0x1d00, 0x1df5, 30285 0x1dfb, 0x1f15, 30286 0x1f18, 0x1f1d, 30287 0x1f20, 0x1f45, 30288 0x1f48, 0x1f4d, 30289 0x1f50, 0x1f57, 30290 0x1f59, 0x1f59, 30291 0x1f5b, 0x1f5b, 30292 0x1f5d, 0x1f5d, 30293 0x1f5f, 0x1f7d, 30294 0x1f80, 0x1fb4, 30295 0x1fb6, 0x1fc4, 30296 0x1fc6, 0x1fd3, 30297 0x1fd6, 0x1fdb, 30298 0x1fdd, 0x1fef, 30299 0x1ff2, 0x1ff4, 30300 0x1ff6, 0x1ffe, 30301 0x2000, 0x2064, 30302 0x2066, 0x2071, 30303 0x2074, 0x208e, 30304 0x2090, 0x209c, 30305 0x20a0, 0x20be, 30306 0x20d0, 0x20f0, 30307 0x2100, 0x218b, 30308 0x2190, 0x23fe, 30309 0x2400, 0x2426, 30310 0x2440, 0x244a, 30311 0x2460, 0x2b73, 30312 0x2b76, 0x2b95, 30313 0x2b98, 0x2bb9, 30314 0x2bbd, 0x2bc8, 30315 0x2bca, 0x2bd1, 30316 0x2bec, 0x2bef, 30317 0x2c00, 0x2c2e, 30318 0x2c30, 0x2c5e, 30319 0x2c60, 0x2cf3, 30320 0x2cf9, 0x2d25, 30321 0x2d27, 0x2d27, 30322 0x2d2d, 0x2d2d, 30323 0x2d30, 0x2d67, 30324 0x2d6f, 0x2d70, 30325 0x2d7f, 0x2d96, 30326 0x2da0, 0x2da6, 30327 0x2da8, 0x2dae, 30328 0x2db0, 0x2db6, 30329 0x2db8, 0x2dbe, 30330 0x2dc0, 0x2dc6, 30331 0x2dc8, 0x2dce, 30332 0x2dd0, 0x2dd6, 30333 0x2dd8, 0x2dde, 30334 0x2de0, 0x2e44, 30335 0x2e80, 0x2e99, 30336 0x2e9b, 0x2ef3, 30337 0x2f00, 0x2fd5, 30338 0x2ff0, 0x2ffb, 30339 0x3000, 0x303f, 30340 0x3041, 0x3096, 30341 0x3099, 0x30ff, 30342 0x3105, 0x312d, 30343 0x3131, 0x318e, 30344 0x3190, 0x31ba, 30345 0x31c0, 0x31e3, 30346 0x31f0, 0x321e, 30347 0x3220, 0x32fe, 30348 0x3300, 0x4db5, 30349 0x4dc0, 0x9fd5, 30350 0xa000, 0xa48c, 30351 0xa490, 0xa4c6, 30352 0xa4d0, 0xa62b, 30353 0xa640, 0xa6f7, 30354 0xa700, 0xa7ae, 30355 0xa7b0, 0xa7b7, 30356 0xa7f7, 0xa82b, 30357 0xa830, 0xa839, 30358 0xa840, 0xa877, 30359 0xa880, 0xa8c5, 30360 0xa8ce, 0xa8d9, 30361 0xa8e0, 0xa8fd, 30362 0xa900, 0xa953, 30363 0xa95f, 0xa97c, 30364 0xa980, 0xa9cd, 30365 0xa9cf, 0xa9d9, 30366 0xa9de, 0xa9fe, 30367 0xaa00, 0xaa36, 30368 0xaa40, 0xaa4d, 30369 0xaa50, 0xaa59, 30370 0xaa5c, 0xaac2, 30371 0xaadb, 0xaaf6, 30372 0xab01, 0xab06, 30373 0xab09, 0xab0e, 30374 0xab11, 0xab16, 30375 0xab20, 0xab26, 30376 0xab28, 0xab2e, 30377 0xab30, 0xab65, 30378 0xab70, 0xabed, 30379 0xabf0, 0xabf9, 30380 0xac00, 0xd7a3, 30381 0xd7b0, 0xd7c6, 30382 0xd7cb, 0xd7fb, 30383 0xd800, 0xfa6d, 30384 0xfa70, 0xfad9, 30385 0xfb00, 0xfb06, 30386 0xfb13, 0xfb17, 30387 0xfb1d, 0xfb36, 30388 0xfb38, 0xfb3c, 30389 0xfb3e, 0xfb3e, 30390 0xfb40, 0xfb41, 30391 0xfb43, 0xfb44, 30392 0xfb46, 0xfbc1, 30393 0xfbd3, 0xfd3f, 30394 0xfd50, 0xfd8f, 30395 0xfd92, 0xfdc7, 30396 0xfdd0, 0xfdfd, 30397 0xfe00, 0xfe19, 30398 0xfe20, 0xfe52, 30399 0xfe54, 0xfe66, 30400 0xfe68, 0xfe6b, 30401 0xfe70, 0xfe74, 30402 0xfe76, 0xfefc, 30403 0xfeff, 0xfeff, 30404 0xff01, 0xffbe, 30405 0xffc2, 0xffc7, 30406 0xffca, 0xffcf, 30407 0xffd2, 0xffd7, 30408 0xffda, 0xffdc, 30409 0xffe0, 0xffe6, 30410 0xffe8, 0xffee, 30411 0xfff9, 0x1000b, 30412 0x1000d, 0x10026, 30413 0x10028, 0x1003a, 30414 0x1003c, 0x1003d, 30415 0x1003f, 0x1004d, 30416 0x10050, 0x1005d, 30417 0x10080, 0x100fa, 30418 0x10100, 0x10102, 30419 0x10107, 0x10133, 30420 0x10137, 0x1018e, 30421 0x10190, 0x1019b, 30422 0x101a0, 0x101a0, 30423 0x101d0, 0x101fd, 30424 0x10280, 0x1029c, 30425 0x102a0, 0x102d0, 30426 0x102e0, 0x102fb, 30427 0x10300, 0x10323, 30428 0x10330, 0x1034a, 30429 0x10350, 0x1037a, 30430 0x10380, 0x1039d, 30431 0x1039f, 0x103c3, 30432 0x103c8, 0x103d5, 30433 0x10400, 0x1049d, 30434 0x104a0, 0x104a9, 30435 0x104b0, 0x104d3, 30436 0x104d8, 0x104fb, 30437 0x10500, 0x10527, 30438 0x10530, 0x10563, 30439 0x1056f, 0x1056f, 30440 0x10600, 0x10736, 30441 0x10740, 0x10755, 30442 0x10760, 0x10767, 30443 0x10800, 0x10805, 30444 0x10808, 0x10808, 30445 0x1080a, 0x10835, 30446 0x10837, 0x10838, 30447 0x1083c, 0x1083c, 30448 0x1083f, 0x10855, 30449 0x10857, 0x1089e, 30450 0x108a7, 0x108af, 30451 0x108e0, 0x108f2, 30452 0x108f4, 0x108f5, 30453 0x108fb, 0x1091b, 30454 0x1091f, 0x10939, 30455 0x1093f, 0x1093f, 30456 0x10980, 0x109b7, 30457 0x109bc, 0x109cf, 30458 0x109d2, 0x10a03, 30459 0x10a05, 0x10a06, 30460 0x10a0c, 0x10a13, 30461 0x10a15, 0x10a17, 30462 0x10a19, 0x10a33, 30463 0x10a38, 0x10a3a, 30464 0x10a3f, 0x10a47, 30465 0x10a50, 0x10a58, 30466 0x10a60, 0x10a9f, 30467 0x10ac0, 0x10ae6, 30468 0x10aeb, 0x10af6, 30469 0x10b00, 0x10b35, 30470 0x10b39, 0x10b55, 30471 0x10b58, 0x10b72, 30472 0x10b78, 0x10b91, 30473 0x10b99, 0x10b9c, 30474 0x10ba9, 0x10baf, 30475 0x10c00, 0x10c48, 30476 0x10c80, 0x10cb2, 30477 0x10cc0, 0x10cf2, 30478 0x10cfa, 0x10cff, 30479 0x10e60, 0x10e7e, 30480 0x11000, 0x1104d, 30481 0x11052, 0x1106f, 30482 0x1107f, 0x110c1, 30483 0x110d0, 0x110e8, 30484 0x110f0, 0x110f9, 30485 0x11100, 0x11134, 30486 0x11136, 0x11143, 30487 0x11150, 0x11176, 30488 0x11180, 0x111cd, 30489 0x111d0, 0x111df, 30490 0x111e1, 0x111f4, 30491 0x11200, 0x11211, 30492 0x11213, 0x1123e, 30493 0x11280, 0x11286, 30494 0x11288, 0x11288, 30495 0x1128a, 0x1128d, 30496 0x1128f, 0x1129d, 30497 0x1129f, 0x112a9, 30498 0x112b0, 0x112ea, 30499 0x112f0, 0x112f9, 30500 0x11300, 0x11303, 30501 0x11305, 0x1130c, 30502 0x1130f, 0x11310, 30503 0x11313, 0x11328, 30504 0x1132a, 0x11330, 30505 0x11332, 0x11333, 30506 0x11335, 0x11339, 30507 0x1133c, 0x11344, 30508 0x11347, 0x11348, 30509 0x1134b, 0x1134d, 30510 0x11350, 0x11350, 30511 0x11357, 0x11357, 30512 0x1135d, 0x11363, 30513 0x11366, 0x1136c, 30514 0x11370, 0x11374, 30515 0x11400, 0x11459, 30516 0x1145b, 0x1145b, 30517 0x1145d, 0x1145d, 30518 0x11480, 0x114c7, 30519 0x114d0, 0x114d9, 30520 0x11580, 0x115b5, 30521 0x115b8, 0x115dd, 30522 0x11600, 0x11644, 30523 0x11650, 0x11659, 30524 0x11660, 0x1166c, 30525 0x11680, 0x116b7, 30526 0x116c0, 0x116c9, 30527 0x11700, 0x11719, 30528 0x1171d, 0x1172b, 30529 0x11730, 0x1173f, 30530 0x118a0, 0x118f2, 30531 0x118ff, 0x118ff, 30532 0x11ac0, 0x11af8, 30533 0x11c00, 0x11c08, 30534 0x11c0a, 0x11c36, 30535 0x11c38, 0x11c45, 30536 0x11c50, 0x11c6c, 30537 0x11c70, 0x11c8f, 30538 0x11c92, 0x11ca7, 30539 0x11ca9, 0x11cb6, 30540 0x12000, 0x12399, 30541 0x12400, 0x1246e, 30542 0x12470, 0x12474, 30543 0x12480, 0x12543, 30544 0x13000, 0x1342e, 30545 0x14400, 0x14646, 30546 0x16800, 0x16a38, 30547 0x16a40, 0x16a5e, 30548 0x16a60, 0x16a69, 30549 0x16a6e, 0x16a6f, 30550 0x16ad0, 0x16aed, 30551 0x16af0, 0x16af5, 30552 0x16b00, 0x16b45, 30553 0x16b50, 0x16b59, 30554 0x16b5b, 0x16b61, 30555 0x16b63, 0x16b77, 30556 0x16b7d, 0x16b8f, 30557 0x16f00, 0x16f44, 30558 0x16f50, 0x16f7e, 30559 0x16f8f, 0x16f9f, 30560 0x16fe0, 0x16fe0, 30561 0x17000, 0x187ec, 30562 0x18800, 0x18af2, 30563 0x1b000, 0x1b001, 30564 0x1bc00, 0x1bc6a, 30565 0x1bc70, 0x1bc7c, 30566 0x1bc80, 0x1bc88, 30567 0x1bc90, 0x1bc99, 30568 0x1bc9c, 0x1bca3, 30569 0x1d000, 0x1d0f5, 30570 0x1d100, 0x1d126, 30571 0x1d129, 0x1d1e8, 30572 0x1d200, 0x1d245, 30573 0x1d300, 0x1d356, 30574 0x1d360, 0x1d371, 30575 0x1d400, 0x1d454, 30576 0x1d456, 0x1d49c, 30577 0x1d49e, 0x1d49f, 30578 0x1d4a2, 0x1d4a2, 30579 0x1d4a5, 0x1d4a6, 30580 0x1d4a9, 0x1d4ac, 30581 0x1d4ae, 0x1d4b9, 30582 0x1d4bb, 0x1d4bb, 30583 0x1d4bd, 0x1d4c3, 30584 0x1d4c5, 0x1d505, 30585 0x1d507, 0x1d50a, 30586 0x1d50d, 0x1d514, 30587 0x1d516, 0x1d51c, 30588 0x1d51e, 0x1d539, 30589 0x1d53b, 0x1d53e, 30590 0x1d540, 0x1d544, 30591 0x1d546, 0x1d546, 30592 0x1d54a, 0x1d550, 30593 0x1d552, 0x1d6a5, 30594 0x1d6a8, 0x1d7cb, 30595 0x1d7ce, 0x1da8b, 30596 0x1da9b, 0x1da9f, 30597 0x1daa1, 0x1daaf, 30598 0x1e000, 0x1e006, 30599 0x1e008, 0x1e018, 30600 0x1e01b, 0x1e021, 30601 0x1e023, 0x1e024, 30602 0x1e026, 0x1e02a, 30603 0x1e800, 0x1e8c4, 30604 0x1e8c7, 0x1e8d6, 30605 0x1e900, 0x1e94a, 30606 0x1e950, 0x1e959, 30607 0x1e95e, 0x1e95f, 30608 0x1ee00, 0x1ee03, 30609 0x1ee05, 0x1ee1f, 30610 0x1ee21, 0x1ee22, 30611 0x1ee24, 0x1ee24, 30612 0x1ee27, 0x1ee27, 30613 0x1ee29, 0x1ee32, 30614 0x1ee34, 0x1ee37, 30615 0x1ee39, 0x1ee39, 30616 0x1ee3b, 0x1ee3b, 30617 0x1ee42, 0x1ee42, 30618 0x1ee47, 0x1ee47, 30619 0x1ee49, 0x1ee49, 30620 0x1ee4b, 0x1ee4b, 30621 0x1ee4d, 0x1ee4f, 30622 0x1ee51, 0x1ee52, 30623 0x1ee54, 0x1ee54, 30624 0x1ee57, 0x1ee57, 30625 0x1ee59, 0x1ee59, 30626 0x1ee5b, 0x1ee5b, 30627 0x1ee5d, 0x1ee5d, 30628 0x1ee5f, 0x1ee5f, 30629 0x1ee61, 0x1ee62, 30630 0x1ee64, 0x1ee64, 30631 0x1ee67, 0x1ee6a, 30632 0x1ee6c, 0x1ee72, 30633 0x1ee74, 0x1ee77, 30634 0x1ee79, 0x1ee7c, 30635 0x1ee7e, 0x1ee7e, 30636 0x1ee80, 0x1ee89, 30637 0x1ee8b, 0x1ee9b, 30638 0x1eea1, 0x1eea3, 30639 0x1eea5, 0x1eea9, 30640 0x1eeab, 0x1eebb, 30641 0x1eef0, 0x1eef1, 30642 0x1f000, 0x1f02b, 30643 0x1f030, 0x1f093, 30644 0x1f0a0, 0x1f0ae, 30645 0x1f0b1, 0x1f0bf, 30646 0x1f0c1, 0x1f0cf, 30647 0x1f0d1, 0x1f0f5, 30648 0x1f100, 0x1f10c, 30649 0x1f110, 0x1f12e, 30650 0x1f130, 0x1f16b, 30651 0x1f170, 0x1f1ac, 30652 0x1f1e6, 0x1f202, 30653 0x1f210, 0x1f23b, 30654 0x1f240, 0x1f248, 30655 0x1f250, 0x1f251, 30656 0x1f300, 0x1f6d2, 30657 0x1f6e0, 0x1f6ec, 30658 0x1f6f0, 0x1f6f6, 30659 0x1f700, 0x1f773, 30660 0x1f780, 0x1f7d4, 30661 0x1f800, 0x1f80b, 30662 0x1f810, 0x1f847, 30663 0x1f850, 0x1f859, 30664 0x1f860, 0x1f887, 30665 0x1f890, 0x1f8ad, 30666 0x1f910, 0x1f91e, 30667 0x1f920, 0x1f927, 30668 0x1f930, 0x1f930, 30669 0x1f933, 0x1f93e, 30670 0x1f940, 0x1f94b, 30671 0x1f950, 0x1f95e, 30672 0x1f980, 0x1f991, 30673 0x1f9c0, 0x1f9c0, 30674 0x1fffe, 0x2a6d6, 30675 0x2a700, 0x2b734, 30676 0x2b740, 0x2b81d, 30677 0x2b820, 0x2cea1, 30678 0x2f800, 0x2fa1d, 30679 0x2fffe, 0x2ffff, 30680 0x3fffe, 0x3ffff, 30681 0x4fffe, 0x4ffff, 30682 0x5fffe, 0x5ffff, 30683 0x6fffe, 0x6ffff, 30684 0x7fffe, 0x7ffff, 30685 0x8fffe, 0x8ffff, 30686 0x9fffe, 0x9ffff, 30687 0xafffe, 0xaffff, 30688 0xbfffe, 0xbffff, 30689 0xcfffe, 0xcffff, 30690 0xdfffe, 0xdffff, 30691 0xe0001, 0xe0001, 30692 0xe0020, 0xe007f, 30693 0xe0100, 0xe01ef, 30694 0xefffe, 0x10ffff, 30695 }; /* CR_Age_9_0 */ 30696 30697 /* 'Age_10_0': Derived Age 10.0 */ 30698 static const OnigCodePoint CR_Age_10_0[] = { 30699 659, 30700 0x0000, 0x0377, 30701 0x037a, 0x037f, 30702 0x0384, 0x038a, 30703 0x038c, 0x038c, 30704 0x038e, 0x03a1, 30705 0x03a3, 0x052f, 30706 0x0531, 0x0556, 30707 0x0559, 0x055f, 30708 0x0561, 0x0587, 30709 0x0589, 0x058a, 30710 0x058d, 0x058f, 30711 0x0591, 0x05c7, 30712 0x05d0, 0x05ea, 30713 0x05f0, 0x05f4, 30714 0x0600, 0x061c, 30715 0x061e, 0x070d, 30716 0x070f, 0x074a, 30717 0x074d, 0x07b1, 30718 0x07c0, 0x07fa, 30719 0x0800, 0x082d, 30720 0x0830, 0x083e, 30721 0x0840, 0x085b, 30722 0x085e, 0x085e, 30723 0x0860, 0x086a, 30724 0x08a0, 0x08b4, 30725 0x08b6, 0x08bd, 30726 0x08d4, 0x0983, 30727 0x0985, 0x098c, 30728 0x098f, 0x0990, 30729 0x0993, 0x09a8, 30730 0x09aa, 0x09b0, 30731 0x09b2, 0x09b2, 30732 0x09b6, 0x09b9, 30733 0x09bc, 0x09c4, 30734 0x09c7, 0x09c8, 30735 0x09cb, 0x09ce, 30736 0x09d7, 0x09d7, 30737 0x09dc, 0x09dd, 30738 0x09df, 0x09e3, 30739 0x09e6, 0x09fd, 30740 0x0a01, 0x0a03, 30741 0x0a05, 0x0a0a, 30742 0x0a0f, 0x0a10, 30743 0x0a13, 0x0a28, 30744 0x0a2a, 0x0a30, 30745 0x0a32, 0x0a33, 30746 0x0a35, 0x0a36, 30747 0x0a38, 0x0a39, 30748 0x0a3c, 0x0a3c, 30749 0x0a3e, 0x0a42, 30750 0x0a47, 0x0a48, 30751 0x0a4b, 0x0a4d, 30752 0x0a51, 0x0a51, 30753 0x0a59, 0x0a5c, 30754 0x0a5e, 0x0a5e, 30755 0x0a66, 0x0a75, 30756 0x0a81, 0x0a83, 30757 0x0a85, 0x0a8d, 30758 0x0a8f, 0x0a91, 30759 0x0a93, 0x0aa8, 30760 0x0aaa, 0x0ab0, 30761 0x0ab2, 0x0ab3, 30762 0x0ab5, 0x0ab9, 30763 0x0abc, 0x0ac5, 30764 0x0ac7, 0x0ac9, 30765 0x0acb, 0x0acd, 30766 0x0ad0, 0x0ad0, 30767 0x0ae0, 0x0ae3, 30768 0x0ae6, 0x0af1, 30769 0x0af9, 0x0aff, 30770 0x0b01, 0x0b03, 30771 0x0b05, 0x0b0c, 30772 0x0b0f, 0x0b10, 30773 0x0b13, 0x0b28, 30774 0x0b2a, 0x0b30, 30775 0x0b32, 0x0b33, 30776 0x0b35, 0x0b39, 30777 0x0b3c, 0x0b44, 30778 0x0b47, 0x0b48, 30779 0x0b4b, 0x0b4d, 30780 0x0b56, 0x0b57, 30781 0x0b5c, 0x0b5d, 30782 0x0b5f, 0x0b63, 30783 0x0b66, 0x0b77, 30784 0x0b82, 0x0b83, 30785 0x0b85, 0x0b8a, 30786 0x0b8e, 0x0b90, 30787 0x0b92, 0x0b95, 30788 0x0b99, 0x0b9a, 30789 0x0b9c, 0x0b9c, 30790 0x0b9e, 0x0b9f, 30791 0x0ba3, 0x0ba4, 30792 0x0ba8, 0x0baa, 30793 0x0bae, 0x0bb9, 30794 0x0bbe, 0x0bc2, 30795 0x0bc6, 0x0bc8, 30796 0x0bca, 0x0bcd, 30797 0x0bd0, 0x0bd0, 30798 0x0bd7, 0x0bd7, 30799 0x0be6, 0x0bfa, 30800 0x0c00, 0x0c03, 30801 0x0c05, 0x0c0c, 30802 0x0c0e, 0x0c10, 30803 0x0c12, 0x0c28, 30804 0x0c2a, 0x0c39, 30805 0x0c3d, 0x0c44, 30806 0x0c46, 0x0c48, 30807 0x0c4a, 0x0c4d, 30808 0x0c55, 0x0c56, 30809 0x0c58, 0x0c5a, 30810 0x0c60, 0x0c63, 30811 0x0c66, 0x0c6f, 30812 0x0c78, 0x0c83, 30813 0x0c85, 0x0c8c, 30814 0x0c8e, 0x0c90, 30815 0x0c92, 0x0ca8, 30816 0x0caa, 0x0cb3, 30817 0x0cb5, 0x0cb9, 30818 0x0cbc, 0x0cc4, 30819 0x0cc6, 0x0cc8, 30820 0x0cca, 0x0ccd, 30821 0x0cd5, 0x0cd6, 30822 0x0cde, 0x0cde, 30823 0x0ce0, 0x0ce3, 30824 0x0ce6, 0x0cef, 30825 0x0cf1, 0x0cf2, 30826 0x0d00, 0x0d03, 30827 0x0d05, 0x0d0c, 30828 0x0d0e, 0x0d10, 30829 0x0d12, 0x0d44, 30830 0x0d46, 0x0d48, 30831 0x0d4a, 0x0d4f, 30832 0x0d54, 0x0d63, 30833 0x0d66, 0x0d7f, 30834 0x0d82, 0x0d83, 30835 0x0d85, 0x0d96, 30836 0x0d9a, 0x0db1, 30837 0x0db3, 0x0dbb, 30838 0x0dbd, 0x0dbd, 30839 0x0dc0, 0x0dc6, 30840 0x0dca, 0x0dca, 30841 0x0dcf, 0x0dd4, 30842 0x0dd6, 0x0dd6, 30843 0x0dd8, 0x0ddf, 30844 0x0de6, 0x0def, 30845 0x0df2, 0x0df4, 30846 0x0e01, 0x0e3a, 30847 0x0e3f, 0x0e5b, 30848 0x0e81, 0x0e82, 30849 0x0e84, 0x0e84, 30850 0x0e87, 0x0e88, 30851 0x0e8a, 0x0e8a, 30852 0x0e8d, 0x0e8d, 30853 0x0e94, 0x0e97, 30854 0x0e99, 0x0e9f, 30855 0x0ea1, 0x0ea3, 30856 0x0ea5, 0x0ea5, 30857 0x0ea7, 0x0ea7, 30858 0x0eaa, 0x0eab, 30859 0x0ead, 0x0eb9, 30860 0x0ebb, 0x0ebd, 30861 0x0ec0, 0x0ec4, 30862 0x0ec6, 0x0ec6, 30863 0x0ec8, 0x0ecd, 30864 0x0ed0, 0x0ed9, 30865 0x0edc, 0x0edf, 30866 0x0f00, 0x0f47, 30867 0x0f49, 0x0f6c, 30868 0x0f71, 0x0f97, 30869 0x0f99, 0x0fbc, 30870 0x0fbe, 0x0fcc, 30871 0x0fce, 0x0fda, 30872 0x1000, 0x10c5, 30873 0x10c7, 0x10c7, 30874 0x10cd, 0x10cd, 30875 0x10d0, 0x1248, 30876 0x124a, 0x124d, 30877 0x1250, 0x1256, 30878 0x1258, 0x1258, 30879 0x125a, 0x125d, 30880 0x1260, 0x1288, 30881 0x128a, 0x128d, 30882 0x1290, 0x12b0, 30883 0x12b2, 0x12b5, 30884 0x12b8, 0x12be, 30885 0x12c0, 0x12c0, 30886 0x12c2, 0x12c5, 30887 0x12c8, 0x12d6, 30888 0x12d8, 0x1310, 30889 0x1312, 0x1315, 30890 0x1318, 0x135a, 30891 0x135d, 0x137c, 30892 0x1380, 0x1399, 30893 0x13a0, 0x13f5, 30894 0x13f8, 0x13fd, 30895 0x1400, 0x169c, 30896 0x16a0, 0x16f8, 30897 0x1700, 0x170c, 30898 0x170e, 0x1714, 30899 0x1720, 0x1736, 30900 0x1740, 0x1753, 30901 0x1760, 0x176c, 30902 0x176e, 0x1770, 30903 0x1772, 0x1773, 30904 0x1780, 0x17dd, 30905 0x17e0, 0x17e9, 30906 0x17f0, 0x17f9, 30907 0x1800, 0x180e, 30908 0x1810, 0x1819, 30909 0x1820, 0x1877, 30910 0x1880, 0x18aa, 30911 0x18b0, 0x18f5, 30912 0x1900, 0x191e, 30913 0x1920, 0x192b, 30914 0x1930, 0x193b, 30915 0x1940, 0x1940, 30916 0x1944, 0x196d, 30917 0x1970, 0x1974, 30918 0x1980, 0x19ab, 30919 0x19b0, 0x19c9, 30920 0x19d0, 0x19da, 30921 0x19de, 0x1a1b, 30922 0x1a1e, 0x1a5e, 30923 0x1a60, 0x1a7c, 30924 0x1a7f, 0x1a89, 30925 0x1a90, 0x1a99, 30926 0x1aa0, 0x1aad, 30927 0x1ab0, 0x1abe, 30928 0x1b00, 0x1b4b, 30929 0x1b50, 0x1b7c, 30930 0x1b80, 0x1bf3, 30931 0x1bfc, 0x1c37, 30932 0x1c3b, 0x1c49, 30933 0x1c4d, 0x1c88, 30934 0x1cc0, 0x1cc7, 30935 0x1cd0, 0x1cf9, 30936 0x1d00, 0x1df9, 30937 0x1dfb, 0x1f15, 30938 0x1f18, 0x1f1d, 30939 0x1f20, 0x1f45, 30940 0x1f48, 0x1f4d, 30941 0x1f50, 0x1f57, 30942 0x1f59, 0x1f59, 30943 0x1f5b, 0x1f5b, 30944 0x1f5d, 0x1f5d, 30945 0x1f5f, 0x1f7d, 30946 0x1f80, 0x1fb4, 30947 0x1fb6, 0x1fc4, 30948 0x1fc6, 0x1fd3, 30949 0x1fd6, 0x1fdb, 30950 0x1fdd, 0x1fef, 30951 0x1ff2, 0x1ff4, 30952 0x1ff6, 0x1ffe, 30953 0x2000, 0x2064, 30954 0x2066, 0x2071, 30955 0x2074, 0x208e, 30956 0x2090, 0x209c, 30957 0x20a0, 0x20bf, 30958 0x20d0, 0x20f0, 30959 0x2100, 0x218b, 30960 0x2190, 0x2426, 30961 0x2440, 0x244a, 30962 0x2460, 0x2b73, 30963 0x2b76, 0x2b95, 30964 0x2b98, 0x2bb9, 30965 0x2bbd, 0x2bc8, 30966 0x2bca, 0x2bd2, 30967 0x2bec, 0x2bef, 30968 0x2c00, 0x2c2e, 30969 0x2c30, 0x2c5e, 30970 0x2c60, 0x2cf3, 30971 0x2cf9, 0x2d25, 30972 0x2d27, 0x2d27, 30973 0x2d2d, 0x2d2d, 30974 0x2d30, 0x2d67, 30975 0x2d6f, 0x2d70, 30976 0x2d7f, 0x2d96, 30977 0x2da0, 0x2da6, 30978 0x2da8, 0x2dae, 30979 0x2db0, 0x2db6, 30980 0x2db8, 0x2dbe, 30981 0x2dc0, 0x2dc6, 30982 0x2dc8, 0x2dce, 30983 0x2dd0, 0x2dd6, 30984 0x2dd8, 0x2dde, 30985 0x2de0, 0x2e49, 30986 0x2e80, 0x2e99, 30987 0x2e9b, 0x2ef3, 30988 0x2f00, 0x2fd5, 30989 0x2ff0, 0x2ffb, 30990 0x3000, 0x303f, 30991 0x3041, 0x3096, 30992 0x3099, 0x30ff, 30993 0x3105, 0x312e, 30994 0x3131, 0x318e, 30995 0x3190, 0x31ba, 30996 0x31c0, 0x31e3, 30997 0x31f0, 0x321e, 30998 0x3220, 0x32fe, 30999 0x3300, 0x4db5, 31000 0x4dc0, 0x9fea, 31001 0xa000, 0xa48c, 31002 0xa490, 0xa4c6, 31003 0xa4d0, 0xa62b, 31004 0xa640, 0xa6f7, 31005 0xa700, 0xa7ae, 31006 0xa7b0, 0xa7b7, 31007 0xa7f7, 0xa82b, 31008 0xa830, 0xa839, 31009 0xa840, 0xa877, 31010 0xa880, 0xa8c5, 31011 0xa8ce, 0xa8d9, 31012 0xa8e0, 0xa8fd, 31013 0xa900, 0xa953, 31014 0xa95f, 0xa97c, 31015 0xa980, 0xa9cd, 31016 0xa9cf, 0xa9d9, 31017 0xa9de, 0xa9fe, 31018 0xaa00, 0xaa36, 31019 0xaa40, 0xaa4d, 31020 0xaa50, 0xaa59, 31021 0xaa5c, 0xaac2, 31022 0xaadb, 0xaaf6, 31023 0xab01, 0xab06, 31024 0xab09, 0xab0e, 31025 0xab11, 0xab16, 31026 0xab20, 0xab26, 31027 0xab28, 0xab2e, 31028 0xab30, 0xab65, 31029 0xab70, 0xabed, 31030 0xabf0, 0xabf9, 31031 0xac00, 0xd7a3, 31032 0xd7b0, 0xd7c6, 31033 0xd7cb, 0xd7fb, 31034 0xd800, 0xfa6d, 31035 0xfa70, 0xfad9, 31036 0xfb00, 0xfb06, 31037 0xfb13, 0xfb17, 31038 0xfb1d, 0xfb36, 31039 0xfb38, 0xfb3c, 31040 0xfb3e, 0xfb3e, 31041 0xfb40, 0xfb41, 31042 0xfb43, 0xfb44, 31043 0xfb46, 0xfbc1, 31044 0xfbd3, 0xfd3f, 31045 0xfd50, 0xfd8f, 31046 0xfd92, 0xfdc7, 31047 0xfdd0, 0xfdfd, 31048 0xfe00, 0xfe19, 31049 0xfe20, 0xfe52, 31050 0xfe54, 0xfe66, 31051 0xfe68, 0xfe6b, 31052 0xfe70, 0xfe74, 31053 0xfe76, 0xfefc, 31054 0xfeff, 0xfeff, 31055 0xff01, 0xffbe, 31056 0xffc2, 0xffc7, 31057 0xffca, 0xffcf, 31058 0xffd2, 0xffd7, 31059 0xffda, 0xffdc, 31060 0xffe0, 0xffe6, 31061 0xffe8, 0xffee, 31062 0xfff9, 0x1000b, 31063 0x1000d, 0x10026, 31064 0x10028, 0x1003a, 31065 0x1003c, 0x1003d, 31066 0x1003f, 0x1004d, 31067 0x10050, 0x1005d, 31068 0x10080, 0x100fa, 31069 0x10100, 0x10102, 31070 0x10107, 0x10133, 31071 0x10137, 0x1018e, 31072 0x10190, 0x1019b, 31073 0x101a0, 0x101a0, 31074 0x101d0, 0x101fd, 31075 0x10280, 0x1029c, 31076 0x102a0, 0x102d0, 31077 0x102e0, 0x102fb, 31078 0x10300, 0x10323, 31079 0x1032d, 0x1034a, 31080 0x10350, 0x1037a, 31081 0x10380, 0x1039d, 31082 0x1039f, 0x103c3, 31083 0x103c8, 0x103d5, 31084 0x10400, 0x1049d, 31085 0x104a0, 0x104a9, 31086 0x104b0, 0x104d3, 31087 0x104d8, 0x104fb, 31088 0x10500, 0x10527, 31089 0x10530, 0x10563, 31090 0x1056f, 0x1056f, 31091 0x10600, 0x10736, 31092 0x10740, 0x10755, 31093 0x10760, 0x10767, 31094 0x10800, 0x10805, 31095 0x10808, 0x10808, 31096 0x1080a, 0x10835, 31097 0x10837, 0x10838, 31098 0x1083c, 0x1083c, 31099 0x1083f, 0x10855, 31100 0x10857, 0x1089e, 31101 0x108a7, 0x108af, 31102 0x108e0, 0x108f2, 31103 0x108f4, 0x108f5, 31104 0x108fb, 0x1091b, 31105 0x1091f, 0x10939, 31106 0x1093f, 0x1093f, 31107 0x10980, 0x109b7, 31108 0x109bc, 0x109cf, 31109 0x109d2, 0x10a03, 31110 0x10a05, 0x10a06, 31111 0x10a0c, 0x10a13, 31112 0x10a15, 0x10a17, 31113 0x10a19, 0x10a33, 31114 0x10a38, 0x10a3a, 31115 0x10a3f, 0x10a47, 31116 0x10a50, 0x10a58, 31117 0x10a60, 0x10a9f, 31118 0x10ac0, 0x10ae6, 31119 0x10aeb, 0x10af6, 31120 0x10b00, 0x10b35, 31121 0x10b39, 0x10b55, 31122 0x10b58, 0x10b72, 31123 0x10b78, 0x10b91, 31124 0x10b99, 0x10b9c, 31125 0x10ba9, 0x10baf, 31126 0x10c00, 0x10c48, 31127 0x10c80, 0x10cb2, 31128 0x10cc0, 0x10cf2, 31129 0x10cfa, 0x10cff, 31130 0x10e60, 0x10e7e, 31131 0x11000, 0x1104d, 31132 0x11052, 0x1106f, 31133 0x1107f, 0x110c1, 31134 0x110d0, 0x110e8, 31135 0x110f0, 0x110f9, 31136 0x11100, 0x11134, 31137 0x11136, 0x11143, 31138 0x11150, 0x11176, 31139 0x11180, 0x111cd, 31140 0x111d0, 0x111df, 31141 0x111e1, 0x111f4, 31142 0x11200, 0x11211, 31143 0x11213, 0x1123e, 31144 0x11280, 0x11286, 31145 0x11288, 0x11288, 31146 0x1128a, 0x1128d, 31147 0x1128f, 0x1129d, 31148 0x1129f, 0x112a9, 31149 0x112b0, 0x112ea, 31150 0x112f0, 0x112f9, 31151 0x11300, 0x11303, 31152 0x11305, 0x1130c, 31153 0x1130f, 0x11310, 31154 0x11313, 0x11328, 31155 0x1132a, 0x11330, 31156 0x11332, 0x11333, 31157 0x11335, 0x11339, 31158 0x1133c, 0x11344, 31159 0x11347, 0x11348, 31160 0x1134b, 0x1134d, 31161 0x11350, 0x11350, 31162 0x11357, 0x11357, 31163 0x1135d, 0x11363, 31164 0x11366, 0x1136c, 31165 0x11370, 0x11374, 31166 0x11400, 0x11459, 31167 0x1145b, 0x1145b, 31168 0x1145d, 0x1145d, 31169 0x11480, 0x114c7, 31170 0x114d0, 0x114d9, 31171 0x11580, 0x115b5, 31172 0x115b8, 0x115dd, 31173 0x11600, 0x11644, 31174 0x11650, 0x11659, 31175 0x11660, 0x1166c, 31176 0x11680, 0x116b7, 31177 0x116c0, 0x116c9, 31178 0x11700, 0x11719, 31179 0x1171d, 0x1172b, 31180 0x11730, 0x1173f, 31181 0x118a0, 0x118f2, 31182 0x118ff, 0x118ff, 31183 0x11a00, 0x11a47, 31184 0x11a50, 0x11a83, 31185 0x11a86, 0x11a9c, 31186 0x11a9e, 0x11aa2, 31187 0x11ac0, 0x11af8, 31188 0x11c00, 0x11c08, 31189 0x11c0a, 0x11c36, 31190 0x11c38, 0x11c45, 31191 0x11c50, 0x11c6c, 31192 0x11c70, 0x11c8f, 31193 0x11c92, 0x11ca7, 31194 0x11ca9, 0x11cb6, 31195 0x11d00, 0x11d06, 31196 0x11d08, 0x11d09, 31197 0x11d0b, 0x11d36, 31198 0x11d3a, 0x11d3a, 31199 0x11d3c, 0x11d3d, 31200 0x11d3f, 0x11d47, 31201 0x11d50, 0x11d59, 31202 0x12000, 0x12399, 31203 0x12400, 0x1246e, 31204 0x12470, 0x12474, 31205 0x12480, 0x12543, 31206 0x13000, 0x1342e, 31207 0x14400, 0x14646, 31208 0x16800, 0x16a38, 31209 0x16a40, 0x16a5e, 31210 0x16a60, 0x16a69, 31211 0x16a6e, 0x16a6f, 31212 0x16ad0, 0x16aed, 31213 0x16af0, 0x16af5, 31214 0x16b00, 0x16b45, 31215 0x16b50, 0x16b59, 31216 0x16b5b, 0x16b61, 31217 0x16b63, 0x16b77, 31218 0x16b7d, 0x16b8f, 31219 0x16f00, 0x16f44, 31220 0x16f50, 0x16f7e, 31221 0x16f8f, 0x16f9f, 31222 0x16fe0, 0x16fe1, 31223 0x17000, 0x187ec, 31224 0x18800, 0x18af2, 31225 0x1b000, 0x1b11e, 31226 0x1b170, 0x1b2fb, 31227 0x1bc00, 0x1bc6a, 31228 0x1bc70, 0x1bc7c, 31229 0x1bc80, 0x1bc88, 31230 0x1bc90, 0x1bc99, 31231 0x1bc9c, 0x1bca3, 31232 0x1d000, 0x1d0f5, 31233 0x1d100, 0x1d126, 31234 0x1d129, 0x1d1e8, 31235 0x1d200, 0x1d245, 31236 0x1d300, 0x1d356, 31237 0x1d360, 0x1d371, 31238 0x1d400, 0x1d454, 31239 0x1d456, 0x1d49c, 31240 0x1d49e, 0x1d49f, 31241 0x1d4a2, 0x1d4a2, 31242 0x1d4a5, 0x1d4a6, 31243 0x1d4a9, 0x1d4ac, 31244 0x1d4ae, 0x1d4b9, 31245 0x1d4bb, 0x1d4bb, 31246 0x1d4bd, 0x1d4c3, 31247 0x1d4c5, 0x1d505, 31248 0x1d507, 0x1d50a, 31249 0x1d50d, 0x1d514, 31250 0x1d516, 0x1d51c, 31251 0x1d51e, 0x1d539, 31252 0x1d53b, 0x1d53e, 31253 0x1d540, 0x1d544, 31254 0x1d546, 0x1d546, 31255 0x1d54a, 0x1d550, 31256 0x1d552, 0x1d6a5, 31257 0x1d6a8, 0x1d7cb, 31258 0x1d7ce, 0x1da8b, 31259 0x1da9b, 0x1da9f, 31260 0x1daa1, 0x1daaf, 31261 0x1e000, 0x1e006, 31262 0x1e008, 0x1e018, 31263 0x1e01b, 0x1e021, 31264 0x1e023, 0x1e024, 31265 0x1e026, 0x1e02a, 31266 0x1e800, 0x1e8c4, 31267 0x1e8c7, 0x1e8d6, 31268 0x1e900, 0x1e94a, 31269 0x1e950, 0x1e959, 31270 0x1e95e, 0x1e95f, 31271 0x1ee00, 0x1ee03, 31272 0x1ee05, 0x1ee1f, 31273 0x1ee21, 0x1ee22, 31274 0x1ee24, 0x1ee24, 31275 0x1ee27, 0x1ee27, 31276 0x1ee29, 0x1ee32, 31277 0x1ee34, 0x1ee37, 31278 0x1ee39, 0x1ee39, 31279 0x1ee3b, 0x1ee3b, 31280 0x1ee42, 0x1ee42, 31281 0x1ee47, 0x1ee47, 31282 0x1ee49, 0x1ee49, 31283 0x1ee4b, 0x1ee4b, 31284 0x1ee4d, 0x1ee4f, 31285 0x1ee51, 0x1ee52, 31286 0x1ee54, 0x1ee54, 31287 0x1ee57, 0x1ee57, 31288 0x1ee59, 0x1ee59, 31289 0x1ee5b, 0x1ee5b, 31290 0x1ee5d, 0x1ee5d, 31291 0x1ee5f, 0x1ee5f, 31292 0x1ee61, 0x1ee62, 31293 0x1ee64, 0x1ee64, 31294 0x1ee67, 0x1ee6a, 31295 0x1ee6c, 0x1ee72, 31296 0x1ee74, 0x1ee77, 31297 0x1ee79, 0x1ee7c, 31298 0x1ee7e, 0x1ee7e, 31299 0x1ee80, 0x1ee89, 31300 0x1ee8b, 0x1ee9b, 31301 0x1eea1, 0x1eea3, 31302 0x1eea5, 0x1eea9, 31303 0x1eeab, 0x1eebb, 31304 0x1eef0, 0x1eef1, 31305 0x1f000, 0x1f02b, 31306 0x1f030, 0x1f093, 31307 0x1f0a0, 0x1f0ae, 31308 0x1f0b1, 0x1f0bf, 31309 0x1f0c1, 0x1f0cf, 31310 0x1f0d1, 0x1f0f5, 31311 0x1f100, 0x1f10c, 31312 0x1f110, 0x1f12e, 31313 0x1f130, 0x1f16b, 31314 0x1f170, 0x1f1ac, 31315 0x1f1e6, 0x1f202, 31316 0x1f210, 0x1f23b, 31317 0x1f240, 0x1f248, 31318 0x1f250, 0x1f251, 31319 0x1f260, 0x1f265, 31320 0x1f300, 0x1f6d4, 31321 0x1f6e0, 0x1f6ec, 31322 0x1f6f0, 0x1f6f8, 31323 0x1f700, 0x1f773, 31324 0x1f780, 0x1f7d4, 31325 0x1f800, 0x1f80b, 31326 0x1f810, 0x1f847, 31327 0x1f850, 0x1f859, 31328 0x1f860, 0x1f887, 31329 0x1f890, 0x1f8ad, 31330 0x1f900, 0x1f90b, 31331 0x1f910, 0x1f93e, 31332 0x1f940, 0x1f94c, 31333 0x1f950, 0x1f96b, 31334 0x1f980, 0x1f997, 31335 0x1f9c0, 0x1f9c0, 31336 0x1f9d0, 0x1f9e6, 31337 0x1fffe, 0x2a6d6, 31338 0x2a700, 0x2b734, 31339 0x2b740, 0x2b81d, 31340 0x2b820, 0x2cea1, 31341 0x2ceb0, 0x2ebe0, 31342 0x2f800, 0x2fa1d, 31343 0x2fffe, 0x2ffff, 31344 0x3fffe, 0x3ffff, 31345 0x4fffe, 0x4ffff, 31346 0x5fffe, 0x5ffff, 31347 0x6fffe, 0x6ffff, 31348 0x7fffe, 0x7ffff, 31349 0x8fffe, 0x8ffff, 31350 0x9fffe, 0x9ffff, 31351 0xafffe, 0xaffff, 31352 0xbfffe, 0xbffff, 31353 0xcfffe, 0xcffff, 31354 0xdfffe, 0xdffff, 31355 0xe0001, 0xe0001, 31356 0xe0020, 0xe007f, 31357 0xe0100, 0xe01ef, 31358 0xefffe, 0x10ffff, 31359 }; /* CR_Age_10_0 */ 31360 27520 31361 #endif /* USE_UNICODE_AGE_PROPERTIES */ 31362 /* 'Grapheme_Cluster_Break_Prepend': Grapheme_Cluster_Break=Prepend */ 31363 static const OnigCodePoint CR_Grapheme_Cluster_Break_Prepend[] = { 31364 10, 31365 0x0600, 0x0605, 31366 0x06dd, 0x06dd, 31367 0x070f, 0x070f, 31368 0x08e2, 0x08e2, 31369 0x0d4e, 0x0d4e, 31370 0x110bd, 0x110bd, 31371 0x111c2, 0x111c3, 31372 0x11a3a, 0x11a3a, 31373 0x11a86, 0x11a89, 31374 0x11d46, 0x11d46, 31375 }; /* CR_Grapheme_Cluster_Break_Prepend */ 31376 31377 /* 'Grapheme_Cluster_Break_CR': Grapheme_Cluster_Break=CR */ 31378 static const OnigCodePoint CR_Grapheme_Cluster_Break_CR[] = { 31379 1, 31380 0x000d, 0x000d, 31381 }; /* CR_Grapheme_Cluster_Break_CR */ 31382 31383 /* 'Grapheme_Cluster_Break_LF': Grapheme_Cluster_Break=LF */ 31384 #define CR_Grapheme_Cluster_Break_LF CR_NEWLINE 31385 31386 /* 'Grapheme_Cluster_Break_Control': Grapheme_Cluster_Break=Control */ 31387 static const OnigCodePoint CR_Grapheme_Cluster_Break_Control[] = { 31388 19, 31389 0x0000, 0x0009, 31390 0x000b, 0x000c, 31391 0x000e, 0x001f, 31392 0x007f, 0x009f, 31393 0x00ad, 0x00ad, 31394 0x061c, 0x061c, 31395 0x180e, 0x180e, 31396 0x200b, 0x200b, 31397 0x200e, 0x200f, 31398 0x2028, 0x202e, 31399 0x2060, 0x206f, 31400 0xd800, 0xdfff, 31401 0xfeff, 0xfeff, 31402 0xfff0, 0xfffb, 31403 0x1bca0, 0x1bca3, 31404 0x1d173, 0x1d17a, 31405 0xe0000, 0xe001f, 31406 0xe0080, 0xe00ff, 31407 0xe01f0, 0xe0fff, 31408 }; /* CR_Grapheme_Cluster_Break_Control */ 31409 31410 /* 'Grapheme_Cluster_Break_Extend': Grapheme_Cluster_Break=Extend */ 31411 #define CR_Grapheme_Cluster_Break_Extend CR_Grapheme_Extend 31412 31413 /* 'Grapheme_Cluster_Break_Regional_Indicator': Grapheme_Cluster_Break=Regional_Indicator */ 31414 #define CR_Grapheme_Cluster_Break_Regional_Indicator CR_Regional_Indicator 31415 31416 /* 'Grapheme_Cluster_Break_SpacingMark': Grapheme_Cluster_Break=SpacingMark */ 31417 static const OnigCodePoint CR_Grapheme_Cluster_Break_SpacingMark[] = { 31418 145, 31419 0x0903, 0x0903, 31420 0x093b, 0x093b, 31421 0x093e, 0x0940, 31422 0x0949, 0x094c, 31423 0x094e, 0x094f, 31424 0x0982, 0x0983, 31425 0x09bf, 0x09c0, 31426 0x09c7, 0x09c8, 31427 0x09cb, 0x09cc, 31428 0x0a03, 0x0a03, 31429 0x0a3e, 0x0a40, 31430 0x0a83, 0x0a83, 31431 0x0abe, 0x0ac0, 31432 0x0ac9, 0x0ac9, 31433 0x0acb, 0x0acc, 31434 0x0b02, 0x0b03, 31435 0x0b40, 0x0b40, 31436 0x0b47, 0x0b48, 31437 0x0b4b, 0x0b4c, 31438 0x0bbf, 0x0bbf, 31439 0x0bc1, 0x0bc2, 31440 0x0bc6, 0x0bc8, 31441 0x0bca, 0x0bcc, 31442 0x0c01, 0x0c03, 31443 0x0c41, 0x0c44, 31444 0x0c82, 0x0c83, 31445 0x0cbe, 0x0cbe, 31446 0x0cc0, 0x0cc1, 31447 0x0cc3, 0x0cc4, 31448 0x0cc7, 0x0cc8, 31449 0x0cca, 0x0ccb, 31450 0x0d02, 0x0d03, 31451 0x0d3f, 0x0d40, 31452 0x0d46, 0x0d48, 31453 0x0d4a, 0x0d4c, 31454 0x0d82, 0x0d83, 31455 0x0dd0, 0x0dd1, 31456 0x0dd8, 0x0dde, 31457 0x0df2, 0x0df3, 31458 0x0e33, 0x0e33, 31459 0x0eb3, 0x0eb3, 31460 0x0f3e, 0x0f3f, 31461 0x0f7f, 0x0f7f, 31462 0x1031, 0x1031, 31463 0x103b, 0x103c, 31464 0x1056, 0x1057, 31465 0x1084, 0x1084, 31466 0x17b6, 0x17b6, 31467 0x17be, 0x17c5, 31468 0x17c7, 0x17c8, 31469 0x1923, 0x1926, 31470 0x1929, 0x192b, 31471 0x1930, 0x1931, 31472 0x1933, 0x1938, 31473 0x1a19, 0x1a1a, 31474 0x1a55, 0x1a55, 31475 0x1a57, 0x1a57, 31476 0x1a6d, 0x1a72, 31477 0x1b04, 0x1b04, 31478 0x1b35, 0x1b35, 31479 0x1b3b, 0x1b3b, 31480 0x1b3d, 0x1b41, 31481 0x1b43, 0x1b44, 31482 0x1b82, 0x1b82, 31483 0x1ba1, 0x1ba1, 31484 0x1ba6, 0x1ba7, 31485 0x1baa, 0x1baa, 31486 0x1be7, 0x1be7, 31487 0x1bea, 0x1bec, 31488 0x1bee, 0x1bee, 31489 0x1bf2, 0x1bf3, 31490 0x1c24, 0x1c2b, 31491 0x1c34, 0x1c35, 31492 0x1ce1, 0x1ce1, 31493 0x1cf2, 0x1cf3, 31494 0x1cf7, 0x1cf7, 31495 0xa823, 0xa824, 31496 0xa827, 0xa827, 31497 0xa880, 0xa881, 31498 0xa8b4, 0xa8c3, 31499 0xa952, 0xa953, 31500 0xa983, 0xa983, 31501 0xa9b4, 0xa9b5, 31502 0xa9ba, 0xa9bb, 31503 0xa9bd, 0xa9c0, 31504 0xaa2f, 0xaa30, 31505 0xaa33, 0xaa34, 31506 0xaa4d, 0xaa4d, 31507 0xaaeb, 0xaaeb, 31508 0xaaee, 0xaaef, 31509 0xaaf5, 0xaaf5, 31510 0xabe3, 0xabe4, 31511 0xabe6, 0xabe7, 31512 0xabe9, 0xabea, 31513 0xabec, 0xabec, 31514 0x11000, 0x11000, 31515 0x11002, 0x11002, 31516 0x11082, 0x11082, 31517 0x110b0, 0x110b2, 31518 0x110b7, 0x110b8, 31519 0x1112c, 0x1112c, 31520 0x11182, 0x11182, 31521 0x111b3, 0x111b5, 31522 0x111bf, 0x111c0, 31523 0x1122c, 0x1122e, 31524 0x11232, 0x11233, 31525 0x11235, 0x11235, 31526 0x112e0, 0x112e2, 31527 0x11302, 0x11303, 31528 0x1133f, 0x1133f, 31529 0x11341, 0x11344, 31530 0x11347, 0x11348, 31531 0x1134b, 0x1134d, 31532 0x11362, 0x11363, 31533 0x11435, 0x11437, 31534 0x11440, 0x11441, 31535 0x11445, 0x11445, 31536 0x114b1, 0x114b2, 31537 0x114b9, 0x114b9, 31538 0x114bb, 0x114bc, 31539 0x114be, 0x114be, 31540 0x114c1, 0x114c1, 31541 0x115b0, 0x115b1, 31542 0x115b8, 0x115bb, 31543 0x115be, 0x115be, 31544 0x11630, 0x11632, 31545 0x1163b, 0x1163c, 31546 0x1163e, 0x1163e, 31547 0x116ac, 0x116ac, 31548 0x116ae, 0x116af, 31549 0x116b6, 0x116b6, 31550 0x11720, 0x11721, 31551 0x11726, 0x11726, 31552 0x11a07, 0x11a08, 31553 0x11a39, 0x11a39, 31554 0x11a57, 0x11a58, 31555 0x11a97, 0x11a97, 31556 0x11c2f, 0x11c2f, 31557 0x11c3e, 0x11c3e, 31558 0x11ca9, 0x11ca9, 31559 0x11cb1, 0x11cb1, 31560 0x11cb4, 0x11cb4, 31561 0x16f51, 0x16f7e, 31562 0x1d166, 0x1d166, 31563 0x1d16d, 0x1d16d, 31564 }; /* CR_Grapheme_Cluster_Break_SpacingMark */ 31565 31566 /* 'Grapheme_Cluster_Break_L': Grapheme_Cluster_Break=L */ 31567 static const OnigCodePoint CR_Grapheme_Cluster_Break_L[] = { 31568 2, 31569 0x1100, 0x115f, 31570 0xa960, 0xa97c, 31571 }; /* CR_Grapheme_Cluster_Break_L */ 31572 31573 /* 'Grapheme_Cluster_Break_V': Grapheme_Cluster_Break=V */ 31574 static const OnigCodePoint CR_Grapheme_Cluster_Break_V[] = { 31575 2, 31576 0x1160, 0x11a7, 31577 0xd7b0, 0xd7c6, 31578 }; /* CR_Grapheme_Cluster_Break_V */ 31579 31580 /* 'Grapheme_Cluster_Break_T': Grapheme_Cluster_Break=T */ 31581 static const OnigCodePoint CR_Grapheme_Cluster_Break_T[] = { 31582 2, 31583 0x11a8, 0x11ff, 31584 0xd7cb, 0xd7fb, 31585 }; /* CR_Grapheme_Cluster_Break_T */ 31586 31587 /* 'Grapheme_Cluster_Break_LV': Grapheme_Cluster_Break=LV */ 31588 static const OnigCodePoint CR_Grapheme_Cluster_Break_LV[] = { 31589 399, 31590 0xac00, 0xac00, 31591 0xac1c, 0xac1c, 31592 0xac38, 0xac38, 31593 0xac54, 0xac54, 31594 0xac70, 0xac70, 31595 0xac8c, 0xac8c, 31596 0xaca8, 0xaca8, 31597 0xacc4, 0xacc4, 31598 0xace0, 0xace0, 31599 0xacfc, 0xacfc, 31600 0xad18, 0xad18, 31601 0xad34, 0xad34, 31602 0xad50, 0xad50, 31603 0xad6c, 0xad6c, 31604 0xad88, 0xad88, 31605 0xada4, 0xada4, 31606 0xadc0, 0xadc0, 31607 0xaddc, 0xaddc, 31608 0xadf8, 0xadf8, 31609 0xae14, 0xae14, 31610 0xae30, 0xae30, 31611 0xae4c, 0xae4c, 31612 0xae68, 0xae68, 31613 0xae84, 0xae84, 31614 0xaea0, 0xaea0, 31615 0xaebc, 0xaebc, 31616 0xaed8, 0xaed8, 31617 0xaef4, 0xaef4, 31618 0xaf10, 0xaf10, 31619 0xaf2c, 0xaf2c, 31620 0xaf48, 0xaf48, 31621 0xaf64, 0xaf64, 31622 0xaf80, 0xaf80, 31623 0xaf9c, 0xaf9c, 31624 0xafb8, 0xafb8, 31625 0xafd4, 0xafd4, 31626 0xaff0, 0xaff0, 31627 0xb00c, 0xb00c, 31628 0xb028, 0xb028, 31629 0xb044, 0xb044, 31630 0xb060, 0xb060, 31631 0xb07c, 0xb07c, 31632 0xb098, 0xb098, 31633 0xb0b4, 0xb0b4, 31634 0xb0d0, 0xb0d0, 31635 0xb0ec, 0xb0ec, 31636 0xb108, 0xb108, 31637 0xb124, 0xb124, 31638 0xb140, 0xb140, 31639 0xb15c, 0xb15c, 31640 0xb178, 0xb178, 31641 0xb194, 0xb194, 31642 0xb1b0, 0xb1b0, 31643 0xb1cc, 0xb1cc, 31644 0xb1e8, 0xb1e8, 31645 0xb204, 0xb204, 31646 0xb220, 0xb220, 31647 0xb23c, 0xb23c, 31648 0xb258, 0xb258, 31649 0xb274, 0xb274, 31650 0xb290, 0xb290, 31651 0xb2ac, 0xb2ac, 31652 0xb2c8, 0xb2c8, 31653 0xb2e4, 0xb2e4, 31654 0xb300, 0xb300, 31655 0xb31c, 0xb31c, 31656 0xb338, 0xb338, 31657 0xb354, 0xb354, 31658 0xb370, 0xb370, 31659 0xb38c, 0xb38c, 31660 0xb3a8, 0xb3a8, 31661 0xb3c4, 0xb3c4, 31662 0xb3e0, 0xb3e0, 31663 0xb3fc, 0xb3fc, 31664 0xb418, 0xb418, 31665 0xb434, 0xb434, 31666 0xb450, 0xb450, 31667 0xb46c, 0xb46c, 31668 0xb488, 0xb488, 31669 0xb4a4, 0xb4a4, 31670 0xb4c0, 0xb4c0, 31671 0xb4dc, 0xb4dc, 31672 0xb4f8, 0xb4f8, 31673 0xb514, 0xb514, 31674 0xb530, 0xb530, 31675 0xb54c, 0xb54c, 31676 0xb568, 0xb568, 31677 0xb584, 0xb584, 31678 0xb5a0, 0xb5a0, 31679 0xb5bc, 0xb5bc, 31680 0xb5d8, 0xb5d8, 31681 0xb5f4, 0xb5f4, 31682 0xb610, 0xb610, 31683 0xb62c, 0xb62c, 31684 0xb648, 0xb648, 31685 0xb664, 0xb664, 31686 0xb680, 0xb680, 31687 0xb69c, 0xb69c, 31688 0xb6b8, 0xb6b8, 31689 0xb6d4, 0xb6d4, 31690 0xb6f0, 0xb6f0, 31691 0xb70c, 0xb70c, 31692 0xb728, 0xb728, 31693 0xb744, 0xb744, 31694 0xb760, 0xb760, 31695 0xb77c, 0xb77c, 31696 0xb798, 0xb798, 31697 0xb7b4, 0xb7b4, 31698 0xb7d0, 0xb7d0, 31699 0xb7ec, 0xb7ec, 31700 0xb808, 0xb808, 31701 0xb824, 0xb824, 31702 0xb840, 0xb840, 31703 0xb85c, 0xb85c, 31704 0xb878, 0xb878, 31705 0xb894, 0xb894, 31706 0xb8b0, 0xb8b0, 31707 0xb8cc, 0xb8cc, 31708 0xb8e8, 0xb8e8, 31709 0xb904, 0xb904, 31710 0xb920, 0xb920, 31711 0xb93c, 0xb93c, 31712 0xb958, 0xb958, 31713 0xb974, 0xb974, 31714 0xb990, 0xb990, 31715 0xb9ac, 0xb9ac, 31716 0xb9c8, 0xb9c8, 31717 0xb9e4, 0xb9e4, 31718 0xba00, 0xba00, 31719 0xba1c, 0xba1c, 31720 0xba38, 0xba38, 31721 0xba54, 0xba54, 31722 0xba70, 0xba70, 31723 0xba8c, 0xba8c, 31724 0xbaa8, 0xbaa8, 31725 0xbac4, 0xbac4, 31726 0xbae0, 0xbae0, 31727 0xbafc, 0xbafc, 31728 0xbb18, 0xbb18, 31729 0xbb34, 0xbb34, 31730 0xbb50, 0xbb50, 31731 0xbb6c, 0xbb6c, 31732 0xbb88, 0xbb88, 31733 0xbba4, 0xbba4, 31734 0xbbc0, 0xbbc0, 31735 0xbbdc, 0xbbdc, 31736 0xbbf8, 0xbbf8, 31737 0xbc14, 0xbc14, 31738 0xbc30, 0xbc30, 31739 0xbc4c, 0xbc4c, 31740 0xbc68, 0xbc68, 31741 0xbc84, 0xbc84, 31742 0xbca0, 0xbca0, 31743 0xbcbc, 0xbcbc, 31744 0xbcd8, 0xbcd8, 31745 0xbcf4, 0xbcf4, 31746 0xbd10, 0xbd10, 31747 0xbd2c, 0xbd2c, 31748 0xbd48, 0xbd48, 31749 0xbd64, 0xbd64, 31750 0xbd80, 0xbd80, 31751 0xbd9c, 0xbd9c, 31752 0xbdb8, 0xbdb8, 31753 0xbdd4, 0xbdd4, 31754 0xbdf0, 0xbdf0, 31755 0xbe0c, 0xbe0c, 31756 0xbe28, 0xbe28, 31757 0xbe44, 0xbe44, 31758 0xbe60, 0xbe60, 31759 0xbe7c, 0xbe7c, 31760 0xbe98, 0xbe98, 31761 0xbeb4, 0xbeb4, 31762 0xbed0, 0xbed0, 31763 0xbeec, 0xbeec, 31764 0xbf08, 0xbf08, 31765 0xbf24, 0xbf24, 31766 0xbf40, 0xbf40, 31767 0xbf5c, 0xbf5c, 31768 0xbf78, 0xbf78, 31769 0xbf94, 0xbf94, 31770 0xbfb0, 0xbfb0, 31771 0xbfcc, 0xbfcc, 31772 0xbfe8, 0xbfe8, 31773 0xc004, 0xc004, 31774 0xc020, 0xc020, 31775 0xc03c, 0xc03c, 31776 0xc058, 0xc058, 31777 0xc074, 0xc074, 31778 0xc090, 0xc090, 31779 0xc0ac, 0xc0ac, 31780 0xc0c8, 0xc0c8, 31781 0xc0e4, 0xc0e4, 31782 0xc100, 0xc100, 31783 0xc11c, 0xc11c, 31784 0xc138, 0xc138, 31785 0xc154, 0xc154, 31786 0xc170, 0xc170, 31787 0xc18c, 0xc18c, 31788 0xc1a8, 0xc1a8, 31789 0xc1c4, 0xc1c4, 31790 0xc1e0, 0xc1e0, 31791 0xc1fc, 0xc1fc, 31792 0xc218, 0xc218, 31793 0xc234, 0xc234, 31794 0xc250, 0xc250, 31795 0xc26c, 0xc26c, 31796 0xc288, 0xc288, 31797 0xc2a4, 0xc2a4, 31798 0xc2c0, 0xc2c0, 31799 0xc2dc, 0xc2dc, 31800 0xc2f8, 0xc2f8, 31801 0xc314, 0xc314, 31802 0xc330, 0xc330, 31803 0xc34c, 0xc34c, 31804 0xc368, 0xc368, 31805 0xc384, 0xc384, 31806 0xc3a0, 0xc3a0, 31807 0xc3bc, 0xc3bc, 31808 0xc3d8, 0xc3d8, 31809 0xc3f4, 0xc3f4, 31810 0xc410, 0xc410, 31811 0xc42c, 0xc42c, 31812 0xc448, 0xc448, 31813 0xc464, 0xc464, 31814 0xc480, 0xc480, 31815 0xc49c, 0xc49c, 31816 0xc4b8, 0xc4b8, 31817 0xc4d4, 0xc4d4, 31818 0xc4f0, 0xc4f0, 31819 0xc50c, 0xc50c, 31820 0xc528, 0xc528, 31821 0xc544, 0xc544, 31822 0xc560, 0xc560, 31823 0xc57c, 0xc57c, 31824 0xc598, 0xc598, 31825 0xc5b4, 0xc5b4, 31826 0xc5d0, 0xc5d0, 31827 0xc5ec, 0xc5ec, 31828 0xc608, 0xc608, 31829 0xc624, 0xc624, 31830 0xc640, 0xc640, 31831 0xc65c, 0xc65c, 31832 0xc678, 0xc678, 31833 0xc694, 0xc694, 31834 0xc6b0, 0xc6b0, 31835 0xc6cc, 0xc6cc, 31836 0xc6e8, 0xc6e8, 31837 0xc704, 0xc704, 31838 0xc720, 0xc720, 31839 0xc73c, 0xc73c, 31840 0xc758, 0xc758, 31841 0xc774, 0xc774, 31842 0xc790, 0xc790, 31843 0xc7ac, 0xc7ac, 31844 0xc7c8, 0xc7c8, 31845 0xc7e4, 0xc7e4, 31846 0xc800, 0xc800, 31847 0xc81c, 0xc81c, 31848 0xc838, 0xc838, 31849 0xc854, 0xc854, 31850 0xc870, 0xc870, 31851 0xc88c, 0xc88c, 31852 0xc8a8, 0xc8a8, 31853 0xc8c4, 0xc8c4, 31854 0xc8e0, 0xc8e0, 31855 0xc8fc, 0xc8fc, 31856 0xc918, 0xc918, 31857 0xc934, 0xc934, 31858 0xc950, 0xc950, 31859 0xc96c, 0xc96c, 31860 0xc988, 0xc988, 31861 0xc9a4, 0xc9a4, 31862 0xc9c0, 0xc9c0, 31863 0xc9dc, 0xc9dc, 31864 0xc9f8, 0xc9f8, 31865 0xca14, 0xca14, 31866 0xca30, 0xca30, 31867 0xca4c, 0xca4c, 31868 0xca68, 0xca68, 31869 0xca84, 0xca84, 31870 0xcaa0, 0xcaa0, 31871 0xcabc, 0xcabc, 31872 0xcad8, 0xcad8, 31873 0xcaf4, 0xcaf4, 31874 0xcb10, 0xcb10, 31875 0xcb2c, 0xcb2c, 31876 0xcb48, 0xcb48, 31877 0xcb64, 0xcb64, 31878 0xcb80, 0xcb80, 31879 0xcb9c, 0xcb9c, 31880 0xcbb8, 0xcbb8, 31881 0xcbd4, 0xcbd4, 31882 0xcbf0, 0xcbf0, 31883 0xcc0c, 0xcc0c, 31884 0xcc28, 0xcc28, 31885 0xcc44, 0xcc44, 31886 0xcc60, 0xcc60, 31887 0xcc7c, 0xcc7c, 31888 0xcc98, 0xcc98, 31889 0xccb4, 0xccb4, 31890 0xccd0, 0xccd0, 31891 0xccec, 0xccec, 31892 0xcd08, 0xcd08, 31893 0xcd24, 0xcd24, 31894 0xcd40, 0xcd40, 31895 0xcd5c, 0xcd5c, 31896 0xcd78, 0xcd78, 31897 0xcd94, 0xcd94, 31898 0xcdb0, 0xcdb0, 31899 0xcdcc, 0xcdcc, 31900 0xcde8, 0xcde8, 31901 0xce04, 0xce04, 31902 0xce20, 0xce20, 31903 0xce3c, 0xce3c, 31904 0xce58, 0xce58, 31905 0xce74, 0xce74, 31906 0xce90, 0xce90, 31907 0xceac, 0xceac, 31908 0xcec8, 0xcec8, 31909 0xcee4, 0xcee4, 31910 0xcf00, 0xcf00, 31911 0xcf1c, 0xcf1c, 31912 0xcf38, 0xcf38, 31913 0xcf54, 0xcf54, 31914 0xcf70, 0xcf70, 31915 0xcf8c, 0xcf8c, 31916 0xcfa8, 0xcfa8, 31917 0xcfc4, 0xcfc4, 31918 0xcfe0, 0xcfe0, 31919 0xcffc, 0xcffc, 31920 0xd018, 0xd018, 31921 0xd034, 0xd034, 31922 0xd050, 0xd050, 31923 0xd06c, 0xd06c, 31924 0xd088, 0xd088, 31925 0xd0a4, 0xd0a4, 31926 0xd0c0, 0xd0c0, 31927 0xd0dc, 0xd0dc, 31928 0xd0f8, 0xd0f8, 31929 0xd114, 0xd114, 31930 0xd130, 0xd130, 31931 0xd14c, 0xd14c, 31932 0xd168, 0xd168, 31933 0xd184, 0xd184, 31934 0xd1a0, 0xd1a0, 31935 0xd1bc, 0xd1bc, 31936 0xd1d8, 0xd1d8, 31937 0xd1f4, 0xd1f4, 31938 0xd210, 0xd210, 31939 0xd22c, 0xd22c, 31940 0xd248, 0xd248, 31941 0xd264, 0xd264, 31942 0xd280, 0xd280, 31943 0xd29c, 0xd29c, 31944 0xd2b8, 0xd2b8, 31945 0xd2d4, 0xd2d4, 31946 0xd2f0, 0xd2f0, 31947 0xd30c, 0xd30c, 31948 0xd328, 0xd328, 31949 0xd344, 0xd344, 31950 0xd360, 0xd360, 31951 0xd37c, 0xd37c, 31952 0xd398, 0xd398, 31953 0xd3b4, 0xd3b4, 31954 0xd3d0, 0xd3d0, 31955 0xd3ec, 0xd3ec, 31956 0xd408, 0xd408, 31957 0xd424, 0xd424, 31958 0xd440, 0xd440, 31959 0xd45c, 0xd45c, 31960 0xd478, 0xd478, 31961 0xd494, 0xd494, 31962 0xd4b0, 0xd4b0, 31963 0xd4cc, 0xd4cc, 31964 0xd4e8, 0xd4e8, 31965 0xd504, 0xd504, 31966 0xd520, 0xd520, 31967 0xd53c, 0xd53c, 31968 0xd558, 0xd558, 31969 0xd574, 0xd574, 31970 0xd590, 0xd590, 31971 0xd5ac, 0xd5ac, 31972 0xd5c8, 0xd5c8, 31973 0xd5e4, 0xd5e4, 31974 0xd600, 0xd600, 31975 0xd61c, 0xd61c, 31976 0xd638, 0xd638, 31977 0xd654, 0xd654, 31978 0xd670, 0xd670, 31979 0xd68c, 0xd68c, 31980 0xd6a8, 0xd6a8, 31981 0xd6c4, 0xd6c4, 31982 0xd6e0, 0xd6e0, 31983 0xd6fc, 0xd6fc, 31984 0xd718, 0xd718, 31985 0xd734, 0xd734, 31986 0xd750, 0xd750, 31987 0xd76c, 0xd76c, 31988 0xd788, 0xd788, 31989 }; /* CR_Grapheme_Cluster_Break_LV */ 31990 31991 /* 'Grapheme_Cluster_Break_LVT': Grapheme_Cluster_Break=LVT */ 31992 static const OnigCodePoint CR_Grapheme_Cluster_Break_LVT[] = { 31993 399, 31994 0xac01, 0xac1b, 31995 0xac1d, 0xac37, 31996 0xac39, 0xac53, 31997 0xac55, 0xac6f, 31998 0xac71, 0xac8b, 31999 0xac8d, 0xaca7, 32000 0xaca9, 0xacc3, 32001 0xacc5, 0xacdf, 32002 0xace1, 0xacfb, 32003 0xacfd, 0xad17, 32004 0xad19, 0xad33, 32005 0xad35, 0xad4f, 32006 0xad51, 0xad6b, 32007 0xad6d, 0xad87, 32008 0xad89, 0xada3, 32009 0xada5, 0xadbf, 32010 0xadc1, 0xaddb, 32011 0xaddd, 0xadf7, 32012 0xadf9, 0xae13, 32013 0xae15, 0xae2f, 32014 0xae31, 0xae4b, 32015 0xae4d, 0xae67, 32016 0xae69, 0xae83, 32017 0xae85, 0xae9f, 32018 0xaea1, 0xaebb, 32019 0xaebd, 0xaed7, 32020 0xaed9, 0xaef3, 32021 0xaef5, 0xaf0f, 32022 0xaf11, 0xaf2b, 32023 0xaf2d, 0xaf47, 32024 0xaf49, 0xaf63, 32025 0xaf65, 0xaf7f, 32026 0xaf81, 0xaf9b, 32027 0xaf9d, 0xafb7, 32028 0xafb9, 0xafd3, 32029 0xafd5, 0xafef, 32030 0xaff1, 0xb00b, 32031 0xb00d, 0xb027, 32032 0xb029, 0xb043, 32033 0xb045, 0xb05f, 32034 0xb061, 0xb07b, 32035 0xb07d, 0xb097, 32036 0xb099, 0xb0b3, 32037 0xb0b5, 0xb0cf, 32038 0xb0d1, 0xb0eb, 32039 0xb0ed, 0xb107, 32040 0xb109, 0xb123, 32041 0xb125, 0xb13f, 32042 0xb141, 0xb15b, 32043 0xb15d, 0xb177, 32044 0xb179, 0xb193, 32045 0xb195, 0xb1af, 32046 0xb1b1, 0xb1cb, 32047 0xb1cd, 0xb1e7, 32048 0xb1e9, 0xb203, 32049 0xb205, 0xb21f, 32050 0xb221, 0xb23b, 32051 0xb23d, 0xb257, 32052 0xb259, 0xb273, 32053 0xb275, 0xb28f, 32054 0xb291, 0xb2ab, 32055 0xb2ad, 0xb2c7, 32056 0xb2c9, 0xb2e3, 32057 0xb2e5, 0xb2ff, 32058 0xb301, 0xb31b, 32059 0xb31d, 0xb337, 32060 0xb339, 0xb353, 32061 0xb355, 0xb36f, 32062 0xb371, 0xb38b, 32063 0xb38d, 0xb3a7, 32064 0xb3a9, 0xb3c3, 32065 0xb3c5, 0xb3df, 32066 0xb3e1, 0xb3fb, 32067 0xb3fd, 0xb417, 32068 0xb419, 0xb433, 32069 0xb435, 0xb44f, 32070 0xb451, 0xb46b, 32071 0xb46d, 0xb487, 32072 0xb489, 0xb4a3, 32073 0xb4a5, 0xb4bf, 32074 0xb4c1, 0xb4db, 32075 0xb4dd, 0xb4f7, 32076 0xb4f9, 0xb513, 32077 0xb515, 0xb52f, 32078 0xb531, 0xb54b, 32079 0xb54d, 0xb567, 32080 0xb569, 0xb583, 32081 0xb585, 0xb59f, 32082 0xb5a1, 0xb5bb, 32083 0xb5bd, 0xb5d7, 32084 0xb5d9, 0xb5f3, 32085 0xb5f5, 0xb60f, 32086 0xb611, 0xb62b, 32087 0xb62d, 0xb647, 32088 0xb649, 0xb663, 32089 0xb665, 0xb67f, 32090 0xb681, 0xb69b, 32091 0xb69d, 0xb6b7, 32092 0xb6b9, 0xb6d3, 32093 0xb6d5, 0xb6ef, 32094 0xb6f1, 0xb70b, 32095 0xb70d, 0xb727, 32096 0xb729, 0xb743, 32097 0xb745, 0xb75f, 32098 0xb761, 0xb77b, 32099 0xb77d, 0xb797, 32100 0xb799, 0xb7b3, 32101 0xb7b5, 0xb7cf, 32102 0xb7d1, 0xb7eb, 32103 0xb7ed, 0xb807, 32104 0xb809, 0xb823, 32105 0xb825, 0xb83f, 32106 0xb841, 0xb85b, 32107 0xb85d, 0xb877, 32108 0xb879, 0xb893, 32109 0xb895, 0xb8af, 32110 0xb8b1, 0xb8cb, 32111 0xb8cd, 0xb8e7, 32112 0xb8e9, 0xb903, 32113 0xb905, 0xb91f, 32114 0xb921, 0xb93b, 32115 0xb93d, 0xb957, 32116 0xb959, 0xb973, 32117 0xb975, 0xb98f, 32118 0xb991, 0xb9ab, 32119 0xb9ad, 0xb9c7, 32120 0xb9c9, 0xb9e3, 32121 0xb9e5, 0xb9ff, 32122 0xba01, 0xba1b, 32123 0xba1d, 0xba37, 32124 0xba39, 0xba53, 32125 0xba55, 0xba6f, 32126 0xba71, 0xba8b, 32127 0xba8d, 0xbaa7, 32128 0xbaa9, 0xbac3, 32129 0xbac5, 0xbadf, 32130 0xbae1, 0xbafb, 32131 0xbafd, 0xbb17, 32132 0xbb19, 0xbb33, 32133 0xbb35, 0xbb4f, 32134 0xbb51, 0xbb6b, 32135 0xbb6d, 0xbb87, 32136 0xbb89, 0xbba3, 32137 0xbba5, 0xbbbf, 32138 0xbbc1, 0xbbdb, 32139 0xbbdd, 0xbbf7, 32140 0xbbf9, 0xbc13, 32141 0xbc15, 0xbc2f, 32142 0xbc31, 0xbc4b, 32143 0xbc4d, 0xbc67, 32144 0xbc69, 0xbc83, 32145 0xbc85, 0xbc9f, 32146 0xbca1, 0xbcbb, 32147 0xbcbd, 0xbcd7, 32148 0xbcd9, 0xbcf3, 32149 0xbcf5, 0xbd0f, 32150 0xbd11, 0xbd2b, 32151 0xbd2d, 0xbd47, 32152 0xbd49, 0xbd63, 32153 0xbd65, 0xbd7f, 32154 0xbd81, 0xbd9b, 32155 0xbd9d, 0xbdb7, 32156 0xbdb9, 0xbdd3, 32157 0xbdd5, 0xbdef, 32158 0xbdf1, 0xbe0b, 32159 0xbe0d, 0xbe27, 32160 0xbe29, 0xbe43, 32161 0xbe45, 0xbe5f, 32162 0xbe61, 0xbe7b, 32163 0xbe7d, 0xbe97, 32164 0xbe99, 0xbeb3, 32165 0xbeb5, 0xbecf, 32166 0xbed1, 0xbeeb, 32167 0xbeed, 0xbf07, 32168 0xbf09, 0xbf23, 32169 0xbf25, 0xbf3f, 32170 0xbf41, 0xbf5b, 32171 0xbf5d, 0xbf77, 32172 0xbf79, 0xbf93, 32173 0xbf95, 0xbfaf, 32174 0xbfb1, 0xbfcb, 32175 0xbfcd, 0xbfe7, 32176 0xbfe9, 0xc003, 32177 0xc005, 0xc01f, 32178 0xc021, 0xc03b, 32179 0xc03d, 0xc057, 32180 0xc059, 0xc073, 32181 0xc075, 0xc08f, 32182 0xc091, 0xc0ab, 32183 0xc0ad, 0xc0c7, 32184 0xc0c9, 0xc0e3, 32185 0xc0e5, 0xc0ff, 32186 0xc101, 0xc11b, 32187 0xc11d, 0xc137, 32188 0xc139, 0xc153, 32189 0xc155, 0xc16f, 32190 0xc171, 0xc18b, 32191 0xc18d, 0xc1a7, 32192 0xc1a9, 0xc1c3, 32193 0xc1c5, 0xc1df, 32194 0xc1e1, 0xc1fb, 32195 0xc1fd, 0xc217, 32196 0xc219, 0xc233, 32197 0xc235, 0xc24f, 32198 0xc251, 0xc26b, 32199 0xc26d, 0xc287, 32200 0xc289, 0xc2a3, 32201 0xc2a5, 0xc2bf, 32202 0xc2c1, 0xc2db, 32203 0xc2dd, 0xc2f7, 32204 0xc2f9, 0xc313, 32205 0xc315, 0xc32f, 32206 0xc331, 0xc34b, 32207 0xc34d, 0xc367, 32208 0xc369, 0xc383, 32209 0xc385, 0xc39f, 32210 0xc3a1, 0xc3bb, 32211 0xc3bd, 0xc3d7, 32212 0xc3d9, 0xc3f3, 32213 0xc3f5, 0xc40f, 32214 0xc411, 0xc42b, 32215 0xc42d, 0xc447, 32216 0xc449, 0xc463, 32217 0xc465, 0xc47f, 32218 0xc481, 0xc49b, 32219 0xc49d, 0xc4b7, 32220 0xc4b9, 0xc4d3, 32221 0xc4d5, 0xc4ef, 32222 0xc4f1, 0xc50b, 32223 0xc50d, 0xc527, 32224 0xc529, 0xc543, 32225 0xc545, 0xc55f, 32226 0xc561, 0xc57b, 32227 0xc57d, 0xc597, 32228 0xc599, 0xc5b3, 32229 0xc5b5, 0xc5cf, 32230 0xc5d1, 0xc5eb, 32231 0xc5ed, 0xc607, 32232 0xc609, 0xc623, 32233 0xc625, 0xc63f, 32234 0xc641, 0xc65b, 32235 0xc65d, 0xc677, 32236 0xc679, 0xc693, 32237 0xc695, 0xc6af, 32238 0xc6b1, 0xc6cb, 32239 0xc6cd, 0xc6e7, 32240 0xc6e9, 0xc703, 32241 0xc705, 0xc71f, 32242 0xc721, 0xc73b, 32243 0xc73d, 0xc757, 32244 0xc759, 0xc773, 32245 0xc775, 0xc78f, 32246 0xc791, 0xc7ab, 32247 0xc7ad, 0xc7c7, 32248 0xc7c9, 0xc7e3, 32249 0xc7e5, 0xc7ff, 32250 0xc801, 0xc81b, 32251 0xc81d, 0xc837, 32252 0xc839, 0xc853, 32253 0xc855, 0xc86f, 32254 0xc871, 0xc88b, 32255 0xc88d, 0xc8a7, 32256 0xc8a9, 0xc8c3, 32257 0xc8c5, 0xc8df, 32258 0xc8e1, 0xc8fb, 32259 0xc8fd, 0xc917, 32260 0xc919, 0xc933, 32261 0xc935, 0xc94f, 32262 0xc951, 0xc96b, 32263 0xc96d, 0xc987, 32264 0xc989, 0xc9a3, 32265 0xc9a5, 0xc9bf, 32266 0xc9c1, 0xc9db, 32267 0xc9dd, 0xc9f7, 32268 0xc9f9, 0xca13, 32269 0xca15, 0xca2f, 32270 0xca31, 0xca4b, 32271 0xca4d, 0xca67, 32272 0xca69, 0xca83, 32273 0xca85, 0xca9f, 32274 0xcaa1, 0xcabb, 32275 0xcabd, 0xcad7, 32276 0xcad9, 0xcaf3, 32277 0xcaf5, 0xcb0f, 32278 0xcb11, 0xcb2b, 32279 0xcb2d, 0xcb47, 32280 0xcb49, 0xcb63, 32281 0xcb65, 0xcb7f, 32282 0xcb81, 0xcb9b, 32283 0xcb9d, 0xcbb7, 32284 0xcbb9, 0xcbd3, 32285 0xcbd5, 0xcbef, 32286 0xcbf1, 0xcc0b, 32287 0xcc0d, 0xcc27, 32288 0xcc29, 0xcc43, 32289 0xcc45, 0xcc5f, 32290 0xcc61, 0xcc7b, 32291 0xcc7d, 0xcc97, 32292 0xcc99, 0xccb3, 32293 0xccb5, 0xcccf, 32294 0xccd1, 0xcceb, 32295 0xcced, 0xcd07, 32296 0xcd09, 0xcd23, 32297 0xcd25, 0xcd3f, 32298 0xcd41, 0xcd5b, 32299 0xcd5d, 0xcd77, 32300 0xcd79, 0xcd93, 32301 0xcd95, 0xcdaf, 32302 0xcdb1, 0xcdcb, 32303 0xcdcd, 0xcde7, 32304 0xcde9, 0xce03, 32305 0xce05, 0xce1f, 32306 0xce21, 0xce3b, 32307 0xce3d, 0xce57, 32308 0xce59, 0xce73, 32309 0xce75, 0xce8f, 32310 0xce91, 0xceab, 32311 0xcead, 0xcec7, 32312 0xcec9, 0xcee3, 32313 0xcee5, 0xceff, 32314 0xcf01, 0xcf1b, 32315 0xcf1d, 0xcf37, 32316 0xcf39, 0xcf53, 32317 0xcf55, 0xcf6f, 32318 0xcf71, 0xcf8b, 32319 0xcf8d, 0xcfa7, 32320 0xcfa9, 0xcfc3, 32321 0xcfc5, 0xcfdf, 32322 0xcfe1, 0xcffb, 32323 0xcffd, 0xd017, 32324 0xd019, 0xd033, 32325 0xd035, 0xd04f, 32326 0xd051, 0xd06b, 32327 0xd06d, 0xd087, 32328 0xd089, 0xd0a3, 32329 0xd0a5, 0xd0bf, 32330 0xd0c1, 0xd0db, 32331 0xd0dd, 0xd0f7, 32332 0xd0f9, 0xd113, 32333 0xd115, 0xd12f, 32334 0xd131, 0xd14b, 32335 0xd14d, 0xd167, 32336 0xd169, 0xd183, 32337 0xd185, 0xd19f, 32338 0xd1a1, 0xd1bb, 32339 0xd1bd, 0xd1d7, 32340 0xd1d9, 0xd1f3, 32341 0xd1f5, 0xd20f, 32342 0xd211, 0xd22b, 32343 0xd22d, 0xd247, 32344 0xd249, 0xd263, 32345 0xd265, 0xd27f, 32346 0xd281, 0xd29b, 32347 0xd29d, 0xd2b7, 32348 0xd2b9, 0xd2d3, 32349 0xd2d5, 0xd2ef, 32350 0xd2f1, 0xd30b, 32351 0xd30d, 0xd327, 32352 0xd329, 0xd343, 32353 0xd345, 0xd35f, 32354 0xd361, 0xd37b, 32355 0xd37d, 0xd397, 32356 0xd399, 0xd3b3, 32357 0xd3b5, 0xd3cf, 32358 0xd3d1, 0xd3eb, 32359 0xd3ed, 0xd407, 32360 0xd409, 0xd423, 32361 0xd425, 0xd43f, 32362 0xd441, 0xd45b, 32363 0xd45d, 0xd477, 32364 0xd479, 0xd493, 32365 0xd495, 0xd4af, 32366 0xd4b1, 0xd4cb, 32367 0xd4cd, 0xd4e7, 32368 0xd4e9, 0xd503, 32369 0xd505, 0xd51f, 32370 0xd521, 0xd53b, 32371 0xd53d, 0xd557, 32372 0xd559, 0xd573, 32373 0xd575, 0xd58f, 32374 0xd591, 0xd5ab, 32375 0xd5ad, 0xd5c7, 32376 0xd5c9, 0xd5e3, 32377 0xd5e5, 0xd5ff, 32378 0xd601, 0xd61b, 32379 0xd61d, 0xd637, 32380 0xd639, 0xd653, 32381 0xd655, 0xd66f, 32382 0xd671, 0xd68b, 32383 0xd68d, 0xd6a7, 32384 0xd6a9, 0xd6c3, 32385 0xd6c5, 0xd6df, 32386 0xd6e1, 0xd6fb, 32387 0xd6fd, 0xd717, 32388 0xd719, 0xd733, 32389 0xd735, 0xd74f, 32390 0xd751, 0xd76b, 32391 0xd76d, 0xd787, 32392 0xd789, 0xd7a3, 32393 }; /* CR_Grapheme_Cluster_Break_LVT */ 32394 32395 /* 'Grapheme_Cluster_Break_E_Base': Grapheme_Cluster_Break=E_Base */ 32396 static const OnigCodePoint CR_Grapheme_Cluster_Break_E_Base[] = { 32397 31, 32398 0x261d, 0x261d, 32399 0x26f9, 0x26f9, 32400 0x270a, 0x270d, 32401 0x1f385, 0x1f385, 32402 0x1f3c2, 0x1f3c4, 32403 0x1f3c7, 0x1f3c7, 32404 0x1f3ca, 0x1f3cc, 32405 0x1f442, 0x1f443, 32406 0x1f446, 0x1f450, 32407 0x1f46e, 0x1f46e, 32408 0x1f470, 0x1f478, 32409 0x1f47c, 0x1f47c, 32410 0x1f481, 0x1f483, 32411 0x1f485, 0x1f487, 32412 0x1f4aa, 0x1f4aa, 32413 0x1f574, 0x1f575, 32414 0x1f57a, 0x1f57a, 32415 0x1f590, 0x1f590, 32416 0x1f595, 0x1f596, 32417 0x1f645, 0x1f647, 32418 0x1f64b, 0x1f64f, 32419 0x1f6a3, 0x1f6a3, 32420 0x1f6b4, 0x1f6b6, 32421 0x1f6c0, 0x1f6c0, 32422 0x1f6cc, 0x1f6cc, 32423 0x1f918, 0x1f91c, 32424 0x1f91e, 0x1f91f, 32425 0x1f926, 0x1f926, 32426 0x1f930, 0x1f939, 32427 0x1f93d, 0x1f93e, 32428 0x1f9d1, 0x1f9dd, 32429 }; /* CR_Grapheme_Cluster_Break_E_Base */ 32430 32431 /* 'Grapheme_Cluster_Break_E_Modifier': Grapheme_Cluster_Break=E_Modifier */ 32432 #define CR_Grapheme_Cluster_Break_E_Modifier CR_Emoji_Modifier 32433 32434 /* 'Grapheme_Cluster_Break_ZWJ': Grapheme_Cluster_Break=ZWJ */ 32435 static const OnigCodePoint CR_Grapheme_Cluster_Break_ZWJ[] = { 32436 1, 32437 0x200d, 0x200d, 32438 }; /* CR_Grapheme_Cluster_Break_ZWJ */ 32439 32440 /* 'Grapheme_Cluster_Break_Glue_After_Zwj': Grapheme_Cluster_Break=Glue_After_Zwj */ 32441 static const OnigCodePoint CR_Grapheme_Cluster_Break_Glue_After_Zwj[] = { 32442 20, 32443 0x2640, 0x2640, 32444 0x2642, 0x2642, 32445 0x2695, 0x2696, 32446 0x2708, 0x2708, 32447 0x2764, 0x2764, 32448 0x1f308, 0x1f308, 32449 0x1f33e, 0x1f33e, 32450 0x1f373, 0x1f373, 32451 0x1f393, 0x1f393, 32452 0x1f3a4, 0x1f3a4, 32453 0x1f3a8, 0x1f3a8, 32454 0x1f3eb, 0x1f3eb, 32455 0x1f3ed, 0x1f3ed, 32456 0x1f48b, 0x1f48b, 32457 0x1f4bb, 0x1f4bc, 32458 0x1f527, 0x1f527, 32459 0x1f52c, 0x1f52c, 32460 0x1f5e8, 0x1f5e8, 32461 0x1f680, 0x1f680, 32462 0x1f692, 0x1f692, 32463 }; /* CR_Grapheme_Cluster_Break_Glue_After_Zwj */ 32464 32465 /* 'Grapheme_Cluster_Break_E_Base_GAZ': Grapheme_Cluster_Break=E_Base_GAZ */ 32466 static const OnigCodePoint CR_Grapheme_Cluster_Break_E_Base_GAZ[] = { 32467 1, 32468 0x1f466, 0x1f469, 32469 }; /* CR_Grapheme_Cluster_Break_E_Base_GAZ */ 27521 32470 27522 32471 /* 'In_Basic_Latin': Block */ … … 27631 32580 }; /* CR_In_Mandaic */ 27632 32581 32582 /* 'In_Syriac_Supplement': Block */ 32583 static const OnigCodePoint CR_In_Syriac_Supplement[] = { 32584 1, 32585 0x0860, 0x086f, 32586 }; /* CR_In_Syriac_Supplement */ 32587 27633 32588 /* 'In_Arabic_Extended_A': Block */ 27634 32589 static const OnigCodePoint CR_In_Arabic_Extended_A[] = { … … 27880 32835 #define CR_In_Ol_Chiki CR_Ol_Chiki 27881 32836 32837 /* 'In_Cyrillic_Extended_C': Block */ 32838 static const OnigCodePoint CR_In_Cyrillic_Extended_C[] = { 32839 1, 32840 0x1c80, 0x1c8f, 32841 }; /* CR_In_Cyrillic_Extended_C */ 32842 27882 32843 /* 'In_Sundanese_Supplement': Block */ 27883 32844 static const OnigCodePoint CR_In_Sundanese_Supplement[] = { … … 28354 33315 }; /* CR_In_Latin_Extended_E */ 28355 33316 33317 /* 'In_Cherokee_Supplement': Block */ 33318 static const OnigCodePoint CR_In_Cherokee_Supplement[] = { 33319 1, 33320 0xab70, 0xabbf, 33321 }; /* CR_In_Cherokee_Supplement */ 33322 28356 33323 /* 'In_Meetei_Mayek': Block */ 28357 33324 static const OnigCodePoint CR_In_Meetei_Mayek[] = { … … 28558 33525 }; /* CR_In_Osmanya */ 28559 33526 33527 /* 'In_Osage': Block */ 33528 static const OnigCodePoint CR_In_Osage[] = { 33529 1, 33530 0x104b0, 0x104ff, 33531 }; /* CR_In_Osage */ 33532 28560 33533 /* 'In_Elbasan': Block */ 28561 33534 static const OnigCodePoint CR_In_Elbasan[] = { … … 28597 33570 }; /* CR_In_Nabataean */ 28598 33571 33572 /* 'In_Hatran': Block */ 33573 static const OnigCodePoint CR_In_Hatran[] = { 33574 1, 33575 0x108e0, 0x108ff, 33576 }; /* CR_In_Hatran */ 33577 28599 33578 /* 'In_Phoenician': Block */ 28600 33579 static const OnigCodePoint CR_In_Phoenician[] = { … … 28666 33645 }; /* CR_In_Old_Turkic */ 28667 33646 33647 /* 'In_Old_Hungarian': Block */ 33648 static const OnigCodePoint CR_In_Old_Hungarian[] = { 33649 1, 33650 0x10c80, 0x10cff, 33651 }; /* CR_In_Old_Hungarian */ 33652 28668 33653 /* 'In_Rumi_Numeral_Symbols': Block */ 28669 33654 static const OnigCodePoint CR_In_Rumi_Numeral_Symbols[] = { … … 28720 33705 }; /* CR_In_Khojki */ 28721 33706 33707 /* 'In_Multani': Block */ 33708 static const OnigCodePoint CR_In_Multani[] = { 33709 1, 33710 0x11280, 0x112af, 33711 }; /* CR_In_Multani */ 33712 28722 33713 /* 'In_Khudawadi': Block */ 28723 33714 static const OnigCodePoint CR_In_Khudawadi[] = { … … 28732 33723 }; /* CR_In_Grantha */ 28733 33724 33725 /* 'In_Newa': Block */ 33726 static const OnigCodePoint CR_In_Newa[] = { 33727 1, 33728 0x11400, 0x1147f, 33729 }; /* CR_In_Newa */ 33730 28734 33731 /* 'In_Tirhuta': Block */ 28735 33732 static const OnigCodePoint CR_In_Tirhuta[] = { … … 28750 33747 }; /* CR_In_Modi */ 28751 33748 33749 /* 'In_Mongolian_Supplement': Block */ 33750 static const OnigCodePoint CR_In_Mongolian_Supplement[] = { 33751 1, 33752 0x11660, 0x1167f, 33753 }; /* CR_In_Mongolian_Supplement */ 33754 28752 33755 /* 'In_Takri': Block */ 28753 33756 static const OnigCodePoint CR_In_Takri[] = { … … 28756 33759 }; /* CR_In_Takri */ 28757 33760 33761 /* 'In_Ahom': Block */ 33762 static const OnigCodePoint CR_In_Ahom[] = { 33763 1, 33764 0x11700, 0x1173f, 33765 }; /* CR_In_Ahom */ 33766 28758 33767 /* 'In_Warang_Citi': Block */ 28759 33768 static const OnigCodePoint CR_In_Warang_Citi[] = { … … 28762 33771 }; /* CR_In_Warang_Citi */ 28763 33772 33773 /* 'In_Zanabazar_Square': Block */ 33774 static const OnigCodePoint CR_In_Zanabazar_Square[] = { 33775 1, 33776 0x11a00, 0x11a4f, 33777 }; /* CR_In_Zanabazar_Square */ 33778 33779 /* 'In_Soyombo': Block */ 33780 static const OnigCodePoint CR_In_Soyombo[] = { 33781 1, 33782 0x11a50, 0x11aaf, 33783 }; /* CR_In_Soyombo */ 33784 28764 33785 /* 'In_Pau_Cin_Hau': Block */ 28765 33786 static const OnigCodePoint CR_In_Pau_Cin_Hau[] = { … … 28768 33789 }; /* CR_In_Pau_Cin_Hau */ 28769 33790 33791 /* 'In_Bhaiksuki': Block */ 33792 static const OnigCodePoint CR_In_Bhaiksuki[] = { 33793 1, 33794 0x11c00, 0x11c6f, 33795 }; /* CR_In_Bhaiksuki */ 33796 33797 /* 'In_Marchen': Block */ 33798 static const OnigCodePoint CR_In_Marchen[] = { 33799 1, 33800 0x11c70, 0x11cbf, 33801 }; /* CR_In_Marchen */ 33802 33803 /* 'In_Masaram_Gondi': Block */ 33804 static const OnigCodePoint CR_In_Masaram_Gondi[] = { 33805 1, 33806 0x11d00, 0x11d5f, 33807 }; /* CR_In_Masaram_Gondi */ 33808 28770 33809 /* 'In_Cuneiform': Block */ 28771 33810 static const OnigCodePoint CR_In_Cuneiform[] = { … … 28780 33819 }; /* CR_In_Cuneiform_Numbers_and_Punctuation */ 28781 33820 33821 /* 'In_Early_Dynastic_Cuneiform': Block */ 33822 static const OnigCodePoint CR_In_Early_Dynastic_Cuneiform[] = { 33823 1, 33824 0x12480, 0x1254f, 33825 }; /* CR_In_Early_Dynastic_Cuneiform */ 33826 28782 33827 /* 'In_Egyptian_Hieroglyphs': Block */ 28783 33828 static const OnigCodePoint CR_In_Egyptian_Hieroglyphs[] = { … … 28786 33831 }; /* CR_In_Egyptian_Hieroglyphs */ 28787 33832 33833 /* 'In_Anatolian_Hieroglyphs': Block */ 33834 static const OnigCodePoint CR_In_Anatolian_Hieroglyphs[] = { 33835 1, 33836 0x14400, 0x1467f, 33837 }; /* CR_In_Anatolian_Hieroglyphs */ 33838 28788 33839 /* 'In_Bamum_Supplement': Block */ 28789 33840 static const OnigCodePoint CR_In_Bamum_Supplement[] = { … … 28816 33867 }; /* CR_In_Miao */ 28817 33868 33869 /* 'In_Ideographic_Symbols_and_Punctuation': Block */ 33870 static const OnigCodePoint CR_In_Ideographic_Symbols_and_Punctuation[] = { 33871 1, 33872 0x16fe0, 0x16fff, 33873 }; /* CR_In_Ideographic_Symbols_and_Punctuation */ 33874 33875 /* 'In_Tangut': Block */ 33876 static const OnigCodePoint CR_In_Tangut[] = { 33877 1, 33878 0x17000, 0x187ff, 33879 }; /* CR_In_Tangut */ 33880 33881 /* 'In_Tangut_Components': Block */ 33882 static const OnigCodePoint CR_In_Tangut_Components[] = { 33883 1, 33884 0x18800, 0x18aff, 33885 }; /* CR_In_Tangut_Components */ 33886 28818 33887 /* 'In_Kana_Supplement': Block */ 28819 33888 static const OnigCodePoint CR_In_Kana_Supplement[] = { … … 28822 33891 }; /* CR_In_Kana_Supplement */ 28823 33892 33893 /* 'In_Kana_Extended_A': Block */ 33894 static const OnigCodePoint CR_In_Kana_Extended_A[] = { 33895 1, 33896 0x1b100, 0x1b12f, 33897 }; /* CR_In_Kana_Extended_A */ 33898 33899 /* 'In_Nushu': Block */ 33900 static const OnigCodePoint CR_In_Nushu[] = { 33901 1, 33902 0x1b170, 0x1b2ff, 33903 }; /* CR_In_Nushu */ 33904 28824 33905 /* 'In_Duployan': Block */ 28825 33906 static const OnigCodePoint CR_In_Duployan[] = { … … 28870 33951 }; /* CR_In_Mathematical_Alphanumeric_Symbols */ 28871 33952 33953 /* 'In_Sutton_SignWriting': Block */ 33954 static const OnigCodePoint CR_In_Sutton_SignWriting[] = { 33955 1, 33956 0x1d800, 0x1daaf, 33957 }; /* CR_In_Sutton_SignWriting */ 33958 33959 /* 'In_Glagolitic_Supplement': Block */ 33960 static const OnigCodePoint CR_In_Glagolitic_Supplement[] = { 33961 1, 33962 0x1e000, 0x1e02f, 33963 }; /* CR_In_Glagolitic_Supplement */ 33964 28872 33965 /* 'In_Mende_Kikakui': Block */ 28873 33966 static const OnigCodePoint CR_In_Mende_Kikakui[] = { … … 28876 33969 }; /* CR_In_Mende_Kikakui */ 28877 33970 33971 /* 'In_Adlam': Block */ 33972 static const OnigCodePoint CR_In_Adlam[] = { 33973 1, 33974 0x1e900, 0x1e95f, 33975 }; /* CR_In_Adlam */ 33976 28878 33977 /* 'In_Arabic_Mathematical_Alphabetic_Symbols': Block */ 28879 33978 static const OnigCodePoint CR_In_Arabic_Mathematical_Alphabetic_Symbols[] = { … … 28954 34053 }; /* CR_In_Supplemental_Arrows_C */ 28955 34054 34055 /* 'In_Supplemental_Symbols_and_Pictographs': Block */ 34056 static const OnigCodePoint CR_In_Supplemental_Symbols_and_Pictographs[] = { 34057 1, 34058 0x1f900, 0x1f9ff, 34059 }; /* CR_In_Supplemental_Symbols_and_Pictographs */ 34060 28956 34061 /* 'In_CJK_Unified_Ideographs_Extension_B': Block */ 28957 34062 static const OnigCodePoint CR_In_CJK_Unified_Ideographs_Extension_B[] = { … … 28972 34077 }; /* CR_In_CJK_Unified_Ideographs_Extension_D */ 28973 34078 34079 /* 'In_CJK_Unified_Ideographs_Extension_E': Block */ 34080 static const OnigCodePoint CR_In_CJK_Unified_Ideographs_Extension_E[] = { 34081 1, 34082 0x2b820, 0x2ceaf, 34083 }; /* CR_In_CJK_Unified_Ideographs_Extension_E */ 34084 34085 /* 'In_CJK_Unified_Ideographs_Extension_F': Block */ 34086 static const OnigCodePoint CR_In_CJK_Unified_Ideographs_Extension_F[] = { 34087 1, 34088 0x2ceb0, 0x2ebef, 34089 }; /* CR_In_CJK_Unified_Ideographs_Extension_F */ 34090 28974 34091 /* 'In_CJK_Compatibility_Ideographs_Supplement': Block */ 28975 34092 static const OnigCodePoint CR_In_CJK_Compatibility_Ideographs_Supplement[] = { … … 29004 34121 /* 'In_No_Block': Block */ 29005 34122 static const OnigCodePoint CR_In_No_Block[] = { 29006 4 0,29007 0x08 60, 0x089f,29008 0x1c 80, 0x1cbf,34123 47, 34124 0x0870, 0x089f, 34125 0x1c90, 0x1cbf, 29009 34126 0x2fe0, 0x2fef, 29010 0xab70, 0xabbf,29011 34127 0x10200, 0x1027f, 29012 34128 0x103e0, 0x103ff, 29013 0x104b0, 0x104ff,29014 34129 0x10570, 0x105ff, 29015 34130 0x10780, 0x107ff, 29016 0x108b0, 0x108 ff,34131 0x108b0, 0x108df, 29017 34132 0x10940, 0x1097f, 29018 34133 0x10aa0, 0x10abf, 29019 34134 0x10bb0, 0x10bff, 29020 0x10c50, 0x10e5f, 34135 0x10c50, 0x10c7f, 34136 0x10d00, 0x10e5f, 29021 34137 0x10e80, 0x10fff, 29022 0x11250, 0x112 af,29023 0x11380, 0x11 47f,34138 0x11250, 0x1127f, 34139 0x11380, 0x113ff, 29024 34140 0x114e0, 0x1157f, 29025 0x11660, 0x1167f, 29026 0x116d0, 0x1189f, 29027 0x11900, 0x11abf, 29028 0x11b00, 0x11fff, 29029 0x12480, 0x12fff, 29030 0x13430, 0x167ff, 34141 0x116d0, 0x116ff, 34142 0x11740, 0x1189f, 34143 0x11900, 0x119ff, 34144 0x11ab0, 0x11abf, 34145 0x11b00, 0x11bff, 34146 0x11cc0, 0x11cff, 34147 0x11d60, 0x11fff, 34148 0x12550, 0x12fff, 34149 0x13430, 0x143ff, 34150 0x14680, 0x167ff, 29031 34151 0x16a70, 0x16acf, 29032 34152 0x16b90, 0x16eff, 29033 0x16fa0, 0x1afff, 29034 0x1b100, 0x1bbff, 34153 0x16fa0, 0x16fdf, 34154 0x18b00, 0x1afff, 34155 0x1b130, 0x1b16f, 34156 0x1b300, 0x1bbff, 29035 34157 0x1bcb0, 0x1cfff, 29036 34158 0x1d250, 0x1d2ff, 29037 34159 0x1d380, 0x1d3ff, 29038 0x1d800, 0x1e7ff, 29039 0x1e8e0, 0x1edff, 34160 0x1dab0, 0x1dfff, 34161 0x1e030, 0x1e7ff, 34162 0x1e8e0, 0x1e8ff, 34163 0x1e960, 0x1edff, 29040 34164 0x1ef00, 0x1efff, 29041 0x1f 900, 0x1ffff,34165 0x1fa00, 0x1ffff, 29042 34166 0x2a6e0, 0x2a6ff, 29043 0x2 b820, 0x2f7ff,34167 0x2ebf0, 0x2f7ff, 29044 34168 0x2fa20, 0xdffff, 29045 34169 0xe0080, 0xe00ff, 29046 34170 0xe01f0, 0xeffff, 29047 34171 }; /* CR_In_No_Block */ 34172 29048 34173 #endif /* USE_UNICODE_PROPERTIES */ 29049 29050 34174 static const OnigCodePoint* const CodeRanges[] = { 29051 34175 CR_NEWLINE, … … 29057 34181 CR_Lower, 29058 34182 CR_Print, 29059 CR_ Punct,34183 CR_XPosixPunct, 29060 34184 CR_Space, 29061 34185 CR_Upper, … … 29064 34188 CR_Alnum, 29065 34189 CR_ASCII, 34190 CR_Punct, 29066 34191 #ifdef USE_UNICODE_PROPERTIES 29067 34192 CR_Any, … … 29249 34374 CR_Tirhuta, 29250 34375 CR_Warang_Citi, 34376 CR_Ahom, 34377 CR_Anatolian_Hieroglyphs, 34378 CR_Hatran, 34379 CR_Multani, 34380 CR_Old_Hungarian, 34381 CR_SignWriting, 34382 CR_Adlam, 34383 CR_Bhaiksuki, 34384 CR_Marchen, 34385 CR_Newa, 34386 CR_Osage, 34387 CR_Tangut, 34388 CR_Masaram_Gondi, 34389 CR_Nushu, 34390 CR_Soyombo, 34391 CR_Zanabazar_Square, 29251 34392 CR_White_Space, 29252 34393 CR_Bidi_Control, … … 29277 34418 CR_Other_ID_Start, 29278 34419 CR_Other_ID_Continue, 29279 CR_S Term,34420 CR_Sentence_Terminal, 29280 34421 CR_Variation_Selector, 29281 34422 CR_Pattern_White_Space, 29282 34423 CR_Pattern_Syntax, 34424 CR_Prepended_Concatenation_Mark, 34425 CR_Regional_Indicator, 34426 CR_Emoji, 34427 CR_Emoji_Presentation, 34428 CR_Emoji_Modifier, 34429 CR_Emoji_Modifier_Base, 34430 CR_Emoji_Component, 29283 34431 CR_Unknown, 29284 34432 #ifdef USE_UNICODE_AGE_PROPERTIES … … 29299 34447 CR_Age_6_3, 29300 34448 CR_Age_7_0, 34449 CR_Age_8_0, 34450 CR_Age_9_0, 34451 CR_Age_10_0, 29301 34452 #endif /* USE_UNICODE_AGE_PROPERTIES */ 34453 CR_Grapheme_Cluster_Break_Prepend, 34454 CR_Grapheme_Cluster_Break_CR, 34455 CR_Grapheme_Cluster_Break_LF, 34456 CR_Grapheme_Cluster_Break_Control, 34457 CR_Grapheme_Cluster_Break_Extend, 34458 CR_Grapheme_Cluster_Break_Regional_Indicator, 34459 CR_Grapheme_Cluster_Break_SpacingMark, 34460 CR_Grapheme_Cluster_Break_L, 34461 CR_Grapheme_Cluster_Break_V, 34462 CR_Grapheme_Cluster_Break_T, 34463 CR_Grapheme_Cluster_Break_LV, 34464 CR_Grapheme_Cluster_Break_LVT, 34465 CR_Grapheme_Cluster_Break_E_Base, 34466 CR_Grapheme_Cluster_Break_E_Modifier, 34467 CR_Grapheme_Cluster_Break_ZWJ, 34468 CR_Grapheme_Cluster_Break_Glue_After_Zwj, 34469 CR_Grapheme_Cluster_Break_E_Base_GAZ, 29302 34470 CR_In_Basic_Latin, 29303 34471 CR_In_Latin_1_Supplement, … … 29319 34487 CR_In_Samaritan, 29320 34488 CR_In_Mandaic, 34489 CR_In_Syriac_Supplement, 29321 34490 CR_In_Arabic_Extended_A, 29322 34491 CR_In_Devanagari, … … 29361 34530 CR_In_Lepcha, 29362 34531 CR_In_Ol_Chiki, 34532 CR_In_Cyrillic_Extended_C, 29363 34533 CR_In_Sundanese_Supplement, 29364 34534 CR_In_Vedic_Extensions, … … 29441 34611 CR_In_Ethiopic_Extended_A, 29442 34612 CR_In_Latin_Extended_E, 34613 CR_In_Cherokee_Supplement, 29443 34614 CR_In_Meetei_Mayek, 29444 34615 CR_In_Hangul_Syllables, … … 29476 34647 CR_In_Shavian, 29477 34648 CR_In_Osmanya, 34649 CR_In_Osage, 29478 34650 CR_In_Elbasan, 29479 34651 CR_In_Caucasian_Albanian, … … 29483 34655 CR_In_Palmyrene, 29484 34656 CR_In_Nabataean, 34657 CR_In_Hatran, 29485 34658 CR_In_Phoenician, 29486 34659 CR_In_Lydian, … … 29496 34669 CR_In_Psalter_Pahlavi, 29497 34670 CR_In_Old_Turkic, 34671 CR_In_Old_Hungarian, 29498 34672 CR_In_Rumi_Numeral_Symbols, 29499 34673 CR_In_Brahmi, … … 29505 34679 CR_In_Sinhala_Archaic_Numbers, 29506 34680 CR_In_Khojki, 34681 CR_In_Multani, 29507 34682 CR_In_Khudawadi, 29508 34683 CR_In_Grantha, 34684 CR_In_Newa, 29509 34685 CR_In_Tirhuta, 29510 34686 CR_In_Siddham, 29511 34687 CR_In_Modi, 34688 CR_In_Mongolian_Supplement, 29512 34689 CR_In_Takri, 34690 CR_In_Ahom, 29513 34691 CR_In_Warang_Citi, 34692 CR_In_Zanabazar_Square, 34693 CR_In_Soyombo, 29514 34694 CR_In_Pau_Cin_Hau, 34695 CR_In_Bhaiksuki, 34696 CR_In_Marchen, 34697 CR_In_Masaram_Gondi, 29515 34698 CR_In_Cuneiform, 29516 34699 CR_In_Cuneiform_Numbers_and_Punctuation, 34700 CR_In_Early_Dynastic_Cuneiform, 29517 34701 CR_In_Egyptian_Hieroglyphs, 34702 CR_In_Anatolian_Hieroglyphs, 29518 34703 CR_In_Bamum_Supplement, 29519 34704 CR_In_Mro, … … 29521 34706 CR_In_Pahawh_Hmong, 29522 34707 CR_In_Miao, 34708 CR_In_Ideographic_Symbols_and_Punctuation, 34709 CR_In_Tangut, 34710 CR_In_Tangut_Components, 29523 34711 CR_In_Kana_Supplement, 34712 CR_In_Kana_Extended_A, 34713 CR_In_Nushu, 29524 34714 CR_In_Duployan, 29525 34715 CR_In_Shorthand_Format_Controls, … … 29530 34720 CR_In_Counting_Rod_Numerals, 29531 34721 CR_In_Mathematical_Alphanumeric_Symbols, 34722 CR_In_Sutton_SignWriting, 34723 CR_In_Glagolitic_Supplement, 29532 34724 CR_In_Mende_Kikakui, 34725 CR_In_Adlam, 29533 34726 CR_In_Arabic_Mathematical_Alphabetic_Symbols, 29534 34727 CR_In_Mahjong_Tiles, … … 29544 34737 CR_In_Geometric_Shapes_Extended, 29545 34738 CR_In_Supplemental_Arrows_C, 34739 CR_In_Supplemental_Symbols_and_Pictographs, 29546 34740 CR_In_CJK_Unified_Ideographs_Extension_B, 29547 34741 CR_In_CJK_Unified_Ideographs_Extension_C, 29548 34742 CR_In_CJK_Unified_Ideographs_Extension_D, 34743 CR_In_CJK_Unified_Ideographs_Extension_E, 34744 CR_In_CJK_Unified_Ideographs_Extension_F, 29549 34745 CR_In_CJK_Compatibility_Ideographs_Supplement, 29550 34746 CR_In_Tags, … … 29556 34752 }; 29557 34753 struct uniname2ctype_struct { 29558 int name, ctype; 34754 short name; 34755 unsigned short ctype; 29559 34756 }; 34757 #define uniname2ctype_offset(str) offsetof(struct uniname2ctype_pool_t, uniname2ctype_pool_##str) 29560 34758 29561 34759 static const struct uniname2ctype_struct *uniname2ctype_p(const char *, unsigned int); 29562 34760 29563 34761 #ifndef USE_UNICODE_PROPERTIES 29564 #define TOTAL_KEYWORDS 1 434762 #define TOTAL_KEYWORDS 15 29565 34763 #define MIN_WORD_LENGTH 4 29566 #define MAX_WORD_LENGTH 634764 #define MAX_WORD_LENGTH 11 29567 34765 #define MIN_HASH_VALUE 6 29568 #define MAX_HASH_VALUE 1929569 /* maximum key range = 1 4, duplicates = 0 */34766 #define MAX_HASH_VALUE 20 34767 /* maximum key range = 15, duplicates = 0 */ 29570 34768 #else /* USE_UNICODE_PROPERTIES */ 29571 34769 #ifndef USE_UNICODE_AGE_PROPERTIES 29572 #define TOTAL_KEYWORDS 68934770 #define TOTAL_KEYWORDS 775 29573 34771 #else /* USE_UNICODE_AGE_PROPERTIES */ 29574 #define TOTAL_KEYWORDS 7 0534772 #define TOTAL_KEYWORDS 794 29575 34773 #endif /* USE_UNICODE_AGE_PROPERTIES */ 29576 34774 #define MIN_WORD_LENGTH 1 29577 34775 #define MAX_WORD_LENGTH 44 29578 #define MIN_HASH_VALUE 329579 #define MAX_HASH_VALUE 432229580 /* maximum key range = 4320, duplicates = 0 */34776 #define MIN_HASH_VALUE 10 34777 #define MAX_HASH_VALUE 6145 34778 /* maximum key range = 6136, duplicates = 0 */ 29581 34779 #endif /* USE_UNICODE_PROPERTIES */ 29582 34780 … … 29600 34798 { 29601 34799 #ifndef USE_UNICODE_PROPERTIES 29602 2 0, 20, 20, 20, 20, 20, 20, 20, 20, 20,29603 2 0, 20, 20, 20, 20, 20, 20, 20, 20, 20,29604 2 0, 20, 20, 20, 20, 20, 20, 20, 20, 20,29605 2 0, 20, 20, 20, 20, 20, 20, 20, 20, 20,29606 2 0, 20, 20, 20, 20, 20, 20, 20, 20, 20,29607 2 0, 20, 20, 20, 20, 20, 20, 20, 20, 20,29608 2 0, 20, 20, 20, 20, 20, 20, 20, 20, 20,29609 2 0, 20, 20, 20, 20, 20, 20, 20, 20, 20,29610 2 0, 20, 20, 20, 20, 20, 20, 20, 20, 20,29611 2 0, 20, 20, 20, 20, 20, 20, 3, 11, 5,29612 4, 2 0, 20, 9, 20, 1, 20, 20, 10, 20,29613 2, 20, 1, 20, 1, 7, 4, 6, 20, 1,29614 4, 2 0, 20, 20, 20, 20, 20, 2034800 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 34801 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 34802 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 34803 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 34804 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 34805 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 34806 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 34807 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 34808 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 34809 21, 21, 21, 21, 21, 21, 21, 3, 12, 5, 34810 4, 21, 21, 10, 21, 1, 21, 21, 11, 21, 34811 2, 1, 1, 21, 1, 7, 4, 6, 21, 1, 34812 4, 21, 21, 21, 21, 21, 21, 21 29615 34813 #else /* USE_UNICODE_PROPERTIES */ 29616 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323,29617 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323,29618 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323,29619 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323,34814 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 34815 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 34816 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 34817 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 29620 34818 #ifndef USE_UNICODE_AGE_PROPERTIES 29621 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323,29622 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323,34819 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 34820 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 29623 34821 #else /* USE_UNICODE_AGE_PROPERTIES */ 29624 4323, 4323, 4323, 4323, 4323, 4323, 1, 4323, 12, 1,29625 2, 9, 18, 11, 6, 10, 4323, 4323, 4323, 4323,34822 6146, 6146, 6146, 6146, 6146, 6146, 1, 6146, 2, 1, 34823 5, 27, 2, 15, 7, 11, 9, 8, 6146, 6146, 29626 34824 #endif /* USE_UNICODE_AGE_PROPERTIES */ 29627 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323,29628 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323,29629 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323, 4323,29630 4323, 4323, 4323, 4323, 4323, 4323, 4323, 13, 931, 6,29631 3 82, 25, 311, 891, 277, 4, 272, 1436, 120, 7,29632 1, 303, 456, 1, 232, 32, 65, 732, 1411, 163,29633 883, 1255, 8, 4323, 4323, 4323, 4323, 432334825 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 34826 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 34827 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 6146, 34828 6146, 6146, 6146, 6146, 6146, 6146, 6146, 5, 1058, 101, 34829 332, 9, 777, 1271, 842, 3, 1142, 17, 491, 70, 34830 1, 15, 741, 1115, 39, 174, 260, 566, 1127, 1473, 34831 502, 1554, 13, 2, 12, 6146, 6146, 6146, 6146, 6146 29634 34832 #endif /* USE_UNICODE_PROPERTIES */ 29635 34833 }; … … 29669 34867 /*FALLTHROUGH*/ 29670 34868 case 1: 29671 hval += asso_values[(unsigned char)str[0] ];34869 hval += asso_values[(unsigned char)str[0]+2]; 29672 34870 break; 29673 34871 } … … 29689 34887 char uniname2ctype_pool_str14[sizeof("cntrl")]; 29690 34888 char uniname2ctype_pool_str15[sizeof("space")]; 29691 char uniname2ctype_pool_str16[sizeof("lower")]; 29692 char uniname2ctype_pool_str17[sizeof("graph")]; 29693 char uniname2ctype_pool_str18[sizeof("digit")]; 29694 char uniname2ctype_pool_str19[sizeof("blank")]; 34889 char uniname2ctype_pool_str16[sizeof("xposixpunct")]; 34890 char uniname2ctype_pool_str17[sizeof("lower")]; 34891 char uniname2ctype_pool_str18[sizeof("graph")]; 34892 char uniname2ctype_pool_str19[sizeof("digit")]; 34893 char uniname2ctype_pool_str20[sizeof("blank")]; 29695 34894 #else /* USE_UNICODE_PROPERTIES */ 29696 char uniname2ctype_pool_str3[sizeof("n")]; 29697 char uniname2ctype_pool_str10[sizeof("cn")]; 29698 char uniname2ctype_pool_str11[sizeof("mn")]; 29699 char uniname2ctype_pool_str13[sizeof("c")]; 29700 char uniname2ctype_pool_str15[sizeof("m")]; 29701 char uniname2ctype_pool_str16[sizeof("ci")]; 29702 char uniname2ctype_pool_str17[sizeof("z")]; 29703 char uniname2ctype_pool_str20[sizeof("cc")]; 29704 char uniname2ctype_pool_str21[sizeof("mc")]; 29705 char uniname2ctype_pool_str29[sizeof("mani")]; 29706 char uniname2ctype_pool_str31[sizeof("inmanichaean")]; 29707 char uniname2ctype_pool_str35[sizeof("qaai")]; 29708 char uniname2ctype_pool_str36[sizeof("zzzz")]; 29709 char uniname2ctype_pool_str37[sizeof("qaac")]; 29710 char uniname2ctype_pool_str44[sizeof("incham")]; 29711 char uniname2ctype_pool_str46[sizeof("sc")]; 29712 char uniname2ctype_pool_str48[sizeof("sm")]; 29713 char uniname2ctype_pool_str51[sizeof("mandaic")]; 29714 char uniname2ctype_pool_str55[sizeof("incuneiform")]; 29715 char uniname2ctype_pool_str56[sizeof("cans")]; 29716 char uniname2ctype_pool_str59[sizeof("me")]; 29717 char uniname2ctype_pool_str61[sizeof("inarmenian")]; 29718 char uniname2ctype_pool_str64[sizeof("ascii")]; 29719 char uniname2ctype_pool_str65[sizeof("s")]; 29720 char uniname2ctype_pool_str69[sizeof("insamaritan")]; 29721 char uniname2ctype_pool_str72[sizeof("cs")]; 29722 char uniname2ctype_pool_str74[sizeof("zs")]; 29723 char uniname2ctype_pool_str85[sizeof("inavestan")]; 29724 char uniname2ctype_pool_str92[sizeof("incommonindicnumberforms")]; 29725 char uniname2ctype_pool_str96[sizeof("incuneiformnumbersandpunctuation")]; 29726 char uniname2ctype_pool_str97[sizeof("inthai")]; 29727 char uniname2ctype_pool_str98[sizeof("inipaextensions")]; 29728 char uniname2ctype_pool_str105[sizeof("mtei")]; 29729 char uniname2ctype_pool_str110[sizeof("inspecials")]; 29730 char uniname2ctype_pool_str114[sizeof("initialpunctuation")]; 29731 char uniname2ctype_pool_str115[sizeof("inancientsymbols")]; 29732 char uniname2ctype_pool_str117[sizeof("inthaana")]; 29733 char uniname2ctype_pool_str130[sizeof("inmiscellaneousmathematicalsymbolsa")]; 29734 char uniname2ctype_pool_str134[sizeof("lc")]; 29735 char uniname2ctype_pool_str135[sizeof("inmusicalsymbols")]; 29736 char uniname2ctype_pool_str136[sizeof("lm")]; 29737 char uniname2ctype_pool_str137[sizeof("taile")]; 29738 char uniname2ctype_pool_str141[sizeof("sterm")]; 29739 char uniname2ctype_pool_str142[sizeof("lina")]; 29740 char uniname2ctype_pool_str144[sizeof("inlycian")]; 29741 char uniname2ctype_pool_str147[sizeof("inmyanmarextendeda")]; 29742 char uniname2ctype_pool_str151[sizeof("lana")]; 29743 char uniname2ctype_pool_str153[sizeof("alnum")]; 29744 char uniname2ctype_pool_str155[sizeof("intaitham")]; 29745 char uniname2ctype_pool_str157[sizeof("incontrolpictures")]; 29746 char uniname2ctype_pool_str161[sizeof("inmiscellaneoussymbols")]; 29747 char uniname2ctype_pool_str163[sizeof("inmalayalam")]; 29748 char uniname2ctype_pool_str166[sizeof("intransportandmapsymbols")]; 29749 char uniname2ctype_pool_str170[sizeof("inmiscellaneoussymbolsandarrows")]; 29750 char uniname2ctype_pool_str173[sizeof("inlineara")]; 29751 char uniname2ctype_pool_str175[sizeof("inmiscellaneoussymbolsandpictographs")]; 29752 char uniname2ctype_pool_str183[sizeof("taiviet")]; 29753 char uniname2ctype_pool_str186[sizeof("cwcm")]; 29754 char uniname2ctype_pool_str190[sizeof("sinhala")]; 29755 char uniname2ctype_pool_str203[sizeof("latn")]; 29756 char uniname2ctype_pool_str205[sizeof("latin")]; 29757 char uniname2ctype_pool_str206[sizeof("ital")]; 29758 char uniname2ctype_pool_str208[sizeof("intamil")]; 29759 char uniname2ctype_pool_str209[sizeof("taml")]; 29760 char uniname2ctype_pool_str223[sizeof("inlatinextendedc")]; 29761 char uniname2ctype_pool_str226[sizeof("intaile")]; 29762 char uniname2ctype_pool_str227[sizeof("tale")]; 29763 char uniname2ctype_pool_str237[sizeof("inlatinextendeda")]; 29764 char uniname2ctype_pool_str239[sizeof("inlinearbideograms")]; 29765 char uniname2ctype_pool_str240[sizeof("newtailue")]; 29766 char uniname2ctype_pool_str241[sizeof("l")]; 29767 char uniname2ctype_pool_str243[sizeof("nl")]; 29768 char uniname2ctype_pool_str247[sizeof("inmeeteimayekextensions")]; 29769 char uniname2ctype_pool_str250[sizeof("zl")]; 29770 char uniname2ctype_pool_str252[sizeof("lt")]; 29771 char uniname2ctype_pool_str255[sizeof("inrunic")]; 29772 char uniname2ctype_pool_str256[sizeof("incarian")]; 29773 char uniname2ctype_pool_str257[sizeof("armn")]; 29774 char uniname2ctype_pool_str259[sizeof("cari")]; 29775 char uniname2ctype_pool_str260[sizeof("armi")]; 29776 char uniname2ctype_pool_str261[sizeof("inlatinextendede")]; 29777 char uniname2ctype_pool_str263[sizeof("incyrillic")]; 29778 char uniname2ctype_pool_str266[sizeof("armenian")]; 29779 char uniname2ctype_pool_str267[sizeof("inmyanmar")]; 29780 char uniname2ctype_pool_str270[sizeof("innewtailue")]; 29781 char uniname2ctype_pool_str272[sizeof("carian")]; 29782 char uniname2ctype_pool_str274[sizeof("merc")]; 29783 char uniname2ctype_pool_str280[sizeof("arabic")]; 29784 char uniname2ctype_pool_str284[sizeof("inmiscellaneoustechnical")]; 29785 char uniname2ctype_pool_str287[sizeof("insyriac")]; 29786 char uniname2ctype_pool_str288[sizeof("samr")]; 29787 char uniname2ctype_pool_str294[sizeof("zinh")]; 29788 char uniname2ctype_pool_str295[sizeof("han")]; 29789 char uniname2ctype_pool_str298[sizeof("samaritan")]; 29790 char uniname2ctype_pool_str299[sizeof("hani")]; 29791 char uniname2ctype_pool_str302[sizeof("cwt")]; 29792 char uniname2ctype_pool_str303[sizeof("incherokee")]; 29793 char uniname2ctype_pool_str304[sizeof("insharada")]; 29794 char uniname2ctype_pool_str307[sizeof("cham")]; 29795 char uniname2ctype_pool_str315[sizeof("manichaean")]; 29796 char uniname2ctype_pool_str316[sizeof("inmahajani")]; 29797 char uniname2ctype_pool_str317[sizeof("cntrl")]; 29798 char uniname2ctype_pool_str318[sizeof("sinh")]; 29799 char uniname2ctype_pool_str320[sizeof("inruminumeralsymbols")]; 29800 char uniname2ctype_pool_str327[sizeof("inethiopic")]; 29801 char uniname2ctype_pool_str330[sizeof("tamil")]; 29802 char uniname2ctype_pool_str331[sizeof("miao")]; 29803 char uniname2ctype_pool_str332[sizeof("inenclosedalphanumerics")]; 29804 char uniname2ctype_pool_str333[sizeof("term")]; 29805 char uniname2ctype_pool_str335[sizeof("chakma")]; 29806 char uniname2ctype_pool_str337[sizeof("insinhala")]; 29807 char uniname2ctype_pool_str347[sizeof("shavian")]; 29808 char uniname2ctype_pool_str350[sizeof("inosmanya")]; 29809 char uniname2ctype_pool_str353[sizeof("inlatinextendedadditional")]; 29810 char uniname2ctype_pool_str359[sizeof("osma")]; 29811 char uniname2ctype_pool_str362[sizeof("ll")]; 29812 char uniname2ctype_pool_str363[sizeof("thai")]; 29813 char uniname2ctype_pool_str366[sizeof("math")]; 29814 char uniname2ctype_pool_str372[sizeof("thaa")]; 29815 char uniname2ctype_pool_str374[sizeof("inenclosedalphanumericsupplement")]; 29816 char uniname2ctype_pool_str375[sizeof("ethi")]; 29817 char uniname2ctype_pool_str376[sizeof("connectorpunctuation")]; 29818 char uniname2ctype_pool_str380[sizeof("inlowsurrogates")]; 29819 char uniname2ctype_pool_str382[sizeof("insinhalaarchaicnumbers")]; 29820 char uniname2ctype_pool_str386[sizeof("taitham")]; 29821 char uniname2ctype_pool_str388[sizeof("thaana")]; 29822 char uniname2ctype_pool_str390[sizeof("lineara")]; 29823 char uniname2ctype_pool_str392[sizeof("di")]; 29824 char uniname2ctype_pool_str401[sizeof("idc")]; 29825 char uniname2ctype_pool_str405[sizeof("meroiticcursive")]; 29826 char uniname2ctype_pool_str407[sizeof("mand")]; 29827 char uniname2ctype_pool_str408[sizeof("inmodi")]; 29828 char uniname2ctype_pool_str410[sizeof("inmandaic")]; 29829 char uniname2ctype_pool_str412[sizeof("cwl")]; 29830 char uniname2ctype_pool_str414[sizeof("asciihexdigit")]; 29831 char uniname2ctype_pool_str415[sizeof("dia")]; 29832 char uniname2ctype_pool_str418[sizeof("terminalpunctuation")]; 29833 char uniname2ctype_pool_str419[sizeof("mend")]; 29834 char uniname2ctype_pool_str423[sizeof("sind")]; 29835 char uniname2ctype_pool_str425[sizeof("wara")]; 29836 char uniname2ctype_pool_str433[sizeof("inwarangciti")]; 29837 char uniname2ctype_pool_str439[sizeof("inideographicdescriptioncharacters")]; 29838 char uniname2ctype_pool_str441[sizeof("inemoticons")]; 29839 char uniname2ctype_pool_str453[sizeof("ids")]; 29840 char uniname2ctype_pool_str456[sizeof("insundanese")]; 29841 char uniname2ctype_pool_str466[sizeof("pi")]; 29842 char uniname2ctype_pool_str468[sizeof("indominotiles")]; 29843 char uniname2ctype_pool_str470[sizeof("pc")]; 29844 char uniname2ctype_pool_str476[sizeof("loe")]; 29845 char uniname2ctype_pool_str477[sizeof("titlecaseletter")]; 29846 char uniname2ctype_pool_str485[sizeof("inopticalcharacterrecognition")]; 29847 char uniname2ctype_pool_str487[sizeof("idst")]; 29848 char uniname2ctype_pool_str489[sizeof("shaw")]; 29849 char uniname2ctype_pool_str490[sizeof("cwcf")]; 29850 char uniname2ctype_pool_str493[sizeof("idcontinue")]; 29851 char uniname2ctype_pool_str502[sizeof("inphaistosdisc")]; 29852 char uniname2ctype_pool_str508[sizeof("pe")]; 29853 char uniname2ctype_pool_str518[sizeof("indeseret")]; 29854 char uniname2ctype_pool_str519[sizeof("inspacingmodifierletters")]; 29855 char uniname2ctype_pool_str520[sizeof("inlydian")]; 29856 char uniname2ctype_pool_str522[sizeof("ps")]; 29857 char uniname2ctype_pool_str530[sizeof("hira")]; 29858 char uniname2ctype_pool_str536[sizeof("whitespace")]; 29859 char uniname2ctype_pool_str540[sizeof("inscriptionalparthian")]; 29860 char uniname2ctype_pool_str544[sizeof("cher")]; 29861 char uniname2ctype_pool_str545[sizeof("inmathematicalalphanumericsymbols")]; 29862 char uniname2ctype_pool_str546[sizeof("incoptic")]; 29863 char uniname2ctype_pool_str550[sizeof("inhiragana")]; 29864 char uniname2ctype_pool_str554[sizeof("inenclosedcjklettersandmonths")]; 29865 char uniname2ctype_pool_str556[sizeof("space")]; 29866 char uniname2ctype_pool_str570[sizeof("oriya")]; 29867 char uniname2ctype_pool_str571[sizeof("mero")]; 29868 char uniname2ctype_pool_str573[sizeof("mahj")]; 29869 char uniname2ctype_pool_str582[sizeof("tirh")]; 29870 char uniname2ctype_pool_str584[sizeof("sora")]; 29871 char uniname2ctype_pool_str587[sizeof("inscriptionalpahlavi")]; 29872 char uniname2ctype_pool_str593[sizeof("inarrows")]; 29873 char uniname2ctype_pool_str594[sizeof("mahajani")]; 29874 char uniname2ctype_pool_str596[sizeof("joinc")]; 29875 char uniname2ctype_pool_str597[sizeof("incopticepactnumbers")]; 29876 char uniname2ctype_pool_str598[sizeof("hano")]; 29877 char uniname2ctype_pool_str600[sizeof("palm")]; 29878 char uniname2ctype_pool_str601[sizeof("intirhuta")]; 29879 char uniname2ctype_pool_str603[sizeof("patws")]; 29880 char uniname2ctype_pool_str604[sizeof("inolchiki")]; 29881 char uniname2ctype_pool_str608[sizeof("inlepcha")]; 29882 char uniname2ctype_pool_str609[sizeof("no")]; 29883 char uniname2ctype_pool_str611[sizeof("lepc")]; 29884 char uniname2ctype_pool_str612[sizeof("inogham")]; 29885 char uniname2ctype_pool_str614[sizeof("co")]; 29886 char uniname2ctype_pool_str617[sizeof("innko")]; 29887 char uniname2ctype_pool_str620[sizeof("alpha")]; 29888 char uniname2ctype_pool_str622[sizeof("psalterpahlavi")]; 29889 char uniname2ctype_pool_str623[sizeof("inmro")]; 29890 char uniname2ctype_pool_str624[sizeof("inpalmyrene")]; 29891 char uniname2ctype_pool_str627[sizeof("common")]; 29892 char uniname2ctype_pool_str630[sizeof("cf")]; 29893 char uniname2ctype_pool_str637[sizeof("inmiao")]; 29894 char uniname2ctype_pool_str640[sizeof("so")]; 29895 char uniname2ctype_pool_str650[sizeof("diacritic")]; 29896 char uniname2ctype_pool_str658[sizeof("insundanesesupplement")]; 29897 char uniname2ctype_pool_str672[sizeof("intifinagh")]; 29898 char uniname2ctype_pool_str679[sizeof("tifinagh")]; 29899 char uniname2ctype_pool_str696[sizeof("odi")]; 29900 char uniname2ctype_pool_str699[sizeof("oidc")]; 29901 char uniname2ctype_pool_str700[sizeof("modi")]; 29902 char uniname2ctype_pool_str703[sizeof("decimalnumber")]; 29903 char uniname2ctype_pool_str705[sizeof("letter")]; 29904 char uniname2ctype_pool_str708[sizeof("dash")]; 29905 char uniname2ctype_pool_str709[sizeof("insylotinagri")]; 29906 char uniname2ctype_pool_str711[sizeof("inolditalic")]; 29907 char uniname2ctype_pool_str713[sizeof("wspace")]; 29908 char uniname2ctype_pool_str715[sizeof("dsrt")]; 29909 char uniname2ctype_pool_str718[sizeof("ideo")]; 29910 char uniname2ctype_pool_str722[sizeof("siddham")]; 29911 char uniname2ctype_pool_str724[sizeof("perm")]; 29912 char uniname2ctype_pool_str725[sizeof("oids")]; 29913 char uniname2ctype_pool_str727[sizeof("inmahjongtiles")]; 29914 char uniname2ctype_pool_str728[sizeof("lo")]; 29915 char uniname2ctype_pool_str730[sizeof("lineseparator")]; 29916 char uniname2ctype_pool_str731[sizeof("imperialaramaic")]; 29917 char uniname2ctype_pool_str735[sizeof("idstart")]; 29918 char uniname2ctype_pool_str736[sizeof("inlao")]; 29919 char uniname2ctype_pool_str737[sizeof("sharada")]; 29920 char uniname2ctype_pool_str742[sizeof("lao")]; 29921 char uniname2ctype_pool_str743[sizeof("laoo")]; 29922 char uniname2ctype_pool_str744[sizeof("mongolian")]; 29923 char uniname2ctype_pool_str745[sizeof("oalpha")]; 29924 char uniname2ctype_pool_str749[sizeof("inimperialaramaic")]; 29925 char uniname2ctype_pool_str753[sizeof("nchar")]; 29926 char uniname2ctype_pool_str758[sizeof("inlatin1supplement")]; 29927 char uniname2ctype_pool_str761[sizeof("prti")]; 29928 char uniname2ctype_pool_str763[sizeof("cprt")]; 29929 char uniname2ctype_pool_str767[sizeof("nd")]; 29930 char uniname2ctype_pool_str768[sizeof("deseret")]; 29931 char uniname2ctype_pool_str772[sizeof("inoldturkic")]; 29932 char uniname2ctype_pool_str773[sizeof("radical")]; 29933 char uniname2ctype_pool_str777[sizeof("canadianaboriginal")]; 29934 char uniname2ctype_pool_str779[sizeof("inmodifiertoneletters")]; 29935 char uniname2ctype_pool_str783[sizeof("incaucasianalbanian")]; 29936 char uniname2ctype_pool_str787[sizeof("coptic")]; 29937 char uniname2ctype_pool_str796[sizeof("casedletter")]; 29938 char uniname2ctype_pool_str798[sizeof("sd")]; 29939 char uniname2ctype_pool_str803[sizeof("inphoenician")]; 29940 char uniname2ctype_pool_str804[sizeof("sidd")]; 29941 char uniname2ctype_pool_str805[sizeof("privateuse")]; 29942 char uniname2ctype_pool_str813[sizeof("sundanese")]; 29943 char uniname2ctype_pool_str815[sizeof("inancientgreekmusicalnotation")]; 29944 char uniname2ctype_pool_str817[sizeof("insiddham")]; 29945 char uniname2ctype_pool_str820[sizeof("cased")]; 29946 char uniname2ctype_pool_str827[sizeof("print")]; 29947 char uniname2ctype_pool_str830[sizeof("ininscriptionalparthian")]; 29948 char uniname2ctype_pool_str832[sizeof("ininscriptionalpahlavi")]; 29949 char uniname2ctype_pool_str834[sizeof("copt")]; 29950 char uniname2ctype_pool_str838[sizeof("inancientgreeknumbers")]; 29951 char uniname2ctype_pool_str845[sizeof("saurashtra")]; 29952 char uniname2ctype_pool_str848[sizeof("mro")]; 29953 char uniname2ctype_pool_str849[sizeof("mroo")]; 29954 char uniname2ctype_pool_str850[sizeof("inalphabeticpresentationforms")]; 29955 char uniname2ctype_pool_str858[sizeof("lowercase")]; 29956 char uniname2ctype_pool_str861[sizeof("phli")]; 29957 char uniname2ctype_pool_str864[sizeof("patternwhitespace")]; 29958 char uniname2ctype_pool_str866[sizeof("inenclosedideographicsupplement")]; 29959 char uniname2ctype_pool_str869[sizeof("spaceseparator")]; 29960 char uniname2ctype_pool_str871[sizeof("inmathematicaloperators")]; 29961 char uniname2ctype_pool_str882[sizeof("omath")]; 29962 char uniname2ctype_pool_str892[sizeof("lisu")]; 29963 char uniname2ctype_pool_str895[sizeof("inpsalterpahlavi")]; 29964 char uniname2ctype_pool_str898[sizeof("olditalic")]; 29965 char uniname2ctype_pool_str905[sizeof("hanunoo")]; 29966 char uniname2ctype_pool_str909[sizeof("inherited")]; 29967 char uniname2ctype_pool_str910[sizeof("lepcha")]; 29968 char uniname2ctype_pool_str913[sizeof("p")]; 29969 char uniname2ctype_pool_str916[sizeof("inmongolian")]; 29970 char uniname2ctype_pool_str922[sizeof("zp")]; 29971 char uniname2ctype_pool_str923[sizeof("finalpunctuation")]; 29972 char uniname2ctype_pool_str925[sizeof("otheridcontinue")]; 29973 char uniname2ctype_pool_str927[sizeof("shrd")]; 29974 char uniname2ctype_pool_str932[sizeof("ingrantha")]; 29975 char uniname2ctype_pool_str934[sizeof("talu")]; 29976 char uniname2ctype_pool_str936[sizeof("otheralphabetic")]; 29977 char uniname2ctype_pool_str938[sizeof("noncharactercodepoint")]; 34895 char uniname2ctype_pool_str10[sizeof("yi")]; 34896 char uniname2ctype_pool_str13[sizeof("cn")]; 34897 char uniname2ctype_pool_str14[sizeof("lina")]; 34898 char uniname2ctype_pool_str15[sizeof("yiii")]; 34899 char uniname2ctype_pool_str16[sizeof("lana")]; 34900 char uniname2ctype_pool_str17[sizeof("ci")]; 34901 char uniname2ctype_pool_str19[sizeof("mn")]; 34902 char uniname2ctype_pool_str26[sizeof("z")]; 34903 char uniname2ctype_pool_str28[sizeof("mani")]; 34904 char uniname2ctype_pool_str33[sizeof("lo")]; 34905 char uniname2ctype_pool_str35[sizeof("me")]; 34906 char uniname2ctype_pool_str37[sizeof("loe")]; 34907 char uniname2ctype_pool_str39[sizeof("lao")]; 34908 char uniname2ctype_pool_str40[sizeof("laoo")]; 34909 char uniname2ctype_pool_str41[sizeof("co")]; 34910 char uniname2ctype_pool_str42[sizeof("miao")]; 34911 char uniname2ctype_pool_str47[sizeof("pi")]; 34912 char uniname2ctype_pool_str51[sizeof("inkannada")]; 34913 char uniname2ctype_pool_str52[sizeof("gran")]; 34914 char uniname2ctype_pool_str54[sizeof("innko")]; 34915 char uniname2ctype_pool_str55[sizeof("zzzz")]; 34916 char uniname2ctype_pool_str59[sizeof("pe")]; 34917 char uniname2ctype_pool_str60[sizeof("cari")]; 34918 char uniname2ctype_pool_str61[sizeof("lineara")]; 34919 char uniname2ctype_pool_str66[sizeof("carian")]; 34920 char uniname2ctype_pool_str69[sizeof("mendekikakui")]; 34921 char uniname2ctype_pool_str70[sizeof("geor")]; 34922 char uniname2ctype_pool_str71[sizeof("po")]; 34923 char uniname2ctype_pool_str72[sizeof("grek")]; 34924 char uniname2ctype_pool_str73[sizeof("meeteimayek")]; 34925 char uniname2ctype_pool_str80[sizeof("mark")]; 34926 char uniname2ctype_pool_str82[sizeof("mero")]; 34927 char uniname2ctype_pool_str85[sizeof("kana")]; 34928 char uniname2ctype_pool_str86[sizeof("m")]; 34929 char uniname2ctype_pool_str87[sizeof("mro")]; 34930 char uniname2ctype_pool_str88[sizeof("mroo")]; 34931 char uniname2ctype_pool_str90[sizeof("greek")]; 34932 char uniname2ctype_pool_str93[sizeof("gonm")]; 34933 char uniname2ctype_pool_str97[sizeof("inkharoshthi")]; 34934 char uniname2ctype_pool_str105[sizeof("cakm")]; 34935 char uniname2ctype_pool_str106[sizeof("inmanichaean")]; 34936 char uniname2ctype_pool_str111[sizeof("c")]; 34937 char uniname2ctype_pool_str113[sizeof("inarmenian")]; 34938 char uniname2ctype_pool_str117[sizeof("common")]; 34939 char uniname2ctype_pool_str122[sizeof("inosmanya")]; 34940 char uniname2ctype_pool_str123[sizeof("inmro")]; 34941 char uniname2ctype_pool_str129[sizeof("inmiao")]; 34942 char uniname2ctype_pool_str137[sizeof("mandaic")]; 34943 char uniname2ctype_pool_str142[sizeof("inmyanmar")]; 34944 char uniname2ctype_pool_str143[sizeof("lm")]; 34945 char uniname2ctype_pool_str150[sizeof("prependedconcatenationmark")]; 34946 char uniname2ctype_pool_str153[sizeof("inideographicsymbolsandpunctuation")]; 34947 char uniname2ctype_pool_str154[sizeof("inchakma")]; 34948 char uniname2ctype_pool_str160[sizeof("inkhmer")]; 34949 char uniname2ctype_pool_str161[sizeof("perm")]; 34950 char uniname2ctype_pool_str162[sizeof("connectorpunctuation")]; 34951 char uniname2ctype_pool_str164[sizeof("marc")]; 34952 char uniname2ctype_pool_str167[sizeof("combiningmark")]; 34953 char uniname2ctype_pool_str168[sizeof("merc")]; 34954 char uniname2ctype_pool_str169[sizeof("inrunic")]; 34955 char uniname2ctype_pool_str170[sizeof("incarian")]; 34956 char uniname2ctype_pool_str172[sizeof("incuneiformnumbersandpunctuation")]; 34957 char uniname2ctype_pool_str184[sizeof("inahom")]; 34958 char uniname2ctype_pool_str186[sizeof("incherokee")]; 34959 char uniname2ctype_pool_str191[sizeof("qaai")]; 34960 char uniname2ctype_pool_str193[sizeof("cans")]; 34961 char uniname2ctype_pool_str205[sizeof("lc")]; 34962 char uniname2ctype_pool_str210[sizeof("incuneiform")]; 34963 char uniname2ctype_pool_str213[sizeof("cc")]; 34964 char uniname2ctype_pool_str215[sizeof("armn")]; 34965 char uniname2ctype_pool_str216[sizeof("inavestan")]; 34966 char uniname2ctype_pool_str217[sizeof("armi")]; 34967 char uniname2ctype_pool_str219[sizeof("mc")]; 34968 char uniname2ctype_pool_str223[sizeof("armenian")]; 34969 char uniname2ctype_pool_str227[sizeof("inipaextensions")]; 34970 char uniname2ctype_pool_str238[sizeof("inmarchen")]; 34971 char uniname2ctype_pool_str243[sizeof("pc")]; 34972 char uniname2ctype_pool_str250[sizeof("insharada")]; 34973 char uniname2ctype_pool_str255[sizeof("lineseparator")]; 34974 char uniname2ctype_pool_str256[sizeof("masaramgondi")]; 34975 char uniname2ctype_pool_str259[sizeof("inarrows")]; 34976 char uniname2ctype_pool_str268[sizeof("ri")]; 34977 char uniname2ctype_pool_str270[sizeof("incham")]; 34978 char uniname2ctype_pool_str271[sizeof("latn")]; 34979 char uniname2ctype_pool_str272[sizeof("incyrillic")]; 34980 char uniname2ctype_pool_str273[sizeof("latin")]; 34981 char uniname2ctype_pool_str276[sizeof("inzanabazarsquare")]; 34982 char uniname2ctype_pool_str279[sizeof("insamaritan")]; 34983 char uniname2ctype_pool_str283[sizeof("pcm")]; 34984 char uniname2ctype_pool_str285[sizeof("inmasaramgondi")]; 34985 char uniname2ctype_pool_str288[sizeof("qmark")]; 34986 char uniname2ctype_pool_str289[sizeof("qaac")]; 34987 char uniname2ctype_pool_str291[sizeof("mtei")]; 34988 char uniname2ctype_pool_str295[sizeof("inthai")]; 34989 char uniname2ctype_pool_str300[sizeof("inscriptionalparthian")]; 34990 char uniname2ctype_pool_str301[sizeof("inthaana")]; 34991 char uniname2ctype_pool_str309[sizeof("inkaithi")]; 34992 char uniname2ctype_pool_str311[sizeof("initialpunctuation")]; 34993 char uniname2ctype_pool_str315[sizeof("inkatakana")]; 34994 char uniname2ctype_pool_str317[sizeof("inkhmersymbols")]; 34995 char uniname2ctype_pool_str343[sizeof("insyriac")]; 34996 char uniname2ctype_pool_str344[sizeof("intakri")]; 34997 char uniname2ctype_pool_str345[sizeof("prti")]; 34998 char uniname2ctype_pool_str356[sizeof("arabic")]; 34999 char uniname2ctype_pool_str357[sizeof("mand")]; 35000 char uniname2ctype_pool_str359[sizeof("cs")]; 35001 char uniname2ctype_pool_str361[sizeof("mend")]; 35002 char uniname2ctype_pool_str362[sizeof("zs")]; 35003 char uniname2ctype_pool_str363[sizeof("letter")]; 35004 char uniname2ctype_pool_str365[sizeof("privateuse")]; 35005 char uniname2ctype_pool_str369[sizeof("modi")]; 35006 char uniname2ctype_pool_str370[sizeof("katakana")]; 35007 char uniname2ctype_pool_str377[sizeof("ideo")]; 35008 char uniname2ctype_pool_str383[sizeof("brai")]; 35009 char uniname2ctype_pool_str384[sizeof("xidcontinue")]; 35010 char uniname2ctype_pool_str386[sizeof("inmyanmarextendeda")]; 35011 char uniname2ctype_pool_str387[sizeof("ascii")]; 35012 char uniname2ctype_pool_str389[sizeof("ps")]; 35013 char uniname2ctype_pool_str393[sizeof("inkanaextendeda")]; 35014 char uniname2ctype_pool_str396[sizeof("inmeeteimayek")]; 35015 char uniname2ctype_pool_str399[sizeof("inruminumeralsymbols")]; 35016 char uniname2ctype_pool_str408[sizeof("letternumber")]; 35017 char uniname2ctype_pool_str412[sizeof("knda")]; 35018 char uniname2ctype_pool_str425[sizeof("kannada")]; 35019 char uniname2ctype_pool_str428[sizeof("inoldnortharabian")]; 35020 char uniname2ctype_pool_str430[sizeof("inideographicdescriptioncharacters")]; 35021 char uniname2ctype_pool_str432[sizeof("inmodi")]; 35022 char uniname2ctype_pool_str440[sizeof("incjkcompatibilityforms")]; 35023 char uniname2ctype_pool_str445[sizeof("incjkcompatibilityideographs")]; 35024 char uniname2ctype_pool_str453[sizeof("xidc")]; 35025 char uniname2ctype_pool_str455[sizeof("inmendekikakui")]; 35026 char uniname2ctype_pool_str458[sizeof("brahmi")]; 35027 char uniname2ctype_pool_str480[sizeof("inolditalic")]; 35028 char uniname2ctype_pool_str482[sizeof("inmiscellaneousmathematicalsymbolsa")]; 35029 char uniname2ctype_pool_str486[sizeof("inspecials")]; 35030 char uniname2ctype_pool_str487[sizeof("inemoticons")]; 35031 char uniname2ctype_pool_str488[sizeof("patternwhitespace")]; 35032 char uniname2ctype_pool_str489[sizeof("gothic")]; 35033 char uniname2ctype_pool_str492[sizeof("intransportandmapsymbols")]; 35034 char uniname2ctype_pool_str493[sizeof("l")]; 35035 char uniname2ctype_pool_str509[sizeof("psalterpahlavi")]; 35036 char uniname2ctype_pool_str516[sizeof("vai")]; 35037 char uniname2ctype_pool_str517[sizeof("vaii")]; 35038 char uniname2ctype_pool_str523[sizeof("lt")]; 35039 char uniname2ctype_pool_str524[sizeof("meroiticcursive")]; 35040 char uniname2ctype_pool_str526[sizeof("xids")]; 35041 char uniname2ctype_pool_str530[sizeof("incommonindicnumberforms")]; 35042 char uniname2ctype_pool_str531[sizeof("inmandaic")]; 35043 char uniname2ctype_pool_str533[sizeof("inlineara")]; 35044 char uniname2ctype_pool_str541[sizeof("incjkcompatibilityideographssupplement")]; 35045 char uniname2ctype_pool_str544[sizeof("inlao")]; 35046 char uniname2ctype_pool_str545[sizeof("insundanese")]; 35047 char uniname2ctype_pool_str547[sizeof("mongolian")]; 35048 char uniname2ctype_pool_str552[sizeof("bamum")]; 35049 char uniname2ctype_pool_str554[sizeof("idc")]; 35050 char uniname2ctype_pool_str561[sizeof("inancientsymbols")]; 35051 char uniname2ctype_pool_str573[sizeof("kali")]; 35052 char uniname2ctype_pool_str574[sizeof("grlink")]; 35053 char uniname2ctype_pool_str576[sizeof("grext")]; 35054 char uniname2ctype_pool_str577[sizeof("control")]; 35055 char uniname2ctype_pool_str586[sizeof("inkanasupplement")]; 35056 char uniname2ctype_pool_str591[sizeof("inopticalcharacterrecognition")]; 35057 char uniname2ctype_pool_str596[sizeof("inadlam")]; 35058 char uniname2ctype_pool_str598[sizeof("so")]; 35059 char uniname2ctype_pool_str601[sizeof("inoldsoutharabian")]; 35060 char uniname2ctype_pool_str602[sizeof("sk")]; 35061 char uniname2ctype_pool_str606[sizeof("print")]; 35062 char uniname2ctype_pool_str607[sizeof("idsbinaryoperator")]; 35063 char uniname2ctype_pool_str609[sizeof("palm")]; 35064 char uniname2ctype_pool_str618[sizeof("batk")]; 35065 char uniname2ctype_pool_str619[sizeof("indominotiles")]; 35066 char uniname2ctype_pool_str620[sizeof("intaitham")]; 35067 char uniname2ctype_pool_str622[sizeof("inlycian")]; 35068 char uniname2ctype_pool_str629[sizeof("sora")]; 35069 char uniname2ctype_pool_str636[sizeof("batak")]; 35070 char uniname2ctype_pool_str642[sizeof("inmodifiertoneletters")]; 35071 char uniname2ctype_pool_str657[sizeof("patws")]; 35072 char uniname2ctype_pool_str665[sizeof("inmalayalam")]; 35073 char uniname2ctype_pool_str670[sizeof("incjkstrokes")]; 35074 char uniname2ctype_pool_str681[sizeof("incontrolpictures")]; 35075 char uniname2ctype_pool_str684[sizeof("samr")]; 35076 char uniname2ctype_pool_str689[sizeof("bass")]; 35077 char uniname2ctype_pool_str693[sizeof("samaritan")]; 35078 char uniname2ctype_pool_str699[sizeof("inmusicalsymbols")]; 35079 char uniname2ctype_pool_str700[sizeof("ids")]; 35080 char uniname2ctype_pool_str705[sizeof("pd")]; 35081 char uniname2ctype_pool_str708[sizeof("sm")]; 35082 char uniname2ctype_pool_str715[sizeof("pauc")]; 35083 char uniname2ctype_pool_str716[sizeof("joinc")]; 35084 char uniname2ctype_pool_str725[sizeof("inlinearbideograms")]; 35085 char uniname2ctype_pool_str730[sizeof("idcontinue")]; 35086 char uniname2ctype_pool_str732[sizeof("inancientgreekmusicalnotation")]; 35087 char uniname2ctype_pool_str737[sizeof("inoldturkic")]; 35088 char uniname2ctype_pool_str738[sizeof("alnum")]; 35089 char uniname2ctype_pool_str739[sizeof("inugaritic")]; 35090 char uniname2ctype_pool_str741[sizeof("s")]; 35091 char uniname2ctype_pool_str742[sizeof("inmiscellaneoussymbols")]; 35092 char uniname2ctype_pool_str743[sizeof("n")]; 35093 char uniname2ctype_pool_str748[sizeof("lisu")]; 35094 char uniname2ctype_pool_str751[sizeof("inmiscellaneoussymbolsandarrows")]; 35095 char uniname2ctype_pool_str753[sizeof("insylotinagri")]; 35096 char uniname2ctype_pool_str756[sizeof("inmiscellaneoussymbolsandpictographs")]; 35097 char uniname2ctype_pool_str770[sizeof("sc")]; 35098 char uniname2ctype_pool_str773[sizeof("no")]; 35099 char uniname2ctype_pool_str777[sizeof("ital")]; 35100 char uniname2ctype_pool_str781[sizeof("p")]; 35101 char uniname2ctype_pool_str782[sizeof("xpeo")]; 35102 char uniname2ctype_pool_str785[sizeof("di")]; 35103 char uniname2ctype_pool_str787[sizeof("idst")]; 35104 char uniname2ctype_pool_str788[sizeof("intaile")]; 35105 char uniname2ctype_pool_str791[sizeof("nko")]; 35106 char uniname2ctype_pool_str792[sizeof("nkoo")]; 35107 char uniname2ctype_pool_str793[sizeof("dia")]; 35108 char uniname2ctype_pool_str797[sizeof("inphoenician")]; 35109 char uniname2ctype_pool_str799[sizeof("inlatinextendeda")]; 35110 char uniname2ctype_pool_str802[sizeof("indeseret")]; 35111 char uniname2ctype_pool_str807[sizeof("inlatinextendede")]; 35112 char uniname2ctype_pool_str812[sizeof("incaucasianalbanian")]; 35113 char uniname2ctype_pool_str819[sizeof("insaurashtra")]; 35114 char uniname2ctype_pool_str823[sizeof("inmeeteimayekextensions")]; 35115 char uniname2ctype_pool_str834[sizeof("idstart")]; 35116 char uniname2ctype_pool_str835[sizeof("bali")]; 35117 char uniname2ctype_pool_str837[sizeof("inspacingmodifierletters")]; 35118 char uniname2ctype_pool_str848[sizeof("bengali")]; 35119 char uniname2ctype_pool_str849[sizeof("intamil")]; 35120 char uniname2ctype_pool_str851[sizeof("inmultani")]; 35121 char uniname2ctype_pool_str852[sizeof("vs")]; 35122 char uniname2ctype_pool_str853[sizeof("inlydian")]; 35123 char uniname2ctype_pool_str855[sizeof("balinese")]; 35124 char uniname2ctype_pool_str856[sizeof("lepc")]; 35125 char uniname2ctype_pool_str857[sizeof("cased")]; 35126 char uniname2ctype_pool_str862[sizeof("zinh")]; 35127 char uniname2ctype_pool_str867[sizeof("blank")]; 35128 char uniname2ctype_pool_str870[sizeof("runr")]; 35129 char uniname2ctype_pool_str872[sizeof("patternsyntax")]; 35130 char uniname2ctype_pool_str874[sizeof("bidic")]; 35131 char uniname2ctype_pool_str877[sizeof("xdigit")]; 35132 char uniname2ctype_pool_str881[sizeof("xidstart")]; 35133 char uniname2ctype_pool_str885[sizeof("inphaistosdisc")]; 35134 char uniname2ctype_pool_str897[sizeof("inancientgreeknumbers")]; 35135 char uniname2ctype_pool_str899[sizeof("canadianaboriginal")]; 35136 char uniname2ctype_pool_str903[sizeof("cher")]; 35137 char uniname2ctype_pool_str905[sizeof("plrd")]; 35138 char uniname2ctype_pool_str906[sizeof("sind")]; 35139 char uniname2ctype_pool_str909[sizeof("cherokee")]; 35140 char uniname2ctype_pool_str911[sizeof("phoenician")]; 35141 char uniname2ctype_pool_str918[sizeof("marchen")]; 35142 char uniname2ctype_pool_str919[sizeof("inhiragana")]; 35143 char uniname2ctype_pool_str926[sizeof("inearlydynasticcuneiform")]; 35144 char uniname2ctype_pool_str928[sizeof("graphemebase")]; 35145 char uniname2ctype_pool_str930[sizeof("cham")]; 35146 char uniname2ctype_pool_str931[sizeof("inimperialaramaic")]; 35147 char uniname2ctype_pool_str932[sizeof("kaithi")]; 35148 char uniname2ctype_pool_str935[sizeof("insiddham")]; 35149 char uniname2ctype_pool_str937[sizeof("diacritic")]; 35150 char uniname2ctype_pool_str942[sizeof("chakma")]; 35151 char uniname2ctype_pool_str944[sizeof("graphemelink")]; 35152 char uniname2ctype_pool_str947[sizeof("inkhudawadi")]; 35153 char uniname2ctype_pool_str948[sizeof("inmahajani")]; 35154 char uniname2ctype_pool_str956[sizeof("khojki")]; 35155 char uniname2ctype_pool_str957[sizeof("inogham")]; 35156 char uniname2ctype_pool_str960[sizeof("khar")]; 35157 char uniname2ctype_pool_str966[sizeof("incountingrodnumerals")]; 35158 char uniname2ctype_pool_str975[sizeof("manichaean")]; 35159 char uniname2ctype_pool_str976[sizeof("coptic")]; 35160 char uniname2ctype_pool_str977[sizeof("bamu")]; 35161 char uniname2ctype_pool_str980[sizeof("sterm")]; 35162 char uniname2ctype_pool_str983[sizeof("inethiopic")]; 35163 char uniname2ctype_pool_str985[sizeof("ll")]; 35164 char uniname2ctype_pool_str988[sizeof("inolchiki")]; 35165 char uniname2ctype_pool_str991[sizeof("inlatinextendedc")]; 35166 char uniname2ctype_pool_str996[sizeof("zl")]; 35167 char uniname2ctype_pool_str998[sizeof("adlm")]; 35168 char uniname2ctype_pool_str1016[sizeof("incyrillicsupplement")]; 35169 char uniname2ctype_pool_str1019[sizeof("incyrillicextendeda")]; 35170 char uniname2ctype_pool_str1022[sizeof("incherokeesupplement")]; 35171 char uniname2ctype_pool_str1023[sizeof("decimalnumber")]; 35172 char uniname2ctype_pool_str1025[sizeof("khmr")]; 35173 char uniname2ctype_pool_str1029[sizeof("copt")]; 35174 char uniname2ctype_pool_str1032[sizeof("ahom")]; 35175 char uniname2ctype_pool_str1034[sizeof("runic")]; 35176 char uniname2ctype_pool_str1048[sizeof("intaixuanjingsymbols")]; 35177 char uniname2ctype_pool_str1049[sizeof("insinhala")]; 35178 char uniname2ctype_pool_str1053[sizeof("cprt")]; 35179 char uniname2ctype_pool_str1056[sizeof("imperialaramaic")]; 35180 char uniname2ctype_pool_str1061[sizeof("casedletter")]; 35181 char uniname2ctype_pool_str1065[sizeof("khmer")]; 35182 char uniname2ctype_pool_str1067[sizeof("linb")]; 35183 char uniname2ctype_pool_str1069[sizeof("adlam")]; 35184 char uniname2ctype_pool_str1076[sizeof("ininscriptionalparthian")]; 35185 char uniname2ctype_pool_str1077[sizeof("ininscriptionalpahlavi")]; 35186 char uniname2ctype_pool_str1078[sizeof("sinhala")]; 35187 char uniname2ctype_pool_str1080[sizeof("zanb")]; 35188 char uniname2ctype_pool_str1086[sizeof("incjkunifiedideographsextensiona")]; 35189 char uniname2ctype_pool_str1088[sizeof("multani")]; 35190 char uniname2ctype_pool_str1089[sizeof("quotationmark")]; 35191 char uniname2ctype_pool_str1090[sizeof("incjkunifiedideographsextensione")]; 35192 char uniname2ctype_pool_str1094[sizeof("innabataean")]; 35193 char uniname2ctype_pool_str1098[sizeof("inbhaiksuki")]; 35194 char uniname2ctype_pool_str1100[sizeof("inelbasan")]; 35195 char uniname2ctype_pool_str1103[sizeof("inkanbun")]; 35196 char uniname2ctype_pool_str1104[sizeof("inscriptionalpahlavi")]; 35197 char uniname2ctype_pool_str1107[sizeof("bopo")]; 35198 char uniname2ctype_pool_str1114[sizeof("linearb")]; 35199 char uniname2ctype_pool_str1115[sizeof("incyrillicextendedc")]; 35200 char uniname2ctype_pool_str1116[sizeof("glagolitic")]; 35201 char uniname2ctype_pool_str1119[sizeof("kharoshthi")]; 35202 char uniname2ctype_pool_str1120[sizeof("inoldpersian")]; 35203 char uniname2ctype_pool_str1124[sizeof("goth")]; 35204 char uniname2ctype_pool_str1126[sizeof("math")]; 35205 char uniname2ctype_pool_str1127[sizeof("joincontrol")]; 35206 char uniname2ctype_pool_str1131[sizeof("punct")]; 35207 char uniname2ctype_pool_str1135[sizeof("lu")]; 35208 char uniname2ctype_pool_str1136[sizeof("limb")]; 35209 char uniname2ctype_pool_str1147[sizeof("inmiscellaneoustechnical")]; 35210 char uniname2ctype_pool_str1152[sizeof("han")]; 35211 char uniname2ctype_pool_str1155[sizeof("hani")]; 35212 char uniname2ctype_pool_str1156[sizeof("invai")]; 35213 char uniname2ctype_pool_str1157[sizeof("sundanese")]; 35214 char uniname2ctype_pool_str1158[sizeof("taile")]; 35215 char uniname2ctype_pool_str1160[sizeof("takri")]; 35216 char uniname2ctype_pool_str1161[sizeof("grantha")]; 35217 char uniname2ctype_pool_str1167[sizeof("hano")]; 35218 char uniname2ctype_pool_str1168[sizeof("inhatran")]; 35219 char uniname2ctype_pool_str1172[sizeof("oriya")]; 35220 char uniname2ctype_pool_str1173[sizeof("intirhuta")]; 35221 char uniname2ctype_pool_str1178[sizeof("guru")]; 35222 char uniname2ctype_pool_str1179[sizeof("kthi")]; 35223 char uniname2ctype_pool_str1180[sizeof("saur")]; 35224 char uniname2ctype_pool_str1182[sizeof("incjkunifiedideographsextensionc")]; 35225 char uniname2ctype_pool_str1186[sizeof("hanunoo")]; 35226 char uniname2ctype_pool_str1189[sizeof("paucinhau")]; 35227 char uniname2ctype_pool_str1192[sizeof("takr")]; 35228 char uniname2ctype_pool_str1193[sizeof("hira")]; 35229 char uniname2ctype_pool_str1195[sizeof("inarabic")]; 35230 char uniname2ctype_pool_str1196[sizeof("bopomofo")]; 35231 char uniname2ctype_pool_str1201[sizeof("radical")]; 35232 char uniname2ctype_pool_str1202[sizeof("gurmukhi")]; 35233 char uniname2ctype_pool_str1203[sizeof("inkhojki")]; 35234 char uniname2ctype_pool_str1207[sizeof("arab")]; 35235 char uniname2ctype_pool_str1211[sizeof("limbu")]; 35236 char uniname2ctype_pool_str1218[sizeof("inoldpermic")]; 35237 char uniname2ctype_pool_str1222[sizeof("brah")]; 35238 char uniname2ctype_pool_str1225[sizeof("inoldhungarian")]; 35239 char uniname2ctype_pool_str1227[sizeof("inshorthandformatcontrols")]; 35240 char uniname2ctype_pool_str1229[sizeof("incoptic")]; 35241 char uniname2ctype_pool_str1232[sizeof("sd")]; 35242 char uniname2ctype_pool_str1237[sizeof("sidd")]; 35243 char uniname2ctype_pool_str1243[sizeof("inherited")]; 35244 char uniname2ctype_pool_str1245[sizeof("incjkunifiedideographs")]; 35245 char uniname2ctype_pool_str1249[sizeof("term")]; 35246 char uniname2ctype_pool_str1252[sizeof("incjksymbolsandpunctuation")]; 35247 char uniname2ctype_pool_str1253[sizeof("graphemeextend")]; 35248 char uniname2ctype_pool_str1254[sizeof("dsrt")]; 35249 char uniname2ctype_pool_str1257[sizeof("cntrl")]; 35250 char uniname2ctype_pool_str1259[sizeof("xsux")]; 35251 char uniname2ctype_pool_str1262[sizeof("insyriacsupplement")]; 35252 char uniname2ctype_pool_str1267[sizeof("inbasiclatin")]; 35253 char uniname2ctype_pool_str1275[sizeof("deseret")]; 35254 char uniname2ctype_pool_str1281[sizeof("inenclosedideographicsupplement")]; 35255 char uniname2ctype_pool_str1285[sizeof("bidicontrol")]; 35256 char uniname2ctype_pool_str1288[sizeof("closepunctuation")]; 35257 char uniname2ctype_pool_str1294[sizeof("inlatinextendedadditional")]; 35258 char uniname2ctype_pool_str1296[sizeof("inarabicpresentationformsa")]; 35259 char uniname2ctype_pool_str1298[sizeof("grbase")]; 35260 char uniname2ctype_pool_str1306[sizeof("mong")]; 35261 char uniname2ctype_pool_str1307[sizeof("anatolianhieroglyphs")]; 35262 char uniname2ctype_pool_str1308[sizeof("inenclosedalphanumerics")]; 35263 char uniname2ctype_pool_str1309[sizeof("ingrantha")]; 35264 char uniname2ctype_pool_str1310[sizeof("georgian")]; 35265 char uniname2ctype_pool_str1317[sizeof("osage")]; 35266 char uniname2ctype_pool_str1325[sizeof("inosage")]; 35267 char uniname2ctype_pool_str1326[sizeof("ingeneralpunctuation")]; 35268 char uniname2ctype_pool_str1331[sizeof("saurashtra")]; 35269 char uniname2ctype_pool_str1334[sizeof("inshavian")]; 35270 char uniname2ctype_pool_str1335[sizeof("space")]; 35271 char uniname2ctype_pool_str1336[sizeof("mult")]; 35272 char uniname2ctype_pool_str1340[sizeof("inpalmyrene")]; 35273 char uniname2ctype_pool_str1341[sizeof("inanatolianhieroglyphs")]; 35274 char uniname2ctype_pool_str1344[sizeof("spacingmark")]; 35275 char uniname2ctype_pool_str1348[sizeof("alpha")]; 35276 char uniname2ctype_pool_str1354[sizeof("ingeorgian")]; 35277 char uniname2ctype_pool_str1355[sizeof("intibetan")]; 35278 char uniname2ctype_pool_str1364[sizeof("inlepcha")]; 35279 char uniname2ctype_pool_str1365[sizeof("inbatak")]; 35280 char uniname2ctype_pool_str1367[sizeof("emoji")]; 35281 char uniname2ctype_pool_str1368[sizeof("osma")]; 35282 char uniname2ctype_pool_str1369[sizeof("bhks")]; 35283 char uniname2ctype_pool_str1372[sizeof("inmongolian")]; 35284 char uniname2ctype_pool_str1373[sizeof("variationselector")]; 35285 char uniname2ctype_pool_str1374[sizeof("braille")]; 35286 char uniname2ctype_pool_str1379[sizeof("phli")]; 35287 char uniname2ctype_pool_str1382[sizeof("bhaiksuki")]; 35288 char uniname2ctype_pool_str1388[sizeof("phnx")]; 35289 char uniname2ctype_pool_str1390[sizeof("inblockelements")]; 29978 35290 #ifdef USE_UNICODE_AGE_PROPERTIES 29979 char uniname2ctype_pool_str939[sizeof("age=1.1")]; 29980 char uniname2ctype_pool_str940[sizeof("age=2.1")]; 35291 char uniname2ctype_pool_str1391[sizeof("age=1.1")]; 35292 char uniname2ctype_pool_str1392[sizeof("age=4.1")]; 35293 char uniname2ctype_pool_str1393[sizeof("age=4.0")]; 35294 char uniname2ctype_pool_str1394[sizeof("age=10.0")]; 35295 char uniname2ctype_pool_str1395[sizeof("age=2.1")]; 35296 char uniname2ctype_pool_str1396[sizeof("age=2.0")]; 35297 char uniname2ctype_pool_str1397[sizeof("age=6.1")]; 35298 char uniname2ctype_pool_str1398[sizeof("age=6.0")]; 35299 char uniname2ctype_pool_str1399[sizeof("age=9.0")]; 35300 char uniname2ctype_pool_str1400[sizeof("age=8.0")]; 35301 char uniname2ctype_pool_str1401[sizeof("age=6.2")]; 35302 char uniname2ctype_pool_str1402[sizeof("age=7.0")]; 29981 35303 #endif /* USE_UNICODE_AGE_PROPERTIES */ 29982 char uniname2ctype_pool_str 941[sizeof("closepunctuation")];29983 char uniname2ctype_pool_str 943[sizeof("letternumber")];35304 char uniname2ctype_pool_str1403[sizeof("inenclosedalphanumericsupplement")]; 35305 char uniname2ctype_pool_str1404[sizeof("innumberforms")]; 29984 35306 #ifdef USE_UNICODE_AGE_PROPERTIES 29985 char uniname2ctype_pool_str 944[sizeof("age=6.1")];29986 char uniname2ctype_pool_str 945[sizeof("age=6.2")];35307 char uniname2ctype_pool_str1405[sizeof("age=5.1")]; 35308 char uniname2ctype_pool_str1406[sizeof("age=5.0")]; 29987 35309 #endif /* USE_UNICODE_AGE_PROPERTIES */ 29988 char uniname2ctype_pool_str946[sizeof("telu")]; 35310 char uniname2ctype_pool_str1407[sizeof("nd")]; 35311 char uniname2ctype_pool_str1408[sizeof("separator")]; 29989 35312 #ifdef USE_UNICODE_AGE_PROPERTIES 29990 char uniname2ctype_pool_str947[sizeof("age=3.1")]; 29991 char uniname2ctype_pool_str948[sizeof("age=3.2")]; 29992 char uniname2ctype_pool_str949[sizeof("age=5.1")]; 29993 char uniname2ctype_pool_str950[sizeof("age=5.2")]; 29994 char uniname2ctype_pool_str951[sizeof("age=2.0")]; 29995 char uniname2ctype_pool_str952[sizeof("age=6.3")]; 35313 char uniname2ctype_pool_str1409[sizeof("age=5.2")]; 29996 35314 #endif /* USE_UNICODE_AGE_PROPERTIES */ 29997 char uniname2ctype_pool_str953[sizeof("inshorthandformatcontrols")]; 29998 char uniname2ctype_pool_str954[sizeof("inoldnortharabian")]; 35315 char uniname2ctype_pool_str1411[sizeof("ingurmukhi")]; 35316 char uniname2ctype_pool_str1413[sizeof("incjkunifiedideographsextensiond")]; 35317 char uniname2ctype_pool_str1414[sizeof("taiviet")]; 35318 char uniname2ctype_pool_str1416[sizeof("sinh")]; 29999 35319 #ifdef USE_UNICODE_AGE_PROPERTIES 30000 char uniname2ctype_pool_str 955[sizeof("age=6.0")];30001 char uniname2ctype_pool_str 956[sizeof("age=4.1")];35320 char uniname2ctype_pool_str1417[sizeof("age=3.1")]; 35321 char uniname2ctype_pool_str1418[sizeof("age=3.0")]; 30002 35322 #endif /* USE_UNICODE_AGE_PROPERTIES */ 30003 char uniname2ctype_pool_str 957[sizeof("ingeneralpunctuation")];35323 char uniname2ctype_pool_str1420[sizeof("hatran")]; 30004 35324 #ifdef USE_UNICODE_AGE_PROPERTIES 30005 char uniname2ctype_pool_str958[sizeof("age=3.0")]; 30006 char uniname2ctype_pool_str959[sizeof("age=7.0")]; 30007 char uniname2ctype_pool_str960[sizeof("age=5.0")]; 35325 char uniname2ctype_pool_str1421[sizeof("age=3.2")]; 35326 char uniname2ctype_pool_str1423[sizeof("age=6.3")]; 30008 35327 #endif /* USE_UNICODE_AGE_PROPERTIES */ 30009 char uniname2ctype_pool_str962[sizeof("innabataean")]; 30010 #ifdef USE_UNICODE_AGE_PROPERTIES 30011 char uniname2ctype_pool_str967[sizeof("age=4.0")]; 30012 #endif /* USE_UNICODE_AGE_PROPERTIES */ 30013 char uniname2ctype_pool_str970[sizeof("bamum")]; 30014 char uniname2ctype_pool_str972[sizeof("control")]; 30015 char uniname2ctype_pool_str974[sizeof("induployan")]; 30016 char uniname2ctype_pool_str975[sizeof("inlatinextendedd")]; 30017 char uniname2ctype_pool_str976[sizeof("inarabic")]; 30018 char uniname2ctype_pool_str982[sizeof("runic")]; 30019 char uniname2ctype_pool_str984[sizeof("inelbasan")]; 30020 char uniname2ctype_pool_str985[sizeof("inoldsoutharabian")]; 30021 char uniname2ctype_pool_str986[sizeof("inbasiclatin")]; 30022 char uniname2ctype_pool_str995[sizeof("format")]; 30023 char uniname2ctype_pool_str996[sizeof("innumberforms")]; 30024 char uniname2ctype_pool_str998[sizeof("inugaritic")]; 30025 char uniname2ctype_pool_str999[sizeof("separator")]; 30026 char uniname2ctype_pool_str1000[sizeof("idsbinaryoperator")]; 30027 char uniname2ctype_pool_str1004[sizeof("tagbanwa")]; 30028 char uniname2ctype_pool_str1012[sizeof("bass")]; 30029 char uniname2ctype_pool_str1013[sizeof("saur")]; 30030 char uniname2ctype_pool_str1014[sizeof("nbat")]; 30031 char uniname2ctype_pool_str1017[sizeof("intaixuanjingsymbols")]; 30032 char uniname2ctype_pool_str1019[sizeof("joincontrol")]; 30033 char uniname2ctype_pool_str1023[sizeof("otheridstart")]; 30034 char uniname2ctype_pool_str1027[sizeof("inbyzantinemusicalsymbols")]; 30035 char uniname2ctype_pool_str1031[sizeof("intags")]; 30036 char uniname2ctype_pool_str1033[sizeof("nabataean")]; 30037 char uniname2ctype_pool_str1034[sizeof("insuperscriptsandsubscripts")]; 30038 char uniname2ctype_pool_str1036[sizeof("intibetan")]; 30039 char uniname2ctype_pool_str1039[sizeof("insaurashtra")]; 30040 char uniname2ctype_pool_str1040[sizeof("othersymbol")]; 30041 char uniname2ctype_pool_str1041[sizeof("ext")]; 30042 char uniname2ctype_pool_str1046[sizeof("inarabicpresentationformsa")]; 30043 char uniname2ctype_pool_str1048[sizeof("inmiscellaneousmathematicalsymbolsb")]; 30044 char uniname2ctype_pool_str1049[sizeof("otherlowercase")]; 30045 char uniname2ctype_pool_str1052[sizeof("phoenician")]; 30046 char uniname2ctype_pool_str1055[sizeof("lower")]; 30047 char uniname2ctype_pool_str1060[sizeof("linb")]; 30048 char uniname2ctype_pool_str1064[sizeof("po")]; 30049 char uniname2ctype_pool_str1065[sizeof("inmyanmarextendedb")]; 30050 char uniname2ctype_pool_str1066[sizeof("limb")]; 30051 char uniname2ctype_pool_str1068[sizeof("inbraillepatterns")]; 30052 char uniname2ctype_pool_str1069[sizeof("tibt")]; 30053 char uniname2ctype_pool_str1070[sizeof("cuneiform")]; 30054 char uniname2ctype_pool_str1072[sizeof("bali")]; 30055 char uniname2ctype_pool_str1073[sizeof("oldpersian")]; 30056 char uniname2ctype_pool_str1077[sizeof("oldpermic")]; 30057 char uniname2ctype_pool_str1080[sizeof("pf")]; 30058 char uniname2ctype_pool_str1084[sizeof("word")]; 30059 char uniname2ctype_pool_str1086[sizeof("tibetan")]; 30060 char uniname2ctype_pool_str1089[sizeof("incyrillicsupplement")]; 30061 char uniname2ctype_pool_str1093[sizeof("elba")]; 30062 char uniname2ctype_pool_str1094[sizeof("insupplementalmathematicaloperators")]; 30063 char uniname2ctype_pool_str1095[sizeof("inbalinese")]; 30064 char uniname2ctype_pool_str1101[sizeof("bengali")]; 30065 char uniname2ctype_pool_str1104[sizeof("caseignorable")]; 30066 char uniname2ctype_pool_str1107[sizeof("incountingrodnumerals")]; 30067 char uniname2ctype_pool_str1114[sizeof("other")]; 30068 char uniname2ctype_pool_str1118[sizeof("tirhuta")]; 30069 char uniname2ctype_pool_str1121[sizeof("othernumber")]; 30070 char uniname2ctype_pool_str1123[sizeof("balinese")]; 30071 char uniname2ctype_pool_str1129[sizeof("elbasan")]; 30072 char uniname2ctype_pool_str1134[sizeof("inunifiedcanadianaboriginalsyllabics")]; 30073 char uniname2ctype_pool_str1136[sizeof("lowercaseletter")]; 30074 char uniname2ctype_pool_str1140[sizeof("ethiopic")]; 30075 char uniname2ctype_pool_str1141[sizeof("gran")]; 30076 char uniname2ctype_pool_str1149[sizeof("ingurmukhi")]; 30077 char uniname2ctype_pool_str1151[sizeof("sund")]; 30078 char uniname2ctype_pool_str1153[sizeof("inethiopicsupplement")]; 30079 char uniname2ctype_pool_str1160[sizeof("inoldpersian")]; 30080 char uniname2ctype_pool_str1163[sizeof("inoldpermic")]; 30081 char uniname2ctype_pool_str1170[sizeof("othermath")]; 30082 char uniname2ctype_pool_str1174[sizeof("unassigned")]; 30083 char uniname2ctype_pool_str1180[sizeof("hmng")]; 30084 char uniname2ctype_pool_str1181[sizeof("narb")]; 30085 char uniname2ctype_pool_str1184[sizeof("brai")]; 30086 char uniname2ctype_pool_str1186[sizeof("hang")]; 30087 char uniname2ctype_pool_str1187[sizeof("insorasompeng")]; 30088 char uniname2ctype_pool_str1193[sizeof("arab")]; 30089 char uniname2ctype_pool_str1194[sizeof("plrd")]; 30090 char uniname2ctype_pool_str1195[sizeof("ingujarati")]; 30091 char uniname2ctype_pool_str1197[sizeof("brahmi")]; 30092 char uniname2ctype_pool_str1201[sizeof("runr")]; 30093 char uniname2ctype_pool_str1202[sizeof("ahex")]; 30094 char uniname2ctype_pool_str1206[sizeof("mong")]; 30095 char uniname2ctype_pool_str1211[sizeof("pauc")]; 30096 char uniname2ctype_pool_str1212[sizeof("sarb")]; 30097 char uniname2ctype_pool_str1218[sizeof("ogam")]; 30098 char uniname2ctype_pool_str1221[sizeof("olower")]; 30099 char uniname2ctype_pool_str1222[sizeof("pd")]; 30100 char uniname2ctype_pool_str1235[sizeof("number")]; 30101 char uniname2ctype_pool_str1238[sizeof("inbrahmi")]; 30102 char uniname2ctype_pool_str1240[sizeof("otherletter")]; 30103 char uniname2ctype_pool_str1252[sizeof("ingothic")]; 30104 char uniname2ctype_pool_str1254[sizeof("phagspa")]; 30105 char uniname2ctype_pool_str1262[sizeof("inletterlikesymbols")]; 30106 char uniname2ctype_pool_str1265[sizeof("yi")]; 30107 char uniname2ctype_pool_str1269[sizeof("hangul")]; 30108 char uniname2ctype_pool_str1271[sizeof("yiii")]; 30109 char uniname2ctype_pool_str1272[sizeof("tfng")]; 30110 char uniname2ctype_pool_str1273[sizeof("insupplementalarrowsc")]; 30111 char uniname2ctype_pool_str1277[sizeof("ingreekandcoptic")]; 30112 char uniname2ctype_pool_str1279[sizeof("xidc")]; 30113 char uniname2ctype_pool_str1280[sizeof("insupplementalarrowsa")]; 30114 char uniname2ctype_pool_str1281[sizeof("gothic")]; 30115 char uniname2ctype_pool_str1283[sizeof("grext")]; 30116 char uniname2ctype_pool_str1285[sizeof("incombininghalfmarks")]; 30117 char uniname2ctype_pool_str1286[sizeof("deprecated")]; 30118 char uniname2ctype_pool_str1287[sizeof("inbassavah")]; 30119 char uniname2ctype_pool_str1305[sizeof("xids")]; 30120 char uniname2ctype_pool_str1308[sizeof("linearb")]; 30121 char uniname2ctype_pool_str1312[sizeof("ingeometricshapes")]; 30122 char uniname2ctype_pool_str1313[sizeof("phlp")]; 30123 char uniname2ctype_pool_str1314[sizeof("warangciti")]; 30124 char uniname2ctype_pool_str1317[sizeof("inblockelements")]; 30125 char uniname2ctype_pool_str1318[sizeof("modifierletter")]; 30126 char uniname2ctype_pool_str1321[sizeof("indingbats")]; 30127 char uniname2ctype_pool_str1322[sizeof("dep")]; 30128 char uniname2ctype_pool_str1324[sizeof("punct")]; 30129 char uniname2ctype_pool_str1327[sizeof("inhanunoo")]; 30130 char uniname2ctype_pool_str1334[sizeof("bidic")]; 30131 char uniname2ctype_pool_str1344[sizeof("ingreekextended")]; 30132 char uniname2ctype_pool_str1353[sizeof("idsb")]; 30133 char uniname2ctype_pool_str1359[sizeof("assigned")]; 30134 char uniname2ctype_pool_str1364[sizeof("otherpunctuation")]; 30135 char uniname2ctype_pool_str1368[sizeof("inhangulsyllables")]; 30136 char uniname2ctype_pool_str1373[sizeof("inarabicmathematicalalphabeticsymbols")]; 30137 char uniname2ctype_pool_str1385[sizeof("inornamentaldingbats")]; 30138 char uniname2ctype_pool_str1387[sizeof("inphagspa")]; 30139 char uniname2ctype_pool_str1389[sizeof("lyci")]; 30140 char uniname2ctype_pool_str1393[sizeof("mlym")]; 30141 char uniname2ctype_pool_str1399[sizeof("inarabicextendeda")]; 30142 char uniname2ctype_pool_str1400[sizeof("rjng")]; 30143 char uniname2ctype_pool_str1402[sizeof("lycian")]; 30144 char uniname2ctype_pool_str1403[sizeof("inalchemicalsymbols")]; 30145 char uniname2ctype_pool_str1409[sizeof("xdigit")]; 30146 char uniname2ctype_pool_str1412[sizeof("digit")]; 30147 char uniname2ctype_pool_str1420[sizeof("xidstart")]; 30148 char uniname2ctype_pool_str1421[sizeof("inrejang")]; 30149 char uniname2ctype_pool_str1424[sizeof("malayalam")]; 30150 char uniname2ctype_pool_str1425[sizeof("idstrinaryoperator")]; 30151 char uniname2ctype_pool_str1429[sizeof("invai")]; 30152 char uniname2ctype_pool_str1435[sizeof("vai")]; 30153 char uniname2ctype_pool_str1436[sizeof("vaii")]; 30154 char uniname2ctype_pool_str1438[sizeof("hiragana")]; 30155 char uniname2ctype_pool_str1442[sizeof("ingeorgian")]; 30156 char uniname2ctype_pool_str1448[sizeof("braille")]; 30157 char uniname2ctype_pool_str1455[sizeof("geor")]; 30158 char uniname2ctype_pool_str1457[sizeof("brah")]; 30159 char uniname2ctype_pool_str1463[sizeof("glagolitic")]; 30160 char uniname2ctype_pool_str1465[sizeof("inkannada")]; 30161 char uniname2ctype_pool_str1466[sizeof("cakm")]; 30162 char uniname2ctype_pool_str1467[sizeof("kana")]; 30163 char uniname2ctype_pool_str1469[sizeof("hebr")]; 30164 char uniname2ctype_pool_str1471[sizeof("inshavian")]; 30165 char uniname2ctype_pool_str1477[sizeof("vs")]; 30166 char uniname2ctype_pool_str1481[sizeof("inchakma")]; 30167 char uniname2ctype_pool_str1490[sizeof("ogham")]; 30168 char uniname2ctype_pool_str1491[sizeof("sylotinagri")]; 30169 char uniname2ctype_pool_str1492[sizeof("inunifiedcanadianaboriginalsyllabicsextended")]; 30170 char uniname2ctype_pool_str1495[sizeof("inmeroitichieroglyphs")]; 30171 char uniname2ctype_pool_str1498[sizeof("grantha")]; 30172 char uniname2ctype_pool_str1500[sizeof("graphemebase")]; 30173 char uniname2ctype_pool_str1502[sizeof("mathsymbol")]; 30174 char uniname2ctype_pool_str1505[sizeof("mymr")]; 30175 char uniname2ctype_pool_str1513[sizeof("insupplementaryprivateuseareaa")]; 30176 char uniname2ctype_pool_str1514[sizeof("mendekikakui")]; 30177 char uniname2ctype_pool_str1516[sizeof("incjkcompatibilityforms")]; 30178 char uniname2ctype_pool_str1518[sizeof("inhalfwidthandfullwidthforms")]; 30179 char uniname2ctype_pool_str1521[sizeof("incjkcompatibilityideographs")]; 30180 char uniname2ctype_pool_str1522[sizeof("inkaithi")]; 30181 char uniname2ctype_pool_str1525[sizeof("avst")]; 30182 char uniname2ctype_pool_str1526[sizeof("inarabicsupplement")]; 30183 char uniname2ctype_pool_str1527[sizeof("takri")]; 30184 char uniname2ctype_pool_str1529[sizeof("syrc")]; 30185 char uniname2ctype_pool_str1533[sizeof("meeteimayek")]; 30186 char uniname2ctype_pool_str1534[sizeof("myanmar")]; 30187 char uniname2ctype_pool_str1535[sizeof("avestan")]; 30188 char uniname2ctype_pool_str1536[sizeof("inhanguljamoextendeda")]; 30189 char uniname2ctype_pool_str1540[sizeof("goth")]; 30190 char uniname2ctype_pool_str1542[sizeof("inkatakana")]; 30191 char uniname2ctype_pool_str1544[sizeof("incyrillicextendeda")]; 30192 char uniname2ctype_pool_str1549[sizeof("alphabetic")]; 30193 char uniname2ctype_pool_str1550[sizeof("syriac")]; 30194 char uniname2ctype_pool_str1551[sizeof("ideographic")]; 30195 char uniname2ctype_pool_str1555[sizeof("incjkstrokes")]; 30196 char uniname2ctype_pool_str1557[sizeof("inlinearbsyllabary")]; 30197 char uniname2ctype_pool_str1558[sizeof("tavt")]; 30198 char uniname2ctype_pool_str1559[sizeof("intaiviet")]; 30199 char uniname2ctype_pool_str1564[sizeof("incjkcompatibilityideographssupplement")]; 30200 char uniname2ctype_pool_str1576[sizeof("inmeeteimayek")]; 30201 char uniname2ctype_pool_str1577[sizeof("kali")]; 30202 char uniname2ctype_pool_str1581[sizeof("inyiradicals")]; 30203 char uniname2ctype_pool_str1586[sizeof("lu")]; 30204 char uniname2ctype_pool_str1587[sizeof("inoriya")]; 30205 char uniname2ctype_pool_str1590[sizeof("hebrew")]; 30206 char uniname2ctype_pool_str1596[sizeof("extender")]; 30207 char uniname2ctype_pool_str1598[sizeof("inhighprivateusesurrogates")]; 30208 char uniname2ctype_pool_str1600[sizeof("limbu")]; 30209 char uniname2ctype_pool_str1606[sizeof("inbuhid")]; 30210 char uniname2ctype_pool_str1608[sizeof("inethiopicextendeda")]; 30211 char uniname2ctype_pool_str1609[sizeof("xidcontinue")]; 30212 char uniname2ctype_pool_str1611[sizeof("inyijinghexagramsymbols")]; 30213 char uniname2ctype_pool_str1612[sizeof("logicalorderexception")]; 30214 char uniname2ctype_pool_str1616[sizeof("inhebrew")]; 30215 char uniname2ctype_pool_str1617[sizeof("cyrl")]; 30216 char uniname2ctype_pool_str1618[sizeof("osmanya")]; 30217 char uniname2ctype_pool_str1621[sizeof("phnx")]; 30218 char uniname2ctype_pool_str1622[sizeof("incombiningdiacriticalmarks")]; 30219 char uniname2ctype_pool_str1626[sizeof("inkanasupplement")]; 30220 char uniname2ctype_pool_str1627[sizeof("inlisu")]; 30221 char uniname2ctype_pool_str1628[sizeof("changeswhencasemapped")]; 30222 char uniname2ctype_pool_str1632[sizeof("incombiningdiacriticalmarksforsymbols")]; 30223 char uniname2ctype_pool_str1636[sizeof("cwu")]; 30224 char uniname2ctype_pool_str1641[sizeof("phag")]; 30225 char uniname2ctype_pool_str1645[sizeof("insmallformvariants")]; 30226 char uniname2ctype_pool_str1656[sizeof("inpahawhhmong")]; 30227 char uniname2ctype_pool_str1661[sizeof("otheruppercase")]; 30228 char uniname2ctype_pool_str1662[sizeof("intelugu")]; 30229 char uniname2ctype_pool_str1665[sizeof("incombiningdiacriticalmarkssupplement")]; 30230 char uniname2ctype_pool_str1670[sizeof("ingeometricshapesextended")]; 30231 char uniname2ctype_pool_str1671[sizeof("xpeo")]; 30232 char uniname2ctype_pool_str1687[sizeof("bamu")]; 30233 char uniname2ctype_pool_str1689[sizeof("inbamum")]; 30234 char uniname2ctype_pool_str1692[sizeof("mark")]; 30235 char uniname2ctype_pool_str1694[sizeof("dupl")]; 30236 char uniname2ctype_pool_str1695[sizeof("graph")]; 30237 char uniname2ctype_pool_str1696[sizeof("dashpunctuation")]; 30238 char uniname2ctype_pool_str1700[sizeof("patternsyntax")]; 30239 char uniname2ctype_pool_str1705[sizeof("changeswhentitlecased")]; 30240 char uniname2ctype_pool_str1706[sizeof("inkharoshthi")]; 30241 char uniname2ctype_pool_str1712[sizeof("inkhmer")]; 30242 char uniname2ctype_pool_str1713[sizeof("java")]; 30243 char uniname2ctype_pool_str1714[sizeof("sylo")]; 30244 char uniname2ctype_pool_str1719[sizeof("ugaritic")]; 30245 char uniname2ctype_pool_str1722[sizeof("otherdefaultignorablecodepoint")]; 30246 char uniname2ctype_pool_str1723[sizeof("softdotted")]; 30247 char uniname2ctype_pool_str1729[sizeof("uideo")]; 30248 char uniname2ctype_pool_str1732[sizeof("inphoneticextensions")]; 30249 char uniname2ctype_pool_str1736[sizeof("injavanese")]; 30250 char uniname2ctype_pool_str1742[sizeof("invariationselectors")]; 30251 char uniname2ctype_pool_str1744[sizeof("kaithi")]; 30252 char uniname2ctype_pool_str1747[sizeof("cyrillic")]; 30253 char uniname2ctype_pool_str1749[sizeof("intakri")]; 30254 char uniname2ctype_pool_str1750[sizeof("takr")]; 30255 char uniname2ctype_pool_str1755[sizeof("javanese")]; 30256 char uniname2ctype_pool_str1757[sizeof("bidicontrol")]; 30257 char uniname2ctype_pool_str1758[sizeof("caucasianalbanian")]; 30258 char uniname2ctype_pool_str1765[sizeof("lydi")]; 30259 char uniname2ctype_pool_str1772[sizeof("insupplementalpunctuation")]; 30260 char uniname2ctype_pool_str1775[sizeof("inphoneticextensionssupplement")]; 30261 char uniname2ctype_pool_str1778[sizeof("lydian")]; 30262 char uniname2ctype_pool_str1784[sizeof("oldturkic")]; 30263 char uniname2ctype_pool_str1785[sizeof("invariationselectorssupplement")]; 30264 char uniname2ctype_pool_str1786[sizeof("kthi")]; 30265 char uniname2ctype_pool_str1792[sizeof("inhanguljamo")]; 30266 char uniname2ctype_pool_str1797[sizeof("patsyn")]; 30267 char uniname2ctype_pool_str1802[sizeof("inlimbu")]; 30268 char uniname2ctype_pool_str1804[sizeof("sorasompeng")]; 30269 char uniname2ctype_pool_str1807[sizeof("orya")]; 30270 char uniname2ctype_pool_str1822[sizeof("inkhmersymbols")]; 30271 char uniname2ctype_pool_str1824[sizeof("inglagolitic")]; 30272 char uniname2ctype_pool_str1831[sizeof("indevanagari")]; 30273 char uniname2ctype_pool_str1835[sizeof("deva")]; 30274 char uniname2ctype_pool_str1836[sizeof("knda")]; 30275 char uniname2ctype_pool_str1841[sizeof("inbengali")]; 30276 char uniname2ctype_pool_str1843[sizeof("symbol")]; 30277 char uniname2ctype_pool_str1846[sizeof("devanagari")]; 30278 char uniname2ctype_pool_str1849[sizeof("inmendekikakui")]; 30279 char uniname2ctype_pool_str1852[sizeof("beng")]; 30280 char uniname2ctype_pool_str1853[sizeof("invedicextensions")]; 30281 char uniname2ctype_pool_str1859[sizeof("graphemeextend")]; 30282 char uniname2ctype_pool_str1865[sizeof("kannada")]; 30283 char uniname2ctype_pool_str1866[sizeof("inbuginese")]; 30284 char uniname2ctype_pool_str1869[sizeof("olck")]; 30285 char uniname2ctype_pool_str1871[sizeof("meroitichieroglyphs")]; 30286 char uniname2ctype_pool_str1872[sizeof("ugar")]; 30287 char uniname2ctype_pool_str1874[sizeof("intagalog")]; 30288 char uniname2ctype_pool_str1878[sizeof("inbamumsupplement")]; 30289 char uniname2ctype_pool_str1880[sizeof("olchiki")]; 30290 char uniname2ctype_pool_str1899[sizeof("incurrencysymbols")]; 30291 char uniname2ctype_pool_str1904[sizeof("tagb")]; 30292 char uniname2ctype_pool_str1912[sizeof("inaegeannumbers")]; 30293 char uniname2ctype_pool_str1915[sizeof("intagbanwa")]; 30294 char uniname2ctype_pool_str1916[sizeof("uppercase")]; 30295 char uniname2ctype_pool_str1917[sizeof("defaultignorablecodepoint")]; 30296 char uniname2ctype_pool_str1919[sizeof("glag")]; 30297 char uniname2ctype_pool_str1921[sizeof("inkatakanaphoneticextensions")]; 30298 char uniname2ctype_pool_str1932[sizeof("changeswhencasefolded")]; 30299 char uniname2ctype_pool_str1942[sizeof("inpaucinhau")]; 30300 char uniname2ctype_pool_str1943[sizeof("inprivateusearea")]; 30301 char uniname2ctype_pool_str1947[sizeof("paucinhau")]; 30302 char uniname2ctype_pool_str1953[sizeof("spacingmark")]; 30303 char uniname2ctype_pool_str1956[sizeof("khmr")]; 30304 char uniname2ctype_pool_str1962[sizeof("khar")]; 30305 char uniname2ctype_pool_str1964[sizeof("inarabicpresentationformsb")]; 30306 char uniname2ctype_pool_str1967[sizeof("changeswhenlowercased")]; 30307 char uniname2ctype_pool_str1971[sizeof("tglg")]; 30308 char uniname2ctype_pool_str1976[sizeof("inethiopicextended")]; 30309 char uniname2ctype_pool_str1980[sizeof("incombiningdiacriticalmarksextended")]; 30310 char uniname2ctype_pool_str1986[sizeof("oupper")]; 30311 char uniname2ctype_pool_str1994[sizeof("incjksymbolsandpunctuation")]; 30312 char uniname2ctype_pool_str1997[sizeof("bopo")]; 30313 char uniname2ctype_pool_str1998[sizeof("punctuation")]; 30314 char uniname2ctype_pool_str2002[sizeof("combiningmark")]; 30315 char uniname2ctype_pool_str2007[sizeof("inplayingcards")]; 30316 char uniname2ctype_pool_str2008[sizeof("inbopomofo")]; 30317 char uniname2ctype_pool_str2021[sizeof("hyphen")]; 30318 char uniname2ctype_pool_str2028[sizeof("inkhojki")]; 30319 char uniname2ctype_pool_str2046[sizeof("nko")]; 30320 char uniname2ctype_pool_str2047[sizeof("nkoo")]; 30321 char uniname2ctype_pool_str2048[sizeof("enclosingmark")]; 30322 char uniname2ctype_pool_str2053[sizeof("openpunctuation")]; 30323 char uniname2ctype_pool_str2061[sizeof("currencysymbol")]; 30324 char uniname2ctype_pool_str2063[sizeof("inverticalforms")]; 30325 char uniname2ctype_pool_str2071[sizeof("hex")]; 30326 char uniname2ctype_pool_str2072[sizeof("modifiersymbol")]; 30327 char uniname2ctype_pool_str2073[sizeof("inlatinextendedb")]; 30328 char uniname2ctype_pool_str2075[sizeof("kharoshthi")]; 30329 char uniname2ctype_pool_str2080[sizeof("cherokee")]; 30330 char uniname2ctype_pool_str2088[sizeof("pahawhhmong")]; 30331 char uniname2ctype_pool_str2096[sizeof("cypriot")]; 30332 char uniname2ctype_pool_str2105[sizeof("incypriotsyllabary")]; 30333 char uniname2ctype_pool_str2110[sizeof("palmyrene")]; 30334 char uniname2ctype_pool_str2113[sizeof("upper")]; 30335 char uniname2ctype_pool_str2116[sizeof("aghb")]; 30336 char uniname2ctype_pool_str2123[sizeof("georgian")]; 30337 char uniname2ctype_pool_str2131[sizeof("gujr")]; 30338 char uniname2ctype_pool_str2142[sizeof("grbase")]; 30339 char uniname2ctype_pool_str2152[sizeof("gujarati")]; 30340 char uniname2ctype_pool_str2153[sizeof("hexdigit")]; 30341 char uniname2ctype_pool_str2189[sizeof("khmer")]; 30342 char uniname2ctype_pool_str2194[sizeof("uppercaseletter")]; 30343 char uniname2ctype_pool_str2198[sizeof("insupplementalarrowsb")]; 30344 char uniname2ctype_pool_str2224[sizeof("surrogate")]; 30345 char uniname2ctype_pool_str2227[sizeof("unifiedideograph")]; 30346 char uniname2ctype_pool_str2237[sizeof("nonspacingmark")]; 30347 char uniname2ctype_pool_str2241[sizeof("othergraphemeextend")]; 30348 char uniname2ctype_pool_str2242[sizeof("indevanagariextended")]; 30349 char uniname2ctype_pool_str2252[sizeof("orkh")]; 30350 char uniname2ctype_pool_str2273[sizeof("ingeorgiansupplement")]; 30351 char uniname2ctype_pool_str2287[sizeof("oldnortharabian")]; 30352 char uniname2ctype_pool_str2290[sizeof("tagalog")]; 30353 char uniname2ctype_pool_str2292[sizeof("khoj")]; 30354 char uniname2ctype_pool_str2311[sizeof("bopomofo")]; 30355 char uniname2ctype_pool_str2318[sizeof("rejang")]; 30356 char uniname2ctype_pool_str2326[sizeof("buhd")]; 30357 char uniname2ctype_pool_str2343[sizeof("incjkradicalssupplement")]; 30358 char uniname2ctype_pool_str2382[sizeof("inkanbun")]; 30359 char uniname2ctype_pool_str2406[sizeof("variationselector")]; 30360 char uniname2ctype_pool_str2417[sizeof("inkangxiradicals")]; 30361 char uniname2ctype_pool_str2421[sizeof("inhighsurrogates")]; 30362 char uniname2ctype_pool_str2431[sizeof("insupplementaryprivateuseareab")]; 30363 char uniname2ctype_pool_str2445[sizeof("ogrext")]; 30364 char uniname2ctype_pool_str2449[sizeof("batk")]; 30365 char uniname2ctype_pool_str2454[sizeof("inhanguljamoextendedb")]; 30366 char uniname2ctype_pool_str2457[sizeof("inbatak")]; 30367 char uniname2ctype_pool_str2462[sizeof("incyrillicextendedb")]; 30368 char uniname2ctype_pool_str2502[sizeof("innoblock")]; 30369 char uniname2ctype_pool_str2527[sizeof("any")]; 30370 char uniname2ctype_pool_str2534[sizeof("xsux")]; 30371 char uniname2ctype_pool_str2562[sizeof("bugi")]; 30372 char uniname2ctype_pool_str2570[sizeof("inkhudawadi")]; 30373 char uniname2ctype_pool_str2571[sizeof("telugu")]; 30374 char uniname2ctype_pool_str2579[sizeof("changeswhenuppercased")]; 30375 char uniname2ctype_pool_str2588[sizeof("grek")]; 30376 char uniname2ctype_pool_str2591[sizeof("guru")]; 30377 char uniname2ctype_pool_str2595[sizeof("paragraphseparator")]; 30378 char uniname2ctype_pool_str2613[sizeof("buginese")]; 30379 char uniname2ctype_pool_str2617[sizeof("inyisyllables")]; 30380 char uniname2ctype_pool_str2631[sizeof("egyp")]; 30381 char uniname2ctype_pool_str2634[sizeof("khudawadi")]; 30382 char uniname2ctype_pool_str2643[sizeof("unknown")]; 30383 char uniname2ctype_pool_str2685[sizeof("bassavah")]; 30384 char uniname2ctype_pool_str2689[sizeof("inegyptianhieroglyphs")]; 30385 char uniname2ctype_pool_str2709[sizeof("buhid")]; 30386 char uniname2ctype_pool_str2722[sizeof("inkayahli")]; 30387 char uniname2ctype_pool_str2732[sizeof("inmeroiticcursive")]; 30388 char uniname2ctype_pool_str2734[sizeof("incjkcompatibility")]; 30389 char uniname2ctype_pool_str2787[sizeof("oldsoutharabian")]; 30390 char uniname2ctype_pool_str2795[sizeof("quotationmark")]; 30391 char uniname2ctype_pool_str2889[sizeof("inhangulcompatibilityjamo")]; 30392 char uniname2ctype_pool_str2898[sizeof("qmark")]; 30393 char uniname2ctype_pool_str2902[sizeof("incjkunifiedideographsextensionc")]; 30394 char uniname2ctype_pool_str2906[sizeof("sk")]; 30395 char uniname2ctype_pool_str2909[sizeof("incjkunifiedideographsextensiona")]; 30396 char uniname2ctype_pool_str2918[sizeof("incjkunifiedideographs")]; 30397 char uniname2ctype_pool_str2984[sizeof("katakana")]; 30398 char uniname2ctype_pool_str3112[sizeof("kayahli")]; 30399 char uniname2ctype_pool_str3137[sizeof("duployan")]; 30400 char uniname2ctype_pool_str3278[sizeof("incjkunifiedideographsextensiond")]; 30401 char uniname2ctype_pool_str3360[sizeof("inbopomofoextended")]; 30402 char uniname2ctype_pool_str3466[sizeof("khojki")]; 30403 char uniname2ctype_pool_str3777[sizeof("zyyy")]; 30404 char uniname2ctype_pool_str3778[sizeof("egyptianhieroglyphs")]; 30405 char uniname2ctype_pool_str3827[sizeof("incjkunifiedideographsextensionb")]; 30406 char uniname2ctype_pool_str3886[sizeof("batak")]; 30407 char uniname2ctype_pool_str3941[sizeof("blank")]; 30408 char uniname2ctype_pool_str3995[sizeof("inboxdrawing")]; 30409 char uniname2ctype_pool_str4025[sizeof("greek")]; 30410 char uniname2ctype_pool_str4035[sizeof("gurmukhi")]; 30411 char uniname2ctype_pool_str4122[sizeof("grlink")]; 30412 char uniname2ctype_pool_str4322[sizeof("graphemelink")]; 35328 char uniname2ctype_pool_str1427[sizeof("format")]; 35329 char uniname2ctype_pool_str1429[sizeof("shavian")]; 35330 char uniname2ctype_pool_str1434[sizeof("insinhalaarchaicnumbers")]; 35331 char uniname2ctype_pool_str1435[sizeof("cuneiform")]; 35332 char uniname2ctype_pool_str1439[sizeof("inmyanmarextendedb")]; 35333 char uniname2ctype_pool_str1444[sizeof("punctuation")]; 35334 char uniname2ctype_pool_str1449[sizeof("inarabicextendeda")]; 35335 char uniname2ctype_pool_str1450[sizeof("hatr")]; 35336 char uniname2ctype_pool_str1451[sizeof("inhanunoo")]; 35337 char uniname2ctype_pool_str1453[sizeof("inlatinextendedd")]; 35338 char uniname2ctype_pool_str1455[sizeof("modifierletter")]; 35339 char uniname2ctype_pool_str1456[sizeof("odi")]; 35340 char uniname2ctype_pool_str1458[sizeof("ahex")]; 35341 char uniname2ctype_pool_str1463[sizeof("logicalorderexception")]; 35342 char uniname2ctype_pool_str1464[sizeof("inbyzantinemusicalsymbols")]; 35343 char uniname2ctype_pool_str1469[sizeof("sund")]; 35344 char uniname2ctype_pool_str1470[sizeof("number")]; 35345 char uniname2ctype_pool_str1471[sizeof("insundanesesupplement")]; 35346 char uniname2ctype_pool_str1485[sizeof("incopticepactnumbers")]; 35347 char uniname2ctype_pool_str1490[sizeof("emojimodifier")]; 35348 char uniname2ctype_pool_str1496[sizeof("zp")]; 35349 char uniname2ctype_pool_str1497[sizeof("asciihexdigit")]; 35350 char uniname2ctype_pool_str1500[sizeof("indevanagari")]; 35351 char uniname2ctype_pool_str1508[sizeof("innewa")]; 35352 char uniname2ctype_pool_str1510[sizeof("avestan")]; 35353 char uniname2ctype_pool_str1521[sizeof("insorasompeng")]; 35354 char uniname2ctype_pool_str1535[sizeof("inmiscellaneousmathematicalsymbolsb")]; 35355 char uniname2ctype_pool_str1536[sizeof("inbraillepatterns")]; 35356 char uniname2ctype_pool_str1539[sizeof("nonspacingmark")]; 35357 char uniname2ctype_pool_str1540[sizeof("ingreekandcoptic")]; 35358 char uniname2ctype_pool_str1545[sizeof("xposixpunct")]; 35359 char uniname2ctype_pool_str1553[sizeof("inwarangciti")]; 35360 char uniname2ctype_pool_str1555[sizeof("oidc")]; 35361 char uniname2ctype_pool_str1560[sizeof("terminalpunctuation")]; 35362 char uniname2ctype_pool_str1565[sizeof("cf")]; 35363 char uniname2ctype_pool_str1572[sizeof("lower")]; 35364 char uniname2ctype_pool_str1580[sizeof("inunifiedcanadianaboriginalsyllabics")]; 35365 char uniname2ctype_pool_str1585[sizeof("idsb")]; 35366 char uniname2ctype_pool_str1589[sizeof("inbalinese")]; 35367 char uniname2ctype_pool_str1593[sizeof("induployan")]; 35368 char uniname2ctype_pool_str1594[sizeof("innoblock")]; 35369 char uniname2ctype_pool_str1595[sizeof("pf")]; 35370 char uniname2ctype_pool_str1602[sizeof("inoriya")]; 35371 char uniname2ctype_pool_str1604[sizeof("inkatakanaphoneticextensions")]; 35372 char uniname2ctype_pool_str1606[sizeof("inkayahli")]; 35373 char uniname2ctype_pool_str1607[sizeof("wara")]; 35374 char uniname2ctype_pool_str1608[sizeof("innushu")]; 35375 char uniname2ctype_pool_str1609[sizeof("lepcha")]; 35376 char uniname2ctype_pool_str1611[sizeof("inmeroitichieroglyphs")]; 35377 char uniname2ctype_pool_str1617[sizeof("beng")]; 35378 char uniname2ctype_pool_str1623[sizeof("idstrinaryoperator")]; 35379 char uniname2ctype_pool_str1628[sizeof("oids")]; 35380 char uniname2ctype_pool_str1630[sizeof("regionalindicator")]; 35381 char uniname2ctype_pool_str1631[sizeof("enclosingmark")]; 35382 char uniname2ctype_pool_str1632[sizeof("java")]; 35383 char uniname2ctype_pool_str1636[sizeof("tale")]; 35384 char uniname2ctype_pool_str1638[sizeof("emojimodifierbase")]; 35385 char uniname2ctype_pool_str1645[sizeof("inphoneticextensions")]; 35386 char uniname2ctype_pool_str1647[sizeof("lowercase")]; 35387 char uniname2ctype_pool_str1648[sizeof("inverticalforms")]; 35388 char uniname2ctype_pool_str1650[sizeof("javanese")]; 35389 char uniname2ctype_pool_str1654[sizeof("sentenceterminal")]; 35390 char uniname2ctype_pool_str1655[sizeof("ingreekextended")]; 35391 char uniname2ctype_pool_str1656[sizeof("invariationselectors")]; 35392 char uniname2ctype_pool_str1657[sizeof("cwcm")]; 35393 char uniname2ctype_pool_str1663[sizeof("lyci")]; 35394 char uniname2ctype_pool_str1666[sizeof("avst")]; 35395 char uniname2ctype_pool_str1669[sizeof("lycian")]; 35396 char uniname2ctype_pool_str1671[sizeof("zanabazarsquare")]; 35397 char uniname2ctype_pool_str1672[sizeof("sarb")]; 35398 char uniname2ctype_pool_str1673[sizeof("invedicextensions")]; 35399 char uniname2ctype_pool_str1674[sizeof("inkangxiradicals")]; 35400 char uniname2ctype_pool_str1677[sizeof("intaiviet")]; 35401 char uniname2ctype_pool_str1682[sizeof("mymr")]; 35402 char uniname2ctype_pool_str1690[sizeof("incjkradicalssupplement")]; 35403 char uniname2ctype_pool_str1695[sizeof("myanmar")]; 35404 char uniname2ctype_pool_str1697[sizeof("taml")]; 35405 char uniname2ctype_pool_str1714[sizeof("olower")]; 35406 char uniname2ctype_pool_str1725[sizeof("nl")]; 35407 char uniname2ctype_pool_str1727[sizeof("inethiopicsupplement")]; 35408 char uniname2ctype_pool_str1728[sizeof("olck")]; 35409 char uniname2ctype_pool_str1730[sizeof("inethiopicextendeda")]; 35410 char uniname2ctype_pool_str1736[sizeof("graph")]; 35411 char uniname2ctype_pool_str1737[sizeof("olchiki")]; 35412 char uniname2ctype_pool_str1741[sizeof("inphoneticextensionssupplement")]; 35413 char uniname2ctype_pool_str1743[sizeof("emojicomponent")]; 35414 char uniname2ctype_pool_str1746[sizeof("inunifiedcanadianaboriginalsyllabicsextended")]; 35415 char uniname2ctype_pool_str1748[sizeof("ingeometricshapes")]; 35416 char uniname2ctype_pool_str1752[sizeof("invariationselectorssupplement")]; 35417 char uniname2ctype_pool_str1754[sizeof("gujr")]; 35418 char uniname2ctype_pool_str1762[sizeof("sharada")]; 35419 char uniname2ctype_pool_str1766[sizeof("gujarati")]; 35420 char uniname2ctype_pool_str1767[sizeof("nchar")]; 35421 char uniname2ctype_pool_str1772[sizeof("innewtailue")]; 35422 char uniname2ctype_pool_str1774[sizeof("glag")]; 35423 char uniname2ctype_pool_str1780[sizeof("ideographic")]; 35424 char uniname2ctype_pool_str1783[sizeof("shrd")]; 35425 char uniname2ctype_pool_str1785[sizeof("insoyombo")]; 35426 char uniname2ctype_pool_str1789[sizeof("inbamum")]; 35427 char uniname2ctype_pool_str1800[sizeof("inlatin1supplement")]; 35428 char uniname2ctype_pool_str1802[sizeof("dash")]; 35429 char uniname2ctype_pool_str1806[sizeof("indingbats")]; 35430 char uniname2ctype_pool_str1808[sizeof("spaceseparator")]; 35431 char uniname2ctype_pool_str1813[sizeof("phagspa")]; 35432 char uniname2ctype_pool_str1814[sizeof("titlecaseletter")]; 35433 char uniname2ctype_pool_str1815[sizeof("incjkcompatibility")]; 35434 char uniname2ctype_pool_str1818[sizeof("intangut")]; 35435 char uniname2ctype_pool_str1819[sizeof("incombiningdiacriticalmarks")]; 35436 char uniname2ctype_pool_str1821[sizeof("inlisu")]; 35437 char uniname2ctype_pool_str1825[sizeof("siddham")]; 35438 char uniname2ctype_pool_str1829[sizeof("incombiningdiacriticalmarksforsymbols")]; 35439 char uniname2ctype_pool_str1840[sizeof("caucasianalbanian")]; 35440 char uniname2ctype_pool_str1843[sizeof("uideo")]; 35441 char uniname2ctype_pool_str1846[sizeof("indevanagariextended")]; 35442 char uniname2ctype_pool_str1847[sizeof("narb")]; 35443 char uniname2ctype_pool_str1857[sizeof("inbopomofo")]; 35444 char uniname2ctype_pool_str1858[sizeof("incjkunifiedideographsextensionf")]; 35445 char uniname2ctype_pool_str1861[sizeof("inmeroiticcursive")]; 35446 char uniname2ctype_pool_str1866[sizeof("patsyn")]; 35447 char uniname2ctype_pool_str1885[sizeof("insuperscriptsandsubscripts")]; 35448 char uniname2ctype_pool_str1894[sizeof("lydi")]; 35449 char uniname2ctype_pool_str1900[sizeof("lydian")]; 35450 char uniname2ctype_pool_str1903[sizeof("intags")]; 35451 char uniname2ctype_pool_str1909[sizeof("intelugu")]; 35452 char uniname2ctype_pool_str1910[sizeof("intifinagh")]; 35453 char uniname2ctype_pool_str1914[sizeof("ingeometricshapesextended")]; 35454 char uniname2ctype_pool_str1915[sizeof("incombiningdiacriticalmarkssupplement")]; 35455 char uniname2ctype_pool_str1922[sizeof("deva")]; 35456 char uniname2ctype_pool_str1924[sizeof("inprivateusearea")]; 35457 char uniname2ctype_pool_str1932[sizeof("devanagari")]; 35458 char uniname2ctype_pool_str1933[sizeof("noncharactercodepoint")]; 35459 char uniname2ctype_pool_str1934[sizeof("inbrahmi")]; 35460 char uniname2ctype_pool_str1943[sizeof("lowercaseletter")]; 35461 char uniname2ctype_pool_str1944[sizeof("word")]; 35462 char uniname2ctype_pool_str1975[sizeof("caseignorable")]; 35463 char uniname2ctype_pool_str1976[sizeof("inyiradicals")]; 35464 char uniname2ctype_pool_str1979[sizeof("deprecated")]; 35465 char uniname2ctype_pool_str1981[sizeof("thai")]; 35466 char uniname2ctype_pool_str1983[sizeof("thaa")]; 35467 char uniname2ctype_pool_str1985[sizeof("incombiningdiacriticalmarksextended")]; 35468 char uniname2ctype_pool_str1989[sizeof("inmathematicalalphanumericsymbols")]; 35469 char uniname2ctype_pool_str1991[sizeof("thaana")]; 35470 char uniname2ctype_pool_str1995[sizeof("inornamentaldingbats")]; 35471 char uniname2ctype_pool_str1997[sizeof("oldpersian")]; 35472 char uniname2ctype_pool_str1998[sizeof("unassigned")]; 35473 char uniname2ctype_pool_str1999[sizeof("insupplementalarrowsa")]; 35474 char uniname2ctype_pool_str2003[sizeof("inpaucinhau")]; 35475 char uniname2ctype_pool_str2005[sizeof("cwt")]; 35476 char uniname2ctype_pool_str2007[sizeof("tirhuta")]; 35477 char uniname2ctype_pool_str2008[sizeof("mahj")]; 35478 char uniname2ctype_pool_str2013[sizeof("insmallformvariants")]; 35479 char uniname2ctype_pool_str2015[sizeof("tirh")]; 35480 char uniname2ctype_pool_str2017[sizeof("orkh")]; 35481 char uniname2ctype_pool_str2020[sizeof("mahajani")]; 35482 char uniname2ctype_pool_str2047[sizeof("softdotted")]; 35483 char uniname2ctype_pool_str2049[sizeof("inphagspa")]; 35484 char uniname2ctype_pool_str2056[sizeof("inethiopicextended")]; 35485 char uniname2ctype_pool_str2059[sizeof("taitham")]; 35486 char uniname2ctype_pool_str2061[sizeof("assigned")]; 35487 char uniname2ctype_pool_str2068[sizeof("nbat")]; 35488 char uniname2ctype_pool_str2072[sizeof("incyrillicextendedb")]; 35489 char uniname2ctype_pool_str2073[sizeof("khoj")]; 35490 char uniname2ctype_pool_str2076[sizeof("buhd")]; 35491 char uniname2ctype_pool_str2079[sizeof("nabataean")]; 35492 char uniname2ctype_pool_str2084[sizeof("inalphabeticpresentationforms")]; 35493 char uniname2ctype_pool_str2091[sizeof("sorasompeng")]; 35494 char uniname2ctype_pool_str2095[sizeof("insupplementalarrowsc")]; 35495 char uniname2ctype_pool_str2096[sizeof("oldpermic")]; 35496 char uniname2ctype_pool_str2097[sizeof("cyrl")]; 35497 char uniname2ctype_pool_str2101[sizeof("finalpunctuation")]; 35498 char uniname2ctype_pool_str2112[sizeof("meroitichieroglyphs")]; 35499 char uniname2ctype_pool_str2114[sizeof("inarabicsupplement")]; 35500 char uniname2ctype_pool_str2117[sizeof("phlp")]; 35501 char uniname2ctype_pool_str2119[sizeof("inpsalterpahlavi")]; 35502 char uniname2ctype_pool_str2134[sizeof("mlym")]; 35503 char uniname2ctype_pool_str2139[sizeof("incjkunifiedideographsextensionb")]; 35504 char uniname2ctype_pool_str2146[sizeof("palmyrene")]; 35505 char uniname2ctype_pool_str2148[sizeof("insupplementalmathematicaloperators")]; 35506 char uniname2ctype_pool_str2149[sizeof("malayalam")]; 35507 char uniname2ctype_pool_str2154[sizeof("soyo")]; 35508 char uniname2ctype_pool_str2158[sizeof("hex")]; 35509 char uniname2ctype_pool_str2161[sizeof("phag")]; 35510 char uniname2ctype_pool_str2165[sizeof("graphemeclusterbreak=ebase")]; 35511 char uniname2ctype_pool_str2172[sizeof("graphemeclusterbreak=ebasegaz")]; 35512 char uniname2ctype_pool_str2174[sizeof("inhanguljamo")]; 35513 char uniname2ctype_pool_str2176[sizeof("bugi")]; 35514 char uniname2ctype_pool_str2179[sizeof("graphemeclusterbreak=spacingmark")]; 35515 char uniname2ctype_pool_str2182[sizeof("inhanguljamoextendeda")]; 35516 char uniname2ctype_pool_str2187[sizeof("currencysymbol")]; 35517 char uniname2ctype_pool_str2189[sizeof("tamil")]; 35518 char uniname2ctype_pool_str2192[sizeof("graphemeclusterbreak=cr")]; 35519 char uniname2ctype_pool_str2193[sizeof("talu")]; 35520 char uniname2ctype_pool_str2196[sizeof("buginese")]; 35521 char uniname2ctype_pool_str2197[sizeof("telu")]; 35522 char uniname2ctype_pool_str2198[sizeof("ingeorgiansupplement")]; 35523 char uniname2ctype_pool_str2199[sizeof("graphemeclusterbreak=emodifier")]; 35524 char uniname2ctype_pool_str2207[sizeof("graphemeclusterbreak=regionalindicator")]; 35525 char uniname2ctype_pool_str2210[sizeof("inlimbu")]; 35526 char uniname2ctype_pool_str2224[sizeof("inenclosedcjklettersandmonths")]; 35527 char uniname2ctype_pool_str2225[sizeof("tangut")]; 35528 char uniname2ctype_pool_str2229[sizeof("inmathematicaloperators")]; 35529 char uniname2ctype_pool_str2232[sizeof("newa")]; 35530 char uniname2ctype_pool_str2249[sizeof("newtailue")]; 35531 char uniname2ctype_pool_str2252[sizeof("hebr")]; 35532 char uniname2ctype_pool_str2260[sizeof("inbuhid")]; 35533 char uniname2ctype_pool_str2263[sizeof("insuttonsignwriting")]; 35534 char uniname2ctype_pool_str2264[sizeof("syrc")]; 35535 char uniname2ctype_pool_str2271[sizeof("dep")]; 35536 char uniname2ctype_pool_str2276[sizeof("inbassavah")]; 35537 char uniname2ctype_pool_str2286[sizeof("otheridcontinue")]; 35538 char uniname2ctype_pool_str2289[sizeof("inletterlikesymbols")]; 35539 char uniname2ctype_pool_str2296[sizeof("ext")]; 35540 char uniname2ctype_pool_str2300[sizeof("other")]; 35541 char uniname2ctype_pool_str2306[sizeof("inmongoliansupplement")]; 35542 char uniname2ctype_pool_str2307[sizeof("othernumber")]; 35543 char uniname2ctype_pool_str2311[sizeof("injavanese")]; 35544 char uniname2ctype_pool_str2313[sizeof("olditalic")]; 35545 char uniname2ctype_pool_str2327[sizeof("nshu")]; 35546 char uniname2ctype_pool_str2349[sizeof("inarabicpresentationformsb")]; 35547 char uniname2ctype_pool_str2350[sizeof("inlowsurrogates")]; 35548 char uniname2ctype_pool_str2353[sizeof("incombininghalfmarks")]; 35549 char uniname2ctype_pool_str2360[sizeof("inbengali")]; 35550 char uniname2ctype_pool_str2364[sizeof("cwcf")]; 35551 char uniname2ctype_pool_str2369[sizeof("inbuginese")]; 35552 char uniname2ctype_pool_str2372[sizeof("syriac")]; 35553 char uniname2ctype_pool_str2380[sizeof("ethi")]; 35554 char uniname2ctype_pool_str2386[sizeof("otheralphabetic")]; 35555 char uniname2ctype_pool_str2393[sizeof("emojipresentation")]; 35556 char uniname2ctype_pool_str2399[sizeof("inarabicmathematicalalphabeticsymbols")]; 35557 char uniname2ctype_pool_str2408[sizeof("tang")]; 35558 char uniname2ctype_pool_str2409[sizeof("buhid")]; 35559 char uniname2ctype_pool_str2412[sizeof("graphemeclusterbreak=t")]; 35560 char uniname2ctype_pool_str2413[sizeof("extender")]; 35561 char uniname2ctype_pool_str2414[sizeof("graphemeclusterbreak=lvt")]; 35562 char uniname2ctype_pool_str2422[sizeof("tagbanwa")]; 35563 char uniname2ctype_pool_str2423[sizeof("hang")]; 35564 char uniname2ctype_pool_str2433[sizeof("incurrencysymbols")]; 35565 char uniname2ctype_pool_str2449[sizeof("ingujarati")]; 35566 char uniname2ctype_pool_str2451[sizeof("paragraphseparator")]; 35567 char uniname2ctype_pool_str2452[sizeof("tibt")]; 35568 char uniname2ctype_pool_str2461[sizeof("tibetan")]; 35569 char uniname2ctype_pool_str2465[sizeof("ogam")]; 35570 char uniname2ctype_pool_str2467[sizeof("cwl")]; 35571 char uniname2ctype_pool_str2469[sizeof("oalpha")]; 35572 char uniname2ctype_pool_str2473[sizeof("hiragana")]; 35573 char uniname2ctype_pool_str2475[sizeof("surrogate")]; 35574 char uniname2ctype_pool_str2481[sizeof("inbamumsupplement")]; 35575 char uniname2ctype_pool_str2483[sizeof("inrejang")]; 35576 char uniname2ctype_pool_str2484[sizeof("intangutcomponents")]; 35577 char uniname2ctype_pool_str2488[sizeof("hmng")]; 35578 char uniname2ctype_pool_str2489[sizeof("graphemeclusterbreak=extend")]; 35579 char uniname2ctype_pool_str2490[sizeof("graphemeclusterbreak=prepend")]; 35580 char uniname2ctype_pool_str2493[sizeof("bassavah")]; 35581 char uniname2ctype_pool_str2500[sizeof("ingothic")]; 35582 char uniname2ctype_pool_str2507[sizeof("alphabetic")]; 35583 char uniname2ctype_pool_str2509[sizeof("mathsymbol")]; 35584 char uniname2ctype_pool_str2515[sizeof("oupper")]; 35585 char uniname2ctype_pool_str2519[sizeof("oldhungarian")]; 35586 char uniname2ctype_pool_str2523[sizeof("tavt")]; 35587 char uniname2ctype_pool_str2526[sizeof("insupplementalpunctuation")]; 35588 char uniname2ctype_pool_str2539[sizeof("dashpunctuation")]; 35589 char uniname2ctype_pool_str2545[sizeof("inplayingcards")]; 35590 char uniname2ctype_pool_str2550[sizeof("inaegeannumbers")]; 35591 char uniname2ctype_pool_str2573[sizeof("osge")]; 35592 char uniname2ctype_pool_str2576[sizeof("digit")]; 35593 char uniname2ctype_pool_str2579[sizeof("dupl")]; 35594 char uniname2ctype_pool_str2587[sizeof("inlinearbsyllabary")]; 35595 char uniname2ctype_pool_str2589[sizeof("cypriot")]; 35596 char uniname2ctype_pool_str2594[sizeof("wspace")]; 35597 char uniname2ctype_pool_str2601[sizeof("whitespace")]; 35598 char uniname2ctype_pool_str2617[sizeof("cwu")]; 35599 char uniname2ctype_pool_str2618[sizeof("nushu")]; 35600 char uniname2ctype_pool_str2622[sizeof("intagbanwa")]; 35601 char uniname2ctype_pool_str2630[sizeof("sylo")]; 35602 char uniname2ctype_pool_str2643[sizeof("graphemeclusterbreak=l")]; 35603 char uniname2ctype_pool_str2649[sizeof("graphemeclusterbreak=control")]; 35604 char uniname2ctype_pool_str2653[sizeof("oldturkic")]; 35605 char uniname2ctype_pool_str2660[sizeof("changeswhencasemapped")]; 35606 char uniname2ctype_pool_str2678[sizeof("rjng")]; 35607 char uniname2ctype_pool_str2693[sizeof("cyrillic")]; 35608 char uniname2ctype_pool_str2702[sizeof("hangul")]; 35609 char uniname2ctype_pool_str2705[sizeof("modifiersymbol")]; 35610 char uniname2ctype_pool_str2708[sizeof("inalchemicalsymbols")]; 35611 char uniname2ctype_pool_str2710[sizeof("insupplementaryprivateuseareaa")]; 35612 char uniname2ctype_pool_str2717[sizeof("orya")]; 35613 char uniname2ctype_pool_str2751[sizeof("inmahjongtiles")]; 35614 char uniname2ctype_pool_str2758[sizeof("changeswhentitlecased")]; 35615 char uniname2ctype_pool_str2763[sizeof("tifinagh")]; 35616 char uniname2ctype_pool_str2775[sizeof("otherlowercase")]; 35617 char uniname2ctype_pool_str2779[sizeof("inglagolitic")]; 35618 char uniname2ctype_pool_str2791[sizeof("otheridstart")]; 35619 char uniname2ctype_pool_str2792[sizeof("ugar")]; 35620 char uniname2ctype_pool_str2797[sizeof("otherletter")]; 35621 char uniname2ctype_pool_str2823[sizeof("inhangulsyllables")]; 35622 char uniname2ctype_pool_str2829[sizeof("elba")]; 35623 char uniname2ctype_pool_str2834[sizeof("intagalog")]; 35624 char uniname2ctype_pool_str2850[sizeof("otheruppercase")]; 35625 char uniname2ctype_pool_str2879[sizeof("omath")]; 35626 char uniname2ctype_pool_str2883[sizeof("warangciti")]; 35627 char uniname2ctype_pool_str2888[sizeof("sylotinagri")]; 35628 char uniname2ctype_pool_str2890[sizeof("shaw")]; 35629 char uniname2ctype_pool_str2891[sizeof("inpahawhhmong")]; 35630 char uniname2ctype_pool_str2901[sizeof("inhalfwidthandfullwidthforms")]; 35631 char uniname2ctype_pool_str2905[sizeof("inlatinextendedb")]; 35632 char uniname2ctype_pool_str2926[sizeof("osmanya")]; 35633 char uniname2ctype_pool_str2930[sizeof("graphemeclusterbreak=lf")]; 35634 char uniname2ctype_pool_str2932[sizeof("othersymbol")]; 35635 char uniname2ctype_pool_str2953[sizeof("defaultignorablecodepoint")]; 35636 char uniname2ctype_pool_str2967[sizeof("incypriotsyllabary")]; 35637 char uniname2ctype_pool_str2968[sizeof("khudawadi")]; 35638 char uniname2ctype_pool_str2972[sizeof("kayahli")]; 35639 char uniname2ctype_pool_str2984[sizeof("hung")]; 35640 char uniname2ctype_pool_str2987[sizeof("unknown")]; 35641 char uniname2ctype_pool_str2989[sizeof("inyijinghexagramsymbols")]; 35642 char uniname2ctype_pool_str3007[sizeof("elbasan")]; 35643 char uniname2ctype_pool_str3016[sizeof("inbopomofoextended")]; 35644 char uniname2ctype_pool_str3019[sizeof("changeswhenlowercased")]; 35645 char uniname2ctype_pool_str3020[sizeof("otherpunctuation")]; 35646 char uniname2ctype_pool_str3038[sizeof("upper")]; 35647 char uniname2ctype_pool_str3052[sizeof("insupplementalarrowsb")]; 35648 char uniname2ctype_pool_str3066[sizeof("oldnortharabian")]; 35649 char uniname2ctype_pool_str3094[sizeof("changeswhenuppercased")]; 35650 char uniname2ctype_pool_str3113[sizeof("uppercase")]; 35651 char uniname2ctype_pool_str3121[sizeof("ugaritic")]; 35652 char uniname2ctype_pool_str3153[sizeof("otherdefaultignorablecodepoint")]; 35653 char uniname2ctype_pool_str3177[sizeof("othermath")]; 35654 char uniname2ctype_pool_str3180[sizeof("tfng")]; 35655 char uniname2ctype_pool_str3193[sizeof("symbol")]; 35656 char uniname2ctype_pool_str3195[sizeof("hexdigit")]; 35657 char uniname2ctype_pool_str3213[sizeof("any")]; 35658 char uniname2ctype_pool_str3235[sizeof("inhanguljamoextendedb")]; 35659 char uniname2ctype_pool_str3238[sizeof("ethiopic")]; 35660 char uniname2ctype_pool_str3276[sizeof("aghb")]; 35661 char uniname2ctype_pool_str3279[sizeof("graphemeclusterbreak=v")]; 35662 char uniname2ctype_pool_str3280[sizeof("graphemeclusterbreak=lv")]; 35663 char uniname2ctype_pool_str3285[sizeof("soyombo")]; 35664 char uniname2ctype_pool_str3296[sizeof("graphemeclusterbreak=zwj")]; 35665 char uniname2ctype_pool_str3305[sizeof("graphemeclusterbreak=glueafterzwj")]; 35666 char uniname2ctype_pool_str3315[sizeof("sgnw")]; 35667 char uniname2ctype_pool_str3367[sizeof("changeswhencasefolded")]; 35668 char uniname2ctype_pool_str3373[sizeof("ogham")]; 35669 char uniname2ctype_pool_str3409[sizeof("uppercaseletter")]; 35670 char uniname2ctype_pool_str3438[sizeof("inhebrew")]; 35671 char uniname2ctype_pool_str3442[sizeof("inhighprivateusesurrogates")]; 35672 char uniname2ctype_pool_str3448[sizeof("openpunctuation")]; 35673 char uniname2ctype_pool_str3453[sizeof("ogrext")]; 35674 char uniname2ctype_pool_str3454[sizeof("hyphen")]; 35675 char uniname2ctype_pool_str3465[sizeof("tagb")]; 35676 char uniname2ctype_pool_str3496[sizeof("inyisyllables")]; 35677 char uniname2ctype_pool_str3593[sizeof("oldsoutharabian")]; 35678 char uniname2ctype_pool_str3662[sizeof("duployan")]; 35679 char uniname2ctype_pool_str3676[sizeof("hluw")]; 35680 char uniname2ctype_pool_str3689[sizeof("inglagoliticsupplement")]; 35681 char uniname2ctype_pool_str3697[sizeof("insupplementalsymbolsandpictographs")]; 35682 char uniname2ctype_pool_str3763[sizeof("insupplementaryprivateuseareab")]; 35683 char uniname2ctype_pool_str3791[sizeof("inegyptianhieroglyphs")]; 35684 char uniname2ctype_pool_str3960[sizeof("rejang")]; 35685 char uniname2ctype_pool_str3971[sizeof("inhangulcompatibilityjamo")]; 35686 char uniname2ctype_pool_str4036[sizeof("telugu")]; 35687 char uniname2ctype_pool_str4164[sizeof("tglg")]; 35688 char uniname2ctype_pool_str4187[sizeof("tagalog")]; 35689 char uniname2ctype_pool_str4208[sizeof("othergraphemeextend")]; 35690 char uniname2ctype_pool_str4460[sizeof("unifiedideograph")]; 35691 char uniname2ctype_pool_str4464[sizeof("inboxdrawing")]; 35692 char uniname2ctype_pool_str4483[sizeof("pahawhhmong")]; 35693 char uniname2ctype_pool_str4608[sizeof("inhighsurrogates")]; 35694 char uniname2ctype_pool_str4634[sizeof("signwriting")]; 35695 char uniname2ctype_pool_str4678[sizeof("zyyy")]; 35696 char uniname2ctype_pool_str4841[sizeof("egyp")]; 35697 char uniname2ctype_pool_str5170[sizeof("hebrew")]; 35698 char uniname2ctype_pool_str6145[sizeof("egyptianhieroglyphs")]; 30413 35699 #endif /* USE_UNICODE_PROPERTIES */ 30414 35700 }; … … 30417 35703 #ifndef USE_UNICODE_PROPERTIES 30418 35704 "word", 35705 #else /* USE_UNICODE_PROPERTIES */ 35706 "yi", 35707 "cn", 35708 "lina", 35709 "yiii", 35710 "lana", 35711 "ci", 35712 "mn", 35713 "z", 35714 "mani", 35715 "lo", 35716 "me", 35717 "loe", 35718 "lao", 35719 "laoo", 35720 "co", 35721 "miao", 35722 "pi", 35723 "inkannada", 35724 "gran", 35725 "innko", 35726 "zzzz", 35727 "pe", 35728 "cari", 35729 "lineara", 35730 "carian", 35731 "mendekikakui", 35732 "geor", 35733 "po", 35734 "grek", 35735 "meeteimayek", 35736 "mark", 35737 "mero", 35738 "kana", 35739 "m", 35740 "mro", 35741 "mroo", 35742 "greek", 35743 "gonm", 35744 "inkharoshthi", 35745 "cakm", 35746 "inmanichaean", 35747 "c", 35748 "inarmenian", 35749 "common", 35750 "inosmanya", 35751 "inmro", 35752 "inmiao", 35753 "mandaic", 35754 "inmyanmar", 35755 "lm", 35756 "prependedconcatenationmark", 35757 "inideographicsymbolsandpunctuation", 35758 "inchakma", 35759 "inkhmer", 35760 "perm", 35761 "connectorpunctuation", 35762 "marc", 35763 "combiningmark", 35764 "merc", 35765 "inrunic", 35766 "incarian", 35767 "incuneiformnumbersandpunctuation", 35768 "inahom", 35769 "incherokee", 35770 "qaai", 35771 "cans", 35772 "lc", 35773 "incuneiform", 35774 "cc", 35775 "armn", 35776 "inavestan", 35777 "armi", 35778 "mc", 35779 "armenian", 35780 "inipaextensions", 35781 "inmarchen", 35782 "pc", 35783 "insharada", 35784 "lineseparator", 35785 "masaramgondi", 35786 "inarrows", 35787 "ri", 35788 "incham", 35789 "latn", 35790 "incyrillic", 35791 "latin", 35792 "inzanabazarsquare", 35793 "insamaritan", 35794 "pcm", 35795 "inmasaramgondi", 35796 "qmark", 35797 "qaac", 35798 "mtei", 35799 "inthai", 35800 "inscriptionalparthian", 35801 "inthaana", 35802 "inkaithi", 35803 "initialpunctuation", 35804 "inkatakana", 35805 "inkhmersymbols", 35806 "insyriac", 35807 "intakri", 35808 "prti", 35809 "arabic", 35810 "mand", 35811 "cs", 35812 "mend", 35813 "zs", 35814 "letter", 35815 "privateuse", 35816 "modi", 35817 "katakana", 35818 "ideo", 35819 "brai", 35820 "xidcontinue", 35821 "inmyanmarextendeda", 35822 "ascii", 35823 "ps", 35824 "inkanaextendeda", 35825 "inmeeteimayek", 35826 "inruminumeralsymbols", 35827 "letternumber", 35828 "knda", 35829 "kannada", 35830 "inoldnortharabian", 35831 "inideographicdescriptioncharacters", 35832 "inmodi", 35833 "incjkcompatibilityforms", 35834 "incjkcompatibilityideographs", 35835 "xidc", 35836 "inmendekikakui", 35837 "brahmi", 35838 "inolditalic", 35839 "inmiscellaneousmathematicalsymbolsa", 35840 "inspecials", 35841 "inemoticons", 35842 "patternwhitespace", 35843 "gothic", 35844 "intransportandmapsymbols", 35845 "l", 35846 "psalterpahlavi", 35847 "vai", 35848 "vaii", 35849 "lt", 35850 "meroiticcursive", 35851 "xids", 35852 "incommonindicnumberforms", 35853 "inmandaic", 35854 "inlineara", 35855 "incjkcompatibilityideographssupplement", 35856 "inlao", 35857 "insundanese", 35858 "mongolian", 35859 "bamum", 35860 "idc", 35861 "inancientsymbols", 35862 "kali", 35863 "grlink", 35864 "grext", 35865 "control", 35866 "inkanasupplement", 35867 "inopticalcharacterrecognition", 35868 "inadlam", 35869 "so", 35870 "inoldsoutharabian", 35871 "sk", 35872 #endif /* USE_UNICODE_PROPERTIES */ 30419 35873 "print", 35874 #ifndef USE_UNICODE_PROPERTIES 30420 35875 "punct", 30421 35876 "alpha", 35877 #else /* USE_UNICODE_PROPERTIES */ 35878 "idsbinaryoperator", 35879 "palm", 35880 "batk", 35881 "indominotiles", 35882 "intaitham", 35883 "inlycian", 35884 "sora", 35885 "batak", 35886 "inmodifiertoneletters", 35887 "patws", 35888 "inmalayalam", 35889 "incjkstrokes", 35890 "incontrolpictures", 35891 "samr", 35892 "bass", 35893 "samaritan", 35894 "inmusicalsymbols", 35895 "ids", 35896 "pd", 35897 "sm", 35898 "pauc", 35899 "joinc", 35900 "inlinearbideograms", 35901 "idcontinue", 35902 "inancientgreekmusicalnotation", 35903 "inoldturkic", 35904 #endif /* USE_UNICODE_PROPERTIES */ 30422 35905 "alnum", 35906 #ifdef USE_UNICODE_PROPERTIES 35907 "inugaritic", 35908 "s", 35909 "inmiscellaneoussymbols", 35910 "n", 35911 "lisu", 35912 "inmiscellaneoussymbolsandarrows", 35913 "insylotinagri", 35914 "inmiscellaneoussymbolsandpictographs", 35915 "sc", 35916 "no", 35917 "ital", 35918 "p", 35919 "xpeo", 35920 "di", 35921 "idst", 35922 "intaile", 35923 "nko", 35924 "nkoo", 35925 "dia", 35926 "inphoenician", 35927 "inlatinextendeda", 35928 "indeseret", 35929 "inlatinextendede", 35930 "incaucasianalbanian", 35931 "insaurashtra", 35932 "inmeeteimayekextensions", 35933 "idstart", 35934 "bali", 35935 "inspacingmodifierletters", 35936 "bengali", 35937 "intamil", 35938 "inmultani", 35939 "vs", 35940 "inlydian", 35941 "balinese", 35942 "lepc", 35943 "cased", 35944 "zinh", 35945 "blank", 35946 "runr", 35947 "patternsyntax", 35948 "bidic", 35949 #endif /* USE_UNICODE_PROPERTIES */ 30423 35950 "xdigit", 35951 #ifndef USE_UNICODE_PROPERTIES 30424 35952 "upper", 35953 "ascii", 30425 35954 #else /* USE_UNICODE_PROPERTIES */ 30426 "n", 30427 "cn", 30428 "mn", 30429 "c", 30430 "m", 30431 "ci", 30432 "z", 30433 "cc", 30434 "mc", 30435 "mani", 30436 "inmanichaean", 30437 "qaai", 30438 "zzzz", 30439 "qaac", 30440 "incham", 30441 "sc", 30442 "sm", 30443 "mandaic", 30444 "incuneiform", 30445 "cans", 30446 "me", 30447 "inarmenian", 30448 #endif /* USE_UNICODE_PROPERTIES */ 30449 "ascii", 30450 #ifdef USE_UNICODE_PROPERTIES 30451 "s", 30452 "insamaritan", 30453 "cs", 30454 "zs", 30455 "inavestan", 30456 "incommonindicnumberforms", 30457 "incuneiformnumbersandpunctuation", 30458 "inthai", 30459 "inipaextensions", 30460 "mtei", 30461 "inspecials", 30462 "initialpunctuation", 30463 "inancientsymbols", 30464 "inthaana", 30465 "inmiscellaneousmathematicalsymbolsa", 30466 "lc", 30467 "inmusicalsymbols", 30468 "lm", 35955 "xidstart", 35956 "inphaistosdisc", 35957 "inancientgreeknumbers", 35958 "canadianaboriginal", 35959 "cher", 35960 "plrd", 35961 "sind", 35962 "cherokee", 35963 "phoenician", 35964 "marchen", 35965 "inhiragana", 35966 "inearlydynasticcuneiform", 35967 "graphemebase", 35968 "cham", 35969 "inimperialaramaic", 35970 "kaithi", 35971 "insiddham", 35972 "diacritic", 35973 "chakma", 35974 "graphemelink", 35975 "inkhudawadi", 35976 "inmahajani", 35977 "khojki", 35978 "inogham", 35979 "khar", 35980 "incountingrodnumerals", 35981 "manichaean", 35982 "coptic", 35983 "bamu", 35984 "sterm", 35985 "inethiopic", 35986 "ll", 35987 "inolchiki", 35988 "inlatinextendedc", 35989 "zl", 35990 "adlm", 35991 "incyrillicsupplement", 35992 "incyrillicextendeda", 35993 "incherokeesupplement", 35994 "decimalnumber", 35995 "khmr", 35996 "copt", 35997 "ahom", 35998 "runic", 35999 "intaixuanjingsymbols", 36000 "insinhala", 36001 "cprt", 36002 "imperialaramaic", 36003 "casedletter", 36004 "khmer", 36005 "linb", 36006 "adlam", 36007 "ininscriptionalparthian", 36008 "ininscriptionalpahlavi", 36009 "sinhala", 36010 "zanb", 36011 "incjkunifiedideographsextensiona", 36012 "multani", 36013 "quotationmark", 36014 "incjkunifiedideographsextensione", 36015 "innabataean", 36016 "inbhaiksuki", 36017 "inelbasan", 36018 "inkanbun", 36019 "inscriptionalpahlavi", 36020 "bopo", 36021 "linearb", 36022 "incyrillicextendedc", 36023 "glagolitic", 36024 "kharoshthi", 36025 "inoldpersian", 36026 "goth", 36027 "math", 36028 "joincontrol", 36029 "punct", 36030 "lu", 36031 "limb", 36032 "inmiscellaneoustechnical", 36033 "han", 36034 "hani", 36035 "invai", 36036 "sundanese", 30469 36037 "taile", 30470 "sterm", 30471 "lina", 30472 "inlycian", 30473 "inmyanmarextendeda", 30474 "lana", 30475 "alnum", 30476 "intaitham", 30477 "incontrolpictures", 30478 "inmiscellaneoussymbols", 30479 "inmalayalam", 30480 "intransportandmapsymbols", 30481 "inmiscellaneoussymbolsandarrows", 30482 "inlineara", 30483 "inmiscellaneoussymbolsandpictographs", 30484 "taiviet", 30485 "cwcm", 30486 "sinhala", 30487 "latn", 30488 "latin", 30489 "ital", 30490 "intamil", 30491 "taml", 30492 "inlatinextendedc", 30493 "intaile", 30494 "tale", 30495 "inlatinextendeda", 30496 "inlinearbideograms", 30497 "newtailue", 30498 "l", 30499 "nl", 30500 "inmeeteimayekextensions", 30501 "zl", 30502 "lt", 30503 "inrunic", 30504 "incarian", 30505 "armn", 30506 "cari", 30507 "armi", 30508 "inlatinextendede", 30509 "incyrillic", 30510 "armenian", 30511 "inmyanmar", 30512 "innewtailue", 30513 "carian", 30514 "merc", 30515 "arabic", 30516 "inmiscellaneoustechnical", 30517 "insyriac", 30518 "samr", 30519 "zinh", 30520 "han", 30521 "samaritan", 30522 "hani", 30523 "cwt", 30524 "incherokee", 30525 "insharada", 30526 "cham", 30527 "manichaean", 30528 "inmahajani", 36038 "takri", 36039 "grantha", 36040 "hano", 36041 "inhatran", 36042 "oriya", 36043 "intirhuta", 36044 "guru", 36045 "kthi", 36046 "saur", 36047 "incjkunifiedideographsextensionc", 36048 "hanunoo", 36049 "paucinhau", 36050 "takr", 36051 "hira", 36052 "inarabic", 36053 "bopomofo", 36054 "radical", 36055 "gurmukhi", 36056 "inkhojki", 36057 "arab", 36058 "limbu", 36059 "inoldpermic", 36060 "brah", 36061 "inoldhungarian", 36062 "inshorthandformatcontrols", 36063 "incoptic", 36064 "sd", 36065 "sidd", 36066 "inherited", 36067 "incjkunifiedideographs", 36068 "term", 36069 "incjksymbolsandpunctuation", 36070 "graphemeextend", 36071 "dsrt", 30529 36072 #endif /* USE_UNICODE_PROPERTIES */ 30530 36073 "cntrl", 30531 36074 #ifdef USE_UNICODE_PROPERTIES 30532 "sinh", 30533 "inruminumeralsymbols", 30534 "inethiopic", 30535 "tamil", 30536 "miao", 36075 "xsux", 36076 "insyriacsupplement", 36077 "inbasiclatin", 36078 "deseret", 36079 "inenclosedideographicsupplement", 36080 "bidicontrol", 36081 "closepunctuation", 36082 "inlatinextendedadditional", 36083 "inarabicpresentationformsa", 36084 "grbase", 36085 "mong", 36086 "anatolianhieroglyphs", 30537 36087 "inenclosedalphanumerics", 30538 "term", 30539 "chakma", 30540 "insinhala", 30541 "shavian", 30542 "inosmanya", 30543 "inlatinextendedadditional", 30544 "osma", 30545 "ll", 30546 "thai", 30547 "math", 30548 "thaa", 30549 "inenclosedalphanumericsupplement", 30550 "ethi", 30551 "connectorpunctuation", 30552 "inlowsurrogates", 30553 "insinhalaarchaicnumbers", 30554 "taitham", 30555 "thaana", 30556 "lineara", 30557 "di", 30558 "idc", 30559 "meroiticcursive", 30560 "mand", 30561 "inmodi", 30562 "inmandaic", 30563 "cwl", 30564 "asciihexdigit", 30565 "dia", 30566 "terminalpunctuation", 30567 "mend", 30568 "sind", 30569 "wara", 30570 "inwarangciti", 30571 "inideographicdescriptioncharacters", 30572 "inemoticons", 30573 "ids", 30574 "insundanese", 30575 "pi", 30576 "indominotiles", 30577 "pc", 30578 "loe", 30579 "titlecaseletter", 30580 "inopticalcharacterrecognition", 30581 "idst", 30582 "shaw", 30583 "cwcf", 30584 "idcontinue", 30585 "inphaistosdisc", 30586 "pe", 30587 "indeseret", 30588 "inspacingmodifierletters", 30589 "inlydian", 30590 "ps", 30591 "hira", 30592 "whitespace", 30593 "inscriptionalparthian", 30594 "cher", 30595 "inmathematicalalphanumericsymbols", 30596 "incoptic", 30597 "inhiragana", 30598 "inenclosedcjklettersandmonths", 36088 "ingrantha", 36089 "georgian", 36090 "osage", 36091 "inosage", 36092 "ingeneralpunctuation", 36093 "saurashtra", 36094 "inshavian", 30599 36095 #endif /* USE_UNICODE_PROPERTIES */ 30600 36096 "space", 30601 36097 #ifdef USE_UNICODE_PROPERTIES 30602 "oriya", 30603 "mero", 30604 "mahj", 30605 "tirh", 30606 "sora", 30607 "inscriptionalpahlavi", 30608 "inarrows", 30609 "mahajani", 30610 "joinc", 30611 "incopticepactnumbers", 30612 "hano", 30613 "palm", 30614 "intirhuta", 30615 "patws", 30616 "inolchiki", 36098 "mult", 36099 "inpalmyrene", 36100 "inanatolianhieroglyphs", 36101 "spacingmark", 36102 "alpha", 36103 "ingeorgian", 36104 "intibetan", 30617 36105 "inlepcha", 30618 "no", 30619 "lepc", 30620 "inogham", 30621 "co", 30622 "innko", 30623 "alpha", 30624 "psalterpahlavi", 30625 "inmro", 30626 "inpalmyrene", 30627 "common", 30628 "cf", 30629 "inmiao", 30630 "so", 30631 "diacritic", 30632 "insundanesesupplement", 30633 "intifinagh", 30634 "tifinagh", 30635 "odi", 30636 "oidc", 30637 "modi", 30638 "decimalnumber", 30639 "letter", 30640 "dash", 30641 "insylotinagri", 30642 "inolditalic", 30643 "wspace", 30644 "dsrt", 30645 "ideo", 30646 "siddham", 30647 "perm", 30648 "oids", 30649 "inmahjongtiles", 30650 "lo", 30651 "lineseparator", 30652 "imperialaramaic", 30653 "idstart", 30654 "inlao", 30655 "sharada", 30656 "lao", 30657 "laoo", 30658 "mongolian", 30659 "oalpha", 30660 "inimperialaramaic", 30661 "nchar", 30662 "inlatin1supplement", 30663 "prti", 30664 "cprt", 30665 "nd", 30666 "deseret", 30667 "inoldturkic", 30668 "radical", 30669 "canadianaboriginal", 30670 "inmodifiertoneletters", 30671 "incaucasianalbanian", 30672 "coptic", 30673 "casedletter", 30674 "sd", 30675 "inphoenician", 30676 "sidd", 30677 "privateuse", 30678 "sundanese", 30679 "inancientgreekmusicalnotation", 30680 "insiddham", 30681 "cased", 30682 "print", 30683 "ininscriptionalparthian", 30684 "ininscriptionalpahlavi", 30685 "copt", 30686 "inancientgreeknumbers", 30687 "saurashtra", 30688 "mro", 30689 "mroo", 30690 "inalphabeticpresentationforms", 30691 "lowercase", 36106 "inbatak", 36107 "emoji", 36108 "osma", 36109 "bhks", 36110 "inmongolian", 36111 "variationselector", 36112 "braille", 30692 36113 "phli", 30693 "patternwhitespace", 30694 "inenclosedideographicsupplement", 30695 "spaceseparator", 30696 "inmathematicaloperators", 30697 "omath", 30698 "lisu", 30699 "inpsalterpahlavi", 30700 "olditalic", 30701 "hanunoo", 30702 "inherited", 30703 "lepcha", 30704 "p", 30705 "inmongolian", 30706 "zp", 30707 "finalpunctuation", 30708 "otheridcontinue", 30709 "shrd", 30710 "ingrantha", 30711 "talu", 30712 "otheralphabetic", 30713 "noncharactercodepoint", 36114 "bhaiksuki", 36115 "phnx", 36116 "inblockelements", 30714 36117 #ifdef USE_UNICODE_AGE_PROPERTIES 30715 36118 "age=1.1", 36119 "age=4.1", 36120 "age=4.0", 36121 "age=10.0", 30716 36122 "age=2.1", 36123 "age=2.0", 36124 "age=6.1", 36125 "age=6.0", 36126 "age=9.0", 36127 "age=8.0", 36128 "age=6.2", 36129 "age=7.0", 30717 36130 #endif /* USE_UNICODE_AGE_PROPERTIES */ 30718 " closepunctuation",30719 " letternumber",36131 "inenclosedalphanumericsupplement", 36132 "innumberforms", 30720 36133 #ifdef USE_UNICODE_AGE_PROPERTIES 30721 "age= 6.1",30722 "age= 6.2",36134 "age=5.1", 36135 "age=5.0", 30723 36136 #endif /* USE_UNICODE_AGE_PROPERTIES */ 30724 "telu", 36137 "nd", 36138 "separator", 36139 #ifdef USE_UNICODE_AGE_PROPERTIES 36140 "age=5.2", 36141 #endif /* USE_UNICODE_AGE_PROPERTIES */ 36142 "ingurmukhi", 36143 "incjkunifiedideographsextensiond", 36144 "taiviet", 36145 "sinh", 30725 36146 #ifdef USE_UNICODE_AGE_PROPERTIES 30726 36147 "age=3.1", 36148 "age=3.0", 36149 #endif /* USE_UNICODE_AGE_PROPERTIES */ 36150 "hatran", 36151 #ifdef USE_UNICODE_AGE_PROPERTIES 30727 36152 "age=3.2", 30728 "age=5.1",30729 "age=5.2",30730 "age=2.0",30731 36153 "age=6.3", 30732 36154 #endif /* USE_UNICODE_AGE_PROPERTIES */ 30733 "inshorthandformatcontrols", 30734 "inoldnortharabian", 30735 #ifdef USE_UNICODE_AGE_PROPERTIES 30736 "age=6.0", 30737 "age=4.1", 30738 #endif /* USE_UNICODE_AGE_PROPERTIES */ 30739 "ingeneralpunctuation", 30740 #ifdef USE_UNICODE_AGE_PROPERTIES 30741 "age=3.0", 30742 "age=7.0", 30743 "age=5.0", 30744 #endif /* USE_UNICODE_AGE_PROPERTIES */ 30745 "innabataean", 30746 #ifdef USE_UNICODE_AGE_PROPERTIES 30747 "age=4.0", 30748 #endif /* USE_UNICODE_AGE_PROPERTIES */ 30749 "bamum", 30750 "control", 30751 "induployan", 36155 "format", 36156 "shavian", 36157 "insinhalaarchaicnumbers", 36158 "cuneiform", 36159 "inmyanmarextendedb", 36160 "punctuation", 36161 "inarabicextendeda", 36162 "hatr", 36163 "inhanunoo", 30752 36164 "inlatinextendedd", 30753 "inarabic", 30754 "runic", 30755 "inelbasan", 30756 "inoldsoutharabian", 30757 "inbasiclatin", 30758 "format", 30759 "innumberforms", 30760 "inugaritic", 30761 "separator", 30762 "idsbinaryoperator", 30763 "tagbanwa", 30764 "bass", 30765 "saur", 30766 "nbat", 30767 "intaixuanjingsymbols", 30768 "joincontrol", 30769 "otheridstart", 36165 "modifierletter", 36166 "odi", 36167 "ahex", 36168 "logicalorderexception", 30770 36169 "inbyzantinemusicalsymbols", 30771 "intags", 30772 "nabataean", 30773 "insuperscriptsandsubscripts", 30774 "intibetan", 30775 "insaurashtra", 30776 "othersymbol", 30777 "ext", 30778 "inarabicpresentationformsa", 36170 "sund", 36171 "number", 36172 "insundanesesupplement", 36173 "incopticepactnumbers", 36174 "emojimodifier", 36175 "zp", 36176 "asciihexdigit", 36177 "indevanagari", 36178 "innewa", 36179 "avestan", 36180 "insorasompeng", 30779 36181 "inmiscellaneousmathematicalsymbolsb", 30780 "otherlowercase", 30781 "phoenician", 36182 "inbraillepatterns", 36183 "nonspacingmark", 36184 "ingreekandcoptic", 36185 #endif /* USE_UNICODE_PROPERTIES */ 36186 "xposixpunct", 36187 #ifdef USE_UNICODE_PROPERTIES 36188 "inwarangciti", 36189 "oidc", 36190 "terminalpunctuation", 36191 "cf", 30782 36192 #endif /* USE_UNICODE_PROPERTIES */ 30783 36193 "lower", 30784 #ifndef USE_UNICODE_PROPERTIES 36194 #ifdef USE_UNICODE_PROPERTIES 36195 "inunifiedcanadianaboriginalsyllabics", 36196 "idsb", 36197 "inbalinese", 36198 "induployan", 36199 "innoblock", 36200 "pf", 36201 "inoriya", 36202 "inkatakanaphoneticextensions", 36203 "inkayahli", 36204 "wara", 36205 "innushu", 36206 "lepcha", 36207 "inmeroitichieroglyphs", 36208 "beng", 36209 "idstrinaryoperator", 36210 "oids", 36211 "regionalindicator", 36212 "enclosingmark", 36213 "java", 36214 "tale", 36215 "emojimodifierbase", 36216 "inphoneticextensions", 36217 "lowercase", 36218 "inverticalforms", 36219 "javanese", 36220 "sentenceterminal", 36221 "ingreekextended", 36222 "invariationselectors", 36223 "cwcm", 36224 "lyci", 36225 "avst", 36226 "lycian", 36227 "zanabazarsquare", 36228 "sarb", 36229 "invedicextensions", 36230 "inkangxiradicals", 36231 "intaiviet", 36232 "mymr", 36233 "incjkradicalssupplement", 36234 "myanmar", 36235 "taml", 36236 "olower", 36237 "nl", 36238 "inethiopicsupplement", 36239 "olck", 36240 "inethiopicextendeda", 36241 #endif /* USE_UNICODE_PROPERTIES */ 30785 36242 "graph", 30786 #else /* USE_UNICODE_PROPERTIES */ 30787 "linb", 30788 "po", 30789 "inmyanmarextendedb", 30790 "limb", 30791 "inbraillepatterns", 36243 #ifdef USE_UNICODE_PROPERTIES 36244 "olchiki", 36245 "inphoneticextensionssupplement", 36246 "emojicomponent", 36247 "inunifiedcanadianaboriginalsyllabicsextended", 36248 "ingeometricshapes", 36249 "invariationselectorssupplement", 36250 "gujr", 36251 "sharada", 36252 "gujarati", 36253 "nchar", 36254 "innewtailue", 36255 "glag", 36256 "ideographic", 36257 "shrd", 36258 "insoyombo", 36259 "inbamum", 36260 "inlatin1supplement", 36261 "dash", 36262 "indingbats", 36263 "spaceseparator", 36264 "phagspa", 36265 "titlecaseletter", 36266 "incjkcompatibility", 36267 "intangut", 36268 "incombiningdiacriticalmarks", 36269 "inlisu", 36270 "siddham", 36271 "incombiningdiacriticalmarksforsymbols", 36272 "caucasianalbanian", 36273 "uideo", 36274 "indevanagariextended", 36275 "narb", 36276 "inbopomofo", 36277 "incjkunifiedideographsextensionf", 36278 "inmeroiticcursive", 36279 "patsyn", 36280 "insuperscriptsandsubscripts", 36281 "lydi", 36282 "lydian", 36283 "intags", 36284 "intelugu", 36285 "intifinagh", 36286 "ingeometricshapesextended", 36287 "incombiningdiacriticalmarkssupplement", 36288 "deva", 36289 "inprivateusearea", 36290 "devanagari", 36291 "noncharactercodepoint", 36292 "inbrahmi", 36293 "lowercaseletter", 36294 "word", 36295 "caseignorable", 36296 "inyiradicals", 36297 "deprecated", 36298 "thai", 36299 "thaa", 36300 "incombiningdiacriticalmarksextended", 36301 "inmathematicalalphanumericsymbols", 36302 "thaana", 36303 "inornamentaldingbats", 36304 "oldpersian", 36305 "unassigned", 36306 "insupplementalarrowsa", 36307 "inpaucinhau", 36308 "cwt", 36309 "tirhuta", 36310 "mahj", 36311 "insmallformvariants", 36312 "tirh", 36313 "orkh", 36314 "mahajani", 36315 "softdotted", 36316 "inphagspa", 36317 "inethiopicextended", 36318 "taitham", 36319 "assigned", 36320 "nbat", 36321 "incyrillicextendedb", 36322 "khoj", 36323 "buhd", 36324 "nabataean", 36325 "inalphabeticpresentationforms", 36326 "sorasompeng", 36327 "insupplementalarrowsc", 36328 "oldpermic", 36329 "cyrl", 36330 "finalpunctuation", 36331 "meroitichieroglyphs", 36332 "inarabicsupplement", 36333 "phlp", 36334 "inpsalterpahlavi", 36335 "mlym", 36336 "incjkunifiedideographsextensionb", 36337 "palmyrene", 36338 "insupplementalmathematicaloperators", 36339 "malayalam", 36340 "soyo", 36341 "hex", 36342 "phag", 36343 "graphemeclusterbreak=ebase", 36344 "graphemeclusterbreak=ebasegaz", 36345 "inhanguljamo", 36346 "bugi", 36347 "graphemeclusterbreak=spacingmark", 36348 "inhanguljamoextendeda", 36349 "currencysymbol", 36350 "tamil", 36351 "graphemeclusterbreak=cr", 36352 "talu", 36353 "buginese", 36354 "telu", 36355 "ingeorgiansupplement", 36356 "graphemeclusterbreak=emodifier", 36357 "graphemeclusterbreak=regionalindicator", 36358 "inlimbu", 36359 "inenclosedcjklettersandmonths", 36360 "tangut", 36361 "inmathematicaloperators", 36362 "newa", 36363 "newtailue", 36364 "hebr", 36365 "inbuhid", 36366 "insuttonsignwriting", 36367 "syrc", 36368 "dep", 36369 "inbassavah", 36370 "otheridcontinue", 36371 "inletterlikesymbols", 36372 "ext", 36373 "other", 36374 "inmongoliansupplement", 36375 "othernumber", 36376 "injavanese", 36377 "olditalic", 36378 "nshu", 36379 "inarabicpresentationformsb", 36380 "inlowsurrogates", 36381 "incombininghalfmarks", 36382 "inbengali", 36383 "cwcf", 36384 "inbuginese", 36385 "syriac", 36386 "ethi", 36387 "otheralphabetic", 36388 "emojipresentation", 36389 "inarabicmathematicalalphabeticsymbols", 36390 "tang", 36391 "buhid", 36392 "graphemeclusterbreak=t", 36393 "extender", 36394 "graphemeclusterbreak=lvt", 36395 "tagbanwa", 36396 "hang", 36397 "incurrencysymbols", 36398 "ingujarati", 36399 "paragraphseparator", 30792 36400 "tibt", 30793 "cuneiform",30794 "bali",30795 "oldpersian",30796 "oldpermic",30797 "pf",30798 "word",30799 36401 "tibetan", 30800 "incyrillicsupplement", 30801 "elba", 30802 "insupplementalmathematicaloperators", 30803 "inbalinese", 30804 "bengali", 30805 "caseignorable", 30806 "incountingrodnumerals", 30807 "other", 30808 "tirhuta", 30809 "othernumber", 30810 "balinese", 30811 "elbasan", 30812 "inunifiedcanadianaboriginalsyllabics", 30813 "lowercaseletter", 30814 "ethiopic", 30815 "gran", 30816 "ingurmukhi", 30817 "sund", 30818 "inethiopicsupplement", 30819 "inoldpersian", 30820 "inoldpermic", 30821 "othermath", 30822 "unassigned", 36402 "ogam", 36403 "cwl", 36404 "oalpha", 36405 "hiragana", 36406 "surrogate", 36407 "inbamumsupplement", 36408 "inrejang", 36409 "intangutcomponents", 30823 36410 "hmng", 30824 "narb", 30825 "brai", 30826 "hang", 30827 "insorasompeng", 30828 "arab", 30829 "plrd", 30830 "ingujarati", 30831 "brahmi", 30832 "runr", 30833 "ahex", 30834 "mong", 30835 "pauc", 30836 "sarb", 30837 "ogam", 30838 "olower", 30839 "pd", 30840 "number", 30841 "inbrahmi", 30842 "otherletter", 36411 "graphemeclusterbreak=extend", 36412 "graphemeclusterbreak=prepend", 36413 "bassavah", 30843 36414 "ingothic", 30844 "phagspa", 30845 "inletterlikesymbols", 30846 "yi", 30847 "hangul", 30848 "yiii", 30849 "tfng", 30850 "insupplementalarrowsc", 30851 "ingreekandcoptic", 30852 "xidc", 30853 "insupplementalarrowsa", 30854 "gothic", 30855 "grext", 30856 "incombininghalfmarks", 30857 "deprecated", 30858 "inbassavah", 30859 "xids", 30860 "linearb", 30861 "ingeometricshapes", 30862 "phlp", 30863 "warangciti", 30864 "inblockelements", 30865 "modifierletter", 30866 "indingbats", 30867 "dep", 30868 "punct", 30869 "inhanunoo", 30870 "bidic", 30871 "ingreekextended", 30872 "idsb", 30873 "assigned", 30874 "otherpunctuation", 30875 "inhangulsyllables", 30876 "inarabicmathematicalalphabeticsymbols", 30877 "inornamentaldingbats", 30878 "inphagspa", 30879 "lyci", 30880 "mlym", 30881 "inarabicextendeda", 30882 "rjng", 30883 "lycian", 30884 "inalchemicalsymbols", 30885 "xdigit", 36415 "alphabetic", 36416 "mathsymbol", 36417 "oupper", 36418 "oldhungarian", 36419 "tavt", 36420 "insupplementalpunctuation", 36421 "dashpunctuation", 36422 "inplayingcards", 36423 "inaegeannumbers", 36424 "osge", 30886 36425 #endif /* USE_UNICODE_PROPERTIES */ 30887 36426 "digit", … … 30889 36428 "blank" 30890 36429 #else /* USE_UNICODE_PROPERTIES */ 30891 "xidstart", 30892 "inrejang", 30893 "malayalam", 30894 "idstrinaryoperator", 30895 "invai", 30896 "vai", 30897 "vaii", 30898 "hiragana", 30899 "ingeorgian", 30900 "braille", 30901 "geor", 30902 "brah", 30903 "glagolitic", 30904 "inkannada", 30905 "cakm", 30906 "kana", 30907 "hebr", 30908 "inshavian", 30909 "vs", 30910 "inchakma", 30911 "ogham", 36430 "dupl", 36431 "inlinearbsyllabary", 36432 "cypriot", 36433 "wspace", 36434 "whitespace", 36435 "cwu", 36436 "nushu", 36437 "intagbanwa", 36438 "sylo", 36439 "graphemeclusterbreak=l", 36440 "graphemeclusterbreak=control", 36441 "oldturkic", 36442 "changeswhencasemapped", 36443 "rjng", 36444 "cyrillic", 36445 "hangul", 36446 "modifiersymbol", 36447 "inalchemicalsymbols", 36448 "insupplementaryprivateuseareaa", 36449 "orya", 36450 "inmahjongtiles", 36451 "changeswhentitlecased", 36452 "tifinagh", 36453 "otherlowercase", 36454 "inglagolitic", 36455 "otheridstart", 36456 "ugar", 36457 "otherletter", 36458 "inhangulsyllables", 36459 "elba", 36460 "intagalog", 36461 "otheruppercase", 36462 "omath", 36463 "warangciti", 30912 36464 "sylotinagri", 30913 "inunifiedcanadianaboriginalsyllabicsextended", 30914 "inmeroitichieroglyphs", 30915 "grantha", 30916 "graphemebase", 30917 "mathsymbol", 30918 "mymr", 30919 "insupplementaryprivateuseareaa", 30920 "mendekikakui", 30921 "incjkcompatibilityforms", 36465 "shaw", 36466 "inpahawhhmong", 30922 36467 "inhalfwidthandfullwidthforms", 30923 "incjkcompatibilityideographs", 30924 "inkaithi", 30925 "avst", 30926 "inarabicsupplement", 30927 "takri", 30928 "syrc", 30929 "meeteimayek", 30930 "myanmar", 30931 "avestan", 30932 "inhanguljamoextendeda", 30933 "goth", 30934 "inkatakana", 30935 "incyrillicextendeda", 30936 "alphabetic", 30937 "syriac", 30938 "ideographic", 30939 "incjkstrokes", 30940 "inlinearbsyllabary", 30941 "tavt", 30942 "intaiviet", 30943 "incjkcompatibilityideographssupplement", 30944 "inmeeteimayek", 30945 "kali", 30946 "inyiradicals", 30947 "lu", 30948 "inoriya", 30949 "hebrew", 30950 "extender", 30951 "inhighprivateusesurrogates", 30952 "limbu", 30953 "inbuhid", 30954 "inethiopicextendeda", 30955 "xidcontinue", 36468 "inlatinextendedb", 36469 "osmanya", 36470 "graphemeclusterbreak=lf", 36471 "othersymbol", 36472 "defaultignorablecodepoint", 36473 "incypriotsyllabary", 36474 "khudawadi", 36475 "kayahli", 36476 "hung", 36477 "unknown", 30956 36478 "inyijinghexagramsymbols", 30957 "logicalorderexception", 30958 "inhebrew", 30959 "cyrl", 30960 "osmanya", 30961 "phnx", 30962 "incombiningdiacriticalmarks", 30963 "inkanasupplement", 30964 "inlisu", 30965 "changeswhencasemapped", 30966 "incombiningdiacriticalmarksforsymbols", 30967 "cwu", 30968 "phag", 30969 "insmallformvariants", 30970 "inpahawhhmong", 30971 "otheruppercase", 30972 "intelugu", 30973 "incombiningdiacriticalmarkssupplement", 30974 "ingeometricshapesextended", 30975 "xpeo", 30976 "bamu", 30977 "inbamum", 30978 "mark", 30979 "dupl", 30980 "graph", 30981 "dashpunctuation", 30982 "patternsyntax", 30983 "changeswhentitlecased", 30984 "inkharoshthi", 30985 "inkhmer", 30986 "java", 30987 "sylo", 36479 "elbasan", 36480 "inbopomofoextended", 36481 "changeswhenlowercased", 36482 "otherpunctuation", 36483 "upper", 36484 "insupplementalarrowsb", 36485 "oldnortharabian", 36486 "changeswhenuppercased", 36487 "uppercase", 30988 36488 "ugaritic", 30989 36489 "otherdefaultignorablecodepoint", 30990 "softdotted", 30991 "uideo", 30992 "inphoneticextensions", 30993 "injavanese", 30994 "invariationselectors", 30995 "kaithi", 30996 "cyrillic", 30997 "intakri", 30998 "takr", 30999 "javanese", 31000 "bidicontrol", 31001 "caucasianalbanian", 31002 "lydi", 31003 "insupplementalpunctuation", 31004 "inphoneticextensionssupplement", 31005 "lydian", 31006 "oldturkic", 31007 "invariationselectorssupplement", 31008 "kthi", 31009 "inhanguljamo", 31010 "patsyn", 31011 "inlimbu", 31012 "sorasompeng", 31013 "orya", 31014 "inkhmersymbols", 31015 "inglagolitic", 31016 "indevanagari", 31017 "deva", 31018 "knda", 31019 "inbengali", 36490 "othermath", 36491 "tfng", 31020 36492 "symbol", 31021 "devanagari", 31022 "inmendekikakui", 31023 "beng", 31024 "invedicextensions", 31025 "graphemeextend", 31026 "kannada", 31027 "inbuginese", 31028 "olck", 31029 "meroitichieroglyphs", 31030 "ugar", 31031 "intagalog", 31032 "inbamumsupplement", 31033 "olchiki", 31034 "incurrencysymbols", 36493 "hexdigit", 36494 "any", 36495 "inhanguljamoextendedb", 36496 "ethiopic", 36497 "aghb", 36498 "graphemeclusterbreak=v", 36499 "graphemeclusterbreak=lv", 36500 "soyombo", 36501 "graphemeclusterbreak=zwj", 36502 "graphemeclusterbreak=glueafterzwj", 36503 "sgnw", 36504 "changeswhencasefolded", 36505 "ogham", 36506 "uppercaseletter", 36507 "inhebrew", 36508 "inhighprivateusesurrogates", 36509 "openpunctuation", 36510 "ogrext", 36511 "hyphen", 31035 36512 "tagb", 31036 "inaegeannumbers", 31037 "intagbanwa", 31038 "uppercase", 31039 "defaultignorablecodepoint", 31040 "glag", 31041 "inkatakanaphoneticextensions", 31042 "changeswhencasefolded", 31043 "inpaucinhau", 31044 "inprivateusearea", 31045 "paucinhau", 31046 "spacingmark", 31047 "khmr", 31048 "khar", 31049 "inarabicpresentationformsb", 31050 "changeswhenlowercased", 36513 "inyisyllables", 36514 "oldsoutharabian", 36515 "duployan", 36516 "hluw", 36517 "inglagoliticsupplement", 36518 "insupplementalsymbolsandpictographs", 36519 "insupplementaryprivateuseareab", 36520 "inegyptianhieroglyphs", 36521 "rejang", 36522 "inhangulcompatibilityjamo", 36523 "telugu", 31051 36524 "tglg", 31052 "inethiopicextended", 31053 "incombiningdiacriticalmarksextended", 31054 "oupper", 31055 "incjksymbolsandpunctuation", 31056 "bopo", 31057 "punctuation", 31058 "combiningmark", 31059 "inplayingcards", 31060 "inbopomofo", 31061 "hyphen", 31062 "inkhojki", 31063 "nko", 31064 "nkoo", 31065 "enclosingmark", 31066 "openpunctuation", 31067 "currencysymbol", 31068 "inverticalforms", 31069 "hex", 31070 "modifiersymbol", 31071 "inlatinextendedb", 31072 "kharoshthi", 31073 "cherokee", 36525 "tagalog", 36526 "othergraphemeextend", 36527 "unifiedideograph", 36528 "inboxdrawing", 31074 36529 "pahawhhmong", 31075 "cypriot",31076 "incypriotsyllabary",31077 "palmyrene",31078 "upper",31079 "aghb",31080 "georgian",31081 "gujr",31082 "grbase",31083 "gujarati",31084 "hexdigit",31085 "khmer",31086 "uppercaseletter",31087 "insupplementalarrowsb",31088 "surrogate",31089 "unifiedideograph",31090 "nonspacingmark",31091 "othergraphemeextend",31092 "indevanagariextended",31093 "orkh",31094 "ingeorgiansupplement",31095 "oldnortharabian",31096 "tagalog",31097 "khoj",31098 "bopomofo",31099 "rejang",31100 "buhd",31101 "incjkradicalssupplement",31102 "inkanbun",31103 "variationselector",31104 "inkangxiradicals",31105 36530 "inhighsurrogates", 31106 "insupplementaryprivateuseareab", 31107 "ogrext", 31108 "batk", 31109 "inhanguljamoextendedb", 31110 "inbatak", 31111 "incyrillicextendedb", 31112 "innoblock", 31113 "any", 31114 "xsux", 31115 "bugi", 31116 "inkhudawadi", 31117 "telugu", 31118 "changeswhenuppercased", 31119 "grek", 31120 "guru", 31121 "paragraphseparator", 31122 "buginese", 31123 "inyisyllables", 36531 "signwriting", 36532 "zyyy", 31124 36533 "egyp", 31125 "khudawadi", 31126 "unknown", 31127 "bassavah", 31128 "inegyptianhieroglyphs", 31129 "buhid", 31130 "inkayahli", 31131 "inmeroiticcursive", 31132 "incjkcompatibility", 31133 "oldsoutharabian", 31134 "quotationmark", 31135 "inhangulcompatibilityjamo", 31136 "qmark", 31137 "incjkunifiedideographsextensionc", 31138 "sk", 31139 "incjkunifiedideographsextensiona", 31140 "incjkunifiedideographs", 31141 "katakana", 31142 "kayahli", 31143 "duployan", 31144 "incjkunifiedideographsextensiond", 31145 "inbopomofoextended", 31146 "khojki", 31147 "zyyy", 31148 "egyptianhieroglyphs", 31149 "incjkunifiedideographsextensionb", 31150 "batak", 31151 "blank", 31152 "inboxdrawing", 31153 "greek", 31154 "gurmukhi", 31155 "grlink", 31156 "graphemelink" 36534 "hebrew", 36535 "egyptianhieroglyphs" 31157 36536 #endif /* USE_UNICODE_PROPERTIES */ 31158 36537 }; … … 31160 36539 #ifdef __GNUC__ 31161 36540 __inline 31162 #if def __GNUC_STDC_INLINE__36541 #if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ 31163 36542 __attribute__ ((__gnu_inline__)) 31164 36543 #endif … … 31172 36551 { 31173 36552 #ifdef USE_UNICODE_PROPERTIES 36553 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36554 {-1}, 36555 {uniname2ctype_offset(str10), 111}, 36556 {-1}, {-1}, 36557 {uniname2ctype_offset(str13), 21}, 36558 {uniname2ctype_offset(str14), 184}, 36559 {uniname2ctype_offset(str15), 111}, 36560 {uniname2ctype_offset(str16), 152}, 36561 {uniname2ctype_offset(str17), 61}, 36562 {-1}, 36563 {uniname2ctype_offset(str19), 34}, 36564 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36565 {uniname2ctype_offset(str26), 52}, 36566 {-1}, 36567 {uniname2ctype_offset(str28), 186}, 36568 {-1}, {-1}, {-1}, {-1}, 36569 {uniname2ctype_offset(str33), 28}, 36570 {-1}, 36571 {uniname2ctype_offset(str35), 33}, 36572 {-1}, 36573 {uniname2ctype_offset(str37), 241}, 36574 {-1}, 36575 {uniname2ctype_offset(str39), 95}, 36576 {uniname2ctype_offset(str40), 95}, 36577 {uniname2ctype_offset(str41), 22}, 36578 {uniname2ctype_offset(str42), 173}, 36579 {-1}, {-1}, {-1}, {-1}, 36580 {uniname2ctype_offset(str47), 44}, 31174 36581 {-1}, {-1}, {-1}, 31175 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3, 34}, 36582 {uniname2ctype_offset(str51), 320}, 36583 {uniname2ctype_offset(str52), 181}, 36584 {-1}, 36585 {uniname2ctype_offset(str54), 308}, 36586 {uniname2ctype_offset(str55), 255}, 36587 {-1}, {-1}, {-1}, 36588 {uniname2ctype_offset(str59), 42}, 36589 {uniname2ctype_offset(str60), 149}, 36590 {uniname2ctype_offset(str61), 184}, 36591 {-1}, {-1}, {-1}, {-1}, 36592 {uniname2ctype_offset(str66), 149}, 36593 {-1}, {-1}, 36594 {uniname2ctype_offset(str69), 187}, 36595 {uniname2ctype_offset(str70), 98}, 36596 {uniname2ctype_offset(str71), 45}, 36597 {uniname2ctype_offset(str72), 77}, 36598 {uniname2ctype_offset(str73), 160}, 31176 36599 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31177 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str10, 20}, 31178 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str11, 33}, 36600 {uniname2ctype_offset(str80), 31}, 31179 36601 {-1}, 31180 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str13, 17}, 36602 {uniname2ctype_offset(str82), 172}, 36603 {-1}, {-1}, 36604 {uniname2ctype_offset(str85), 108}, 36605 {uniname2ctype_offset(str86), 31}, 36606 {uniname2ctype_offset(str87), 189}, 36607 {uniname2ctype_offset(str88), 189}, 31181 36608 {-1}, 31182 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str15, 30}, 31183 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str16, 60}, 31184 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str17, 51}, 36609 {uniname2ctype_offset(str90), 77}, 31185 36610 {-1}, {-1}, 31186 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str20, 18}, 31187 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str21, 31}, 36611 {uniname2ctype_offset(str93), 212}, 36612 {-1}, {-1}, {-1}, 36613 {uniname2ctype_offset(str97), 484}, 31188 36614 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31189 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str29, 185}, 36615 {uniname2ctype_offset(str105), 170}, 36616 {uniname2ctype_offset(str106), 487}, 36617 {-1}, {-1}, {-1}, {-1}, 36618 {uniname2ctype_offset(str111), 18}, 31190 36619 {-1}, 31191 { (int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str31, 438},36620 {uniname2ctype_offset(str113), 302}, 31192 36621 {-1}, {-1}, {-1}, 31193 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str35, 114}, 31194 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str36, 231}, 31195 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str37, 128}, 36622 {uniname2ctype_offset(str117), 75}, 36623 {-1}, {-1}, {-1}, {-1}, 36624 {uniname2ctype_offset(str122), 470}, 36625 {uniname2ctype_offset(str123), 526}, 36626 {-1}, {-1}, {-1}, {-1}, {-1}, 36627 {uniname2ctype_offset(str129), 529}, 36628 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36629 {uniname2ctype_offset(str137), 169}, 36630 {-1}, {-1}, {-1}, {-1}, 36631 {uniname2ctype_offset(str142), 326}, 36632 {uniname2ctype_offset(str143), 27}, 31196 36633 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31197 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str44, 383}, 36634 {uniname2ctype_offset(str150), 248}, 36635 {-1}, {-1}, 36636 {uniname2ctype_offset(str153), 530}, 36637 {uniname2ctype_offset(str154), 498}, 36638 {-1}, {-1}, {-1}, {-1}, {-1}, 36639 {uniname2ctype_offset(str160), 339}, 36640 {uniname2ctype_offset(str161), 194}, 36641 {uniname2ctype_offset(str162), 40}, 31198 36642 {-1}, 31199 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str46, 47}, 36643 {uniname2ctype_offset(str164), 208}, 36644 {-1}, {-1}, 36645 {uniname2ctype_offset(str167), 31}, 36646 {uniname2ctype_offset(str168), 171}, 36647 {uniname2ctype_offset(str169), 334}, 36648 {uniname2ctype_offset(str170), 461}, 31200 36649 {-1}, 31201 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str48, 49}, 36650 {uniname2ctype_offset(str172), 521}, 36651 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31202 36652 {-1}, {-1}, 31203 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str51, 168}, 36653 {uniname2ctype_offset(str184), 512}, 36654 {-1}, 36655 {uniname2ctype_offset(str186), 331}, 36656 {-1}, {-1}, {-1}, {-1}, 36657 {uniname2ctype_offset(str191), 115}, 36658 {-1}, 36659 {uniname2ctype_offset(str193), 102}, 36660 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36661 {-1}, {-1}, 36662 {uniname2ctype_offset(str205), 25}, 36663 {-1}, {-1}, {-1}, {-1}, 36664 {uniname2ctype_offset(str210), 520}, 36665 {-1}, {-1}, 36666 {uniname2ctype_offset(str213), 19}, 36667 {-1}, 36668 {uniname2ctype_offset(str215), 79}, 36669 {uniname2ctype_offset(str216), 488}, 36670 {uniname2ctype_offset(str217), 161}, 36671 {-1}, 36672 {uniname2ctype_offset(str219), 32}, 31204 36673 {-1}, {-1}, {-1}, 31205 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str55, 461}, 31206 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str56, 101}, 36674 {uniname2ctype_offset(str223), 79}, 36675 {-1}, {-1}, {-1}, 36676 {uniname2ctype_offset(str227), 296}, 36677 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36678 {-1}, 36679 {uniname2ctype_offset(str238), 518}, 36680 {-1}, {-1}, {-1}, {-1}, 36681 {uniname2ctype_offset(str243), 40}, 36682 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36683 {uniname2ctype_offset(str250), 500}, 36684 {-1}, {-1}, {-1}, {-1}, 36685 {uniname2ctype_offset(str255), 53}, 36686 {uniname2ctype_offset(str256), 212}, 31207 36687 {-1}, {-1}, 31208 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str59, 32}, 36688 {uniname2ctype_offset(str259), 368}, 36689 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36690 {uniname2ctype_offset(str268), 249}, 31209 36691 {-1}, 31210 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str61, 258}, 36692 {uniname2ctype_offset(str270), 429}, 36693 {uniname2ctype_offset(str271), 76}, 36694 {uniname2ctype_offset(str272), 300}, 36695 {uniname2ctype_offset(str273), 76}, 31211 36696 {-1}, {-1}, 31212 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str64, 14}, 31213 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str65, 46}, 36697 {uniname2ctype_offset(str276), 514}, 36698 {-1}, {-1}, 36699 {uniname2ctype_offset(str279), 309}, 31214 36700 {-1}, {-1}, {-1}, 31215 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str69, 265}, 36701 {uniname2ctype_offset(str283), 248}, 36702 {-1}, 36703 {uniname2ctype_offset(str285), 519}, 31216 36704 {-1}, {-1}, 31217 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str72, 22}, 36705 {uniname2ctype_offset(str288), 221}, 36706 {uniname2ctype_offset(str289), 129}, 31218 36707 {-1}, 31219 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str74, 54}, 31220 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36708 {uniname2ctype_offset(str291), 160}, 36709 {-1}, {-1}, {-1}, 36710 {uniname2ctype_offset(str295), 323}, 36711 {-1}, {-1}, {-1}, {-1}, 36712 {uniname2ctype_offset(str300), 163}, 36713 {uniname2ctype_offset(str301), 307}, 36714 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36715 {uniname2ctype_offset(str309), 496}, 31221 36716 {-1}, 31222 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str85, 439}, 36717 {uniname2ctype_offset(str311), 44}, 36718 {-1}, {-1}, {-1}, 36719 {uniname2ctype_offset(str315), 399}, 36720 {-1}, 36721 {uniname2ctype_offset(str317), 345}, 36722 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36723 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36724 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36725 {uniname2ctype_offset(str343), 305}, 36726 {uniname2ctype_offset(str344), 511}, 36727 {uniname2ctype_offset(str345), 163}, 36728 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36729 {-1}, 36730 {uniname2ctype_offset(str356), 81}, 36731 {uniname2ctype_offset(str357), 169}, 36732 {-1}, 36733 {uniname2ctype_offset(str359), 23}, 36734 {-1}, 36735 {uniname2ctype_offset(str361), 187}, 36736 {uniname2ctype_offset(str362), 55}, 36737 {uniname2ctype_offset(str363), 24}, 36738 {-1}, 36739 {uniname2ctype_offset(str365), 22}, 36740 {-1}, {-1}, {-1}, 36741 {uniname2ctype_offset(str369), 188}, 36742 {uniname2ctype_offset(str370), 108}, 31223 36743 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31224 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str92, 374}, 36744 {uniname2ctype_offset(str377), 227}, 36745 {-1}, {-1}, {-1}, {-1}, {-1}, 36746 {uniname2ctype_offset(str383), 127}, 36747 {uniname2ctype_offset(str384), 70}, 36748 {-1}, 36749 {uniname2ctype_offset(str386), 430}, 36750 {uniname2ctype_offset(str387), 14}, 36751 {-1}, 36752 {uniname2ctype_offset(str389), 46}, 31225 36753 {-1}, {-1}, {-1}, 31226 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str96, 462}, 31227 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str97, 278}, 31228 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str98, 252}, 36754 {uniname2ctype_offset(str393), 534}, 36755 {-1}, {-1}, 36756 {uniname2ctype_offset(str396), 436}, 36757 {-1}, {-1}, 36758 {uniname2ctype_offset(str399), 494}, 36759 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36760 {uniname2ctype_offset(str408), 37}, 36761 {-1}, {-1}, {-1}, 36762 {uniname2ctype_offset(str412), 91}, 36763 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36764 {-1}, {-1}, {-1}, 36765 {uniname2ctype_offset(str425), 91}, 36766 {-1}, {-1}, 36767 {uniname2ctype_offset(str428), 486}, 36768 {-1}, 36769 {uniname2ctype_offset(str430), 396}, 36770 {-1}, 36771 {uniname2ctype_offset(str432), 509}, 36772 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36773 {uniname2ctype_offset(str440), 449}, 36774 {-1}, {-1}, {-1}, {-1}, 36775 {uniname2ctype_offset(str445), 443}, 36776 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36777 {uniname2ctype_offset(str453), 70}, 36778 {-1}, 36779 {uniname2ctype_offset(str455), 546}, 36780 {-1}, {-1}, 36781 {uniname2ctype_offset(str458), 168}, 36782 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36783 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36784 {-1}, {-1}, {-1}, 36785 {uniname2ctype_offset(str480), 463}, 36786 {-1}, 36787 {uniname2ctype_offset(str482), 379}, 36788 {-1}, {-1}, {-1}, 36789 {uniname2ctype_offset(str486), 453}, 36790 {uniname2ctype_offset(str487), 555}, 36791 {uniname2ctype_offset(str488), 246}, 36792 {uniname2ctype_offset(str489), 113}, 36793 {-1}, {-1}, 36794 {uniname2ctype_offset(str492), 557}, 36795 {uniname2ctype_offset(str493), 24}, 36796 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31229 36797 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31230 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str105, 159}, 36798 {uniname2ctype_offset(str509), 195}, 36799 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36800 {uniname2ctype_offset(str516), 144}, 36801 {uniname2ctype_offset(str517), 144}, 36802 {-1}, {-1}, {-1}, {-1}, {-1}, 36803 {uniname2ctype_offset(str523), 29}, 36804 {uniname2ctype_offset(str524), 171}, 36805 {-1}, 36806 {uniname2ctype_offset(str526), 69}, 36807 {-1}, {-1}, {-1}, 36808 {uniname2ctype_offset(str530), 420}, 36809 {uniname2ctype_offset(str531), 310}, 36810 {-1}, 36811 {uniname2ctype_offset(str533), 474}, 36812 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36813 {uniname2ctype_offset(str541), 567}, 36814 {-1}, {-1}, 36815 {uniname2ctype_offset(str544), 324}, 36816 {uniname2ctype_offset(str545), 350}, 36817 {-1}, 36818 {uniname2ctype_offset(str547), 106}, 31231 36819 {-1}, {-1}, {-1}, {-1}, 31232 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str110, 406}, 36820 {uniname2ctype_offset(str552), 158}, 36821 {-1}, 36822 {uniname2ctype_offset(str554), 68}, 36823 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36824 {uniname2ctype_offset(str561), 458}, 36825 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36826 {-1}, {-1}, 36827 {uniname2ctype_offset(str573), 146}, 36828 {uniname2ctype_offset(str574), 74}, 36829 {-1}, 36830 {uniname2ctype_offset(str576), 72}, 36831 {uniname2ctype_offset(str577), 19}, 36832 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36833 {uniname2ctype_offset(str586), 533}, 36834 {-1}, {-1}, {-1}, {-1}, 36835 {uniname2ctype_offset(str591), 372}, 36836 {-1}, {-1}, {-1}, {-1}, 36837 {uniname2ctype_offset(str596), 547}, 36838 {-1}, 36839 {uniname2ctype_offset(str598), 51}, 36840 {-1}, {-1}, 36841 {uniname2ctype_offset(str601), 485}, 36842 {uniname2ctype_offset(str602), 49}, 31233 36843 {-1}, {-1}, {-1}, 31234 { (int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str114, 43},31235 { (int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str115, 411},36844 {uniname2ctype_offset(str606), 7}, 36845 {uniname2ctype_offset(str607), 234}, 31236 36846 {-1}, 31237 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str117, 263}, 31238 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36847 {uniname2ctype_offset(str609), 192}, 36848 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36849 {uniname2ctype_offset(str618), 167}, 36850 {uniname2ctype_offset(str619), 550}, 36851 {uniname2ctype_offset(str620), 347}, 36852 {-1}, 36853 {uniname2ctype_offset(str622), 460}, 36854 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36855 {uniname2ctype_offset(str629), 175}, 36856 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36857 {uniname2ctype_offset(str636), 167}, 36858 {-1}, {-1}, {-1}, {-1}, {-1}, 36859 {uniname2ctype_offset(str642), 417}, 36860 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36861 {-1}, {-1}, {-1}, {-1}, {-1}, 36862 {uniname2ctype_offset(str657), 246}, 36863 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36864 {uniname2ctype_offset(str665), 321}, 36865 {-1}, {-1}, {-1}, {-1}, 36866 {uniname2ctype_offset(str670), 404}, 36867 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36868 {-1}, 36869 {uniname2ctype_offset(str681), 371}, 36870 {-1}, {-1}, 36871 {uniname2ctype_offset(str684), 156}, 36872 {-1}, {-1}, {-1}, {-1}, 36873 {uniname2ctype_offset(str689), 178}, 31239 36874 {-1}, {-1}, {-1}, 31240 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str130, 333}, 36875 {uniname2ctype_offset(str693), 156}, 36876 {-1}, {-1}, {-1}, {-1}, {-1}, 36877 {uniname2ctype_offset(str699), 539}, 36878 {uniname2ctype_offset(str700), 67}, 36879 {-1}, {-1}, {-1}, {-1}, 36880 {uniname2ctype_offset(str705), 41}, 36881 {-1}, {-1}, 36882 {uniname2ctype_offset(str708), 50}, 36883 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36884 {uniname2ctype_offset(str715), 193}, 36885 {uniname2ctype_offset(str716), 218}, 36886 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36887 {uniname2ctype_offset(str725), 455}, 36888 {-1}, {-1}, {-1}, {-1}, 36889 {uniname2ctype_offset(str730), 68}, 36890 {-1}, 36891 {uniname2ctype_offset(str732), 540}, 36892 {-1}, {-1}, {-1}, {-1}, 36893 {uniname2ctype_offset(str737), 492}, 36894 {uniname2ctype_offset(str738), 13}, 36895 {uniname2ctype_offset(str739), 466}, 36896 {-1}, 36897 {uniname2ctype_offset(str741), 47}, 36898 {uniname2ctype_offset(str742), 377}, 36899 {uniname2ctype_offset(str743), 35}, 36900 {-1}, {-1}, {-1}, {-1}, 36901 {uniname2ctype_offset(str748), 157}, 36902 {-1}, {-1}, 36903 {uniname2ctype_offset(str751), 385}, 36904 {-1}, 36905 {uniname2ctype_offset(str753), 419}, 36906 {-1}, {-1}, 36907 {uniname2ctype_offset(str756), 554}, 36908 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36909 {-1}, {-1}, {-1}, {-1}, 36910 {uniname2ctype_offset(str770), 48}, 36911 {-1}, {-1}, 36912 {uniname2ctype_offset(str773), 38}, 31241 36913 {-1}, {-1}, {-1}, 31242 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str134, 24}, 31243 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str135, 473}, 31244 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str136, 26}, 31245 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str137, 120}, 36914 {uniname2ctype_offset(str777), 112}, 31246 36915 {-1}, {-1}, {-1}, 31247 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str141, 227}, 31248 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str142, 183}, 36916 {uniname2ctype_offset(str781), 39}, 36917 {uniname2ctype_offset(str782), 134}, 36918 {-1}, {-1}, 36919 {uniname2ctype_offset(str785), 71}, 31249 36920 {-1}, 31250 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str144, 413}, 36921 {uniname2ctype_offset(str787), 235}, 36922 {uniname2ctype_offset(str788), 343}, 31251 36923 {-1}, {-1}, 31252 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str147, 384}, 36924 {uniname2ctype_offset(str791), 140}, 36925 {uniname2ctype_offset(str792), 140}, 36926 {uniname2ctype_offset(str793), 228}, 31253 36927 {-1}, {-1}, {-1}, 31254 { (int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str151, 151},36928 {uniname2ctype_offset(str797), 480}, 31255 36929 {-1}, 31256 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str153, 13}, 36930 {uniname2ctype_offset(str799), 294}, 36931 {-1}, {-1}, 36932 {uniname2ctype_offset(str802), 468}, 36933 {-1}, {-1}, {-1}, {-1}, 36934 {uniname2ctype_offset(str807), 434}, 36935 {-1}, {-1}, {-1}, {-1}, 36936 {uniname2ctype_offset(str812), 473}, 36937 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36938 {uniname2ctype_offset(str819), 422}, 36939 {-1}, {-1}, {-1}, 36940 {uniname2ctype_offset(str823), 432}, 36941 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31257 36942 {-1}, 31258 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str155, 302}, 36943 {uniname2ctype_offset(str834), 67}, 36944 {uniname2ctype_offset(str835), 136}, 31259 36945 {-1}, 31260 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str157, 325}, 36946 {uniname2ctype_offset(str837), 297}, 36947 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36948 {-1}, 36949 {uniname2ctype_offset(str848), 85}, 36950 {uniname2ctype_offset(str849), 318}, 36951 {-1}, 36952 {uniname2ctype_offset(str851), 503}, 36953 {uniname2ctype_offset(str852), 245}, 36954 {uniname2ctype_offset(str853), 481}, 36955 {-1}, 36956 {uniname2ctype_offset(str855), 136}, 36957 {uniname2ctype_offset(str856), 142}, 36958 {uniname2ctype_offset(str857), 60}, 36959 {-1}, {-1}, {-1}, {-1}, 36960 {uniname2ctype_offset(str862), 115}, 36961 {-1}, {-1}, {-1}, {-1}, 36962 {uniname2ctype_offset(str867), 2}, 36963 {-1}, {-1}, 36964 {uniname2ctype_offset(str870), 104}, 36965 {-1}, 36966 {uniname2ctype_offset(str872), 247}, 36967 {-1}, 36968 {uniname2ctype_offset(str874), 217}, 36969 {-1}, {-1}, 36970 {uniname2ctype_offset(str877), 11}, 31261 36971 {-1}, {-1}, {-1}, 31262 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str161, 331}, 36972 {uniname2ctype_offset(str881), 69}, 36973 {-1}, {-1}, {-1}, 36974 {uniname2ctype_offset(str885), 459}, 36975 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36976 {-1}, {-1}, 36977 {uniname2ctype_offset(str897), 457}, 31263 36978 {-1}, 31264 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str163, 276}, 36979 {uniname2ctype_offset(str899), 102}, 36980 {-1}, {-1}, {-1}, 36981 {uniname2ctype_offset(str903), 101}, 36982 {-1}, 36983 {uniname2ctype_offset(str905), 173}, 36984 {uniname2ctype_offset(str906), 197}, 31265 36985 {-1}, {-1}, 31266 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str166, 488}, 36986 {uniname2ctype_offset(str909), 101}, 36987 {-1}, 36988 {uniname2ctype_offset(str911), 138}, 36989 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36990 {uniname2ctype_offset(str918), 208}, 36991 {uniname2ctype_offset(str919), 398}, 36992 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 36993 {uniname2ctype_offset(str926), 522}, 36994 {-1}, 36995 {uniname2ctype_offset(str928), 73}, 36996 {-1}, 36997 {uniname2ctype_offset(str930), 151}, 36998 {uniname2ctype_offset(str931), 476}, 36999 {uniname2ctype_offset(str932), 166}, 37000 {-1}, {-1}, 37001 {uniname2ctype_offset(str935), 508}, 37002 {-1}, 37003 {uniname2ctype_offset(str937), 228}, 37004 {-1}, {-1}, {-1}, {-1}, 37005 {uniname2ctype_offset(str942), 170}, 37006 {-1}, 37007 {uniname2ctype_offset(str944), 74}, 37008 {-1}, {-1}, 37009 {uniname2ctype_offset(str947), 504}, 37010 {uniname2ctype_offset(str948), 499}, 37011 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37012 {uniname2ctype_offset(str956), 183}, 37013 {uniname2ctype_offset(str957), 333}, 37014 {-1}, {-1}, 37015 {uniname2ctype_offset(str960), 135}, 37016 {-1}, {-1}, {-1}, {-1}, {-1}, 37017 {uniname2ctype_offset(str966), 542}, 37018 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37019 {uniname2ctype_offset(str975), 186}, 37020 {uniname2ctype_offset(str976), 129}, 37021 {uniname2ctype_offset(str977), 158}, 37022 {-1}, {-1}, 37023 {uniname2ctype_offset(str980), 244}, 37024 {-1}, {-1}, 37025 {uniname2ctype_offset(str983), 329}, 37026 {-1}, 37027 {uniname2ctype_offset(str985), 26}, 37028 {-1}, {-1}, 37029 {uniname2ctype_offset(str988), 353}, 37030 {-1}, {-1}, 37031 {uniname2ctype_offset(str991), 387}, 37032 {-1}, {-1}, {-1}, {-1}, 37033 {uniname2ctype_offset(str996), 53}, 37034 {-1}, 37035 {uniname2ctype_offset(str998), 206}, 37036 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37037 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37038 {uniname2ctype_offset(str1016), 301}, 37039 {-1}, {-1}, 37040 {uniname2ctype_offset(str1019), 392}, 37041 {-1}, {-1}, 37042 {uniname2ctype_offset(str1022), 435}, 37043 {uniname2ctype_offset(str1023), 36}, 37044 {-1}, 37045 {uniname2ctype_offset(str1025), 105}, 31267 37046 {-1}, {-1}, {-1}, 31268 { (int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str170, 339},37047 {uniname2ctype_offset(str1029), 129}, 31269 37048 {-1}, {-1}, 31270 { (int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str173, 426},37049 {uniname2ctype_offset(str1032), 200}, 31271 37050 {-1}, 31272 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str175, 485}, 37051 {uniname2ctype_offset(str1034), 104}, 37052 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37053 {-1}, {-1}, {-1}, {-1}, 37054 {uniname2ctype_offset(str1048), 541}, 37055 {uniname2ctype_offset(str1049), 322}, 37056 {-1}, {-1}, {-1}, 37057 {uniname2ctype_offset(str1053), 126}, 37058 {-1}, {-1}, 37059 {uniname2ctype_offset(str1056), 161}, 37060 {-1}, {-1}, {-1}, {-1}, 37061 {uniname2ctype_offset(str1061), 25}, 37062 {-1}, {-1}, {-1}, 37063 {uniname2ctype_offset(str1065), 105}, 37064 {-1}, 37065 {uniname2ctype_offset(str1067), 122}, 37066 {-1}, 37067 {uniname2ctype_offset(str1069), 206}, 37068 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37069 {uniname2ctype_offset(str1076), 489}, 37070 {uniname2ctype_offset(str1077), 490}, 37071 {uniname2ctype_offset(str1078), 93}, 37072 {-1}, 37073 {uniname2ctype_offset(str1080), 215}, 37074 {-1}, {-1}, {-1}, {-1}, {-1}, 37075 {uniname2ctype_offset(str1086), 408}, 37076 {-1}, 37077 {uniname2ctype_offset(str1088), 203}, 37078 {uniname2ctype_offset(str1089), 221}, 37079 {uniname2ctype_offset(str1090), 565}, 37080 {-1}, {-1}, {-1}, 37081 {uniname2ctype_offset(str1094), 478}, 37082 {-1}, {-1}, {-1}, 37083 {uniname2ctype_offset(str1098), 517}, 37084 {-1}, 37085 {uniname2ctype_offset(str1100), 472}, 37086 {-1}, {-1}, 37087 {uniname2ctype_offset(str1103), 402}, 37088 {uniname2ctype_offset(str1104), 164}, 37089 {-1}, {-1}, 37090 {uniname2ctype_offset(str1107), 109}, 37091 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37092 {uniname2ctype_offset(str1114), 122}, 37093 {uniname2ctype_offset(str1115), 354}, 37094 {uniname2ctype_offset(str1116), 131}, 37095 {-1}, {-1}, 37096 {uniname2ctype_offset(str1119), 135}, 37097 {uniname2ctype_offset(str1120), 467}, 37098 {-1}, {-1}, {-1}, 37099 {uniname2ctype_offset(str1124), 113}, 37100 {-1}, 37101 {uniname2ctype_offset(str1126), 56}, 37102 {uniname2ctype_offset(str1127), 218}, 37103 {-1}, {-1}, {-1}, 37104 {uniname2ctype_offset(str1131), 15}, 37105 {-1}, {-1}, {-1}, 37106 {uniname2ctype_offset(str1135), 30}, 37107 {uniname2ctype_offset(str1136), 120}, 37108 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37109 {-1}, 37110 {uniname2ctype_offset(str1147), 370}, 37111 {-1}, {-1}, {-1}, {-1}, 37112 {uniname2ctype_offset(str1152), 110}, 37113 {-1}, {-1}, 37114 {uniname2ctype_offset(str1155), 110}, 37115 {uniname2ctype_offset(str1156), 414}, 37116 {uniname2ctype_offset(str1157), 141}, 37117 {uniname2ctype_offset(str1158), 121}, 37118 {-1}, 37119 {uniname2ctype_offset(str1160), 176}, 37120 {uniname2ctype_offset(str1161), 181}, 37121 {-1}, {-1}, {-1}, {-1}, {-1}, 37122 {uniname2ctype_offset(str1167), 117}, 37123 {uniname2ctype_offset(str1168), 479}, 37124 {-1}, {-1}, {-1}, 37125 {uniname2ctype_offset(str1172), 88}, 37126 {uniname2ctype_offset(str1173), 507}, 37127 {-1}, {-1}, {-1}, {-1}, 37128 {uniname2ctype_offset(str1178), 86}, 37129 {uniname2ctype_offset(str1179), 166}, 37130 {uniname2ctype_offset(str1180), 145}, 37131 {-1}, 37132 {uniname2ctype_offset(str1182), 563}, 37133 {-1}, {-1}, {-1}, 37134 {uniname2ctype_offset(str1186), 117}, 37135 {-1}, {-1}, 37136 {uniname2ctype_offset(str1189), 193}, 37137 {-1}, {-1}, 37138 {uniname2ctype_offset(str1192), 176}, 37139 {uniname2ctype_offset(str1193), 107}, 37140 {-1}, 37141 {uniname2ctype_offset(str1195), 304}, 37142 {uniname2ctype_offset(str1196), 109}, 37143 {-1}, {-1}, {-1}, {-1}, 37144 {uniname2ctype_offset(str1201), 236}, 37145 {uniname2ctype_offset(str1202), 86}, 37146 {uniname2ctype_offset(str1203), 502}, 37147 {-1}, {-1}, {-1}, 37148 {uniname2ctype_offset(str1207), 81}, 37149 {-1}, {-1}, {-1}, 37150 {uniname2ctype_offset(str1211), 120}, 37151 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37152 {uniname2ctype_offset(str1218), 465}, 37153 {-1}, {-1}, {-1}, 37154 {uniname2ctype_offset(str1222), 168}, 37155 {-1}, {-1}, 37156 {uniname2ctype_offset(str1225), 493}, 37157 {-1}, 37158 {uniname2ctype_offset(str1227), 537}, 37159 {-1}, 37160 {uniname2ctype_offset(str1229), 388}, 37161 {-1}, {-1}, 37162 {uniname2ctype_offset(str1232), 240}, 37163 {-1}, {-1}, {-1}, {-1}, 37164 {uniname2ctype_offset(str1237), 196}, 37165 {-1}, {-1}, {-1}, {-1}, {-1}, 37166 {uniname2ctype_offset(str1243), 115}, 37167 {-1}, 37168 {uniname2ctype_offset(str1245), 410}, 37169 {-1}, {-1}, {-1}, 37170 {uniname2ctype_offset(str1249), 222}, 37171 {-1}, {-1}, 37172 {uniname2ctype_offset(str1252), 397}, 37173 {uniname2ctype_offset(str1253), 72}, 37174 {uniname2ctype_offset(str1254), 114}, 37175 {-1}, {-1}, 37176 {uniname2ctype_offset(str1257), 3}, 37177 {-1}, 37178 {uniname2ctype_offset(str1259), 137}, 37179 {-1}, {-1}, 37180 {uniname2ctype_offset(str1262), 311}, 37181 {-1}, {-1}, {-1}, {-1}, 37182 {uniname2ctype_offset(str1267), 292}, 31273 37183 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31274 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str183, 152}, 37184 {uniname2ctype_offset(str1275), 114}, 37185 {-1}, {-1}, {-1}, {-1}, {-1}, 37186 {uniname2ctype_offset(str1281), 553}, 37187 {-1}, {-1}, {-1}, 37188 {uniname2ctype_offset(str1285), 217}, 31275 37189 {-1}, {-1}, 31276 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str186, 65}, 37190 {uniname2ctype_offset(str1288), 42}, 37191 {-1}, {-1}, {-1}, {-1}, {-1}, 37192 {uniname2ctype_offset(str1294), 360}, 37193 {-1}, 37194 {uniname2ctype_offset(str1296), 445}, 37195 {-1}, 37196 {uniname2ctype_offset(str1298), 73}, 37197 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37198 {uniname2ctype_offset(str1306), 106}, 37199 {uniname2ctype_offset(str1307), 201}, 37200 {uniname2ctype_offset(str1308), 373}, 37201 {uniname2ctype_offset(str1309), 505}, 37202 {uniname2ctype_offset(str1310), 98}, 37203 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37204 {uniname2ctype_offset(str1317), 210}, 37205 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37206 {uniname2ctype_offset(str1325), 471}, 37207 {uniname2ctype_offset(str1326), 362}, 37208 {-1}, {-1}, {-1}, {-1}, 37209 {uniname2ctype_offset(str1331), 145}, 37210 {-1}, {-1}, 37211 {uniname2ctype_offset(str1334), 469}, 37212 {uniname2ctype_offset(str1335), 9}, 37213 {uniname2ctype_offset(str1336), 203}, 31277 37214 {-1}, {-1}, {-1}, 31278 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str190, 92}, 31279 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37215 {uniname2ctype_offset(str1340), 477}, 37216 {uniname2ctype_offset(str1341), 524}, 37217 {-1}, {-1}, 37218 {uniname2ctype_offset(str1344), 32}, 31280 37219 {-1}, {-1}, {-1}, 31281 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str203, 75}, 37220 {uniname2ctype_offset(str1348), 1}, 37221 {-1}, {-1}, {-1}, {-1}, {-1}, 37222 {uniname2ctype_offset(str1354), 327}, 37223 {uniname2ctype_offset(str1355), 325}, 37224 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37225 {uniname2ctype_offset(str1364), 352}, 37226 {uniname2ctype_offset(str1365), 351}, 31282 37227 {-1}, 31283 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str205, 75}, 31284 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str206, 111}, 37228 {uniname2ctype_offset(str1367), 250}, 37229 {uniname2ctype_offset(str1368), 125}, 37230 {uniname2ctype_offset(str1369), 207}, 37231 {-1}, {-1}, 37232 {uniname2ctype_offset(str1372), 340}, 37233 {uniname2ctype_offset(str1373), 245}, 37234 {uniname2ctype_offset(str1374), 127}, 37235 {-1}, {-1}, {-1}, {-1}, 37236 {uniname2ctype_offset(str1379), 164}, 37237 {-1}, {-1}, 37238 {uniname2ctype_offset(str1382), 207}, 37239 {-1}, {-1}, {-1}, {-1}, {-1}, 37240 {uniname2ctype_offset(str1388), 138}, 31285 37241 {-1}, 31286 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str208, 273}, 31287 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str209, 88}, 31288 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31289 {-1}, {-1}, {-1}, {-1}, 31290 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str223, 341}, 31291 {-1}, {-1}, 31292 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str226, 298}, 31293 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str227, 120}, 31294 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31295 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str237, 250}, 31296 {-1}, 31297 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str239, 408}, 31298 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str240, 129}, 31299 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str241, 23}, 31300 {-1}, 31301 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str243, 36}, 37242 {uniname2ctype_offset(str1390), 375}, 37243 #ifndef USE_UNICODE_AGE_PROPERTIES 37244 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31302 37245 {-1}, {-1}, {-1}, 31303 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str247, 386}, 31304 {-1}, {-1}, 31305 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str250, 52}, 31306 {-1}, 31307 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str252, 28}, 31308 {-1}, {-1}, 31309 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str255, 289}, 31310 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str256, 414}, 31311 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str257, 78}, 31312 {-1}, 31313 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str259, 148}, 31314 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str260, 160}, 31315 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str261, 388}, 31316 {-1}, 31317 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str263, 256}, 31318 {-1}, {-1}, 31319 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str266, 78}, 31320 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str267, 281}, 31321 {-1}, {-1}, 31322 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str270, 299}, 31323 {-1}, 31324 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str272, 148}, 31325 {-1}, 31326 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str274, 170}, 31327 {-1}, {-1}, {-1}, {-1}, {-1}, 31328 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str280, 80}, 31329 {-1}, {-1}, {-1}, 31330 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str284, 324}, 31331 {-1}, {-1}, 31332 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str287, 261}, 31333 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str288, 155}, 31334 {-1}, {-1}, {-1}, {-1}, {-1}, 31335 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str294, 114}, 31336 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str295, 109}, 31337 {-1}, {-1}, 31338 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str298, 155}, 31339 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str299, 109}, 31340 {-1}, {-1}, 31341 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str302, 63}, 31342 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str303, 286}, 31343 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str304, 450}, 31344 {-1}, {-1}, 31345 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str307, 150}, 31346 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31347 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str315, 185}, 31348 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str316, 449}, 31349 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str317, 3}, 31350 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str318, 92}, 31351 {-1}, 31352 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str320, 444}, 31353 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31354 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str327, 284}, 31355 {-1}, {-1}, 31356 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str330, 88}, 31357 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str331, 172}, 31358 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str332, 327}, 31359 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str333, 205}, 31360 {-1}, 31361 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str335, 169}, 31362 {-1}, 31363 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str337, 277}, 31364 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31365 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str347, 123}, 31366 {-1}, {-1}, 31367 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str350, 423}, 31368 {-1}, {-1}, 31369 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str353, 314}, 31370 {-1}, {-1}, {-1}, {-1}, {-1}, 31371 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str359, 124}, 31372 {-1}, {-1}, 31373 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str362, 25}, 31374 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str363, 93}, 31375 {-1}, {-1}, 31376 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str366, 55}, 31377 {-1}, {-1}, {-1}, {-1}, {-1}, 31378 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str372, 82}, 31379 {-1}, 31380 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str374, 483}, 31381 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str375, 99}, 31382 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str376, 39}, 31383 {-1}, {-1}, {-1}, 31384 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str380, 394}, 31385 {-1}, 31386 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str382, 451}, 31387 {-1}, {-1}, {-1}, 31388 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str386, 151}, 31389 {-1}, 31390 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str388, 82}, 31391 {-1}, 31392 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str390, 183}, 31393 {-1}, 31394 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str392, 70}, 31395 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31396 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str401, 67}, 31397 {-1}, {-1}, {-1}, 31398 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str405, 170}, 31399 {-1}, 31400 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str407, 168}, 31401 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str408, 457}, 31402 {-1}, 31403 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str410, 266}, 31404 {-1}, 31405 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str412, 61}, 31406 {-1}, 31407 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str414, 208}, 31408 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str415, 211}, 31409 {-1}, {-1}, 31410 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str418, 205}, 31411 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str419, 186}, 31412 {-1}, {-1}, {-1}, 31413 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str423, 196}, 31414 {-1}, 31415 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str425, 198}, 31416 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31417 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str433, 459}, 31418 {-1}, {-1}, {-1}, {-1}, {-1}, 31419 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str439, 350}, 31420 {-1}, 31421 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str441, 486}, 31422 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31423 {-1}, {-1}, 31424 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str453, 66}, 31425 {-1}, {-1}, 31426 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str456, 305}, 31427 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31428 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str466, 43}, 31429 {-1}, 31430 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str468, 481}, 31431 {-1}, 31432 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str470, 39}, 31433 {-1}, {-1}, {-1}, {-1}, {-1}, 31434 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str476, 224}, 31435 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str477, 28}, 31436 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31437 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str485, 326}, 31438 {-1}, 31439 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str487, 218}, 31440 {-1}, 31441 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str489, 123}, 31442 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str490, 64}, 31443 {-1}, {-1}, 31444 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str493, 67}, 31445 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31446 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str502, 412}, 31447 {-1}, {-1}, {-1}, {-1}, {-1}, 31448 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str508, 41}, 31449 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31450 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str518, 421}, 31451 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str519, 253}, 31452 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str520, 432}, 31453 {-1}, 31454 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str522, 45}, 31455 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31456 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str530, 106}, 31457 {-1}, {-1}, {-1}, {-1}, {-1}, 31458 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str536, 199}, 31459 {-1}, {-1}, {-1}, 31460 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str540, 162}, 31461 {-1}, {-1}, {-1}, 31462 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str544, 100}, 31463 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str545, 477}, 31464 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str546, 342}, 31465 {-1}, {-1}, {-1}, 31466 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str550, 352}, 31467 {-1}, {-1}, {-1}, 31468 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str554, 360}, 31469 {-1}, 31470 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str556, 9}, 31471 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31472 {-1}, {-1}, {-1}, {-1}, 31473 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str570, 87}, 31474 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str571, 171}, 31475 {-1}, 31476 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str573, 184}, 31477 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31478 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str582, 197}, 31479 {-1}, 31480 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str584, 174}, 31481 {-1}, {-1}, 31482 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str587, 163}, 31483 {-1}, {-1}, {-1}, {-1}, {-1}, 31484 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str593, 322}, 31485 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str594, 184}, 31486 {-1}, 31487 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str596, 201}, 31488 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str597, 415}, 31489 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str598, 116}, 31490 {-1}, 31491 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str600, 191}, 31492 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str601, 455}, 31493 {-1}, 31494 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str603, 229}, 31495 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str604, 308}, 31496 {-1}, {-1}, {-1}, 31497 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str608, 307}, 31498 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str609, 37}, 31499 {-1}, 31500 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str611, 141}, 31501 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str612, 288}, 31502 {-1}, 31503 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str614, 21}, 31504 {-1}, {-1}, 31505 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str617, 264}, 31506 {-1}, {-1}, 31507 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str620, 1}, 31508 {-1}, 31509 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str622, 194}, 31510 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str623, 465}, 31511 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str624, 429}, 31512 {-1}, {-1}, 31513 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str627, 74}, 31514 {-1}, {-1}, 31515 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str630, 19}, 31516 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31517 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str637, 468}, 31518 {-1}, {-1}, 31519 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str640, 50}, 31520 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31521 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str650, 211}, 31522 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31523 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str658, 309}, 31524 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31525 {-1}, {-1}, {-1}, {-1}, 31526 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str672, 344}, 31527 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31528 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str679, 131}, 31529 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31530 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31531 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str696, 221}, 31532 {-1}, {-1}, 31533 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str699, 226}, 31534 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str700, 187}, 31535 {-1}, {-1}, 31536 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str703, 35}, 31537 {-1}, 31538 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str705, 23}, 31539 {-1}, {-1}, 31540 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str708, 202}, 31541 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str709, 373}, 31542 {-1}, 31543 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str711, 416}, 31544 {-1}, 31545 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str713, 199}, 31546 {-1}, 31547 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str715, 113}, 31548 {-1}, {-1}, 31549 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str718, 210}, 31550 {-1}, {-1}, {-1}, 31551 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str722, 195}, 31552 {-1}, 31553 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str724, 193}, 31554 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str725, 225}, 31555 {-1}, 31556 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str727, 480}, 31557 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str728, 27}, 31558 {-1}, 31559 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str730, 52}, 31560 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str731, 160}, 31561 {-1}, {-1}, {-1}, 31562 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str735, 66}, 31563 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str736, 279}, 31564 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str737, 173}, 31565 {-1}, {-1}, {-1}, {-1}, 31566 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str742, 94}, 31567 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str743, 94}, 31568 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str744, 105}, 31569 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str745, 209}, 31570 {-1}, {-1}, {-1}, 31571 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str749, 428}, 31572 {-1}, {-1}, {-1}, 31573 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str753, 215}, 31574 {-1}, {-1}, {-1}, {-1}, 31575 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str758, 249}, 31576 {-1}, {-1}, 31577 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str761, 162}, 31578 {-1}, 31579 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str763, 125}, 31580 {-1}, {-1}, {-1}, 31581 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str767, 35}, 31582 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str768, 113}, 31583 {-1}, {-1}, {-1}, 31584 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str772, 443}, 31585 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str773, 219}, 31586 {-1}, {-1}, {-1}, 31587 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str777, 101}, 31588 {-1}, 31589 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str779, 371}, 31590 {-1}, {-1}, {-1}, 31591 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str783, 425}, 31592 {-1}, {-1}, {-1}, 31593 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str787, 128}, 31594 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31595 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str796, 24}, 31596 {-1}, 31597 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str798, 223}, 31598 {-1}, {-1}, {-1}, {-1}, 31599 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str803, 431}, 31600 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str804, 195}, 31601 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str805, 21}, 31602 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31603 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str813, 140}, 31604 {-1}, 31605 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str815, 474}, 31606 {-1}, 31607 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str817, 456}, 31608 {-1}, {-1}, 31609 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str820, 59}, 31610 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31611 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str827, 7}, 31612 {-1}, {-1}, 31613 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str830, 440}, 31614 {-1}, 31615 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str832, 441}, 31616 {-1}, 31617 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str834, 128}, 31618 {-1}, {-1}, {-1}, 31619 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str838, 410}, 31620 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31621 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str845, 144}, 31622 {-1}, {-1}, 31623 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str848, 188}, 31624 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str849, 188}, 31625 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str850, 397}, 31626 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31627 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str858, 57}, 31628 {-1}, {-1}, 31629 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str861, 163}, 31630 {-1}, {-1}, 31631 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str864, 229}, 31632 {-1}, 31633 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str866, 484}, 31634 {-1}, {-1}, 31635 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str869, 54}, 31636 {-1}, 31637 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str871, 323}, 31638 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31639 {-1}, 31640 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str882, 206}, 31641 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31642 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str892, 156}, 31643 {-1}, {-1}, 31644 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str895, 442}, 31645 {-1}, {-1}, 31646 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str898, 111}, 31647 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31648 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str905, 116}, 31649 {-1}, {-1}, {-1}, 31650 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str909, 114}, 31651 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str910, 141}, 31652 {-1}, {-1}, 31653 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str913, 38}, 31654 {-1}, {-1}, 31655 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str916, 295}, 31656 {-1}, {-1}, {-1}, {-1}, {-1}, 31657 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str922, 53}, 31658 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str923, 42}, 31659 {-1}, 31660 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str925, 226}, 31661 {-1}, 31662 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str927, 173}, 31663 {-1}, {-1}, {-1}, {-1}, 31664 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str932, 454}, 31665 {-1}, 31666 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str934, 129}, 31667 {-1}, 31668 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str936, 209}, 31669 {-1}, 31670 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str938, 215}, 37246 #else /* USE_UNICODE_AGE_PROPERTIES */ 37247 {uniname2ctype_offset(str1391), 256}, 37248 {uniname2ctype_offset(str1392), 263}, 37249 {uniname2ctype_offset(str1393), 262}, 37250 {uniname2ctype_offset(str1394), 274}, 37251 {uniname2ctype_offset(str1395), 258}, 37252 {uniname2ctype_offset(str1396), 257}, 37253 {uniname2ctype_offset(str1397), 268}, 37254 {uniname2ctype_offset(str1398), 267}, 37255 {uniname2ctype_offset(str1399), 273}, 37256 {uniname2ctype_offset(str1400), 272}, 37257 {uniname2ctype_offset(str1401), 269}, 37258 {uniname2ctype_offset(str1402), 271}, 37259 #endif /* USE_UNICODE_AGE_PROPERTIES */ 37260 {uniname2ctype_offset(str1403), 552}, 37261 {uniname2ctype_offset(str1404), 367}, 31671 37262 #ifndef USE_UNICODE_AGE_PROPERTIES 31672 37263 {-1}, {-1}, 31673 37264 #else /* USE_UNICODE_AGE_PROPERTIES */ 31674 { (int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str939, 232},31675 { (int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str940, 234},37265 {uniname2ctype_offset(str1405), 265}, 37266 {uniname2ctype_offset(str1406), 264}, 31676 37267 #endif /* USE_UNICODE_AGE_PROPERTIES */ 31677 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str941, 41}, 31678 {-1}, 31679 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str943, 36}, 37268 {uniname2ctype_offset(str1407), 36}, 37269 {uniname2ctype_offset(str1408), 52}, 31680 37270 #ifndef USE_UNICODE_AGE_PROPERTIES 31681 37271 {-1}, {-1}, 31682 37272 #else /* USE_UNICODE_AGE_PROPERTIES */ 31683 { (int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str944, 244},31684 { (int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str945, 245},37273 {uniname2ctype_offset(str1409), 266}, 37274 {-1}, 31685 37275 #endif /* USE_UNICODE_AGE_PROPERTIES */ 31686 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str946, 89}, 37276 {uniname2ctype_offset(str1411), 315}, 37277 {-1}, 37278 {uniname2ctype_offset(str1413), 564}, 37279 {uniname2ctype_offset(str1414), 153}, 37280 {-1}, 37281 {uniname2ctype_offset(str1416), 93}, 37282 #ifndef USE_UNICODE_AGE_PROPERTIES 37283 {-1}, {-1}, {-1}, 37284 #else /* USE_UNICODE_AGE_PROPERTIES */ 37285 {uniname2ctype_offset(str1417), 260}, 37286 {uniname2ctype_offset(str1418), 259}, 37287 {-1}, 37288 #endif /* USE_UNICODE_AGE_PROPERTIES */ 37289 {uniname2ctype_offset(str1420), 202}, 31687 37290 #ifndef USE_UNICODE_AGE_PROPERTIES 31688 37291 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31689 37292 #else /* USE_UNICODE_AGE_PROPERTIES */ 31690 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str947, 236}, 31691 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str948, 237}, 31692 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str949, 241}, 31693 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str950, 242}, 31694 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str951, 233}, 31695 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str952, 246}, 37293 {uniname2ctype_offset(str1421), 261}, 37294 {-1}, 37295 {uniname2ctype_offset(str1423), 270}, 37296 {-1}, {-1}, {-1}, 31696 37297 #endif /* USE_UNICODE_AGE_PROPERTIES */ 31697 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str953, 471}, 31698 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str954, 437}, 31699 #ifndef USE_UNICODE_AGE_PROPERTIES 37298 {uniname2ctype_offset(str1427), 20}, 37299 {-1}, 37300 {uniname2ctype_offset(str1429), 124}, 37301 {-1}, {-1}, {-1}, {-1}, 37302 {uniname2ctype_offset(str1434), 501}, 37303 {uniname2ctype_offset(str1435), 137}, 37304 {-1}, {-1}, {-1}, 37305 {uniname2ctype_offset(str1439), 428}, 37306 {-1}, {-1}, {-1}, {-1}, 37307 {uniname2ctype_offset(str1444), 39}, 37308 {-1}, {-1}, {-1}, {-1}, 37309 {uniname2ctype_offset(str1449), 312}, 37310 {uniname2ctype_offset(str1450), 202}, 37311 {uniname2ctype_offset(str1451), 336}, 37312 {-1}, 37313 {uniname2ctype_offset(str1453), 418}, 37314 {-1}, 37315 {uniname2ctype_offset(str1455), 27}, 37316 {uniname2ctype_offset(str1456), 238}, 37317 {-1}, 37318 {uniname2ctype_offset(str1458), 225}, 37319 {-1}, {-1}, {-1}, {-1}, 37320 {uniname2ctype_offset(str1463), 241}, 37321 {uniname2ctype_offset(str1464), 538}, 37322 {-1}, {-1}, {-1}, {-1}, 37323 {uniname2ctype_offset(str1469), 141}, 37324 {uniname2ctype_offset(str1470), 35}, 37325 {uniname2ctype_offset(str1471), 355}, 37326 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37327 {-1}, {-1}, {-1}, {-1}, 37328 {uniname2ctype_offset(str1485), 462}, 37329 {-1}, {-1}, {-1}, {-1}, 37330 {uniname2ctype_offset(str1490), 252}, 37331 {-1}, {-1}, {-1}, {-1}, {-1}, 37332 {uniname2ctype_offset(str1496), 54}, 37333 {uniname2ctype_offset(str1497), 225}, 31700 37334 {-1}, {-1}, 31701 #else /* USE_UNICODE_AGE_PROPERTIES */ 31702 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str955, 243}, 31703 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str956, 239}, 31704 #endif /* USE_UNICODE_AGE_PROPERTIES */ 31705 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str957, 316}, 31706 #ifndef USE_UNICODE_AGE_PROPERTIES 37335 {uniname2ctype_offset(str1500), 313}, 37336 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37337 {uniname2ctype_offset(str1508), 506}, 37338 {-1}, 37339 {uniname2ctype_offset(str1510), 154}, 37340 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37341 {-1}, 37342 {uniname2ctype_offset(str1521), 497}, 37343 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31707 37344 {-1}, {-1}, {-1}, {-1}, 31708 #else /* USE_UNICODE_AGE_PROPERTIES */ 31709 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str958, 235}, 31710 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str959, 247}, 31711 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str960, 240}, 37345 {uniname2ctype_offset(str1535), 383}, 37346 {uniname2ctype_offset(str1536), 381}, 37347 {-1}, {-1}, 37348 {uniname2ctype_offset(str1539), 34}, 37349 {uniname2ctype_offset(str1540), 299}, 37350 {-1}, {-1}, {-1}, {-1}, 37351 {uniname2ctype_offset(str1545), 8}, 37352 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37353 {uniname2ctype_offset(str1553), 513}, 31712 37354 {-1}, 31713 #endif /* USE_UNICODE_AGE_PROPERTIES */ 31714 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str962, 430}, 31715 #ifndef USE_UNICODE_AGE_PROPERTIES 37355 {uniname2ctype_offset(str1555), 243}, 37356 {-1}, {-1}, {-1}, {-1}, 37357 {uniname2ctype_offset(str1560), 222}, 37358 {-1}, {-1}, {-1}, {-1}, 37359 {uniname2ctype_offset(str1565), 20}, 37360 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37361 {uniname2ctype_offset(str1572), 6}, 31716 37362 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31717 #else /* USE_UNICODE_AGE_PROPERTIES */ 37363 {uniname2ctype_offset(str1580), 332}, 31718 37364 {-1}, {-1}, {-1}, {-1}, 31719 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str967, 238}, 37365 {uniname2ctype_offset(str1585), 234}, 37366 {-1}, {-1}, {-1}, 37367 {uniname2ctype_offset(str1589), 349}, 37368 {-1}, {-1}, {-1}, 37369 {uniname2ctype_offset(str1593), 536}, 37370 {uniname2ctype_offset(str1594), 572}, 37371 {uniname2ctype_offset(str1595), 43}, 37372 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37373 {uniname2ctype_offset(str1602), 317}, 37374 {-1}, 37375 {uniname2ctype_offset(str1604), 405}, 37376 {-1}, 37377 {uniname2ctype_offset(str1606), 424}, 37378 {uniname2ctype_offset(str1607), 199}, 37379 {uniname2ctype_offset(str1608), 535}, 37380 {uniname2ctype_offset(str1609), 142}, 37381 {-1}, 37382 {uniname2ctype_offset(str1611), 482}, 37383 {-1}, {-1}, {-1}, {-1}, {-1}, 37384 {uniname2ctype_offset(str1617), 85}, 37385 {-1}, {-1}, {-1}, {-1}, {-1}, 37386 {uniname2ctype_offset(str1623), 235}, 37387 {-1}, {-1}, {-1}, {-1}, 37388 {uniname2ctype_offset(str1628), 242}, 37389 {-1}, 37390 {uniname2ctype_offset(str1630), 249}, 37391 {uniname2ctype_offset(str1631), 33}, 37392 {uniname2ctype_offset(str1632), 159}, 37393 {-1}, {-1}, {-1}, 37394 {uniname2ctype_offset(str1636), 121}, 37395 {-1}, 37396 {uniname2ctype_offset(str1638), 253}, 37397 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37398 {uniname2ctype_offset(str1645), 357}, 37399 {-1}, 37400 {uniname2ctype_offset(str1647), 58}, 37401 {uniname2ctype_offset(str1648), 447}, 37402 {-1}, 37403 {uniname2ctype_offset(str1650), 159}, 37404 {-1}, {-1}, {-1}, 37405 {uniname2ctype_offset(str1654), 244}, 37406 {uniname2ctype_offset(str1655), 361}, 37407 {uniname2ctype_offset(str1656), 446}, 37408 {uniname2ctype_offset(str1657), 66}, 37409 {-1}, {-1}, {-1}, {-1}, {-1}, 37410 {uniname2ctype_offset(str1663), 148}, 31720 37411 {-1}, {-1}, 31721 #endif /* USE_UNICODE_AGE_PROPERTIES */ 31722 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str970, 157}, 37412 {uniname2ctype_offset(str1666), 154}, 37413 {-1}, {-1}, 37414 {uniname2ctype_offset(str1669), 148}, 31723 37415 {-1}, 31724 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str972, 18}, 37416 {uniname2ctype_offset(str1671), 215}, 37417 {uniname2ctype_offset(str1672), 162}, 37418 {uniname2ctype_offset(str1673), 356}, 37419 {uniname2ctype_offset(str1674), 395}, 37420 {-1}, {-1}, 37421 {uniname2ctype_offset(str1677), 431}, 37422 {-1}, {-1}, {-1}, {-1}, 37423 {uniname2ctype_offset(str1682), 97}, 37424 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37425 {uniname2ctype_offset(str1690), 394}, 37426 {-1}, {-1}, {-1}, {-1}, 37427 {uniname2ctype_offset(str1695), 97}, 31725 37428 {-1}, 31726 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str974, 470}, 31727 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str975, 372}, 31728 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str976, 260}, 37429 {uniname2ctype_offset(str1697), 89}, 37430 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37431 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37432 {uniname2ctype_offset(str1714), 230}, 37433 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37434 {-1}, 37435 {uniname2ctype_offset(str1725), 37}, 37436 {-1}, 37437 {uniname2ctype_offset(str1727), 330}, 37438 {uniname2ctype_offset(str1728), 143}, 37439 {-1}, 37440 {uniname2ctype_offset(str1730), 433}, 31729 37441 {-1}, {-1}, {-1}, {-1}, {-1}, 31730 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str982, 103}, 37442 {uniname2ctype_offset(str1736), 5}, 37443 {uniname2ctype_offset(str1737), 143}, 37444 {-1}, {-1}, {-1}, 37445 {uniname2ctype_offset(str1741), 358}, 31731 37446 {-1}, 31732 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str984, 424}, 31733 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str985, 436}, 31734 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str986, 248}, 37447 {uniname2ctype_offset(str1743), 254}, 37448 {-1}, {-1}, 37449 {uniname2ctype_offset(str1746), 341}, 37450 {-1}, 37451 {uniname2ctype_offset(str1748), 376}, 37452 {-1}, {-1}, {-1}, 37453 {uniname2ctype_offset(str1752), 569}, 37454 {-1}, 37455 {uniname2ctype_offset(str1754), 87}, 37456 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37457 {uniname2ctype_offset(str1762), 174}, 37458 {-1}, {-1}, {-1}, 37459 {uniname2ctype_offset(str1766), 87}, 37460 {uniname2ctype_offset(str1767), 232}, 37461 {-1}, {-1}, {-1}, {-1}, 37462 {uniname2ctype_offset(str1772), 344}, 37463 {-1}, 37464 {uniname2ctype_offset(str1774), 131}, 37465 {-1}, {-1}, {-1}, {-1}, {-1}, 37466 {uniname2ctype_offset(str1780), 227}, 37467 {-1}, {-1}, 37468 {uniname2ctype_offset(str1783), 174}, 37469 {-1}, 37470 {uniname2ctype_offset(str1785), 515}, 37471 {-1}, {-1}, {-1}, 37472 {uniname2ctype_offset(str1789), 416}, 37473 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37474 {-1}, 37475 {uniname2ctype_offset(str1800), 293}, 37476 {-1}, 37477 {uniname2ctype_offset(str1802), 219}, 37478 {-1}, {-1}, {-1}, 37479 {uniname2ctype_offset(str1806), 378}, 37480 {-1}, 37481 {uniname2ctype_offset(str1808), 55}, 37482 {-1}, {-1}, {-1}, {-1}, 37483 {uniname2ctype_offset(str1813), 139}, 37484 {uniname2ctype_offset(str1814), 29}, 37485 {uniname2ctype_offset(str1815), 407}, 37486 {-1}, {-1}, 37487 {uniname2ctype_offset(str1818), 531}, 37488 {uniname2ctype_offset(str1819), 298}, 37489 {-1}, 37490 {uniname2ctype_offset(str1821), 413}, 37491 {-1}, {-1}, {-1}, 37492 {uniname2ctype_offset(str1825), 196}, 37493 {-1}, {-1}, {-1}, 37494 {uniname2ctype_offset(str1829), 365}, 37495 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37496 {-1}, 37497 {uniname2ctype_offset(str1840), 177}, 37498 {-1}, {-1}, 37499 {uniname2ctype_offset(str1843), 237}, 37500 {-1}, {-1}, 37501 {uniname2ctype_offset(str1846), 423}, 37502 {uniname2ctype_offset(str1847), 190}, 37503 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37504 {uniname2ctype_offset(str1857), 400}, 37505 {uniname2ctype_offset(str1858), 566}, 37506 {-1}, {-1}, 37507 {uniname2ctype_offset(str1861), 483}, 37508 {-1}, {-1}, {-1}, {-1}, 37509 {uniname2ctype_offset(str1866), 247}, 37510 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37511 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37512 {uniname2ctype_offset(str1885), 363}, 31735 37513 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31736 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str995, 19}, 31737 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str996, 321}, 37514 {uniname2ctype_offset(str1894), 150}, 37515 {-1}, {-1}, {-1}, {-1}, {-1}, 37516 {uniname2ctype_offset(str1900), 150}, 37517 {-1}, {-1}, 37518 {uniname2ctype_offset(str1903), 568}, 37519 {-1}, {-1}, {-1}, {-1}, {-1}, 37520 {uniname2ctype_offset(str1909), 319}, 37521 {uniname2ctype_offset(str1910), 390}, 37522 {-1}, {-1}, {-1}, 37523 {uniname2ctype_offset(str1914), 559}, 37524 {uniname2ctype_offset(str1915), 359}, 37525 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37526 {uniname2ctype_offset(str1922), 84}, 31738 37527 {-1}, 31739 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str998, 419}, 31740 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str999, 51}, 31741 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1000, 217}, 37528 {uniname2ctype_offset(str1924), 442}, 37529 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37530 {uniname2ctype_offset(str1932), 84}, 37531 {uniname2ctype_offset(str1933), 232}, 37532 {uniname2ctype_offset(str1934), 495}, 37533 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37534 {uniname2ctype_offset(str1943), 26}, 37535 {uniname2ctype_offset(str1944), 12}, 37536 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37537 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37538 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31742 37539 {-1}, {-1}, {-1}, 31743 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1004, 118}, 37540 {uniname2ctype_offset(str1975), 61}, 37541 {uniname2ctype_offset(str1976), 412}, 37542 {-1}, {-1}, 37543 {uniname2ctype_offset(str1979), 239}, 37544 {-1}, 37545 {uniname2ctype_offset(str1981), 94}, 37546 {-1}, 37547 {uniname2ctype_offset(str1983), 83}, 37548 {-1}, 37549 {uniname2ctype_offset(str1985), 348}, 37550 {-1}, {-1}, {-1}, 37551 {uniname2ctype_offset(str1989), 543}, 37552 {-1}, 37553 {uniname2ctype_offset(str1991), 83}, 37554 {-1}, {-1}, {-1}, 37555 {uniname2ctype_offset(str1995), 556}, 37556 {-1}, 37557 {uniname2ctype_offset(str1997), 134}, 37558 {uniname2ctype_offset(str1998), 21}, 37559 {uniname2ctype_offset(str1999), 380}, 37560 {-1}, {-1}, {-1}, 37561 {uniname2ctype_offset(str2003), 516}, 37562 {-1}, 37563 {uniname2ctype_offset(str2005), 64}, 37564 {-1}, 37565 {uniname2ctype_offset(str2007), 198}, 37566 {uniname2ctype_offset(str2008), 185}, 37567 {-1}, {-1}, {-1}, {-1}, 37568 {uniname2ctype_offset(str2013), 450}, 37569 {-1}, 37570 {uniname2ctype_offset(str2015), 198}, 37571 {-1}, 37572 {uniname2ctype_offset(str2017), 165}, 37573 {-1}, {-1}, 37574 {uniname2ctype_offset(str2020), 185}, 37575 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37576 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37577 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37578 {uniname2ctype_offset(str2047), 240}, 37579 {-1}, 37580 {uniname2ctype_offset(str2049), 421}, 37581 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37582 {uniname2ctype_offset(str2056), 391}, 37583 {-1}, {-1}, 37584 {uniname2ctype_offset(str2059), 152}, 37585 {-1}, 37586 {uniname2ctype_offset(str2061), 17}, 37587 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37588 {uniname2ctype_offset(str2068), 191}, 37589 {-1}, {-1}, {-1}, 37590 {uniname2ctype_offset(str2072), 415}, 37591 {uniname2ctype_offset(str2073), 183}, 37592 {-1}, {-1}, 37593 {uniname2ctype_offset(str2076), 118}, 37594 {-1}, {-1}, 37595 {uniname2ctype_offset(str2079), 191}, 37596 {-1}, {-1}, {-1}, {-1}, 37597 {uniname2ctype_offset(str2084), 444}, 37598 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37599 {uniname2ctype_offset(str2091), 175}, 37600 {-1}, {-1}, {-1}, 37601 {uniname2ctype_offset(str2095), 560}, 37602 {uniname2ctype_offset(str2096), 194}, 37603 {uniname2ctype_offset(str2097), 78}, 37604 {-1}, {-1}, {-1}, 37605 {uniname2ctype_offset(str2101), 43}, 37606 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37607 {-1}, 37608 {uniname2ctype_offset(str2112), 172}, 37609 {-1}, 37610 {uniname2ctype_offset(str2114), 306}, 37611 {-1}, {-1}, 37612 {uniname2ctype_offset(str2117), 195}, 37613 {-1}, 37614 {uniname2ctype_offset(str2119), 491}, 37615 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37616 {-1}, {-1}, {-1}, {-1}, {-1}, 37617 {uniname2ctype_offset(str2134), 92}, 37618 {-1}, {-1}, {-1}, {-1}, 37619 {uniname2ctype_offset(str2139), 562}, 37620 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37621 {uniname2ctype_offset(str2146), 192}, 37622 {-1}, 37623 {uniname2ctype_offset(str2148), 384}, 37624 {uniname2ctype_offset(str2149), 92}, 37625 {-1}, {-1}, {-1}, {-1}, 37626 {uniname2ctype_offset(str2154), 214}, 37627 {-1}, {-1}, {-1}, 37628 {uniname2ctype_offset(str2158), 224}, 37629 {-1}, {-1}, 37630 {uniname2ctype_offset(str2161), 139}, 37631 {-1}, {-1}, {-1}, 37632 {uniname2ctype_offset(str2165), 287}, 37633 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37634 {uniname2ctype_offset(str2172), 291}, 37635 {-1}, 37636 {uniname2ctype_offset(str2174), 328}, 37637 {-1}, 37638 {uniname2ctype_offset(str2176), 128}, 37639 {-1}, {-1}, 37640 {uniname2ctype_offset(str2179), 281}, 37641 {-1}, {-1}, 37642 {uniname2ctype_offset(str2182), 426}, 37643 {-1}, {-1}, {-1}, {-1}, 37644 {uniname2ctype_offset(str2187), 48}, 37645 {-1}, 37646 {uniname2ctype_offset(str2189), 89}, 37647 {-1}, {-1}, 37648 {uniname2ctype_offset(str2192), 276}, 37649 {uniname2ctype_offset(str2193), 130}, 37650 {-1}, {-1}, 37651 {uniname2ctype_offset(str2196), 128}, 37652 {uniname2ctype_offset(str2197), 90}, 37653 {uniname2ctype_offset(str2198), 389}, 37654 {uniname2ctype_offset(str2199), 288}, 31744 37655 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31745 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1012, 177}, 31746 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1013, 144}, 31747 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1014, 190}, 37656 {uniname2ctype_offset(str2207), 280}, 31748 37657 {-1}, {-1}, 31749 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1017, 475}, 37658 {uniname2ctype_offset(str2210), 342}, 37659 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37660 {-1}, {-1}, {-1}, {-1}, 37661 {uniname2ctype_offset(str2224), 406}, 37662 {uniname2ctype_offset(str2225), 211}, 37663 {-1}, {-1}, {-1}, 37664 {uniname2ctype_offset(str2229), 369}, 37665 {-1}, {-1}, 37666 {uniname2ctype_offset(str2232), 209}, 37667 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37668 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37669 {uniname2ctype_offset(str2249), 130}, 37670 {-1}, {-1}, 37671 {uniname2ctype_offset(str2252), 80}, 37672 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37673 {uniname2ctype_offset(str2260), 337}, 37674 {-1}, {-1}, 37675 {uniname2ctype_offset(str2263), 544}, 37676 {uniname2ctype_offset(str2264), 82}, 37677 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37678 {uniname2ctype_offset(str2271), 239}, 37679 {-1}, {-1}, {-1}, {-1}, 37680 {uniname2ctype_offset(str2276), 527}, 37681 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37682 {uniname2ctype_offset(str2286), 243}, 37683 {-1}, {-1}, 37684 {uniname2ctype_offset(str2289), 366}, 37685 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37686 {uniname2ctype_offset(str2296), 229}, 37687 {-1}, {-1}, {-1}, 37688 {uniname2ctype_offset(str2300), 18}, 37689 {-1}, {-1}, {-1}, {-1}, {-1}, 37690 {uniname2ctype_offset(str2306), 510}, 37691 {uniname2ctype_offset(str2307), 38}, 37692 {-1}, {-1}, {-1}, 37693 {uniname2ctype_offset(str2311), 427}, 31750 37694 {-1}, 31751 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1019, 201}, 37695 {uniname2ctype_offset(str2313), 112}, 37696 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37697 {-1}, {-1}, {-1}, {-1}, 37698 {uniname2ctype_offset(str2327), 213}, 37699 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37700 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31752 37701 {-1}, {-1}, {-1}, 31753 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1023, 225}, 37702 {uniname2ctype_offset(str2349), 451}, 37703 {uniname2ctype_offset(str2350), 441}, 37704 {-1}, {-1}, 37705 {uniname2ctype_offset(str2353), 448}, 37706 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37707 {uniname2ctype_offset(str2360), 314}, 31754 37708 {-1}, {-1}, {-1}, 31755 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1027, 472}, 37709 {uniname2ctype_offset(str2364), 65}, 37710 {-1}, {-1}, {-1}, {-1}, 37711 {uniname2ctype_offset(str2369), 346}, 37712 {-1}, {-1}, 37713 {uniname2ctype_offset(str2372), 82}, 37714 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37715 {uniname2ctype_offset(str2380), 100}, 37716 {-1}, {-1}, {-1}, {-1}, {-1}, 37717 {uniname2ctype_offset(str2386), 226}, 37718 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37719 {uniname2ctype_offset(str2393), 251}, 37720 {-1}, {-1}, {-1}, {-1}, {-1}, 37721 {uniname2ctype_offset(str2399), 548}, 37722 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37723 {uniname2ctype_offset(str2408), 211}, 37724 {uniname2ctype_offset(str2409), 118}, 37725 {-1}, {-1}, 37726 {uniname2ctype_offset(str2412), 284}, 37727 {uniname2ctype_offset(str2413), 229}, 37728 {uniname2ctype_offset(str2414), 286}, 37729 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37730 {uniname2ctype_offset(str2422), 119}, 37731 {uniname2ctype_offset(str2423), 99}, 37732 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37733 {uniname2ctype_offset(str2433), 364}, 37734 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37735 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37736 {uniname2ctype_offset(str2449), 316}, 37737 {-1}, 37738 {uniname2ctype_offset(str2451), 54}, 37739 {uniname2ctype_offset(str2452), 96}, 37740 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37741 {uniname2ctype_offset(str2461), 96}, 31756 37742 {-1}, {-1}, {-1}, 31757 { (int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1031, 496},37743 {uniname2ctype_offset(str2465), 103}, 31758 37744 {-1}, 31759 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1033, 190}, 31760 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1034, 317}, 37745 {uniname2ctype_offset(str2467), 62}, 31761 37746 {-1}, 31762 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1036, 280}, 37747 {uniname2ctype_offset(str2469), 226}, 37748 {-1}, {-1}, {-1}, 37749 {uniname2ctype_offset(str2473), 107}, 37750 {-1}, 37751 {uniname2ctype_offset(str2475), 23}, 37752 {-1}, {-1}, {-1}, {-1}, {-1}, 37753 {uniname2ctype_offset(str2481), 525}, 37754 {-1}, 37755 {uniname2ctype_offset(str2483), 425}, 37756 {uniname2ctype_offset(str2484), 532}, 37757 {-1}, {-1}, {-1}, 37758 {uniname2ctype_offset(str2488), 182}, 37759 {uniname2ctype_offset(str2489), 279}, 37760 {uniname2ctype_offset(str2490), 275}, 31763 37761 {-1}, {-1}, 31764 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1039, 376}, 31765 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1040, 50}, 31766 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1041, 212}, 37762 {uniname2ctype_offset(str2493), 178}, 37763 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37764 {uniname2ctype_offset(str2500), 464}, 37765 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37766 {uniname2ctype_offset(str2507), 57}, 37767 {-1}, 37768 {uniname2ctype_offset(str2509), 50}, 37769 {-1}, {-1}, {-1}, {-1}, {-1}, 37770 {uniname2ctype_offset(str2515), 231}, 37771 {-1}, {-1}, {-1}, 37772 {uniname2ctype_offset(str2519), 204}, 37773 {-1}, {-1}, {-1}, 37774 {uniname2ctype_offset(str2523), 153}, 37775 {-1}, {-1}, 37776 {uniname2ctype_offset(str2526), 393}, 37777 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37778 {-1}, {-1}, {-1}, 37779 {uniname2ctype_offset(str2539), 41}, 37780 {-1}, {-1}, {-1}, {-1}, {-1}, 37781 {uniname2ctype_offset(str2545), 551}, 31767 37782 {-1}, {-1}, {-1}, {-1}, 31768 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1046, 398}, 37783 {uniname2ctype_offset(str2550), 456}, 37784 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37785 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37786 {-1}, {-1}, {-1}, {-1}, 37787 {uniname2ctype_offset(str2573), 210}, 37788 {-1}, {-1}, 37789 {uniname2ctype_offset(str2576), 4}, 37790 {-1}, {-1}, 37791 {uniname2ctype_offset(str2579), 179}, 37792 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37793 {uniname2ctype_offset(str2587), 454}, 31769 37794 {-1}, 31770 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1048, 337}, 31771 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1049, 213}, 37795 {uniname2ctype_offset(str2589), 126}, 37796 {-1}, {-1}, {-1}, {-1}, 37797 {uniname2ctype_offset(str2594), 216}, 37798 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37799 {uniname2ctype_offset(str2601), 216}, 37800 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37801 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37802 {uniname2ctype_offset(str2617), 63}, 37803 {uniname2ctype_offset(str2618), 213}, 37804 {-1}, {-1}, {-1}, 37805 {uniname2ctype_offset(str2622), 338}, 37806 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37807 {uniname2ctype_offset(str2630), 133}, 37808 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37809 {-1}, {-1}, {-1}, 37810 {uniname2ctype_offset(str2643), 282}, 37811 {-1}, {-1}, {-1}, {-1}, {-1}, 37812 {uniname2ctype_offset(str2649), 278}, 37813 {-1}, {-1}, {-1}, 37814 {uniname2ctype_offset(str2653), 165}, 37815 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37816 {uniname2ctype_offset(str2660), 66}, 37817 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37818 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37819 {uniname2ctype_offset(str2678), 147}, 37820 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37821 {-1}, {-1}, {-1}, {-1}, {-1}, 37822 {uniname2ctype_offset(str2693), 78}, 37823 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37824 {uniname2ctype_offset(str2702), 99}, 31772 37825 {-1}, {-1}, 31773 { (int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1052, 137},37826 {uniname2ctype_offset(str2705), 49}, 31774 37827 {-1}, {-1}, 31775 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1055, 6}, 37828 {uniname2ctype_offset(str2708), 558}, 37829 {-1}, 37830 {uniname2ctype_offset(str2710), 570}, 37831 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37832 {uniname2ctype_offset(str2717), 88}, 37833 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37834 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37835 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37836 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37837 {uniname2ctype_offset(str2751), 549}, 37838 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37839 {uniname2ctype_offset(str2758), 64}, 31776 37840 {-1}, {-1}, {-1}, {-1}, 31777 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1060, 121}, 37841 {uniname2ctype_offset(str2763), 132}, 37842 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37843 {-1}, {-1}, 37844 {uniname2ctype_offset(str2775), 230}, 31778 37845 {-1}, {-1}, {-1}, 31779 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1064, 44}, 31780 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1065, 382}, 31781 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1066, 119}, 37846 {uniname2ctype_offset(str2779), 386}, 37847 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37848 {-1}, {-1}, 37849 {uniname2ctype_offset(str2791), 242}, 37850 {uniname2ctype_offset(str2792), 123}, 37851 {-1}, {-1}, {-1}, {-1}, 37852 {uniname2ctype_offset(str2797), 28}, 37853 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37854 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37855 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37856 {uniname2ctype_offset(str2823), 437}, 37857 {-1}, {-1}, {-1}, {-1}, {-1}, 37858 {uniname2ctype_offset(str2829), 180}, 37859 {-1}, {-1}, {-1}, {-1}, 37860 {uniname2ctype_offset(str2834), 335}, 37861 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37862 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37863 {uniname2ctype_offset(str2850), 231}, 37864 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37865 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37866 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31782 37867 {-1}, 31783 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1068, 335}, 31784 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1069, 95}, 31785 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1070, 136}, 37868 {uniname2ctype_offset(str2879), 223}, 37869 {-1}, {-1}, {-1}, 37870 {uniname2ctype_offset(str2883), 199}, 37871 {-1}, {-1}, {-1}, {-1}, 37872 {uniname2ctype_offset(str2888), 133}, 31786 37873 {-1}, 31787 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1072, 135}, 31788 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1073, 133}, 37874 {uniname2ctype_offset(str2890), 124}, 37875 {uniname2ctype_offset(str2891), 528}, 37876 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37877 {uniname2ctype_offset(str2901), 452}, 31789 37878 {-1}, {-1}, {-1}, 31790 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1077, 193}, 37879 {uniname2ctype_offset(str2905), 295}, 37880 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37881 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31791 37882 {-1}, {-1}, 31792 { (int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1080, 42},37883 {uniname2ctype_offset(str2926), 125}, 31793 37884 {-1}, {-1}, {-1}, 31794 { (int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1084, 12},37885 {uniname2ctype_offset(str2930), 277}, 31795 37886 {-1}, 31796 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1086, 95}, 37887 {uniname2ctype_offset(str2932), 51}, 37888 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37889 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31797 37890 {-1}, {-1}, 31798 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1089, 257}, 37891 {uniname2ctype_offset(str2953), 71}, 37892 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37893 {-1}, {-1}, {-1}, {-1}, 37894 {uniname2ctype_offset(str2967), 475}, 37895 {uniname2ctype_offset(str2968), 197}, 31799 37896 {-1}, {-1}, {-1}, 31800 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1093, 179}, 31801 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1094, 338}, 31802 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1095, 304}, 37897 {uniname2ctype_offset(str2972), 146}, 37898 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37899 {-1}, {-1}, 37900 {uniname2ctype_offset(str2984), 204}, 37901 {-1}, {-1}, 37902 {uniname2ctype_offset(str2987), 255}, 37903 {-1}, 37904 {uniname2ctype_offset(str2989), 409}, 37905 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37906 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37907 {uniname2ctype_offset(str3007), 180}, 37908 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37909 {uniname2ctype_offset(str3016), 403}, 37910 {-1}, {-1}, 37911 {uniname2ctype_offset(str3019), 62}, 37912 {uniname2ctype_offset(str3020), 45}, 37913 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37914 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37915 {uniname2ctype_offset(str3038), 10}, 37916 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37917 {-1}, {-1}, {-1}, {-1}, 37918 {uniname2ctype_offset(str3052), 382}, 37919 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37920 {-1}, {-1}, {-1}, {-1}, 37921 {uniname2ctype_offset(str3066), 190}, 37922 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37923 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37924 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37925 {uniname2ctype_offset(str3094), 63}, 37926 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37927 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37928 {uniname2ctype_offset(str3113), 59}, 37929 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37930 {uniname2ctype_offset(str3121), 123}, 37931 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37932 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37933 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37934 {-1}, {-1}, {-1}, {-1}, 37935 {uniname2ctype_offset(str3153), 238}, 37936 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37937 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31803 37938 {-1}, {-1}, {-1}, {-1}, {-1}, 31804 { (int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1101, 84},37939 {uniname2ctype_offset(str3177), 223}, 31805 37940 {-1}, {-1}, 31806 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1104, 60}, 37941 {uniname2ctype_offset(str3180), 132}, 37942 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37943 {-1}, {-1}, {-1}, 37944 {uniname2ctype_offset(str3193), 47}, 37945 {-1}, 37946 {uniname2ctype_offset(str3195), 224}, 37947 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37948 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37949 {uniname2ctype_offset(str3213), 16}, 37950 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37951 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37952 {-1}, {-1}, {-1}, 37953 {uniname2ctype_offset(str3235), 438}, 31807 37954 {-1}, {-1}, 31808 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1107, 476}, 37955 {uniname2ctype_offset(str3238), 100}, 37956 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37957 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37958 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37959 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37960 {-1}, 37961 {uniname2ctype_offset(str3276), 177}, 37962 {-1}, {-1}, 37963 {uniname2ctype_offset(str3279), 283}, 37964 {uniname2ctype_offset(str3280), 285}, 37965 {-1}, {-1}, {-1}, {-1}, 37966 {uniname2ctype_offset(str3285), 214}, 37967 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37968 {-1}, 37969 {uniname2ctype_offset(str3296), 289}, 37970 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37971 {uniname2ctype_offset(str3305), 290}, 37972 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37973 {uniname2ctype_offset(str3315), 205}, 37974 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37975 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37976 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37977 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37978 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31809 37979 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31810 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1114, 17}, 37980 {uniname2ctype_offset(str3367), 65}, 37981 {-1}, {-1}, {-1}, {-1}, {-1}, 37982 {uniname2ctype_offset(str3373), 103}, 37983 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37984 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37985 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37986 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37987 {uniname2ctype_offset(str3409), 30}, 37988 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37989 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37990 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 37991 {-1}, 37992 {uniname2ctype_offset(str3438), 303}, 31811 37993 {-1}, {-1}, {-1}, 31812 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1118, 197}, 37994 {uniname2ctype_offset(str3442), 440}, 37995 {-1}, {-1}, {-1}, {-1}, {-1}, 37996 {uniname2ctype_offset(str3448), 46}, 37997 {-1}, {-1}, {-1}, {-1}, 37998 {uniname2ctype_offset(str3453), 233}, 37999 {uniname2ctype_offset(str3454), 220}, 38000 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38001 {-1}, 38002 {uniname2ctype_offset(str3465), 119}, 38003 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38004 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38005 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38006 {-1}, {-1}, {-1}, 38007 {uniname2ctype_offset(str3496), 411}, 38008 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38009 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38010 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38011 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38012 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38013 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38014 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38015 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38016 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38017 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38018 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38019 {uniname2ctype_offset(str3593), 162}, 38020 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38021 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38022 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38023 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38024 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38025 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38026 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38027 {-1}, {-1}, {-1}, {-1}, {-1}, 38028 {uniname2ctype_offset(str3662), 179}, 38029 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38030 {-1}, {-1}, {-1}, {-1}, 38031 {uniname2ctype_offset(str3676), 201}, 38032 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38033 {-1}, {-1}, {-1}, 38034 {uniname2ctype_offset(str3689), 545}, 38035 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38036 {uniname2ctype_offset(str3697), 561}, 38037 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38038 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38039 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38040 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38041 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38042 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38043 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31813 38044 {-1}, {-1}, 31814 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1121, 37}, 31815 {-1}, 31816 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1123, 135}, 31817 {-1}, {-1}, {-1}, {-1}, {-1}, 31818 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1129, 179}, 31819 {-1}, {-1}, {-1}, {-1}, 31820 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1134, 287}, 31821 {-1}, 31822 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1136, 25}, 31823 {-1}, {-1}, {-1}, 31824 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1140, 99}, 31825 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1141, 180}, 31826 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31827 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1149, 270}, 31828 {-1}, 31829 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1151, 140}, 31830 {-1}, 31831 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1153, 285}, 31832 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31833 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1160, 420}, 31834 {-1}, {-1}, 31835 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1163, 418}, 31836 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31837 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1170, 206}, 31838 {-1}, {-1}, {-1}, 31839 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1174, 20}, 31840 {-1}, {-1}, {-1}, {-1}, {-1}, 31841 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1180, 181}, 31842 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1181, 189}, 31843 {-1}, {-1}, 31844 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1184, 126}, 31845 {-1}, 31846 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1186, 98}, 31847 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1187, 447}, 31848 {-1}, {-1}, {-1}, {-1}, {-1}, 31849 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1193, 80}, 31850 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1194, 172}, 31851 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1195, 271}, 31852 {-1}, 31853 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1197, 167}, 31854 {-1}, {-1}, {-1}, 31855 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1201, 103}, 31856 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1202, 208}, 31857 {-1}, {-1}, {-1}, 31858 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1206, 105}, 31859 {-1}, {-1}, {-1}, {-1}, 31860 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1211, 192}, 31861 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1212, 161}, 31862 {-1}, {-1}, {-1}, {-1}, {-1}, 31863 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1218, 102}, 31864 {-1}, {-1}, 31865 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1221, 213}, 31866 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1222, 40}, 31867 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31868 {-1}, {-1}, {-1}, 31869 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1235, 34}, 31870 {-1}, {-1}, 31871 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1238, 445}, 31872 {-1}, 31873 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1240, 27}, 31874 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31875 {-1}, {-1}, 31876 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1252, 417}, 31877 {-1}, 31878 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1254, 138}, 31879 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31880 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1262, 320}, 31881 {-1}, {-1}, 31882 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1265, 110}, 31883 {-1}, {-1}, {-1}, 31884 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1269, 98}, 31885 {-1}, 31886 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1271, 110}, 31887 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1272, 131}, 31888 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1273, 491}, 31889 {-1}, {-1}, {-1}, 31890 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1277, 255}, 31891 {-1}, 31892 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1279, 69}, 31893 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1280, 334}, 31894 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1281, 112}, 31895 {-1}, 31896 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1283, 71}, 31897 {-1}, 31898 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1285, 401}, 31899 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1286, 222}, 31900 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1287, 466}, 31901 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31902 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31903 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1305, 68}, 31904 {-1}, {-1}, 31905 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1308, 121}, 31906 {-1}, {-1}, {-1}, 31907 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1312, 330}, 31908 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1313, 194}, 31909 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1314, 198}, 31910 {-1}, {-1}, 31911 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1317, 329}, 31912 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1318, 26}, 31913 {-1}, {-1}, 31914 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1321, 332}, 31915 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1322, 222}, 31916 {-1}, 31917 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1324, 8}, 31918 {-1}, {-1}, 31919 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1327, 291}, 31920 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31921 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1334, 200}, 31922 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31923 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1344, 315}, 31924 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31925 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1353, 217}, 31926 {-1}, {-1}, {-1}, {-1}, {-1}, 31927 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1359, 16}, 31928 {-1}, {-1}, {-1}, {-1}, 31929 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1364, 44}, 31930 {-1}, {-1}, {-1}, 31931 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1368, 390}, 31932 {-1}, {-1}, {-1}, {-1}, 31933 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1373, 479}, 31934 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31935 {-1}, {-1}, 31936 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1385, 487}, 31937 {-1}, 31938 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1387, 375}, 31939 {-1}, 31940 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1389, 147}, 31941 {-1}, {-1}, {-1}, 31942 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1393, 91}, 31943 {-1}, {-1}, {-1}, {-1}, {-1}, 31944 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1399, 267}, 31945 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1400, 146}, 31946 {-1}, 31947 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1402, 147}, 31948 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1403, 489}, 31949 {-1}, {-1}, {-1}, {-1}, {-1}, 31950 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1409, 11}, 31951 {-1}, {-1}, 31952 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1412, 4}, 31953 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31954 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1420, 68}, 31955 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1421, 379}, 31956 {-1}, {-1}, 31957 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1424, 91}, 31958 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1425, 218}, 31959 {-1}, {-1}, {-1}, 31960 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1429, 368}, 31961 {-1}, {-1}, {-1}, {-1}, {-1}, 31962 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1435, 143}, 31963 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1436, 143}, 31964 {-1}, 31965 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1438, 106}, 31966 {-1}, {-1}, {-1}, 31967 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1442, 282}, 31968 {-1}, {-1}, {-1}, {-1}, {-1}, 31969 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1448, 126}, 31970 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31971 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1455, 97}, 31972 {-1}, 31973 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1457, 167}, 31974 {-1}, {-1}, {-1}, {-1}, {-1}, 31975 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1463, 130}, 31976 {-1}, 31977 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1465, 275}, 31978 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1466, 169}, 31979 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1467, 107}, 31980 {-1}, 31981 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1469, 79}, 31982 {-1}, 31983 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1471, 422}, 31984 {-1}, {-1}, {-1}, {-1}, {-1}, 31985 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1477, 228}, 31986 {-1}, {-1}, {-1}, 31987 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1481, 448}, 31988 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 31989 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1490, 102}, 31990 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1491, 132}, 31991 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1492, 296}, 31992 {-1}, {-1}, 31993 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1495, 433}, 31994 {-1}, {-1}, 31995 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1498, 180}, 31996 {-1}, 31997 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1500, 72}, 31998 {-1}, 31999 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1502, 49}, 32000 {-1}, {-1}, 32001 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1505, 96}, 32002 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32003 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1513, 498}, 32004 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1514, 186}, 32005 {-1}, 32006 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1516, 402}, 32007 {-1}, 32008 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1518, 405}, 32009 {-1}, {-1}, 32010 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1521, 396}, 32011 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1522, 446}, 32012 {-1}, {-1}, 32013 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1525, 153}, 32014 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1526, 262}, 32015 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1527, 175}, 32016 {-1}, 32017 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1529, 81}, 32018 {-1}, {-1}, {-1}, 32019 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1533, 159}, 32020 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1534, 96}, 32021 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1535, 153}, 32022 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1536, 380}, 32023 {-1}, {-1}, {-1}, 32024 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1540, 112}, 32025 {-1}, 32026 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1542, 353}, 32027 {-1}, 32028 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1544, 346}, 32029 {-1}, {-1}, {-1}, {-1}, 32030 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1549, 56}, 32031 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1550, 81}, 32032 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1551, 210}, 32033 {-1}, {-1}, {-1}, 32034 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1555, 358}, 32035 {-1}, 32036 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1557, 407}, 32037 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1558, 152}, 32038 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1559, 385}, 32039 {-1}, {-1}, {-1}, {-1}, 32040 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1564, 495}, 32041 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32042 {-1}, {-1}, 32043 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1576, 389}, 32044 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1577, 145}, 32045 {-1}, {-1}, {-1}, 32046 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1581, 366}, 32047 {-1}, {-1}, {-1}, {-1}, 32048 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1586, 29}, 32049 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1587, 272}, 32050 {-1}, {-1}, 32051 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1590, 79}, 32052 {-1}, {-1}, {-1}, {-1}, {-1}, 32053 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1596, 212}, 32054 {-1}, 32055 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1598, 393}, 32056 {-1}, 32057 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1600, 119}, 32058 {-1}, {-1}, {-1}, {-1}, {-1}, 32059 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1606, 292}, 32060 {-1}, 32061 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1608, 387}, 32062 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1609, 69}, 32063 {-1}, 32064 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1611, 363}, 32065 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1612, 224}, 32066 {-1}, {-1}, {-1}, 32067 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1616, 259}, 32068 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1617, 77}, 32069 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1618, 124}, 32070 {-1}, {-1}, 32071 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1621, 137}, 32072 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1622, 254}, 32073 {-1}, {-1}, {-1}, 32074 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1626, 469}, 32075 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1627, 367}, 32076 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1628, 65}, 32077 {-1}, {-1}, {-1}, 32078 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1632, 319}, 32079 {-1}, {-1}, {-1}, 32080 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1636, 62}, 32081 {-1}, {-1}, {-1}, {-1}, 32082 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1641, 138}, 32083 {-1}, {-1}, {-1}, 32084 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1645, 403}, 32085 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32086 {-1}, 32087 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1656, 467}, 32088 {-1}, {-1}, {-1}, {-1}, 32089 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1661, 214}, 32090 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1662, 274}, 32091 {-1}, {-1}, 32092 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1665, 313}, 32093 {-1}, {-1}, {-1}, {-1}, 32094 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1670, 490}, 32095 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1671, 133}, 32096 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32097 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32098 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1687, 157}, 32099 {-1}, 32100 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1689, 370}, 32101 {-1}, {-1}, 32102 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1692, 30}, 32103 {-1}, 32104 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1694, 178}, 32105 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1695, 5}, 32106 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1696, 40}, 32107 {-1}, {-1}, {-1}, 32108 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1700, 230}, 32109 {-1}, {-1}, {-1}, {-1}, 32110 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1705, 63}, 32111 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1706, 435}, 32112 {-1}, {-1}, {-1}, {-1}, {-1}, 32113 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1712, 294}, 32114 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1713, 158}, 32115 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1714, 132}, 32116 {-1}, {-1}, {-1}, {-1}, 32117 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1719, 122}, 32118 {-1}, {-1}, 32119 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1722, 221}, 32120 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1723, 223}, 32121 {-1}, {-1}, {-1}, {-1}, {-1}, 32122 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1729, 220}, 32123 {-1}, {-1}, 32124 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1732, 311}, 32125 {-1}, {-1}, {-1}, 32126 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1736, 381}, 32127 {-1}, {-1}, {-1}, {-1}, {-1}, 32128 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1742, 399}, 32129 {-1}, 32130 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1744, 165}, 32131 {-1}, {-1}, 32132 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1747, 77}, 32133 {-1}, 32134 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1749, 458}, 32135 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1750, 175}, 32136 {-1}, {-1}, {-1}, {-1}, 32137 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1755, 158}, 32138 {-1}, 32139 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1757, 200}, 32140 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1758, 176}, 32141 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32142 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1765, 149}, 32143 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32144 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1772, 347}, 32145 {-1}, {-1}, 32146 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1775, 312}, 32147 {-1}, {-1}, 32148 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1778, 149}, 32149 {-1}, {-1}, {-1}, {-1}, {-1}, 32150 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1784, 164}, 32151 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1785, 497}, 32152 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1786, 165}, 32153 {-1}, {-1}, {-1}, {-1}, {-1}, 32154 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1792, 283}, 32155 {-1}, {-1}, {-1}, {-1}, 32156 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1797, 230}, 32157 {-1}, {-1}, {-1}, {-1}, 32158 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1802, 297}, 32159 {-1}, 32160 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1804, 174}, 32161 {-1}, {-1}, 32162 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1807, 87}, 32163 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32164 {-1}, {-1}, {-1}, {-1}, {-1}, 32165 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1822, 300}, 32166 {-1}, 32167 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1824, 340}, 32168 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32169 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1831, 268}, 32170 {-1}, {-1}, {-1}, 32171 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1835, 83}, 32172 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1836, 90}, 32173 {-1}, {-1}, {-1}, {-1}, 32174 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1841, 269}, 32175 {-1}, 32176 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1843, 46}, 32177 {-1}, {-1}, 32178 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1846, 83}, 32179 {-1}, {-1}, 32180 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1849, 478}, 32181 {-1}, {-1}, 32182 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1852, 84}, 32183 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1853, 310}, 32184 {-1}, {-1}, {-1}, {-1}, {-1}, 32185 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1859, 71}, 32186 {-1}, {-1}, {-1}, {-1}, {-1}, 32187 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1865, 90}, 32188 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1866, 301}, 32189 {-1}, {-1}, 32190 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1869, 142}, 32191 {-1}, 32192 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1871, 171}, 32193 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1872, 122}, 32194 {-1}, 32195 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1874, 290}, 32196 {-1}, {-1}, {-1}, 32197 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1878, 464}, 32198 {-1}, 32199 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1880, 142}, 32200 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32201 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32202 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1899, 318}, 32203 {-1}, {-1}, {-1}, {-1}, 32204 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1904, 118}, 32205 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32206 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1912, 409}, 32207 {-1}, {-1}, 32208 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1915, 293}, 32209 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1916, 58}, 32210 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1917, 70}, 32211 {-1}, 32212 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1919, 130}, 32213 {-1}, 32214 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1921, 359}, 32215 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32216 {-1}, 32217 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1932, 64}, 32218 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32219 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1942, 460}, 32220 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1943, 395}, 32221 {-1}, {-1}, {-1}, 32222 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1947, 192}, 32223 {-1}, {-1}, {-1}, {-1}, {-1}, 32224 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1953, 31}, 32225 {-1}, {-1}, 32226 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1956, 104}, 32227 {-1}, {-1}, {-1}, {-1}, {-1}, 32228 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1962, 134}, 32229 {-1}, 32230 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1964, 404}, 32231 {-1}, {-1}, 32232 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1967, 61}, 32233 {-1}, {-1}, {-1}, 32234 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1971, 115}, 32235 {-1}, {-1}, {-1}, {-1}, 32236 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1976, 345}, 32237 {-1}, {-1}, {-1}, 32238 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1980, 303}, 32239 {-1}, {-1}, {-1}, {-1}, {-1}, 32240 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1986, 214}, 32241 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32242 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1994, 351}, 32243 {-1}, {-1}, 32244 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1997, 108}, 32245 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str1998, 38}, 32246 {-1}, {-1}, {-1}, 32247 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2002, 30}, 32248 {-1}, {-1}, {-1}, {-1}, 32249 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2007, 482}, 32250 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2008, 354}, 32251 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32252 {-1}, {-1}, {-1}, 32253 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2021, 203}, 32254 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32255 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2028, 452}, 32256 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32257 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32258 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2046, 139}, 32259 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2047, 139}, 32260 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2048, 32}, 32261 {-1}, {-1}, {-1}, {-1}, 32262 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2053, 45}, 32263 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32264 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2061, 47}, 32265 {-1}, 32266 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2063, 400}, 32267 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32268 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2071, 207}, 32269 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2072, 48}, 32270 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2073, 251}, 32271 {-1}, 32272 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2075, 134}, 32273 {-1}, {-1}, {-1}, {-1}, 32274 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2080, 100}, 32275 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32276 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2088, 181}, 32277 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32278 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2096, 125}, 32279 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32280 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2105, 427}, 32281 {-1}, {-1}, {-1}, {-1}, 32282 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2110, 191}, 32283 {-1}, {-1}, 32284 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2113, 10}, 32285 {-1}, {-1}, 32286 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2116, 176}, 32287 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32288 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2123, 97}, 32289 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32290 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2131, 86}, 32291 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32292 {-1}, 32293 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2142, 72}, 32294 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32295 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2152, 86}, 32296 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2153, 207}, 32297 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32298 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32299 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32300 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32301 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2189, 104}, 32302 {-1}, {-1}, {-1}, {-1}, 32303 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2194, 29}, 32304 {-1}, {-1}, {-1}, 32305 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2198, 336}, 32306 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32307 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32308 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32309 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2224, 22}, 32310 {-1}, {-1}, 32311 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2227, 220}, 32312 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32313 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2237, 33}, 32314 {-1}, {-1}, {-1}, 32315 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2241, 216}, 32316 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2242, 377}, 32317 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32318 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2252, 164}, 32319 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32320 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32321 {-1}, {-1}, 32322 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2273, 343}, 32323 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32324 {-1}, {-1}, {-1}, {-1}, 32325 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2287, 189}, 32326 {-1}, {-1}, 32327 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2290, 115}, 32328 {-1}, 32329 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2292, 182}, 32330 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32331 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32332 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2311, 108}, 32333 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32334 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2318, 146}, 32335 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32336 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2326, 117}, 32337 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32338 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32339 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2343, 348}, 32340 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32341 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32342 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32343 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32344 {-1}, {-1}, 32345 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2382, 356}, 32346 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32347 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32348 {-1}, {-1}, {-1}, {-1}, {-1}, 32349 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2406, 228}, 32350 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32351 {-1}, 32352 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2417, 349}, 32353 {-1}, {-1}, {-1}, 32354 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2421, 392}, 32355 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32356 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2431, 499}, 32357 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32358 {-1}, {-1}, {-1}, {-1}, 32359 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2445, 216}, 32360 {-1}, {-1}, {-1}, 32361 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2449, 166}, 32362 {-1}, {-1}, {-1}, {-1}, 32363 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2454, 391}, 32364 {-1}, {-1}, 32365 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2457, 306}, 32366 {-1}, {-1}, {-1}, {-1}, 32367 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2462, 369}, 32368 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32369 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32370 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32371 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32372 {-1}, {-1}, {-1}, 32373 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2502, 500}, 32374 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32375 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32376 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32377 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2527, 15}, 32378 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32379 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2534, 136}, 32380 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32381 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32382 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32383 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2562, 127}, 32384 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32385 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2570, 453}, 32386 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2571, 89}, 32387 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32388 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2579, 62}, 32389 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32390 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2588, 76}, 32391 {-1}, {-1}, 32392 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2591, 85}, 32393 {-1}, {-1}, {-1}, 32394 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2595, 53}, 32395 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32396 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32397 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2613, 127}, 32398 {-1}, {-1}, {-1}, 32399 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2617, 365}, 32400 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32401 {-1}, {-1}, {-1}, {-1}, 32402 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2631, 154}, 32403 {-1}, {-1}, 32404 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2634, 196}, 32405 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32406 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2643, 231}, 32407 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32408 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32409 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32410 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32411 {-1}, {-1}, {-1}, {-1}, {-1}, 32412 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2685, 177}, 32413 {-1}, {-1}, {-1}, 32414 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2689, 463}, 32415 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32416 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32417 {-1}, 32418 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2709, 117}, 32419 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32420 {-1}, {-1}, {-1}, 32421 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2722, 378}, 32422 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32423 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2732, 434}, 32424 {-1}, 32425 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2734, 361}, 32426 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32427 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32428 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32429 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32430 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32431 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32432 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2787, 161}, 32433 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32434 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2795, 204}, 32435 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32436 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32437 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32438 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32439 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32440 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32441 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32442 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32443 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32444 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32445 {-1}, {-1}, {-1}, 32446 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2889, 355}, 32447 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32448 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2898, 204}, 32449 {-1}, {-1}, {-1}, 32450 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2902, 493}, 32451 {-1}, {-1}, {-1}, 32452 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2906, 48}, 32453 {-1}, {-1}, 32454 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2909, 362}, 32455 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32456 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2918, 364}, 32457 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32458 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32459 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32460 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32461 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32462 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32463 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32464 {-1}, {-1}, 32465 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str2984, 107}, 32466 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32467 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32468 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32469 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32470 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32471 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32472 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32473 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32474 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32475 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32476 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32477 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32478 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32479 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32480 {-1}, 32481 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3112, 145}, 32482 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32483 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32484 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32485 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3137, 178}, 32486 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32487 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32488 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32489 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32490 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32491 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32492 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32493 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32494 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32495 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32496 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32497 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32498 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32499 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32500 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32501 {-1}, {-1}, {-1}, {-1}, {-1}, 32502 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3278, 494}, 32503 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32504 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32505 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32506 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32507 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32508 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32509 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32510 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32511 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32512 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3360, 357}, 38045 {uniname2ctype_offset(str3763), 571}, 38046 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38047 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38048 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38049 {uniname2ctype_offset(str3791), 523}, 38050 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38051 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38052 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38053 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38054 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38055 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38056 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32513 38057 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32514 38058 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, … … 32525 38069 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32526 38070 #ifndef USE_UNICODE_PROPERTIES 32527 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str6, 12}, 32528 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str7, 7}, 32529 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str8, 8}, 32530 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str9, 1}, 32531 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str10, 13}, 32532 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str11, 11}, 32533 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str12, 10}, 32534 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str13, 14}, 32535 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str14, 3}, 32536 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str15, 9}, 32537 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str16, 6}, 32538 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str17, 5}, 32539 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str18, 4}, 32540 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str19, 2} 38071 {uniname2ctype_offset(str6), 12}, 38072 {uniname2ctype_offset(str7), 7}, 38073 {uniname2ctype_offset(str8), 15}, 38074 {uniname2ctype_offset(str9), 1}, 38075 {uniname2ctype_offset(str10), 13}, 38076 {uniname2ctype_offset(str11), 11}, 38077 {uniname2ctype_offset(str12), 10}, 38078 {uniname2ctype_offset(str13), 14}, 38079 {uniname2ctype_offset(str14), 3}, 38080 {uniname2ctype_offset(str15), 9}, 38081 {uniname2ctype_offset(str16), 8}, 38082 {uniname2ctype_offset(str17), 6}, 38083 {uniname2ctype_offset(str18), 5}, 38084 {uniname2ctype_offset(str19), 4}, 38085 {uniname2ctype_offset(str20), 2} 32541 38086 #else /* USE_UNICODE_PROPERTIES */ 32542 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3466, 182}, 32543 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32544 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32545 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32546 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32547 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32548 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32549 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32550 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32551 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32552 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32553 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32554 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32555 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32556 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32557 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32558 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32559 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32560 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32561 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32562 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32563 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32564 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32565 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32566 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32567 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32568 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32569 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32570 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32571 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32572 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32573 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32574 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38087 {uniname2ctype_offset(str3960), 147}, 38088 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38089 {-1}, 38090 {uniname2ctype_offset(str3971), 401}, 38091 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38092 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38093 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38094 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38095 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38096 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38097 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38098 {-1}, 38099 {uniname2ctype_offset(str4036), 90}, 38100 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38101 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38102 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38103 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38104 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38105 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38106 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38107 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38108 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38109 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38110 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38111 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38112 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38113 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38114 {-1}, 38115 {uniname2ctype_offset(str4164), 116}, 32575 38116 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32576 38117 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32577 38118 {-1}, {-1}, {-1}, {-1}, 32578 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3777, 74}, 32579 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3778, 154}, 32580 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32581 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32582 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32583 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32584 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38119 {uniname2ctype_offset(str4187), 116}, 38120 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38121 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38122 {-1}, {-1}, 38123 {uniname2ctype_offset(str4208), 233}, 38124 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38125 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38126 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38127 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38128 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38129 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38130 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38131 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38132 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38133 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38134 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38135 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38136 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38137 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38138 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38139 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38140 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38141 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38142 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38143 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38144 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38145 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38146 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38147 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38148 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38149 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38150 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38151 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38152 {uniname2ctype_offset(str4460), 237}, 32585 38153 {-1}, {-1}, {-1}, 32586 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3827, 492}, 38154 {uniname2ctype_offset(str4464), 374}, 38155 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38156 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38157 {uniname2ctype_offset(str4483), 182}, 38158 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38159 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38160 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38161 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38162 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38163 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38164 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38165 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38166 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38167 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38168 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38169 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38170 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38171 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38172 {uniname2ctype_offset(str4608), 439}, 38173 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38174 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38175 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38176 {uniname2ctype_offset(str4634), 205}, 38177 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38178 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38179 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38180 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38181 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38182 {uniname2ctype_offset(str4678), 75}, 38183 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38184 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38185 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38186 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38187 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38188 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38189 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38190 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38191 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38192 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38193 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38194 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38195 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38196 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38197 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38198 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38199 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38200 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38201 {uniname2ctype_offset(str4841), 155}, 38202 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38203 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38204 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38205 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38206 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38207 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38208 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38209 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38210 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38211 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38212 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38213 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38214 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38215 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38216 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38217 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38218 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38219 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38220 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38221 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38222 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38223 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38224 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38225 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38226 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38227 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38228 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38229 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38230 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38231 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32587 38232 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32588 38233 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, … … 32592 38237 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32593 38238 {-1}, {-1}, {-1}, {-1}, 32594 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3886, 166}, 32595 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32596 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32597 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32598 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32599 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32600 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32601 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3941, 2}, 32602 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32603 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32604 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32605 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32606 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32607 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32608 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str3995, 328}, 38239 {uniname2ctype_offset(str5170), 80}, 38240 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38241 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38242 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38243 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38244 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38245 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38246 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38247 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38248 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38249 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38250 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38251 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38252 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38253 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38254 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38255 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38256 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38257 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38258 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38259 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38260 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38261 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38262 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38263 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38264 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38265 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38266 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38267 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38268 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38269 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38270 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38271 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38272 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38273 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38274 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38275 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38276 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38277 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38278 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38279 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38280 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38281 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38282 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38283 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38284 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38285 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38286 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38287 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38288 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38289 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38290 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38291 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38292 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38293 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38294 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38295 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38296 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38297 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38298 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38299 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38300 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38301 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38302 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38303 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38304 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38305 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38306 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38307 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38308 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38309 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38310 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38311 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38312 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38313 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38314 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38315 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38316 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38317 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38318 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38319 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38320 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38321 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38322 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38323 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38324 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38325 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38326 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38327 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38328 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38329 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38330 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38331 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38332 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38333 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38334 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38335 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38336 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38337 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38338 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38339 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38340 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38341 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38342 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38343 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 38344 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32609 38345 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32610 38346 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32611 38347 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32612 38348 {-1}, {-1}, 32613 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str4025, 76}, 32614 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32615 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str4035, 85}, 32616 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32617 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32618 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32619 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32620 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32621 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32622 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32623 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32624 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32625 {-1}, {-1}, {-1}, {-1}, {-1}, 32626 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str4122, 73}, 32627 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32628 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32629 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32630 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32631 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32632 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32633 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32634 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32635 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32636 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32637 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32638 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32639 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32640 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32641 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32642 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32643 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32644 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32645 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32646 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32647 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32648 {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, 32649 {-1}, 32650 {(int)(long)&((struct uniname2ctype_pool_t *)0)->uniname2ctype_pool_str4322, 73} 38349 {uniname2ctype_offset(str6145), 155} 32651 38350 #endif /* USE_UNICODE_PROPERTIES */ 32652 38351 }; … … 32678 38377 return -1; 32679 38378 } 38379 #if defined ONIG_UNICODE_VERSION_STRING && !( \ 38380 ONIG_UNICODE_VERSION_MAJOR == 10 && \ 38381 ONIG_UNICODE_VERSION_MINOR == 0 && \ 38382 ONIG_UNICODE_VERSION_TEENY == 0 && \ 38383 1) 38384 # error ONIG_UNICODE_VERSION_STRING mismatch 38385 #endif 38386 #define ONIG_UNICODE_VERSION_STRING "10.0.0" 38387 #define ONIG_UNICODE_VERSION_MAJOR 10 38388 #define ONIG_UNICODE_VERSION_MINOR 0 38389 #define ONIG_UNICODE_VERSION_TEENY 0 -
EcnlProtoTool/trunk/onigmo-6.1.3/src/enc/utf_8.c
r321 r331 1 1 /********************************************************************** 2 utf 8.c - Oniguruma (regular expression library)2 utf_8.c - Oniguruma (regular expression library) 3 3 **********************************************************************/ 4 4 /*- … … 29 29 30 30 #include "regenc.h" 31 #ifdef RUBY 32 # include "encindex.h" 33 #endif 34 35 #ifndef ENCINDEX_UTF_8 36 # define ENCINDEX_UTF_8 0 37 #endif 31 38 32 39 #define USE_INVALID_CODE_SCHEME … … 34 41 #ifdef USE_INVALID_CODE_SCHEME 35 42 /* virtual codepoint values for invalid encoding byte 0xfe and 0xff */ 36 # define INVALID_CODE_FE0xfffffffe37 # define INVALID_CODE_FF0xffffffff38 # define VALID_CODE_LIMIT 0x7fffffff39 # endif43 # define INVALID_CODE_FE 0xfffffffe 44 # define INVALID_CODE_FF 0xffffffff 45 #endif 46 #define VALID_CODE_LIMIT 0x0010ffff 40 47 41 48 #define utf8_islead(c) ((UChar )((c) & 0xc0) != 0x80) … … 57 64 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 58 65 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 59 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 1, 166 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 60 67 }; 61 68 62 static int 63 mbc_enc_len(const UChar* p) 64 { 65 return EncLen_UTF8[*p]; 66 } 67 68 static int 69 is_mbc_newline(const UChar* p, const UChar* end) 69 typedef enum { 70 FAILURE = -2, 71 ACCEPT, 72 S0, S1, S2, S3, 73 S4, S5, S6, S7 74 } state_t; 75 #define A ACCEPT 76 #define F FAILURE 77 static const signed char trans[][0x100] = { 78 { /* S0 0 1 2 3 4 5 6 7 8 9 a b c d e f */ 79 /* 0 */ A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, 80 /* 1 */ A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, 81 /* 2 */ A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, 82 /* 3 */ A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, 83 /* 4 */ A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, 84 /* 5 */ A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, 85 /* 6 */ A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, 86 /* 7 */ A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, 87 /* 8 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 88 /* 9 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 89 /* a */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 90 /* b */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 91 /* c */ F, F, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 92 /* d */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 93 /* e */ 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 94 /* f */ 5, 6, 6, 6, 7, F, F, F, F, F, F, F, F, F, F, F 95 }, 96 { /* S1 0 1 2 3 4 5 6 7 8 9 a b c d e f */ 97 /* 0 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 98 /* 1 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 99 /* 2 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 100 /* 3 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 101 /* 4 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 102 /* 5 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 103 /* 6 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 104 /* 7 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 105 /* 8 */ A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, 106 /* 9 */ A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, 107 /* a */ A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, 108 /* b */ A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, A, 109 /* c */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 110 /* d */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 111 /* e */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 112 /* f */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F 113 }, 114 { /* S2 0 1 2 3 4 5 6 7 8 9 a b c d e f */ 115 /* 0 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 116 /* 1 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 117 /* 2 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 118 /* 3 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 119 /* 4 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 120 /* 5 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 121 /* 6 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 122 /* 7 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 123 /* 8 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 124 /* 9 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 125 /* a */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 126 /* b */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 127 /* c */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 128 /* d */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 129 /* e */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 130 /* f */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F 131 }, 132 { /* S3 0 1 2 3 4 5 6 7 8 9 a b c d e f */ 133 /* 0 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 134 /* 1 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 135 /* 2 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 136 /* 3 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 137 /* 4 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 138 /* 5 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 139 /* 6 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 140 /* 7 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 141 /* 8 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 142 /* 9 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 143 /* a */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 144 /* b */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 145 /* c */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 146 /* d */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 147 /* e */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 148 /* f */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F 149 }, 150 { /* S4 0 1 2 3 4 5 6 7 8 9 a b c d e f */ 151 /* 0 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 152 /* 1 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 153 /* 2 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 154 /* 3 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 155 /* 4 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 156 /* 5 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 157 /* 6 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 158 /* 7 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 159 /* 8 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 160 /* 9 */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 161 /* a */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 162 /* b */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 163 /* c */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 164 /* d */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 165 /* e */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 166 /* f */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F 167 }, 168 { /* S5 0 1 2 3 4 5 6 7 8 9 a b c d e f */ 169 /* 0 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 170 /* 1 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 171 /* 2 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 172 /* 3 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 173 /* 4 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 174 /* 5 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 175 /* 6 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 176 /* 7 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 177 /* 8 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 178 /* 9 */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 179 /* a */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 180 /* b */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 181 /* c */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 182 /* d */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 183 /* e */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 184 /* f */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F 185 }, 186 { /* S6 0 1 2 3 4 5 6 7 8 9 a b c d e f */ 187 /* 0 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 188 /* 1 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 189 /* 2 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 190 /* 3 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 191 /* 4 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 192 /* 5 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 193 /* 6 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 194 /* 7 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 195 /* 8 */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 196 /* 9 */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 197 /* a */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 198 /* b */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 199 /* c */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 200 /* d */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 201 /* e */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 202 /* f */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F 203 }, 204 { /* S7 0 1 2 3 4 5 6 7 8 9 a b c d e f */ 205 /* 0 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 206 /* 1 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 207 /* 2 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 208 /* 3 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 209 /* 4 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 210 /* 5 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 211 /* 6 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 212 /* 7 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 213 /* 8 */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 214 /* 9 */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 215 /* a */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 216 /* b */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 217 /* c */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 218 /* d */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 219 /* e */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, 220 /* f */ F, F, F, F, F, F, F, F, F, F, F, F, F, F, F, F 221 }, 222 }; 223 #undef A 224 #undef F 225 226 static int 227 mbc_enc_len(const UChar* p, const UChar* e, OnigEncoding enc ARG_UNUSED) 228 { 229 int firstbyte = *p++; 230 state_t s; 231 s = trans[0][firstbyte]; 232 if (s < 0) return s == ACCEPT ? ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND(1) : 233 ONIGENC_CONSTRUCT_MBCLEN_INVALID(); 234 235 if (p == e) return ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE(EncLen_UTF8[firstbyte]-1); 236 s = trans[s][*p++]; 237 if (s < 0) return s == ACCEPT ? ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND(2) : 238 ONIGENC_CONSTRUCT_MBCLEN_INVALID(); 239 240 if (p == e) return ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE(EncLen_UTF8[firstbyte]-2); 241 s = trans[s][*p++]; 242 if (s < 0) return s == ACCEPT ? ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND(3) : 243 ONIGENC_CONSTRUCT_MBCLEN_INVALID(); 244 245 if (p == e) return ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE(EncLen_UTF8[firstbyte]-3); 246 s = trans[s][*p++]; 247 return s == ACCEPT ? ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND(4) : 248 ONIGENC_CONSTRUCT_MBCLEN_INVALID(); 249 } 250 251 static int 252 is_mbc_newline(const UChar* p, const UChar* end, OnigEncoding enc) 70 253 { 71 254 if (p < end) { … … 90 273 91 274 static OnigCodePoint 92 mbc_to_code(const UChar* p, const UChar* end ARG_UNUSED)275 mbc_to_code(const UChar* p, const UChar* end, OnigEncoding enc) 93 276 { 94 277 int c, len; 95 278 OnigCodePoint n; 96 279 97 len = mbc_enc_len(p );280 len = mbc_enc_len(p, end, enc); 98 281 c = *p++; 99 282 if (len > 1) { … … 117 300 118 301 static int 119 code_to_mbclen(OnigCodePoint code )302 code_to_mbclen(OnigCodePoint code, OnigEncoding enc ARG_UNUSED) 120 303 { 121 304 if ((code & 0xffffff80) == 0) return 1; 122 305 else if ((code & 0xfffff800) == 0) return 2; 123 306 else if ((code & 0xffff0000) == 0) return 3; 124 else if ((code & 0xffe00000) == 0) return 4; 125 else if ((code & 0xfc000000) == 0) return 5; 126 else if ((code & 0x80000000) == 0) return 6; 307 else if (code <= VALID_CODE_LIMIT) return 4; 127 308 #ifdef USE_INVALID_CODE_SCHEME 128 309 else if (code == INVALID_CODE_FE) return 1; … … 130 311 #endif 131 312 else 132 return ONIGERR_ INVALID_CODE_POINT_VALUE;133 } 134 135 static int 136 code_to_mbc(OnigCodePoint code, UChar *buf )313 return ONIGERR_TOO_BIG_WIDE_CHAR_VALUE; 314 } 315 316 static int 317 code_to_mbc(OnigCodePoint code, UChar *buf, OnigEncoding enc ARG_UNUSED) 137 318 { 138 319 #define UTF8_TRAILS(code, shift) (UChar )((((code) >> (shift)) & 0x3f) | 0x80) … … 153 334 *p++ = UTF8_TRAILS(code, 6); 154 335 } 155 else if ( (code & 0xffe00000) == 0) {336 else if (code <= VALID_CODE_LIMIT) { 156 337 *p++ = (UChar )(((code>>18) & 0x07) | 0xf0); 157 *p++ = UTF8_TRAILS(code, 12);158 *p++ = UTF8_TRAILS(code, 6);159 }160 else if ((code & 0xfc000000) == 0) {161 *p++ = (UChar )(((code>>24) & 0x03) | 0xf8);162 *p++ = UTF8_TRAILS(code, 18);163 *p++ = UTF8_TRAILS(code, 12);164 *p++ = UTF8_TRAILS(code, 6);165 }166 else if ((code & 0x80000000) == 0) {167 *p++ = (UChar )(((code>>30) & 0x01) | 0xfc);168 *p++ = UTF8_TRAILS(code, 24);169 *p++ = UTF8_TRAILS(code, 18);170 338 *p++ = UTF8_TRAILS(code, 12); 171 339 *p++ = UTF8_TRAILS(code, 6); … … 192 360 static int 193 361 mbc_case_fold(OnigCaseFoldType flag, const UChar** pp, 194 const UChar* end, UChar* fold )362 const UChar* end, UChar* fold, OnigEncoding enc) 195 363 { 196 364 const UChar* p = *pp; … … 213 381 } 214 382 else { 215 return onigenc_unicode_mbc_case_fold(ONIG_ENCODING_UTF8, flag, 216 pp, end, fold); 217 } 218 } 219 220 #if 0 221 static int 222 is_mbc_ambiguous(OnigCaseFoldType flag, const UChar** pp, const UChar* end) 223 { 224 const UChar* p = *pp; 225 226 if (ONIGENC_IS_MBC_ASCII(p)) { 227 (*pp)++; 228 return ONIGENC_IS_ASCII_CODE_CASE_AMBIG(*p); 229 } 230 else { 231 (*pp) += mbc_enc_len(p); 232 233 if (*p == 0xc3) { 234 int c = *(p + 1); 235 if (c >= 0x80) { 236 if (c <= (UChar )0x9e) { /* upper */ 237 if (c == (UChar )0x97) return FALSE; 238 return TRUE; 239 } 240 else if (c >= (UChar )0xa0 && c <= (UChar )0xbe) { /* lower */ 241 if (c == (UChar )'\267') return FALSE; 242 return TRUE; 243 } 244 else if (c == (UChar )0x9f && 245 (flag & INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR) != 0) { 246 return TRUE; 247 } 248 } 249 } 250 } 251 252 return FALSE; 253 } 254 #endif 383 return onigenc_unicode_mbc_case_fold(enc, flag, pp, end, fold); 384 } 385 } 255 386 256 387 257 388 static int 258 389 get_ctype_code_range(OnigCtype ctype, OnigCodePoint *sb_out, 259 const OnigCodePoint* ranges[] )390 const OnigCodePoint* ranges[], OnigEncoding enc ARG_UNUSED) 260 391 { 261 392 *sb_out = 0x80; … … 265 396 266 397 static UChar* 267 left_adjust_char_head(const UChar* start, const UChar* s )398 left_adjust_char_head(const UChar* start, const UChar* s, const UChar* end, OnigEncoding enc ARG_UNUSED) 268 399 { 269 400 const UChar *p; … … 278 409 static int 279 410 get_case_fold_codes_by_str(OnigCaseFoldType flag, 280 const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem items[] )281 { 282 return onigenc_unicode_get_case_fold_codes_by_str(ONIG_ENCODING_UTF8, 283 284 } 285 286 OnigEncoding Type OnigEncodingUTF8= {411 const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem items[], 412 OnigEncoding enc) 413 { 414 return onigenc_unicode_get_case_fold_codes_by_str(enc, flag, p, end, items); 415 } 416 417 OnigEncodingDefine(utf_8, UTF_8) = { 287 418 mbc_enc_len, 288 419 "UTF-8", /* name */ 289 6, /* max byte length */420 4, /* max byte length */ 290 421 1, /* min byte length */ 291 422 is_mbc_newline, … … 301 432 left_adjust_char_head, 302 433 onigenc_always_true_is_allowed_reverse_match, 434 onigenc_unicode_case_map, 435 ENCINDEX_UTF_8, 303 436 ONIGENC_FLAG_UNICODE, 304 437 }; 438 ENC_ALIAS("CP65001", "UTF-8") 439 440 /* 441 * Name: UTF8-MAC 442 * Link: http://developer.apple.com/documentation/MacOSX/Conceptual/BPFileSystem/BPFileSystem.html 443 * Link: http://developer.apple.com/qa/qa2001/qa1235.html 444 * Link: http://developer.apple.com/jp/qa/qa2001/qa1235.html 445 * Link: http://www.gnu.org/software/emacs/NEWS.23.2 446 */ 447 ENC_REPLICATE("UTF8-MAC", "UTF-8") 448 ENC_ALIAS("UTF-8-MAC", "UTF8-MAC") 449 ENC_ALIAS("UTF-8-HFS", "UTF8-MAC") /* Emacs 23.2 */ -
EcnlProtoTool/trunk/onigmo-6.1.3/src/onigmo.h
r321 r331 1 #ifndef ONIG URUMA_H2 #define ONIG URUMA_H1 #ifndef ONIGMO_H 2 #define ONIGMO_H 3 3 /********************************************************************** 4 onig uruma.h - Onigmo (Oniguruma-mod) (regular expression library)4 onigmo.h - Onigmo (Oniguruma-mod) (regular expression library) 5 5 **********************************************************************/ 6 6 /*- 7 7 * Copyright (c) 2002-2009 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 8 * Copyright (c) 2011-201 4K.Takata <kentkt AT csc DOT jp>8 * Copyright (c) 2011-2017 K.Takata <kentkt AT csc DOT jp> 9 9 * All rights reserved. 10 10 * … … 33 33 #ifdef __cplusplus 34 34 extern "C" { 35 #endif 36 37 #define ONIGURUMA 38 #define ONIGURUMA_VERSION_MAJOR 5 39 #define ONIGURUMA_VERSION_MINOR 15 40 #define ONIGURUMA_VERSION_TEENY 0 41 42 #ifdef __cplusplus 43 # ifndef HAVE_PROTOTYPES 44 # define HAVE_PROTOTYPES 1 45 # endif 46 # ifndef HAVE_STDARG_PROTOTYPES 47 # define HAVE_STDARG_PROTOTYPES 1 35 # if 0 36 } /* satisfy cc-mode */ 48 37 # endif 49 38 #endif 50 39 51 /* escape Mac OS X/Xcode 2.4/gcc 4.0.1 problem */ 52 #if defined(__APPLE__) && defined(__GNUC__) && __GNUC__ >= 4 53 # ifndef HAVE_STDARG_PROTOTYPES 54 # define HAVE_STDARG_PROTOTYPES 1 40 #define ONIGMO_VERSION_MAJOR 6 41 #define ONIGMO_VERSION_MINOR 1 42 #define ONIGMO_VERSION_TEENY 3 43 44 #ifndef ONIG_EXTERN 45 # ifdef RUBY_EXTERN 46 # define ONIG_EXTERN RUBY_EXTERN 47 # else 48 # if defined(_WIN32) && !defined(__GNUC__) 49 # if defined(EXPORT) || defined(RUBY_EXPORT) 50 # define ONIG_EXTERN extern __declspec(dllexport) 51 # else 52 # define ONIG_EXTERN extern __declspec(dllimport) 53 # endif 54 # endif 55 55 # endif 56 56 #endif 57 57 58 #if defined(HAVE_STDARG_H) || defined(_WIN32) 59 # ifndef HAVE_STDARG_PROTOTYPES 60 # define HAVE_STDARG_PROTOTYPES 1 58 #ifndef ONIG_EXTERN 59 # define ONIG_EXTERN extern 60 #endif 61 62 #ifndef RUBY 63 # ifndef RUBY_SYMBOL_EXPORT_BEGIN 64 # define RUBY_SYMBOL_EXPORT_BEGIN 65 # define RUBY_SYMBOL_EXPORT_END 61 66 # endif 62 67 #endif 63 68 64 #ifndef P_ 65 #if defined(__STDC__) || defined(_WIN32) 66 # define P_(args) args 67 #else 68 # define P_(args) () 69 #endif 70 #endif 71 72 #ifndef PV_ 73 #ifdef HAVE_STDARG_PROTOTYPES 74 # define PV_(args) args 75 #else 76 # define PV_(args) () 77 #endif 78 #endif 79 80 #ifndef ONIG_EXTERN 81 #if defined(_WIN32) && !defined(__GNUC__) 82 #if defined(EXPORT) || defined(RUBY_EXPORT) 83 #define ONIG_EXTERN extern __declspec(dllexport) 84 #else 85 #define ONIG_EXTERN extern __declspec(dllimport) 86 #endif 87 #endif 88 #endif 89 90 #ifndef ONIG_EXTERN 91 #define ONIG_EXTERN extern 92 #endif 69 RUBY_SYMBOL_EXPORT_BEGIN 93 70 94 71 #include <stddef.h> /* for size_t */ … … 97 74 98 75 #ifndef ONIG_ESCAPE_UCHAR_COLLISION 99 # define UChar OnigUChar76 # define UChar OnigUChar 100 77 #endif 101 78 … … 108 85 #define ONIG_INFINITE_DISTANCE ~((OnigDistance )0) 109 86 87 /* 88 * Onig casefold/case mapping flags and related definitions 89 * 90 * Subfields (starting with 0 at LSB): 91 * 0-2: Code point count in casefold.h 92 * 3-12: Index into SpecialCaseMapping array in casefold.h 93 * 13-22: Case folding/mapping flags 94 */ 110 95 typedef unsigned int OnigCaseFoldType; /* case fold flag */ 111 96 112 97 ONIG_EXTERN OnigCaseFoldType OnigDefaultCaseFoldFlag; 113 98 114 /* #define ONIGENC_CASE_FOLD_HIRAGANA_KATAKANA (1<<1) */ 115 /* #define ONIGENC_CASE_FOLD_KATAKANA_WIDTH (1<<2) */ 116 #define ONIGENC_CASE_FOLD_TURKISH_AZERI (1<<20) 117 #define INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR (1<<30) 99 /* bits for actual code point count; 3 bits is more than enough, currently only 2 used */ 100 #define OnigCodePointMaskWidth 3 101 #define OnigCodePointMask ((1<<OnigCodePointMaskWidth)-1) 102 #define OnigCodePointCount(n) ((n)&OnigCodePointMask) 103 #define OnigCaseFoldFlags(n) ((n)&~OnigCodePointMask) 104 105 /* #define ONIGENC_CASE_FOLD_HIRAGANA_KATAKANA (1<<1) */ /* no longer usable with these values! */ 106 /* #define ONIGENC_CASE_FOLD_KATAKANA_WIDTH (1<<2) */ /* no longer usable with these values! */ 107 108 /* bits for index into table with separate titlecase mappings */ 109 /* 10 bits provide 1024 values */ 110 #define OnigSpecialIndexShift 3 111 #define OnigSpecialIndexWidth 10 112 113 #define ONIGENC_CASE_UPCASE (1<<13) /* has/needs uppercase mapping */ 114 #define ONIGENC_CASE_DOWNCASE (1<<14) /* has/needs lowercase mapping */ 115 #define ONIGENC_CASE_TITLECASE (1<<15) /* has/needs (special) titlecase mapping */ 116 #define ONIGENC_CASE_SPECIAL_OFFSET 3 /* offset in bits from ONIGENC_CASE to ONIGENC_CASE_SPECIAL */ 117 #define ONIGENC_CASE_UP_SPECIAL (1<<16) /* has special upcase mapping */ 118 #define ONIGENC_CASE_DOWN_SPECIAL (1<<17) /* has special downcase mapping */ 119 #define ONIGENC_CASE_MODIFIED (1<<18) /* data has been modified */ 120 #define ONIGENC_CASE_FOLD (1<<19) /* has/needs case folding */ 121 122 #define ONIGENC_CASE_FOLD_TURKISH_AZERI (1<<20) /* needs mapping specific to Turkic languages; better not change original value! */ 123 124 #define ONIGENC_CASE_FOLD_LITHUANIAN (1<<21) /* needs Lithuanian-specific mapping */ 125 #define ONIGENC_CASE_ASCII_ONLY (1<<22) /* only modify ASCII range */ 126 #define ONIGENC_CASE_IS_TITLECASE (1<<23) /* character itself is already titlecase */ 127 128 #define INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR (1<<30) /* better not change original value! */ 118 129 119 130 #define ONIGENC_CASE_FOLD_MIN INTERNAL_ONIGENC_CASE_FOLD_MULTI_CHAR … … 148 159 149 160 typedef struct OnigEncodingTypeST { 150 int (* mbc_enc_len)(const OnigUChar* p);161 int (*precise_mbc_enc_len)(const OnigUChar* p,const OnigUChar* e, const struct OnigEncodingTypeST* enc); 151 162 const char* name; 152 163 int max_enc_len; 153 164 int min_enc_len; 154 int (*is_mbc_newline)(const OnigUChar* p, const OnigUChar* end); 155 OnigCodePoint (*mbc_to_code)(const OnigUChar* p, const OnigUChar* end); 156 int (*code_to_mbclen)(OnigCodePoint code); 157 int (*code_to_mbc)(OnigCodePoint code, OnigUChar *buf); 158 int (*mbc_case_fold)(OnigCaseFoldType flag, const OnigUChar** pp, const OnigUChar* end, OnigUChar* to); 159 int (*apply_all_case_fold)(OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void* arg); 160 int (*get_case_fold_codes_by_str)(OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem acs[]); 161 int (*property_name_to_ctype)(struct OnigEncodingTypeST* enc, OnigUChar* p, OnigUChar* end); 162 int (*is_code_ctype)(OnigCodePoint code, OnigCtype ctype); 163 int (*get_ctype_code_range)(OnigCtype ctype, OnigCodePoint* sb_out, const OnigCodePoint* ranges[]); 164 OnigUChar* (*left_adjust_char_head)(const OnigUChar* start, const OnigUChar* p); 165 int (*is_allowed_reverse_match)(const OnigUChar* p, const OnigUChar* end); 165 int (*is_mbc_newline)(const OnigUChar* p, const OnigUChar* end, const struct OnigEncodingTypeST* enc); 166 OnigCodePoint (*mbc_to_code)(const OnigUChar* p, const OnigUChar* end, const struct OnigEncodingTypeST* enc); 167 int (*code_to_mbclen)(OnigCodePoint code, const struct OnigEncodingTypeST* enc); 168 int (*code_to_mbc)(OnigCodePoint code, OnigUChar *buf, const struct OnigEncodingTypeST* enc); 169 int (*mbc_case_fold)(OnigCaseFoldType flag, const OnigUChar** pp, const OnigUChar* end, OnigUChar* to, const struct OnigEncodingTypeST* enc); 170 int (*apply_all_case_fold)(OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void* arg, const struct OnigEncodingTypeST* enc); 171 int (*get_case_fold_codes_by_str)(OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem acs[], const struct OnigEncodingTypeST* enc); 172 int (*property_name_to_ctype)(const struct OnigEncodingTypeST* enc, const OnigUChar* p, const OnigUChar* end); 173 int (*is_code_ctype)(OnigCodePoint code, OnigCtype ctype, const struct OnigEncodingTypeST* enc); 174 int (*get_ctype_code_range)(OnigCtype ctype, OnigCodePoint* sb_out, const OnigCodePoint* ranges[], const struct OnigEncodingTypeST* enc); 175 OnigUChar* (*left_adjust_char_head)(const OnigUChar* start, const OnigUChar* p, const OnigUChar* end, const struct OnigEncodingTypeST* enc); 176 int (*is_allowed_reverse_match)(const OnigUChar* p, const OnigUChar* end, const struct OnigEncodingTypeST* enc); 177 int (*case_map)(OnigCaseFoldType* flagP, const OnigUChar** pp, const OnigUChar* end, OnigUChar* to, OnigUChar* to_end, const struct OnigEncodingTypeST* enc); 178 int ruby_encoding_index; 166 179 unsigned int flags; 167 180 } OnigEncodingType; 168 181 169 typedef OnigEncodingType* OnigEncoding; 170 171 ONIG_EXTERN OnigEncodingType OnigEncodingASCII; 172 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_1; 173 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_2; 174 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_3; 175 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_4; 176 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_5; 177 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_6; 178 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_7; 179 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_8; 180 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_9; 181 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_10; 182 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_11; 183 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_13; 184 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_14; 185 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_15; 186 ONIG_EXTERN OnigEncodingType OnigEncodingISO_8859_16; 187 ONIG_EXTERN OnigEncodingType OnigEncodingUTF8; 188 ONIG_EXTERN OnigEncodingType OnigEncodingUTF16_BE; 189 ONIG_EXTERN OnigEncodingType OnigEncodingUTF16_LE; 190 ONIG_EXTERN OnigEncodingType OnigEncodingUTF32_BE; 191 ONIG_EXTERN OnigEncodingType OnigEncodingUTF32_LE; 192 ONIG_EXTERN OnigEncodingType OnigEncodingEUC_JP; 193 ONIG_EXTERN OnigEncodingType OnigEncodingEUC_TW; 194 ONIG_EXTERN OnigEncodingType OnigEncodingEUC_KR; 195 ONIG_EXTERN OnigEncodingType OnigEncodingEUC_CN; 196 ONIG_EXTERN OnigEncodingType OnigEncodingSJIS; 197 ONIG_EXTERN OnigEncodingType OnigEncodingCP932; 198 ONIG_EXTERN OnigEncodingType OnigEncodingKOI8; 199 ONIG_EXTERN OnigEncodingType OnigEncodingKOI8_R; 200 ONIG_EXTERN OnigEncodingType OnigEncodingCP1251; 201 ONIG_EXTERN OnigEncodingType OnigEncodingBIG5; 202 ONIG_EXTERN OnigEncodingType OnigEncodingGB18030; 182 typedef const OnigEncodingType* OnigEncoding; 183 184 ONIG_EXTERN const OnigEncodingType OnigEncodingASCII; 185 #ifndef RUBY 186 ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_1; 187 ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_2; 188 ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_3; 189 ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_4; 190 ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_5; 191 ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_6; 192 ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_7; 193 ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_8; 194 ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_9; 195 ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_10; 196 ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_11; 197 ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_13; 198 ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_14; 199 ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_15; 200 ONIG_EXTERN const OnigEncodingType OnigEncodingISO_8859_16; 201 ONIG_EXTERN const OnigEncodingType OnigEncodingUTF_8; 202 ONIG_EXTERN const OnigEncodingType OnigEncodingUTF_16BE; 203 ONIG_EXTERN const OnigEncodingType OnigEncodingUTF_16LE; 204 ONIG_EXTERN const OnigEncodingType OnigEncodingUTF_32BE; 205 ONIG_EXTERN const OnigEncodingType OnigEncodingUTF_32LE; 206 ONIG_EXTERN const OnigEncodingType OnigEncodingEUC_JP; 207 ONIG_EXTERN const OnigEncodingType OnigEncodingEUC_TW; 208 ONIG_EXTERN const OnigEncodingType OnigEncodingEUC_KR; 209 ONIG_EXTERN const OnigEncodingType OnigEncodingEUC_CN; 210 ONIG_EXTERN const OnigEncodingType OnigEncodingShift_JIS; 211 ONIG_EXTERN const OnigEncodingType OnigEncodingWindows_31J; 212 /* ONIG_EXTERN const OnigEncodingType OnigEncodingKOI8; */ 213 ONIG_EXTERN const OnigEncodingType OnigEncodingKOI8_R; 214 ONIG_EXTERN const OnigEncodingType OnigEncodingKOI8_U; 215 ONIG_EXTERN const OnigEncodingType OnigEncodingWindows_1250; 216 ONIG_EXTERN const OnigEncodingType OnigEncodingWindows_1251; 217 ONIG_EXTERN const OnigEncodingType OnigEncodingWindows_1252; 218 ONIG_EXTERN const OnigEncodingType OnigEncodingWindows_1253; 219 ONIG_EXTERN const OnigEncodingType OnigEncodingWindows_1254; 220 ONIG_EXTERN const OnigEncodingType OnigEncodingWindows_1257; 221 ONIG_EXTERN const OnigEncodingType OnigEncodingBIG5; 222 ONIG_EXTERN const OnigEncodingType OnigEncodingGB18030; 223 #endif /* RUBY */ 203 224 204 225 #define ONIG_ENCODING_ASCII (&OnigEncodingASCII) 205 #define ONIG_ENCODING_ISO_8859_1 (&OnigEncodingISO_8859_1) 206 #define ONIG_ENCODING_ISO_8859_2 (&OnigEncodingISO_8859_2) 207 #define ONIG_ENCODING_ISO_8859_3 (&OnigEncodingISO_8859_3) 208 #define ONIG_ENCODING_ISO_8859_4 (&OnigEncodingISO_8859_4) 209 #define ONIG_ENCODING_ISO_8859_5 (&OnigEncodingISO_8859_5) 210 #define ONIG_ENCODING_ISO_8859_6 (&OnigEncodingISO_8859_6) 211 #define ONIG_ENCODING_ISO_8859_7 (&OnigEncodingISO_8859_7) 212 #define ONIG_ENCODING_ISO_8859_8 (&OnigEncodingISO_8859_8) 213 #define ONIG_ENCODING_ISO_8859_9 (&OnigEncodingISO_8859_9) 214 #define ONIG_ENCODING_ISO_8859_10 (&OnigEncodingISO_8859_10) 215 #define ONIG_ENCODING_ISO_8859_11 (&OnigEncodingISO_8859_11) 216 #define ONIG_ENCODING_ISO_8859_13 (&OnigEncodingISO_8859_13) 217 #define ONIG_ENCODING_ISO_8859_14 (&OnigEncodingISO_8859_14) 218 #define ONIG_ENCODING_ISO_8859_15 (&OnigEncodingISO_8859_15) 219 #define ONIG_ENCODING_ISO_8859_16 (&OnigEncodingISO_8859_16) 220 #define ONIG_ENCODING_UTF8 (&OnigEncodingUTF8) 221 #define ONIG_ENCODING_UTF16_BE (&OnigEncodingUTF16_BE) 222 #define ONIG_ENCODING_UTF16_LE (&OnigEncodingUTF16_LE) 223 #define ONIG_ENCODING_UTF32_BE (&OnigEncodingUTF32_BE) 224 #define ONIG_ENCODING_UTF32_LE (&OnigEncodingUTF32_LE) 225 #define ONIG_ENCODING_EUC_JP (&OnigEncodingEUC_JP) 226 #define ONIG_ENCODING_EUC_TW (&OnigEncodingEUC_TW) 227 #define ONIG_ENCODING_EUC_KR (&OnigEncodingEUC_KR) 228 #define ONIG_ENCODING_EUC_CN (&OnigEncodingEUC_CN) 229 #define ONIG_ENCODING_SJIS (&OnigEncodingSJIS) 230 #define ONIG_ENCODING_CP932 (&OnigEncodingCP932) 231 #define ONIG_ENCODING_KOI8 (&OnigEncodingKOI8) 232 #define ONIG_ENCODING_KOI8_R (&OnigEncodingKOI8_R) 233 #define ONIG_ENCODING_CP1251 (&OnigEncodingCP1251) 234 #define ONIG_ENCODING_BIG5 (&OnigEncodingBIG5) 235 #define ONIG_ENCODING_GB18030 (&OnigEncodingGB18030) 226 #ifndef RUBY 227 # define ONIG_ENCODING_ISO_8859_1 (&OnigEncodingISO_8859_1) 228 # define ONIG_ENCODING_ISO_8859_2 (&OnigEncodingISO_8859_2) 229 # define ONIG_ENCODING_ISO_8859_3 (&OnigEncodingISO_8859_3) 230 # define ONIG_ENCODING_ISO_8859_4 (&OnigEncodingISO_8859_4) 231 # define ONIG_ENCODING_ISO_8859_5 (&OnigEncodingISO_8859_5) 232 # define ONIG_ENCODING_ISO_8859_6 (&OnigEncodingISO_8859_6) 233 # define ONIG_ENCODING_ISO_8859_7 (&OnigEncodingISO_8859_7) 234 # define ONIG_ENCODING_ISO_8859_8 (&OnigEncodingISO_8859_8) 235 # define ONIG_ENCODING_ISO_8859_9 (&OnigEncodingISO_8859_9) 236 # define ONIG_ENCODING_ISO_8859_10 (&OnigEncodingISO_8859_10) 237 # define ONIG_ENCODING_ISO_8859_11 (&OnigEncodingISO_8859_11) 238 # define ONIG_ENCODING_ISO_8859_13 (&OnigEncodingISO_8859_13) 239 # define ONIG_ENCODING_ISO_8859_14 (&OnigEncodingISO_8859_14) 240 # define ONIG_ENCODING_ISO_8859_15 (&OnigEncodingISO_8859_15) 241 # define ONIG_ENCODING_ISO_8859_16 (&OnigEncodingISO_8859_16) 242 # define ONIG_ENCODING_UTF_8 (&OnigEncodingUTF_8) 243 # define ONIG_ENCODING_UTF_16BE (&OnigEncodingUTF_16BE) 244 # define ONIG_ENCODING_UTF_16LE (&OnigEncodingUTF_16LE) 245 # define ONIG_ENCODING_UTF_32BE (&OnigEncodingUTF_32BE) 246 # define ONIG_ENCODING_UTF_32LE (&OnigEncodingUTF_32LE) 247 # define ONIG_ENCODING_EUC_JP (&OnigEncodingEUC_JP) 248 # define ONIG_ENCODING_EUC_TW (&OnigEncodingEUC_TW) 249 # define ONIG_ENCODING_EUC_KR (&OnigEncodingEUC_KR) 250 # define ONIG_ENCODING_EUC_CN (&OnigEncodingEUC_CN) 251 # define ONIG_ENCODING_SHIFT_JIS (&OnigEncodingShift_JIS) 252 # define ONIG_ENCODING_WINDOWS_31J (&OnigEncodingWindows_31J) 253 /* # define ONIG_ENCODING_KOI8 (&OnigEncodingKOI8) */ 254 # define ONIG_ENCODING_KOI8_R (&OnigEncodingKOI8_R) 255 # define ONIG_ENCODING_KOI8_U (&OnigEncodingKOI8_U) 256 # define ONIG_ENCODING_WINDOWS_1250 (&OnigEncodingWindows_1250) 257 # define ONIG_ENCODING_WINDOWS_1251 (&OnigEncodingWindows_1251) 258 # define ONIG_ENCODING_WINDOWS_1252 (&OnigEncodingWindows_1252) 259 # define ONIG_ENCODING_WINDOWS_1253 (&OnigEncodingWindows_1253) 260 # define ONIG_ENCODING_WINDOWS_1254 (&OnigEncodingWindows_1254) 261 # define ONIG_ENCODING_WINDOWS_1257 (&OnigEncodingWindows_1257) 262 # define ONIG_ENCODING_BIG5 (&OnigEncodingBIG5) 263 # define ONIG_ENCODING_GB18030 (&OnigEncodingGB18030) 264 265 /* old names */ 266 # define ONIG_ENCODING_SJIS ONIG_ENCODING_SHIFT_JIS 267 # define ONIG_ENCODING_CP932 ONIG_ENCODING_WINDOWS_31J 268 # define ONIG_ENCODING_CP1250 ONIG_ENCODING_WINDOWS_1250 269 # define ONIG_ENCODING_CP1251 ONIG_ENCODING_WINDOWS_1251 270 # define ONIG_ENCODING_CP1252 ONIG_ENCODING_WINDOWS_1252 271 # define ONIG_ENCODING_CP1253 ONIG_ENCODING_WINDOWS_1253 272 # define ONIG_ENCODING_CP1254 ONIG_ENCODING_WINDOWS_1254 273 # define ONIG_ENCODING_CP1257 ONIG_ENCODING_WINDOWS_1257 274 # define ONIG_ENCODING_UTF8 ONIG_ENCODING_UTF_8 275 # define ONIG_ENCODING_UTF16_BE ONIG_ENCODING_UTF_16BE 276 # define ONIG_ENCODING_UTF16_LE ONIG_ENCODING_UTF_16LE 277 # define ONIG_ENCODING_UTF32_BE ONIG_ENCODING_UTF_32BE 278 # define ONIG_ENCODING_UTF32_LE ONIG_ENCODING_UTF_32LE 279 #endif /* RUBY */ 236 280 237 281 #define ONIG_ENCODING_UNDEF ((OnigEncoding )0) 282 283 /* this declaration needs to be here because it is used in string.c in Ruby */ 284 ONIG_EXTERN 285 int onigenc_ascii_only_case_map(OnigCaseFoldType* flagP, const OnigUChar** pp, const OnigUChar* end, OnigUChar* to, OnigUChar* to_end, const struct OnigEncodingTypeST* enc); 238 286 239 287 … … 265 313 #define ONIGENC_FLAG_UNICODE 1U 266 314 267 268 #define onig_enc_len(enc,p,end) ONIGENC_MBC_ENC_LEN(enc,p) 315 #define onig_enc_len(enc,p,e) ONIGENC_MBC_ENC_LEN(enc, p, e) 269 316 270 317 #define ONIGENC_IS_UNDEF(enc) ((enc) == ONIG_ENCODING_UNDEF) 271 318 #define ONIGENC_IS_SINGLEBYTE(enc) (ONIGENC_MBC_MAXLEN(enc) == 1) 272 #define ONIGENC_IS_MBC_HEAD(enc,p ) (ONIGENC_MBC_ENC_LEN(enc,p) != 1)319 #define ONIGENC_IS_MBC_HEAD(enc,p,e) (ONIGENC_MBC_ENC_LEN(enc,p,e) != 1) 273 320 #define ONIGENC_IS_MBC_ASCII(p) (*(p) < 128) 274 321 #define ONIGENC_IS_CODE_ASCII(code) ((code) < 128) … … 277 324 #define ONIGENC_IS_MBC_ASCII_WORD(enc,s,end) \ 278 325 onigenc_ascii_is_code_ctype( \ 279 ONIGENC_MBC_TO_CODE(enc,s,end),ONIGENC_CTYPE_WORD )326 ONIGENC_MBC_TO_CODE(enc,s,end),ONIGENC_CTYPE_WORD,enc) 280 327 #define ONIGENC_IS_UNICODE(enc) ((enc)->flags & ONIGENC_FLAG_UNICODE) 281 328 … … 284 331 285 332 #define ONIGENC_MBC_CASE_FOLD(enc,flag,pp,end,buf) \ 286 (enc)->mbc_case_fold(flag,(const OnigUChar** )pp,end,buf )333 (enc)->mbc_case_fold(flag,(const OnigUChar** )pp,end,buf,enc) 287 334 #define ONIGENC_IS_ALLOWED_REVERSE_MATCH(enc,s,end) \ 288 (enc)->is_allowed_reverse_match(s,end )289 #define ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc,start,s ) \290 (enc)->left_adjust_char_head(start, s )335 (enc)->is_allowed_reverse_match(s,end,enc) 336 #define ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc,start,s,end) \ 337 (enc)->left_adjust_char_head(start, s, end, enc) 291 338 #define ONIGENC_APPLY_ALL_CASE_FOLD(enc,case_fold_flag,f,arg) \ 292 (enc)->apply_all_case_fold(case_fold_flag,f,arg )339 (enc)->apply_all_case_fold(case_fold_flag,f,arg,enc) 293 340 #define ONIGENC_GET_CASE_FOLD_CODES_BY_STR(enc,case_fold_flag,p,end,acs) \ 294 (enc)->get_case_fold_codes_by_str(case_fold_flag,p,end,acs) 295 #define ONIGENC_STEP_BACK(enc,start,s,n) \ 296 onigenc_step_back((enc),(start),(s),(n)) 297 298 #define ONIGENC_MBC_ENC_LEN(enc,p) (enc)->mbc_enc_len(p) 341 (enc)->get_case_fold_codes_by_str(case_fold_flag,p,end,acs,enc) 342 #define ONIGENC_STEP_BACK(enc,start,s,end,n) \ 343 onigenc_step_back((enc),(start),(s),(end),(n)) 344 345 #define ONIGENC_CONSTRUCT_MBCLEN_CHARFOUND(n) (n) 346 #define ONIGENC_MBCLEN_CHARFOUND_P(r) (0 < (r)) 347 #define ONIGENC_MBCLEN_CHARFOUND_LEN(r) (r) 348 349 #define ONIGENC_CONSTRUCT_MBCLEN_INVALID() (-1) 350 #define ONIGENC_MBCLEN_INVALID_P(r) ((r) == -1) 351 352 #define ONIGENC_CONSTRUCT_MBCLEN_NEEDMORE(n) (-1-(n)) 353 #define ONIGENC_MBCLEN_NEEDMORE_P(r) ((r) < -1) 354 #define ONIGENC_MBCLEN_NEEDMORE_LEN(r) (-1-(r)) 355 356 #define ONIGENC_PRECISE_MBC_ENC_LEN(enc,p,e) (enc)->precise_mbc_enc_len(p,e,enc) 357 358 ONIG_EXTERN 359 int onigenc_mbclen_approximate(const OnigUChar* p,const OnigUChar* e, const struct OnigEncodingTypeST* enc); 360 361 #define ONIGENC_MBC_ENC_LEN(enc,p,e) onigenc_mbclen_approximate(p,e,enc) 299 362 #define ONIGENC_MBC_MAXLEN(enc) ((enc)->max_enc_len) 300 363 #define ONIGENC_MBC_MAXLEN_DIST(enc) ONIGENC_MBC_MAXLEN(enc) 301 364 #define ONIGENC_MBC_MINLEN(enc) ((enc)->min_enc_len) 302 #define ONIGENC_IS_MBC_NEWLINE(enc,p,end) (enc)->is_mbc_newline((p),(end) )303 #define ONIGENC_MBC_TO_CODE(enc,p,end) (enc)->mbc_to_code((p),(end) )304 #define ONIGENC_CODE_TO_MBCLEN(enc,code) (enc)->code_to_mbclen(code )305 #define ONIGENC_CODE_TO_MBC(enc,code,buf) (enc)->code_to_mbc(code,buf )365 #define ONIGENC_IS_MBC_NEWLINE(enc,p,end) (enc)->is_mbc_newline((p),(end),enc) 366 #define ONIGENC_MBC_TO_CODE(enc,p,end) (enc)->mbc_to_code((p),(end),enc) 367 #define ONIGENC_CODE_TO_MBCLEN(enc,code) (enc)->code_to_mbclen(code,enc) 368 #define ONIGENC_CODE_TO_MBC(enc,code,buf) (enc)->code_to_mbc(code,buf,enc) 306 369 #define ONIGENC_PROPERTY_NAME_TO_CTYPE(enc,p,end) \ 307 370 (enc)->property_name_to_ctype(enc,p,end) 308 371 309 #define ONIGENC_IS_CODE_CTYPE(enc,code,ctype) (enc)->is_code_ctype(code,ctype )372 #define ONIGENC_IS_CODE_CTYPE(enc,code,ctype) (enc)->is_code_ctype(code,ctype,enc) 310 373 311 374 #define ONIGENC_IS_CODE_NEWLINE(enc,code) \ … … 339 402 340 403 #define ONIGENC_GET_CTYPE_CODE_RANGE(enc,ctype,sbout,ranges) \ 341 (enc)->get_ctype_code_range(ctype,sbout,ranges )342 343 ONIG_EXTERN 344 OnigUChar* onigenc_step_back P_((OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, int n));404 (enc)->get_ctype_code_range(ctype,sbout,ranges,enc) 405 406 ONIG_EXTERN 407 OnigUChar* onigenc_step_back(OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar* end, int n); 345 408 346 409 347 410 /* encoding API */ 348 411 ONIG_EXTERN 349 int onigenc_init P_((void)); 350 ONIG_EXTERN 351 int onigenc_set_default_encoding P_((OnigEncoding enc)); 352 ONIG_EXTERN 353 OnigEncoding onigenc_get_default_encoding P_((void)); 354 ONIG_EXTERN 355 void onigenc_set_default_caseconv_table P_((const OnigUChar* table)); 356 ONIG_EXTERN 357 OnigUChar* onigenc_get_right_adjust_char_head_with_prev P_((OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar** prev)); 358 ONIG_EXTERN 359 OnigUChar* onigenc_get_prev_char_head P_((OnigEncoding enc, const OnigUChar* start, const OnigUChar* s)); 360 ONIG_EXTERN 361 OnigUChar* onigenc_get_left_adjust_char_head P_((OnigEncoding enc, const OnigUChar* start, const OnigUChar* s)); 362 ONIG_EXTERN 363 OnigUChar* onigenc_get_right_adjust_char_head P_((OnigEncoding enc, const OnigUChar* start, const OnigUChar* s)); 364 ONIG_EXTERN 365 int onigenc_strlen P_((OnigEncoding enc, const OnigUChar* p, const OnigUChar* end)); 366 ONIG_EXTERN 367 int onigenc_strlen_null P_((OnigEncoding enc, const OnigUChar* p)); 368 ONIG_EXTERN 369 int onigenc_str_bytelen_null P_((OnigEncoding enc, const OnigUChar* p)); 412 int onigenc_init(void); 413 ONIG_EXTERN 414 int onigenc_set_default_encoding(OnigEncoding enc); 415 ONIG_EXTERN 416 OnigEncoding onigenc_get_default_encoding(void); 417 ONIG_EXTERN 418 OnigUChar* onigenc_get_right_adjust_char_head_with_prev(OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar* end, const OnigUChar** prev); 419 ONIG_EXTERN 420 OnigUChar* onigenc_get_prev_char_head(OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar* end); 421 ONIG_EXTERN 422 OnigUChar* onigenc_get_left_adjust_char_head(OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar* end); 423 ONIG_EXTERN 424 OnigUChar* onigenc_get_right_adjust_char_head(OnigEncoding enc, const OnigUChar* start, const OnigUChar* s, const OnigUChar* end); 425 ONIG_EXTERN 426 int onigenc_strlen(OnigEncoding enc, const OnigUChar* p, const OnigUChar* end); 427 ONIG_EXTERN 428 int onigenc_strlen_null(OnigEncoding enc, const OnigUChar* p); 429 ONIG_EXTERN 430 int onigenc_str_bytelen_null(OnigEncoding enc, const OnigUChar* p); 370 431 371 432 … … 375 436 /* config parameters */ 376 437 #define ONIG_NREGION 10 438 #define ONIG_MAX_CAPTURE_GROUP_NUM 32767 377 439 #define ONIG_MAX_BACKREF_NUM 1000 378 #define ONIG_MAX_CAPTURE_GROUP_NUM 32767379 440 #define ONIG_MAX_REPEAT_NUM 100000 380 441 #define ONIG_MAX_MULTI_BYTE_RANGES_NUM 10000 … … 401 462 #define ONIG_OPTION_NOTBOL (ONIG_OPTION_CAPTURE_GROUP << 1) 402 463 #define ONIG_OPTION_NOTEOL (ONIG_OPTION_NOTBOL << 1) 403 #define ONIG_OPTION_POSIX_REGION (ONIG_OPTION_NOTEOL << 1) 464 #define ONIG_OPTION_NOTBOS (ONIG_OPTION_NOTEOL << 1) 465 #define ONIG_OPTION_NOTEOS (ONIG_OPTION_NOTBOS << 1) 404 466 /* options (ctype range) */ 405 #define ONIG_OPTION_ASCII_RANGE (ONIG_OPTION_ POSIX_REGION<< 1)467 #define ONIG_OPTION_ASCII_RANGE (ONIG_OPTION_NOTEOS << 1) 406 468 #define ONIG_OPTION_POSIX_BRACKET_ALL_RANGE (ONIG_OPTION_ASCII_RANGE << 1) 407 469 #define ONIG_OPTION_WORD_BOUND_ALL_RANGE (ONIG_OPTION_POSIX_BRACKET_ALL_RANGE << 1) 408 470 /* options (newline) */ 409 471 #define ONIG_OPTION_NEWLINE_CRLF (ONIG_OPTION_WORD_BOUND_ALL_RANGE << 1) 410 #define ONIG_OPTION_NOTBOS (ONIG_OPTION_NEWLINE_CRLF << 1) 411 #define ONIG_OPTION_NOTEOS (ONIG_OPTION_NOTBOS << 1) 412 #define ONIG_OPTION_MAXBIT ONIG_OPTION_NOTEOS /* limit */ 472 #define ONIG_OPTION_MAXBIT ONIG_OPTION_NEWLINE_CRLF /* limit */ 413 473 414 474 #define ONIG_OPTION_ON(options,regopt) ((options) |= (regopt)) … … 425 485 } OnigSyntaxType; 426 486 427 ONIG_EXTERN OnigSyntaxType OnigSyntaxASIS;428 ONIG_EXTERN OnigSyntaxType OnigSyntaxPosixBasic;429 ONIG_EXTERN OnigSyntaxType OnigSyntaxPosixExtended;430 ONIG_EXTERN OnigSyntaxType OnigSyntaxEmacs;431 ONIG_EXTERN OnigSyntaxType OnigSyntaxGrep;432 ONIG_EXTERN OnigSyntaxType OnigSyntaxGnuRegex;433 ONIG_EXTERN OnigSyntaxType OnigSyntaxJava;434 ONIG_EXTERN OnigSyntaxType OnigSyntaxPerl58;435 ONIG_EXTERN OnigSyntaxType OnigSyntaxPerl58_NG;436 ONIG_EXTERN OnigSyntaxType OnigSyntaxPerl;437 ONIG_EXTERN OnigSyntaxType OnigSyntaxRuby;438 ONIG_EXTERN OnigSyntaxType OnigSyntaxPython;487 ONIG_EXTERN const OnigSyntaxType OnigSyntaxASIS; 488 ONIG_EXTERN const OnigSyntaxType OnigSyntaxPosixBasic; 489 ONIG_EXTERN const OnigSyntaxType OnigSyntaxPosixExtended; 490 ONIG_EXTERN const OnigSyntaxType OnigSyntaxEmacs; 491 ONIG_EXTERN const OnigSyntaxType OnigSyntaxGrep; 492 ONIG_EXTERN const OnigSyntaxType OnigSyntaxGnuRegex; 493 ONIG_EXTERN const OnigSyntaxType OnigSyntaxJava; 494 ONIG_EXTERN const OnigSyntaxType OnigSyntaxPerl58; 495 ONIG_EXTERN const OnigSyntaxType OnigSyntaxPerl58_NG; 496 ONIG_EXTERN const OnigSyntaxType OnigSyntaxPerl; 497 ONIG_EXTERN const OnigSyntaxType OnigSyntaxRuby; 498 ONIG_EXTERN const OnigSyntaxType OnigSyntaxPython; 439 499 440 500 /* predefined syntaxes (see regsyntax.c) */ … … 453 513 454 514 /* default syntax */ 455 ONIG_EXTERN OnigSyntaxType* OnigDefaultSyntax;515 ONIG_EXTERN const OnigSyntaxType* OnigDefaultSyntax; 456 516 #define ONIG_SYNTAX_DEFAULT OnigDefaultSyntax 457 517 … … 488 548 #define ONIG_SYN_OP_ESC_X_HEX2 (1U<<29) /* \xHH */ 489 549 #define ONIG_SYN_OP_ESC_X_BRACE_HEX8 (1U<<30) /* \x{7HHHHHHH} */ 490 #define ONIG_SYN_OP_ESC_O_BRACE_OCTAL (1U<<31) /* \o{OOO} */ /* NOTIMPL */550 #define ONIG_SYN_OP_ESC_O_BRACE_OCTAL (1U<<31) /* \o{OOO} */ 491 551 492 552 #define ONIG_SYN_OP2_ESC_CAPITAL_Q_QUOTE (1U<<0) /* \Q...\E */ … … 512 572 #define ONIG_SYN_OP2_INEFFECTIVE_ESCAPE (1U<<20) /* \ */ 513 573 #define ONIG_SYN_OP2_ESC_CAPITAL_R_LINEBREAK (1U<<21) /* \R as (?>\x0D\x0A|[\x0A-\x0D\x{85}\x{2028}\x{2029}]) */ 514 #define ONIG_SYN_OP2_ESC_CAPITAL_X_EXTENDED_GRAPHEME_CLUSTER (1U<<22) /* \X as (?>\P{M}\p{M}*)*/574 #define ONIG_SYN_OP2_ESC_CAPITAL_X_EXTENDED_GRAPHEME_CLUSTER (1U<<22) /* \X */ 515 575 #define ONIG_SYN_OP2_ESC_V_VERTICAL_WHITESPACE (1U<<23) /* \v, \V -- Perl */ /* NOTIMPL */ 516 576 #define ONIG_SYN_OP2_ESC_H_HORIZONTAL_WHITESPACE (1U<<24) /* \h, \H -- Perl */ /* NOTIMPL */ … … 521 581 #define ONIG_SYN_OP2_QMARK_LPAREN_CONDITION (1U<<29) /* (?(cond)yes...|no...) */ 522 582 #define ONIG_SYN_OP2_QMARK_CAPITAL_P_NAMED_GROUP (1U<<30) /* (?P<name>...), (?P=name), (?P>name) -- Python/PCRE */ 523 #define ONIG_SYN_OP2_OPTION_JAVA (1U<<31) /* (?idmsux), (?-idmsux) */ /* NOTIMPL */ 583 #define ONIG_SYN_OP2_QMARK_TILDE_ABSENT (1U<<31) /* (?~...) */ 584 /* #define ONIG_SYN_OP2_OPTION_JAVA (1U<<xx) */ /* (?idmsux), (?-idmsux) */ /* NOTIMPL */ 524 585 525 586 /* syntax (behavior) */ … … 536 597 #define ONIG_SYN_FIXED_INTERVAL_IS_GREEDY_ONLY (1U<<9) /* a{n}?=(?:a{n})? */ 537 598 #define ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME_CALL (1U<<10) /* (?<x>)(?<x>)(?&x) */ 599 #define ONIG_SYN_USE_LEFT_MOST_NAMED_GROUP (1U<<11) /* (?<x>)(?<x>)\k<x> */ 538 600 539 601 /* syntax (behavior) in char class [...] */ … … 545 607 #define ONIG_SYN_WARN_CC_OP_NOT_ESCAPED (1U<<24) /* [,-,] */ 546 608 #define ONIG_SYN_WARN_REDUNDANT_NESTED_REPEAT (1U<<25) /* (?:a*)+ */ 609 #define ONIG_SYN_WARN_CC_DUP (1U<<26) /* [aa] */ 547 610 548 611 /* meta character specifiers (onig_set_meta_char()) */ … … 571 634 #define ONIGERR_UNEXPECTED_BYTECODE -14 572 635 #define ONIGERR_MATCH_STACK_LIMIT_OVER -15 636 #define ONIGERR_PARSE_DEPTH_LIMIT_OVER -16 573 637 #define ONIGERR_DEFAULT_ENCODING_IS_NOT_SET -21 574 638 #define ONIGERR_SPECIFIED_ENCODING_CANT_CONVERT_TO_WIDE_CHAR -22 … … 610 674 #define ONIGERR_INVALID_BACKREF -208 611 675 #define ONIGERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED -209 612 #define ONIGERR_TOO_SHORT_DIGITS -210 676 #define ONIGERR_TOO_MANY_CAPTURE_GROUPS -210 677 #define ONIGERR_TOO_SHORT_DIGITS -211 613 678 #define ONIGERR_TOO_LONG_WIDE_CHAR_VALUE -212 614 679 #define ONIGERR_EMPTY_GROUP_NAME -214 … … 622 687 #define ONIGERR_GROUP_NUMBER_OVER_FOR_CAPTURE_HISTORY -222 623 688 #define ONIGERR_INVALID_CHAR_PROPERTY_NAME -223 624 #define ONIGERR_TOO_MANY_CAPTURE_GROUPS -224625 689 #define ONIGERR_INVALID_CODE_POINT_VALUE -400 626 690 #define ONIGERR_INVALID_WIDE_CHAR_VALUE -400 … … 630 694 631 695 /* errors related to thread */ 632 #define ONIGERR_OVER_THREAD_PASS_LIMIT_COUNT -1001 696 /* #define ONIGERR_OVER_THREAD_PASS_LIMIT_COUNT -1001 */ 633 697 634 698 … … 679 743 } OnigRepeatRange; 680 744 681 typedef void (*OnigWarnFunc) P_((const char* s));682 extern void onig_null_warn P_((const char* s));745 typedef void (*OnigWarnFunc)(const char* s); 746 extern void onig_null_warn(const char* s); 683 747 #define ONIG_NULL_WARN onig_null_warn 684 748 685 749 #define ONIG_CHAR_TABLE_SIZE 256 686 687 /* regex_t state */688 #define ONIG_STATE_NORMAL 0689 #define ONIG_STATE_SEARCHING 1690 #define ONIG_STATE_COMPILING -1691 #define ONIG_STATE_MODIFY -2692 693 #define ONIG_STATE(reg) \694 ((reg)->state > 0 ? ONIG_STATE_SEARCHING : (reg)->state)695 750 696 751 typedef struct re_pattern_buffer { … … 700 755 unsigned int alloc; /* allocated space for p */ 701 756 702 int state; /* normal, searching, compiling */703 757 int num_mem; /* used memory(...) num counted from 1 */ 704 758 int num_repeat; /* OP_REPEAT/OP_REPEAT_NG id-counter */ … … 711 765 int stack_pop_level; 712 766 int repeat_range_alloc; 767 768 OnigOptionType options; 769 713 770 OnigRepeatRange* repeat_range; 714 771 715 772 OnigEncoding enc; 716 OnigOptionType options;717 OnigSyntaxType* syntax;773 const OnigSyntaxType* syntax; 774 void* name_table; 718 775 OnigCaseFoldType case_fold_flag; 719 void* name_table;720 776 721 777 /* optimization info (string search, char-map and anchors) */ … … 741 797 742 798 #ifndef ONIG_ESCAPE_REGEX_T_COLLISION 743 799 typedef OnigRegexType regex_t; 744 800 #endif 745 801 … … 749 805 OnigEncoding pattern_enc; 750 806 OnigEncoding target_enc; 751 OnigSyntaxType* syntax;807 const OnigSyntaxType* syntax; 752 808 OnigOptionType option; 753 809 OnigCaseFoldType case_fold_flag; … … 756 812 /* Oniguruma Native API */ 757 813 ONIG_EXTERN 758 int onig_init P_((void)); 759 ONIG_EXTERN 760 int onig_error_code_to_str PV_((OnigUChar* s, OnigPosition err_code, ...)); 761 ONIG_EXTERN 762 void onig_set_warn_func P_((OnigWarnFunc f)); 763 ONIG_EXTERN 764 void onig_set_verb_warn_func P_((OnigWarnFunc f)); 765 ONIG_EXTERN 766 int onig_new P_((OnigRegex*, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, OnigErrorInfo* einfo)); 767 ONIG_EXTERN 768 int onig_reg_init P_((OnigRegex reg, OnigOptionType option, OnigCaseFoldType case_fold_flag, OnigEncoding enc, OnigSyntaxType* syntax)); 769 ONIG_EXTERN 770 int onig_new_without_alloc P_((OnigRegex, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, OnigErrorInfo* einfo)); 771 ONIG_EXTERN 772 int onig_new_deluxe P_((OnigRegex* reg, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigCompileInfo* ci, OnigErrorInfo* einfo)); 773 ONIG_EXTERN 774 void onig_free P_((OnigRegex)); 775 ONIG_EXTERN 776 void onig_free_body P_((OnigRegex)); 777 ONIG_EXTERN 778 int onig_recompile P_((OnigRegex, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax, OnigErrorInfo* einfo)); 779 ONIG_EXTERN 780 int onig_recompile_deluxe P_((OnigRegex reg, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigCompileInfo* ci, OnigErrorInfo* einfo)); 781 ONIG_EXTERN 782 OnigPosition onig_search P_((OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* start, const OnigUChar* range, OnigRegion* region, OnigOptionType option)); 783 ONIG_EXTERN 784 OnigPosition onig_search_gpos P_((OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* global_pos, const OnigUChar* start, const OnigUChar* range, OnigRegion* region, OnigOptionType option)); 785 ONIG_EXTERN 786 OnigPosition onig_match P_((OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* at, OnigRegion* region, OnigOptionType option)); 787 ONIG_EXTERN 788 OnigRegion* onig_region_new P_((void)); 789 ONIG_EXTERN 790 void onig_region_init P_((OnigRegion* region)); 791 ONIG_EXTERN 792 void onig_region_free P_((OnigRegion* region, int free_self)); 793 ONIG_EXTERN 794 void onig_region_copy P_((OnigRegion* to, OnigRegion* from)); 795 ONIG_EXTERN 796 void onig_region_clear P_((OnigRegion* region)); 797 ONIG_EXTERN 798 int onig_region_resize P_((OnigRegion* region, int n)); 799 ONIG_EXTERN 800 int onig_region_set P_((OnigRegion* region, int at, int beg, int end)); 801 ONIG_EXTERN 802 int onig_name_to_group_numbers P_((OnigRegex reg, const OnigUChar* name, const OnigUChar* name_end, int** nums)); 803 ONIG_EXTERN 804 int onig_name_to_backref_number P_((OnigRegex reg, const OnigUChar* name, const OnigUChar* name_end, OnigRegion *region)); 805 ONIG_EXTERN 806 int onig_foreach_name P_((OnigRegex reg, int (*func)(const OnigUChar*, const OnigUChar*,int,int*,OnigRegex,void*), void* arg)); 807 ONIG_EXTERN 808 int onig_number_of_names P_((OnigRegex reg)); 809 ONIG_EXTERN 810 int onig_number_of_captures P_((OnigRegex reg)); 811 ONIG_EXTERN 812 int onig_number_of_capture_histories P_((OnigRegex reg)); 813 ONIG_EXTERN 814 OnigCaptureTreeNode* onig_get_capture_tree P_((OnigRegion* region)); 815 ONIG_EXTERN 816 int onig_capture_tree_traverse P_((OnigRegion* region, int at, int(*callback_func)(int,OnigPosition,OnigPosition,int,int,void*), void* arg)); 817 ONIG_EXTERN 818 int onig_noname_group_capture_is_active P_((OnigRegex reg)); 819 ONIG_EXTERN 820 OnigEncoding onig_get_encoding P_((OnigRegex reg)); 821 ONIG_EXTERN 822 OnigOptionType onig_get_options P_((OnigRegex reg)); 823 ONIG_EXTERN 824 OnigCaseFoldType onig_get_case_fold_flag P_((OnigRegex reg)); 825 ONIG_EXTERN 826 OnigSyntaxType* onig_get_syntax P_((OnigRegex reg)); 827 ONIG_EXTERN 828 int onig_set_default_syntax P_((OnigSyntaxType* syntax)); 829 ONIG_EXTERN 830 void onig_copy_syntax P_((OnigSyntaxType* to, const OnigSyntaxType* from)); 831 ONIG_EXTERN 832 unsigned int onig_get_syntax_op P_((OnigSyntaxType* syntax)); 833 ONIG_EXTERN 834 unsigned int onig_get_syntax_op2 P_((OnigSyntaxType* syntax)); 835 ONIG_EXTERN 836 unsigned int onig_get_syntax_behavior P_((OnigSyntaxType* syntax)); 837 ONIG_EXTERN 838 OnigOptionType onig_get_syntax_options P_((OnigSyntaxType* syntax)); 839 ONIG_EXTERN 840 void onig_set_syntax_op P_((OnigSyntaxType* syntax, unsigned int op)); 841 ONIG_EXTERN 842 void onig_set_syntax_op2 P_((OnigSyntaxType* syntax, unsigned int op2)); 843 ONIG_EXTERN 844 void onig_set_syntax_behavior P_((OnigSyntaxType* syntax, unsigned int behavior)); 845 ONIG_EXTERN 846 void onig_set_syntax_options P_((OnigSyntaxType* syntax, OnigOptionType options)); 847 ONIG_EXTERN 848 int onig_set_meta_char P_((OnigSyntaxType* syntax, unsigned int what, OnigCodePoint code)); 849 ONIG_EXTERN 850 void onig_copy_encoding P_((OnigEncoding to, OnigEncoding from)); 851 ONIG_EXTERN 852 OnigCaseFoldType onig_get_default_case_fold_flag P_((void)); 853 ONIG_EXTERN 854 int onig_set_default_case_fold_flag P_((OnigCaseFoldType case_fold_flag)); 855 ONIG_EXTERN 856 unsigned int onig_get_match_stack_limit_size P_((void)); 857 ONIG_EXTERN 858 int onig_set_match_stack_limit_size P_((unsigned int size)); 859 ONIG_EXTERN 860 int onig_end P_((void)); 861 ONIG_EXTERN 862 const char* onig_version P_((void)); 863 ONIG_EXTERN 864 const char* onig_copyright P_((void)); 814 int onig_initialize(OnigEncoding encodings[], int n); 815 ONIG_EXTERN 816 int onig_init(void); 817 ONIG_EXTERN 818 int onig_error_code_to_str(OnigUChar* s, OnigPosition err_code, ...); 819 ONIG_EXTERN 820 void onig_set_warn_func(OnigWarnFunc f); 821 ONIG_EXTERN 822 void onig_set_verb_warn_func(OnigWarnFunc f); 823 ONIG_EXTERN 824 int onig_new(OnigRegex*, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, const OnigSyntaxType* syntax, OnigErrorInfo* einfo); 825 ONIG_EXTERN 826 int onig_reg_init(OnigRegex reg, OnigOptionType option, OnigCaseFoldType case_fold_flag, OnigEncoding enc, const OnigSyntaxType* syntax); 827 ONIG_EXTERN 828 int onig_new_without_alloc(OnigRegex, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigOptionType option, OnigEncoding enc, const OnigSyntaxType* syntax, OnigErrorInfo* einfo); 829 ONIG_EXTERN 830 int onig_new_deluxe(OnigRegex* reg, const OnigUChar* pattern, const OnigUChar* pattern_end, OnigCompileInfo* ci, OnigErrorInfo* einfo); 831 ONIG_EXTERN 832 void onig_free(OnigRegex); 833 ONIG_EXTERN 834 void onig_free_body(OnigRegex); 835 ONIG_EXTERN 836 OnigPosition onig_scan(OnigRegex reg, const OnigUChar* str, const OnigUChar* end, OnigRegion* region, OnigOptionType option, int (*scan_callback)(OnigPosition, OnigPosition, OnigRegion*, void*), void* callback_arg); 837 ONIG_EXTERN 838 OnigPosition onig_search(OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* start, const OnigUChar* range, OnigRegion* region, OnigOptionType option); 839 ONIG_EXTERN 840 OnigPosition onig_search_gpos(OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* global_pos, const OnigUChar* start, const OnigUChar* range, OnigRegion* region, OnigOptionType option); 841 ONIG_EXTERN 842 OnigPosition onig_match(OnigRegex, const OnigUChar* str, const OnigUChar* end, const OnigUChar* at, OnigRegion* region, OnigOptionType option); 843 ONIG_EXTERN 844 OnigRegion* onig_region_new(void); 845 ONIG_EXTERN 846 void onig_region_init(OnigRegion* region); 847 ONIG_EXTERN 848 void onig_region_free(OnigRegion* region, int free_self); 849 ONIG_EXTERN 850 void onig_region_copy(OnigRegion* to, const OnigRegion* from); 851 ONIG_EXTERN 852 void onig_region_clear(OnigRegion* region); 853 ONIG_EXTERN 854 int onig_region_resize(OnigRegion* region, int n); 855 ONIG_EXTERN 856 int onig_region_set(OnigRegion* region, int at, int beg, int end); 857 ONIG_EXTERN 858 int onig_name_to_group_numbers(OnigRegex reg, const OnigUChar* name, const OnigUChar* name_end, int** nums); 859 ONIG_EXTERN 860 int onig_name_to_backref_number(OnigRegex reg, const OnigUChar* name, const OnigUChar* name_end, const OnigRegion *region); 861 ONIG_EXTERN 862 int onig_foreach_name(OnigRegex reg, int (*func)(const OnigUChar*, const OnigUChar*,int,int*,OnigRegex,void*), void* arg); 863 ONIG_EXTERN 864 int onig_number_of_names(const OnigRegexType *reg); 865 ONIG_EXTERN 866 int onig_number_of_captures(const OnigRegexType *reg); 867 ONIG_EXTERN 868 int onig_number_of_capture_histories(const OnigRegexType *reg); 869 ONIG_EXTERN 870 OnigCaptureTreeNode* onig_get_capture_tree(OnigRegion* region); 871 ONIG_EXTERN 872 int onig_capture_tree_traverse(OnigRegion* region, int at, int(*callback_func)(int,OnigPosition,OnigPosition,int,int,void*), void* arg); 873 ONIG_EXTERN 874 int onig_noname_group_capture_is_active(const OnigRegexType *reg); 875 ONIG_EXTERN 876 OnigEncoding onig_get_encoding(const OnigRegexType *reg); 877 ONIG_EXTERN 878 OnigOptionType onig_get_options(const OnigRegexType *reg); 879 ONIG_EXTERN 880 OnigCaseFoldType onig_get_case_fold_flag(const OnigRegexType *reg); 881 ONIG_EXTERN 882 const OnigSyntaxType* onig_get_syntax(const OnigRegexType *reg); 883 ONIG_EXTERN 884 int onig_set_default_syntax(const OnigSyntaxType* syntax); 885 ONIG_EXTERN 886 void onig_copy_syntax(OnigSyntaxType* to, const OnigSyntaxType* from); 887 ONIG_EXTERN 888 unsigned int onig_get_syntax_op(const OnigSyntaxType* syntax); 889 ONIG_EXTERN 890 unsigned int onig_get_syntax_op2(const OnigSyntaxType* syntax); 891 ONIG_EXTERN 892 unsigned int onig_get_syntax_behavior(const OnigSyntaxType* syntax); 893 ONIG_EXTERN 894 OnigOptionType onig_get_syntax_options(const OnigSyntaxType* syntax); 895 ONIG_EXTERN 896 void onig_set_syntax_op(OnigSyntaxType* syntax, unsigned int op); 897 ONIG_EXTERN 898 void onig_set_syntax_op2(OnigSyntaxType* syntax, unsigned int op2); 899 ONIG_EXTERN 900 void onig_set_syntax_behavior(OnigSyntaxType* syntax, unsigned int behavior); 901 ONIG_EXTERN 902 void onig_set_syntax_options(OnigSyntaxType* syntax, OnigOptionType options); 903 ONIG_EXTERN 904 int onig_set_meta_char(OnigSyntaxType* syntax, unsigned int what, OnigCodePoint code); 905 ONIG_EXTERN 906 void onig_copy_encoding(OnigEncodingType *to, OnigEncoding from); 907 ONIG_EXTERN 908 OnigCaseFoldType onig_get_default_case_fold_flag(void); 909 ONIG_EXTERN 910 int onig_set_default_case_fold_flag(OnigCaseFoldType case_fold_flag); 911 ONIG_EXTERN 912 unsigned int onig_get_match_stack_limit_size(void); 913 ONIG_EXTERN 914 int onig_set_match_stack_limit_size(unsigned int size); 915 ONIG_EXTERN 916 unsigned int onig_get_parse_depth_limit(void); 917 ONIG_EXTERN 918 int onig_set_parse_depth_limit(unsigned int depth); 919 ONIG_EXTERN 920 int onig_end(void); 921 ONIG_EXTERN 922 const char* onig_version(void); 923 ONIG_EXTERN 924 const char* onig_copyright(void); 925 926 RUBY_SYMBOL_EXPORT_END 865 927 866 928 #ifdef __cplusplus 929 # if 0 930 { /* satisfy cc-mode */ 931 # endif 867 932 } 868 933 #endif 869 934 870 #endif /* ONIG URUMA_H */935 #endif /* ONIGMO_H */ -
EcnlProtoTool/trunk/onigmo-6.1.3/src/onigmognu.h
r321 r331 1 #ifndef ONIG GNU_H2 #define ONIG GNU_H1 #ifndef ONIGMOGNU_H 2 #define ONIGMOGNU_H 3 3 /********************************************************************** 4 onig gnu.h - Oniguruma(regular expression library)4 onigmognu.h - Onigmo (Oniguruma-mod) (regular expression library) 5 5 **********************************************************************/ 6 6 /*- 7 7 * Copyright (c) 2002-2005 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 8 * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp> 8 9 * All rights reserved. 9 10 * … … 30 31 */ 31 32 32 #include "onig uruma.h"33 #include "onigmo.h" 33 34 34 35 #ifdef __cplusplus … … 59 60 60 61 ONIG_EXTERN 61 void re_mbcinit P_((int));62 void re_mbcinit(int); 62 63 ONIG_EXTERN 63 int re_compile_pattern P_((const char*, int, struct re_pattern_buffer*, char* err_buf));64 int re_compile_pattern(const char*, int, struct re_pattern_buffer*, char* err_buf); 64 65 ONIG_EXTERN 65 int re_recompile_pattern P_((const char*, int, struct re_pattern_buffer*, char* err_buf));66 int re_recompile_pattern(const char*, int, struct re_pattern_buffer*, char* err_buf); 66 67 ONIG_EXTERN 67 void re_free_pattern P_((struct re_pattern_buffer*));68 void re_free_pattern(struct re_pattern_buffer*); 68 69 ONIG_EXTERN 69 int re_adjust_startpos P_((struct re_pattern_buffer*, const char*, int, int, int));70 int re_adjust_startpos(struct re_pattern_buffer*, const char*, int, int, int); 70 71 ONIG_EXTERN 71 int re_search P_((struct re_pattern_buffer*, const char*, int, int, int, struct re_registers*));72 int re_search(struct re_pattern_buffer*, const char*, int, int, int, struct re_registers*); 72 73 ONIG_EXTERN 73 int re_match P_((struct re_pattern_buffer*, const char *, int, int, struct re_registers*));74 int re_match(struct re_pattern_buffer*, const char *, int, int, struct re_registers*); 74 75 ONIG_EXTERN 75 void re_set_casetable P_((const char*));76 void re_set_casetable(const char*); 76 77 ONIG_EXTERN 77 void re_free_registers P_((struct re_registers*));78 void re_free_registers(struct re_registers*); 78 79 ONIG_EXTERN 79 int re_alloc_pattern P_((struct re_pattern_buffer**)); /* added */80 int re_alloc_pattern(struct re_pattern_buffer**); /* added */ 80 81 81 82 #ifdef __cplusplus … … 83 84 #endif 84 85 85 #endif /* ONIG GNU_H */86 #endif /* ONIGMOGNU_H */ -
EcnlProtoTool/trunk/onigmo-6.1.3/src/onigmoposix.h
r321 r331 1 #ifndef ONIG POSIX_H2 #define ONIG POSIX_H1 #ifndef ONIGMOPOSIX_H 2 #define ONIGMOPOSIX_H 3 3 /********************************************************************** 4 onig posix.h - Oniguruma(regular expression library)4 onigmoposix.h - Onigmo (Oniguruma-mod) (regular expression library) 5 5 **********************************************************************/ 6 6 /*- 7 7 * Copyright (c) 2002-2005 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 8 * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp> 8 9 * All rights reserved. 9 10 * … … 62 63 #define REG_EONIG_BADWC 15 63 64 #define REG_EONIG_BADARG 16 64 #define REG_EONIG_THREAD 17 65 /* #define REG_EONIG_THREAD 17 */ 65 66 66 67 /* character encodings (for reg_set_encoding()) */ … … 88 89 89 90 90 #ifndef P_ 91 #if defined(__STDC__) || defined(_WIN32) 92 # define P_(args) args 93 #else 94 # define P_(args) () 95 #endif 91 #ifndef ONIG_EXTERN 92 # if defined(_WIN32) && !defined(__GNUC__) 93 # if defined(EXPORT) 94 # define ONIG_EXTERN extern __declspec(dllexport) 95 # else 96 # define ONIG_EXTERN extern __declspec(dllimport) 97 # endif 98 # endif 96 99 #endif 97 100 98 101 #ifndef ONIG_EXTERN 99 #if defined(_WIN32) && !defined(__GNUC__) 100 #if defined(EXPORT) 101 #define ONIG_EXTERN extern __declspec(dllexport) 102 #else 103 #define ONIG_EXTERN extern __declspec(dllimport) 104 #endif 105 #endif 102 # define ONIG_EXTERN extern 106 103 #endif 107 104 108 #ifndef ONIG_EXTERN 109 #define ONIG_EXTERN extern 110 #endif 111 112 #ifndef ONIGURUMA_H 105 #ifndef ONIGMO_H 113 106 typedef unsigned int OnigOptionType; 114 107 … … 121 114 } OnigSyntaxType; 122 115 123 ONIG_EXTERN OnigSyntaxType OnigSyntaxPosixBasic;124 ONIG_EXTERN OnigSyntaxType OnigSyntaxPosixExtended;125 ONIG_EXTERN OnigSyntaxType OnigSyntaxEmacs;126 ONIG_EXTERN OnigSyntaxType OnigSyntaxGrep;127 ONIG_EXTERN OnigSyntaxType OnigSyntaxGnuRegex;128 ONIG_EXTERN OnigSyntaxType OnigSyntaxJava;129 ONIG_EXTERN OnigSyntaxType OnigSyntaxPerl;130 ONIG_EXTERN OnigSyntaxType OnigSyntaxRuby;116 ONIG_EXTERN const OnigSyntaxType OnigSyntaxPosixBasic; 117 ONIG_EXTERN const OnigSyntaxType OnigSyntaxPosixExtended; 118 ONIG_EXTERN const OnigSyntaxType OnigSyntaxEmacs; 119 ONIG_EXTERN const OnigSyntaxType OnigSyntaxGrep; 120 ONIG_EXTERN const OnigSyntaxType OnigSyntaxGnuRegex; 121 ONIG_EXTERN const OnigSyntaxType OnigSyntaxJava; 122 ONIG_EXTERN const OnigSyntaxType OnigSyntaxPerl; 123 ONIG_EXTERN const OnigSyntaxType OnigSyntaxRuby; 131 124 132 125 /* predefined syntaxes (see regsyntax.c) */ … … 142 135 #define ONIG_SYNTAX_DEFAULT OnigDefaultSyntax 143 136 144 ONIG_EXTERN OnigSyntaxType* OnigDefaultSyntax;137 ONIG_EXTERN const OnigSyntaxType* OnigDefaultSyntax; 145 138 146 ONIG_EXTERN int onig_set_default_syntax P_((OnigSyntaxType* syntax)); 147 ONIG_EXTERN void onig_copy_syntax P_((OnigSyntaxType* to, OnigSyntaxType* from)); 148 ONIG_EXTERN const char* onig_version P_((void)); 149 ONIG_EXTERN const char* onig_copyright P_((void)); 139 ONIG_EXTERN int onig_set_default_syntax(const OnigSyntaxType* syntax); 140 ONIG_EXTERN void onig_copy_syntax(OnigSyntaxType* to, const OnigSyntaxType* from); 141 ONIG_EXTERN const char* onig_version(void); 142 ONIG_EXTERN const char* onig_copyright(void); 143 ONIG_EXTERN int onig_end(void); 150 144 151 #endif /* ONIG URUMA_H */145 #endif /* ONIGMO_H */ 152 146 153 147 154 ONIG_EXTERN int regcomp P_((regex_t* reg, const char* pat, int options));155 ONIG_EXTERN int regexec P_((regex_t* reg, const char* str, size_t nmatch, regmatch_t* matches, int options));156 ONIG_EXTERN void regfree P_((regex_t* reg));157 ONIG_EXTERN size_t regerror P_((int code, const regex_t* reg, char* buf, size_t size));148 ONIG_EXTERN int regcomp(regex_t* reg, const char* pat, int options); 149 ONIG_EXTERN int regexec(regex_t* reg, const char* str, size_t nmatch, regmatch_t* matches, int options); 150 ONIG_EXTERN void regfree(regex_t* reg); 151 ONIG_EXTERN size_t regerror(int code, const regex_t* reg, char* buf, size_t size); 158 152 159 153 /* extended API */ 160 ONIG_EXTERN void reg_set_encoding P_((int enc));161 ONIG_EXTERN int reg_name_to_group_numbers P_((regex_t* reg, const unsigned char* name, const unsigned char* name_end, int** nums));162 ONIG_EXTERN int reg_foreach_name P_((regex_t* reg, int (*func)(const unsigned char*, const unsigned char*,int,int*,regex_t*,void*), void* arg));163 ONIG_EXTERN int reg_number_of_names P_((regex_t* reg));154 ONIG_EXTERN void reg_set_encoding(int enc); 155 ONIG_EXTERN int reg_name_to_group_numbers(regex_t* reg, const unsigned char* name, const unsigned char* name_end, int** nums); 156 ONIG_EXTERN int reg_foreach_name(regex_t* reg, int (*func)(const unsigned char*, const unsigned char*,int,int*,regex_t*,void*), void* arg); 157 ONIG_EXTERN int reg_number_of_names(regex_t* reg); 164 158 165 159 #ifdef __cplusplus … … 167 161 #endif 168 162 169 #endif /* ONIG POSIX_H */163 #endif /* ONIGMOPOSIX_H */ -
EcnlProtoTool/trunk/onigmo-6.1.3/src/regcomp.c
r321 r331 4 4 /*- 5 5 * Copyright (c) 2002-2013 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 6 * Copyright (c) 2011-201 4K.Takata <kentkt AT csc DOT jp>6 * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp> 7 7 * All rights reserved. 8 8 * … … 31 31 #include "regparse.h" 32 32 33 #if defined(USE_MULTI_THREAD_SYSTEM) \34 && defined(USE_DEFAULT_MULTI_THREAD_SYSTEM)35 #ifdef _WIN3236 CRITICAL_SECTION gOnigMutex;37 #else38 pthread_mutex_t gOnigMutex;39 #endif40 #endif41 42 33 OnigCaseFoldType OnigDefaultCaseFoldFlag = ONIGENC_CASE_FOLD_MIN; 43 34 … … 264 255 } 265 256 257 #if 0 266 258 static int 267 259 add_pointer(regex_t* reg, void* addr) … … 272 264 return 0; 273 265 } 266 #endif 274 267 275 268 static int … … 483 476 484 477 p = prev = sn->s; 485 prev_len = enclen(enc, p );478 prev_len = enclen(enc, p, sn->end); 486 479 p += prev_len; 487 480 blen = prev_len; … … 489 482 490 483 for (; p < sn->end; ) { 491 len = enclen(enc, p );484 len = enclen(enc, p, sn->end); 492 485 if (len == prev_len || ambig) { 493 486 blen += len; … … 532 525 533 526 p = prev = sn->s; 534 prev_len = enclen(enc, p );527 prev_len = enclen(enc, p, end); 535 528 p += prev_len; 536 529 blen = prev_len; 537 530 538 531 for (; p < end; ) { 539 len = enclen(enc, p );532 len = enclen(enc, p, end); 540 533 if (len == prev_len || ambig) { 541 534 blen += len; … … 592 585 int len; 593 586 594 if (IS_NCCLASS_SHARE(cc)) {595 len = SIZE_OPCODE + SIZE_POINTER;596 return len;597 }598 599 587 if (IS_NULL(cc->mbuf)) { 600 588 len = SIZE_OPCODE + SIZE_BITSET; … … 621 609 { 622 610 int r; 623 624 if (IS_NCCLASS_SHARE(cc)) {625 add_opcode(reg, OP_CCLASS_NODE);626 r = add_pointer(reg, cc);627 return r;628 }629 611 630 612 if (IS_NULL(cc->mbuf)) { … … 639 621 if (ONIGENC_MBC_MINLEN(reg->enc) > 1 || bitset_is_empty(cc->bs)) { 640 622 if (IS_NCCLASS_NOT(cc)) 641 623 add_opcode(reg, OP_CCLASS_MB_NOT); 642 624 else 643 625 add_opcode(reg, OP_CCLASS_MB); 644 626 645 627 r = add_multi_byte_cclass(cc->mbuf, reg); … … 647 629 else { 648 630 if (IS_NCCLASS_NOT(cc)) 649 631 add_opcode(reg, OP_CCLASS_MIX_NOT); 650 632 else 651 633 add_opcode(reg, OP_CCLASS_MIX); 652 634 653 635 r = add_bitset(reg, cc->bs); … … 761 743 if (qn->greedy && infinite) { 762 744 if (IS_NOT_NULL(qn->next_head_exact) && !CKN_ON) 763 745 return SIZE_OP_ANYCHAR_STAR_PEEK_NEXT + tlen * qn->lower + cklen; 764 746 else 765 747 return SIZE_OP_ANYCHAR_STAR + tlen * qn->lower + cklen; 766 748 } 767 749 } … … 990 972 if (qn->greedy && infinite) { 991 973 if (IS_NOT_NULL(qn->next_head_exact)) 992 974 return SIZE_OP_ANYCHAR_STAR_PEEK_NEXT + tlen * qn->lower; 993 975 else 994 976 return SIZE_OP_ANYCHAR_STAR + tlen * qn->lower; 995 977 } 996 978 } … … 1011 993 1012 994 if (qn->greedy) { 995 #ifdef USE_OP_PUSH_OR_JUMP_EXACT 1013 996 if (IS_NOT_NULL(qn->head_exact)) 1014 997 len += SIZE_OP_PUSH_OR_JUMP_EXACT1 + mod_tlen + SIZE_OP_JUMP; 1015 else if (IS_NOT_NULL(qn->next_head_exact)) 998 else 999 #endif 1000 if (IS_NOT_NULL(qn->next_head_exact)) 1016 1001 len += SIZE_OP_PUSH_IF_PEEK_NEXT + mod_tlen + SIZE_OP_JUMP; 1017 1002 else … … 1079 1064 if (qn->lower == 1 && tlen > QUANTIFIER_EXPAND_LIMIT_SIZE) { 1080 1065 if (qn->greedy) { 1066 #ifdef USE_OP_PUSH_OR_JUMP_EXACT 1081 1067 if (IS_NOT_NULL(qn->head_exact)) 1082 1068 r = add_opcode_rel_addr(reg, OP_JUMP, SIZE_OP_PUSH_OR_JUMP_EXACT1); 1083 else if (IS_NOT_NULL(qn->next_head_exact)) 1069 else 1070 #endif 1071 if (IS_NOT_NULL(qn->next_head_exact)) 1084 1072 r = add_opcode_rel_addr(reg, OP_JUMP, SIZE_OP_PUSH_IF_PEEK_NEXT); 1085 1073 else … … 1097 1085 1098 1086 if (qn->greedy) { 1087 #ifdef USE_OP_PUSH_OR_JUMP_EXACT 1099 1088 if (IS_NOT_NULL(qn->head_exact)) { 1100 1089 r = add_opcode_rel_addr(reg, OP_PUSH_OR_JUMP_EXACT1, … … 1107 1096 -(mod_tlen + (int )SIZE_OP_JUMP + (int )SIZE_OP_PUSH_OR_JUMP_EXACT1)); 1108 1097 } 1109 else if (IS_NOT_NULL(qn->next_head_exact)) { 1098 else 1099 #endif 1100 if (IS_NOT_NULL(qn->next_head_exact)) { 1110 1101 r = add_opcode_rel_addr(reg, OP_PUSH_IF_PEEK_NEXT, 1111 1102 mod_tlen + SIZE_OP_JUMP); … … 1244 1235 ? SIZE_OP_MEMORY_END_REC : SIZE_OP_MEMORY_END); 1245 1236 } 1237 else if (IS_ENCLOSE_RECURSION(node)) { 1238 len = SIZE_OP_MEMORY_START_PUSH; 1239 len += tlen + (BIT_STATUS_AT(reg->bt_mem_end, node->regnum) 1240 ? SIZE_OP_MEMORY_END_PUSH_REC : SIZE_OP_MEMORY_END_REC); 1241 } 1246 1242 else 1247 1243 #endif … … 1289 1285 return ONIGERR_PARSER_BUG; 1290 1286 } 1287 break; 1288 1289 case ENCLOSE_ABSENT: 1290 len = SIZE_OP_PUSH_ABSENT_POS + SIZE_OP_ABSENT + tlen + SIZE_OP_ABSENT_END; 1291 1291 break; 1292 1292 … … 1355 1355 r = add_opcode(reg, OP_RETURN); 1356 1356 } 1357 else if (IS_ENCLOSE_RECURSION(node)) { 1358 if (BIT_STATUS_AT(reg->bt_mem_end, node->regnum)) 1359 r = add_opcode(reg, OP_MEMORY_END_PUSH_REC); 1360 else 1361 r = add_opcode(reg, OP_MEMORY_END_REC); 1362 if (r) return r; 1363 r = add_mem_num(reg, node->regnum); 1364 } 1357 1365 else 1358 1366 #endif … … 1427 1435 break; 1428 1436 1437 case ENCLOSE_ABSENT: 1438 len = compile_length_tree(node->target, reg); 1439 if (len < 0) return len; 1440 1441 r = add_opcode(reg, OP_PUSH_ABSENT_POS); 1442 if (r) return r; 1443 r = add_opcode_rel_addr(reg, OP_ABSENT, len + SIZE_OP_ABSENT_END); 1444 if (r) return r; 1445 r = compile_tree(node->target, reg); 1446 if (r) return r; 1447 r = add_opcode(reg, OP_ABSENT_END); 1448 break; 1449 1429 1450 default: 1430 1451 return ONIGERR_TYPE_BUG; … … 1480 1501 case ANCHOR_SEMI_END_BUF: r = add_opcode(reg, OP_SEMI_END_BUF); break; 1481 1502 case ANCHOR_BEGIN_POSITION: r = add_opcode(reg, OP_BEGIN_POSITION); break; 1482 1483 /* used for implicit anchor optimization: /.*a/ ==> /(?:^|\G).*a/ */1484 case ANCHOR_ANYCHAR_STAR: r = add_opcode(reg, OP_BEGIN_POS_OR_LINE); break;1485 1503 1486 1504 case ANCHOR_WORD_BOUND: … … 1590 1608 len = 0; 1591 1609 do { 1592 1593 1594 1595 1610 r = compile_length_tree(NCAR(node), reg); 1611 if (r < 0) return r; 1612 len += r; 1613 n++; 1596 1614 } while (IS_NOT_NULL(node = NCDR(node))); 1597 1615 r = len; … … 1622 1640 #ifdef USE_BACKREF_WITH_LEVEL 1623 1641 if (IS_BACKREF_NEST_LEVEL(br)) { 1624 1642 r = SIZE_OPCODE + SIZE_OPTION + SIZE_LENGTH + 1625 1643 SIZE_LENGTH + (SIZE_MEMNUM * br->back_num); 1626 1644 } … … 1786 1804 int* p; 1787 1805 1788 1789 1790 1791 1792 1793 1806 if (IS_IGNORECASE(reg->options)) { 1807 r = add_opcode(reg, OP_BACKREF_MULTI_IC); 1808 } 1809 else { 1810 r = add_opcode(reg, OP_BACKREF_MULTI); 1811 } 1794 1812 if (r) return r; 1795 1813 … … 1885 1903 1886 1904 case NT_ANCHOR: 1887 { 1888 AnchorNode* an = NANCHOR(node); 1889 switch (an->type) { 1890 case ANCHOR_PREC_READ: 1891 case ANCHOR_PREC_READ_NOT: 1892 case ANCHOR_LOOK_BEHIND: 1893 case ANCHOR_LOOK_BEHIND_NOT: 1894 r = noname_disable_map(&(an->target), map, counter); 1895 break; 1896 } 1897 } 1905 if (NANCHOR(node)->target) 1906 r = noname_disable_map(&(NANCHOR(node)->target), map, counter); 1898 1907 break; 1899 1908 … … 1952 1961 EncloseNode* en = NENCLOSE(node); 1953 1962 if (en->type == ENCLOSE_CONDITION) 1954 1963 en->regnum = map[en->regnum].new_val; 1955 1964 r = renumber_by_map(en->target, map); 1956 1965 } … … 1962 1971 1963 1972 case NT_ANCHOR: 1964 { 1965 AnchorNode* an = NANCHOR(node); 1966 switch (an->type) { 1967 case ANCHOR_PREC_READ: 1968 case ANCHOR_PREC_READ_NOT: 1969 case ANCHOR_LOOK_BEHIND: 1970 case ANCHOR_LOOK_BEHIND_NOT: 1971 r = renumber_by_map(an->target, map); 1972 break; 1973 } 1974 } 1973 if (NANCHOR(node)->target) 1974 r = renumber_by_map(NANCHOR(node)->target, map); 1975 1975 break; 1976 1976 … … 2006 2006 break; 2007 2007 2008 case NT_ANCHOR: 2009 if (NANCHOR(node)->target) 2010 r = numbered_ref_check(NANCHOR(node)->target); 2011 break; 2012 2008 2013 default: 2009 2014 break; … … 2014 2019 2015 2020 static int 2016 disable_noname_group_capture _(Node** root, regex_t* reg, ScanEnv* env, GroupNumRemap* map)2021 disable_noname_group_capture(Node** root, regex_t* reg, ScanEnv* env) 2017 2022 { 2018 2023 int r, i, pos, counter; 2019 2024 BitStatusType loc; 2020 2025 GroupNumRemap* map; 2026 2027 map = (GroupNumRemap* )xalloca(sizeof(GroupNumRemap) * (env->num_mem + 1)); 2021 2028 CHECK_NULL_RETURN_MEMERR(map); 2022 2029 for (i = 1; i <= env->num_mem; i++) { … … 2049 2056 2050 2057 return onig_renumber_name_table(reg, map); 2051 }2052 2053 static int2054 disable_noname_group_capture(Node** root, regex_t* reg, ScanEnv* env)2055 {2056 GroupNumRemap* map = (GroupNumRemap*)xmalloc(sizeof(GroupNumRemap) * (env->num_mem + 1));2057 int ret = disable_noname_group_capture_(root, reg, env, map);2058 xfree(map);2059 return ret;2060 2058 } 2061 2059 #endif /* USE_NAMED_GROUP */ … … 2099 2097 break; 2100 2098 2101 # ifdef USE_SUBEXP_CALL2099 # ifdef USE_SUBEXP_CALL 2102 2100 case NT_CALL: 2103 2101 if (IS_CALL_RECURSION(NCALL(node))) { … … 2107 2105 r = quantifiers_memory_node_info(NCALL(node)->target); 2108 2106 break; 2109 # endif2107 # endif 2110 2108 2111 2109 case NT_QTFR: … … 2129 2127 case ENCLOSE_STOP_BACKTRACK: 2130 2128 case ENCLOSE_CONDITION: 2129 case ENCLOSE_ABSENT: 2131 2130 r = quantifiers_memory_node_info(en->target); 2132 2131 break; … … 2246 2245 switch (en->type) { 2247 2246 case ENCLOSE_MEMORY: 2248 #ifdef USE_SUBEXP_CALL 2249 if (IS_ENCLOSE_MIN_FIXED(en)) 2250 *min = en->min_len; 2251 else { 2252 r = get_min_match_length(en->target, min, env); 2253 if (r == 0) { 2254 en->min_len = *min; 2255 SET_ENCLOSE_STATUS(node, NST_MIN_FIXED); 2247 if (IS_ENCLOSE_MIN_FIXED(en)) 2248 *min = en->min_len; 2249 else { 2250 if (IS_ENCLOSE_MARK1(NENCLOSE(node))) 2251 *min = 0; /* recursive */ 2252 else { 2253 SET_ENCLOSE_STATUS(node, NST_MARK1); 2254 r = get_min_match_length(en->target, min, env); 2255 CLEAR_ENCLOSE_STATUS(node, NST_MARK1); 2256 if (r == 0) { 2257 en->min_len = *min; 2258 SET_ENCLOSE_STATUS(node, NST_MIN_FIXED); 2259 } 2256 2260 } 2257 2258 2259 #endif 2261 } 2262 break; 2263 2260 2264 case ENCLOSE_OPTION: 2261 2265 case ENCLOSE_STOP_BACKTRACK: 2262 2266 case ENCLOSE_CONDITION: 2263 2267 r = get_min_match_length(en->target, min, env); 2268 break; 2269 2270 case ENCLOSE_ABSENT: 2264 2271 break; 2265 2272 } … … 2364 2371 switch (en->type) { 2365 2372 case ENCLOSE_MEMORY: 2366 #ifdef USE_SUBEXP_CALL2367 2373 if (IS_ENCLOSE_MAX_FIXED(en)) 2368 2374 *max = en->max_len; 2369 2375 else { 2370 r = get_max_match_length(en->target, max, env); 2371 if (r == 0) { 2372 en->max_len = *max; 2373 SET_ENCLOSE_STATUS(node, NST_MAX_FIXED); 2376 if (IS_ENCLOSE_MARK1(NENCLOSE(node))) 2377 *max = ONIG_INFINITE_DISTANCE; 2378 else { 2379 SET_ENCLOSE_STATUS(node, NST_MARK1); 2380 r = get_max_match_length(en->target, max, env); 2381 CLEAR_ENCLOSE_STATUS(node, NST_MARK1); 2382 if (r == 0) { 2383 en->max_len = *max; 2384 SET_ENCLOSE_STATUS(node, NST_MAX_FIXED); 2385 } 2374 2386 } 2375 2387 } 2376 2388 break; 2377 #endif 2389 2378 2390 case ENCLOSE_OPTION: 2379 2391 case ENCLOSE_STOP_BACKTRACK: 2380 2392 case ENCLOSE_CONDITION: 2381 2393 r = get_max_match_length(en->target, max, env); 2394 break; 2395 2396 case ENCLOSE_ABSENT: 2382 2397 break; 2383 2398 } … … 2445 2460 UChar *s = sn->s; 2446 2461 while (s < sn->end) { 2447 s += enclen(reg->enc, s );2462 s += enclen(reg->enc, s, sn->end); 2448 2463 (*len)++; 2449 2464 } … … 2504 2519 r = get_char_length_tree1(en->target, reg, len, level); 2505 2520 break; 2521 case ENCLOSE_ABSENT: 2506 2522 default: 2507 2523 break; … … 2630 2646 v = BITSET_AT(xc->bs, i); 2631 2647 if ((v != 0 && !IS_NCCLASS_NOT(xc)) || 2632 2648 (v == 0 && IS_NCCLASS_NOT(xc))) { 2633 2649 v = BITSET_AT(yc->bs, i); 2634 2650 if ((v != 0 && !IS_NCCLASS_NOT(yc)) || 2635 2651 (v == 0 && IS_NCCLASS_NOT(yc))) 2636 2652 return 0; 2637 2653 } … … 2683 2699 2684 2700 case NT_CCLASS: 2685 2686 2687 2688 2689 2690 2691 2692 2701 { 2702 CClassNode* cc = NCCLASS(y); 2703 2704 code = ONIGENC_MBC_TO_CODE(reg->enc, xs->s, 2705 xs->s + ONIGENC_MBC_MAXLEN(reg->enc)); 2706 return (onig_is_code_in_cc(reg->enc, code, cc) != 0 ? 0 : 1); 2707 } 2708 break; 2693 2709 2694 2710 case NT_STR: 2695 2696 2697 2698 2699 2700 2701 2702 2711 { 2712 UChar *q; 2713 StrNode* ys = NSTR(y); 2714 len = NSTRING_LEN(x); 2715 if (len > NSTRING_LEN(y)) len = NSTRING_LEN(y); 2716 if (NSTRING_IS_AMBIG(x) || NSTRING_IS_AMBIG(y)) { 2717 /* tiny version */ 2718 return 0; 2703 2719 } 2704 2720 else { … … 2711 2727 2712 2728 default: 2713 2729 break; 2714 2730 } 2715 2731 } … … 2768 2784 QtfrNode* qn = NQTFR(node); 2769 2785 if (qn->lower > 0) { 2786 #ifdef USE_OP_PUSH_OR_JUMP_EXACT 2770 2787 if (IS_NOT_NULL(qn->head_exact)) 2771 2788 n = qn->head_exact; 2772 2789 else 2790 #endif 2773 2791 n = get_head_value_node(qn->target, exact, reg); 2774 2792 } … … 2795 2813 n = get_head_value_node(en->target, exact, reg); 2796 2814 break; 2815 2816 case ENCLOSE_ABSENT: 2817 break; 2797 2818 } 2798 2819 } … … 2862 2883 #ifdef USE_SUBEXP_CALL 2863 2884 2864 # define RECURSION_EXIST 12865 # define RECURSION_INFINITE 22885 # define RECURSION_EXIST 1 2886 # define RECURSION_INFINITE 2 2866 2887 2867 2888 static int … … 3063 3084 subexp_recursive_check_trav(Node* node, ScanEnv* env) 3064 3085 { 3065 # define FOUND_CALLED_NODE 13086 # define FOUND_CALLED_NODE 1 3066 3087 3067 3088 int type; … … 3164 3185 int gnum = cn->group_num; 3165 3186 3166 # ifdef USE_NAMED_GROUP3187 # ifdef USE_NAMED_GROUP 3167 3188 if (env->num_named > 0 && 3168 3189 IS_SYNTAX_BV(env->syntax, ONIG_SYN_CAPTURE_ONLY_NAMED_GROUP) && … … 3170 3191 return ONIGERR_NUMBERED_BACKREF_OR_CALL_NOT_ALLOWED; 3171 3192 } 3172 # endif3193 # endif 3173 3194 if (gnum > env->num_mem) { 3174 3195 onig_scan_env_set_error_string(env, … … 3177 3198 } 3178 3199 3179 # ifdef USE_NAMED_GROUP3200 # ifdef USE_NAMED_GROUP 3180 3201 set_call_attr: 3181 # endif3202 # endif 3182 3203 cn->target = nodes[cn->group_num]; 3183 3204 if (IS_NULL(cn->target)) { … … 3190 3211 cn->unset_addr_list = env->unset_addr_list; 3191 3212 } 3192 # ifdef USE_NAMED_GROUP3193 # ifdef USE_PERL_SUBEXP_CALL3213 # ifdef USE_NAMED_GROUP 3214 # ifdef USE_PERL_SUBEXP_CALL 3194 3215 else if (cn->name == cn->name_end) { 3195 3216 goto set_call_attr; 3196 3217 } 3197 # endif3218 # endif 3198 3219 else { 3199 3220 int *refs; … … 3217 3238 } 3218 3239 } 3219 # endif3240 # endif 3220 3241 } 3221 3242 break; … … 3300 3321 3301 3322 static int 3302 next_setup(Node* node, Node* next_node, int in_root,regex_t* reg)3323 next_setup(Node* node, Node* next_node, regex_t* reg) 3303 3324 { 3304 3325 int type; … … 3334 3355 } 3335 3356 } 3336 3337 #ifndef ONIG_DONT_OPTIMIZE3338 if (NTYPE(node) == NT_QTFR && /* the type may be changed by above block */3339 in_root && /* qn->lower == 0 && */3340 NTYPE(qn->target) == NT_CANY &&3341 ! IS_MULTILINE(reg->options)) {3342 /* implicit anchor: /.*a/ ==> /(?:^|\G).*a/ */3343 Node *np;3344 np = onig_node_new_list(NULL_NODE, NULL_NODE);3345 CHECK_NULL_RETURN_MEMERR(np);3346 swap_node(node, np);3347 NCDR(node) = onig_node_new_list(np, NULL_NODE);3348 if (IS_NULL(NCDR(node))) {3349 onig_node_free(np);3350 return ONIGERR_MEMORY;3351 }3352 np = onig_node_new_anchor(ANCHOR_ANYCHAR_STAR); /* (?:^|\G) */3353 CHECK_NULL_RETURN_MEMERR(np);3354 NCAR(node) = np;3355 }3356 #endif3357 3357 } 3358 3358 } 3359 3359 else if (type == NT_ENCLOSE) { 3360 3360 EncloseNode* en = NENCLOSE(node); 3361 in_root = 0;3362 3361 if (en->type == ENCLOSE_MEMORY) { 3363 3362 node = en->target; … … 3516 3515 3517 3516 if (q < end) { 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3517 r = expand_case_fold_make_rem_string(&rem, q, end, reg); 3518 if (r != 0) { 3519 onig_node_free(an); 3520 goto mem_err2; 3521 } 3522 3523 xnode = onig_node_list_add(NULL_NODE, snode); 3524 if (IS_NULL(xnode)) { 3525 onig_node_free(an); 3526 onig_node_free(rem); 3527 goto mem_err2; 3528 } 3529 if (IS_NULL(onig_node_list_add(xnode, rem))) { 3530 onig_node_free(an); 3531 onig_node_free(xnode); 3532 onig_node_free(rem); 3533 goto mem_err; 3534 } 3535 3536 NCAR(an) = xnode; 3538 3537 } 3539 3538 else { 3540 3539 NCAR(an) = snode; 3541 3540 } 3542 3541 … … 3592 3591 } 3593 3592 3594 len = enclen(reg->enc, p );3593 len = enclen(reg->enc, p, end); 3595 3594 3596 3595 varlen = is_case_fold_variable_len(n, items, len); … … 3715 3714 #ifdef USE_COMBINATION_EXPLOSION_CHECK 3716 3715 3717 # define CEC_THRES_NUM_BIG_REPEAT 5123718 # define CEC_INFINITE_NUM 0x7fffffff3719 3720 # define CEC_IN_INFINITE_REPEAT (1<<0)3721 # define CEC_IN_FINITE_REPEAT (1<<1)3722 # define CEC_CONT_BIG_REPEAT (1<<2)3716 # define CEC_THRES_NUM_BIG_REPEAT 512 3717 # define CEC_INFINITE_NUM 0x7fffffff 3718 3719 # define CEC_IN_INFINITE_REPEAT (1<<0) 3720 # define CEC_IN_FINITE_REPEAT (1<<1) 3721 # define CEC_CONT_BIG_REPEAT (1<<2) 3723 3722 3724 3723 static int … … 3836 3835 break; 3837 3836 3838 # ifdef USE_SUBEXP_CALL3837 # ifdef USE_SUBEXP_CALL 3839 3838 case NT_CALL: 3840 3839 if (IS_CALL_RECURSION(NCALL(node))) … … 3843 3842 r = setup_comb_exp_check(NCALL(node)->target, state, env); 3844 3843 break; 3845 # endif3844 # endif 3846 3845 3847 3846 default: … … 3857 3856 #define IN_REPEAT (1<<2) 3858 3857 #define IN_VAR_REPEAT (1<<3) 3859 #define IN_ROOT (1<<4) 3858 #define IN_CALL (1<<4) 3859 #define IN_RECCALL (1<<5) 3860 3860 3861 3861 /* setup_tree does the following work. … … 3872 3872 int type; 3873 3873 int r = 0; 3874 int in_root = state & IN_ROOT; 3875 3876 state &= ~IN_ROOT; 3874 3877 3875 restart: 3878 3876 type = NTYPE(node); … … 3881 3879 { 3882 3880 Node* prev = NULL_NODE; 3883 int prev_in_root = 0;3884 state |= in_root;3885 3881 do { 3886 3882 r = setup_tree(NCAR(node), reg, state, env); 3887 3883 if (IS_NOT_NULL(prev) && r == 0) { 3888 r = next_setup(prev, NCAR(node), prev_in_root,reg);3884 r = next_setup(prev, NCAR(node), reg); 3889 3885 } 3890 3886 prev = NCAR(node); 3891 prev_in_root = state & IN_ROOT;3892 state &= ~IN_ROOT;3893 3887 } while (r == 0 && IS_NOT_NULL(node = NCDR(node))); 3894 3888 } … … 3947 3941 3948 3942 if ((state & IN_REPEAT) != 0) { 3949 3943 qn->state |= NST_IN_REPEAT; 3950 3944 } 3951 3945 … … 4054 4048 { 4055 4049 OnigOptionType options = reg->options; 4056 state |= in_root;4057 4050 reg->options = NENCLOSE(node)->option; 4058 4051 r = setup_tree(NENCLOSE(node)->target, reg, state, env); … … 4062 4055 4063 4056 case ENCLOSE_MEMORY: 4064 if ((state & (IN_ALT | IN_NOT | IN_VAR_REPEAT )) != 0) {4057 if ((state & (IN_ALT | IN_NOT | IN_VAR_REPEAT | IN_CALL)) != 0) { 4065 4058 BIT_STATUS_ON_AT(env->bt_mem_start, en->regnum); 4066 4059 /* SET_ENCLOSE_STATUS(node, NST_MEM_IN_ALT_NOT); */ 4067 4060 } 4068 r = setup_tree(en->target, reg, state, env); 4069 break; 4061 if (IS_ENCLOSE_CALLED(en)) 4062 state |= IN_CALL; 4063 if (IS_ENCLOSE_RECURSION(en)) 4064 state |= IN_RECCALL; 4065 else if ((state & IN_RECCALL) != 0) 4066 SET_CALL_RECURSION(node); 4067 r = setup_tree(en->target, reg, state, env); 4068 break; 4070 4069 4071 4070 case ENCLOSE_STOP_BACKTRACK: … … 4094 4093 } 4095 4094 #endif 4095 if (NENCLOSE(node)->regnum > env->num_mem) 4096 return ONIGERR_INVALID_BACKREF; 4097 r = setup_tree(NENCLOSE(node)->target, reg, state, env); 4098 break; 4099 4100 case ENCLOSE_ABSENT: 4096 4101 r = setup_tree(NENCLOSE(node)->target, reg, state, env); 4097 4102 break; … … 4137 4142 if (r < 0) return r; 4138 4143 if (r > 0) return ONIGERR_INVALID_LOOK_BEHIND_PATTERN; 4139 r = setup_look_behind(node, reg, env);4140 if (r != 0) return r;4141 4144 if (NTYPE(node) != NT_ANCHOR) goto restart; 4142 4145 r = setup_tree(an->target, reg, state, env); 4146 if (r != 0) return r; 4147 r = setup_look_behind(node, reg, env); 4143 4148 } 4144 4149 break; … … 4150 4155 if (r < 0) return r; 4151 4156 if (r > 0) return ONIGERR_INVALID_LOOK_BEHIND_PATTERN; 4152 r = setup_look_behind(node, reg, env);4153 if (r != 0) return r;4154 4157 if (NTYPE(node) != NT_ANCHOR) goto restart; 4155 4158 r = setup_tree(an->target, reg, (state | IN_NOT), env); 4159 if (r != 0) return r; 4160 r = setup_look_behind(node, reg, env); 4156 4161 } 4157 4162 break; … … 4189 4194 n = ONIGENC_GET_CASE_FOLD_CODES_BY_STR(enc, reg->case_fold_flag, 4190 4195 p, end, items); 4191 clen = enclen(enc, p); 4196 clen = enclen(enc, p, end); 4197 if (p + clen > end) 4198 clen = (int )(end - p); 4192 4199 4193 4200 for (j = 0; j < n; j++) { … … 4207 4214 } 4208 4215 else { 4216 # if OPT_EXACT_MAXLEN < ONIG_CHAR_TABLE_SIZE 4217 /* This should not happen. */ 4218 return ONIGERR_TYPE_BUG; 4219 # else 4209 4220 if (IS_NULL(*int_skip)) { 4210 4221 *int_skip = (int* )xmalloc(sizeof(int) * ONIG_CHAR_TABLE_SIZE); … … 4219 4230 n = ONIGENC_GET_CASE_FOLD_CODES_BY_STR(enc, reg->case_fold_flag, 4220 4231 p, end, items); 4221 clen = enclen(enc, p); 4232 clen = enclen(enc, p, end); 4233 if (p + clen > end) 4234 clen = (int )(end - p); 4222 4235 4223 4236 for (j = 0; j < n; j++) { … … 4235 4248 } 4236 4249 } 4250 # endif 4237 4251 } 4238 4252 return 0; … … 4262 4276 n = ONIGENC_GET_CASE_FOLD_CODES_BY_STR(enc, reg->case_fold_flag, 4263 4277 p, end, items); 4264 clen = enclen(enc, p); 4278 clen = enclen(enc, p, end); 4279 if (p + clen > end) 4280 clen = (int )(end - p); 4265 4281 4266 4282 for (j = 0; j < n; j++) { … … 4280 4296 } 4281 4297 else { 4298 # if OPT_EXACT_MAXLEN < ONIG_CHAR_TABLE_SIZE 4299 /* This should not happen. */ 4300 return ONIGERR_TYPE_BUG; 4301 # else 4282 4302 if (IS_NULL(*int_skip)) { 4283 4303 *int_skip = (int* )xmalloc(sizeof(int) * ONIG_CHAR_TABLE_SIZE); … … 4292 4312 n = ONIGENC_GET_CASE_FOLD_CODES_BY_STR(enc, reg->case_fold_flag, 4293 4313 p, end, items); 4294 clen = enclen(enc, p); 4314 clen = enclen(enc, p, end); 4315 if (p + clen > end) 4316 clen = (int )(end - p); 4295 4317 4296 4318 for (j = 0; j < n; j++) { … … 4308 4330 } 4309 4331 } 4332 # endif 4310 4333 } 4311 4334 return 0; 4312 4335 } 4313 4336 #endif /* USE_SUNDAY_QUICK_SEARCH */ 4314 4315 #define OPT_EXACT_MAXLEN 244316 4337 4317 4338 typedef struct { … … 4604 4625 end = p + add->len; 4605 4626 for (i = to->len; p < end; ) { 4606 len = enclen(enc, p );4627 len = enclen(enc, p, end); 4607 4628 if (i + len > OPT_EXACT_MAXLEN) break; 4608 4629 for (j = 0; j < len && p < end; j++) … … 4626 4647 4627 4648 for (i = to->len, p = s; p < end && i < OPT_EXACT_MAXLEN; ) { 4628 len = enclen(enc, p );4649 len = enclen(enc, p, end); 4629 4650 if (i + len > OPT_EXACT_MAXLEN) break; 4630 4651 for (j = 0; j < len && p < end; j++) … … 4652 4673 for (i = 0; i < to->len && i < add->len; ) { 4653 4674 if (to->s[i] != add->s[i]) break; 4654 len = enclen(env->enc, to->s + i );4675 len = enclen(env->enc, to->s + i, to->s + to->len); 4655 4676 4656 4677 for (j = 1; j < len; j++) { … … 4984 5005 add_char_opt_map_info(&opt->map, *(sn->s), env->enc); 4985 5006 } 4986 5007 set_mml(&opt->len, slen, slen); 4987 5008 } 4988 5009 else { 4989 5010 OnigDistance max; 4990 5011 4991 5012 if (NSTRING_IS_DONT_GET_OPT_INFO(node)) { 4992 4993 5013 int n = onigenc_strlen(env->enc, sn->s, sn->end); 5014 max = ONIGENC_MBC_MAXLEN_DIST(env->enc) * n; 4994 5015 } 4995 5016 else { … … 5007 5028 } 5008 5029 5009 5030 set_mml(&opt->len, slen, max); 5010 5031 } 5011 5032 … … 5023 5044 5024 5045 if (IS_NOT_NULL(cc->mbuf) || IS_NCCLASS_NOT(cc)) { 5025 5046 OnigDistance min = ONIGENC_MBC_MINLEN(env->enc); 5026 5047 OnigDistance max = ONIGENC_MBC_MAXLEN_DIST(env->enc); 5027 5048 … … 5029 5050 } 5030 5051 else { 5031 5032 5033 5034 5035 5036 5052 for (i = 0; i < SINGLE_BYTE_SIZE; i++) { 5053 z = BITSET_AT(cc->bs, i); 5054 if ((z && !IS_NCCLASS_NOT(cc)) || (!z && IS_NCCLASS_NOT(cc))) { 5055 add_char_opt_map_info(&opt->map, (UChar )i, env->enc); 5056 } 5057 } 5037 5058 set_mml(&opt->len, 1, 1); 5038 5059 } … … 5048 5069 5049 5070 if (max == 1) { 5050 5071 min = 1; 5051 5072 5052 5073 maxcode = NCTYPE(node)->ascii_range ? 0x80 : SINGLE_BYTE_SIZE; … … 5071 5092 } 5072 5093 else { 5073 5094 min = ONIGENC_MBC_MINLEN(env->enc); 5074 5095 } 5075 5096 set_mml(&opt->len, min, max); … … 5190 5211 if (nopt.exb.reach_end) { 5191 5212 for (i = 2; i <= qn->lower && 5192 5213 ! is_full_opt_exact_info(&opt->exb); i++) { 5193 5214 concat_opt_exact_info(&opt->exb, &nopt.exb, env->enc); 5194 5215 } … … 5261 5282 r = optimize_node_left(en->target, opt, env); 5262 5283 break; 5284 5285 case ENCLOSE_ABSENT: 5286 set_mml(&opt->len, 0, ONIG_INFINITE_DISTANCE); 5287 break; 5263 5288 } 5264 5289 } … … 5312 5337 if (e->len >= 3 || (e->len >= 2 && allow_reverse)) { 5313 5338 r = set_bm_skip(reg->exact, reg->exact_end, reg, 5314 reg->map, &(reg->int_map), 0); 5315 if (r) return r; 5316 5317 reg->optimize = (allow_reverse != 0 5339 reg->map, &(reg->int_map), 0); 5340 if (r == 0) { 5341 reg->optimize = (allow_reverse != 0 5318 5342 ? ONIG_OPTIMIZE_EXACT_BM : ONIG_OPTIMIZE_EXACT_BM_NOT_REV); 5343 } 5344 else { 5345 reg->optimize = ONIG_OPTIMIZE_EXACT; 5346 } 5319 5347 } 5320 5348 else { … … 5381 5409 ANCHOR_BEGIN_POSITION | ANCHOR_ANYCHAR_STAR | ANCHOR_ANYCHAR_STAR_ML | 5382 5410 ANCHOR_LOOK_BEHIND); 5411 5412 if ((opt.anc.left_anchor & (ANCHOR_LOOK_BEHIND | ANCHOR_PREC_READ_NOT)) != 0) 5413 reg->anchor &= ~ANCHOR_ANYCHAR_STAR_ML; 5383 5414 5384 5415 reg->anchor |= opt.anc.right_anchor & (ANCHOR_END_BUF | ANCHOR_SEMI_END_BUF | … … 5455 5486 } 5456 5487 5457 p += enclen(enc, p );5488 p += enclen(enc, p, end); 5458 5489 } 5459 5490 } … … 5574 5605 for (i = 0; i < ONIG_CHAR_TABLE_SIZE; i++) { 5575 5606 if (reg->map[i] != 0) { 5576 5577 5578 5579 5580 5581 5582 5583 5607 if (c > 0) fputs(", ", f); 5608 c++; 5609 if (ONIGENC_MBC_MAXLEN(reg->enc) == 1 && 5610 ONIGENC_IS_CODE_PRINT(reg->enc, (OnigCodePoint )i)) 5611 fputc(i, f); 5612 else 5613 fprintf(f, "%d", i); 5614 } 5584 5615 } 5585 5616 fprintf(f, "]\n"); … … 5616 5647 } 5617 5648 5649 #ifdef RUBY 5618 5650 size_t 5619 5651 onig_memsize(const regex_t *reg) … … 5639 5671 return size; 5640 5672 } 5673 #endif 5641 5674 5642 5675 #define REGEX_TRANSFER(to,from) do {\ 5643 (to)->state = ONIG_STATE_MODIFY;\5644 5676 onig_free_body(to);\ 5645 5677 xmemcpy(to, from, sizeof(regex_t));\ … … 5647 5679 } while (0) 5648 5680 5681 #if 0 5649 5682 extern void 5650 5683 onig_transfer(regex_t* to, regex_t* from) 5651 5684 { 5652 THREAD_ATOMIC_START;5653 5685 REGEX_TRANSFER(to, from); 5654 THREAD_ATOMIC_END; 5655 } 5656 5657 #define REGEX_CHAIN_HEAD(reg) do {\ 5658 while (IS_NOT_NULL((reg)->chain)) {\ 5659 (reg) = (reg)->chain;\ 5660 }\ 5661 } while (0) 5662 5663 extern void 5664 onig_chain_link_add(regex_t* to, regex_t* add) 5665 { 5666 THREAD_ATOMIC_START; 5667 REGEX_CHAIN_HEAD(to); 5668 to->chain = add; 5669 THREAD_ATOMIC_END; 5670 } 5671 5672 extern void 5673 onig_chain_reduce(regex_t* reg) 5674 { 5675 regex_t *head, *prev; 5676 5677 prev = reg; 5678 head = prev->chain; 5679 if (IS_NOT_NULL(head)) { 5680 reg->state = ONIG_STATE_MODIFY; 5681 while (IS_NOT_NULL(head->chain)) { 5682 prev = head; 5683 head = head->chain; 5684 } 5685 prev->chain = (regex_t* )NULL; 5686 REGEX_TRANSFER(reg, head); 5687 } 5688 } 5686 } 5687 #endif 5689 5688 5690 5689 #ifdef ONIG_DEBUG_COMPILE 5691 static void print_compiled_byte_code_list P_((FILE* f, regex_t* reg));5690 static void print_compiled_byte_code_list(FILE* f, regex_t* reg); 5692 5691 #endif 5693 5692 #ifdef ONIG_DEBUG_PARSE_TREE 5694 static void print_tree P_((FILE* f, Node* node)); 5695 #endif 5696 5693 static void print_tree(FILE* f, Node* node); 5694 #endif 5695 5696 #ifdef RUBY 5697 5697 extern int 5698 5698 onig_compile(regex_t* reg, const UChar* pattern, const UChar* pattern_end, 5699 OnigErrorInfo* einfo) 5699 OnigErrorInfo* einfo) 5700 { 5701 return onig_compile_ruby(reg, pattern, pattern_end, einfo, NULL, 0); 5702 } 5703 #endif 5704 5705 #ifdef RUBY 5706 extern int 5707 onig_compile_ruby(regex_t* reg, const UChar* pattern, const UChar* pattern_end, 5708 OnigErrorInfo* einfo, const char *sourcefile, int sourceline) 5709 #else 5710 extern int 5711 onig_compile(regex_t* reg, const UChar* pattern, const UChar* pattern_end, 5712 OnigErrorInfo* einfo) 5713 #endif 5700 5714 { 5701 5715 #define COMPILE_INIT_SIZE 20 … … 5711 5725 if (IS_NOT_NULL(einfo)) einfo->par = (UChar* )NULL; 5712 5726 5713 reg->state = ONIG_STATE_COMPILING; 5727 #ifdef RUBY 5728 scan_env.sourcefile = sourcefile; 5729 scan_env.sourceline = sourceline; 5730 #endif 5714 5731 5715 5732 #ifdef ONIG_DEBUG … … 5737 5754 r = onig_parse_make_tree(&root, pattern, pattern_end, reg, &scan_env); 5738 5755 if (r != 0) goto err; 5756 5757 #ifdef ONIG_DEBUG_PARSE_TREE 5758 # if 0 5759 fprintf(stderr, "ORIGINAL PARSE TREE:\n"); 5760 print_tree(stderr, root); 5761 # endif 5762 #endif 5739 5763 5740 5764 #ifdef USE_NAMED_GROUP … … 5770 5794 #endif 5771 5795 5772 r = setup_tree(root, reg, IN_ROOT, &scan_env);5796 r = setup_tree(root, reg, 0, &scan_env); 5773 5797 if (r != 0) goto err_unset; 5774 5798 … … 5789 5813 #ifdef USE_COMBINATION_EXPLOSION_CHECK 5790 5814 if (scan_env.backrefed_mem == 0 5791 # ifdef USE_SUBEXP_CALL5815 # ifdef USE_SUBEXP_CALL 5792 5816 || scan_env.num_call == 0 5793 # endif5817 # endif 5794 5818 ) { 5795 5819 setup_comb_exp_check(root, 0, &scan_env); 5796 # ifdef USE_SUBEXP_CALL5820 # ifdef USE_SUBEXP_CALL 5797 5821 if (scan_env.has_recursion != 0) { 5798 5822 scan_env.num_comb_exp_check = 0; 5799 5823 } 5800 5824 else 5801 # endif5825 # endif 5802 5826 if (scan_env.comb_exp_max_regnum > 0) { 5803 5827 int i; … … 5853 5877 5854 5878 #ifdef ONIG_DEBUG_COMPILE 5855 # ifdef USE_NAMED_GROUP5879 # ifdef USE_NAMED_GROUP 5856 5880 onig_print_names(stderr, reg); 5857 # endif5881 # endif 5858 5882 print_compiled_byte_code_list(stderr, reg); 5859 5883 #endif 5860 5884 5861 5885 end: 5862 reg->state = ONIG_STATE_NORMAL;5863 5886 return r; 5864 5887 … … 5884 5907 } 5885 5908 5886 #ifdef USE_RECOMPILE_API5887 extern int5888 onig_recompile(regex_t* reg, const UChar* pattern, const UChar* pattern_end,5889 OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax,5890 OnigErrorInfo* einfo)5891 {5892 int r;5893 regex_t *new_reg;5894 5895 r = onig_new(&new_reg, pattern, pattern_end, option, enc, syntax, einfo);5896 if (r) return r;5897 if (ONIG_STATE(reg) == ONIG_STATE_NORMAL) {5898 onig_transfer(reg, new_reg);5899 }5900 else {5901 onig_chain_link_add(reg, new_reg);5902 }5903 return 0;5904 }5905 #endif5906 5907 5909 static int onig_inited = 0; 5908 5910 … … 5910 5912 onig_reg_init(regex_t* reg, OnigOptionType option, 5911 5913 OnigCaseFoldType case_fold_flag, 5912 OnigEncoding enc, OnigSyntaxType* syntax)5914 OnigEncoding enc, const OnigSyntaxType* syntax) 5913 5915 { 5914 5916 if (! onig_inited) … … 5925 5927 return ONIGERR_INVALID_COMBINATION_OF_OPTIONS; 5926 5928 } 5927 5928 (reg)->state = ONIG_STATE_MODIFY;5929 5929 5930 5930 if ((option & ONIG_OPTION_NEGATE_SINGLELINE) != 0) { … … 5956 5956 onig_new_without_alloc(regex_t* reg, const UChar* pattern, 5957 5957 const UChar* pattern_end, OnigOptionType option, OnigEncoding enc, 5958 OnigSyntaxType* syntax, OnigErrorInfo* einfo)5958 const OnigSyntaxType* syntax, OnigErrorInfo* einfo) 5959 5959 { 5960 5960 int r; … … 5969 5969 extern int 5970 5970 onig_new(regex_t** reg, const UChar* pattern, const UChar* pattern_end, 5971 OnigOptionType option, OnigEncoding enc, OnigSyntaxType* syntax,5971 OnigOptionType option, OnigEncoding enc, const OnigSyntaxType* syntax, 5972 5972 OnigErrorInfo* einfo) 5973 5973 { … … 5989 5989 } 5990 5990 5991 extern int 5992 onig_initialize(OnigEncoding encodings[] ARG_UNUSED, int n ARG_UNUSED) 5993 { 5994 return onig_init(); 5995 } 5991 5996 5992 5997 extern int … … 5996 6001 return 0; 5997 6002 5998 THREAD_SYSTEM_INIT;5999 THREAD_ATOMIC_START;6000 6001 6003 onig_inited = 1; 6004 6005 #if defined(ONIG_DEBUG_MEMLEAK) && defined(_MSC_VER) 6006 _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); 6007 #endif 6002 6008 6003 6009 onigenc_init(); … … 6008 6014 #endif 6009 6015 6010 THREAD_ATOMIC_END;6011 6016 return 0; 6012 6017 } … … 6047 6052 onig_end(void) 6048 6053 { 6049 THREAD_ATOMIC_START;6050 6051 6054 exec_end_call_list(); 6052 6055 … … 6055 6058 #endif 6056 6059 6057 #ifdef USE_SHARED_CCLASS_TABLE 6058 onig_free_shared_cclass_table(); 6059 #endif 6060 6061 #ifdef USE_PARSE_TREE_NODE_RECYCLE 6062 onig_free_node_list(); 6060 #if defined(ONIG_DEBUG_MEMLEAK) && defined(_MSC_VER) 6061 _CrtDumpMemoryLeaks(); 6063 6062 #endif 6064 6063 6065 6064 onig_inited = 0; 6066 6065 6067 THREAD_ATOMIC_END;6068 THREAD_SYSTEM_END;6069 6066 return 0; 6070 6067 } … … 6132 6129 6133 6130 /* arguments type */ 6134 # define ARG_SPECIAL -16135 # define ARG_NON 06136 # define ARG_RELADDR 16137 # define ARG_ABSADDR 26138 # define ARG_LENGTH 36139 # define ARG_MEMNUM 46140 # define ARG_OPTION 56141 # define ARG_STATE_CHECK 66131 # define ARG_SPECIAL -1 6132 # define ARG_NON 0 6133 # define ARG_RELADDR 1 6134 # define ARG_ABSADDR 2 6135 # define ARG_LENGTH 3 6136 # define ARG_MEMNUM 4 6137 # define ARG_OPTION 5 6138 # define ARG_STATE_CHECK 6 6142 6139 6143 6140 OnigOpInfoType OnigOpInfo[] = { … … 6164 6161 { OP_CCLASS_MB_NOT, "cclass-mb-not", ARG_SPECIAL }, 6165 6162 { OP_CCLASS_MIX_NOT, "cclass-mix-not", ARG_SPECIAL }, 6166 { OP_CCLASS_NODE, "cclass-node", ARG_SPECIAL },6167 6163 { OP_ANYCHAR, "anychar", ARG_NON }, 6168 6164 { OP_ANYCHAR_ML, "anychar-ml", ARG_NON }, … … 6189 6185 { OP_SEMI_END_BUF, "semi-end-buf", ARG_NON }, 6190 6186 { OP_BEGIN_POSITION, "begin-position", ARG_NON }, 6191 { OP_BEGIN_POS_OR_LINE, "begin-pos-or-line", ARG_NON },6192 6187 { OP_BACKREF1, "backref1", ARG_NON }, 6193 6188 { OP_BACKREF2, "backref2", ARG_NON }, … … 6231 6226 { OP_PUSH_LOOK_BEHIND_NOT, "push-look-behind-not", ARG_SPECIAL }, 6232 6227 { OP_FAIL_LOOK_BEHIND_NOT, "fail-look-behind-not", ARG_NON }, 6228 { OP_PUSH_ABSENT_POS, "push-absent-pos", ARG_NON }, 6229 { OP_ABSENT, "absent", ARG_RELADDR }, 6230 { OP_ABSENT_END, "absent-end", ARG_NON }, 6233 6231 { OP_CALL, "call", ARG_ABSADDR }, 6234 6232 { OP_RETURN, "return", ARG_NON }, … … 6267 6265 } 6268 6266 6269 # ifdef ONIG_DEBUG_PARSE_TREE6267 # ifdef ONIG_DEBUG_PARSE_TREE 6270 6268 static void 6271 6269 Indent(FILE* f, int indent) … … 6274 6272 for (i = 0; i < indent; i++) putc(' ', f); 6275 6273 } 6276 # endif /* ONIG_DEBUG_PARSE_TREE */6274 # endif /* ONIG_DEBUG_PARSE_TREE */ 6277 6275 6278 6276 static void … … 6293 6291 6294 6292 extern void 6295 onig_print_compiled_byte_code(FILE* f, UChar* bp, UChar* * nextp,6293 onig_print_compiled_byte_code(FILE* f, UChar* bp, UChar* bpend, UChar** nextp, 6296 6294 OnigEncoding enc) 6297 6295 { … … 6313 6311 case ARG_RELADDR: 6314 6312 GET_RELADDR_INC(addr, bp); 6315 fprintf(f, ":( +%d)", addr);6313 fprintf(f, ":(%s%d)", (addr >= 0) ? "+" : "", addr); 6316 6314 break; 6317 6315 case ARG_ABSADDR: … … 6392 6390 6393 6391 case OP_EXACT1_IC: 6394 len = enclen(enc, bp );6392 len = enclen(enc, bp, bpend); 6395 6393 p_string(f, len, bp); 6396 6394 bp += len; … … 6418 6416 GET_LENGTH_INC(len, bp); 6419 6417 q = bp; 6420 # ifndef PLATFORM_UNALIGNED_WORD_ACCESS6418 # ifndef PLATFORM_UNALIGNED_WORD_ACCESS 6421 6419 ALIGNMENT_RIGHT(q); 6422 # endif6420 # endif 6423 6421 GET_CODE_POINT(code, q); 6424 6422 bp += len; … … 6432 6430 GET_LENGTH_INC(len, bp); 6433 6431 q = bp; 6434 # ifndef PLATFORM_UNALIGNED_WORD_ACCESS6432 # ifndef PLATFORM_UNALIGNED_WORD_ACCESS 6435 6433 ALIGNMENT_RIGHT(q); 6436 # endif6434 # endif 6437 6435 GET_CODE_POINT(code, q); 6438 6436 bp += len; 6439 6437 fprintf(f, ":%d:%d:%d", n, (int )code, len); 6440 break;6441 6442 case OP_CCLASS_NODE:6443 {6444 CClassNode *cc;6445 6446 GET_POINTER_INC(cc, bp);6447 n = bitset_on_num(cc->bs);6448 fprintf(f, ":%"PRIuPTR":%d", (uintptr_t )cc, n);6449 }6450 6438 break; 6451 6439 … … 6502 6490 addr = *((RelAddrType* )bp); 6503 6491 bp += SIZE_RELADDR; 6504 fprintf(f, ":(% d)", addr);6492 fprintf(f, ":(%s%d)", (addr >= 0) ? "+" : "", addr); 6505 6493 p_string(f, 1, bp); 6506 6494 bp += 1; … … 6515 6503 GET_RELADDR_INC(addr, bp); 6516 6504 GET_LENGTH_INC(len, bp); 6517 fprintf(f, ":%d:(% d)", len, addr);6505 fprintf(f, ":%d:(%s%d)", len, (addr >= 0) ? "+" : "", addr); 6518 6506 break; 6519 6507 … … 6524 6512 addr = *((RelAddrType* )bp); 6525 6513 bp += SIZE_RELADDR; 6526 fprintf(f, ":%d:(% d)", scn, addr);6514 fprintf(f, ":%d:(%s%d)", scn, (addr >= 0) ? "+" : "", addr); 6527 6515 break; 6528 6516 … … 6530 6518 GET_MEMNUM_INC(mem, bp); 6531 6519 GET_RELADDR_INC(addr, bp); 6532 fprintf(f, ":%d:(% d)", mem, addr);6520 fprintf(f, ":%d:(%s%d)", mem, (addr >= 0) ? "+" : "", addr); 6533 6521 break; 6534 6522 6535 6523 default: 6536 6524 fprintf(stderr, "onig_print_compiled_byte_code: undefined code %d\n", 6537 *--bp);6525 bp[-1]); 6538 6526 } 6539 6527 } … … 6542 6530 } 6543 6531 6544 # ifdef ONIG_DEBUG_COMPILE6532 # ifdef ONIG_DEBUG_COMPILE 6545 6533 static void 6546 6534 print_compiled_byte_code_list(FILE* f, regex_t* reg) … … 6559 6547 else 6560 6548 fprintf(f, " %ld:", bp - reg->p); 6561 onig_print_compiled_byte_code(f, bp, &bp, reg->enc);6549 onig_print_compiled_byte_code(f, bp, end, &bp, reg->enc); 6562 6550 } 6563 6551 6564 6552 fprintf(f, "\n"); 6565 6553 } 6566 # endif /* ONIG_DEBUG_COMPILE */6567 6568 # ifdef ONIG_DEBUG_PARSE_TREE6554 # endif /* ONIG_DEBUG_COMPILE */ 6555 6556 # ifdef ONIG_DEBUG_PARSE_TREE 6569 6557 static void 6570 6558 print_indent_tree(FILE* f, Node* node, int indent) … … 6613 6601 case NT_CCLASS: 6614 6602 fprintf(f, "<cclass:%"PRIxPTR">", (intptr_t )node); 6615 if (IS_NCCLASS_NOT(NCCLASS(node))) fputs(" not", f);6603 if (IS_NCCLASS_NOT(NCCLASS(node))) fputs("not ", f); 6616 6604 if (NCCLASS(node)->mbuf) { 6617 6605 BBuf* bbuf = NCCLASS(node)->mbuf; 6618 for (i = 0; i < (int )bbuf->used; i++) { 6619 if (i > 0) fprintf(f, ","); 6620 fprintf(f, "%0x", bbuf->p[i]); 6606 OnigCodePoint* data = (OnigCodePoint* )bbuf->p; 6607 OnigCodePoint* end = (OnigCodePoint* )(bbuf->p + bbuf->used); 6608 fprintf(f, "%d", *data++); 6609 for (; data < end; data+=2) { 6610 fprintf(f, ","); 6611 fprintf(f, "%04x-%04x", data[0], data[1]); 6621 6612 } 6622 6613 } … … 6652 6643 case ANCHOR_SEMI_END_BUF: fputs("semi end buf", f); break; 6653 6644 case ANCHOR_BEGIN_POSITION: fputs("begin position", f); break; 6654 case ANCHOR_ANYCHAR_STAR: fputs("begin position/line", f); break;6655 6645 6656 6646 case ANCHOR_WORD_BOUND: fputs("word bound", f); break; 6657 6647 case ANCHOR_NOT_WORD_BOUND: fputs("not word bound", f); break; 6658 # ifdef USE_WORD_BEGIN_END6648 # ifdef USE_WORD_BEGIN_END 6659 6649 case ANCHOR_WORD_BEGIN: fputs("word begin", f); break; 6660 6650 case ANCHOR_WORD_END: fputs("word end", f); break; 6661 # endif6651 # endif 6662 6652 case ANCHOR_PREC_READ: fputs("prec read", f); container_p = TRUE; break; 6663 6653 case ANCHOR_PREC_READ_NOT: fputs("prec read not", f); container_p = TRUE; break; … … 6685 6675 break; 6686 6676 6687 # ifdef USE_SUBEXP_CALL6677 # ifdef USE_SUBEXP_CALL 6688 6678 case NT_CALL: 6689 6679 { … … 6693 6683 } 6694 6684 break; 6695 # endif6685 # endif 6696 6686 6697 6687 case NT_QTFR: … … 6717 6707 fprintf(f, "condition:%d", NENCLOSE(node)->regnum); 6718 6708 break; 6709 case ENCLOSE_ABSENT: 6710 fprintf(f, "absent"); 6711 break; 6719 6712 6720 6713 default: … … 6744 6737 print_indent_tree(f, node, 0); 6745 6738 } 6746 # endif /* ONIG_DEBUG_PARSE_TREE */6739 # endif /* ONIG_DEBUG_PARSE_TREE */ 6747 6740 #endif /* ONIG_DEBUG */ -
EcnlProtoTool/trunk/onigmo-6.1.3/src/regenc.c
r321 r331 4 4 /*- 5 5 * Copyright (c) 2002-2007 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 6 * Copyright (c) 2011 6 * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp> 7 7 * All rights reserved. 8 8 * … … 52 52 } 53 53 54 extern int 55 onigenc_mbclen_approximate(const OnigUChar* p,const OnigUChar* e, OnigEncoding enc) 56 { 57 int ret = ONIGENC_PRECISE_MBC_ENC_LEN(enc, p, e); 58 if (ONIGENC_MBCLEN_CHARFOUND_P(ret)) 59 return ONIGENC_MBCLEN_CHARFOUND_LEN(ret); 60 else if (ONIGENC_MBCLEN_NEEDMORE_P(ret)) 61 return (int )(e - p) + ONIGENC_MBCLEN_NEEDMORE_LEN(ret); 62 return 1; 63 } 64 54 65 extern UChar* 55 onigenc_get_right_adjust_char_head(OnigEncoding enc, const UChar* start, const UChar* s )56 { 57 UChar* p = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s );66 onigenc_get_right_adjust_char_head(OnigEncoding enc, const UChar* start, const UChar* s, const UChar* end) 67 { 68 UChar* p = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s, end); 58 69 if (p < s) { 59 p += enclen(enc, p );70 p += enclen(enc, p, end); 60 71 } 61 72 return p; … … 64 75 extern UChar* 65 76 onigenc_get_right_adjust_char_head_with_prev(OnigEncoding enc, 66 const UChar* start, const UChar* s, const UChar* * prev)67 { 68 UChar* p = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s );77 const UChar* start, const UChar* s, const UChar* end, const UChar** prev) 78 { 79 UChar* p = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s, end); 69 80 70 81 if (p < s) { 71 82 if (prev) *prev = (const UChar* )p; 72 p += enclen(enc, p );83 p += enclen(enc, p, end); 73 84 } 74 85 else { … … 79 90 80 91 extern UChar* 81 onigenc_get_prev_char_head(OnigEncoding enc, const UChar* start, const UChar* s )92 onigenc_get_prev_char_head(OnigEncoding enc, const UChar* start, const UChar* s, const UChar* end) 82 93 { 83 94 if (s <= start) 84 95 return (UChar* )NULL; 85 96 86 return ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s - 1 );97 return ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s - 1, end); 87 98 } 88 99 89 100 extern UChar* 90 onigenc_step_back(OnigEncoding enc, const UChar* start, const UChar* s, int n)101 onigenc_step_back(OnigEncoding enc, const UChar* start, const UChar* s, const UChar* end, int n) 91 102 { 92 103 while (ONIG_IS_NOT_NULL(s) && n-- > 0) { … … 94 105 return (UChar* )NULL; 95 106 96 s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s - 1 );107 s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s - 1, end); 97 108 } 98 109 return (UChar* )s; … … 104 115 UChar* q = (UChar* )p; 105 116 while (n-- > 0) { 106 q += ONIGENC_MBC_ENC_LEN(enc, q );117 q += ONIGENC_MBC_ENC_LEN(enc, q, end); 107 118 } 108 119 return (q <= end ? q : NULL); … … 116 127 117 128 while (q < end) { 118 q += ONIGENC_MBC_ENC_LEN(enc, q );129 q += ONIGENC_MBC_ENC_LEN(enc, q, end); 119 130 n++; 120 131 } … … 127 138 int n = 0; 128 139 UChar* p = (UChar* )s; 140 UChar* e; 129 141 130 142 while (1) { … … 142 154 if (len == 1) return n; 143 155 } 144 p += ONIGENC_MBC_ENC_LEN(enc, p); 156 e = p + ONIGENC_MBC_MAXLEN(enc); 157 p += ONIGENC_MBC_ENC_LEN(enc, p, e); 145 158 n++; 146 159 } … … 152 165 UChar* start = (UChar* )s; 153 166 UChar* p = (UChar* )s; 167 UChar* e; 154 168 155 169 while (1) { … … 167 181 if (len == 1) return (int )(p - start); 168 182 } 169 p += ONIGENC_MBC_ENC_LEN(enc, p); 183 e = p + ONIGENC_MBC_MAXLEN(enc); 184 p += ONIGENC_MBC_ENC_LEN(enc, p, e); 170 185 } 171 186 } … … 350 365 #endif 351 366 367 #if 0 352 368 extern void 353 369 onigenc_set_default_caseconv_table(const UChar* table ARG_UNUSED) … … 356 372 /* obsoleted. */ 357 373 } 374 #endif 358 375 359 376 extern UChar* 360 onigenc_get_left_adjust_char_head(OnigEncoding enc, const UChar* start, const UChar* s )361 { 362 return ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s );377 onigenc_get_left_adjust_char_head(OnigEncoding enc, const UChar* start, const UChar* s, const UChar* end) 378 { 379 return ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, start, s, end); 363 380 } 364 381 … … 394 411 extern int 395 412 onigenc_ascii_apply_all_case_fold(OnigCaseFoldType flag ARG_UNUSED, 396 OnigApplyAllCaseFoldFunc f, void* arg) 413 OnigApplyAllCaseFoldFunc f, void* arg, 414 OnigEncoding enc ARG_UNUSED) 397 415 { 398 416 OnigCodePoint code; … … 415 433 onigenc_ascii_get_case_fold_codes_by_str(OnigCaseFoldType flag ARG_UNUSED, 416 434 const OnigUChar* p, const OnigUChar* end ARG_UNUSED, 417 OnigCaseFoldCodeItem items[] )435 OnigCaseFoldCodeItem items[], OnigEncoding enc ARG_UNUSED) 418 436 { 419 437 if (0x41 <= *p && *p <= 0x5a) { … … 451 469 int i, r; 452 470 453 r = onigenc_ascii_apply_all_case_fold(flag, f, arg );471 r = onigenc_ascii_apply_all_case_fold(flag, f, arg, 0); 454 472 if (r != 0) return r; 455 473 … … 555 573 onigenc_not_support_get_ctype_code_range(OnigCtype ctype ARG_UNUSED, 556 574 OnigCodePoint* sb_out ARG_UNUSED, 557 const OnigCodePoint* ranges[] ARG_UNUSED) 575 const OnigCodePoint* ranges[] ARG_UNUSED, 576 OnigEncoding enc) 558 577 { 559 578 return ONIG_NO_SUPPORT_CONFIG; … … 561 580 562 581 extern int 563 onigenc_is_mbc_newline_0x0a(const UChar* p, const UChar* end )582 onigenc_is_mbc_newline_0x0a(const UChar* p, const UChar* end, OnigEncoding enc ARG_UNUSED) 564 583 { 565 584 if (p < end) { … … 572 591 extern int 573 592 onigenc_ascii_mbc_case_fold(OnigCaseFoldType flag ARG_UNUSED, const UChar** p, 574 const UChar*end ARG_UNUSED, UChar* lower)593 const UChar* end, UChar* lower, OnigEncoding enc ARG_UNUSED) 575 594 { 576 595 *lower = ONIGENC_ASCII_CODE_TO_LOWER_CASE(**p); … … 593 612 594 613 extern int 595 onigenc_single_byte_mbc_enc_len(const UChar* p ARG_UNUSED) 614 onigenc_single_byte_mbc_enc_len(const UChar* p ARG_UNUSED, const UChar* e ARG_UNUSED, 615 OnigEncoding enc ARG_UNUSED) 596 616 { 597 617 return 1; … … 599 619 600 620 extern OnigCodePoint 601 onigenc_single_byte_mbc_to_code(const UChar* p, const UChar* end ARG_UNUSED) 621 onigenc_single_byte_mbc_to_code(const UChar* p, const UChar* end ARG_UNUSED, 622 OnigEncoding enc ARG_UNUSED) 602 623 { 603 624 return (OnigCodePoint )(*p); … … 605 626 606 627 extern int 607 onigenc_single_byte_code_to_mbclen(OnigCodePoint code ARG_UNUSED) 608 { 609 return (code < 0x100 ? 1 : ONIGERR_INVALID_CODE_POINT_VALUE); 610 } 611 612 extern int 613 onigenc_single_byte_code_to_mbc(OnigCodePoint code, UChar *buf) 614 { 628 onigenc_single_byte_code_to_mbclen(OnigCodePoint code ARG_UNUSED, OnigEncoding enc ARG_UNUSED) 629 { 630 return 1; 631 } 632 633 extern int 634 onigenc_single_byte_code_to_mbc(OnigCodePoint code, UChar *buf, OnigEncoding enc ARG_UNUSED) 635 { 636 #ifdef RUBY 637 if (code > 0xff) 638 rb_raise(rb_eRangeError, "%u out of char range", code); 639 #endif 615 640 *buf = (UChar )(code & 0xff); 616 641 return 1; … … 619 644 extern UChar* 620 645 onigenc_single_byte_left_adjust_char_head(const UChar* start ARG_UNUSED, 621 const UChar* s) 646 const UChar* s, 647 const UChar* end ARG_UNUSED, 648 OnigEncoding enc ARG_UNUSED) 622 649 { 623 650 return (UChar* )s; … … 626 653 extern int 627 654 onigenc_always_true_is_allowed_reverse_match(const UChar* s ARG_UNUSED, 628 const UChar* end ARG_UNUSED) 655 const UChar* end ARG_UNUSED, 656 OnigEncoding enc ARG_UNUSED) 629 657 { 630 658 return TRUE; … … 633 661 extern int 634 662 onigenc_always_false_is_allowed_reverse_match(const UChar* s ARG_UNUSED, 635 const UChar* end ARG_UNUSED) 663 const UChar* end ARG_UNUSED, 664 OnigEncoding enc ARG_UNUSED) 636 665 { 637 666 return FALSE; … … 639 668 640 669 extern int 641 onigenc_ascii_is_code_ctype(OnigCodePoint code, unsigned int ctype) 670 onigenc_ascii_is_code_ctype(OnigCodePoint code, unsigned int ctype, 671 OnigEncoding enc ARG_UNUSED) 642 672 { 643 673 if (code < 128) … … 653 683 OnigCodePoint n; 654 684 655 len = enclen(enc, p );685 len = enclen(enc, p, end); 656 686 n = (OnigCodePoint )(*p++); 657 687 if (len == 1) return n; … … 681 711 int i; 682 712 683 len = enclen(enc, p );713 len = enclen(enc, p, end); 684 714 for (i = 0; i < len; i++) { 685 715 *lower++ = *p++; … … 708 738 709 739 extern int 710 onigenc_mb2_code_to_mbclen(OnigCodePoint code) 711 { 712 if ((code & 0xff00) != 0) return 2; 713 else return 1; 714 } 715 716 extern int 717 onigenc_mb4_code_to_mbclen(OnigCodePoint code) 740 onigenc_mb2_code_to_mbclen(OnigCodePoint code, OnigEncoding enc ARG_UNUSED) 741 { 742 if (code <= 0xff) return 1; 743 if (code <= 0xffff) return 2; 744 return ONIGERR_TOO_BIG_WIDE_CHAR_VALUE; 745 } 746 747 extern int 748 onigenc_mb4_code_to_mbclen(OnigCodePoint code, OnigEncoding enc ARG_UNUSED) 718 749 { 719 750 if ((code & 0xff000000) != 0) return 4; … … 734 765 735 766 #if 1 736 if (enclen(enc, buf ) != (p - buf))767 if (enclen(enc, buf, p) != (p - buf)) 737 768 return ONIGERR_INVALID_CODE_POINT_VALUE; 738 769 #endif … … 757 788 758 789 #if 1 759 if (enclen(enc, buf ) != (p - buf))790 if (enclen(enc, buf, p) != (p - buf)) 760 791 return ONIGERR_INVALID_CODE_POINT_VALUE; 761 792 #endif … … 764 795 765 796 extern int 766 onigenc_minimum_property_name_to_ctype(OnigEncoding enc, UChar* p,UChar* end)797 onigenc_minimum_property_name_to_ctype(OnigEncoding enc, const UChar* p, const UChar* end) 767 798 { 768 799 static const PosixBracketEntryType PBS[] = { … … 840 871 841 872 sascii++; 842 p += enclen(enc, p );873 p += enclen(enc, p, end); 843 874 } 844 875 return 0; … … 861 892 862 893 sascii++; 863 p += enclen(enc, p );894 p += enclen(enc, p, end); 864 895 } 865 896 return 0; 866 897 } 867 898 899 #if 0 868 900 /* Property management */ 869 901 static int … … 918 950 return 0; 919 951 } 920 921 extern int 922 onigenc_property_list_init(int (*f)(void)) 923 { 924 int r; 925 926 THREAD_ATOMIC_START; 927 928 r = f(); 929 930 THREAD_ATOMIC_END; 931 return r; 932 } 952 #endif 953 954 extern int 955 onigenc_ascii_only_case_map(OnigCaseFoldType* flagP, const OnigUChar** pp, const OnigUChar* end, 956 OnigUChar* to, OnigUChar* to_end, const struct OnigEncodingTypeST* enc) 957 { 958 OnigCodePoint code; 959 OnigUChar *to_start = to; 960 OnigCaseFoldType flags = *flagP; 961 int codepoint_length; 962 963 while (*pp < end && to < to_end) { 964 codepoint_length = ONIGENC_PRECISE_MBC_ENC_LEN(enc, *pp, end); 965 if (codepoint_length < 0) 966 return codepoint_length; /* encoding invalid */ 967 code = ONIGENC_MBC_TO_CODE(enc, *pp, end); 968 *pp += codepoint_length; 969 970 if (code >= 'a' && code <= 'z' && (flags & ONIGENC_CASE_UPCASE)) { 971 flags |= ONIGENC_CASE_MODIFIED; 972 code += 'A' - 'a'; 973 } else if (code >= 'A' && code <= 'Z' && 974 (flags & (ONIGENC_CASE_DOWNCASE | ONIGENC_CASE_FOLD))) { 975 flags |= ONIGENC_CASE_MODIFIED; 976 code += 'a' - 'A'; 977 } 978 to += ONIGENC_CODE_TO_MBC(enc, code, to); 979 if (flags & ONIGENC_CASE_TITLECASE) /* switch from titlecase to lowercase for capitalize */ 980 flags ^= (ONIGENC_CASE_UPCASE | ONIGENC_CASE_DOWNCASE | ONIGENC_CASE_TITLECASE); 981 } 982 *flagP = flags; 983 return (int )(to - to_start); 984 } 985 986 extern int 987 onigenc_single_byte_ascii_only_case_map(OnigCaseFoldType* flagP, const OnigUChar** pp, 988 const OnigUChar* end, OnigUChar* to, OnigUChar* to_end, 989 const struct OnigEncodingTypeST* enc) 990 { 991 OnigCodePoint code; 992 OnigUChar *to_start = to; 993 OnigCaseFoldType flags = *flagP; 994 995 while (*pp < end && to < to_end) { 996 code = *(*pp)++; 997 998 if (code >= 'a' && code <= 'z' && (flags & ONIGENC_CASE_UPCASE)) { 999 flags |= ONIGENC_CASE_MODIFIED; 1000 code += 'A' - 'a'; 1001 } else if (code >= 'A' && code <= 'Z' && 1002 (flags & (ONIGENC_CASE_DOWNCASE | ONIGENC_CASE_FOLD))) { 1003 flags |= ONIGENC_CASE_MODIFIED; 1004 code += 'a' - 'A'; 1005 } 1006 *to++ = code; 1007 if (flags & ONIGENC_CASE_TITLECASE) /* switch from titlecase to lowercase for capitalize */ 1008 flags ^= (ONIGENC_CASE_UPCASE | ONIGENC_CASE_DOWNCASE | ONIGENC_CASE_TITLECASE); 1009 } 1010 *flagP = flags; 1011 return (int )(to - to_start); 1012 } -
EcnlProtoTool/trunk/onigmo-6.1.3/src/regenc.h
r321 r331 1 #ifndef REGENC_H2 #define REGENC_H1 #ifndef ONIGMO_REGENC_H 2 #define ONIGMO_REGENC_H 3 3 /********************************************************************** 4 4 regenc.h - Onigmo (Oniguruma-mod) (regular expression library) … … 6 6 /*- 7 7 * Copyright (c) 2002-2008 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 8 * Copyright (c) 2011 8 * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp> 9 9 * All rights reserved. 10 10 * … … 31 31 */ 32 32 33 #ifndef PACKAGE 33 #if !defined(RUBY) && (defined(RUBY_EXPORT) || defined(ONIG_ENC_REGISTER)) 34 # define RUBY 35 #endif 36 #ifdef RUBY 37 # ifndef ONIGMO_REGINT_H 38 # ifndef RUBY_EXTERN 39 # include "ruby/config.h" 40 # include "ruby/defines.h" 41 # endif 42 # endif 43 #else /* RUBY */ 44 # ifndef PACKAGE 34 45 /* PACKAGE is defined in config.h */ 35 #include "config.h" 36 #endif 46 # include "config.h" 47 # endif 48 #endif /* RUBY */ 37 49 38 50 #ifdef ONIG_ESCAPE_UCHAR_COLLISION 39 #undef ONIG_ESCAPE_UCHAR_COLLISION 40 #endif 41 42 #include "oniguruma.h" 51 # undef ONIG_ESCAPE_UCHAR_COLLISION 52 #endif 53 54 #ifdef RUBY 55 # include "ruby/onigmo.h" 56 #else 57 # include "onigmo.h" 58 #endif 59 60 RUBY_SYMBOL_EXPORT_BEGIN 43 61 44 62 typedef struct { … … 49 67 50 68 #ifndef NULL 51 # define NULL ((void* )0)69 # define NULL ((void* )0) 52 70 #endif 53 71 54 72 #ifndef TRUE 55 # define TRUE 173 # define TRUE 1 56 74 #endif 57 75 58 76 #ifndef FALSE 59 # define FALSE 077 # define FALSE 0 60 78 #endif 61 79 62 80 #ifndef ARG_UNUSED 63 # if defined(__GNUC__)81 # if defined(__GNUC__) 64 82 # define ARG_UNUSED __attribute__ ((unused)) 65 # else83 # else 66 84 # define ARG_UNUSED 67 # endif85 # endif 68 86 #endif 69 87 … … 73 91 #define ONIG_CHECK_NULL_RETURN_VAL(p,val) if (ONIG_IS_NULL(p)) return (val) 74 92 75 #define enclen(enc,p ) ONIGENC_MBC_ENC_LEN(enc,p)93 #define enclen(enc,p,e) ((enc->max_enc_len == enc->min_enc_len) ? enc->min_enc_len : ONIGENC_MBC_ENC_LEN(enc,p,e)) 76 94 77 95 /* character types bit flag */ … … 99 117 100 118 typedef struct { 101 const UChar *name; 119 short int len; 120 const UChar name[6]; 102 121 int ctype; 103 short int len;104 122 } PosixBracketEntryType; 105 123 106 124 #define POSIX_BRACKET_ENTRY_INIT(name, ctype) \ 107 {( const UChar* )(name), (ctype), (short int )(sizeof(name) - 1)}125 {(short int )(sizeof(name) - 1), (name), (ctype)} 108 126 109 127 #ifndef numberof 110 # define numberof(array) (int )(sizeof(array) / sizeof((array)[0]))128 # define numberof(array) (int )(sizeof(array) / sizeof((array)[0])) 111 129 #endif 112 130 … … 119 137 120 138 121 #define ONIG_ENCODING_INIT_DEFAULT ONIG_ENCODING_ UTF8139 #define ONIG_ENCODING_INIT_DEFAULT ONIG_ENCODING_ASCII 122 140 123 141 /* for encoding system implementation (internal) */ 124 ONIG_EXTERN int onigenc_ascii_apply_all_case_fold P_((OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void* arg)); 125 ONIG_EXTERN int onigenc_ascii_get_case_fold_codes_by_str P_((OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem items[])); 126 ONIG_EXTERN int onigenc_apply_all_case_fold_with_map P_((int map_size, const OnigPairCaseFoldCodes map[], int ess_tsett_flag, OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void* arg)); 127 ONIG_EXTERN int onigenc_get_case_fold_codes_by_str_with_map P_((int map_size, const OnigPairCaseFoldCodes map[], int ess_tsett_flag, OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem items[])); 128 ONIG_EXTERN int onigenc_not_support_get_ctype_code_range P_((OnigCtype ctype, OnigCodePoint* sb_out, const OnigCodePoint* ranges[])); 129 ONIG_EXTERN int onigenc_is_mbc_newline_0x0a P_((const UChar* p, const UChar* end)); 142 ONIG_EXTERN int onigenc_ascii_apply_all_case_fold(OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void* arg, OnigEncoding enc); 143 ONIG_EXTERN int onigenc_ascii_get_case_fold_codes_by_str(OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem items[], OnigEncoding enc); 144 ONIG_EXTERN int onigenc_apply_all_case_fold_with_map(int map_size, const OnigPairCaseFoldCodes map[], int ess_tsett_flag, OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void* arg); 145 ONIG_EXTERN int onigenc_get_case_fold_codes_by_str_with_map(int map_size, const OnigPairCaseFoldCodes map[], int ess_tsett_flag, OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem items[]); 146 ONIG_EXTERN int onigenc_not_support_get_ctype_code_range(OnigCtype ctype, OnigCodePoint* sb_out, const OnigCodePoint* ranges[], OnigEncoding enc); 147 ONIG_EXTERN int onigenc_is_mbc_newline_0x0a(const UChar* p, const UChar* end, OnigEncoding enc); 148 ONIG_EXTERN int onigenc_single_byte_ascii_only_case_map(OnigCaseFoldType* flagP, const OnigUChar** pp, const OnigUChar* end, OnigUChar* to, OnigUChar* to_end, const struct OnigEncodingTypeST* enc); 130 149 131 150 132 151 /* methods for single byte encoding */ 133 ONIG_EXTERN int onigenc_ascii_mbc_case_fold P_((OnigCaseFoldType flag, const UChar** p, const UChar* end, UChar* lower));134 ONIG_EXTERN int onigenc_single_byte_mbc_enc_len P_((const UChar* p));135 ONIG_EXTERN OnigCodePoint onigenc_single_byte_mbc_to_code P_((const UChar* p, const UChar* end));136 ONIG_EXTERN int onigenc_single_byte_code_to_mbclen P_((OnigCodePoint code));137 ONIG_EXTERN int onigenc_single_byte_code_to_mbc P_((OnigCodePoint code, UChar *buf));138 ONIG_EXTERN UChar* onigenc_single_byte_left_adjust_char_head P_((const UChar* start, const UChar* s));139 ONIG_EXTERN int onigenc_always_true_is_allowed_reverse_match P_((const UChar* s, const UChar* end));140 ONIG_EXTERN int onigenc_always_false_is_allowed_reverse_match P_((const UChar* s, const UChar* end));141 ONIG_EXTERN int onigenc_ascii_is_code_ctype P_((OnigCodePoint code, unsigned int ctype));152 ONIG_EXTERN int onigenc_ascii_mbc_case_fold(OnigCaseFoldType flag, const UChar** p, const UChar* end, UChar* lower, OnigEncoding enc); 153 ONIG_EXTERN int onigenc_single_byte_mbc_enc_len(const UChar* p, const UChar* e, OnigEncoding enc); 154 ONIG_EXTERN OnigCodePoint onigenc_single_byte_mbc_to_code(const UChar* p, const UChar* end, OnigEncoding enc); 155 ONIG_EXTERN int onigenc_single_byte_code_to_mbclen(OnigCodePoint code, OnigEncoding enc); 156 ONIG_EXTERN int onigenc_single_byte_code_to_mbc(OnigCodePoint code, UChar *buf, OnigEncoding enc); 157 ONIG_EXTERN UChar* onigenc_single_byte_left_adjust_char_head(const UChar* start, const UChar* s, const OnigUChar* end, OnigEncoding enc); 158 ONIG_EXTERN int onigenc_always_true_is_allowed_reverse_match(const UChar* s, const UChar* end, OnigEncoding enc); 159 ONIG_EXTERN int onigenc_always_false_is_allowed_reverse_match(const UChar* s, const UChar* end, OnigEncoding enc); 160 ONIG_EXTERN int onigenc_ascii_is_code_ctype(OnigCodePoint code, unsigned int ctype, OnigEncoding enc); 142 161 143 162 /* methods for multi byte encoding */ 144 ONIG_EXTERN OnigCodePoint onigenc_mbn_mbc_to_code P_((OnigEncoding enc, const UChar* p, const UChar* end)); 145 ONIG_EXTERN int onigenc_mbn_mbc_case_fold P_((OnigEncoding enc, OnigCaseFoldType flag, const UChar** p, const UChar* end, UChar* lower)); 146 ONIG_EXTERN int onigenc_mb2_code_to_mbclen P_((OnigCodePoint code)); 147 ONIG_EXTERN int onigenc_mb2_code_to_mbc P_((OnigEncoding enc, OnigCodePoint code, UChar *buf)); 148 ONIG_EXTERN int onigenc_minimum_property_name_to_ctype P_((OnigEncoding enc, UChar* p, UChar* end)); 149 ONIG_EXTERN int onigenc_unicode_property_name_to_ctype P_((OnigEncoding enc, UChar* p, UChar* end)); 150 ONIG_EXTERN int onigenc_mb2_is_code_ctype P_((OnigEncoding enc, OnigCodePoint code, unsigned int ctype)); 151 ONIG_EXTERN int onigenc_mb4_code_to_mbclen P_((OnigCodePoint code)); 152 ONIG_EXTERN int onigenc_mb4_code_to_mbc P_((OnigEncoding enc, OnigCodePoint code, UChar *buf)); 153 ONIG_EXTERN int onigenc_mb4_is_code_ctype P_((OnigEncoding enc, OnigCodePoint code, unsigned int ctype)); 163 ONIG_EXTERN OnigCodePoint onigenc_mbn_mbc_to_code(OnigEncoding enc, const UChar* p, const UChar* end); 164 ONIG_EXTERN int onigenc_mbn_mbc_case_fold(OnigEncoding enc, OnigCaseFoldType flag, const UChar** p, const UChar* end, UChar* lower); 165 ONIG_EXTERN int onigenc_mb2_code_to_mbclen(OnigCodePoint code, OnigEncoding enc); 166 ONIG_EXTERN int onigenc_mb2_code_to_mbc(OnigEncoding enc, OnigCodePoint code, UChar *buf); 167 ONIG_EXTERN int onigenc_minimum_property_name_to_ctype(OnigEncoding enc, const UChar* p, const UChar* end); 168 ONIG_EXTERN int onigenc_unicode_property_name_to_ctype(OnigEncoding enc, const UChar* p, const UChar* end); 169 ONIG_EXTERN int onigenc_mb2_is_code_ctype(OnigEncoding enc, OnigCodePoint code, unsigned int ctype); 170 ONIG_EXTERN int onigenc_mb4_code_to_mbclen(OnigCodePoint code, OnigEncoding enc); 171 ONIG_EXTERN int onigenc_mb4_code_to_mbc(OnigEncoding enc, OnigCodePoint code, UChar *buf); 172 ONIG_EXTERN int onigenc_mb4_is_code_ctype(OnigEncoding enc, OnigCodePoint code, unsigned int ctype); 173 174 ONIG_EXTERN int onigenc_unicode_case_map(OnigCaseFoldType* flagP, const OnigUChar** pp, const OnigUChar* end, OnigUChar* to, OnigUChar* to_end, const struct OnigEncodingTypeST* enc); 154 175 155 176 156 177 /* in enc/unicode.c */ 157 ONIG_EXTERN int onigenc_unicode_is_code_ctype P_((OnigCodePoint code, unsigned int ctype));158 ONIG_EXTERN int onigenc_utf16_32_get_ctype_code_range P_((OnigCtype ctype, OnigCodePoint *sb_out, const OnigCodePoint* ranges[]));159 ONIG_EXTERN int onigenc_unicode_ctype_code_range P_((int ctype, const OnigCodePoint* ranges[]));160 ONIG_EXTERN int onigenc_unicode_get_case_fold_codes_by_str P_((OnigEncoding enc, OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem items[]));161 ONIG_EXTERN int onigenc_unicode_mbc_case_fold P_((OnigEncoding enc, OnigCaseFoldType flag, const UChar** pp, const UChar* end, UChar* fold));162 ONIG_EXTERN int onigenc_unicode_apply_all_case_fold P_((OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void* arg));178 ONIG_EXTERN int onigenc_unicode_is_code_ctype(OnigCodePoint code, unsigned int ctype, OnigEncoding enc); 179 ONIG_EXTERN int onigenc_utf16_32_get_ctype_code_range(OnigCtype ctype, OnigCodePoint *sb_out, const OnigCodePoint* ranges[], OnigEncoding enc); 180 ONIG_EXTERN int onigenc_unicode_ctype_code_range(int ctype, const OnigCodePoint* ranges[]); 181 ONIG_EXTERN int onigenc_unicode_get_case_fold_codes_by_str(OnigEncoding enc, OnigCaseFoldType flag, const OnigUChar* p, const OnigUChar* end, OnigCaseFoldCodeItem items[]); 182 ONIG_EXTERN int onigenc_unicode_mbc_case_fold(OnigEncoding enc, OnigCaseFoldType flag, const UChar** pp, const UChar* end, UChar* fold); 183 ONIG_EXTERN int onigenc_unicode_apply_all_case_fold(OnigCaseFoldType flag, OnigApplyAllCaseFoldFunc f, void* arg, OnigEncoding enc); 163 184 164 185 165 186 #define UTF16_IS_SURROGATE_FIRST(c) (((c) & 0xfc) == 0xd8) 166 187 #define UTF16_IS_SURROGATE_SECOND(c) (((c) & 0xfc) == 0xdc) 188 #define UTF16_IS_SURROGATE(c) (((c) & 0xf8) == 0xd8) 189 #define UNICODE_VALID_CODEPOINT_P(c) ( \ 190 ((c) <= 0x10ffff) && \ 191 !((c) < 0x10000 && UTF16_IS_SURROGATE((c) >> 8))) 167 192 168 193 #define ONIGENC_ISO_8859_1_TO_LOWER_CASE(c) \ … … 175 200 176 201 ONIG_EXTERN int 177 onigenc_with_ascii_strncmp P_((OnigEncoding enc, const UChar* p, const UChar* end, const UChar* sascii /* ascii */, int n));202 onigenc_with_ascii_strncmp(OnigEncoding enc, const UChar* p, const UChar* end, const UChar* sascii /* ascii */, int n); 178 203 ONIG_EXTERN int 179 onigenc_with_ascii_strnicmp P_((OnigEncoding enc, const UChar* p, const UChar* end, const UChar* sascii /* ascii */, int n));204 onigenc_with_ascii_strnicmp(OnigEncoding enc, const UChar* p, const UChar* end, const UChar* sascii /* ascii */, int n); 180 205 ONIG_EXTERN UChar* 181 onigenc_step P_((OnigEncoding enc, const UChar* p, const UChar* end, int n));206 onigenc_step(OnigEncoding enc, const UChar* p, const UChar* end, int n); 182 207 183 208 /* defined in regexec.c, but used in enc/xxx.c */ 184 extern int onig_is_in_code_range P_((const UChar* p, OnigCodePoint code));209 extern int onig_is_in_code_range(const UChar* p, OnigCodePoint code); 185 210 186 211 ONIG_EXTERN OnigEncoding OnigEncDefaultCharEncoding; … … 203 228 204 229 205 #endif /* REGENC_H */ 230 #ifdef ONIG_ENC_REGISTER 231 extern int ONIG_ENC_REGISTER(const char *, OnigEncoding); 232 # define OnigEncodingName(n) encoding_##n 233 # define OnigEncodingDeclare(n) static const OnigEncodingType OnigEncodingName(n) 234 # define OnigEncodingDefine(f,n) \ 235 OnigEncodingDeclare(n); \ 236 void Init_##f(void) { \ 237 ONIG_ENC_REGISTER(OnigEncodingName(n).name, \ 238 &OnigEncodingName(n)); \ 239 } \ 240 OnigEncodingDeclare(n) 241 #else 242 # define OnigEncodingName(n) OnigEncoding##n 243 # define OnigEncodingDeclare(n) const OnigEncodingType OnigEncodingName(n) 244 # define OnigEncodingDefine(f,n) OnigEncodingDeclare(n) 245 #endif 246 247 /* macros for define replica encoding and encoding alias */ 248 #define ENC_REPLICATE(name, orig) 249 #define ENC_ALIAS(name, orig) 250 #define ENC_DUMMY(name) 251 252 RUBY_SYMBOL_EXPORT_END 253 254 #endif /* ONIGMO_REGENC_H */ -
EcnlProtoTool/trunk/onigmo-6.1.3/src/regerror.c
r321 r331 4 4 /*- 5 5 * Copyright (c) 2002-2007 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 6 * Copyright (c) 2011-201 4K.Takata <kentkt AT csc DOT jp>6 * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp> 7 7 * All rights reserved. 8 8 * … … 32 32 #include <stdio.h> /* for vsnprintf() */ 33 33 34 #ifdef HAVE_STDARG_PROTOTYPES35 34 #include <stdarg.h> 36 #define va_init_list(a,b) va_start(a,b)37 #else38 #include <varargs.h>39 #define va_init_list(a,b) va_start(a)40 #endif41 35 42 36 extern UChar* … … 66 60 case ONIGERR_MATCH_STACK_LIMIT_OVER: 67 61 p = "match-stack limit over"; break; 62 case ONIGERR_PARSE_DEPTH_LIMIT_OVER: 63 p = "parse depth limit over"; break; 68 64 case ONIGERR_DEFAULT_ENCODING_IS_NOT_SET: 69 65 p = "default multibyte-encoding is not set"; break; … … 180 176 case ONIGERR_INVALID_COMBINATION_OF_OPTIONS: 181 177 p = "invalid combination of options"; break; 182 case ONIGERR_OVER_THREAD_PASS_LIMIT_COUNT:183 p = "over thread pass limit count"; break;184 178 185 179 default: … … 192 186 static void sprint_byte(char* s, unsigned int v) 193 187 { 194 sprintf(s, "%02x", (v & 0377));188 xsnprintf(s, 3, "%02x", (v & 0377)); 195 189 } 196 190 197 191 static void sprint_byte_with_x(char* s, unsigned int v) 198 192 { 199 sprintf(s, "\\x%02x", (v & 0377));193 xsnprintf(s, 5, "\\x%02x", (v & 0377)); 200 194 } 201 195 … … 233 227 } 234 228 235 p += enclen(enc, p );229 p += enclen(enc, p, end); 236 230 if (len >= buf_size) break; 237 231 } … … 253 247 254 248 extern int 255 #ifdef HAVE_STDARG_PROTOTYPES256 249 onig_error_code_to_str(UChar* s, OnigPosition code, ...) 257 #else258 onig_error_code_to_str(s, code, va_alist)259 UChar* s;260 OnigPosition code;261 va_dcl262 #endif263 250 { 264 251 UChar *p, *q; … … 269 256 va_list vargs; 270 257 271 va_ init_list(vargs, code);258 va_start(vargs, code); 272 259 273 260 switch (code) { … … 324 311 } 325 312 326 327 313 void 328 #ifdef HAVE_STDARG_PROTOTYPES 329 onig_snprintf_with_pattern(UChar buf[], int bufsize, OnigEncoding enc, 330 UChar* pat, UChar* pat_end, const UChar *fmt, ...) 331 #else 332 onig_snprintf_with_pattern(buf, bufsize, enc, pat, pat_end, fmt, va_alist) 333 UChar buf[]; 334 int bufsize; 335 OnigEncoding enc; 336 UChar* pat; 337 UChar* pat_end; 338 const UChar *fmt; 339 va_dcl 340 #endif 314 onig_vsnprintf_with_pattern(UChar buf[], int bufsize, OnigEncoding enc, 315 UChar* pat, UChar* pat_end, const UChar *fmt, va_list args) 341 316 { 342 317 size_t need; … … 344 319 UChar *p, *s, *bp; 345 320 UChar bs[6]; 346 va_list args; 347 348 va_init_list(args, fmt); 321 349 322 n = xvsnprintf((char* )buf, bufsize, (const char* )fmt, args); 350 va_end(args);351 323 352 324 need = (pat_end - pat) * 4 + 4; 353 325 354 326 if (n + need < (size_t )bufsize) { 355 strcat((char* )buf, ": /"); 327 static const char sep[] = ": /"; 328 memcpy((char* )buf + n, sep, sizeof(sep)); 356 329 s = buf + onigenc_str_bytelen_null(ONIG_ENCODING_ASCII, buf); 357 330 358 331 p = pat; 359 332 while (p < pat_end) { 360 if (*p == '\\') { 361 *s++ = *p++; 362 len = enclen(enc, p); 363 while (len-- > 0) *s++ = *p++; 364 } 365 else if (*p == '/') { 366 *s++ = (unsigned char )'\\'; 367 *s++ = *p++; 368 } 369 else if (ONIGENC_IS_MBC_HEAD(enc, p)) { 370 len = enclen(enc, p); 333 if (ONIGENC_IS_MBC_HEAD(enc, p, pat_end)) { 334 len = enclen(enc, p, pat_end); 371 335 if (ONIGENC_MBC_MINLEN(enc) == 1) { 372 336 while (len-- > 0) *s++ = *p++; 373 337 } 374 else { /* for UTF16 */338 else { /* for UTF16/32 */ 375 339 int blen; 376 340 … … 383 347 } 384 348 } 349 else if (*p == '\\') { 350 *s++ = *p++; 351 len = enclen(enc, p, pat_end); 352 while (len-- > 0) *s++ = *p++; 353 } 354 else if (*p == '/') { 355 *s++ = (unsigned char )'\\'; 356 *s++ = *p++; 357 } 385 358 else if (!ONIGENC_IS_CODE_PRINT(enc, *p) && 386 359 !ONIGENC_IS_CODE_SPACE(enc, *p)) { … … 399 372 } 400 373 } 374 375 #if 0 /* unused */ 376 void 377 onig_snprintf_with_pattern(UChar buf[], int bufsize, OnigEncoding enc, 378 UChar* pat, UChar* pat_end, const UChar *fmt, ...) 379 { 380 va_list args; 381 va_start(args, fmt); 382 onig_vsnprintf_with_pattern(buf, bufsize, enc, 383 pat, pat_end, fmt, args); 384 va_end(args); 385 } 386 #endif -
EcnlProtoTool/trunk/onigmo-6.1.3/src/regexec.c
r321 r331 4 4 /*- 5 5 * Copyright (c) 2002-2008 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 6 * Copyright (c) 2011-201 4K.Takata <kentkt AT csc DOT jp>6 * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp> 7 7 * All rights reserved. 8 8 * … … 31 31 #include "regint.h" 32 32 33 #define USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE 34 35 #ifndef USE_DIRECT_THREADED_VM 33 #ifdef RUBY 34 # undef USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE 35 #else 36 # define USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE 37 #endif 38 39 #ifndef USE_TOKEN_THREADED_VM 36 40 # ifdef __GNUC__ 37 # define USE_DIRECT_THREADED_VM 141 # define USE_TOKEN_THREADED_VM 1 38 42 # else 39 # define USE_DIRECT_THREADED_VM 043 # define USE_TOKEN_THREADED_VM 0 40 44 # endif 41 45 #endif 42 46 47 #ifdef RUBY 48 # define ENC_DUMMY_FLAG (1<<24) 49 static inline int 50 rb_enc_asciicompat(OnigEncoding enc) 51 { 52 return ONIGENC_MBC_MINLEN(enc)==1 && !((enc)->ruby_encoding_index & ENC_DUMMY_FLAG); 53 } 54 # undef ONIGENC_IS_MBC_ASCII_WORD 55 # define ONIGENC_IS_MBC_ASCII_WORD(enc,s,end) \ 56 (rb_enc_asciicompat(enc) ? (ISALNUM(*s) || *s=='_') : \ 57 onigenc_ascii_is_code_ctype( \ 58 ONIGENC_MBC_TO_CODE(enc,s,end),ONIGENC_CTYPE_WORD,enc)) 59 #endif /* RUBY */ 60 43 61 #ifdef USE_CRNL_AS_LINE_TERMINATOR 44 # define ONIGENC_IS_MBC_CRNL(enc,p,end) \62 # define ONIGENC_IS_MBC_CRNL(enc,p,end) \ 45 63 (ONIGENC_MBC_TO_CODE(enc,p,end) == 13 && \ 46 ONIGENC_MBC_TO_CODE(enc,(p+enclen(enc,p )),end) == 10)47 # define ONIGENC_IS_MBC_NEWLINE_EX(enc,p,start,end,option,check_prev) \64 ONIGENC_MBC_TO_CODE(enc,(p+enclen(enc,p,end)),end) == 10) 65 # define ONIGENC_IS_MBC_NEWLINE_EX(enc,p,start,end,option,check_prev) \ 48 66 is_mbc_newline_ex((enc),(p),(start),(end),(option),(check_prev)) 49 67 static int … … 54 72 if (ONIGENC_MBC_TO_CODE(enc, p, end) == 0x0a) { 55 73 if (check_prev) { 56 const UChar *prev = onigenc_get_prev_char_head(enc, start, p );74 const UChar *prev = onigenc_get_prev_char_head(enc, start, p, end); 57 75 if ((prev != NULL) && ONIGENC_MBC_TO_CODE(enc, prev, end) == 0x0d) 58 76 return 0; … … 64 82 } 65 83 else { 66 const UChar *pnext = p + enclen(enc, p );84 const UChar *pnext = p + enclen(enc, p, end); 67 85 if (pnext < end && 68 86 ONIGENC_MBC_TO_CODE(enc, p, end) == 0x0d && … … 79 97 } 80 98 #else /* USE_CRNL_AS_LINE_TERMINATOR */ 81 # define ONIGENC_IS_MBC_NEWLINE_EX(enc,p,start,end,option,check_prev) \99 # define ONIGENC_IS_MBC_NEWLINE_EX(enc,p,start,end,option,check_prev) \ 82 100 ONIGENC_IS_MBC_NEWLINE((enc), (p), (end)) 83 101 #endif /* USE_CRNL_AS_LINE_TERMINATOR */ … … 94 112 for (i = 0; i < node->num_childs; i++) { 95 113 if (IS_NOT_NULL(node->childs[i])) { 96 114 history_tree_free(node->childs[i]); 97 115 } 98 116 } … … 145 163 history_tree_add_child(OnigCaptureTreeNode* parent, OnigCaptureTreeNode* child) 146 164 { 147 # define HISTORY_TREE_INIT_ALLOC_SIZE 8165 # define HISTORY_TREE_INIT_ALLOC_SIZE 8 148 166 149 167 if (parent->num_childs >= parent->allocated) { … … 153 171 n = HISTORY_TREE_INIT_ALLOC_SIZE; 154 172 parent->childs = 155 173 (OnigCaptureTreeNode** )xmalloc(sizeof(OnigCaptureTreeNode*) * n); 156 174 CHECK_NULL_RETURN_MEMERR(parent->childs); 157 175 } … … 160 178 n = parent->allocated * 2; 161 179 tmp = 162 163 180 (OnigCaptureTreeNode** )xrealloc(parent->childs, 181 sizeof(OnigCaptureTreeNode*) * n); 164 182 if (tmp == 0) { 165 183 history_tree_clear(parent); … … 337 355 338 356 extern void 339 onig_region_copy(OnigRegion* to, OnigRegion* from)357 onig_region_copy(OnigRegion* to, const OnigRegion* from) 340 358 { 341 359 #define RREGC_SIZE (sizeof(int) * from->num_regs) … … 386 404 #define STK_RETURN 0x0900 387 405 #define STK_VOID 0x0a00 /* for fill a blank */ 406 #define STK_ABSENT_POS 0x0b00 /* for absent */ 407 #define STK_ABSENT 0x0c00 /* absent inner loop marker */ 388 408 389 409 /* stack type check mask */ … … 393 413 394 414 #ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE 395 # define MATCH_ARG_INIT(msa, arg_option, arg_region, arg_start, arg_gpos) do {\415 # define MATCH_ARG_INIT(msa, arg_option, arg_region, arg_start, arg_gpos) do {\ 396 416 (msa).stack_p = (void* )0;\ 397 417 (msa).options = (arg_option);\ … … 402 422 } while(0) 403 423 #else 404 # define MATCH_ARG_INIT(msa, arg_option, arg_region, arg_start, arg_gpos) do {\424 # define MATCH_ARG_INIT(msa, arg_option, arg_region, arg_start, arg_gpos) do {\ 405 425 (msa).stack_p = (void* )0;\ 406 426 (msa).options = (arg_option);\ … … 413 433 #ifdef USE_COMBINATION_EXPLOSION_CHECK 414 434 415 # define STATE_CHECK_BUFF_MALLOC_THRESHOLD_SIZE 16416 417 # define STATE_CHECK_BUFF_INIT(msa, str_len, offset, state_num) do { \435 # define STATE_CHECK_BUFF_MALLOC_THRESHOLD_SIZE 16 436 437 # define STATE_CHECK_BUFF_INIT(msa, str_len, offset, state_num) do { \ 418 438 if ((state_num) > 0 && str_len >= STATE_CHECK_STRING_THRESHOLD_LEN) {\ 419 439 unsigned int size = (unsigned int )(((str_len) + 1) * (state_num) + 7) >> 3;\ … … 441 461 } while(0) 442 462 443 # define MATCH_ARG_FREE(msa) do {\463 # define MATCH_ARG_FREE(msa) do {\ 444 464 if ((msa).stack_p) xfree((msa).stack_p);\ 445 465 if ((msa).state_check_buff_size >= STATE_CHECK_BUFF_MALLOC_THRESHOLD_SIZE) { \ … … 448 468 } while(0) 449 469 #else /* USE_COMBINATION_EXPLOSION_CHECK */ 450 #define STATE_CHECK_BUFF_INIT(msa, str_len, offset, state_num) 451 #define MATCH_ARG_FREE(msa) if ((msa).stack_p) xfree((msa).stack_p) 470 # define MATCH_ARG_FREE(msa) if ((msa).stack_p) xfree((msa).stack_p) 452 471 #endif /* USE_COMBINATION_EXPLOSION_CHECK */ 453 472 … … 466 485 stk_end = stk_base + msa->stack_n;\ 467 486 } else {\ 468 stk_alloc = (OnigStackType* )x malloc(sizeof(OnigStackType) * (stack_num));\487 stk_alloc = (OnigStackType* )xalloca(sizeof(OnigStackType) * (stack_num));\ 469 488 stk_base = stk_alloc;\ 470 489 stk = stk_base;\ … … 472 491 }\ 473 492 } else if (msa->stack_p) {\ 474 alloc_addr = (char* )x malloc(sizeof(OnigStackIndex) * (ptr_num));\493 alloc_addr = (char* )xalloca(sizeof(OnigStackIndex) * (ptr_num));\ 475 494 heap_addr = NULL;\ 476 495 stk_alloc = (OnigStackType* )(msa->stack_p);\ … … 480 499 }\ 481 500 else {\ 482 alloc_addr = (char* )x malloc(sizeof(OnigStackIndex) * (ptr_num)\501 alloc_addr = (char* )xalloca(sizeof(OnigStackIndex) * (ptr_num)\ 483 502 + sizeof(OnigStackType) * (stack_num));\ 484 503 heap_addr = NULL;\ … … 538 557 if (limit_size != 0 && n > limit_size) { 539 558 if ((unsigned int )(stk_end - stk_base) == limit_size) 540 559 return ONIGERR_MATCH_STACK_LIMIT_OVER; 541 560 else 542 561 n = limit_size; 543 562 } 544 563 x = (OnigStackType* )xrealloc(stk_base, sizeof(OnigStackType) * n); … … 577 596 578 597 #ifdef USE_COMBINATION_EXPLOSION_CHECK 579 # define STATE_CHECK_POS(s,snum) \598 # define STATE_CHECK_POS(s,snum) \ 580 599 (((s) - str) * num_comb_exp_check + ((snum) - 1)) 581 # define STATE_CHECK_VAL(v,snum) do {\600 # define STATE_CHECK_VAL(v,snum) do {\ 582 601 if (state_check_buff != NULL) {\ 583 602 int x = STATE_CHECK_POS(s,snum);\ … … 588 607 589 608 590 # define ELSE_IF_STATE_CHECK_MARK(stk) \609 # define ELSE_IF_STATE_CHECK_MARK(stk) \ 591 610 else if ((stk)->type == STK_STATE_CHECK_MARK) { \ 592 611 int x = STATE_CHECK_POS(stk->u.state.pstr, stk->u.state.state_check);\ … … 594 613 } 595 614 596 # define STACK_PUSH(stack_type,pat,s,sprev,keep) do {\615 # define STACK_PUSH(stack_type,pat,s,sprev,keep) do {\ 597 616 STACK_ENSURE(1);\ 598 617 stk->type = (stack_type);\ … … 605 624 } while(0) 606 625 607 # define STACK_PUSH_ENSURED(stack_type,pat) do {\626 # define STACK_PUSH_ENSURED(stack_type,pat) do {\ 608 627 stk->type = (stack_type);\ 609 628 stk->u.state.pcode = (pat);\ … … 612 631 } while(0) 613 632 614 # define STACK_PUSH_ALT_WITH_STATE_CHECK(pat,s,sprev,snum,keep) do {\633 # define STACK_PUSH_ALT_WITH_STATE_CHECK(pat,s,sprev,snum,keep) do {\ 615 634 STACK_ENSURE(1);\ 616 635 stk->type = STK_ALT;\ … … 623 642 } while(0) 624 643 625 # define STACK_PUSH_STATE_CHECK(s,snum) do {\644 # define STACK_PUSH_STATE_CHECK(s,snum) do {\ 626 645 if (state_check_buff != NULL) {\ 627 646 STACK_ENSURE(1);\ … … 635 654 #else /* USE_COMBINATION_EXPLOSION_CHECK */ 636 655 637 # define ELSE_IF_STATE_CHECK_MARK(stk)638 639 # define STACK_PUSH(stack_type,pat,s,sprev,keep) do {\656 # define ELSE_IF_STATE_CHECK_MARK(stk) 657 658 # define STACK_PUSH(stack_type,pat,s,sprev,keep) do {\ 640 659 STACK_ENSURE(1);\ 641 660 stk->type = (stack_type);\ … … 647 666 } while(0) 648 667 649 # define STACK_PUSH_ENSURED(stack_type,pat) do {\668 # define STACK_PUSH_ENSURED(stack_type,pat) do {\ 650 669 stk->type = (stack_type);\ 651 670 stk->u.state.pcode = (pat);\ … … 657 676 #define STACK_PUSH_POS(s,sprev,keep) STACK_PUSH(STK_POS,NULL_UCHARP,s,sprev,keep) 658 677 #define STACK_PUSH_POS_NOT(pat,s,sprev,keep) STACK_PUSH(STK_POS_NOT,pat,s,sprev,keep) 659 #define STACK_PUSH_STOP_BT STACK_PUSH_TYPE(STK_STOP_BT) 678 #define STACK_PUSH_ABSENT STACK_PUSH_TYPE(STK_ABSENT) 679 #define STACK_PUSH_STOP_BT STACK_PUSH_TYPE(STK_STOP_BT) 660 680 #define STACK_PUSH_LOOK_BEHIND_NOT(pat,s,sprev,keep) \ 661 681 STACK_PUSH(STK_LOOK_BEHIND_NOT,pat,s,sprev,keep) … … 769 789 } while(0) 770 790 791 #define STACK_PUSH_ABSENT_POS(start, end) do {\ 792 STACK_ENSURE(1);\ 793 stk->type = STK_ABSENT_POS;\ 794 stk->u.absent_pos.abs_pstr = (start);\ 795 stk->u.absent_pos.end_pstr = (end);\ 796 STACK_INC;\ 797 } while(0) 798 771 799 772 800 #ifdef ONIG_DEBUG 773 # define STACK_BASE_CHECK(p, at) \801 # define STACK_BASE_CHECK(p, at) \ 774 802 if ((p) < stk_base) {\ 775 803 fprintf(stderr, "at %s\n", at);\ … … 777 805 } 778 806 #else 779 # define STACK_BASE_CHECK(p, at)807 # define STACK_BASE_CHECK(p, at) 780 808 #endif 781 809 … … 867 895 ELSE_IF_STATE_CHECK_MARK(stk);\ 868 896 }\ 897 } while(0) 898 899 #define STACK_POP_TIL_ABSENT do {\ 900 while (1) {\ 901 stk--;\ 902 STACK_BASE_CHECK(stk, "STACK_POP_TIL_ABSENT"); \ 903 if (stk->type == STK_ABSENT) break;\ 904 else if (stk->type == STK_MEM_START) {\ 905 mem_start_stk[stk->u.mem.num] = stk->u.mem.start;\ 906 mem_end_stk[stk->u.mem.num] = stk->u.mem.end;\ 907 }\ 908 else if (stk->type == STK_REPEAT_INC) {\ 909 STACK_AT(stk->u.repeat_inc.si)->u.repeat.count--;\ 910 }\ 911 else if (stk->type == STK_MEM_END) {\ 912 mem_start_stk[stk->u.mem.num] = stk->u.mem.start;\ 913 mem_end_stk[stk->u.mem.num] = stk->u.mem.end;\ 914 }\ 915 ELSE_IF_STATE_CHECK_MARK(stk);\ 916 }\ 917 } while(0) 918 919 #define STACK_POP_ABSENT_POS(start, end) do {\ 920 stk--;\ 921 STACK_BASE_CHECK(stk, "STACK_POP_ABSENT_POS"); \ 922 (start) = stk->u.absent_pos.abs_pstr;\ 923 (end) = stk->u.absent_pos.end_pstr;\ 869 924 } while(0) 870 925 … … 1064 1119 } while(0) 1065 1120 1066 #define STRING_CMP_IC(case_fold_flag,s1,ps2,len ) do {\1067 if (string_cmp_ic(encode, case_fold_flag, s1, ps2, len ) == 0) \1121 #define STRING_CMP_IC(case_fold_flag,s1,ps2,len,text_end) do {\ 1122 if (string_cmp_ic(encode, case_fold_flag, s1, ps2, len, text_end) == 0) \ 1068 1123 goto fail; \ 1069 1124 } while(0) 1070 1125 1071 1126 static int string_cmp_ic(OnigEncoding enc, int case_fold_flag, 1072 UChar* s1, UChar** ps2, OnigDistance mblen )1127 UChar* s1, UChar** ps2, OnigDistance mblen, const UChar* text_end) 1073 1128 { 1074 1129 UChar buf1[ONIGENC_MBC_CASE_FOLD_MAXLEN]; 1075 1130 UChar buf2[ONIGENC_MBC_CASE_FOLD_MAXLEN]; 1076 UChar *p1, *p2, *end1, *s2 , *end2;1131 UChar *p1, *p2, *end1, *s2; 1077 1132 int len1, len2; 1078 1133 1079 1134 s2 = *ps2; 1080 1135 end1 = s1 + mblen; 1081 end2 = s2 + mblen;1082 1136 while (s1 < end1) { 1083 len1 = ONIGENC_MBC_CASE_FOLD(enc, case_fold_flag, &s1, end1, buf1);1084 len2 = ONIGENC_MBC_CASE_FOLD(enc, case_fold_flag, &s2, end2, buf2);1137 len1 = ONIGENC_MBC_CASE_FOLD(enc, case_fold_flag, &s1, text_end, buf1); 1138 len2 = ONIGENC_MBC_CASE_FOLD(enc, case_fold_flag, &s2, text_end, buf2); 1085 1139 if (len1 != len2) return 0; 1086 1140 p1 = buf1; … … 1106 1160 } while(0) 1107 1161 1108 #define STRING_CMP_VALUE_IC(case_fold_flag,s1,ps2,len, is_fail) do {\1109 if (string_cmp_ic(encode, case_fold_flag, s1, ps2, len ) == 0) \1162 #define STRING_CMP_VALUE_IC(case_fold_flag,s1,ps2,len,text_end,is_fail) do {\ 1163 if (string_cmp_ic(encode, case_fold_flag, s1, ps2, len, text_end) == 0) \ 1110 1164 is_fail = 1; \ 1111 1165 else \ … … 1115 1169 1116 1170 #define IS_EMPTY_STR (str == end) 1117 #define ON_STR_BEGIN(s) ((s) == str)1118 #define ON_STR_END(s) ((s) == end)1171 #define ON_STR_BEGIN(s) ((s) == str) 1172 #define ON_STR_END(s) ((s) == end) 1119 1173 #ifdef USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE 1120 #define DATA_ENSURE_CHECK1 (s < right_range) 1121 #define DATA_ENSURE_CHECK(n) (s + (n) <= right_range) 1122 #define DATA_ENSURE(n) if (s + (n) > right_range) goto fail 1174 # define DATA_ENSURE_CHECK1 (s < right_range) 1175 # define DATA_ENSURE_CHECK(n) (s + (n) <= right_range) 1176 # define DATA_ENSURE(n) if (s + (n) > right_range) goto fail 1177 # define ABSENT_END_POS right_range 1123 1178 #else 1124 #define DATA_ENSURE_CHECK1 (s < end) 1125 #define DATA_ENSURE_CHECK(n) (s + (n) <= end) 1126 #define DATA_ENSURE(n) if (s + (n) > end) goto fail 1179 # define DATA_ENSURE_CHECK1 (s < end) 1180 # define DATA_ENSURE_CHECK(n) (s + (n) <= end) 1181 # define DATA_ENSURE(n) if (s + (n) > end) goto fail 1182 # define ABSENT_END_POS end 1127 1183 #endif /* USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE */ 1128 1184 … … 1141 1197 n = k->u.mem.num; 1142 1198 if (n <= ONIG_MAX_CAPTURE_HISTORY_GROUP && 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1199 BIT_STATUS_AT(reg->capture_history, n) != 0) { 1200 child = history_node_new(); 1201 CHECK_NULL_RETURN_MEMERR(child); 1202 child->group = n; 1203 child->beg = k->u.mem.pstr - str; 1204 r = history_tree_add_child(node, child); 1205 if (r != 0) { 1206 history_tree_free(child); 1207 return r; 1208 } 1209 *kp = (k + 1); 1210 r = make_capture_history_tree(child, kp, stk_top, str, reg); 1211 if (r != 0) return r; 1212 1213 k = *kp; 1214 child->end = k->u.mem.pstr - str; 1159 1215 } 1160 1216 } 1161 1217 else if (k->type == STK_MEM_END) { 1162 1218 if (k->u.mem.num == node->group) { 1163 1164 1165 1219 node->end = k->u.mem.pstr - str; 1220 *kp = k; 1221 return 0; 1166 1222 } 1167 1223 } … … 1186 1242 } 1187 1243 1188 static int backref_match_at_nested_level(regex_t* reg 1189 , OnigStackType* top, OnigStackType* stk_base1190 , int ignore_case, int case_fold_flag1191 ,int nest, int mem_num, UChar* memp, UChar** s, const UChar* send)1244 static int backref_match_at_nested_level(regex_t* reg, 1245 OnigStackType* top, OnigStackType* stk_base, 1246 int ignore_case, int case_fold_flag, 1247 int nest, int mem_num, UChar* memp, UChar** s, const UChar* send) 1192 1248 { 1193 1249 UChar *ss, *p, *pstart, *pend = NULL_UCHARP; … … 1216 1272 if (ignore_case != 0) { 1217 1273 if (string_cmp_ic(reg->enc, case_fold_flag, 1218 pstart, &ss, pend - pstart ) == 0)1274 pstart, &ss, pend - pstart, send) == 0) 1219 1275 return 0; /* or goto next_mem; */ 1220 1276 } … … 1246 1302 #ifdef ONIG_DEBUG_STATISTICS 1247 1303 1248 #define USE_TIMEOFDAY 1249 1250 #ifdef USE_TIMEOFDAY 1251 #ifdef HAVE_SYS_TIME_H 1252 #include <sys/time.h> 1253 #endif 1254 #ifdef HAVE_UNISTD_H 1255 #include <unistd.h> 1256 #endif 1304 # ifdef _WIN32 1305 # include <windows.h> 1306 static LARGE_INTEGER ts, te, freq; 1307 # define GETTIME(t) QueryPerformanceCounter(&(t)) 1308 # define TIMEDIFF(te,ts) (unsigned long )(((te).QuadPart - (ts).QuadPart) \ 1309 * 1000000 / freq.QuadPart) 1310 # else /* _WIN32 */ 1311 1312 # define USE_TIMEOFDAY 1313 1314 # ifdef USE_TIMEOFDAY 1315 # ifdef HAVE_SYS_TIME_H 1316 # include <sys/time.h> 1317 # endif 1318 # ifdef HAVE_UNISTD_H 1319 # include <unistd.h> 1320 # endif 1257 1321 static struct timeval ts, te; 1258 # define GETTIME(t)gettimeofday(&(t), (struct timezone* )0)1259 # define TIMEDIFF(te,ts)(((te).tv_usec - (ts).tv_usec) + \1260 (((te).tv_sec - (ts).tv_sec)*1000000))1261 # else /* USE_TIMEOFDAY */1262 # ifdef HAVE_SYS_TIMES_H1263 # include <sys/times.h>1264 # endif1322 # define GETTIME(t) gettimeofday(&(t), (struct timezone* )0) 1323 # define TIMEDIFF(te,ts) (((te).tv_usec - (ts).tv_usec) + \ 1324 (((te).tv_sec - (ts).tv_sec)*1000000)) 1325 # else /* USE_TIMEOFDAY */ 1326 # ifdef HAVE_SYS_TIMES_H 1327 # include <sys/times.h> 1328 # endif 1265 1329 static struct tms ts, te; 1266 #define GETTIME(t) times(&(t)) 1267 #define TIMEDIFF(te,ts) ((te).tms_utime - (ts).tms_utime) 1268 #endif /* USE_TIMEOFDAY */ 1330 # define GETTIME(t) times(&(t)) 1331 # define TIMEDIFF(te,ts) ((te).tms_utime - (ts).tms_utime) 1332 # endif /* USE_TIMEOFDAY */ 1333 1334 # endif /* _WIN32 */ 1269 1335 1270 1336 static int OpCounter[256]; … … 1275 1341 static int MaxStackDepth = 0; 1276 1342 1277 # define MOP_IN(opcode) do {\1343 # define MOP_IN(opcode) do {\ 1278 1344 if (opcode == OpPrevTarget) OpPrevCounter[OpCurr]++;\ 1279 1345 OpCurr = opcode;\ … … 1282 1348 } while(0) 1283 1349 1284 # define MOP_OUT do {\1350 # define MOP_OUT do {\ 1285 1351 GETTIME(te);\ 1286 1352 OpTime[OpCurr] += TIMEDIFF(te, ts);\ … … 1295 1361 } 1296 1362 MaxStackDepth = 0; 1363 # ifdef _WIN32 1364 QueryPerformanceFrequency(&freq); 1365 # endif 1297 1366 } 1298 1367 … … 1309 1378 } 1310 1379 1311 # define STACK_INC do {\1380 # define STACK_INC do {\ 1312 1381 stk++;\ 1313 1382 if (stk - stk_base > MaxStackDepth) \ … … 1316 1385 1317 1386 #else /* ONIG_DEBUG_STATISTICS */ 1318 # define STACK_INC stk++1319 1320 # define MOP_IN(opcode)1321 # define MOP_OUT1387 # define STACK_INC stk++ 1388 1389 # define MOP_IN(opcode) 1390 # define MOP_OUT 1322 1391 #endif /* ONIG_DEBUG_STATISTICS */ 1323 1392 1324 1393 1325 1326 /* matching region of POSIX API */ 1327 typedef int regoff_t; 1328 1329 typedef struct { 1330 regoff_t rm_so; 1331 regoff_t rm_eo; 1332 } posix_regmatch_t; 1394 #ifdef ONIG_DEBUG_MATCH 1395 static char * 1396 stack_type_str(int stack_type) 1397 { 1398 switch (stack_type) { 1399 case STK_ALT: return "Alt "; 1400 case STK_LOOK_BEHIND_NOT: return "LBNot "; 1401 case STK_POS_NOT: return "PosNot"; 1402 case STK_MEM_START: return "MemS "; 1403 case STK_MEM_END: return "MemE "; 1404 case STK_REPEAT_INC: return "RepInc"; 1405 case STK_STATE_CHECK_MARK: return "StChMk"; 1406 case STK_NULL_CHECK_START: return "NulChS"; 1407 case STK_NULL_CHECK_END: return "NulChE"; 1408 case STK_MEM_END_MARK: return "MemEMk"; 1409 case STK_POS: return "Pos "; 1410 case STK_STOP_BT: return "StopBt"; 1411 case STK_REPEAT: return "Rep "; 1412 case STK_CALL_FRAME: return "Call "; 1413 case STK_RETURN: return "Ret "; 1414 case STK_VOID: return "Void "; 1415 case STK_ABSENT_POS: return "AbsPos"; 1416 case STK_ABSENT: return "Absent"; 1417 default: return " "; 1418 } 1419 } 1420 #endif 1333 1421 1334 1422 /* match data(str - end) from position (sstart). */ 1335 1423 /* if sstart == str then set sprev to NULL. */ 1336 1424 static OnigPosition 1337 match_at _(regex_t* reg, const UChar* str, const UChar* end,1425 match_at(regex_t* reg, const UChar* str, const UChar* end, 1338 1426 #ifdef USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE 1339 1427 const UChar* right_range, 1340 1428 #endif 1341 const UChar* sstart, UChar* sprev, OnigMatchArg* msa , char **palloca_base)1429 const UChar* sstart, UChar* sprev, OnigMatchArg* msa) 1342 1430 { 1343 1431 static const UChar FinishCode[] = { OP_FINISH }; … … 1354 1442 UChar *p = reg->p; 1355 1443 UChar *pkeep; 1444 char *alloca_base; 1356 1445 char *xmalloc_base = NULL; 1357 1446 OnigStackType *stk_alloc, *stk_base, *stk, *stk_end; … … 1366 1455 #endif 1367 1456 1368 #if USE_DIRECT_THREADED_VM 1369 #define VM_LOOP JUMP; 1370 #define VM_LOOP_END 1371 #define CASE(x) L_##x: sbegin = s; OPCODE_EXEC_HOOK; 1372 #define DEFAULT L_DEFAULT: 1373 #define NEXT sprev = sbegin; JUMP 1374 #define JUMP goto *oplabels[*p++] 1457 #if USE_TOKEN_THREADED_VM 1458 # define OP_OFFSET 1 1459 # define VM_LOOP JUMP; 1460 # define VM_LOOP_END 1461 # define CASE(x) L_##x: sbegin = s; OPCODE_EXEC_HOOK; 1462 # define DEFAULT L_DEFAULT: 1463 # define NEXT sprev = sbegin; JUMP 1464 # define JUMP goto *oplabels[*p++] 1375 1465 1376 1466 static const void *oplabels[] = { … … 1400 1490 &&L_OP_CCLASS_MB_NOT, 1401 1491 &&L_OP_CCLASS_MIX_NOT, 1402 &&L_OP_CCLASS_NODE, /* pointer to CClassNode node */1403 1492 1404 1493 &&L_OP_ANYCHAR, /* "." */ … … 1413 1502 &&L_OP_WORD_BOUND, 1414 1503 &&L_OP_NOT_WORD_BOUND, 1415 # ifdef USE_WORD_BEGIN_END1504 # ifdef USE_WORD_BEGIN_END 1416 1505 &&L_OP_WORD_BEGIN, 1417 1506 &&L_OP_WORD_END, 1418 # else1507 # else 1419 1508 &&L_DEFAULT, 1420 1509 &&L_DEFAULT, 1421 # endif1510 # endif 1422 1511 &&L_OP_ASCII_WORD, 1423 1512 &&L_OP_NOT_ASCII_WORD, 1424 1513 &&L_OP_ASCII_WORD_BOUND, 1425 1514 &&L_OP_NOT_ASCII_WORD_BOUND, 1426 # ifdef USE_WORD_BEGIN_END1515 # ifdef USE_WORD_BEGIN_END 1427 1516 &&L_OP_ASCII_WORD_BEGIN, 1428 1517 &&L_OP_ASCII_WORD_END, 1429 # else1518 # else 1430 1519 &&L_DEFAULT, 1431 1520 &&L_DEFAULT, 1432 # endif1521 # endif 1433 1522 1434 1523 &&L_OP_BEGIN_BUF, … … 1438 1527 &&L_OP_SEMI_END_BUF, 1439 1528 &&L_OP_BEGIN_POSITION, 1440 &&L_OP_BEGIN_POS_OR_LINE, /* used for implicit anchor optimization */1441 1529 1442 1530 &&L_OP_BACKREF1, … … 1446 1534 &&L_OP_BACKREF_MULTI, 1447 1535 &&L_OP_BACKREF_MULTI_IC, 1448 # ifdef USE_BACKREF_WITH_LEVEL1536 # ifdef USE_BACKREF_WITH_LEVEL 1449 1537 &&L_OP_BACKREF_WITH_LEVEL, /* \k<xxx+n>, \k<xxx-n> */ 1450 # else1538 # else 1451 1539 &&L_DEFAULT, 1452 # endif1540 # endif 1453 1541 &&L_OP_MEMORY_START, 1454 1542 &&L_OP_MEMORY_START_PUSH, /* push back-tracker to stack */ 1455 1543 &&L_OP_MEMORY_END_PUSH, /* push back-tracker to stack */ 1456 # ifdef USE_SUBEXP_CALL1544 # ifdef USE_SUBEXP_CALL 1457 1545 &&L_OP_MEMORY_END_PUSH_REC, /* push back-tracker to stack */ 1458 # else1546 # else 1459 1547 &&L_DEFAULT, 1460 # endif1548 # endif 1461 1549 &&L_OP_MEMORY_END, 1462 # ifdef USE_SUBEXP_CALL1550 # ifdef USE_SUBEXP_CALL 1463 1551 &&L_OP_MEMORY_END_REC, /* push marker to stack */ 1464 # else1552 # else 1465 1553 &&L_DEFAULT, 1466 # endif1554 # endif 1467 1555 1468 1556 &&L_OP_KEEP, … … 1472 1560 &&L_OP_PUSH, 1473 1561 &&L_OP_POP, 1562 # ifdef USE_OP_PUSH_OR_JUMP_EXACT 1474 1563 &&L_OP_PUSH_OR_JUMP_EXACT1, /* if match exact then push, else jump. */ 1564 # else 1565 &&L_DEFAULT, 1566 # endif 1475 1567 &&L_OP_PUSH_IF_PEEK_NEXT, /* if match exact then push, else none. */ 1476 1568 &&L_OP_REPEAT, /* {n,m} */ … … 1482 1574 &&L_OP_NULL_CHECK_START, /* null loop checker start */ 1483 1575 &&L_OP_NULL_CHECK_END, /* null loop checker end */ 1484 # ifdef USE_MONOMANIAC_CHECK_CAPTURES_IN_ENDLESS_REPEAT1576 # ifdef USE_MONOMANIAC_CHECK_CAPTURES_IN_ENDLESS_REPEAT 1485 1577 &&L_OP_NULL_CHECK_END_MEMST, /* null loop checker end (with capture status) */ 1486 # else1578 # else 1487 1579 &&L_DEFAULT, 1488 # endif1489 # ifdef USE_SUBEXP_CALL1580 # endif 1581 # ifdef USE_SUBEXP_CALL 1490 1582 &&L_OP_NULL_CHECK_END_MEMST_PUSH, /* with capture status and push check-end */ 1491 # else1583 # else 1492 1584 &&L_DEFAULT, 1493 # endif1585 # endif 1494 1586 1495 1587 &&L_OP_PUSH_POS, /* (?=...) start */ … … 1502 1594 &&L_OP_PUSH_LOOK_BEHIND_NOT, /* (?<!...) start */ 1503 1595 &&L_OP_FAIL_LOOK_BEHIND_NOT, /* (?<!...) end */ 1504 1505 #ifdef USE_SUBEXP_CALL 1596 &&L_OP_PUSH_ABSENT_POS, /* (?~...) start */ 1597 &&L_OP_ABSENT, /* (?~...) start of inner loop */ 1598 &&L_OP_ABSENT_END, /* (?~...) end */ 1599 1600 # ifdef USE_SUBEXP_CALL 1506 1601 &&L_OP_CALL, /* \g<name> */ 1507 1602 &&L_OP_RETURN, 1508 # else1603 # else 1509 1604 &&L_DEFAULT, 1510 1605 &&L_DEFAULT, 1511 # endif1606 # endif 1512 1607 &&L_OP_CONDITION, 1513 1608 1514 # ifdef USE_COMBINATION_EXPLOSION_CHECK1609 # ifdef USE_COMBINATION_EXPLOSION_CHECK 1515 1610 &&L_OP_STATE_CHECK_PUSH, /* combination explosion check and push */ 1516 1611 &&L_OP_STATE_CHECK_PUSH_OR_JUMP, /* check ok -> push, else jump */ 1517 1612 &&L_OP_STATE_CHECK, /* check only */ 1518 # else1613 # else 1519 1614 &&L_DEFAULT, 1520 1615 &&L_DEFAULT, 1521 1616 &&L_DEFAULT, 1522 # endif1523 # ifdef USE_COMBINATION_EXPLOSION_CHECK1617 # endif 1618 # ifdef USE_COMBINATION_EXPLOSION_CHECK 1524 1619 &&L_OP_STATE_CHECK_ANYCHAR_STAR, 1525 1620 &&L_OP_STATE_CHECK_ANYCHAR_ML_STAR, 1526 # else1621 # else 1527 1622 &&L_DEFAULT, 1528 1623 &&L_DEFAULT, 1529 # endif1624 # endif 1530 1625 /* no need: IS_DYNAMIC_OPTION() == 0 */ 1531 # if 0 /* no need: IS_DYNAMIC_OPTION() == 0 */1626 # if 0 /* no need: IS_DYNAMIC_OPTION() == 0 */ 1532 1627 &&L_OP_SET_OPTION_PUSH, /* set option and push recover option */ 1533 1628 &&L_OP_SET_OPTION /* set option */ 1534 # else1629 # else 1535 1630 &&L_DEFAULT, 1536 1631 &&L_DEFAULT 1537 # endif1632 # endif 1538 1633 }; 1539 #else 1540 1541 #define VM_LOOP \ 1634 #else /* USE_TOKEN_THREADED_VM */ 1635 1636 # define OP_OFFSET 0 1637 # define VM_LOOP \ 1542 1638 while (1) { \ 1543 1639 OPCODE_EXEC_HOOK; \ 1544 1640 sbegin = s; \ 1545 1641 switch (*p++) { 1546 # define VM_LOOP_END } sprev = sbegin; }1547 # define CASE(x) case x:1548 # define DEFAULT default:1549 # define NEXT break1550 # define JUMP continue; break1551 #endif 1642 # define VM_LOOP_END } sprev = sbegin; } 1643 # define CASE(x) case x: 1644 # define DEFAULT default: 1645 # define NEXT break 1646 # define JUMP continue; break 1647 #endif /* USE_TOKEN_THREADED_VM */ 1552 1648 1553 1649 1554 1650 #ifdef USE_SUBEXP_CALL 1555 /* Stack #0 is used to store the pattern itself and used for (?R), \g<0>, etc. */ 1556 n = reg->num_repeat + (reg->num_mem + 1) * 2; 1557 1558 STACK_INIT(*palloca_base, xmalloc_base, n, INIT_MATCH_STACK_SIZE); 1651 /* Stack #0 is used to store the pattern itself and used for (?R), \g<0>, 1652 etc. Additional space is required. */ 1653 # define ADD_NUMMEM 1 1654 #else 1655 /* Stack #0 not is used. */ 1656 # define ADD_NUMMEM 0 1657 #endif 1658 1659 n = reg->num_repeat + (reg->num_mem + ADD_NUMMEM) * 2; 1660 1661 STACK_INIT(alloca_base, xmalloc_base, n, INIT_MATCH_STACK_SIZE); 1559 1662 pop_level = reg->stack_pop_level; 1560 1663 num_mem = reg->num_mem; 1561 repeat_stk = (OnigStackIndex* ) *palloca_base;1664 repeat_stk = (OnigStackIndex* )alloca_base; 1562 1665 1563 1666 mem_start_stk = (OnigStackIndex* )(repeat_stk + reg->num_repeat); 1564 mem_end_stk = mem_start_stk + (num_mem + 1); 1565 #else /* USE_SUBEXP_CALL */ 1566 /* Stack #0 not is used. */ 1567 n = reg->num_repeat + reg->num_mem * 2; 1568 1569 STACK_INIT(*palloca_base, xmalloc_base, n, INIT_MATCH_STACK_SIZE); 1570 pop_level = reg->stack_pop_level; 1571 num_mem = reg->num_mem; 1572 repeat_stk = (OnigStackIndex* )*palloca_base; 1573 1574 mem_start_stk = (OnigStackIndex* )(repeat_stk + reg->num_repeat); 1575 mem_end_stk = mem_start_stk + num_mem; 1667 mem_end_stk = mem_start_stk + (num_mem + ADD_NUMMEM); 1668 { 1669 OnigStackIndex *pp = mem_start_stk; 1670 for (; pp < repeat_stk + n; pp += 2) { 1671 pp[0] = INVALID_STACK_INDEX; 1672 pp[1] = INVALID_STACK_INDEX; 1673 } 1674 } 1675 #ifndef USE_SUBEXP_CALL 1576 1676 mem_start_stk--; /* for index start from 1, 1577 1677 mem_start_stk[1]..mem_start_stk[num_mem] */ 1578 1678 mem_end_stk--; /* for index start from 1, 1579 1679 mem_end_stk[1]..mem_end_stk[num_mem] */ 1580 #endif /* USE_SUBEXP_CALL */ 1581 { 1582 OnigStackIndex *pp = mem_start_stk; 1583 for (; pp < (repeat_stk + n); pp+=2) { 1584 pp[0] = INVALID_STACK_INDEX; 1585 pp[1] = INVALID_STACK_INDEX; 1586 } 1587 } 1680 #endif 1588 1681 1589 1682 #ifdef ONIG_DEBUG_MATCH 1590 fprintf(stderr, "match_at: str: %"PRI dPTR" (%p), end: %"PRIdPTR" (%p), start: %"PRIdPTR" (%p), sprev: %"PRIdPTR" (%p)\n",1591 ( intptr_t )str, str, (intptr_t )end, end, (intptr_t )sstart, sstart, (intptr_t )sprev, sprev);1683 fprintf(stderr, "match_at: str: %"PRIuPTR" (%p), end: %"PRIuPTR" (%p), start: %"PRIuPTR" (%p), sprev: %"PRIuPTR" (%p)\n", 1684 (uintptr_t )str, str, (uintptr_t )end, end, (uintptr_t )sstart, sstart, (uintptr_t )sprev, sprev); 1592 1685 fprintf(stderr, "size: %d, start offset: %d\n", 1593 1686 (int )(end - str), (int )(sstart - str)); 1687 fprintf(stderr, "\n ofs> str stk:type addr:opcode\n"); 1594 1688 #endif 1595 1689 … … 1601 1695 1602 1696 #ifdef ONIG_DEBUG_MATCH 1603 # define OPCODE_EXEC_HOOK\1697 # define OPCODE_EXEC_HOOK \ 1604 1698 if (s) { \ 1605 1699 UChar *op, *q, *bp, buf[50]; \ 1606 1700 int len; \ 1607 op = p - 1;\1701 op = p - OP_OFFSET; \ 1608 1702 fprintf(stderr, "%4"PRIdPTR"> \"", (*op == OP_FINISH) ? (ptrdiff_t )-1 : s - str); \ 1609 1703 bp = buf; \ … … 1611 1705 if (*op != OP_FINISH) { /* s may not be a valid pointer if OP_FINISH. */ \ 1612 1706 for (i = 0; i < 7 && q < end; i++) { \ 1613 len = enclen(encode, q );\1707 len = enclen(encode, q, end); \ 1614 1708 while (len-- > 0) *bp++ = *q++; \ 1615 1709 } \ 1710 if (q < end) { xmemcpy(bp, "...", 3); bp += 3; } \ 1616 1711 } \ 1617 if (q < end) { xmemcpy(bp, "...\"", 4); bp += 4; } \ 1618 else { xmemcpy(bp, "\"", 1); bp += 1; } \ 1712 xmemcpy(bp, "\"", 1); bp += 1; \ 1619 1713 *bp = 0; \ 1620 1714 fputs((char* )buf, stderr); \ 1621 1715 for (i = 0; i < 20 - (bp - buf); i++) fputc(' ', stderr); \ 1622 fprintf(stderr, "%4"PRIdPTR":", (op == FinishCode) ? (ptrdiff_t )-1 : op - reg->p); \ 1623 onig_print_compiled_byte_code(stderr, op, NULL, encode); \ 1716 fprintf(stderr, "%4"PRIdPTR":%s %4"PRIdPTR":", \ 1717 stk - stk_base - 1, \ 1718 (stk > stk_base) ? stack_type_str(stk[-1].type) : " ", \ 1719 (op == FinishCode) ? (ptrdiff_t )-1 : op - reg->p); \ 1720 onig_print_compiled_byte_code(stderr, op, reg->p+reg->used, NULL, encode); \ 1624 1721 fprintf(stderr, "\n"); \ 1625 1722 } 1626 1723 #else 1627 # define OPCODE_EXEC_HOOK ((void) 0)1724 # define OPCODE_EXEC_HOOK ((void) 0) 1628 1725 #endif 1629 1726 … … 1642 1739 else 1643 1740 goto end_best_len; 1644 1741 } 1645 1742 #endif 1646 1743 best_len = n; 1647 1744 region = msa->region; 1648 1745 if (region) { 1649 #ifdef USE_POSIX_API_REGION_OPTION 1650 if (IS_POSIX_REGION(msa->options)) { 1651 posix_regmatch_t* rmt = (posix_regmatch_t* )region; 1652 1653 rmt[0].rm_so = (regoff_t )(((pkeep > s) ? s : pkeep) - str); 1654 rmt[0].rm_eo = (regoff_t )(s - str); 1655 for (i = 1; i <= num_mem; i++) { 1656 if (mem_end_stk[i] != INVALID_STACK_INDEX) { 1657 if (BIT_STATUS_AT(reg->bt_mem_start, i)) 1658 rmt[i].rm_so = (regoff_t )(STACK_AT(mem_start_stk[i])->u.mem.pstr - str); 1659 else 1660 rmt[i].rm_so = (regoff_t )((UChar* )((void* )(mem_start_stk[i])) - str); 1661 1662 rmt[i].rm_eo = (regoff_t )((BIT_STATUS_AT(reg->bt_mem_end, i) 1746 region->beg[0] = ((pkeep > s) ? s : pkeep) - str; 1747 region->end[0] = s - str; 1748 for (i = 1; i <= num_mem; i++) { 1749 if (mem_end_stk[i] != INVALID_STACK_INDEX) { 1750 if (BIT_STATUS_AT(reg->bt_mem_start, i)) 1751 region->beg[i] = STACK_AT(mem_start_stk[i])->u.mem.pstr - str; 1752 else 1753 region->beg[i] = (UChar* )((void* )mem_start_stk[i]) - str; 1754 1755 region->end[i] = (BIT_STATUS_AT(reg->bt_mem_end, i) 1663 1756 ? STACK_AT(mem_end_stk[i])->u.mem.pstr 1664 : (UChar* )((void* )mem_end_stk[i])) - str); 1665 } 1666 else { 1667 rmt[i].rm_so = rmt[i].rm_eo = ONIG_REGION_NOTPOS; 1668 } 1757 : (UChar* )((void* )mem_end_stk[i])) - str; 1758 } 1759 else { 1760 region->beg[i] = region->end[i] = ONIG_REGION_NOTPOS; 1669 1761 } 1670 1762 } 1671 else { 1672 #endif /* USE_POSIX_API_REGION_OPTION */ 1673 region->beg[0] = ((pkeep > s) ? s : pkeep) - str; 1674 region->end[0] = s - str; 1675 for (i = 1; i <= num_mem; i++) { 1676 if (mem_end_stk[i] != INVALID_STACK_INDEX) { 1677 if (BIT_STATUS_AT(reg->bt_mem_start, i)) 1678 region->beg[i] = STACK_AT(mem_start_stk[i])->u.mem.pstr - str; 1679 else 1680 region->beg[i] = (UChar* )((void* )mem_start_stk[i]) - str; 1681 1682 region->end[i] = (BIT_STATUS_AT(reg->bt_mem_end, i) 1683 ? STACK_AT(mem_end_stk[i])->u.mem.pstr 1684 : (UChar* )((void* )mem_end_stk[i])) - str; 1685 } 1686 else { 1687 region->beg[i] = region->end[i] = ONIG_REGION_NOTPOS; 1688 } 1763 1764 #ifdef USE_CAPTURE_HISTORY 1765 if (reg->capture_history != 0) { 1766 int r; 1767 OnigCaptureTreeNode* node; 1768 1769 if (IS_NULL(region->history_root)) { 1770 region->history_root = node = history_node_new(); 1771 CHECK_NULL_RETURN_MEMERR(node); 1689 1772 } 1690 1691 #ifdef USE_CAPTURE_HISTORY 1692 if (reg->capture_history != 0) { 1693 int r; 1694 OnigCaptureTreeNode* node; 1695 1696 if (IS_NULL(region->history_root)) { 1697 region->history_root = node = history_node_new(); 1698 CHECK_NULL_RETURN_MEMERR(node); 1699 } 1700 else { 1701 node = region->history_root; 1702 history_tree_clear(node); 1703 } 1704 1705 node->group = 0; 1706 node->beg = ((pkeep > s) ? s : pkeep) - str; 1707 node->end = s - str; 1708 1709 stkp = stk_base; 1710 r = make_capture_history_tree(region->history_root, &stkp, 1711 stk, (UChar* )str, reg); 1712 if (r < 0) { 1713 best_len = r; /* error code */ 1714 goto finish; 1715 } 1773 else { 1774 node = region->history_root; 1775 history_tree_clear(node); 1716 1776 } 1777 1778 node->group = 0; 1779 node->beg = ((pkeep > s) ? s : pkeep) - str; 1780 node->end = s - str; 1781 1782 stkp = stk_base; 1783 r = make_capture_history_tree(region->history_root, &stkp, 1784 stk, (UChar* )str, reg); 1785 if (r < 0) { 1786 best_len = r; /* error code */ 1787 goto finish; 1788 } 1789 } 1717 1790 #endif /* USE_CAPTURE_HISTORY */ 1718 #ifdef USE_POSIX_API_REGION_OPTION1719 } /* else IS_POSIX_REGION() */1720 #endif1721 1791 } /* if (region) */ 1722 1792 } /* n > best_len */ … … 1742 1812 1743 1813 CASE(OP_EXACT1) MOP_IN(OP_EXACT1); 1744 #if 01745 1814 DATA_ENSURE(1); 1746 1815 if (*p != *s) goto fail; 1747 1816 p++; s++; 1748 #endif1749 if (*p != *s++) goto fail;1750 DATA_ENSURE(0);1751 p++;1752 1817 MOP_OUT; 1753 1818 NEXT; … … 1767 1832 while (len-- > 0) { 1768 1833 if (*p != *q) { 1769 1770 1834 goto fail; 1835 } 1771 1836 p++; q++; 1772 1837 } … … 1950 2015 if (BITSET_AT(((BitSetRef )p), *s) == 0) goto fail; 1951 2016 p += SIZE_BITSET; 1952 s += enclen(encode, s ); /* OP_CCLASS can match mb-code. \D, \S */2017 s += enclen(encode, s, end); /* OP_CCLASS can match mb-code. \D, \S */ 1953 2018 MOP_OUT; 1954 2019 NEXT; 1955 2020 1956 2021 CASE(OP_CCLASS_MB) MOP_IN(OP_CCLASS_MB); 1957 if (! ONIGENC_IS_MBC_HEAD(encode, s )) goto fail;2022 if (! ONIGENC_IS_MBC_HEAD(encode, s, end)) goto fail; 1958 2023 1959 2024 cclass_mb: … … 1965 2030 1966 2031 DATA_ENSURE(1); 1967 mb_len = enclen(encode, s );2032 mb_len = enclen(encode, s, end); 1968 2033 DATA_ENSURE(mb_len); 1969 2034 ss = s; … … 1985 2050 CASE(OP_CCLASS_MIX) MOP_IN(OP_CCLASS_MIX); 1986 2051 DATA_ENSURE(1); 1987 if (ONIGENC_IS_MBC_HEAD(encode, s )) {2052 if (ONIGENC_IS_MBC_HEAD(encode, s, end)) { 1988 2053 p += SIZE_BITSET; 1989 2054 goto cclass_mb; … … 2005 2070 if (BITSET_AT(((BitSetRef )p), *s) != 0) goto fail; 2006 2071 p += SIZE_BITSET; 2007 s += enclen(encode, s );2072 s += enclen(encode, s, end); 2008 2073 MOP_OUT; 2009 2074 NEXT; … … 2011 2076 CASE(OP_CCLASS_MB_NOT) MOP_IN(OP_CCLASS_MB_NOT); 2012 2077 DATA_ENSURE(1); 2013 if (! ONIGENC_IS_MBC_HEAD(encode, s )) {2078 if (! ONIGENC_IS_MBC_HEAD(encode, s, end)) { 2014 2079 s++; 2015 2080 GET_LENGTH_INC(tlen, p); … … 2023 2088 OnigCodePoint code; 2024 2089 UChar *ss; 2025 int mb_len = enclen(encode, s );2090 int mb_len = enclen(encode, s, end); 2026 2091 2027 2092 if (! DATA_ENSURE_CHECK(mb_len)) { 2028 2093 DATA_ENSURE(1); 2029 2094 s = (UChar* )end; 2030 2095 p += tlen; … … 2052 2117 CASE(OP_CCLASS_MIX_NOT) MOP_IN(OP_CCLASS_MIX_NOT); 2053 2118 DATA_ENSURE(1); 2054 if (ONIGENC_IS_MBC_HEAD(encode, s )) {2119 if (ONIGENC_IS_MBC_HEAD(encode, s, end)) { 2055 2120 p += SIZE_BITSET; 2056 2121 goto cclass_mb_not; … … 2068 2133 NEXT; 2069 2134 2070 CASE(OP_CCLASS_NODE) MOP_IN(OP_CCLASS_NODE);2071 {2072 OnigCodePoint code;2073 void *node;2074 int mb_len;2075 UChar *ss;2076 2077 DATA_ENSURE(1);2078 GET_POINTER_INC(node, p);2079 mb_len = enclen(encode, s);2080 ss = s;2081 s += mb_len;2082 DATA_ENSURE(0);2083 code = ONIGENC_MBC_TO_CODE(encode, ss, s);2084 if (onig_is_code_in_cc_len(mb_len, code, node) == 0) goto fail;2085 }2086 MOP_OUT;2087 NEXT;2088 2089 2135 CASE(OP_ANYCHAR) MOP_IN(OP_ANYCHAR); 2090 2136 DATA_ENSURE(1); 2091 n = enclen(encode, s );2137 n = enclen(encode, s, end); 2092 2138 DATA_ENSURE(n); 2093 2139 if (ONIGENC_IS_MBC_NEWLINE_EX(encode, s, str, end, option, 0)) goto fail; … … 2098 2144 CASE(OP_ANYCHAR_ML) MOP_IN(OP_ANYCHAR_ML); 2099 2145 DATA_ENSURE(1); 2100 n = enclen(encode, s );2146 n = enclen(encode, s, end); 2101 2147 DATA_ENSURE(n); 2102 2148 s += n; … … 2107 2153 while (DATA_ENSURE_CHECK1) { 2108 2154 STACK_PUSH_ALT(p, s, sprev, pkeep); 2109 n = enclen(encode, s );2110 2111 2112 2113 2114 } 2115 MOP_OUT; 2116 NEXT;2155 n = enclen(encode, s, end); 2156 DATA_ENSURE(n); 2157 if (ONIGENC_IS_MBC_NEWLINE_EX(encode, s, str, end, option, 0)) goto fail; 2158 sprev = s; 2159 s += n; 2160 } 2161 MOP_OUT; 2162 JUMP; 2117 2163 2118 2164 CASE(OP_ANYCHAR_ML_STAR) MOP_IN(OP_ANYCHAR_ML_STAR); 2119 2165 while (DATA_ENSURE_CHECK1) { 2120 2166 STACK_PUSH_ALT(p, s, sprev, pkeep); 2121 n = enclen(encode, s );2167 n = enclen(encode, s, end); 2122 2168 if (n > 1) { 2123 2169 DATA_ENSURE(n); … … 2131 2177 } 2132 2178 MOP_OUT; 2133 NEXT;2179 JUMP; 2134 2180 2135 2181 CASE(OP_ANYCHAR_STAR_PEEK_NEXT) MOP_IN(OP_ANYCHAR_STAR_PEEK_NEXT); … … 2138 2184 STACK_PUSH_ALT(p + 1, s, sprev, pkeep); 2139 2185 } 2140 n = enclen(encode, s );2141 2142 2143 2144 2186 n = enclen(encode, s, end); 2187 DATA_ENSURE(n); 2188 if (ONIGENC_IS_MBC_NEWLINE_EX(encode, s, str, end, option, 0)) goto fail; 2189 sprev = s; 2190 s += n; 2145 2191 } 2146 2192 p++; … … 2153 2199 STACK_PUSH_ALT(p + 1, s, sprev, pkeep); 2154 2200 } 2155 n = enclen(encode, s );2201 n = enclen(encode, s, end); 2156 2202 if (n > 1) { 2157 2203 DATA_ENSURE(n); … … 2176 2222 2177 2223 STACK_PUSH_ALT_WITH_STATE_CHECK(p, s, sprev, mem, pkeep); 2178 n = enclen(encode, s );2179 2180 2181 2182 2224 n = enclen(encode, s, end); 2225 DATA_ENSURE(n); 2226 if (ONIGENC_IS_MBC_NEWLINE_EX(encode, s, str, end, option, 0)) goto fail; 2227 sprev = s; 2228 s += n; 2183 2229 } 2184 2230 MOP_OUT; … … 2194 2240 2195 2241 STACK_PUSH_ALT_WITH_STATE_CHECK(p, s, sprev, mem, pkeep); 2196 n = enclen(encode, s );2242 n = enclen(encode, s, end); 2197 2243 if (n > 1) { 2198 2244 DATA_ENSURE(n); … … 2214 2260 goto fail; 2215 2261 2216 s += enclen(encode, s );2262 s += enclen(encode, s, end); 2217 2263 MOP_OUT; 2218 2264 NEXT; … … 2223 2269 goto fail; 2224 2270 2225 s += enclen(encode, s );2271 s += enclen(encode, s, end); 2226 2272 MOP_OUT; 2227 2273 NEXT; … … 2232 2278 goto fail; 2233 2279 2234 s += enclen(encode, s );2280 s += enclen(encode, s, end); 2235 2281 MOP_OUT; 2236 2282 NEXT; … … 2241 2287 goto fail; 2242 2288 2243 s += enclen(encode, s );2289 s += enclen(encode, s, end); 2244 2290 MOP_OUT; 2245 2291 NEXT; … … 2372 2418 2373 2419 CASE(OP_BEGIN_LINE) MOP_IN(OP_BEGIN_LINE); 2374 op_begin_line:2375 2420 if (ON_STR_BEGIN(s)) { 2376 2421 if (IS_NOTBOL(msa->options)) goto fail; … … 2422 2467 } 2423 2468 else if (ONIGENC_IS_MBC_NEWLINE_EX(encode, s, str, end, option, 1)) { 2424 UChar* ss = s + enclen(encode, s );2469 UChar* ss = s + enclen(encode, s, end); 2425 2470 if (ON_STR_END(ss)) { 2426 2471 MOP_OUT; … … 2430 2475 else if (IS_NEWLINE_CRLF(option) 2431 2476 && ONIGENC_IS_MBC_CRNL(encode, s, end)) { 2432 ss += enclen(encode, ss );2477 ss += enclen(encode, ss, end); 2433 2478 if (ON_STR_END(ss)) { 2434 2479 MOP_OUT; … … 2444 2489 if (s != msa->gpos) 2445 2490 goto fail; 2446 2447 MOP_OUT;2448 JUMP;2449 2450 CASE(OP_BEGIN_POS_OR_LINE) MOP_IN(OP_BEGIN_POS_OR_LINE);2451 if (s != msa->gpos)2452 goto op_begin_line;2453 2491 2454 2492 MOP_OUT; … … 2543 2581 sprev = s; 2544 2582 STRING_CMP(pstart, s, n); 2545 while (sprev + (len = enclen(encode, sprev )) < s)2583 while (sprev + (len = enclen(encode, sprev, end)) < s) 2546 2584 sprev += len; 2547 2585 … … 2573 2611 DATA_ENSURE(n); 2574 2612 sprev = s; 2575 STRING_CMP_IC(case_fold_flag, pstart, &s, n);2576 while (sprev + (len = enclen(encode, sprev )) < s)2613 STRING_CMP_IC(case_fold_flag, pstart, &s, (int)n, end); 2614 while (sprev + (len = enclen(encode, sprev, end)) < s) 2577 2615 sprev += len; 2578 2616 … … 2609 2647 if (is_fail) continue; 2610 2648 s = swork; 2611 while (sprev + (len = enclen(encode, sprev )) < s)2649 while (sprev + (len = enclen(encode, sprev, end)) < s) 2612 2650 sprev += len; 2613 2651 … … 2645 2683 sprev = s; 2646 2684 swork = s; 2647 STRING_CMP_VALUE_IC(case_fold_flag, pstart, &swork, n, is_fail);2685 STRING_CMP_VALUE_IC(case_fold_flag, pstart, &swork, n, end, is_fail); 2648 2686 if (is_fail) continue; 2649 2687 s = swork; 2650 while (sprev + (len = enclen(encode, sprev )) < s)2688 while (sprev + (len = enclen(encode, sprev, end)) < s) 2651 2689 sprev += len; 2652 2690 … … 2671 2709 2672 2710 sprev = s; 2673 if (backref_match_at_nested_level(reg, stk, stk_base, ic 2674 ,case_fold_flag, (int )level, (int )tlen, p, &s, end)) {2675 while (sprev + (len = enclen(encode, sprev )) < s)2711 if (backref_match_at_nested_level(reg, stk, stk_base, ic, 2712 case_fold_flag, (int )level, (int )tlen, p, &s, end)) { 2713 while (sprev + (len = enclen(encode, sprev, end)) < s) 2676 2714 sprev += len; 2677 2715 … … 2715 2753 if (isnull) { 2716 2754 #ifdef ONIG_DEBUG_MATCH 2717 fprintf(stderr, "NULL_CHECK_END: skip id:%d, s:%"PRI dPTR" (%p)\n",2718 (int )mem, ( intptr_t )s, s);2755 fprintf(stderr, "NULL_CHECK_END: skip id:%d, s:%"PRIuPTR" (%p)\n", 2756 (int )mem, (uintptr_t )s, s); 2719 2757 #endif 2720 2758 null_check_found: … … 2748 2786 STACK_NULL_CHECK_MEMST(isnull, mem, s, reg); 2749 2787 if (isnull) { 2750 # ifdef ONIG_DEBUG_MATCH2751 fprintf(stderr, "NULL_CHECK_END_MEMST: skip id:%d, s:%"PRI dPTR" (%p)\n",2752 (int )mem, ( intptr_t )s, s);2753 # endif2788 # ifdef ONIG_DEBUG_MATCH 2789 fprintf(stderr, "NULL_CHECK_END_MEMST: skip id:%d, s:%"PRIuPTR" (%p)\n", 2790 (int )mem, (uintptr_t )s, s); 2791 # endif 2754 2792 if (isnull == -1) goto fail; 2755 2793 goto null_check_found; … … 2767 2805 2768 2806 GET_MEMNUM_INC(mem, p); /* mem: null check id */ 2769 # ifdef USE_MONOMANIAC_CHECK_CAPTURES_IN_ENDLESS_REPEAT2807 # ifdef USE_MONOMANIAC_CHECK_CAPTURES_IN_ENDLESS_REPEAT 2770 2808 STACK_NULL_CHECK_MEMST_REC(isnull, mem, s, reg); 2771 # else2809 # else 2772 2810 STACK_NULL_CHECK_REC(isnull, mem, s); 2773 # endif2811 # endif 2774 2812 if (isnull) { 2775 # ifdef ONIG_DEBUG_MATCH2776 fprintf(stderr, "NULL_CHECK_END_MEMST_PUSH: skip id:%d, s:%"PRI dPTR" (%p)\n",2777 (int )mem, ( intptr_t )s, s);2778 # endif2813 # ifdef ONIG_DEBUG_MATCH 2814 fprintf(stderr, "NULL_CHECK_END_MEMST_PUSH: skip id:%d, s:%"PRIuPTR" (%p)\n", 2815 (int )mem, (uintptr_t )s, s); 2816 # endif 2779 2817 if (isnull == -1) goto fail; 2780 2818 goto null_check_found; … … 2840 2878 JUMP; 2841 2879 2880 #ifdef USE_OP_PUSH_OR_JUMP_EXACT 2842 2881 CASE(OP_PUSH_OR_JUMP_EXACT1) MOP_IN(OP_PUSH_OR_JUMP_EXACT1); 2843 2882 GET_RELADDR_INC(addr, p); … … 2851 2890 MOP_OUT; 2852 2891 JUMP; 2892 #endif 2853 2893 2854 2894 CASE(OP_PUSH_IF_PEEK_NEXT) MOP_IN(OP_PUSH_IF_PEEK_NEXT); … … 2905 2945 stkp->u.repeat.count++; 2906 2946 if (stkp->u.repeat.count >= reg->repeat_range[mem].upper) { 2907 2947 /* end of repeat. Nothing to do. */ 2908 2948 } 2909 2949 else if (stkp->u.repeat.count >= reg->repeat_range[mem].lower) { 2910 2911 2950 STACK_PUSH_ALT(p, s, sprev, pkeep); 2951 p = STACK_AT(si)->u.repeat.pcode; /* Don't use stkp after PUSH. */ 2912 2952 } 2913 2953 else { 2914 2954 p = stkp->u.repeat.pcode; 2915 2955 } 2916 2956 STACK_PUSH_REPEAT_INC(si); … … 2934 2974 stkp->u.repeat.count++; 2935 2975 if (stkp->u.repeat.count < reg->repeat_range[mem].upper) { 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2976 if (stkp->u.repeat.count >= reg->repeat_range[mem].lower) { 2977 UChar* pcode = stkp->u.repeat.pcode; 2978 2979 STACK_PUSH_REPEAT_INC(si); 2980 STACK_PUSH_ALT(pcode, s, sprev, pkeep); 2981 } 2982 else { 2983 p = stkp->u.repeat.pcode; 2984 STACK_PUSH_REPEAT_INC(si); 2985 } 2946 2986 } 2947 2987 else if (stkp->u.repeat.count == reg->repeat_range[mem].upper) { 2948 2988 STACK_PUSH_REPEAT_INC(si); 2949 2989 } 2950 2990 MOP_OUT; … … 2996 3036 CASE(OP_LOOK_BEHIND) MOP_IN(OP_LOOK_BEHIND); 2997 3037 GET_LENGTH_INC(tlen, p); 2998 s = (UChar* )ONIGENC_STEP_BACK(encode, str, s, (int )tlen);3038 s = (UChar* )ONIGENC_STEP_BACK(encode, str, s, end, (int )tlen); 2999 3039 if (IS_NULL(s)) goto fail; 3000 sprev = (UChar* )onigenc_get_prev_char_head(encode, str, s );3040 sprev = (UChar* )onigenc_get_prev_char_head(encode, str, s, end); 3001 3041 MOP_OUT; 3002 3042 JUMP; … … 3005 3045 GET_RELADDR_INC(addr, p); 3006 3046 GET_LENGTH_INC(tlen, p); 3007 q = (UChar* )ONIGENC_STEP_BACK(encode, str, s, (int )tlen);3047 q = (UChar* )ONIGENC_STEP_BACK(encode, str, s, end, (int )tlen); 3008 3048 if (IS_NULL(q)) { 3009 3049 /* too short case -> success. ex. /(?<!XXX)a/.match("a") … … 3015 3055 STACK_PUSH_LOOK_BEHIND_NOT(p + addr, s, sprev, pkeep); 3016 3056 s = q; 3017 sprev = (UChar* )onigenc_get_prev_char_head(encode, str, s );3057 sprev = (UChar* )onigenc_get_prev_char_head(encode, str, s, end); 3018 3058 } 3019 3059 MOP_OUT; … … 3022 3062 CASE(OP_FAIL_LOOK_BEHIND_NOT) MOP_IN(OP_FAIL_LOOK_BEHIND_NOT); 3023 3063 STACK_POP_TIL_LOOK_BEHIND_NOT; 3064 goto fail; 3065 NEXT; 3066 3067 CASE(OP_PUSH_ABSENT_POS) MOP_IN(OP_PUSH_ABSENT_POS); 3068 /* Save the absent-start-pos and the original end-pos. */ 3069 STACK_PUSH_ABSENT_POS(s, ABSENT_END_POS); 3070 MOP_OUT; 3071 JUMP; 3072 3073 CASE(OP_ABSENT) MOP_IN(OP_ABSENT); 3074 { 3075 const UChar* aend = ABSENT_END_POS; 3076 UChar* absent; 3077 UChar* selfp = p - 1; 3078 3079 STACK_POP_ABSENT_POS(absent, ABSENT_END_POS); /* Restore end-pos. */ 3080 GET_RELADDR_INC(addr, p); 3081 #ifdef ONIG_DEBUG_MATCH 3082 fprintf(stderr, "ABSENT: s:%p, end:%p, absent:%p, aend:%p\n", s, end, absent, aend); 3083 #endif 3084 if ((absent > aend) && (s > absent)) { 3085 /* An empty match occurred in (?~...) at the start point. 3086 * Never match. */ 3087 STACK_POP; 3088 goto fail; 3089 } 3090 else if ((s >= aend) && (s > absent)) { 3091 if (s > aend) { 3092 /* Only one (or less) character matched in the last iteration. 3093 * This is not a possible point. */ 3094 goto fail; 3095 } 3096 /* All possible points were found. Try matching after (?~...). */ 3097 DATA_ENSURE(0); 3098 p += addr; 3099 } 3100 else { 3101 STACK_PUSH_ALT(p + addr, s, sprev, pkeep); /* Push possible point. */ 3102 n = enclen(encode, s, end); 3103 STACK_PUSH_ABSENT_POS(absent, ABSENT_END_POS); /* Save the original pos. */ 3104 STACK_PUSH_ALT(selfp, s + n, s, pkeep); /* Next iteration. */ 3105 STACK_PUSH_ABSENT; 3106 ABSENT_END_POS = aend; 3107 } 3108 } 3109 MOP_OUT; 3110 JUMP; 3111 3112 CASE(OP_ABSENT_END) MOP_IN(OP_ABSENT_END); 3113 /* The pattern inside (?~...) was matched. 3114 * Set the end-pos temporary and go to next iteration. */ 3115 if (sprev < ABSENT_END_POS) 3116 ABSENT_END_POS = sprev; 3117 #ifdef ONIG_DEBUG_MATCH 3118 fprintf(stderr, "ABSENT_END: end:%p\n", ABSENT_END_POS); 3119 #endif 3120 STACK_POP_TIL_ABSENT; 3024 3121 goto fail; 3025 3122 NEXT; … … 3057 3154 CASE(OP_FAIL) 3058 3155 if (0) { 3059 3156 /* fall */ 3060 3157 fail: 3061 3158 MOP_OUT; 3062 3159 } 3063 3160 MOP_IN(OP_FAIL); … … 3070 3167 #ifdef USE_COMBINATION_EXPLOSION_CHECK 3071 3168 if (stk->u.state.state_check != 0) { 3072 3073 3169 stk->type = STK_STATE_CHECK_MARK; 3170 stk++; 3074 3171 } 3075 3172 #endif … … 3105 3202 } 3106 3203 3107 static OnigPosition3108 match_at(regex_t* reg, const UChar* str, const UChar* end,3109 #ifdef USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE3110 const UChar* right_range,3111 #endif3112 const UChar* sstart, UChar* sprev, OnigMatchArg* msa)3113 {3114 char *alloca_base = NULL;3115 OnigPosition ret = match_at_(reg, str, end,3116 #ifdef USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE3117 right_range,3118 #endif3119 sstart, sprev, msa, &alloca_base);3120 if(alloca_base) xfree(alloca_base);3121 return ret;3122 }3123 3204 3124 3205 static UChar* … … 3156 3237 return s; 3157 3238 } 3158 s += enclen(enc, s );3239 s += enclen(enc, s, text_end); 3159 3240 } 3160 3241 … … 3164 3245 static int 3165 3246 str_lower_case_match(OnigEncoding enc, int case_fold_flag, 3166 3247 const UChar* t, const UChar* tend, 3167 3248 const UChar* p, const UChar* end) 3168 3249 { … … 3201 3282 return s; 3202 3283 3203 s += enclen(enc, s );3284 s += enclen(enc, s, text_end); 3204 3285 } 3205 3286 … … 3219 3300 s = (UChar* )text_start; 3220 3301 else 3221 s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, adjust_text, s );3302 s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, adjust_text, s, text_end); 3222 3303 3223 3304 while (s >= text) { … … 3233 3314 return s; 3234 3315 } 3235 s = (UChar* )onigenc_get_prev_char_head(enc, adjust_text, s );3316 s = (UChar* )onigenc_get_prev_char_head(enc, adjust_text, s, text_end); 3236 3317 } 3237 3318 … … 3252 3333 s = (UChar* )text_start; 3253 3334 else 3254 s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, adjust_text, s );3335 s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(enc, adjust_text, s, text_end); 3255 3336 3256 3337 while (s >= text) { 3257 3338 if (str_lower_case_match(enc, case_fold_flag, 3258 3339 target, target_end, s, text_end)) 3259 3340 return s; 3260 3341 3261 s = (UChar* )onigenc_get_prev_char_head(enc, adjust_text, s );3342 s = (UChar* )onigenc_get_prev_char_head(enc, adjust_text, s, text_end); 3262 3343 } 3263 3344 … … 3276 3357 ptrdiff_t skip, tlen1; 3277 3358 3278 # ifdef ONIG_DEBUG_SEARCH3359 # ifdef ONIG_DEBUG_SEARCH 3279 3360 fprintf(stderr, "bm_search_notrev: text: %"PRIuPTR" (%p), text_end: %"PRIuPTR" (%p), text_range: %"PRIuPTR" (%p)\n", 3280 text, text, text_end, text_end,text_range, text_range);3281 # endif3361 (uintptr_t )text, text, (uintptr_t )text_end, text_end, (uintptr_t )text_range, text_range); 3362 # endif 3282 3363 3283 3364 tail = target_end - 1; … … 3300 3381 t = s; 3301 3382 do { 3302 s += enclen(reg->enc, s);3383 s += enclen(reg->enc, s, end); 3303 3384 } while ((s - t) < skip && s < end); 3304 3385 } 3305 3386 } 3306 3387 else { 3388 # if OPT_EXACT_MAXLEN >= ONIG_CHAR_TABLE_SIZE 3307 3389 while (s < end) { 3308 3390 p = se = s + tlen1; … … 3315 3397 t = s; 3316 3398 do { 3317 s += enclen(reg->enc, s);3399 s += enclen(reg->enc, s, end); 3318 3400 } while ((s - t) < skip && s < end); 3319 3401 } 3402 # endif 3320 3403 } 3321 3404 … … 3331 3414 const UChar *tail; 3332 3415 3333 # ifdef ONIG_DEBUG_SEARCH3334 fprintf(stderr, "bm_search: text: %"PRIuPTR" , text_end: %"PRIuPTR", text_range: %"PRIuPTR"\n",3335 text, text_end, text_range);3336 # endif3416 # ifdef ONIG_DEBUG_SEARCH 3417 fprintf(stderr, "bm_search: text: %"PRIuPTR" (%p), text_end: %"PRIuPTR" (%p), text_range: %"PRIuPTR" (%p)\n", 3418 (uintptr_t )text, text, (uintptr_t )text_end, text_end, (uintptr_t )text_range, text_range); 3419 # endif 3337 3420 3338 3421 end = text_range + (target_end - target) - 1; … … 3346 3429 p = s; 3347 3430 t = tail; 3348 # ifdef ONIG_DEBUG_SEARCH3431 # ifdef ONIG_DEBUG_SEARCH 3349 3432 fprintf(stderr, "bm_search_loop: pos: %"PRIdPTR" %s\n", 3350 3433 (intptr_t )(s - text), s); 3351 # endif3434 # endif 3352 3435 while (*p == *t) { 3353 3436 if (t == target) return (UChar* )p; … … 3358 3441 } 3359 3442 else { /* see int_map[] */ 3443 # if OPT_EXACT_MAXLEN >= ONIG_CHAR_TABLE_SIZE 3360 3444 while (s < end) { 3361 3445 p = s; … … 3367 3451 s += reg->int_map[*s]; 3368 3452 } 3453 # endif 3369 3454 } 3370 3455 return (UChar* )NULL; … … 3383 3468 int case_fold_flag = reg->case_fold_flag; 3384 3469 3385 # ifdef ONIG_DEBUG_SEARCH3470 # ifdef ONIG_DEBUG_SEARCH 3386 3471 fprintf(stderr, "bm_search_notrev_ic: text: %d (%p), text_end: %d (%p), text_range: %d (%p)\n", 3387 3472 (int )text, text, (int )text_end, text_end, (int )text_range, text_range); 3388 # endif3473 # endif 3389 3474 3390 3475 tail = target_end - 1; … … 3405 3490 t = s; 3406 3491 do { 3407 s += enclen(reg->enc, s);3492 s += enclen(reg->enc, s, end); 3408 3493 } while ((s - t) < skip && s < end); 3409 3494 } 3410 3495 } 3411 3496 else { 3497 # if OPT_EXACT_MAXLEN >= ONIG_CHAR_TABLE_SIZE 3412 3498 while (s < end) { 3413 3499 se = s + tlen1; … … 3418 3504 t = s; 3419 3505 do { 3420 s += enclen(reg->enc, s);3506 s += enclen(reg->enc, s, end); 3421 3507 } while ((s - t) < skip && s < end); 3422 3508 } 3509 # endif 3423 3510 } 3424 3511 … … 3436 3523 int case_fold_flag = reg->case_fold_flag; 3437 3524 3438 # ifdef ONIG_DEBUG_SEARCH3525 # ifdef ONIG_DEBUG_SEARCH 3439 3526 fprintf(stderr, "bm_search_ic: text: %d (%p), text_end: %d (%p), text_range: %d (%p)\n", 3440 3527 (int )text, text, (int )text_end, text_end, (int )text_range, text_range); 3441 # endif3528 # endif 3442 3529 3443 3530 end = text_range + (target_end - target) - 1; … … 3457 3544 } 3458 3545 else { /* see int_map[] */ 3546 # if OPT_EXACT_MAXLEN >= ONIG_CHAR_TABLE_SIZE 3459 3547 while (s < end) { 3460 3548 p = s - (target_end - target) + 1; … … 3464 3552 s += reg->int_map[*s]; 3465 3553 } 3554 # endif 3466 3555 } 3467 3556 return (UChar* )NULL; … … 3480 3569 ptrdiff_t skip, tlen1; 3481 3570 OnigEncoding enc = reg->enc; 3482 int (*mbc_enc_len)(const OnigUChar* p) = enc->mbc_enc_len; 3483 3484 #ifdef ONIG_DEBUG_SEARCH 3485 fprintf(stderr, "bm_search_notrev: text: %"PRIdPTR" (%p), text_end: %"PRIdPTR" (%p), text_range: %"PRIdPTR" (%p)\n", 3486 (intptr_t )text, text, (intptr_t )text_end, text_end, (intptr_t )text_range, text_range); 3487 #endif 3571 3572 # ifdef ONIG_DEBUG_SEARCH 3573 fprintf(stderr, "bm_search_notrev: text: %"PRIuPTR" (%p), text_end: %"PRIuPTR" (%p), text_range: %"PRIuPTR" (%p)\n", 3574 (uintptr_t )text, text, (uintptr_t )text_end, text_end, (uintptr_t )text_range, text_range); 3575 # endif 3488 3576 3489 3577 tail = target_end - 1; … … 3507 3595 t = s; 3508 3596 do { 3509 s += mbc_enc_len(s);3597 s += enclen(enc, s, end); 3510 3598 } while ((s - t) < skip && s < end); 3511 3599 } 3512 3600 } 3513 3601 else { 3602 # if OPT_EXACT_MAXLEN >= ONIG_CHAR_TABLE_SIZE 3514 3603 while (s < end) { 3515 3604 p = se = s + tlen1; … … 3523 3612 t = s; 3524 3613 do { 3525 s += mbc_enc_len(s);3614 s += enclen(enc, s, end); 3526 3615 } while ((s - t) < skip && s < end); 3527 3616 } 3617 # endif 3528 3618 } 3529 3619 … … 3539 3629 const UChar *tail; 3540 3630 ptrdiff_t tlen1; 3631 3632 # ifdef ONIG_DEBUG_SEARCH 3633 fprintf(stderr, "bm_search: text: %"PRIuPTR" (%p), text_end: %"PRIuPTR" (%p), text_range: %"PRIuPTR" (%p)\n", 3634 (uintptr_t )text, text, (uintptr_t )text_end, text_end, (uintptr_t )text_range, text_range); 3635 # endif 3541 3636 3542 3637 tail = target_end - 1; … … 3560 3655 } 3561 3656 else { /* see int_map[] */ 3657 # if OPT_EXACT_MAXLEN >= ONIG_CHAR_TABLE_SIZE 3562 3658 while (s < end) { 3563 3659 p = s; … … 3570 3666 s += reg->int_map[s[1]]; 3571 3667 } 3668 # endif 3572 3669 } 3573 3670 return (UChar* )NULL; … … 3584 3681 ptrdiff_t skip, tlen1; 3585 3682 OnigEncoding enc = reg->enc; 3586 int (*mbc_enc_len)(const OnigUChar* p) = enc->mbc_enc_len;3587 3683 int case_fold_flag = reg->case_fold_flag; 3588 3684 3589 # ifdef ONIG_DEBUG_SEARCH3590 fprintf(stderr, "bm_search_notrev_ic: text: %"PRI dPTR" (%p), text_end: %"PRIdPTR" (%p), text_range: %"PRIdPTR" (%p)\n",3591 ( intptr_t )text, text, (intptr_t )text_end, text_end, (intptr_t )text_range, text_range);3592 # endif3685 # ifdef ONIG_DEBUG_SEARCH 3686 fprintf(stderr, "bm_search_notrev_ic: text: %"PRIuPTR" (%p), text_end: %"PRIuPTR" (%p), text_range: %"PRIuPTR" (%p)\n", 3687 (uintptr_t )text, text, (uintptr_t )text_end, text_end, (uintptr_t )text_range, text_range); 3688 # endif 3593 3689 3594 3690 tail = target_end - 1; … … 3610 3706 t = s; 3611 3707 do { 3612 s += mbc_enc_len(s);3708 s += enclen(enc, s, end); 3613 3709 } while ((s - t) < skip && s < end); 3614 3710 } 3615 3711 } 3616 3712 else { 3713 # if OPT_EXACT_MAXLEN >= ONIG_CHAR_TABLE_SIZE 3617 3714 while (s < end) { 3618 3715 se = s + tlen1; … … 3624 3721 t = s; 3625 3722 do { 3626 s += mbc_enc_len(s);3723 s += enclen(enc, s, end); 3627 3724 } while ((s - t) < skip && s < end); 3628 3725 } 3726 # endif 3629 3727 } 3630 3728 … … 3643 3741 int case_fold_flag = reg->case_fold_flag; 3644 3742 3645 # ifdef ONIG_DEBUG_SEARCH3646 fprintf(stderr, "bm_search_ic: text: %"PRI dPTR" (%p), text_end: %"PRIdPTR" (%p), text_range: %"PRIdPTR" (%p)\n",3647 ( intptr_t )text, text, (intptr_t )text_end, text_end, (intptr_t )text_range, text_range);3648 # endif3743 # ifdef ONIG_DEBUG_SEARCH 3744 fprintf(stderr, "bm_search_ic: text: %"PRIuPTR" (%p), text_end: %"PRIuPTR" (%p), text_range: %"PRIuPTR" (%p)\n", 3745 (uintptr_t )text, text, (uintptr_t )text_end, text_end, (uintptr_t )text_range, text_range); 3746 # endif 3649 3747 3650 3748 tail = target_end - 1; … … 3666 3764 } 3667 3765 else { /* see int_map[] */ 3766 # if OPT_EXACT_MAXLEN >= ONIG_CHAR_TABLE_SIZE 3668 3767 while (s < end) { 3669 3768 p = s - tlen1; … … 3674 3773 s += reg->int_map[s[1]]; 3675 3774 } 3775 # endif 3676 3776 } 3677 3777 return (UChar* )NULL; … … 3679 3779 #endif /* USE_SUNDAY_QUICK_SEARCH */ 3680 3780 3781 #ifdef USE_INT_MAP_BACKWARD 3681 3782 static int 3682 3783 set_bm_backward_skip(UChar* s, UChar* end, OnigEncoding enc ARG_UNUSED, … … 3711 3812 s = text_start; 3712 3813 else 3713 s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, adjust_text, s );3814 s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, adjust_text, s, text_end); 3714 3815 3715 3816 while (s >= text) { … … 3723 3824 3724 3825 s -= reg->int_map_backward[*s]; 3725 s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, adjust_text, s );3826 s = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, adjust_text, s, text_end); 3726 3827 } 3727 3828 3728 3829 return (UChar* )NULL; 3729 3830 } 3831 #endif 3730 3832 3731 3833 static UChar* 3732 3834 map_search(OnigEncoding enc, UChar map[], 3733 const UChar* text, const UChar* text_range )3835 const UChar* text, const UChar* text_range, const UChar* text_end) 3734 3836 { 3735 3837 const UChar *s = text; … … 3738 3840 if (map[*s]) return (UChar* )s; 3739 3841 3740 s += enclen(enc, s );3842 s += enclen(enc, s, text_end); 3741 3843 } 3742 3844 return (UChar* )NULL; … … 3746 3848 map_search_backward(OnigEncoding enc, UChar map[], 3747 3849 const UChar* text, const UChar* adjust_text, 3748 const UChar* text_start )3850 const UChar* text_start, const UChar* text_end) 3749 3851 { 3750 3852 const UChar *s = text_start; … … 3753 3855 if (map[*s]) return (UChar* )s; 3754 3856 3755 s = onigenc_get_prev_char_head(enc, adjust_text, s );3857 s = onigenc_get_prev_char_head(enc, adjust_text, s, text_end); 3756 3858 } 3757 3859 return (UChar* )NULL; … … 3765 3867 UChar *prev; 3766 3868 OnigMatchArg msa; 3767 3768 #if defined(USE_RECOMPILE_API) && defined(USE_MULTI_THREAD_SYSTEM)3769 start:3770 THREAD_ATOMIC_START;3771 if (ONIG_STATE(reg) >= ONIG_STATE_NORMAL) {3772 ONIG_STATE_INC(reg);3773 if (IS_NOT_NULL(reg->chain) && ONIG_STATE(reg) == ONIG_STATE_NORMAL) {3774 onig_chain_reduce(reg);3775 ONIG_STATE_INC(reg);3776 }3777 }3778 else {3779 int n;3780 3781 THREAD_ATOMIC_END;3782 n = 0;3783 while (ONIG_STATE(reg) < ONIG_STATE_NORMAL) {3784 if (++n > THREAD_PASS_LIMIT_COUNT)3785 return ONIGERR_OVER_THREAD_PASS_LIMIT_COUNT;3786 THREAD_PASS;3787 }3788 goto start;3789 }3790 THREAD_ATOMIC_END;3791 #endif /* USE_RECOMPILE_API && USE_MULTI_THREAD_SYSTEM */3792 3869 3793 3870 MATCH_ARG_INIT(msa, option, region, at, at); … … 3799 3876 #endif 3800 3877 3801 if (region 3802 #ifdef USE_POSIX_API_REGION_OPTION 3803 && !IS_POSIX_REGION(option) 3804 #endif 3805 ) { 3878 if (region) { 3806 3879 r = onig_region_resize_clear(region, reg->num_mem + 1); 3807 3880 } … … 3810 3883 3811 3884 if (r == 0) { 3812 prev = (UChar* )onigenc_get_prev_char_head(reg->enc, str, at );3885 prev = (UChar* )onigenc_get_prev_char_head(reg->enc, str, at, end); 3813 3886 r = match_at(reg, str, end, 3814 3887 #ifdef USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE … … 3819 3892 3820 3893 MATCH_ARG_FREE(msa); 3821 ONIG_STATE_DEC_THREAD(reg);3822 3894 return r; 3823 3895 } … … 3831 3903 #ifdef ONIG_DEBUG_SEARCH 3832 3904 fprintf(stderr, "forward_search_range: str: %"PRIuPTR" (%p), end: %"PRIuPTR" (%p), s: %"PRIuPTR" (%p), range: %"PRIuPTR" (%p)\n", 3833 ( intptr_t )str, str, (intptr_t )end, end, (intptr_t )s, s, (intptr_t )range, range);3905 (uintptr_t )str, str, (uintptr_t )end, end, (uintptr_t )s, s, (uintptr_t )range, range); 3834 3906 #endif 3835 3907 … … 3841 3913 else { 3842 3914 UChar *q = p + reg->dmin; 3843 while (p < q) p += enclen(reg->enc, p); 3915 3916 if (q >= end) return 0; /* fail */ 3917 while (p < q) p += enclen(reg->enc, p, end); 3844 3918 } 3845 3919 } … … 3852 3926 case ONIG_OPTIMIZE_EXACT_IC: 3853 3927 p = slow_search_ic(reg->enc, reg->case_fold_flag, 3854 3928 reg->exact, reg->exact_end, p, end, range); 3855 3929 break; 3856 3930 … … 3872 3946 3873 3947 case ONIG_OPTIMIZE_MAP: 3874 p = map_search(reg->enc, reg->map, p, range );3948 p = map_search(reg->enc, reg->map, p, range, end); 3875 3949 break; 3876 3950 } … … 3880 3954 retry_gate: 3881 3955 pprev = p; 3882 p += enclen(reg->enc, p );3956 p += enclen(reg->enc, p, end); 3883 3957 goto retry; 3884 3958 } … … 3891 3965 if (!ON_STR_BEGIN(p)) { 3892 3966 prev = onigenc_get_prev_char_head(reg->enc, 3893 (pprev ? pprev : str), p );3967 (pprev ? pprev : str), p, end); 3894 3968 if (!ONIGENC_IS_MBC_NEWLINE_EX(reg->enc, prev, str, end, reg->options, 0)) 3895 3969 goto retry_gate; … … 3916 3990 if (low_prev) { 3917 3991 if (*low > s) 3918 *low_prev = onigenc_get_prev_char_head(reg->enc, s, p );3992 *low_prev = onigenc_get_prev_char_head(reg->enc, s, p, end); 3919 3993 else 3920 3994 *low_prev = onigenc_get_prev_char_head(reg->enc, 3921 (pprev ? pprev : str), p );3995 (pprev ? pprev : str), p, end); 3922 3996 } 3923 3997 } 3924 3998 else { 3925 3999 if (reg->dmax != ONIG_INFINITE_DISTANCE) { 3926 *low = p - reg->dmax; 3927 if (*low > s) { 3928 *low = onigenc_get_right_adjust_char_head_with_prev(reg->enc, s, 3929 *low, (const UChar** )low_prev); 3930 if (low_prev && IS_NULL(*low_prev)) 3931 *low_prev = onigenc_get_prev_char_head(reg->enc, 3932 (pprev ? pprev : s), *low); 4000 if (p < str + reg->dmax) { 4001 *low = (UChar* )str; 4002 if (low_prev) 4003 *low_prev = onigenc_get_prev_char_head(reg->enc, str, *low, end); 3933 4004 } 3934 4005 else { 3935 if (low_prev) 3936 *low_prev = onigenc_get_prev_char_head(reg->enc, 3937 (pprev ? pprev : str), *low); 4006 *low = p - reg->dmax; 4007 if (*low > s) { 4008 *low = onigenc_get_right_adjust_char_head_with_prev(reg->enc, s, 4009 *low, end, (const UChar** )low_prev); 4010 if (low_prev && IS_NULL(*low_prev)) 4011 *low_prev = onigenc_get_prev_char_head(reg->enc, 4012 (pprev ? pprev : s), *low, end); 4013 } 4014 else { 4015 if (low_prev) 4016 *low_prev = onigenc_get_prev_char_head(reg->enc, 4017 (pprev ? pprev : str), *low, end); 4018 } 3938 4019 } 3939 4020 } … … 3960 4041 UChar** low, UChar** high) 3961 4042 { 3962 int r;3963 4043 UChar *p; 3964 4044 … … 3978 4058 case ONIG_OPTIMIZE_EXACT_BM_NOT_REV_IC: 3979 4059 p = slow_search_backward_ic(reg->enc, reg->case_fold_flag, 3980 3981 4060 reg->exact, reg->exact_end, 4061 range, adjrange, end, p); 3982 4062 break; 3983 4063 3984 4064 case ONIG_OPTIMIZE_EXACT_BM: 3985 4065 case ONIG_OPTIMIZE_EXACT_BM_NOT_REV: 4066 #ifdef USE_INT_MAP_BACKWARD 3986 4067 if (IS_NULL(reg->int_map_backward)) { 4068 int r; 3987 4069 if (s - range < BM_BACKWARD_SEARCH_LENGTH_THRESHOLD) 3988 4070 goto exact_method; … … 3994 4076 p = bm_search_backward(reg, reg->exact, reg->exact_end, range, adjrange, 3995 4077 end, p); 4078 #else 4079 goto exact_method; 4080 #endif 3996 4081 break; 3997 4082 3998 4083 case ONIG_OPTIMIZE_MAP: 3999 p = map_search_backward(reg->enc, reg->map, range, adjrange, p );4084 p = map_search_backward(reg->enc, reg->map, range, adjrange, p, end); 4000 4085 break; 4001 4086 } … … 4008 4093 case ANCHOR_BEGIN_LINE: 4009 4094 if (!ON_STR_BEGIN(p)) { 4010 prev = onigenc_get_prev_char_head(reg->enc, str, p );4095 prev = onigenc_get_prev_char_head(reg->enc, str, p, end); 4011 4096 if (!ONIGENC_IS_MBC_NEWLINE_EX(reg->enc, prev, str, end, reg->options, 0)) { 4012 4097 p = prev; … … 4028 4113 } 4029 4114 else if (! ONIGENC_IS_MBC_NEWLINE_EX(reg->enc, p, str, end, reg->options, 1)) { 4030 p = onigenc_get_prev_char_head(reg->enc, adjrange, p );4115 p = onigenc_get_prev_char_head(reg->enc, adjrange, p, end); 4031 4116 if (IS_NULL(p)) goto fail; 4032 4117 goto retry; … … 4040 4125 *low = p - reg->dmax; 4041 4126 *high = p - reg->dmin; 4042 *high = onigenc_get_right_adjust_char_head(reg->enc, adjrange, *high );4127 *high = onigenc_get_right_adjust_char_head(reg->enc, adjrange, *high, end); 4043 4128 } 4044 4129 … … 4078 4163 #endif 4079 4164 4080 #if defined(USE_RECOMPILE_API) && defined(USE_MULTI_THREAD_SYSTEM)4081 start:4082 THREAD_ATOMIC_START;4083 if (ONIG_STATE(reg) >= ONIG_STATE_NORMAL) {4084 ONIG_STATE_INC(reg);4085 if (IS_NOT_NULL(reg->chain) && ONIG_STATE(reg) == ONIG_STATE_NORMAL) {4086 onig_chain_reduce(reg);4087 ONIG_STATE_INC(reg);4088 }4089 }4090 else {4091 int n;4092 4093 THREAD_ATOMIC_END;4094 n = 0;4095 while (ONIG_STATE(reg) < ONIG_STATE_NORMAL) {4096 if (++n > THREAD_PASS_LIMIT_COUNT)4097 return ONIGERR_OVER_THREAD_PASS_LIMIT_COUNT;4098 THREAD_PASS;4099 }4100 goto start;4101 }4102 THREAD_ATOMIC_END;4103 #endif /* USE_RECOMPILE_API && USE_MULTI_THREAD_SYSTEM */4104 4105 4165 #ifdef ONIG_DEBUG_SEARCH 4106 4166 fprintf(stderr, 4107 4167 "onig_search (entry point): str: %"PRIuPTR" (%p), end: %"PRIuPTR", start: %"PRIuPTR", range: %"PRIuPTR"\n", 4108 (intptr_t )str, str, end - str, start - str, range - str); 4109 #endif 4110 4111 if (region 4112 #ifdef USE_POSIX_API_REGION_OPTION 4113 && !IS_POSIX_REGION(option) 4114 #endif 4115 ) { 4168 (uintptr_t )str, str, end - str, start - str, range - str); 4169 #endif 4170 4171 if (region) { 4116 4172 r = onig_region_resize_clear(region, reg->num_mem + 1); 4117 4173 if (r) goto finish_no_msa; … … 4122 4178 4123 4179 #ifdef USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE 4124 # ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE4125 # define MATCH_AND_RETURN_CHECK(upper_range) \4180 # ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE 4181 # define MATCH_AND_RETURN_CHECK(upper_range) \ 4126 4182 r = match_at(reg, str, end, (upper_range), s, prev, &msa); \ 4127 4183 if (r != ONIG_MISMATCH) {\ … … 4133 4189 else goto finish; /* error */ \ 4134 4190 } 4135 # else4136 # define MATCH_AND_RETURN_CHECK(upper_range) \4191 # else 4192 # define MATCH_AND_RETURN_CHECK(upper_range) \ 4137 4193 r = match_at(reg, str, end, (upper_range), s, prev, &msa); \ 4138 4194 if (r != ONIG_MISMATCH) {\ … … 4142 4198 else goto finish; /* error */ \ 4143 4199 } 4144 # endif /* USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE */4200 # endif /* USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE */ 4145 4201 #else 4146 # ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE4147 # define MATCH_AND_RETURN_CHECK(none) \4202 # ifdef USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE 4203 # define MATCH_AND_RETURN_CHECK(none) \ 4148 4204 r = match_at(reg, str, end, s, prev, &msa);\ 4149 4205 if (r != ONIG_MISMATCH) {\ … … 4155 4211 else goto finish; /* error */ \ 4156 4212 } 4157 # else4158 # define MATCH_AND_RETURN_CHECK(none) \4213 # else 4214 # define MATCH_AND_RETURN_CHECK(none) \ 4159 4215 r = match_at(reg, str, end, s, prev, &msa);\ 4160 4216 if (r != ONIG_MISMATCH) {\ … … 4164 4220 else goto finish; /* error */ \ 4165 4221 } 4166 # endif /* USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE */4222 # endif /* USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE */ 4167 4223 #endif /* USE_MATCH_RANGE_MUST_BE_INSIDE_OF_SPECIFIED_RANGE */ 4168 4224 … … 4176 4232 begin_position: 4177 4233 if (range > start) 4178 range = start + 1; 4234 { 4235 if (global_pos > start) 4236 { 4237 if (global_pos < range) 4238 range = global_pos + 1; 4239 } 4240 else 4241 range = start + 1; 4242 } 4179 4243 else 4180 4244 range = start; … … 4206 4270 start = min_semi_end - reg->anchor_dmax; 4207 4271 if (start < end) 4208 start = onigenc_get_right_adjust_char_head(reg->enc, str, start );4272 start = onigenc_get_right_adjust_char_head(reg->enc, str, start, end); 4209 4273 } 4210 4274 if ((OnigDistance )(max_semi_end - (range - 1)) < reg->anchor_dmin) { … … 4222 4286 if ((OnigDistance )(max_semi_end - start) < reg->anchor_dmin) { 4223 4287 start = max_semi_end - reg->anchor_dmin; 4224 start = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, str, start );4288 start = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, str, start, end); 4225 4289 } 4226 4290 if (range > start) goto mismatch_no_msa; … … 4228 4292 } 4229 4293 else if (reg->anchor & ANCHOR_SEMI_END_BUF) { 4230 UChar* pre_end = ONIGENC_STEP_BACK(reg->enc, str, end, 1);4294 UChar* pre_end = ONIGENC_STEP_BACK(reg->enc, str, end, end, 1); 4231 4295 4232 4296 max_semi_end = (UChar* )end; … … 4235 4299 4236 4300 #ifdef USE_CRNL_AS_LINE_TERMINATOR 4237 pre_end = ONIGENC_STEP_BACK(reg->enc, str, pre_end, 1);4301 pre_end = ONIGENC_STEP_BACK(reg->enc, str, pre_end, end, 1); 4238 4302 if (IS_NOT_NULL(pre_end) && 4239 4303 IS_NEWLINE_CRLF(reg->options) && … … 4252 4316 } 4253 4317 else if ((reg->anchor & ANCHOR_ANYCHAR_STAR_ML)) { 4254 if (! (reg->anchor & ANCHOR_LOOK_BEHIND)) { 4255 goto begin_position; 4256 } 4318 goto begin_position; 4257 4319 } 4258 4320 } … … 4296 4358 if (range > start) { /* forward search */ 4297 4359 if (s > str) 4298 prev = onigenc_get_prev_char_head(reg->enc, str, s );4360 prev = onigenc_get_prev_char_head(reg->enc, str, s, end); 4299 4361 else 4300 4362 prev = (UChar* )NULL; … … 4314 4376 4315 4377 if ((end - start) < reg->threshold_len) 4316 4378 goto mismatch; 4317 4379 4318 4380 if (reg->dmax != ONIG_INFINITE_DISTANCE) { … … 4327 4389 MATCH_AND_RETURN_CHECK(orig_range); 4328 4390 prev = s; 4329 s += enclen(reg->enc, s );4391 s += enclen(reg->enc, s, end); 4330 4392 } 4331 4393 } while (s < range); … … 4336 4398 &low, &high, (UChar** )NULL)) goto mismatch; 4337 4399 4338 if ((reg->anchor & ANCHOR_ANYCHAR_STAR) != 0) { 4339 do { 4340 if ((reg->anchor & ANCHOR_BEGIN_POSITION) == 0) 4341 msa.gpos = s; /* move \G position */ 4342 MATCH_AND_RETURN_CHECK(orig_range); 4343 prev = s; 4344 s += enclen(reg->enc, s); 4345 4346 if ((reg->anchor & (ANCHOR_LOOK_BEHIND | ANCHOR_PREC_READ_NOT)) == 0) { 4347 while (!ONIGENC_IS_MBC_NEWLINE_EX(reg->enc, prev, str, end, reg->options, 0) 4348 && s < range) { 4349 prev = s; 4350 s += enclen(reg->enc, s); 4351 } 4352 } 4353 } while (s < range); 4354 goto mismatch; 4355 } 4400 if ((reg->anchor & ANCHOR_ANYCHAR_STAR) != 0) { 4401 do { 4402 MATCH_AND_RETURN_CHECK(orig_range); 4403 prev = s; 4404 s += enclen(reg->enc, s, end); 4405 4406 if ((reg->anchor & (ANCHOR_LOOK_BEHIND | ANCHOR_PREC_READ_NOT)) == 0) { 4407 while (!ONIGENC_IS_MBC_NEWLINE_EX(reg->enc, prev, str, end, reg->options, 0) 4408 && s < range) { 4409 prev = s; 4410 s += enclen(reg->enc, s, end); 4411 } 4412 } 4413 } while (s < range); 4414 goto mismatch; 4415 } 4356 4416 } 4357 4417 } … … 4360 4420 MATCH_AND_RETURN_CHECK(orig_range); 4361 4421 prev = s; 4362 s += enclen(reg->enc, s );4422 s += enclen(reg->enc, s, end); 4363 4423 } while (s < range); 4364 4424 … … 4372 4432 4373 4433 if (range < end) 4374 adjrange = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, str, range );4434 adjrange = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, str, range, end); 4375 4435 else 4376 4436 adjrange = (UChar* )end; … … 4389 4449 4390 4450 while (s >= low) { 4391 prev = onigenc_get_prev_char_head(reg->enc, str, s );4451 prev = onigenc_get_prev_char_head(reg->enc, str, s, end); 4392 4452 MATCH_AND_RETURN_CHECK(orig_start); 4393 4453 s = prev; … … 4408 4468 else 4409 4469 sch_start = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, 4410 start, sch_start );4470 start, sch_start, end); 4411 4471 } 4412 4472 } … … 4417 4477 4418 4478 do { 4419 prev = onigenc_get_prev_char_head(reg->enc, str, s );4479 prev = onigenc_get_prev_char_head(reg->enc, str, s, end); 4420 4480 MATCH_AND_RETURN_CHECK(orig_start); 4421 4481 s = prev; … … 4436 4496 finish: 4437 4497 MATCH_ARG_FREE(msa); 4438 ONIG_STATE_DEC_THREAD(reg);4439 4498 4440 4499 /* If result is mismatch and no FIND_NOT_EMPTY option, 4441 4500 then the region is not set in match_at(). */ 4442 if (IS_FIND_NOT_EMPTY(reg->options) && region 4443 #ifdef USE_POSIX_API_REGION_OPTION 4444 && !IS_POSIX_REGION(option) 4445 #endif 4446 ) { 4501 if (IS_FIND_NOT_EMPTY(reg->options) && region) { 4447 4502 onig_region_clear(region); 4448 4503 } … … 4450 4505 #ifdef ONIG_DEBUG 4451 4506 if (r != ONIG_MISMATCH) 4452 fprintf(stderr, "onig_search: error %"PRIdPTR "\n", r);4507 fprintf(stderr, "onig_search: error %"PRIdPTRDIFF"\n", r); 4453 4508 #endif 4454 4509 return r; … … 4457 4512 r = ONIG_MISMATCH; 4458 4513 finish_no_msa: 4459 ONIG_STATE_DEC_THREAD(reg);4460 4514 #ifdef ONIG_DEBUG 4461 4515 if (r != ONIG_MISMATCH) 4462 fprintf(stderr, "onig_search: error %"PRIdPTR "\n", r);4516 fprintf(stderr, "onig_search: error %"PRIdPTRDIFF"\n", r); 4463 4517 #endif 4464 4518 return r; 4465 4519 4466 4520 match: 4467 ONIG_STATE_DEC_THREAD(reg);4468 4521 MATCH_ARG_FREE(msa); 4469 4522 return s - str; 4470 4523 } 4471 4524 4525 extern OnigPosition 4526 onig_scan(regex_t* reg, const UChar* str, const UChar* end, 4527 OnigRegion* region, OnigOptionType option, 4528 int (*scan_callback)(OnigPosition, OnigPosition, OnigRegion*, void*), 4529 void* callback_arg) 4530 { 4531 OnigPosition r; 4532 OnigPosition n; 4533 int rs; 4534 const UChar* start; 4535 4536 n = 0; 4537 start = str; 4538 while (1) { 4539 r = onig_search(reg, str, end, start, end, region, option); 4540 if (r >= 0) { 4541 rs = scan_callback(n, r, region, callback_arg); 4542 n++; 4543 if (rs != 0) 4544 return rs; 4545 4546 if (region->end[0] == start - str) { 4547 if (start >= end) break; 4548 start += enclen(reg->enc, start, end); 4549 } 4550 else 4551 start = str + region->end[0]; 4552 4553 if (start > end) 4554 break; 4555 } 4556 else if (r == ONIG_MISMATCH) { 4557 break; 4558 } 4559 else { /* error */ 4560 return r; 4561 } 4562 } 4563 4564 return n; 4565 } 4566 4472 4567 extern OnigEncoding 4473 onig_get_encoding( regex_t* reg)4568 onig_get_encoding(const regex_t* reg) 4474 4569 { 4475 4570 return reg->enc; … … 4477 4572 4478 4573 extern OnigOptionType 4479 onig_get_options( regex_t* reg)4574 onig_get_options(const regex_t* reg) 4480 4575 { 4481 4576 return reg->options; … … 4483 4578 4484 4579 extern OnigCaseFoldType 4485 onig_get_case_fold_flag( regex_t* reg)4580 onig_get_case_fold_flag(const regex_t* reg) 4486 4581 { 4487 4582 return reg->case_fold_flag; 4488 4583 } 4489 4584 4490 extern OnigSyntaxType*4491 onig_get_syntax( regex_t* reg)4585 extern const OnigSyntaxType* 4586 onig_get_syntax(const regex_t* reg) 4492 4587 { 4493 4588 return reg->syntax; … … 4495 4590 4496 4591 extern int 4497 onig_number_of_captures( regex_t* reg)4592 onig_number_of_captures(const regex_t* reg) 4498 4593 { 4499 4594 return reg->num_mem; … … 4501 4596 4502 4597 extern int 4503 onig_number_of_capture_histories( regex_t* reg)4598 onig_number_of_capture_histories(const regex_t* reg) 4504 4599 { 4505 4600 #ifdef USE_CAPTURE_HISTORY … … 4518 4613 4519 4614 extern void 4520 onig_copy_encoding(OnigEncoding 4615 onig_copy_encoding(OnigEncodingType *to, OnigEncoding from) 4521 4616 { 4522 4617 *to = *from; -
EcnlProtoTool/trunk/onigmo-6.1.3/src/regext.c
r321 r331 4 4 /*- 5 5 * Copyright (c) 2002-2008 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 6 * Copyright (c) 2011 6 * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp> 7 7 * All rights reserved. 8 8 * … … 202 202 return r; 203 203 } 204 205 #ifdef USE_RECOMPILE_API206 extern int207 onig_recompile_deluxe(regex_t* reg, const UChar* pattern, const UChar* pattern_end,208 OnigCompileInfo* ci, OnigErrorInfo* einfo)209 {210 int r;211 regex_t *new_reg;212 213 r = onig_new_deluxe(&new_reg, pattern, pattern_end, ci, einfo);214 if (r) return r;215 if (ONIG_STATE(reg) == ONIG_STATE_NORMAL) {216 onig_transfer(reg, new_reg);217 }218 else {219 onig_chain_link_add(reg, new_reg);220 }221 return 0;222 }223 #endif -
EcnlProtoTool/trunk/onigmo-6.1.3/src/reggnu.c
r321 r331 4 4 /*- 5 5 * Copyright (c) 2002-2008 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 6 * Copyright (c) 2011 6 * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp> 7 7 * All rights reserved. 8 8 * … … 31 31 #include "regint.h" 32 32 33 #ifndef ONIG GNU_H34 # include "oniggnu.h"33 #ifndef ONIGMOGNU_H 34 # include "onigmognu.h" 35 35 #endif 36 36 … … 49 49 UChar *p; 50 50 UChar *s = (UChar* )string + startpos; 51 UChar *e = (UChar* )string + size; 51 52 52 53 if (range > 0) { 53 p = onigenc_get_right_adjust_char_head(reg->enc, (UChar* )string, s );54 p = onigenc_get_right_adjust_char_head(reg->enc, (UChar* )string, s, e); 54 55 } 55 56 else { 56 p = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, (UChar* )string, s );57 p = ONIGENC_LEFT_ADJUST_CHAR_HEAD(reg->enc, (UChar* )string, s, e); 57 58 } 58 59 return (int )(p - (UChar* )string); … … 95 96 } 96 97 97 #ifdef USE_RECOMPILE_API98 extern int99 re_recompile_pattern(const char* pattern, int size, regex_t* reg, char* ebuf)100 {101 int r;102 OnigErrorInfo einfo;103 OnigEncoding enc;104 105 /* I think encoding and options should be arguments of this function.106 But this is adapted to present re.c. (2002/11/29)107 */108 enc = OnigEncDefaultCharEncoding;109 110 r = onig_recompile(reg, (UChar* )pattern, (UChar* )(pattern + size),111 reg->options, enc, OnigDefaultSyntax, &einfo);112 if (r != ONIG_NORMAL) {113 if (IS_NOT_NULL(ebuf))114 (void )onig_error_code_to_str((UChar* )ebuf, r, &einfo);115 }116 return r;117 }118 #endif119 120 98 extern void 121 99 re_free_pattern(regex_t* reg) … … 139 117 re_set_casetable(const char* table) 140 118 { 141 onigenc_set_default_caseconv_table((UChar* )table);119 /* onigenc_set_default_caseconv_table((UChar* )table); */ 142 120 } 143 121 … … 151 129 enc = ONIG_ENCODING_ASCII; 152 130 break; 153 #if 0154 131 case RE_MBCTYPE_EUC: 155 132 enc = ONIG_ENCODING_EUC_JP; … … 158 135 enc = ONIG_ENCODING_SJIS; 159 136 break; 160 #endif161 137 case RE_MBCTYPE_UTF8: 162 138 enc = ONIG_ENCODING_UTF8; -
EcnlProtoTool/trunk/onigmo-6.1.3/src/regint.h
r321 r331 1 #ifndef REGINT_H2 #define REGINT_H1 #ifndef ONIGMO_REGINT_H 2 #define ONIGMO_REGINT_H 3 3 /********************************************************************** 4 4 regint.h - Onigmo (Oniguruma-mod) (regular expression library) … … 6 6 /*- 7 7 * Copyright (c) 2002-2013 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 8 * Copyright (c) 2011-201 4K.Takata <kentkt AT csc DOT jp>8 * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp> 9 9 * All rights reserved. 10 10 * … … 36 36 /* #define ONIG_DEBUG_SEARCH */ 37 37 /* #define ONIG_DEBUG_MATCH */ 38 /* #define ONIG_DEBUG_MEMLEAK */ 38 39 /* #define ONIG_DONT_OPTIMIZE */ 39 40 … … 43 44 #if defined(ONIG_DEBUG_PARSE_TREE) || defined(ONIG_DEBUG_MATCH) || \ 44 45 defined(ONIG_DEBUG_SEARCH) || defined(ONIG_DEBUG_COMPILE) || \ 45 defined(ONIG_DEBUG_STATISTICS) 46 # ifndef ONIG_DEBUG47 # define ONIG_DEBUG48 # endif46 defined(ONIG_DEBUG_STATISTICS) || defined(ONIG_DEBUG_MEMLEAK) 47 # ifndef ONIG_DEBUG 48 # define ONIG_DEBUG 49 # endif 49 50 #endif 50 51 51 52 #ifndef UNALIGNED_WORD_ACCESS 52 # if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \53 defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || \54 defined(__powerpc64__) || \55 defined(__mc68020__)56 # define UNALIGNED_WORD_ACCESS 157 # else58 # define UNALIGNED_WORD_ACCESS 059 # endif53 # if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \ 54 defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || \ 55 defined(__powerpc64__) || \ 56 defined(__mc68020__) 57 # define UNALIGNED_WORD_ACCESS 1 58 # else 59 # define UNALIGNED_WORD_ACCESS 0 60 # endif 60 61 #endif 61 62 62 63 #if UNALIGNED_WORD_ACCESS 63 # define PLATFORM_UNALIGNED_WORD_ACCESS64 # define PLATFORM_UNALIGNED_WORD_ACCESS 64 65 #endif 65 66 … … 74 75 #define USE_NEWLINE_AT_END_OF_STRING_HAS_EMPTY_LINE /* /\n$/ =~ "\n" */ 75 76 #define USE_WARNING_REDUNDANT_NESTED_REPEAT_OPERATOR 76 /* #define USE_RECOMPILE_API */77 77 /* !!! moved to regenc.h. */ /* #define USE_CRNL_AS_LINE_TERMINATOR */ 78 78 #define USE_NO_INVALID_QUANTIFIER 79 79 80 80 /* internal config */ 81 #define USE_PARSE_TREE_NODE_RECYCLE 82 #define USE_OP_PUSH_OR_JUMP_EXACT 81 /* #define USE_OP_PUSH_OR_JUMP_EXACT */ 83 82 #define USE_QTFR_PEEK_NEXT 84 83 #define USE_ST_LIBRARY 85 #define USE_SHARED_CCLASS_TABLE86 84 #define USE_SUNDAY_QUICK_SEARCH 87 85 88 86 #define INIT_MATCH_STACK_SIZE 160 89 87 #define DEFAULT_MATCH_STACK_LIMIT_SIZE 0 /* unlimited */ 88 #define DEFAULT_PARSE_DEPTH_LIMIT 4096 89 90 #define OPT_EXACT_MAXLEN 24 90 91 91 92 /* check config */ 92 93 #if defined(USE_PERL_SUBEXP_CALL) || defined(USE_CAPITAL_P_NAMED_GROUP) 93 # if !defined(USE_NAMED_GROUP) || !defined(USE_SUBEXP_CALL)94 # error USE_NAMED_GROUP and USE_SUBEXP_CALL must be defined.95 # endif94 # if !defined(USE_NAMED_GROUP) || !defined(USE_SUBEXP_CALL) 95 # error USE_NAMED_GROUP and USE_SUBEXP_CALL must be defined. 96 # endif 96 97 #endif 97 98 98 99 #if defined(__GNUC__) 99 # 100 # define ARG_UNUSED __attribute__ ((unused)) 100 101 #else 101 # define ARG_UNUSED 102 #endif 102 # define ARG_UNUSED 103 #endif 104 105 #if !defined(RUBY) && defined(RUBY_EXPORT) 106 # define RUBY 107 #endif 108 #ifdef RUBY 109 # ifndef RUBY_DEFINES_H 110 # include "ruby/ruby.h" 111 # undef xmalloc 112 # undef xrealloc 113 # undef xcalloc 114 # undef xfree 115 # endif 116 #else /* RUBY */ 117 # include "config.h" 118 # if SIZEOF_LONG_LONG > 0 119 # define LONG_LONG long long 120 # endif 121 #endif /* RUBY */ 122 123 #include <stdarg.h> 103 124 104 125 /* */ 105 126 /* escape other system UChar definition */ 106 #include "config.h"107 127 #ifdef ONIG_ESCAPE_UCHAR_COLLISION 108 # undef ONIG_ESCAPE_UCHAR_COLLISION128 # undef ONIG_ESCAPE_UCHAR_COLLISION 109 129 #endif 110 130 111 131 #define USE_WORD_BEGIN_END /* "\<": word-begin, "\>": word-end */ 112 #define USE_CAPTURE_HISTORY 132 #ifdef RUBY 133 # undef USE_CAPTURE_HISTORY 134 #else 135 # define USE_CAPTURE_HISTORY 136 #endif 113 137 #define USE_VARIABLE_META_CHARS 114 #define USE_POSIX_API_REGION_OPTION /* needed for POSIX API support */115 138 #define USE_FIND_LONGEST_SEARCH_ALL_OF_RANGE 116 139 /* #define USE_COMBINATION_EXPLOSION_CHECK */ /* (X*)* */ 117 140 118 /* multithread config */119 /* #define USE_MULTI_THREAD_SYSTEM */120 /* #define USE_DEFAULT_MULTI_THREAD_SYSTEM */121 122 #if defined(USE_MULTI_THREAD_SYSTEM) \123 && defined(USE_DEFAULT_MULTI_THREAD_SYSTEM)124 125 #if defined(_WIN32) && !defined(MUSL_LIBC)126 #define WIN32_LEAN_AND_MEAN127 #include <windows.h>128 extern CRITICAL_SECTION gOnigMutex;129 #define THREAD_SYSTEM_INIT InitializeCriticalSection(&gOnigMutex)130 #define THREAD_SYSTEM_END DeleteCriticalSection(&gOnigMutex)131 #define THREAD_ATOMIC_START EnterCriticalSection(&gOnigMutex)132 #define THREAD_ATOMIC_END LeaveCriticalSection(&gOnigMutex)133 #define THREAD_PASS Sleep(0)134 #else /* _WIN32 */135 #include <pthread.h>136 #include <sched.h>137 extern pthread_mutex_t gOnigMutex;138 #define THREAD_SYSTEM_INIT pthread_mutex_init(&gOnigMutex, NULL)139 #define THREAD_SYSTEM_END pthread_mutex_destroy(&gOnigMutex)140 #define THREAD_ATOMIC_START pthread_mutex_lock(&gOnigMutex)141 #define THREAD_ATOMIC_END pthread_mutex_unlock(&gOnigMutex)142 #define THREAD_PASS sched_yield()143 #endif /* _WIN32 */144 145 #else /* USE_DEFAULT_MULTI_THREAD_SYSTEM */146 147 #ifndef THREAD_SYSTEM_INIT148 #define THREAD_SYSTEM_INIT /* depend on thread system */149 #endif150 #ifndef THREAD_SYSTEM_END151 #define THREAD_SYSTEM_END /* depend on thread system */152 #endif153 #ifndef THREAD_ATOMIC_START154 #define THREAD_ATOMIC_START /* depend on thread system */155 #endif156 #ifndef THREAD_ATOMIC_END157 #define THREAD_ATOMIC_END /* depend on thread system */158 #endif159 #ifndef THREAD_PASS160 #define THREAD_PASS /* depend on thread system */161 #endif162 163 #endif /* USE_DEFAULT_MULTI_THREAD_SYSTEM */164 141 165 142 #ifndef xmalloc 166 #define xmalloc malloc 167 #define xrealloc realloc 168 #define xcalloc calloc 169 #define xfree free 170 #endif 171 172 #define CHECK_INTERRUPT_IN_MATCH_AT 173 174 #define st_init_table onig_st_init_table 175 #define st_init_table_with_size onig_st_init_table_with_size 176 #define st_init_numtable onig_st_init_numtable 177 #define st_init_numtable_with_size onig_st_init_numtable_with_size 178 #define st_init_strtable onig_st_init_strtable 179 #define st_init_strtable_with_size onig_st_init_strtable_with_size 180 #define st_delete onig_st_delete 181 #define st_delete_safe onig_st_delete_safe 182 #define st_insert onig_st_insert 183 #define st_lookup onig_st_lookup 184 #define st_foreach onig_st_foreach 185 #define st_add_direct onig_st_add_direct 186 #define st_free_table onig_st_free_table 187 #define st_cleanup_safe onig_st_cleanup_safe 188 #define st_copy onig_st_copy 189 #define st_nothing_key_clone onig_st_nothing_key_clone 190 #define st_nothing_key_free onig_st_nothing_key_free 143 # define xmalloc malloc 144 # define xrealloc realloc 145 # define xcalloc calloc 146 # define xfree free 147 #endif 148 149 #ifdef RUBY 150 151 # define CHECK_INTERRUPT_IN_MATCH_AT rb_thread_check_ints() 152 # define onig_st_init_table st_init_table 153 # define onig_st_init_table_with_size st_init_table_with_size 154 # define onig_st_init_numtable st_init_numtable 155 # define onig_st_init_numtable_with_size st_init_numtable_with_size 156 # define onig_st_init_strtable st_init_strtable 157 # define onig_st_init_strtable_with_size st_init_strtable_with_size 158 # define onig_st_delete st_delete 159 # define onig_st_delete_safe st_delete_safe 160 # define onig_st_insert st_insert 161 # define onig_st_lookup st_lookup 162 # define onig_st_foreach st_foreach 163 # define onig_st_add_direct st_add_direct 164 # define onig_st_free_table st_free_table 165 # define onig_st_cleanup_safe st_cleanup_safe 166 # define onig_st_copy st_copy 167 # define onig_st_nothing_key_clone st_nothing_key_clone 168 # define onig_st_nothing_key_free st_nothing_key_free 169 # define onig_st_is_member st_is_member 170 171 # define USE_UPPER_CASE_TABLE 172 #else /* RUBY */ 173 174 # define CHECK_INTERRUPT_IN_MATCH_AT 175 176 # define st_init_table onig_st_init_table 177 # define st_init_table_with_size onig_st_init_table_with_size 178 # define st_init_numtable onig_st_init_numtable 179 # define st_init_numtable_with_size onig_st_init_numtable_with_size 180 # define st_init_strtable onig_st_init_strtable 181 # define st_init_strtable_with_size onig_st_init_strtable_with_size 182 # define st_delete onig_st_delete 183 # define st_delete_safe onig_st_delete_safe 184 # define st_insert onig_st_insert 185 # define st_lookup onig_st_lookup 186 # define st_foreach onig_st_foreach 187 # define st_add_direct onig_st_add_direct 188 # define st_free_table onig_st_free_table 189 # define st_cleanup_safe onig_st_cleanup_safe 190 # define st_copy onig_st_copy 191 # define st_nothing_key_clone onig_st_nothing_key_clone 192 # define st_nothing_key_free onig_st_nothing_key_free 191 193 /* */ 192 #define onig_st_is_member st_is_member 194 # define onig_st_is_member st_is_member 195 196 #endif /* RUBY */ 193 197 194 198 #define STATE_CHECK_STRING_THRESHOLD_LEN 7 195 199 #define STATE_CHECK_BUFF_MAX_SIZE 0x4000 196 200 197 #define THREAD_PASS_LIMIT_COUNT 8198 201 #define xmemset memset 199 202 #define xmemcpy memcpy 200 203 #define xmemmove memmove 201 204 202 #if defined(_WIN32) && !defined(__GNUC__) && !defined(MUSL_LIBC) 203 #define xalloca _alloca 204 #define xvsnprintf _vsnprintf 205 #if ((defined(RUBY_MSVCRT_VERSION) && RUBY_MSVCRT_VERSION >= 90) \ 206 || (!defined(RUBY_MSVCRT_VERSION) && defined(_WIN32))) \ 207 && !defined(__GNUC__) 208 # define xalloca _alloca 209 # define xvsnprintf(buf,size,fmt,args) _vsnprintf_s(buf,size,_TRUNCATE,fmt,args) 210 # define xsnprintf sprintf_s 211 # define xstrcat(dest,src,size) strcat_s(dest,size,src) 205 212 #else 206 /*#define xalloca alloca*/ 207 #define xvsnprintf vsnprintf 208 #endif 209 210 211 #if defined(USE_RECOMPILE_API) && defined(USE_MULTI_THREAD_SYSTEM) 212 #define ONIG_STATE_INC(reg) (reg)->state++ 213 #define ONIG_STATE_DEC(reg) (reg)->state-- 214 215 #define ONIG_STATE_INC_THREAD(reg) do {\ 216 THREAD_ATOMIC_START;\ 217 (reg)->state++;\ 218 THREAD_ATOMIC_END;\ 219 } while(0) 220 #define ONIG_STATE_DEC_THREAD(reg) do {\ 221 THREAD_ATOMIC_START;\ 222 (reg)->state--;\ 223 THREAD_ATOMIC_END;\ 224 } while(0) 225 #else 226 #define ONIG_STATE_INC(reg) /* Nothing */ 227 #define ONIG_STATE_DEC(reg) /* Nothing */ 228 #define ONIG_STATE_INC_THREAD(reg) /* Nothing */ 229 #define ONIG_STATE_DEC_THREAD(reg) /* Nothing */ 230 #endif /* USE_RECOMPILE_API && USE_MULTI_THREAD_SYSTEM */ 231 232 #ifdef HAVE_STDLIB_H 213 # define xalloca alloca 214 # define xvsnprintf vsnprintf 215 # define xsnprintf snprintf 216 # define xstrcat(dest,src,size) strcat(dest,src) 217 #endif 218 219 #if defined(ONIG_DEBUG_MEMLEAK) && defined(_MSC_VER) 220 # define _CRTDBG_MAP_ALLOC 221 # include <malloc.h> 222 # include <crtdbg.h> 223 #endif 224 233 225 #include <stdlib.h> 234 #endif235 226 236 227 #if defined(HAVE_ALLOCA_H) && (defined(_AIX) || !defined(__GNUC__)) 237 #include <alloca.h> 238 #endif 239 240 #ifdef HAVE_STRING_H 241 # include <string.h> 242 #else 243 # include <strings.h> 244 #endif 228 # include <alloca.h> 229 #endif 230 231 #include <string.h> 245 232 246 233 #include <ctype.h> 247 234 #ifdef HAVE_SYS_TYPES_H 248 # include <sys/types.h>235 # include <sys/types.h> 249 236 #endif 250 237 … … 257 244 #endif 258 245 259 #ifdef STDC_HEADERS 260 # include <stddef.h> 261 #endif 262 263 #if defined(_WIN32) && !defined(MUSL_LIBC) 264 #include <malloc.h> /* for alloca() */ 246 #include <stddef.h> 247 248 #ifdef _WIN32 249 # include <malloc.h> /* for alloca() */ 265 250 #endif 266 251 … … 269 254 #endif 270 255 271 #if defined(_WIN32) && !defined(MUSL_LIBC)272 # if defined(_MSC_VER) && (_MSC_VER < 1300)273 # ifndef _INTPTR_T_DEFINED274 # define _INTPTR_T_DEFINED256 #ifdef _WIN32 257 # if defined(_MSC_VER) && (_MSC_VER < 1300) 258 # ifndef _INTPTR_T_DEFINED 259 # define _INTPTR_T_DEFINED 275 260 typedef int intptr_t; 276 # endif277 # ifndef _UINTPTR_T_DEFINED278 # define _UINTPTR_T_DEFINED261 # endif 262 # ifndef _UINTPTR_T_DEFINED 263 # define _UINTPTR_T_DEFINED 279 264 typedef unsigned int uintptr_t; 280 # endif281 # endif265 # endif 266 # endif 282 267 #endif /* _WIN32 */ 283 268 284 269 #ifndef PRIdPTR 285 #ifdef _WIN64 286 #define PRIdPTR "I64d" 287 #define PRIuPTR "I64u" 288 #define PRIxPTR "I64x" 289 #else 290 #define PRIdPTR "ld" 291 #define PRIuPTR "lu" 292 #define PRIxPTR "lx" 293 #endif 270 # ifdef _WIN64 271 # define PRIdPTR "I64d" 272 # define PRIuPTR "I64u" 273 # define PRIxPTR "I64x" 274 # else 275 # define PRIdPTR "ld" 276 # define PRIuPTR "lu" 277 # define PRIxPTR "lx" 278 # endif 279 #endif 280 281 #ifndef PRIdPTRDIFF 282 # define PRIdPTRDIFF PRIdPTR 294 283 #endif 295 284 296 285 #include "regenc.h" 297 286 287 RUBY_SYMBOL_EXPORT_BEGIN 288 298 289 #ifdef MIN 299 # undef MIN290 # undef MIN 300 291 #endif 301 292 #ifdef MAX 302 # undef MAX293 # undef MAX 303 294 #endif 304 295 #define MIN(a,b) (((a)>(b))?(b):(a)) … … 315 306 #ifdef PLATFORM_UNALIGNED_WORD_ACCESS 316 307 317 # define PLATFORM_GET_INC(val,p,type) do{\308 # define PLATFORM_GET_INC(val,p,type) do{\ 318 309 val = *(type* )p;\ 319 310 (p) += sizeof(type);\ … … 322 313 #else 323 314 324 # define PLATFORM_GET_INC(val,p,type) do{\315 # define PLATFORM_GET_INC(val,p,type) do{\ 325 316 xmemcpy(&val, (p), sizeof(type));\ 326 317 (p) += sizeof(type);\ … … 328 319 329 320 /* sizeof(OnigCodePoint) */ 330 # define WORD_ALIGNMENT_SIZE SIZEOF_LONG331 332 # define GET_ALIGNMENT_PAD_SIZE(addr,pad_size) do {\321 # define WORD_ALIGNMENT_SIZE SIZEOF_LONG 322 323 # define GET_ALIGNMENT_PAD_SIZE(addr,pad_size) do {\ 333 324 (pad_size) = WORD_ALIGNMENT_SIZE \ 334 325 - ((uintptr_t )(addr) % WORD_ALIGNMENT_SIZE);\ … … 336 327 } while (0) 337 328 338 # define ALIGNMENT_RIGHT(addr) do {\329 # define ALIGNMENT_RIGHT(addr) do {\ 339 330 (addr) += (WORD_ALIGNMENT_SIZE - 1);\ 340 331 (addr) -= ((uintptr_t )(addr) % WORD_ALIGNMENT_SIZE);\ … … 400 391 #define IS_NOTBOS(option) ((option) & ONIG_OPTION_NOTBOS) 401 392 #define IS_NOTEOS(option) ((option) & ONIG_OPTION_NOTEOS) 402 #define IS_POSIX_REGION(option) ((option) & ONIG_OPTION_POSIX_REGION)403 393 #define IS_ASCII_RANGE(option) ((option) & ONIG_OPTION_ASCII_RANGE) 404 394 #define IS_POSIX_BRACKET_ALL_RANGE(option) ((option) & ONIG_OPTION_POSIX_BRACKET_ALL_RANGE) … … 583 573 OP_CCLASS_MB_NOT, 584 574 OP_CCLASS_MIX_NOT, 585 OP_CCLASS_NODE, /* pointer to CClassNode node */586 575 587 576 OP_ANYCHAR, /* "." */ … … 612 601 OP_SEMI_END_BUF, 613 602 OP_BEGIN_POSITION, 614 OP_BEGIN_POS_OR_LINE, /* used for implicit anchor optimization */615 603 616 604 OP_BACKREF1, … … 657 645 OP_PUSH_LOOK_BEHIND_NOT, /* (?<!...) start */ 658 646 OP_FAIL_LOOK_BEHIND_NOT, /* (?<!...) end */ 647 OP_PUSH_ABSENT_POS, /* (?~...) start */ 648 OP_ABSENT, /* (?~...) start of inner loop */ 649 OP_ABSENT_END, /* (?~...) end */ 659 650 660 651 OP_CALL, /* \g<name> */ … … 744 735 #define SIZE_OP_RETURN SIZE_OPCODE 745 736 #define SIZE_OP_CONDITION (SIZE_OPCODE + SIZE_MEMNUM + SIZE_RELADDR) 737 #define SIZE_OP_PUSH_ABSENT_POS SIZE_OPCODE 738 #define SIZE_OP_ABSENT (SIZE_OPCODE + SIZE_RELADDR) 739 #define SIZE_OP_ABSENT_END SIZE_OPCODE 746 740 747 741 #ifdef USE_COMBINATION_EXPLOSION_CHECK 748 # define SIZE_OP_STATE_CHECK(SIZE_OPCODE + SIZE_STATE_CHECK_NUM)749 # define SIZE_OP_STATE_CHECK_PUSH(SIZE_OPCODE + SIZE_STATE_CHECK_NUM + SIZE_RELADDR)750 # define SIZE_OP_STATE_CHECK_PUSH_OR_JUMP (SIZE_OPCODE + SIZE_STATE_CHECK_NUM + SIZE_RELADDR)751 # define SIZE_OP_STATE_CHECK_ANYCHAR_STAR (SIZE_OPCODE + SIZE_STATE_CHECK_NUM)742 # define SIZE_OP_STATE_CHECK (SIZE_OPCODE + SIZE_STATE_CHECK_NUM) 743 # define SIZE_OP_STATE_CHECK_PUSH (SIZE_OPCODE + SIZE_STATE_CHECK_NUM + SIZE_RELADDR) 744 # define SIZE_OP_STATE_CHECK_PUSH_OR_JUMP (SIZE_OPCODE + SIZE_STATE_CHECK_NUM + SIZE_RELADDR) 745 # define SIZE_OP_STATE_CHECK_ANYCHAR_STAR (SIZE_OPCODE + SIZE_STATE_CHECK_NUM) 752 746 #endif 753 747 … … 797 791 /* cclass node */ 798 792 #define FLAG_NCCLASS_NOT (1<<0) 799 #define FLAG_NCCLASS_SHARE (1<<1)800 793 801 794 #define NCCLASS_SET_NOT(nd) NCCLASS_FLAG_SET(nd, FLAG_NCCLASS_NOT) 802 #define NCCLASS_SET_SHARE(nd) NCCLASS_FLAG_SET(nd, FLAG_NCCLASS_SHARE)803 795 #define NCCLASS_CLEAR_NOT(nd) NCCLASS_FLAG_CLEAR(nd, FLAG_NCCLASS_NOT) 804 796 #define IS_NCCLASS_NOT(nd) IS_NCCLASS_FLAG_ON(nd, FLAG_NCCLASS_NOT) 805 #define IS_NCCLASS_SHARE(nd) IS_NCCLASS_FLAG_ON(nd, FLAG_NCCLASS_SHARE)806 797 807 798 typedef struct { … … 858 849 } call_frame; 859 850 #endif 851 struct { 852 UChar *abs_pstr; /* absent start position */ 853 const UChar *end_pstr; /* end position */ 854 } absent_pos; 860 855 } u; 861 856 } OnigStackType; … … 901 896 902 897 903 extern void onig_print_compiled_byte_code P_((FILE* f, UChar* bp, UChar** nextp, OnigEncoding enc)); 904 905 #ifdef ONIG_DEBUG_STATISTICS 906 extern void onig_statistics_init P_((void)); 907 extern void onig_print_statistics P_((FILE* f)); 908 #endif 909 #endif 910 911 extern UChar* onig_error_code_to_format P_((OnigPosition code)); 912 extern void onig_snprintf_with_pattern PV_((UChar buf[], int bufsize, OnigEncoding enc, UChar* pat, UChar* pat_end, const UChar *fmt, ...)); 913 extern int onig_bbuf_init P_((BBuf* buf, OnigDistance size)); 914 extern int onig_compile P_((regex_t* reg, const UChar* pattern, const UChar* pattern_end, OnigErrorInfo* einfo)); 915 extern void onig_chain_reduce P_((regex_t* reg)); 916 extern void onig_chain_link_add P_((regex_t* to, regex_t* add)); 917 extern void onig_transfer P_((regex_t* to, regex_t* from)); 918 extern int onig_is_code_in_cc P_((OnigEncoding enc, OnigCodePoint code, CClassNode* cc)); 919 extern int onig_is_code_in_cc_len P_((int enclen, OnigCodePoint code, CClassNode* cc)); 898 extern void onig_print_compiled_byte_code(FILE* f, UChar* bp, UChar* bpend, UChar** nextp, OnigEncoding enc); 899 900 # ifdef ONIG_DEBUG_STATISTICS 901 extern void onig_statistics_init(void); 902 extern void onig_print_statistics(FILE* f); 903 # endif 904 #endif 905 906 extern UChar* onig_error_code_to_format(OnigPosition code); 907 extern void onig_vsnprintf_with_pattern(UChar buf[], int bufsize, OnigEncoding enc, UChar* pat, UChar* pat_end, const UChar *fmt, va_list args); 908 extern void onig_snprintf_with_pattern(UChar buf[], int bufsize, OnigEncoding enc, UChar* pat, UChar* pat_end, const UChar *fmt, ...); 909 extern int onig_bbuf_init(BBuf* buf, OnigDistance size); 910 extern int onig_compile(regex_t* reg, const UChar* pattern, const UChar* pattern_end, OnigErrorInfo* einfo); 911 #ifdef RUBY 912 extern int onig_compile_ruby(regex_t* reg, const UChar* pattern, const UChar* pattern_end, OnigErrorInfo* einfo, const char *sourcefile, int sourceline); 913 #endif 914 extern void onig_transfer(regex_t* to, regex_t* from); 915 extern int onig_is_code_in_cc(OnigEncoding enc, OnigCodePoint code, CClassNode* cc); 916 extern int onig_is_code_in_cc_len(int enclen, OnigCodePoint code, CClassNode* cc); 920 917 921 918 /* strend hash */ 922 919 typedef void hash_table_type; 923 typedef uintptr_t hash_data_type; 924 925 extern hash_table_type* onig_st_init_strend_table_with_size P_((int size)); 926 extern int onig_st_lookup_strend P_((hash_table_type* table, const UChar* str_key, const UChar* end_key, hash_data_type *value)); 927 extern int onig_st_insert_strend P_((hash_table_type* table, const UChar* str_key, const UChar* end_key, hash_data_type value)); 928 929 /* encoding property management */ 930 #define PROPERTY_LIST_ADD_PROP(Name, CR) \ 931 r = onigenc_property_list_add_property((UChar* )Name, CR,\ 932 &PropertyNameTable, &PropertyList, &PropertyListNum,\ 933 &PropertyListSize);\ 934 if (r != 0) goto end 935 936 #define PROPERTY_LIST_INIT_CHECK \ 937 if (PropertyInited == 0) {\ 938 int r = onigenc_property_list_init(init_property_list);\ 939 if (r != 0) return r;\ 940 } 941 942 extern int onigenc_property_list_add_property P_((UChar* name, const OnigCodePoint* prop, hash_table_type **table, const OnigCodePoint*** plist, int *pnum, int *psize)); 943 944 typedef int (*ONIGENC_INIT_PROPERTY_LIST_FUNC_TYPE)(void); 945 946 extern int onigenc_property_list_init P_((ONIGENC_INIT_PROPERTY_LIST_FUNC_TYPE)); 947 948 extern size_t onig_memsize P_((const regex_t *reg)); 949 extern size_t onig_region_memsize P_((const struct re_registers *regs)); 950 951 #endif /* REGINT_H */ 920 #ifdef RUBY 921 # include "ruby/st.h" 922 #else 923 # include "st.h" 924 #endif 925 typedef st_data_t hash_data_type; 926 927 extern hash_table_type* onig_st_init_strend_table_with_size(st_index_t size); 928 extern int onig_st_lookup_strend(hash_table_type* table, const UChar* str_key, const UChar* end_key, hash_data_type *value); 929 extern int onig_st_insert_strend(hash_table_type* table, const UChar* str_key, const UChar* end_key, hash_data_type value); 930 931 #ifdef RUBY 932 extern size_t onig_memsize(const regex_t *reg); 933 extern size_t onig_region_memsize(const struct re_registers *regs); 934 #endif 935 936 RUBY_SYMBOL_EXPORT_END 937 938 #endif /* ONIGMO_REGINT_H */ -
EcnlProtoTool/trunk/onigmo-6.1.3/src/regparse.c
r321 r331 4 4 /*- 5 5 * Copyright (c) 2002-2008 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 6 * Copyright (c) 2011-201 4K.Takata <kentkt AT csc DOT jp>6 * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp> 7 7 * All rights reserved. 8 8 * … … 30 30 31 31 #include "regparse.h" 32 #include "st.h"32 #include <stdarg.h> 33 33 34 34 #define WARN_BUFSIZE 256 … … 37 37 38 38 39 OnigSyntaxType OnigSyntaxRuby = {39 const OnigSyntaxType OnigSyntaxRuby = { 40 40 (( SYN_GNU_REGEX_OP | ONIG_SYN_OP_QMARK_NON_GREEDY | 41 41 ONIG_SYN_OP_ESC_OCTAL3 | ONIG_SYN_OP_ESC_X_HEX2 | … … 53 53 ONIG_SYN_OP2_ESC_CAPITAL_M_BAR_META | ONIG_SYN_OP2_ESC_V_VTAB | 54 54 ONIG_SYN_OP2_ESC_H_XDIGIT | 55 #ifndef RUBY 56 ONIG_SYN_OP2_ESC_U_HEX4 | 57 #endif 55 58 ONIG_SYN_OP2_ESC_CAPITAL_X_EXTENDED_GRAPHEME_CLUSTER | 56 59 ONIG_SYN_OP2_QMARK_LPAREN_CONDITION | 57 60 ONIG_SYN_OP2_ESC_CAPITAL_R_LINEBREAK | 58 ONIG_SYN_OP2_ESC_CAPITAL_K_KEEP ) 61 ONIG_SYN_OP2_ESC_CAPITAL_K_KEEP | 62 ONIG_SYN_OP2_QMARK_TILDE_ABSENT ) 59 63 , ( SYN_GNU_REGEX_BV | 60 64 ONIG_SYN_ALLOW_INTERVAL_LOW_ABBREV | … … 64 68 ONIG_SYN_FIXED_INTERVAL_IS_GREEDY_ONLY | 65 69 ONIG_SYN_WARN_CC_OP_NOT_ESCAPED | 70 ONIG_SYN_WARN_CC_DUP | 66 71 ONIG_SYN_WARN_REDUNDANT_NESTED_REPEAT ) 67 72 , ( ONIG_OPTION_ASCII_RANGE | ONIG_OPTION_POSIX_BRACKET_ALL_RANGE | … … 78 83 }; 79 84 80 OnigSyntaxType* OnigDefaultSyntax = ONIG_SYNTAX_RUBY;85 const OnigSyntaxType* OnigDefaultSyntax = ONIG_SYNTAX_RUBY; 81 86 82 87 extern void onig_null_warn(const char* s ARG_UNUSED) { } … … 103 108 onig_verb_warn = f; 104 109 } 110 111 static void CC_DUP_WARN(ScanEnv *env); 112 113 114 static unsigned int ParseDepthLimit = DEFAULT_PARSE_DEPTH_LIMIT; 115 116 extern unsigned int 117 onig_get_parse_depth_limit(void) 118 { 119 return ParseDepthLimit; 120 } 121 122 extern int 123 onig_set_parse_depth_limit(unsigned int depth) 124 { 125 if (depth == 0) 126 ParseDepthLimit = DEFAULT_PARSE_DEPTH_LIMIT; 127 else 128 ParseDepthLimit = depth; 129 return 0; 130 } 131 105 132 106 133 static void … … 137 164 138 165 #define SET_ALL_MULTI_BYTE_RANGE(enc, pbuf) \ 139 add_code_range_to_buf(pbuf, MBCODE_START_POS(enc), ONIG_LAST_CODE_POINT)166 add_code_range_to_buf(pbuf, env, MBCODE_START_POS(enc), ONIG_LAST_CODE_POINT) 140 167 141 168 #define ADD_ALL_MULTI_BYTE_RANGE(enc, mbuf) do {\ … … 146 173 } while (0) 147 174 175 176 #define BITSET_SET_BIT_CHKDUP(bs, pos) do { \ 177 if (BITSET_AT(bs, pos)) CC_DUP_WARN(env); \ 178 BS_ROOM(bs, pos) |= BS_BIT(pos); \ 179 } while (0) 148 180 149 181 #define BITSET_IS_EMPTY(bs,empty) do {\ … … 158 190 159 191 static void 160 bitset_set_range( BitSetRef bs, int from, int to)192 bitset_set_range(ScanEnv *env, BitSetRef bs, int from, int to) 161 193 { 162 194 int i; 163 195 for (i = from; i <= to && i < SINGLE_BYTE_SIZE; i++) { 164 BITSET_SET_BIT (bs, i);196 BITSET_SET_BIT_CHKDUP(bs, i); 165 197 } 166 198 } … … 210 242 } 211 243 244 #if defined(USE_NAMED_GROUP) && !defined(USE_ST_LIBRARY) 212 245 extern int 213 246 onig_strncmp(const UChar* s1, const UChar* s2, int n) … … 221 254 return 0; 222 255 } 256 #endif 223 257 224 258 extern void … … 259 293 #ifdef __GNUC__ 260 294 /* get rid of Wunused-but-set-variable and Wuninitialized */ 261 # define PFETCH_READY UChar* pfetch_prev = NULL; (void)pfetch_prev295 # define PFETCH_READY UChar* pfetch_prev = NULL; (void)pfetch_prev 262 296 #else 263 # define PFETCH_READY UChar* pfetch_prev297 # define PFETCH_READY UChar* pfetch_prev 264 298 #endif 265 299 #define PEND (p < end ? 0 : 1) … … 267 301 #define PINC do { \ 268 302 pfetch_prev = p; \ 269 p += ONIGENC_MBC_ENC_LEN(enc, p); \303 p += enclen(enc, p, end); \ 270 304 } while (0) 271 305 #define PFETCH(c) do { \ 272 c = ONIGENC_MBC_TO_CODE(enc, p, end); \306 c = ((enc->max_enc_len == 1) ? *p : ONIGENC_MBC_TO_CODE(enc, p, end)); \ 273 307 pfetch_prev = p; \ 274 p += ONIGENC_MBC_ENC_LEN(enc, p); \308 p += enclen(enc, p, end); \ 275 309 } while (0) 276 310 277 311 #define PINC_S do { \ 278 p += ONIGENC_MBC_ENC_LEN(enc, p); \312 p += enclen(enc, p, end); \ 279 313 } while (0) 280 314 #define PFETCH_S(c) do { \ 281 c = ONIGENC_MBC_TO_CODE(enc, p, end); \282 p += ONIGENC_MBC_ENC_LEN(enc, p); \315 c = ((enc->max_enc_len == 1) ? *p : ONIGENC_MBC_TO_CODE(enc, p, end)); \ 316 p += enclen(enc, p, end); \ 283 317 } while (0) 284 318 … … 319 353 #ifdef USE_ST_LIBRARY 320 354 355 # ifdef RUBY 356 # include "ruby/st.h" 357 # else 358 # include "st.h" 359 # endif 360 321 361 typedef struct { 322 UChar* s;323 UChar* end;362 const UChar* s; 363 const UChar* end; 324 364 } st_str_end_key; 325 365 326 366 static int 327 str_end_cmp(st_str_end_key* x, st_str_end_key* y) 328 { 329 UChar *p, *q; 367 str_end_cmp(st_data_t xp, st_data_t yp) 368 { 369 const st_str_end_key *x, *y; 370 const UChar *p, *q; 330 371 int c; 331 372 373 x = (const st_str_end_key *)xp; 374 y = (const st_str_end_key *)yp; 332 375 if ((x->end - x->s) != (y->end - y->s)) 333 376 return 1; … … 345 388 } 346 389 347 static int 348 str_end_hash(st_str_end_key* x) 349 { 350 UChar *p; 351 int val = 0; 390 static st_index_t 391 str_end_hash(st_data_t xp) 392 { 393 const st_str_end_key *x = (const st_str_end_key *)xp; 394 const UChar *p; 395 st_index_t val = 0; 352 396 353 397 p = x->s; … … 360 404 361 405 extern hash_table_type* 362 onig_st_init_strend_table_with_size( int size)363 { 364 static struct st_hash_type hashType = {406 onig_st_init_strend_table_with_size(st_index_t size) 407 { 408 static const struct st_hash_type hashType = { 365 409 str_end_cmp, 366 410 str_end_hash, … … 405 449 #ifdef USE_NAMED_GROUP 406 450 407 # define INIT_NAME_BACKREFS_ALLOC_NUM 8451 # define INIT_NAME_BACKREFS_ALLOC_NUM 8 408 452 409 453 typedef struct { … … 416 460 } NameEntry; 417 461 418 # ifdef USE_ST_LIBRARY462 # ifdef USE_ST_LIBRARY 419 463 420 464 typedef st_table NameTable; 421 465 typedef st_data_t HashDataType; /* 1.6 st.h doesn't define st_data_t type */ 422 466 423 # ifdef ONIG_DEBUG467 # ifdef ONIG_DEBUG 424 468 static int 425 469 i_print_name_entry(UChar* key, NameEntry* e, void* arg) … … 455 499 return 0; 456 500 } 457 # endif /* ONIG_DEBUG */501 # endif /* ONIG_DEBUG */ 458 502 459 503 static int … … 518 562 { 519 563 int r = (*(arg->func))(e->name, 520 521 564 e->name + e->name_len, 565 e->back_num, 522 566 (e->back_num > 1 ? e->back_refs : &(e->back_ref1)), 523 567 arg->reg, arg->arg); … … 577 621 578 622 extern int 579 onig_number_of_names( regex_t* reg)623 onig_number_of_names(const regex_t* reg) 580 624 { 581 625 NameTable* t = (NameTable* )reg->name_table; 582 626 583 627 if (IS_NOT_NULL(t)) 584 return t->num_entries;628 return (int )t->num_entries; 585 629 else 586 630 return 0; 587 631 } 588 632 589 # else /* USE_ST_LIBRARY */590 591 # define INIT_NAMES_ALLOC_NUM 8633 # else /* USE_ST_LIBRARY */ 634 635 # define INIT_NAMES_ALLOC_NUM 8 592 636 593 637 typedef struct { … … 597 641 } NameTable; 598 642 599 # ifdef ONIG_DEBUG643 # ifdef ONIG_DEBUG 600 644 extern int 601 645 onig_print_names(FILE* fp, regex_t* reg) … … 628 672 return 0; 629 673 } 630 # endif674 # endif 631 675 632 676 static int … … 713 757 714 758 extern int 715 onig_number_of_names( regex_t* reg)759 onig_number_of_names(const regex_t* reg) 716 760 { 717 761 NameTable* t = (NameTable* )reg->name_table; … … 723 767 } 724 768 725 # endif /* else USE_ST_LIBRARY */769 # endif /* else USE_ST_LIBRARY */ 726 770 727 771 static int … … 737 781 e = name_find(reg, name, name_end); 738 782 if (IS_NULL(e)) { 739 # ifdef USE_ST_LIBRARY783 # ifdef USE_ST_LIBRARY 740 784 if (IS_NULL(t)) { 741 785 t = onig_st_init_strend_table_with_size(5); … … 758 802 e->back_refs = (int* )NULL; 759 803 760 # else804 # else 761 805 762 806 if (IS_NULL(t)) { … … 801 845 if (IS_NULL(e->name)) return ONIGERR_MEMORY; 802 846 e->name_len = name_end - name; 803 # endif847 # endif 804 848 } 805 849 … … 864 908 extern int 865 909 onig_name_to_backref_number(regex_t* reg, const UChar* name, 866 const UChar* name_end, OnigRegion *region)910 const UChar* name_end, const OnigRegion *region) 867 911 { 868 912 int i, n, *nums; … … 897 941 extern int 898 942 onig_name_to_backref_number(regex_t* reg, const UChar* name, 899 const UChar* name_end, OnigRegion* region)943 const UChar* name_end, const OnigRegion* region) 900 944 { 901 945 return ONIG_NO_SUPPORT_CONFIG; … … 910 954 911 955 extern int 912 onig_number_of_names( regex_t* reg)956 onig_number_of_names(const regex_t* reg) 913 957 { 914 958 return 0; … … 917 961 918 962 extern int 919 onig_noname_group_capture_is_active( regex_t* reg)963 onig_noname_group_capture_is_active(const regex_t* reg) 920 964 { 921 965 if (ONIG_IS_OPTION_ON(reg->options, ONIG_OPTION_DONT_CAPTURE_GROUP)) … … 964 1008 env->has_recursion = 0; 965 1009 #endif 1010 env->parse_depth = 0; 1011 env->warnings_flag = 0; 966 1012 } 967 1013 … … 980 1026 alloc = INIT_SCANENV_MEMNODES_ALLOC_SIZE; 981 1027 p = (Node** )xmalloc(sizeof(Node*) * alloc); 1028 CHECK_NULL_RETURN_MEMERR(p); 982 1029 xmemcpy(p, env->mem_nodes_static, 983 1030 sizeof(Node*) * SCANENV_MEMNODES_SIZE); … … 986 1033 alloc = env->mem_alloc * 2; 987 1034 p = (Node** )xrealloc(env->mem_nodes_dynamic, sizeof(Node*) * alloc); 988 } 989 CHECK_NULL_RETURN_MEMERR(p);1035 CHECK_NULL_RETURN_MEMERR(p); 1036 } 990 1037 991 1038 for (i = env->num_mem + 1; i < alloc; i++) … … 1012 1059 1013 1060 1014 #ifdef USE_PARSE_TREE_NODE_RECYCLE1015 typedef struct _FreeNode {1016 struct _FreeNode* next;1017 } FreeNode;1018 1019 static FreeNode* FreeNodeList = (FreeNode* )NULL;1020 #endif1021 1022 1061 extern void 1023 1062 onig_node_free(Node* node) … … 1040 1079 Node* next_node = NCDR(node); 1041 1080 1042 #ifdef USE_PARSE_TREE_NODE_RECYCLE1043 {1044 FreeNode* n = (FreeNode* )node;1045 1046 THREAD_ATOMIC_START;1047 n->next = FreeNodeList;1048 FreeNodeList = n;1049 THREAD_ATOMIC_END;1050 }1051 #else1052 1081 xfree(node); 1053 #endif1054 1082 node = next_node; 1055 1083 goto start; … … 1061 1089 CClassNode* cc = NCCLASS(node); 1062 1090 1063 if (IS_NCCLASS_SHARE(cc)) return ;1064 1091 if (cc->mbuf) 1065 1092 bbuf_free(cc->mbuf); 1066 1093 } 1067 1094 break; … … 1088 1115 } 1089 1116 1090 #ifdef USE_PARSE_TREE_NODE_RECYCLE1091 {1092 FreeNode* n = (FreeNode* )node;1093 1094 THREAD_ATOMIC_START;1095 n->next = FreeNodeList;1096 FreeNodeList = n;1097 THREAD_ATOMIC_END;1098 }1099 #else1100 1117 xfree(node); 1101 #endif 1102 } 1103 1104 #ifdef USE_PARSE_TREE_NODE_RECYCLE 1105 extern int 1106 onig_free_node_list(void) 1107 { 1108 FreeNode* n; 1109 1110 /* THREAD_ATOMIC_START; */ 1111 while (IS_NOT_NULL(FreeNodeList)) { 1112 n = FreeNodeList; 1113 FreeNodeList = FreeNodeList->next; 1114 xfree(n); 1115 } 1116 /* THREAD_ATOMIC_END; */ 1117 return 0; 1118 } 1119 #endif 1118 } 1120 1119 1121 1120 static Node* … … 1123 1122 { 1124 1123 Node* node; 1125 1126 #ifdef USE_PARSE_TREE_NODE_RECYCLE1127 THREAD_ATOMIC_START;1128 if (IS_NOT_NULL(FreeNodeList)) {1129 node = (Node* )FreeNodeList;1130 FreeNodeList = FreeNodeList->next;1131 THREAD_ATOMIC_END;1132 return node;1133 }1134 THREAD_ATOMIC_END;1135 #endif1136 1124 1137 1125 node = (Node* )xmalloc(sizeof(Node)); … … 1139 1127 return node; 1140 1128 } 1141 1142 #if defined(USE_MULTI_THREAD_SYSTEM) && \1143 defined(USE_SHARED_CCLASS_TABLE) && \1144 defined(USE_PARSE_TREE_NODE_RECYCLE)1145 static Node*1146 node_new_locked(void)1147 {1148 Node* node;1149 1150 if (IS_NOT_NULL(FreeNodeList)) {1151 node = (Node* )FreeNodeList;1152 FreeNodeList = FreeNodeList->next;1153 return node;1154 }1155 1156 node = (Node* )xmalloc(sizeof(Node));1157 /* xmemset(node, 0, sizeof(Node)); */1158 return node;1159 }1160 #endif1161 1129 1162 1130 static void … … 1179 1147 return node; 1180 1148 } 1181 1182 #if defined(USE_MULTI_THREAD_SYSTEM) && \1183 defined(USE_SHARED_CCLASS_TABLE) && \1184 defined(USE_PARSE_TREE_NODE_RECYCLE)1185 static Node*1186 node_new_cclass_locked(void)1187 {1188 Node* node = node_new_locked();1189 CHECK_NULL_RETURN(node);1190 1191 SET_NTYPE(node, NT_CCLASS);1192 initialize_cclass(NCCLASS(node));1193 return node;1194 }1195 #else1196 #define node_new_cclass_locked() node_new_cclass()1197 #endif1198 1199 #ifdef USE_SHARED_CCLASS_TABLE1200 static Node*1201 node_new_cclass_by_codepoint_range(int not, OnigCodePoint sb_out,1202 const OnigCodePoint ranges[])1203 {1204 int n, i;1205 CClassNode* cc;1206 OnigCodePoint j;1207 1208 Node* node = node_new_cclass_locked();1209 CHECK_NULL_RETURN(node);1210 1211 cc = NCCLASS(node);1212 if (not != 0) NCCLASS_SET_NOT(cc);1213 1214 BITSET_CLEAR(cc->bs);1215 if (sb_out > 0 && IS_NOT_NULL(ranges)) {1216 n = ONIGENC_CODE_RANGE_NUM(ranges);1217 for (i = 0; i < n; i++) {1218 for (j = ONIGENC_CODE_RANGE_FROM(ranges, i);1219 j <= (OnigCodePoint )ONIGENC_CODE_RANGE_TO(ranges, i); j++) {1220 if (j >= sb_out) goto sb_end;1221 1222 BITSET_SET_BIT(cc->bs, j);1223 }1224 }1225 }1226 1227 sb_end:1228 if (IS_NULL(ranges)) {1229 is_null:1230 cc->mbuf = NULL;1231 }1232 else {1233 BBuf* bbuf;1234 1235 n = ONIGENC_CODE_RANGE_NUM(ranges);1236 if (n == 0) goto is_null;1237 1238 bbuf = (BBuf* )xmalloc(sizeof(BBuf));1239 CHECK_NULL_RETURN(bbuf);1240 bbuf->alloc = n + 1;1241 bbuf->used = n + 1;1242 bbuf->p = (UChar* )((void* )ranges);1243 1244 cc->mbuf = bbuf;1245 }1246 1247 return node;1248 }1249 #endif /* USE_SHARED_CCLASS_TABLE */1250 1149 1251 1150 static Node* … … 1535 1434 } 1536 1435 1436 #if 0 1537 1437 extern void 1538 1438 onig_node_conv_to_str_node(Node* node, int flag) … … 1544 1444 NSTR(node)->end = NSTR(node)->buf; 1545 1445 } 1446 #endif 1546 1447 1547 1448 extern void … … 1614 1515 1615 1516 if (sn->end > sn->s) { 1616 p = onigenc_get_prev_char_head(enc, sn->s, sn->end );1517 p = onigenc_get_prev_char_head(enc, sn->s, sn->end, sn->end); 1617 1518 if (p && p > sn->s) { /* can be split. */ 1618 1519 n = node_new_str(p, sn->end); … … 1629 1530 { 1630 1531 if (sn->end > sn->s) { 1631 return ((enclen(enc, sn->s ) < sn->end - sn->s) ? 1 : 0);1532 return ((enclen(enc, sn->s, sn->end) < sn->end - sn->s) ? 1 : 0); 1632 1533 } 1633 1534 return 0; … … 1702 1603 else { 1703 1604 PUNFETCH; 1605 maxlen++; 1704 1606 break; 1705 1607 } … … 1766 1668 1767 1669 static int 1768 add_code_range_to_buf(BBuf** pbuf, OnigCodePoint from, OnigCodePoint to) 1670 add_code_range_to_buf0(BBuf** pbuf, ScanEnv* env, OnigCodePoint from, OnigCodePoint to, 1671 int checkdup) 1769 1672 { 1770 1673 int r, inc_n, pos; … … 1807 1710 bound = x; 1808 1711 } 1712 /* data[(low-1)*2+1] << from <= data[low*2] 1713 * data[(high-1)*2+1] <= to << data[high*2] 1714 */ 1809 1715 1810 1716 inc_n = low + 1 - high; … … 1813 1719 1814 1720 if (inc_n != 1) { 1721 if (checkdup && from <= data[low*2+1] 1722 && (data[low*2] <= from || data[low*2+1] <= to)) 1723 CC_DUP_WARN(env); 1815 1724 if (from > data[low*2]) 1816 1725 from = data[low*2]; … … 1845 1754 1846 1755 static int 1847 add_code_range(BBuf** pbuf, ScanEnv* env, OnigCodePoint from, OnigCodePoint to) 1756 add_code_range_to_buf(BBuf** pbuf, ScanEnv* env, OnigCodePoint from, OnigCodePoint to) 1757 { 1758 return add_code_range_to_buf0(pbuf, env, from, to, 1); 1759 } 1760 1761 static int 1762 add_code_range0(BBuf** pbuf, ScanEnv* env, OnigCodePoint from, OnigCodePoint to, int checkdup) 1848 1763 { 1849 1764 if (from > to) { … … 1854 1769 } 1855 1770 1856 return add_code_range_to_buf (pbuf, from, to);1771 return add_code_range_to_buf0(pbuf, env, from, to, checkdup); 1857 1772 } 1858 1773 1859 1774 static int 1860 not_code_range_buf(OnigEncoding enc, BBuf* bbuf, BBuf** pbuf) 1775 add_code_range(BBuf** pbuf, ScanEnv* env, OnigCodePoint from, OnigCodePoint to) 1776 { 1777 return add_code_range0(pbuf, env, from, to, 1); 1778 } 1779 1780 static int 1781 not_code_range_buf(OnigEncoding enc, BBuf* bbuf, BBuf** pbuf, ScanEnv* env) 1861 1782 { 1862 1783 int r, i, n; … … 1880 1801 to = data[i*2+1]; 1881 1802 if (pre <= from - 1) { 1882 r = add_code_range_to_buf(pbuf, pre, from - 1);1803 r = add_code_range_to_buf(pbuf, env, pre, from - 1); 1883 1804 if (r != 0) return r; 1884 1805 } … … 1887 1808 } 1888 1809 if (to < ONIG_LAST_CODE_POINT) { 1889 r = add_code_range_to_buf(pbuf, to + 1, ONIG_LAST_CODE_POINT);1810 r = add_code_range_to_buf(pbuf, env, to + 1, ONIG_LAST_CODE_POINT); 1890 1811 } 1891 1812 return r; … … 1901 1822 static int 1902 1823 or_code_range_buf(OnigEncoding enc, BBuf* bbuf1, int not1, 1903 BBuf* bbuf2, int not2, BBuf** pbuf )1824 BBuf* bbuf2, int not2, BBuf** pbuf, ScanEnv* env) 1904 1825 { 1905 1826 int r; … … 1927 1848 } 1928 1849 else { 1929 return not_code_range_buf(enc, bbuf2, pbuf );1850 return not_code_range_buf(enc, bbuf2, pbuf, env); 1930 1851 } 1931 1852 } … … 1943 1864 } 1944 1865 else if (not1 == 0) { /* 1 OR (not 2) */ 1945 r = not_code_range_buf(enc, bbuf2, pbuf );1866 r = not_code_range_buf(enc, bbuf2, pbuf, env); 1946 1867 } 1947 1868 if (r != 0) return r; … … 1950 1871 from = data1[i*2]; 1951 1872 to = data1[i*2+1]; 1952 r = add_code_range_to_buf(pbuf, from, to);1873 r = add_code_range_to_buf(pbuf, env, from, to); 1953 1874 if (r != 0) return r; 1954 1875 } … … 1957 1878 1958 1879 static int 1959 and_code_range1(BBuf** pbuf, OnigCodePoint from1, OnigCodePoint to1,1960 1880 and_code_range1(BBuf** pbuf, ScanEnv* env, OnigCodePoint from1, OnigCodePoint to1, 1881 OnigCodePoint* data, int n) 1961 1882 { 1962 1883 int i, r; … … 1975 1896 if (to2 < to1) { 1976 1897 if (from1 <= from2 - 1) { 1977 r = add_code_range_to_buf(pbuf, from1, from2-1);1898 r = add_code_range_to_buf(pbuf, env, from1, from2-1); 1978 1899 if (r != 0) return r; 1979 1900 } … … 1990 1911 } 1991 1912 if (from1 <= to1) { 1992 r = add_code_range_to_buf(pbuf, from1, to1);1913 r = add_code_range_to_buf(pbuf, env, from1, to1); 1993 1914 if (r != 0) return r; 1994 1915 } … … 1997 1918 1998 1919 static int 1999 and_code_range_buf(BBuf* bbuf1, int not1, BBuf* bbuf2, int not2, BBuf** pbuf )1920 and_code_range_buf(BBuf* bbuf1, int not1, BBuf* bbuf2, int not2, BBuf** pbuf, ScanEnv* env) 2000 1921 { 2001 1922 int r; … … 2036 1957 from = MAX(from1, from2); 2037 1958 to = MIN(to1, to2); 2038 r = add_code_range_to_buf(pbuf, from, to);1959 r = add_code_range_to_buf(pbuf, env, from, to); 2039 1960 if (r != 0) return r; 2040 1961 } … … 2045 1966 from1 = data1[i*2]; 2046 1967 to1 = data1[i*2+1]; 2047 r = and_code_range1(pbuf, from1, to1, data2, n2);1968 r = and_code_range1(pbuf, env, from1, to1, data2, n2); 2048 1969 if (r != 0) return r; 2049 1970 } … … 2054 1975 2055 1976 static int 2056 and_cclass(CClassNode* dest, CClassNode* cc, OnigEncoding enc) 2057 { 1977 and_cclass(CClassNode* dest, CClassNode* cc, ScanEnv* env) 1978 { 1979 OnigEncoding enc = env->enc; 2058 1980 int r, not1, not2; 2059 1981 BBuf *buf1, *buf2, *pbuf = 0; … … 2087 2009 if (! ONIGENC_IS_SINGLEBYTE(enc)) { 2088 2010 if (not1 != 0 && not2 != 0) { 2089 r = or_code_range_buf(enc, buf1, 0, buf2, 0, &pbuf );2011 r = or_code_range_buf(enc, buf1, 0, buf2, 0, &pbuf, env); 2090 2012 } 2091 2013 else { 2092 r = and_code_range_buf(buf1, not1, buf2, not2, &pbuf );2014 r = and_code_range_buf(buf1, not1, buf2, not2, &pbuf, env); 2093 2015 if (r == 0 && not1 != 0) { 2094 2016 BBuf *tbuf = 0; 2095 r = not_code_range_buf(enc, pbuf, &tbuf );2017 r = not_code_range_buf(enc, pbuf, &tbuf, env); 2096 2018 bbuf_free(pbuf); 2097 2019 pbuf = tbuf; … … 2111 2033 2112 2034 static int 2113 or_cclass(CClassNode* dest, CClassNode* cc, OnigEncoding enc) 2114 { 2035 or_cclass(CClassNode* dest, CClassNode* cc, ScanEnv* env) 2036 { 2037 OnigEncoding enc = env->enc; 2115 2038 int r, not1, not2; 2116 2039 BBuf *buf1, *buf2, *pbuf = 0; … … 2144 2067 if (! ONIGENC_IS_SINGLEBYTE(enc)) { 2145 2068 if (not1 != 0 && not2 != 0) { 2146 r = and_code_range_buf(buf1, 0, buf2, 0, &pbuf );2069 r = and_code_range_buf(buf1, 0, buf2, 0, &pbuf, env); 2147 2070 } 2148 2071 else { 2149 r = or_code_range_buf(enc, buf1, not1, buf2, not2, &pbuf );2072 r = or_code_range_buf(enc, buf1, not1, buf2, not2, &pbuf, env); 2150 2073 if (r == 0 && not1 != 0) { 2151 2074 BBuf *tbuf = 0; 2152 r = not_code_range_buf(enc, pbuf, &tbuf );2075 r = not_code_range_buf(enc, pbuf, &tbuf, env); 2153 2076 bbuf_free(pbuf); 2154 2077 pbuf = tbuf; … … 2168 2091 } 2169 2092 2170 static int 2171 conv_backslash_value(int c, ScanEnv* env) 2093 static void UNKNOWN_ESC_WARN(ScanEnv *env, int c); 2094 2095 static OnigCodePoint 2096 conv_backslash_value(OnigCodePoint c, ScanEnv* env) 2172 2097 { 2173 2098 if (IS_SYNTAX_OP(env->syntax, ONIG_SYN_OP_ESC_CONTROL_CHARS)) { … … 2186 2111 2187 2112 default: 2113 if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')) 2114 UNKNOWN_ESC_WARN(env, c); 2188 2115 break; 2189 2116 } … … 2193 2120 2194 2121 #ifdef USE_NO_INVALID_QUANTIFIER 2195 # define is_invalid_quantifier_target(node) 02122 # define is_invalid_quantifier_target(node) 0 2196 2123 #else 2197 2124 static int … … 2265 2192 2266 2193 static enum ReduceType const ReduceTypeTable[6][6] = { 2194 /* '?', '*', '+', '??', '*?', '+?' p / c */ 2267 2195 {RQ_DEL, RQ_A, RQ_A, RQ_QQ, RQ_AQ, RQ_ASIS}, /* '?' */ 2268 2196 {RQ_DEL, RQ_DEL, RQ_DEL, RQ_P_QQ, RQ_P_QQ, RQ_DEL}, /* '*' */ … … 2467 2395 if (IS_SYNTAX_OP(env->syntax, ONIG_SYN_OP_ESC_BRACE_INTERVAL)) { 2468 2396 if (c != MC_ESC(env->syntax)) goto invalid; 2397 if (PEND) goto invalid; 2469 2398 PFETCH(c); 2470 2399 } … … 2490 2419 /* \M-, \C-, \c, or \... */ 2491 2420 static int 2492 fetch_escaped_value(UChar** src, UChar* end, ScanEnv* env )2421 fetch_escaped_value(UChar** src, UChar* end, ScanEnv* env, OnigCodePoint* val) 2493 2422 { 2494 2423 int v; … … 2509 2438 PFETCH_S(c); 2510 2439 if (c == MC_ESC(env->syntax)) { 2511 v = fetch_escaped_value(&p, end, env); 2512 if (v < 0) return v; 2513 c = (OnigCodePoint )v; 2440 v = fetch_escaped_value(&p, end, env, &c); 2441 if (v < 0) return v; 2514 2442 } 2515 2443 c = ((c & 0xff) | 0x80); … … 2535 2463 PFETCH_S(c); 2536 2464 if (c == '?') { 2537 2465 c = 0177; 2538 2466 } 2539 2467 else { 2540 if (c == MC_ESC(env->syntax)) { 2541 v = fetch_escaped_value(&p, end, env); 2542 if (v < 0) return v; 2543 c = (OnigCodePoint )v; 2544 } 2545 c &= 0x9f; 2468 if (c == MC_ESC(env->syntax)) { 2469 v = fetch_escaped_value(&p, end, env, &c); 2470 if (v < 0) return v; 2471 } 2472 c &= 0x9f; 2546 2473 } 2547 2474 break; … … 2558 2485 2559 2486 *src = p; 2560 return c; 2487 *val = c; 2488 return 0; 2561 2489 } 2562 2490 … … 2579 2507 2580 2508 #ifdef USE_NAMED_GROUP 2581 #ifdef USE_BACKREF_WITH_LEVEL 2509 # ifdef RUBY 2510 # define ONIGENC_IS_CODE_NAME(enc, c) TRUE 2511 # else 2512 # define ONIGENC_IS_CODE_NAME(enc, c) ONIGENC_IS_CODE_WORD(enc, c) 2513 # endif 2514 2515 # ifdef USE_BACKREF_WITH_LEVEL 2582 2516 /* 2583 2517 \k<name+n>, \k<name-n> … … 2624 2558 pnum_head = p; 2625 2559 } 2626 else if (!ONIGENC_IS_CODE_ WORD(enc, c)) {2560 else if (!ONIGENC_IS_CODE_NAME(enc, c)) { 2627 2561 r = ONIGERR_INVALID_CHAR_IN_GROUP_NAME; 2628 2562 } … … 2639 2573 if (is_num != 0) { 2640 2574 if (ONIGENC_IS_CODE_DIGIT(enc, c)) { 2641 2575 is_num = 1; 2642 2576 } 2643 2577 else { 2644 2645 2646 } 2647 } 2648 else if (!ONIGENC_IS_CODE_ WORD(enc, c)) {2578 r = ONIGERR_INVALID_GROUP_NAME; 2579 is_num = 0; 2580 } 2581 } 2582 else if (!ONIGENC_IS_CODE_NAME(enc, c)) { 2649 2583 r = ONIGERR_INVALID_CHAR_IN_GROUP_NAME; 2650 2584 } … … 2656 2590 int flag = (c == '-' ? -1 : 1); 2657 2591 2592 if (PEND) { 2593 r = ONIGERR_INVALID_CHAR_IN_GROUP_NAME; 2594 goto end; 2595 } 2658 2596 PFETCH(c); 2659 2597 if (! ONIGENC_IS_CODE_DIGIT(enc, c)) goto err; … … 2664 2602 exist_level = 1; 2665 2603 2666 PFETCH(c); 2667 if (c == end_code) 2668 goto end; 2604 if (!PEND) { 2605 PFETCH(c); 2606 if (c == end_code) 2607 goto end; 2608 } 2669 2609 } 2670 2610 … … 2693 2633 } 2694 2634 } 2695 # endif /* USE_BACKREF_WITH_LEVEL */2635 # endif /* USE_BACKREF_WITH_LEVEL */ 2696 2636 2697 2637 /* … … 2730 2670 if (ONIGENC_IS_CODE_DIGIT(enc, c)) { 2731 2671 if (ref == 1) 2732 is_num = 1; 2733 else { 2734 r = ONIGERR_INVALID_GROUP_NAME; 2735 is_num = 0; 2736 } 2737 } 2738 else if (c == '-') { 2739 if (ref == 1) { 2740 is_num = 2; 2741 sign = -1; 2742 pnum_head = p; 2743 } 2672 is_num = 1; 2744 2673 else { 2745 2674 r = ONIGERR_INVALID_GROUP_NAME; … … 2747 2676 } 2748 2677 } 2749 else if (!ONIGENC_IS_CODE_WORD(enc, c)) { 2678 else if (c == '-') { 2679 if (ref == 1) { 2680 is_num = 2; 2681 sign = -1; 2682 pnum_head = p; 2683 } 2684 else { 2685 r = ONIGERR_INVALID_GROUP_NAME; 2686 is_num = 0; 2687 } 2688 } 2689 else if (!ONIGENC_IS_CODE_NAME(enc, c)) { 2750 2690 r = ONIGERR_INVALID_CHAR_IN_GROUP_NAME; 2751 2691 } … … 2757 2697 PFETCH_S(c); 2758 2698 if (c == end_code || c == ')') { 2759 if (is_num == 2) r = ONIGERR_INVALID_GROUP_NAME; 2699 if (is_num == 2) { 2700 r = ONIGERR_INVALID_GROUP_NAME; 2701 goto teardown; 2702 } 2760 2703 break; 2761 2704 } 2762 2705 2763 2706 if (is_num != 0) { 2764 2765 2766 2767 2768 2769 2770 2771 2772 is_num = 0;2773 2707 if (ONIGENC_IS_CODE_DIGIT(enc, c)) { 2708 is_num = 1; 2709 } 2710 else { 2711 if (!ONIGENC_IS_CODE_WORD(enc, c)) 2712 r = ONIGERR_INVALID_CHAR_IN_GROUP_NAME; 2713 else 2714 r = ONIGERR_INVALID_GROUP_NAME; 2715 goto teardown; 2716 } 2774 2717 } 2775 2718 else { 2776 if (!ONIGENC_IS_CODE_WORD(enc, c)) { 2777 r = ONIGERR_INVALID_CHAR_IN_GROUP_NAME; 2778 } 2719 if (!ONIGENC_IS_CODE_NAME(enc, c)) { 2720 r = ONIGERR_INVALID_CHAR_IN_GROUP_NAME; 2721 goto teardown; 2722 } 2779 2723 } 2780 2724 } … … 2783 2727 r = ONIGERR_INVALID_GROUP_NAME; 2784 2728 name_end = end; 2729 goto err; 2785 2730 } 2786 2731 … … 2789 2734 if (*rback_num < 0) return ONIGERR_TOO_BIG_NUMBER; 2790 2735 else if (*rback_num == 0) { 2791 2792 2736 r = ONIGERR_INVALID_GROUP_NAME; 2737 goto err; 2793 2738 } 2794 2739 … … 2801 2746 } 2802 2747 else { 2748 teardown: 2803 2749 while (!PEND) { 2804 2750 name_end = p; 2805 2751 PFETCH_S(c); 2806 2752 if (c == end_code || c == ')') 2807 2753 break; 2808 2754 } 2809 2755 if (PEND) … … 2894 2840 #endif /* USE_NAMED_GROUP */ 2895 2841 2842 2896 2843 static void 2897 CC_ESC_WARN(ScanEnv* env, UChar *c) 2844 onig_syntax_warn(ScanEnv *env, const char *fmt, ...) 2845 { 2846 va_list args; 2847 UChar buf[WARN_BUFSIZE]; 2848 va_start(args, fmt); 2849 onig_vsnprintf_with_pattern(buf, WARN_BUFSIZE, env->enc, 2850 env->pattern, env->pattern_end, 2851 (const UChar *)fmt, args); 2852 va_end(args); 2853 #ifdef RUBY 2854 if (env->sourcefile == NULL) 2855 rb_warn("%s", (char *)buf); 2856 else 2857 rb_compile_warn(env->sourcefile, env->sourceline, "%s", (char *)buf); 2858 #else 2859 (*onig_warn)((char* )buf); 2860 #endif 2861 } 2862 2863 static void 2864 CC_ESC_WARN(ScanEnv *env, UChar *c) 2898 2865 { 2899 2866 if (onig_warn == onig_null_warn) return ; … … 2901 2868 if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_WARN_CC_OP_NOT_ESCAPED) && 2902 2869 IS_SYNTAX_BV(env->syntax, ONIG_SYN_BACKSLASH_ESCAPE_IN_CC)) { 2903 UChar buf[WARN_BUFSIZE]; 2904 onig_snprintf_with_pattern(buf, WARN_BUFSIZE, env->enc, 2905 env->pattern, env->pattern_end, 2906 (UChar* )"character class has '%s' without escape", c); 2907 (*onig_warn)((char* )buf); 2870 onig_syntax_warn(env, "character class has '%s' without escape", c); 2908 2871 } 2909 2872 } … … 2915 2878 2916 2879 if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_WARN_CC_OP_NOT_ESCAPED)) { 2917 UChar buf[WARN_BUFSIZE]; 2918 onig_snprintf_with_pattern(buf, WARN_BUFSIZE, env->enc, 2919 env->pattern, env->pattern_end, 2920 (UChar* )"regular expression has '%s' without escape", c); 2921 (*onig_warn)((char* )buf); 2922 } 2880 onig_syntax_warn(env, "regular expression has '%s' without escape", c); 2881 } 2882 } 2883 2884 #ifndef RTEST 2885 # define RTEST(v) 1 2886 #endif 2887 2888 static void 2889 CC_DUP_WARN(ScanEnv *env) 2890 { 2891 if (onig_warn == onig_null_warn || !RTEST(ruby_verbose)) return ; 2892 2893 if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_WARN_CC_DUP) && 2894 !(env->warnings_flag & ONIG_SYN_WARN_CC_DUP)) { 2895 env->warnings_flag |= ONIG_SYN_WARN_CC_DUP; 2896 onig_syntax_warn(env, "character class has duplicated range"); 2897 } 2898 } 2899 2900 static void 2901 UNKNOWN_ESC_WARN(ScanEnv *env, int c) 2902 { 2903 if (onig_warn == onig_null_warn || !RTEST(ruby_verbose)) return ; 2904 onig_syntax_warn(env, "Unknown escape \\%c is ignored", c); 2923 2905 } 2924 2906 … … 2934 2916 while (p < to) { 2935 2917 x = ONIGENC_MBC_TO_CODE(enc, p, to); 2936 q = p + enclen(enc, p );2918 q = p + enclen(enc, p, to); 2937 2919 if (x == s[0]) { 2938 2920 for (i = 1; i < n && q < to; i++) { 2939 2921 x = ONIGENC_MBC_TO_CODE(enc, q, to); 2940 2922 if (x != s[i]) break; 2941 q += enclen(enc, q );2923 q += enclen(enc, q, to); 2942 2924 } 2943 2925 if (i >= n) { … … 2954 2936 static int 2955 2937 str_exist_check_with_esc(OnigCodePoint s[], int n, UChar* from, UChar* to, 2956 OnigCodePoint bad, OnigEncoding enc, OnigSyntaxType* syn)2938 OnigCodePoint bad, OnigEncoding enc, const OnigSyntaxType* syn) 2957 2939 { 2958 2940 int i, in_esc; … … 2965 2947 if (in_esc) { 2966 2948 in_esc = 0; 2967 p += enclen(enc, p );2949 p += enclen(enc, p, to); 2968 2950 } 2969 2951 else { 2970 2952 x = ONIGENC_MBC_TO_CODE(enc, p, to); 2971 q = p + enclen(enc, p );2953 q = p + enclen(enc, p, to); 2972 2954 if (x == s[0]) { 2973 2955 for (i = 1; i < n && q < to; i++) { 2974 2956 x = ONIGENC_MBC_TO_CODE(enc, q, to); 2975 2957 if (x != s[i]) break; 2976 q += enclen(enc, q );2958 q += enclen(enc, q, to); 2977 2959 } 2978 2960 if (i >= n) return 1; 2979 p += enclen(enc, p );2961 p += enclen(enc, p, to); 2980 2962 } 2981 2963 else { … … 2995 2977 int num; 2996 2978 OnigCodePoint c, c2; 2997 OnigSyntaxType* syn = env->syntax;2979 const OnigSyntaxType* syn = env->syntax; 2998 2980 OnigEncoding enc = env->enc; 2999 2981 UChar* prev; … … 3073 3055 case 'p': 3074 3056 case 'P': 3057 if (PEND) break; 3058 3075 3059 c2 = PPEEK; 3076 3060 if (c2 == '{' && … … 3080 3064 tok->u.prop.not = (c == 'P' ? 1 : 0); 3081 3065 3082 if ( IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT)) {3066 if (!PEND && IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT)) { 3083 3067 PFETCH(c2); 3084 3068 if (c2 == '^') { … … 3089 3073 } 3090 3074 } 3075 else { 3076 onig_syntax_warn(env, "invalid Unicode Property \\%c", c); 3077 } 3091 3078 break; 3092 3079 … … 3100 3087 if (num < 0) return ONIGERR_TOO_BIG_WIDE_CHAR_VALUE; 3101 3088 if (!PEND) { 3102 3103 3104 3105 3106 3107 if (p > prev + enclen(enc, prev ) && !PEND && (PPEEK_IS('}'))) {3089 c2 = PPEEK; 3090 if (ONIGENC_IS_CODE_XDIGIT(enc, c2)) 3091 return ONIGERR_TOO_LONG_WIDE_CHAR_VALUE; 3092 } 3093 3094 if (p > prev + enclen(enc, prev, end) && !PEND && (PPEEK_IS('}'))) { 3108 3095 PINC; 3109 3096 tok->type = TK_CODE_POINT; … … 3142 3129 tok->base = 16; 3143 3130 tok->u.code = (OnigCodePoint )num; 3131 } 3132 break; 3133 3134 case 'o': 3135 if (PEND) break; 3136 3137 prev = p; 3138 if (PPEEK_IS('{') && IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_O_BRACE_OCTAL)) { 3139 PINC; 3140 num = scan_unsigned_octal_number(&p, end, 11, enc); 3141 if (num < 0) return ONIGERR_TOO_BIG_WIDE_CHAR_VALUE; 3142 if (!PEND) { 3143 c2 = PPEEK; 3144 if (ONIGENC_IS_CODE_DIGIT(enc, c2) && c2 < '8') 3145 return ONIGERR_TOO_LONG_WIDE_CHAR_VALUE; 3146 } 3147 3148 if (p > prev + enclen(enc, prev, end) && !PEND && (PPEEK_IS('}'))) { 3149 PINC; 3150 tok->type = TK_CODE_POINT; 3151 tok->base = 8; 3152 tok->u.code = (OnigCodePoint )num; 3153 } 3154 else { 3155 /* can't read nothing or invalid format */ 3156 p = prev; 3157 } 3144 3158 } 3145 3159 break; … … 3163 3177 default: 3164 3178 PUNFETCH; 3165 num = fetch_escaped_value(&p, end, env );3179 num = fetch_escaped_value(&p, end, env, &c2); 3166 3180 if (num < 0) return num; 3167 if ( tok->u.c != num) {3168 tok->u.code = (OnigCodePoint ) num;3181 if ((OnigCodePoint )tok->u.c != c2) { 3182 tok->u.code = (OnigCodePoint )c2; 3169 3183 tok->type = TK_CODE_POINT; 3170 3184 } … … 3215 3229 { 3216 3230 int r, num; 3217 OnigSyntaxType* syn = env->syntax;3231 const OnigSyntaxType* syn = env->syntax; 3218 3232 UChar* prev; 3219 3233 UChar* p = *src; … … 3224 3238 prev = p; 3225 3239 3226 # ifdef USE_BACKREF_WITH_LEVEL3240 # ifdef USE_BACKREF_WITH_LEVEL 3227 3241 name_end = NULL_UCHARP; /* no need. escape gcc warning. */ 3228 3242 r = fetch_name_with_level(c, &p, end, &name_end, … … 3230 3244 if (r == 1) tok->u.backref.exist_level = 1; 3231 3245 else tok->u.backref.exist_level = 0; 3232 # else3246 # else 3233 3247 r = fetch_name(&p, end, &name_end, env, &back_num, 1); 3234 # endif3248 # endif 3235 3249 if (r < 0) return r; 3236 3250 … … 3270 3284 tok->type = TK_BACKREF; 3271 3285 tok->u.backref.by_name = 1; 3272 if (num == 1 ) {3286 if (num == 1 || IS_SYNTAX_BV(syn, ONIG_SYN_USE_LEFT_MOST_NAMED_GROUP)) { 3273 3287 tok->u.backref.num = 1; 3274 3288 tok->u.backref.ref1 = backs[0]; … … 3290 3304 OnigCodePoint c; 3291 3305 OnigEncoding enc = env->enc; 3292 OnigSyntaxType* syn = env->syntax;3306 const OnigSyntaxType* syn = env->syntax; 3293 3307 UChar* prev; 3294 3308 UChar* p = *src; … … 3523 3537 if (num < 0) return ONIGERR_TOO_BIG_WIDE_CHAR_VALUE; 3524 3538 if (!PEND) { 3525 3526 3527 3528 3529 if ((p > prev + enclen(enc, prev )) && !PEND && PPEEK_IS('}')) {3539 if (ONIGENC_IS_CODE_XDIGIT(enc, PPEEK)) 3540 return ONIGERR_TOO_LONG_WIDE_CHAR_VALUE; 3541 } 3542 3543 if ((p > prev + enclen(enc, prev, end)) && !PEND && PPEEK_IS('}')) { 3530 3544 PINC; 3531 3545 tok->type = TK_CODE_POINT; … … 3566 3580 break; 3567 3581 3582 case 'o': 3583 if (PEND) break; 3584 3585 prev = p; 3586 if (PPEEK_IS('{') && IS_SYNTAX_OP(syn, ONIG_SYN_OP_ESC_O_BRACE_OCTAL)) { 3587 PINC; 3588 num = scan_unsigned_octal_number(&p, end, 11, enc); 3589 if (num < 0) return ONIGERR_TOO_BIG_WIDE_CHAR_VALUE; 3590 if (!PEND) { 3591 OnigCodePoint c = PPEEK; 3592 if (ONIGENC_IS_CODE_DIGIT(enc, c) && c < '8') 3593 return ONIGERR_TOO_LONG_WIDE_CHAR_VALUE; 3594 } 3595 3596 if ((p > prev + enclen(enc, prev, end)) && !PEND && PPEEK_IS('}')) { 3597 PINC; 3598 tok->type = TK_CODE_POINT; 3599 tok->u.code = (OnigCodePoint )num; 3600 } 3601 else { 3602 /* can't read nothing or invalid format */ 3603 p = prev; 3604 } 3605 } 3606 break; 3607 3568 3608 case '1': case '2': case '3': case '4': 3569 3609 case '5': case '6': case '7': case '8': case '9': … … 3572 3612 num = onig_scan_unsigned_number(&p, end, enc); 3573 3613 if (num < 0 || num > ONIG_MAX_BACKREF_NUM) { 3574 3614 goto skip_backref; 3575 3615 } 3576 3616 … … 3605 3645 prev = p; 3606 3646 num = scan_unsigned_octal_number(&p, end, (c == '0' ? 2:3), enc); 3607 if (num < 0 ) return ONIGERR_TOO_BIG_NUMBER;3647 if (num < 0 || 0xff < num) return ONIGERR_TOO_BIG_NUMBER; 3608 3648 if (p == prev) { /* can't read nothing. */ 3609 3649 num = 0; /* but, it's not error */ … … 3620 3660 #ifdef USE_NAMED_GROUP 3621 3661 case 'k': 3622 if ( IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_K_NAMED_BACKREF)) {3662 if (!PEND && IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_K_NAMED_BACKREF)) { 3623 3663 PFETCH(c); 3624 3664 if (c == '<' || c == '\'') { … … 3626 3666 if (r < 0) return r; 3627 3667 } 3628 else 3668 else { 3629 3669 PUNFETCH; 3670 onig_syntax_warn(env, "invalid back reference"); 3671 } 3630 3672 } 3631 3673 break; … … 3634 3676 #if defined(USE_SUBEXP_CALL) || defined(USE_NAMED_GROUP) 3635 3677 case 'g': 3636 # ifdef USE_NAMED_GROUP3637 if ( IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_G_BRACE_BACKREF)) {3678 # ifdef USE_NAMED_GROUP 3679 if (!PEND && IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_G_BRACE_BACKREF)) { 3638 3680 PFETCH(c); 3639 3681 if (c == '{') { … … 3644 3686 PUNFETCH; 3645 3687 } 3646 # endif3647 # ifdef USE_SUBEXP_CALL3648 if ( IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_G_SUBEXP_CALL)) {3688 # endif 3689 # ifdef USE_SUBEXP_CALL 3690 if (!PEND && IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_G_SUBEXP_CALL)) { 3649 3691 PFETCH(c); 3650 3692 if (c == '<' || c == '\'') { … … 3678 3720 tok->u.call.rel = rel; 3679 3721 } 3680 else 3722 else { 3723 onig_syntax_warn(env, "invalid subexp call"); 3681 3724 PUNFETCH; 3682 } 3683 #endif 3725 } 3726 } 3727 # endif 3684 3728 break; 3685 3729 #endif … … 3699 3743 tok->u.prop.not = (c == 'P' ? 1 : 0); 3700 3744 3701 if ( IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT)) {3745 if (!PEND && IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_ESC_P_BRACE_CIRCUMFLEX_NOT)) { 3702 3746 PFETCH(c); 3703 3747 if (c == '^') { … … 3708 3752 } 3709 3753 } 3754 else { 3755 onig_syntax_warn(env, "invalid Unicode Property \\%c", c); 3756 } 3710 3757 break; 3711 3758 … … 3729 3776 3730 3777 default: 3731 PUNFETCH; 3732 num = fetch_escaped_value(&p, end, env); 3733 if (num < 0) return num; 3734 /* set_raw: */ 3735 if (tok->u.c != num) { 3736 tok->type = TK_CODE_POINT; 3737 tok->u.code = (OnigCodePoint )num; 3738 } 3739 else { /* string */ 3740 p = tok->backp + enclen(enc, tok->backp); 3778 { 3779 OnigCodePoint c2; 3780 3781 PUNFETCH; 3782 num = fetch_escaped_value(&p, end, env, &c2); 3783 if (num < 0) return num; 3784 /* set_raw: */ 3785 if ((OnigCodePoint )tok->u.c != c2) { 3786 tok->type = TK_CODE_POINT; 3787 tok->u.code = (OnigCodePoint )c2; 3788 } 3789 else { /* string */ 3790 p = tok->backp + enclen(enc, tok->backp, end); 3791 } 3741 3792 } 3742 3793 break; … … 3828 3879 case '(': 3829 3880 if (PPEEK_IS('?') && 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3881 IS_SYNTAX_OP2(syn, ONIG_SYN_OP2_QMARK_GROUP_EFFECT)) { 3882 PINC; 3883 if (PPEEK_IS('#')) { 3884 PFETCH(c); 3885 while (1) { 3886 if (PEND) return ONIGERR_END_PATTERN_IN_GROUP; 3887 PFETCH(c); 3888 if (c == MC_ESC(syn)) { 3889 if (!PEND) PFETCH(c); 3890 } 3891 else { 3892 if (c == ')') break; 3893 } 3894 } 3895 goto start; 3896 } 3846 3897 #ifdef USE_PERL_SUBEXP_CALL 3847 3898 /* (?&name), (?n), (?R), (?0), (?+n), (?-n) */ … … 3914 3965 3915 3966 PINC; /* skip 'P' */ 3967 if (PEND) return ONIGERR_UNDEFINED_GROUP_OPTION; 3916 3968 PFETCH(c); 3917 3969 if (c == '=') { /* (?P=name): backref */ … … 3932 3984 break; 3933 3985 } 3934 PUNFETCH;3935 3986 } 3936 3987 #endif /* USE_CAPITAL_P_NAMED_GROUP */ 3937 3988 PUNFETCH; 3938 3989 } 3939 3990 … … 4003 4054 static int 4004 4055 add_ctype_to_cc_by_range(CClassNode* cc, int ctype ARG_UNUSED, int not, 4005 OnigEncoding enc ARG_UNUSED,4056 ScanEnv* env, 4006 4057 OnigCodePoint sb_out, const OnigCodePoint mbr[]) 4007 4058 { … … 4013 4064 if (not == 0) { 4014 4065 for (i = 0; i < n; i++) { 4015 for (j 4016 4066 for (j = ONIGENC_CODE_RANGE_FROM(mbr, i); 4067 j <= ONIGENC_CODE_RANGE_TO(mbr, i); j++) { 4017 4068 if (j >= sb_out) { 4018 4069 if (j > ONIGENC_CODE_RANGE_FROM(mbr, i)) { 4019 r = add_code_range_to_buf(&(cc->mbuf), j,4070 r = add_code_range_to_buf(&(cc->mbuf), env, j, 4020 4071 ONIGENC_CODE_RANGE_TO(mbr, i)); 4021 4072 if (r != 0) return r; … … 4025 4076 goto sb_end; 4026 4077 } 4027 BITSET_SET_BIT(cc->bs, j);4078 BITSET_SET_BIT_CHKDUP(cc->bs, j); 4028 4079 } 4029 4080 } … … 4031 4082 sb_end: 4032 4083 for ( ; i < n; i++) { 4033 r = add_code_range_to_buf(&(cc->mbuf), 4084 r = add_code_range_to_buf(&(cc->mbuf), env, 4034 4085 ONIGENC_CODE_RANGE_FROM(mbr, i), 4035 4086 ONIGENC_CODE_RANGE_TO(mbr, i)); … … 4046 4097 goto sb_end2; 4047 4098 } 4048 BITSET_SET_BIT (cc->bs, j);4099 BITSET_SET_BIT_CHKDUP(cc->bs, j); 4049 4100 } 4050 4101 prev = ONIGENC_CODE_RANGE_TO(mbr, i) + 1; 4051 4102 } 4052 4103 for (j = prev; j < sb_out; j++) { 4053 BITSET_SET_BIT (cc->bs, j);4104 BITSET_SET_BIT_CHKDUP(cc->bs, j); 4054 4105 } 4055 4106 … … 4059 4110 for (i = 0; i < n; i++) { 4060 4111 if (prev < ONIGENC_CODE_RANGE_FROM(mbr, i)) { 4061 r = add_code_range_to_buf(&(cc->mbuf), prev,4112 r = add_code_range_to_buf(&(cc->mbuf), env, prev, 4062 4113 ONIGENC_CODE_RANGE_FROM(mbr, i) - 1); 4063 4114 if (r != 0) return r; … … 4066 4117 } 4067 4118 if (prev < 0x7fffffff) { 4068 r = add_code_range_to_buf(&(cc->mbuf), prev, 0x7fffffff);4119 r = add_code_range_to_buf(&(cc->mbuf), env, prev, 0x7fffffff); 4069 4120 if (r != 0) return r; 4070 4121 } … … 4088 4139 CClassNode ccwork; 4089 4140 initialize_cclass(&ccwork); 4090 r = add_ctype_to_cc_by_range(&ccwork, ctype, not, env ->enc, sb_out,4141 r = add_ctype_to_cc_by_range(&ccwork, ctype, not, env, sb_out, 4091 4142 ranges); 4092 4143 if (r == 0) { 4093 4144 if (not) { 4094 r = add_code_range_to_buf (&(ccwork.mbuf), 0x80, ONIG_LAST_CODE_POINT);4145 r = add_code_range_to_buf0(&(ccwork.mbuf), env, 0x80, ONIG_LAST_CODE_POINT, FALSE); 4095 4146 } 4096 4147 else { … … 4098 4149 initialize_cclass(&ccascii); 4099 4150 if (ONIGENC_MBC_MINLEN(env->enc) > 1) { 4100 add_code_range(&(ccascii.mbuf), env, 0x00, 0x7F);4151 r = add_code_range(&(ccascii.mbuf), env, 0x00, 0x7F); 4101 4152 } 4102 4153 else { 4103 bitset_set_range(ccascii.bs, 0x00, 0x7F); 4154 bitset_set_range(env, ccascii.bs, 0x00, 0x7F); 4155 r = 0; 4104 4156 } 4105 r = and_cclass(&ccwork, &ccascii, enc); 4157 if (r == 0) { 4158 r = and_cclass(&ccwork, &ccascii, env); 4159 } 4106 4160 if (IS_NOT_NULL(ccascii.mbuf)) bbuf_free(ccascii.mbuf); 4107 4161 } 4108 4162 if (r == 0) { 4109 r = or_cclass(cc, &ccwork, en c);4163 r = or_cclass(cc, &ccwork, env); 4110 4164 } 4111 4165 if (IS_NOT_NULL(ccwork.mbuf)) bbuf_free(ccwork.mbuf); … … 4113 4167 } 4114 4168 else { 4115 r = add_ctype_to_cc_by_range(cc, ctype, not, env ->enc, sb_out, ranges);4169 r = add_ctype_to_cc_by_range(cc, ctype, not, env, sb_out, ranges); 4116 4170 } 4117 4171 return r; … … 4138 4192 for (c = 0; c < SINGLE_BYTE_SIZE; c++) { 4139 4193 if (! ONIGENC_IS_CODE_CTYPE(enc, (OnigCodePoint )c, ctype)) 4140 BITSET_SET_BIT (cc->bs, c);4194 BITSET_SET_BIT_CHKDUP(cc->bs, c); 4141 4195 } 4142 4196 ADD_ALL_MULTI_BYTE_RANGE(enc, cc->mbuf); … … 4145 4199 for (c = 0; c < SINGLE_BYTE_SIZE; c++) { 4146 4200 if (ONIGENC_IS_CODE_CTYPE(enc, (OnigCodePoint )c, ctype)) 4147 BITSET_SET_BIT (cc->bs, c);4201 BITSET_SET_BIT_CHKDUP(cc->bs, c); 4148 4202 } 4149 4203 } … … 4156 4210 if (! ONIGENC_IS_CODE_CTYPE(enc, (OnigCodePoint )c, ctype) 4157 4211 || c >= maxcode) 4158 BITSET_SET_BIT (cc->bs, c);4212 BITSET_SET_BIT_CHKDUP(cc->bs, c); 4159 4213 } 4160 4214 if (ascii_range) 4161 4215 ADD_ALL_MULTI_BYTE_RANGE(enc, cc->mbuf); 4162 4216 } 4163 4217 else { 4164 4218 for (c = 0; c < maxcode; c++) { 4165 4219 if (ONIGENC_IS_CODE_CTYPE(enc, (OnigCodePoint )c, ctype)) 4166 BITSET_SET_BIT (cc->bs, c);4220 BITSET_SET_BIT_CHKDUP(cc->bs, c); 4167 4221 } 4168 4222 if (! ascii_range) 4169 4223 ADD_ALL_MULTI_BYTE_RANGE(enc, cc->mbuf); 4170 4224 } 4171 4225 break; … … 4174 4228 if (not == 0) { 4175 4229 for (c = 0; c < maxcode; c++) { 4176 if (ONIGENC_IS_CODE_WORD(enc, c)) BITSET_SET_BIT (cc->bs, c);4230 if (ONIGENC_IS_CODE_WORD(enc, c)) BITSET_SET_BIT_CHKDUP(cc->bs, c); 4177 4231 } 4178 4232 if (! ascii_range) 4179 4233 ADD_ALL_MULTI_BYTE_RANGE(enc, cc->mbuf); 4180 4234 } 4181 4235 else { 4182 4236 for (c = 0; c < SINGLE_BYTE_SIZE; c++) { 4183 4237 if ((ONIGENC_CODE_TO_MBCLEN(enc, c) > 0) /* check invalid code point */ 4184 4238 && (! ONIGENC_IS_CODE_WORD(enc, c) || c >= maxcode)) 4185 BITSET_SET_BIT (cc->bs, c);4239 BITSET_SET_BIT_CHKDUP(cc->bs, c); 4186 4240 } 4187 4241 if (ascii_range) 4188 4242 ADD_ALL_MULTI_BYTE_RANGE(enc, cc->mbuf); 4189 4243 } 4190 4244 break; … … 4245 4299 p = (UChar* )onigenc_step(enc, p, end, pb->len); 4246 4300 if (onigenc_with_ascii_strncmp(enc, p, end, (UChar* )":]", 2) != 0) 4247 4301 return ONIGERR_INVALID_POSIX_BRACKET_TYPE; 4248 4302 4249 4303 r = add_ctype_to_cc(cc, pb->ctype, not, ascii_range, env); … … 4276 4330 PFETCH_S(c); 4277 4331 if (c == ']') 4278 4332 return ONIGERR_INVALID_POSIX_BRACKET_TYPE; 4279 4333 } 4280 4334 } … … 4356 4410 static int 4357 4411 next_state_class(CClassNode* cc, CClassNode* asc_cc, 4358 4412 OnigCodePoint* vs, enum CCVALTYPE* type, 4359 4413 enum CCSTATE* state, ScanEnv* env) 4360 4414 { … … 4366 4420 if (*state == CCS_VALUE && *type != CCV_CLASS) { 4367 4421 if (*type == CCV_SB) { 4368 BITSET_SET_BIT (cc->bs, (int )(*vs));4422 BITSET_SET_BIT_CHKDUP(cc->bs, (int )(*vs)); 4369 4423 if (IS_NOT_NULL(asc_cc)) 4370 4424 BITSET_SET_BIT(asc_cc->bs, (int )(*vs)); … … 4374 4428 if (r < 0) return r; 4375 4429 if (IS_NOT_NULL(asc_cc)) { 4376 r = add_code_range (&(asc_cc->mbuf), env, *vs, *vs);4430 r = add_code_range0(&(asc_cc->mbuf), env, *vs, *vs, 0); 4377 4431 if (r < 0) return r; 4378 4432 } … … 4387 4441 static int 4388 4442 next_state_val(CClassNode* cc, CClassNode* asc_cc, 4389 OnigCodePoint * vs, OnigCodePoint v,4390 int* vs_israw, int v_israw,4443 OnigCodePoint *from, OnigCodePoint to, 4444 int* from_israw, int to_israw, 4391 4445 enum CCVALTYPE intype, enum CCVALTYPE* type, 4392 4446 enum CCSTATE* state, ScanEnv* env) … … 4397 4451 case CCS_VALUE: 4398 4452 if (*type == CCV_SB) { 4399 BITSET_SET_BIT (cc->bs, (int )(*vs));4453 BITSET_SET_BIT_CHKDUP(cc->bs, (int )(*from)); 4400 4454 if (IS_NOT_NULL(asc_cc)) 4401 BITSET_SET_BIT(asc_cc->bs, (int )(* vs));4455 BITSET_SET_BIT(asc_cc->bs, (int )(*from)); 4402 4456 } 4403 4457 else if (*type == CCV_CODE_POINT) { 4404 r = add_code_range(&(cc->mbuf), env, * vs, *vs);4458 r = add_code_range(&(cc->mbuf), env, *from, *from); 4405 4459 if (r < 0) return r; 4406 4460 if (IS_NOT_NULL(asc_cc)) { 4407 r = add_code_range (&(asc_cc->mbuf), env, *vs, *vs);4461 r = add_code_range0(&(asc_cc->mbuf), env, *from, *from, 0); 4408 4462 if (r < 0) return r; 4409 4463 } … … 4414 4468 if (intype == *type) { 4415 4469 if (intype == CCV_SB) { 4416 if (*vs > 0xff || v> 0xff)4417 4418 4419 if (* vs > v) {4470 if (*from > 0xff || to > 0xff) 4471 return ONIGERR_INVALID_CODE_POINT_VALUE; 4472 4473 if (*from > to) { 4420 4474 if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_ALLOW_EMPTY_RANGE_IN_CC)) 4421 4475 goto ccs_range_end; … … 4423 4477 return ONIGERR_EMPTY_RANGE_IN_CHAR_CLASS; 4424 4478 } 4425 bitset_set_range( cc->bs, (int )*vs, (int )v);4479 bitset_set_range(env, cc->bs, (int )*from, (int )to); 4426 4480 if (IS_NOT_NULL(asc_cc)) 4427 bitset_set_range( asc_cc->bs, (int )*vs, (int )v);4481 bitset_set_range(env, asc_cc->bs, (int )*from, (int )to); 4428 4482 } 4429 4483 else { 4430 r = add_code_range(&(cc->mbuf), env, * vs, v);4484 r = add_code_range(&(cc->mbuf), env, *from, to); 4431 4485 if (r < 0) return r; 4432 4486 if (IS_NOT_NULL(asc_cc)) { 4433 r = add_code_range (&(asc_cc->mbuf), env, *vs, v);4487 r = add_code_range0(&(asc_cc->mbuf), env, *from, to, 0); 4434 4488 if (r < 0) return r; 4435 4489 } … … 4437 4491 } 4438 4492 else { 4439 #if 0 4440 if (intype == CCV_CODE_POINT && *type == CCV_SB) { 4441 #endif 4442 if (*vs > v) { 4443 if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_ALLOW_EMPTY_RANGE_IN_CC)) 4444 goto ccs_range_end; 4445 else 4446 return ONIGERR_EMPTY_RANGE_IN_CHAR_CLASS; 4447 } 4448 bitset_set_range(cc->bs, (int )*vs, (int )(v < 0xff ? v : 0xff)); 4449 r = add_code_range(&(cc->mbuf), env, (OnigCodePoint )*vs, v); 4493 if (*from > to) { 4494 if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_ALLOW_EMPTY_RANGE_IN_CC)) 4495 goto ccs_range_end; 4496 else 4497 return ONIGERR_EMPTY_RANGE_IN_CHAR_CLASS; 4498 } 4499 bitset_set_range(env, cc->bs, (int )*from, (int )(to < 0xff ? to : 0xff)); 4500 r = add_code_range(&(cc->mbuf), env, (OnigCodePoint )*from, to); 4501 if (r < 0) return r; 4502 if (IS_NOT_NULL(asc_cc)) { 4503 bitset_set_range(env, asc_cc->bs, (int )*from, (int )(to < 0xff ? to : 0xff)); 4504 r = add_code_range0(&(asc_cc->mbuf), env, (OnigCodePoint )*from, to, 0); 4450 4505 if (r < 0) return r; 4451 if (IS_NOT_NULL(asc_cc)) { 4452 bitset_set_range(asc_cc->bs, (int )*vs, (int )(v < 0xff ? v : 0xff)); 4453 r = add_code_range(&(asc_cc->mbuf), env, (OnigCodePoint )*vs, v); 4454 if (r < 0) return r; 4455 } 4456 #if 0 4457 } 4458 else 4459 return ONIGERR_MISMATCH_CODE_LENGTH_IN_CLASS_RANGE; 4460 #endif 4506 } 4461 4507 } 4462 4508 ccs_range_end: … … 4473 4519 } 4474 4520 4475 * vs_israw = v_israw;4476 * vs = v;4477 *type = intype;4521 *from_israw = to_israw; 4522 *from = to; 4523 *type = intype; 4478 4524 return 0; 4479 4525 } … … 4519 4565 int val_israw, in_israw; 4520 4566 4567 *np = *asc_np = NULL_NODE; 4568 env->parse_depth++; 4569 if (env->parse_depth > ParseDepthLimit) 4570 return ONIGERR_PARSE_DEPTH_LIMIT_OVER; 4521 4571 prev_cc = asc_prev_cc = (CClassNode* )NULL; 4522 *np = *asc_np = NULL_NODE;4523 4572 r = fetch_token_in_cc(tok, src, end, env); 4524 4573 if (r == TK_CHAR && tok->u.c == '^' && tok->escaped == 0) { … … 4602 4651 } 4603 4652 4604 len = enclen(env->enc, buf );4653 len = enclen(env->enc, buf, buf + i); 4605 4654 if (i < len) { 4606 4655 r = ONIGERR_TOO_SHORT_MULTI_BYTE_STRING; … … 4610 4659 p = psave; 4611 4660 for (i = 1; i < len; i++) { 4612 r = fetch_token_in_cc(tok, &p, end, env); 4661 (void)fetch_token_in_cc(tok, &p, end, env); 4662 /* no need to check the retun value (already checked above) */ 4613 4663 } 4614 4664 fetched = 0; … … 4710 4760 goto range_end_val; 4711 4761 } 4762 4763 if (val_type == CCV_CLASS) { 4764 r = ONIGERR_UNMATCHED_RANGE_SPECIFIER_IN_CHAR_CLASS; 4765 goto err; 4766 } 4767 4712 4768 state = CCS_RANGE; 4713 4769 } … … 4757 4813 if (r == 0) { 4758 4814 acc = NCCLASS(anode); 4759 r = or_cclass(cc, acc, env ->enc);4815 r = or_cclass(cc, acc, env); 4760 4816 } 4761 4817 if (r == 0 && IS_NOT_NULL(aasc_node)) { 4762 4818 acc = NCCLASS(aasc_node); 4763 r = or_cclass(asc_cc, acc, env ->enc);4819 r = or_cclass(asc_cc, acc, env); 4764 4820 } 4765 4821 onig_node_free(anode); … … 4781 4837 4782 4838 if (IS_NOT_NULL(prev_cc)) { 4783 r = and_cclass(prev_cc, cc, env ->enc);4839 r = and_cclass(prev_cc, cc, env); 4784 4840 if (r != 0) goto err; 4785 4841 bbuf_free(cc->mbuf); 4786 4842 if (IS_NOT_NULL(asc_cc)) { 4787 r = and_cclass(asc_prev_cc, asc_cc, env ->enc);4843 r = and_cclass(asc_prev_cc, asc_cc, env); 4788 4844 if (r != 0) goto err; 4789 4845 bbuf_free(asc_cc->mbuf); … … 4829 4885 4830 4886 if (IS_NOT_NULL(prev_cc)) { 4831 r = and_cclass(prev_cc, cc, env ->enc);4887 r = and_cclass(prev_cc, cc, env); 4832 4888 if (r != 0) goto err; 4833 4889 bbuf_free(cc->mbuf); 4834 4890 cc = prev_cc; 4835 4891 if (IS_NOT_NULL(asc_cc)) { 4836 r = and_cclass(asc_prev_cc, asc_cc, env ->enc);4892 r = and_cclass(asc_prev_cc, asc_cc, env); 4837 4893 if (r != 0) goto err; 4838 4894 bbuf_free(asc_cc->mbuf); … … 4863 4919 4864 4920 if (ONIGENC_IS_CODE_NEWLINE(env->enc, NEWLINE_CODE)) { 4865 4866 BITSET_SET_BIT(cc->bs, NEWLINE_CODE);4867 4868 4869 4870 4921 if (ONIGENC_CODE_TO_MBCLEN(env->enc, NEWLINE_CODE) == 1) 4922 BITSET_SET_BIT_CHKDUP(cc->bs, NEWLINE_CODE); 4923 else { 4924 r = add_code_range(&(cc->mbuf), env, NEWLINE_CODE, NEWLINE_CODE); 4925 if (r < 0) goto err; 4926 } 4871 4927 } 4872 4928 } 4873 4929 } 4874 4930 *src = p; 4931 env->parse_depth--; 4875 4932 return 0; 4876 4933 … … 4933 4990 *np = node_new_enclose(ENCLOSE_STOP_BACKTRACK); 4934 4991 break; 4992 case '~': /* (?~...) absent operator */ 4993 if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_QMARK_TILDE_ABSENT)) { 4994 *np = node_new_enclose(ENCLOSE_ABSENT); 4995 } 4996 else { 4997 return ONIGERR_UNDEFINED_GROUP_OPTION; 4998 } 4999 break; 4935 5000 4936 5001 #ifdef USE_NAMED_GROUP … … 4943 5008 break; 4944 5009 4945 # ifdef USE_CAPITAL_P_NAMED_GROUP5010 # ifdef USE_CAPITAL_P_NAMED_GROUP 4946 5011 case 'P': /* (?P<name>...) */ 4947 if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_QMARK_CAPITAL_P_NAMED_GROUP)) { 5012 if (!PEND && 5013 IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_QMARK_CAPITAL_P_NAMED_GROUP)) { 4948 5014 PFETCH(c); 4949 5015 if (c == '<') goto named_group1; … … 4951 5017 return ONIGERR_UNDEFINED_GROUP_OPTION; 4952 5018 break; 5019 # endif 4953 5020 #endif 4954 #endif4955 5021 4956 5022 case '<': /* look behind (?<=...), (?<!...) */ 5023 if (PEND) return ONIGERR_END_PATTERN_WITH_UNMATCHED_PARENTHESIS; 4957 5024 PFETCH(c); 4958 5025 if (c == '=') … … 4972 5039 list_capture = 0; 4973 5040 5041 # ifdef USE_CAPTURE_HISTORY 4974 5042 named_group2: 5043 # endif 4975 5044 name = p; 4976 5045 r = fetch_name((OnigCodePoint )c, &p, end, &name_end, env, &num, 0); … … 5002 5071 break; 5003 5072 5073 #ifdef USE_CAPTURE_HISTORY 5004 5074 case '@': 5005 5075 if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_ATMARK_CAPTURE_HISTORY)) { 5006 #ifdef USE_NAMED_GROUP 5007 if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_QMARK_LT_NAMED_GROUP)) { 5076 # ifdef USE_NAMED_GROUP 5077 if (!PEND && 5078 IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_QMARK_LT_NAMED_GROUP)) { 5008 5079 PFETCH(c); 5009 5080 if (c == '<' || c == '\'') { … … 5013 5084 PUNFETCH; 5014 5085 } 5015 # endif5086 # endif 5016 5087 *np = node_new_enclose_memory(env->option, 0); 5017 5088 CHECK_NULL_RETURN_MEMERR(*np); … … 5028 5099 } 5029 5100 break; 5101 #endif /* USE_CAPTURE_HISTORY */ 5030 5102 5031 5103 case '(': /* conditional expression: (?(cond)yes), (?(cond)yes|no) */ 5032 if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_QMARK_LPAREN_CONDITION)) { 5104 if (!PEND && 5105 IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_QMARK_LPAREN_CONDITION)) { 5033 5106 UChar *name = NULL; 5034 5107 UChar *name_end; … … 5048 5121 if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_STRICT_CHECK_BACKREF)) { 5049 5122 if (num > env->num_mem || 5050 5123 IS_NULL(SCANENV_MEM_NODES(env)[num])) 5051 5124 return ONIGERR_INVALID_BACKREF; 5052 5125 } … … 5054 5127 #ifdef USE_NAMED_GROUP 5055 5128 else if (c == '<' || c == '\'') { /* (<name>), ('name') */ 5056 int nums;5057 int *backs;5058 5059 5129 name = p; 5060 r = fetch_name ((OnigCodePoint )c, &p, end, &name_end, env, &num, 0);5130 r = fetch_named_backref_token(c, tok, &p, end, env); 5061 5131 if (r < 0) return r; 5062 PFETCH(c); 5063 if (c != ')') return ONIGERR_UNDEFINED_GROUP_OPTION; 5064 5065 nums = onig_name_to_group_numbers(env->reg, name, name_end, &backs); 5066 if (nums <= 0) { 5067 onig_scan_env_set_error_string(env, 5068 ONIGERR_UNDEFINED_NAME_REFERENCE, name, name_end); 5069 return ONIGERR_UNDEFINED_NAME_REFERENCE; 5132 if (!PPEEK_IS(')')) return ONIGERR_UNDEFINED_GROUP_OPTION; 5133 PINC; 5134 5135 if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_USE_LEFT_MOST_NAMED_GROUP)) { 5136 num = tok->u.backref.ref1; 5070 5137 } 5071 if (IS_SYNTAX_BV(env->syntax, ONIG_SYN_STRICT_CHECK_BACKREF)){5072 int i;5073 for (i = 0; i < nums; i++) {5074 if (backs[i] > env->num_mem ||5075 IS_NULL(SCANENV_MEM_NODES(env)[backs[i]]))5076 return ONIGERR_INVALID_BACKREF;5077 }5138 else { 5139 /* FIXME: 5140 * Use left most named group for now. This is the same as Perl. 5141 * However this should use the same strategy as normal back- 5142 * references on Ruby syntax; search right to left. */ 5143 int len = tok->u.backref.num; 5144 num = len > 1 ? tok->u.backref.refs[0] : tok->u.backref.ref1; 5078 5145 } 5079 num = backs[0]; /* XXX: use left most named group as Perl */5080 5146 } 5081 5147 #endif … … 5102 5168 5103 5169 case '^': /* loads default options */ 5104 if ( IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_PERL)) {5170 if (!PEND && IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_PERL)) { 5105 5171 /* d-imsx */ 5106 5172 ONOFF(option, ONIG_OPTION_ASCII_RANGE, 1); … … 5112 5178 } 5113 5179 #if 0 5114 else if ( IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_RUBY)) {5180 else if (!PEND && IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_RUBY)) { 5115 5181 /* d-imx */ 5116 5182 ONOFF(option, ONIG_OPTION_ASCII_RANGE, 0); … … 5170 5236 case 'a': /* limits \d, \s, \w and POSIX brackets to ASCII range */ 5171 5237 if ((IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_PERL) || 5172 5173 5238 IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_RUBY)) && 5239 (neg == 0)) { 5174 5240 ONOFF(option, ONIG_OPTION_ASCII_RANGE, 0); 5175 5241 ONOFF(option, ONIG_OPTION_POSIX_BRACKET_ALL_RANGE, 1); … … 5182 5248 case 'u': 5183 5249 if ((IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_PERL) || 5184 5185 5250 IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_RUBY)) && 5251 (neg == 0)) { 5186 5252 ONOFF(option, ONIG_OPTION_ASCII_RANGE, 1); 5187 5253 ONOFF(option, ONIG_OPTION_POSIX_BRACKET_ALL_RANGE, 1); … … 5194 5260 case 'd': 5195 5261 if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_PERL) && 5196 5262 (neg == 0)) { 5197 5263 ONOFF(option, ONIG_OPTION_ASCII_RANGE, 1); 5198 5264 } 5199 5265 else if (IS_SYNTAX_OP2(env->syntax, ONIG_SYN_OP2_OPTION_RUBY) && 5200 5266 (neg == 0)) { 5201 5267 ONOFF(option, ONIG_OPTION_ASCII_RANGE, 0); 5202 5268 ONOFF(option, ONIG_OPTION_POSIX_BRACKET_ALL_RANGE, 0); … … 5228 5294 OnigOptionType prev = env->option; 5229 5295 5230 env->option 5296 env->option = option; 5231 5297 r = fetch_token(tok, &p, end, env); 5232 if (r < 0) return r; 5298 if (r < 0) { 5299 env->option = prev; 5300 return r; 5301 } 5233 5302 r = parse_subexp(&target, tok, term, &p, end, env); 5234 5303 env->option = prev; … … 5345 5414 5346 5415 #ifdef USE_WARNING_REDUNDANT_NESTED_REPEAT_OPERATOR 5347 if ( !IS_QUANTIFIER_BY_NUMBER(qn) && !IS_QUANTIFIER_BY_NUMBER(qnt)&&5416 if (nestq_num >= 0 && targetq_num >= 0 && 5348 5417 IS_SYNTAX_BV(env->syntax, ONIG_SYN_WARN_REDUNDANT_NESTED_REPEAT)) { 5349 UChar buf[WARN_BUFSIZE]; 5350 5351 switch (ReduceTypeTable[targetq_num][nestq_num]) { 5352 case RQ_ASIS: 5353 break; 5354 5355 case RQ_DEL: 5356 if (onig_verb_warn != onig_null_warn) { 5357 onig_snprintf_with_pattern(buf, WARN_BUFSIZE, env->enc, 5358 env->pattern, env->pattern_end, 5359 (UChar* )"redundant nested repeat operator"); 5360 (*onig_verb_warn)((char* )buf); 5361 } 5362 goto warn_exit; 5363 break; 5364 5365 default: 5366 if (onig_verb_warn != onig_null_warn) { 5367 onig_snprintf_with_pattern(buf, WARN_BUFSIZE, env->enc, 5368 env->pattern, env->pattern_end, 5369 (UChar* )"nested repeat operator %s and %s was replaced with '%s'", 5370 PopularQStr[targetq_num], PopularQStr[nestq_num], 5371 ReduceQStr[ReduceTypeTable[targetq_num][nestq_num]]); 5372 (*onig_verb_warn)((char* )buf); 5373 } 5374 goto warn_exit; 5375 break; 5376 } 5418 switch (ReduceTypeTable[targetq_num][nestq_num]) { 5419 case RQ_ASIS: 5420 break; 5421 5422 case RQ_DEL: 5423 if (onig_warn != onig_null_warn) { 5424 onig_syntax_warn(env, "regular expression has redundant nested repeat operator '%s'", 5425 PopularQStr[targetq_num]); 5426 } 5427 goto warn_exit; 5428 break; 5429 5430 default: 5431 if (onig_warn != onig_null_warn) { 5432 onig_syntax_warn(env, "nested repeat operator '%s' and '%s' was replaced with '%s' in regular expression", 5433 PopularQStr[targetq_num], PopularQStr[nestq_num], 5434 ReduceQStr[ReduceTypeTable[targetq_num][nestq_num]]); 5435 } 5436 goto warn_exit; 5437 break; 5438 } 5377 5439 } 5378 5440 … … 5402 5464 return 0; 5403 5465 } 5404 5405 5406 #ifdef USE_SHARED_CCLASS_TABLE5407 5408 #define THRESHOLD_RANGE_NUM_FOR_SHARE_CCLASS 85409 5410 /* for ctype node hash table */5411 5412 typedef struct {5413 OnigEncoding enc;5414 int not;5415 int type;5416 } type_cclass_key;5417 5418 static int type_cclass_cmp(type_cclass_key* x, type_cclass_key* y)5419 {5420 if (x->type != y->type) return 1;5421 if (x->enc != y->enc) return 1;5422 if (x->not != y->not) return 1;5423 return 0;5424 }5425 5426 static int type_cclass_hash(type_cclass_key* key)5427 {5428 int i, val;5429 UChar *p;5430 5431 val = 0;5432 5433 p = (UChar* )&(key->enc);5434 for (i = 0; i < (int )sizeof(key->enc); i++) {5435 val = val * 997 + (int )*p++;5436 }5437 5438 p = (UChar* )(&key->type);5439 for (i = 0; i < (int )sizeof(key->type); i++) {5440 val = val * 997 + (int )*p++;5441 }5442 5443 val += key->not;5444 return val + (val >> 5);5445 }5446 5447 static struct st_hash_type type_type_cclass_hash = {5448 type_cclass_cmp,5449 type_cclass_hash,5450 };5451 5452 static st_table* OnigTypeCClassTable;5453 5454 5455 static int5456 i_free_shared_class(type_cclass_key* key, Node* node, void* arg ARG_UNUSED)5457 {5458 if (IS_NOT_NULL(node)) {5459 CClassNode* cc = NCCLASS(node);5460 if (IS_NOT_NULL(cc->mbuf)) xfree(cc->mbuf);5461 xfree(node);5462 }5463 5464 if (IS_NOT_NULL(key)) xfree(key);5465 return ST_DELETE;5466 }5467 5468 extern int5469 onig_free_shared_cclass_table(void)5470 {5471 /* THREAD_ATOMIC_START; */5472 if (IS_NOT_NULL(OnigTypeCClassTable)) {5473 onig_st_foreach(OnigTypeCClassTable, i_free_shared_class, 0);5474 onig_st_free_table(OnigTypeCClassTable);5475 OnigTypeCClassTable = NULL;5476 }5477 /* THREAD_ATOMIC_END; */5478 5479 return 0;5480 }5481 5482 #endif /* USE_SHARED_CCLASS_TABLE */5483 5466 5484 5467 … … 5525 5508 CClassNode* asc_cc; 5526 5509 BitSetRef bs; 5527 int add_flag ;5510 int add_flag, r; 5528 5511 5529 5512 iarg = (IApplyCaseFoldArg* )arg; … … 5552 5535 if (add_flag) { 5553 5536 if (ONIGENC_MBC_MINLEN(env->enc) > 1 || *to >= SINGLE_BYTE_SIZE) { 5554 add_code_range(&(cc->mbuf), env, *to, *to); 5537 r = add_code_range0(&(cc->mbuf), env, *to, *to, 0); 5538 if (r < 0) return r; 5555 5539 } 5556 5540 else { … … 5564 5548 if (ONIGENC_MBC_MINLEN(env->enc) > 1 || *to >= SINGLE_BYTE_SIZE) { 5565 5549 if (IS_NCCLASS_NOT(cc)) clear_not_flag_cclass(cc, env->enc); 5566 add_code_range(&(cc->mbuf), env, *to, *to); 5550 r = add_code_range0(&(cc->mbuf), env, *to, *to, 0); 5551 if (r < 0) return r; 5567 5552 } 5568 5553 else { … … 5654 5639 Node* target2 = NULL; 5655 5640 CClassNode* cc; 5656 int num1, num2 ;5641 int num1, num2, r; 5657 5642 UChar buf[ONIGENC_CODE_TO_MBC_MAXLEN * 2]; 5658 5643 … … 5670 5655 cc = NCCLASS(right); 5671 5656 if (ONIGENC_MBC_MINLEN(env->enc) > 1) { 5672 add_code_range(&(cc->mbuf), env, 0x0A, 0x0D); 5657 r = add_code_range(&(cc->mbuf), env, 0x0A, 0x0D); 5658 if (r != 0) goto err; 5673 5659 } 5674 5660 else { 5675 bitset_set_range( cc->bs, 0x0A, 0x0D);5661 bitset_set_range(env, cc->bs, 0x0A, 0x0D); 5676 5662 } 5677 5663 … … 5679 5665 if (ONIGENC_IS_UNICODE(env->enc)) { 5680 5666 /* UTF-8, UTF-16BE/LE, UTF-32BE/LE */ 5681 add_code_range(&(cc->mbuf), env, 0x85, 0x85); 5682 add_code_range(&(cc->mbuf), env, 0x2028, 0x2029); 5667 r = add_code_range(&(cc->mbuf), env, 0x85, 0x85); 5668 if (r != 0) goto err; 5669 r = add_code_range(&(cc->mbuf), env, 0x2028, 0x2029); 5670 if (r != 0) goto err; 5683 5671 } 5684 5672 … … 5707 5695 5708 5696 static int 5697 propname2ctype(ScanEnv* env, const char* propname) 5698 { 5699 UChar* name = (UChar* )propname; 5700 int ctype = env->enc->property_name_to_ctype(ONIG_ENCODING_ASCII, 5701 name, name + strlen(propname)); 5702 return ctype; 5703 } 5704 5705 static int 5709 5706 node_extended_grapheme_cluster(Node** np, ScanEnv* env) 5710 5707 { 5711 /* same as (?>\P{M}\p{M}*) */5708 Node* tmp = NULL; 5712 5709 Node* np1 = NULL; 5713 Node* np2 = NULL; 5714 Node* qn = NULL; 5715 Node* list1 = NULL; 5710 Node* list = NULL; 5716 5711 Node* list2 = NULL; 5712 Node* alt = NULL; 5713 Node* alt2 = NULL; 5714 BBuf *pbuf1 = NULL; 5717 5715 int r = 0; 5716 int num1; 5717 UChar buf[ONIGENC_CODE_TO_MBC_MAXLEN * 2]; 5718 OnigOptionType option; 5718 5719 5719 5720 #ifdef USE_UNICODE_PROPERTIES 5720 5721 if (ONIGENC_IS_UNICODE(env->enc)) { 5721 5722 /* UTF-8, UTF-16BE/LE, UTF-32BE/LE */ 5722 CClassNode* cc1; 5723 CClassNode* cc2; 5724 UChar* propname = (UChar* )"M"; 5725 int ctype = env->enc->property_name_to_ctype(ONIG_ENCODING_ASCII, 5726 propname, propname + 1); 5727 if (ctype >= 0) { 5728 /* \P{M} */ 5729 np1 = node_new_cclass(); 5730 if (IS_NULL(np1)) goto err; 5731 cc1 = NCCLASS(np1); 5732 r = add_ctype_to_cc(cc1, ctype, 0, 0, env); 5723 CClassNode* cc; 5724 OnigCodePoint sb_out = (ONIGENC_MBC_MINLEN(env->enc) > 1) ? 0x00 : 0x80; 5725 int extend = propname2ctype(env, "Grapheme_Cluster_Break=Extend"); 5726 5727 /* Prepend* 5728 * ( RI-sequence | Hangul-Syllable | !Control ) 5729 * ( Grapheme_Extend | SpacingMark )* */ 5730 5731 /* ( Grapheme_Extend | SpacingMark )* */ 5732 np1 = node_new_cclass(); 5733 if (IS_NULL(np1)) goto err; 5734 cc = NCCLASS(np1); 5735 r = add_ctype_to_cc(cc, extend, 0, 0, env); 5736 if (r != 0) goto err; 5737 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=SpacingMark"), 0, 0, env); 5738 if (r != 0) goto err; 5739 r = add_code_range(&(cc->mbuf), env, 0x200D, 0x200D); 5740 if (r != 0) goto err; 5741 5742 tmp = node_new_quantifier(0, REPEAT_INFINITE, 0); 5743 if (IS_NULL(tmp)) goto err; 5744 NQTFR(tmp)->target = np1; 5745 np1 = tmp; 5746 5747 tmp = node_new_list(np1, NULL_NODE); 5748 if (IS_NULL(tmp)) goto err; 5749 list = tmp; 5750 np1 = NULL; 5751 5752 /* ( RI-sequence | Hangul-Syllable | !Control ) */ 5753 /* !Control */ 5754 np1 = node_new_cclass(); 5755 if (IS_NULL(np1)) goto err; 5756 cc = NCCLASS(np1); 5757 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=Control"), 1, 0, env); 5758 if (r != 0) goto err; 5759 if (ONIGENC_MBC_MINLEN(env->enc) > 1) { 5760 BBuf *pbuf2 = NULL; 5761 r = add_code_range(&pbuf1, env, 0x0a, 0x0a); 5733 5762 if (r != 0) goto err; 5734 NCCLASS_SET_NOT(cc1); 5735 5736 /* \p{M}* */ 5737 np2 = node_new_cclass(); 5738 if (IS_NULL(np2)) goto err; 5739 cc2 = NCCLASS(np2); 5740 r = add_ctype_to_cc(cc2, ctype, 0, 0, env); 5763 r = add_code_range(&pbuf1, env, 0x0d, 0x0d); 5741 5764 if (r != 0) goto err; 5742 5743 qn = node_new_quantifier(0, REPEAT_INFINITE, 0); 5744 if (IS_NULL(qn)) goto err; 5745 NQTFR(qn)->target = np2; 5746 np2 = NULL; 5747 5748 /* \P{M}\p{M}* */ 5749 list2 = node_new_list(qn, NULL_NODE); 5750 if (IS_NULL(list2)) goto err; 5751 qn = NULL; 5752 list1 = node_new_list(np1, list2); 5753 if (IS_NULL(list1)) goto err; 5754 np1 = NULL; 5755 list2 = NULL; 5756 5757 /* (?>...) */ 5758 *np = node_new_enclose(ENCLOSE_STOP_BACKTRACK); 5759 if (IS_NULL(*np)) goto err; 5760 NENCLOSE(*np)->target = list1; 5761 return ONIG_NORMAL; 5762 } 5763 } 5764 #endif /* USE_UNICODE_PROPERTIES */ 5765 if (IS_NULL(*np)) { 5765 r = and_code_range_buf(cc->mbuf, 0, pbuf1, 1, &pbuf2, env); 5766 if (r != 0) { 5767 bbuf_free(pbuf2); 5768 goto err; 5769 } 5770 bbuf_free(pbuf1); 5771 pbuf1 = NULL; 5772 bbuf_free(cc->mbuf); 5773 cc->mbuf = pbuf2; 5774 } 5775 else { 5776 BITSET_CLEAR_BIT(cc->bs, 0x0a); 5777 BITSET_CLEAR_BIT(cc->bs, 0x0d); 5778 } 5779 5780 tmp = onig_node_new_alt(np1, NULL_NODE); 5781 if (IS_NULL(tmp)) goto err; 5782 alt = tmp; 5783 np1 = NULL; 5784 5785 /* Hangul-Syllable 5786 * := L* V+ T* 5787 * | L* LV V* T* 5788 * | L* LVT T* 5789 * | L+ 5790 * | T+ */ 5791 5792 /* T+ */ 5793 np1 = node_new_cclass(); 5794 if (IS_NULL(np1)) goto err; 5795 cc = NCCLASS(np1); 5796 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=T"), 0, 0, env); 5797 if (r != 0) goto err; 5798 5799 tmp = node_new_quantifier(1, REPEAT_INFINITE, 0); 5800 if (IS_NULL(tmp)) goto err; 5801 NQTFR(tmp)->target = np1; 5802 np1 = tmp; 5803 5804 tmp = onig_node_new_alt(np1, alt); 5805 if (IS_NULL(tmp)) goto err; 5806 alt = tmp; 5807 np1 = NULL; 5808 5809 /* L+ */ 5810 np1 = node_new_cclass(); 5811 if (IS_NULL(np1)) goto err; 5812 cc = NCCLASS(np1); 5813 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=L"), 0, 0, env); 5814 if (r != 0) goto err; 5815 5816 tmp = node_new_quantifier(1, REPEAT_INFINITE, 0); 5817 if (IS_NULL(tmp)) goto err; 5818 NQTFR(tmp)->target = np1; 5819 np1 = tmp; 5820 5821 tmp = onig_node_new_alt(np1, alt); 5822 if (IS_NULL(tmp)) goto err; 5823 alt = tmp; 5824 np1 = NULL; 5825 5826 /* L* LVT T* */ 5827 np1 = node_new_cclass(); 5828 if (IS_NULL(np1)) goto err; 5829 cc = NCCLASS(np1); 5830 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=T"), 0, 0, env); 5831 if (r != 0) goto err; 5832 5833 tmp = node_new_quantifier(0, REPEAT_INFINITE, 0); 5834 if (IS_NULL(tmp)) goto err; 5835 NQTFR(tmp)->target = np1; 5836 np1 = tmp; 5837 5838 tmp = node_new_list(np1, NULL_NODE); 5839 if (IS_NULL(tmp)) goto err; 5840 list2 = tmp; 5841 np1 = NULL; 5842 5843 np1 = node_new_cclass(); 5844 if (IS_NULL(np1)) goto err; 5845 cc = NCCLASS(np1); 5846 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=LVT"), 0, 0, env); 5847 if (r != 0) goto err; 5848 5849 tmp = node_new_list(np1, list2); 5850 if (IS_NULL(tmp)) goto err; 5851 list2 = tmp; 5852 np1 = NULL; 5853 5854 np1 = node_new_cclass(); 5855 if (IS_NULL(np1)) goto err; 5856 cc = NCCLASS(np1); 5857 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=L"), 0, 0, env); 5858 if (r != 0) goto err; 5859 5860 tmp = node_new_quantifier(0, REPEAT_INFINITE, 0); 5861 if (IS_NULL(tmp)) goto err; 5862 NQTFR(tmp)->target = np1; 5863 np1 = tmp; 5864 5865 tmp = node_new_list(np1, list2); 5866 if (IS_NULL(tmp)) goto err; 5867 list2 = tmp; 5868 np1 = NULL; 5869 5870 tmp = onig_node_new_alt(list2, alt); 5871 if (IS_NULL(tmp)) goto err; 5872 alt = tmp; 5873 list2 = NULL; 5874 5875 /* L* LV V* T* */ 5876 np1 = node_new_cclass(); 5877 if (IS_NULL(np1)) goto err; 5878 cc = NCCLASS(np1); 5879 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=T"), 0, 0, env); 5880 if (r != 0) goto err; 5881 5882 tmp = node_new_quantifier(0, REPEAT_INFINITE, 0); 5883 if (IS_NULL(tmp)) goto err; 5884 NQTFR(tmp)->target = np1; 5885 np1 = tmp; 5886 5887 tmp = node_new_list(np1, NULL_NODE); 5888 if (IS_NULL(tmp)) goto err; 5889 list2 = tmp; 5890 np1 = NULL; 5891 5892 np1 = node_new_cclass(); 5893 if (IS_NULL(np1)) goto err; 5894 cc = NCCLASS(np1); 5895 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=V"), 0, 0, env); 5896 if (r != 0) goto err; 5897 5898 tmp = node_new_quantifier(0, REPEAT_INFINITE, 0); 5899 if (IS_NULL(tmp)) goto err; 5900 NQTFR(tmp)->target = np1; 5901 np1 = tmp; 5902 5903 tmp = node_new_list(np1, list2); 5904 if (IS_NULL(tmp)) goto err; 5905 list2 = tmp; 5906 np1 = NULL; 5907 5908 np1 = node_new_cclass(); 5909 if (IS_NULL(np1)) goto err; 5910 cc = NCCLASS(np1); 5911 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=LV"), 0, 0, env); 5912 if (r != 0) goto err; 5913 5914 tmp = node_new_list(np1, list2); 5915 if (IS_NULL(tmp)) goto err; 5916 list2 = tmp; 5917 np1 = NULL; 5918 5919 np1 = node_new_cclass(); 5920 if (IS_NULL(np1)) goto err; 5921 cc = NCCLASS(np1); 5922 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=L"), 0, 0, env); 5923 if (r != 0) goto err; 5924 5925 tmp = node_new_quantifier(0, REPEAT_INFINITE, 0); 5926 if (IS_NULL(tmp)) goto err; 5927 NQTFR(tmp)->target = np1; 5928 np1 = tmp; 5929 5930 tmp = node_new_list(np1, list2); 5931 if (IS_NULL(tmp)) goto err; 5932 list2 = tmp; 5933 np1 = NULL; 5934 5935 tmp = onig_node_new_alt(list2, alt); 5936 if (IS_NULL(tmp)) goto err; 5937 alt = tmp; 5938 list2 = NULL; 5939 5940 /* L* V+ T* */ 5941 np1 = node_new_cclass(); 5942 if (IS_NULL(np1)) goto err; 5943 cc = NCCLASS(np1); 5944 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=T"), 0, 0, env); 5945 if (r != 0) goto err; 5946 5947 tmp = node_new_quantifier(0, REPEAT_INFINITE, 0); 5948 if (IS_NULL(tmp)) goto err; 5949 NQTFR(tmp)->target = np1; 5950 np1 = tmp; 5951 5952 tmp = node_new_list(np1, NULL_NODE); 5953 if (IS_NULL(tmp)) goto err; 5954 list2 = tmp; 5955 np1 = NULL; 5956 5957 np1 = node_new_cclass(); 5958 if (IS_NULL(np1)) goto err; 5959 cc = NCCLASS(np1); 5960 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=V"), 0, 0, env); 5961 if (r != 0) goto err; 5962 5963 tmp = node_new_quantifier(1, REPEAT_INFINITE, 0); 5964 if (IS_NULL(tmp)) goto err; 5965 NQTFR(tmp)->target = np1; 5966 np1 = tmp; 5967 5968 tmp = node_new_list(np1, list2); 5969 if (IS_NULL(tmp)) goto err; 5970 list2 = tmp; 5971 np1 = NULL; 5972 5973 np1 = node_new_cclass(); 5974 if (IS_NULL(np1)) goto err; 5975 cc = NCCLASS(np1); 5976 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=L"), 0, 0, env); 5977 if (r != 0) goto err; 5978 5979 tmp = node_new_quantifier(0, REPEAT_INFINITE, 0); 5980 if (IS_NULL(tmp)) goto err; 5981 NQTFR(tmp)->target = np1; 5982 np1 = tmp; 5983 5984 tmp = node_new_list(np1, list2); 5985 if (IS_NULL(tmp)) goto err; 5986 list2 = tmp; 5987 np1 = NULL; 5988 5989 tmp = onig_node_new_alt(list2, alt); 5990 if (IS_NULL(tmp)) goto err; 5991 alt = tmp; 5992 list2 = NULL; 5993 5994 /* Emoji sequence := (E_Base | EBG) Extend* E_Modifier? 5995 * (ZWJ (Glue_After_Zwj | EBG Extend* E_Modifier?) )* */ 5996 5997 /* ZWJ (Glue_After_Zwj | E_Base_GAZ Extend* E_Modifier?) */ 5998 np1 = node_new_cclass(); 5999 if (IS_NULL(np1)) goto err; 6000 cc = NCCLASS(np1); 6001 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=E_Modifier"), 0, 0, env); 6002 if (r != 0) goto err; 6003 6004 tmp = node_new_quantifier(0, 1, 0); 6005 if (IS_NULL(tmp)) goto err; 6006 NQTFR(tmp)->target = np1; 6007 np1 = tmp; 6008 6009 tmp = node_new_list(np1, NULL_NODE); 6010 if (IS_NULL(tmp)) goto err; 6011 list2 = tmp; 6012 np1 = NULL; 6013 6014 np1 = node_new_cclass(); 6015 if (IS_NULL(np1)) goto err; 6016 cc = NCCLASS(np1); 6017 r = add_ctype_to_cc(cc, extend, 0, 0, env); 6018 if (r != 0) goto err; 6019 6020 tmp = node_new_quantifier(0, REPEAT_INFINITE, 0); 6021 if (IS_NULL(tmp)) goto err; 6022 NQTFR(tmp)->target = np1; 6023 np1 = tmp; 6024 6025 tmp = node_new_list(np1, list2); 6026 if (IS_NULL(tmp)) goto err; 6027 list2 = tmp; 6028 np1 = NULL; 6029 6030 np1 = node_new_cclass(); 6031 if (IS_NULL(np1)) goto err; 6032 cc = NCCLASS(np1); 6033 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=E_Base_GAZ"), 0, 0, env); 6034 if (r != 0) goto err; 6035 6036 tmp = node_new_list(np1, list2); 6037 if (IS_NULL(tmp)) goto err; 6038 list2 = tmp; 6039 np1 = NULL; 6040 6041 tmp = onig_node_new_alt(list2, NULL_NODE); 6042 if (IS_NULL(tmp)) goto err; 6043 alt2 = tmp; 6044 list2 = NULL; 6045 6046 /* Glue_After_Zwj */ 6047 np1 = node_new_cclass(); 6048 if (IS_NULL(np1)) goto err; 6049 cc = NCCLASS(np1); 6050 r = add_ctype_to_cc(cc, extend, 0, 0, env); 6051 if (r != 0) goto err; 6052 6053 tmp = node_new_quantifier(0, REPEAT_INFINITE, 0); 6054 if (IS_NULL(tmp)) goto err; 6055 NQTFR(tmp)->target = np1; 6056 np1 = tmp; 6057 6058 tmp = node_new_list(np1, NULL_NODE); 6059 if (IS_NULL(tmp)) goto err; 6060 list2 = tmp; 6061 np1 = NULL; 6062 6063 np1 = node_new_cclass(); 6064 if (IS_NULL(np1)) goto err; 6065 cc = NCCLASS(np1); 6066 { 6067 static const OnigCodePoint ranges[] = { 6068 13, 6069 0x1F308, 0x1F308, 6070 0x1F33E, 0x1F33E, 6071 0x1F373, 0x1F373, 6072 0x1F393, 0x1F393, 6073 0x1F3A4, 0x1F3A4, 6074 0x1F3A8, 0x1F3A8, 6075 0x1F3EB, 0x1F3EB, 6076 0x1F3ED, 0x1F3ED, 6077 0x1F4BB, 0x1F4BC, 6078 0x1F527, 0x1F527, 6079 0x1F52C, 0x1F52C, 6080 0x1F680, 0x1F680, 6081 0x1F692, 0x1F692, 6082 }; 6083 r = add_ctype_to_cc_by_range(cc, -1, 0, env, sb_out, ranges); 6084 if (r != 0) goto err; 6085 } 6086 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=Glue_After_Zwj"), 0, 0, env); 6087 if (r != 0) goto err; 6088 6089 tmp = node_new_list(np1, list2); 6090 if (IS_NULL(tmp)) goto err; 6091 list2 = tmp; 6092 np1 = NULL; 6093 6094 tmp = onig_node_new_alt(list2, alt2); 6095 if (IS_NULL(tmp)) goto err; 6096 alt2 = tmp; 6097 list2 = NULL; 6098 6099 /* Emoji variation sequence 6100 * http://unicode.org/Public/emoji/4.0/emoji-zwj-sequences.txt 6101 */ 6102 r = ONIGENC_CODE_TO_MBC(env->enc, 0xfe0f, buf); 6103 if (r < 0) goto err; 6104 np1 = node_new_str_raw(buf, buf + r); 6105 if (IS_NULL(np1)) goto err; 6106 6107 tmp = node_new_quantifier(0, 1, 0); 6108 if (IS_NULL(tmp)) goto err; 6109 NQTFR(tmp)->target = np1; 6110 np1 = tmp; 6111 6112 tmp = node_new_list(np1, NULL_NODE); 6113 if (IS_NULL(tmp)) goto err; 6114 list2 = tmp; 6115 np1 = NULL; 6116 6117 np1 = node_new_cclass(); 6118 if (IS_NULL(np1)) goto err; 6119 cc = NCCLASS(np1); 6120 { 6121 static const OnigCodePoint ranges[] = { 6122 4, 6123 0x2640, 0x2640, 6124 0x2642, 0x2642, 6125 0x2695, 0x2696, 6126 0x2708, 0x2708, 6127 }; 6128 r = add_ctype_to_cc_by_range(cc, -1, 0, env, sb_out, ranges); 6129 if (r != 0) goto err; 6130 } 6131 6132 tmp = node_new_list(np1, list2); 6133 if (IS_NULL(tmp)) goto err; 6134 list2 = tmp; 6135 np1 = NULL; 6136 6137 tmp = onig_node_new_alt(list2, alt2); 6138 if (IS_NULL(tmp)) goto err; 6139 alt2 = tmp; 6140 list2 = NULL; 6141 6142 tmp = node_new_list(alt2, NULL_NODE); 6143 if (IS_NULL(tmp)) goto err; 6144 list2 = tmp; 6145 alt2 = NULL; 6146 6147 /* ZWJ */ 6148 r = ONIGENC_CODE_TO_MBC(env->enc, 0x200D, buf); 6149 if (r < 0) goto err; 6150 np1 = node_new_str_raw(buf, buf + r); 6151 if (IS_NULL(np1)) goto err; 6152 6153 tmp = node_new_list(np1, list2); 6154 if (IS_NULL(tmp)) goto err; 6155 list2 = tmp; 6156 np1 = NULL; 6157 6158 tmp = node_new_quantifier(0, REPEAT_INFINITE, 0); 6159 if (IS_NULL(tmp)) goto err; 6160 NQTFR(tmp)->target = list2; 6161 np1 = tmp; 6162 list2 = NULL; 6163 6164 tmp = node_new_list(np1, NULL_NODE); 6165 if (IS_NULL(tmp)) goto err; 6166 list2 = tmp; 6167 np1 = NULL; 6168 6169 /* E_Modifier? */ 6170 np1 = node_new_cclass(); 6171 if (IS_NULL(np1)) goto err; 6172 cc = NCCLASS(np1); 6173 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=E_Modifier"), 0, 0, env); 6174 if (r != 0) goto err; 6175 6176 tmp = node_new_quantifier(0, 1, 0); 6177 if (IS_NULL(tmp)) goto err; 6178 NQTFR(tmp)->target = np1; 6179 np1 = tmp; 6180 6181 tmp = node_new_list(np1, list2); 6182 if (IS_NULL(tmp)) goto err; 6183 list2 = tmp; 6184 np1 = NULL; 6185 6186 /* Extend* */ 6187 np1 = node_new_cclass(); 6188 if (IS_NULL(np1)) goto err; 6189 cc = NCCLASS(np1); 6190 r = add_ctype_to_cc(cc, extend, 0, 0, env); 6191 if (r != 0) goto err; 6192 6193 tmp = node_new_quantifier(0, REPEAT_INFINITE, 0); 6194 if (IS_NULL(tmp)) goto err; 6195 NQTFR(tmp)->target = np1; 6196 np1 = tmp; 6197 6198 tmp = node_new_list(np1, list2); 6199 if (IS_NULL(tmp)) goto err; 6200 list2 = tmp; 6201 np1 = NULL; 6202 6203 /* (E_Base | EBG) */ 6204 np1 = node_new_cclass(); 6205 if (IS_NULL(np1)) goto err; 6206 cc = NCCLASS(np1); 6207 { 6208 static const OnigCodePoint ranges[] = { 6209 8, 6210 0x1F3C2, 0x1F3C2, 6211 0x1F3C7, 0x1F3C7, 6212 0x1F3CC, 0x1F3CC, 6213 0x1F3F3, 0x1F3F3, 6214 0x1F441, 0x1F441, 6215 0x1F46F, 0x1F46F, 6216 0x1F574, 0x1F574, 6217 0x1F6CC, 0x1F6CC, 6218 }; 6219 r = add_ctype_to_cc_by_range(cc, -1, 0, env, sb_out, ranges); 6220 if (r != 0) goto err; 6221 } 6222 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=E_Base"), 0, 0, env); 6223 if (r != 0) goto err; 6224 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=E_Base_GAZ"), 0, 0, env); 6225 if (r != 0) goto err; 6226 6227 tmp = node_new_list(np1, list2); 6228 if (IS_NULL(tmp)) goto err; 6229 list2 = tmp; 6230 np1 = NULL; 6231 6232 tmp = onig_node_new_alt(list2, alt); 6233 if (IS_NULL(tmp)) goto err; 6234 alt = tmp; 6235 list2 = NULL; 6236 6237 /* ZWJ (E_Base_GAZ | Glue_After_Zwj) E_Modifier? */ 6238 /* a sequence starting with ZWJ seems artificial, but GraphemeBreakTest 6239 * has such examples. 6240 * http://www.unicode.org/Public/9.0.0/ucd/auxiliary/GraphemeBreakTest.html 6241 */ 6242 np1 = node_new_cclass(); 6243 if (IS_NULL(np1)) goto err; 6244 cc = NCCLASS(np1); 6245 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=E_Modifier"), 0, 0, env); 6246 if (r != 0) goto err; 6247 6248 tmp = node_new_quantifier(0, 1, 0); 6249 if (IS_NULL(tmp)) goto err; 6250 NQTFR(tmp)->target = np1; 6251 np1 = tmp; 6252 6253 tmp = node_new_list(np1, NULL_NODE); 6254 if (IS_NULL(tmp)) goto err; 6255 list2 = tmp; 6256 np1 = NULL; 6257 6258 np1 = node_new_cclass(); 6259 if (IS_NULL(np1)) goto err; 6260 cc = NCCLASS(np1); 6261 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=Glue_After_Zwj"), 0, 0, env); 6262 if (r != 0) goto err; 6263 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=E_Base_GAZ"), 0, 0, env); 6264 if (r != 0) goto err; 6265 6266 tmp = node_new_list(np1, list2); 6267 if (IS_NULL(tmp)) goto err; 6268 list2 = tmp; 6269 np1 = NULL; 6270 6271 r = ONIGENC_CODE_TO_MBC(env->enc, 0x200D, buf); 6272 if (r < 0) goto err; 6273 np1 = node_new_str_raw(buf, buf + r); 6274 if (IS_NULL(np1)) goto err; 6275 6276 tmp = node_new_list(np1, list2); 6277 if (IS_NULL(tmp)) goto err; 6278 list2 = tmp; 6279 np1 = NULL; 6280 6281 tmp = onig_node_new_alt(list2, alt); 6282 if (IS_NULL(tmp)) goto err; 6283 alt = tmp; 6284 list2 = NULL; 6285 6286 /* RI-Sequence := Regional_Indicator{2} */ 6287 np1 = node_new_cclass(); 6288 if (IS_NULL(np1)) goto err; 6289 cc = NCCLASS(np1); 6290 r = add_code_range(&(cc->mbuf), env, 0x1F1E6, 0x1F1FF); 6291 if (r != 0) goto err; 6292 6293 tmp = node_new_quantifier(2, 2, 0); 6294 if (IS_NULL(tmp)) goto err; 6295 NQTFR(tmp)->target = np1; 6296 np1 = tmp; 6297 6298 tmp = node_new_list(np1, list2); 6299 if (IS_NULL(tmp)) goto err; 6300 list2 = tmp; 6301 np1 = NULL; 6302 6303 tmp = onig_node_new_alt(list2, alt); 6304 if (IS_NULL(tmp)) goto err; 6305 alt = tmp; 6306 list2 = NULL; 6307 6308 tmp = node_new_list(alt, list); 6309 if (IS_NULL(tmp)) goto err; 6310 list = tmp; 6311 alt = NULL; 6312 6313 /* Prepend* */ 6314 np1 = node_new_cclass(); 6315 if (IS_NULL(np1)) goto err; 6316 cc = NCCLASS(np1); 6317 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=Prepend"), 0, 0, env); 6318 if (r != 0) goto err; 6319 6320 tmp = node_new_quantifier(0, REPEAT_INFINITE, 0); 6321 if (IS_NULL(tmp)) goto err; 6322 NQTFR(tmp)->target = np1; 6323 np1 = tmp; 6324 6325 tmp = node_new_list(np1, list); 6326 if (IS_NULL(tmp)) goto err; 6327 list = tmp; 6328 np1 = NULL; 6329 5766 6330 /* PerlSyntax: (?s:.), RubySyntax: (?m:.) */ 5767 OnigOptionType option;5768 6331 np1 = node_new_anychar(); 5769 6332 if (IS_NULL(np1)) goto err; … … 5771 6334 option = env->option; 5772 6335 ONOFF(option, ONIG_OPTION_MULTILINE, 0); 6336 tmp = node_new_option(option); 6337 if (IS_NULL(tmp)) goto err; 6338 NENCLOSE(tmp)->target = np1; 6339 np1 = tmp; 6340 6341 tmp = onig_node_new_alt(np1, NULL_NODE); 6342 if (IS_NULL(tmp)) goto err; 6343 alt = tmp; 6344 np1 = NULL; 6345 6346 /* Prepend+ */ 6347 r = ONIGENC_CODE_TO_MBC(env->enc, 0x200D, buf); 6348 if (r < 0) goto err; 6349 np1 = node_new_str_raw(buf, buf + r); 6350 if (IS_NULL(np1)) goto err; 6351 6352 tmp = node_new_quantifier(0, 1, 0); 6353 if (IS_NULL(tmp)) goto err; 6354 NQTFR(tmp)->target = np1; 6355 np1 = tmp; 6356 6357 tmp = node_new_list(np1, NULL_NODE); 6358 if (IS_NULL(tmp)) goto err; 6359 list2 = tmp; 6360 np1 = NULL; 6361 6362 np1 = node_new_cclass(); 6363 if (IS_NULL(np1)) goto err; 6364 cc = NCCLASS(np1); 6365 r = add_ctype_to_cc(cc, propname2ctype(env, "Grapheme_Cluster_Break=Prepend"), 0, 0, env); 6366 if (r != 0) goto err; 6367 6368 tmp = node_new_quantifier(1, REPEAT_INFINITE, 0); 6369 if (IS_NULL(tmp)) goto err; 6370 NQTFR(tmp)->target = np1; 6371 np1 = tmp; 6372 6373 tmp = node_new_list(np1, list2); 6374 if (IS_NULL(tmp)) goto err; 6375 list2 = tmp; 6376 np1 = NULL; 6377 6378 tmp = onig_node_new_alt(list2, alt); 6379 if (IS_NULL(tmp)) goto err; 6380 alt = tmp; 6381 list2 = NULL; 6382 6383 tmp = onig_node_new_alt(list, alt); 6384 if (IS_NULL(tmp)) goto err; 6385 alt = tmp; 6386 list = NULL; 6387 } 6388 else 6389 #endif /* USE_UNICODE_PROPERTIES */ 6390 { 6391 /* PerlSyntax: (?s:.), RubySyntax: (?m:.) */ 6392 np1 = node_new_anychar(); 6393 if (IS_NULL(np1)) goto err; 6394 6395 option = env->option; 6396 ONOFF(option, ONIG_OPTION_MULTILINE, 0); 6397 tmp = node_new_option(option); 6398 if (IS_NULL(tmp)) goto err; 6399 NENCLOSE(tmp)->target = np1; 6400 np1 = tmp; 6401 6402 alt = onig_node_new_alt(np1, NULL_NODE); 6403 if (IS_NULL(alt)) goto err; 6404 np1 = NULL; 6405 } 6406 6407 /* \x0D\x0A */ 6408 r = ONIGENC_CODE_TO_MBC(env->enc, 0x0D, buf); 6409 if (r < 0) goto err; 6410 num1 = r; 6411 r = ONIGENC_CODE_TO_MBC(env->enc, 0x0A, buf + num1); 6412 if (r < 0) goto err; 6413 np1 = node_new_str_raw(buf, buf + num1 + r); 6414 if (IS_NULL(np1)) goto err; 6415 6416 tmp = onig_node_new_alt(np1, alt); 6417 if (IS_NULL(tmp)) goto err; 6418 alt = tmp; 6419 np1 = NULL; 6420 6421 /* (?>\x0D\x0A|...) */ 6422 tmp = node_new_enclose(ENCLOSE_STOP_BACKTRACK); 6423 if (IS_NULL(tmp)) goto err; 6424 NENCLOSE(tmp)->target = alt; 6425 np1 = tmp; 6426 6427 #ifdef USE_UNICODE_PROPERTIES 6428 if (ONIGENC_IS_UNICODE(env->enc)) { 6429 /* Don't ignore case. */ 6430 option = env->option; 6431 ONOFF(option, ONIG_OPTION_IGNORECASE, 1); 5773 6432 *np = node_new_option(option); 5774 6433 if (IS_NULL(*np)) goto err; 5775 6434 NENCLOSE(*np)->target = np1; 5776 6435 } 6436 else 6437 #endif 6438 { 6439 *np = np1; 6440 } 5777 6441 return ONIG_NORMAL; 5778 6442 5779 6443 err: 5780 6444 onig_node_free(np1); 5781 onig_node_free(np2); 5782 onig_node_free(qn); 5783 onig_node_free(list1); 6445 onig_node_free(list); 5784 6446 onig_node_free(list2); 6447 onig_node_free(alt); 6448 onig_node_free(alt2); 6449 bbuf_free(pbuf1); 5785 6450 return (r == 0) ? ONIGERR_MEMORY : r; 5786 6451 } … … 5815 6480 c = data[0]; 5816 6481 if (((c < SINGLE_BYTE_SIZE) && BITSET_AT(cc->bs, c))) { 5817 6482 /* skip if c is included in the bitset */ 5818 6483 c = not_found; 5819 6484 } … … 5829 6494 if (b1 != 0) { 5830 6495 if (((b1 & (b1 - 1)) == 0) && (c == not_found)) { 5831 6496 c = BITS_IN_ROOM * i + countbits(b1 - 1); 5832 6497 } else { 5833 6498 return 0; /* the character class contains multiple chars */ 5834 6499 } 5835 6500 } … … 5876 6541 env->option = NENCLOSE(*np)->option; 5877 6542 r = fetch_token(tok, src, end, env); 5878 if (r < 0) return r; 6543 if (r < 0) { 6544 env->option = prev; 6545 return r; 6546 } 5879 6547 r = parse_subexp(&target, tok, term, src, end, env); 5880 6548 env->option = prev; … … 5949 6617 while (1) { 5950 6618 if (len >= ONIGENC_MBC_MINLEN(env->enc)) { 5951 if (len == enclen(env->enc, NSTR(*np)->s )) {6619 if (len == enclen(env->enc, NSTR(*np)->s, NSTR(*np)->end)) { 5952 6620 r = fetch_token(tok, src, end, env); 5953 6621 NSTRING_CLEAR_RAW(*np); … … 6029 6697 CClassNode* cc; 6030 6698 6031 #ifdef USE_SHARED_CCLASS_TABLE 6032 const OnigCodePoint *mbr; 6033 OnigCodePoint sb_out; 6034 6035 r = ONIGENC_GET_CTYPE_CODE_RANGE(env->enc, tok->u.prop.ctype, 6036 &sb_out, &mbr); 6037 if (r == 0 && 6038 ! IS_ASCII_RANGE(env->option) && 6039 ONIGENC_CODE_RANGE_NUM(mbr) 6040 >= THRESHOLD_RANGE_NUM_FOR_SHARE_CCLASS) { 6041 type_cclass_key key; 6042 type_cclass_key* new_key; 6043 6044 key.enc = env->enc; 6045 key.not = tok->u.prop.not; 6046 key.type = tok->u.prop.ctype; 6047 6048 THREAD_ATOMIC_START; 6049 6050 if (IS_NULL(OnigTypeCClassTable)) { 6051 OnigTypeCClassTable 6052 = onig_st_init_table_with_size(&type_type_cclass_hash, 10); 6053 if (IS_NULL(OnigTypeCClassTable)) { 6054 THREAD_ATOMIC_END; 6055 return ONIGERR_MEMORY; 6056 } 6057 } 6058 else { 6059 if (onig_st_lookup(OnigTypeCClassTable, (st_data_t )&key, 6060 (st_data_t* )np)) { 6061 THREAD_ATOMIC_END; 6062 break; 6063 } 6064 } 6065 6066 *np = node_new_cclass_by_codepoint_range(tok->u.prop.not, 6067 sb_out, mbr); 6068 if (IS_NULL(*np)) { 6069 THREAD_ATOMIC_END; 6070 return ONIGERR_MEMORY; 6071 } 6072 6073 cc = NCCLASS(*np); 6074 NCCLASS_SET_SHARE(cc); 6075 new_key = (type_cclass_key* )xmalloc(sizeof(type_cclass_key)); 6076 xmemcpy(new_key, &key, sizeof(type_cclass_key)); 6077 onig_st_add_direct(OnigTypeCClassTable, (st_data_t )new_key, 6078 (st_data_t )*np); 6079 6080 THREAD_ATOMIC_END; 6081 } 6082 else { 6083 #endif 6084 *np = node_new_cclass(); 6085 CHECK_NULL_RETURN_MEMERR(*np); 6086 cc = NCCLASS(*np); 6087 r = add_ctype_to_cc(cc, tok->u.prop.ctype, 0, 6088 IS_ASCII_RANGE(env->option), env); 6089 if (r != 0) return r; 6090 if (tok->u.prop.not != 0) NCCLASS_SET_NOT(cc); 6091 #ifdef USE_SHARED_CCLASS_TABLE 6092 } 6093 #endif 6699 *np = node_new_cclass(); 6700 CHECK_NULL_RETURN_MEMERR(*np); 6701 cc = NCCLASS(*np); 6702 r = add_ctype_to_cc(cc, tok->u.prop.ctype, 0, 6703 IS_ASCII_RANGE(env->option), env); 6704 if (r != 0) return r; 6705 if (tok->u.prop.not != 0) NCCLASS_SET_NOT(cc); 6094 6706 } 6095 6707 break; … … 6321 6933 6322 6934 *top = NULL; 6935 env->parse_depth++; 6936 if (env->parse_depth > ParseDepthLimit) 6937 return ONIGERR_PARSE_DEPTH_LIMIT_OVER; 6323 6938 r = parse_branch(&node, tok, term, src, end, env); 6324 6939 if (r < 0) { … … 6358 6973 } 6359 6974 6975 env->parse_depth--; 6360 6976 return r; 6361 6977 } -
EcnlProtoTool/trunk/onigmo-6.1.3/src/regparse.h
r321 r331 1 #ifndef REGPARSE_H2 #define REGPARSE_H1 #ifndef ONIGMO_REGPARSE_H 2 #define ONIGMO_REGPARSE_H 3 3 /********************************************************************** 4 4 regparse.h - Onigmo (Oniguruma-mod) (regular expression library) … … 6 6 /*- 7 7 * Copyright (c) 2002-2007 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 8 * Copyright (c) 2011 8 * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp> 9 9 * All rights reserved. 10 10 * … … 33 33 #include "regint.h" 34 34 35 RUBY_SYMBOL_EXPORT_BEGIN 36 35 37 /* node type */ 36 38 #define NT_STR 0 … … 94 96 #define ENCLOSE_STOP_BACKTRACK (1<<2) 95 97 #define ENCLOSE_CONDITION (1<<3) 98 #define ENCLOSE_ABSENT (1<<4) 96 99 97 100 #define NODE_STR_MARGIN 16 … … 289 292 OnigCaseFoldType case_fold_flag; 290 293 OnigEncoding enc; 291 OnigSyntaxType*syntax;294 const OnigSyntaxType* syntax; 292 295 BitStatusType capture_history; 293 296 BitStatusType bt_mem_start; … … 316 319 int has_recursion; 317 320 #endif 321 unsigned int parse_depth; 322 int warnings_flag; 323 #ifdef RUBY 324 const char* sourcefile; 325 int sourceline; 326 #endif 318 327 } ScanEnv; 319 328 … … 328 337 } GroupNumRemap; 329 338 330 extern int onig_renumber_name_table P_((regex_t* reg, GroupNumRemap* map)); 331 #endif 332 333 extern int onig_strncmp P_((const UChar* s1, const UChar* s2, int n)); 334 extern void onig_strcpy P_((UChar* dest, const UChar* src, const UChar* end)); 335 extern void onig_scan_env_set_error_string P_((ScanEnv* env, int ecode, UChar* arg, UChar* arg_end)); 336 extern int onig_scan_unsigned_number P_((UChar** src, const UChar* end, OnigEncoding enc)); 337 extern void onig_reduce_nested_quantifier P_((Node* pnode, Node* cnode)); 338 extern void onig_node_conv_to_str_node P_((Node* node, int raw)); 339 extern int onig_node_str_cat P_((Node* node, const UChar* s, const UChar* end)); 340 extern int onig_node_str_set P_((Node* node, const UChar* s, const UChar* end)); 341 extern void onig_node_free P_((Node* node)); 342 extern Node* onig_node_new_enclose P_((int type)); 343 extern Node* onig_node_new_anchor P_((int type)); 344 extern Node* onig_node_new_str P_((const UChar* s, const UChar* end)); 345 extern Node* onig_node_new_list P_((Node* left, Node* right)); 346 extern Node* onig_node_list_add P_((Node* list, Node* x)); 347 extern Node* onig_node_new_alt P_((Node* left, Node* right)); 348 extern void onig_node_str_clear P_((Node* node)); 349 extern int onig_free_node_list P_((void)); 350 extern int onig_names_free P_((regex_t* reg)); 351 extern int onig_parse_make_tree P_((Node** root, const UChar* pattern, const UChar* end, regex_t* reg, ScanEnv* env)); 352 extern int onig_free_shared_cclass_table P_((void)); 339 extern int onig_renumber_name_table(regex_t* reg, GroupNumRemap* map); 340 #endif 341 342 extern int onig_strncmp(const UChar* s1, const UChar* s2, int n); 343 extern void onig_strcpy(UChar* dest, const UChar* src, const UChar* end); 344 extern void onig_scan_env_set_error_string(ScanEnv* env, int ecode, UChar* arg, UChar* arg_end); 345 extern int onig_scan_unsigned_number(UChar** src, const UChar* end, OnigEncoding enc); 346 extern void onig_reduce_nested_quantifier(Node* pnode, Node* cnode); 347 extern void onig_node_conv_to_str_node(Node* node, int raw); 348 extern int onig_node_str_cat(Node* node, const UChar* s, const UChar* end); 349 extern int onig_node_str_set(Node* node, const UChar* s, const UChar* end); 350 extern void onig_node_free(Node* node); 351 extern Node* onig_node_new_enclose(int type); 352 extern Node* onig_node_new_anchor(int type); 353 extern Node* onig_node_new_str(const UChar* s, const UChar* end); 354 extern Node* onig_node_new_list(Node* left, Node* right); 355 extern Node* onig_node_list_add(Node* list, Node* x); 356 extern Node* onig_node_new_alt(Node* left, Node* right); 357 extern void onig_node_str_clear(Node* node); 358 extern int onig_names_free(regex_t* reg); 359 extern int onig_parse_make_tree(Node** root, const UChar* pattern, const UChar* end, regex_t* reg, ScanEnv* env); 360 extern int onig_free_shared_cclass_table(void); 353 361 354 362 #ifdef ONIG_DEBUG 355 # ifdef USE_NAMED_GROUP363 # ifdef USE_NAMED_GROUP 356 364 extern int onig_print_names(FILE*, regex_t*); 357 #endif 358 #endif 359 360 #endif /* REGPARSE_H */ 365 # endif 366 #endif 367 368 RUBY_SYMBOL_EXPORT_END 369 370 #endif /* ONIGMO_REGPARSE_H */ -
EcnlProtoTool/trunk/onigmo-6.1.3/src/regposerr.c
r321 r331 1 1 /********************************************************************** 2 regposerr.c - Onig uruma(regular expression library)2 regposerr.c - Onigmo (Oniguruma-mod) (regular expression library) 3 3 **********************************************************************/ 4 4 /*- 5 5 * Copyright (c) 2002-2007 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 6 * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp> 6 7 * All rights reserved. 7 8 * … … 29 30 30 31 #include "config.h" 31 #include "onigposix.h" 32 #include "onigmoposix.h" 33 #include <string.h> 32 34 33 #if def HAVE_STRING_H34 # include <string.h>35 #if defined(__GNUC__) 36 # define ARG_UNUSED __attribute__ ((unused)) 35 37 #else 36 # include <strings.h>38 # define ARG_UNUSED 37 39 #endif 38 40 39 #if defined(__GNUC__) 40 # define ARG_UNUSED __attribute__ ((unused)) 41 #if defined(_WIN32) && !defined(__GNUC__) 42 # define xsnprintf sprintf_s 43 # define xstrncpy(dest,src,size) strncpy_s(dest,size,src,_TRUNCATE) 41 44 #else 42 # define ARG_UNUSED 45 # define xsnprintf snprintf 46 # define xstrncpy strncpy 43 47 #endif 44 48 … … 65 69 "invalid wide char value", /* REG_EONIG_BADWC */ 66 70 "invalid argument", /* REG_EONIG_BADARG */ 67 "multi-thread error" /* REG_EONIG_THREAD */68 71 }; 69 72 … … 87 90 } 88 91 else { 89 sprintf(tbuf, "undefined error code (%d)", posix_ecode);92 xsnprintf(tbuf, sizeof(tbuf), "undefined error code (%d)", posix_ecode); 90 93 s = tbuf; 91 94 } … … 94 97 95 98 if (buf != NULL && size > 0) { 96 strncpy(buf, s, size - 1);99 xstrncpy(buf, s, size - 1); 97 100 buf[size - 1] = '\0'; 98 101 } -
EcnlProtoTool/trunk/onigmo-6.1.3/src/regposix.c
r321 r331 4 4 /*- 5 5 * Copyright (c) 2002-2008 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 6 * Copyright (c) 2011 6 * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp> 7 7 * All rights reserved. 8 8 * … … 32 32 #include "regint.h" 33 33 #undef regex_t 34 #include "onig posix.h"34 #include "onigmoposix.h" 35 35 36 36 #define ONIG_C(reg) ((onig_regex_t* )((reg)->onig)) … … 116 116 { ONIGERR_INVALID_CHAR_PROPERTY_NAME, REG_BADPAT }, 117 117 { ONIGERR_NOT_SUPPORTED_ENCODING_COMBINATION, REG_EONIG_BADARG }, 118 { ONIGERR_OVER_THREAD_PASS_LIMIT_COUNT, REG_EONIG_THREAD }119 118 120 119 }; … … 136 135 { 137 136 int r, len; 138 OnigSyntaxType* syntax = OnigDefaultSyntax;137 const OnigSyntaxType* syntax = OnigDefaultSyntax; 139 138 OnigOptionType options; 140 139 … … 170 169 int r, i, len; 171 170 UChar* end; 172 regmatch_t* pm;171 OnigRegion* region = NULL; 173 172 OnigOptionType options; 174 173 175 options = ONIG_OPTION_ POSIX_REGION;174 options = ONIG_OPTION_NONE; 176 175 if ((posix_options & REG_NOTBOL) != 0) options |= ONIG_OPTION_NOTBOL; 177 176 if ((posix_options & REG_NOTEOL) != 0) options |= ONIG_OPTION_NOTEOL; 178 177 179 if (nmatch == 0 || (reg->comp_options & REG_NOSUB) != 0) { 180 pm = (regmatch_t* )NULL; 178 if ((reg->comp_options & REG_NOSUB) != 0) { 181 179 nmatch = 0; 182 180 } 183 else if ((int )nmatch < ONIG_C(reg)->num_mem + 1) { 184 pm = (regmatch_t* )xmalloc(sizeof(regmatch_t) 185 * (ONIG_C(reg)->num_mem + 1)); 186 if (pm == NULL) 181 else if (nmatch != 0) { 182 region = onig_region_new(); 183 if (region == NULL) 187 184 return REG_ESPACE; 188 }189 else {190 pm = pmatch;191 185 } 192 186 … … 194 188 end = (UChar* )(str + len); 195 189 r = (int )onig_search(ONIG_C(reg), (UChar* )str, end, (UChar* )str, end, 196 (OnigRegion* )pm, options);190 region, options); 197 191 198 192 if (r >= 0) { 199 193 r = 0; /* Match */ 200 if (pm != pmatch && pm != NULL) { 201 xmemcpy(pmatch, pm, sizeof(regmatch_t) * nmatch); 194 for (i = 0; i < (int )nmatch; i++) { 195 pmatch[i].rm_so = (regoff_t )region->beg[i]; 196 pmatch[i].rm_eo = (regoff_t )region->end[i]; 202 197 } 203 198 } … … 211 206 } 212 207 213 if ( pm != pmatch && pm!= NULL)214 xfree(pm);208 if (region != NULL) 209 onig_region_free(region, 1); 215 210 216 211 #if 0 … … 238 233 enc = ONIG_ENCODING_ASCII; 239 234 break; 240 #if 0241 235 case REG_POSIX_ENCODING_EUC_JP: 242 236 enc = ONIG_ENCODING_EUC_JP; … … 245 239 enc = ONIG_ENCODING_SJIS; 246 240 break; 247 #endif248 241 case REG_POSIX_ENCODING_UTF8: 249 242 enc = ONIG_ENCODING_UTF8; 250 243 break; 251 #if 0252 244 case REG_POSIX_ENCODING_UTF16_BE: 253 245 enc = ONIG_ENCODING_UTF16_BE; … … 256 248 enc = ONIG_ENCODING_UTF16_LE; 257 249 break; 258 #endif 250 259 251 default: 260 252 return ; -
EcnlProtoTool/trunk/onigmo-6.1.3/src/regsyntax.c
r321 r331 4 4 /*- 5 5 * Copyright (c) 2002-2006 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 6 * Copyright (c) 2011-201 2K.Takata <kentkt AT csc DOT jp>6 * Copyright (c) 2011-2016 K.Takata <kentkt AT csc DOT jp> 7 7 * All rights reserved. 8 8 * … … 31 31 #include "regint.h" 32 32 33 OnigSyntaxType OnigSyntaxASIS = {33 const OnigSyntaxType OnigSyntaxASIS = { 34 34 0 35 35 , ONIG_SYN_OP2_INEFFECTIVE_ESCAPE … … 47 47 }; 48 48 49 OnigSyntaxType OnigSyntaxPosixBasic = {49 const OnigSyntaxType OnigSyntaxPosixBasic = { 50 50 ( SYN_POSIX_COMMON_OP | ONIG_SYN_OP_ESC_LPAREN_SUBEXP | 51 51 ONIG_SYN_OP_ESC_BRACE_INTERVAL ) … … 64 64 }; 65 65 66 OnigSyntaxType OnigSyntaxPosixExtended = {66 const OnigSyntaxType OnigSyntaxPosixExtended = { 67 67 ( SYN_POSIX_COMMON_OP | ONIG_SYN_OP_LPAREN_SUBEXP | 68 68 ONIG_SYN_OP_BRACE_INTERVAL | … … 85 85 }; 86 86 87 OnigSyntaxType OnigSyntaxEmacs = {87 const OnigSyntaxType OnigSyntaxEmacs = { 88 88 ( ONIG_SYN_OP_DOT_ANYCHAR | ONIG_SYN_OP_BRACKET_CC | 89 89 ONIG_SYN_OP_ESC_BRACE_INTERVAL | … … 106 106 }; 107 107 108 OnigSyntaxType OnigSyntaxGrep = {108 const OnigSyntaxType OnigSyntaxGrep = { 109 109 ( ONIG_SYN_OP_DOT_ANYCHAR | ONIG_SYN_OP_BRACKET_CC | ONIG_SYN_OP_POSIX_BRACKET | 110 110 ONIG_SYN_OP_ESC_BRACE_INTERVAL | ONIG_SYN_OP_ESC_LPAREN_SUBEXP | … … 128 128 }; 129 129 130 OnigSyntaxType OnigSyntaxGnuRegex = {130 const OnigSyntaxType OnigSyntaxGnuRegex = { 131 131 SYN_GNU_REGEX_OP 132 132 , 0 … … 144 144 }; 145 145 146 OnigSyntaxType OnigSyntaxJava = {146 const OnigSyntaxType OnigSyntaxJava = { 147 147 (( SYN_GNU_REGEX_OP | ONIG_SYN_OP_QMARK_NON_GREEDY | 148 148 ONIG_SYN_OP_ESC_CONTROL_CHARS | ONIG_SYN_OP_ESC_C_CONTROL | … … 169 169 170 170 /* Perl 5.8 */ 171 OnigSyntaxType OnigSyntaxPerl58 = {171 const OnigSyntaxType OnigSyntaxPerl58 = { 172 172 (( SYN_GNU_REGEX_OP | ONIG_SYN_OP_QMARK_NON_GREEDY | 173 173 ONIG_SYN_OP_ESC_OCTAL3 | ONIG_SYN_OP_ESC_X_HEX2 | … … 195 195 196 196 /* Perl 5.8 + named group */ 197 OnigSyntaxType OnigSyntaxPerl58_NG = {197 const OnigSyntaxType OnigSyntaxPerl58_NG = { 198 198 (( SYN_GNU_REGEX_OP | ONIG_SYN_OP_QMARK_NON_GREEDY | 199 199 ONIG_SYN_OP_ESC_OCTAL3 | ONIG_SYN_OP_ESC_X_HEX2 | … … 226 226 227 227 /* Perl 5.10+ */ 228 OnigSyntaxType OnigSyntaxPerl = {228 const OnigSyntaxType OnigSyntaxPerl = { 229 229 (( SYN_GNU_REGEX_OP | ONIG_SYN_OP_QMARK_NON_GREEDY | 230 230 ONIG_SYN_OP_ESC_OCTAL3 | ONIG_SYN_OP_ESC_X_HEX2 | 231 231 ONIG_SYN_OP_ESC_X_BRACE_HEX8 | ONIG_SYN_OP_ESC_CONTROL_CHARS | 232 ONIG_SYN_OP_ESC_ C_CONTROL )232 ONIG_SYN_OP_ESC_O_BRACE_OCTAL | ONIG_SYN_OP_ESC_C_CONTROL ) 233 233 & ~ONIG_SYN_OP_ESC_LTGT_WORD_BEGIN_END ) 234 234 , ( ONIG_SYN_OP2_ESC_CAPITAL_Q_QUOTE | … … 249 249 , ( SYN_GNU_REGEX_BV | 250 250 ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME | 251 ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME_CALL ) 251 ONIG_SYN_ALLOW_MULTIPLEX_DEFINITION_NAME_CALL | 252 ONIG_SYN_USE_LEFT_MOST_NAMED_GROUP ) 252 253 , ( ONIG_OPTION_SINGLELINE | ONIG_OPTION_CAPTURE_GROUP ) 253 254 , … … 262 263 }; 263 264 264 OnigSyntaxType OnigSyntaxPython = {265 const OnigSyntaxType OnigSyntaxPython = { 265 266 (( SYN_GNU_REGEX_OP | ONIG_SYN_OP_QMARK_NON_GREEDY | 266 267 ONIG_SYN_OP_ESC_OCTAL3 | ONIG_SYN_OP_ESC_X_HEX2 | … … 293 294 294 295 extern int 295 onig_set_default_syntax( OnigSyntaxType* syntax)296 onig_set_default_syntax(const OnigSyntaxType* syntax) 296 297 { 297 298 if (IS_NULL(syntax)) … … 333 334 334 335 extern unsigned int 335 onig_get_syntax_op( OnigSyntaxType* syntax)336 onig_get_syntax_op(const OnigSyntaxType* syntax) 336 337 { 337 338 return syntax->op; … … 339 340 340 341 extern unsigned int 341 onig_get_syntax_op2( OnigSyntaxType* syntax)342 onig_get_syntax_op2(const OnigSyntaxType* syntax) 342 343 { 343 344 return syntax->op2; … … 345 346 346 347 extern unsigned int 347 onig_get_syntax_behavior( OnigSyntaxType* syntax)348 onig_get_syntax_behavior(const OnigSyntaxType* syntax) 348 349 { 349 350 return syntax->behavior; … … 351 352 352 353 extern OnigOptionType 353 onig_get_syntax_options( OnigSyntaxType* syntax)354 onig_get_syntax_options(const OnigSyntaxType* syntax) 354 355 { 355 356 return syntax->options; -
EcnlProtoTool/trunk/onigmo-6.1.3/src/regversion.c
r321 r331 3 3 **********************************************************************/ 4 4 /*- 5 * Copyright (c) 2002-20 09K.Kosako <sndgk393 AT ybb DOT ne DOT jp>6 * Copyright (c) 2011-201 4K.Takata <kentkt AT csc DOT jp>5 * Copyright (c) 2002-2016 K.Kosako <sndgk393 AT ybb DOT ne DOT jp> 6 * Copyright (c) 2011-2017 K.Takata <kentkt AT csc DOT jp> 7 7 * All rights reserved. 8 8 * … … 29 29 */ 30 30 31 #include "config.h" 32 #include "oniguruma.h" 33 #include <stdio.h> 31 #include "onigmo.h" 32 33 #define TOSTR_(a) #a 34 #define ONIG_VERSION_TOSTR_(a,b,c) \ 35 TOSTR_(a) "." TOSTR_(b) "." TOSTR_(c) 36 #define ONIG_VERSION_STRING \ 37 ONIG_VERSION_TOSTR_(ONIGMO_VERSION_MAJOR, ONIGMO_VERSION_MINOR, ONIGMO_VERSION_TEENY) 34 38 35 39 extern const char* 36 40 onig_version(void) 37 41 { 38 static char s[12];42 const char *s = ONIG_VERSION_STRING; 39 43 40 sprintf(s, "%d.%d.%d",41 ONIGURUMA_VERSION_MAJOR,42 ONIGURUMA_VERSION_MINOR,43 ONIGURUMA_VERSION_TEENY);44 44 return s; 45 45 } … … 48 48 onig_copyright(void) 49 49 { 50 static char s[80]; 50 const char *s = 51 "Onigmo " ONIG_VERSION_STRING " : Copyright (C) 2002-2016 K.Kosako, " 52 "2011-2017 K.Takata"; 51 53 52 sprintf(s, "Onigmo %d.%d.%d : Copyright (C) 2002-2009 K.Kosako, "53 "2011-2014 K.Takata",54 ONIGURUMA_VERSION_MAJOR,55 ONIGURUMA_VERSION_MINOR,56 ONIGURUMA_VERSION_TEENY);57 54 return s; 58 55 } -
EcnlProtoTool/trunk/onigmo-6.1.3/src/st.c
r321 r331 1 /* This is a public domain general purpose hash table package written by Peter Moore @ UCB. */ 2 3 /* static char sccsid[] = "@(#) st.c 5.1 89/12/14 Crucible"; */ 1 /* This is a public domain general purpose hash table package 2 originally written by Peter Moore @ UCB. 3 4 The hash table data structures were redesigned and the package was 5 rewritten by Vladimir Makarov <vmakarov@redhat.com>. */ 6 7 /* The original package implemented classic bucket-based hash tables 8 with entries doubly linked for an access by their insertion order. 9 To decrease pointer chasing and as a consequence to improve a data 10 locality the current implementation is based on storing entries in 11 an array and using hash tables with open addressing. The current 12 entries are more compact in comparison with the original ones and 13 this also improves the data locality. 14 15 The hash table has two arrays called *bins* and *entries*. 16 17 bins: 18 ------- 19 | | entries array: 20 |-------| -------------------------------- 21 | index | | | entry: | | | 22 |-------| | | | | | 23 | ... | | ... | hash | ... | ... | 24 |-------| | | key | | | 25 | empty | | | record | | | 26 |-------| -------------------------------- 27 | ... | ^ ^ 28 |-------| |_ entries start |_ entries bound 29 |deleted| 30 ------- 31 32 o The entry array contains table entries in the same order as they 33 were inserted. 34 35 When the first entry is deleted, a variable containing index of 36 the current first entry (*entries start*) is changed. In all 37 other cases of the deletion, we just mark the entry as deleted by 38 using a reserved hash value. 39 40 Such organization of the entry storage makes operations of the 41 table shift and the entries traversal very fast. 42 43 o The bins provide access to the entries by their keys. The 44 key hash is mapped to a bin containing *index* of the 45 corresponding entry in the entry array. 46 47 The bin array size is always power of two, it makes mapping very 48 fast by using the corresponding lower bits of the hash. 49 Generally it is not a good idea to ignore some part of the hash. 50 But alternative approach is worse. For example, we could use a 51 modulo operation for mapping and a prime number for the size of 52 the bin array. Unfortunately, the modulo operation for big 53 64-bit numbers are extremely slow (it takes more than 100 cycles 54 on modern Intel CPUs). 55 56 Still other bits of the hash value are used when the mapping 57 results in a collision. In this case we use a secondary hash 58 value which is a result of a function of the collision bin 59 index and the original hash value. The function choice 60 guarantees that we can traverse all bins and finally find the 61 corresponding bin as after several iterations the function 62 becomes a full cycle linear congruential generator because it 63 satisfies requirements of the Hull-Dobell theorem. 64 65 When an entry is removed from the table besides marking the 66 hash in the corresponding entry described above, we also mark 67 the bin by a special value in order to find entries which had 68 a collision with the removed entries. 69 70 There are two reserved values for the bins. One denotes an 71 empty bin, another one denotes a bin for a deleted entry. 72 73 o The length of the bin array is at least two times more than the 74 entry array length. This keeps the table load factor healthy. 75 The trigger of rebuilding the table is always a case when we can 76 not insert an entry anymore at the entries bound. We could 77 change the entries bound too in case of deletion but than we need 78 a special code to count bins with corresponding deleted entries 79 and reset the bin values when there are too many bins 80 corresponding deleted entries 81 82 Table rebuilding is done by creation of a new entry array and 83 bins of an appropriate size. We also try to reuse the arrays 84 in some cases by compacting the array and removing deleted 85 entries. 86 87 o To save memory very small tables have no allocated arrays 88 bins. We use a linear search for an access by a key. 89 90 o To save more memory we use 8-, 16-, 32- and 64- bit indexes in 91 bins depending on the current hash table size. 92 93 This implementation speeds up the Ruby hash table benchmarks in 94 average by more 40% on Intel Haswell CPU. 95 96 */ 97 98 #ifdef RUBY 99 #include "internal.h" 100 #else 101 #include "regint.h" 102 #include "st.h" 103 #endif 4 104 5 105 #include <stdio.h> 6 106 #include <stdlib.h> 7 107 #include <string.h> 8 9 #ifdef _WIN32 10 #include <malloc.h> 11 #endif 12 13 #include "regint.h" 14 #include "st.h" 15 16 typedef struct st_table_entry st_table_entry; 108 #include <assert.h> 109 110 #ifdef __GNUC__ 111 #define PREFETCH(addr, write_p) __builtin_prefetch(addr, write_p) 112 #define EXPECT(expr, val) __builtin_expect(expr, val) 113 #define ATTRIBUTE_UNUSED __attribute__((unused)) 114 #else 115 #define PREFETCH(addr, write_p) 116 #define EXPECT(expr, val) (expr) 117 #define ATTRIBUTE_UNUSED 118 #endif 119 120 #ifdef ST_DEBUG 121 #define st_assert(cond) assert(cond) 122 #else 123 #define st_assert(cond) ((void)(0 && (cond))) 124 #endif 125 126 /* The type of hashes. */ 127 typedef st_index_t st_hash_t; 17 128 18 129 struct st_table_entry { 19 unsigned int hash;130 st_hash_t hash; 20 131 st_data_t key; 21 132 st_data_t record; 22 st_table_entry *next;23 133 }; 24 134 25 #define ST_DEFAULT_MAX_DENSITY 5 26 #define ST_DEFAULT_INIT_TABLE_SIZE 11 27 28 /* 29 * DEFAULT_MAX_DENSITY is the default for the largest we allow the 30 * average number of items per bin before increasing the number of 31 * bins 32 * 33 * DEFAULT_INIT_TABLE_SIZE is the default for the number of bins 34 * allocated initially 35 * 36 */ 37 38 static int numcmp(long, long); 39 static int numhash(long); 40 static struct st_hash_type type_numhash = { 41 numcmp, 42 numhash, 135 #ifdef RUBY 136 #define type_numhash st_hashtype_num 137 const struct st_hash_type st_hashtype_num = { 138 st_numcmp, 139 st_numhash, 43 140 }; 44 141 45 142 /* extern int strcmp(const char *, const char *); */ 46 static int strhash(const char *);47 static struct st_hash_type type_strhash = {143 static st_index_t strhash(st_data_t); 144 static const struct st_hash_type type_strhash = { 48 145 strcmp, 49 146 strhash, 50 147 }; 51 148 52 static void rehash(st_table *); 53 54 #define alloc(type) (type*)xmalloc((unsigned)sizeof(type)) 55 #define Calloc(n,s) (char*)xcalloc((n),(s)) 56 57 #define EQUAL(table,x,y) ((x)==(y) || (*table->type->compare)((x),(y)) == 0) 58 59 #define do_hash(key,table) (unsigned int)(*(table)->type->hash)((key)) 60 #define do_hash_bin(key,table) (do_hash(key, table)%(table)->num_bins) 61 62 /* 63 * MINSIZE is the minimum size of a dictionary. 64 */ 65 66 #define MINSIZE 8 67 68 /* 69 Table of prime numbers 2^n+a, 2<=n<=30. 70 */ 71 static const long primes[] = { 72 8 + 3, 73 16 + 3, 74 32 + 5, 75 64 + 3, 76 128 + 3, 77 256 + 27, 78 512 + 9, 79 1024 + 9, 80 2048 + 5, 81 4096 + 3, 82 8192 + 27, 83 16384 + 43, 84 32768 + 3, 85 65536 + 45, 86 131072 + 29, 87 262144 + 3, 88 524288 + 21, 89 1048576 + 7, 90 2097152 + 17, 91 4194304 + 15, 92 8388608 + 9, 93 16777216 + 43, 94 33554432 + 35, 95 67108864 + 15, 96 134217728 + 29, 97 268435456 + 3, 98 536870912 + 11, 99 1073741824 + 85, 100 0 149 static st_index_t strcasehash(st_data_t); 150 static const struct st_hash_type type_strcasehash = { 151 st_locale_insensitive_strcasecmp, 152 strcasehash, 101 153 }; 102 154 #endif /* RUBY */ 155 156 /* Value used to catch uninitialized entries/bins during debugging. 157 There is a possibility for a false alarm, but its probability is 158 extremely small. */ 159 #define ST_INIT_VAL 0xafafafafafafafaf 160 #define ST_INIT_VAL_BYTE 0xafa 161 162 #ifdef RUBY 163 #undef malloc 164 #undef realloc 165 #undef calloc 166 #undef free 167 #define malloc ruby_xmalloc 168 #define calloc ruby_xcalloc 169 #define realloc ruby_xrealloc 170 #define free ruby_xfree 171 #else /* RUBY */ 172 #define MEMCPY(p1,p2,type,n) memcpy((p1), (p2), sizeof(type)*(n)) 173 #endif /* RUBY */ 174 175 #define EQUAL(tab,x,y) ((x) == (y) || (*(tab)->type->compare)((x),(y)) == 0) 176 #define PTR_EQUAL(tab, ptr, hash_val, key_) \ 177 ((ptr)->hash == (hash_val) && EQUAL((tab), (key_), (ptr)->key)) 178 179 /* Features of a table. */ 180 struct st_features { 181 /* Power of 2 used for number of allocated entries. */ 182 unsigned char entry_power; 183 /* Power of 2 used for number of allocated bins. Depending on the 184 table size, the number of bins is 2-4 times more than the 185 number of entries. */ 186 unsigned char bin_power; 187 /* Enumeration of sizes of bins (8-bit, 16-bit etc). */ 188 unsigned char size_ind; 189 /* Bins are packed in words of type st_index_t. The following is 190 a size of bins counted by words. */ 191 st_index_t bins_words; 192 }; 193 194 /* Features of all possible size tables. */ 195 #if SIZEOF_ST_INDEX_T == 8 196 #define MAX_POWER2 62 197 static const struct st_features features[] = { 198 {0, 1, 0, 0x0}, 199 {1, 2, 0, 0x1}, 200 {2, 3, 0, 0x1}, 201 {3, 4, 0, 0x2}, 202 {4, 5, 0, 0x4}, 203 {5, 6, 0, 0x8}, 204 {6, 7, 0, 0x10}, 205 {7, 8, 0, 0x20}, 206 {8, 9, 1, 0x80}, 207 {9, 10, 1, 0x100}, 208 {10, 11, 1, 0x200}, 209 {11, 12, 1, 0x400}, 210 {12, 13, 1, 0x800}, 211 {13, 14, 1, 0x1000}, 212 {14, 15, 1, 0x2000}, 213 {15, 16, 1, 0x4000}, 214 {16, 17, 2, 0x10000}, 215 {17, 18, 2, 0x20000}, 216 {18, 19, 2, 0x40000}, 217 {19, 20, 2, 0x80000}, 218 {20, 21, 2, 0x100000}, 219 {21, 22, 2, 0x200000}, 220 {22, 23, 2, 0x400000}, 221 {23, 24, 2, 0x800000}, 222 {24, 25, 2, 0x1000000}, 223 {25, 26, 2, 0x2000000}, 224 {26, 27, 2, 0x4000000}, 225 {27, 28, 2, 0x8000000}, 226 {28, 29, 2, 0x10000000}, 227 {29, 30, 2, 0x20000000}, 228 {30, 31, 2, 0x40000000}, 229 {31, 32, 2, 0x80000000}, 230 {32, 33, 3, 0x200000000}, 231 {33, 34, 3, 0x400000000}, 232 {34, 35, 3, 0x800000000}, 233 {35, 36, 3, 0x1000000000}, 234 {36, 37, 3, 0x2000000000}, 235 {37, 38, 3, 0x4000000000}, 236 {38, 39, 3, 0x8000000000}, 237 {39, 40, 3, 0x10000000000}, 238 {40, 41, 3, 0x20000000000}, 239 {41, 42, 3, 0x40000000000}, 240 {42, 43, 3, 0x80000000000}, 241 {43, 44, 3, 0x100000000000}, 242 {44, 45, 3, 0x200000000000}, 243 {45, 46, 3, 0x400000000000}, 244 {46, 47, 3, 0x800000000000}, 245 {47, 48, 3, 0x1000000000000}, 246 {48, 49, 3, 0x2000000000000}, 247 {49, 50, 3, 0x4000000000000}, 248 {50, 51, 3, 0x8000000000000}, 249 {51, 52, 3, 0x10000000000000}, 250 {52, 53, 3, 0x20000000000000}, 251 {53, 54, 3, 0x40000000000000}, 252 {54, 55, 3, 0x80000000000000}, 253 {55, 56, 3, 0x100000000000000}, 254 {56, 57, 3, 0x200000000000000}, 255 {57, 58, 3, 0x400000000000000}, 256 {58, 59, 3, 0x800000000000000}, 257 {59, 60, 3, 0x1000000000000000}, 258 {60, 61, 3, 0x2000000000000000}, 259 {61, 62, 3, 0x4000000000000000}, 260 {62, 63, 3, 0x8000000000000000}, 261 }; 262 263 #else 264 #define MAX_POWER2 30 265 266 static const struct st_features features[] = { 267 {0, 1, 0, 0x1}, 268 {1, 2, 0, 0x1}, 269 {2, 3, 0, 0x2}, 270 {3, 4, 0, 0x4}, 271 {4, 5, 0, 0x8}, 272 {5, 6, 0, 0x10}, 273 {6, 7, 0, 0x20}, 274 {7, 8, 0, 0x40}, 275 {8, 9, 1, 0x100}, 276 {9, 10, 1, 0x200}, 277 {10, 11, 1, 0x400}, 278 {11, 12, 1, 0x800}, 279 {12, 13, 1, 0x1000}, 280 {13, 14, 1, 0x2000}, 281 {14, 15, 1, 0x4000}, 282 {15, 16, 1, 0x8000}, 283 {16, 17, 2, 0x20000}, 284 {17, 18, 2, 0x40000}, 285 {18, 19, 2, 0x80000}, 286 {19, 20, 2, 0x100000}, 287 {20, 21, 2, 0x200000}, 288 {21, 22, 2, 0x400000}, 289 {22, 23, 2, 0x800000}, 290 {23, 24, 2, 0x1000000}, 291 {24, 25, 2, 0x2000000}, 292 {25, 26, 2, 0x4000000}, 293 {26, 27, 2, 0x8000000}, 294 {27, 28, 2, 0x10000000}, 295 {28, 29, 2, 0x20000000}, 296 {29, 30, 2, 0x40000000}, 297 {30, 31, 2, 0x80000000}, 298 }; 299 300 #endif 301 302 /* The reserved hash value and its substitution. */ 303 #define RESERVED_HASH_VAL (~(st_hash_t) 0) 304 #define RESERVED_HASH_SUBSTITUTION_VAL ((st_hash_t) 0) 305 306 /* Return hash value of KEY for table TAB. */ 307 static inline st_hash_t 308 do_hash(st_data_t key, st_table *tab) 309 { 310 st_hash_t hash = (st_hash_t)(tab->type->hash)(key); 311 312 /* RESERVED_HASH_VAL is used for a deleted entry. Map it into 313 another value. Such mapping should be extremely rare. */ 314 return hash == RESERVED_HASH_VAL ? RESERVED_HASH_SUBSTITUTION_VAL : hash; 315 } 316 317 /* Power of 2 defining the minimal number of allocated entries. */ 318 #define MINIMAL_POWER2 2 319 320 #if MINIMAL_POWER2 < 2 321 #error "MINIMAL_POWER2 should be >= 2" 322 #endif 323 324 /* If the power2 of the allocated `entries` is less than the following 325 value, don't allocate bins and use a linear search. */ 326 #define MAX_POWER2_FOR_TABLES_WITHOUT_BINS 4 327 328 /* Return smallest n >= MINIMAL_POWER2 such 2^n > SIZE. */ 103 329 static int 104 new_size(size) 105 int size; 106 { 107 int i; 108 109 #if 0 110 for (i=3; i<31; i++) { 111 if ((1<<i) > size) return 1<<i; 112 } 330 get_power2(st_index_t size) 331 { 332 unsigned int n; 333 334 for (n = 0; size != 0; n++) 335 size >>= 1; 336 if (n <= MAX_POWER2) 337 return n < MINIMAL_POWER2 ? MINIMAL_POWER2 : n; 338 #ifdef RUBY 339 /* Ran out of the table entries */ 340 rb_raise(rb_eRuntimeError, "st_table too big"); 341 #endif 342 /* should raise exception */ 113 343 return -1; 114 #else 115 int newsize; 116 117 for (i = 0, newsize = MINSIZE; 118 i < (int )(sizeof(primes)/sizeof(primes[0])); 119 i++, newsize <<= 1) 344 } 345 346 /* Return value of N-th bin in array BINS of table with bins size 347 index S. */ 348 static inline st_index_t 349 get_bin(st_index_t *bins, int s, st_index_t n) 350 { 351 return (s == 0 ? ((unsigned char *) bins)[n] 352 : s == 1 ? ((unsigned short *) bins)[n] 353 : s == 2 ? ((unsigned int *) bins)[n] 354 : ((st_index_t *) bins)[n]); 355 } 356 357 /* Set up N-th bin in array BINS of table with bins size index S to 358 value V. */ 359 static inline void 360 set_bin(st_index_t *bins, int s, st_index_t n, st_index_t v) 361 { 362 if (s == 0) ((unsigned char *) bins)[n] = (unsigned char) v; 363 else if (s == 1) ((unsigned short *) bins)[n] = (unsigned short) v; 364 else if (s == 2) ((unsigned int *) bins)[n] = (unsigned int) v; 365 else ((st_index_t *) bins)[n] = v; 366 } 367 368 /* These macros define reserved values for empty table bin and table 369 bin which contains a deleted entry. We will never use such values 370 for an entry index in bins. */ 371 #define EMPTY_BIN 0 372 #define DELETED_BIN 1 373 /* Base of a real entry index in the bins. */ 374 #define ENTRY_BASE 2 375 376 /* Mark I-th bin of table TAB as empty, in other words not 377 corresponding to any entry. */ 378 #define MARK_BIN_EMPTY(tab, i) (set_bin((tab)->bins, get_size_ind(tab), i, EMPTY_BIN)) 379 380 /* Values used for not found entry and bin with given 381 characteristics. */ 382 #define UNDEFINED_ENTRY_IND (~(st_index_t) 0) 383 #define UNDEFINED_BIN_IND (~(st_index_t) 0) 384 385 /* Mark I-th bin of table TAB as corresponding to a deleted table 386 entry. Update number of entries in the table and number of bins 387 corresponding to deleted entries. */ 388 #define MARK_BIN_DELETED(tab, i) \ 389 do { \ 390 st_assert(i != UNDEFINED_BIN_IND); \ 391 st_assert(! IND_EMPTY_OR_DELETED_BIN_P(tab, i)); \ 392 set_bin((tab)->bins, get_size_ind(tab), i, DELETED_BIN); \ 393 } while (0) 394 395 /* Macros to check that value B is used empty bins and bins 396 corresponding deleted entries. */ 397 #define EMPTY_BIN_P(b) ((b) == EMPTY_BIN) 398 #define DELETED_BIN_P(b) ((b) == DELETED_BIN) 399 #define EMPTY_OR_DELETED_BIN_P(b) ((b) <= DELETED_BIN) 400 401 /* Macros to check empty bins and bins corresponding to deleted 402 entries. Bins are given by their index I in table TAB. */ 403 #define IND_EMPTY_BIN_P(tab, i) (EMPTY_BIN_P(get_bin((tab)->bins, get_size_ind(tab), i))) 404 #define IND_DELETED_BIN_P(tab, i) (DELETED_BIN_P(get_bin((tab)->bins, get_size_ind(tab), i))) 405 #define IND_EMPTY_OR_DELETED_BIN_P(tab, i) (EMPTY_OR_DELETED_BIN_P(get_bin((tab)->bins, get_size_ind(tab), i))) 406 407 /* Macros for marking and checking deleted entries given by their 408 pointer E_PTR. */ 409 #define MARK_ENTRY_DELETED(e_ptr) ((e_ptr)->hash = RESERVED_HASH_VAL) 410 #define DELETED_ENTRY_P(e_ptr) ((e_ptr)->hash == RESERVED_HASH_VAL) 411 412 /* Return bin size index of table TAB. */ 413 static inline unsigned int 414 get_size_ind(const st_table *tab) 415 { 416 return tab->size_ind; 417 } 418 419 /* Return the number of allocated bins of table TAB. */ 420 static inline st_index_t 421 get_bins_num(const st_table *tab) 422 { 423 return ((st_index_t) 1)<<tab->bin_power; 424 } 425 426 /* Return mask for a bin index in table TAB. */ 427 static inline st_index_t 428 bins_mask(const st_table *tab) 429 { 430 return get_bins_num(tab) - 1; 431 } 432 433 /* Return the index of table TAB bin corresponding to 434 HASH_VALUE. */ 435 static inline st_index_t 436 hash_bin(st_hash_t hash_value, st_table *tab) 437 { 438 return hash_value & bins_mask(tab); 439 } 440 441 /* Return the number of allocated entries of table TAB. */ 442 static inline st_index_t 443 get_allocated_entries(const st_table *tab) 444 { 445 return ((st_index_t) 1)<<tab->entry_power; 446 } 447 448 /* Return size of the allocated bins of table TAB. */ 449 static inline st_index_t 450 bins_size(const st_table *tab) 451 { 452 return features[tab->entry_power].bins_words * sizeof (st_index_t); 453 } 454 455 /* Mark all bins of table TAB as empty. */ 456 static void 457 initialize_bins(st_table *tab) 458 { 459 memset(tab->bins, 0, bins_size(tab)); 460 } 461 462 /* Make table TAB empty. */ 463 static void 464 make_tab_empty(st_table *tab) 465 { 466 tab->num_entries = 0; 467 tab->entries_start = tab->entries_bound = 0; 468 if (tab->bins != NULL) 469 initialize_bins(tab); 470 } 471 472 #ifdef ST_DEBUG 473 /* Check the table T consistency. It can be extremely slow. So use 474 it only for debugging. */ 475 static void 476 st_check(st_table *tab) 477 { 478 st_index_t d, e, i, n, p; 479 480 for (p = get_allocated_entries(tab), i = 0; p > 1; i++, p>>=1) 481 ; 482 p = i; 483 assert(p >= MINIMAL_POWER2); 484 assert(tab->entries_bound <= get_allocated_entries(tab) 485 && tab->entries_start <= tab->entries_bound); 486 n = 0; 487 return; 488 if (tab->entries_bound != 0) 489 for (i = tab->entries_start; i < tab->entries_bound; i++) { 490 assert(tab->entries[i].hash != (st_hash_t) ST_INIT_VAL 491 && tab->entries[i].key != ST_INIT_VAL 492 && tab->entries[i].record != ST_INIT_VAL); 493 if (! DELETED_ENTRY_P(&tab->entries[i])) 494 n++; 495 } 496 assert(n == tab->num_entries); 497 if (tab->bins == NULL) 498 assert(p <= MAX_POWER2_FOR_TABLES_WITHOUT_BINS); 499 else { 500 assert(p > MAX_POWER2_FOR_TABLES_WITHOUT_BINS); 501 for (n = d = i = 0; i < get_bins_num(tab); i++) { 502 assert(get_bin(tab->bins, tab->size_ind, i) != ST_INIT_VAL); 503 if (IND_DELETED_BIN_P(tab, i)) { 504 d++; 505 continue; 506 } 507 else if (IND_EMPTY_BIN_P(tab, i)) 508 continue; 509 n++; 510 e = get_bin(tab->bins, tab->size_ind, i) - ENTRY_BASE; 511 assert(tab->entries_start <= e && e < tab->entries_bound); 512 assert(! DELETED_ENTRY_P(&tab->entries[e])); 513 assert(tab->entries[e].hash != (st_hash_t) ST_INIT_VAL 514 && tab->entries[e].key != ST_INIT_VAL 515 && tab->entries[e].record != ST_INIT_VAL); 516 } 517 assert(n == tab->num_entries); 518 assert(n + d < get_bins_num(tab)); 519 } 520 } 521 #endif 522 523 #ifdef HASH_LOG 524 #ifdef HAVE_UNISTD_H 525 #include <unistd.h> 526 #endif 527 static struct { 528 int all, total, num, str, strcase; 529 } collision; 530 531 /* Flag switching off output of package statistics at the end of 532 program. */ 533 static int init_st = 0; 534 535 /* Output overall number of table searches and collisions into a 536 temporary file. */ 537 static void 538 stat_col(void) 539 { 540 char fname[10+sizeof(long)*3]; 541 FILE *f; 542 if (!collision.total) return; 543 f = fopen((snprintf(fname, sizeof(fname), "/tmp/col%ld", (long)getpid()), fname), "w"); 544 if (f == 0) return ; 545 546 fprintf(f, "collision: %d / %d (%6.2f)\n", collision.all, collision.total, 547 ((double)collision.all / (collision.total)) * 100); 548 fprintf(f, "num: %d, str: %d, strcase: %d\n", collision.num, collision.str, collision.strcase); 549 fclose(f); 550 } 551 #endif 552 553 /* Create and return table with TYPE which can hold at least SIZE 554 entries. The real number of entries which the table can hold is 555 the nearest power of two for SIZE. */ 556 st_table * 557 st_init_table_with_size(const struct st_hash_type *type, st_index_t size) 558 { 559 st_table *tab; 560 int n; 561 562 #ifdef HASH_LOG 563 #if HASH_LOG+0 < 0 120 564 { 121 if (newsize > size) return primes[i]; 122 } 123 /* Ran out of polynomials */ 124 return -1; /* should raise exception */ 125 #endif 126 } 565 const char *e = getenv("ST_HASH_LOG"); 566 if (!e || !*e) init_st = 1; 567 } 568 #endif 569 if (init_st == 0) { 570 init_st = 1; 571 atexit(stat_col); 572 } 573 #endif 574 575 n = get_power2(size); 576 #ifndef RUBY 577 if (n < 0) 578 return NULL; 579 #endif 580 tab = (st_table *) malloc(sizeof (st_table)); 581 if (tab == NULL) 582 return NULL; 583 tab->type = type; 584 tab->entry_power = n; 585 tab->bin_power = features[n].bin_power; 586 tab->size_ind = features[n].size_ind; 587 if (n <= MAX_POWER2_FOR_TABLES_WITHOUT_BINS) 588 tab->bins = NULL; 589 else { 590 tab->bins = (st_index_t *) malloc(bins_size(tab)); 591 if (tab->bins == NULL) { 592 free(tab); 593 return NULL; 594 } 595 } 596 tab->entries = (st_table_entry *) malloc(get_allocated_entries(tab) 597 * sizeof(st_table_entry)); 598 if (tab->entries == NULL) { 599 st_free_table(tab); 600 return NULL; 601 } 602 #ifdef ST_DEBUG 603 memset(tab->entries, ST_INIT_VAL_BYTE, 604 get_allocated_entries(tab) * sizeof(st_table_entry)); 605 if (tab->bins != NULL) 606 memset(tab->bins, ST_INIT_VAL_BYTE, bins_size(tab)); 607 #endif 608 make_tab_empty(tab); 609 tab->rebuilds_num = 0; 610 #ifdef ST_DEBUG 611 st_check(tab); 612 #endif 613 return tab; 614 } 615 616 #ifdef RUBY 617 /* Create and return table with TYPE which can hold a minimal number 618 of entries (see comments for get_power2). */ 619 st_table * 620 st_init_table(const struct st_hash_type *type) 621 { 622 return st_init_table_with_size(type, 0); 623 } 624 625 /* Create and return table which can hold a minimal number of 626 numbers. */ 627 st_table * 628 st_init_numtable(void) 629 { 630 return st_init_table(&type_numhash); 631 } 632 633 /* Create and return table which can hold SIZE numbers. */ 634 st_table * 635 st_init_numtable_with_size(st_index_t size) 636 { 637 return st_init_table_with_size(&type_numhash, size); 638 } 639 640 /* Create and return table which can hold a minimal number of 641 strings. */ 642 st_table * 643 st_init_strtable(void) 644 { 645 return st_init_table(&type_strhash); 646 } 647 648 /* Create and return table which can hold SIZE strings. */ 649 st_table * 650 st_init_strtable_with_size(st_index_t size) 651 { 652 return st_init_table_with_size(&type_strhash, size); 653 } 654 655 /* Create and return table which can hold a minimal number of strings 656 whose character case is ignored. */ 657 st_table * 658 st_init_strcasetable(void) 659 { 660 return st_init_table(&type_strcasehash); 661 } 662 663 /* Create and return table which can hold SIZE strings whose character 664 case is ignored. */ 665 st_table * 666 st_init_strcasetable_with_size(st_index_t size) 667 { 668 return st_init_table_with_size(&type_strcasehash, size); 669 } 670 671 /* Make table TAB empty. */ 672 void 673 st_clear(st_table *tab) 674 { 675 make_tab_empty(tab); 676 tab->rebuilds_num++; 677 #ifdef ST_DEBUG 678 st_check(tab); 679 #endif 680 } 681 #endif /* RUBY */ 682 683 /* Free table TAB space. */ 684 void 685 st_free_table(st_table *tab) 686 { 687 if (tab->bins != NULL) 688 free(tab->bins); 689 free(tab->entries); 690 free(tab); 691 } 692 693 #ifdef RUBY 694 /* Return byte size of memory allocted for table TAB. */ 695 size_t 696 st_memsize(const st_table *tab) 697 { 698 return(sizeof(st_table) 699 + (tab->bins == NULL ? 0 : bins_size(tab)) 700 + get_allocated_entries(tab) * sizeof(st_table_entry)); 701 } 702 #endif /* RUBY */ 703 704 static st_index_t 705 find_table_entry_ind(st_table *tab, st_hash_t hash_value, st_data_t key); 706 707 static st_index_t 708 find_table_bin_ind(st_table *tab, st_hash_t hash_value, st_data_t key); 709 710 static st_index_t 711 find_table_bin_ind_direct(st_table *table, st_hash_t hash_value, st_data_t key); 712 713 static st_index_t 714 find_table_bin_ptr_and_reserve(st_table *tab, st_hash_t *hash_value, 715 st_data_t key, st_index_t *bin_ind); 127 716 128 717 #ifdef HASH_LOG 129 static int collision = 0;130 static int init_st = 0;131 132 718 static void 133 stat_col() 134 { 135 FILE *f = fopen("/tmp/col", "w"); 136 fprintf(f, "collision: %d\n", collision); 137 fclose(f); 138 } 139 #endif 140 141 st_table* 142 st_init_table_with_size(type, size) 143 struct st_hash_type *type; 144 int size; 145 { 146 st_table *tbl; 147 148 #ifdef HASH_LOG 149 if (init_st == 0) { 150 init_st = 1; 151 atexit(stat_col); 152 } 153 #endif 154 155 size = new_size(size); /* round up to prime number */ 156 157 tbl = alloc(st_table); 158 tbl->type = type; 159 tbl->num_entries = 0; 160 tbl->num_bins = size; 161 tbl->bins = (st_table_entry **)Calloc(size, sizeof(st_table_entry*)); 162 163 return tbl; 164 } 165 166 st_table* 167 st_init_table(type) 168 struct st_hash_type *type; 169 { 170 return st_init_table_with_size(type, 0); 171 } 172 173 st_table* 174 st_init_numtable(void) 175 { 176 return st_init_table(&type_numhash); 177 } 178 179 st_table* 180 st_init_numtable_with_size(size) 181 int size; 182 { 183 return st_init_table_with_size(&type_numhash, size); 184 } 185 186 st_table* 187 st_init_strtable(void) 188 { 189 return st_init_table(&type_strhash); 190 } 191 192 st_table* 193 st_init_strtable_with_size(size) 194 int size; 195 { 196 return st_init_table_with_size(&type_strhash, size); 197 } 198 719 count_collision(const struct st_hash_type *type) 720 { 721 collision.all++; 722 if (type == &type_numhash) { 723 collision.num++; 724 } 725 else if (type == &type_strhash) { 726 collision.strcase++; 727 } 728 else if (type == &type_strcasehash) { 729 collision.str++; 730 } 731 } 732 733 #define COLLISION (collision_check ? count_collision(tab->type) : (void)0) 734 #define FOUND_BIN (collision_check ? collision.total++ : (void)0) 735 #define collision_check 0 736 #else 737 #define COLLISION 738 #define FOUND_BIN 739 #endif 740 741 /* If the number of entries in the table is at least REBUILD_THRESHOLD 742 times less than the entry array length, decrease the table 743 size. */ 744 #define REBUILD_THRESHOLD 4 745 746 #if REBUILD_THRESHOLD < 2 747 #error "REBUILD_THRESHOLD should be >= 2" 748 #endif 749 750 /* Rebuild table TAB. Rebuilding removes all deleted bins and entries 751 and can change size of the table entries and bins arrays. 752 Rebuilding is implemented by creation of a new table or by 753 compaction of the existing one. */ 754 static void 755 rebuild_table(st_table *tab) 756 { 757 st_index_t i, ni, bound; 758 unsigned int size_ind; 759 st_table *new_tab; 760 st_table_entry *entries, *new_entries; 761 st_table_entry *curr_entry_ptr; 762 st_index_t *bins; 763 st_index_t bin_ind; 764 765 st_assert(tab != NULL); 766 bound = tab->entries_bound; 767 entries = tab->entries; 768 if ((2 * tab->num_entries <= get_allocated_entries(tab) 769 && REBUILD_THRESHOLD * tab->num_entries > get_allocated_entries(tab)) 770 || tab->num_entries < (1 << MINIMAL_POWER2)) { 771 /* Compaction: */ 772 tab->num_entries = 0; 773 if (tab->bins != NULL) 774 initialize_bins(tab); 775 new_tab = tab; 776 new_entries = entries; 777 } 778 else { 779 new_tab = st_init_table_with_size(tab->type, 780 2 * tab->num_entries - 1); 781 new_entries = new_tab->entries; 782 } 783 ni = 0; 784 bins = new_tab->bins; 785 size_ind = get_size_ind(new_tab); 786 for (i = tab->entries_start; i < bound; i++) { 787 curr_entry_ptr = &entries[i]; 788 PREFETCH(entries + i + 1, 0); 789 if (EXPECT(DELETED_ENTRY_P(curr_entry_ptr), 0)) 790 continue; 791 if (&new_entries[ni] != curr_entry_ptr) 792 new_entries[ni] = *curr_entry_ptr; 793 if (EXPECT(bins != NULL, 1)) { 794 bin_ind = find_table_bin_ind_direct(new_tab, curr_entry_ptr->hash, 795 curr_entry_ptr->key); 796 st_assert(bin_ind != UNDEFINED_BIN_IND 797 && (tab == new_tab || new_tab->rebuilds_num == 0) 798 && IND_EMPTY_BIN_P(new_tab, bin_ind)); 799 set_bin(bins, size_ind, bin_ind, ni + ENTRY_BASE); 800 } 801 new_tab->num_entries++; 802 ni++; 803 } 804 if (new_tab != tab) { 805 tab->entry_power = new_tab->entry_power; 806 tab->bin_power = new_tab->bin_power; 807 tab->size_ind = new_tab->size_ind; 808 st_assert (tab->num_entries == ni && new_tab->num_entries == ni); 809 if (tab->bins != NULL) 810 free(tab->bins); 811 tab->bins = new_tab->bins; 812 free(tab->entries); 813 tab->entries = new_tab->entries; 814 free(new_tab); 815 } 816 tab->entries_start = 0; 817 tab->entries_bound = tab->num_entries; 818 tab->rebuilds_num++; 819 #ifdef ST_DEBUG 820 st_check(tab); 821 #endif 822 } 823 824 /* Return the next secondary hash index for table TAB using previous 825 index IND and PERTERB. Finally modulo of the function becomes a 826 full *cycle linear congruential generator*, in other words it 827 guarantees traversing all table bins in extreme case. 828 829 According the Hull-Dobell theorem a generator 830 "Xnext = (a*Xprev + c) mod m" is a full cycle generator iff 831 o m and c are relatively prime 832 o a-1 is divisible by all prime factors of m 833 o a-1 is divisible by 4 if m is divisible by 4. 834 835 For our case a is 5, c is 1, and m is a power of two. */ 836 static inline st_index_t 837 secondary_hash(st_index_t ind, st_table *tab, st_index_t *perterb) 838 { 839 *perterb >>= 11; 840 ind = (ind << 2) + ind + *perterb + 1; 841 return hash_bin(ind, tab); 842 } 843 844 /* Find an entry with HASH_VALUE and KEY in TABLE using a linear 845 search. Return the index of the found entry in array `entries`. 846 If it is not found, return UNDEFINED_ENTRY_IND. */ 847 static inline st_index_t 848 find_entry(st_table *tab, st_hash_t hash_value, st_data_t key) 849 { 850 st_index_t i, bound; 851 st_table_entry *entries; 852 853 bound = tab->entries_bound; 854 entries = tab->entries; 855 for (i = tab->entries_start; i < bound; i++) { 856 if (PTR_EQUAL(tab, &entries[i], hash_value, key)) 857 return i; 858 } 859 return UNDEFINED_ENTRY_IND; 860 } 861 862 /* Use the quadratic probing. The method has a better data locality 863 but more collisions than the current approach. In average it 864 results in a bit slower search. */ 865 /*#define QUADRATIC_PROBE*/ 866 867 /* Return index of entry with HASH_VALUE and KEY in table TAB. If 868 there is no such entry, return UNDEFINED_ENTRY_IND. */ 869 static st_index_t 870 find_table_entry_ind(st_table *tab, st_hash_t hash_value, st_data_t key) 871 { 872 st_index_t ind; 873 #ifdef QUADRATIC_PROBE 874 st_index_t d; 875 #else 876 st_index_t peterb; 877 #endif 878 st_index_t bin; 879 st_table_entry *entries = tab->entries; 880 881 st_assert(tab != NULL && tab->bins != NULL); 882 ind = hash_bin(hash_value, tab); 883 #ifdef QUADRATIC_PROBE 884 d = 1; 885 #else 886 peterb = hash_value; 887 #endif 888 FOUND_BIN; 889 for (;;) { 890 bin = get_bin(tab->bins, get_size_ind(tab), ind); 891 if (! EMPTY_OR_DELETED_BIN_P(bin) 892 && PTR_EQUAL(tab, &entries[bin - ENTRY_BASE], hash_value, key)) 893 break; 894 else if (EMPTY_BIN_P(bin)) 895 return UNDEFINED_ENTRY_IND; 896 #ifdef QUADRATIC_PROBE 897 ind = hash_bin(ind + d, tab); 898 d++; 899 #else 900 ind = secondary_hash(ind, tab, &peterb); 901 #endif 902 COLLISION; 903 } 904 return bin; 905 } 906 907 /* Find and return index of table TAB bin corresponding to an entry 908 with HASH_VALUE and KEY. If there is no such bin, return 909 UNDEFINED_BIN_IND. */ 910 static st_index_t 911 find_table_bin_ind(st_table *tab, st_hash_t hash_value, st_data_t key) 912 { 913 st_index_t ind; 914 #ifdef QUADRATIC_PROBE 915 st_index_t d; 916 #else 917 st_index_t peterb; 918 #endif 919 st_index_t bin; 920 st_table_entry *entries = tab->entries; 921 922 st_assert(tab != NULL && tab->bins != NULL); 923 ind = hash_bin(hash_value, tab); 924 #ifdef QUADRATIC_PROBE 925 d = 1; 926 #else 927 peterb = hash_value; 928 #endif 929 FOUND_BIN; 930 for (;;) { 931 bin = get_bin(tab->bins, get_size_ind(tab), ind); 932 if (! EMPTY_OR_DELETED_BIN_P(bin) 933 && PTR_EQUAL(tab, &entries[bin - ENTRY_BASE], hash_value, key)) 934 break; 935 else if (EMPTY_BIN_P(bin)) 936 return UNDEFINED_BIN_IND; 937 #ifdef QUADRATIC_PROBE 938 ind = hash_bin(ind + d, tab); 939 d++; 940 #else 941 ind = secondary_hash(ind, tab, &peterb); 942 #endif 943 COLLISION; 944 } 945 return ind; 946 } 947 948 /* Find and return index of table TAB bin corresponding to an entry 949 with HASH_VALUE and KEY. The entry should be in the table 950 already. */ 951 static st_index_t 952 find_table_bin_ind_direct(st_table *tab, st_hash_t hash_value, st_data_t key) 953 { 954 st_index_t ind; 955 #ifdef QUADRATIC_PROBE 956 st_index_t d; 957 #else 958 st_index_t peterb; 959 #endif 960 st_index_t bin; 961 st_table_entry *entries = tab->entries; 962 963 st_assert(tab != NULL && tab->bins != NULL); 964 ind = hash_bin(hash_value, tab); 965 #ifdef QUADRATIC_PROBE 966 d = 1; 967 #else 968 peterb = hash_value; 969 #endif 970 FOUND_BIN; 971 for (;;) { 972 bin = get_bin(tab->bins, get_size_ind(tab), ind); 973 if (EMPTY_OR_DELETED_BIN_P(bin)) 974 return ind; 975 st_assert (! PTR_EQUAL(tab, &entries[bin - ENTRY_BASE], hash_value, key)); 976 #ifdef QUADRATIC_PROBE 977 ind = hash_bin(ind + d, tab); 978 d++; 979 #else 980 ind = secondary_hash(ind, tab, &peterb); 981 #endif 982 COLLISION; 983 } 984 } 985 986 /* Return index of table TAB bin for HASH_VALUE and KEY through 987 BIN_IND and the pointed value as the function result. Reserve the 988 bin for inclusion of the corresponding entry into the table if it 989 is not there yet. We always find such bin as bins array length is 990 bigger entries array. Although we can reuse a deleted bin, the 991 result bin value is always empty if the table has no entry with 992 KEY. Return the entries array index of the found entry or 993 UNDEFINED_ENTRY_IND if it is not found. */ 994 static st_index_t 995 find_table_bin_ptr_and_reserve(st_table *tab, st_hash_t *hash_value, 996 st_data_t key, st_index_t *bin_ind) { 997 st_index_t ind; 998 st_hash_t curr_hash_value = *hash_value; 999 #ifdef QUADRATIC_PROBE 1000 st_index_t d; 1001 #else 1002 st_index_t peterb; 1003 #endif 1004 st_index_t entry_index; 1005 st_index_t first_deleted_bin_ind; 1006 st_table_entry *entries; 1007 1008 st_assert(tab != NULL && tab->bins != NULL 1009 && tab->entries_bound <= get_allocated_entries(tab) 1010 && tab->entries_start <= tab->entries_bound); 1011 ind = hash_bin(curr_hash_value, tab); 1012 #ifdef QUADRATIC_PROBE 1013 d = 1; 1014 #else 1015 peterb = curr_hash_value; 1016 #endif 1017 FOUND_BIN; 1018 first_deleted_bin_ind = UNDEFINED_BIN_IND; 1019 entries = tab->entries; 1020 for (;;) { 1021 entry_index = get_bin(tab->bins, get_size_ind(tab), ind); 1022 if (EMPTY_BIN_P(entry_index)) { 1023 tab->num_entries++; 1024 entry_index = UNDEFINED_ENTRY_IND; 1025 if (first_deleted_bin_ind != UNDEFINED_BIN_IND) { 1026 /* We can reuse bin of a deleted entry. */ 1027 ind = first_deleted_bin_ind; 1028 MARK_BIN_EMPTY(tab, ind); 1029 } 1030 break; 1031 } else if (! DELETED_BIN_P(entry_index)) { 1032 if (PTR_EQUAL(tab, &entries[entry_index - ENTRY_BASE], curr_hash_value, key)) 1033 break; 1034 } else if (first_deleted_bin_ind == UNDEFINED_BIN_IND) 1035 first_deleted_bin_ind = ind; 1036 #ifdef QUADRATIC_PROBE 1037 ind = hash_bin(ind + d, tab); 1038 d++; 1039 #else 1040 ind = secondary_hash(ind, tab, &peterb); 1041 #endif 1042 COLLISION; 1043 } 1044 *bin_ind = ind; 1045 return entry_index; 1046 } 1047 1048 /* Find an entry with KEY in table TAB. Return non-zero if we found 1049 it. Set up *RECORD to the found entry record. */ 1050 int 1051 st_lookup(st_table *tab, st_data_t key, st_data_t *value) 1052 { 1053 st_index_t bin; 1054 st_hash_t hash = do_hash(key, tab); 1055 1056 if (tab->bins == NULL) { 1057 bin = find_entry(tab, hash, key); 1058 if (bin == UNDEFINED_ENTRY_IND) 1059 return 0; 1060 } else { 1061 bin = find_table_entry_ind(tab, hash, key); 1062 if (bin == UNDEFINED_ENTRY_IND) 1063 return 0; 1064 bin -= ENTRY_BASE; 1065 } 1066 if (value != 0) 1067 *value = tab->entries[bin].record; 1068 return 1; 1069 } 1070 1071 #ifdef RUBY 1072 /* Find an entry with KEY in table TAB. Return non-zero if we found 1073 it. Set up *RESULT to the found table entry key. */ 1074 int 1075 st_get_key(st_table *tab, st_data_t key, st_data_t *result) 1076 { 1077 st_index_t bin; 1078 st_hash_t hash = do_hash(key, tab); 1079 1080 if (tab->bins == NULL) { 1081 bin = find_entry(tab, hash, key); 1082 if (bin == UNDEFINED_ENTRY_IND) 1083 return 0; 1084 } else { 1085 bin = find_table_entry_ind(tab, hash, key); 1086 if (bin == UNDEFINED_ENTRY_IND) 1087 return 0; 1088 bin -= ENTRY_BASE; 1089 } 1090 if (result != 0) 1091 *result = tab->entries[bin].key; 1092 return 1; 1093 } 1094 #endif /* RUBY */ 1095 1096 /* Check the table and rebuild it if it is necessary. */ 1097 static inline void 1098 rebuild_table_if_necessary (st_table *tab) 1099 { 1100 st_index_t bound = tab->entries_bound; 1101 1102 if (bound == get_allocated_entries(tab)) 1103 rebuild_table(tab); 1104 st_assert(tab->entries_bound < get_allocated_entries(tab)); 1105 } 1106 1107 /* Insert (KEY, VALUE) into table TAB and return zero. If there is 1108 already entry with KEY in the table, return nonzero and and update 1109 the value of the found entry. */ 1110 int 1111 st_insert(st_table *tab, st_data_t key, st_data_t value) 1112 { 1113 st_table_entry *entry; 1114 st_index_t bin; 1115 st_index_t ind; 1116 st_hash_t hash_value; 1117 st_index_t bin_ind; 1118 int new_p; 1119 1120 rebuild_table_if_necessary(tab); 1121 hash_value = do_hash(key, tab); 1122 if (tab->bins == NULL) { 1123 bin = find_entry(tab, hash_value, key); 1124 new_p = bin == UNDEFINED_ENTRY_IND; 1125 if (new_p) 1126 tab->num_entries++; 1127 bin_ind = UNDEFINED_BIN_IND; 1128 } else { 1129 bin = find_table_bin_ptr_and_reserve(tab, &hash_value, 1130 key, &bin_ind); 1131 new_p = bin == UNDEFINED_ENTRY_IND; 1132 bin -= ENTRY_BASE; 1133 } 1134 if (new_p) { 1135 st_assert(tab->entries_bound < get_allocated_entries(tab)); 1136 ind = tab->entries_bound++; 1137 entry = &tab->entries[ind]; 1138 entry->hash = hash_value; 1139 entry->key = key; 1140 entry->record = value; 1141 if (bin_ind != UNDEFINED_BIN_IND) 1142 set_bin(tab->bins, get_size_ind(tab), bin_ind, ind + ENTRY_BASE); 1143 #ifdef ST_DEBUG 1144 st_check(tab); 1145 #endif 1146 return 0; 1147 } 1148 tab->entries[bin].record = value; 1149 #ifdef ST_DEBUG 1150 st_check(tab); 1151 #endif 1152 return 1; 1153 } 1154 1155 #ifdef RUBY 1156 /* Insert (KEY, VALUE, HASH) into table TAB. The table should not have 1157 entry with KEY before the insertion. */ 1158 static inline void 1159 st_add_direct_with_hash(st_table *tab, 1160 st_data_t key, st_data_t value, st_hash_t hash) { 1161 st_table_entry *entry; 1162 st_index_t ind; 1163 st_index_t bin_ind; 1164 1165 rebuild_table_if_necessary(tab); 1166 ind = tab->entries_bound++; 1167 entry = &tab->entries[ind]; 1168 entry->hash = hash; 1169 entry->key = key; 1170 entry->record = value; 1171 tab->num_entries++; 1172 if (tab->bins != NULL) { 1173 bin_ind = find_table_bin_ind_direct(tab, hash, key); 1174 st_assert (bin_ind != UNDEFINED_BIN_IND); 1175 set_bin(tab->bins, get_size_ind(tab), bin_ind, ind + ENTRY_BASE); 1176 } 1177 #ifdef ST_DEBUG 1178 st_check(tab); 1179 #endif 1180 } 1181 1182 /* Insert (KEY, VALUE) into table TAB. The table should not have 1183 entry with KEY before the insertion. */ 199 1184 void 200 st_free_table(table) 201 st_table *table; 202 { 203 register st_table_entry *ptr, *next; 204 int i; 205 206 for(i = 0; i < table->num_bins; i++) { 207 ptr = table->bins[i]; 208 while (ptr != 0) { 209 next = ptr->next; 210 free(ptr); 211 ptr = next; 1185 st_add_direct(st_table *tab, st_data_t key, st_data_t value) 1186 { 1187 st_hash_t hash_value; 1188 1189 hash_value = do_hash(key, tab); 1190 st_add_direct_with_hash(tab, key, value, hash_value); 1191 } 1192 1193 /* Insert (FUNC(KEY), VALUE) into table TAB and return zero. If 1194 there is already entry with KEY in the table, return nonzero and 1195 and update the value of the found entry. */ 1196 int 1197 st_insert2(st_table *tab, st_data_t key, st_data_t value, 1198 st_data_t (*func)(st_data_t)) { 1199 st_table_entry *entry; 1200 st_index_t bin; 1201 st_index_t ind, check; 1202 st_hash_t hash_value; 1203 st_index_t bin_ind; 1204 int new_p; 1205 1206 rebuild_table_if_necessary (tab); 1207 hash_value = do_hash(key, tab); 1208 if (tab->bins == NULL) { 1209 bin = find_entry(tab, hash_value, key); 1210 new_p = bin == UNDEFINED_ENTRY_IND; 1211 bin_ind = UNDEFINED_BIN_IND; 1212 } else { 1213 bin = find_table_bin_ptr_and_reserve(tab, &hash_value, 1214 key, &bin_ind); 1215 new_p = bin == UNDEFINED_ENTRY_IND; 1216 bin -= ENTRY_BASE; 1217 } 1218 if (new_p) { 1219 st_assert(tab->entries_bound < get_allocated_entries(tab)); 1220 check = tab->rebuilds_num; 1221 key = (*func)(key); 1222 st_assert(check == tab->rebuilds_num 1223 && do_hash(key, tab) == hash_value); 1224 ind = tab->entries_bound++; 1225 entry = &tab->entries[ind]; 1226 entry->hash = hash_value; 1227 entry->key = key; 1228 entry->record = value; 1229 if (bin_ind != UNDEFINED_BIN_IND) 1230 set_bin(tab->bins, get_size_ind(tab), bin_ind, ind + ENTRY_BASE); 1231 #ifdef ST_DEBUG 1232 st_check(tab); 1233 #endif 1234 return 0; 1235 } 1236 tab->entries[bin].record = value; 1237 #ifdef ST_DEBUG 1238 st_check(tab); 1239 #endif 1240 return 1; 1241 } 1242 1243 /* Create and return a copy of table OLD_TAB. */ 1244 st_table * 1245 st_copy(st_table *old_tab) 1246 { 1247 st_table *new_tab; 1248 1249 new_tab = (st_table *) malloc(sizeof(st_table)); 1250 if (new_tab == NULL) 1251 return NULL; 1252 *new_tab = *old_tab; 1253 if (old_tab->bins == NULL) 1254 new_tab->bins = NULL; 1255 else { 1256 new_tab->bins = (st_index_t *) malloc(bins_size(old_tab)); 1257 if (new_tab->bins == NULL) { 1258 free(new_tab); 1259 return NULL; 212 1260 } 213 1261 } 214 free(table->bins); 215 free(table); 216 } 217 218 #define PTR_NOT_EQUAL(table, ptr, hash_val, key) \ 219 ((ptr) != 0 && (ptr->hash != (hash_val) || !EQUAL((table), (key), (ptr)->key))) 220 221 #ifdef HASH_LOG 222 #define COLLISION collision++ 223 #else 224 #define COLLISION 225 #endif 226 227 #define FIND_ENTRY(table, ptr, hash_val, bin_pos) do {\ 228 bin_pos = hash_val%(table)->num_bins;\ 229 ptr = (table)->bins[bin_pos];\ 230 if (PTR_NOT_EQUAL(table, ptr, hash_val, key)) {\ 231 COLLISION;\ 232 while (PTR_NOT_EQUAL(table, ptr->next, hash_val, key)) {\ 233 ptr = ptr->next;\ 234 }\ 235 ptr = ptr->next;\ 236 }\ 237 } while (0) 1262 new_tab->entries = (st_table_entry *) malloc(get_allocated_entries(old_tab) 1263 * sizeof(st_table_entry)); 1264 if (new_tab->entries == NULL) { 1265 st_free_table(new_tab); 1266 return NULL; 1267 } 1268 MEMCPY(new_tab->entries, old_tab->entries, st_table_entry, 1269 get_allocated_entries(old_tab)); 1270 if (old_tab->bins != NULL) 1271 MEMCPY(new_tab->bins, old_tab->bins, char, bins_size(old_tab)); 1272 #ifdef ST_DEBUG 1273 st_check(new_tab); 1274 #endif 1275 return new_tab; 1276 } 1277 #endif /* RUBY */ 1278 1279 /* Update the entries start of table TAB after removing an entry 1280 with index N in the array entries. */ 1281 static inline void 1282 update_range_for_deleted(st_table *tab, st_index_t n) 1283 { 1284 /* Do not update entries_bound here. Otherwise, we can fill all 1285 bins by deleted entry value before rebuilding the table. */ 1286 if (tab->entries_start == n) 1287 tab->entries_start = n + 1; 1288 } 1289 1290 #ifdef RUBY 1291 /* Delete entry with KEY from table TAB, set up *VALUE (unless 1292 VALUE is zero) from deleted table entry, and return non-zero. If 1293 there is no entry with KEY in the table, clear *VALUE (unless VALUE 1294 is zero), and return zero. */ 1295 static int 1296 st_general_delete(st_table *tab, st_data_t *key, st_data_t *value) 1297 { 1298 st_table_entry *entry; 1299 st_index_t bin; 1300 st_index_t bin_ind; 1301 st_hash_t hash; 1302 1303 st_assert(tab != NULL); 1304 hash = do_hash(*key, tab); 1305 if (tab->bins == NULL) { 1306 bin = find_entry(tab, hash, *key); 1307 if (bin == UNDEFINED_ENTRY_IND) { 1308 if (value != 0) *value = 0; 1309 return 0; 1310 } 1311 } else { 1312 bin_ind = find_table_bin_ind(tab, hash, *key); 1313 if (bin_ind == UNDEFINED_BIN_IND) { 1314 if (value != 0) *value = 0; 1315 return 0; 1316 } 1317 bin = get_bin(tab->bins, get_size_ind(tab), bin_ind) - ENTRY_BASE; 1318 MARK_BIN_DELETED(tab, bin_ind); 1319 } 1320 entry = &tab->entries[bin]; 1321 *key = entry->key; 1322 if (value != 0) *value = entry->record; 1323 MARK_ENTRY_DELETED(entry); 1324 tab->num_entries--; 1325 update_range_for_deleted(tab, bin); 1326 #ifdef ST_DEBUG 1327 st_check(tab); 1328 #endif 1329 return 1; 1330 } 238 1331 239 1332 int 240 st_lookup(table, key, value) 241 st_table *table; 242 register st_data_t key; 243 st_data_t *value; 244 { 245 unsigned int hash_val, bin_pos; 246 register st_table_entry *ptr; 247 248 hash_val = do_hash(key, table); 249 FIND_ENTRY(table, ptr, hash_val, bin_pos); 250 251 if (ptr == 0) { 252 return 0; 253 } 254 else { 255 if (value != 0) *value = ptr->record; 256 return 1; 257 } 258 } 259 260 #define ADD_DIRECT(table, key, value, hash_val, bin_pos)\ 261 do {\ 262 st_table_entry *entry;\ 263 if (table->num_entries/(table->num_bins) > ST_DEFAULT_MAX_DENSITY) {\ 264 rehash(table);\ 265 bin_pos = hash_val % table->num_bins;\ 266 }\ 267 \ 268 entry = alloc(st_table_entry);\ 269 \ 270 entry->hash = hash_val;\ 271 entry->key = key;\ 272 entry->record = value;\ 273 entry->next = table->bins[bin_pos];\ 274 table->bins[bin_pos] = entry;\ 275 table->num_entries++;\ 276 } while (0) 277 1333 st_delete(st_table *tab, st_data_t *key, st_data_t *value) 1334 { 1335 return st_general_delete(tab, key, value); 1336 } 1337 1338 /* The function and other functions with suffix '_safe' or '_check' 1339 are originated from the previous implementation of the hash tables. 1340 It was necessary for correct deleting entries during traversing 1341 tables. The current implementation permits deletion during 1342 traversing without a specific way to do this. */ 278 1343 int 279 st_insert(table, key, value) 280 register st_table *table; 281 register st_data_t key; 282 st_data_t value; 283 { 284 unsigned int hash_val, bin_pos; 285 register st_table_entry *ptr; 286 287 hash_val = do_hash(key, table); 288 FIND_ENTRY(table, ptr, hash_val, bin_pos); 289 290 if (ptr == 0) { 291 ADD_DIRECT(table, key, value, hash_val, bin_pos); 292 return 0; 293 } 294 else { 295 ptr->record = value; 296 return 1; 297 } 298 } 299 300 void 301 st_add_direct(table, key, value) 302 st_table *table; 303 st_data_t key; 304 st_data_t value; 305 { 306 unsigned int hash_val, bin_pos; 307 308 hash_val = do_hash(key, table); 309 bin_pos = hash_val % table->num_bins; 310 ADD_DIRECT(table, key, value, hash_val, bin_pos); 311 } 312 313 static void 314 rehash(table) 315 register st_table *table; 316 { 317 register st_table_entry *ptr, *next, **new_bins; 318 int i, old_num_bins = table->num_bins, new_num_bins; 319 unsigned int hash_val; 320 321 new_num_bins = new_size(old_num_bins+1); 322 new_bins = (st_table_entry**)Calloc(new_num_bins, sizeof(st_table_entry*)); 323 324 for(i = 0; i < old_num_bins; i++) { 325 ptr = table->bins[i]; 326 while (ptr != 0) { 327 next = ptr->next; 328 hash_val = ptr->hash % new_num_bins; 329 ptr->next = new_bins[hash_val]; 330 new_bins[hash_val] = ptr; 331 ptr = next; 332 } 333 } 334 free(table->bins); 335 table->num_bins = new_num_bins; 336 table->bins = new_bins; 337 } 338 339 st_table* 340 st_copy(old_table) 341 st_table *old_table; 342 { 343 st_table *new_table; 344 st_table_entry *ptr, *entry; 345 int i, num_bins = old_table->num_bins; 346 347 new_table = alloc(st_table); 348 if (new_table == 0) { 349 return 0; 350 } 351 352 *new_table = *old_table; 353 new_table->bins = (st_table_entry**) 354 Calloc((unsigned)num_bins, sizeof(st_table_entry*)); 355 356 if (new_table->bins == 0) { 357 free(new_table); 358 return 0; 359 } 360 361 for(i = 0; i < num_bins; i++) { 362 new_table->bins[i] = 0; 363 ptr = old_table->bins[i]; 364 while (ptr != 0) { 365 entry = alloc(st_table_entry); 366 if (entry == 0) { 367 free(new_table->bins); 368 free(new_table); 369 return 0; 1344 st_delete_safe(st_table *tab, st_data_t *key, st_data_t *value, 1345 st_data_t never ATTRIBUTE_UNUSED) { 1346 return st_general_delete(tab, key, value); 1347 } 1348 1349 /* If table TAB is empty, clear *VALUE (unless VALUE is zero), and 1350 return zero. Otherwise, remove the first entry in the table. 1351 Return its key through KEY and its record through VALUE (unless 1352 VALUE is zero). */ 1353 int 1354 st_shift(st_table *tab, st_data_t *key, st_data_t *value) 1355 { 1356 st_index_t i, bound; 1357 st_index_t bin; 1358 st_table_entry *entries, *curr_entry_ptr; 1359 st_index_t bin_ind; 1360 1361 entries = tab->entries; 1362 bound = tab->entries_bound; 1363 for (i = tab->entries_start; i < bound; i++) { 1364 curr_entry_ptr = &entries[i]; 1365 if (! DELETED_ENTRY_P(curr_entry_ptr)) { 1366 if (value != 0) *value = curr_entry_ptr->record; 1367 *key = curr_entry_ptr->key; 1368 if (tab->bins == NULL) { 1369 bin = find_entry(tab, curr_entry_ptr->hash, curr_entry_ptr->key); 1370 st_assert(bin != UNDEFINED_ENTRY_IND 1371 && &entries[bin] == curr_entry_ptr); 1372 } else { 1373 bin_ind = find_table_bin_ind(tab, curr_entry_ptr->hash, 1374 curr_entry_ptr->key); 1375 st_assert(bin_ind != UNDEFINED_BIN_IND 1376 && &entries[get_bin(tab->bins, get_size_ind(tab), bin_ind) 1377 - ENTRY_BASE] == curr_entry_ptr); 1378 MARK_BIN_DELETED(tab, bin_ind); 370 1379 } 371 *entry = *ptr; 372 entry->next = new_table->bins[i]; 373 new_table->bins[i] = entry; 374 ptr = ptr->next; 375 } 376 } 377 return new_table; 378 } 379 380 int 381 st_delete(table, key, value) 382 register st_table *table; 383 register st_data_t *key; 384 st_data_t *value; 385 { 386 unsigned int hash_val; 387 st_table_entry *tmp; 388 register st_table_entry *ptr; 389 390 hash_val = do_hash_bin(*key, table); 391 ptr = table->bins[hash_val]; 392 393 if (ptr == 0) { 394 if (value != 0) *value = 0; 395 return 0; 396 } 397 398 if (EQUAL(table, *key, ptr->key)) { 399 table->bins[hash_val] = ptr->next; 400 table->num_entries--; 401 if (value != 0) *value = ptr->record; 402 *key = ptr->key; 403 free(ptr); 404 return 1; 405 } 406 407 for(; ptr->next != 0; ptr = ptr->next) { 408 if (EQUAL(table, ptr->next->key, *key)) { 409 tmp = ptr->next; 410 ptr->next = ptr->next->next; 411 table->num_entries--; 412 if (value != 0) *value = tmp->record; 413 *key = tmp->key; 414 free(tmp); 1380 MARK_ENTRY_DELETED(curr_entry_ptr); 1381 tab->num_entries--; 1382 update_range_for_deleted(tab, i); 1383 #ifdef ST_DEBUG 1384 st_check(tab); 1385 #endif 415 1386 return 1; 416 1387 } 417 1388 } 418 1389 st_assert(tab->num_entries == 0); 1390 tab->entries_start = tab->entries_bound = 0; 1391 if (value != 0) *value = 0; 419 1392 return 0; 420 1393 } 421 1394 1395 /* See comments for function st_delete_safe. */ 1396 void 1397 st_cleanup_safe(st_table *tab ATTRIBUTE_UNUSED, 1398 st_data_t never ATTRIBUTE_UNUSED) { 1399 } 1400 1401 /* Find entry with KEY in table TAB, call FUNC with the key and the 1402 value of the found entry, and non-zero as the 3rd argument. If the 1403 entry is not found, call FUNC with KEY, and 2 zero arguments. If 1404 the call returns ST_CONTINUE, the table will have an entry with key 1405 and value returned by FUNC through the 1st and 2nd parameters. If 1406 the call of FUNC returns ST_DELETE, the table will not have entry 1407 with KEY. The function returns flag of that the entry with KEY was 1408 in the table before the call. */ 422 1409 int 423 st_delete_safe(table, key, value, never) 424 register st_table *table; 425 register st_data_t *key; 426 st_data_t *value; 427 st_data_t never; 428 { 429 unsigned int hash_val; 430 register st_table_entry *ptr; 431 432 hash_val = do_hash_bin(*key, table); 433 ptr = table->bins[hash_val]; 434 435 if (ptr == 0) { 436 if (value != 0) *value = 0; 437 return 0; 438 } 439 440 for(; ptr != 0; ptr = ptr->next) { 441 if ((ptr->key != never) && EQUAL(table, ptr->key, *key)) { 442 table->num_entries--; 443 *key = ptr->key; 444 if (value != 0) *value = ptr->record; 445 ptr->key = ptr->record = never; 446 return 1; 1410 st_update(st_table *tab, st_data_t key, 1411 st_update_callback_func *func, st_data_t arg) { 1412 st_table_entry *entry = NULL; /* to avoid uninitialized value warning */ 1413 st_index_t bin = 0; /* Ditto */ 1414 st_table_entry *entries; 1415 st_index_t bin_ind; 1416 st_data_t value = 0, old_key; 1417 st_index_t check; 1418 int retval, existing; 1419 st_hash_t hash = do_hash(key, tab); 1420 1421 entries = tab->entries; 1422 if (tab->bins == NULL) { 1423 bin = find_entry(tab, hash, key); 1424 existing = bin != UNDEFINED_ENTRY_IND; 1425 entry = &entries[bin]; 1426 bin_ind = UNDEFINED_BIN_IND; 1427 } else { 1428 bin_ind = find_table_bin_ind(tab, hash, key); 1429 existing = bin_ind != UNDEFINED_BIN_IND; 1430 if (existing) { 1431 bin = get_bin(tab->bins, get_size_ind(tab), bin_ind) - ENTRY_BASE; 1432 entry = &entries[bin]; 447 1433 } 448 1434 } 449 1435 if (existing) { 1436 key = entry->key; 1437 value = entry->record; 1438 } 1439 old_key = key; 1440 check = tab->rebuilds_num; 1441 retval = (*func)(&key, &value, arg, existing); 1442 st_assert(check == tab->rebuilds_num); 1443 switch (retval) { 1444 case ST_CONTINUE: 1445 if (! existing) { 1446 st_add_direct_with_hash(tab, key, value, hash); 1447 break; 1448 } 1449 if (old_key != key) { 1450 entry->key = key; 1451 } 1452 entry->record = value; 1453 break; 1454 case ST_DELETE: 1455 if (existing) { 1456 if (bin_ind != UNDEFINED_BIN_IND) 1457 MARK_BIN_DELETED(tab, bin_ind); 1458 MARK_ENTRY_DELETED(entry); 1459 tab->num_entries--; 1460 update_range_for_deleted(tab, bin); 1461 #ifdef ST_DEBUG 1462 st_check(tab); 1463 #endif 1464 } 1465 break; 1466 } 1467 #ifdef ST_DEBUG 1468 st_check(tab); 1469 #endif 1470 return existing; 1471 } 1472 #endif /* RUBY */ 1473 1474 /* Traverse all entries in table TAB calling FUNC with current entry 1475 key and value and zero. If the call returns ST_STOP, stop 1476 traversing. If the call returns ST_DELETE, delete the current 1477 entry from the table. In case of ST_CHECK or ST_CONTINUE, continue 1478 traversing. The function returns zero unless an error is found. 1479 CHECK_P is flag of st_foreach_check call. The behavior is a bit 1480 different for ST_CHECK and when the current element is removed 1481 during traversing. */ 1482 static inline int 1483 st_general_foreach(st_table *tab, int (*func)(ANYARGS), st_data_t arg, 1484 int check_p) { 1485 st_index_t bin; 1486 st_index_t bin_ind; 1487 st_table_entry *entries, *curr_entry_ptr; 1488 enum st_retval retval; 1489 st_index_t i, rebuilds_num; 1490 st_hash_t hash; 1491 st_data_t key; 1492 int error_p, packed_p = tab->bins == NULL; 1493 1494 st_assert(tab->entries_start <= tab->entries_bound); 1495 entries = tab->entries; 1496 /* The bound can change inside the loop even without rebuilding 1497 the table, e.g. by an entry inesrtion. */ 1498 for (i = tab->entries_start; i < tab->entries_bound; i++) { 1499 curr_entry_ptr = &entries[i]; 1500 if (EXPECT(DELETED_ENTRY_P(curr_entry_ptr), 0)) 1501 continue; 1502 key = curr_entry_ptr->key; 1503 rebuilds_num = tab->rebuilds_num; 1504 hash = curr_entry_ptr->hash; 1505 retval = (*func)(key, curr_entry_ptr->record, arg, 0); 1506 if (rebuilds_num != tab->rebuilds_num) { 1507 entries = tab->entries; 1508 packed_p = tab->bins == NULL; 1509 if (packed_p) { 1510 i = find_entry(tab, hash, key); 1511 error_p = i == UNDEFINED_ENTRY_IND; 1512 } else { 1513 i = find_table_entry_ind(tab, hash, key); 1514 error_p = i == UNDEFINED_ENTRY_IND; 1515 i -= ENTRY_BASE; 1516 } 1517 if (error_p && check_p) { 1518 /* call func with error notice */ 1519 retval = (*func)(0, 0, arg, 1); 1520 #ifdef ST_DEBUG 1521 st_check(tab); 1522 #endif 1523 return 1; 1524 } 1525 curr_entry_ptr = &entries[i]; 1526 } 1527 switch (retval) { 1528 case ST_CONTINUE: 1529 break; 1530 case ST_CHECK: 1531 if (check_p) 1532 break; 1533 case ST_STOP: 1534 #ifdef ST_DEBUG 1535 st_check(tab); 1536 #endif 1537 return 0; 1538 case ST_DELETE: 1539 if (packed_p) { 1540 bin = find_entry(tab, hash, curr_entry_ptr->key); 1541 if (bin == UNDEFINED_ENTRY_IND) 1542 break; 1543 } else { 1544 bin_ind = find_table_bin_ind(tab, hash, curr_entry_ptr->key); 1545 if (bin_ind == UNDEFINED_BIN_IND) 1546 break; 1547 bin = get_bin(tab->bins, get_size_ind(tab), bin_ind) - ENTRY_BASE; 1548 MARK_BIN_DELETED(tab, bin_ind); 1549 } 1550 st_assert(&entries[bin] == curr_entry_ptr); 1551 MARK_ENTRY_DELETED(curr_entry_ptr); 1552 tab->num_entries--; 1553 update_range_for_deleted(tab, bin); 1554 #ifdef ST_DEBUG 1555 st_check(tab); 1556 #endif 1557 break; 1558 } 1559 } 1560 #ifdef ST_DEBUG 1561 st_check(tab); 1562 #endif 450 1563 return 0; 451 1564 } 452 1565 453 static int454 #if defined(__GNUC__)455 delete_never(st_data_t key __attribute__ ((unused)), st_data_t value,456 st_data_t never)457 #else458 delete_never(key, value, never)459 st_data_t key, value, never;460 #endif461 {462 if (value == never) return ST_DELETE;463 return ST_CONTINUE;464 }465 466 void467 st_cleanup_safe(table, never)468 st_table *table;469 st_data_t never;470 {471 int num_entries = table->num_entries;472 473 st_foreach(table, delete_never, never);474 table->num_entries = num_entries;475 }476 477 1566 int 478 st_foreach(table, func, arg) 479 st_table *table; 480 int (*func)(); 481 st_data_t arg; 482 { 483 st_table_entry *ptr, *last, *tmp; 484 enum st_retval retval; 485 int i; 486 487 for(i = 0; i < table->num_bins; i++) { 488 last = 0; 489 for(ptr = table->bins[i]; ptr != 0;) { 490 retval = (*func)(ptr->key, ptr->record, arg); 491 switch (retval) { 492 case ST_CHECK: /* check if hash is modified during iteration */ 493 tmp = 0; 494 if (i < table->num_bins) { 495 for (tmp = table->bins[i]; tmp; tmp=tmp->next) { 496 if (tmp == ptr) break; 497 } 498 } 499 if (!tmp) { 500 /* call func with error notice */ 501 return 1; 502 } 503 /* fall through */ 504 case ST_CONTINUE: 505 last = ptr; 506 ptr = ptr->next; 507 break; 508 case ST_STOP: 509 return 0; 510 case ST_DELETE: 511 tmp = ptr; 512 if (last == 0) { 513 table->bins[i] = ptr->next; 514 } 515 else { 516 last->next = ptr->next; 517 } 518 ptr = ptr->next; 519 free(tmp); 520 table->num_entries--; 1567 st_foreach(st_table *tab, int (*func)(ANYARGS), st_data_t arg) 1568 { 1569 return st_general_foreach(tab, func, arg, FALSE); 1570 } 1571 1572 #ifdef RUBY 1573 /* See comments for function st_delete_safe. */ 1574 int 1575 st_foreach_check(st_table *tab, int (*func)(ANYARGS), st_data_t arg, 1576 st_data_t never ATTRIBUTE_UNUSED) { 1577 return st_general_foreach(tab, func, arg, TRUE); 1578 } 1579 1580 /* Set up array KEYS by at most SIZE keys of head table TAB entries. 1581 Return the number of keys set up in array KEYS. */ 1582 static inline st_index_t 1583 st_general_keys(st_table *tab, st_data_t *keys, st_index_t size) 1584 { 1585 st_index_t i, bound; 1586 st_data_t key, *keys_start, *keys_end; 1587 st_table_entry *curr_entry_ptr, *entries = tab->entries; 1588 1589 bound = tab->entries_bound; 1590 keys_start = keys; 1591 keys_end = keys + size; 1592 for (i = tab->entries_start; i < bound; i++) { 1593 if (keys == keys_end) 1594 break; 1595 curr_entry_ptr = &entries[i]; 1596 key = curr_entry_ptr->key; 1597 if (! DELETED_ENTRY_P(curr_entry_ptr)) 1598 *keys++ = key; 1599 } 1600 1601 return keys - keys_start; 1602 } 1603 1604 st_index_t 1605 st_keys(st_table *tab, st_data_t *keys, st_index_t size) 1606 { 1607 return st_general_keys(tab, keys, size); 1608 } 1609 1610 /* See comments for function st_delete_safe. */ 1611 st_index_t 1612 st_keys_check(st_table *tab, st_data_t *keys, st_index_t size, 1613 st_data_t never ATTRIBUTE_UNUSED) { 1614 return st_general_keys(tab, keys, size); 1615 } 1616 1617 /* Set up array VALUES by at most SIZE values of head table TAB 1618 entries. Return the number of values set up in array VALUES. */ 1619 static inline st_index_t 1620 st_general_values(st_table *tab, st_data_t *values, st_index_t size) 1621 { 1622 st_index_t i, bound; 1623 st_data_t *values_start, *values_end; 1624 st_table_entry *curr_entry_ptr, *entries = tab->entries; 1625 1626 values_start = values; 1627 values_end = values + size; 1628 bound = tab->entries_bound; 1629 st_assert(bound != 0); 1630 for (i = tab->entries_start; i < bound; i++) { 1631 if (values == values_end) 1632 break; 1633 curr_entry_ptr = &entries[i]; 1634 if (! DELETED_ENTRY_P(curr_entry_ptr)) 1635 *values++ = curr_entry_ptr->record; 1636 } 1637 1638 return values - values_start; 1639 } 1640 1641 st_index_t 1642 st_values(st_table *tab, st_data_t *values, st_index_t size) 1643 { 1644 return st_general_values(tab, values, size); 1645 } 1646 1647 /* See comments for function st_delete_safe. */ 1648 st_index_t 1649 st_values_check(st_table *tab, st_data_t *values, st_index_t size, 1650 st_data_t never ATTRIBUTE_UNUSED) { 1651 return st_general_values(tab, values, size); 1652 } 1653 #endif /* RUBY */ 1654 1655 #ifdef RUBY 1656 #define FNV1_32A_INIT 0x811c9dc5 1657 1658 /* 1659 * 32 bit magic FNV-1a prime 1660 */ 1661 #define FNV_32_PRIME 0x01000193 1662 1663 #ifndef UNALIGNED_WORD_ACCESS 1664 # if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \ 1665 defined(__x86_64) || defined(__x86_64__) || defined(_M_AMD64) || \ 1666 defined(__powerpc64__) || \ 1667 defined(__mc68020__) 1668 # define UNALIGNED_WORD_ACCESS 1 1669 # endif 1670 #endif 1671 #ifndef UNALIGNED_WORD_ACCESS 1672 # define UNALIGNED_WORD_ACCESS 0 1673 #endif 1674 1675 /* This hash function is quite simplified MurmurHash3 1676 * Simplification is legal, cause most of magic still happens in finalizator. 1677 * And finalizator is almost the same as in MurmurHash3 */ 1678 #define BIG_CONSTANT(x,y) ((st_index_t)(x)<<32|(st_index_t)(y)) 1679 #define ROTL(x,n) ((x)<<(n)|(x)>>(SIZEOF_ST_INDEX_T*CHAR_BIT-(n))) 1680 1681 #if ST_INDEX_BITS <= 32 1682 #define C1 (st_index_t)0xcc9e2d51 1683 #define C2 (st_index_t)0x1b873593 1684 #else 1685 #define C1 BIG_CONSTANT(0x87c37b91,0x114253d5); 1686 #define C2 BIG_CONSTANT(0x4cf5ad43,0x2745937f); 1687 #endif 1688 static inline st_index_t 1689 murmur_step(st_index_t h, st_index_t k) 1690 { 1691 #if ST_INDEX_BITS <= 32 1692 #define r1 (17) 1693 #define r2 (11) 1694 #else 1695 #define r1 (33) 1696 #define r2 (24) 1697 #endif 1698 k *= C1; 1699 h ^= ROTL(k, r1); 1700 h *= C2; 1701 h = ROTL(h, r2); 1702 return h; 1703 } 1704 #undef r1 1705 #undef r2 1706 1707 static inline st_index_t 1708 murmur_finish(st_index_t h) 1709 { 1710 #if ST_INDEX_BITS <= 32 1711 #define r1 (16) 1712 #define r2 (13) 1713 #define r3 (16) 1714 const st_index_t c1 = 0x85ebca6b; 1715 const st_index_t c2 = 0xc2b2ae35; 1716 #else 1717 /* values are taken from Mix13 on http://zimbry.blogspot.ru/2011/09/better-bit-mixing-improving-on.html */ 1718 #define r1 (30) 1719 #define r2 (27) 1720 #define r3 (31) 1721 const st_index_t c1 = BIG_CONSTANT(0xbf58476d,0x1ce4e5b9); 1722 const st_index_t c2 = BIG_CONSTANT(0x94d049bb,0x133111eb); 1723 #endif 1724 #if ST_INDEX_BITS > 64 1725 h ^= h >> 64; 1726 h *= c2; 1727 h ^= h >> 65; 1728 #endif 1729 h ^= h >> r1; 1730 h *= c1; 1731 h ^= h >> r2; 1732 h *= c2; 1733 h ^= h >> r3; 1734 return h; 1735 } 1736 #undef r1 1737 #undef r2 1738 #undef r3 1739 1740 st_index_t 1741 st_hash(const void *ptr, size_t len, st_index_t h) 1742 { 1743 const char *data = ptr; 1744 st_index_t t = 0; 1745 size_t l = len; 1746 1747 #define data_at(n) (st_index_t)((unsigned char)data[(n)]) 1748 #define UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0) 1749 #if SIZEOF_ST_INDEX_T > 4 1750 #define UNALIGNED_ADD_8 UNALIGNED_ADD(6); UNALIGNED_ADD(5); UNALIGNED_ADD(4); UNALIGNED_ADD(3); UNALIGNED_ADD_4 1751 #if SIZEOF_ST_INDEX_T > 8 1752 #define UNALIGNED_ADD_16 UNALIGNED_ADD(14); UNALIGNED_ADD(13); UNALIGNED_ADD(12); UNALIGNED_ADD(11); \ 1753 UNALIGNED_ADD(10); UNALIGNED_ADD(9); UNALIGNED_ADD(8); UNALIGNED_ADD(7); UNALIGNED_ADD_8 1754 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_16 1755 #endif 1756 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_8 1757 #else 1758 #define UNALIGNED_ADD_ALL UNALIGNED_ADD_4 1759 #endif 1760 #undef SKIP_TAIL 1761 if (len >= sizeof(st_index_t)) { 1762 #if !UNALIGNED_WORD_ACCESS 1763 int align = (int)((st_data_t)data % sizeof(st_index_t)); 1764 if (align) { 1765 st_index_t d = 0; 1766 int sl, sr, pack; 1767 1768 switch (align) { 1769 #ifdef WORDS_BIGENDIAN 1770 # define UNALIGNED_ADD(n) case SIZEOF_ST_INDEX_T - (n) - 1: \ 1771 t |= data_at(n) << CHAR_BIT*(SIZEOF_ST_INDEX_T - (n) - 2) 1772 #else 1773 # define UNALIGNED_ADD(n) case SIZEOF_ST_INDEX_T - (n) - 1: \ 1774 t |= data_at(n) << CHAR_BIT*(n) 1775 #endif 1776 UNALIGNED_ADD_ALL; 1777 #undef UNALIGNED_ADD 521 1778 } 1779 1780 #ifdef WORDS_BIGENDIAN 1781 t >>= (CHAR_BIT * align) - CHAR_BIT; 1782 #else 1783 t <<= (CHAR_BIT * align); 1784 #endif 1785 1786 data += sizeof(st_index_t)-align; 1787 len -= sizeof(st_index_t)-align; 1788 1789 sl = CHAR_BIT * (SIZEOF_ST_INDEX_T-align); 1790 sr = CHAR_BIT * align; 1791 1792 while (len >= sizeof(st_index_t)) { 1793 d = *(st_index_t *)data; 1794 #ifdef WORDS_BIGENDIAN 1795 t = (t << sr) | (d >> sl); 1796 #else 1797 t = (t >> sr) | (d << sl); 1798 #endif 1799 h = murmur_step(h, t); 1800 t = d; 1801 data += sizeof(st_index_t); 1802 len -= sizeof(st_index_t); 1803 } 1804 1805 pack = len < (size_t)align ? (int)len : align; 1806 d = 0; 1807 switch (pack) { 1808 #ifdef WORDS_BIGENDIAN 1809 # define UNALIGNED_ADD(n) case (n) + 1: \ 1810 d |= data_at(n) << CHAR_BIT*(SIZEOF_ST_INDEX_T - (n) - 1) 1811 #else 1812 # define UNALIGNED_ADD(n) case (n) + 1: \ 1813 d |= data_at(n) << CHAR_BIT*(n) 1814 #endif 1815 UNALIGNED_ADD_ALL; 1816 #undef UNALIGNED_ADD 1817 } 1818 #ifdef WORDS_BIGENDIAN 1819 t = (t << sr) | (d >> sl); 1820 #else 1821 t = (t >> sr) | (d << sl); 1822 #endif 1823 1824 if (len < (size_t)align) goto skip_tail; 1825 # define SKIP_TAIL 1 1826 h = murmur_step(h, t); 1827 data += pack; 1828 len -= pack; 522 1829 } 1830 else 1831 #endif 1832 { 1833 do { 1834 h = murmur_step(h, *(st_index_t *)data); 1835 data += sizeof(st_index_t); 1836 len -= sizeof(st_index_t); 1837 } while (len >= sizeof(st_index_t)); 1838 } 1839 } 1840 1841 t = 0; 1842 switch (len) { 1843 #if UNALIGNED_WORD_ACCESS && SIZEOF_ST_INDEX_T <= 8 && CHAR_BIT == 8 1844 /* in this case byteorder doesn't really matter */ 1845 #if SIZEOF_ST_INDEX_T > 4 1846 case 7: t |= data_at(6) << 48; 1847 case 6: t |= data_at(5) << 40; 1848 case 5: t |= data_at(4) << 32; 1849 case 4: 1850 t |= (st_index_t)*(uint32_t*)data; 1851 goto skip_tail; 1852 # define SKIP_TAIL 1 1853 #endif 1854 case 3: t |= data_at(2) << 16; 1855 case 2: t |= data_at(1) << 8; 1856 case 1: t |= data_at(0); 1857 #else 1858 #ifdef WORDS_BIGENDIAN 1859 # define UNALIGNED_ADD(n) case (n) + 1: \ 1860 t |= data_at(n) << CHAR_BIT*(SIZEOF_ST_INDEX_T - (n) - 1) 1861 #else 1862 # define UNALIGNED_ADD(n) case (n) + 1: \ 1863 t |= data_at(n) << CHAR_BIT*(n) 1864 #endif 1865 UNALIGNED_ADD_ALL; 1866 #undef UNALIGNED_ADD 1867 #endif 1868 #ifdef SKIP_TAIL 1869 skip_tail: 1870 #endif 1871 h ^= t; h -= ROTL(t, 7); 1872 h *= C2; 1873 } 1874 h ^= l; 1875 1876 return murmur_finish(h); 1877 } 1878 1879 st_index_t 1880 st_hash_uint32(st_index_t h, uint32_t i) 1881 { 1882 return murmur_step(h, i); 1883 } 1884 1885 st_index_t 1886 st_hash_uint(st_index_t h, st_index_t i) 1887 { 1888 i += h; 1889 /* no matter if it is BigEndian or LittleEndian, 1890 * we hash just integers */ 1891 #if SIZEOF_ST_INDEX_T*CHAR_BIT > 8*8 1892 h = murmur_step(h, i >> 8*8); 1893 #endif 1894 h = murmur_step(h, i); 1895 return h; 1896 } 1897 1898 st_index_t 1899 st_hash_end(st_index_t h) 1900 { 1901 h = murmur_finish(h); 1902 return h; 1903 } 1904 1905 #undef st_hash_start 1906 st_index_t 1907 st_hash_start(st_index_t h) 1908 { 1909 return h; 1910 } 1911 1912 static st_index_t 1913 strhash(st_data_t arg) 1914 { 1915 register const char *string = (const char *)arg; 1916 return st_hash(string, strlen(string), FNV1_32A_INIT); 1917 } 1918 1919 int 1920 st_locale_insensitive_strcasecmp(const char *s1, const char *s2) 1921 { 1922 unsigned int c1, c2; 1923 1924 while (1) { 1925 c1 = (unsigned char)*s1++; 1926 c2 = (unsigned char)*s2++; 1927 if (c1 == '\0' || c2 == '\0') { 1928 if (c1 != '\0') return 1; 1929 if (c2 != '\0') return -1; 1930 return 0; 1931 } 1932 if ((unsigned int)(c1 - 'A') <= ('Z' - 'A')) c1 += 'a' - 'A'; 1933 if ((unsigned int)(c2 - 'A') <= ('Z' - 'A')) c2 += 'a' - 'A'; 1934 if (c1 != c2) { 1935 if (c1 > c2) 1936 return 1; 1937 else 1938 return -1; 1939 } 1940 } 1941 } 1942 1943 int 1944 st_locale_insensitive_strncasecmp(const char *s1, const char *s2, size_t n) 1945 { 1946 unsigned int c1, c2; 1947 1948 while (n--) { 1949 c1 = (unsigned char)*s1++; 1950 c2 = (unsigned char)*s2++; 1951 if (c1 == '\0' || c2 == '\0') { 1952 if (c1 != '\0') return 1; 1953 if (c2 != '\0') return -1; 1954 return 0; 1955 } 1956 if ((unsigned int)(c1 - 'A') <= ('Z' - 'A')) c1 += 'a' - 'A'; 1957 if ((unsigned int)(c2 - 'A') <= ('Z' - 'A')) c2 += 'a' - 'A'; 1958 if (c1 != c2) { 1959 if (c1 > c2) 1960 return 1; 1961 else 1962 return -1; 1963 } 523 1964 } 524 1965 return 0; 525 1966 } 526 1967 527 static int 528 strhash(string) 529 register const char *string; 530 { 531 register int c; 532 533 #ifdef HASH_ELFHASH 534 register unsigned int h = 0, g; 535 536 while ((c = *string++) != '\0') { 537 h = ( h << 4 ) + c; 538 if ( g = h & 0xF0000000 ) 539 h ^= g >> 24; 540 h &= ~g; 541 } 542 return h; 543 #elif HASH_PERL 544 register int val = 0; 545 546 while ((c = *string++) != '\0') { 547 val += c; 548 val += (val << 10); 549 val ^= (val >> 6); 550 } 551 val += (val << 3); 552 val ^= (val >> 11); 553 554 return val + (val << 15); 555 #else 556 register int val = 0; 557 558 while ((c = *string++) != '\0') { 559 val = val*997 + c; 560 } 561 562 return val + (val>>5); 563 #endif 564 } 565 566 static int 567 numcmp(x, y) 568 long x, y; 1968 static st_index_t 1969 strcasehash(st_data_t arg) 1970 { 1971 register const char *string = (const char *)arg; 1972 register st_index_t hval = FNV1_32A_INIT; 1973 1974 /* 1975 * FNV-1a hash each octet in the buffer 1976 */ 1977 while (*string) { 1978 unsigned int c = (unsigned char)*string++; 1979 if ((unsigned int)(c - 'A') <= ('Z' - 'A')) c += 'a' - 'A'; 1980 hval ^= c; 1981 1982 /* multiply by the 32 bit FNV magic prime mod 2^32 */ 1983 hval *= FNV_32_PRIME; 1984 } 1985 return hval; 1986 } 1987 1988 int 1989 st_numcmp(st_data_t x, st_data_t y) 569 1990 { 570 1991 return x != y; 571 1992 } 572 1993 573 static int 574 numhash(n) 575 long n; 576 { 577 return n; 578 } 1994 st_index_t 1995 st_numhash(st_data_t n) 1996 { 1997 enum {s1 = 11, s2 = 3}; 1998 return (st_index_t)((n>>s1|(n<<s2)) ^ (n>>s2)); 1999 } 2000 #endif /* RUBY */ -
EcnlProtoTool/trunk/onigmo-6.1.3/src/st.h
r321 r331 1 /* This is a public domain general purpose hash table package written by Peter Moore @ UCB. */ 1 /* This is a public domain general purpose hash table package 2 originally written by Peter Moore @ UCB. 2 3 3 /* @(#) st.h 5.1 89/12/14 */ 4 The hash table data strutures were redesigned and the package was 5 rewritten by Vladimir Makarov <vmakarov@redhat.com>. */ 4 6 5 #ifndef ST_INCLUDED 7 #ifndef RUBY_ST_H 8 #define RUBY_ST_H 1 6 9 7 #define ST_INCLUDED 10 #if defined(__cplusplus) 11 extern "C" { 12 #if 0 13 } /* satisfy cc-mode */ 14 #endif 15 #endif 8 16 9 typedef uintptr_t st_data_t; 17 #ifdef RUBY 18 #include "ruby/defines.h" 19 #else /* RUBY */ 20 #ifndef RUBY_SYMBOL_EXPORT_BEGIN 21 #define RUBY_SYMBOL_EXPORT_BEGIN 22 #define RUBY_SYMBOL_EXPORT_END 23 #endif 24 #endif /* RUBY */ 25 26 RUBY_SYMBOL_EXPORT_BEGIN 27 28 #if SIZEOF_LONG == SIZEOF_VOIDP 29 typedef unsigned long st_data_t; 30 #elif SIZEOF_LONG_LONG == SIZEOF_VOIDP 31 typedef unsigned LONG_LONG st_data_t; 32 #else 33 # error ---->> st.c requires sizeof(void*) == sizeof(long) or sizeof(LONG_LONG) to be compiled. <<---- 34 #endif 10 35 #define ST_DATA_T_DEFINED 11 36 12 typedef struct st_table st_table; 13 typedef int st_index_t; 14 15 struct st_hash_type { 16 int (*compare)(); 17 int (*hash)(); 18 }; 19 20 struct st_table { 21 struct st_hash_type *type; 22 int num_bins; 23 int num_entries; 24 struct st_table_entry **bins; 25 }; 26 27 #define st_is_member(table,key) st_lookup(table,key,(st_data_t *)0) 28 29 enum st_retval {ST_CONTINUE, ST_STOP, ST_DELETE, ST_CHECK}; 30 37 #ifndef CHAR_BIT 38 # ifdef HAVE_LIMITS_H 39 # include <limits.h> 40 # else 41 # define CHAR_BIT 8 42 # endif 43 #endif 31 44 #ifndef _ 32 45 # define _(args) args … … 40 53 #endif 41 54 42 st_table *st_init_table _((struct st_hash_type *)); 43 st_table *st_init_table_with_size _((struct st_hash_type *, int)); 44 st_table *st_init_numtable _((void)); 45 st_table *st_init_numtable_with_size _((int)); 46 st_table *st_init_strtable _((void)); 47 st_table *st_init_strtable_with_size _((int)); 48 int st_delete _((st_table *, st_data_t *, st_data_t *)); 49 int st_delete_safe _((st_table *, st_data_t *, st_data_t *, st_data_t)); 50 int st_insert _((st_table *, st_data_t, st_data_t)); 51 int st_lookup _((st_table *, st_data_t, st_data_t *)); 52 int st_foreach _((st_table *, int (*)(ANYARGS), st_data_t)); 53 void st_add_direct _((st_table *, st_data_t, st_data_t)); 54 void st_free_table _((st_table *)); 55 void st_cleanup_safe _((st_table *, st_data_t)); 56 st_table *st_copy _((st_table *)); 55 typedef struct st_table st_table; 57 56 58 #define ST_NUMCMP ((int (*)()) 0) 59 #define ST_NUMHASH ((int (*)()) -2) 57 typedef st_data_t st_index_t; 60 58 61 #define st_numcmp ST_NUMCMP 62 #define st_numhash ST_NUMHASH59 /* Maximal value of unsigned integer type st_index_t. */ 60 #define MAX_ST_INDEX_VAL (~(st_index_t) 0) 63 61 64 #endif /* ST_INCLUDED */ 62 typedef int st_compare_func(st_data_t, st_data_t); 63 typedef st_index_t st_hash_func(st_data_t); 64 65 typedef char st_check_for_sizeof_st_index_t[SIZEOF_VOIDP == (int)sizeof(st_index_t) ? 1 : -1]; 66 #define SIZEOF_ST_INDEX_T SIZEOF_VOIDP 67 68 struct st_hash_type { 69 int (*compare)(ANYARGS /*st_data_t, st_data_t*/); /* st_compare_func* */ 70 st_index_t (*hash)(ANYARGS /*st_data_t*/); /* st_hash_func* */ 71 }; 72 73 #define ST_INDEX_BITS (SIZEOF_ST_INDEX_T * CHAR_BIT) 74 75 #if defined(HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR) && defined(HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P) 76 # define ST_DATA_COMPATIBLE_P(type) \ 77 __builtin_choose_expr(__builtin_types_compatible_p(type, st_data_t), 1, 0) 78 #else 79 # define ST_DATA_COMPATIBLE_P(type) 0 80 #endif 81 82 typedef struct st_table_entry st_table_entry; 83 84 struct st_table_entry; /* defined in st.c */ 85 86 struct st_table { 87 /* Cached features of the table -- see st.c for more details. */ 88 unsigned char entry_power, bin_power, size_ind; 89 /* How many times the table was rebuilt. */ 90 unsigned int rebuilds_num; 91 const struct st_hash_type *type; 92 /* Number of entries currently in the table. */ 93 st_index_t num_entries; 94 /* Array of bins used for access by keys. */ 95 st_index_t *bins; 96 /* Start and bound index of entries in array entries. 97 entries_starts and entries_bound are in interval 98 [0,allocated_entries]. */ 99 st_index_t entries_start, entries_bound; 100 /* Array of size 2^entry_power. */ 101 st_table_entry *entries; 102 }; 103 104 #define st_is_member(table,key) st_lookup((table),(key),(st_data_t *)0) 105 106 enum st_retval {ST_CONTINUE, ST_STOP, ST_DELETE, ST_CHECK}; 107 108 st_table *st_init_table(const struct st_hash_type *); 109 st_table *st_init_table_with_size(const struct st_hash_type *, st_index_t); 110 st_table *st_init_numtable(void); 111 st_table *st_init_numtable_with_size(st_index_t); 112 st_table *st_init_strtable(void); 113 st_table *st_init_strtable_with_size(st_index_t); 114 st_table *st_init_strcasetable(void); 115 st_table *st_init_strcasetable_with_size(st_index_t); 116 int st_delete(st_table *, st_data_t *, st_data_t *); /* returns 0:notfound 1:deleted */ 117 int st_delete_safe(st_table *, st_data_t *, st_data_t *, st_data_t); 118 int st_shift(st_table *, st_data_t *, st_data_t *); /* returns 0:notfound 1:deleted */ 119 int st_insert(st_table *, st_data_t, st_data_t); 120 int st_insert2(st_table *, st_data_t, st_data_t, st_data_t (*)(st_data_t)); 121 int st_lookup(st_table *, st_data_t, st_data_t *); 122 int st_get_key(st_table *, st_data_t, st_data_t *); 123 typedef int st_update_callback_func(st_data_t *key, st_data_t *value, st_data_t arg, int existing); 124 /* *key may be altered, but must equal to the old key, i.e., the 125 * results of hash() are same and compare() returns 0, otherwise the 126 * behavior is undefined */ 127 int st_update(st_table *table, st_data_t key, st_update_callback_func *func, st_data_t arg); 128 int st_foreach(st_table *, int (*)(ANYARGS), st_data_t); 129 int st_foreach_check(st_table *, int (*)(ANYARGS), st_data_t, st_data_t); 130 st_index_t st_keys(st_table *table, st_data_t *keys, st_index_t size); 131 st_index_t st_keys_check(st_table *table, st_data_t *keys, st_index_t size, st_data_t never); 132 st_index_t st_values(st_table *table, st_data_t *values, st_index_t size); 133 st_index_t st_values_check(st_table *table, st_data_t *values, st_index_t size, st_data_t never); 134 void st_add_direct(st_table *, st_data_t, st_data_t); 135 void st_free_table(st_table *); 136 void st_cleanup_safe(st_table *, st_data_t); 137 void st_clear(st_table *); 138 st_table *st_copy(st_table *); 139 int st_numcmp(st_data_t, st_data_t); 140 st_index_t st_numhash(st_data_t); 141 int st_locale_insensitive_strcasecmp(const char *s1, const char *s2); 142 int st_locale_insensitive_strncasecmp(const char *s1, const char *s2, size_t n); 143 #define st_strcasecmp st_locale_insensitive_strcasecmp 144 #define st_strncasecmp st_locale_insensitive_strncasecmp 145 size_t st_memsize(const st_table *); 146 st_index_t st_hash(const void *ptr, size_t len, st_index_t h); 147 st_index_t st_hash_uint32(st_index_t h, uint32_t i); 148 st_index_t st_hash_uint(st_index_t h, st_index_t i); 149 st_index_t st_hash_end(st_index_t h); 150 st_index_t st_hash_start(st_index_t h); 151 #define st_hash_start(h) ((st_index_t)(h)) 152 153 RUBY_SYMBOL_EXPORT_END 154 155 #if defined(__cplusplus) 156 #if 0 157 { /* satisfy cc-mode */ 158 #endif 159 } /* extern "C" { */ 160 #endif 161 162 #endif /* RUBY_ST_H */
Note:
See TracChangeset
for help on using the changeset viewer.