HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //home/ubuntu/neovim/build/src/nvim/auto/unicode_tables.generated.h
static const struct interval combining[] = {
  {0x0300, 0x036f},
  {0x0483, 0x0489},
  {0x0591, 0x05bd},
  {0x05bf, 0x05bf},
  {0x05c1, 0x05c2},
  {0x05c4, 0x05c5},
  {0x05c7, 0x05c7},
  {0x0610, 0x061a},
  {0x064b, 0x065f},
  {0x0670, 0x0670},
  {0x06d6, 0x06dc},
  {0x06df, 0x06e4},
  {0x06e7, 0x06e8},
  {0x06ea, 0x06ed},
  {0x0711, 0x0711},
  {0x0730, 0x074a},
  {0x07a6, 0x07b0},
  {0x07eb, 0x07f3},
  {0x07fd, 0x07fd},
  {0x0816, 0x0819},
  {0x081b, 0x0823},
  {0x0825, 0x0827},
  {0x0829, 0x082d},
  {0x0859, 0x085b},
  {0x0898, 0x089f},
  {0x08ca, 0x08e1},
  {0x08e3, 0x0902},
  {0x093a, 0x093a},
  {0x093c, 0x093c},
  {0x0941, 0x0948},
  {0x094d, 0x094d},
  {0x0951, 0x0957},
  {0x0962, 0x0963},
  {0x0981, 0x0981},
  {0x09bc, 0x09bc},
  {0x09c1, 0x09c4},
  {0x09cd, 0x09cd},
  {0x09e2, 0x09e3},
  {0x09fe, 0x09fe},
  {0x0a01, 0x0a02},
  {0x0a3c, 0x0a3c},
  {0x0a41, 0x0a42},
  {0x0a47, 0x0a48},
  {0x0a4b, 0x0a4d},
  {0x0a51, 0x0a51},
  {0x0a70, 0x0a71},
  {0x0a75, 0x0a75},
  {0x0a81, 0x0a82},
  {0x0abc, 0x0abc},
  {0x0ac1, 0x0ac5},
  {0x0ac7, 0x0ac8},
  {0x0acd, 0x0acd},
  {0x0ae2, 0x0ae3},
  {0x0afa, 0x0aff},
  {0x0b01, 0x0b01},
  {0x0b3c, 0x0b3c},
  {0x0b3f, 0x0b3f},
  {0x0b41, 0x0b44},
  {0x0b4d, 0x0b4d},
  {0x0b55, 0x0b56},
  {0x0b62, 0x0b63},
  {0x0b82, 0x0b82},
  {0x0bc0, 0x0bc0},
  {0x0bcd, 0x0bcd},
  {0x0c00, 0x0c00},
  {0x0c04, 0x0c04},
  {0x0c3c, 0x0c3c},
  {0x0c3e, 0x0c40},
  {0x0c46, 0x0c48},
  {0x0c4a, 0x0c4d},
  {0x0c55, 0x0c56},
  {0x0c62, 0x0c63},
  {0x0c81, 0x0c81},
  {0x0cbc, 0x0cbc},
  {0x0cbf, 0x0cbf},
  {0x0cc6, 0x0cc6},
  {0x0ccc, 0x0ccd},
  {0x0ce2, 0x0ce3},
  {0x0d00, 0x0d01},
  {0x0d3b, 0x0d3c},
  {0x0d41, 0x0d44},
  {0x0d4d, 0x0d4d},
  {0x0d62, 0x0d63},
  {0x0d81, 0x0d81},
  {0x0dca, 0x0dca},
  {0x0dd2, 0x0dd4},
  {0x0dd6, 0x0dd6},
  {0x0e31, 0x0e31},
  {0x0e34, 0x0e3a},
  {0x0e47, 0x0e4e},
  {0x0eb1, 0x0eb1},
  {0x0eb4, 0x0ebc},
  {0x0ec8, 0x0ece},
  {0x0f18, 0x0f19},
  {0x0f35, 0x0f35},
  {0x0f37, 0x0f37},
  {0x0f39, 0x0f39},
  {0x0f71, 0x0f7e},
  {0x0f80, 0x0f84},
  {0x0f86, 0x0f87},
  {0x0f8d, 0x0f97},
  {0x0f99, 0x0fbc},
  {0x0fc6, 0x0fc6},
  {0x102d, 0x1030},
  {0x1032, 0x1037},
  {0x1039, 0x103a},
  {0x103d, 0x103e},
  {0x1058, 0x1059},
  {0x105e, 0x1060},
  {0x1071, 0x1074},
  {0x1082, 0x1082},
  {0x1085, 0x1086},
  {0x108d, 0x108d},
  {0x109d, 0x109d},
  {0x135d, 0x135f},
  {0x1712, 0x1714},
  {0x1732, 0x1733},
  {0x1752, 0x1753},
  {0x1772, 0x1773},
  {0x17b4, 0x17b5},
  {0x17b7, 0x17bd},
  {0x17c6, 0x17c6},
  {0x17c9, 0x17d3},
  {0x17dd, 0x17dd},
  {0x180b, 0x180d},
  {0x180f, 0x180f},
  {0x1885, 0x1886},
  {0x18a9, 0x18a9},
  {0x1920, 0x1922},
  {0x1927, 0x1928},
  {0x1932, 0x1932},
  {0x1939, 0x193b},
  {0x1a17, 0x1a18},
  {0x1a1b, 0x1a1b},
  {0x1a56, 0x1a56},
  {0x1a58, 0x1a5e},
  {0x1a60, 0x1a60},
  {0x1a62, 0x1a62},
  {0x1a65, 0x1a6c},
  {0x1a73, 0x1a7c},
  {0x1a7f, 0x1a7f},
  {0x1ab0, 0x1ace},
  {0x1b00, 0x1b03},
  {0x1b34, 0x1b34},
  {0x1b36, 0x1b3a},
  {0x1b3c, 0x1b3c},
  {0x1b42, 0x1b42},
  {0x1b6b, 0x1b73},
  {0x1b80, 0x1b81},
  {0x1ba2, 0x1ba5},
  {0x1ba8, 0x1ba9},
  {0x1bab, 0x1bad},
  {0x1be6, 0x1be6},
  {0x1be8, 0x1be9},
  {0x1bed, 0x1bed},
  {0x1bef, 0x1bf1},
  {0x1c2c, 0x1c33},
  {0x1c36, 0x1c37},
  {0x1cd0, 0x1cd2},
  {0x1cd4, 0x1ce0},
  {0x1ce2, 0x1ce8},
  {0x1ced, 0x1ced},
  {0x1cf4, 0x1cf4},
  {0x1cf8, 0x1cf9},
  {0x1dc0, 0x1dff},
  {0x20d0, 0x20f0},
  {0x2cef, 0x2cf1},
  {0x2d7f, 0x2d7f},
  {0x2de0, 0x2dff},
  {0x302a, 0x302d},
  {0x3099, 0x309a},
  {0xa66f, 0xa672},
  {0xa674, 0xa67d},
  {0xa69e, 0xa69f},
  {0xa6f0, 0xa6f1},
  {0xa802, 0xa802},
  {0xa806, 0xa806},
  {0xa80b, 0xa80b},
  {0xa825, 0xa826},
  {0xa82c, 0xa82c},
  {0xa8c4, 0xa8c5},
  {0xa8e0, 0xa8f1},
  {0xa8ff, 0xa8ff},
  {0xa926, 0xa92d},
  {0xa947, 0xa951},
  {0xa980, 0xa982},
  {0xa9b3, 0xa9b3},
  {0xa9b6, 0xa9b9},
  {0xa9bc, 0xa9bd},
  {0xa9e5, 0xa9e5},
  {0xaa29, 0xaa2e},
  {0xaa31, 0xaa32},
  {0xaa35, 0xaa36},
  {0xaa43, 0xaa43},
  {0xaa4c, 0xaa4c},
  {0xaa7c, 0xaa7c},
  {0xaab0, 0xaab0},
  {0xaab2, 0xaab4},
  {0xaab7, 0xaab8},
  {0xaabe, 0xaabf},
  {0xaac1, 0xaac1},
  {0xaaec, 0xaaed},
  {0xaaf6, 0xaaf6},
  {0xabe5, 0xabe5},
  {0xabe8, 0xabe8},
  {0xabed, 0xabed},
  {0xfb1e, 0xfb1e},
  {0xfe00, 0xfe0f},
  {0xfe20, 0xfe2f},
  {0x101fd, 0x101fd},
  {0x102e0, 0x102e0},
  {0x10376, 0x1037a},
  {0x10a01, 0x10a03},
  {0x10a05, 0x10a06},
  {0x10a0c, 0x10a0f},
  {0x10a38, 0x10a3a},
  {0x10a3f, 0x10a3f},
  {0x10ae5, 0x10ae6},
  {0x10d24, 0x10d27},
  {0x10eab, 0x10eac},
  {0x10efd, 0x10eff},
  {0x10f46, 0x10f50},
  {0x10f82, 0x10f85},
  {0x11001, 0x11001},
  {0x11038, 0x11046},
  {0x11070, 0x11070},
  {0x11073, 0x11074},
  {0x1107f, 0x11081},
  {0x110b3, 0x110b6},
  {0x110b9, 0x110ba},
  {0x110c2, 0x110c2},
  {0x11100, 0x11102},
  {0x11127, 0x1112b},
  {0x1112d, 0x11134},
  {0x11173, 0x11173},
  {0x11180, 0x11181},
  {0x111b6, 0x111be},
  {0x111c9, 0x111cc},
  {0x111cf, 0x111cf},
  {0x1122f, 0x11231},
  {0x11234, 0x11234},
  {0x11236, 0x11237},
  {0x1123e, 0x1123e},
  {0x11241, 0x11241},
  {0x112df, 0x112df},
  {0x112e3, 0x112ea},
  {0x11300, 0x11301},
  {0x1133b, 0x1133c},
  {0x11340, 0x11340},
  {0x11366, 0x1136c},
  {0x11370, 0x11374},
  {0x11438, 0x1143f},
  {0x11442, 0x11444},
  {0x11446, 0x11446},
  {0x1145e, 0x1145e},
  {0x114b3, 0x114b8},
  {0x114ba, 0x114ba},
  {0x114bf, 0x114c0},
  {0x114c2, 0x114c3},
  {0x115b2, 0x115b5},
  {0x115bc, 0x115bd},
  {0x115bf, 0x115c0},
  {0x115dc, 0x115dd},
  {0x11633, 0x1163a},
  {0x1163d, 0x1163d},
  {0x1163f, 0x11640},
  {0x116ab, 0x116ab},
  {0x116ad, 0x116ad},
  {0x116b0, 0x116b5},
  {0x116b7, 0x116b7},
  {0x1171d, 0x1171f},
  {0x11722, 0x11725},
  {0x11727, 0x1172b},
  {0x1182f, 0x11837},
  {0x11839, 0x1183a},
  {0x1193b, 0x1193c},
  {0x1193e, 0x1193e},
  {0x11943, 0x11943},
  {0x119d4, 0x119d7},
  {0x119da, 0x119db},
  {0x119e0, 0x119e0},
  {0x11a01, 0x11a0a},
  {0x11a33, 0x11a38},
  {0x11a3b, 0x11a3e},
  {0x11a47, 0x11a47},
  {0x11a51, 0x11a56},
  {0x11a59, 0x11a5b},
  {0x11a8a, 0x11a96},
  {0x11a98, 0x11a99},
  {0x11c30, 0x11c36},
  {0x11c38, 0x11c3d},
  {0x11c3f, 0x11c3f},
  {0x11c92, 0x11ca7},
  {0x11caa, 0x11cb0},
  {0x11cb2, 0x11cb3},
  {0x11cb5, 0x11cb6},
  {0x11d31, 0x11d36},
  {0x11d3a, 0x11d3a},
  {0x11d3c, 0x11d3d},
  {0x11d3f, 0x11d45},
  {0x11d47, 0x11d47},
  {0x11d90, 0x11d91},
  {0x11d95, 0x11d95},
  {0x11d97, 0x11d97},
  {0x11ef3, 0x11ef4},
  {0x11f00, 0x11f01},
  {0x11f36, 0x11f3a},
  {0x11f40, 0x11f40},
  {0x11f42, 0x11f42},
  {0x13440, 0x13440},
  {0x13447, 0x13455},
  {0x16af0, 0x16af4},
  {0x16b30, 0x16b36},
  {0x16f4f, 0x16f4f},
  {0x16f8f, 0x16f92},
  {0x16fe4, 0x16fe4},
  {0x1bc9d, 0x1bc9e},
  {0x1cf00, 0x1cf2d},
  {0x1cf30, 0x1cf46},
  {0x1d167, 0x1d169},
  {0x1d17b, 0x1d182},
  {0x1d185, 0x1d18b},
  {0x1d1aa, 0x1d1ad},
  {0x1d242, 0x1d244},
  {0x1da00, 0x1da36},
  {0x1da3b, 0x1da6c},
  {0x1da75, 0x1da75},
  {0x1da84, 0x1da84},
  {0x1da9b, 0x1da9f},
  {0x1daa1, 0x1daaf},
  {0x1e000, 0x1e006},
  {0x1e008, 0x1e018},
  {0x1e01b, 0x1e021},
  {0x1e023, 0x1e024},
  {0x1e026, 0x1e02a},
  {0x1e08f, 0x1e08f},
  {0x1e130, 0x1e136},
  {0x1e2ae, 0x1e2ae},
  {0x1e2ec, 0x1e2ef},
  {0x1e4ec, 0x1e4ef},
  {0x1e8d0, 0x1e8d6},
  {0x1e944, 0x1e94a},
  {0xe0100, 0xe01ef},
};
static const struct interval doublewidth[] = {
  {0x1100, 0x115f},
  {0x231a, 0x231b},
  {0x2329, 0x232a},
  {0x23e9, 0x23ec},
  {0x23f0, 0x23f0},
  {0x23f3, 0x23f3},
  {0x25fd, 0x25fe},
  {0x2614, 0x2615},
  {0x2648, 0x2653},
  {0x267f, 0x267f},
  {0x2693, 0x2693},
  {0x26a1, 0x26a1},
  {0x26aa, 0x26ab},
  {0x26bd, 0x26be},
  {0x26c4, 0x26c5},
  {0x26ce, 0x26ce},
  {0x26d4, 0x26d4},
  {0x26ea, 0x26ea},
  {0x26f2, 0x26f3},
  {0x26f5, 0x26f5},
  {0x26fa, 0x26fa},
  {0x26fd, 0x26fd},
  {0x2705, 0x2705},
  {0x270a, 0x270b},
  {0x2728, 0x2728},
  {0x274c, 0x274c},
  {0x274e, 0x274e},
  {0x2753, 0x2755},
  {0x2757, 0x2757},
  {0x2795, 0x2797},
  {0x27b0, 0x27b0},
  {0x27bf, 0x27bf},
  {0x2b1b, 0x2b1c},
  {0x2b50, 0x2b50},
  {0x2b55, 0x2b55},
  {0x2e80, 0x2e99},
  {0x2e9b, 0x2ef3},
  {0x2f00, 0x2fd5},
  {0x2ff0, 0x303e},
  {0x3041, 0x3096},
  {0x3099, 0x30ff},
  {0x3105, 0x312f},
  {0x3131, 0x318e},
  {0x3190, 0x31e3},
  {0x31ef, 0x321e},
  {0x3220, 0x3247},
  {0x3250, 0x4dbf},
  {0x4e00, 0xa48c},
  {0xa490, 0xa4c6},
  {0xa960, 0xa97c},
  {0xac00, 0xd7a3},
  {0xf900, 0xfaff},
  {0xfe10, 0xfe19},
  {0xfe30, 0xfe52},
  {0xfe54, 0xfe66},
  {0xfe68, 0xfe6b},
  {0xff01, 0xff60},
  {0xffe0, 0xffe6},
  {0x16fe0, 0x16fe3},
  {0x16ff0, 0x16ff1},
  {0x17000, 0x187f7},
  {0x18800, 0x18cd5},
  {0x18d00, 0x18d08},
  {0x1aff0, 0x1aff3},
  {0x1aff5, 0x1affb},
  {0x1affd, 0x1affe},
  {0x1b000, 0x1b122},
  {0x1b132, 0x1b132},
  {0x1b150, 0x1b152},
  {0x1b155, 0x1b155},
  {0x1b164, 0x1b167},
  {0x1b170, 0x1b2fb},
  {0x1f004, 0x1f004},
  {0x1f0cf, 0x1f0cf},
  {0x1f18e, 0x1f18e},
  {0x1f191, 0x1f19a},
  {0x1f200, 0x1f202},
  {0x1f210, 0x1f23b},
  {0x1f240, 0x1f248},
  {0x1f250, 0x1f251},
  {0x1f260, 0x1f265},
  {0x1f300, 0x1f320},
  {0x1f32d, 0x1f335},
  {0x1f337, 0x1f37c},
  {0x1f37e, 0x1f393},
  {0x1f3a0, 0x1f3ca},
  {0x1f3cf, 0x1f3d3},
  {0x1f3e0, 0x1f3f0},
  {0x1f3f4, 0x1f3f4},
  {0x1f3f8, 0x1f43e},
  {0x1f440, 0x1f440},
  {0x1f442, 0x1f4fc},
  {0x1f4ff, 0x1f53d},
  {0x1f54b, 0x1f54e},
  {0x1f550, 0x1f567},
  {0x1f57a, 0x1f57a},
  {0x1f595, 0x1f596},
  {0x1f5a4, 0x1f5a4},
  {0x1f5fb, 0x1f64f},
  {0x1f680, 0x1f6c5},
  {0x1f6cc, 0x1f6cc},
  {0x1f6d0, 0x1f6d2},
  {0x1f6d5, 0x1f6d7},
  {0x1f6dc, 0x1f6df},
  {0x1f6eb, 0x1f6ec},
  {0x1f6f4, 0x1f6fc},
  {0x1f7e0, 0x1f7eb},
  {0x1f7f0, 0x1f7f0},
  {0x1f90c, 0x1f93a},
  {0x1f93c, 0x1f945},
  {0x1f947, 0x1f9ff},
  {0x1fa70, 0x1fa7c},
  {0x1fa80, 0x1fa88},
  {0x1fa90, 0x1fabd},
  {0x1fabf, 0x1fac5},
  {0x1face, 0x1fadb},
  {0x1fae0, 0x1fae8},
  {0x1faf0, 0x1faf8},
  {0x20000, 0x2fffd},
  {0x30000, 0x3fffd},
};
static const struct interval ambiguous[] = {
  {0x00a1, 0x00a1},
  {0x00a4, 0x00a4},
  {0x00a7, 0x00a8},
  {0x00aa, 0x00aa},
  {0x00ad, 0x00ae},
  {0x00b0, 0x00b4},
  {0x00b6, 0x00ba},
  {0x00bc, 0x00bf},
  {0x00c6, 0x00c6},
  {0x00d0, 0x00d0},
  {0x00d7, 0x00d8},
  {0x00de, 0x00e1},
  {0x00e6, 0x00e6},
  {0x00e8, 0x00ea},
  {0x00ec, 0x00ed},
  {0x00f0, 0x00f0},
  {0x00f2, 0x00f3},
  {0x00f7, 0x00fa},
  {0x00fc, 0x00fc},
  {0x00fe, 0x00fe},
  {0x0101, 0x0101},
  {0x0111, 0x0111},
  {0x0113, 0x0113},
  {0x011b, 0x011b},
  {0x0126, 0x0127},
  {0x012b, 0x012b},
  {0x0131, 0x0133},
  {0x0138, 0x0138},
  {0x013f, 0x0142},
  {0x0144, 0x0144},
  {0x0148, 0x014b},
  {0x014d, 0x014d},
  {0x0152, 0x0153},
  {0x0166, 0x0167},
  {0x016b, 0x016b},
  {0x01ce, 0x01ce},
  {0x01d0, 0x01d0},
  {0x01d2, 0x01d2},
  {0x01d4, 0x01d4},
  {0x01d6, 0x01d6},
  {0x01d8, 0x01d8},
  {0x01da, 0x01da},
  {0x01dc, 0x01dc},
  {0x0251, 0x0251},
  {0x0261, 0x0261},
  {0x02c4, 0x02c4},
  {0x02c7, 0x02c7},
  {0x02c9, 0x02cb},
  {0x02cd, 0x02cd},
  {0x02d0, 0x02d0},
  {0x02d8, 0x02db},
  {0x02dd, 0x02dd},
  {0x02df, 0x02df},
  {0x0300, 0x036f},
  {0x0391, 0x03a1},
  {0x03a3, 0x03a9},
  {0x03b1, 0x03c1},
  {0x03c3, 0x03c9},
  {0x0401, 0x0401},
  {0x0410, 0x044f},
  {0x0451, 0x0451},
  {0x2010, 0x2010},
  {0x2013, 0x2016},
  {0x2018, 0x2019},
  {0x201c, 0x201d},
  {0x2020, 0x2022},
  {0x2024, 0x2027},
  {0x2030, 0x2030},
  {0x2032, 0x2033},
  {0x2035, 0x2035},
  {0x203b, 0x203b},
  {0x203e, 0x203e},
  {0x2074, 0x2074},
  {0x207f, 0x207f},
  {0x2081, 0x2084},
  {0x20ac, 0x20ac},
  {0x2103, 0x2103},
  {0x2105, 0x2105},
  {0x2109, 0x2109},
  {0x2113, 0x2113},
  {0x2116, 0x2116},
  {0x2121, 0x2122},
  {0x2126, 0x2126},
  {0x212b, 0x212b},
  {0x2153, 0x2154},
  {0x215b, 0x215e},
  {0x2160, 0x216b},
  {0x2170, 0x2179},
  {0x2189, 0x2189},
  {0x2190, 0x2199},
  {0x21b8, 0x21b9},
  {0x21d2, 0x21d2},
  {0x21d4, 0x21d4},
  {0x21e7, 0x21e7},
  {0x2200, 0x2200},
  {0x2202, 0x2203},
  {0x2207, 0x2208},
  {0x220b, 0x220b},
  {0x220f, 0x220f},
  {0x2211, 0x2211},
  {0x2215, 0x2215},
  {0x221a, 0x221a},
  {0x221d, 0x2220},
  {0x2223, 0x2223},
  {0x2225, 0x2225},
  {0x2227, 0x222c},
  {0x222e, 0x222e},
  {0x2234, 0x2237},
  {0x223c, 0x223d},
  {0x2248, 0x2248},
  {0x224c, 0x224c},
  {0x2252, 0x2252},
  {0x2260, 0x2261},
  {0x2264, 0x2267},
  {0x226a, 0x226b},
  {0x226e, 0x226f},
  {0x2282, 0x2283},
  {0x2286, 0x2287},
  {0x2295, 0x2295},
  {0x2299, 0x2299},
  {0x22a5, 0x22a5},
  {0x22bf, 0x22bf},
  {0x2312, 0x2312},
  {0x2460, 0x24e9},
  {0x24eb, 0x254b},
  {0x2550, 0x2573},
  {0x2580, 0x258f},
  {0x2592, 0x2595},
  {0x25a0, 0x25a1},
  {0x25a3, 0x25a9},
  {0x25b2, 0x25b3},
  {0x25b6, 0x25b7},
  {0x25bc, 0x25bd},
  {0x25c0, 0x25c1},
  {0x25c6, 0x25c8},
  {0x25cb, 0x25cb},
  {0x25ce, 0x25d1},
  {0x25e2, 0x25e5},
  {0x25ef, 0x25ef},
  {0x2605, 0x2606},
  {0x2609, 0x2609},
  {0x260e, 0x260f},
  {0x261c, 0x261c},
  {0x261e, 0x261e},
  {0x2640, 0x2640},
  {0x2642, 0x2642},
  {0x2660, 0x2661},
  {0x2663, 0x2665},
  {0x2667, 0x266a},
  {0x266c, 0x266d},
  {0x266f, 0x266f},
  {0x269e, 0x269f},
  {0x26bf, 0x26bf},
  {0x26c6, 0x26cd},
  {0x26cf, 0x26d3},
  {0x26d5, 0x26e1},
  {0x26e3, 0x26e3},
  {0x26e8, 0x26e9},
  {0x26eb, 0x26f1},
  {0x26f4, 0x26f4},
  {0x26f6, 0x26f9},
  {0x26fb, 0x26fc},
  {0x26fe, 0x26ff},
  {0x273d, 0x273d},
  {0x2776, 0x277f},
  {0x2b56, 0x2b59},
  {0x3248, 0x324f},
  {0xe000, 0xf8ff},
  {0xfe00, 0xfe0f},
  {0xfffd, 0xfffd},
  {0x1f100, 0x1f10a},
  {0x1f110, 0x1f12d},
  {0x1f130, 0x1f169},
  {0x1f170, 0x1f18d},
  {0x1f18f, 0x1f190},
  {0x1f19b, 0x1f1ac},
  {0xe0100, 0xe01ef},
  {0xf0000, 0xffffd},
  {0x100000, 0x10fffd},
};
static const struct interval emoji_all[] = {
  {0x0023, 0x0023},
  {0x002a, 0x002a},
  {0x0030, 0x0039},
  {0x00a9, 0x00a9},
  {0x00ae, 0x00ae},
  {0x203c, 0x203c},
  {0x2049, 0x2049},
  {0x2122, 0x2122},
  {0x2139, 0x2139},
  {0x2194, 0x2199},
  {0x21a9, 0x21aa},
  {0x231a, 0x231b},
  {0x2328, 0x2328},
  {0x23cf, 0x23cf},
  {0x23e9, 0x23f3},
  {0x23f8, 0x23fa},
  {0x24c2, 0x24c2},
  {0x25aa, 0x25ab},
  {0x25b6, 0x25b6},
  {0x25c0, 0x25c0},
  {0x25fb, 0x25fe},
  {0x2600, 0x2604},
  {0x260e, 0x260e},
  {0x2611, 0x2611},
  {0x2614, 0x2615},
  {0x2618, 0x2618},
  {0x261d, 0x261d},
  {0x2620, 0x2620},
  {0x2622, 0x2623},
  {0x2626, 0x2626},
  {0x262a, 0x262a},
  {0x262e, 0x262f},
  {0x2638, 0x263a},
  {0x2640, 0x2640},
  {0x2642, 0x2642},
  {0x2648, 0x2653},
  {0x265f, 0x2660},
  {0x2663, 0x2663},
  {0x2665, 0x2666},
  {0x2668, 0x2668},
  {0x267b, 0x267b},
  {0x267e, 0x267f},
  {0x2692, 0x2697},
  {0x2699, 0x2699},
  {0x269b, 0x269c},
  {0x26a0, 0x26a1},
  {0x26a7, 0x26a7},
  {0x26aa, 0x26ab},
  {0x26b0, 0x26b1},
  {0x26bd, 0x26be},
  {0x26c4, 0x26c5},
  {0x26c8, 0x26c8},
  {0x26ce, 0x26cf},
  {0x26d1, 0x26d1},
  {0x26d3, 0x26d4},
  {0x26e9, 0x26ea},
  {0x26f0, 0x26f5},
  {0x26f7, 0x26fa},
  {0x26fd, 0x26fd},
  {0x2702, 0x2702},
  {0x2705, 0x2705},
  {0x2708, 0x270d},
  {0x270f, 0x270f},
  {0x2712, 0x2712},
  {0x2714, 0x2714},
  {0x2716, 0x2716},
  {0x271d, 0x271d},
  {0x2721, 0x2721},
  {0x2728, 0x2728},
  {0x2733, 0x2734},
  {0x2744, 0x2744},
  {0x2747, 0x2747},
  {0x274c, 0x274c},
  {0x274e, 0x274e},
  {0x2753, 0x2755},
  {0x2757, 0x2757},
  {0x2763, 0x2764},
  {0x2795, 0x2797},
  {0x27a1, 0x27a1},
  {0x27b0, 0x27b0},
  {0x27bf, 0x27bf},
  {0x2934, 0x2935},
  {0x2b05, 0x2b07},
  {0x2b1b, 0x2b1c},
  {0x2b50, 0x2b50},
  {0x2b55, 0x2b55},
  {0x3030, 0x3030},
  {0x303d, 0x303d},
  {0x3297, 0x3297},
  {0x3299, 0x3299},
  {0x1f004, 0x1f004},
  {0x1f0cf, 0x1f0cf},
  {0x1f170, 0x1f171},
  {0x1f17e, 0x1f17f},
  {0x1f18e, 0x1f18e},
  {0x1f191, 0x1f19a},
  {0x1f1e6, 0x1f1ff},
  {0x1f201, 0x1f202},
  {0x1f21a, 0x1f21a},
  {0x1f22f, 0x1f22f},
  {0x1f232, 0x1f23a},
  {0x1f250, 0x1f251},
  {0x1f300, 0x1f321},
  {0x1f324, 0x1f393},
  {0x1f396, 0x1f397},
  {0x1f399, 0x1f39b},
  {0x1f39e, 0x1f3f0},
  {0x1f3f3, 0x1f3f5},
  {0x1f3f7, 0x1f4fd},
  {0x1f4ff, 0x1f53d},
  {0x1f549, 0x1f54e},
  {0x1f550, 0x1f567},
  {0x1f56f, 0x1f570},
  {0x1f573, 0x1f57a},
  {0x1f587, 0x1f587},
  {0x1f58a, 0x1f58d},
  {0x1f590, 0x1f590},
  {0x1f595, 0x1f596},
  {0x1f5a4, 0x1f5a5},
  {0x1f5a8, 0x1f5a8},
  {0x1f5b1, 0x1f5b2},
  {0x1f5bc, 0x1f5bc},
  {0x1f5c2, 0x1f5c4},
  {0x1f5d1, 0x1f5d3},
  {0x1f5dc, 0x1f5de},
  {0x1f5e1, 0x1f5e1},
  {0x1f5e3, 0x1f5e3},
  {0x1f5e8, 0x1f5e8},
  {0x1f5ef, 0x1f5ef},
  {0x1f5f3, 0x1f5f3},
  {0x1f5fa, 0x1f64f},
  {0x1f680, 0x1f6c5},
  {0x1f6cb, 0x1f6d2},
  {0x1f6d5, 0x1f6d7},
  {0x1f6dc, 0x1f6e5},
  {0x1f6e9, 0x1f6e9},
  {0x1f6eb, 0x1f6ec},
  {0x1f6f0, 0x1f6f0},
  {0x1f6f3, 0x1f6fc},
  {0x1f7e0, 0x1f7eb},
  {0x1f7f0, 0x1f7f0},
  {0x1f90c, 0x1f93a},
  {0x1f93c, 0x1f945},
  {0x1f947, 0x1f9ff},
  {0x1fa70, 0x1fa7c},
  {0x1fa80, 0x1fa88},
  {0x1fa90, 0x1fabd},
  {0x1fabf, 0x1fac5},
  {0x1face, 0x1fadb},
  {0x1fae0, 0x1fae8},
  {0x1faf0, 0x1faf8},
};
static const struct interval emoji_wide[] = {
  {0x1f1e6, 0x1f1ff},
  {0x1f321, 0x1f321},
  {0x1f324, 0x1f32c},
  {0x1f336, 0x1f336},
  {0x1f37d, 0x1f37d},
  {0x1f396, 0x1f397},
  {0x1f399, 0x1f39b},
  {0x1f39e, 0x1f39f},
  {0x1f3cb, 0x1f3ce},
  {0x1f3d4, 0x1f3df},
  {0x1f3f3, 0x1f3f3},
  {0x1f3f5, 0x1f3f5},
  {0x1f3f7, 0x1f3f7},
  {0x1f43f, 0x1f43f},
  {0x1f441, 0x1f441},
  {0x1f4fd, 0x1f4fd},
  {0x1f549, 0x1f54a},
  {0x1f56f, 0x1f570},
  {0x1f573, 0x1f579},
  {0x1f587, 0x1f587},
  {0x1f58a, 0x1f58d},
  {0x1f590, 0x1f590},
  {0x1f5a5, 0x1f5a5},
  {0x1f5a8, 0x1f5a8},
  {0x1f5b1, 0x1f5b2},
  {0x1f5bc, 0x1f5bc},
  {0x1f5c2, 0x1f5c4},
  {0x1f5d1, 0x1f5d3},
  {0x1f5dc, 0x1f5de},
  {0x1f5e1, 0x1f5e1},
  {0x1f5e3, 0x1f5e3},
  {0x1f5e8, 0x1f5e8},
  {0x1f5ef, 0x1f5ef},
  {0x1f5f3, 0x1f5f3},
  {0x1f5fa, 0x1f5fa},
  {0x1f6cb, 0x1f6cb},
  {0x1f6cd, 0x1f6cf},
  {0x1f6e0, 0x1f6e5},
  {0x1f6e9, 0x1f6e9},
  {0x1f6f0, 0x1f6f0},
  {0x1f6f3, 0x1f6f3},
};