/* Generated by re2c */
#line 1 "encodings/unicode_group_Lu_x_encoding_policy_ignore.re"
// re2c $INPUT -o $OUTPUT -x --encoding-policy ignore
#include <stdio.h>
#include "utf16.h"
#define YYCTYPE unsigned short
bool scan(const YYCTYPE * start, const YYCTYPE * const limit)
{
	__attribute__((unused)) const YYCTYPE * YYMARKER; // silence compiler warnings when YYMARKER is not used
#	define YYCURSOR start
Lu:
	
#line 14 "encodings/unicode_group_Lu_x_encoding_policy_ignore.c"
{
	YYCTYPE yych;
	yych = *YYCURSOR;
	if (yych <= 0x1E2F) {
		if (yych <= 0x038C) {
			if (yych <= 0x01A3) {
				if (yych <= 0x0144) {
					if (yych <= 0x011D) {
						if (yych <= 0x010A) {
							if (yych <= 0x0101) {
								if (yych <= 0x00D6) {
									if (yych <= '@') goto yy1;
									if (yych <= 'Z') goto yy3;
									if (yych >= 0x00C0) goto yy3;
								} else {
									if (yych <= 0x00DE) {
										if (yych >= 0x00D8) goto yy3;
									} else {
										if (yych == 0x0100) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0105) {
									if (yych == 0x0103) goto yy1;
									if (yych <= 0x0104) goto yy3;
								} else {
									if (yych <= 0x0107) {
										if (yych <= 0x0106) goto yy3;
									} else {
										if (yych != 0x0109) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x0113) {
								if (yych <= 0x010E) {
									if (yych == 0x010C) goto yy3;
									if (yych >= 0x010E) goto yy3;
								} else {
									if (yych <= 0x0110) {
										if (yych >= 0x0110) goto yy3;
									} else {
										if (yych == 0x0112) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0118) {
									if (yych <= 0x0115) {
										if (yych <= 0x0114) goto yy3;
									} else {
										if (yych != 0x0117) goto yy3;
									}
								} else {
									if (yych <= 0x011A) {
										if (yych >= 0x011A) goto yy3;
									} else {
										if (yych == 0x011C) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x0130) {
							if (yych <= 0x0126) {
								if (yych <= 0x0121) {
									if (yych == 0x011F) goto yy1;
									if (yych <= 0x0120) goto yy3;
								} else {
									if (yych <= 0x0123) {
										if (yych <= 0x0122) goto yy3;
									} else {
										if (yych != 0x0125) goto yy3;
									}
								}
							} else {
								if (yych <= 0x012B) {
									if (yych <= 0x0128) {
										if (yych >= 0x0128) goto yy3;
									} else {
										if (yych == 0x012A) goto yy3;
									}
								} else {
									if (yych <= 0x012D) {
										if (yych <= 0x012C) goto yy3;
									} else {
										if (yych != 0x012F) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x013A) {
								if (yych <= 0x0134) {
									if (yych == 0x0132) goto yy3;
									if (yych >= 0x0134) goto yy3;
								} else {
									if (yych <= 0x0136) {
										if (yych >= 0x0136) goto yy3;
									} else {
										if (yych == 0x0139) goto yy3;
									}
								}
							} else {
								if (yych <= 0x013F) {
									if (yych <= 0x013C) {
										if (yych <= 0x013B) goto yy3;
									} else {
										if (yych != 0x013E) goto yy3;
									}
								} else {
									if (yych <= 0x0141) {
										if (yych >= 0x0141) goto yy3;
									} else {
										if (yych == 0x0143) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0x016B) {
						if (yych <= 0x0158) {
							if (yych <= 0x014E) {
								if (yych <= 0x0149) {
									if (yych == 0x0146) goto yy1;
									if (yych <= 0x0147) goto yy3;
								} else {
									if (yych <= 0x014B) {
										if (yych <= 0x014A) goto yy3;
									} else {
										if (yych != 0x014D) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0153) {
									if (yych <= 0x0150) {
										if (yych >= 0x0150) goto yy3;
									} else {
										if (yych == 0x0152) goto yy3;
									}
								} else {
									if (yych <= 0x0155) {
										if (yych <= 0x0154) goto yy3;
									} else {
										if (yych != 0x0157) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x0161) {
								if (yych <= 0x015C) {
									if (yych == 0x015A) goto yy3;
									if (yych >= 0x015C) goto yy3;
								} else {
									if (yych <= 0x015E) {
										if (yych >= 0x015E) goto yy3;
									} else {
										if (yych == 0x0160) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0166) {
									if (yych <= 0x0163) {
										if (yych <= 0x0162) goto yy3;
									} else {
										if (yych != 0x0165) goto yy3;
									}
								} else {
									if (yych <= 0x0168) {
										if (yych >= 0x0168) goto yy3;
									} else {
										if (yych == 0x016A) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x0182) {
							if (yych <= 0x0174) {
								if (yych <= 0x016F) {
									if (yych == 0x016D) goto yy1;
									if (yych <= 0x016E) goto yy3;
								} else {
									if (yych <= 0x0171) {
										if (yych <= 0x0170) goto yy3;
									} else {
										if (yych != 0x0173) goto yy3;
									}
								}
							} else {
								if (yych <= 0x017A) {
									if (yych <= 0x0176) {
										if (yych >= 0x0176) goto yy3;
									} else {
										if (yych <= 0x0177) goto yy1;
										if (yych <= 0x0179) goto yy3;
									}
								} else {
									if (yych <= 0x017C) {
										if (yych <= 0x017B) goto yy3;
									} else {
										if (yych <= 0x017D) goto yy3;
										if (yych >= 0x0181) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x0192) {
								if (yych <= 0x0187) {
									if (yych == 0x0184) goto yy3;
									if (yych >= 0x0186) goto yy3;
								} else {
									if (yych <= 0x018B) {
										if (yych >= 0x0189) goto yy3;
									} else {
										if (yych <= 0x018D) goto yy1;
										if (yych <= 0x0191) goto yy3;
									}
								}
							} else {
								if (yych <= 0x019D) {
									if (yych <= 0x0195) {
										if (yych <= 0x0194) goto yy3;
									} else {
										if (yych <= 0x0198) goto yy3;
										if (yych >= 0x019C) goto yy3;
									}
								} else {
									if (yych <= 0x01A0) {
										if (yych >= 0x019F) goto yy3;
									} else {
										if (yych == 0x01A2) goto yy3;
									}
								}
							}
						}
					}
				}
			} else {
				if (yych <= 0x0204) {
					if (yych <= 0x01D9) {
						if (yych <= 0x01C3) {
							if (yych <= 0x01AF) {
								if (yych <= 0x01A8) {
									if (yych == 0x01A5) goto yy1;
									if (yych <= 0x01A7) goto yy3;
								} else {
									if (yych <= 0x01AB) {
										if (yych <= 0x01A9) goto yy3;
									} else {
										if (yych != 0x01AD) goto yy3;
									}
								}
							} else {
								if (yych <= 0x01B5) {
									if (yych <= 0x01B0) goto yy1;
									if (yych != 0x01B4) goto yy3;
								} else {
									if (yych <= 0x01B8) {
										if (yych >= 0x01B7) goto yy3;
									} else {
										if (yych == 0x01BC) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x01CF) {
								if (yych <= 0x01C9) {
									if (yych <= 0x01C4) goto yy3;
									if (yych == 0x01C7) goto yy3;
								} else {
									if (yych <= 0x01CC) {
										if (yych <= 0x01CA) goto yy3;
									} else {
										if (yych != 0x01CE) goto yy3;
									}
								}
							} else {
								if (yych <= 0x01D4) {
									if (yych <= 0x01D1) {
										if (yych >= 0x01D1) goto yy3;
									} else {
										if (yych == 0x01D3) goto yy3;
									}
								} else {
									if (yych <= 0x01D6) {
										if (yych <= 0x01D5) goto yy3;
									} else {
										if (yych != 0x01D8) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x01ED) {
							if (yych <= 0x01E3) {
								if (yych <= 0x01DE) {
									if (yych == 0x01DB) goto yy3;
									if (yych >= 0x01DE) goto yy3;
								} else {
									if (yych <= 0x01E0) {
										if (yych >= 0x01E0) goto yy3;
									} else {
										if (yych == 0x01E2) goto yy3;
									}
								}
							} else {
								if (yych <= 0x01E8) {
									if (yych <= 0x01E5) {
										if (yych <= 0x01E4) goto yy3;
									} else {
										if (yych != 0x01E7) goto yy3;
									}
								} else {
									if (yych <= 0x01EA) {
										if (yych >= 0x01EA) goto yy3;
									} else {
										if (yych == 0x01EC) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x01FA) {
								if (yych <= 0x01F3) {
									if (yych <= 0x01EE) goto yy3;
									if (yych == 0x01F1) goto yy3;
								} else {
									if (yych <= 0x01F5) {
										if (yych <= 0x01F4) goto yy3;
									} else {
										if (yych != 0x01F9) goto yy3;
									}
								}
							} else {
								if (yych <= 0x01FF) {
									if (yych <= 0x01FC) {
										if (yych >= 0x01FC) goto yy3;
									} else {
										if (yych == 0x01FE) goto yy3;
									}
								} else {
									if (yych <= 0x0201) {
										if (yych <= 0x0200) goto yy3;
									} else {
										if (yych != 0x0203) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0x022A) {
						if (yych <= 0x0217) {
							if (yych <= 0x020D) {
								if (yych <= 0x0208) {
									if (yych == 0x0206) goto yy3;
									if (yych >= 0x0208) goto yy3;
								} else {
									if (yych <= 0x020A) {
										if (yych >= 0x020A) goto yy3;
									} else {
										if (yych == 0x020C) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0212) {
									if (yych <= 0x020F) {
										if (yych <= 0x020E) goto yy3;
									} else {
										if (yych != 0x0211) goto yy3;
									}
								} else {
									if (yych <= 0x0214) {
										if (yych >= 0x0214) goto yy3;
									} else {
										if (yych == 0x0216) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x0220) {
								if (yych <= 0x021B) {
									if (yych == 0x0219) goto yy1;
									if (yych <= 0x021A) goto yy3;
								} else {
									if (yych <= 0x021D) {
										if (yych <= 0x021C) goto yy3;
									} else {
										if (yych != 0x021F) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0225) {
									if (yych <= 0x0222) {
										if (yych >= 0x0222) goto yy3;
									} else {
										if (yych == 0x0224) goto yy3;
									}
								} else {
									if (yych <= 0x0227) {
										if (yych <= 0x0226) goto yy3;
									} else {
										if (yych != 0x0229) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x0249) {
							if (yych <= 0x0239) {
								if (yych <= 0x022E) {
									if (yych == 0x022C) goto yy3;
									if (yych >= 0x022E) goto yy3;
								} else {
									if (yych <= 0x0230) {
										if (yych >= 0x0230) goto yy3;
									} else {
										if (yych == 0x0232) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0241) {
									if (yych <= 0x023C) {
										if (yych <= 0x023B) goto yy3;
									} else {
										if (yych <= 0x023E) goto yy3;
										if (yych >= 0x0241) goto yy3;
									}
								} else {
									if (yych <= 0x0246) {
										if (yych >= 0x0243) goto yy3;
									} else {
										if (yych == 0x0248) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x0372) {
								if (yych <= 0x024D) {
									if (yych == 0x024B) goto yy1;
									if (yych <= 0x024C) goto yy3;
								} else {
									if (yych <= 0x036F) {
										if (yych <= 0x024E) goto yy3;
									} else {
										if (yych != 0x0371) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0385) {
									if (yych <= 0x0376) {
										if (yych >= 0x0376) goto yy3;
									} else {
										if (yych == 0x037F) goto yy3;
									}
								} else {
									if (yych <= 0x0387) {
										if (yych <= 0x0386) goto yy3;
									} else {
										if (yych != 0x038B) goto yy3;
									}
								}
							}
						}
					}
				}
			}
		} else {
			if (yych <= 0x04D5) {
				if (yych <= 0x047F) {
					if (yych <= 0x03F6) {
						if (yych <= 0x03DE) {
							if (yych <= 0x03D1) {
								if (yych <= 0x03A1) {
									if (yych <= 0x038D) goto yy1;
									if (yych != 0x0390) goto yy3;
								} else {
									if (yych <= 0x03AB) {
										if (yych >= 0x03A3) goto yy3;
									} else {
										if (yych == 0x03CF) goto yy3;
									}
								}
							} else {
								if (yych <= 0x03D9) {
									if (yych <= 0x03D4) goto yy3;
									if (yych == 0x03D8) goto yy3;
								} else {
									if (yych <= 0x03DB) {
										if (yych <= 0x03DA) goto yy3;
									} else {
										if (yych != 0x03DD) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x03E7) {
								if (yych <= 0x03E2) {
									if (yych == 0x03E0) goto yy3;
									if (yych >= 0x03E2) goto yy3;
								} else {
									if (yych <= 0x03E4) {
										if (yych >= 0x03E4) goto yy3;
									} else {
										if (yych == 0x03E6) goto yy3;
									}
								}
							} else {
								if (yych <= 0x03EC) {
									if (yych <= 0x03E9) {
										if (yych <= 0x03E8) goto yy3;
									} else {
										if (yych != 0x03EB) goto yy3;
									}
								} else {
									if (yych <= 0x03EE) {
										if (yych >= 0x03EE) goto yy3;
									} else {
										if (yych == 0x03F4) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x046C) {
							if (yych <= 0x0462) {
								if (yych <= 0x03FC) {
									if (yych == 0x03F8) goto yy1;
									if (yych <= 0x03FA) goto yy3;
								} else {
									if (yych <= 0x045F) {
										if (yych <= 0x042F) goto yy3;
									} else {
										if (yych != 0x0461) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0467) {
									if (yych <= 0x0464) {
										if (yych >= 0x0464) goto yy3;
									} else {
										if (yych == 0x0466) goto yy3;
									}
								} else {
									if (yych <= 0x0469) {
										if (yych <= 0x0468) goto yy3;
									} else {
										if (yych != 0x046B) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x0475) {
								if (yych <= 0x0470) {
									if (yych == 0x046E) goto yy3;
									if (yych >= 0x0470) goto yy3;
								} else {
									if (yych <= 0x0472) {
										if (yych >= 0x0472) goto yy3;
									} else {
										if (yych == 0x0474) goto yy3;
									}
								}
							} else {
								if (yych <= 0x047A) {
									if (yych <= 0x0477) {
										if (yych <= 0x0476) goto yy3;
									} else {
										if (yych != 0x0479) goto yy3;
									}
								} else {
									if (yych <= 0x047C) {
										if (yych >= 0x047C) goto yy3;
									} else {
										if (yych == 0x047E) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0x04AD) {
						if (yych <= 0x049A) {
							if (yych <= 0x0490) {
								if (yych <= 0x048B) {
									if (yych <= 0x0480) goto yy3;
									if (yych == 0x048A) goto yy3;
								} else {
									if (yych <= 0x048D) {
										if (yych <= 0x048C) goto yy3;
									} else {
										if (yych != 0x048F) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0495) {
									if (yych <= 0x0492) {
										if (yych >= 0x0492) goto yy3;
									} else {
										if (yych == 0x0494) goto yy3;
									}
								} else {
									if (yych <= 0x0497) {
										if (yych <= 0x0496) goto yy3;
									} else {
										if (yych != 0x0499) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x04A3) {
								if (yych <= 0x049E) {
									if (yych == 0x049C) goto yy3;
									if (yych >= 0x049E) goto yy3;
								} else {
									if (yych <= 0x04A0) {
										if (yych >= 0x04A0) goto yy3;
									} else {
										if (yych == 0x04A2) goto yy3;
									}
								}
							} else {
								if (yych <= 0x04A8) {
									if (yych <= 0x04A5) {
										if (yych <= 0x04A4) goto yy3;
									} else {
										if (yych != 0x04A7) goto yy3;
									}
								} else {
									if (yych <= 0x04AA) {
										if (yych >= 0x04AA) goto yy3;
									} else {
										if (yych == 0x04AC) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x04C1) {
							if (yych <= 0x04B6) {
								if (yych <= 0x04B1) {
									if (yych == 0x04AF) goto yy1;
									if (yych <= 0x04B0) goto yy3;
								} else {
									if (yych <= 0x04B3) {
										if (yych <= 0x04B2) goto yy3;
									} else {
										if (yych != 0x04B5) goto yy3;
									}
								}
							} else {
								if (yych <= 0x04BB) {
									if (yych <= 0x04B8) {
										if (yych >= 0x04B8) goto yy3;
									} else {
										if (yych == 0x04BA) goto yy3;
									}
								} else {
									if (yych <= 0x04BD) {
										if (yych <= 0x04BC) goto yy3;
									} else {
										if (yych != 0x04BF) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x04CA) {
								if (yych <= 0x04C5) {
									if (yych == 0x04C3) goto yy3;
									if (yych >= 0x04C5) goto yy3;
								} else {
									if (yych <= 0x04C7) {
										if (yych >= 0x04C7) goto yy3;
									} else {
										if (yych == 0x04C9) goto yy3;
									}
								}
							} else {
								if (yych <= 0x04D0) {
									if (yych <= 0x04CC) {
										if (yych <= 0x04CB) goto yy3;
									} else {
										if (yych <= 0x04CD) goto yy3;
										if (yych >= 0x04D0) goto yy3;
									}
								} else {
									if (yych <= 0x04D2) {
										if (yych >= 0x04D2) goto yy3;
									} else {
										if (yych == 0x04D4) goto yy3;
									}
								}
							}
						}
					}
				}
			} else {
				if (yych <= 0x0521) {
					if (yych <= 0x04FB) {
						if (yych <= 0x04E8) {
							if (yych <= 0x04DE) {
								if (yych <= 0x04D9) {
									if (yych == 0x04D7) goto yy1;
									if (yych <= 0x04D8) goto yy3;
								} else {
									if (yych <= 0x04DB) {
										if (yych <= 0x04DA) goto yy3;
									} else {
										if (yych != 0x04DD) goto yy3;
									}
								}
							} else {
								if (yych <= 0x04E3) {
									if (yych <= 0x04E0) {
										if (yych >= 0x04E0) goto yy3;
									} else {
										if (yych == 0x04E2) goto yy3;
									}
								} else {
									if (yych <= 0x04E5) {
										if (yych <= 0x04E4) goto yy3;
									} else {
										if (yych != 0x04E7) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x04F1) {
								if (yych <= 0x04EC) {
									if (yych == 0x04EA) goto yy3;
									if (yych >= 0x04EC) goto yy3;
								} else {
									if (yych <= 0x04EE) {
										if (yych >= 0x04EE) goto yy3;
									} else {
										if (yych == 0x04F0) goto yy3;
									}
								}
							} else {
								if (yych <= 0x04F6) {
									if (yych <= 0x04F3) {
										if (yych <= 0x04F2) goto yy3;
									} else {
										if (yych != 0x04F5) goto yy3;
									}
								} else {
									if (yych <= 0x04F8) {
										if (yych >= 0x04F8) goto yy3;
									} else {
										if (yych == 0x04FA) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x050E) {
							if (yych <= 0x0504) {
								if (yych <= 0x04FF) {
									if (yych == 0x04FD) goto yy1;
									if (yych <= 0x04FE) goto yy3;
								} else {
									if (yych <= 0x0501) {
										if (yych <= 0x0500) goto yy3;
									} else {
										if (yych != 0x0503) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0509) {
									if (yych <= 0x0506) {
										if (yych >= 0x0506) goto yy3;
									} else {
										if (yych == 0x0508) goto yy3;
									}
								} else {
									if (yych <= 0x050B) {
										if (yych <= 0x050A) goto yy3;
									} else {
										if (yych != 0x050D) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x0517) {
								if (yych <= 0x0512) {
									if (yych == 0x0510) goto yy3;
									if (yych >= 0x0512) goto yy3;
								} else {
									if (yych <= 0x0514) {
										if (yych >= 0x0514) goto yy3;
									} else {
										if (yych == 0x0516) goto yy3;
									}
								}
							} else {
								if (yych <= 0x051C) {
									if (yych <= 0x0519) {
										if (yych <= 0x0518) goto yy3;
									} else {
										if (yych != 0x051B) goto yy3;
									}
								} else {
									if (yych <= 0x051E) {
										if (yych >= 0x051E) goto yy3;
									} else {
										if (yych == 0x0520) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0x1E09) {
						if (yych <= 0x10C7) {
							if (yych <= 0x052A) {
								if (yych <= 0x0525) {
									if (yych == 0x0523) goto yy1;
									if (yych <= 0x0524) goto yy3;
								} else {
									if (yych <= 0x0527) {
										if (yych <= 0x0526) goto yy3;
									} else {
										if (yych != 0x0529) goto yy3;
									}
								}
							} else {
								if (yych <= 0x0530) {
									if (yych <= 0x052C) {
										if (yych >= 0x052C) goto yy3;
									} else {
										if (yych == 0x052E) goto yy3;
									}
								} else {
									if (yych <= 0x109F) {
										if (yych <= 0x0556) goto yy3;
									} else {
										if (yych != 0x10C6) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x1DFF) {
								if (yych <= 0x13F5) {
									if (yych == 0x10CD) goto yy3;
									if (yych >= 0x13A0) goto yy3;
								} else {
									if (yych <= 0x1CBA) {
										if (yych >= 0x1C90) goto yy3;
									} else {
										if (yych <= 0x1CBC) goto yy1;
										if (yych <= 0x1CBF) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E04) {
									if (yych <= 0x1E01) {
										if (yych <= 0x1E00) goto yy3;
									} else {
										if (yych != 0x1E03) goto yy3;
									}
								} else {
									if (yych <= 0x1E06) {
										if (yych >= 0x1E06) goto yy3;
									} else {
										if (yych == 0x1E08) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x1E1C) {
							if (yych <= 0x1E12) {
								if (yych <= 0x1E0D) {
									if (yych == 0x1E0B) goto yy1;
									if (yych <= 0x1E0C) goto yy3;
								} else {
									if (yych <= 0x1E0F) {
										if (yych <= 0x1E0E) goto yy3;
									} else {
										if (yych != 0x1E11) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E17) {
									if (yych <= 0x1E14) {
										if (yych >= 0x1E14) goto yy3;
									} else {
										if (yych == 0x1E16) goto yy3;
									}
								} else {
									if (yych <= 0x1E19) {
										if (yych <= 0x1E18) goto yy3;
									} else {
										if (yych != 0x1E1B) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x1E25) {
								if (yych <= 0x1E20) {
									if (yych == 0x1E1E) goto yy3;
									if (yych >= 0x1E20) goto yy3;
								} else {
									if (yych <= 0x1E22) {
										if (yych >= 0x1E22) goto yy3;
									} else {
										if (yych == 0x1E24) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E2A) {
									if (yych <= 0x1E27) {
										if (yych <= 0x1E26) goto yy3;
									} else {
										if (yych != 0x1E29) goto yy3;
									}
								} else {
									if (yych <= 0x1E2C) {
										if (yych >= 0x1E2C) goto yy3;
									} else {
										if (yych == 0x1E2E) goto yy3;
									}
								}
							}
						}
					}
				}
			}
		}
	} else {
		if (yych <= 0x2C9A) {
			if (yych <= 0x1ECE) {
				if (yych <= 0x1E7A) {
					if (yych <= 0x1E54) {
						if (yych <= 0x1E41) {
							if (yych <= 0x1E38) {
								if (yych <= 0x1E33) {
									if (yych == 0x1E31) goto yy1;
									if (yych <= 0x1E32) goto yy3;
								} else {
									if (yych <= 0x1E35) {
										if (yych <= 0x1E34) goto yy3;
									} else {
										if (yych != 0x1E37) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E3C) {
									if (yych == 0x1E3A) goto yy3;
									if (yych >= 0x1E3C) goto yy3;
								} else {
									if (yych <= 0x1E3E) {
										if (yych >= 0x1E3E) goto yy3;
									} else {
										if (yych == 0x1E40) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x1E4A) {
								if (yych <= 0x1E45) {
									if (yych == 0x1E43) goto yy1;
									if (yych <= 0x1E44) goto yy3;
								} else {
									if (yych <= 0x1E47) {
										if (yych <= 0x1E46) goto yy3;
									} else {
										if (yych != 0x1E49) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E4F) {
									if (yych <= 0x1E4C) {
										if (yych >= 0x1E4C) goto yy3;
									} else {
										if (yych == 0x1E4E) goto yy3;
									}
								} else {
									if (yych <= 0x1E51) {
										if (yych <= 0x1E50) goto yy3;
									} else {
										if (yych != 0x1E53) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x1E67) {
							if (yych <= 0x1E5D) {
								if (yych <= 0x1E58) {
									if (yych == 0x1E56) goto yy3;
									if (yych >= 0x1E58) goto yy3;
								} else {
									if (yych <= 0x1E5A) {
										if (yych >= 0x1E5A) goto yy3;
									} else {
										if (yych == 0x1E5C) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E62) {
									if (yych <= 0x1E5F) {
										if (yych <= 0x1E5E) goto yy3;
									} else {
										if (yych != 0x1E61) goto yy3;
									}
								} else {
									if (yych <= 0x1E64) {
										if (yych >= 0x1E64) goto yy3;
									} else {
										if (yych == 0x1E66) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x1E70) {
								if (yych <= 0x1E6B) {
									if (yych == 0x1E69) goto yy1;
									if (yych <= 0x1E6A) goto yy3;
								} else {
									if (yych <= 0x1E6D) {
										if (yych <= 0x1E6C) goto yy3;
									} else {
										if (yych != 0x1E6F) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E75) {
									if (yych <= 0x1E72) {
										if (yych >= 0x1E72) goto yy3;
									} else {
										if (yych == 0x1E74) goto yy3;
									}
								} else {
									if (yych <= 0x1E77) {
										if (yych <= 0x1E76) goto yy3;
									} else {
										if (yych != 0x1E79) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0x1EA8) {
						if (yych <= 0x1E8D) {
							if (yych <= 0x1E83) {
								if (yych <= 0x1E7E) {
									if (yych == 0x1E7C) goto yy3;
									if (yych >= 0x1E7E) goto yy3;
								} else {
									if (yych <= 0x1E80) {
										if (yych >= 0x1E80) goto yy3;
									} else {
										if (yych == 0x1E82) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1E88) {
									if (yych <= 0x1E85) {
										if (yych <= 0x1E84) goto yy3;
									} else {
										if (yych != 0x1E87) goto yy3;
									}
								} else {
									if (yych <= 0x1E8A) {
										if (yych >= 0x1E8A) goto yy3;
									} else {
										if (yych == 0x1E8C) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x1E9E) {
								if (yych <= 0x1E91) {
									if (yych == 0x1E8F) goto yy1;
									if (yych <= 0x1E90) goto yy3;
								} else {
									if (yych <= 0x1E93) {
										if (yych <= 0x1E92) goto yy3;
									} else {
										if (yych <= 0x1E94) goto yy3;
										if (yych >= 0x1E9E) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1EA3) {
									if (yych <= 0x1EA0) {
										if (yych >= 0x1EA0) goto yy3;
									} else {
										if (yych == 0x1EA2) goto yy3;
									}
								} else {
									if (yych <= 0x1EA5) {
										if (yych <= 0x1EA4) goto yy3;
									} else {
										if (yych != 0x1EA7) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x1EBB) {
							if (yych <= 0x1EB1) {
								if (yych <= 0x1EAC) {
									if (yych == 0x1EAA) goto yy3;
									if (yych >= 0x1EAC) goto yy3;
								} else {
									if (yych <= 0x1EAE) {
										if (yych >= 0x1EAE) goto yy3;
									} else {
										if (yych == 0x1EB0) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1EB6) {
									if (yych <= 0x1EB3) {
										if (yych <= 0x1EB2) goto yy3;
									} else {
										if (yych != 0x1EB5) goto yy3;
									}
								} else {
									if (yych <= 0x1EB8) {
										if (yych >= 0x1EB8) goto yy3;
									} else {
										if (yych == 0x1EBA) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x1EC4) {
								if (yych <= 0x1EBF) {
									if (yych == 0x1EBD) goto yy1;
									if (yych <= 0x1EBE) goto yy3;
								} else {
									if (yych <= 0x1EC1) {
										if (yych <= 0x1EC0) goto yy3;
									} else {
										if (yych != 0x1EC3) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1EC9) {
									if (yych <= 0x1EC6) {
										if (yych >= 0x1EC6) goto yy3;
									} else {
										if (yych == 0x1EC8) goto yy3;
									}
								} else {
									if (yych <= 0x1ECB) {
										if (yych <= 0x1ECA) goto yy3;
									} else {
										if (yych != 0x1ECD) goto yy3;
									}
								}
							}
						}
					}
				}
			} else {
				if (yych <= 0x1FEC) {
					if (yych <= 0x1EF4) {
						if (yych <= 0x1EE1) {
							if (yych <= 0x1ED7) {
								if (yych <= 0x1ED2) {
									if (yych == 0x1ED0) goto yy3;
									if (yych >= 0x1ED2) goto yy3;
								} else {
									if (yych <= 0x1ED4) {
										if (yych >= 0x1ED4) goto yy3;
									} else {
										if (yych == 0x1ED6) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1EDC) {
									if (yych <= 0x1ED9) {
										if (yych <= 0x1ED8) goto yy3;
									} else {
										if (yych != 0x1EDB) goto yy3;
									}
								} else {
									if (yych <= 0x1EDE) {
										if (yych >= 0x1EDE) goto yy3;
									} else {
										if (yych == 0x1EE0) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x1EEA) {
								if (yych <= 0x1EE5) {
									if (yych == 0x1EE3) goto yy1;
									if (yych <= 0x1EE4) goto yy3;
								} else {
									if (yych <= 0x1EE7) {
										if (yych <= 0x1EE6) goto yy3;
									} else {
										if (yych != 0x1EE9) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1EEF) {
									if (yych <= 0x1EEC) {
										if (yych >= 0x1EEC) goto yy3;
									} else {
										if (yych == 0x1EEE) goto yy3;
									}
								} else {
									if (yych <= 0x1EF1) {
										if (yych <= 0x1EF0) goto yy3;
									} else {
										if (yych != 0x1EF3) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x1F47) {
							if (yych <= 0x1EFD) {
								if (yych <= 0x1EF8) {
									if (yych == 0x1EF6) goto yy3;
									if (yych >= 0x1EF8) goto yy3;
								} else {
									if (yych <= 0x1EFA) {
										if (yych >= 0x1EFA) goto yy3;
									} else {
										if (yych == 0x1EFC) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1F1D) {
									if (yych <= 0x1F07) {
										if (yych <= 0x1EFE) goto yy3;
									} else {
										if (yych <= 0x1F0F) goto yy3;
										if (yych >= 0x1F18) goto yy3;
									}
								} else {
									if (yych <= 0x1F2F) {
										if (yych >= 0x1F28) goto yy3;
									} else {
										if (yych <= 0x1F37) goto yy1;
										if (yych <= 0x1F3F) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x1F5F) {
								if (yych <= 0x1F5A) {
									if (yych <= 0x1F4D) goto yy3;
									if (yych == 0x1F59) goto yy3;
								} else {
									if (yych <= 0x1F5C) {
										if (yych <= 0x1F5B) goto yy3;
									} else {
										if (yych != 0x1F5E) goto yy3;
									}
								}
							} else {
								if (yych <= 0x1FC7) {
									if (yych <= 0x1F6F) {
										if (yych >= 0x1F68) goto yy3;
									} else {
										if (yych <= 0x1FB7) goto yy1;
										if (yych <= 0x1FBB) goto yy3;
									}
								} else {
									if (yych <= 0x1FD7) {
										if (yych <= 0x1FCB) goto yy3;
									} else {
										if (yych <= 0x1FDB) goto yy3;
										if (yych >= 0x1FE8) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0x2C67) {
						if (yych <= 0x2127) {
							if (yych <= 0x210F) {
								if (yych <= 0x2102) {
									if (yych <= 0x1FF7) goto yy1;
									if (yych <= 0x1FFB) goto yy3;
									if (yych >= 0x2102) goto yy3;
								} else {
									if (yych <= 0x2107) {
										if (yych >= 0x2107) goto yy3;
									} else {
										if (yych <= 0x210A) goto yy1;
										if (yych <= 0x210D) goto yy3;
									}
								}
							} else {
								if (yych <= 0x211D) {
									if (yych <= 0x2114) {
										if (yych <= 0x2112) goto yy3;
									} else {
										if (yych <= 0x2115) goto yy3;
										if (yych >= 0x2119) goto yy3;
									}
								} else {
									if (yych <= 0x2124) {
										if (yych >= 0x2124) goto yy3;
									} else {
										if (yych == 0x2126) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x2145) {
								if (yych <= 0x212F) {
									if (yych == 0x2129) goto yy1;
									if (yych <= 0x212D) goto yy3;
								} else {
									if (yych <= 0x213D) {
										if (yych <= 0x2133) goto yy3;
									} else {
										if (yych <= 0x213F) goto yy3;
										if (yych >= 0x2145) goto yy3;
									}
								}
							} else {
								if (yych <= 0x2C5F) {
									if (yych <= 0x2183) {
										if (yych >= 0x2183) goto yy3;
									} else {
										if (yych <= 0x2BFF) goto yy1;
										if (yych <= 0x2C2E) goto yy3;
									}
								} else {
									if (yych <= 0x2C61) {
										if (yych <= 0x2C60) goto yy3;
									} else {
										if (yych <= 0x2C64) goto yy3;
										if (yych >= 0x2C67) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x2C87) {
							if (yych <= 0x2C74) {
								if (yych <= 0x2C6B) {
									if (yych == 0x2C69) goto yy3;
									if (yych >= 0x2C6B) goto yy3;
								} else {
									if (yych <= 0x2C70) {
										if (yych >= 0x2C6D) goto yy3;
									} else {
										if (yych == 0x2C72) goto yy3;
									}
								}
							} else {
								if (yych <= 0x2C82) {
									if (yych <= 0x2C7D) {
										if (yych <= 0x2C75) goto yy3;
									} else {
										if (yych != 0x2C81) goto yy3;
									}
								} else {
									if (yych <= 0x2C84) {
										if (yych >= 0x2C84) goto yy3;
									} else {
										if (yych == 0x2C86) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x2C90) {
								if (yych <= 0x2C8B) {
									if (yych == 0x2C89) goto yy1;
									if (yych <= 0x2C8A) goto yy3;
								} else {
									if (yych <= 0x2C8D) {
										if (yych <= 0x2C8C) goto yy3;
									} else {
										if (yych != 0x2C8F) goto yy3;
									}
								}
							} else {
								if (yych <= 0x2C95) {
									if (yych <= 0x2C92) {
										if (yych >= 0x2C92) goto yy3;
									} else {
										if (yych == 0x2C94) goto yy3;
									}
								} else {
									if (yych <= 0x2C97) {
										if (yych <= 0x2C96) goto yy3;
									} else {
										if (yych != 0x2C99) goto yy3;
									}
								}
							}
						}
					}
				}
			}
		} else {
			if (yych <= 0xA699) {
				if (yych <= 0x2CEC) {
					if (yych <= 0x2CBF) {
						if (yych <= 0x2CAC) {
							if (yych <= 0x2CA3) {
								if (yych <= 0x2C9E) {
									if (yych == 0x2C9C) goto yy3;
									if (yych >= 0x2C9E) goto yy3;
								} else {
									if (yych <= 0x2CA0) {
										if (yych >= 0x2CA0) goto yy3;
									} else {
										if (yych == 0x2CA2) goto yy3;
									}
								}
							} else {
								if (yych <= 0x2CA7) {
									if (yych == 0x2CA5) goto yy1;
									if (yych <= 0x2CA6) goto yy3;
								} else {
									if (yych <= 0x2CA9) {
										if (yych <= 0x2CA8) goto yy3;
									} else {
										if (yych != 0x2CAB) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x2CB5) {
								if (yych <= 0x2CB0) {
									if (yych == 0x2CAE) goto yy3;
									if (yych >= 0x2CB0) goto yy3;
								} else {
									if (yych <= 0x2CB2) {
										if (yych >= 0x2CB2) goto yy3;
									} else {
										if (yych == 0x2CB4) goto yy3;
									}
								}
							} else {
								if (yych <= 0x2CBA) {
									if (yych <= 0x2CB7) {
										if (yych <= 0x2CB6) goto yy3;
									} else {
										if (yych != 0x2CB9) goto yy3;
									}
								} else {
									if (yych <= 0x2CBC) {
										if (yych >= 0x2CBC) goto yy3;
									} else {
										if (yych == 0x2CBE) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0x2CD2) {
							if (yych <= 0x2CC8) {
								if (yych <= 0x2CC3) {
									if (yych == 0x2CC1) goto yy1;
									if (yych <= 0x2CC2) goto yy3;
								} else {
									if (yych <= 0x2CC5) {
										if (yych <= 0x2CC4) goto yy3;
									} else {
										if (yych != 0x2CC7) goto yy3;
									}
								}
							} else {
								if (yych <= 0x2CCD) {
									if (yych <= 0x2CCA) {
										if (yych >= 0x2CCA) goto yy3;
									} else {
										if (yych == 0x2CCC) goto yy3;
									}
								} else {
									if (yych <= 0x2CCF) {
										if (yych <= 0x2CCE) goto yy3;
									} else {
										if (yych != 0x2CD1) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0x2CDB) {
								if (yych <= 0x2CD6) {
									if (yych == 0x2CD4) goto yy3;
									if (yych >= 0x2CD6) goto yy3;
								} else {
									if (yych <= 0x2CD8) {
										if (yych >= 0x2CD8) goto yy3;
									} else {
										if (yych == 0x2CDA) goto yy3;
									}
								}
							} else {
								if (yych <= 0x2CE0) {
									if (yych <= 0x2CDD) {
										if (yych <= 0x2CDC) goto yy3;
									} else {
										if (yych != 0x2CDF) goto yy3;
									}
								} else {
									if (yych <= 0x2CE2) {
										if (yych >= 0x2CE2) goto yy3;
									} else {
										if (yych == 0x2CEB) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0xA661) {
						if (yych <= 0xA64E) {
							if (yych <= 0xA644) {
								if (yych <= 0xA63F) {
									if (yych <= 0x2CED) goto yy3;
									if (yych == 0x2CF2) goto yy3;
								} else {
									if (yych <= 0xA641) {
										if (yych <= 0xA640) goto yy3;
									} else {
										if (yych != 0xA643) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA649) {
									if (yych <= 0xA646) {
										if (yych >= 0xA646) goto yy3;
									} else {
										if (yych == 0xA648) goto yy3;
									}
								} else {
									if (yych <= 0xA64B) {
										if (yych <= 0xA64A) goto yy3;
									} else {
										if (yych != 0xA64D) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0xA657) {
								if (yych <= 0xA652) {
									if (yych == 0xA650) goto yy3;
									if (yych >= 0xA652) goto yy3;
								} else {
									if (yych <= 0xA654) {
										if (yych >= 0xA654) goto yy3;
									} else {
										if (yych == 0xA656) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA65C) {
									if (yych <= 0xA659) {
										if (yych <= 0xA658) goto yy3;
									} else {
										if (yych != 0xA65B) goto yy3;
									}
								} else {
									if (yych <= 0xA65E) {
										if (yych >= 0xA65E) goto yy3;
									} else {
										if (yych == 0xA660) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0xA686) {
							if (yych <= 0xA66A) {
								if (yych <= 0xA665) {
									if (yych == 0xA663) goto yy1;
									if (yych <= 0xA664) goto yy3;
								} else {
									if (yych <= 0xA667) {
										if (yych <= 0xA666) goto yy3;
									} else {
										if (yych != 0xA669) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA681) {
									if (yych <= 0xA66C) {
										if (yych >= 0xA66C) goto yy3;
									} else {
										if (yych == 0xA680) goto yy3;
									}
								} else {
									if (yych <= 0xA683) {
										if (yych <= 0xA682) goto yy3;
									} else {
										if (yych != 0xA685) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0xA68F) {
								if (yych <= 0xA68A) {
									if (yych == 0xA688) goto yy3;
									if (yych >= 0xA68A) goto yy3;
								} else {
									if (yych <= 0xA68C) {
										if (yych >= 0xA68C) goto yy3;
									} else {
										if (yych == 0xA68E) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA694) {
									if (yych <= 0xA691) {
										if (yych <= 0xA690) goto yy3;
									} else {
										if (yych != 0xA693) goto yy3;
									}
								} else {
									if (yych <= 0xA696) {
										if (yych >= 0xA696) goto yy3;
									} else {
										if (yych == 0xA698) goto yy3;
									}
								}
							}
						}
					}
				}
			} else {
				if (yych <= 0xA76D) {
					if (yych <= 0xA747) {
						if (yych <= 0xA734) {
							if (yych <= 0xA728) {
								if (yych <= 0xA723) {
									if (yych <= 0xA69A) goto yy3;
									if (yych == 0xA722) goto yy3;
								} else {
									if (yych <= 0xA725) {
										if (yych <= 0xA724) goto yy3;
									} else {
										if (yych != 0xA727) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA72D) {
									if (yych <= 0xA72A) {
										if (yych >= 0xA72A) goto yy3;
									} else {
										if (yych == 0xA72C) goto yy3;
									}
								} else {
									if (yych <= 0xA731) {
										if (yych <= 0xA72E) goto yy3;
									} else {
										if (yych != 0xA733) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0xA73D) {
								if (yych <= 0xA738) {
									if (yych == 0xA736) goto yy3;
									if (yych >= 0xA738) goto yy3;
								} else {
									if (yych <= 0xA73A) {
										if (yych >= 0xA73A) goto yy3;
									} else {
										if (yych == 0xA73C) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA742) {
									if (yych <= 0xA73F) {
										if (yych <= 0xA73E) goto yy3;
									} else {
										if (yych != 0xA741) goto yy3;
									}
								} else {
									if (yych <= 0xA744) {
										if (yych >= 0xA744) goto yy3;
									} else {
										if (yych == 0xA746) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0xA75A) {
							if (yych <= 0xA750) {
								if (yych <= 0xA74B) {
									if (yych == 0xA749) goto yy1;
									if (yych <= 0xA74A) goto yy3;
								} else {
									if (yych <= 0xA74D) {
										if (yych <= 0xA74C) goto yy3;
									} else {
										if (yych != 0xA74F) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA755) {
									if (yych <= 0xA752) {
										if (yych >= 0xA752) goto yy3;
									} else {
										if (yych == 0xA754) goto yy3;
									}
								} else {
									if (yych <= 0xA757) {
										if (yych <= 0xA756) goto yy3;
									} else {
										if (yych != 0xA759) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0xA763) {
								if (yych <= 0xA75E) {
									if (yych == 0xA75C) goto yy3;
									if (yych >= 0xA75E) goto yy3;
								} else {
									if (yych <= 0xA760) {
										if (yych >= 0xA760) goto yy3;
									} else {
										if (yych == 0xA762) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA768) {
									if (yych <= 0xA765) {
										if (yych <= 0xA764) goto yy3;
									} else {
										if (yych != 0xA767) goto yy3;
									}
								} else {
									if (yych <= 0xA76A) {
										if (yych >= 0xA76A) goto yy3;
									} else {
										if (yych == 0xA76C) goto yy3;
									}
								}
							}
						}
					}
				} else {
					if (yych <= 0xA7A3) {
						if (yych <= 0xA78D) {
							if (yych <= 0xA780) {
								if (yych <= 0xA77A) {
									if (yych <= 0xA76E) goto yy3;
									if (yych == 0xA779) goto yy3;
								} else {
									if (yych <= 0xA77C) {
										if (yych <= 0xA77B) goto yy3;
									} else {
										if (yych != 0xA77F) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA785) {
									if (yych <= 0xA782) {
										if (yych >= 0xA782) goto yy3;
									} else {
										if (yych == 0xA784) goto yy3;
									}
								} else {
									if (yych <= 0xA78A) {
										if (yych <= 0xA786) goto yy3;
									} else {
										if (yych != 0xA78C) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0xA799) {
								if (yych <= 0xA792) {
									if (yych == 0xA790) goto yy3;
									if (yych >= 0xA792) goto yy3;
								} else {
									if (yych <= 0xA796) {
										if (yych >= 0xA796) goto yy3;
									} else {
										if (yych == 0xA798) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA79E) {
									if (yych <= 0xA79B) {
										if (yych <= 0xA79A) goto yy3;
									} else {
										if (yych != 0xA79D) goto yy3;
									}
								} else {
									if (yych <= 0xA7A0) {
										if (yych >= 0xA7A0) goto yy3;
									} else {
										if (yych == 0xA7A2) goto yy3;
									}
								}
							}
						}
					} else {
						if (yych <= 0xA7BE) {
							if (yych <= 0xA7B4) {
								if (yych <= 0xA7A7) {
									if (yych == 0xA7A5) goto yy1;
									if (yych <= 0xA7A6) goto yy3;
								} else {
									if (yych <= 0xA7A9) {
										if (yych <= 0xA7A8) goto yy3;
									} else {
										if (yych != 0xA7AF) goto yy3;
									}
								}
							} else {
								if (yych <= 0xA7B9) {
									if (yych <= 0xA7B6) {
										if (yych >= 0xA7B6) goto yy3;
									} else {
										if (yych == 0xA7B8) goto yy3;
									}
								} else {
									if (yych <= 0xA7BB) {
										if (yych <= 0xA7BA) goto yy3;
									} else {
										if (yych != 0xA7BD) goto yy3;
									}
								}
							}
						} else {
							if (yych <= 0xD805) {
								if (yych <= 0xA7C6) {
									if (yych == 0xA7C2) goto yy3;
									if (yych >= 0xA7C4) goto yy3;
								} else {
									if (yych <= 0xD801) {
										if (yych >= 0xD801) goto yy4;
									} else {
										if (yych == 0xD803) goto yy5;
									}
								}
							} else {
								if (yych <= 0xD835) {
									if (yych <= 0xD81A) {
										if (yych <= 0xD806) goto yy6;
									} else {
										if (yych <= 0xD81B) goto yy7;
										if (yych >= 0xD835) goto yy8;
									}
								} else {
									if (yych <= 0xD83A) {
										if (yych >= 0xD83A) goto yy9;
									} else {
										if (yych <= 0xFF20) goto yy1;
										if (yych <= 0xFF3A) goto yy3;
									}
								}
							}
						}
					}
				}
			}
		}
	}
yy1:
	++YYCURSOR;
yy2:
#line 14 "encodings/unicode_group_Lu_x_encoding_policy_ignore.re"
	{ return YYCURSOR == limit; }
#line 1882 "encodings/unicode_group_Lu_x_encoding_policy_ignore.c"
yy3:
	++YYCURSOR;
#line 13 "encodings/unicode_group_Lu_x_encoding_policy_ignore.re"
	{ goto Lu; }
#line 1887 "encodings/unicode_group_Lu_x_encoding_policy_ignore.c"
yy4:
	yych = *++YYCURSOR;
	if (yych <= 0xDBFF) goto yy2;
	if (yych <= 0xDC27) goto yy3;
	if (yych <= 0xDCAF) goto yy2;
	if (yych <= 0xDCD3) goto yy3;
	goto yy2;
yy5:
	yych = *++YYCURSOR;
	if (yych <= 0xDC7F) goto yy2;
	if (yych <= 0xDCB2) goto yy3;
	goto yy2;
yy6:
	yych = *++YYCURSOR;
	if (yych <= 0xDC9F) goto yy2;
	if (yych <= 0xDCBF) goto yy3;
	goto yy2;
yy7:
	yych = *++YYCURSOR;
	if (yych <= 0xDE3F) goto yy2;
	if (yych <= 0xDE5F) goto yy3;
	goto yy2;
yy8:
	yych = *++YYCURSOR;
	if (yych <= 0xDD3A) {
		if (yych <= 0xDCA8) {
			if (yych <= 0xDC9B) {
				if (yych <= 0xDC33) {
					if (yych <= 0xDBFF) goto yy2;
					if (yych <= 0xDC19) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDC4D) goto yy3;
					if (yych <= 0xDC67) goto yy2;
					if (yych <= 0xDC81) goto yy3;
					goto yy2;
				}
			} else {
				if (yych <= 0xDCA1) {
					if (yych == 0xDC9D) goto yy2;
					if (yych <= 0xDC9F) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDCA2) goto yy3;
					if (yych <= 0xDCA4) goto yy2;
					if (yych <= 0xDCA6) goto yy3;
					goto yy2;
				}
			}
		} else {
			if (yych <= 0xDD06) {
				if (yych <= 0xDCCF) {
					if (yych == 0xDCAD) goto yy2;
					if (yych <= 0xDCB5) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDCE9) goto yy3;
					if (yych <= 0xDD03) goto yy2;
					if (yych <= 0xDD05) goto yy3;
					goto yy2;
				}
			} else {
				if (yych <= 0xDD15) {
					if (yych <= 0xDD0A) goto yy3;
					if (yych <= 0xDD0C) goto yy2;
					if (yych <= 0xDD14) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDD1C) goto yy3;
					if (yych <= 0xDD37) goto yy2;
					if (yych <= 0xDD39) goto yy3;
					goto yy2;
				}
			}
		}
	} else {
		if (yych <= 0xDE3B) {
			if (yych <= 0xDD6B) {
				if (yych <= 0xDD45) {
					if (yych == 0xDD3F) goto yy2;
					if (yych <= 0xDD44) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDD46) goto yy3;
					if (yych <= 0xDD49) goto yy2;
					if (yych <= 0xDD50) goto yy3;
					goto yy2;
				}
			} else {
				if (yych <= 0xDDD3) {
					if (yych <= 0xDD85) goto yy3;
					if (yych <= 0xDD9F) goto yy2;
					if (yych <= 0xDDB9) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDDED) goto yy3;
					if (yych <= 0xDE07) goto yy2;
					if (yych <= 0xDE21) goto yy3;
					goto yy2;
				}
			}
		} else {
			if (yych <= 0xDF1B) {
				if (yych <= 0xDEA7) {
					if (yych <= 0xDE55) goto yy3;
					if (yych <= 0xDE6F) goto yy2;
					if (yych <= 0xDE89) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDEC0) goto yy3;
					if (yych <= 0xDEE1) goto yy2;
					if (yych <= 0xDEFA) goto yy3;
					goto yy2;
				}
			} else {
				if (yych <= 0xDF8F) {
					if (yych <= 0xDF34) goto yy3;
					if (yych <= 0xDF55) goto yy2;
					if (yych <= 0xDF6E) goto yy3;
					goto yy2;
				} else {
					if (yych <= 0xDFA8) goto yy3;
					if (yych == 0xDFCA) goto yy3;
					goto yy2;
				}
			}
		}
	}
yy9:
	yych = *++YYCURSOR;
	if (yych <= 0xDCFF) goto yy2;
	if (yych <= 0xDD21) goto yy3;
	goto yy2;
}
#line 15 "encodings/unicode_group_Lu_x_encoding_policy_ignore.re"

}
static const unsigned int chars_Lu [] = {0x41,0x5a,  0xc0,0xd6,  0xd8,0xde,  0x100,0x100,  0x102,0x102,  0x104,0x104,  0x106,0x106,  0x108,0x108,  0x10a,0x10a,  0x10c,0x10c,  0x10e,0x10e,  0x110,0x110,  0x112,0x112,  0x114,0x114,  0x116,0x116,  0x118,0x118,  0x11a,0x11a,  0x11c,0x11c,  0x11e,0x11e,  0x120,0x120,  0x122,0x122,  0x124,0x124,  0x126,0x126,  0x128,0x128,  0x12a,0x12a,  0x12c,0x12c,  0x12e,0x12e,  0x130,0x130,  0x132,0x132,  0x134,0x134,  0x136,0x136,  0x139,0x139,  0x13b,0x13b,  0x13d,0x13d,  0x13f,0x13f,  0x141,0x141,  0x143,0x143,  0x145,0x145,  0x147,0x147,  0x14a,0x14a,  0x14c,0x14c,  0x14e,0x14e,  0x150,0x150,  0x152,0x152,  0x154,0x154,  0x156,0x156,  0x158,0x158,  0x15a,0x15a,  0x15c,0x15c,  0x15e,0x15e,  0x160,0x160,  0x162,0x162,  0x164,0x164,  0x166,0x166,  0x168,0x168,  0x16a,0x16a,  0x16c,0x16c,  0x16e,0x16e,  0x170,0x170,  0x172,0x172,  0x174,0x174,  0x176,0x176,  0x178,0x179,  0x17b,0x17b,  0x17d,0x17d,  0x181,0x182,  0x184,0x184,  0x186,0x187,  0x189,0x18b,  0x18e,0x191,  0x193,0x194,  0x196,0x198,  0x19c,0x19d,  0x19f,0x1a0,  0x1a2,0x1a2,  0x1a4,0x1a4,  0x1a6,0x1a7,  0x1a9,0x1a9,  0x1ac,0x1ac,  0x1ae,0x1af,  0x1b1,0x1b3,  0x1b5,0x1b5,  0x1b7,0x1b8,  0x1bc,0x1bc,  0x1c4,0x1c4,  0x1c7,0x1c7,  0x1ca,0x1ca,  0x1cd,0x1cd,  0x1cf,0x1cf,  0x1d1,0x1d1,  0x1d3,0x1d3,  0x1d5,0x1d5,  0x1d7,0x1d7,  0x1d9,0x1d9,  0x1db,0x1db,  0x1de,0x1de,  0x1e0,0x1e0,  0x1e2,0x1e2,  0x1e4,0x1e4,  0x1e6,0x1e6,  0x1e8,0x1e8,  0x1ea,0x1ea,  0x1ec,0x1ec,  0x1ee,0x1ee,  0x1f1,0x1f1,  0x1f4,0x1f4,  0x1f6,0x1f8,  0x1fa,0x1fa,  0x1fc,0x1fc,  0x1fe,0x1fe,  0x200,0x200,  0x202,0x202,  0x204,0x204,  0x206,0x206,  0x208,0x208,  0x20a,0x20a,  0x20c,0x20c,  0x20e,0x20e,  0x210,0x210,  0x212,0x212,  0x214,0x214,  0x216,0x216,  0x218,0x218,  0x21a,0x21a,  0x21c,0x21c,  0x21e,0x21e,  0x220,0x220,  0x222,0x222,  0x224,0x224,  0x226,0x226,  0x228,0x228,  0x22a,0x22a,  0x22c,0x22c,  0x22e,0x22e,  0x230,0x230,  0x232,0x232,  0x23a,0x23b,  0x23d,0x23e,  0x241,0x241,  0x243,0x246,  0x248,0x248,  0x24a,0x24a,  0x24c,0x24c,  0x24e,0x24e,  0x370,0x370,  0x372,0x372,  0x376,0x376,  0x37f,0x37f,  0x386,0x386,  0x388,0x38a,  0x38c,0x38c,  0x38e,0x38f,  0x391,0x3a1,  0x3a3,0x3ab,  0x3cf,0x3cf,  0x3d2,0x3d4,  0x3d8,0x3d8,  0x3da,0x3da,  0x3dc,0x3dc,  0x3de,0x3de,  0x3e0,0x3e0,  0x3e2,0x3e2,  0x3e4,0x3e4,  0x3e6,0x3e6,  0x3e8,0x3e8,  0x3ea,0x3ea,  0x3ec,0x3ec,  0x3ee,0x3ee,  0x3f4,0x3f4,  0x3f7,0x3f7,  0x3f9,0x3fa,  0x3fd,0x42f,  0x460,0x460,  0x462,0x462,  0x464,0x464,  0x466,0x466,  0x468,0x468,  0x46a,0x46a,  0x46c,0x46c,  0x46e,0x46e,  0x470,0x470,  0x472,0x472,  0x474,0x474,  0x476,0x476,  0x478,0x478,  0x47a,0x47a,  0x47c,0x47c,  0x47e,0x47e,  0x480,0x480,  0x48a,0x48a,  0x48c,0x48c,  0x48e,0x48e,  0x490,0x490,  0x492,0x492,  0x494,0x494,  0x496,0x496,  0x498,0x498,  0x49a,0x49a,  0x49c,0x49c,  0x49e,0x49e,  0x4a0,0x4a0,  0x4a2,0x4a2,  0x4a4,0x4a4,  0x4a6,0x4a6,  0x4a8,0x4a8,  0x4aa,0x4aa,  0x4ac,0x4ac,  0x4ae,0x4ae,  0x4b0,0x4b0,  0x4b2,0x4b2,  0x4b4,0x4b4,  0x4b6,0x4b6,  0x4b8,0x4b8,  0x4ba,0x4ba,  0x4bc,0x4bc,  0x4be,0x4be,  0x4c0,0x4c1,  0x4c3,0x4c3,  0x4c5,0x4c5,  0x4c7,0x4c7,  0x4c9,0x4c9,  0x4cb,0x4cb,  0x4cd,0x4cd,  0x4d0,0x4d0,  0x4d2,0x4d2,  0x4d4,0x4d4,  0x4d6,0x4d6,  0x4d8,0x4d8,  0x4da,0x4da,  0x4dc,0x4dc,  0x4de,0x4de,  0x4e0,0x4e0,  0x4e2,0x4e2,  0x4e4,0x4e4,  0x4e6,0x4e6,  0x4e8,0x4e8,  0x4ea,0x4ea,  0x4ec,0x4ec,  0x4ee,0x4ee,  0x4f0,0x4f0,  0x4f2,0x4f2,  0x4f4,0x4f4,  0x4f6,0x4f6,  0x4f8,0x4f8,  0x4fa,0x4fa,  0x4fc,0x4fc,  0x4fe,0x4fe,  0x500,0x500,  0x502,0x502,  0x504,0x504,  0x506,0x506,  0x508,0x508,  0x50a,0x50a,  0x50c,0x50c,  0x50e,0x50e,  0x510,0x510,  0x512,0x512,  0x514,0x514,  0x516,0x516,  0x518,0x518,  0x51a,0x51a,  0x51c,0x51c,  0x51e,0x51e,  0x520,0x520,  0x522,0x522,  0x524,0x524,  0x526,0x526,  0x528,0x528,  0x52a,0x52a,  0x52c,0x52c,  0x52e,0x52e,  0x531,0x556,  0x10a0,0x10c5,  0x10c7,0x10c7,  0x10cd,0x10cd,  0x13a0,0x13f5,  0x1c90,0x1cba,  0x1cbd,0x1cbf,  0x1e00,0x1e00,  0x1e02,0x1e02,  0x1e04,0x1e04,  0x1e06,0x1e06,  0x1e08,0x1e08,  0x1e0a,0x1e0a,  0x1e0c,0x1e0c,  0x1e0e,0x1e0e,  0x1e10,0x1e10,  0x1e12,0x1e12,  0x1e14,0x1e14,  0x1e16,0x1e16,  0x1e18,0x1e18,  0x1e1a,0x1e1a,  0x1e1c,0x1e1c,  0x1e1e,0x1e1e,  0x1e20,0x1e20,  0x1e22,0x1e22,  0x1e24,0x1e24,  0x1e26,0x1e26,  0x1e28,0x1e28,  0x1e2a,0x1e2a,  0x1e2c,0x1e2c,  0x1e2e,0x1e2e,  0x1e30,0x1e30,  0x1e32,0x1e32,  0x1e34,0x1e34,  0x1e36,0x1e36,  0x1e38,0x1e38,  0x1e3a,0x1e3a,  0x1e3c,0x1e3c,  0x1e3e,0x1e3e,  0x1e40,0x1e40,  0x1e42,0x1e42,  0x1e44,0x1e44,  0x1e46,0x1e46,  0x1e48,0x1e48,  0x1e4a,0x1e4a,  0x1e4c,0x1e4c,  0x1e4e,0x1e4e,  0x1e50,0x1e50,  0x1e52,0x1e52,  0x1e54,0x1e54,  0x1e56,0x1e56,  0x1e58,0x1e58,  0x1e5a,0x1e5a,  0x1e5c,0x1e5c,  0x1e5e,0x1e5e,  0x1e60,0x1e60,  0x1e62,0x1e62,  0x1e64,0x1e64,  0x1e66,0x1e66,  0x1e68,0x1e68,  0x1e6a,0x1e6a,  0x1e6c,0x1e6c,  0x1e6e,0x1e6e,  0x1e70,0x1e70,  0x1e72,0x1e72,  0x1e74,0x1e74,  0x1e76,0x1e76,  0x1e78,0x1e78,  0x1e7a,0x1e7a,  0x1e7c,0x1e7c,  0x1e7e,0x1e7e,  0x1e80,0x1e80,  0x1e82,0x1e82,  0x1e84,0x1e84,  0x1e86,0x1e86,  0x1e88,0x1e88,  0x1e8a,0x1e8a,  0x1e8c,0x1e8c,  0x1e8e,0x1e8e,  0x1e90,0x1e90,  0x1e92,0x1e92,  0x1e94,0x1e94,  0x1e9e,0x1e9e,  0x1ea0,0x1ea0,  0x1ea2,0x1ea2,  0x1ea4,0x1ea4,  0x1ea6,0x1ea6,  0x1ea8,0x1ea8,  0x1eaa,0x1eaa,  0x1eac,0x1eac,  0x1eae,0x1eae,  0x1eb0,0x1eb0,  0x1eb2,0x1eb2,  0x1eb4,0x1eb4,  0x1eb6,0x1eb6,  0x1eb8,0x1eb8,  0x1eba,0x1eba,  0x1ebc,0x1ebc,  0x1ebe,0x1ebe,  0x1ec0,0x1ec0,  0x1ec2,0x1ec2,  0x1ec4,0x1ec4,  0x1ec6,0x1ec6,  0x1ec8,0x1ec8,  0x1eca,0x1eca,  0x1ecc,0x1ecc,  0x1ece,0x1ece,  0x1ed0,0x1ed0,  0x1ed2,0x1ed2,  0x1ed4,0x1ed4,  0x1ed6,0x1ed6,  0x1ed8,0x1ed8,  0x1eda,0x1eda,  0x1edc,0x1edc,  0x1ede,0x1ede,  0x1ee0,0x1ee0,  0x1ee2,0x1ee2,  0x1ee4,0x1ee4,  0x1ee6,0x1ee6,  0x1ee8,0x1ee8,  0x1eea,0x1eea,  0x1eec,0x1eec,  0x1eee,0x1eee,  0x1ef0,0x1ef0,  0x1ef2,0x1ef2,  0x1ef4,0x1ef4,  0x1ef6,0x1ef6,  0x1ef8,0x1ef8,  0x1efa,0x1efa,  0x1efc,0x1efc,  0x1efe,0x1efe,  0x1f08,0x1f0f,  0x1f18,0x1f1d,  0x1f28,0x1f2f,  0x1f38,0x1f3f,  0x1f48,0x1f4d,  0x1f59,0x1f59,  0x1f5b,0x1f5b,  0x1f5d,0x1f5d,  0x1f5f,0x1f5f,  0x1f68,0x1f6f,  0x1fb8,0x1fbb,  0x1fc8,0x1fcb,  0x1fd8,0x1fdb,  0x1fe8,0x1fec,  0x1ff8,0x1ffb,  0x2102,0x2102,  0x2107,0x2107,  0x210b,0x210d,  0x2110,0x2112,  0x2115,0x2115,  0x2119,0x211d,  0x2124,0x2124,  0x2126,0x2126,  0x2128,0x2128,  0x212a,0x212d,  0x2130,0x2133,  0x213e,0x213f,  0x2145,0x2145,  0x2183,0x2183,  0x2c00,0x2c2e,  0x2c60,0x2c60,  0x2c62,0x2c64,  0x2c67,0x2c67,  0x2c69,0x2c69,  0x2c6b,0x2c6b,  0x2c6d,0x2c70,  0x2c72,0x2c72,  0x2c75,0x2c75,  0x2c7e,0x2c80,  0x2c82,0x2c82,  0x2c84,0x2c84,  0x2c86,0x2c86,  0x2c88,0x2c88,  0x2c8a,0x2c8a,  0x2c8c,0x2c8c,  0x2c8e,0x2c8e,  0x2c90,0x2c90,  0x2c92,0x2c92,  0x2c94,0x2c94,  0x2c96,0x2c96,  0x2c98,0x2c98,  0x2c9a,0x2c9a,  0x2c9c,0x2c9c,  0x2c9e,0x2c9e,  0x2ca0,0x2ca0,  0x2ca2,0x2ca2,  0x2ca4,0x2ca4,  0x2ca6,0x2ca6,  0x2ca8,0x2ca8,  0x2caa,0x2caa,  0x2cac,0x2cac,  0x2cae,0x2cae,  0x2cb0,0x2cb0,  0x2cb2,0x2cb2,  0x2cb4,0x2cb4,  0x2cb6,0x2cb6,  0x2cb8,0x2cb8,  0x2cba,0x2cba,  0x2cbc,0x2cbc,  0x2cbe,0x2cbe,  0x2cc0,0x2cc0,  0x2cc2,0x2cc2,  0x2cc4,0x2cc4,  0x2cc6,0x2cc6,  0x2cc8,0x2cc8,  0x2cca,0x2cca,  0x2ccc,0x2ccc,  0x2cce,0x2cce,  0x2cd0,0x2cd0,  0x2cd2,0x2cd2,  0x2cd4,0x2cd4,  0x2cd6,0x2cd6,  0x2cd8,0x2cd8,  0x2cda,0x2cda,  0x2cdc,0x2cdc,  0x2cde,0x2cde,  0x2ce0,0x2ce0,  0x2ce2,0x2ce2,  0x2ceb,0x2ceb,  0x2ced,0x2ced,  0x2cf2,0x2cf2,  0xa640,0xa640,  0xa642,0xa642,  0xa644,0xa644,  0xa646,0xa646,  0xa648,0xa648,  0xa64a,0xa64a,  0xa64c,0xa64c,  0xa64e,0xa64e,  0xa650,0xa650,  0xa652,0xa652,  0xa654,0xa654,  0xa656,0xa656,  0xa658,0xa658,  0xa65a,0xa65a,  0xa65c,0xa65c,  0xa65e,0xa65e,  0xa660,0xa660,  0xa662,0xa662,  0xa664,0xa664,  0xa666,0xa666,  0xa668,0xa668,  0xa66a,0xa66a,  0xa66c,0xa66c,  0xa680,0xa680,  0xa682,0xa682,  0xa684,0xa684,  0xa686,0xa686,  0xa688,0xa688,  0xa68a,0xa68a,  0xa68c,0xa68c,  0xa68e,0xa68e,  0xa690,0xa690,  0xa692,0xa692,  0xa694,0xa694,  0xa696,0xa696,  0xa698,0xa698,  0xa69a,0xa69a,  0xa722,0xa722,  0xa724,0xa724,  0xa726,0xa726,  0xa728,0xa728,  0xa72a,0xa72a,  0xa72c,0xa72c,  0xa72e,0xa72e,  0xa732,0xa732,  0xa734,0xa734,  0xa736,0xa736,  0xa738,0xa738,  0xa73a,0xa73a,  0xa73c,0xa73c,  0xa73e,0xa73e,  0xa740,0xa740,  0xa742,0xa742,  0xa744,0xa744,  0xa746,0xa746,  0xa748,0xa748,  0xa74a,0xa74a,  0xa74c,0xa74c,  0xa74e,0xa74e,  0xa750,0xa750,  0xa752,0xa752,  0xa754,0xa754,  0xa756,0xa756,  0xa758,0xa758,  0xa75a,0xa75a,  0xa75c,0xa75c,  0xa75e,0xa75e,  0xa760,0xa760,  0xa762,0xa762,  0xa764,0xa764,  0xa766,0xa766,  0xa768,0xa768,  0xa76a,0xa76a,  0xa76c,0xa76c,  0xa76e,0xa76e,  0xa779,0xa779,  0xa77b,0xa77b,  0xa77d,0xa77e,  0xa780,0xa780,  0xa782,0xa782,  0xa784,0xa784,  0xa786,0xa786,  0xa78b,0xa78b,  0xa78d,0xa78d,  0xa790,0xa790,  0xa792,0xa792,  0xa796,0xa796,  0xa798,0xa798,  0xa79a,0xa79a,  0xa79c,0xa79c,  0xa79e,0xa79e,  0xa7a0,0xa7a0,  0xa7a2,0xa7a2,  0xa7a4,0xa7a4,  0xa7a6,0xa7a6,  0xa7a8,0xa7a8,  0xa7aa,0xa7ae,  0xa7b0,0xa7b4,  0xa7b6,0xa7b6,  0xa7b8,0xa7b8,  0xa7ba,0xa7ba,  0xa7bc,0xa7bc,  0xa7be,0xa7be,  0xa7c2,0xa7c2,  0xa7c4,0xa7c6,  0xff21,0xff3a,  0x10400,0x10427,  0x104b0,0x104d3,  0x10c80,0x10cb2,  0x118a0,0x118bf,  0x16e40,0x16e5f,  0x1d400,0x1d419,  0x1d434,0x1d44d,  0x1d468,0x1d481,  0x1d49c,0x1d49c,  0x1d49e,0x1d49f,  0x1d4a2,0x1d4a2,  0x1d4a5,0x1d4a6,  0x1d4a9,0x1d4ac,  0x1d4ae,0x1d4b5,  0x1d4d0,0x1d4e9,  0x1d504,0x1d505,  0x1d507,0x1d50a,  0x1d50d,0x1d514,  0x1d516,0x1d51c,  0x1d538,0x1d539,  0x1d53b,0x1d53e,  0x1d540,0x1d544,  0x1d546,0x1d546,  0x1d54a,0x1d550,  0x1d56c,0x1d585,  0x1d5a0,0x1d5b9,  0x1d5d4,0x1d5ed,  0x1d608,0x1d621,  0x1d63c,0x1d655,  0x1d670,0x1d689,  0x1d6a8,0x1d6c0,  0x1d6e2,0x1d6fa,  0x1d71c,0x1d734,  0x1d756,0x1d76e,  0x1d790,0x1d7a8,  0x1d7ca,0x1d7ca,  0x1e900,0x1e921,  0x0,0x0};
static unsigned int encode_utf16 (const unsigned int * ranges, unsigned int ranges_count, unsigned int * s)
{
	unsigned int * const s_start = s;
	for (unsigned int i = 0; i < ranges_count; i += 2)
		for (unsigned int j = ranges[i]; j <= ranges[i + 1]; ++j)
		{
			if (j <= re2c::utf16::MAX_1WORD_RUNE)
				*s++ = j;
			else
			{
				*s++ = re2c::utf16::lead_surr(j);
				*s++ = re2c::utf16::trail_surr(j);
			}
		}
	return s - s_start;
}

int main ()
{
	unsigned int * buffer_Lu = new unsigned int [3578];
	YYCTYPE * s = (YYCTYPE *) buffer_Lu;
	unsigned int buffer_len = encode_utf16 (chars_Lu, sizeof (chars_Lu) / sizeof (unsigned int), buffer_Lu);
	/* convert 32-bit code units to YYCTYPE; reuse the same buffer */
	for (unsigned int i = 0; i < buffer_len; ++i) s[i] = buffer_Lu[i];
	if (!scan (s, s + buffer_len))
		printf("test 'Lu' failed\n");
	delete [] buffer_Lu;
	return 0;
}
