// Generated by scripts/mapgen.py
// 2019-08-31
use super ::fold::Fold;
use core::char;
pub fn lookup(orig: char) -> Fold {
// The code below is is intended to reduce the binary size from that of a simple 1:1 lookup table.
// It exploits two facts:
// 1. Many of the mappings form ranges mapped to other ranges.
// To benefit from this, we match on ranges instead of single numbers.
// Alone, this decreases the binary size but results in performance regression over the simple 1:1 lookup.
// 2. Most of the mappings are from relatively small chars (0 - 0x2CFF).
// To benefit from this, we use a jump table based on the high byte for this range.
// This more than recovers the performance regression from exploting fact #1, at least in the tested benchmark.
let from = orig as u32;
if from <= 0 x2CFF {
let from = from as u16;
let high_byte = (from >> 8 ) as u8;
let low_byte = (from & 0 xff) as u8;
let single_char: u16 = match high_byte {
0 x00 => {
match low_byte {
x @ _ if 0 x41 <= x && x <= 0 x5a => from.wrapping_add(0 x0020),
0 xb5 => 0 x03bc,
x @ _ if 0 xc0 <= x && x <= 0 xd6 => from.wrapping_add(0 x0020),
x @ _ if 0 xd8 <= x && x <= 0 xde => from.wrapping_add(0 x0020),
0 xdf => return Fold::Two('\u{0073}' , '\u{0073}' ,),
_ => from
}
}
0 x01 => {
match low_byte {
x @ _ if x <= 0 x2e => (from | 1 ),
0 x30 => return Fold::Two('\u{0069}' , '\u{0307}' ,),
x @ _ if 0 x32 <= x && x <= 0 x36 => (from | 1 ),
x @ _ if 0 x39 <= x && x <= 0 x47 => ((from+1 ) & !1 ),
0 x49 => return Fold::Two('\u{02bc}' , '\u{006e}' ,),
x @ _ if 0 x4a <= x && x <= 0 x76 => (from | 1 ),
0 x78 => 0 x00ff,
x @ _ if 0 x79 <= x && x <= 0 x7d => ((from+1 ) & !1 ),
0 x7f => 0 x0073,
0 x81 => 0 x0253,
x @ _ if 0 x82 <= x && x <= 0 x84 => (from | 1 ),
0 x86 => 0 x0254,
0 x87 => 0 x0188,
x @ _ if 0 x89 <= x && x <= 0 x8a => from.wrapping_add(0 x00cd),
0 x8b => 0 x018c,
0 x8e => 0 x01dd,
0 x8f => 0 x0259,
0 x90 => 0 x025b,
0 x91 => 0 x0192,
0 x93 => 0 x0260,
0 x94 => 0 x0263,
0 x96 => 0 x0269,
0 x97 => 0 x0268,
0 x98 => 0 x0199,
0 x9c => 0 x026f,
0 x9d => 0 x0272,
0 x9f => 0 x0275,
x @ _ if 0 xa0 <= x && x <= 0 xa4 => (from | 1 ),
0 xa6 => 0 x0280,
0 xa7 => 0 x01a8,
0 xa9 => 0 x0283,
0 xac => 0 x01ad,
0 xae => 0 x0288,
0 xaf => 0 x01b0,
x @ _ if 0 xb1 <= x && x <= 0 xb2 => from.wrapping_add(0 x00d9),
x @ _ if 0 xb3 <= x && x <= 0 xb5 => ((from+1 ) & !1 ),
0 xb7 => 0 x0292,
0 xb8 => 0 x01b9,
0 xbc => 0 x01bd,
0 xc4 => 0 x01c6,
0 xc5 => 0 x01c6,
0 xc7 => 0 x01c9,
0 xc8 => 0 x01c9,
0 xca => 0 x01cc,
x @ _ if 0 xcb <= x && x <= 0 xdb => ((from+1 ) & !1 ),
x @ _ if 0 xde <= x && x <= 0 xee => (from | 1 ),
0 xf0 => return Fold::Two('\u{006a}' , '\u{030c}' ,),
0 xf1 => 0 x01f3,
x @ _ if 0 xf2 <= x && x <= 0 xf4 => (from | 1 ),
0 xf6 => 0 x0195,
0 xf7 => 0 x01bf,
x @ _ if 0 xf8 <= x => (from | 1 ),
_ => from
}
}
0 x02 => {
match low_byte {
x @ _ if x <= 0 x1e => (from | 1 ),
0 x20 => 0 x019e,
x @ _ if 0 x22 <= x && x <= 0 x32 => (from | 1 ),
0 x3a => 0 x2c65,
0 x3b => 0 x023c,
0 x3d => 0 x019a,
0 x3e => 0 x2c66,
0 x41 => 0 x0242,
0 x43 => 0 x0180,
0 x44 => 0 x0289,
0 x45 => 0 x028c,
x @ _ if 0 x46 <= x && x <= 0 x4e => (from | 1 ),
_ => from
}
}
0 x03 => {
match low_byte {
0 x45 => 0 x03b9,
x @ _ if 0 x70 <= x && x <= 0 x72 => (from | 1 ),
0 x76 => 0 x0377,
0 x7f => 0 x03f3,
0 x86 => 0 x03ac,
x @ _ if 0 x88 <= x && x <= 0 x8a => from.wrapping_add(0 x0025),
0 x8c => 0 x03cc,
x @ _ if 0 x8e <= x && x <= 0 x8f => from.wrapping_add(0 x003f),
0 x90 => return Fold::Three('\u{03b9}' , '\u{0308}' , '\u{0301}' ,),
x @ _ if 0 x91 <= x && x <= 0 xa1 => from.wrapping_add(0 x0020),
x @ _ if 0 xa3 <= x && x <= 0 xab => from.wrapping_add(0 x0020),
0 xb0 => return Fold::Three('\u{03c5}' , '\u{0308}' , '\u{0301}' ,),
0 xc2 => 0 x03c3,
0 xcf => 0 x03d7,
0 xd0 => 0 x03b2,
0 xd1 => 0 x03b8,
0 xd5 => 0 x03c6,
0 xd6 => 0 x03c0,
x @ _ if 0 xd8 <= x && x <= 0 xee => (from | 1 ),
0 xf0 => 0 x03ba,
0 xf1 => 0 x03c1,
0 xf4 => 0 x03b8,
0 xf5 => 0 x03b5,
0 xf7 => 0 x03f8,
0 xf9 => 0 x03f2,
0 xfa => 0 x03fb,
x @ _ if 0 xfd <= x => from.wrapping_sub(0 x0082),
_ => from
}
}
0 x04 => {
match low_byte {
x @ _ if x <= 0 x0f => from.wrapping_add(0 x0050),
x @ _ if 0 x10 <= x && x <= 0 x2f => from.wrapping_add(0 x0020),
x @ _ if 0 x60 <= x && x <= 0 x80 => (from | 1 ),
x @ _ if 0 x8a <= x && x <= 0 xbe => (from | 1 ),
0 xc0 => 0 x04cf,
x @ _ if 0 xc1 <= x && x <= 0 xcd => ((from+1 ) & !1 ),
x @ _ if 0 xd0 <= x => (from | 1 ),
_ => from
}
}
0 x05 => {
match low_byte {
x @ _ if x <= 0 x2e => (from | 1 ),
x @ _ if 0 x31 <= x && x <= 0 x56 => from.wrapping_add(0 x0030),
0 x87 => return Fold::Two('\u{0565}' , '\u{0582}' ,),
_ => from
}
}
0 x06 => {
from
}
0 x07 => {
from
}
0 x08 => {
from
}
0 x09 => {
from
}
0 x0a => {
from
}
0 x0b => {
from
}
0 x0c => {
from
}
0 x0d => {
from
}
0 x0e => {
from
}
0 x0f => {
from
}
0 x10 => {
match low_byte {
x @ _ if 0 xa0 <= x && x <= 0 xc5 => from.wrapping_add(0 x1c60),
0 xc7 => 0 x2d27,
0 xcd => 0 x2d2d,
_ => from
}
}
0 x11 => {
from
}
0 x12 => {
from
}
0 x13 => {
match low_byte {
x @ _ if 0 xf8 <= x && x <= 0 xfd => from.wrapping_sub(0 x0008),
_ => from
}
}
0 x14 => {
from
}
0 x15 => {
from
}
0 x16 => {
from
}
0 x17 => {
from
}
0 x18 => {
from
}
0 x19 => {
from
}
0 x1a => {
from
}
0 x1b => {
from
}
0 x1c => {
match low_byte {
0 x80 => 0 x0432,
0 x81 => 0 x0434,
0 x82 => 0 x043e,
x @ _ if 0 x83 <= x && x <= 0 x84 => from.wrapping_sub(0 x1842),
0 x85 => 0 x0442,
0 x86 => 0 x044a,
0 x87 => 0 x0463,
0 x88 => 0 xa64b,
x @ _ if 0 x90 <= x && x <= 0 xba => from.wrapping_sub(0 x0bc0),
x @ _ if 0 xbd <= x && x <= 0 xbf => from.wrapping_sub(0 x0bc0),
_ => from
}
}
0 x1d => {
from
}
0 x1e => {
match low_byte {
x @ _ if x <= 0 x94 => (from | 1 ),
0 x96 => return Fold::Two('\u{0068}' , '\u{0331}' ,),
0 x97 => return Fold::Two('\u{0074}' , '\u{0308}' ,),
0 x98 => return Fold::Two('\u{0077}' , '\u{030a}' ,),
0 x99 => return Fold::Two('\u{0079}' , '\u{030a}' ,),
0 x9a => return Fold::Two('\u{0061}' , '\u{02be}' ,),
0 x9b => 0 x1e61,
0 x9e => return Fold::Two('\u{0073}' , '\u{0073}' ,),
x @ _ if 0 xa0 <= x && x <= 0 xfe => (from | 1 ),
_ => from
}
}
0 x1f => {
match low_byte {
x @ _ if 0 x08 <= x && x <= 0 x0f => from.wrapping_sub(0 x0008),
x @ _ if 0 x18 <= x && x <= 0 x1d => from.wrapping_sub(0 x0008),
x @ _ if 0 x28 <= x && x <= 0 x2f => from.wrapping_sub(0 x0008),
x @ _ if 0 x38 <= x && x <= 0 x3f => from.wrapping_sub(0 x0008),
x @ _ if 0 x48 <= x && x <= 0 x4d => from.wrapping_sub(0 x0008),
0 x50 => return Fold::Two('\u{03c5}' , '\u{0313}' ,),
0 x52 => return Fold::Three('\u{03c5}' , '\u{0313}' , '\u{0300}' ,),
0 x54 => return Fold::Three('\u{03c5}' , '\u{0313}' , '\u{0301}' ,),
0 x56 => return Fold::Three('\u{03c5}' , '\u{0313}' , '\u{0342}' ,),
x @ _ if 0 x59 <= x && x <= 0 x5f => if (from & 1 ) == 1 { from.wrapping_sub(0 x0008) } else { from },
x @ _ if 0 x68 <= x && x <= 0 x6f => from.wrapping_sub(0 x0008),
0 x80 => return Fold::Two('\u{1f00}' , '\u{03b9}' ,),
0 x81 => return Fold::Two('\u{1f01}' , '\u{03b9}' ,),
0 x82 => return Fold::Two('\u{1f02}' , '\u{03b9}' ,),
0 x83 => return Fold::Two('\u{1f03}' , '\u{03b9}' ,),
0 x84 => return Fold::Two('\u{1f04}' , '\u{03b9}' ,),
0 x85 => return Fold::Two('\u{1f05}' , '\u{03b9}' ,),
0 x86 => return Fold::Two('\u{1f06}' , '\u{03b9}' ,),
0 x87 => return Fold::Two('\u{1f07}' , '\u{03b9}' ,),
0 x88 => return Fold::Two('\u{1f00}' , '\u{03b9}' ,),
0 x89 => return Fold::Two('\u{1f01}' , '\u{03b9}' ,),
0 x8a => return Fold::Two('\u{1f02}' , '\u{03b9}' ,),
0 x8b => return Fold::Two('\u{1f03}' , '\u{03b9}' ,),
0 x8c => return Fold::Two('\u{1f04}' , '\u{03b9}' ,),
0 x8d => return Fold::Two('\u{1f05}' , '\u{03b9}' ,),
0 x8e => return Fold::Two('\u{1f06}' , '\u{03b9}' ,),
0 x8f => return Fold::Two('\u{1f07}' , '\u{03b9}' ,),
0 x90 => return Fold::Two('\u{1f20}' , '\u{03b9}' ,),
0 x91 => return Fold::Two('\u{1f21}' , '\u{03b9}' ,),
0 x92 => return Fold::Two('\u{1f22}' , '\u{03b9}' ,),
0 x93 => return Fold::Two('\u{1f23}' , '\u{03b9}' ,),
0 x94 => return Fold::Two('\u{1f24}' , '\u{03b9}' ,),
0 x95 => return Fold::Two('\u{1f25}' , '\u{03b9}' ,),
0 x96 => return Fold::Two('\u{1f26}' , '\u{03b9}' ,),
0 x97 => return Fold::Two('\u{1f27}' , '\u{03b9}' ,),
0 x98 => return Fold::Two('\u{1f20}' , '\u{03b9}' ,),
0 x99 => return Fold::Two('\u{1f21}' , '\u{03b9}' ,),
0 x9a => return Fold::Two('\u{1f22}' , '\u{03b9}' ,),
0 x9b => return Fold::Two('\u{1f23}' , '\u{03b9}' ,),
0 x9c => return Fold::Two('\u{1f24}' , '\u{03b9}' ,),
0 x9d => return Fold::Two('\u{1f25}' , '\u{03b9}' ,),
0 x9e => return Fold::Two('\u{1f26}' , '\u{03b9}' ,),
0 x9f => return Fold::Two('\u{1f27}' , '\u{03b9}' ,),
0 xa0 => return Fold::Two('\u{1f60}' , '\u{03b9}' ,),
0 xa1 => return Fold::Two('\u{1f61}' , '\u{03b9}' ,),
0 xa2 => return Fold::Two('\u{1f62}' , '\u{03b9}' ,),
0 xa3 => return Fold::Two('\u{1f63}' , '\u{03b9}' ,),
0 xa4 => return Fold::Two('\u{1f64}' , '\u{03b9}' ,),
0 xa5 => return Fold::Two('\u{1f65}' , '\u{03b9}' ,),
0 xa6 => return Fold::Two('\u{1f66}' , '\u{03b9}' ,),
0 xa7 => return Fold::Two('\u{1f67}' , '\u{03b9}' ,),
0 xa8 => return Fold::Two('\u{1f60}' , '\u{03b9}' ,),
0 xa9 => return Fold::Two('\u{1f61}' , '\u{03b9}' ,),
0 xaa => return Fold::Two('\u{1f62}' , '\u{03b9}' ,),
0 xab => return Fold::Two('\u{1f63}' , '\u{03b9}' ,),
0 xac => return Fold::Two('\u{1f64}' , '\u{03b9}' ,),
0 xad => return Fold::Two('\u{1f65}' , '\u{03b9}' ,),
0 xae => return Fold::Two('\u{1f66}' , '\u{03b9}' ,),
0 xaf => return Fold::Two('\u{1f67}' , '\u{03b9}' ,),
0 xb2 => return Fold::Two('\u{1f70}' , '\u{03b9}' ,),
0 xb3 => return Fold::Two('\u{03b1}' , '\u{03b9}' ,),
0 xb4 => return Fold::Two('\u{03ac}' , '\u{03b9}' ,),
0 xb6 => return Fold::Two('\u{03b1}' , '\u{0342}' ,),
0 xb7 => return Fold::Three('\u{03b1}' , '\u{0342}' , '\u{03b9}' ,),
x @ _ if 0 xb8 <= x && x <= 0 xb9 => from.wrapping_sub(0 x0008),
x @ _ if 0 xba <= x && x <= 0 xbb => from.wrapping_sub(0 x004a),
0 xbc => return Fold::Two('\u{03b1}' , '\u{03b9}' ,),
0 xbe => 0 x03b9,
0 xc2 => return Fold::Two('\u{1f74}' , '\u{03b9}' ,),
0 xc3 => return Fold::Two('\u{03b7}' , '\u{03b9}' ,),
0 xc4 => return Fold::Two('\u{03ae}' , '\u{03b9}' ,),
0 xc6 => return Fold::Two('\u{03b7}' , '\u{0342}' ,),
0 xc7 => return Fold::Three('\u{03b7}' , '\u{0342}' , '\u{03b9}' ,),
x @ _ if 0 xc8 <= x && x <= 0 xcb => from.wrapping_sub(0 x0056),
0 xcc => return Fold::Two('\u{03b7}' , '\u{03b9}' ,),
0 xd2 => return Fold::Three('\u{03b9}' , '\u{0308}' , '\u{0300}' ,),
0 xd3 => return Fold::Three('\u{03b9}' , '\u{0308}' , '\u{0301}' ,),
0 xd6 => return Fold::Two('\u{03b9}' , '\u{0342}' ,),
0 xd7 => return Fold::Three('\u{03b9}' , '\u{0308}' , '\u{0342}' ,),
x @ _ if 0 xd8 <= x && x <= 0 xd9 => from.wrapping_sub(0 x0008),
x @ _ if 0 xda <= x && x <= 0 xdb => from.wrapping_sub(0 x0064),
0 xe2 => return Fold::Three('\u{03c5}' , '\u{0308}' , '\u{0300}' ,),
0 xe3 => return Fold::Three('\u{03c5}' , '\u{0308}' , '\u{0301}' ,),
0 xe4 => return Fold::Two('\u{03c1}' , '\u{0313}' ,),
0 xe6 => return Fold::Two('\u{03c5}' , '\u{0342}' ,),
0 xe7 => return Fold::Three('\u{03c5}' , '\u{0308}' , '\u{0342}' ,),
x @ _ if 0 xe8 <= x && x <= 0 xe9 => from.wrapping_sub(0 x0008),
x @ _ if 0 xea <= x && x <= 0 xeb => from.wrapping_sub(0 x0070),
0 xec => 0 x1fe5,
0 xf2 => return Fold::Two('\u{1f7c}' , '\u{03b9}' ,),
0 xf3 => return Fold::Two('\u{03c9}' , '\u{03b9}' ,),
0 xf4 => return Fold::Two('\u{03ce}' , '\u{03b9}' ,),
0 xf6 => return Fold::Two('\u{03c9}' , '\u{0342}' ,),
0 xf7 => return Fold::Three('\u{03c9}' , '\u{0342}' , '\u{03b9}' ,),
x @ _ if 0 xf8 <= x && x <= 0 xf9 => from.wrapping_sub(0 x0080),
x @ _ if 0 xfa <= x && x <= 0 xfb => from.wrapping_sub(0 x007e),
0 xfc => return Fold::Two('\u{03c9}' , '\u{03b9}' ,),
_ => from
}
}
0 x20 => {
from
}
0 x21 => {
match low_byte {
0 x26 => 0 x03c9,
0 x2a => 0 x006b,
0 x2b => 0 x00e5,
0 x32 => 0 x214e,
x @ _ if 0 x60 <= x && x <= 0 x6f => from.wrapping_add(0 x0010),
0 x83 => 0 x2184,
_ => from
}
}
0 x22 => {
from
}
0 x23 => {
from
}
0 x24 => {
match low_byte {
x @ _ if 0 xb6 <= x && x <= 0 xcf => from.wrapping_add(0 x001a),
_ => from
}
}
0 x25 => {
from
}
0 x26 => {
from
}
0 x27 => {
from
}
0 x28 => {
from
}
0 x29 => {
from
}
0 x2a => {
from
}
0 x2b => {
from
}
0 x2c => {
match low_byte {
x @ _ if x <= 0 x2e => from.wrapping_add(0 x0030),
0 x60 => 0 x2c61,
0 x62 => 0 x026b,
0 x63 => 0 x1d7d,
0 x64 => 0 x027d,
x @ _ if 0 x67 <= x && x <= 0 x6b => ((from+1 ) & !1 ),
0 x6d => 0 x0251,
0 x6e => 0 x0271,
0 x6f => 0 x0250,
0 x70 => 0 x0252,
0 x72 => 0 x2c73,
0 x75 => 0 x2c76,
x @ _ if 0 x7e <= x && x <= 0 x7f => from.wrapping_sub(0 x2a3f),
x @ _ if 0 x80 <= x && x <= 0 xe2 => (from | 1 ),
x @ _ if 0 xeb <= x && x <= 0 xed => ((from+1 ) & !1 ),
0 xf2 => 0 x2cf3,
_ => from
}
}
_ => from
};
Fold::One( char::from_u32(single_char as u32).unwrap_or(orig) )
} else {
let single_char: u32 = match from {
x @ _ if 0 xa640 <= x && x <= 0 xa66c => (from | 1 ),
x @ _ if 0 xa680 <= x && x <= 0 xa69a => (from | 1 ),
x @ _ if 0 xa722 <= x && x <= 0 xa72e => (from | 1 ),
x @ _ if 0 xa732 <= x && x <= 0 xa76e => (from | 1 ),
x @ _ if 0 xa779 <= x && x <= 0 xa77b => ((from+1 ) & !1 ),
0 xa77d => 0 x1d79,
x @ _ if 0 xa77e <= x && x <= 0 xa786 => (from | 1 ),
0 xa78b => 0 xa78c,
0 xa78d => 0 x0265,
x @ _ if 0 xa790 <= x && x <= 0 xa792 => (from | 1 ),
x @ _ if 0 xa796 <= x && x <= 0 xa7a8 => (from | 1 ),
0 xa7aa => 0 x0266,
0 xa7ab => 0 x025c,
0 xa7ac => 0 x0261,
0 xa7ad => 0 x026c,
0 xa7ae => 0 x026a,
0 xa7b0 => 0 x029e,
0 xa7b1 => 0 x0287,
0 xa7b2 => 0 x029d,
0 xa7b3 => 0 xab53,
x @ _ if 0 xa7b4 <= x && x <= 0 xa7be => (from | 1 ),
0 xa7c2 => 0 xa7c3,
0 xa7c4 => 0 xa794,
0 xa7c5 => 0 x0282,
0 xa7c6 => 0 x1d8e,
x @ _ if 0 xab70 <= x && x <= 0 xabbf => from.wrapping_sub(0 x97d0),
0 xfb00 => return Fold::Two('\u{0066}' , '\u{0066}' ,),
0 xfb01 => return Fold::Two('\u{0066}' , '\u{0069}' ,),
0 xfb02 => return Fold::Two('\u{0066}' , '\u{006c}' ,),
0 xfb03 => return Fold::Three('\u{0066}' , '\u{0066}' , '\u{0069}' ,),
0 xfb04 => return Fold::Three('\u{0066}' , '\u{0066}' , '\u{006c}' ,),
0 xfb05 => return Fold::Two('\u{0073}' , '\u{0074}' ,),
0 xfb06 => return Fold::Two('\u{0073}' , '\u{0074}' ,),
0 xfb13 => return Fold::Two('\u{0574}' , '\u{0576}' ,),
0 xfb14 => return Fold::Two('\u{0574}' , '\u{0565}' ,),
0 xfb15 => return Fold::Two('\u{0574}' , '\u{056b}' ,),
0 xfb16 => return Fold::Two('\u{057e}' , '\u{0576}' ,),
0 xfb17 => return Fold::Two('\u{0574}' , '\u{056d}' ,),
x @ _ if 0 xff21 <= x && x <= 0 xff3a => from.wrapping_add(0 x0020),
x @ _ if 0 x10400 <= x && x <= 0 x10427 => from.wrapping_add(0 x0028),
x @ _ if 0 x104b0 <= x && x <= 0 x104d3 => from.wrapping_add(0 x0028),
x @ _ if 0 x10c80 <= x && x <= 0 x10cb2 => from.wrapping_add(0 x0040),
x @ _ if 0 x118a0 <= x && x <= 0 x118bf => from.wrapping_add(0 x0020),
x @ _ if 0 x16e40 <= x && x <= 0 x16e5f => from.wrapping_add(0 x0020),
x @ _ if 0 x1e900 <= x && x <= 0 x1e921 => from.wrapping_add(0 x0022),
_ => from
};
Fold::One( char::from_u32(single_char).unwrap_or(orig) )
}
}
#[ test]
fn lookup_consistency() {
fn lookup_naive(orig: char) -> Fold {
let single_char = match orig as u32 {
0 x0041 => 0 x0061,
0 x0042 => 0 x0062,
0 x0043 => 0 x0063,
0 x0044 => 0 x0064,
0 x0045 => 0 x0065,
0 x0046 => 0 x0066,
0 x0047 => 0 x0067,
0 x0048 => 0 x0068,
0 x0049 => 0 x0069,
0 x004a => 0 x006a,
0 x004b => 0 x006b,
0 x004c => 0 x006c,
0 x004d => 0 x006d,
0 x004e => 0 x006e,
0 x004f => 0 x006f,
0 x0050 => 0 x0070,
0 x0051 => 0 x0071,
0 x0052 => 0 x0072,
0 x0053 => 0 x0073,
0 x0054 => 0 x0074,
0 x0055 => 0 x0075,
0 x0056 => 0 x0076,
0 x0057 => 0 x0077,
0 x0058 => 0 x0078,
0 x0059 => 0 x0079,
0 x005a => 0 x007a,
0 x00b5 => 0 x03bc,
0 x00c0 => 0 x00e0,
0 x00c1 => 0 x00e1,
0 x00c2 => 0 x00e2,
0 x00c3 => 0 x00e3,
0 x00c4 => 0 x00e4,
0 x00c5 => 0 x00e5,
0 x00c6 => 0 x00e6,
0 x00c7 => 0 x00e7,
0 x00c8 => 0 x00e8,
0 x00c9 => 0 x00e9,
0 x00ca => 0 x00ea,
0 x00cb => 0 x00eb,
0 x00cc => 0 x00ec,
0 x00cd => 0 x00ed,
0 x00ce => 0 x00ee,
0 x00cf => 0 x00ef,
0 x00d0 => 0 x00f0,
0 x00d1 => 0 x00f1,
0 x00d2 => 0 x00f2,
0 x00d3 => 0 x00f3,
0 x00d4 => 0 x00f4,
0 x00d5 => 0 x00f5,
0 x00d6 => 0 x00f6,
0 x00d8 => 0 x00f8,
0 x00d9 => 0 x00f9,
0 x00da => 0 x00fa,
0 x00db => 0 x00fb,
0 x00dc => 0 x00fc,
0 x00dd => 0 x00fd,
0 x00de => 0 x00fe,
0 x00df => return Fold::Two('\u{0073}' , '\u{0073}' ,),
0 x0100 => 0 x0101,
0 x0102 => 0 x0103,
0 x0104 => 0 x0105,
0 x0106 => 0 x0107,
0 x0108 => 0 x0109,
0 x010a => 0 x010b,
0 x010c => 0 x010d,
0 x010e => 0 x010f,
0 x0110 => 0 x0111,
0 x0112 => 0 x0113,
0 x0114 => 0 x0115,
0 x0116 => 0 x0117,
0 x0118 => 0 x0119,
0 x011a => 0 x011b,
0 x011c => 0 x011d,
0 x011e => 0 x011f,
0 x0120 => 0 x0121,
0 x0122 => 0 x0123,
0 x0124 => 0 x0125,
0 x0126 => 0 x0127,
0 x0128 => 0 x0129,
0 x012a => 0 x012b,
0 x012c => 0 x012d,
0 x012e => 0 x012f,
0 x0130 => return Fold::Two('\u{0069}' , '\u{0307}' ,),
0 x0132 => 0 x0133,
0 x0134 => 0 x0135,
0 x0136 => 0 x0137,
0 x0139 => 0 x013a,
0 x013b => 0 x013c,
0 x013d => 0 x013e,
0 x013f => 0 x0140,
0 x0141 => 0 x0142,
0 x0143 => 0 x0144,
0 x0145 => 0 x0146,
0 x0147 => 0 x0148,
0 x0149 => return Fold::Two('\u{02bc}' , '\u{006e}' ,),
0 x014a => 0 x014b,
0 x014c => 0 x014d,
0 x014e => 0 x014f,
0 x0150 => 0 x0151,
0 x0152 => 0 x0153,
0 x0154 => 0 x0155,
0 x0156 => 0 x0157,
0 x0158 => 0 x0159,
0 x015a => 0 x015b,
0 x015c => 0 x015d,
0 x015e => 0 x015f,
0 x0160 => 0 x0161,
0 x0162 => 0 x0163,
0 x0164 => 0 x0165,
0 x0166 => 0 x0167,
0 x0168 => 0 x0169,
0 x016a => 0 x016b,
0 x016c => 0 x016d,
0 x016e => 0 x016f,
0 x0170 => 0 x0171,
0 x0172 => 0 x0173,
0 x0174 => 0 x0175,
0 x0176 => 0 x0177,
0 x0178 => 0 x00ff,
0 x0179 => 0 x017a,
0 x017b => 0 x017c,
0 x017d => 0 x017e,
0 x017f => 0 x0073,
0 x0181 => 0 x0253,
0 x0182 => 0 x0183,
0 x0184 => 0 x0185,
0 x0186 => 0 x0254,
0 x0187 => 0 x0188,
0 x0189 => 0 x0256,
0 x018a => 0 x0257,
0 x018b => 0 x018c,
0 x018e => 0 x01dd,
0 x018f => 0 x0259,
0 x0190 => 0 x025b,
0 x0191 => 0 x0192,
0 x0193 => 0 x0260,
0 x0194 => 0 x0263,
0 x0196 => 0 x0269,
0 x0197 => 0 x0268,
0 x0198 => 0 x0199,
0 x019c => 0 x026f,
0 x019d => 0 x0272,
0 x019f => 0 x0275,
0 x01a0 => 0 x01a1,
0 x01a2 => 0 x01a3,
0 x01a4 => 0 x01a5,
0 x01a6 => 0 x0280,
0 x01a7 => 0 x01a8,
0 x01a9 => 0 x0283,
0 x01ac => 0 x01ad,
0 x01ae => 0 x0288,
0 x01af => 0 x01b0,
0 x01b1 => 0 x028a,
0 x01b2 => 0 x028b,
0 x01b3 => 0 x01b4,
0 x01b5 => 0 x01b6,
0 x01b7 => 0 x0292,
0 x01b8 => 0 x01b9,
0 x01bc => 0 x01bd,
0 x01c4 => 0 x01c6,
0 x01c5 => 0 x01c6,
0 x01c7 => 0 x01c9,
0 x01c8 => 0 x01c9,
0 x01ca => 0 x01cc,
0 x01cb => 0 x01cc,
0 x01cd => 0 x01ce,
0 x01cf => 0 x01d0,
0 x01d1 => 0 x01d2,
0 x01d3 => 0 x01d4,
0 x01d5 => 0 x01d6,
0 x01d7 => 0 x01d8,
0 x01d9 => 0 x01da,
0 x01db => 0 x01dc,
0 x01de => 0 x01df,
0 x01e0 => 0 x01e1,
0 x01e2 => 0 x01e3,
0 x01e4 => 0 x01e5,
0 x01e6 => 0 x01e7,
0 x01e8 => 0 x01e9,
0 x01ea => 0 x01eb,
0 x01ec => 0 x01ed,
0 x01ee => 0 x01ef,
0 x01f0 => return Fold::Two('\u{006a}' , '\u{030c}' ,),
0 x01f1 => 0 x01f3,
0 x01f2 => 0 x01f3,
0 x01f4 => 0 x01f5,
0 x01f6 => 0 x0195,
0 x01f7 => 0 x01bf,
0 x01f8 => 0 x01f9,
0 x01fa => 0 x01fb,
0 x01fc => 0 x01fd,
0 x01fe => 0 x01ff,
0 x0200 => 0 x0201,
0 x0202 => 0 x0203,
0 x0204 => 0 x0205,
0 x0206 => 0 x0207,
0 x0208 => 0 x0209,
0 x020a => 0 x020b,
0 x020c => 0 x020d,
0 x020e => 0 x020f,
0 x0210 => 0 x0211,
0 x0212 => 0 x0213,
0 x0214 => 0 x0215,
0 x0216 => 0 x0217,
0 x0218 => 0 x0219,
0 x021a => 0 x021b,
0 x021c => 0 x021d,
0 x021e => 0 x021f,
0 x0220 => 0 x019e,
0 x0222 => 0 x0223,
0 x0224 => 0 x0225,
0 x0226 => 0 x0227,
0 x0228 => 0 x0229,
0 x022a => 0 x022b,
0 x022c => 0 x022d,
0 x022e => 0 x022f,
0 x0230 => 0 x0231,
0 x0232 => 0 x0233,
0 x023a => 0 x2c65,
0 x023b => 0 x023c,
0 x023d => 0 x019a,
0 x023e => 0 x2c66,
0 x0241 => 0 x0242,
0 x0243 => 0 x0180,
0 x0244 => 0 x0289,
0 x0245 => 0 x028c,
0 x0246 => 0 x0247,
0 x0248 => 0 x0249,
0 x024a => 0 x024b,
0 x024c => 0 x024d,
0 x024e => 0 x024f,
0 x0345 => 0 x03b9,
0 x0370 => 0 x0371,
0 x0372 => 0 x0373,
0 x0376 => 0 x0377,
0 x037f => 0 x03f3,
0 x0386 => 0 x03ac,
0 x0388 => 0 x03ad,
0 x0389 => 0 x03ae,
0 x038a => 0 x03af,
0 x038c => 0 x03cc,
0 x038e => 0 x03cd,
0 x038f => 0 x03ce,
0 x0390 => return Fold::Three('\u{03b9}' , '\u{0308}' , '\u{0301}' ,),
0 x0391 => 0 x03b1,
0 x0392 => 0 x03b2,
0 x0393 => 0 x03b3,
0 x0394 => 0 x03b4,
0 x0395 => 0 x03b5,
0 x0396 => 0 x03b6,
0 x0397 => 0 x03b7,
0 x0398 => 0 x03b8,
0 x0399 => 0 x03b9,
0 x039a => 0 x03ba,
0 x039b => 0 x03bb,
0 x039c => 0 x03bc,
0 x039d => 0 x03bd,
0 x039e => 0 x03be,
0 x039f => 0 x03bf,
0 x03a0 => 0 x03c0,
0 x03a1 => 0 x03c1,
0 x03a3 => 0 x03c3,
0 x03a4 => 0 x03c4,
0 x03a5 => 0 x03c5,
0 x03a6 => 0 x03c6,
0 x03a7 => 0 x03c7,
0 x03a8 => 0 x03c8,
0 x03a9 => 0 x03c9,
0 x03aa => 0 x03ca,
0 x03ab => 0 x03cb,
0 x03b0 => return Fold::Three('\u{03c5}' , '\u{0308}' , '\u{0301}' ,),
0 x03c2 => 0 x03c3,
0 x03cf => 0 x03d7,
0 x03d0 => 0 x03b2,
0 x03d1 => 0 x03b8,
0 x03d5 => 0 x03c6,
0 x03d6 => 0 x03c0,
0 x03d8 => 0 x03d9,
0 x03da => 0 x03db,
0 x03dc => 0 x03dd,
0 x03de => 0 x03df,
0 x03e0 => 0 x03e1,
0 x03e2 => 0 x03e3,
0 x03e4 => 0 x03e5,
0 x03e6 => 0 x03e7,
0 x03e8 => 0 x03e9,
0 x03ea => 0 x03eb,
0 x03ec => 0 x03ed,
0 x03ee => 0 x03ef,
0 x03f0 => 0 x03ba,
0 x03f1 => 0 x03c1,
0 x03f4 => 0 x03b8,
0 x03f5 => 0 x03b5,
0 x03f7 => 0 x03f8,
0 x03f9 => 0 x03f2,
0 x03fa => 0 x03fb,
0 x03fd => 0 x037b,
0 x03fe => 0 x037c,
0 x03ff => 0 x037d,
0 x0400 => 0 x0450,
0 x0401 => 0 x0451,
0 x0402 => 0 x0452,
0 x0403 => 0 x0453,
0 x0404 => 0 x0454,
0 x0405 => 0 x0455,
0 x0406 => 0 x0456,
0 x0407 => 0 x0457,
0 x0408 => 0 x0458,
0 x0409 => 0 x0459,
0 x040a => 0 x045a,
0 x040b => 0 x045b,
0 x040c => 0 x045c,
0 x040d => 0 x045d,
0 x040e => 0 x045e,
0 x040f => 0 x045f,
0 x0410 => 0 x0430,
0 x0411 => 0 x0431,
0 x0412 => 0 x0432,
0 x0413 => 0 x0433,
0 x0414 => 0 x0434,
0 x0415 => 0 x0435,
0 x0416 => 0 x0436,
0 x0417 => 0 x0437,
0 x0418 => 0 x0438,
0 x0419 => 0 x0439,
0 x041a => 0 x043a,
0 x041b => 0 x043b,
0 x041c => 0 x043c,
0 x041d => 0 x043d,
0 x041e => 0 x043e,
0 x041f => 0 x043f,
0 x0420 => 0 x0440,
0 x0421 => 0 x0441,
0 x0422 => 0 x0442,
0 x0423 => 0 x0443,
0 x0424 => 0 x0444,
0 x0425 => 0 x0445,
0 x0426 => 0 x0446,
0 x0427 => 0 x0447,
0 x0428 => 0 x0448,
0 x0429 => 0 x0449,
0 x042a => 0 x044a,
0 x042b => 0 x044b,
0 x042c => 0 x044c,
0 x042d => 0 x044d,
0 x042e => 0 x044e,
0 x042f => 0 x044f,
0 x0460 => 0 x0461,
0 x0462 => 0 x0463,
0 x0464 => 0 x0465,
0 x0466 => 0 x0467,
0 x0468 => 0 x0469,
0 x046a => 0 x046b,
0 x046c => 0 x046d,
0 x046e => 0 x046f,
0 x0470 => 0 x0471,
0 x0472 => 0 x0473,
0 x0474 => 0 x0475,
0 x0476 => 0 x0477,
0 x0478 => 0 x0479,
0 x047a => 0 x047b,
0 x047c => 0 x047d,
0 x047e => 0 x047f,
0 x0480 => 0 x0481,
0 x048a => 0 x048b,
0 x048c => 0 x048d,
0 x048e => 0 x048f,
0 x0490 => 0 x0491,
0 x0492 => 0 x0493,
0 x0494 => 0 x0495,
0 x0496 => 0 x0497,
0 x0498 => 0 x0499,
0 x049a => 0 x049b,
0 x049c => 0 x049d,
0 x049e => 0 x049f,
0 x04a0 => 0 x04a1,
0 x04a2 => 0 x04a3,
0 x04a4 => 0 x04a5,
0 x04a6 => 0 x04a7,
0 x04a8 => 0 x04a9,
0 x04aa => 0 x04ab,
0 x04ac => 0 x04ad,
0 x04ae => 0 x04af,
0 x04b0 => 0 x04b1,
0 x04b2 => 0 x04b3,
0 x04b4 => 0 x04b5,
0 x04b6 => 0 x04b7,
0 x04b8 => 0 x04b9,
0 x04ba => 0 x04bb,
0 x04bc => 0 x04bd,
0 x04be => 0 x04bf,
0 x04c0 => 0 x04cf,
0 x04c1 => 0 x04c2,
0 x04c3 => 0 x04c4,
0 x04c5 => 0 x04c6,
0 x04c7 => 0 x04c8,
0 x04c9 => 0 x04ca,
0 x04cb => 0 x04cc,
0 x04cd => 0 x04ce,
0 x04d0 => 0 x04d1,
0 x04d2 => 0 x04d3,
0 x04d4 => 0 x04d5,
0 x04d6 => 0 x04d7,
0 x04d8 => 0 x04d9,
0 x04da => 0 x04db,
0 x04dc => 0 x04dd,
0 x04de => 0 x04df,
0 x04e0 => 0 x04e1,
0 x04e2 => 0 x04e3,
0 x04e4 => 0 x04e5,
0 x04e6 => 0 x04e7,
0 x04e8 => 0 x04e9,
0 x04ea => 0 x04eb,
0 x04ec => 0 x04ed,
0 x04ee => 0 x04ef,
0 x04f0 => 0 x04f1,
0 x04f2 => 0 x04f3,
0 x04f4 => 0 x04f5,
0 x04f6 => 0 x04f7,
0 x04f8 => 0 x04f9,
0 x04fa => 0 x04fb,
0 x04fc => 0 x04fd,
0 x04fe => 0 x04ff,
0 x0500 => 0 x0501,
0 x0502 => 0 x0503,
0 x0504 => 0 x0505,
0 x0506 => 0 x0507,
0 x0508 => 0 x0509,
0 x050a => 0 x050b,
0 x050c => 0 x050d,
0 x050e => 0 x050f,
0 x0510 => 0 x0511,
0 x0512 => 0 x0513,
0 x0514 => 0 x0515,
0 x0516 => 0 x0517,
0 x0518 => 0 x0519,
0 x051a => 0 x051b,
0 x051c => 0 x051d,
0 x051e => 0 x051f,
0 x0520 => 0 x0521,
0 x0522 => 0 x0523,
0 x0524 => 0 x0525,
0 x0526 => 0 x0527,
0 x0528 => 0 x0529,
0 x052a => 0 x052b,
0 x052c => 0 x052d,
0 x052e => 0 x052f,
0 x0531 => 0 x0561,
0 x0532 => 0 x0562,
0 x0533 => 0 x0563,
0 x0534 => 0 x0564,
0 x0535 => 0 x0565,
0 x0536 => 0 x0566,
0 x0537 => 0 x0567,
0 x0538 => 0 x0568,
0 x0539 => 0 x0569,
0 x053a => 0 x056a,
0 x053b => 0 x056b,
0 x053c => 0 x056c,
0 x053d => 0 x056d,
0 x053e => 0 x056e,
0 x053f => 0 x056f,
0 x0540 => 0 x0570,
0 x0541 => 0 x0571,
0 x0542 => 0 x0572,
0 x0543 => 0 x0573,
0 x0544 => 0 x0574,
0 x0545 => 0 x0575,
0 x0546 => 0 x0576,
0 x0547 => 0 x0577,
0 x0548 => 0 x0578,
0 x0549 => 0 x0579,
0 x054a => 0 x057a,
0 x054b => 0 x057b,
0 x054c => 0 x057c,
0 x054d => 0 x057d,
0 x054e => 0 x057e,
0 x054f => 0 x057f,
0 x0550 => 0 x0580,
0 x0551 => 0 x0581,
0 x0552 => 0 x0582,
0 x0553 => 0 x0583,
0 x0554 => 0 x0584,
0 x0555 => 0 x0585,
0 x0556 => 0 x0586,
0 x0587 => return Fold::Two('\u{0565}' , '\u{0582}' ,),
0 x10a0 => 0 x2d00,
0 x10a1 => 0 x2d01,
0 x10a2 => 0 x2d02,
0 x10a3 => 0 x2d03,
0 x10a4 => 0 x2d04,
0 x10a5 => 0 x2d05,
0 x10a6 => 0 x2d06,
0 x10a7 => 0 x2d07,
0 x10a8 => 0 x2d08,
0 x10a9 => 0 x2d09,
0 x10aa => 0 x2d0a,
0 x10ab => 0 x2d0b,
0 x10ac => 0 x2d0c,
0 x10ad => 0 x2d0d,
0 x10ae => 0 x2d0e,
0 x10af => 0 x2d0f,
0 x10b0 => 0 x2d10,
0 x10b1 => 0 x2d11,
0 x10b2 => 0 x2d12,
0 x10b3 => 0 x2d13,
0 x10b4 => 0 x2d14,
0 x10b5 => 0 x2d15,
0 x10b6 => 0 x2d16,
0 x10b7 => 0 x2d17,
0 x10b8 => 0 x2d18,
0 x10b9 => 0 x2d19,
0 x10ba => 0 x2d1a,
0 x10bb => 0 x2d1b,
0 x10bc => 0 x2d1c,
0 x10bd => 0 x2d1d,
0 x10be => 0 x2d1e,
0 x10bf => 0 x2d1f,
0 x10c0 => 0 x2d20,
0 x10c1 => 0 x2d21,
0 x10c2 => 0 x2d22,
0 x10c3 => 0 x2d23,
0 x10c4 => 0 x2d24,
0 x10c5 => 0 x2d25,
0 x10c7 => 0 x2d27,
0 x10cd => 0 x2d2d,
0 x13f8 => 0 x13f0,
0 x13f9 => 0 x13f1,
0 x13fa => 0 x13f2,
0 x13fb => 0 x13f3,
0 x13fc => 0 x13f4,
0 x13fd => 0 x13f5,
0 x1c80 => 0 x0432,
0 x1c81 => 0 x0434,
0 x1c82 => 0 x043e,
0 x1c83 => 0 x0441,
0 x1c84 => 0 x0442,
0 x1c85 => 0 x0442,
0 x1c86 => 0 x044a,
0 x1c87 => 0 x0463,
0 x1c88 => 0 xa64b,
0 x1c90 => 0 x10d0,
0 x1c91 => 0 x10d1,
0 x1c92 => 0 x10d2,
0 x1c93 => 0 x10d3,
0 x1c94 => 0 x10d4,
0 x1c95 => 0 x10d5,
0 x1c96 => 0 x10d6,
0 x1c97 => 0 x10d7,
0 x1c98 => 0 x10d8,
0 x1c99 => 0 x10d9,
0 x1c9a => 0 x10da,
0 x1c9b => 0 x10db,
0 x1c9c => 0 x10dc,
0 x1c9d => 0 x10dd,
0 x1c9e => 0 x10de,
0 x1c9f => 0 x10df,
0 x1ca0 => 0 x10e0,
0 x1ca1 => 0 x10e1,
0 x1ca2 => 0 x10e2,
0 x1ca3 => 0 x10e3,
0 x1ca4 => 0 x10e4,
0 x1ca5 => 0 x10e5,
0 x1ca6 => 0 x10e6,
0 x1ca7 => 0 x10e7,
0 x1ca8 => 0 x10e8,
0 x1ca9 => 0 x10e9,
0 x1caa => 0 x10ea,
0 x1cab => 0 x10eb,
0 x1cac => 0 x10ec,
0 x1cad => 0 x10ed,
0 x1cae => 0 x10ee,
0 x1caf => 0 x10ef,
0 x1cb0 => 0 x10f0,
0 x1cb1 => 0 x10f1,
0 x1cb2 => 0 x10f2,
0 x1cb3 => 0 x10f3,
0 x1cb4 => 0 x10f4,
0 x1cb5 => 0 x10f5,
0 x1cb6 => 0 x10f6,
0 x1cb7 => 0 x10f7,
0 x1cb8 => 0 x10f8,
0 x1cb9 => 0 x10f9,
0 x1cba => 0 x10fa,
0 x1cbd => 0 x10fd,
0 x1cbe => 0 x10fe,
0 x1cbf => 0 x10ff,
0 x1e00 => 0 x1e01,
0 x1e02 => 0 x1e03,
0 x1e04 => 0 x1e05,
0 x1e06 => 0 x1e07,
0 x1e08 => 0 x1e09,
0 x1e0a => 0 x1e0b,
0 x1e0c => 0 x1e0d,
0 x1e0e => 0 x1e0f,
0 x1e10 => 0 x1e11,
0 x1e12 => 0 x1e13,
0 x1e14 => 0 x1e15,
0 x1e16 => 0 x1e17,
0 x1e18 => 0 x1e19,
0 x1e1a => 0 x1e1b,
0 x1e1c => 0 x1e1d,
0 x1e1e => 0 x1e1f,
0 x1e20 => 0 x1e21,
0 x1e22 => 0 x1e23,
0 x1e24 => 0 x1e25,
0 x1e26 => 0 x1e27,
0 x1e28 => 0 x1e29,
0 x1e2a => 0 x1e2b,
0 x1e2c => 0 x1e2d,
0 x1e2e => 0 x1e2f,
0 x1e30 => 0 x1e31,
0 x1e32 => 0 x1e33,
0 x1e34 => 0 x1e35,
0 x1e36 => 0 x1e37,
0 x1e38 => 0 x1e39,
0 x1e3a => 0 x1e3b,
0 x1e3c => 0 x1e3d,
0 x1e3e => 0 x1e3f,
0 x1e40 => 0 x1e41,
0 x1e42 => 0 x1e43,
0 x1e44 => 0 x1e45,
0 x1e46 => 0 x1e47,
0 x1e48 => 0 x1e49,
0 x1e4a => 0 x1e4b,
0 x1e4c => 0 x1e4d,
0 x1e4e => 0 x1e4f,
0 x1e50 => 0 x1e51,
0 x1e52 => 0 x1e53,
0 x1e54 => 0 x1e55,
0 x1e56 => 0 x1e57,
0 x1e58 => 0 x1e59,
0 x1e5a => 0 x1e5b,
0 x1e5c => 0 x1e5d,
0 x1e5e => 0 x1e5f,
0 x1e60 => 0 x1e61,
0 x1e62 => 0 x1e63,
0 x1e64 => 0 x1e65,
0 x1e66 => 0 x1e67,
0 x1e68 => 0 x1e69,
0 x1e6a => 0 x1e6b,
0 x1e6c => 0 x1e6d,
0 x1e6e => 0 x1e6f,
0 x1e70 => 0 x1e71,
0 x1e72 => 0 x1e73,
0 x1e74 => 0 x1e75,
0 x1e76 => 0 x1e77,
0 x1e78 => 0 x1e79,
0 x1e7a => 0 x1e7b,
0 x1e7c => 0 x1e7d,
0 x1e7e => 0 x1e7f,
0 x1e80 => 0 x1e81,
0 x1e82 => 0 x1e83,
0 x1e84 => 0 x1e85,
0 x1e86 => 0 x1e87,
0 x1e88 => 0 x1e89,
0 x1e8a => 0 x1e8b,
0 x1e8c => 0 x1e8d,
0 x1e8e => 0 x1e8f,
0 x1e90 => 0 x1e91,
0 x1e92 => 0 x1e93,
0 x1e94 => 0 x1e95,
0 x1e96 => return Fold::Two('\u{0068}' , '\u{0331}' ,),
0 x1e97 => return Fold::Two('\u{0074}' , '\u{0308}' ,),
0 x1e98 => return Fold::Two('\u{0077}' , '\u{030a}' ,),
0 x1e99 => return Fold::Two('\u{0079}' , '\u{030a}' ,),
0 x1e9a => return Fold::Two('\u{0061}' , '\u{02be}' ,),
0 x1e9b => 0 x1e61,
0 x1e9e => return Fold::Two('\u{0073}' , '\u{0073}' ,),
0 x1ea0 => 0 x1ea1,
0 x1ea2 => 0 x1ea3,
0 x1ea4 => 0 x1ea5,
0 x1ea6 => 0 x1ea7,
0 x1ea8 => 0 x1ea9,
0 x1eaa => 0 x1eab,
0 x1eac => 0 x1ead,
0 x1eae => 0 x1eaf,
0 x1eb0 => 0 x1eb1,
0 x1eb2 => 0 x1eb3,
0 x1eb4 => 0 x1eb5,
0 x1eb6 => 0 x1eb7,
0 x1eb8 => 0 x1eb9,
0 x1eba => 0 x1ebb,
0 x1ebc => 0 x1ebd,
0 x1ebe => 0 x1ebf,
0 x1ec0 => 0 x1ec1,
0 x1ec2 => 0 x1ec3,
0 x1ec4 => 0 x1ec5,
0 x1ec6 => 0 x1ec7,
0 x1ec8 => 0 x1ec9,
0 x1eca => 0 x1ecb,
0 x1ecc => 0 x1ecd,
0 x1ece => 0 x1ecf,
0 x1ed0 => 0 x1ed1,
0 x1ed2 => 0 x1ed3,
0 x1ed4 => 0 x1ed5,
0 x1ed6 => 0 x1ed7,
0 x1ed8 => 0 x1ed9,
0 x1eda => 0 x1edb,
0 x1edc => 0 x1edd,
0 x1ede => 0 x1edf,
0 x1ee0 => 0 x1ee1,
0 x1ee2 => 0 x1ee3,
0 x1ee4 => 0 x1ee5,
0 x1ee6 => 0 x1ee7,
0 x1ee8 => 0 x1ee9,
0 x1eea => 0 x1eeb,
0 x1eec => 0 x1eed,
0 x1eee => 0 x1eef,
0 x1ef0 => 0 x1ef1,
0 x1ef2 => 0 x1ef3,
0 x1ef4 => 0 x1ef5,
0 x1ef6 => 0 x1ef7,
0 x1ef8 => 0 x1ef9,
0 x1efa => 0 x1efb,
0 x1efc => 0 x1efd,
0 x1efe => 0 x1eff,
0 x1f08 => 0 x1f00,
0 x1f09 => 0 x1f01,
0 x1f0a => 0 x1f02,
0 x1f0b => 0 x1f03,
0 x1f0c => 0 x1f04,
0 x1f0d => 0 x1f05,
0 x1f0e => 0 x1f06,
0 x1f0f => 0 x1f07,
0 x1f18 => 0 x1f10,
0 x1f19 => 0 x1f11,
0 x1f1a => 0 x1f12,
0 x1f1b => 0 x1f13,
0 x1f1c => 0 x1f14,
0 x1f1d => 0 x1f15,
0 x1f28 => 0 x1f20,
0 x1f29 => 0 x1f21,
0 x1f2a => 0 x1f22,
0 x1f2b => 0 x1f23,
0 x1f2c => 0 x1f24,
0 x1f2d => 0 x1f25,
0 x1f2e => 0 x1f26,
0 x1f2f => 0 x1f27,
0 x1f38 => 0 x1f30,
0 x1f39 => 0 x1f31,
0 x1f3a => 0 x1f32,
0 x1f3b => 0 x1f33,
0 x1f3c => 0 x1f34,
0 x1f3d => 0 x1f35,
0 x1f3e => 0 x1f36,
0 x1f3f => 0 x1f37,
0 x1f48 => 0 x1f40,
0 x1f49 => 0 x1f41,
0 x1f4a => 0 x1f42,
0 x1f4b => 0 x1f43,
0 x1f4c => 0 x1f44,
0 x1f4d => 0 x1f45,
0 x1f50 => return Fold::Two('\u{03c5}' , '\u{0313}' ,),
0 x1f52 => return Fold::Three('\u{03c5}' , '\u{0313}' , '\u{0300}' ,),
0 x1f54 => return Fold::Three('\u{03c5}' , '\u{0313}' , '\u{0301}' ,),
0 x1f56 => return Fold::Three('\u{03c5}' , '\u{0313}' , '\u{0342}' ,),
0 x1f59 => 0 x1f51,
0 x1f5b => 0 x1f53,
0 x1f5d => 0 x1f55,
0 x1f5f => 0 x1f57,
0 x1f68 => 0 x1f60,
0 x1f69 => 0 x1f61,
0 x1f6a => 0 x1f62,
0 x1f6b => 0 x1f63,
0 x1f6c => 0 x1f64,
0 x1f6d => 0 x1f65,
0 x1f6e => 0 x1f66,
0 x1f6f => 0 x1f67,
0 x1f80 => return Fold::Two('\u{1f00}' , '\u{03b9}' ,),
0 x1f81 => return Fold::Two('\u{1f01}' , '\u{03b9}' ,),
0 x1f82 => return Fold::Two('\u{1f02}' , '\u{03b9}' ,),
0 x1f83 => return Fold::Two('\u{1f03}' , '\u{03b9}' ,),
0 x1f84 => return Fold::Two('\u{1f04}' , '\u{03b9}' ,),
0 x1f85 => return Fold::Two('\u{1f05}' , '\u{03b9}' ,),
0 x1f86 => return Fold::Two('\u{1f06}' , '\u{03b9}' ,),
0 x1f87 => return Fold::Two('\u{1f07}' , '\u{03b9}' ,),
0 x1f88 => return Fold::Two('\u{1f00}' , '\u{03b9}' ,),
0 x1f89 => return Fold::Two('\u{1f01}' , '\u{03b9}' ,),
0 x1f8a => return Fold::Two('\u{1f02}' , '\u{03b9}' ,),
0 x1f8b => return Fold::Two('\u{1f03}' , '\u{03b9}' ,),
0 x1f8c => return Fold::Two('\u{1f04}' , '\u{03b9}' ,),
0 x1f8d => return Fold::Two('\u{1f05}' , '\u{03b9}' ,),
0 x1f8e => return Fold::Two('\u{1f06}' , '\u{03b9}' ,),
0 x1f8f => return Fold::Two('\u{1f07}' , '\u{03b9}' ,),
0 x1f90 => return Fold::Two('\u{1f20}' , '\u{03b9}' ,),
0 x1f91 => return Fold::Two('\u{1f21}' , '\u{03b9}' ,),
0 x1f92 => return Fold::Two('\u{1f22}' , '\u{03b9}' ,),
0 x1f93 => return Fold::Two('\u{1f23}' , '\u{03b9}' ,),
0 x1f94 => return Fold::Two('\u{1f24}' , '\u{03b9}' ,),
0 x1f95 => return Fold::Two('\u{1f25}' , '\u{03b9}' ,),
0 x1f96 => return Fold::Two('\u{1f26}' , '\u{03b9}' ,),
0 x1f97 => return Fold::Two('\u{1f27}' , '\u{03b9}' ,),
0 x1f98 => return Fold::Two('\u{1f20}' , '\u{03b9}' ,),
0 x1f99 => return Fold::Two('\u{1f21}' , '\u{03b9}' ,),
0 x1f9a => return Fold::Two('\u{1f22}' , '\u{03b9}' ,),
0 x1f9b => return Fold::Two('\u{1f23}' , '\u{03b9}' ,),
0 x1f9c => return Fold::Two('\u{1f24}' , '\u{03b9}' ,),
0 x1f9d => return Fold::Two('\u{1f25}' , '\u{03b9}' ,),
0 x1f9e => return Fold::Two('\u{1f26}' , '\u{03b9}' ,),
0 x1f9f => return Fold::Two('\u{1f27}' , '\u{03b9}' ,),
0 x1fa0 => return Fold::Two('\u{1f60}' , '\u{03b9}' ,),
0 x1fa1 => return Fold::Two('\u{1f61}' , '\u{03b9}' ,),
0 x1fa2 => return Fold::Two('\u{1f62}' , '\u{03b9}' ,),
0 x1fa3 => return Fold::Two('\u{1f63}' , '\u{03b9}' ,),
0 x1fa4 => return Fold::Two('\u{1f64}' , '\u{03b9}' ,),
0 x1fa5 => return Fold::Two('\u{1f65}' , '\u{03b9}' ,),
0 x1fa6 => return Fold::Two('\u{1f66}' , '\u{03b9}' ,),
0 x1fa7 => return Fold::Two('\u{1f67}' , '\u{03b9}' ,),
0 x1fa8 => return Fold::Two('\u{1f60}' , '\u{03b9}' ,),
0 x1fa9 => return Fold::Two('\u{1f61}' , '\u{03b9}' ,),
0 x1faa => return Fold::Two('\u{1f62}' , '\u{03b9}' ,),
0 x1fab => return Fold::Two('\u{1f63}' , '\u{03b9}' ,),
0 x1fac => return Fold::Two('\u{1f64}' , '\u{03b9}' ,),
0 x1fad => return Fold::Two('\u{1f65}' , '\u{03b9}' ,),
0 x1fae => return Fold::Two('\u{1f66}' , '\u{03b9}' ,),
0 x1faf => return Fold::Two('\u{1f67}' , '\u{03b9}' ,),
0 x1fb2 => return Fold::Two('\u{1f70}' , '\u{03b9}' ,),
0 x1fb3 => return Fold::Two('\u{03b1}' , '\u{03b9}' ,),
0 x1fb4 => return Fold::Two('\u{03ac}' , '\u{03b9}' ,),
0 x1fb6 => return Fold::Two('\u{03b1}' , '\u{0342}' ,),
0 x1fb7 => return Fold::Three('\u{03b1}' , '\u{0342}' , '\u{03b9}' ,),
0 x1fb8 => 0 x1fb0,
0 x1fb9 => 0 x1fb1,
0 x1fba => 0 x1f70,
0 x1fbb => 0 x1f71,
0 x1fbc => return Fold::Two('\u{03b1}' , '\u{03b9}' ,),
0 x1fbe => 0 x03b9,
0 x1fc2 => return Fold::Two('\u{1f74}' , '\u{03b9}' ,),
0 x1fc3 => return Fold::Two('\u{03b7}' , '\u{03b9}' ,),
0 x1fc4 => return Fold::Two('\u{03ae}' , '\u{03b9}' ,),
0 x1fc6 => return Fold::Two('\u{03b7}' , '\u{0342}' ,),
0 x1fc7 => return Fold::Three('\u{03b7}' , '\u{0342}' , '\u{03b9}' ,),
0 x1fc8 => 0 x1f72,
0 x1fc9 => 0 x1f73,
0 x1fca => 0 x1f74,
0 x1fcb => 0 x1f75,
0 x1fcc => return Fold::Two('\u{03b7}' , '\u{03b9}' ,),
0 x1fd2 => return Fold::Three('\u{03b9}' , '\u{0308}' , '\u{0300}' ,),
0 x1fd3 => return Fold::Three('\u{03b9}' , '\u{0308}' , '\u{0301}' ,),
0 x1fd6 => return Fold::Two('\u{03b9}' , '\u{0342}' ,),
0 x1fd7 => return Fold::Three('\u{03b9}' , '\u{0308}' , '\u{0342}' ,),
0 x1fd8 => 0 x1fd0,
0 x1fd9 => 0 x1fd1,
0 x1fda => 0 x1f76,
0 x1fdb => 0 x1f77,
0 x1fe2 => return Fold::Three('\u{03c5}' , '\u{0308}' , '\u{0300}' ,),
0 x1fe3 => return Fold::Three('\u{03c5}' , '\u{0308}' , '\u{0301}' ,),
0 x1fe4 => return Fold::Two('\u{03c1}' , '\u{0313}' ,),
0 x1fe6 => return Fold::Two('\u{03c5}' , '\u{0342}' ,),
0 x1fe7 => return Fold::Three('\u{03c5}' , '\u{0308}' , '\u{0342}' ,),
0 x1fe8 => 0 x1fe0,
0 x1fe9 => 0 x1fe1,
0 x1fea => 0 x1f7a,
0 x1feb => 0 x1f7b,
0 x1fec => 0 x1fe5,
0 x1ff2 => return Fold::Two('\u{1f7c}' , '\u{03b9}' ,),
0 x1ff3 => return Fold::Two('\u{03c9}' , '\u{03b9}' ,),
0 x1ff4 => return Fold::Two('\u{03ce}' , '\u{03b9}' ,),
0 x1ff6 => return Fold::Two('\u{03c9}' , '\u{0342}' ,),
0 x1ff7 => return Fold::Three('\u{03c9}' , '\u{0342}' , '\u{03b9}' ,),
0 x1ff8 => 0 x1f78,
0 x1ff9 => 0 x1f79,
0 x1ffa => 0 x1f7c,
0 x1ffb => 0 x1f7d,
0 x1ffc => return Fold::Two('\u{03c9}' , '\u{03b9}' ,),
0 x2126 => 0 x03c9,
0 x212a => 0 x006b,
0 x212b => 0 x00e5,
0 x2132 => 0 x214e,
0 x2160 => 0 x2170,
0 x2161 => 0 x2171,
0 x2162 => 0 x2172,
0 x2163 => 0 x2173,
0 x2164 => 0 x2174,
0 x2165 => 0 x2175,
0 x2166 => 0 x2176,
0 x2167 => 0 x2177,
0 x2168 => 0 x2178,
0 x2169 => 0 x2179,
0 x216a => 0 x217a,
0 x216b => 0 x217b,
0 x216c => 0 x217c,
0 x216d => 0 x217d,
0 x216e => 0 x217e,
0 x216f => 0 x217f,
0 x2183 => 0 x2184,
0 x24b6 => 0 x24d0,
0 x24b7 => 0 x24d1,
0 x24b8 => 0 x24d2,
0 x24b9 => 0 x24d3,
0 x24ba => 0 x24d4,
0 x24bb => 0 x24d5,
0 x24bc => 0 x24d6,
0 x24bd => 0 x24d7,
0 x24be => 0 x24d8,
0 x24bf => 0 x24d9,
0 x24c0 => 0 x24da,
0 x24c1 => 0 x24db,
0 x24c2 => 0 x24dc,
0 x24c3 => 0 x24dd,
0 x24c4 => 0 x24de,
0 x24c5 => 0 x24df,
0 x24c6 => 0 x24e0,
0 x24c7 => 0 x24e1,
0 x24c8 => 0 x24e2,
0 x24c9 => 0 x24e3,
0 x24ca => 0 x24e4,
0 x24cb => 0 x24e5,
0 x24cc => 0 x24e6,
0 x24cd => 0 x24e7,
0 x24ce => 0 x24e8,
0 x24cf => 0 x24e9,
0 x2c00 => 0 x2c30,
0 x2c01 => 0 x2c31,
0 x2c02 => 0 x2c32,
0 x2c03 => 0 x2c33,
0 x2c04 => 0 x2c34,
0 x2c05 => 0 x2c35,
0 x2c06 => 0 x2c36,
0 x2c07 => 0 x2c37,
0 x2c08 => 0 x2c38,
0 x2c09 => 0 x2c39,
0 x2c0a => 0 x2c3a,
0 x2c0b => 0 x2c3b,
0 x2c0c => 0 x2c3c,
0 x2c0d => 0 x2c3d,
0 x2c0e => 0 x2c3e,
0 x2c0f => 0 x2c3f,
0 x2c10 => 0 x2c40,
0 x2c11 => 0 x2c41,
0 x2c12 => 0 x2c42,
0 x2c13 => 0 x2c43,
0 x2c14 => 0 x2c44,
0 x2c15 => 0 x2c45,
0 x2c16 => 0 x2c46,
0 x2c17 => 0 x2c47,
0 x2c18 => 0 x2c48,
0 x2c19 => 0 x2c49,
0 x2c1a => 0 x2c4a,
0 x2c1b => 0 x2c4b,
0 x2c1c => 0 x2c4c,
0 x2c1d => 0 x2c4d,
0 x2c1e => 0 x2c4e,
0 x2c1f => 0 x2c4f,
0 x2c20 => 0 x2c50,
0 x2c21 => 0 x2c51,
0 x2c22 => 0 x2c52,
0 x2c23 => 0 x2c53,
0 x2c24 => 0 x2c54,
0 x2c25 => 0 x2c55,
0 x2c26 => 0 x2c56,
0 x2c27 => 0 x2c57,
0 x2c28 => 0 x2c58,
0 x2c29 => 0 x2c59,
0 x2c2a => 0 x2c5a,
0 x2c2b => 0 x2c5b,
0 x2c2c => 0 x2c5c,
0 x2c2d => 0 x2c5d,
0 x2c2e => 0 x2c5e,
0 x2c60 => 0 x2c61,
0 x2c62 => 0 x026b,
0 x2c63 => 0 x1d7d,
0 x2c64 => 0 x027d,
0 x2c67 => 0 x2c68,
0 x2c69 => 0 x2c6a,
0 x2c6b => 0 x2c6c,
0 x2c6d => 0 x0251,
0 x2c6e => 0 x0271,
0 x2c6f => 0 x0250,
0 x2c70 => 0 x0252,
0 x2c72 => 0 x2c73,
0 x2c75 => 0 x2c76,
0 x2c7e => 0 x023f,
0 x2c7f => 0 x0240,
0 x2c80 => 0 x2c81,
0 x2c82 => 0 x2c83,
0 x2c84 => 0 x2c85,
0 x2c86 => 0 x2c87,
0 x2c88 => 0 x2c89,
0 x2c8a => 0 x2c8b,
0 x2c8c => 0 x2c8d,
0 x2c8e => 0 x2c8f,
0 x2c90 => 0 x2c91,
0 x2c92 => 0 x2c93,
0 x2c94 => 0 x2c95,
0 x2c96 => 0 x2c97,
0 x2c98 => 0 x2c99,
0 x2c9a => 0 x2c9b,
0 x2c9c => 0 x2c9d,
0 x2c9e => 0 x2c9f,
0 x2ca0 => 0 x2ca1,
0 x2ca2 => 0 x2ca3,
0 x2ca4 => 0 x2ca5,
0 x2ca6 => 0 x2ca7,
0 x2ca8 => 0 x2ca9,
0 x2caa => 0 x2cab,
0 x2cac => 0 x2cad,
0 x2cae => 0 x2caf,
0 x2cb0 => 0 x2cb1,
0 x2cb2 => 0 x2cb3,
0 x2cb4 => 0 x2cb5,
0 x2cb6 => 0 x2cb7,
0 x2cb8 => 0 x2cb9,
0 x2cba => 0 x2cbb,
0 x2cbc => 0 x2cbd,
0 x2cbe => 0 x2cbf,
0 x2cc0 => 0 x2cc1,
0 x2cc2 => 0 x2cc3,
0 x2cc4 => 0 x2cc5,
0 x2cc6 => 0 x2cc7,
0 x2cc8 => 0 x2cc9,
0 x2cca => 0 x2ccb,
0 x2ccc => 0 x2ccd,
0 x2cce => 0 x2ccf,
0 x2cd0 => 0 x2cd1,
0 x2cd2 => 0 x2cd3,
0 x2cd4 => 0 x2cd5,
0 x2cd6 => 0 x2cd7,
0 x2cd8 => 0 x2cd9,
0 x2cda => 0 x2cdb,
0 x2cdc => 0 x2cdd,
0 x2cde => 0 x2cdf,
0 x2ce0 => 0 x2ce1,
0 x2ce2 => 0 x2ce3,
0 x2ceb => 0 x2cec,
0 x2ced => 0 x2cee,
0 x2cf2 => 0 x2cf3,
0 xa640 => 0 xa641,
0 xa642 => 0 xa643,
0 xa644 => 0 xa645,
0 xa646 => 0 xa647,
0 xa648 => 0 xa649,
0 xa64a => 0 xa64b,
0 xa64c => 0 xa64d,
0 xa64e => 0 xa64f,
0 xa650 => 0 xa651,
0 xa652 => 0 xa653,
0 xa654 => 0 xa655,
0 xa656 => 0 xa657,
0 xa658 => 0 xa659,
0 xa65a => 0 xa65b,
0 xa65c => 0 xa65d,
0 xa65e => 0 xa65f,
0 xa660 => 0 xa661,
0 xa662 => 0 xa663,
0 xa664 => 0 xa665,
0 xa666 => 0 xa667,
0 xa668 => 0 xa669,
0 xa66a => 0 xa66b,
0 xa66c => 0 xa66d,
0 xa680 => 0 xa681,
0 xa682 => 0 xa683,
0 xa684 => 0 xa685,
0 xa686 => 0 xa687,
0 xa688 => 0 xa689,
0 xa68a => 0 xa68b,
0 xa68c => 0 xa68d,
0 xa68e => 0 xa68f,
0 xa690 => 0 xa691,
0 xa692 => 0 xa693,
0 xa694 => 0 xa695,
0 xa696 => 0 xa697,
0 xa698 => 0 xa699,
0 xa69a => 0 xa69b,
0 xa722 => 0 xa723,
0 xa724 => 0 xa725,
0 xa726 => 0 xa727,
0 xa728 => 0 xa729,
0 xa72a => 0 xa72b,
0 xa72c => 0 xa72d,
0 xa72e => 0 xa72f,
0 xa732 => 0 xa733,
0 xa734 => 0 xa735,
0 xa736 => 0 xa737,
0 xa738 => 0 xa739,
0 xa73a => 0 xa73b,
0 xa73c => 0 xa73d,
0 xa73e => 0 xa73f,
0 xa740 => 0 xa741,
0 xa742 => 0 xa743,
0 xa744 => 0 xa745,
0 xa746 => 0 xa747,
0 xa748 => 0 xa749,
0 xa74a => 0 xa74b,
0 xa74c => 0 xa74d,
0 xa74e => 0 xa74f,
0 xa750 => 0 xa751,
0 xa752 => 0 xa753,
0 xa754 => 0 xa755,
0 xa756 => 0 xa757,
0 xa758 => 0 xa759,
0 xa75a => 0 xa75b,
0 xa75c => 0 xa75d,
0 xa75e => 0 xa75f,
0 xa760 => 0 xa761,
0 xa762 => 0 xa763,
0 xa764 => 0 xa765,
0 xa766 => 0 xa767,
0 xa768 => 0 xa769,
0 xa76a => 0 xa76b,
0 xa76c => 0 xa76d,
0 xa76e => 0 xa76f,
0 xa779 => 0 xa77a,
0 xa77b => 0 xa77c,
0 xa77d => 0 x1d79,
0 xa77e => 0 xa77f,
0 xa780 => 0 xa781,
0 xa782 => 0 xa783,
0 xa784 => 0 xa785,
0 xa786 => 0 xa787,
0 xa78b => 0 xa78c,
0 xa78d => 0 x0265,
0 xa790 => 0 xa791,
0 xa792 => 0 xa793,
0 xa796 => 0 xa797,
0 xa798 => 0 xa799,
0 xa79a => 0 xa79b,
0 xa79c => 0 xa79d,
0 xa79e => 0 xa79f,
0 xa7a0 => 0 xa7a1,
0 xa7a2 => 0 xa7a3,
0 xa7a4 => 0 xa7a5,
0 xa7a6 => 0 xa7a7,
0 xa7a8 => 0 xa7a9,
0 xa7aa => 0 x0266,
0 xa7ab => 0 x025c,
0 xa7ac => 0 x0261,
0 xa7ad => 0 x026c,
0 xa7ae => 0 x026a,
0 xa7b0 => 0 x029e,
0 xa7b1 => 0 x0287,
0 xa7b2 => 0 x029d,
0 xa7b3 => 0 xab53,
0 xa7b4 => 0 xa7b5,
0 xa7b6 => 0 xa7b7,
0 xa7b8 => 0 xa7b9,
0 xa7ba => 0 xa7bb,
0 xa7bc => 0 xa7bd,
0 xa7be => 0 xa7bf,
0 xa7c2 => 0 xa7c3,
0 xa7c4 => 0 xa794,
0 xa7c5 => 0 x0282,
0 xa7c6 => 0 x1d8e,
0 xab70 => 0 x13a0,
0 xab71 => 0 x13a1,
0 xab72 => 0 x13a2,
0 xab73 => 0 x13a3,
0 xab74 => 0 x13a4,
0 xab75 => 0 x13a5,
0 xab76 => 0 x13a6,
0 xab77 => 0 x13a7,
0 xab78 => 0 x13a8,
0 xab79 => 0 x13a9,
0 xab7a => 0 x13aa,
0 xab7b => 0 x13ab,
0 xab7c => 0 x13ac,
0 xab7d => 0 x13ad,
0 xab7e => 0 x13ae,
0 xab7f => 0 x13af,
0 xab80 => 0 x13b0,
0 xab81 => 0 x13b1,
0 xab82 => 0 x13b2,
0 xab83 => 0 x13b3,
0 xab84 => 0 x13b4,
0 xab85 => 0 x13b5,
0 xab86 => 0 x13b6,
0 xab87 => 0 x13b7,
0 xab88 => 0 x13b8,
0 xab89 => 0 x13b9,
0 xab8a => 0 x13ba,
0 xab8b => 0 x13bb,
0 xab8c => 0 x13bc,
0 xab8d => 0 x13bd,
0 xab8e => 0 x13be,
0 xab8f => 0 x13bf,
0 xab90 => 0 x13c0,
0 xab91 => 0 x13c1,
0 xab92 => 0 x13c2,
0 xab93 => 0 x13c3,
0 xab94 => 0 x13c4,
0 xab95 => 0 x13c5,
0 xab96 => 0 x13c6,
0 xab97 => 0 x13c7,
0 xab98 => 0 x13c8,
0 xab99 => 0 x13c9,
0 xab9a => 0 x13ca,
0 xab9b => 0 x13cb,
0 xab9c => 0 x13cc,
0 xab9d => 0 x13cd,
0 xab9e => 0 x13ce,
0 xab9f => 0 x13cf,
0 xaba0 => 0 x13d0,
0 xaba1 => 0 x13d1,
0 xaba2 => 0 x13d2,
0 xaba3 => 0 x13d3,
0 xaba4 => 0 x13d4,
0 xaba5 => 0 x13d5,
0 xaba6 => 0 x13d6,
0 xaba7 => 0 x13d7,
0 xaba8 => 0 x13d8,
0 xaba9 => 0 x13d9,
0 xabaa => 0 x13da,
0 xabab => 0 x13db,
0 xabac => 0 x13dc,
0 xabad => 0 x13dd,
0 xabae => 0 x13de,
0 xabaf => 0 x13df,
0 xabb0 => 0 x13e0,
0 xabb1 => 0 x13e1,
0 xabb2 => 0 x13e2,
0 xabb3 => 0 x13e3,
0 xabb4 => 0 x13e4,
0 xabb5 => 0 x13e5,
0 xabb6 => 0 x13e6,
0 xabb7 => 0 x13e7,
0 xabb8 => 0 x13e8,
0 xabb9 => 0 x13e9,
0 xabba => 0 x13ea,
0 xabbb => 0 x13eb,
0 xabbc => 0 x13ec,
0 xabbd => 0 x13ed,
0 xabbe => 0 x13ee,
0 xabbf => 0 x13ef,
0 xfb00 => return Fold::Two('\u{0066}' , '\u{0066}' ,),
0 xfb01 => return Fold::Two('\u{0066}' , '\u{0069}' ,),
0 xfb02 => return Fold::Two('\u{0066}' , '\u{006c}' ,),
0 xfb03 => return Fold::Three('\u{0066}' , '\u{0066}' , '\u{0069}' ,),
0 xfb04 => return Fold::Three('\u{0066}' , '\u{0066}' , '\u{006c}' ,),
0 xfb05 => return Fold::Two('\u{0073}' , '\u{0074}' ,),
0 xfb06 => return Fold::Two('\u{0073}' , '\u{0074}' ,),
0 xfb13 => return Fold::Two('\u{0574}' , '\u{0576}' ,),
0 xfb14 => return Fold::Two('\u{0574}' , '\u{0565}' ,),
0 xfb15 => return Fold::Two('\u{0574}' , '\u{056b}' ,),
0 xfb16 => return Fold::Two('\u{057e}' , '\u{0576}' ,),
0 xfb17 => return Fold::Two('\u{0574}' , '\u{056d}' ,),
0 xff21 => 0 xff41,
0 xff22 => 0 xff42,
0 xff23 => 0 xff43,
0 xff24 => 0 xff44,
0 xff25 => 0 xff45,
0 xff26 => 0 xff46,
0 xff27 => 0 xff47,
0 xff28 => 0 xff48,
0 xff29 => 0 xff49,
0 xff2a => 0 xff4a,
0 xff2b => 0 xff4b,
0 xff2c => 0 xff4c,
0 xff2d => 0 xff4d,
0 xff2e => 0 xff4e,
0 xff2f => 0 xff4f,
0 xff30 => 0 xff50,
0 xff31 => 0 xff51,
0 xff32 => 0 xff52,
0 xff33 => 0 xff53,
0 xff34 => 0 xff54,
0 xff35 => 0 xff55,
0 xff36 => 0 xff56,
0 xff37 => 0 xff57,
0 xff38 => 0 xff58,
0 xff39 => 0 xff59,
0 xff3a => 0 xff5a,
0 x10400 => 0 x10428,
0 x10401 => 0 x10429,
0 x10402 => 0 x1042a,
0 x10403 => 0 x1042b,
0 x10404 => 0 x1042c,
0 x10405 => 0 x1042d,
0 x10406 => 0 x1042e,
0 x10407 => 0 x1042f,
0 x10408 => 0 x10430,
0 x10409 => 0 x10431,
0 x1040a => 0 x10432,
0 x1040b => 0 x10433,
0 x1040c => 0 x10434,
0 x1040d => 0 x10435,
0 x1040e => 0 x10436,
0 x1040f => 0 x10437,
0 x10410 => 0 x10438,
0 x10411 => 0 x10439,
0 x10412 => 0 x1043a,
0 x10413 => 0 x1043b,
0 x10414 => 0 x1043c,
0 x10415 => 0 x1043d,
0 x10416 => 0 x1043e,
0 x10417 => 0 x1043f,
0 x10418 => 0 x10440,
0 x10419 => 0 x10441,
0 x1041a => 0 x10442,
0 x1041b => 0 x10443,
0 x1041c => 0 x10444,
0 x1041d => 0 x10445,
0 x1041e => 0 x10446,
0 x1041f => 0 x10447,
0 x10420 => 0 x10448,
0 x10421 => 0 x10449,
0 x10422 => 0 x1044a,
0 x10423 => 0 x1044b,
0 x10424 => 0 x1044c,
0 x10425 => 0 x1044d,
0 x10426 => 0 x1044e,
0 x10427 => 0 x1044f,
0 x104b0 => 0 x104d8,
0 x104b1 => 0 x104d9,
0 x104b2 => 0 x104da,
0 x104b3 => 0 x104db,
0 x104b4 => 0 x104dc,
0 x104b5 => 0 x104dd,
0 x104b6 => 0 x104de,
0 x104b7 => 0 x104df,
0 x104b8 => 0 x104e0,
0 x104b9 => 0 x104e1,
0 x104ba => 0 x104e2,
0 x104bb => 0 x104e3,
0 x104bc => 0 x104e4,
0 x104bd => 0 x104e5,
0 x104be => 0 x104e6,
0 x104bf => 0 x104e7,
0 x104c0 => 0 x104e8,
0 x104c1 => 0 x104e9,
0 x104c2 => 0 x104ea,
0 x104c3 => 0 x104eb,
0 x104c4 => 0 x104ec,
0 x104c5 => 0 x104ed,
0 x104c6 => 0 x104ee,
0 x104c7 => 0 x104ef,
0 x104c8 => 0 x104f0,
0 x104c9 => 0 x104f1,
0 x104ca => 0 x104f2,
0 x104cb => 0 x104f3,
0 x104cc => 0 x104f4,
0 x104cd => 0 x104f5,
0 x104ce => 0 x104f6,
0 x104cf => 0 x104f7,
0 x104d0 => 0 x104f8,
0 x104d1 => 0 x104f9,
0 x104d2 => 0 x104fa,
0 x104d3 => 0 x104fb,
0 x10c80 => 0 x10cc0,
0 x10c81 => 0 x10cc1,
0 x10c82 => 0 x10cc2,
0 x10c83 => 0 x10cc3,
0 x10c84 => 0 x10cc4,
0 x10c85 => 0 x10cc5,
0 x10c86 => 0 x10cc6,
0 x10c87 => 0 x10cc7,
0 x10c88 => 0 x10cc8,
0 x10c89 => 0 x10cc9,
0 x10c8a => 0 x10cca,
0 x10c8b => 0 x10ccb,
0 x10c8c => 0 x10ccc,
0 x10c8d => 0 x10ccd,
0 x10c8e => 0 x10cce,
0 x10c8f => 0 x10ccf,
0 x10c90 => 0 x10cd0,
0 x10c91 => 0 x10cd1,
0 x10c92 => 0 x10cd2,
0 x10c93 => 0 x10cd3,
0 x10c94 => 0 x10cd4,
0 x10c95 => 0 x10cd5,
0 x10c96 => 0 x10cd6,
0 x10c97 => 0 x10cd7,
0 x10c98 => 0 x10cd8,
0 x10c99 => 0 x10cd9,
0 x10c9a => 0 x10cda,
0 x10c9b => 0 x10cdb,
0 x10c9c => 0 x10cdc,
0 x10c9d => 0 x10cdd,
0 x10c9e => 0 x10cde,
0 x10c9f => 0 x10cdf,
0 x10ca0 => 0 x10ce0,
0 x10ca1 => 0 x10ce1,
0 x10ca2 => 0 x10ce2,
0 x10ca3 => 0 x10ce3,
0 x10ca4 => 0 x10ce4,
0 x10ca5 => 0 x10ce5,
0 x10ca6 => 0 x10ce6,
0 x10ca7 => 0 x10ce7,
0 x10ca8 => 0 x10ce8,
0 x10ca9 => 0 x10ce9,
0 x10caa => 0 x10cea,
0 x10cab => 0 x10ceb,
0 x10cac => 0 x10cec,
0 x10cad => 0 x10ced,
0 x10cae => 0 x10cee,
0 x10caf => 0 x10cef,
0 x10cb0 => 0 x10cf0,
0 x10cb1 => 0 x10cf1,
0 x10cb2 => 0 x10cf2,
0 x118a0 => 0 x118c0,
0 x118a1 => 0 x118c1,
0 x118a2 => 0 x118c2,
0 x118a3 => 0 x118c3,
0 x118a4 => 0 x118c4,
0 x118a5 => 0 x118c5,
0 x118a6 => 0 x118c6,
0 x118a7 => 0 x118c7,
0 x118a8 => 0 x118c8,
0 x118a9 => 0 x118c9,
0 x118aa => 0 x118ca,
0 x118ab => 0 x118cb,
0 x118ac => 0 x118cc,
0 x118ad => 0 x118cd,
0 x118ae => 0 x118ce,
0 x118af => 0 x118cf,
0 x118b0 => 0 x118d0,
0 x118b1 => 0 x118d1,
0 x118b2 => 0 x118d2,
0 x118b3 => 0 x118d3,
0 x118b4 => 0 x118d4,
0 x118b5 => 0 x118d5,
0 x118b6 => 0 x118d6,
0 x118b7 => 0 x118d7,
0 x118b8 => 0 x118d8,
0 x118b9 => 0 x118d9,
0 x118ba => 0 x118da,
0 x118bb => 0 x118db,
0 x118bc => 0 x118dc,
0 x118bd => 0 x118dd,
0 x118be => 0 x118de,
0 x118bf => 0 x118df,
0 x16e40 => 0 x16e60,
0 x16e41 => 0 x16e61,
0 x16e42 => 0 x16e62,
0 x16e43 => 0 x16e63,
0 x16e44 => 0 x16e64,
0 x16e45 => 0 x16e65,
0 x16e46 => 0 x16e66,
0 x16e47 => 0 x16e67,
0 x16e48 => 0 x16e68,
0 x16e49 => 0 x16e69,
0 x16e4a => 0 x16e6a,
0 x16e4b => 0 x16e6b,
0 x16e4c => 0 x16e6c,
0 x16e4d => 0 x16e6d,
0 x16e4e => 0 x16e6e,
0 x16e4f => 0 x16e6f,
0 x16e50 => 0 x16e70,
0 x16e51 => 0 x16e71,
0 x16e52 => 0 x16e72,
0 x16e53 => 0 x16e73,
0 x16e54 => 0 x16e74,
0 x16e55 => 0 x16e75,
0 x16e56 => 0 x16e76,
0 x16e57 => 0 x16e77,
0 x16e58 => 0 x16e78,
0 x16e59 => 0 x16e79,
0 x16e5a => 0 x16e7a,
0 x16e5b => 0 x16e7b,
0 x16e5c => 0 x16e7c,
0 x16e5d => 0 x16e7d,
0 x16e5e => 0 x16e7e,
0 x16e5f => 0 x16e7f,
0 x1e900 => 0 x1e922,
0 x1e901 => 0 x1e923,
0 x1e902 => 0 x1e924,
0 x1e903 => 0 x1e925,
0 x1e904 => 0 x1e926,
0 x1e905 => 0 x1e927,
0 x1e906 => 0 x1e928,
0 x1e907 => 0 x1e929,
0 x1e908 => 0 x1e92a,
0 x1e909 => 0 x1e92b,
0 x1e90a => 0 x1e92c,
0 x1e90b => 0 x1e92d,
0 x1e90c => 0 x1e92e,
0 x1e90d => 0 x1e92f,
0 x1e90e => 0 x1e930,
0 x1e90f => 0 x1e931,
0 x1e910 => 0 x1e932,
0 x1e911 => 0 x1e933,
0 x1e912 => 0 x1e934,
0 x1e913 => 0 x1e935,
0 x1e914 => 0 x1e936,
0 x1e915 => 0 x1e937,
0 x1e916 => 0 x1e938,
0 x1e917 => 0 x1e939,
0 x1e918 => 0 x1e93a,
0 x1e919 => 0 x1e93b,
0 x1e91a => 0 x1e93c,
0 x1e91b => 0 x1e93d,
0 x1e91c => 0 x1e93e,
0 x1e91d => 0 x1e93f,
0 x1e91e => 0 x1e940,
0 x1e91f => 0 x1e941,
0 x1e920 => 0 x1e942,
0 x1e921 => 0 x1e943,
_ => orig as u32
};
Fold::One( char::from_u32(single_char).unwrap() )
}
for c_index in 0 ..126217 {
if let Some(c) = char::from_u32(c_index) {
let reference: Vec<char> = lookup_naive(c).collect();
let actual: Vec<char> = lookup(c).collect();
if actual != reference {
assert!(false , "case-folding {:?} (#0x{:04x}) failed: Expected {:?}, got {:?}" , c, c_index, reference, actual);
}
}
}
}
Messung V0.5 in Prozent C=85 H=91 G=87
¤ Dauer der Verarbeitung: 0.42 Sekunden
(vorverarbeitet am 2026-06-19)
¤
*© Formatika GbR, Deutschland