// GENERATED AUTOMATICALLY BY generate_case_tables.pl; DO NOT EDIT.

#include "case_tables.hpp"

const size_t LOWER_CASE_RANGES_SIZE = 151;
const CaseConversionRecord LOWER_CASE_RANGES[LOWER_CASE_RANGES_SIZE] = {
    {65, 90, 32},
    {192, 214, 32},
    {216, 222, 32},
    {256, 302, EVEN_ODD_SKIP},
    {304, 304, -199},
    {306, 310, EVEN_ODD_SKIP},
    {313, 327, ODD_EVEN_SKIP},
    {330, 374, EVEN_ODD_SKIP},
    {376, 376, -121},
    {377, 381, ODD_EVEN_SKIP},
    {385, 385, 210},
    {386, 388, EVEN_ODD_SKIP},
    {390, 390, 206},
    {391, 391, ODD_EVEN},
    {393, 394, 205},
    {395, 395, ODD_EVEN},
    {398, 398, 79},
    {399, 399, 202},
    {400, 400, 203},
    {401, 401, ODD_EVEN},
    {403, 403, 205},
    {404, 404, 207},
    {406, 406, 211},
    {407, 407, 209},
    {408, 408, EVEN_ODD},
    {412, 412, 211},
    {413, 413, 213},
    {415, 415, 214},
    {416, 420, EVEN_ODD_SKIP},
    {422, 422, 218},
    {423, 423, ODD_EVEN},
    {425, 425, 218},
    {428, 428, EVEN_ODD},
    {430, 430, 218},
    {431, 431, ODD_EVEN},
    {433, 434, 217},
    {435, 437, ODD_EVEN_SKIP},
    {439, 439, 219},
    {440, 440, EVEN_ODD},
    {444, 444, EVEN_ODD},
    {452, 452, 2},
    {453, 453, ODD_EVEN},
    {455, 455, 2},
    {456, 456, EVEN_ODD},
    {458, 458, 2},
    {459, 475, ODD_EVEN_SKIP},
    {478, 494, EVEN_ODD_SKIP},
    {497, 497, 2},
    {498, 500, EVEN_ODD_SKIP},
    {502, 502, -97},
    {503, 503, -56},
    {504, 542, EVEN_ODD_SKIP},
    {544, 544, -130},
    {546, 562, EVEN_ODD_SKIP},
    {570, 570, 10795},
    {571, 571, ODD_EVEN},
    {573, 573, -163},
    {574, 574, 10792},
    {577, 577, ODD_EVEN},
    {579, 579, -195},
    {580, 580, 69},
    {581, 581, 71},
    {582, 590, EVEN_ODD_SKIP},
    {880, 882, EVEN_ODD_SKIP},
    {886, 886, EVEN_ODD},
    {902, 902, 38},
    {904, 906, 37},
    {908, 908, 64},
    {910, 911, 63},
    {913, 929, 32},
    {931, 939, 32},
    {975, 975, 8},
    {984, 1006, EVEN_ODD_SKIP},
    {1012, 1012, -60},
    {1015, 1015, ODD_EVEN},
    {1017, 1017, -7},
    {1018, 1018, EVEN_ODD},
    {1021, 1023, -130},
    {1024, 1039, 80},
    {1040, 1071, 32},
    {1120, 1152, EVEN_ODD_SKIP},
    {1162, 1214, EVEN_ODD_SKIP},
    {1216, 1216, 15},
    {1217, 1229, ODD_EVEN_SKIP},
    {1232, 1318, EVEN_ODD_SKIP},
    {1329, 1366, 48},
    {4256, 4293, 7264},
    {7680, 7828, EVEN_ODD_SKIP},
    {7838, 7838, -7615},
    {7840, 7934, EVEN_ODD_SKIP},
    {7944, 7951, -8},
    {7960, 7965, -8},
    {7976, 7983, -8},
    {7992, 7999, -8},
    {8008, 8013, -8},
    {8025, 8025, -8},
    {8027, 8027, -8},
    {8029, 8029, -8},
    {8031, 8031, -8},
    {8040, 8047, -8},
    {8072, 8079, -8},
    {8088, 8095, -8},
    {8104, 8111, -8},
    {8120, 8121, -8},
    {8122, 8123, -74},
    {8124, 8124, -9},
    {8136, 8139, -86},
    {8140, 8140, -9},
    {8152, 8153, -8},
    {8154, 8155, -100},
    {8168, 8169, -8},
    {8170, 8171, -112},
    {8172, 8172, -7},
    {8184, 8185, -128},
    {8186, 8187, -126},
    {8188, 8188, -9},
    {8486, 8486, -7517},
    {8490, 8490, -8383},
    {8491, 8491, -8262},
    {8498, 8498, 28},
    {8544, 8559, 16},
    {8579, 8579, ODD_EVEN},
    {9398, 9423, 26},
    {11264, 11310, 48},
    {11360, 11360, EVEN_ODD},
    {11362, 11362, -10743},
    {11363, 11363, -3814},
    {11364, 11364, -10727},
    {11367, 11371, ODD_EVEN_SKIP},
    {11373, 11373, -10780},
    {11374, 11374, -10749},
    {11375, 11375, -10783},
    {11376, 11376, -10782},
    {11378, 11378, EVEN_ODD},
    {11381, 11381, ODD_EVEN},
    {11390, 11391, -10815},
    {11392, 11490, EVEN_ODD_SKIP},
    {11499, 11501, ODD_EVEN_SKIP},
    {42560, 42604, EVEN_ODD_SKIP},
    {42624, 42646, EVEN_ODD_SKIP},
    {42786, 42798, EVEN_ODD_SKIP},
    {42802, 42862, EVEN_ODD_SKIP},
    {42873, 42875, ODD_EVEN_SKIP},
    {42877, 42877, -35332},
    {42878, 42886, EVEN_ODD_SKIP},
    {42891, 42891, ODD_EVEN},
    {42893, 42893, -42280},
    {42896, 42896, EVEN_ODD},
    {42912, 42920, EVEN_ODD_SKIP},
    {65313, 65338, 32},
    {66560, 66599, 40}
};
const size_t UPPER_CASE_RANGES_SIZE = 161;
const CaseConversionRecord UPPER_CASE_RANGES[UPPER_CASE_RANGES_SIZE] = {
    {97, 122, -32},
    {181, 181, 743},
    {224, 246, -32},
    {248, 254, -32},
    {255, 255, 121},
    {257, 303, EVEN_ODD_SKIP},
    {305, 305, -232},
    {307, 311, EVEN_ODD_SKIP},
    {314, 328, ODD_EVEN_SKIP},
    {331, 375, EVEN_ODD_SKIP},
    {378, 382, ODD_EVEN_SKIP},
    {383, 383, -300},
    {384, 384, 195},
    {387, 389, EVEN_ODD_SKIP},
    {392, 392, ODD_EVEN},
    {396, 396, ODD_EVEN},
    {402, 402, ODD_EVEN},
    {405, 405, 97},
    {409, 409, EVEN_ODD},
    {410, 410, 163},
    {414, 414, 130},
    {417, 421, EVEN_ODD_SKIP},
    {424, 424, ODD_EVEN},
    {429, 429, EVEN_ODD},
    {432, 432, ODD_EVEN},
    {436, 438, ODD_EVEN_SKIP},
    {441, 441, EVEN_ODD},
    {445, 445, EVEN_ODD},
    {447, 447, 56},
    {453, 453, EVEN_ODD},
    {454, 454, -2},
    {456, 456, ODD_EVEN},
    {457, 457, -2},
    {459, 459, EVEN_ODD},
    {460, 460, -2},
    {462, 476, ODD_EVEN_SKIP},
    {477, 477, -79},
    {479, 495, EVEN_ODD_SKIP},
    {498, 498, ODD_EVEN},
    {499, 499, -2},
    {501, 501, EVEN_ODD},
    {505, 543, EVEN_ODD_SKIP},
    {547, 563, EVEN_ODD_SKIP},
    {572, 572, ODD_EVEN},
    {575, 576, 10815},
    {578, 578, ODD_EVEN},
    {583, 591, EVEN_ODD_SKIP},
    {592, 592, 10783},
    {593, 593, 10780},
    {594, 594, 10782},
    {595, 595, -210},
    {596, 596, -206},
    {598, 599, -205},
    {601, 601, -202},
    {603, 603, -203},
    {608, 608, -205},
    {611, 611, -207},
    {613, 613, 42280},
    {616, 616, -209},
    {617, 617, -211},
    {619, 619, 10743},
    {623, 623, -211},
    {625, 625, 10749},
    {626, 626, -213},
    {629, 629, -214},
    {637, 637, 10727},
    {640, 640, -218},
    {643, 643, -218},
    {648, 648, -218},
    {649, 649, -69},
    {650, 651, -217},
    {652, 652, -71},
    {658, 658, -219},
    {837, 837, 84},
    {881, 883, EVEN_ODD_SKIP},
    {887, 887, EVEN_ODD},
    {891, 893, 130},
    {940, 940, -38},
    {941, 943, -37},
    {945, 961, -32},
    {962, 962, -31},
    {963, 971, -32},
    {972, 972, -64},
    {973, 974, -63},
    {976, 976, -62},
    {977, 977, -57},
    {981, 981, -47},
    {982, 982, -54},
    {983, 983, -8},
    {985, 1007, EVEN_ODD_SKIP},
    {1008, 1008, -86},
    {1009, 1009, -80},
    {1010, 1010, 7},
    {1013, 1013, -96},
    {1016, 1016, ODD_EVEN},
    {1019, 1019, EVEN_ODD},
    {1072, 1103, -32},
    {1104, 1119, -80},
    {1121, 1153, EVEN_ODD_SKIP},
    {1163, 1215, EVEN_ODD_SKIP},
    {1218, 1230, ODD_EVEN_SKIP},
    {1231, 1231, -15},
    {1233, 1319, EVEN_ODD_SKIP},
    {1377, 1414, -48},
    {7545, 7545, 35332},
    {7549, 7549, 3814},
    {7681, 7829, EVEN_ODD_SKIP},
    {7835, 7835, -59},
    {7841, 7935, EVEN_ODD_SKIP},
    {7936, 7943, 8},
    {7952, 7957, 8},
    {7968, 7975, 8},
    {7984, 7991, 8},
    {8000, 8005, 8},
    {8017, 8017, 8},
    {8019, 8019, 8},
    {8021, 8021, 8},
    {8023, 8023, 8},
    {8032, 8039, 8},
    {8048, 8049, 74},
    {8050, 8053, 86},
    {8054, 8055, 100},
    {8056, 8057, 128},
    {8058, 8059, 112},
    {8060, 8061, 126},
    {8064, 8071, 8},
    {8080, 8087, 8},
    {8096, 8103, 8},
    {8112, 8113, 8},
    {8115, 8115, 9},
    {8126, 8126, -7205},
    {8131, 8131, 9},
    {8144, 8145, 8},
    {8160, 8161, 8},
    {8165, 8165, 7},
    {8179, 8179, 9},
    {8526, 8526, -28},
    {8560, 8575, -16},
    {8580, 8580, ODD_EVEN},
    {9424, 9449, -26},
    {11312, 11358, -48},
    {11361, 11361, EVEN_ODD},
    {11365, 11365, -10795},
    {11366, 11366, -10792},
    {11368, 11372, ODD_EVEN_SKIP},
    {11379, 11379, EVEN_ODD},
    {11382, 11382, ODD_EVEN},
    {11393, 11491, EVEN_ODD_SKIP},
    {11500, 11502, ODD_EVEN_SKIP},
    {11520, 11557, -7264},
    {42561, 42605, EVEN_ODD_SKIP},
    {42625, 42647, EVEN_ODD_SKIP},
    {42787, 42799, EVEN_ODD_SKIP},
    {42803, 42863, EVEN_ODD_SKIP},
    {42874, 42876, ODD_EVEN_SKIP},
    {42879, 42887, EVEN_ODD_SKIP},
    {42892, 42892, ODD_EVEN},
    {42897, 42897, EVEN_ODD},
    {42913, 42921, EVEN_ODD_SKIP},
    {65345, 65370, -32},
    {66600, 66639, -40}
};
const size_t TITLE_CASE_RANGES_SIZE = 161;
const CaseConversionRecord TITLE_CASE_RANGES[TITLE_CASE_RANGES_SIZE] = {
    {97, 122, -32},
    {181, 181, 743},
    {224, 246, -32},
    {248, 254, -32},
    {255, 255, 121},
    {257, 303, EVEN_ODD_SKIP},
    {305, 305, -232},
    {307, 311, EVEN_ODD_SKIP},
    {314, 328, ODD_EVEN_SKIP},
    {331, 375, EVEN_ODD_SKIP},
    {378, 382, ODD_EVEN_SKIP},
    {383, 383, -300},
    {384, 384, 195},
    {387, 389, EVEN_ODD_SKIP},
    {392, 392, ODD_EVEN},
    {396, 396, ODD_EVEN},
    {402, 402, ODD_EVEN},
    {405, 405, 97},
    {409, 409, EVEN_ODD},
    {410, 410, 163},
    {414, 414, 130},
    {417, 421, EVEN_ODD_SKIP},
    {424, 424, ODD_EVEN},
    {429, 429, EVEN_ODD},
    {432, 432, ODD_EVEN},
    {436, 438, ODD_EVEN_SKIP},
    {441, 441, EVEN_ODD},
    {445, 445, EVEN_ODD},
    {447, 447, 56},
    {452, 452, EVEN_ODD},
    {453, 453, 0},
    {454, 455, ODD_EVEN},
    {456, 456, 0},
    {457, 458, EVEN_ODD},
    {459, 459, 0},
    {460, 476, ODD_EVEN_SKIP},
    {477, 477, -79},
    {479, 495, EVEN_ODD_SKIP},
    {497, 497, ODD_EVEN},
    {498, 498, 0},
    {499, 501, EVEN_ODD_SKIP},
    {505, 543, EVEN_ODD_SKIP},
    {547, 563, EVEN_ODD_SKIP},
    {572, 572, ODD_EVEN},
    {575, 576, 10815},
    {578, 578, ODD_EVEN},
    {583, 591, EVEN_ODD_SKIP},
    {592, 592, 10783},
    {593, 593, 10780},
    {594, 594, 10782},
    {595, 595, -210},
    {596, 596, -206},
    {598, 599, -205},
    {601, 601, -202},
    {603, 603, -203},
    {608, 608, -205},
    {611, 611, -207},
    {613, 613, 42280},
    {616, 616, -209},
    {617, 617, -211},
    {619, 619, 10743},
    {623, 623, -211},
    {625, 625, 10749},
    {626, 626, -213},
    {629, 629, -214},
    {637, 637, 10727},
    {640, 640, -218},
    {643, 643, -218},
    {648, 648, -218},
    {649, 649, -69},
    {650, 651, -217},
    {652, 652, -71},
    {658, 658, -219},
    {837, 837, 84},
    {881, 883, EVEN_ODD_SKIP},
    {887, 887, EVEN_ODD},
    {891, 893, 130},
    {940, 940, -38},
    {941, 943, -37},
    {945, 961, -32},
    {962, 962, -31},
    {963, 971, -32},
    {972, 972, -64},
    {973, 974, -63},
    {976, 976, -62},
    {977, 977, -57},
    {981, 981, -47},
    {982, 982, -54},
    {983, 983, -8},
    {985, 1007, EVEN_ODD_SKIP},
    {1008, 1008, -86},
    {1009, 1009, -80},
    {1010, 1010, 7},
    {1013, 1013, -96},
    {1016, 1016, ODD_EVEN},
    {1019, 1019, EVEN_ODD},
    {1072, 1103, -32},
    {1104, 1119, -80},
    {1121, 1153, EVEN_ODD_SKIP},
    {1163, 1215, EVEN_ODD_SKIP},
    {1218, 1230, ODD_EVEN_SKIP},
    {1231, 1231, -15},
    {1233, 1319, EVEN_ODD_SKIP},
    {1377, 1414, -48},
    {7545, 7545, 35332},
    {7549, 7549, 3814},
    {7681, 7829, EVEN_ODD_SKIP},
    {7835, 7835, -59},
    {7841, 7935, EVEN_ODD_SKIP},
    {7936, 7943, 8},
    {7952, 7957, 8},
    {7968, 7975, 8},
    {7984, 7991, 8},
    {8000, 8005, 8},
    {8017, 8017, 8},
    {8019, 8019, 8},
    {8021, 8021, 8},
    {8023, 8023, 8},
    {8032, 8039, 8},
    {8048, 8049, 74},
    {8050, 8053, 86},
    {8054, 8055, 100},
    {8056, 8057, 128},
    {8058, 8059, 112},
    {8060, 8061, 126},
    {8064, 8071, 8},
    {8080, 8087, 8},
    {8096, 8103, 8},
    {8112, 8113, 8},
    {8115, 8115, 9},
    {8126, 8126, -7205},
    {8131, 8131, 9},
    {8144, 8145, 8},
    {8160, 8161, 8},
    {8165, 8165, 7},
    {8179, 8179, 9},
    {8526, 8526, -28},
    {8560, 8575, -16},
    {8580, 8580, ODD_EVEN},
    {9424, 9449, -26},
    {11312, 11358, -48},
    {11361, 11361, EVEN_ODD},
    {11365, 11365, -10795},
    {11366, 11366, -10792},
    {11368, 11372, ODD_EVEN_SKIP},
    {11379, 11379, EVEN_ODD},
    {11382, 11382, ODD_EVEN},
    {11393, 11491, EVEN_ODD_SKIP},
    {11500, 11502, ODD_EVEN_SKIP},
    {11520, 11557, -7264},
    {42561, 42605, EVEN_ODD_SKIP},
    {42625, 42647, EVEN_ODD_SKIP},
    {42787, 42799, EVEN_ODD_SKIP},
    {42803, 42863, EVEN_ODD_SKIP},
    {42874, 42876, ODD_EVEN_SKIP},
    {42879, 42887, EVEN_ODD_SKIP},
    {42892, 42892, ODD_EVEN},
    {42897, 42897, EVEN_ODD},
    {42913, 42921, EVEN_ODD_SKIP},
    {65345, 65370, -32},
    {66600, 66639, -40}
};
const size_t LOWER_SPECIAL_CASING_SIZE = 103;
const SpecialCasingConversionRecord LOWER_SPECIAL_CASING[LOWER_SPECIAL_CASING_SIZE] = {
    {223, "\xc3\x9f"},
    {304, "\x69\xcc\x87"},
    {64256, "\xef\xac\x80"},
    {64257, "\xef\xac\x81"},
    {64258, "\xef\xac\x82"},
    {64259, "\xef\xac\x83"},
    {64260, "\xef\xac\x84"},
    {64261, "\xef\xac\x85"},
    {64262, "\xef\xac\x86"},
    {1415, "\xd6\x87"},
    {64275, "\xef\xac\x93"},
    {64276, "\xef\xac\x94"},
    {64277, "\xef\xac\x95"},
    {64278, "\xef\xac\x96"},
    {64279, "\xef\xac\x97"},
    {329, "\xc5\x89"},
    {912, "\xce\x90"},
    {944, "\xce\xb0"},
    {496, "\xc7\xb0"},
    {7830, "\xe1\xba\x96"},
    {7831, "\xe1\xba\x97"},
    {7832, "\xe1\xba\x98"},
    {7833, "\xe1\xba\x99"},
    {7834, "\xe1\xba\x9a"},
    {8016, "\xe1\xbd\x90"},
    {8018, "\xe1\xbd\x92"},
    {8020, "\xe1\xbd\x94"},
    {8022, "\xe1\xbd\x96"},
    {8118, "\xe1\xbe\xb6"},
    {8134, "\xe1\xbf\x86"},
    {8146, "\xe1\xbf\x92"},
    {8147, "\xe1\xbf\x93"},
    {8150, "\xe1\xbf\x96"},
    {8151, "\xe1\xbf\x97"},
    {8162, "\xe1\xbf\xa2"},
    {8163, "\xe1\xbf\xa3"},
    {8164, "\xe1\xbf\xa4"},
    {8166, "\xe1\xbf\xa6"},
    {8167, "\xe1\xbf\xa7"},
    {8182, "\xe1\xbf\xb6"},
    {8064, "\xe1\xbe\x80"},
    {8065, "\xe1\xbe\x81"},
    {8066, "\xe1\xbe\x82"},
    {8067, "\xe1\xbe\x83"},
    {8068, "\xe1\xbe\x84"},
    {8069, "\xe1\xbe\x85"},
    {8070, "\xe1\xbe\x86"},
    {8071, "\xe1\xbe\x87"},
    {8072, "\xe1\xbe\x80"},
    {8073, "\xe1\xbe\x81"},
    {8074, "\xe1\xbe\x82"},
    {8075, "\xe1\xbe\x83"},
    {8076, "\xe1\xbe\x84"},
    {8077, "\xe1\xbe\x85"},
    {8078, "\xe1\xbe\x86"},
    {8079, "\xe1\xbe\x87"},
    {8080, "\xe1\xbe\x90"},
    {8081, "\xe1\xbe\x91"},
    {8082, "\xe1\xbe\x92"},
    {8083, "\xe1\xbe\x93"},
    {8084, "\xe1\xbe\x94"},
    {8085, "\xe1\xbe\x95"},
    {8086, "\xe1\xbe\x96"},
    {8087, "\xe1\xbe\x97"},
    {8088, "\xe1\xbe\x90"},
    {8089, "\xe1\xbe\x91"},
    {8090, "\xe1\xbe\x92"},
    {8091, "\xe1\xbe\x93"},
    {8092, "\xe1\xbe\x94"},
    {8093, "\xe1\xbe\x95"},
    {8094, "\xe1\xbe\x96"},
    {8095, "\xe1\xbe\x97"},
    {8096, "\xe1\xbe\xa0"},
    {8097, "\xe1\xbe\xa1"},
    {8098, "\xe1\xbe\xa2"},
    {8099, "\xe1\xbe\xa3"},
    {8100, "\xe1\xbe\xa4"},
    {8101, "\xe1\xbe\xa5"},
    {8102, "\xe1\xbe\xa6"},
    {8103, "\xe1\xbe\xa7"},
    {8104, "\xe1\xbe\xa0"},
    {8105, "\xe1\xbe\xa1"},
    {8106, "\xe1\xbe\xa2"},
    {8107, "\xe1\xbe\xa3"},
    {8108, "\xe1\xbe\xa4"},
    {8109, "\xe1\xbe\xa5"},
    {8110, "\xe1\xbe\xa6"},
    {8111, "\xe1\xbe\xa7"},
    {8115, "\xe1\xbe\xb3"},
    {8124, "\xe1\xbe\xb3"},
    {8131, "\xe1\xbf\x83"},
    {8140, "\xe1\xbf\x83"},
    {8179, "\xe1\xbf\xb3"},
    {8188, "\xe1\xbf\xb3"},
    {8114, "\xe1\xbe\xb2"},
    {8116, "\xe1\xbe\xb4"},
    {8130, "\xe1\xbf\x82"},
    {8132, "\xe1\xbf\x84"},
    {8178, "\xe1\xbf\xb2"},
    {8180, "\xe1\xbf\xb4"},
    {8119, "\xe1\xbe\xb7"},
    {8135, "\xe1\xbf\x87"},
    {8183, "\xe1\xbf\xb7"}
};
const size_t TITLE_SPECIAL_CASING_SIZE = 103;
const SpecialCasingConversionRecord TITLE_SPECIAL_CASING[TITLE_SPECIAL_CASING_SIZE] = {
    {223, "\x53\x73"},
    {304, "\xc4\xb0"},
    {64256, "\x46\x66"},
    {64257, "\x46\x69"},
    {64258, "\x46\x6c"},
    {64259, "\x46\x66\x69"},
    {64260, "\x46\x66\x6c"},
    {64261, "\x53\x74"},
    {64262, "\x53\x74"},
    {1415, "\xd4\xb5\xd6\x82"},
    {64275, "\xd5\x84\xd5\xb6"},
    {64276, "\xd5\x84\xd5\xa5"},
    {64277, "\xd5\x84\xd5\xab"},
    {64278, "\xd5\x8e\xd5\xb6"},
    {64279, "\xd5\x84\xd5\xad"},
    {329, "\xca\xbc\x4e"},
    {912, "\xce\x99\xcc\x88\xcc\x81"},
    {944, "\xce\xa5\xcc\x88\xcc\x81"},
    {496, "\x4a\xcc\x8c"},
    {7830, "\x48\xcc\xb1"},
    {7831, "\x54\xcc\x88"},
    {7832, "\x57\xcc\x8a"},
    {7833, "\x59\xcc\x8a"},
    {7834, "\x41\xca\xbe"},
    {8016, "\xce\xa5\xcc\x93"},
    {8018, "\xce\xa5\xcc\x93\xcc\x80"},
    {8020, "\xce\xa5\xcc\x93\xcc\x81"},
    {8022, "\xce\xa5\xcc\x93\xcd\x82"},
    {8118, "\xce\x91\xcd\x82"},
    {8134, "\xce\x97\xcd\x82"},
    {8146, "\xce\x99\xcc\x88\xcc\x80"},
    {8147, "\xce\x99\xcc\x88\xcc\x81"},
    {8150, "\xce\x99\xcd\x82"},
    {8151, "\xce\x99\xcc\x88\xcd\x82"},
    {8162, "\xce\xa5\xcc\x88\xcc\x80"},
    {8163, "\xce\xa5\xcc\x88\xcc\x81"},
    {8164, "\xce\xa1\xcc\x93"},
    {8166, "\xce\xa5\xcd\x82"},
    {8167, "\xce\xa5\xcc\x88\xcd\x82"},
    {8182, "\xce\xa9\xcd\x82"},
    {8064, "\xe1\xbe\x88"},
    {8065, "\xe1\xbe\x89"},
    {8066, "\xe1\xbe\x8a"},
    {8067, "\xe1\xbe\x8b"},
    {8068, "\xe1\xbe\x8c"},
    {8069, "\xe1\xbe\x8d"},
    {8070, "\xe1\xbe\x8e"},
    {8071, "\xe1\xbe\x8f"},
    {8072, "\xe1\xbe\x88"},
    {8073, "\xe1\xbe\x89"},
    {8074, "\xe1\xbe\x8a"},
    {8075, "\xe1\xbe\x8b"},
    {8076, "\xe1\xbe\x8c"},
    {8077, "\xe1\xbe\x8d"},
    {8078, "\xe1\xbe\x8e"},
    {8079, "\xe1\xbe\x8f"},
    {8080, "\xe1\xbe\x98"},
    {8081, "\xe1\xbe\x99"},
    {8082, "\xe1\xbe\x9a"},
    {8083, "\xe1\xbe\x9b"},
    {8084, "\xe1\xbe\x9c"},
    {8085, "\xe1\xbe\x9d"},
    {8086, "\xe1\xbe\x9e"},
    {8087, "\xe1\xbe\x9f"},
    {8088, "\xe1\xbe\x98"},
    {8089, "\xe1\xbe\x99"},
    {8090, "\xe1\xbe\x9a"},
    {8091, "\xe1\xbe\x9b"},
    {8092, "\xe1\xbe\x9c"},
    {8093, "\xe1\xbe\x9d"},
    {8094, "\xe1\xbe\x9e"},
    {8095, "\xe1\xbe\x9f"},
    {8096, "\xe1\xbe\xa8"},
    {8097, "\xe1\xbe\xa9"},
    {8098, "\xe1\xbe\xaa"},
    {8099, "\xe1\xbe\xab"},
    {8100, "\xe1\xbe\xac"},
    {8101, "\xe1\xbe\xad"},
    {8102, "\xe1\xbe\xae"},
    {8103, "\xe1\xbe\xaf"},
    {8104, "\xe1\xbe\xa8"},
    {8105, "\xe1\xbe\xa9"},
    {8106, "\xe1\xbe\xaa"},
    {8107, "\xe1\xbe\xab"},
    {8108, "\xe1\xbe\xac"},
    {8109, "\xe1\xbe\xad"},
    {8110, "\xe1\xbe\xae"},
    {8111, "\xe1\xbe\xaf"},
    {8115, "\xe1\xbe\xbc"},
    {8124, "\xe1\xbe\xbc"},
    {8131, "\xe1\xbf\x8c"},
    {8140, "\xe1\xbf\x8c"},
    {8179, "\xe1\xbf\xbc"},
    {8188, "\xe1\xbf\xbc"},
    {8114, "\xe1\xbe\xba\xcd\x85"},
    {8116, "\xce\x86\xcd\x85"},
    {8130, "\xe1\xbf\x8a\xcd\x85"},
    {8132, "\xce\x89\xcd\x85"},
    {8178, "\xe1\xbf\xba\xcd\x85"},
    {8180, "\xce\x8f\xcd\x85"},
    {8119, "\xce\x91\xcd\x82\xcd\x85"},
    {8135, "\xce\x97\xcd\x82\xcd\x85"},
    {8183, "\xce\xa9\xcd\x82\xcd\x85"}
};
const size_t UPPER_SPECIAL_CASING_SIZE = 103;
const SpecialCasingConversionRecord UPPER_SPECIAL_CASING[UPPER_SPECIAL_CASING_SIZE] = {
    {223, "\x53\x53"},
    {304, "\xc4\xb0"},
    {64256, "\x46\x46"},
    {64257, "\x46\x49"},
    {64258, "\x46\x4c"},
    {64259, "\x46\x46\x49"},
    {64260, "\x46\x46\x4c"},
    {64261, "\x53\x54"},
    {64262, "\x53\x54"},
    {1415, "\xd4\xb5\xd5\x92"},
    {64275, "\xd5\x84\xd5\x86"},
    {64276, "\xd5\x84\xd4\xb5"},
    {64277, "\xd5\x84\xd4\xbb"},
    {64278, "\xd5\x8e\xd5\x86"},
    {64279, "\xd5\x84\xd4\xbd"},
    {329, "\xca\xbc\x4e"},
    {912, "\xce\x99\xcc\x88\xcc\x81"},
    {944, "\xce\xa5\xcc\x88\xcc\x81"},
    {496, "\x4a\xcc\x8c"},
    {7830, "\x48\xcc\xb1"},
    {7831, "\x54\xcc\x88"},
    {7832, "\x57\xcc\x8a"},
    {7833, "\x59\xcc\x8a"},
    {7834, "\x41\xca\xbe"},
    {8016, "\xce\xa5\xcc\x93"},
    {8018, "\xce\xa5\xcc\x93\xcc\x80"},
    {8020, "\xce\xa5\xcc\x93\xcc\x81"},
    {8022, "\xce\xa5\xcc\x93\xcd\x82"},
    {8118, "\xce\x91\xcd\x82"},
    {8134, "\xce\x97\xcd\x82"},
    {8146, "\xce\x99\xcc\x88\xcc\x80"},
    {8147, "\xce\x99\xcc\x88\xcc\x81"},
    {8150, "\xce\x99\xcd\x82"},
    {8151, "\xce\x99\xcc\x88\xcd\x82"},
    {8162, "\xce\xa5\xcc\x88\xcc\x80"},
    {8163, "\xce\xa5\xcc\x88\xcc\x81"},
    {8164, "\xce\xa1\xcc\x93"},
    {8166, "\xce\xa5\xcd\x82"},
    {8167, "\xce\xa5\xcc\x88\xcd\x82"},
    {8182, "\xce\xa9\xcd\x82"},
    {8064, "\xe1\xbc\x88\xce\x99"},
    {8065, "\xe1\xbc\x89\xce\x99"},
    {8066, "\xe1\xbc\x8a\xce\x99"},
    {8067, "\xe1\xbc\x8b\xce\x99"},
    {8068, "\xe1\xbc\x8c\xce\x99"},
    {8069, "\xe1\xbc\x8d\xce\x99"},
    {8070, "\xe1\xbc\x8e\xce\x99"},
    {8071, "\xe1\xbc\x8f\xce\x99"},
    {8072, "\xe1\xbc\x88\xce\x99"},
    {8073, "\xe1\xbc\x89\xce\x99"},
    {8074, "\xe1\xbc\x8a\xce\x99"},
    {8075, "\xe1\xbc\x8b\xce\x99"},
    {8076, "\xe1\xbc\x8c\xce\x99"},
    {8077, "\xe1\xbc\x8d\xce\x99"},
    {8078, "\xe1\xbc\x8e\xce\x99"},
    {8079, "\xe1\xbc\x8f\xce\x99"},
    {8080, "\xe1\xbc\xa8\xce\x99"},
    {8081, "\xe1\xbc\xa9\xce\x99"},
    {8082, "\xe1\xbc\xaa\xce\x99"},
    {8083, "\xe1\xbc\xab\xce\x99"},
    {8084, "\xe1\xbc\xac\xce\x99"},
    {8085, "\xe1\xbc\xad\xce\x99"},
    {8086, "\xe1\xbc\xae\xce\x99"},
    {8087, "\xe1\xbc\xaf\xce\x99"},
    {8088, "\xe1\xbc\xa8\xce\x99"},
    {8089, "\xe1\xbc\xa9\xce\x99"},
    {8090, "\xe1\xbc\xaa\xce\x99"},
    {8091, "\xe1\xbc\xab\xce\x99"},
    {8092, "\xe1\xbc\xac\xce\x99"},
    {8093, "\xe1\xbc\xad\xce\x99"},
    {8094, "\xe1\xbc\xae\xce\x99"},
    {8095, "\xe1\xbc\xaf\xce\x99"},
    {8096, "\xe1\xbd\xa8\xce\x99"},
    {8097, "\xe1\xbd\xa9\xce\x99"},
    {8098, "\xe1\xbd\xaa\xce\x99"},
    {8099, "\xe1\xbd\xab\xce\x99"},
    {8100, "\xe1\xbd\xac\xce\x99"},
    {8101, "\xe1\xbd\xad\xce\x99"},
    {8102, "\xe1\xbd\xae\xce\x99"},
    {8103, "\xe1\xbd\xaf\xce\x99"},
    {8104, "\xe1\xbd\xa8\xce\x99"},
    {8105, "\xe1\xbd\xa9\xce\x99"},
    {8106, "\xe1\xbd\xaa\xce\x99"},
    {8107, "\xe1\xbd\xab\xce\x99"},
    {8108, "\xe1\xbd\xac\xce\x99"},
    {8109, "\xe1\xbd\xad\xce\x99"},
    {8110, "\xe1\xbd\xae\xce\x99"},
    {8111, "\xe1\xbd\xaf\xce\x99"},
    {8115, "\xce\x91\xce\x99"},
    {8124, "\xce\x91\xce\x99"},
    {8131, "\xce\x97\xce\x99"},
    {8140, "\xce\x97\xce\x99"},
    {8179, "\xce\xa9\xce\x99"},
    {8188, "\xce\xa9\xce\x99"},
    {8114, "\xe1\xbe\xba\xce\x99"},
    {8116, "\xce\x86\xce\x99"},
    {8130, "\xe1\xbf\x8a\xce\x99"},
    {8132, "\xce\x89\xce\x99"},
    {8178, "\xe1\xbf\xba\xce\x99"},
    {8180, "\xce\x8f\xce\x99"},
    {8119, "\xce\x91\xcd\x82\xce\x99"},
    {8135, "\xce\x97\xcd\x82\xce\x99"},
    {8183, "\xce\xa9\xcd\x82\xce\x99"}
};