[SPIP] ~v3.0.20-->v3.0.25
[lhc/web/clavette_www.git] / www / ecrire / inc / idna_convert.class.php
1 <?php
2
3 // {{{ license
4
5 /* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4 foldmethod=marker: */
6 //
7 // +----------------------------------------------------------------------+
8 // | This library is free software; you can redistribute it and/or modify |
9 // | it under the terms of the GNU Lesser General Public License as |
10 // | published by the Free Software Foundation; either version 2.1 of the |
11 // | License, or (at your option) any later version. |
12 // | |
13 // | This library is distributed in the hope that it will be useful, but |
14 // | WITHOUT ANY WARRANTY; without even the implied warranty of |
15 // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
16 // | Lesser General Public License for more details. |
17 // | |
18 // | You should have received a copy of the GNU Lesser General Public |
19 // | License along with this library; if not, write to the Free Software |
20 // | Foundation, Inc., 51 Franklin St, Boston, MA 02110, United States |
21 // +----------------------------------------------------------------------+
22 //
23 // }}}
24
25 /**
26 * Encode/decode Internationalized Domain Names.
27 *
28 * The class allows to convert internationalized domain names
29 * (see RFC 3490 for details) as they can be used with various registries worldwide
30 * to be translated between their original (localized) form and their encoded form
31 * as it will be used in the DNS (Domain Name System).
32 *
33 * The class provides two public methods, encode() and decode(), which do exactly
34 * what you would expect them to do. You are allowed to use complete domain names,
35 * simple strings and complete email addresses as well. That means, that you might
36 * use any of the following notations:
37 *
38 * - www.nörgler.com
39 * - xn--nrgler-wxa
40 * - xn--brse-5qa.xn--knrz-1ra.info
41 *
42 * Unicode input might be given as either UTF-8 string, UCS-4 string or UCS-4 array.
43 * Unicode output is available in the same formats.
44 * You can select your preferred format via {@link set_paramter()}.
45 *
46 * ACE input and output is always expected to be ASCII.
47 *
48 * @author Matthias Sommerfeld <mso@phlylabs.de>
49 * @copyright 2004-2016 phlyLabs Berlin, http://phlylabs.de
50 * @version 0.9.1 2016-01-06
51 */
52 class idna_convert {
53
54 private $version = '0.9.1';
55 protected $sub_version = 'main';
56
57 // NP See below
58 // Internal settings, do not mess with them
59 protected $_punycode_prefix = 'xn--';
60 protected $_invalid_ucs = 0x80000000;
61 protected $_max_ucs = 0x10FFFF;
62 protected $_base = 36;
63 protected $_tmin = 1;
64 protected $_tmax = 26;
65 protected $_skew = 38;
66 protected $_damp = 700;
67 protected $_initial_bias = 72;
68 protected $_initial_n = 0x80;
69 protected $_sbase = 0xAC00;
70 protected $_lbase = 0x1100;
71 protected $_vbase = 0x1161;
72 protected $_tbase = 0x11A7;
73 protected $_lcount = 19;
74 protected $_vcount = 21;
75 protected $_tcount = 28;
76 protected $_ncount = 588; // _vcount * _tcount
77 protected $_scount = 11172; // _lcount * _tcount * _vcount
78 protected $_error = false;
79 protected static $_mb_string_overload = null;
80 // See {@link set_paramter()} for details of how to change the following
81 // settings from within your script / application
82 protected $_api_encoding = 'utf8'; // Default input charset is UTF-8
83 protected $_allow_overlong = false; // Overlong UTF-8 encodings are forbidden
84 protected $_strict_mode = false; // Behave strict or not
85 protected $_idn_version = 2003; // Can be either 2003 (old, default) or 2008
86
87 /**
88 * the constructor
89 *
90 * @param array $options
91 * @return boolean
92 * @since 0.5.2
93 */
94 public function __construct($options = false)
95 {
96 $this->slast = $this->_sbase + $this->_lcount * $this->_vcount * $this->_tcount;
97 // If parameters are given, pass these to the respective method
98 if (is_array($options)) {
99 $this->set_parameter($options);
100 }
101
102 // populate mbstring overloading cache if not set
103 if (self::$_mb_string_overload === null) {
104 self::$_mb_string_overload = (extension_loaded('mbstring') && (ini_get('mbstring.func_overload') & 0x02) === 0x02);
105 }
106 }
107
108 public function get_version()
109 {
110 return $this->version.'-'.$this->sub_version;
111 }
112
113 /**
114 * Sets a new option value. Available options and values:
115 * [encoding - Use either UTF-8, UCS4 as array or UCS4 as string as input ('utf8' for UTF-8,
116 * 'ucs4_string' and 'ucs4_array' respectively for UCS4); The output is always UTF-8]
117 * [overlong - Unicode does not allow unnecessarily long encodings of chars,
118 * to allow this, set this parameter to true, else to false;
119 * default is false.]
120 * [strict - true: strict mode, good for registration purposes - Causes errors
121 * on failures; false: loose mode, ideal for "wildlife" applications
122 * by silently ignoring errors and returning the original input instead
123 *
124 * @param mixed Parameter to set (string: single parameter; array of Parameter => Value pairs)
125 * @param string Value to use (if parameter 1 is a string)
126 * @return boolean true on success, false otherwise
127 */
128 public function set_parameter($option, $value = false)
129 {
130 if (!is_array($option)) {
131 $option = array($option => $value);
132 }
133 foreach ($option as $k => $v) {
134 switch ($k) {
135 case 'encoding':
136 switch ($v) {
137 case 'utf8':
138 case 'ucs4_string':
139 case 'ucs4_array':
140 $this->_api_encoding = $v;
141 break;
142 default:
143 $this->_error('Set Parameter: Unknown parameter ' . $v . ' for option ' . $k);
144 return false;
145 }
146 break;
147 case 'overlong':
148 $this->_allow_overlong = ($v) ? true : false;
149 break;
150 case 'strict':
151 $this->_strict_mode = ($v) ? true : false;
152 break;
153 case 'idn_version':
154 if (in_array($v, array('2003', '2008'))) {
155 $this->_idn_version = $v;
156 } else {
157 $this->_error('Set Parameter: Unknown parameter ' . $v . ' for option ' . $k);
158 }
159 break;
160 case 'encode_german_sz': // Deprecated
161 if (!$v) {
162 self::$NP['replacemaps'][0xDF] = array(0x73, 0x73);
163 } else {
164 unset(self::$NP['replacemaps'][0xDF]);
165 }
166 break;
167 default:
168 $this->_error('Set Parameter: Unknown option ' . $k);
169 return false;
170 }
171 }
172 return true;
173 }
174
175 /**
176 * Decode a given ACE domain name
177 * @param string Domain name (ACE string)
178 * [@param string Desired output encoding, see {@link set_parameter}]
179 * @return string Decoded Domain name (UTF-8 or UCS-4)
180 */
181 public function decode($input, $one_time_encoding = false)
182 {
183 // Optionally set
184 if ($one_time_encoding) {
185 switch ($one_time_encoding) {
186 case 'utf8':
187 case 'ucs4_string':
188 case 'ucs4_array':
189 break;
190 default:
191 $this->_error('Unknown encoding ' . $one_time_encoding);
192 return false;
193 }
194 }
195 // Make sure to drop any newline characters around
196 $input = trim($input);
197
198 // Negotiate input and try to determine, whether it is a plain string,
199 // an email address or something like a complete URL
200 if (strpos($input, '@')) { // Maybe it is an email address
201 // No no in strict mode
202 if ($this->_strict_mode) {
203 $this->_error('Only simple domain name parts can be handled in strict mode');
204 return false;
205 }
206 list ($email_pref, $input) = explode('@', $input, 2);
207 $arr = explode('.', $input);
208 foreach ($arr as $k => $v) {
209 if (preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $v)) {
210 $conv = $this->_decode($v);
211 if ($conv) {
212 $arr[$k] = $conv;
213 }
214 }
215 }
216 $input = join('.', $arr);
217 $arr = explode('.', $email_pref);
218 foreach ($arr as $k => $v) {
219 if (preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $v)) {
220 $conv = $this->_decode($v);
221 if ($conv) {
222 $arr[$k] = $conv;
223 }
224 }
225 }
226 $email_pref = join('.', $arr);
227 $return = $email_pref . '@' . $input;
228 } elseif (preg_match('![:\./]!', $input)) { // Or a complete domain name (with or without paths / parameters)
229 // No no in strict mode
230 if ($this->_strict_mode) {
231 $this->_error('Only simple domain name parts can be handled in strict mode');
232 return false;
233 }
234 $parsed = parse_url($input);
235 if (isset($parsed['host'])) {
236 $arr = explode('.', $parsed['host']);
237 foreach ($arr as $k => $v) {
238 $conv = $this->_decode($v);
239 if ($conv) {
240 $arr[$k] = $conv;
241 }
242 }
243 $parsed['host'] = join('.', $arr);
244 $return = (empty($parsed['scheme']) ? '' : $parsed['scheme'] . (strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
245 (empty($parsed['user']) ? '' : $parsed['user'] . (empty($parsed['pass']) ? '' : ':' . $parsed['pass']) . '@').
246 $parsed['host'].
247 (empty($parsed['port']) ? '' : ':' . $parsed['port']).
248 (empty($parsed['path']) ? '' : $parsed['path']).
249 (empty($parsed['query']) ? '' : '?' . $parsed['query']).
250 (empty($parsed['fragment']) ? '' : '#' . $parsed['fragment']);
251 } else { // parse_url seems to have failed, try without it
252 $arr = explode('.', $input);
253 foreach ($arr as $k => $v) {
254 $conv = $this->_decode($v);
255 $arr[$k] = ($conv) ? $conv : $v;
256 }
257 $return = join('.', $arr);
258 }
259 } else { // Otherwise we consider it being a pure domain name string
260 $return = $this->_decode($input);
261 if (!$return) {
262 $return = $input;
263 }
264 }
265 // The output is UTF-8 by default, other output formats need conversion here
266 // If one time encoding is given, use this, else the objects property
267 switch (($one_time_encoding) ? $one_time_encoding : $this->_api_encoding) {
268 case 'utf8': return $return; // break;
269 case 'ucs4_string': return $this->_ucs4_to_ucs4_string($this->_utf8_to_ucs4($return)); // break;
270 case 'ucs4_array': return $this->_utf8_to_ucs4($return); // break;
271 default: $this->_error('Unsupported output format'); return false;
272 }
273 }
274
275 /**
276 * Encode a given UTF-8 domain name
277 * @param string Domain name (UTF-8 or UCS-4)
278 * [@param string Desired input encoding, see {@link set_parameter}]
279 * @return string Encoded Domain name (ACE string)
280 */
281 public function encode($decoded, $one_time_encoding = false)
282 {
283 // Forcing conversion of input to UCS4 array
284 // If one time encoding is given, use this, else the objects property
285 switch ($one_time_encoding ? $one_time_encoding : $this->_api_encoding) {
286 case 'utf8':
287 $decoded = $this->_utf8_to_ucs4($decoded);
288 break;
289 case 'ucs4_string':
290 $decoded = $this->_ucs4_string_to_ucs4($decoded);
291 case 'ucs4_array':
292 break;
293 default:
294 $this->_error('Unsupported input format: ' . ($one_time_encoding ? $one_time_encoding : $this->_api_encoding));
295 return false;
296 }
297
298 // No input, no output, what else did you expect?
299 if (empty($decoded)) {
300 return '';
301 }
302
303 // Anchors for iteration
304 $last_begin = 0;
305 // Output string
306 $output = '';
307 foreach ($decoded as $k => $v) {
308 // Make sure to use just the plain dot
309 switch ($v) {
310 case 0x3002:
311 case 0xFF0E:
312 case 0xFF61:
313 $decoded[$k] = 0x2E;
314 // Right, no break here, the above are converted to dots anyway
315 // Stumbling across an anchoring character
316 case 0x2E:
317 case 0x2F:
318 case 0x3A:
319 case 0x3F:
320 case 0x40:
321 // Neither email addresses nor URLs allowed in strict mode
322 if ($this->_strict_mode) {
323 $this->_error('Neither email addresses nor URLs are allowed in strict mode.');
324 return false;
325 } else {
326 // Skip first char
327 if ($k) {
328 $encoded = '';
329 $encoded = $this->_encode(array_slice($decoded, $last_begin, (($k) - $last_begin)));
330 if ($encoded) {
331 $output .= $encoded;
332 } else {
333 $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($k) - $last_begin)));
334 }
335 $output .= chr($decoded[$k]);
336 }
337 $last_begin = $k + 1;
338 }
339 }
340 }
341 // Catch the rest of the string
342 if ($last_begin) {
343 $inp_len = sizeof($decoded);
344 $encoded = '';
345 $encoded = $this->_encode(array_slice($decoded, $last_begin, (($inp_len) - $last_begin)));
346 if ($encoded) {
347 $output .= $encoded;
348 } else {
349 $output .= $this->_ucs4_to_utf8(array_slice($decoded, $last_begin, (($inp_len) - $last_begin)));
350 }
351 return $output;
352 } else {
353 if (false !== ($output = $this->_encode($decoded))) {
354 return $output;
355 } else {
356 return $this->_ucs4_to_utf8($decoded);
357 }
358 }
359 }
360
361 /**
362 * Removes a weakness of encode(), which cannot properly handle URIs but instead encodes their
363 * path or query components, too.
364 * @param string $uri Expects the URI as a UTF-8 (or ASCII) string
365 * @return string The URI encoded to Punycode, everything but the host component is left alone
366 * @since 0.6.4
367 */
368 public function encode_uri($uri)
369 {
370 $parsed = parse_url($uri);
371 if (!isset($parsed['host'])) {
372 $this->_error('The given string does not look like a URI');
373 return false;
374 }
375 $arr = explode('.', $parsed['host']);
376 foreach ($arr as $k => $v) {
377 $conv = $this->encode($v, 'utf8');
378 if ($conv) {
379 $arr[$k] = $conv;
380 }
381 }
382 $parsed['host'] = join('.', $arr);
383 $return = (empty($parsed['scheme']) ? '' : $parsed['scheme'] . (strtolower($parsed['scheme']) == 'mailto' ? ':' : '://')).
384 (empty($parsed['user']) ? '' : $parsed['user'] . (empty($parsed['pass']) ? '' : ':' . $parsed['pass']) . '@').
385 $parsed['host'].
386 (empty($parsed['port']) ? '' : ':' . $parsed['port']).
387 (empty($parsed['path']) ? '' : $parsed['path']).
388 (empty($parsed['query']) ? '' : '?' . $parsed['query']).
389 (empty($parsed['fragment']) ? '' : '#' . $parsed['fragment']);
390 return $return;
391 }
392
393 /**
394 * Use this method to get the last error ocurred
395 * @param void
396 * @return string The last error, that occured
397 */
398 public function get_last_error()
399 {
400 return $this->_error;
401 }
402
403 /**
404 * The actual decoding algorithm
405 * @param string
406 * @return mixed
407 */
408 protected function _decode($encoded)
409 {
410 $decoded = array();
411 // find the Punycode prefix
412 if (!preg_match('!^' . preg_quote($this->_punycode_prefix, '!') . '!', $encoded)) {
413 $this->_error('This is not a punycode string');
414 return false;
415 }
416 $encode_test = preg_replace('!^' . preg_quote($this->_punycode_prefix, '!') . '!', '', $encoded);
417 // If nothing left after removing the prefix, it is hopeless
418 if (!$encode_test) {
419 $this->_error('The given encoded string was empty');
420 return false;
421 }
422 // Find last occurence of the delimiter
423 $delim_pos = strrpos($encoded, '-');
424 if ($delim_pos > self::byteLength($this->_punycode_prefix)) {
425 for ($k = self::byteLength($this->_punycode_prefix); $k < $delim_pos; ++$k) {
426 $decoded[] = ord($encoded{$k});
427 }
428 }
429 $deco_len = count($decoded);
430 $enco_len = self::byteLength($encoded);
431
432 // Wandering through the strings; init
433 $is_first = true;
434 $bias = $this->_initial_bias;
435 $idx = 0;
436 $char = $this->_initial_n;
437
438 for ($enco_idx = ($delim_pos) ? ($delim_pos + 1) : 0; $enco_idx < $enco_len; ++$deco_len) {
439 for ($old_idx = $idx, $w = 1, $k = $this->_base; 1; $k += $this->_base) {
440 $digit = $this->_decode_digit($encoded{$enco_idx++});
441 $idx += $digit * $w;
442 $t = ($k <= $bias) ? $this->_tmin :
443 (($k >= $bias + $this->_tmax) ? $this->_tmax : ($k - $bias));
444 if ($digit < $t) {
445 break;
446 }
447 $w = (int) ($w * ($this->_base - $t));
448 }
449 $bias = $this->_adapt($idx - $old_idx, $deco_len + 1, $is_first);
450 $is_first = false;
451 $char += (int) ($idx / ($deco_len + 1));
452 $idx %= ($deco_len + 1);
453 if ($deco_len > 0) {
454 // Make room for the decoded char
455 for ($i = $deco_len; $i > $idx; $i--) {
456 $decoded[$i] = $decoded[($i - 1)];
457 }
458 }
459 $decoded[$idx++] = $char;
460 }
461 return $this->_ucs4_to_utf8($decoded);
462 }
463
464 /**
465 * The actual encoding algorithm
466 * @param string
467 * @return mixed
468 */
469 protected function _encode($decoded)
470 {
471 // We cannot encode a domain name containing the Punycode prefix
472 $extract = self::byteLength($this->_punycode_prefix);
473 $check_pref = $this->_utf8_to_ucs4($this->_punycode_prefix);
474 $check_deco = array_slice($decoded, 0, $extract);
475
476 if ($check_pref == $check_deco) {
477 $this->_error('This is already a punycode string');
478 return false;
479 }
480 // We will not try to encode strings consisting of basic code points only
481 $encodable = false;
482 foreach ($decoded as $k => $v) {
483 if ($v > 0x7a) {
484 $encodable = true;
485 break;
486 }
487 }
488 if (!$encodable) {
489 $this->_error('The given string does not contain encodable chars');
490 return false;
491 }
492 // Do NAMEPREP
493 $decoded = $this->_nameprep($decoded);
494 if (!$decoded || !is_array($decoded)) {
495 return false; // NAMEPREP failed
496 }
497 $deco_len = count($decoded);
498 if (!$deco_len) {
499 return false; // Empty array
500 }
501 $codecount = 0; // How many chars have been consumed
502 $encoded = '';
503 // Copy all basic code points to output
504 for ($i = 0; $i < $deco_len; ++$i) {
505 $test = $decoded[$i];
506 // Will match [-0-9a-zA-Z]
507 if ((0x2F < $test && $test < 0x40) || (0x40 < $test && $test < 0x5B) || (0x60 < $test && $test <= 0x7B) || (0x2D == $test)) {
508 $encoded .= chr($decoded[$i]);
509 $codecount++;
510 }
511 }
512 if ($codecount == $deco_len) {
513 return $encoded; // All codepoints were basic ones
514 }
515 // Start with the prefix; copy it to output
516 $encoded = $this->_punycode_prefix . $encoded;
517 // If we have basic code points in output, add an hyphen to the end
518 if ($codecount) {
519 $encoded .= '-';
520 }
521 // Now find and encode all non-basic code points
522 $is_first = true;
523 $cur_code = $this->_initial_n;
524 $bias = $this->_initial_bias;
525 $delta = 0;
526 while ($codecount < $deco_len) {
527 // Find the smallest code point >= the current code point and
528 // remember the last ouccrence of it in the input
529 for ($i = 0, $next_code = $this->_max_ucs; $i < $deco_len; $i++) {
530 if ($decoded[$i] >= $cur_code && $decoded[$i] <= $next_code) {
531 $next_code = $decoded[$i];
532 }
533 }
534 $delta += ($next_code - $cur_code) * ($codecount + 1);
535 $cur_code = $next_code;
536
537 // Scan input again and encode all characters whose code point is $cur_code
538 for ($i = 0; $i < $deco_len; $i++) {
539 if ($decoded[$i] < $cur_code) {
540 $delta++;
541 } elseif ($decoded[$i] == $cur_code) {
542 for ($q = $delta, $k = $this->_base; 1; $k += $this->_base) {
543 $t = ($k <= $bias) ? $this->_tmin :
544 (($k >= $bias + $this->_tmax) ? $this->_tmax : $k - $bias);
545 if ($q < $t) {
546 break;
547 }
548 $encoded .= $this->_encode_digit(intval($t + (($q - $t) % ($this->_base - $t)))); //v0.4.5 Changed from ceil() to intval()
549 $q = (int) (($q - $t) / ($this->_base - $t));
550 }
551 $encoded .= $this->_encode_digit($q);
552 $bias = $this->_adapt($delta, $codecount + 1, $is_first);
553 $codecount++;
554 $delta = 0;
555 $is_first = false;
556 }
557 }
558 $delta++;
559 $cur_code++;
560 }
561 return $encoded;
562 }
563
564 /**
565 * Adapt the bias according to the current code point and position
566 * @param int $delta
567 * @param int $npoints
568 * @param int $is_first
569 * @return int
570 */
571 protected function _adapt($delta, $npoints, $is_first)
572 {
573 $delta = intval($is_first ? ($delta / $this->_damp) : ($delta / 2));
574 $delta += intval($delta / $npoints);
575 for ($k = 0; $delta > (($this->_base - $this->_tmin) * $this->_tmax) / 2; $k += $this->_base) {
576 $delta = intval($delta / ($this->_base - $this->_tmin));
577 }
578 return intval($k + ($this->_base - $this->_tmin + 1) * $delta / ($delta + $this->_skew));
579 }
580
581 /**
582 * Encoding a certain digit
583 * @param int $d
584 * @return string
585 */
586 protected function _encode_digit($d)
587 {
588 return chr($d + 22 + 75 * ($d < 26));
589 }
590
591 /**
592 * Decode a certain digit
593 * @param int $cp
594 * @return int
595 */
596 protected function _decode_digit($cp)
597 {
598 $cp = ord($cp);
599 return ($cp - 48 < 10) ? $cp - 22 : (($cp - 65 < 26) ? $cp - 65 : (($cp - 97 < 26) ? $cp - 97 : $this->_base));
600 }
601
602 /**
603 * Internal error handling method
604 * @param string $error
605 */
606 protected function _error($error = '')
607 {
608 $this->_error = $error;
609 }
610
611 /**
612 * Do Nameprep according to RFC3491 and RFC3454
613 * @param array Unicode Characters
614 * @return string Unicode Characters, Nameprep'd
615 */
616 protected function _nameprep($input)
617 {
618 $output = array();
619 //
620 // Mapping
621 // Walking through the input array, performing the required steps on each of
622 // the input chars and putting the result into the output array
623 // While mapping required chars we apply the cannonical ordering
624 foreach ($input as $v) {
625 // Map to nothing == skip that code point
626 if (in_array($v, self::$NP['map_nothing'])) {
627 continue;
628 }
629 // Try to find prohibited input
630 if (in_array($v, self::$NP['prohibit']) || in_array($v, self::$NP['general_prohibited'])) {
631 $this->_error('NAMEPREP: Prohibited input U+' . sprintf('%08X', $v));
632 return false;
633 }
634 foreach (self::$NP['prohibit_ranges'] as $range) {
635 if ($range[0] <= $v && $v <= $range[1]) {
636 $this->_error('NAMEPREP: Prohibited input U+' . sprintf('%08X', $v));
637 return false;
638 }
639 }
640
641 if (0xAC00 <= $v && $v <= 0xD7AF) {
642 // Hangul syllable decomposition
643 foreach ($this->_hangul_decompose($v) as $out) {
644 $output[] = (int) $out;
645 }
646 } elseif (($this->_idn_version == '2003') && isset(self::$NP['replacemaps_2003'][$v])) {
647 foreach ($this->_apply_cannonical_ordering(self::$NP['replacemaps_2003'][$v]) as $out) {
648 $output[] = (int) $out;
649 }
650 } elseif (($this->_idn_version == '2008') && isset(self::$NP['replacemaps'][$v])) {
651 foreach ($this->_apply_cannonical_ordering(self::$NP['replacemaps'][$v]) as $out) {
652 $output[] = (int) $out;
653 }
654 } else {
655 $output[] = (int) $v;
656 }
657 }
658 // Before applying any Combining, try to rearrange any Hangul syllables
659 $output = $this->_hangul_compose($output);
660 //
661 // Combine code points
662 //
663 $last_class = 0;
664 $last_starter = 0;
665 $out_len = count($output);
666 for ($i = 0; $i < $out_len; ++$i) {
667 $class = $this->_get_combining_class($output[$i]);
668 if ((!$last_class || $last_class > $class) && $class) {
669 // Try to match
670 $seq_len = $i - $last_starter;
671 $out = $this->_combine(array_slice($output, $last_starter, $seq_len));
672 // On match: Replace the last starter with the composed character and remove
673 // the now redundant non-starter(s)
674 if ($out) {
675 $output[$last_starter] = $out;
676 if (count($out) != $seq_len) {
677 for ($j = $i + 1; $j < $out_len; ++$j) {
678 $output[$j - 1] = $output[$j];
679 }
680 unset($output[$out_len]);
681 }
682 // Rewind the for loop by one, since there can be more possible compositions
683 $i--;
684 $out_len--;
685 $last_class = ($i == $last_starter) ? 0 : $this->_get_combining_class($output[$i - 1]);
686 continue;
687 }
688 }
689 // The current class is 0
690 if (!$class) {
691 $last_starter = $i;
692 }
693 $last_class = $class;
694 }
695 return $output;
696 }
697
698 /**
699 * Decomposes a Hangul syllable
700 * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
701 * @param integer 32bit UCS4 code point
702 * @return array Either Hangul Syllable decomposed or original 32bit value as one value array
703 */
704 protected function _hangul_decompose($char)
705 {
706 $sindex = (int) $char - $this->_sbase;
707 if ($sindex < 0 || $sindex >= $this->_scount) {
708 return array($char);
709 }
710 $result = array();
711 $result[] = (int) $this->_lbase + $sindex / $this->_ncount;
712 $result[] = (int) $this->_vbase + ($sindex % $this->_ncount) / $this->_tcount;
713 $T = intval($this->_tbase + $sindex % $this->_tcount);
714 if ($T != $this->_tbase) {
715 $result[] = $T;
716 }
717 return $result;
718 }
719
720 /**
721 * Ccomposes a Hangul syllable
722 * (see http://www.unicode.org/unicode/reports/tr15/#Hangul
723 * @param array Decomposed UCS4 sequence
724 * @return array UCS4 sequence with syllables composed
725 */
726 protected function _hangul_compose($input)
727 {
728 $inp_len = count($input);
729 if (!$inp_len) {
730 return array();
731 }
732 $result = array();
733 $last = (int) $input[0];
734 $result[] = $last; // copy first char from input to output
735
736 for ($i = 1; $i < $inp_len; ++$i) {
737 $char = (int) $input[$i];
738 $sindex = $last - $this->_sbase;
739 $lindex = $last - $this->_lbase;
740 $vindex = $char - $this->_vbase;
741 $tindex = $char - $this->_tbase;
742 // Find out, whether two current characters are LV and T
743 if (0 <= $sindex && $sindex < $this->_scount && ($sindex % $this->_tcount == 0) && 0 <= $tindex && $tindex <= $this->_tcount) {
744 // create syllable of form LVT
745 $last += $tindex;
746 $result[(count($result) - 1)] = $last; // reset last
747 continue; // discard char
748 }
749 // Find out, whether two current characters form L and V
750 if (0 <= $lindex && $lindex < $this->_lcount && 0 <= $vindex && $vindex < $this->_vcount) {
751 // create syllable of form LV
752 $last = (int) $this->_sbase + ($lindex * $this->_vcount + $vindex) * $this->_tcount;
753 $result[(count($result) - 1)] = $last; // reset last
754 continue; // discard char
755 }
756 // if neither case was true, just add the character
757 $last = $char;
758 $result[] = $char;
759 }
760 return $result;
761 }
762
763 /**
764 * Returns the combining class of a certain wide char
765 * @param integer Wide char to check (32bit integer)
766 * @return integer Combining class if found, else 0
767 */
768 protected function _get_combining_class($char)
769 {
770 return isset(self::$NP['norm_combcls'][$char]) ? self::$NP['norm_combcls'][$char] : 0;
771 }
772
773 /**
774 * Applies the cannonical ordering of a decomposed UCS4 sequence
775 * @param array Decomposed UCS4 sequence
776 * @return array Ordered USC4 sequence
777 */
778 protected function _apply_cannonical_ordering($input)
779 {
780 $swap = true;
781 $size = count($input);
782 while ($swap) {
783 $swap = false;
784 $last = $this->_get_combining_class(intval($input[0]));
785 for ($i = 0; $i < $size - 1; ++$i) {
786 $next = $this->_get_combining_class(intval($input[$i + 1]));
787 if ($next != 0 && $last > $next) {
788 // Move item leftward until it fits
789 for ($j = $i + 1; $j > 0; --$j) {
790 if ($this->_get_combining_class(intval($input[$j - 1])) <= $next) {
791 break;
792 }
793 $t = intval($input[$j]);
794 $input[$j] = intval($input[$j - 1]);
795 $input[$j - 1] = $t;
796 $swap = true;
797 }
798 // Reentering the loop looking at the old character again
799 $next = $last;
800 }
801 $last = $next;
802 }
803 }
804 return $input;
805 }
806
807 /**
808 * Do composition of a sequence of starter and non-starter
809 * @param array UCS4 Decomposed sequence
810 * @return array Ordered USC4 sequence
811 */
812 protected function _combine($input)
813 {
814 $inp_len = count($input);
815 if (0 == $inp_len) {
816 return false;
817 }
818 foreach (self::$NP['replacemaps'] as $np_src => $np_target) {
819 if ($np_target[0] != $input[0]) {
820 continue;
821 }
822 if (count($np_target) != $inp_len) {
823 continue;
824 }
825 $hit = false;
826 foreach ($input as $k2 => $v2) {
827 if ($v2 == $np_target[$k2]) {
828 $hit = true;
829 } else {
830 $hit = false;
831 break;
832 }
833 }
834 if ($hit) {
835 return $np_src;
836 }
837 }
838 return false;
839 }
840
841 /**
842 * This converts an UTF-8 encoded string to its UCS-4 representation
843 * By talking about UCS-4 "strings" we mean arrays of 32bit integers representing
844 * each of the "chars". This is due to PHP not being able to handle strings with
845 * bit depth different from 8. This apllies to the reverse method _ucs4_to_utf8(), too.
846 * The following UTF-8 encodings are supported:
847 * bytes bits representation
848 * 1 7 0xxxxxxx
849 * 2 11 110xxxxx 10xxxxxx
850 * 3 16 1110xxxx 10xxxxxx 10xxxxxx
851 * 4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
852 * 5 26 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
853 * 6 31 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
854 * Each x represents a bit that can be used to store character data.
855 * The five and six byte sequences are part of Annex D of ISO/IEC 10646-1:2000
856 * @param string $input
857 * @return string
858 */
859 protected function _utf8_to_ucs4($input)
860 {
861 $output = array();
862 $out_len = 0;
863 $inp_len = self::byteLength($input);
864 $mode = 'next';
865 $test = 'none';
866 for ($k = 0; $k < $inp_len; ++$k) {
867 $v = ord($input{$k}); // Extract byte from input string
868 if ($v < 128) { // We found an ASCII char - put into stirng as is
869 $output[$out_len] = $v;
870 ++$out_len;
871 if ('add' == $mode) {
872 $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte ' . $k);
873 return false;
874 }
875 continue;
876 }
877 if ('next' == $mode) { // Try to find the next start byte; determine the width of the Unicode char
878 $start_byte = $v;
879 $mode = 'add';
880 $test = 'range';
881 if ($v >> 5 == 6) { // &110xxxxx 10xxxxx
882 $next_byte = 0; // Tells, how many times subsequent bitmasks must rotate 6bits to the left
883 $v = ($v - 192) << 6;
884 } elseif ($v >> 4 == 14) { // &1110xxxx 10xxxxxx 10xxxxxx
885 $next_byte = 1;
886 $v = ($v - 224) << 12;
887 } elseif ($v >> 3 == 30) { // &11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
888 $next_byte = 2;
889 $v = ($v - 240) << 18;
890 } elseif ($v >> 2 == 62) { // &111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
891 $next_byte = 3;
892 $v = ($v - 248) << 24;
893 } elseif ($v >> 1 == 126) { // &1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
894 $next_byte = 4;
895 $v = ($v - 252) << 30;
896 } else {
897 $this->_error('This might be UTF-8, but I don\'t understand it at byte ' . $k);
898 return false;
899 }
900 if ('add' == $mode) {
901 $output[$out_len] = (int) $v;
902 ++$out_len;
903 continue;
904 }
905 }
906 if ('add' == $mode) {
907 if (!$this->_allow_overlong && $test == 'range') {
908 $test = 'none';
909 if (($v < 0xA0 && $start_byte == 0xE0) || ($v < 0x90 && $start_byte == 0xF0) || ($v > 0x8F && $start_byte == 0xF4)) {
910 $this->_error('Bogus UTF-8 character detected (out of legal range) at byte ' . $k);
911 return false;
912 }
913 }
914 if ($v >> 6 == 2) { // Bit mask must be 10xxxxxx
915 $v = ($v - 128) << ($next_byte * 6);
916 $output[($out_len - 1)] += $v;
917 --$next_byte;
918 } else {
919 $this->_error('Conversion from UTF-8 to UCS-4 failed: malformed input at byte ' . $k);
920 return false;
921 }
922 if ($next_byte < 0) {
923 $mode = 'next';
924 }
925 }
926 } // for
927 return $output;
928 }
929
930 /**
931 * Convert UCS-4 string into UTF-8 string
932 * See _utf8_to_ucs4() for details
933 * @param string $input
934 * @return string
935 */
936 protected function _ucs4_to_utf8($input)
937 {
938 $output = '';
939 foreach ($input as $k => $v) {
940 if ($v < 128) { // 7bit are transferred literally
941 $output .= chr($v);
942 } elseif ($v < (1 << 11)) { // 2 bytes
943 $output .= chr(192 + ($v >> 6)) . chr(128 + ($v & 63));
944 } elseif ($v < (1 << 16)) { // 3 bytes
945 $output .= chr(224 + ($v >> 12)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
946 } elseif ($v < (1 << 21)) { // 4 bytes
947 $output .= chr(240 + ($v >> 18)) . chr(128 + (($v >> 12) & 63)) . chr(128 + (($v >> 6) & 63)) . chr(128 + ($v & 63));
948 } else {
949 $this->_error('Conversion from UCS-4 to UTF-8 failed: malformed input at byte ' . $k);
950 return false;
951 }
952 }
953 return $output;
954 }
955
956 /**
957 * Convert UCS-4 array into UCS-4 string
958 *
959 * @param array $input
960 * @return string
961 */
962 protected function _ucs4_to_ucs4_string($input)
963 {
964 $output = '';
965 // Take array values and split output to 4 bytes per value
966 // The bit mask is 255, which reads &11111111
967 foreach ($input as $v) {
968 $output .= chr(($v >> 24) & 255) . chr(($v >> 16) & 255) . chr(($v >> 8) & 255) . chr($v & 255);
969 }
970 return $output;
971 }
972
973 /**
974 * Convert UCS-4 strin into UCS-4 garray
975 *
976 * @param string $input
977 * @return array
978 */
979 protected function _ucs4_string_to_ucs4($input)
980 {
981 $output = array();
982 $inp_len = self::byteLength($input);
983 // Input length must be dividable by 4
984 if ($inp_len % 4) {
985 $this->_error('Input UCS4 string is broken');
986 return false;
987 }
988 // Empty input - return empty output
989 if (!$inp_len) {
990 return $output;
991 }
992 for ($i = 0, $out_len = -1; $i < $inp_len; ++$i) {
993 // Increment output position every 4 input bytes
994 if (!($i % 4)) {
995 $out_len++;
996 $output[$out_len] = 0;
997 }
998 $output[$out_len] += ord($input{$i}) << (8 * (3 - ($i % 4) ) );
999 }
1000 return $output;
1001 }
1002
1003 /**
1004 * Gets the length of a string in bytes even if mbstring function
1005 * overloading is turned on
1006 *
1007 * @param string $string the string for which to get the length.
1008 * @return integer the length of the string in bytes.
1009 */
1010 protected static function byteLength($string)
1011 {
1012 if (self::$_mb_string_overload) {
1013 return mb_strlen($string, '8bit');
1014 }
1015 return strlen((binary) $string);
1016 }
1017
1018 /**
1019 * Attempts to return a concrete IDNA instance.
1020 *
1021 * @param array $params Set of paramaters
1022 * @return idna_convert
1023 * @access public
1024 */
1025 public function getInstance($params = array())
1026 {
1027 return new idna_convert($params);
1028 }
1029
1030 /**
1031 * Attempts to return a concrete IDNA instance for either php4 or php5,
1032 * only creating a new instance if no IDNA instance with the same
1033 * parameters currently exists.
1034 *
1035 * @param array $params Set of paramaters
1036 *
1037 * @return object idna_convert
1038 * @access public
1039 */
1040 public function singleton($params = array())
1041 {
1042 static $instances = array();
1043
1044 $signature = serialize($params);
1045 if (!isset($instances[$signature])) {
1046 $instances[$signature] = idna_convert::getInstance($params);
1047 }
1048 return $instances[$signature];
1049 }
1050
1051 /**
1052 * Holds all relevant mapping tables
1053 * See RFC3454 for details
1054 *
1055 * @private array
1056 * @since 0.5.2
1057 */
1058 protected static $NP = array(
1059 'map_nothing' => array(0xAD, 0x34F, 0x1806, 0x180B, 0x180C, 0x180D, 0x200B, 0x200C,
1060 0x200D, 0x2060, 0xFE00, 0xFE01, 0xFE02, 0xFE03, 0xFE04, 0xFE05, 0xFE06, 0xFE07,
1061 0xFE08, 0xFE09, 0xFE0A, 0xFE0B, 0xFE0C, 0xFE0D, 0xFE0E, 0xFE0F, 0xFEFF
1062 ),
1063 'general_prohibited' => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
1064 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42,
1065 43, 44, 47, 59, 60, 61, 62, 63, 64, 91, 92, 93, 94, 95, 96, 123, 124, 125, 126, 127, 0x3002
1066 ),
1067 'prohibit' => array(0xA0, 0x340, 0x341, 0x6DD, 0x70F, 0x1680, 0x180E, 0x2000, 0x2001, 0x2002, 0x2003,
1068 0x2004, 0x2005, 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x200B, 0x200C, 0x200D, 0x200E, 0x200F,
1069 0x2028, 0x2029, 0x202A, 0x202B, 0x202C, 0x202D, 0x202E, 0x202F, 0x205F, 0x206A, 0x206B, 0x206C,
1070 0x206D, 0x206E, 0x206F, 0x3000, 0x33C2, 0xFEFF, 0xFFF9, 0xFFFA, 0xFFFB, 0xFFFC, 0xFFFD, 0xFFFE, 0xFFFF,
1071 0x1FFFE, 0x1FFFF, 0x2FFFE, 0x2FFFF, 0x3FFFE, 0x3FFFF, 0x4FFFE, 0x4FFFF, 0x5FFFE, 0x5FFFF, 0x6FFFE,
1072 0x6FFFF, 0x7FFFE, 0x7FFFF, 0x8FFFE, 0x8FFFF, 0x9FFFE, 0x9FFFF, 0xAFFFE, 0xAFFFF, 0xBFFFE, 0xBFFFF,
1073 0xCFFFE, 0xCFFFF, 0xDFFFE, 0xDFFFF, 0xE0001, 0xEFFFE, 0xEFFFF, 0xFFFFE, 0xFFFFF, 0x10FFFE, 0x10FFFF
1074 ),
1075 'prohibit_ranges' => array(array(0x80, 0x9F), array(0x2060, 0x206F), array(0x1D173, 0x1D17A),
1076 array(0xE000, 0xF8FF), array(0xF0000, 0xFFFFD), array(0x100000, 0x10FFFD),
1077 array(0xFDD0, 0xFDEF), array(0xD800, 0xDFFF), array(0x2FF0, 0x2FFB), array(0xE0020, 0xE007F)
1078 ),
1079 'replacemaps_2003' => array(0x41 => array(0x61), 0x42 => array(0x62), 0x43 => array(0x63),
1080 0x44 => array(0x64), 0x45 => array(0x65), 0x46 => array(0x66), 0x47 => array(0x67),
1081 0x48 => array(0x68), 0x49 => array(0x69), 0x4A => array(0x6A), 0x4B => array(0x6B),
1082 0x4C => array(0x6C), 0x4D => array(0x6D), 0x4E => array(0x6E), 0x4F => array(0x6F),
1083 0x50 => array(0x70), 0x51 => array(0x71), 0x52 => array(0x72), 0x53 => array(0x73),
1084 0x54 => array(0x74), 0x55 => array(0x75), 0x56 => array(0x76), 0x57 => array(0x77),
1085 0x58 => array(0x78), 0x59 => array(0x79), 0x5A => array(0x7A), 0xB5 => array(0x3BC),
1086 0xC0 => array(0xE0), 0xC1 => array(0xE1), 0xC2 => array(0xE2), 0xC3 => array(0xE3),
1087 0xC4 => array(0xE4), 0xC5 => array(0xE5), 0xC6 => array(0xE6), 0xC7 => array(0xE7),
1088 0xC8 => array(0xE8), 0xC9 => array(0xE9), 0xCA => array(0xEA), 0xCB => array(0xEB),
1089 0xCC => array(0xEC), 0xCD => array(0xED), 0xCE => array(0xEE), 0xCF => array(0xEF),
1090 0xD0 => array(0xF0), 0xD1 => array(0xF1), 0xD2 => array(0xF2), 0xD3 => array(0xF3),
1091 0xD4 => array(0xF4), 0xD5 => array(0xF5), 0xD6 => array(0xF6), 0xD8 => array(0xF8),
1092 0xD9 => array(0xF9), 0xDA => array(0xFA), 0xDB => array(0xFB), 0xDC => array(0xFC),
1093 0xDD => array(0xFD), 0xDE => array(0xFE), 0xDF => array(0x73, 0x73),
1094 0x100 => array(0x101), 0x102 => array(0x103), 0x104 => array(0x105),
1095 0x106 => array(0x107), 0x108 => array(0x109), 0x10A => array(0x10B),
1096 0x10C => array(0x10D), 0x10E => array(0x10F), 0x110 => array(0x111),
1097 0x112 => array(0x113), 0x114 => array(0x115), 0x116 => array(0x117),
1098 0x118 => array(0x119), 0x11A => array(0x11B), 0x11C => array(0x11D),
1099 0x11E => array(0x11F), 0x120 => array(0x121), 0x122 => array(0x123),
1100 0x124 => array(0x125), 0x126 => array(0x127), 0x128 => array(0x129),
1101 0x12A => array(0x12B), 0x12C => array(0x12D), 0x12E => array(0x12F),
1102 0x130 => array(0x69, 0x307), 0x132 => array(0x133), 0x134 => array(0x135),
1103 0x136 => array(0x137), 0x139 => array(0x13A), 0x13B => array(0x13C),
1104 0x13D => array(0x13E), 0x13F => array(0x140), 0x141 => array(0x142),
1105 0x143 => array(0x144), 0x145 => array(0x146), 0x147 => array(0x148),
1106 0x149 => array(0x2BC, 0x6E), 0x14A => array(0x14B), 0x14C => array(0x14D),
1107 0x14E => array(0x14F), 0x150 => array(0x151), 0x152 => array(0x153),
1108 0x154 => array(0x155), 0x156 => array(0x157), 0x158 => array(0x159),
1109 0x15A => array(0x15B), 0x15C => array(0x15D), 0x15E => array(0x15F),
1110 0x160 => array(0x161), 0x162 => array(0x163), 0x164 => array(0x165),
1111 0x166 => array(0x167), 0x168 => array(0x169), 0x16A => array(0x16B),
1112 0x16C => array(0x16D), 0x16E => array(0x16F), 0x170 => array(0x171),
1113 0x172 => array(0x173), 0x174 => array(0x175), 0x176 => array(0x177),
1114 0x178 => array(0xFF), 0x179 => array(0x17A), 0x17B => array(0x17C),
1115 0x17D => array(0x17E), 0x17F => array(0x73), 0x181 => array(0x253),
1116 0x182 => array(0x183), 0x184 => array(0x185), 0x186 => array(0x254),
1117 0x187 => array(0x188), 0x189 => array(0x256), 0x18A => array(0x257),
1118 0x18B => array(0x18C), 0x18E => array(0x1DD), 0x18F => array(0x259),
1119 0x190 => array(0x25B), 0x191 => array(0x192), 0x193 => array(0x260),
1120 0x194 => array(0x263), 0x196 => array(0x269), 0x197 => array(0x268),
1121 0x198 => array(0x199), 0x19C => array(0x26F), 0x19D => array(0x272),
1122 0x19F => array(0x275), 0x1A0 => array(0x1A1), 0x1A2 => array(0x1A3),
1123 0x1A4 => array(0x1A5), 0x1A6 => array(0x280), 0x1A7 => array(0x1A8),
1124 0x1A9 => array(0x283), 0x1AC => array(0x1AD), 0x1AE => array(0x288),
1125 0x1AF => array(0x1B0), 0x1B1 => array(0x28A), 0x1B2 => array(0x28B),
1126 0x1B3 => array(0x1B4), 0x1B5 => array(0x1B6), 0x1B7 => array(0x292),
1127 0x1B8 => array(0x1B9), 0x1BC => array(0x1BD), 0x1C4 => array(0x1C6),
1128 0x1C5 => array(0x1C6), 0x1C7 => array(0x1C9), 0x1C8 => array(0x1C9),
1129 0x1CA => array(0x1CC), 0x1CB => array(0x1CC), 0x1CD => array(0x1CE),
1130 0x1CF => array(0x1D0), 0x1D1 => array(0x1D2), 0x1D3 => array(0x1D4),
1131 0x1D5 => array(0x1D6), 0x1D7 => array(0x1D8), 0x1D9 => array(0x1DA),
1132 0x1DB => array(0x1DC), 0x1DE => array(0x1DF), 0x1E0 => array(0x1E1),
1133 0x1E2 => array(0x1E3), 0x1E4 => array(0x1E5), 0x1E6 => array(0x1E7),
1134 0x1E8 => array(0x1E9), 0x1EA => array(0x1EB), 0x1EC => array(0x1ED),
1135 0x1EE => array(0x1EF), 0x1F0 => array(0x6A, 0x30C), 0x1F1 => array(0x1F3),
1136 0x1F2 => array(0x1F3), 0x1F4 => array(0x1F5), 0x1F6 => array(0x195),
1137 0x1F7 => array(0x1BF), 0x1F8 => array(0x1F9), 0x1FA => array(0x1FB),
1138 0x1FC => array(0x1FD), 0x1FE => array(0x1FF), 0x200 => array(0x201),
1139 0x202 => array(0x203), 0x204 => array(0x205), 0x206 => array(0x207),
1140 0x208 => array(0x209), 0x20A => array(0x20B), 0x20C => array(0x20D),
1141 0x20E => array(0x20F), 0x210 => array(0x211), 0x212 => array(0x213),
1142 0x214 => array(0x215), 0x216 => array(0x217), 0x218 => array(0x219),
1143 0x21A => array(0x21B), 0x21C => array(0x21D), 0x21E => array(0x21F),
1144 0x220 => array(0x19E), 0x222 => array(0x223), 0x224 => array(0x225),
1145 0x226 => array(0x227), 0x228 => array(0x229), 0x22A => array(0x22B),
1146 0x22C => array(0x22D), 0x22E => array(0x22F), 0x230 => array(0x231),
1147 0x232 => array(0x233), 0x345 => array(0x3B9), 0x37A => array(0x20, 0x3B9),
1148 0x386 => array(0x3AC), 0x388 => array(0x3AD), 0x389 => array(0x3AE),
1149 0x38A => array(0x3AF), 0x38C => array(0x3CC), 0x38E => array(0x3CD),
1150 0x38F => array(0x3CE), 0x390 => array(0x3B9, 0x308, 0x301),
1151 0x391 => array(0x3B1), 0x392 => array(0x3B2), 0x393 => array(0x3B3),
1152 0x394 => array(0x3B4), 0x395 => array(0x3B5), 0x396 => array(0x3B6),
1153 0x397 => array(0x3B7), 0x398 => array(0x3B8), 0x399 => array(0x3B9),
1154 0x39A => array(0x3BA), 0x39B => array(0x3BB), 0x39C => array(0x3BC),
1155 0x39D => array(0x3BD), 0x39E => array(0x3BE), 0x39F => array(0x3BF),
1156 0x3A0 => array(0x3C0), 0x3A1 => array(0x3C1), 0x3A3 => array(0x3C3),
1157 0x3A4 => array(0x3C4), 0x3A5 => array(0x3C5), 0x3A6 => array(0x3C6),
1158 0x3A7 => array(0x3C7), 0x3A8 => array(0x3C8), 0x3A9 => array(0x3C9),
1159 0x3AA => array(0x3CA), 0x3AB => array(0x3CB), 0x3B0 => array(0x3C5, 0x308, 0x301),
1160 0x3C2 => array(0x3C3), 0x3D0 => array(0x3B2), 0x3D1 => array(0x3B8),
1161 0x3D2 => array(0x3C5), 0x3D3 => array(0x3CD), 0x3D4 => array(0x3CB),
1162 0x3D5 => array(0x3C6), 0x3D6 => array(0x3C0), 0x3D8 => array(0x3D9),
1163 0x3DA => array(0x3DB), 0x3DC => array(0x3DD), 0x3DE => array(0x3DF),
1164 0x3E0 => array(0x3E1), 0x3E2 => array(0x3E3), 0x3E4 => array(0x3E5),
1165 0x3E6 => array(0x3E7), 0x3E8 => array(0x3E9), 0x3EA => array(0x3EB),
1166 0x3EC => array(0x3ED), 0x3EE => array(0x3EF), 0x3F0 => array(0x3BA),
1167 0x3F1 => array(0x3C1), 0x3F2 => array(0x3C3), 0x3F4 => array(0x3B8),
1168 0x3F5 => array(0x3B5), 0x400 => array(0x450), 0x401 => array(0x451),
1169 0x402 => array(0x452), 0x403 => array(0x453), 0x404 => array(0x454),
1170 0x405 => array(0x455), 0x406 => array(0x456), 0x407 => array(0x457),
1171 0x408 => array(0x458), 0x409 => array(0x459), 0x40A => array(0x45A),
1172 0x40B => array(0x45B), 0x40C => array(0x45C), 0x40D => array(0x45D),
1173 0x40E => array(0x45E), 0x40F => array(0x45F), 0x410 => array(0x430),
1174 0x411 => array(0x431), 0x412 => array(0x432), 0x413 => array(0x433),
1175 0x414 => array(0x434), 0x415 => array(0x435), 0x416 => array(0x436),
1176 0x417 => array(0x437), 0x418 => array(0x438), 0x419 => array(0x439),
1177 0x41A => array(0x43A), 0x41B => array(0x43B), 0x41C => array(0x43C),
1178 0x41D => array(0x43D), 0x41E => array(0x43E), 0x41F => array(0x43F),
1179 0x420 => array(0x440), 0x421 => array(0x441), 0x422 => array(0x442),
1180 0x423 => array(0x443), 0x424 => array(0x444), 0x425 => array(0x445),
1181 0x426 => array(0x446), 0x427 => array(0x447), 0x428 => array(0x448),
1182 0x429 => array(0x449), 0x42A => array(0x44A), 0x42B => array(0x44B),
1183 0x42C => array(0x44C), 0x42D => array(0x44D), 0x42E => array(0x44E),
1184 0x42F => array(0x44F), 0x460 => array(0x461), 0x462 => array(0x463),
1185 0x464 => array(0x465), 0x466 => array(0x467), 0x468 => array(0x469),
1186 0x46A => array(0x46B), 0x46C => array(0x46D), 0x46E => array(0x46F),
1187 0x470 => array(0x471), 0x472 => array(0x473), 0x474 => array(0x475),
1188 0x476 => array(0x477), 0x478 => array(0x479), 0x47A => array(0x47B),
1189 0x47C => array(0x47D), 0x47E => array(0x47F), 0x480 => array(0x481),
1190 0x48A => array(0x48B), 0x48C => array(0x48D), 0x48E => array(0x48F),
1191 0x490 => array(0x491), 0x492 => array(0x493), 0x494 => array(0x495),
1192 0x496 => array(0x497), 0x498 => array(0x499), 0x49A => array(0x49B),
1193 0x49C => array(0x49D), 0x49E => array(0x49F), 0x4A0 => array(0x4A1),
1194 0x4A2 => array(0x4A3), 0x4A4 => array(0x4A5), 0x4A6 => array(0x4A7),
1195 0x4A8 => array(0x4A9), 0x4AA => array(0x4AB), 0x4AC => array(0x4AD),
1196 0x4AE => array(0x4AF), 0x4B0 => array(0x4B1), 0x4B2 => array(0x4B3),
1197 0x4B4 => array(0x4B5), 0x4B6 => array(0x4B7), 0x4B8 => array(0x4B9),
1198 0x4BA => array(0x4BB), 0x4BC => array(0x4BD), 0x4BE => array(0x4BF),
1199 0x4C1 => array(0x4C2), 0x4C3 => array(0x4C4), 0x4C5 => array(0x4C6),
1200 0x4C7 => array(0x4C8), 0x4C9 => array(0x4CA), 0x4CB => array(0x4CC),
1201 0x4CD => array(0x4CE), 0x4D0 => array(0x4D1), 0x4D2 => array(0x4D3),
1202 0x4D4 => array(0x4D5), 0x4D6 => array(0x4D7), 0x4D8 => array(0x4D9),
1203 0x4DA => array(0x4DB), 0x4DC => array(0x4DD), 0x4DE => array(0x4DF),
1204 0x4E0 => array(0x4E1), 0x4E2 => array(0x4E3), 0x4E4 => array(0x4E5),
1205 0x4E6 => array(0x4E7), 0x4E8 => array(0x4E9), 0x4EA => array(0x4EB),
1206 0x4EC => array(0x4ED), 0x4EE => array(0x4EF), 0x4F0 => array(0x4F1),
1207 0x4F2 => array(0x4F3), 0x4F4 => array(0x4F5), 0x4F8 => array(0x4F9),
1208 0x500 => array(0x501), 0x502 => array(0x503), 0x504 => array(0x505),
1209 0x506 => array(0x507), 0x508 => array(0x509), 0x50A => array(0x50B),
1210 0x50C => array(0x50D), 0x50E => array(0x50F), 0x531 => array(0x561),
1211 0x532 => array(0x562), 0x533 => array(0x563), 0x534 => array(0x564),
1212 0x535 => array(0x565), 0x536 => array(0x566), 0x537 => array(0x567),
1213 0x538 => array(0x568), 0x539 => array(0x569), 0x53A => array(0x56A),
1214 0x53B => array(0x56B), 0x53C => array(0x56C), 0x53D => array(0x56D),
1215 0x53E => array(0x56E), 0x53F => array(0x56F), 0x540 => array(0x570),
1216 0x541 => array(0x571), 0x542 => array(0x572), 0x543 => array(0x573),
1217 0x544 => array(0x574), 0x545 => array(0x575), 0x546 => array(0x576),
1218 0x547 => array(0x577), 0x548 => array(0x578), 0x549 => array(0x579),
1219 0x54A => array(0x57A), 0x54B => array(0x57B), 0x54C => array(0x57C),
1220 0x54D => array(0x57D), 0x54E => array(0x57E), 0x54F => array(0x57F),
1221 0x550 => array(0x580), 0x551 => array(0x581), 0x552 => array(0x582),
1222 0x553 => array(0x583), 0x554 => array(0x584), 0x555 => array(0x585),
1223 0x556 => array(0x586), 0x587 => array(0x565, 0x582), 0xE33 => array(0xE4D, 0xE32),
1224 0x1E00 => array(0x1E01), 0x1E02 => array(0x1E03), 0x1E04 => array(0x1E05),
1225 0x1E06 => array(0x1E07), 0x1E08 => array(0x1E09), 0x1E0A => array(0x1E0B),
1226 0x1E0C => array(0x1E0D), 0x1E0E => array(0x1E0F), 0x1E10 => array(0x1E11),
1227 0x1E12 => array(0x1E13), 0x1E14 => array(0x1E15), 0x1E16 => array(0x1E17),
1228 0x1E18 => array(0x1E19), 0x1E1A => array(0x1E1B), 0x1E1C => array(0x1E1D),
1229 0x1E1E => array(0x1E1F), 0x1E20 => array(0x1E21), 0x1E22 => array(0x1E23),
1230 0x1E24 => array(0x1E25), 0x1E26 => array(0x1E27), 0x1E28 => array(0x1E29),
1231 0x1E2A => array(0x1E2B), 0x1E2C => array(0x1E2D), 0x1E2E => array(0x1E2F),
1232 0x1E30 => array(0x1E31), 0x1E32 => array(0x1E33), 0x1E34 => array(0x1E35),
1233 0x1E36 => array(0x1E37), 0x1E38 => array(0x1E39), 0x1E3A => array(0x1E3B),
1234 0x1E3C => array(0x1E3D), 0x1E3E => array(0x1E3F), 0x1E40 => array(0x1E41),
1235 0x1E42 => array(0x1E43), 0x1E44 => array(0x1E45), 0x1E46 => array(0x1E47),
1236 0x1E48 => array(0x1E49), 0x1E4A => array(0x1E4B), 0x1E4C => array(0x1E4D),
1237 0x1E4E => array(0x1E4F), 0x1E50 => array(0x1E51), 0x1E52 => array(0x1E53),
1238 0x1E54 => array(0x1E55), 0x1E56 => array(0x1E57), 0x1E58 => array(0x1E59),
1239 0x1E5A => array(0x1E5B), 0x1E5C => array(0x1E5D), 0x1E5E => array(0x1E5F),
1240 0x1E60 => array(0x1E61), 0x1E62 => array(0x1E63), 0x1E64 => array(0x1E65),
1241 0x1E66 => array(0x1E67), 0x1E68 => array(0x1E69), 0x1E6A => array(0x1E6B),
1242 0x1E6C => array(0x1E6D), 0x1E6E => array(0x1E6F), 0x1E70 => array(0x1E71),
1243 0x1E72 => array(0x1E73), 0x1E74 => array(0x1E75), 0x1E76 => array(0x1E77),
1244 0x1E78 => array(0x1E79), 0x1E7A => array(0x1E7B), 0x1E7C => array(0x1E7D),
1245 0x1E7E => array(0x1E7F), 0x1E80 => array(0x1E81), 0x1E82 => array(0x1E83),
1246 0x1E84 => array(0x1E85), 0x1E86 => array(0x1E87), 0x1E88 => array(0x1E89),
1247 0x1E8A => array(0x1E8B), 0x1E8C => array(0x1E8D), 0x1E8E => array(0x1E8F),
1248 0x1E90 => array(0x1E91), 0x1E92 => array(0x1E93), 0x1E94 => array(0x1E95),
1249 0x1E96 => array(0x68, 0x331), 0x1E97 => array(0x74, 0x308), 0x1E98 => array(0x77, 0x30A),
1250 0x1E99 => array(0x79, 0x30A), 0x1E9A => array(0x61, 0x2BE), 0x1E9B => array(0x1E61),
1251 0x1EA0 => array(0x1EA1), 0x1EA2 => array(0x1EA3), 0x1EA4 => array(0x1EA5),
1252 0x1EA6 => array(0x1EA7), 0x1EA8 => array(0x1EA9), 0x1EAA => array(0x1EAB),
1253 0x1EAC => array(0x1EAD), 0x1EAE => array(0x1EAF), 0x1EB0 => array(0x1EB1),
1254 0x1EB2 => array(0x1EB3), 0x1EB4 => array(0x1EB5), 0x1EB6 => array(0x1EB7),
1255 0x1EB8 => array(0x1EB9), 0x1EBA => array(0x1EBB), 0x1EBC => array(0x1EBD),
1256 0x1EBE => array(0x1EBF), 0x1EC0 => array(0x1EC1), 0x1EC2 => array(0x1EC3),
1257 0x1EC4 => array(0x1EC5), 0x1EC6 => array(0x1EC7), 0x1EC8 => array(0x1EC9),
1258 0x1ECA => array(0x1ECB), 0x1ECC => array(0x1ECD), 0x1ECE => array(0x1ECF),
1259 0x1ED0 => array(0x1ED1), 0x1ED2 => array(0x1ED3), 0x1ED4 => array(0x1ED5),
1260 0x1ED6 => array(0x1ED7), 0x1ED8 => array(0x1ED9), 0x1EDA => array(0x1EDB),
1261 0x1EDC => array(0x1EDD), 0x1EDE => array(0x1EDF), 0x1EE0 => array(0x1EE1),
1262 0x1EE2 => array(0x1EE3), 0x1EE4 => array(0x1EE5), 0x1EE6 => array(0x1EE7),
1263 0x1EE8 => array(0x1EE9), 0x1EEA => array(0x1EEB), 0x1EEC => array(0x1EED),
1264 0x1EEE => array(0x1EEF), 0x1EF0 => array(0x1EF1), 0x1EF2 => array(0x1EF3),
1265 0x1EF4 => array(0x1EF5), 0x1EF6 => array(0x1EF7), 0x1EF8 => array(0x1EF9),
1266 0x1F08 => array(0x1F00), 0x1F09 => array(0x1F01), 0x1F0A => array(0x1F02),
1267 0x1F0B => array(0x1F03), 0x1F0C => array(0x1F04), 0x1F0D => array(0x1F05),
1268 0x1F0E => array(0x1F06), 0x1F0F => array(0x1F07), 0x1F18 => array(0x1F10),
1269 0x1F19 => array(0x1F11), 0x1F1A => array(0x1F12), 0x1F1B => array(0x1F13),
1270 0x1F1C => array(0x1F14), 0x1F1D => array(0x1F15), 0x1F28 => array(0x1F20),
1271 0x1F29 => array(0x1F21), 0x1F2A => array(0x1F22), 0x1F2B => array(0x1F23),
1272 0x1F2C => array(0x1F24), 0x1F2D => array(0x1F25), 0x1F2E => array(0x1F26),
1273 0x1F2F => array(0x1F27), 0x1F38 => array(0x1F30), 0x1F39 => array(0x1F31),
1274 0x1F3A => array(0x1F32), 0x1F3B => array(0x1F33), 0x1F3C => array(0x1F34),
1275 0x1F3D => array(0x1F35), 0x1F3E => array(0x1F36), 0x1F3F => array(0x1F37),
1276 0x1F48 => array(0x1F40), 0x1F49 => array(0x1F41), 0x1F4A => array(0x1F42),
1277 0x1F4B => array(0x1F43), 0x1F4C => array(0x1F44), 0x1F4D => array(0x1F45),
1278 0x1F50 => array(0x3C5, 0x313), 0x1F52 => array(0x3C5, 0x313, 0x300),
1279 0x1F54 => array(0x3C5, 0x313, 0x301), 0x1F56 => array(0x3C5, 0x313, 0x342),
1280 0x1F59 => array(0x1F51), 0x1F5B => array(0x1F53), 0x1F5D => array(0x1F55),
1281 0x1F5F => array(0x1F57), 0x1F68 => array(0x1F60), 0x1F69 => array(0x1F61),
1282 0x1F6A => array(0x1F62), 0x1F6B => array(0x1F63), 0x1F6C => array(0x1F64),
1283 0x1F6D => array(0x1F65), 0x1F6E => array(0x1F66), 0x1F6F => array(0x1F67),
1284 0x1F80 => array(0x1F00, 0x3B9), 0x1F81 => array(0x1F01, 0x3B9),
1285 0x1F82 => array(0x1F02, 0x3B9), 0x1F83 => array(0x1F03, 0x3B9),
1286 0x1F84 => array(0x1F04, 0x3B9), 0x1F85 => array(0x1F05, 0x3B9),
1287 0x1F86 => array(0x1F06, 0x3B9), 0x1F87 => array(0x1F07, 0x3B9),
1288 0x1F88 => array(0x1F00, 0x3B9), 0x1F89 => array(0x1F01, 0x3B9),
1289 0x1F8A => array(0x1F02, 0x3B9), 0x1F8B => array(0x1F03, 0x3B9),
1290 0x1F8C => array(0x1F04, 0x3B9), 0x1F8D => array(0x1F05, 0x3B9),
1291 0x1F8E => array(0x1F06, 0x3B9), 0x1F8F => array(0x1F07, 0x3B9),
1292 0x1F90 => array(0x1F20, 0x3B9), 0x1F91 => array(0x1F21, 0x3B9),
1293 0x1F92 => array(0x1F22, 0x3B9), 0x1F93 => array(0x1F23, 0x3B9),
1294 0x1F94 => array(0x1F24, 0x3B9), 0x1F95 => array(0x1F25, 0x3B9),
1295 0x1F96 => array(0x1F26, 0x3B9), 0x1F97 => array(0x1F27, 0x3B9),
1296 0x1F98 => array(0x1F20, 0x3B9), 0x1F99 => array(0x1F21, 0x3B9),
1297 0x1F9A => array(0x1F22, 0x3B9), 0x1F9B => array(0x1F23, 0x3B9),
1298 0x1F9C => array(0x1F24, 0x3B9), 0x1F9D => array(0x1F25, 0x3B9),
1299 0x1F9E => array(0x1F26, 0x3B9), 0x1F9F => array(0x1F27, 0x3B9),
1300 0x1FA0 => array(0x1F60, 0x3B9), 0x1FA1 => array(0x1F61, 0x3B9),
1301 0x1FA2 => array(0x1F62, 0x3B9), 0x1FA3 => array(0x1F63, 0x3B9),
1302 0x1FA4 => array(0x1F64, 0x3B9), 0x1FA5 => array(0x1F65, 0x3B9),
1303 0x1FA6 => array(0x1F66, 0x3B9), 0x1FA7 => array(0x1F67, 0x3B9),
1304 0x1FA8 => array(0x1F60, 0x3B9), 0x1FA9 => array(0x1F61, 0x3B9),
1305 0x1FAA => array(0x1F62, 0x3B9), 0x1FAB => array(0x1F63, 0x3B9),
1306 0x1FAC => array(0x1F64, 0x3B9), 0x1FAD => array(0x1F65, 0x3B9),
1307 0x1FAE => array(0x1F66, 0x3B9), 0x1FAF => array(0x1F67, 0x3B9),
1308 0x1FB2 => array(0x1F70, 0x3B9), 0x1FB3 => array(0x3B1, 0x3B9),
1309 0x1FB4 => array(0x3AC, 0x3B9), 0x1FB6 => array(0x3B1, 0x342),
1310 0x1FB7 => array(0x3B1, 0x342, 0x3B9), 0x1FB8 => array(0x1FB0),
1311 0x1FB9 => array(0x1FB1), 0x1FBA => array(0x1F70), 0x1FBB => array(0x1F71),
1312 0x1FBC => array(0x3B1, 0x3B9), 0x1FBE => array(0x3B9),
1313 0x1FC2 => array(0x1F74, 0x3B9), 0x1FC3 => array(0x3B7, 0x3B9),
1314 0x1FC4 => array(0x3AE, 0x3B9), 0x1FC6 => array(0x3B7, 0x342),
1315 0x1FC7 => array(0x3B7, 0x342, 0x3B9), 0x1FC8 => array(0x1F72),
1316 0x1FC9 => array(0x1F73), 0x1FCA => array(0x1F74), 0x1FCB => array(0x1F75),
1317 0x1FCC => array(0x3B7, 0x3B9), 0x1FD2 => array(0x3B9, 0x308, 0x300),
1318 0x1FD3 => array(0x3B9, 0x308, 0x301), 0x1FD6 => array(0x3B9, 0x342),
1319 0x1FD7 => array(0x3B9, 0x308, 0x342), 0x1FD8 => array(0x1FD0),
1320 0x1FD9 => array(0x1FD1), 0x1FDA => array(0x1F76),
1321 0x1FDB => array(0x1F77), 0x1FE2 => array(0x3C5, 0x308, 0x300),
1322 0x1FE3 => array(0x3C5, 0x308, 0x301), 0x1FE4 => array(0x3C1, 0x313),
1323 0x1FE6 => array(0x3C5, 0x342), 0x1FE7 => array(0x3C5, 0x308, 0x342),
1324 0x1FE8 => array(0x1FE0), 0x1FE9 => array(0x1FE1),
1325 0x1FEA => array(0x1F7A), 0x1FEB => array(0x1F7B),
1326 0x1FEC => array(0x1FE5), 0x1FF2 => array(0x1F7C, 0x3B9),
1327 0x1FF3 => array(0x3C9, 0x3B9), 0x1FF4 => array(0x3CE, 0x3B9),
1328 0x1FF6 => array(0x3C9, 0x342), 0x1FF7 => array(0x3C9, 0x342, 0x3B9),
1329 0x1FF8 => array(0x1F78), 0x1FF9 => array(0x1F79), 0x1FFA => array(0x1F7C),
1330 0x1FFB => array(0x1F7D), 0x1FFC => array(0x3C9, 0x3B9),
1331 0x20A8 => array(0x72, 0x73), 0x2102 => array(0x63), 0x2103 => array(0xB0, 0x63),
1332 0x2107 => array(0x25B), 0x2109 => array(0xB0, 0x66), 0x210B => array(0x68),
1333 0x210C => array(0x68), 0x210D => array(0x68), 0x2110 => array(0x69),
1334 0x2111 => array(0x69), 0x2112 => array(0x6C), 0x2115 => array(0x6E),
1335 0x2116 => array(0x6E, 0x6F), 0x2119 => array(0x70), 0x211A => array(0x71),
1336 0x211B => array(0x72), 0x211C => array(0x72), 0x211D => array(0x72),
1337 0x2120 => array(0x73, 0x6D), 0x2121 => array(0x74, 0x65, 0x6C),
1338 0x2122 => array(0x74, 0x6D), 0x2124 => array(0x7A), 0x2126 => array(0x3C9),
1339 0x2128 => array(0x7A), 0x212A => array(0x6B), 0x212B => array(0xE5),
1340 0x212C => array(0x62), 0x212D => array(0x63), 0x2130 => array(0x65),
1341 0x2131 => array(0x66), 0x2133 => array(0x6D), 0x213E => array(0x3B3),
1342 0x213F => array(0x3C0), 0x2145 => array(0x64), 0x2160 => array(0x2170),
1343 0x2161 => array(0x2171), 0x2162 => array(0x2172), 0x2163 => array(0x2173),
1344 0x2164 => array(0x2174), 0x2165 => array(0x2175), 0x2166 => array(0x2176),
1345 0x2167 => array(0x2177), 0x2168 => array(0x2178), 0x2169 => array(0x2179),
1346 0x216A => array(0x217A), 0x216B => array(0x217B), 0x216C => array(0x217C),
1347 0x216D => array(0x217D), 0x216E => array(0x217E), 0x216F => array(0x217F),
1348 0x24B6 => array(0x24D0), 0x24B7 => array(0x24D1), 0x24B8 => array(0x24D2),
1349 0x24B9 => array(0x24D3), 0x24BA => array(0x24D4), 0x24BB => array(0x24D5),
1350 0x24BC => array(0x24D6), 0x24BD => array(0x24D7), 0x24BE => array(0x24D8),
1351 0x24BF => array(0x24D9), 0x24C0 => array(0x24DA), 0x24C1 => array(0x24DB),
1352 0x24C2 => array(0x24DC), 0x24C3 => array(0x24DD), 0x24C4 => array(0x24DE),
1353 0x24C5 => array(0x24DF), 0x24C6 => array(0x24E0), 0x24C7 => array(0x24E1),
1354 0x24C8 => array(0x24E2), 0x24C9 => array(0x24E3), 0x24CA => array(0x24E4),
1355 0x24CB => array(0x24E5), 0x24CC => array(0x24E6), 0x24CD => array(0x24E7),
1356 0x24CE => array(0x24E8), 0x24CF => array(0x24E9), 0x3371 => array(0x68, 0x70, 0x61),
1357 0x3373 => array(0x61, 0x75), 0x3375 => array(0x6F, 0x76),
1358 0x3380 => array(0x70, 0x61), 0x3381 => array(0x6E, 0x61),
1359 0x3382 => array(0x3BC, 0x61), 0x3383 => array(0x6D, 0x61),
1360 0x3384 => array(0x6B, 0x61), 0x3385 => array(0x6B, 0x62),
1361 0x3386 => array(0x6D, 0x62), 0x3387 => array(0x67, 0x62),
1362 0x338A => array(0x70, 0x66), 0x338B => array(0x6E, 0x66),
1363 0x338C => array(0x3BC, 0x66), 0x3390 => array(0x68, 0x7A),
1364 0x3391 => array(0x6B, 0x68, 0x7A), 0x3392 => array(0x6D, 0x68, 0x7A),
1365 0x3393 => array(0x67, 0x68, 0x7A), 0x3394 => array(0x74, 0x68, 0x7A),
1366 0x33A9 => array(0x70, 0x61), 0x33AA => array(0x6B, 0x70, 0x61),
1367 0x33AB => array(0x6D, 0x70, 0x61), 0x33AC => array(0x67, 0x70, 0x61),
1368 0x33B4 => array(0x70, 0x76), 0x33B5 => array(0x6E, 0x76),
1369 0x33B6 => array(0x3BC, 0x76), 0x33B7 => array(0x6D, 0x76),
1370 0x33B8 => array(0x6B, 0x76), 0x33B9 => array(0x6D, 0x76),
1371 0x33BA => array(0x70, 0x77), 0x33BB => array(0x6E, 0x77),
1372 0x33BC => array(0x3BC, 0x77), 0x33BD => array(0x6D, 0x77),
1373 0x33BE => array(0x6B, 0x77), 0x33BF => array(0x6D, 0x77),
1374 0x33C0 => array(0x6B, 0x3C9), 0x33C1 => array(0x6D, 0x3C9), /*
1375 0x33C2 => array(0x61, 0x2E, 0x6D, 0x2E), */
1376 0x33C3 => array(0x62, 0x71), 0x33C6 => array(0x63, 0x2215, 0x6B, 0x67),
1377 0x33C7 => array(0x63, 0x6F, 0x2E), 0x33C8 => array(0x64, 0x62),
1378 0x33C9 => array(0x67, 0x79), 0x33CB => array(0x68, 0x70),
1379 0x33CD => array(0x6B, 0x6B), 0x33CE => array(0x6B, 0x6D),
1380 0x33D7 => array(0x70, 0x68), 0x33D9 => array(0x70, 0x70, 0x6D),
1381 0x33DA => array(0x70, 0x72), 0x33DC => array(0x73, 0x76),
1382 0x33DD => array(0x77, 0x62), 0xFB00 => array(0x66, 0x66),
1383 0xFB01 => array(0x66, 0x69), 0xFB02 => array(0x66, 0x6C),
1384 0xFB03 => array(0x66, 0x66, 0x69), 0xFB04 => array(0x66, 0x66, 0x6C),
1385 0xFB05 => array(0x73, 0x74), 0xFB06 => array(0x73, 0x74),
1386 0xFB13 => array(0x574, 0x576), 0xFB14 => array(0x574, 0x565),
1387 0xFB15 => array(0x574, 0x56B), 0xFB16 => array(0x57E, 0x576),
1388 0xFB17 => array(0x574, 0x56D), 0xFF21 => array(0xFF41),
1389 0xFF22 => array(0xFF42), 0xFF23 => array(0xFF43), 0xFF24 => array(0xFF44),
1390 0xFF25 => array(0xFF45), 0xFF26 => array(0xFF46), 0xFF27 => array(0xFF47),
1391 0xFF28 => array(0xFF48), 0xFF29 => array(0xFF49), 0xFF2A => array(0xFF4A),
1392 0xFF2B => array(0xFF4B), 0xFF2C => array(0xFF4C), 0xFF2D => array(0xFF4D),
1393 0xFF2E => array(0xFF4E), 0xFF2F => array(0xFF4F), 0xFF30 => array(0xFF50),
1394 0xFF31 => array(0xFF51), 0xFF32 => array(0xFF52), 0xFF33 => array(0xFF53),
1395 0xFF34 => array(0xFF54), 0xFF35 => array(0xFF55), 0xFF36 => array(0xFF56),
1396 0xFF37 => array(0xFF57), 0xFF38 => array(0xFF58), 0xFF39 => array(0xFF59),
1397 0xFF3A => array(0xFF5A), 0x10400 => array(0x10428), 0x10401 => array(0x10429),
1398 0x10402 => array(0x1042A), 0x10403 => array(0x1042B), 0x10404 => array(0x1042C),
1399 0x10405 => array(0x1042D), 0x10406 => array(0x1042E), 0x10407 => array(0x1042F),
1400 0x10408 => array(0x10430), 0x10409 => array(0x10431), 0x1040A => array(0x10432),
1401 0x1040B => array(0x10433), 0x1040C => array(0x10434), 0x1040D => array(0x10435),
1402 0x1040E => array(0x10436), 0x1040F => array(0x10437), 0x10410 => array(0x10438),
1403 0x10411 => array(0x10439), 0x10412 => array(0x1043A), 0x10413 => array(0x1043B),
1404 0x10414 => array(0x1043C), 0x10415 => array(0x1043D), 0x10416 => array(0x1043E),
1405 0x10417 => array(0x1043F), 0x10418 => array(0x10440), 0x10419 => array(0x10441),
1406 0x1041A => array(0x10442), 0x1041B => array(0x10443), 0x1041C => array(0x10444),
1407 0x1041D => array(0x10445), 0x1041E => array(0x10446), 0x1041F => array(0x10447),
1408 0x10420 => array(0x10448), 0x10421 => array(0x10449), 0x10422 => array(0x1044A),
1409 0x10423 => array(0x1044B), 0x10424 => array(0x1044C), 0x10425 => array(0x1044D),
1410 0x1D400 => array(0x61), 0x1D401 => array(0x62), 0x1D402 => array(0x63),
1411 0x1D403 => array(0x64), 0x1D404 => array(0x65), 0x1D405 => array(0x66),
1412 0x1D406 => array(0x67), 0x1D407 => array(0x68), 0x1D408 => array(0x69),
1413 0x1D409 => array(0x6A), 0x1D40A => array(0x6B), 0x1D40B => array(0x6C),
1414 0x1D40C => array(0x6D), 0x1D40D => array(0x6E), 0x1D40E => array(0x6F),
1415 0x1D40F => array(0x70), 0x1D410 => array(0x71), 0x1D411 => array(0x72),
1416 0x1D412 => array(0x73), 0x1D413 => array(0x74), 0x1D414 => array(0x75),
1417 0x1D415 => array(0x76), 0x1D416 => array(0x77), 0x1D417 => array(0x78),
1418 0x1D418 => array(0x79), 0x1D419 => array(0x7A), 0x1D434 => array(0x61),
1419 0x1D435 => array(0x62), 0x1D436 => array(0x63), 0x1D437 => array(0x64),
1420 0x1D438 => array(0x65), 0x1D439 => array(0x66), 0x1D43A => array(0x67),
1421 0x1D43B => array(0x68), 0x1D43C => array(0x69), 0x1D43D => array(0x6A),
1422 0x1D43E => array(0x6B), 0x1D43F => array(0x6C), 0x1D440 => array(0x6D),
1423 0x1D441 => array(0x6E), 0x1D442 => array(0x6F), 0x1D443 => array(0x70),
1424 0x1D444 => array(0x71), 0x1D445 => array(0x72), 0x1D446 => array(0x73),
1425 0x1D447 => array(0x74), 0x1D448 => array(0x75), 0x1D449 => array(0x76),
1426 0x1D44A => array(0x77), 0x1D44B => array(0x78), 0x1D44C => array(0x79),
1427 0x1D44D => array(0x7A), 0x1D468 => array(0x61), 0x1D469 => array(0x62),
1428 0x1D46A => array(0x63), 0x1D46B => array(0x64), 0x1D46C => array(0x65),
1429 0x1D46D => array(0x66), 0x1D46E => array(0x67), 0x1D46F => array(0x68),
1430 0x1D470 => array(0x69), 0x1D471 => array(0x6A), 0x1D472 => array(0x6B),
1431 0x1D473 => array(0x6C), 0x1D474 => array(0x6D), 0x1D475 => array(0x6E),
1432 0x1D476 => array(0x6F), 0x1D477 => array(0x70), 0x1D478 => array(0x71),
1433 0x1D479 => array(0x72), 0x1D47A => array(0x73), 0x1D47B => array(0x74),
1434 0x1D47C => array(0x75), 0x1D47D => array(0x76), 0x1D47E => array(0x77),
1435 0x1D47F => array(0x78), 0x1D480 => array(0x79), 0x1D481 => array(0x7A),
1436 0x1D49C => array(0x61), 0x1D49E => array(0x63), 0x1D49F => array(0x64),
1437 0x1D4A2 => array(0x67), 0x1D4A5 => array(0x6A), 0x1D4A6 => array(0x6B),
1438 0x1D4A9 => array(0x6E), 0x1D4AA => array(0x6F), 0x1D4AB => array(0x70),
1439 0x1D4AC => array(0x71), 0x1D4AE => array(0x73), 0x1D4AF => array(0x74),
1440 0x1D4B0 => array(0x75), 0x1D4B1 => array(0x76), 0x1D4B2 => array(0x77),
1441 0x1D4B3 => array(0x78), 0x1D4B4 => array(0x79), 0x1D4B5 => array(0x7A),
1442 0x1D4D0 => array(0x61), 0x1D4D1 => array(0x62), 0x1D4D2 => array(0x63),
1443 0x1D4D3 => array(0x64), 0x1D4D4 => array(0x65), 0x1D4D5 => array(0x66),
1444 0x1D4D6 => array(0x67), 0x1D4D7 => array(0x68), 0x1D4D8 => array(0x69),
1445 0x1D4D9 => array(0x6A), 0x1D4DA => array(0x6B), 0x1D4DB => array(0x6C),
1446 0x1D4DC => array(0x6D), 0x1D4DD => array(0x6E), 0x1D4DE => array(0x6F),
1447 0x1D4DF => array(0x70), 0x1D4E0 => array(0x71), 0x1D4E1 => array(0x72),
1448 0x1D4E2 => array(0x73), 0x1D4E3 => array(0x74), 0x1D4E4 => array(0x75),
1449 0x1D4E5 => array(0x76), 0x1D4E6 => array(0x77), 0x1D4E7 => array(0x78),
1450 0x1D4E8 => array(0x79), 0x1D4E9 => array(0x7A), 0x1D504 => array(0x61),
1451 0x1D505 => array(0x62), 0x1D507 => array(0x64), 0x1D508 => array(0x65),
1452 0x1D509 => array(0x66), 0x1D50A => array(0x67), 0x1D50D => array(0x6A),
1453 0x1D50E => array(0x6B), 0x1D50F => array(0x6C), 0x1D510 => array(0x6D),
1454 0x1D511 => array(0x6E), 0x1D512 => array(0x6F), 0x1D513 => array(0x70),
1455 0x1D514 => array(0x71), 0x1D516 => array(0x73), 0x1D517 => array(0x74),
1456 0x1D518 => array(0x75), 0x1D519 => array(0x76), 0x1D51A => array(0x77),
1457 0x1D51B => array(0x78), 0x1D51C => array(0x79), 0x1D538 => array(0x61),
1458 0x1D539 => array(0x62), 0x1D53B => array(0x64), 0x1D53C => array(0x65),
1459 0x1D53D => array(0x66), 0x1D53E => array(0x67), 0x1D540 => array(0x69),
1460 0x1D541 => array(0x6A), 0x1D542 => array(0x6B), 0x1D543 => array(0x6C),
1461 0x1D544 => array(0x6D), 0x1D546 => array(0x6F), 0x1D54A => array(0x73),
1462 0x1D54B => array(0x74), 0x1D54C => array(0x75), 0x1D54D => array(0x76),
1463 0x1D54E => array(0x77), 0x1D54F => array(0x78), 0x1D550 => array(0x79),
1464 0x1D56C => array(0x61), 0x1D56D => array(0x62), 0x1D56E => array(0x63),
1465 0x1D56F => array(0x64), 0x1D570 => array(0x65), 0x1D571 => array(0x66),
1466 0x1D572 => array(0x67), 0x1D573 => array(0x68), 0x1D574 => array(0x69),
1467 0x1D575 => array(0x6A), 0x1D576 => array(0x6B), 0x1D577 => array(0x6C),
1468 0x1D578 => array(0x6D), 0x1D579 => array(0x6E), 0x1D57A => array(0x6F),
1469 0x1D57B => array(0x70), 0x1D57C => array(0x71), 0x1D57D => array(0x72),
1470 0x1D57E => array(0x73), 0x1D57F => array(0x74), 0x1D580 => array(0x75),
1471 0x1D581 => array(0x76), 0x1D582 => array(0x77), 0x1D583 => array(0x78),
1472 0x1D584 => array(0x79), 0x1D585 => array(0x7A), 0x1D5A0 => array(0x61),
1473 0x1D5A1 => array(0x62), 0x1D5A2 => array(0x63), 0x1D5A3 => array(0x64),
1474 0x1D5A4 => array(0x65), 0x1D5A5 => array(0x66), 0x1D5A6 => array(0x67),
1475 0x1D5A7 => array(0x68), 0x1D5A8 => array(0x69), 0x1D5A9 => array(0x6A),
1476 0x1D5AA => array(0x6B), 0x1D5AB => array(0x6C), 0x1D5AC => array(0x6D),
1477 0x1D5AD => array(0x6E), 0x1D5AE => array(0x6F), 0x1D5AF => array(0x70),
1478 0x1D5B0 => array(0x71), 0x1D5B1 => array(0x72), 0x1D5B2 => array(0x73),
1479 0x1D5B3 => array(0x74), 0x1D5B4 => array(0x75), 0x1D5B5 => array(0x76),
1480 0x1D5B6 => array(0x77), 0x1D5B7 => array(0x78), 0x1D5B8 => array(0x79),
1481 0x1D5B9 => array(0x7A), 0x1D5D4 => array(0x61), 0x1D5D5 => array(0x62),
1482 0x1D5D6 => array(0x63), 0x1D5D7 => array(0x64), 0x1D5D8 => array(0x65),
1483 0x1D5D9 => array(0x66), 0x1D5DA => array(0x67), 0x1D5DB => array(0x68),
1484 0x1D5DC => array(0x69), 0x1D5DD => array(0x6A), 0x1D5DE => array(0x6B),
1485 0x1D5DF => array(0x6C), 0x1D5E0 => array(0x6D), 0x1D5E1 => array(0x6E),
1486 0x1D5E2 => array(0x6F), 0x1D5E3 => array(0x70), 0x1D5E4 => array(0x71),
1487 0x1D5E5 => array(0x72), 0x1D5E6 => array(0x73), 0x1D5E7 => array(0x74),
1488 0x1D5E8 => array(0x75), 0x1D5E9 => array(0x76), 0x1D5EA => array(0x77),
1489 0x1D5EB => array(0x78), 0x1D5EC => array(0x79), 0x1D5ED => array(0x7A),
1490 0x1D608 => array(0x61), 0x1D609 => array(0x62), 0x1D60A => array(0x63),
1491 0x1D60B => array(0x64), 0x1D60C => array(0x65), 0x1D60D => array(0x66),
1492 0x1D60E => array(0x67), 0x1D60F => array(0x68), 0x1D610 => array(0x69),
1493 0x1D611 => array(0x6A), 0x1D612 => array(0x6B), 0x1D613 => array(0x6C),
1494 0x1D614 => array(0x6D), 0x1D615 => array(0x6E), 0x1D616 => array(0x6F),
1495 0x1D617 => array(0x70), 0x1D618 => array(0x71), 0x1D619 => array(0x72),
1496 0x1D61A => array(0x73), 0x1D61B => array(0x74), 0x1D61C => array(0x75),
1497 0x1D61D => array(0x76), 0x1D61E => array(0x77), 0x1D61F => array(0x78),
1498 0x1D620 => array(0x79), 0x1D621 => array(0x7A), 0x1D63C => array(0x61),
1499 0x1D63D => array(0x62), 0x1D63E => array(0x63), 0x1D63F => array(0x64),
1500 0x1D640 => array(0x65), 0x1D641 => array(0x66), 0x1D642 => array(0x67),
1501 0x1D643 => array(0x68), 0x1D644 => array(0x69), 0x1D645 => array(0x6A),
1502 0x1D646 => array(0x6B), 0x1D647 => array(0x6C), 0x1D648 => array(0x6D),
1503 0x1D649 => array(0x6E), 0x1D64A => array(0x6F), 0x1D64B => array(0x70),
1504 0x1D64C => array(0x71), 0x1D64D => array(0x72), 0x1D64E => array(0x73),
1505 0x1D64F => array(0x74), 0x1D650 => array(0x75), 0x1D651 => array(0x76),
1506 0x1D652 => array(0x77), 0x1D653 => array(0x78), 0x1D654 => array(0x79),
1507 0x1D655 => array(0x7A), 0x1D670 => array(0x61), 0x1D671 => array(0x62),
1508 0x1D672 => array(0x63), 0x1D673 => array(0x64), 0x1D674 => array(0x65),
1509 0x1D675 => array(0x66), 0x1D676 => array(0x67), 0x1D677 => array(0x68),
1510 0x1D678 => array(0x69), 0x1D679 => array(0x6A), 0x1D67A => array(0x6B),
1511 0x1D67B => array(0x6C), 0x1D67C => array(0x6D), 0x1D67D => array(0x6E),
1512 0x1D67E => array(0x6F), 0x1D67F => array(0x70), 0x1D680 => array(0x71),
1513 0x1D681 => array(0x72), 0x1D682 => array(0x73), 0x1D683 => array(0x74),
1514 0x1D684 => array(0x75), 0x1D685 => array(0x76), 0x1D686 => array(0x77),
1515 0x1D687 => array(0x78), 0x1D688 => array(0x79), 0x1D689 => array(0x7A),
1516 0x1D6A8 => array(0x3B1), 0x1D6A9 => array(0x3B2), 0x1D6AA => array(0x3B3),
1517 0x1D6AB => array(0x3B4), 0x1D6AC => array(0x3B5), 0x1D6AD => array(0x3B6),
1518 0x1D6AE => array(0x3B7), 0x1D6AF => array(0x3B8), 0x1D6B0 => array(0x3B9),
1519 0x1D6B1 => array(0x3BA), 0x1D6B2 => array(0x3BB), 0x1D6B3 => array(0x3BC),
1520 0x1D6B4 => array(0x3BD), 0x1D6B5 => array(0x3BE), 0x1D6B6 => array(0x3BF),
1521 0x1D6B7 => array(0x3C0), 0x1D6B8 => array(0x3C1), 0x1D6B9 => array(0x3B8),
1522 0x1D6BA => array(0x3C3), 0x1D6BB => array(0x3C4), 0x1D6BC => array(0x3C5),
1523 0x1D6BD => array(0x3C6), 0x1D6BE => array(0x3C7), 0x1D6BF => array(0x3C8),
1524 0x1D6C0 => array(0x3C9), 0x1D6D3 => array(0x3C3), 0x1D6E2 => array(0x3B1),
1525 0x1D6E3 => array(0x3B2), 0x1D6E4 => array(0x3B3), 0x1D6E5 => array(0x3B4),
1526 0x1D6E6 => array(0x3B5), 0x1D6E7 => array(0x3B6), 0x1D6E8 => array(0x3B7),
1527 0x1D6E9 => array(0x3B8), 0x1D6EA => array(0x3B9), 0x1D6EB => array(0x3BA),
1528 0x1D6EC => array(0x3BB), 0x1D6ED => array(0x3BC), 0x1D6EE => array(0x3BD),
1529 0x1D6EF => array(0x3BE), 0x1D6F0 => array(0x3BF), 0x1D6F1 => array(0x3C0),
1530 0x1D6F2 => array(0x3C1), 0x1D6F3 => array(0x3B8), 0x1D6F4 => array(0x3C3),
1531 0x1D6F5 => array(0x3C4), 0x1D6F6 => array(0x3C5), 0x1D6F7 => array(0x3C6),
1532 0x1D6F8 => array(0x3C7), 0x1D6F9 => array(0x3C8), 0x1D6FA => array(0x3C9),
1533 0x1D70D => array(0x3C3), 0x1D71C => array(0x3B1), 0x1D71D => array(0x3B2),
1534 0x1D71E => array(0x3B3), 0x1D71F => array(0x3B4), 0x1D720 => array(0x3B5),
1535 0x1D721 => array(0x3B6), 0x1D722 => array(0x3B7), 0x1D723 => array(0x3B8),
1536 0x1D724 => array(0x3B9), 0x1D725 => array(0x3BA), 0x1D726 => array(0x3BB),
1537 0x1D727 => array(0x3BC), 0x1D728 => array(0x3BD), 0x1D729 => array(0x3BE),
1538 0x1D72A => array(0x3BF), 0x1D72B => array(0x3C0), 0x1D72C => array(0x3C1),
1539 0x1D72D => array(0x3B8), 0x1D72E => array(0x3C3), 0x1D72F => array(0x3C4),
1540 0x1D730 => array(0x3C5), 0x1D731 => array(0x3C6), 0x1D732 => array(0x3C7),
1541 0x1D733 => array(0x3C8), 0x1D734 => array(0x3C9), 0x1D747 => array(0x3C3),
1542 0x1D756 => array(0x3B1), 0x1D757 => array(0x3B2), 0x1D758 => array(0x3B3),
1543 0x1D759 => array(0x3B4), 0x1D75A => array(0x3B5), 0x1D75B => array(0x3B6),
1544 0x1D75C => array(0x3B7), 0x1D75D => array(0x3B8), 0x1D75E => array(0x3B9),
1545 0x1D75F => array(0x3BA), 0x1D760 => array(0x3BB), 0x1D761 => array(0x3BC),
1546 0x1D762 => array(0x3BD), 0x1D763 => array(0x3BE), 0x1D764 => array(0x3BF),
1547 0x1D765 => array(0x3C0), 0x1D766 => array(0x3C1), 0x1D767 => array(0x3B8),
1548 0x1D768 => array(0x3C3), 0x1D769 => array(0x3C4), 0x1D76A => array(0x3C5),
1549 0x1D76B => array(0x3C6), 0x1D76C => array(0x3C7), 0x1D76D => array(0x3C8),
1550 0x1D76E => array(0x3C9), 0x1D781 => array(0x3C3), 0x1D790 => array(0x3B1),
1551 0x1D791 => array(0x3B2), 0x1D792 => array(0x3B3), 0x1D793 => array(0x3B4),
1552 0x1D794 => array(0x3B5), 0x1D795 => array(0x3B6), 0x1D796 => array(0x3B7),
1553 0x1D797 => array(0x3B8), 0x1D798 => array(0x3B9), 0x1D799 => array(0x3BA),
1554 0x1D79A => array(0x3BB), 0x1D79B => array(0x3BC), 0x1D79C => array(0x3BD),
1555 0x1D79D => array(0x3BE), 0x1D79E => array(0x3BF), 0x1D79F => array(0x3C0),
1556 0x1D7A0 => array(0x3C1), 0x1D7A1 => array(0x3B8), 0x1D7A2 => array(0x3C3),
1557 0x1D7A3 => array(0x3C4), 0x1D7A4 => array(0x3C5), 0x1D7A5 => array(0x3C6),
1558 0x1D7A6 => array(0x3C7), 0x1D7A7 => array(0x3C8), 0x1D7A8 => array(0x3C9),
1559 0x1D7BB => array(0x3C3), 0x3F9 => array(0x3C3), 0x1D2C => array(0x61),
1560 0x1D2D => array(0xE6), 0x1D2E => array(0x62), 0x1D30 => array(0x64),
1561 0x1D31 => array(0x65), 0x1D32 => array(0x1DD), 0x1D33 => array(0x67),
1562 0x1D34 => array(0x68), 0x1D35 => array(0x69), 0x1D36 => array(0x6A),
1563 0x1D37 => array(0x6B), 0x1D38 => array(0x6C), 0x1D39 => array(0x6D),
1564 0x1D3A => array(0x6E), 0x1D3C => array(0x6F), 0x1D3D => array(0x223),
1565 0x1D3E => array(0x70), 0x1D3F => array(0x72), 0x1D40 => array(0x74),
1566 0x1D41 => array(0x75), 0x1D42 => array(0x77), 0x213B => array(0x66, 0x61, 0x78),
1567 0x3250 => array(0x70, 0x74, 0x65), 0x32CC => array(0x68, 0x67),
1568 0x32CE => array(0x65, 0x76), 0x32CF => array(0x6C, 0x74, 0x64),
1569 0x337A => array(0x69, 0x75), 0x33DE => array(0x76, 0x2215, 0x6D),
1570 0x33DF => array(0x61, 0x2215, 0x6D)
1571 ),
1572 'replacemaps' => array(0x41 => array(0x61), 0x42 => array(0x62), 0x43 => array(0x63),
1573 0x44 => array(0x64), 0x45 => array(0x65), 0x46 => array(0x66),
1574 0x47 => array(0x67), 0x48 => array(0x68), 0x49 => array(0x69),
1575 0x4A => array(0x6A), 0x4B => array(0x6B), 0x4C => array(0x6C),
1576 0x4D => array(0x6D), 0x4E => array(0x6E), 0x4F => array(0x6F),
1577 0x50 => array(0x70), 0x51 => array(0x71), 0x52 => array(0x72),
1578 0x53 => array(0x73), 0x54 => array(0x74), 0x55 => array(0x75),
1579 0x56 => array(0x76), 0x57 => array(0x77), 0x58 => array(0x78),
1580 0x59 => array(0x79), 0x5A => array(0x7A), 0xAA => array(0x61),
1581 0xB2 => array(0x32), 0xB3 => array(0x33), 0xB5 => array(0x3BC),
1582 0xB9 => array(0x31), 0xBA => array(0x6F), 0xBC => array(0x31, 0x2044, 0x34),
1583 0xBD => array(0x31, 0x2044, 0x32), 0xBE => array(0x33, 0x2044, 0x34), 0xC0 => array(0xE0),
1584 0xC1 => array(0xE1), 0xC2 => array(0xE2), 0xC3 => array(0xE3),
1585 0xC4 => array(0xE4), 0xC5 => array(0xE5), 0xC6 => array(0xE6),
1586 0xC7 => array(0xE7), 0xC8 => array(0xE8), 0xC9 => array(0xE9),
1587 0xCA => array(0xEA), 0xCB => array(0xEB), 0xCC => array(0xEC),
1588 0xCD => array(0xED), 0xCE => array(0xEE), 0xCF => array(0xEF),
1589 0xD0 => array(0xF0), 0xD1 => array(0xF1), 0xD2 => array(0xF2),
1590 0xD3 => array(0xF3), 0xD4 => array(0xF4), 0xD5 => array(0xF5),
1591 0xD6 => array(0xF6), 0xD8 => array(0xF8), 0xD9 => array(0xF9),
1592 0xDA => array(0xFA), 0xDB => array(0xFB), 0xDC => array(0xFC),
1593 0xDD => array(0xFD), 0xDE => array(0xFE), 0x100 => array(0x101),
1594 0x102 => array(0x103), 0x104 => array(0x105), 0x106 => array(0x107),
1595 0x108 => array(0x109), 0x10A => array(0x10B), 0x10C => array(0x10D),
1596 0x10E => array(0x10F), 0x110 => array(0x111), 0x112 => array(0x113),
1597 0x114 => array(0x115), 0x116 => array(0x117), 0x118 => array(0x119),
1598 0x11A => array(0x11B), 0x11C => array(0x11D), 0x11E => array(0x11F),
1599 0x120 => array(0x121), 0x122 => array(0x123), 0x124 => array(0x125),
1600 0x126 => array(0x127), 0x128 => array(0x129), 0x12A => array(0x12B),
1601 0x12C => array(0x12D), 0x12E => array(0x12F), 0x130 => array(0x69, 0x307),
1602 0x132 => array(0x69, 0x6A), 0x133 => array(0x69, 0x6A), 0x134 => array(0x135),
1603 0x136 => array(0x137), 0x139 => array(0x13A), 0x13B => array(0x13C),
1604 0x13D => array(0x13E), 0x13F => array(0x6C, 0xB7), 0x140 => array(0x6C, 0xB7),
1605 0x141 => array(0x142), 0x143 => array(0x144), 0x145 => array(0x146),
1606 0x147 => array(0x148), 0x149 => array(0x2BC, 0x6E), 0x14A => array(0x14B),
1607 0x14C => array(0x14D), 0x14E => array(0x14F), 0x150 => array(0x151),
1608 0x152 => array(0x153), 0x154 => array(0x155), 0x156 => array(0x157),
1609 0x158 => array(0x159), 0x15A => array(0x15B), 0x15C => array(0x15D),
1610 0x15E => array(0x15F), 0x160 => array(0x161), 0x162 => array(0x163),
1611 0x164 => array(0x165), 0x166 => array(0x167), 0x168 => array(0x169),
1612 0x16A => array(0x16B), 0x16C => array(0x16D), 0x16E => array(0x16F),
1613 0x170 => array(0x171), 0x172 => array(0x173), 0x174 => array(0x175),
1614 0x176 => array(0x177), 0x178 => array(0xFF), 0x179 => array(0x17A),
1615 0x17B => array(0x17C), 0x17D => array(0x17E), 0x17F => array(0x73),
1616 0x181 => array(0x253), 0x182 => array(0x183), 0x184 => array(0x185),
1617 0x186 => array(0x254), 0x187 => array(0x188), 0x189 => array(0x256),
1618 0x18A => array(0x257), 0x18B => array(0x18C), 0x18E => array(0x1DD),
1619 0x18F => array(0x259), 0x190 => array(0x25B), 0x191 => array(0x192),
1620 0x193 => array(0x260), 0x194 => array(0x263), 0x196 => array(0x269),
1621 0x197 => array(0x268), 0x198 => array(0x199), 0x19C => array(0x26F),
1622 0x19D => array(0x272), 0x19F => array(0x275), 0x1A0 => array(0x1A1),
1623 0x1A2 => array(0x1A3), 0x1A4 => array(0x1A5), 0x1A6 => array(0x280),
1624 0x1A7 => array(0x1A8), 0x1A9 => array(0x283), 0x1AC => array(0x1AD),
1625 0x1AE => array(0x288), 0x1AF => array(0x1B0), 0x1B1 => array(0x28A),
1626 0x1B2 => array(0x28B), 0x1B3 => array(0x1B4), 0x1B5 => array(0x1B6),
1627 0x1B7 => array(0x292), 0x1B8 => array(0x1B9), 0x1BC => array(0x1BD),
1628 0x1C4 => array(0x64, 0x17E), 0x1C5 => array(0x64, 0x17E), 0x1C6 => array(0x64, 0x17E),
1629 0x1C7 => array(0x6C, 0x6A), 0x1C8 => array(0x6C, 0x6A), 0x1C9 => array(0x6C, 0x6A),
1630 0x1CA => array(0x6E, 0x6A), 0x1CB => array(0x6E, 0x6A), 0x1CC => array(0x6E, 0x6A),
1631 0x1CD => array(0x1CE), 0x1CF => array(0x1D0), 0x1D1 => array(0x1D2),
1632 0x1D3 => array(0x1D4), 0x1D5 => array(0x1D6), 0x1D7 => array(0x1D8),
1633 0x1D9 => array(0x1DA), 0x1DB => array(0x1DC), 0x1DE => array(0x1DF),
1634 0x1E0 => array(0x1E1), 0x1E2 => array(0x1E3), 0x1E4 => array(0x1E5),
1635 0x1E6 => array(0x1E7), 0x1E8 => array(0x1E9), 0x1EA => array(0x1EB),
1636 0x1EC => array(0x1ED), 0x1EE => array(0x1EF), 0x1F1 => array(0x64, 0x7A),
1637 0x1F2 => array(0x64, 0x7A), 0x1F3 => array(0x64, 0x7A), 0x1F4 => array(0x1F5),
1638 0x1F6 => array(0x195), 0x1F7 => array(0x1BF), 0x1F8 => array(0x1F9),
1639 0x1FA => array(0x1FB), 0x1FC => array(0x1FD), 0x1FE => array(0x1FF),
1640 0x200 => array(0x201), 0x202 => array(0x203), 0x204 => array(0x205),
1641 0x206 => array(0x207), 0x208 => array(0x209), 0x20A => array(0x20B),
1642 0x20C => array(0x20D), 0x20E => array(0x20F), 0x210 => array(0x211),
1643 0x212 => array(0x213), 0x214 => array(0x215), 0x216 => array(0x217),
1644 0x218 => array(0x219), 0x21A => array(0x21B), 0x21C => array(0x21D),
1645 0x21E => array(0x21F), 0x220 => array(0x19E), 0x222 => array(0x223),
1646 0x224 => array(0x225), 0x226 => array(0x227), 0x228 => array(0x229),
1647 0x22A => array(0x22B), 0x22C => array(0x22D), 0x22E => array(0x22F),
1648 0x230 => array(0x231), 0x232 => array(0x233), 0x23A => array(0x2C65),
1649 0x23B => array(0x23C), 0x23D => array(0x19A), 0x23E => array(0x2C66),
1650 0x241 => array(0x242), 0x243 => array(0x180), 0x244 => array(0x289),
1651 0x245 => array(0x28C), 0x246 => array(0x247), 0x248 => array(0x249),
1652 0x24A => array(0x24B), 0x24C => array(0x24D), 0x24E => array(0x24F),
1653 0x2B0 => array(0x68), 0x2B1 => array(0x266), 0x2B2 => array(0x6A),
1654 0x2B3 => array(0x72), 0x2B4 => array(0x279), 0x2B5 => array(0x27B),
1655 0x2B6 => array(0x281), 0x2B7 => array(0x77), 0x2B8 => array(0x79),
1656 0x2E0 => array(0x263), 0x2E1 => array(0x6C), 0x2E2 => array(0x73),
1657 0x2E3 => array(0x78), 0x2E4 => array(0x295), 0x340 => array(0x300),
1658 0x341 => array(0x301), 0x343 => array(0x313), 0x344 => array(0x308, 0x301),
1659 0x345 => array(0x3B9), 0x370 => array(0x371), 0x372 => array(0x373),
1660 0x374 => array(0x2B9), 0x376 => array(0x377), 0x37F => array(0x3F3),
1661 0x386 => array(0x3AC), 0x387 => array(0xB7), 0x388 => array(0x3AD),
1662 0x389 => array(0x3AE), 0x38A => array(0x3AF), 0x38C => array(0x3CC),
1663 0x38E => array(0x3CD), 0x38F => array(0x3CE), 0x391 => array(0x3B1),
1664 0x392 => array(0x3B2), 0x393 => array(0x3B3), 0x394 => array(0x3B4),
1665 0x395 => array(0x3B5), 0x396 => array(0x3B6), 0x397 => array(0x3B7),
1666 0x398 => array(0x3B8), 0x399 => array(0x3B9), 0x39A => array(0x3BA),
1667 0x39B => array(0x3BB), 0x39C => array(0x3BC), 0x39D => array(0x3BD),
1668 0x39E => array(0x3BE), 0x39F => array(0x3BF), 0x3A0 => array(0x3C0),
1669 0x3A1 => array(0x3C1), 0x3A3 => array(0x3C3), 0x3A4 => array(0x3C4),
1670 0x3A5 => array(0x3C5), 0x3A6 => array(0x3C6), 0x3A7 => array(0x3C7),
1671 0x3A8 => array(0x3C8), 0x3A9 => array(0x3C9), 0x3AA => array(0x3CA),
1672 0x3AB => array(0x3CB), 0x3CF => array(0x3D7), 0x3D0 => array(0x3B2),
1673 0x3D1 => array(0x3B8), 0x3D2 => array(0x3C5), 0x3D3 => array(0x3CD),
1674 0x3D4 => array(0x3CB), 0x3D5 => array(0x3C6), 0x3D6 => array(0x3C0),
1675 0x3D8 => array(0x3D9), 0x3DA => array(0x3DB), 0x3DC => array(0x3DD),
1676 0x3DE => array(0x3DF), 0x3E0 => array(0x3E1), 0x3E2 => array(0x3E3),
1677 0x3E4 => array(0x3E5), 0x3E6 => array(0x3E7), 0x3E8 => array(0x3E9),
1678 0x3EA => array(0x3EB), 0x3EC => array(0x3ED), 0x3EE => array(0x3EF),
1679 0x3F0 => array(0x3BA), 0x3F1 => array(0x3C1), 0x3F2 => array(0x3C3),
1680 0x3F4 => array(0x3B8), 0x3F5 => array(0x3B5), 0x3F7 => array(0x3F8),
1681 0x3F9 => array(0x3C3), 0x3FA => array(0x3FB), 0x3FD => array(0x37B),
1682 0x3FE => array(0x37C), 0x3FF => array(0x37D), 0x400 => array(0x450),
1683 0x401 => array(0x451), 0x402 => array(0x452), 0x403 => array(0x453),
1684 0x404 => array(0x454), 0x405 => array(0x455), 0x406 => array(0x456),
1685 0x407 => array(0x457), 0x408 => array(0x458), 0x409 => array(0x459),
1686 0x40A => array(0x45A), 0x40B => array(0x45B), 0x40C => array(0x45C),
1687 0x40D => array(0x45D), 0x40E => array(0x45E), 0x40F => array(0x45F),
1688 0x410 => array(0x430), 0x411 => array(0x431), 0x412 => array(0x432),
1689 0x413 => array(0x433), 0x414 => array(0x434), 0x415 => array(0x435),
1690 0x416 => array(0x436), 0x417 => array(0x437), 0x418 => array(0x438),
1691 0x419 => array(0x439), 0x41A => array(0x43A), 0x41B => array(0x43B),
1692 0x41C => array(0x43C), 0x41D => array(0x43D), 0x41E => array(0x43E),
1693 0x41F => array(0x43F), 0x420 => array(0x440), 0x421 => array(0x441),
1694 0x422 => array(0x442), 0x423 => array(0x443), 0x424 => array(0x444),
1695 0x425 => array(0x445), 0x426 => array(0x446), 0x427 => array(0x447),
1696 0x428 => array(0x448), 0x429 => array(0x449), 0x42A => array(0x44A),
1697 0x42B => array(0x44B), 0x42C => array(0x44C), 0x42D => array(0x44D),
1698 0x42E => array(0x44E), 0x42F => array(0x44F), 0x460 => array(0x461),
1699 0x462 => array(0x463), 0x464 => array(0x465), 0x466 => array(0x467),
1700 0x468 => array(0x469), 0x46A => array(0x46B), 0x46C => array(0x46D),
1701 0x46E => array(0x46F), 0x470 => array(0x471), 0x472 => array(0x473),
1702 0x474 => array(0x475), 0x476 => array(0x477), 0x478 => array(0x479),
1703 0x47A => array(0x47B), 0x47C => array(0x47D), 0x47E => array(0x47F),
1704 0x480 => array(0x481), 0x48A => array(0x48B), 0x48C => array(0x48D),
1705 0x48E => array(0x48F), 0x490 => array(0x491), 0x492 => array(0x493),
1706 0x494 => array(0x495), 0x496 => array(0x497), 0x498 => array(0x499),
1707 0x49A => array(0x49B), 0x49C => array(0x49D), 0x49E => array(0x49F),
1708 0x4A0 => array(0x4A1), 0x4A2 => array(0x4A3), 0x4A4 => array(0x4A5),
1709 0x4A6 => array(0x4A7), 0x4A8 => array(0x4A9), 0x4AA => array(0x4AB),
1710 0x4AC => array(0x4AD), 0x4AE => array(0x4AF), 0x4B0 => array(0x4B1),
1711 0x4B2 => array(0x4B3), 0x4B4 => array(0x4B5), 0x4B6 => array(0x4B7),
1712 0x4B8 => array(0x4B9), 0x4BA => array(0x4BB), 0x4BC => array(0x4BD),
1713 0x4BE => array(0x4BF), 0x4C1 => array(0x4C2), 0x4C3 => array(0x4C4),
1714 0x4C5 => array(0x4C6), 0x4C7 => array(0x4C8), 0x4C9 => array(0x4CA),
1715 0x4CB => array(0x4CC), 0x4CD => array(0x4CE), 0x4D0 => array(0x4D1),
1716 0x4D2 => array(0x4D3), 0x4D4 => array(0x4D5), 0x4D6 => array(0x4D7),
1717 0x4D8 => array(0x4D9), 0x4DA => array(0x4DB), 0x4DC => array(0x4DD),
1718 0x4DE => array(0x4DF), 0x4E0 => array(0x4E1), 0x4E2 => array(0x4E3),
1719 0x4E4 => array(0x4E5), 0x4E6 => array(0x4E7), 0x4E8 => array(0x4E9),
1720 0x4EA => array(0x4EB), 0x4EC => array(0x4ED), 0x4EE => array(0x4EF),
1721 0x4F0 => array(0x4F1), 0x4F2 => array(0x4F3), 0x4F4 => array(0x4F5),
1722 0x4F6 => array(0x4F7), 0x4F8 => array(0x4F9), 0x4FA => array(0x4FB),
1723 0x4FC => array(0x4FD), 0x4FE => array(0x4FF), 0x500 => array(0x501),
1724 0x502 => array(0x503), 0x504 => array(0x505), 0x506 => array(0x507),
1725 0x508 => array(0x509), 0x50A => array(0x50B), 0x50C => array(0x50D),
1726 0x50E => array(0x50F), 0x510 => array(0x511), 0x512 => array(0x513),
1727 0x514 => array(0x515), 0x516 => array(0x517), 0x518 => array(0x519),
1728 0x51A => array(0x51B), 0x51C => array(0x51D), 0x51E => array(0x51F),
1729 0x520 => array(0x521), 0x522 => array(0x523), 0x524 => array(0x525),
1730 0x526 => array(0x527), 0x528 => array(0x529), 0x52A => array(0x52B),
1731 0x52C => array(0x52D), 0x52E => array(0x52F), 0x531 => array(0x561),
1732 0x532 => array(0x562), 0x533 => array(0x563), 0x534 => array(0x564),
1733 0x535 => array(0x565), 0x536 => array(0x566), 0x537 => array(0x567),
1734 0x538 => array(0x568), 0x539 => array(0x569), 0x53A => array(0x56A),
1735 0x53B => array(0x56B), 0x53C => array(0x56C), 0x53D => array(0x56D),
1736 0x53E => array(0x56E), 0x53F => array(0x56F), 0x540 => array(0x570),
1737 0x541 => array(0x571), 0x542 => array(0x572), 0x543 => array(0x573),
1738 0x544 => array(0x574), 0x545 => array(0x575), 0x546 => array(0x576),
1739 0x547 => array(0x577), 0x548 => array(0x578), 0x549 => array(0x579),
1740 0x54A => array(0x57A), 0x54B => array(0x57B), 0x54C => array(0x57C),
1741 0x54D => array(0x57D), 0x54E => array(0x57E), 0x54F => array(0x57F),
1742 0x550 => array(0x580), 0x551 => array(0x581), 0x552 => array(0x582),
1743 0x553 => array(0x583), 0x554 => array(0x584), 0x555 => array(0x585),
1744 0x556 => array(0x586), 0x587 => array(0x565, 0x582), 0x675 => array(0x627, 0x674),
1745 0x676 => array(0x648, 0x674), 0x677 => array(0x6C7, 0x674), 0x678 => array(0x64A, 0x674),
1746 0x958 => array(0x915, 0x93C), 0x959 => array(0x916, 0x93C), 0x95A => array(0x917, 0x93C),
1747 0x95B => array(0x91C, 0x93C), 0x95C => array(0x921, 0x93C), 0x95D => array(0x922, 0x93C),
1748 0x95E => array(0x92B, 0x93C), 0x95F => array(0x92F, 0x93C), 0x9DC => array(0x9A1, 0x9BC),
1749 0x9DD => array(0x9A2, 0x9BC), 0x9DF => array(0x9AF, 0x9BC), 0xA33 => array(0xA32, 0xA3C),
1750 0xA36 => array(0xA38, 0xA3C), 0xA59 => array(0xA16, 0xA3C), 0xA5A => array(0xA17, 0xA3C),
1751 0xA5B => array(0xA1C, 0xA3C), 0xA5E => array(0xA2B, 0xA3C), 0xB5C => array(0xB21, 0xB3C),
1752 0xB5D => array(0xB22, 0xB3C), 0xE33 => array(0xE4D, 0xE32), 0xEB3 => array(0xECD, 0xEB2),
1753 0xEDC => array(0xEAB, 0xE99), 0xEDD => array(0xEAB, 0xEA1), 0xF0C => array(0xF0B),
1754 0xF43 => array(0xF42, 0xFB7), 0xF4D => array(0xF4C, 0xFB7), 0xF52 => array(0xF51, 0xFB7),
1755 0xF57 => array(0xF56, 0xFB7), 0xF5C => array(0xF5B, 0xFB7), 0xF69 => array(0xF40, 0xFB5),
1756 0xF73 => array(0xF71, 0xF72), 0xF75 => array(0xF71, 0xF74), 0xF76 => array(0xFB2, 0xF80),
1757 0xF77 => array(0xFB2, 0xF71, 0xF80), 0xF78 => array(0xFB3, 0xF80), 0xF79 => array(0xFB3, 0xF71, 0xF80),
1758 0xF81 => array(0xF71, 0xF80), 0xF93 => array(0xF92, 0xFB7), 0xF9D => array(0xF9C, 0xFB7),
1759 0xFA2 => array(0xFA1, 0xFB7), 0xFA7 => array(0xFA6, 0xFB7), 0xFAC => array(0xFAB, 0xFB7),
1760 0xFB9 => array(0xF90, 0xFB5), 0x10C7 => array(0x2D27), 0x10CD => array(0x2D2D),
1761 0x10FC => array(0x10DC), 0x1D2C => array(0x61), 0x1D2D => array(0xE6),
1762 0x1D2E => array(0x62), 0x1D30 => array(0x64), 0x1D31 => array(0x65),
1763 0x1D32 => array(0x1DD), 0x1D33 => array(0x67), 0x1D34 => array(0x68),
1764 0x1D35 => array(0x69), 0x1D36 => array(0x6A), 0x1D37 => array(0x6B),
1765 0x1D38 => array(0x6C), 0x1D39 => array(0x6D), 0x1D3A => array(0x6E),
1766 0x1D3C => array(0x6F), 0x1D3D => array(0x223), 0x1D3E => array(0x70),
1767 0x1D3F => array(0x72), 0x1D40 => array(0x74), 0x1D41 => array(0x75),
1768 0x1D42 => array(0x77), 0x1D43 => array(0x61), 0x1D44 => array(0x250),
1769 0x1D45 => array(0x251), 0x1D46 => array(0x1D02), 0x1D47 => array(0x62),
1770 0x1D48 => array(0x64), 0x1D49 => array(0x65), 0x1D4A => array(0x259),
1771 0x1D4B => array(0x25B), 0x1D4C => array(0x25C), 0x1D4D => array(0x67),
1772 0x1D4F => array(0x6B), 0x1D50 => array(0x6D), 0x1D51 => array(0x14B),
1773 0x1D52 => array(0x6F), 0x1D53 => array(0x254), 0x1D54 => array(0x1D16),
1774 0x1D55 => array(0x1D17), 0x1D56 => array(0x70), 0x1D57 => array(0x74),
1775 0x1D58 => array(0x75), 0x1D59 => array(0x1D1D), 0x1D5A => array(0x26F),
1776 0x1D5B => array(0x76), 0x1D5C => array(0x1D25), 0x1D5D => array(0x3B2),
1777 0x1D5E => array(0x3B3), 0x1D5F => array(0x3B4), 0x1D60 => array(0x3C6),
1778 0x1D61 => array(0x3C7), 0x1D62 => array(0x69), 0x1D63 => array(0x72),
1779 0x1D64 => array(0x75), 0x1D65 => array(0x76), 0x1D66 => array(0x3B2),
1780 0x1D67 => array(0x3B3), 0x1D68 => array(0x3C1), 0x1D69 => array(0x3C6),
1781 0x1D6A => array(0x3C7), 0x1D78 => array(0x43D), 0x1D9B => array(0x252),
1782 0x1D9C => array(0x63), 0x1D9D => array(0x255), 0x1D9E => array(0xF0),
1783 0x1D9F => array(0x25C), 0x1DA0 => array(0x66), 0x1DA1 => array(0x25F),
1784 0x1DA2 => array(0x261), 0x1DA3 => array(0x265), 0x1DA4 => array(0x268),
1785 0x1DA5 => array(0x269), 0x1DA6 => array(0x26A), 0x1DA7 => array(0x1D7B),
1786 0x1DA8 => array(0x29D), 0x1DA9 => array(0x26D), 0x1DAA => array(0x1D85),
1787 0x1DAB => array(0x29F), 0x1DAC => array(0x271), 0x1DAD => array(0x270),
1788 0x1DAE => array(0x272), 0x1DAF => array(0x273), 0x1DB0 => array(0x274),
1789 0x1DB1 => array(0x275), 0x1DB2 => array(0x278), 0x1DB3 => array(0x282),
1790 0x1DB4 => array(0x283), 0x1DB5 => array(0x1AB), 0x1DB6 => array(0x289),
1791 0x1DB7 => array(0x28A), 0x1DB8 => array(0x1D1C), 0x1DB9 => array(0x28B),
1792 0x1DBA => array(0x28C), 0x1DBB => array(0x7A), 0x1DBC => array(0x290),
1793 0x1DBD => array(0x291), 0x1DBE => array(0x292), 0x1DBF => array(0x3B8),
1794 0x1E00 => array(0x1E01), 0x1E02 => array(0x1E03), 0x1E04 => array(0x1E05),
1795 0x1E06 => array(0x1E07), 0x1E08 => array(0x1E09), 0x1E0A => array(0x1E0B),
1796 0x1E0C => array(0x1E0D), 0x1E0E => array(0x1E0F), 0x1E10 => array(0x1E11),
1797 0x1E12 => array(0x1E13), 0x1E14 => array(0x1E15), 0x1E16 => array(0x1E17),
1798 0x1E18 => array(0x1E19), 0x1E1A => array(0x1E1B), 0x1E1C => array(0x1E1D),
1799 0x1E1E => array(0x1E1F), 0x1E20 => array(0x1E21), 0x1E22 => array(0x1E23),
1800 0x1E24 => array(0x1E25), 0x1E26 => array(0x1E27), 0x1E28 => array(0x1E29),
1801 0x1E2A => array(0x1E2B), 0x1E2C => array(0x1E2D), 0x1E2E => array(0x1E2F),
1802 0x1E30 => array(0x1E31), 0x1E32 => array(0x1E33), 0x1E34 => array(0x1E35),
1803 0x1E36 => array(0x1E37), 0x1E38 => array(0x1E39), 0x1E3A => array(0x1E3B),
1804 0x1E3C => array(0x1E3D), 0x1E3E => array(0x1E3F), 0x1E40 => array(0x1E41),
1805 0x1E42 => array(0x1E43), 0x1E44 => array(0x1E45), 0x1E46 => array(0x1E47),
1806 0x1E48 => array(0x1E49), 0x1E4A => array(0x1E4B), 0x1E4C => array(0x1E4D),
1807 0x1E4E => array(0x1E4F), 0x1E50 => array(0x1E51), 0x1E52 => array(0x1E53),
1808 0x1E54 => array(0x1E55), 0x1E56 => array(0x1E57), 0x1E58 => array(0x1E59),
1809 0x1E5A => array(0x1E5B), 0x1E5C => array(0x1E5D), 0x1E5E => array(0x1E5F),
1810 0x1E60 => array(0x1E61), 0x1E62 => array(0x1E63), 0x1E64 => array(0x1E65),
1811 0x1E66 => array(0x1E67), 0x1E68 => array(0x1E69), 0x1E6A => array(0x1E6B),
1812 0x1E6C => array(0x1E6D), 0x1E6E => array(0x1E6F), 0x1E70 => array(0x1E71),
1813 0x1E72 => array(0x1E73), 0x1E74 => array(0x1E75), 0x1E76 => array(0x1E77),
1814 0x1E78 => array(0x1E79), 0x1E7A => array(0x1E7B), 0x1E7C => array(0x1E7D),
1815 0x1E7E => array(0x1E7F), 0x1E80 => array(0x1E81), 0x1E82 => array(0x1E83),
1816 0x1E84 => array(0x1E85), 0x1E86 => array(0x1E87), 0x1E88 => array(0x1E89),
1817 0x1E8A => array(0x1E8B), 0x1E8C => array(0x1E8D), 0x1E8E => array(0x1E8F),
1818 0x1E90 => array(0x1E91), 0x1E92 => array(0x1E93), 0x1E94 => array(0x1E95),
1819 0x1E9A => array(0x61, 0x2BE), 0x1E9B => array(0x1E61), 0x1E9E => array(0x73, 0x73),
1820 0x1EA0 => array(0x1EA1), 0x1EA2 => array(0x1EA3), 0x1EA4 => array(0x1EA5),
1821 0x1EA6 => array(0x1EA7), 0x1EA8 => array(0x1EA9), 0x1EAA => array(0x1EAB),
1822 0x1EAC => array(0x1EAD), 0x1EAE => array(0x1EAF), 0x1EB0 => array(0x1EB1),
1823 0x1EB2 => array(0x1EB3), 0x1EB4 => array(0x1EB5), 0x1EB6 => array(0x1EB7),
1824 0x1EB8 => array(0x1EB9), 0x1EBA => array(0x1EBB), 0x1EBC => array(0x1EBD),
1825 0x1EBE => array(0x1EBF), 0x1EC0 => array(0x1EC1), 0x1EC2 => array(0x1EC3),
1826 0x1EC4 => array(0x1EC5), 0x1EC6 => array(0x1EC7), 0x1EC8 => array(0x1EC9),
1827 0x1ECA => array(0x1ECB), 0x1ECC => array(0x1ECD), 0x1ECE => array(0x1ECF),
1828 0x1ED0 => array(0x1ED1), 0x1ED2 => array(0x1ED3), 0x1ED4 => array(0x1ED5),
1829 0x1ED6 => array(0x1ED7), 0x1ED8 => array(0x1ED9), 0x1EDA => array(0x1EDB),
1830 0x1EDC => array(0x1EDD), 0x1EDE => array(0x1EDF), 0x1EE0 => array(0x1EE1),
1831 0x1EE2 => array(0x1EE3), 0x1EE4 => array(0x1EE5), 0x1EE6 => array(0x1EE7),
1832 0x1EE8 => array(0x1EE9), 0x1EEA => array(0x1EEB), 0x1EEC => array(0x1EED),
1833 0x1EEE => array(0x1EEF), 0x1EF0 => array(0x1EF1), 0x1EF2 => array(0x1EF3),
1834 0x1EF4 => array(0x1EF5), 0x1EF6 => array(0x1EF7), 0x1EF8 => array(0x1EF9),
1835 0x1EFA => array(0x1EFB), 0x1EFC => array(0x1EFD), 0x1EFE => array(0x1EFF),
1836 0x1F08 => array(0x1F00), 0x1F09 => array(0x1F01), 0x1F0A => array(0x1F02),
1837 0x1F0B => array(0x1F03), 0x1F0C => array(0x1F04), 0x1F0D => array(0x1F05),
1838 0x1F0E => array(0x1F06), 0x1F0F => array(0x1F07), 0x1F18 => array(0x1F10),
1839 0x1F19 => array(0x1F11), 0x1F1A => array(0x1F12), 0x1F1B => array(0x1F13),
1840 0x1F1C => array(0x1F14), 0x1F1D => array(0x1F15), 0x1F28 => array(0x1F20),
1841 0x1F29 => array(0x1F21), 0x1F2A => array(0x1F22), 0x1F2B => array(0x1F23),
1842 0x1F2C => array(0x1F24), 0x1F2D => array(0x1F25), 0x1F2E => array(0x1F26),
1843 0x1F2F => array(0x1F27), 0x1F38 => array(0x1F30), 0x1F39 => array(0x1F31),
1844 0x1F3A => array(0x1F32), 0x1F3B => array(0x1F33), 0x1F3C => array(0x1F34),
1845 0x1F3D => array(0x1F35), 0x1F3E => array(0x1F36), 0x1F3F => array(0x1F37),
1846 0x1F48 => array(0x1F40), 0x1F49 => array(0x1F41), 0x1F4A => array(0x1F42),
1847 0x1F4B => array(0x1F43), 0x1F4C => array(0x1F44), 0x1F4D => array(0x1F45),
1848 0x1F59 => array(0x1F51), 0x1F5B => array(0x1F53), 0x1F5D => array(0x1F55),
1849 0x1F5F => array(0x1F57), 0x1F68 => array(0x1F60), 0x1F69 => array(0x1F61),
1850 0x1F6A => array(0x1F62), 0x1F6B => array(0x1F63), 0x1F6C => array(0x1F64),
1851 0x1F6D => array(0x1F65), 0x1F6E => array(0x1F66), 0x1F6F => array(0x1F67),
1852 0x1F71 => array(0x3AC), 0x1F73 => array(0x3AD), 0x1F75 => array(0x3AE),
1853 0x1F77 => array(0x3AF), 0x1F79 => array(0x3CC), 0x1F7B => array(0x3CD),
1854 0x1F7D => array(0x3CE), 0x1F80 => array(0x1F00, 0x3B9), 0x1F81 => array(0x1F01, 0x3B9),
1855 0x1F82 => array(0x1F02, 0x3B9), 0x1F83 => array(0x1F03, 0x3B9), 0x1F84 => array(0x1F04, 0x3B9),
1856 0x1F85 => array(0x1F05, 0x3B9), 0x1F86 => array(0x1F06, 0x3B9), 0x1F87 => array(0x1F07, 0x3B9),
1857 0x1F88 => array(0x1F00, 0x3B9), 0x1F89 => array(0x1F01, 0x3B9), 0x1F8A => array(0x1F02, 0x3B9),
1858 0x1F8B => array(0x1F03, 0x3B9), 0x1F8C => array(0x1F04, 0x3B9), 0x1F8D => array(0x1F05, 0x3B9),
1859 0x1F8E => array(0x1F06, 0x3B9), 0x1F8F => array(0x1F07, 0x3B9), 0x1F90 => array(0x1F20, 0x3B9),
1860 0x1F91 => array(0x1F21, 0x3B9), 0x1F92 => array(0x1F22, 0x3B9), 0x1F93 => array(0x1F23, 0x3B9),
1861 0x1F94 => array(0x1F24, 0x3B9), 0x1F95 => array(0x1F25, 0x3B9), 0x1F96 => array(0x1F26, 0x3B9),
1862 0x1F97 => array(0x1F27, 0x3B9), 0x1F98 => array(0x1F20, 0x3B9), 0x1F99 => array(0x1F21, 0x3B9),
1863 0x1F9A => array(0x1F22, 0x3B9), 0x1F9B => array(0x1F23, 0x3B9), 0x1F9C => array(0x1F24, 0x3B9),
1864 0x1F9D => array(0x1F25, 0x3B9), 0x1F9E => array(0x1F26, 0x3B9), 0x1F9F => array(0x1F27, 0x3B9),
1865 0x1FA0 => array(0x1F60, 0x3B9), 0x1FA1 => array(0x1F61, 0x3B9), 0x1FA2 => array(0x1F62, 0x3B9),
1866 0x1FA3 => array(0x1F63, 0x3B9), 0x1FA4 => array(0x1F64, 0x3B9), 0x1FA5 => array(0x1F65, 0x3B9),
1867 0x1FA6 => array(0x1F66, 0x3B9), 0x1FA7 => array(0x1F67, 0x3B9), 0x1FA8 => array(0x1F60, 0x3B9),
1868 0x1FA9 => array(0x1F61, 0x3B9), 0x1FAA => array(0x1F62, 0x3B9), 0x1FAB => array(0x1F63, 0x3B9),
1869 0x1FAC => array(0x1F64, 0x3B9), 0x1FAD => array(0x1F65, 0x3B9), 0x1FAE => array(0x1F66, 0x3B9),
1870 0x1FAF => array(0x1F67, 0x3B9), 0x1FB2 => array(0x1F70, 0x3B9), 0x1FB3 => array(0x3B1, 0x3B9),
1871 0x1FB4 => array(0x3AC, 0x3B9), 0x1FB7 => array(0x1FB6, 0x3B9), 0x1FB8 => array(0x1FB0),
1872 0x1FB9 => array(0x1FB1), 0x1FBA => array(0x1F70), 0x1FBB => array(0x3AC),
1873 0x1FBC => array(0x3B1, 0x3B9), 0x1FBE => array(0x3B9), 0x1FC2 => array(0x1F74, 0x3B9),
1874 0x1FC3 => array(0x3B7, 0x3B9), 0x1FC4 => array(0x3AE, 0x3B9), 0x1FC7 => array(0x1FC6, 0x3B9),
1875 0x1FC8 => array(0x1F72), 0x1FC9 => array(0x3AD), 0x1FCA => array(0x1F74),
1876 0x1FCB => array(0x3AE), 0x1FCC => array(0x3B7, 0x3B9), 0x1FD3 => array(0x390),
1877 0x1FD8 => array(0x1FD0), 0x1FD9 => array(0x1FD1), 0x1FDA => array(0x1F76),
1878 0x1FDB => array(0x3AF), 0x1FE3 => array(0x3B0), 0x1FE8 => array(0x1FE0),
1879 0x1FE9 => array(0x1FE1), 0x1FEA => array(0x1F7A), 0x1FEB => array(0x3CD),
1880 0x1FEC => array(0x1FE5), 0x1FF2 => array(0x1F7C, 0x3B9), 0x1FF3 => array(0x3C9, 0x3B9),
1881 0x1FF4 => array(0x3CE, 0x3B9), 0x1FF7 => array(0x1FF6, 0x3B9), 0x1FF8 => array(0x1F78),
1882 0x1FF9 => array(0x3CC), 0x1FFA => array(0x1F7C), 0x1FFB => array(0x3CE),
1883 0x1FFC => array(0x3C9, 0x3B9), 0x2011 => array(0x2010), 0x2033 => array(0x2032, 0x2032),
1884 0x2034 => array(0x2032, 0x2032, 0x2032), 0x2036 => array(0x2035, 0x2035), 0x2037 => array(0x2035, 0x2035, 0x2035),
1885 0x2057 => array(0x2032, 0x2032, 0x2032, 0x2032), 0x2070 => array(0x30), 0x2071 => array(0x69),
1886 0x2074 => array(0x34), 0x2075 => array(0x35), 0x2076 => array(0x36),
1887 0x2077 => array(0x37), 0x2078 => array(0x38), 0x2079 => array(0x39),
1888 0x207B => array(0x2212), 0x207F => array(0x6E), 0x2080 => array(0x30),
1889 0x2081 => array(0x31), 0x2082 => array(0x32), 0x2083 => array(0x33),
1890 0x2084 => array(0x34), 0x2085 => array(0x35), 0x2086 => array(0x36),
1891 0x2087 => array(0x37), 0x2088 => array(0x38), 0x2089 => array(0x39),
1892 0x208B => array(0x2212), 0x2090 => array(0x61), 0x2091 => array(0x65),
1893 0x2092 => array(0x6F), 0x2093 => array(0x78), 0x2094 => array(0x259),
1894 0x2095 => array(0x68), 0x2096 => array(0x6B), 0x2097 => array(0x6C),
1895 0x2098 => array(0x6D), 0x2099 => array(0x6E), 0x209A => array(0x70),
1896 0x209B => array(0x73), 0x209C => array(0x74), 0x20A8 => array(0x72, 0x73),
1897 0x2102 => array(0x63), 0x2103 => array(0xB0, 0x63), 0x2107 => array(0x25B),
1898 0x2109 => array(0xB0, 0x66), 0x210A => array(0x67), 0x210B => array(0x68),
1899 0x210C => array(0x68), 0x210D => array(0x68), 0x210E => array(0x68),
1900 0x210F => array(0x127), 0x2110 => array(0x69), 0x2111 => array(0x69),
1901 0x2112 => array(0x6C), 0x2113 => array(0x6C), 0x2115 => array(0x6E),
1902 0x2116 => array(0x6E, 0x6F), 0x2119 => array(0x70), 0x211A => array(0x71),
1903 0x211B => array(0x72), 0x211C => array(0x72), 0x211D => array(0x72),
1904 0x2120 => array(0x73, 0x6D), 0x2121 => array(0x74, 0x65, 0x6C), 0x2122 => array(0x74, 0x6D),
1905 0x2124 => array(0x7A), 0x2126 => array(0x3C9), 0x2128 => array(0x7A),
1906 0x212A => array(0x6B), 0x212B => array(0xE5), 0x212C => array(0x62),
1907 0x212D => array(0x63), 0x212F => array(0x65), 0x2130 => array(0x65),
1908 0x2131 => array(0x66), 0x2133 => array(0x6D), 0x2134 => array(0x6F),
1909 0x2135 => array(0x5D0), 0x2136 => array(0x5D1), 0x2137 => array(0x5D2),
1910 0x2138 => array(0x5D3), 0x2139 => array(0x69), 0x213B => array(0x66, 0x61, 0x78),
1911 0x213C => array(0x3C0), 0x213D => array(0x3B3), 0x213E => array(0x3B3),
1912 0x213F => array(0x3C0), 0x2140 => array(0x2211), 0x2145 => array(0x64),
1913 0x2146 => array(0x64), 0x2147 => array(0x65), 0x2148 => array(0x69),
1914 0x2149 => array(0x6A), 0x2150 => array(0x31, 0x2044, 0x37), 0x2151 => array(0x31, 0x2044, 0x39),
1915 0x2152 => array(0x31, 0x2044, 0x31, 0x30), 0x2153 => array(0x31, 0x2044, 0x33), 0x2154 => array(0x32, 0x2044, 0x33),
1916 0x2155 => array(0x31, 0x2044, 0x35), 0x2156 => array(0x32, 0x2044, 0x35), 0x2157 => array(0x33, 0x2044, 0x35),
1917 0x2158 => array(0x34, 0x2044, 0x35), 0x2159 => array(0x31, 0x2044, 0x36), 0x215A => array(0x35, 0x2044, 0x36),
1918 0x215B => array(0x31, 0x2044, 0x38), 0x215C => array(0x33, 0x2044, 0x38), 0x215D => array(0x35, 0x2044, 0x38),
1919 0x215E => array(0x37, 0x2044, 0x38), 0x215F => array(0x31, 0x2044), 0x2160 => array(0x69),
1920 0x2161 => array(0x69, 0x69), 0x2162 => array(0x69, 0x69, 0x69), 0x2163 => array(0x69, 0x76),
1921 0x2164 => array(0x76), 0x2165 => array(0x76, 0x69), 0x2166 => array(0x76, 0x69, 0x69),
1922 0x2167 => array(0x76, 0x69, 0x69, 0x69), 0x2168 => array(0x69, 0x78), 0x2169 => array(0x78),
1923 0x216A => array(0x78, 0x69), 0x216B => array(0x78, 0x69, 0x69), 0x216C => array(0x6C),
1924 0x216D => array(0x63), 0x216E => array(0x64), 0x216F => array(0x6D),
1925 0x2170 => array(0x69), 0x2171 => array(0x69, 0x69), 0x2172 => array(0x69, 0x69, 0x69),
1926 0x2173 => array(0x69, 0x76), 0x2174 => array(0x76), 0x2175 => array(0x76, 0x69),
1927 0x2176 => array(0x76, 0x69, 0x69), 0x2177 => array(0x76, 0x69, 0x69, 0x69), 0x2178 => array(0x69, 0x78),
1928 0x2179 => array(0x78), 0x217A => array(0x78, 0x69), 0x217B => array(0x78, 0x69, 0x69),
1929 0x217C => array(0x6C), 0x217D => array(0x63), 0x217E => array(0x64),
1930 0x217F => array(0x6D), 0x2189 => array(0x30, 0x2044, 0x33), 0x222C => array(0x222B, 0x222B),
1931 0x222D => array(0x222B, 0x222B, 0x222B), 0x222F => array(0x222E, 0x222E), 0x2230 => array(0x222E, 0x222E, 0x222E),
1932 0x2329 => array(0x3008), 0x232A => array(0x3009), 0x2460 => array(0x31),
1933 0x2461 => array(0x32), 0x2462 => array(0x33), 0x2463 => array(0x34),
1934 0x2464 => array(0x35), 0x2465 => array(0x36), 0x2466 => array(0x37),
1935 0x2467 => array(0x38), 0x2468 => array(0x39), 0x2469 => array(0x31, 0x30),
1936 0x246A => array(0x31, 0x31), 0x246B => array(0x31, 0x32), 0x246C => array(0x31, 0x33),
1937 0x246D => array(0x31, 0x34), 0x246E => array(0x31, 0x35), 0x246F => array(0x31, 0x36),
1938 0x2470 => array(0x31, 0x37), 0x2471 => array(0x31, 0x38), 0x2472 => array(0x31, 0x39),
1939 0x2473 => array(0x32, 0x30), 0x24B6 => array(0x61), 0x24B7 => array(0x62),
1940 0x24B8 => array(0x63), 0x24B9 => array(0x64), 0x24BA => array(0x65),
1941 0x24BB => array(0x66), 0x24BC => array(0x67), 0x24BD => array(0x68),
1942 0x24BE => array(0x69), 0x24BF => array(0x6A), 0x24C0 => array(0x6B),
1943 0x24C1 => array(0x6C), 0x24C2 => array(0x6D), 0x24C3 => array(0x6E),
1944 0x24C4 => array(0x6F), 0x24C5 => array(0x70), 0x24C6 => array(0x71),
1945 0x24C7 => array(0x72), 0x24C8 => array(0x73), 0x24C9 => array(0x74),
1946 0x24CA => array(0x75), 0x24CB => array(0x76), 0x24CC => array(0x77),
1947 0x24CD => array(0x78), 0x24CE => array(0x79), 0x24CF => array(0x7A),
1948 0x24D0 => array(0x61), 0x24D1 => array(0x62), 0x24D2 => array(0x63),
1949 0x24D3 => array(0x64), 0x24D4 => array(0x65), 0x24D5 => array(0x66),
1950 0x24D6 => array(0x67), 0x24D7 => array(0x68), 0x24D8 => array(0x69),
1951 0x24D9 => array(0x6A), 0x24DA => array(0x6B), 0x24DB => array(0x6C),
1952 0x24DC => array(0x6D), 0x24DD => array(0x6E), 0x24DE => array(0x6F),
1953 0x24DF => array(0x70), 0x24E0 => array(0x71), 0x24E1 => array(0x72),
1954 0x24E2 => array(0x73), 0x24E3 => array(0x74), 0x24E4 => array(0x75),
1955 0x24E5 => array(0x76), 0x24E6 => array(0x77), 0x24E7 => array(0x78),
1956 0x24E8 => array(0x79), 0x24E9 => array(0x7A), 0x24EA => array(0x30),
1957 0x2A0C => array(0x222B, 0x222B, 0x222B, 0x222B), 0x2ADC => array(0x2ADD, 0x338), 0x2C00 => array(0x2C30),
1958 0x2C01 => array(0x2C31), 0x2C02 => array(0x2C32), 0x2C03 => array(0x2C33),
1959 0x2C04 => array(0x2C34), 0x2C05 => array(0x2C35), 0x2C06 => array(0x2C36),
1960 0x2C07 => array(0x2C37), 0x2C08 => array(0x2C38), 0x2C09 => array(0x2C39),
1961 0x2C0A => array(0x2C3A), 0x2C0B => array(0x2C3B), 0x2C0C => array(0x2C3C),
1962 0x2C0D => array(0x2C3D), 0x2C0E => array(0x2C3E), 0x2C0F => array(0x2C3F),
1963 0x2C10 => array(0x2C40), 0x2C11 => array(0x2C41), 0x2C12 => array(0x2C42),
1964 0x2C13 => array(0x2C43), 0x2C14 => array(0x2C44), 0x2C15 => array(0x2C45),
1965 0x2C16 => array(0x2C46), 0x2C17 => array(0x2C47), 0x2C18 => array(0x2C48),
1966 0x2C19 => array(0x2C49), 0x2C1A => array(0x2C4A), 0x2C1B => array(0x2C4B),
1967 0x2C1C => array(0x2C4C), 0x2C1D => array(0x2C4D), 0x2C1E => array(0x2C4E),
1968 0x2C1F => array(0x2C4F), 0x2C20 => array(0x2C50), 0x2C21 => array(0x2C51),
1969 0x2C22 => array(0x2C52), 0x2C23 => array(0x2C53), 0x2C24 => array(0x2C54),
1970 0x2C25 => array(0x2C55), 0x2C26 => array(0x2C56), 0x2C27 => array(0x2C57),
1971 0x2C28 => array(0x2C58), 0x2C29 => array(0x2C59), 0x2C2A => array(0x2C5A),
1972 0x2C2B => array(0x2C5B), 0x2C2C => array(0x2C5C), 0x2C2D => array(0x2C5D),
1973 0x2C2E => array(0x2C5E), 0x2C60 => array(0x2C61), 0x2C62 => array(0x26B),
1974 0x2C63 => array(0x1D7D), 0x2C64 => array(0x27D), 0x2C67 => array(0x2C68),
1975 0x2C69 => array(0x2C6A), 0x2C6B => array(0x2C6C), 0x2C6D => array(0x251),
1976 0x2C6E => array(0x271), 0x2C6F => array(0x250), 0x2C70 => array(0x252),
1977 0x2C72 => array(0x2C73), 0x2C75 => array(0x2C76), 0x2C7C => array(0x6A),
1978 0x2C7D => array(0x76), 0x2C7E => array(0x23F), 0x2C7F => array(0x240),
1979 0x2C80 => array(0x2C81), 0x2C82 => array(0x2C83), 0x2C84 => array(0x2C85),
1980 0x2C86 => array(0x2C87), 0x2C88 => array(0x2C89), 0x2C8A => array(0x2C8B),
1981 0x2C8C => array(0x2C8D), 0x2C8E => array(0x2C8F), 0x2C90 => array(0x2C91),
1982 0x2C92 => array(0x2C93), 0x2C94 => array(0x2C95), 0x2C96 => array(0x2C97),
1983 0x2C98 => array(0x2C99), 0x2C9A => array(0x2C9B), 0x2C9C => array(0x2C9D),
1984 0x2C9E => array(0x2C9F), 0x2CA0 => array(0x2CA1), 0x2CA2 => array(0x2CA3),
1985 0x2CA4 => array(0x2CA5), 0x2CA6 => array(0x2CA7), 0x2CA8 => array(0x2CA9),
1986 0x2CAA => array(0x2CAB), 0x2CAC => array(0x2CAD), 0x2CAE => array(0x2CAF),
1987 0x2CB0 => array(0x2CB1), 0x2CB2 => array(0x2CB3), 0x2CB4 => array(0x2CB5),
1988 0x2CB6 => array(0x2CB7), 0x2CB8 => array(0x2CB9), 0x2CBA => array(0x2CBB),
1989 0x2CBC => array(0x2CBD), 0x2CBE => array(0x2CBF), 0x2CC0 => array(0x2CC1),
1990 0x2CC2 => array(0x2CC3), 0x2CC4 => array(0x2CC5), 0x2CC6 => array(0x2CC7),
1991 0x2CC8 => array(0x2CC9), 0x2CCA => array(0x2CCB), 0x2CCC => array(0x2CCD),
1992 0x2CCE => array(0x2CCF), 0x2CD0 => array(0x2CD1), 0x2CD2 => array(0x2CD3),
1993 0x2CD4 => array(0x2CD5), 0x2CD6 => array(0x2CD7), 0x2CD8 => array(0x2CD9),
1994 0x2CDA => array(0x2CDB), 0x2CDC => array(0x2CDD), 0x2CDE => array(0x2CDF),
1995 0x2CE0 => array(0x2CE1), 0x2CE2 => array(0x2CE3), 0x2CEB => array(0x2CEC),
1996 0x2CED => array(0x2CEE), 0x2CF2 => array(0x2CF3), 0x2D6F => array(0x2D61),
1997 0x2E9F => array(0x6BCD), 0x2EF3 => array(0x9F9F), 0x2F00 => array(0x4E00),
1998 0x2F01 => array(0x4E28), 0x2F02 => array(0x4E36), 0x2F03 => array(0x4E3F),
1999 0x2F04 => array(0x4E59), 0x2F05 => array(0x4E85), 0x2F06 => array(0x4E8C),
2000 0x2F07 => array(0x4EA0), 0x2F08 => array(0x4EBA), 0x2F09 => array(0x513F),
2001 0x2F0A => array(0x5165), 0x2F0B => array(0x516B), 0x2F0C => array(0x5182),
2002 0x2F0D => array(0x5196), 0x2F0E => array(0x51AB), 0x2F0F => array(0x51E0),
2003 0x2F10 => array(0x51F5), 0x2F11 => array(0x5200), 0x2F12 => array(0x529B),
2004 0x2F13 => array(0x52F9), 0x2F14 => array(0x5315), 0x2F15 => array(0x531A),
2005 0x2F16 => array(0x5338), 0x2F17 => array(0x5341), 0x2F18 => array(0x535C),
2006 0x2F19 => array(0x5369), 0x2F1A => array(0x5382), 0x2F1B => array(0x53B6),
2007 0x2F1C => array(0x53C8), 0x2F1D => array(0x53E3), 0x2F1E => array(0x56D7),
2008 0x2F1F => array(0x571F), 0x2F20 => array(0x58EB), 0x2F21 => array(0x5902),
2009 0x2F22 => array(0x590A), 0x2F23 => array(0x5915), 0x2F24 => array(0x5927),
2010 0x2F25 => array(0x5973), 0x2F26 => array(0x5B50), 0x2F27 => array(0x5B80),
2011 0x2F28 => array(0x5BF8), 0x2F29 => array(0x5C0F), 0x2F2A => array(0x5C22),
2012 0x2F2B => array(0x5C38), 0x2F2C => array(0x5C6E), 0x2F2D => array(0x5C71),
2013 0x2F2E => array(0x5DDB), 0x2F2F => array(0x5DE5), 0x2F30 => array(0x5DF1),
2014 0x2F31 => array(0x5DFE), 0x2F32 => array(0x5E72), 0x2F33 => array(0x5E7A),
2015 0x2F34 => array(0x5E7F), 0x2F35 => array(0x5EF4), 0x2F36 => array(0x5EFE),
2016 0x2F37 => array(0x5F0B), 0x2F38 => array(0x5F13), 0x2F39 => array(0x5F50),
2017 0x2F3A => array(0x5F61), 0x2F3B => array(0x5F73), 0x2F3C => array(0x5FC3),
2018 0x2F3D => array(0x6208), 0x2F3E => array(0x6236), 0x2F3F => array(0x624B),
2019 0x2F40 => array(0x652F), 0x2F41 => array(0x6534), 0x2F42 => array(0x6587),
2020 0x2F43 => array(0x6597), 0x2F44 => array(0x65A4), 0x2F45 => array(0x65B9),
2021 0x2F46 => array(0x65E0), 0x2F47 => array(0x65E5), 0x2F48 => array(0x66F0),
2022 0x2F49 => array(0x6708), 0x2F4A => array(0x6728), 0x2F4B => array(0x6B20),
2023 0x2F4C => array(0x6B62), 0x2F4D => array(0x6B79), 0x2F4E => array(0x6BB3),
2024 0x2F4F => array(0x6BCB), 0x2F50 => array(0x6BD4), 0x2F51 => array(0x6BDB),
2025 0x2F52 => array(0x6C0F), 0x2F53 => array(0x6C14), 0x2F54 => array(0x6C34),
2026 0x2F55 => array(0x706B), 0x2F56 => array(0x722A), 0x2F57 => array(0x7236),
2027 0x2F58 => array(0x723B), 0x2F59 => array(0x723F), 0x2F5A => array(0x7247),
2028 0x2F5B => array(0x7259), 0x2F5C => array(0x725B), 0x2F5D => array(0x72AC),
2029 0x2F5E => array(0x7384), 0x2F5F => array(0x7389), 0x2F60 => array(0x74DC),
2030 0x2F61 => array(0x74E6), 0x2F62 => array(0x7518), 0x2F63 => array(0x751F),
2031 0x2F64 => array(0x7528), 0x2F65 => array(0x7530), 0x2F66 => array(0x758B),
2032 0x2F67 => array(0x7592), 0x2F68 => array(0x7676), 0x2F69 => array(0x767D),
2033 0x2F6A => array(0x76AE), 0x2F6B => array(0x76BF), 0x2F6C => array(0x76EE),
2034 0x2F6D => array(0x77DB), 0x2F6E => array(0x77E2), 0x2F6F => array(0x77F3),
2035 0x2F70 => array(0x793A), 0x2F71 => array(0x79B8), 0x2F72 => array(0x79BE),
2036 0x2F73 => array(0x7A74), 0x2F74 => array(0x7ACB), 0x2F75 => array(0x7AF9),
2037 0x2F76 => array(0x7C73), 0x2F77 => array(0x7CF8), 0x2F78 => array(0x7F36),
2038 0x2F79 => array(0x7F51), 0x2F7A => array(0x7F8A), 0x2F7B => array(0x7FBD),
2039 0x2F7C => array(0x8001), 0x2F7D => array(0x800C), 0x2F7E => array(0x8012),
2040 0x2F7F => array(0x8033), 0x2F80 => array(0x807F), 0x2F81 => array(0x8089),
2041 0x2F82 => array(0x81E3), 0x2F83 => array(0x81EA), 0x2F84 => array(0x81F3),
2042 0x2F85 => array(0x81FC), 0x2F86 => array(0x820C), 0x2F87 => array(0x821B),
2043 0x2F88 => array(0x821F), 0x2F89 => array(0x826E), 0x2F8A => array(0x8272),
2044 0x2F8B => array(0x8278), 0x2F8C => array(0x864D), 0x2F8D => array(0x866B),
2045 0x2F8E => array(0x8840), 0x2F8F => array(0x884C), 0x2F90 => array(0x8863),
2046 0x2F91 => array(0x897E), 0x2F92 => array(0x898B), 0x2F93 => array(0x89D2),
2047 0x2F94 => array(0x8A00), 0x2F95 => array(0x8C37), 0x2F96 => array(0x8C46),
2048 0x2F97 => array(0x8C55), 0x2F98 => array(0x8C78), 0x2F99 => array(0x8C9D),
2049 0x2F9A => array(0x8D64), 0x2F9B => array(0x8D70), 0x2F9C => array(0x8DB3),
2050 0x2F9D => array(0x8EAB), 0x2F9E => array(0x8ECA), 0x2F9F => array(0x8F9B),
2051 0x2FA0 => array(0x8FB0), 0x2FA1 => array(0x8FB5), 0x2FA2 => array(0x9091),
2052 0x2FA3 => array(0x9149), 0x2FA4 => array(0x91C6), 0x2FA5 => array(0x91CC),
2053 0x2FA6 => array(0x91D1), 0x2FA7 => array(0x9577), 0x2FA8 => array(0x9580),
2054 0x2FA9 => array(0x961C), 0x2FAA => array(0x96B6), 0x2FAB => array(0x96B9),
2055 0x2FAC => array(0x96E8), 0x2FAD => array(0x9751), 0x2FAE => array(0x975E),
2056 0x2FAF => array(0x9762), 0x2FB0 => array(0x9769), 0x2FB1 => array(0x97CB),
2057 0x2FB2 => array(0x97ED), 0x2FB3 => array(0x97F3), 0x2FB4 => array(0x9801),
2058 0x2FB5 => array(0x98A8), 0x2FB6 => array(0x98DB), 0x2FB7 => array(0x98DF),
2059 0x2FB8 => array(0x9996), 0x2FB9 => array(0x9999), 0x2FBA => array(0x99AC),
2060 0x2FBB => array(0x9AA8), 0x2FBC => array(0x9AD8), 0x2FBD => array(0x9ADF),
2061 0x2FBE => array(0x9B25), 0x2FBF => array(0x9B2F), 0x2FC0 => array(0x9B32),
2062 0x2FC1 => array(0x9B3C), 0x2FC2 => array(0x9B5A), 0x2FC3 => array(0x9CE5),
2063 0x2FC4 => array(0x9E75), 0x2FC5 => array(0x9E7F), 0x2FC6 => array(0x9EA5),
2064 0x2FC7 => array(0x9EBB), 0x2FC8 => array(0x9EC3), 0x2FC9 => array(0x9ECD),
2065 0x2FCA => array(0x9ED1), 0x2FCB => array(0x9EF9), 0x2FCC => array(0x9EFD),
2066 0x2FCD => array(0x9F0E), 0x2FCE => array(0x9F13), 0x2FCF => array(0x9F20),
2067 0x2FD0 => array(0x9F3B), 0x2FD1 => array(0x9F4A), 0x2FD2 => array(0x9F52),
2068 0x2FD3 => array(0x9F8D), 0x2FD4 => array(0x9F9C), 0x2FD5 => array(0x9FA0),
2069 0x3002 => array(0x2E), 0x3036 => array(0x3012), 0x3038 => array(0x5341),
2070 0x3039 => array(0x5344), 0x303A => array(0x5345), 0x309F => array(0x3088, 0x308A),
2071 0x30FF => array(0x30B3, 0x30C8), 0x3131 => array(0x1100), 0x3132 => array(0x1101),
2072 0x3133 => array(0x11AA), 0x3134 => array(0x1102), 0x3135 => array(0x11AC),
2073 0x3136 => array(0x11AD), 0x3137 => array(0x1103), 0x3138 => array(0x1104),
2074 0x3139 => array(0x1105), 0x313A => array(0x11B0), 0x313B => array(0x11B1),
2075 0x313C => array(0x11B2), 0x313D => array(0x11B3), 0x313E => array(0x11B4),
2076 0x313F => array(0x11B5), 0x3140 => array(0x111A), 0x3141 => array(0x1106),
2077 0x3142 => array(0x1107), 0x3143 => array(0x1108), 0x3144 => array(0x1121),
2078 0x3145 => array(0x1109), 0x3146 => array(0x110A), 0x3147 => array(0x110B),
2079 0x3148 => array(0x110C), 0x3149 => array(0x110D), 0x314A => array(0x110E),
2080 0x314B => array(0x110F), 0x314C => array(0x1110), 0x314D => array(0x1111),
2081 0x314E => array(0x1112), 0x314F => array(0x1161), 0x3150 => array(0x1162),
2082 0x3151 => array(0x1163), 0x3152 => array(0x1164), 0x3153 => array(0x1165),
2083 0x3154 => array(0x1166), 0x3155 => array(0x1167), 0x3156 => array(0x1168),
2084 0x3157 => array(0x1169), 0x3158 => array(0x116A), 0x3159 => array(0x116B),
2085 0x315A => array(0x116C), 0x315B => array(0x116D), 0x315C => array(0x116E),
2086 0x315D => array(0x116F), 0x315E => array(0x1170), 0x315F => array(0x1171),
2087 0x3160 => array(0x1172), 0x3161 => array(0x1173), 0x3162 => array(0x1174),
2088 0x3163 => array(0x1175), 0x3165 => array(0x1114), 0x3166 => array(0x1115),
2089 0x3167 => array(0x11C7), 0x3168 => array(0x11C8), 0x3169 => array(0x11CC),
2090 0x316A => array(0x11CE), 0x316B => array(0x11D3), 0x316C => array(0x11D7),
2091 0x316D => array(0x11D9), 0x316E => array(0x111C), 0x316F => array(0x11DD),
2092 0x3170 => array(0x11DF), 0x3171 => array(0x111D), 0x3172 => array(0x111E),
2093 0x3173 => array(0x1120), 0x3174 => array(0x1122), 0x3175 => array(0x1123),
2094 0x3176 => array(0x1127), 0x3177 => array(0x1129), 0x3178 => array(0x112B),
2095 0x3179 => array(0x112C), 0x317A => array(0x112D), 0x317B => array(0x112E),
2096 0x317C => array(0x112F), 0x317D => array(0x1132), 0x317E => array(0x1136),
2097 0x317F => array(0x1140), 0x3180 => array(0x1147), 0x3181 => array(0x114C),
2098 0x3182 => array(0x11F1), 0x3183 => array(0x11F2), 0x3184 => array(0x1157),
2099 0x3185 => array(0x1158), 0x3186 => array(0x1159), 0x3187 => array(0x1184),
2100 0x3188 => array(0x1185), 0x3189 => array(0x1188), 0x318A => array(0x1191),
2101 0x318B => array(0x1192), 0x318C => array(0x1194), 0x318D => array(0x119E),
2102 0x318E => array(0x11A1), 0x3192 => array(0x4E00), 0x3193 => array(0x4E8C),
2103 0x3194 => array(0x4E09), 0x3195 => array(0x56DB), 0x3196 => array(0x4E0A),
2104 0x3197 => array(0x4E2D), 0x3198 => array(0x4E0B), 0x3199 => array(0x7532),
2105 0x319A => array(0x4E59), 0x319B => array(0x4E19), 0x319C => array(0x4E01),
2106 0x319D => array(0x5929), 0x319E => array(0x5730), 0x319F => array(0x4EBA),
2107 0x3244 => array(0x554F), 0x3245 => array(0x5E7C), 0x3246 => array(0x6587),
2108 0x3247 => array(0x7B8F), 0x3250 => array(0x70, 0x74, 0x65), 0x3251 => array(0x32, 0x31),
2109 0x3252 => array(0x32, 0x32), 0x3253 => array(0x32, 0x33), 0x3254 => array(0x32, 0x34),
2110 0x3255 => array(0x32, 0x35), 0x3256 => array(0x32, 0x36), 0x3257 => array(0x32, 0x37),
2111 0x3258 => array(0x32, 0x38), 0x3259 => array(0x32, 0x39), 0x325A => array(0x33, 0x30),
2112 0x325B => array(0x33, 0x31), 0x325C => array(0x33, 0x32), 0x325D => array(0x33, 0x33),
2113 0x325E => array(0x33, 0x34), 0x325F => array(0x33, 0x35), 0x3260 => array(0x1100),
2114 0x3261 => array(0x1102), 0x3262 => array(0x1103), 0x3263 => array(0x1105),
2115 0x3264 => array(0x1106), 0x3265 => array(0x1107), 0x3266 => array(0x1109),
2116 0x3267 => array(0x110B), 0x3268 => array(0x110C), 0x3269 => array(0x110E),
2117 0x326A => array(0x110F), 0x326B => array(0x1110), 0x326C => array(0x1111),
2118 0x326D => array(0x1112), 0x326E => array(0xAC00), 0x326F => array(0xB098),
2119 0x3270 => array(0xB2E4), 0x3271 => array(0xB77C), 0x3272 => array(0xB9C8),
2120 0x3273 => array(0xBC14), 0x3274 => array(0xC0AC), 0x3275 => array(0xC544),
2121 0x3276 => array(0xC790), 0x3277 => array(0xCC28), 0x3278 => array(0xCE74),
2122 0x3279 => array(0xD0C0), 0x327A => array(0xD30C), 0x327B => array(0xD558),
2123 0x327C => array(0xCC38, 0xACE0), 0x327D => array(0xC8FC, 0xC758), 0x327E => array(0xC6B0),
2124 0x3280 => array(0x4E00), 0x3281 => array(0x4E8C), 0x3282 => array(0x4E09),
2125 0x3283 => array(0x56DB), 0x3284 => array(0x4E94), 0x3285 => array(0x516D),
2126 0x3286 => array(0x4E03), 0x3287 => array(0x516B), 0x3288 => array(0x4E5D),
2127 0x3289 => array(0x5341), 0x328A => array(0x6708), 0x328B => array(0x706B),
2128 0x328C => array(0x6C34), 0x328D => array(0x6728), 0x328E => array(0x91D1),
2129 0x328F => array(0x571F), 0x3290 => array(0x65E5), 0x3291 => array(0x682A),
2130 0x3292 => array(0x6709), 0x3293 => array(0x793E), 0x3294 => array(0x540D),
2131 0x3295 => array(0x7279), 0x3296 => array(0x8CA1), 0x3297 => array(0x795D),
2132 0x3298 => array(0x52B4), 0x3299 => array(0x79D8), 0x329A => array(0x7537),
2133 0x329B => array(0x5973), 0x329C => array(0x9069), 0x329D => array(0x512A),
2134 0x329E => array(0x5370), 0x329F => array(0x6CE8), 0x32A0 => array(0x9805),
2135 0x32A1 => array(0x4F11), 0x32A2 => array(0x5199), 0x32A3 => array(0x6B63),
2136 0x32A4 => array(0x4E0A), 0x32A5 => array(0x4E2D), 0x32A6 => array(0x4E0B),
2137 0x32A7 => array(0x5DE6), 0x32A8 => array(0x53F3), 0x32A9 => array(0x533B),
2138 0x32AA => array(0x5B97), 0x32AB => array(0x5B66), 0x32AC => array(0x76E3),
2139 0x32AD => array(0x4F01), 0x32AE => array(0x8CC7), 0x32AF => array(0x5354),
2140 0x32B0 => array(0x591C), 0x32B1 => array(0x33, 0x36), 0x32B2 => array(0x33, 0x37),
2141 0x32B3 => array(0x33, 0x38), 0x32B4 => array(0x33, 0x39), 0x32B5 => array(0x34, 0x30),
2142 0x32B6 => array(0x34, 0x31), 0x32B7 => array(0x34, 0x32), 0x32B8 => array(0x34, 0x33),
2143 0x32B9 => array(0x34, 0x34), 0x32BA => array(0x34, 0x35), 0x32BB => array(0x34, 0x36),
2144 0x32BC => array(0x34, 0x37), 0x32BD => array(0x34, 0x38), 0x32BE => array(0x34, 0x39),
2145 0x32BF => array(0x35, 0x30), 0x32C0 => array(0x31, 0x6708), 0x32C1 => array(0x32, 0x6708),
2146 0x32C2 => array(0x33, 0x6708), 0x32C3 => array(0x34, 0x6708), 0x32C4 => array(0x35, 0x6708),
2147 0x32C5 => array(0x36, 0x6708), 0x32C6 => array(0x37, 0x6708), 0x32C7 => array(0x38, 0x6708),
2148 0x32C8 => array(0x39, 0x6708), 0x32C9 => array(0x31, 0x30, 0x6708), 0x32CA => array(0x31, 0x31, 0x6708),
2149 0x32CB => array(0x31, 0x32, 0x6708), 0x32CC => array(0x68, 0x67), 0x32CD => array(0x65, 0x72, 0x67),
2150 0x32CE => array(0x65, 0x76), 0x32CF => array(0x6C, 0x74, 0x64), 0x32D0 => array(0x30A2),
2151 0x32D1 => array(0x30A4), 0x32D2 => array(0x30A6), 0x32D3 => array(0x30A8),
2152 0x32D4 => array(0x30AA), 0x32D5 => array(0x30AB), 0x32D6 => array(0x30AD),
2153 0x32D7 => array(0x30AF), 0x32D8 => array(0x30B1), 0x32D9 => array(0x30B3),
2154 0x32DA => array(0x30B5), 0x32DB => array(0x30B7), 0x32DC => array(0x30B9),
2155 0x32DD => array(0x30BB), 0x32DE => array(0x30BD), 0x32DF => array(0x30BF),
2156 0x32E0 => array(0x30C1), 0x32E1 => array(0x30C4), 0x32E2 => array(0x30C6),
2157 0x32E3 => array(0x30C8), 0x32E4 => array(0x30CA), 0x32E5 => array(0x30CB),
2158 0x32E6 => array(0x30CC), 0x32E7 => array(0x30CD), 0x32E8 => array(0x30CE),
2159 0x32E9 => array(0x30CF), 0x32EA => array(0x30D2), 0x32EB => array(0x30D5),
2160 0x32EC => array(0x30D8), 0x32ED => array(0x30DB), 0x32EE => array(0x30DE),
2161 0x32EF => array(0x30DF), 0x32F0 => array(0x30E0), 0x32F1 => array(0x30E1),
2162 0x32F2 => array(0x30E2), 0x32F3 => array(0x30E4), 0x32F4 => array(0x30E6),
2163 0x32F5 => array(0x30E8), 0x32F6 => array(0x30E9), 0x32F7 => array(0x30EA),
2164 0x32F8 => array(0x30EB), 0x32F9 => array(0x30EC), 0x32FA => array(0x30ED),
2165 0x32FB => array(0x30EF), 0x32FC => array(0x30F0), 0x32FD => array(0x30F1),
2166 0x32FE => array(0x30F2), 0x3300 => array(0x30A2, 0x30D1, 0x30FC, 0x30C8), 0x3301 => array(0x30A2, 0x30EB, 0x30D5, 0x30A1),
2167 0x3302 => array(0x30A2, 0x30F3, 0x30DA, 0x30A2), 0x3303 => array(0x30A2, 0x30FC, 0x30EB), 0x3304 => array(0x30A4, 0x30CB, 0x30F3, 0x30B0),
2168 0x3305 => array(0x30A4, 0x30F3, 0x30C1), 0x3306 => array(0x30A6, 0x30A9, 0x30F3), 0x3307 => array(0x30A8, 0x30B9, 0x30AF, 0x30FC, 0x30C9),
2169 0x3308 => array(0x30A8, 0x30FC, 0x30AB, 0x30FC), 0x3309 => array(0x30AA, 0x30F3, 0x30B9), 0x330A => array(0x30AA, 0x30FC, 0x30E0),
2170 0x330B => array(0x30AB, 0x30A4, 0x30EA), 0x330C => array(0x30AB, 0x30E9, 0x30C3, 0x30C8), 0x330D => array(0x30AB, 0x30ED, 0x30EA, 0x30FC),
2171 0x330E => array(0x30AC, 0x30ED, 0x30F3), 0x330F => array(0x30AC, 0x30F3, 0x30DE), 0x3310 => array(0x30AE, 0x30AC),
2172 0x3311 => array(0x30AE, 0x30CB, 0x30FC), 0x3312 => array(0x30AD, 0x30E5, 0x30EA, 0x30FC), 0x3313 => array(0x30AE, 0x30EB, 0x30C0, 0x30FC),
2173 0x3314 => array(0x30AD, 0x30ED), 0x3315 => array(0x30AD, 0x30ED, 0x30B0, 0x30E9, 0x30E0), 0x3316 => array(0x30AD, 0x30ED, 0x30E1, 0x30FC, 0x30C8, 0x30EB),
2174 0x3317 => array(0x30AD, 0x30ED, 0x30EF, 0x30C3, 0x30C8), 0x3318 => array(0x30B0, 0x30E9, 0x30E0), 0x3319 => array(0x30B0, 0x30E9, 0x30E0, 0x30C8, 0x30F3),
2175 0x331A => array(0x30AF, 0x30EB, 0x30BC, 0x30A4, 0x30ED), 0x331B => array(0x30AF, 0x30ED, 0x30FC, 0x30CD), 0x331C => array(0x30B1, 0x30FC, 0x30B9),
2176 0x331D => array(0x30B3, 0x30EB, 0x30CA), 0x331E => array(0x30B3, 0x30FC, 0x30DD), 0x331F => array(0x30B5, 0x30A4, 0x30AF, 0x30EB),
2177 0x3320 => array(0x30B5, 0x30F3, 0x30C1, 0x30FC, 0x30E0), 0x3321 => array(0x30B7, 0x30EA, 0x30F3, 0x30B0), 0x3322 => array(0x30BB, 0x30F3, 0x30C1),
2178 0x3323 => array(0x30BB, 0x30F3, 0x30C8), 0x3324 => array(0x30C0, 0x30FC, 0x30B9), 0x3325 => array(0x30C7, 0x30B7),
2179 0x3326 => array(0x30C9, 0x30EB), 0x3327 => array(0x30C8, 0x30F3), 0x3328 => array(0x30CA, 0x30CE),
2180 0x3329 => array(0x30CE, 0x30C3, 0x30C8), 0x332A => array(0x30CF, 0x30A4, 0x30C4), 0x332B => array(0x30D1, 0x30FC, 0x30BB, 0x30F3, 0x30C8),
2181 0x332C => array(0x30D1, 0x30FC, 0x30C4), 0x332D => array(0x30D0, 0x30FC, 0x30EC, 0x30EB), 0x332E => array(0x30D4, 0x30A2, 0x30B9, 0x30C8, 0x30EB),
2182 0x332F => array(0x30D4, 0x30AF, 0x30EB), 0x3330 => array(0x30D4, 0x30B3), 0x3331 => array(0x30D3, 0x30EB),
2183 0x3332 => array(0x30D5, 0x30A1, 0x30E9, 0x30C3, 0x30C9), 0x3333 => array(0x30D5, 0x30A3, 0x30FC, 0x30C8), 0x3334 => array(0x30D6, 0x30C3, 0x30B7, 0x30A7, 0x30EB),
2184 0x3335 => array(0x30D5, 0x30E9, 0x30F3), 0x3336 => array(0x30D8, 0x30AF, 0x30BF, 0x30FC, 0x30EB), 0x3337 => array(0x30DA, 0x30BD),
2185 0x3338 => array(0x30DA, 0x30CB, 0x30D2), 0x3339 => array(0x30D8, 0x30EB, 0x30C4), 0x333A => array(0x30DA, 0x30F3, 0x30B9),
2186 0x333B => array(0x30DA, 0x30FC, 0x30B8), 0x333C => array(0x30D9, 0x30FC, 0x30BF), 0x333D => array(0x30DD, 0x30A4, 0x30F3, 0x30C8),
2187 0x333E => array(0x30DC, 0x30EB, 0x30C8), 0x333F => array(0x30DB, 0x30F3), 0x3340 => array(0x30DD, 0x30F3, 0x30C9),
2188 0x3341 => array(0x30DB, 0x30FC, 0x30EB), 0x3342 => array(0x30DB, 0x30FC, 0x30F3), 0x3343 => array(0x30DE, 0x30A4, 0x30AF, 0x30ED),
2189 0x3344 => array(0x30DE, 0x30A4, 0x30EB), 0x3345 => array(0x30DE, 0x30C3, 0x30CF), 0x3346 => array(0x30DE, 0x30EB, 0x30AF),
2190 0x3347 => array(0x30DE, 0x30F3, 0x30B7, 0x30E7, 0x30F3), 0x3348 => array(0x30DF, 0x30AF, 0x30ED, 0x30F3), 0x3349 => array(0x30DF, 0x30EA),
2191 0x334A => array(0x30DF, 0x30EA, 0x30D0, 0x30FC, 0x30EB), 0x334B => array(0x30E1, 0x30AC), 0x334C => array(0x30E1, 0x30AC, 0x30C8, 0x30F3),
2192 0x334D => array(0x30E1, 0x30FC, 0x30C8, 0x30EB), 0x334E => array(0x30E4, 0x30FC, 0x30C9), 0x334F => array(0x30E4, 0x30FC, 0x30EB),
2193 0x3350 => array(0x30E6, 0x30A2, 0x30F3), 0x3351 => array(0x30EA, 0x30C3, 0x30C8, 0x30EB), 0x3352 => array(0x30EA, 0x30E9),
2194 0x3353 => array(0x30EB, 0x30D4, 0x30FC), 0x3354 => array(0x30EB, 0x30FC, 0x30D6, 0x30EB), 0x3355 => array(0x30EC, 0x30E0),
2195 0x3356 => array(0x30EC, 0x30F3, 0x30C8, 0x30B2, 0x30F3), 0x3357 => array(0x30EF, 0x30C3, 0x30C8), 0x3358 => array(0x30, 0x70B9),
2196 0x3359 => array(0x31, 0x70B9), 0x335A => array(0x32, 0x70B9), 0x335B => array(0x33, 0x70B9),
2197 0x335C => array(0x34, 0x70B9), 0x335D => array(0x35, 0x70B9), 0x335E => array(0x36, 0x70B9),
2198 0x335F => array(0x37, 0x70B9), 0x3360 => array(0x38, 0x70B9), 0x3361 => array(0x39, 0x70B9),
2199 0x3362 => array(0x31, 0x30, 0x70B9), 0x3363 => array(0x31, 0x31, 0x70B9), 0x3364 => array(0x31, 0x32, 0x70B9),
2200 0x3365 => array(0x31, 0x33, 0x70B9), 0x3366 => array(0x31, 0x34, 0x70B9), 0x3367 => array(0x31, 0x35, 0x70B9),
2201 0x3368 => array(0x31, 0x36, 0x70B9), 0x3369 => array(0x31, 0x37, 0x70B9), 0x336A => array(0x31, 0x38, 0x70B9),
2202 0x336B => array(0x31, 0x39, 0x70B9), 0x336C => array(0x32, 0x30, 0x70B9), 0x336D => array(0x32, 0x31, 0x70B9),
2203 0x336E => array(0x32, 0x32, 0x70B9), 0x336F => array(0x32, 0x33, 0x70B9), 0x3370 => array(0x32, 0x34, 0x70B9),
2204 0x3371 => array(0x68, 0x70, 0x61), 0x3372 => array(0x64, 0x61), 0x3373 => array(0x61, 0x75),
2205 0x3374 => array(0x62, 0x61, 0x72), 0x3375 => array(0x6F, 0x76), 0x3376 => array(0x70, 0x63),
2206 0x3377 => array(0x64, 0x6D), 0x3378 => array(0x64, 0x6D, 0x32), 0x3379 => array(0x64, 0x6D, 0x33),
2207 0x337A => array(0x69, 0x75), 0x337B => array(0x5E73, 0x6210), 0x337C => array(0x662D, 0x548C),
2208 0x337D => array(0x5927, 0x6B63), 0x337E => array(0x660E, 0x6CBB), 0x337F => array(0x682A, 0x5F0F, 0x4F1A, 0x793E),
2209 0x3380 => array(0x70, 0x61), 0x3381 => array(0x6E, 0x61), 0x3382 => array(0x3BC, 0x61),
2210 0x3383 => array(0x6D, 0x61), 0x3384 => array(0x6B, 0x61), 0x3385 => array(0x6B, 0x62),
2211 0x3386 => array(0x6D, 0x62), 0x3387 => array(0x67, 0x62), 0x3388 => array(0x63, 0x61, 0x6C),
2212 0x3389 => array(0x6B, 0x63, 0x61, 0x6C), 0x338A => array(0x70, 0x66), 0x338B => array(0x6E, 0x66),
2213 0x338C => array(0x3BC, 0x66), 0x338D => array(0x3BC, 0x67), 0x338E => array(0x6D, 0x67),
2214 0x338F => array(0x6B, 0x67), 0x3390 => array(0x68, 0x7A), 0x3391 => array(0x6B, 0x68, 0x7A),
2215 0x3392 => array(0x6D, 0x68, 0x7A), 0x3393 => array(0x67, 0x68, 0x7A), 0x3394 => array(0x74, 0x68, 0x7A),
2216 0x3395 => array(0x3BC, 0x6C), 0x3396 => array(0x6D, 0x6C), 0x3397 => array(0x64, 0x6C),
2217 0x3398 => array(0x6B, 0x6C), 0x3399 => array(0x66, 0x6D), 0x339A => array(0x6E, 0x6D),
2218 0x339B => array(0x3BC, 0x6D), 0x339C => array(0x6D, 0x6D), 0x339D => array(0x63, 0x6D),
2219 0x339E => array(0x6B, 0x6D), 0x339F => array(0x6D, 0x6D, 0x32), 0x33A0 => array(0x63, 0x6D, 0x32),
2220 0x33A1 => array(0x6D, 0x32), 0x33A2 => array(0x6B, 0x6D, 0x32), 0x33A3 => array(0x6D, 0x6D, 0x33),
2221 0x33A4 => array(0x63, 0x6D, 0x33), 0x33A5 => array(0x6D, 0x33), 0x33A6 => array(0x6B, 0x6D, 0x33),
2222 0x33A7 => array(0x6D, 0x2215, 0x73), 0x33A8 => array(0x6D, 0x2215, 0x73, 0x32), 0x33A9 => array(0x70, 0x61),
2223 0x33AA => array(0x6B, 0x70, 0x61), 0x33AB => array(0x6D, 0x70, 0x61), 0x33AC => array(0x67, 0x70, 0x61),
2224 0x33AD => array(0x72, 0x61, 0x64), 0x33AE => array(0x72, 0x61, 0x64, 0x2215, 0x73), 0x33AF => array(0x72, 0x61, 0x64, 0x2215, 0x73, 0x32),
2225 0x33B0 => array(0x70, 0x73), 0x33B1 => array(0x6E, 0x73), 0x33B2 => array(0x3BC, 0x73),
2226 0x33B3 => array(0x6D, 0x73), 0x33B4 => array(0x70, 0x76), 0x33B5 => array(0x6E, 0x76),
2227 0x33B6 => array(0x3BC, 0x76), 0x33B7 => array(0x6D, 0x76), 0x33B8 => array(0x6B, 0x76),
2228 0x33B9 => array(0x6D, 0x76), 0x33BA => array(0x70, 0x77), 0x33BB => array(0x6E, 0x77),
2229 0x33BC => array(0x3BC, 0x77), 0x33BD => array(0x6D, 0x77), 0x33BE => array(0x6B, 0x77),
2230 0x33BF => array(0x6D, 0x77), 0x33C0 => array(0x6B, 0x3C9), 0x33C1 => array(0x6D, 0x3C9),
2231 0x33C3 => array(0x62, 0x71), 0x33C4 => array(0x63, 0x63), 0x33C5 => array(0x63, 0x64),
2232 0x33C6 => array(0x63, 0x2215, 0x6B, 0x67), 0x33C8 => array(0x64, 0x62), 0x33C9 => array(0x67, 0x79),
2233 0x33CA => array(0x68, 0x61), 0x33CB => array(0x68, 0x70), 0x33CC => array(0x69, 0x6E),
2234 0x33CD => array(0x6B, 0x6B), 0x33CE => array(0x6B, 0x6D), 0x33CF => array(0x6B, 0x74),
2235 0x33D0 => array(0x6C, 0x6D), 0x33D1 => array(0x6C, 0x6E), 0x33D2 => array(0x6C, 0x6F, 0x67),
2236 0x33D3 => array(0x6C, 0x78), 0x33D4 => array(0x6D, 0x62), 0x33D5 => array(0x6D, 0x69, 0x6C),
2237 0x33D6 => array(0x6D, 0x6F, 0x6C), 0x33D7 => array(0x70, 0x68), 0x33D9 => array(0x70, 0x70, 0x6D),
2238 0x33DA => array(0x70, 0x72), 0x33DB => array(0x73, 0x72), 0x33DC => array(0x73, 0x76),
2239 0x33DD => array(0x77, 0x62), 0x33DE => array(0x76, 0x2215, 0x6D), 0x33DF => array(0x61, 0x2215, 0x6D),
2240 0x33E0 => array(0x31, 0x65E5), 0x33E1 => array(0x32, 0x65E5), 0x33E2 => array(0x33, 0x65E5),
2241 0x33E3 => array(0x34, 0x65E5), 0x33E4 => array(0x35, 0x65E5), 0x33E5 => array(0x36, 0x65E5),
2242 0x33E6 => array(0x37, 0x65E5), 0x33E7 => array(0x38, 0x65E5), 0x33E8 => array(0x39, 0x65E5),
2243 0x33E9 => array(0x31, 0x30, 0x65E5), 0x33EA => array(0x31, 0x31, 0x65E5), 0x33EB => array(0x31, 0x32, 0x65E5),
2244 0x33EC => array(0x31, 0x33, 0x65E5), 0x33ED => array(0x31, 0x34, 0x65E5), 0x33EE => array(0x31, 0x35, 0x65E5),
2245 0x33EF => array(0x31, 0x36, 0x65E5), 0x33F0 => array(0x31, 0x37, 0x65E5), 0x33F1 => array(0x31, 0x38, 0x65E5),
2246 0x33F2 => array(0x31, 0x39, 0x65E5), 0x33F3 => array(0x32, 0x30, 0x65E5), 0x33F4 => array(0x32, 0x31, 0x65E5),
2247 0x33F5 => array(0x32, 0x32, 0x65E5), 0x33F6 => array(0x32, 0x33, 0x65E5), 0x33F7 => array(0x32, 0x34, 0x65E5),
2248 0x33F8 => array(0x32, 0x35, 0x65E5), 0x33F9 => array(0x32, 0x36, 0x65E5), 0x33FA => array(0x32, 0x37, 0x65E5),
2249 0x33FB => array(0x32, 0x38, 0x65E5), 0x33FC => array(0x32, 0x39, 0x65E5), 0x33FD => array(0x33, 0x30, 0x65E5),
2250 0x33FE => array(0x33, 0x31, 0x65E5), 0x33FF => array(0x67, 0x61, 0x6C), 0xA640 => array(0xA641),
2251 0xA642 => array(0xA643), 0xA644 => array(0xA645), 0xA646 => array(0xA647),
2252 0xA648 => array(0xA649), 0xA64A => array(0xA64B), 0xA64C => array(0xA64D),
2253 0xA64E => array(0xA64F), 0xA650 => array(0xA651), 0xA652 => array(0xA653),
2254 0xA654 => array(0xA655), 0xA656 => array(0xA657), 0xA658 => array(0xA659),
2255 0xA65A => array(0xA65B), 0xA65C => array(0xA65D), 0xA65E => array(0xA65F),
2256 0xA660 => array(0xA661), 0xA662 => array(0xA663), 0xA664 => array(0xA665),
2257 0xA666 => array(0xA667), 0xA668 => array(0xA669), 0xA66A => array(0xA66B),
2258 0xA66C => array(0xA66D), 0xA680 => array(0xA681), 0xA682 => array(0xA683),
2259 0xA684 => array(0xA685), 0xA686 => array(0xA687), 0xA688 => array(0xA689),
2260 0xA68A => array(0xA68B), 0xA68C => array(0xA68D), 0xA68E => array(0xA68F),
2261 0xA690 => array(0xA691), 0xA692 => array(0xA693), 0xA694 => array(0xA695),
2262 0xA696 => array(0xA697), 0xA698 => array(0xA699), 0xA69A => array(0xA69B),
2263 0xA69C => array(0x44A), 0xA69D => array(0x44C), 0xA722 => array(0xA723),
2264 0xA724 => array(0xA725), 0xA726 => array(0xA727), 0xA728 => array(0xA729),
2265 0xA72A => array(0xA72B), 0xA72C => array(0xA72D), 0xA72E => array(0xA72F),
2266 0xA732 => array(0xA733), 0xA734 => array(0xA735), 0xA736 => array(0xA737),
2267 0xA738 => array(0xA739), 0xA73A => array(0xA73B), 0xA73C => array(0xA73D),
2268 0xA73E => array(0xA73F), 0xA740 => array(0xA741), 0xA742 => array(0xA743),
2269 0xA744 => array(0xA745), 0xA746 => array(0xA747), 0xA748 => array(0xA749),
2270 0xA74A => array(0xA74B), 0xA74C => array(0xA74D), 0xA74E => array(0xA74F),
2271 0xA750 => array(0xA751), 0xA752 => array(0xA753), 0xA754 => array(0xA755),
2272 0xA756 => array(0xA757), 0xA758 => array(0xA759), 0xA75A => array(0xA75B),
2273 0xA75C => array(0xA75D), 0xA75E => array(0xA75F), 0xA760 => array(0xA761),
2274 0xA762 => array(0xA763), 0xA764 => array(0xA765), 0xA766 => array(0xA767),
2275 0xA768 => array(0xA769), 0xA76A => array(0xA76B), 0xA76C => array(0xA76D),
2276 0xA76E => array(0xA76F), 0xA770 => array(0xA76F), 0xA779 => array(0xA77A),
2277 0xA77B => array(0xA77C), 0xA77D => array(0x1D79), 0xA77E => array(0xA77F),
2278 0xA780 => array(0xA781), 0xA782 => array(0xA783), 0xA784 => array(0xA785),
2279 0xA786 => array(0xA787), 0xA78B => array(0xA78C), 0xA78D => array(0x265),
2280 0xA790 => array(0xA791), 0xA792 => array(0xA793), 0xA796 => array(0xA797),
2281 0xA798 => array(0xA799), 0xA79A => array(0xA79B), 0xA79C => array(0xA79D),
2282 0xA79E => array(0xA79F), 0xA7A0 => array(0xA7A1), 0xA7A2 => array(0xA7A3),
2283 0xA7A4 => array(0xA7A5), 0xA7A6 => array(0xA7A7), 0xA7A8 => array(0xA7A9),
2284 0xA7AA => array(0x266), 0xA7AB => array(0x25C), 0xA7AC => array(0x261),
2285 0xA7AD => array(0x26C), 0xA7B0 => array(0x29E), 0xA7B1 => array(0x287),
2286 0xA7F8 => array(0x127), 0xA7F9 => array(0x153), 0xAB5C => array(0xA727),
2287 0xAB5D => array(0xAB37), 0xAB5E => array(0x26B), 0xAB5F => array(0xAB52),
2288 0xF900 => array(0x8C48), 0xF901 => array(0x66F4), 0xF902 => array(0x8ECA),
2289 0xF903 => array(0x8CC8), 0xF904 => array(0x6ED1), 0xF905 => array(0x4E32),
2290 0xF906 => array(0x53E5), 0xF907 => array(0x9F9C), 0xF908 => array(0x9F9C),
2291 0xF909 => array(0x5951), 0xF90A => array(0x91D1), 0xF90B => array(0x5587),
2292 0xF90C => array(0x5948), 0xF90D => array(0x61F6), 0xF90E => array(0x7669),
2293 0xF90F => array(0x7F85), 0xF910 => array(0x863F), 0xF911 => array(0x87BA),
2294 0xF912 => array(0x88F8), 0xF913 => array(0x908F), 0xF914 => array(0x6A02),
2295 0xF915 => array(0x6D1B), 0xF916 => array(0x70D9), 0xF917 => array(0x73DE),
2296 0xF918 => array(0x843D), 0xF919 => array(0x916A), 0xF91A => array(0x99F1),
2297 0xF91B => array(0x4E82), 0xF91C => array(0x5375), 0xF91D => array(0x6B04),
2298 0xF91E => array(0x721B), 0xF91F => array(0x862D), 0xF920 => array(0x9E1E),
2299 0xF921 => array(0x5D50), 0xF922 => array(0x6FEB), 0xF923 => array(0x85CD),
2300 0xF924 => array(0x8964), 0xF925 => array(0x62C9), 0xF926 => array(0x81D8),
2301 0xF927 => array(0x881F), 0xF928 => array(0x5ECA), 0xF929 => array(0x6717),
2302 0xF92A => array(0x6D6A), 0xF92B => array(0x72FC), 0xF92C => array(0x90CE),
2303 0xF92D => array(0x4F86), 0xF92E => array(0x51B7), 0xF92F => array(0x52DE),
2304 0xF930 => array(0x64C4), 0xF931 => array(0x6AD3), 0xF932 => array(0x7210),
2305 0xF933 => array(0x76E7), 0xF934 => array(0x8001), 0xF935 => array(0x8606),
2306 0xF936 => array(0x865C), 0xF937 => array(0x8DEF), 0xF938 => array(0x9732),
2307 0xF939 => array(0x9B6F), 0xF93A => array(0x9DFA), 0xF93B => array(0x788C),
2308 0xF93C => array(0x797F), 0xF93D => array(0x7DA0), 0xF93E => array(0x83C9),
2309 0xF93F => array(0x9304), 0xF940 => array(0x9E7F), 0xF941 => array(0x8AD6),
2310 0xF942 => array(0x58DF), 0xF943 => array(0x5F04), 0xF944 => array(0x7C60),
2311 0xF945 => array(0x807E), 0xF946 => array(0x7262), 0xF947 => array(0x78CA),
2312 0xF948 => array(0x8CC2), 0xF949 => array(0x96F7), 0xF94A => array(0x58D8),
2313 0xF94B => array(0x5C62), 0xF94C => array(0x6A13), 0xF94D => array(0x6DDA),
2314 0xF94E => array(0x6F0F), 0xF94F => array(0x7D2F), 0xF950 => array(0x7E37),
2315 0xF951 => array(0x964B), 0xF952 => array(0x52D2), 0xF953 => array(0x808B),
2316 0xF954 => array(0x51DC), 0xF955 => array(0x51CC), 0xF956 => array(0x7A1C),
2317 0xF957 => array(0x7DBE), 0xF958 => array(0x83F1), 0xF959 => array(0x9675),
2318 0xF95A => array(0x8B80), 0xF95B => array(0x62CF), 0xF95C => array(0x6A02),
2319 0xF95D => array(0x8AFE), 0xF95E => array(0x4E39), 0xF95F => array(0x5BE7),
2320 0xF960 => array(0x6012), 0xF961 => array(0x7387), 0xF962 => array(0x7570),
2321 0xF963 => array(0x5317), 0xF964 => array(0x78FB), 0xF965 => array(0x4FBF),
2322 0xF966 => array(0x5FA9), 0xF967 => array(0x4E0D), 0xF968 => array(0x6CCC),
2323 0xF969 => array(0x6578), 0xF96A => array(0x7D22), 0xF96B => array(0x53C3),
2324 0xF96C => array(0x585E), 0xF96D => array(0x7701), 0xF96E => array(0x8449),
2325 0xF96F => array(0x8AAA), 0xF970 => array(0x6BBA), 0xF971 => array(0x8FB0),
2326 0xF972 => array(0x6C88), 0xF973 => array(0x62FE), 0xF974 => array(0x82E5),
2327 0xF975 => array(0x63A0), 0xF976 => array(0x7565), 0xF977 => array(0x4EAE),
2328 0xF978 => array(0x5169), 0xF979 => array(0x51C9), 0xF97A => array(0x6881),
2329 0xF97B => array(0x7CE7), 0xF97C => array(0x826F), 0xF97D => array(0x8AD2),
2330 0xF97E => array(0x91CF), 0xF97F => array(0x52F5), 0xF980 => array(0x5442),
2331 0xF981 => array(0x5973), 0xF982 => array(0x5EEC), 0xF983 => array(0x65C5),
2332 0xF984 => array(0x6FFE), 0xF985 => array(0x792A), 0xF986 => array(0x95AD),
2333 0xF987 => array(0x9A6A), 0xF988 => array(0x9E97), 0xF989 => array(0x9ECE),
2334 0xF98A => array(0x529B), 0xF98B => array(0x66C6), 0xF98C => array(0x6B77),
2335 0xF98D => array(0x8F62), 0xF98E => array(0x5E74), 0xF98F => array(0x6190),
2336 0xF990 => array(0x6200), 0xF991 => array(0x649A), 0xF992 => array(0x6F23),
2337 0xF993 => array(0x7149), 0xF994 => array(0x7489), 0xF995 => array(0x79CA),
2338 0xF996 => array(0x7DF4), 0xF997 => array(0x806F), 0xF998 => array(0x8F26),
2339 0xF999 => array(0x84EE), 0xF99A => array(0x9023), 0xF99B => array(0x934A),
2340 0xF99C => array(0x5217), 0xF99D => array(0x52A3), 0xF99E => array(0x54BD),
2341 0xF99F => array(0x70C8), 0xF9A0 => array(0x88C2), 0xF9A1 => array(0x8AAA),
2342 0xF9A2 => array(0x5EC9), 0xF9A3 => array(0x5FF5), 0xF9A4 => array(0x637B),
2343 0xF9A5 => array(0x6BAE), 0xF9A6 => array(0x7C3E), 0xF9A7 => array(0x7375),
2344 0xF9A8 => array(0x4EE4), 0xF9A9 => array(0x56F9), 0xF9AA => array(0x5BE7),
2345 0xF9AB => array(0x5DBA), 0xF9AC => array(0x601C), 0xF9AD => array(0x73B2),
2346 0xF9AE => array(0x7469), 0xF9AF => array(0x7F9A), 0xF9B0 => array(0x8046),
2347 0xF9B1 => array(0x9234), 0xF9B2 => array(0x96F6), 0xF9B3 => array(0x9748),
2348 0xF9B4 => array(0x9818), 0xF9B5 => array(0x4F8B), 0xF9B6 => array(0x79AE),
2349 0xF9B7 => array(0x91B4), 0xF9B8 => array(0x96B8), 0xF9B9 => array(0x60E1),
2350 0xF9BA => array(0x4E86), 0xF9BB => array(0x50DA), 0xF9BC => array(0x5BEE),
2351 0xF9BD => array(0x5C3F), 0xF9BE => array(0x6599), 0xF9BF => array(0x6A02),
2352 0xF9C0 => array(0x71CE), 0xF9C1 => array(0x7642), 0xF9C2 => array(0x84FC),
2353 0xF9C3 => array(0x907C), 0xF9C4 => array(0x9F8D), 0xF9C5 => array(0x6688),
2354 0xF9C6 => array(0x962E), 0xF9C7 => array(0x5289), 0xF9C8 => array(0x677B),
2355 0xF9C9 => array(0x67F3), 0xF9CA => array(0x6D41), 0xF9CB => array(0x6E9C),
2356 0xF9CC => array(0x7409), 0xF9CD => array(0x7559), 0xF9CE => array(0x786B),
2357 0xF9CF => array(0x7D10), 0xF9D0 => array(0x985E), 0xF9D1 => array(0x516D),
2358 0xF9D2 => array(0x622E), 0xF9D3 => array(0x9678), 0xF9D4 => array(0x502B),
2359 0xF9D5 => array(0x5D19), 0xF9D6 => array(0x6DEA), 0xF9D7 => array(0x8F2A),
2360 0xF9D8 => array(0x5F8B), 0xF9D9 => array(0x6144), 0xF9DA => array(0x6817),
2361 0xF9DB => array(0x7387), 0xF9DC => array(0x9686), 0xF9DD => array(0x5229),
2362 0xF9DE => array(0x540F), 0xF9DF => array(0x5C65), 0xF9E0 => array(0x6613),
2363 0xF9E1 => array(0x674E), 0xF9E2 => array(0x68A8), 0xF9E3 => array(0x6CE5),
2364 0xF9E4 => array(0x7406), 0xF9E5 => array(0x75E2), 0xF9E6 => array(0x7F79),
2365 0xF9E7 => array(0x88CF), 0xF9E8 => array(0x88E1), 0xF9E9 => array(0x91CC),
2366 0xF9EA => array(0x96E2), 0xF9EB => array(0x533F), 0xF9EC => array(0x6EBA),
2367 0xF9ED => array(0x541D), 0xF9EE => array(0x71D0), 0xF9EF => array(0x7498),
2368 0xF9F0 => array(0x85FA), 0xF9F1 => array(0x96A3), 0xF9F2 => array(0x9C57),
2369 0xF9F3 => array(0x9E9F), 0xF9F4 => array(0x6797), 0xF9F5 => array(0x6DCB),
2370 0xF9F6 => array(0x81E8), 0xF9F7 => array(0x7ACB), 0xF9F8 => array(0x7B20),
2371 0xF9F9 => array(0x7C92), 0xF9FA => array(0x72C0), 0xF9FB => array(0x7099),
2372 0xF9FC => array(0x8B58), 0xF9FD => array(0x4EC0), 0xF9FE => array(0x8336),
2373 0xF9FF => array(0x523A), 0xFA00 => array(0x5207), 0xFA01 => array(0x5EA6),
2374 0xFA02 => array(0x62D3), 0xFA03 => array(0x7CD6), 0xFA04 => array(0x5B85),
2375 0xFA05 => array(0x6D1E), 0xFA06 => array(0x66B4), 0xFA07 => array(0x8F3B),
2376 0xFA08 => array(0x884C), 0xFA09 => array(0x964D), 0xFA0A => array(0x898B),
2377 0xFA0B => array(0x5ED3), 0xFA0C => array(0x5140), 0xFA0D => array(0x55C0),
2378 0xFA10 => array(0x585A), 0xFA12 => array(0x6674), 0xFA15 => array(0x51DE),
2379 0xFA16 => array(0x732A), 0xFA17 => array(0x76CA), 0xFA18 => array(0x793C),
2380 0xFA19 => array(0x795E), 0xFA1A => array(0x7965), 0xFA1B => array(0x798F),
2381 0xFA1C => array(0x9756), 0xFA1D => array(0x7CBE), 0xFA1E => array(0x7FBD),
2382 0xFA20 => array(0x8612), 0xFA22 => array(0x8AF8), 0xFA25 => array(0x9038),
2383 0xFA26 => array(0x90FD), 0xFA2A => array(0x98EF), 0xFA2B => array(0x98FC),
2384 0xFA2C => array(0x9928), 0xFA2D => array(0x9DB4), 0xFA2E => array(0x90DE),
2385 0xFA2F => array(0x96B7), 0xFA30 => array(0x4FAE), 0xFA31 => array(0x50E7),
2386 0xFA32 => array(0x514D), 0xFA33 => array(0x52C9), 0xFA34 => array(0x52E4),
2387 0xFA35 => array(0x5351), 0xFA36 => array(0x559D), 0xFA37 => array(0x5606),
2388 0xFA38 => array(0x5668), 0xFA39 => array(0x5840), 0xFA3A => array(0x58A8),
2389 0xFA3B => array(0x5C64), 0xFA3C => array(0x5C6E), 0xFA3D => array(0x6094),
2390 0xFA3E => array(0x6168), 0xFA3F => array(0x618E), 0xFA40 => array(0x61F2),
2391 0xFA41 => array(0x654F), 0xFA42 => array(0x65E2), 0xFA43 => array(0x6691),
2392 0xFA44 => array(0x6885), 0xFA45 => array(0x6D77), 0xFA46 => array(0x6E1A),
2393 0xFA47 => array(0x6F22), 0xFA48 => array(0x716E), 0xFA49 => array(0x722B),
2394 0xFA4A => array(0x7422), 0xFA4B => array(0x7891), 0xFA4C => array(0x793E),
2395 0xFA4D => array(0x7949), 0xFA4E => array(0x7948), 0xFA4F => array(0x7950),
2396 0xFA50 => array(0x7956), 0xFA51 => array(0x795D), 0xFA52 => array(0x798D),
2397 0xFA53 => array(0x798E), 0xFA54 => array(0x7A40), 0xFA55 => array(0x7A81),
2398 0xFA56 => array(0x7BC0), 0xFA57 => array(0x7DF4), 0xFA58 => array(0x7E09),
2399 0xFA59 => array(0x7E41), 0xFA5A => array(0x7F72), 0xFA5B => array(0x8005),
2400 0xFA5C => array(0x81ED), 0xFA5D => array(0x8279), 0xFA5E => array(0x8279),
2401 0xFA5F => array(0x8457), 0xFA60 => array(0x8910), 0xFA61 => array(0x8996),
2402 0xFA62 => array(0x8B01), 0xFA63 => array(0x8B39), 0xFA64 => array(0x8CD3),
2403 0xFA65 => array(0x8D08), 0xFA66 => array(0x8FB6), 0xFA67 => array(0x9038),
2404 0xFA68 => array(0x96E3), 0xFA69 => array(0x97FF), 0xFA6A => array(0x983B),
2405 0xFA6B => array(0x6075), 0xFA6C => array(0x242EE), 0xFA6D => array(0x8218),
2406 0xFA70 => array(0x4E26), 0xFA71 => array(0x51B5), 0xFA72 => array(0x5168),
2407 0xFA73 => array(0x4F80), 0xFA74 => array(0x5145), 0xFA75 => array(0x5180),
2408 0xFA76 => array(0x52C7), 0xFA77 => array(0x52FA), 0xFA78 => array(0x559D),
2409 0xFA79 => array(0x5555), 0xFA7A => array(0x5599), 0xFA7B => array(0x55E2),
2410 0xFA7C => array(0x585A), 0xFA7D => array(0x58B3), 0xFA7E => array(0x5944),
2411 0xFA7F => array(0x5954), 0xFA80 => array(0x5A62), 0xFA81 => array(0x5B28),
2412 0xFA82 => array(0x5ED2), 0xFA83 => array(0x5ED9), 0xFA84 => array(0x5F69),
2413 0xFA85 => array(0x5FAD), 0xFA86 => array(0x60D8), 0xFA87 => array(0x614E),
2414 0xFA88 => array(0x6108), 0xFA89 => array(0x618E), 0xFA8A => array(0x6160),
2415 0xFA8B => array(0x61F2), 0xFA8C => array(0x6234), 0xFA8D => array(0x63C4),
2416 0xFA8E => array(0x641C), 0xFA8F => array(0x6452), 0xFA90 => array(0x6556),
2417 0xFA91 => array(0x6674), 0xFA92 => array(0x6717), 0xFA93 => array(0x671B),
2418 0xFA94 => array(0x6756), 0xFA95 => array(0x6B79), 0xFA96 => array(0x6BBA),
2419 0xFA97 => array(0x6D41), 0xFA98 => array(0x6EDB), 0xFA99 => array(0x6ECB),
2420 0xFA9A => array(0x6F22), 0xFA9B => array(0x701E), 0xFA9C => array(0x716E),
2421 0xFA9D => array(0x77A7), 0xFA9E => array(0x7235), 0xFA9F => array(0x72AF),
2422 0xFAA0 => array(0x732A), 0xFAA1 => array(0x7471), 0xFAA2 => array(0x7506),
2423 0xFAA3 => array(0x753B), 0xFAA4 => array(0x761D), 0xFAA5 => array(0x761F),
2424 0xFAA6 => array(0x76CA), 0xFAA7 => array(0x76DB), 0xFAA8 => array(0x76F4),
2425 0xFAA9 => array(0x774A), 0xFAAA => array(0x7740), 0xFAAB => array(0x78CC),
2426 0xFAAC => array(0x7AB1), 0xFAAD => array(0x7BC0), 0xFAAE => array(0x7C7B),
2427 0xFAAF => array(0x7D5B), 0xFAB0 => array(0x7DF4), 0xFAB1 => array(0x7F3E),
2428 0xFAB2 => array(0x8005), 0xFAB3 => array(0x8352), 0xFAB4 => array(0x83EF),
2429 0xFAB5 => array(0x8779), 0xFAB6 => array(0x8941), 0xFAB7 => array(0x8986),
2430 0xFAB8 => array(0x8996), 0xFAB9 => array(0x8ABF), 0xFABA => array(0x8AF8),
2431 0xFABB => array(0x8ACB), 0xFABC => array(0x8B01), 0xFABD => array(0x8AFE),
2432 0xFABE => array(0x8AED), 0xFABF => array(0x8B39), 0xFAC0 => array(0x8B8A),
2433 0xFAC1 => array(0x8D08), 0xFAC2 => array(0x8F38), 0xFAC3 => array(0x9072),
2434 0xFAC4 => array(0x9199), 0xFAC5 => array(0x9276), 0xFAC6 => array(0x967C),
2435 0xFAC7 => array(0x96E3), 0xFAC8 => array(0x9756), 0xFAC9 => array(0x97DB),
2436 0xFACA => array(0x97FF), 0xFACB => array(0x980B), 0xFACC => array(0x983B),
2437 0xFACD => array(0x9B12), 0xFACE => array(0x9F9C), 0xFACF => array(0x2284A),
2438 0xFAD0 => array(0x22844), 0xFAD1 => array(0x233D5), 0xFAD2 => array(0x3B9D),
2439 0xFAD3 => array(0x4018), 0xFAD4 => array(0x4039), 0xFAD5 => array(0x25249),
2440 0xFAD6 => array(0x25CD0), 0xFAD7 => array(0x27ED3), 0xFAD8 => array(0x9F43),
2441 0xFAD9 => array(0x9F8E), 0xFB00 => array(0x66, 0x66), 0xFB01 => array(0x66, 0x69),
2442 0xFB02 => array(0x66, 0x6C), 0xFB03 => array(0x66, 0x66, 0x69), 0xFB04 => array(0x66, 0x66, 0x6C),
2443 0xFB05 => array(0x73, 0x74), 0xFB06 => array(0x73, 0x74), 0xFB13 => array(0x574, 0x576),
2444 0xFB14 => array(0x574, 0x565), 0xFB15 => array(0x574, 0x56B), 0xFB16 => array(0x57E, 0x576),
2445 0xFB17 => array(0x574, 0x56D), 0xFB1D => array(0x5D9, 0x5B4), 0xFB1F => array(0x5F2, 0x5B7),
2446 0xFB20 => array(0x5E2), 0xFB21 => array(0x5D0), 0xFB22 => array(0x5D3),
2447 0xFB23 => array(0x5D4), 0xFB24 => array(0x5DB), 0xFB25 => array(0x5DC),
2448 0xFB26 => array(0x5DD), 0xFB27 => array(0x5E8), 0xFB28 => array(0x5EA),
2449 0xFB2A => array(0x5E9, 0x5C1), 0xFB2B => array(0x5E9, 0x5C2), 0xFB2C => array(0x5E9, 0x5BC, 0x5C1),
2450 0xFB2D => array(0x5E9, 0x5BC, 0x5C2), 0xFB2E => array(0x5D0, 0x5B7), 0xFB2F => array(0x5D0, 0x5B8),
2451 0xFB30 => array(0x5D0, 0x5BC), 0xFB31 => array(0x5D1, 0x5BC), 0xFB32 => array(0x5D2, 0x5BC),
2452 0xFB33 => array(0x5D3, 0x5BC), 0xFB34 => array(0x5D4, 0x5BC), 0xFB35 => array(0x5D5, 0x5BC),
2453 0xFB36 => array(0x5D6, 0x5BC), 0xFB38 => array(0x5D8, 0x5BC), 0xFB39 => array(0x5D9, 0x5BC),
2454 0xFB3A => array(0x5DA, 0x5BC), 0xFB3B => array(0x5DB, 0x5BC), 0xFB3C => array(0x5DC, 0x5BC),
2455 0xFB3E => array(0x5DE, 0x5BC), 0xFB40 => array(0x5E0, 0x5BC), 0xFB41 => array(0x5E1, 0x5BC),
2456 0xFB43 => array(0x5E3, 0x5BC), 0xFB44 => array(0x5E4, 0x5BC), 0xFB46 => array(0x5E6, 0x5BC),
2457 0xFB47 => array(0x5E7, 0x5BC), 0xFB48 => array(0x5E8, 0x5BC), 0xFB49 => array(0x5E9, 0x5BC),
2458 0xFB4A => array(0x5EA, 0x5BC), 0xFB4B => array(0x5D5, 0x5B9), 0xFB4C => array(0x5D1, 0x5BF),
2459 0xFB4D => array(0x5DB, 0x5BF), 0xFB4E => array(0x5E4, 0x5BF), 0xFB4F => array(0x5D0, 0x5DC),
2460 0xFB50 => array(0x671), 0xFB51 => array(0x671), 0xFB52 => array(0x67B),
2461 0xFB53 => array(0x67B), 0xFB54 => array(0x67B), 0xFB55 => array(0x67B),
2462 0xFB56 => array(0x67E), 0xFB57 => array(0x67E), 0xFB58 => array(0x67E),
2463 0xFB59 => array(0x67E), 0xFB5A => array(0x680), 0xFB5B => array(0x680),
2464 0xFB5C => array(0x680), 0xFB5D => array(0x680), 0xFB5E => array(0x67A),
2465 0xFB5F => array(0x67A), 0xFB60 => array(0x67A), 0xFB61 => array(0x67A),
2466 0xFB62 => array(0x67F), 0xFB63 => array(0x67F), 0xFB64 => array(0x67F),
2467 0xFB65 => array(0x67F), 0xFB66 => array(0x679), 0xFB67 => array(0x679),
2468 0xFB68 => array(0x679), 0xFB69 => array(0x679), 0xFB6A => array(0x6A4),
2469 0xFB6B => array(0x6A4), 0xFB6C => array(0x6A4), 0xFB6D => array(0x6A4),
2470 0xFB6E => array(0x6A6), 0xFB6F => array(0x6A6), 0xFB70 => array(0x6A6),
2471 0xFB71 => array(0x6A6), 0xFB72 => array(0x684), 0xFB73 => array(0x684),
2472 0xFB74 => array(0x684), 0xFB75 => array(0x684), 0xFB76 => array(0x683),
2473 0xFB77 => array(0x683), 0xFB78 => array(0x683), 0xFB79 => array(0x683),
2474 0xFB7A => array(0x686), 0xFB7B => array(0x686), 0xFB7C => array(0x686),
2475 0xFB7D => array(0x686), 0xFB7E => array(0x687), 0xFB7F => array(0x687),
2476 0xFB80 => array(0x687), 0xFB81 => array(0x687), 0xFB82 => array(0x68D),
2477 0xFB83 => array(0x68D), 0xFB84 => array(0x68C), 0xFB85 => array(0x68C),
2478 0xFB86 => array(0x68E), 0xFB87 => array(0x68E), 0xFB88 => array(0x688),
2479 0xFB89 => array(0x688), 0xFB8A => array(0x698), 0xFB8B => array(0x698),
2480 0xFB8C => array(0x691), 0xFB8D => array(0x691), 0xFB8E => array(0x6A9),
2481 0xFB8F => array(0x6A9), 0xFB90 => array(0x6A9), 0xFB91 => array(0x6A9),
2482 0xFB92 => array(0x6AF), 0xFB93 => array(0x6AF), 0xFB94 => array(0x6AF),
2483 0xFB95 => array(0x6AF), 0xFB96 => array(0x6B3), 0xFB97 => array(0x6B3),
2484 0xFB98 => array(0x6B3), 0xFB99 => array(0x6B3), 0xFB9A => array(0x6B1),
2485 0xFB9B => array(0x6B1), 0xFB9C => array(0x6B1), 0xFB9D => array(0x6B1),
2486 0xFB9E => array(0x6BA), 0xFB9F => array(0x6BA), 0xFBA0 => array(0x6BB),
2487 0xFBA1 => array(0x6BB), 0xFBA2 => array(0x6BB), 0xFBA3 => array(0x6BB),
2488 0xFBA4 => array(0x6C0), 0xFBA5 => array(0x6C0), 0xFBA6 => array(0x6C1),
2489 0xFBA7 => array(0x6C1), 0xFBA8 => array(0x6C1), 0xFBA9 => array(0x6C1),
2490 0xFBAA => array(0x6BE), 0xFBAB => array(0x6BE), 0xFBAC => array(0x6BE),
2491 0xFBAD => array(0x6BE), 0xFBAE => array(0x6D2), 0xFBAF => array(0x6D2),
2492 0xFBB0 => array(0x6D3), 0xFBB1 => array(0x6D3), 0xFBD3 => array(0x6AD),
2493 0xFBD4 => array(0x6AD), 0xFBD5 => array(0x6AD), 0xFBD6 => array(0x6AD),
2494 0xFBD7 => array(0x6C7), 0xFBD8 => array(0x6C7), 0xFBD9 => array(0x6C6),
2495 0xFBDA => array(0x6C6), 0xFBDB => array(0x6C8), 0xFBDC => array(0x6C8),
2496 0xFBDD => array(0x6C7, 0x674), 0xFBDE => array(0x6CB), 0xFBDF => array(0x6CB),
2497 0xFBE0 => array(0x6C5), 0xFBE1 => array(0x6C5), 0xFBE2 => array(0x6C9),
2498 0xFBE3 => array(0x6C9), 0xFBE4 => array(0x6D0), 0xFBE5 => array(0x6D0),
2499 0xFBE6 => array(0x6D0), 0xFBE7 => array(0x6D0), 0xFBE8 => array(0x649),
2500 0xFBE9 => array(0x649), 0xFBEA => array(0x626, 0x627), 0xFBEB => array(0x626, 0x627),
2501 0xFBEC => array(0x626, 0x6D5), 0xFBED => array(0x626, 0x6D5), 0xFBEE => array(0x626, 0x648),
2502 0xFBEF => array(0x626, 0x648), 0xFBF0 => array(0x626, 0x6C7), 0xFBF1 => array(0x626, 0x6C7),
2503 0xFBF2 => array(0x626, 0x6C6), 0xFBF3 => array(0x626, 0x6C6), 0xFBF4 => array(0x626, 0x6C8),
2504 0xFBF5 => array(0x626, 0x6C8), 0xFBF6 => array(0x626, 0x6D0), 0xFBF7 => array(0x626, 0x6D0),
2505 0xFBF8 => array(0x626, 0x6D0), 0xFBF9 => array(0x626, 0x649), 0xFBFA => array(0x626, 0x649),
2506 0xFBFB => array(0x626, 0x649), 0xFBFC => array(0x6CC), 0xFBFD => array(0x6CC),
2507 0xFBFE => array(0x6CC), 0xFBFF => array(0x6CC), 0xFC00 => array(0x626, 0x62C),
2508 0xFC01 => array(0x626, 0x62D), 0xFC02 => array(0x626, 0x645), 0xFC03 => array(0x626, 0x649),
2509 0xFC04 => array(0x626, 0x64A), 0xFC05 => array(0x628, 0x62C), 0xFC06 => array(0x628, 0x62D),
2510 0xFC07 => array(0x628, 0x62E), 0xFC08 => array(0x628, 0x645), 0xFC09 => array(0x628, 0x649),
2511 0xFC0A => array(0x628, 0x64A), 0xFC0B => array(0x62A, 0x62C), 0xFC0C => array(0x62A, 0x62D),
2512 0xFC0D => array(0x62A, 0x62E), 0xFC0E => array(0x62A, 0x645), 0xFC0F => array(0x62A, 0x649),
2513 0xFC10 => array(0x62A, 0x64A), 0xFC11 => array(0x62B, 0x62C), 0xFC12 => array(0x62B, 0x645),
2514 0xFC13 => array(0x62B, 0x649), 0xFC14 => array(0x62B, 0x64A), 0xFC15 => array(0x62C, 0x62D),
2515 0xFC16 => array(0x62C, 0x645), 0xFC17 => array(0x62D, 0x62C), 0xFC18 => array(0x62D, 0x645),
2516 0xFC19 => array(0x62E, 0x62C), 0xFC1A => array(0x62E, 0x62D), 0xFC1B => array(0x62E, 0x645),
2517 0xFC1C => array(0x633, 0x62C), 0xFC1D => array(0x633, 0x62D), 0xFC1E => array(0x633, 0x62E),
2518 0xFC1F => array(0x633, 0x645), 0xFC20 => array(0x635, 0x62D), 0xFC21 => array(0x635, 0x645),
2519 0xFC22 => array(0x636, 0x62C), 0xFC23 => array(0x636, 0x62D), 0xFC24 => array(0x636, 0x62E),
2520 0xFC25 => array(0x636, 0x645), 0xFC26 => array(0x637, 0x62D), 0xFC27 => array(0x637, 0x645),
2521 0xFC28 => array(0x638, 0x645), 0xFC29 => array(0x639, 0x62C), 0xFC2A => array(0x639, 0x645),
2522 0xFC2B => array(0x63A, 0x62C), 0xFC2C => array(0x63A, 0x645), 0xFC2D => array(0x641, 0x62C),
2523 0xFC2E => array(0x641, 0x62D), 0xFC2F => array(0x641, 0x62E), 0xFC30 => array(0x641, 0x645),
2524 0xFC31 => array(0x641, 0x649), 0xFC32 => array(0x641, 0x64A), 0xFC33 => array(0x642, 0x62D),
2525 0xFC34 => array(0x642, 0x645), 0xFC35 => array(0x642, 0x649), 0xFC36 => array(0x642, 0x64A),
2526 0xFC37 => array(0x643, 0x627), 0xFC38 => array(0x643, 0x62C), 0xFC39 => array(0x643, 0x62D),
2527 0xFC3A => array(0x643, 0x62E), 0xFC3B => array(0x643, 0x644), 0xFC3C => array(0x643, 0x645),
2528 0xFC3D => array(0x643, 0x649), 0xFC3E => array(0x643, 0x64A), 0xFC3F => array(0x644, 0x62C),
2529 0xFC40 => array(0x644, 0x62D), 0xFC41 => array(0x644, 0x62E), 0xFC42 => array(0x644, 0x645),
2530 0xFC43 => array(0x644, 0x649), 0xFC44 => array(0x644, 0x64A), 0xFC45 => array(0x645, 0x62C),
2531 0xFC46 => array(0x645, 0x62D), 0xFC47 => array(0x645, 0x62E), 0xFC48 => array(0x645, 0x645),
2532 0xFC49 => array(0x645, 0x649), 0xFC4A => array(0x645, 0x64A), 0xFC4B => array(0x646, 0x62C),
2533 0xFC4C => array(0x646, 0x62D), 0xFC4D => array(0x646, 0x62E), 0xFC4E => array(0x646, 0x645),
2534 0xFC4F => array(0x646, 0x649), 0xFC50 => array(0x646, 0x64A), 0xFC51 => array(0x647, 0x62C),
2535 0xFC52 => array(0x647, 0x645), 0xFC53 => array(0x647, 0x649), 0xFC54 => array(0x647, 0x64A),
2536 0xFC55 => array(0x64A, 0x62C), 0xFC56 => array(0x64A, 0x62D), 0xFC57 => array(0x64A, 0x62E),
2537 0xFC58 => array(0x64A, 0x645), 0xFC59 => array(0x64A, 0x649), 0xFC5A => array(0x64A, 0x64A),
2538 0xFC5B => array(0x630, 0x670), 0xFC5C => array(0x631, 0x670), 0xFC5D => array(0x649, 0x670),
2539 0xFC64 => array(0x626, 0x631), 0xFC65 => array(0x626, 0x632), 0xFC66 => array(0x626, 0x645),
2540 0xFC67 => array(0x626, 0x646), 0xFC68 => array(0x626, 0x649), 0xFC69 => array(0x626, 0x64A),
2541 0xFC6A => array(0x628, 0x631), 0xFC6B => array(0x628, 0x632), 0xFC6C => array(0x628, 0x645),
2542 0xFC6D => array(0x628, 0x646), 0xFC6E => array(0x628, 0x649), 0xFC6F => array(0x628, 0x64A),
2543 0xFC70 => array(0x62A, 0x631), 0xFC71 => array(0x62A, 0x632), 0xFC72 => array(0x62A, 0x645),
2544 0xFC73 => array(0x62A, 0x646), 0xFC74 => array(0x62A, 0x649), 0xFC75 => array(0x62A, 0x64A),
2545 0xFC76 => array(0x62B, 0x631), 0xFC77 => array(0x62B, 0x632), 0xFC78 => array(0x62B, 0x645),
2546 0xFC79 => array(0x62B, 0x646), 0xFC7A => array(0x62B, 0x649), 0xFC7B => array(0x62B, 0x64A),
2547 0xFC7C => array(0x641, 0x649), 0xFC7D => array(0x641, 0x64A), 0xFC7E => array(0x642, 0x649),
2548 0xFC7F => array(0x642, 0x64A), 0xFC80 => array(0x643, 0x627), 0xFC81 => array(0x643, 0x644),
2549 0xFC82 => array(0x643, 0x645), 0xFC83 => array(0x643, 0x649), 0xFC84 => array(0x643, 0x64A),
2550 0xFC85 => array(0x644, 0x645), 0xFC86 => array(0x644, 0x649), 0xFC87 => array(0x644, 0x64A),
2551 0xFC88 => array(0x645, 0x627), 0xFC89 => array(0x645, 0x645), 0xFC8A => array(0x646, 0x631),
2552 0xFC8B => array(0x646, 0x632), 0xFC8C => array(0x646, 0x645), 0xFC8D => array(0x646, 0x646),
2553 0xFC8E => array(0x646, 0x649), 0xFC8F => array(0x646, 0x64A), 0xFC90 => array(0x649, 0x670),
2554 0xFC91 => array(0x64A, 0x631), 0xFC92 => array(0x64A, 0x632), 0xFC93 => array(0x64A, 0x645),
2555 0xFC94 => array(0x64A, 0x646), 0xFC95 => array(0x64A, 0x649), 0xFC96 => array(0x64A, 0x64A),
2556 0xFC97 => array(0x626, 0x62C), 0xFC98 => array(0x626, 0x62D), 0xFC99 => array(0x626, 0x62E),
2557 0xFC9A => array(0x626, 0x645), 0xFC9B => array(0x626, 0x647), 0xFC9C => array(0x628, 0x62C),
2558 0xFC9D => array(0x628, 0x62D), 0xFC9E => array(0x628, 0x62E), 0xFC9F => array(0x628, 0x645),
2559 0xFCA0 => array(0x628, 0x647), 0xFCA1 => array(0x62A, 0x62C), 0xFCA2 => array(0x62A, 0x62D),
2560 0xFCA3 => array(0x62A, 0x62E), 0xFCA4 => array(0x62A, 0x645), 0xFCA5 => array(0x62A, 0x647),
2561 0xFCA6 => array(0x62B, 0x645), 0xFCA7 => array(0x62C, 0x62D), 0xFCA8 => array(0x62C, 0x645),
2562 0xFCA9 => array(0x62D, 0x62C), 0xFCAA => array(0x62D, 0x645), 0xFCAB => array(0x62E, 0x62C),
2563 0xFCAC => array(0x62E, 0x645), 0xFCAD => array(0x633, 0x62C), 0xFCAE => array(0x633, 0x62D),
2564 0xFCAF => array(0x633, 0x62E), 0xFCB0 => array(0x633, 0x645), 0xFCB1 => array(0x635, 0x62D),
2565 0xFCB2 => array(0x635, 0x62E), 0xFCB3 => array(0x635, 0x645), 0xFCB4 => array(0x636, 0x62C),
2566 0xFCB5 => array(0x636, 0x62D), 0xFCB6 => array(0x636, 0x62E), 0xFCB7 => array(0x636, 0x645),
2567 0xFCB8 => array(0x637, 0x62D), 0xFCB9 => array(0x638, 0x645), 0xFCBA => array(0x639, 0x62C),
2568 0xFCBB => array(0x639, 0x645), 0xFCBC => array(0x63A, 0x62C), 0xFCBD => array(0x63A, 0x645),
2569 0xFCBE => array(0x641, 0x62C), 0xFCBF => array(0x641, 0x62D), 0xFCC0 => array(0x641, 0x62E),
2570 0xFCC1 => array(0x641, 0x645), 0xFCC2 => array(0x642, 0x62D), 0xFCC3 => array(0x642, 0x645),
2571 0xFCC4 => array(0x643, 0x62C), 0xFCC5 => array(0x643, 0x62D), 0xFCC6 => array(0x643, 0x62E),
2572 0xFCC7 => array(0x643, 0x644), 0xFCC8 => array(0x643, 0x645), 0xFCC9 => array(0x644, 0x62C),
2573 0xFCCA => array(0x644, 0x62D), 0xFCCB => array(0x644, 0x62E), 0xFCCC => array(0x644, 0x645),
2574 0xFCCD => array(0x644, 0x647), 0xFCCE => array(0x645, 0x62C), 0xFCCF => array(0x645, 0x62D),
2575 0xFCD0 => array(0x645, 0x62E), 0xFCD1 => array(0x645, 0x645), 0xFCD2 => array(0x646, 0x62C),
2576 0xFCD3 => array(0x646, 0x62D), 0xFCD4 => array(0x646, 0x62E), 0xFCD5 => array(0x646, 0x645),
2577 0xFCD6 => array(0x646, 0x647), 0xFCD7 => array(0x647, 0x62C), 0xFCD8 => array(0x647, 0x645),
2578 0xFCD9 => array(0x647, 0x670), 0xFCDA => array(0x64A, 0x62C), 0xFCDB => array(0x64A, 0x62D),
2579 0xFCDC => array(0x64A, 0x62E), 0xFCDD => array(0x64A, 0x645), 0xFCDE => array(0x64A, 0x647),
2580 0xFCDF => array(0x626, 0x645), 0xFCE0 => array(0x626, 0x647), 0xFCE1 => array(0x628, 0x645),
2581 0xFCE2 => array(0x628, 0x647), 0xFCE3 => array(0x62A, 0x645), 0xFCE4 => array(0x62A, 0x647),
2582 0xFCE5 => array(0x62B, 0x645), 0xFCE6 => array(0x62B, 0x647), 0xFCE7 => array(0x633, 0x645),
2583 0xFCE8 => array(0x633, 0x647), 0xFCE9 => array(0x634, 0x645), 0xFCEA => array(0x634, 0x647),
2584 0xFCEB => array(0x643, 0x644), 0xFCEC => array(0x643, 0x645), 0xFCED => array(0x644, 0x645),
2585 0xFCEE => array(0x646, 0x645), 0xFCEF => array(0x646, 0x647), 0xFCF0 => array(0x64A, 0x645),
2586 0xFCF1 => array(0x64A, 0x647), 0xFCF2 => array(0x640, 0x64E, 0x651), 0xFCF3 => array(0x640, 0x64F, 0x651),
2587 0xFCF4 => array(0x640, 0x650, 0x651), 0xFCF5 => array(0x637, 0x649), 0xFCF6 => array(0x637, 0x64A),
2588 0xFCF7 => array(0x639, 0x649), 0xFCF8 => array(0x639, 0x64A), 0xFCF9 => array(0x63A, 0x649),
2589 0xFCFA => array(0x63A, 0x64A), 0xFCFB => array(0x633, 0x649), 0xFCFC => array(0x633, 0x64A),
2590 0xFCFD => array(0x634, 0x649), 0xFCFE => array(0x634, 0x64A), 0xFCFF => array(0x62D, 0x649),
2591 0xFD00 => array(0x62D, 0x64A), 0xFD01 => array(0x62C, 0x649), 0xFD02 => array(0x62C, 0x64A),
2592 0xFD03 => array(0x62E, 0x649), 0xFD04 => array(0x62E, 0x64A), 0xFD05 => array(0x635, 0x649),
2593 0xFD06 => array(0x635, 0x64A), 0xFD07 => array(0x636, 0x649), 0xFD08 => array(0x636, 0x64A),
2594 0xFD09 => array(0x634, 0x62C), 0xFD0A => array(0x634, 0x62D), 0xFD0B => array(0x634, 0x62E),
2595 0xFD0C => array(0x634, 0x645), 0xFD0D => array(0x634, 0x631), 0xFD0E => array(0x633, 0x631),
2596 0xFD0F => array(0x635, 0x631), 0xFD10 => array(0x636, 0x631), 0xFD11 => array(0x637, 0x649),
2597 0xFD12 => array(0x637, 0x64A), 0xFD13 => array(0x639, 0x649), 0xFD14 => array(0x639, 0x64A),
2598 0xFD15 => array(0x63A, 0x649), 0xFD16 => array(0x63A, 0x64A), 0xFD17 => array(0x633, 0x649),
2599 0xFD18 => array(0x633, 0x64A), 0xFD19 => array(0x634, 0x649), 0xFD1A => array(0x634, 0x64A),
2600 0xFD1B => array(0x62D, 0x649), 0xFD1C => array(0x62D, 0x64A), 0xFD1D => array(0x62C, 0x649),
2601 0xFD1E => array(0x62C, 0x64A), 0xFD1F => array(0x62E, 0x649), 0xFD20 => array(0x62E, 0x64A),
2602 0xFD21 => array(0x635, 0x649), 0xFD22 => array(0x635, 0x64A), 0xFD23 => array(0x636, 0x649),
2603 0xFD24 => array(0x636, 0x64A), 0xFD25 => array(0x634, 0x62C), 0xFD26 => array(0x634, 0x62D),
2604 0xFD27 => array(0x634, 0x62E), 0xFD28 => array(0x634, 0x645), 0xFD29 => array(0x634, 0x631),
2605 0xFD2A => array(0x633, 0x631), 0xFD2B => array(0x635, 0x631), 0xFD2C => array(0x636, 0x631),
2606 0xFD2D => array(0x634, 0x62C), 0xFD2E => array(0x634, 0x62D), 0xFD2F => array(0x634, 0x62E),
2607 0xFD30 => array(0x634, 0x645), 0xFD31 => array(0x633, 0x647), 0xFD32 => array(0x634, 0x647),
2608 0xFD33 => array(0x637, 0x645), 0xFD34 => array(0x633, 0x62C), 0xFD35 => array(0x633, 0x62D),
2609 0xFD36 => array(0x633, 0x62E), 0xFD37 => array(0x634, 0x62C), 0xFD38 => array(0x634, 0x62D),
2610 0xFD39 => array(0x634, 0x62E), 0xFD3A => array(0x637, 0x645), 0xFD3B => array(0x638, 0x645),
2611 0xFD3C => array(0x627, 0x64B), 0xFD3D => array(0x627, 0x64B), 0xFD50 => array(0x62A, 0x62C, 0x645),
2612 0xFD51 => array(0x62A, 0x62D, 0x62C), 0xFD52 => array(0x62A, 0x62D, 0x62C), 0xFD53 => array(0x62A, 0x62D, 0x645),
2613 0xFD54 => array(0x62A, 0x62E, 0x645), 0xFD55 => array(0x62A, 0x645, 0x62C), 0xFD56 => array(0x62A, 0x645, 0x62D),
2614 0xFD57 => array(0x62A, 0x645, 0x62E), 0xFD58 => array(0x62C, 0x645, 0x62D), 0xFD59 => array(0x62C, 0x645, 0x62D),
2615 0xFD5A => array(0x62D, 0x645, 0x64A), 0xFD5B => array(0x62D, 0x645, 0x649), 0xFD5C => array(0x633, 0x62D, 0x62C),
2616 0xFD5D => array(0x633, 0x62C, 0x62D), 0xFD5E => array(0x633, 0x62C, 0x649), 0xFD5F => array(0x633, 0x645, 0x62D),
2617 0xFD60 => array(0x633, 0x645, 0x62D), 0xFD61 => array(0x633, 0x645, 0x62C), 0xFD62 => array(0x633, 0x645, 0x645),
2618 0xFD63 => array(0x633, 0x645, 0x645), 0xFD64 => array(0x635, 0x62D, 0x62D), 0xFD65 => array(0x635, 0x62D, 0x62D),
2619 0xFD66 => array(0x635, 0x645, 0x645), 0xFD67 => array(0x634, 0x62D, 0x645), 0xFD68 => array(0x634, 0x62D, 0x645),
2620 0xFD69 => array(0x634, 0x62C, 0x64A), 0xFD6A => array(0x634, 0x645, 0x62E), 0xFD6B => array(0x634, 0x645, 0x62E),
2621 0xFD6C => array(0x634, 0x645, 0x645), 0xFD6D => array(0x634, 0x645, 0x645), 0xFD6E => array(0x636, 0x62D, 0x649),
2622 0xFD6F => array(0x636, 0x62E, 0x645), 0xFD70 => array(0x636, 0x62E, 0x645), 0xFD71 => array(0x637, 0x645, 0x62D),
2623 0xFD72 => array(0x637, 0x645, 0x62D), 0xFD73 => array(0x637, 0x645, 0x645), 0xFD74 => array(0x637, 0x645, 0x64A),
2624 0xFD75 => array(0x639, 0x62C, 0x645), 0xFD76 => array(0x639, 0x645, 0x645), 0xFD77 => array(0x639, 0x645, 0x645),
2625 0xFD78 => array(0x639, 0x645, 0x649), 0xFD79 => array(0x63A, 0x645, 0x645), 0xFD7A => array(0x63A, 0x645, 0x64A),
2626 0xFD7B => array(0x63A, 0x645, 0x649), 0xFD7C => array(0x641, 0x62E, 0x645), 0xFD7D => array(0x641, 0x62E, 0x645),
2627 0xFD7E => array(0x642, 0x645, 0x62D), 0xFD7F => array(0x642, 0x645, 0x645), 0xFD80 => array(0x644, 0x62D, 0x645),
2628 0xFD81 => array(0x644, 0x62D, 0x64A), 0xFD82 => array(0x644, 0x62D, 0x649), 0xFD83 => array(0x644, 0x62C, 0x62C),
2629 0xFD84 => array(0x644, 0x62C, 0x62C), 0xFD85 => array(0x644, 0x62E, 0x645), 0xFD86 => array(0x644, 0x62E, 0x645),
2630 0xFD87 => array(0x644, 0x645, 0x62D), 0xFD88 => array(0x644, 0x645, 0x62D), 0xFD89 => array(0x645, 0x62D, 0x62C),
2631 0xFD8A => array(0x645, 0x62D, 0x645), 0xFD8B => array(0x645, 0x62D, 0x64A), 0xFD8C => array(0x645, 0x62C, 0x62D),
2632 0xFD8D => array(0x645, 0x62C, 0x645), 0xFD8E => array(0x645, 0x62E, 0x62C), 0xFD8F => array(0x645, 0x62E, 0x645),
2633 0xFD92 => array(0x645, 0x62C, 0x62E), 0xFD93 => array(0x647, 0x645, 0x62C), 0xFD94 => array(0x647, 0x645, 0x645),
2634 0xFD95 => array(0x646, 0x62D, 0x645), 0xFD96 => array(0x646, 0x62D, 0x649), 0xFD97 => array(0x646, 0x62C, 0x645),
2635 0xFD98 => array(0x646, 0x62C, 0x645), 0xFD99 => array(0x646, 0x62C, 0x649), 0xFD9A => array(0x646, 0x645, 0x64A),
2636 0xFD9B => array(0x646, 0x645, 0x649), 0xFD9C => array(0x64A, 0x645, 0x645), 0xFD9D => array(0x64A, 0x645, 0x645),
2637 0xFD9E => array(0x628, 0x62E, 0x64A), 0xFD9F => array(0x62A, 0x62C, 0x64A), 0xFDA0 => array(0x62A, 0x62C, 0x649),
2638 0xFDA1 => array(0x62A, 0x62E, 0x64A), 0xFDA2 => array(0x62A, 0x62E, 0x649), 0xFDA3 => array(0x62A, 0x645, 0x64A),
2639 0xFDA4 => array(0x62A, 0x645, 0x649), 0xFDA5 => array(0x62C, 0x645, 0x64A), 0xFDA6 => array(0x62C, 0x62D, 0x649),
2640 0xFDA7 => array(0x62C, 0x645, 0x649), 0xFDA8 => array(0x633, 0x62E, 0x649), 0xFDA9 => array(0x635, 0x62D, 0x64A),
2641 0xFDAA => array(0x634, 0x62D, 0x64A), 0xFDAB => array(0x636, 0x62D, 0x64A), 0xFDAC => array(0x644, 0x62C, 0x64A),
2642 0xFDAD => array(0x644, 0x645, 0x64A), 0xFDAE => array(0x64A, 0x62D, 0x64A), 0xFDAF => array(0x64A, 0x62C, 0x64A),
2643 0xFDB0 => array(0x64A, 0x645, 0x64A), 0xFDB1 => array(0x645, 0x645, 0x64A), 0xFDB2 => array(0x642, 0x645, 0x64A),
2644 0xFDB3 => array(0x646, 0x62D, 0x64A), 0xFDB4 => array(0x642, 0x645, 0x62D), 0xFDB5 => array(0x644, 0x62D, 0x645),
2645 0xFDB6 => array(0x639, 0x645, 0x64A), 0xFDB7 => array(0x643, 0x645, 0x64A), 0xFDB8 => array(0x646, 0x62C, 0x62D),
2646 0xFDB9 => array(0x645, 0x62E, 0x64A), 0xFDBA => array(0x644, 0x62C, 0x645), 0xFDBB => array(0x643, 0x645, 0x645),
2647 0xFDBC => array(0x644, 0x62C, 0x645), 0xFDBD => array(0x646, 0x62C, 0x62D), 0xFDBE => array(0x62C, 0x62D, 0x64A),
2648 0xFDBF => array(0x62D, 0x62C, 0x64A), 0xFDC0 => array(0x645, 0x62C, 0x64A), 0xFDC1 => array(0x641, 0x645, 0x64A),
2649 0xFDC2 => array(0x628, 0x62D, 0x64A), 0xFDC3 => array(0x643, 0x645, 0x645), 0xFDC4 => array(0x639, 0x62C, 0x645),
2650 0xFDC5 => array(0x635, 0x645, 0x645), 0xFDC6 => array(0x633, 0x62E, 0x64A), 0xFDC7 => array(0x646, 0x62C, 0x64A),
2651 0xFDF0 => array(0x635, 0x644, 0x6D2), 0xFDF1 => array(0x642, 0x644, 0x6D2), 0xFDF2 => array(0x627, 0x644, 0x644, 0x647),
2652 0xFDF3 => array(0x627, 0x643, 0x628, 0x631), 0xFDF4 => array(0x645, 0x62D, 0x645, 0x62F), 0xFDF5 => array(0x635, 0x644, 0x639, 0x645),
2653 0xFDF6 => array(0x631, 0x633, 0x648, 0x644), 0xFDF7 => array(0x639, 0x644, 0x64A, 0x647), 0xFDF8 => array(0x648, 0x633, 0x644, 0x645),
2654 0xFDF9 => array(0x635, 0x644, 0x649), 0xFDFC => array(0x631, 0x6CC, 0x627, 0x644), 0xFE11 => array(0x3001),
2655 0xFE17 => array(0x3016), 0xFE18 => array(0x3017), 0xFE31 => array(0x2014),
2656 0xFE32 => array(0x2013), 0xFE39 => array(0x3014), 0xFE3A => array(0x3015),
2657 0xFE3B => array(0x3010), 0xFE3C => array(0x3011), 0xFE3D => array(0x300A),
2658 0xFE3E => array(0x300B), 0xFE3F => array(0x3008), 0xFE40 => array(0x3009),
2659 0xFE41 => array(0x300C), 0xFE42 => array(0x300D), 0xFE43 => array(0x300E),
2660 0xFE44 => array(0x300F), 0xFE51 => array(0x3001), 0xFE58 => array(0x2014),
2661 0xFE5D => array(0x3014), 0xFE5E => array(0x3015), 0xFE63 => array(0x2D),
2662 0xFE71 => array(0x640, 0x64B), 0xFE77 => array(0x640, 0x64E), 0xFE79 => array(0x640, 0x64F),
2663 0xFE7B => array(0x640, 0x650), 0xFE7D => array(0x640, 0x651), 0xFE7F => array(0x640, 0x652),
2664 0xFE80 => array(0x621), 0xFE81 => array(0x622), 0xFE82 => array(0x622),
2665 0xFE83 => array(0x623), 0xFE84 => array(0x623), 0xFE85 => array(0x624),
2666 0xFE86 => array(0x624), 0xFE87 => array(0x625), 0xFE88 => array(0x625),
2667 0xFE89 => array(0x626), 0xFE8A => array(0x626), 0xFE8B => array(0x626),
2668 0xFE8C => array(0x626), 0xFE8D => array(0x627), 0xFE8E => array(0x627),
2669 0xFE8F => array(0x628), 0xFE90 => array(0x628), 0xFE91 => array(0x628),
2670 0xFE92 => array(0x628), 0xFE93 => array(0x629), 0xFE94 => array(0x629),
2671 0xFE95 => array(0x62A), 0xFE96 => array(0x62A), 0xFE97 => array(0x62A),
2672 0xFE98 => array(0x62A), 0xFE99 => array(0x62B), 0xFE9A => array(0x62B),
2673 0xFE9B => array(0x62B), 0xFE9C => array(0x62B), 0xFE9D => array(0x62C),
2674 0xFE9E => array(0x62C), 0xFE9F => array(0x62C), 0xFEA0 => array(0x62C),
2675 0xFEA1 => array(0x62D), 0xFEA2 => array(0x62D), 0xFEA3 => array(0x62D),
2676 0xFEA4 => array(0x62D), 0xFEA5 => array(0x62E), 0xFEA6 => array(0x62E),
2677 0xFEA7 => array(0x62E), 0xFEA8 => array(0x62E), 0xFEA9 => array(0x62F),
2678 0xFEAA => array(0x62F), 0xFEAB => array(0x630), 0xFEAC => array(0x630),
2679 0xFEAD => array(0x631), 0xFEAE => array(0x631), 0xFEAF => array(0x632),
2680 0xFEB0 => array(0x632), 0xFEB1 => array(0x633), 0xFEB2 => array(0x633),
2681 0xFEB3 => array(0x633), 0xFEB4 => array(0x633), 0xFEB5 => array(0x634),
2682 0xFEB6 => array(0x634), 0xFEB7 => array(0x634), 0xFEB8 => array(0x634),
2683 0xFEB9 => array(0x635), 0xFEBA => array(0x635), 0xFEBB => array(0x635),
2684 0xFEBC => array(0x635), 0xFEBD => array(0x636), 0xFEBE => array(0x636),
2685 0xFEBF => array(0x636), 0xFEC0 => array(0x636), 0xFEC1 => array(0x637),
2686 0xFEC2 => array(0x637), 0xFEC3 => array(0x637), 0xFEC4 => array(0x637),
2687 0xFEC5 => array(0x638), 0xFEC6 => array(0x638), 0xFEC7 => array(0x638),
2688 0xFEC8 => array(0x638), 0xFEC9 => array(0x639), 0xFECA => array(0x639),
2689 0xFECB => array(0x639), 0xFECC => array(0x639), 0xFECD => array(0x63A),
2690 0xFECE => array(0x63A), 0xFECF => array(0x63A), 0xFED0 => array(0x63A),
2691 0xFED1 => array(0x641), 0xFED2 => array(0x641), 0xFED3 => array(0x641),
2692 0xFED4 => array(0x641), 0xFED5 => array(0x642), 0xFED6 => array(0x642),
2693 0xFED7 => array(0x642), 0xFED8 => array(0x642), 0xFED9 => array(0x643),
2694 0xFEDA => array(0x643), 0xFEDB => array(0x643), 0xFEDC => array(0x643),
2695 0xFEDD => array(0x644), 0xFEDE => array(0x644), 0xFEDF => array(0x644),
2696 0xFEE0 => array(0x644), 0xFEE1 => array(0x645), 0xFEE2 => array(0x645),
2697 0xFEE3 => array(0x645), 0xFEE4 => array(0x645), 0xFEE5 => array(0x646),
2698 0xFEE6 => array(0x646), 0xFEE7 => array(0x646), 0xFEE8 => array(0x646),
2699 0xFEE9 => array(0x647), 0xFEEA => array(0x647), 0xFEEB => array(0x647),
2700 0xFEEC => array(0x647), 0xFEED => array(0x648), 0xFEEE => array(0x648),
2701 0xFEEF => array(0x649), 0xFEF0 => array(0x649), 0xFEF1 => array(0x64A),
2702 0xFEF2 => array(0x64A), 0xFEF3 => array(0x64A), 0xFEF4 => array(0x64A),
2703 0xFEF5 => array(0x644, 0x622), 0xFEF6 => array(0x644, 0x622), 0xFEF7 => array(0x644, 0x623),
2704 0xFEF8 => array(0x644, 0x623), 0xFEF9 => array(0x644, 0x625), 0xFEFA => array(0x644, 0x625),
2705 0xFEFB => array(0x644, 0x627), 0xFEFC => array(0x644, 0x627), 0xFF0D => array(0x2D),
2706 0xFF0E => array(0x2E), 0xFF10 => array(0x30), 0xFF11 => array(0x31),
2707 0xFF12 => array(0x32), 0xFF13 => array(0x33), 0xFF14 => array(0x34),
2708 0xFF15 => array(0x35), 0xFF16 => array(0x36), 0xFF17 => array(0x37),
2709 0xFF18 => array(0x38), 0xFF19 => array(0x39), 0xFF21 => array(0x61),
2710 0xFF22 => array(0x62), 0xFF23 => array(0x63), 0xFF24 => array(0x64),
2711 0xFF25 => array(0x65), 0xFF26 => array(0x66), 0xFF27 => array(0x67),
2712 0xFF28 => array(0x68), 0xFF29 => array(0x69), 0xFF2A => array(0x6A),
2713 0xFF2B => array(0x6B), 0xFF2C => array(0x6C), 0xFF2D => array(0x6D),
2714 0xFF2E => array(0x6E), 0xFF2F => array(0x6F), 0xFF30 => array(0x70),
2715 0xFF31 => array(0x71), 0xFF32 => array(0x72), 0xFF33 => array(0x73),
2716 0xFF34 => array(0x74), 0xFF35 => array(0x75), 0xFF36 => array(0x76),
2717 0xFF37 => array(0x77), 0xFF38 => array(0x78), 0xFF39 => array(0x79),
2718 0xFF3A => array(0x7A), 0xFF41 => array(0x61), 0xFF42 => array(0x62),
2719 0xFF43 => array(0x63), 0xFF44 => array(0x64), 0xFF45 => array(0x65),
2720 0xFF46 => array(0x66), 0xFF47 => array(0x67), 0xFF48 => array(0x68),
2721 0xFF49 => array(0x69), 0xFF4A => array(0x6A), 0xFF4B => array(0x6B),
2722 0xFF4C => array(0x6C), 0xFF4D => array(0x6D), 0xFF4E => array(0x6E),
2723 0xFF4F => array(0x6F), 0xFF50 => array(0x70), 0xFF51 => array(0x71),
2724 0xFF52 => array(0x72), 0xFF53 => array(0x73), 0xFF54 => array(0x74),
2725 0xFF55 => array(0x75), 0xFF56 => array(0x76), 0xFF57 => array(0x77),
2726 0xFF58 => array(0x78), 0xFF59 => array(0x79), 0xFF5A => array(0x7A),
2727 0xFF5F => array(0x2985), 0xFF60 => array(0x2986), 0xFF61 => array(0x2E),
2728 0xFF62 => array(0x300C), 0xFF63 => array(0x300D), 0xFF64 => array(0x3001),
2729 0xFF65 => array(0x30FB), 0xFF66 => array(0x30F2), 0xFF67 => array(0x30A1),
2730 0xFF68 => array(0x30A3), 0xFF69 => array(0x30A5), 0xFF6A => array(0x30A7),
2731 0xFF6B => array(0x30A9), 0xFF6C => array(0x30E3), 0xFF6D => array(0x30E5),
2732 0xFF6E => array(0x30E7), 0xFF6F => array(0x30C3), 0xFF70 => array(0x30FC),
2733 0xFF71 => array(0x30A2), 0xFF72 => array(0x30A4), 0xFF73 => array(0x30A6),
2734 0xFF74 => array(0x30A8), 0xFF75 => array(0x30AA), 0xFF76 => array(0x30AB),
2735 0xFF77 => array(0x30AD), 0xFF78 => array(0x30AF), 0xFF79 => array(0x30B1),
2736 0xFF7A => array(0x30B3), 0xFF7B => array(0x30B5), 0xFF7C => array(0x30B7),
2737 0xFF7D => array(0x30B9), 0xFF7E => array(0x30BB), 0xFF7F => array(0x30BD),
2738 0xFF80 => array(0x30BF), 0xFF81 => array(0x30C1), 0xFF82 => array(0x30C4),
2739 0xFF83 => array(0x30C6), 0xFF84 => array(0x30C8), 0xFF85 => array(0x30CA),
2740 0xFF86 => array(0x30CB), 0xFF87 => array(0x30CC), 0xFF88 => array(0x30CD),
2741 0xFF89 => array(0x30CE), 0xFF8A => array(0x30CF), 0xFF8B => array(0x30D2),
2742 0xFF8C => array(0x30D5), 0xFF8D => array(0x30D8), 0xFF8E => array(0x30DB),
2743 0xFF8F => array(0x30DE), 0xFF90 => array(0x30DF), 0xFF91 => array(0x30E0),
2744 0xFF92 => array(0x30E1), 0xFF93 => array(0x30E2), 0xFF94 => array(0x30E4),
2745 0xFF95 => array(0x30E6), 0xFF96 => array(0x30E8), 0xFF97 => array(0x30E9),
2746 0xFF98 => array(0x30EA), 0xFF99 => array(0x30EB), 0xFF9A => array(0x30EC),
2747 0xFF9B => array(0x30ED), 0xFF9C => array(0x30EF), 0xFF9D => array(0x30F3),
2748 0xFF9E => array(0x3099), 0xFF9F => array(0x309A), 0xFFA1 => array(0x1100),
2749 0xFFA2 => array(0x1101), 0xFFA3 => array(0x11AA), 0xFFA4 => array(0x1102),
2750 0xFFA5 => array(0x11AC), 0xFFA6 => array(0x11AD), 0xFFA7 => array(0x1103),
2751 0xFFA8 => array(0x1104), 0xFFA9 => array(0x1105), 0xFFAA => array(0x11B0),
2752 0xFFAB => array(0x11B1), 0xFFAC => array(0x11B2), 0xFFAD => array(0x11B3),
2753 0xFFAE => array(0x11B4), 0xFFAF => array(0x11B5), 0xFFB0 => array(0x111A),
2754 0xFFB1 => array(0x1106), 0xFFB2 => array(0x1107), 0xFFB3 => array(0x1108),
2755 0xFFB4 => array(0x1121), 0xFFB5 => array(0x1109), 0xFFB6 => array(0x110A),
2756 0xFFB7 => array(0x110B), 0xFFB8 => array(0x110C), 0xFFB9 => array(0x110D),
2757 0xFFBA => array(0x110E), 0xFFBB => array(0x110F), 0xFFBC => array(0x1110),
2758 0xFFBD => array(0x1111), 0xFFBE => array(0x1112), 0xFFC2 => array(0x1161),
2759 0xFFC3 => array(0x1162), 0xFFC4 => array(0x1163), 0xFFC5 => array(0x1164),
2760 0xFFC6 => array(0x1165), 0xFFC7 => array(0x1166), 0xFFCA => array(0x1167),
2761 0xFFCB => array(0x1168), 0xFFCC => array(0x1169), 0xFFCD => array(0x116A),
2762 0xFFCE => array(0x116B), 0xFFCF => array(0x116C), 0xFFD2 => array(0x116D),
2763 0xFFD3 => array(0x116E), 0xFFD4 => array(0x116F), 0xFFD5 => array(0x1170),
2764 0xFFD6 => array(0x1171), 0xFFD7 => array(0x1172), 0xFFDA => array(0x1173),
2765 0xFFDB => array(0x1174), 0xFFDC => array(0x1175), 0xFFE0 => array(0xA2),
2766 0xFFE1 => array(0xA3), 0xFFE2 => array(0xAC), 0xFFE4 => array(0xA6),
2767 0xFFE5 => array(0xA5), 0xFFE6 => array(0x20A9), 0xFFE8 => array(0x2502),
2768 0xFFE9 => array(0x2190), 0xFFEA => array(0x2191), 0xFFEB => array(0x2192),
2769 0xFFEC => array(0x2193), 0xFFED => array(0x25A0), 0xFFEE => array(0x25CB),
2770 0x10400 => array(0x10428), 0x10401 => array(0x10429), 0x10402 => array(0x1042A),
2771 0x10403 => array(0x1042B), 0x10404 => array(0x1042C), 0x10405 => array(0x1042D),
2772 0x10406 => array(0x1042E), 0x10407 => array(0x1042F), 0x10408 => array(0x10430),
2773 0x10409 => array(0x10431), 0x1040A => array(0x10432), 0x1040B => array(0x10433),
2774 0x1040C => array(0x10434), 0x1040D => array(0x10435), 0x1040E => array(0x10436),
2775 0x1040F => array(0x10437), 0x10410 => array(0x10438), 0x10411 => array(0x10439),
2776 0x10412 => array(0x1043A), 0x10413 => array(0x1043B), 0x10414 => array(0x1043C),
2777 0x10415 => array(0x1043D), 0x10416 => array(0x1043E), 0x10417 => array(0x1043F),
2778 0x10418 => array(0x10440), 0x10419 => array(0x10441), 0x1041A => array(0x10442),
2779 0x1041B => array(0x10443), 0x1041C => array(0x10444), 0x1041D => array(0x10445),
2780 0x1041E => array(0x10446), 0x1041F => array(0x10447), 0x10420 => array(0x10448),
2781 0x10421 => array(0x10449), 0x10422 => array(0x1044A), 0x10423 => array(0x1044B),
2782 0x10424 => array(0x1044C), 0x10425 => array(0x1044D), 0x10426 => array(0x1044E),
2783 0x10427 => array(0x1044F), 0x118A0 => array(0x118C0), 0x118A1 => array(0x118C1),
2784 0x118A2 => array(0x118C2), 0x118A3 => array(0x118C3), 0x118A4 => array(0x118C4),
2785 0x118A5 => array(0x118C5), 0x118A6 => array(0x118C6), 0x118A7 => array(0x118C7),
2786 0x118A8 => array(0x118C8), 0x118A9 => array(0x118C9), 0x118AA => array(0x118CA),
2787 0x118AB => array(0x118CB), 0x118AC => array(0x118CC), 0x118AD => array(0x118CD),
2788 0x118AE => array(0x118CE), 0x118AF => array(0x118CF), 0x118B0 => array(0x118D0),
2789 0x118B1 => array(0x118D1), 0x118B2 => array(0x118D2), 0x118B3 => array(0x118D3),
2790 0x118B4 => array(0x118D4), 0x118B5 => array(0x118D5), 0x118B6 => array(0x118D6),
2791 0x118B7 => array(0x118D7), 0x118B8 => array(0x118D8), 0x118B9 => array(0x118D9),
2792 0x118BA => array(0x118DA), 0x118BB => array(0x118DB), 0x118BC => array(0x118DC),
2793 0x118BD => array(0x118DD), 0x118BE => array(0x118DE), 0x118BF => array(0x118DF),
2794 0x1D15E => array(0x1D157, 0x1D165), 0x1D15F => array(0x1D158, 0x1D165), 0x1D160 => array(0x1D158, 0x1D165, 0x1D16E),
2795 0x1D161 => array(0x1D158, 0x1D165, 0x1D16F), 0x1D162 => array(0x1D158, 0x1D165, 0x1D170), 0x1D163 => array(0x1D158, 0x1D165, 0x1D171),
2796 0x1D164 => array(0x1D158, 0x1D165, 0x1D172), 0x1D1BB => array(0x1D1B9, 0x1D165), 0x1D1BC => array(0x1D1BA, 0x1D165),
2797 0x1D1BD => array(0x1D1B9, 0x1D165, 0x1D16E), 0x1D1BE => array(0x1D1BA, 0x1D165, 0x1D16E), 0x1D1BF => array(0x1D1B9, 0x1D165, 0x1D16F),
2798 0x1D1C0 => array(0x1D1BA, 0x1D165, 0x1D16F), 0x1D400 => array(0x61), 0x1D401 => array(0x62),
2799 0x1D402 => array(0x63), 0x1D403 => array(0x64), 0x1D404 => array(0x65),
2800 0x1D405 => array(0x66), 0x1D406 => array(0x67), 0x1D407 => array(0x68),
2801 0x1D408 => array(0x69), 0x1D409 => array(0x6A), 0x1D40A => array(0x6B),
2802 0x1D40B => array(0x6C), 0x1D40C => array(0x6D), 0x1D40D => array(0x6E),
2803 0x1D40E => array(0x6F), 0x1D40F => array(0x70), 0x1D410 => array(0x71),
2804 0x1D411 => array(0x72), 0x1D412 => array(0x73), 0x1D413 => array(0x74),
2805 0x1D414 => array(0x75), 0x1D415 => array(0x76), 0x1D416 => array(0x77),
2806 0x1D417 => array(0x78), 0x1D418 => array(0x79), 0x1D419 => array(0x7A),
2807 0x1D41A => array(0x61), 0x1D41B => array(0x62), 0x1D41C => array(0x63),
2808 0x1D41D => array(0x64), 0x1D41E => array(0x65), 0x1D41F => array(0x66),
2809 0x1D420 => array(0x67), 0x1D421 => array(0x68), 0x1D422 => array(0x69),
2810 0x1D423 => array(0x6A), 0x1D424 => array(0x6B), 0x1D425 => array(0x6C),
2811 0x1D426 => array(0x6D), 0x1D427 => array(0x6E), 0x1D428 => array(0x6F),
2812 0x1D429 => array(0x70), 0x1D42A => array(0x71), 0x1D42B => array(0x72),
2813 0x1D42C => array(0x73), 0x1D42D => array(0x74), 0x1D42E => array(0x75),
2814 0x1D42F => array(0x76), 0x1D430 => array(0x77), 0x1D431 => array(0x78),
2815 0x1D432 => array(0x79), 0x1D433 => array(0x7A), 0x1D434 => array(0x61),
2816 0x1D435 => array(0x62), 0x1D436 => array(0x63), 0x1D437 => array(0x64),
2817 0x1D438 => array(0x65), 0x1D439 => array(0x66), 0x1D43A => array(0x67),
2818 0x1D43B => array(0x68), 0x1D43C => array(0x69), 0x1D43D => array(0x6A),
2819 0x1D43E => array(0x6B), 0x1D43F => array(0x6C), 0x1D440 => array(0x6D),
2820 0x1D441 => array(0x6E), 0x1D442 => array(0x6F), 0x1D443 => array(0x70),
2821 0x1D444 => array(0x71), 0x1D445 => array(0x72), 0x1D446 => array(0x73),
2822 0x1D447 => array(0x74), 0x1D448 => array(0x75), 0x1D449 => array(0x76),
2823 0x1D44A => array(0x77), 0x1D44B => array(0x78), 0x1D44C => array(0x79),
2824 0x1D44D => array(0x7A), 0x1D44E => array(0x61), 0x1D44F => array(0x62),
2825 0x1D450 => array(0x63), 0x1D451 => array(0x64), 0x1D452 => array(0x65),
2826 0x1D453 => array(0x66), 0x1D454 => array(0x67), 0x1D456 => array(0x69),
2827 0x1D457 => array(0x6A), 0x1D458 => array(0x6B), 0x1D459 => array(0x6C),
2828 0x1D45A => array(0x6D), 0x1D45B => array(0x6E), 0x1D45C => array(0x6F),
2829 0x1D45D => array(0x70), 0x1D45E => array(0x71), 0x1D45F => array(0x72),
2830 0x1D460 => array(0x73), 0x1D461 => array(0x74), 0x1D462 => array(0x75),
2831 0x1D463 => array(0x76), 0x1D464 => array(0x77), 0x1D465 => array(0x78),
2832 0x1D466 => array(0x79), 0x1D467 => array(0x7A), 0x1D468 => array(0x61),
2833 0x1D469 => array(0x62), 0x1D46A => array(0x63), 0x1D46B => array(0x64),
2834 0x1D46C => array(0x65), 0x1D46D => array(0x66), 0x1D46E => array(0x67),
2835 0x1D46F => array(0x68), 0x1D470 => array(0x69), 0x1D471 => array(0x6A),
2836 0x1D472 => array(0x6B), 0x1D473 => array(0x6C), 0x1D474 => array(0x6D),
2837 0x1D475 => array(0x6E), 0x1D476 => array(0x6F), 0x1D477 => array(0x70),
2838 0x1D478 => array(0x71), 0x1D479 => array(0x72), 0x1D47A => array(0x73),
2839 0x1D47B => array(0x74), 0x1D47C => array(0x75), 0x1D47D => array(0x76),
2840 0x1D47E => array(0x77), 0x1D47F => array(0x78), 0x1D480 => array(0x79),
2841 0x1D481 => array(0x7A), 0x1D482 => array(0x61), 0x1D483 => array(0x62),
2842 0x1D484 => array(0x63), 0x1D485 => array(0x64), 0x1D486 => array(0x65),
2843 0x1D487 => array(0x66), 0x1D488 => array(0x67), 0x1D489 => array(0x68),
2844 0x1D48A => array(0x69), 0x1D48B => array(0x6A), 0x1D48C => array(0x6B),
2845 0x1D48D => array(0x6C), 0x1D48E => array(0x6D), 0x1D48F => array(0x6E),
2846 0x1D490 => array(0x6F), 0x1D491 => array(0x70), 0x1D492 => array(0x71),
2847 0x1D493 => array(0x72), 0x1D494 => array(0x73), 0x1D495 => array(0x74),
2848 0x1D496 => array(0x75), 0x1D497 => array(0x76), 0x1D498 => array(0x77),
2849 0x1D499 => array(0x78), 0x1D49A => array(0x79), 0x1D49B => array(0x7A),
2850 0x1D49C => array(0x61), 0x1D49E => array(0x63), 0x1D49F => array(0x64),
2851 0x1D4A2 => array(0x67), 0x1D4A5 => array(0x6A), 0x1D4A6 => array(0x6B),
2852 0x1D4A9 => array(0x6E), 0x1D4AA => array(0x6F), 0x1D4AB => array(0x70),
2853 0x1D4AC => array(0x71), 0x1D4AE => array(0x73), 0x1D4AF => array(0x74),
2854 0x1D4B0 => array(0x75), 0x1D4B1 => array(0x76), 0x1D4B2 => array(0x77),
2855 0x1D4B3 => array(0x78), 0x1D4B4 => array(0x79), 0x1D4B5 => array(0x7A),
2856 0x1D4B6 => array(0x61), 0x1D4B7 => array(0x62), 0x1D4B8 => array(0x63),
2857 0x1D4B9 => array(0x64), 0x1D4BB => array(0x66), 0x1D4BD => array(0x68),
2858 0x1D4BE => array(0x69), 0x1D4BF => array(0x6A), 0x1D4C0 => array(0x6B),
2859 0x1D4C1 => array(0x6C), 0x1D4C2 => array(0x6D), 0x1D4C3 => array(0x6E),
2860 0x1D4C5 => array(0x70), 0x1D4C6 => array(0x71), 0x1D4C7 => array(0x72),
2861 0x1D4C8 => array(0x73), 0x1D4C9 => array(0x74), 0x1D4CA => array(0x75),
2862 0x1D4CB => array(0x76), 0x1D4CC => array(0x77), 0x1D4CD => array(0x78),
2863 0x1D4CE => array(0x79), 0x1D4CF => array(0x7A), 0x1D4D0 => array(0x61),
2864 0x1D4D1 => array(0x62), 0x1D4D2 => array(0x63), 0x1D4D3 => array(0x64),
2865 0x1D4D4 => array(0x65), 0x1D4D5 => array(0x66), 0x1D4D6 => array(0x67),
2866 0x1D4D7 => array(0x68), 0x1D4D8 => array(0x69), 0x1D4D9 => array(0x6A),
2867 0x1D4DA => array(0x6B), 0x1D4DB => array(0x6C), 0x1D4DC => array(0x6D),
2868 0x1D4DD => array(0x6E), 0x1D4DE => array(0x6F), 0x1D4DF => array(0x70),
2869 0x1D4E0 => array(0x71), 0x1D4E1 => array(0x72), 0x1D4E2 => array(0x73),
2870 0x1D4E3 => array(0x74), 0x1D4E4 => array(0x75), 0x1D4E5 => array(0x76),
2871 0x1D4E6 => array(0x77), 0x1D4E7 => array(0x78), 0x1D4E8 => array(0x79),
2872 0x1D4E9 => array(0x7A), 0x1D4EA => array(0x61), 0x1D4EB => array(0x62),
2873 0x1D4EC => array(0x63), 0x1D4ED => array(0x64), 0x1D4EE => array(0x65),
2874 0x1D4EF => array(0x66), 0x1D4F0 => array(0x67), 0x1D4F1 => array(0x68),
2875 0x1D4F2 => array(0x69), 0x1D4F3 => array(0x6A), 0x1D4F4 => array(0x6B),
2876 0x1D4F5 => array(0x6C), 0x1D4F6 => array(0x6D), 0x1D4F7 => array(0x6E),
2877 0x1D4F8 => array(0x6F), 0x1D4F9 => array(0x70), 0x1D4FA => array(0x71),
2878 0x1D4FB => array(0x72), 0x1D4FC => array(0x73), 0x1D4FD => array(0x74),
2879 0x1D4FE => array(0x75), 0x1D4FF => array(0x76), 0x1D500 => array(0x77),
2880 0x1D501 => array(0x78), 0x1D502 => array(0x79), 0x1D503 => array(0x7A),
2881 0x1D504 => array(0x61), 0x1D505 => array(0x62), 0x1D507 => array(0x64),
2882 0x1D508 => array(0x65), 0x1D509 => array(0x66), 0x1D50A => array(0x67),
2883 0x1D50D => array(0x6A), 0x1D50E => array(0x6B), 0x1D50F => array(0x6C),
2884 0x1D510 => array(0x6D), 0x1D511 => array(0x6E), 0x1D512 => array(0x6F),
2885 0x1D513 => array(0x70), 0x1D514 => array(0x71), 0x1D516 => array(0x73),
2886 0x1D517 => array(0x74), 0x1D518 => array(0x75), 0x1D519 => array(0x76),
2887 0x1D51A => array(0x77), 0x1D51B => array(0x78), 0x1D51C => array(0x79),
2888 0x1D51E => array(0x61), 0x1D51F => array(0x62), 0x1D520 => array(0x63),
2889 0x1D521 => array(0x64), 0x1D522 => array(0x65), 0x1D523 => array(0x66),
2890 0x1D524 => array(0x67), 0x1D525 => array(0x68), 0x1D526 => array(0x69),
2891 0x1D527 => array(0x6A), 0x1D528 => array(0x6B), 0x1D529 => array(0x6C),
2892 0x1D52A => array(0x6D), 0x1D52B => array(0x6E), 0x1D52C => array(0x6F),
2893 0x1D52D => array(0x70), 0x1D52E => array(0x71), 0x1D52F => array(0x72),
2894 0x1D530 => array(0x73), 0x1D531 => array(0x74), 0x1D532 => array(0x75),
2895 0x1D533 => array(0x76), 0x1D534 => array(0x77), 0x1D535 => array(0x78),
2896 0x1D536 => array(0x79), 0x1D537 => array(0x7A), 0x1D538 => array(0x61),
2897 0x1D539 => array(0x62), 0x1D53B => array(0x64), 0x1D53C => array(0x65),
2898 0x1D53D => array(0x66), 0x1D53E => array(0x67), 0x1D540 => array(0x69),
2899 0x1D541 => array(0x6A), 0x1D542 => array(0x6B), 0x1D543 => array(0x6C),
2900 0x1D544 => array(0x6D), 0x1D546 => array(0x6F), 0x1D54A => array(0x73),
2901 0x1D54B => array(0x74), 0x1D54C => array(0x75), 0x1D54D => array(0x76),
2902 0x1D54E => array(0x77), 0x1D54F => array(0x78), 0x1D550 => array(0x79),
2903 0x1D552 => array(0x61), 0x1D553 => array(0x62), 0x1D554 => array(0x63),
2904 0x1D555 => array(0x64), 0x1D556 => array(0x65), 0x1D557 => array(0x66),
2905 0x1D558 => array(0x67), 0x1D559 => array(0x68), 0x1D55A => array(0x69),
2906 0x1D55B => array(0x6A), 0x1D55C => array(0x6B), 0x1D55D => array(0x6C),
2907 0x1D55E => array(0x6D), 0x1D55F => array(0x6E), 0x1D560 => array(0x6F),
2908 0x1D561 => array(0x70), 0x1D562 => array(0x71), 0x1D563 => array(0x72),
2909 0x1D564 => array(0x73), 0x1D565 => array(0x74), 0x1D566 => array(0x75),
2910 0x1D567 => array(0x76), 0x1D568 => array(0x77), 0x1D569 => array(0x78),
2911 0x1D56A => array(0x79), 0x1D56B => array(0x7A), 0x1D56C => array(0x61),
2912 0x1D56D => array(0x62), 0x1D56E => array(0x63), 0x1D56F => array(0x64),
2913 0x1D570 => array(0x65), 0x1D571 => array(0x66), 0x1D572 => array(0x67),
2914 0x1D573 => array(0x68), 0x1D574 => array(0x69), 0x1D575 => array(0x6A),
2915 0x1D576 => array(0x6B), 0x1D577 => array(0x6C), 0x1D578 => array(0x6D),
2916 0x1D579 => array(0x6E), 0x1D57A => array(0x6F), 0x1D57B => array(0x70),
2917 0x1D57C => array(0x71), 0x1D57D => array(0x72), 0x1D57E => array(0x73),
2918 0x1D57F => array(0x74), 0x1D580 => array(0x75), 0x1D581 => array(0x76),
2919 0x1D582 => array(0x77), 0x1D583 => array(0x78), 0x1D584 => array(0x79),
2920 0x1D585 => array(0x7A), 0x1D586 => array(0x61), 0x1D587 => array(0x62),
2921 0x1D588 => array(0x63), 0x1D589 => array(0x64), 0x1D58A => array(0x65),
2922 0x1D58B => array(0x66), 0x1D58C => array(0x67), 0x1D58D => array(0x68),
2923 0x1D58E => array(0x69), 0x1D58F => array(0x6A), 0x1D590 => array(0x6B),
2924 0x1D591 => array(0x6C), 0x1D592 => array(0x6D), 0x1D593 => array(0x6E),
2925 0x1D594 => array(0x6F), 0x1D595 => array(0x70), 0x1D596 => array(0x71),
2926 0x1D597 => array(0x72), 0x1D598 => array(0x73), 0x1D599 => array(0x74),
2927 0x1D59A => array(0x75), 0x1D59B => array(0x76), 0x1D59C => array(0x77),
2928 0x1D59D => array(0x78), 0x1D59E => array(0x79), 0x1D59F => array(0x7A),
2929 0x1D5A0 => array(0x61), 0x1D5A1 => array(0x62), 0x1D5A2 => array(0x63),
2930 0x1D5A3 => array(0x64), 0x1D5A4 => array(0x65), 0x1D5A5 => array(0x66),
2931 0x1D5A6 => array(0x67), 0x1D5A7 => array(0x68), 0x1D5A8 => array(0x69),
2932 0x1D5A9 => array(0x6A), 0x1D5AA => array(0x6B), 0x1D5AB => array(0x6C),
2933 0x1D5AC => array(0x6D), 0x1D5AD => array(0x6E), 0x1D5AE => array(0x6F),
2934 0x1D5AF => array(0x70), 0x1D5B0 => array(0x71), 0x1D5B1 => array(0x72),
2935 0x1D5B2 => array(0x73), 0x1D5B3 => array(0x74), 0x1D5B4 => array(0x75),
2936 0x1D5B5 => array(0x76), 0x1D5B6 => array(0x77), 0x1D5B7 => array(0x78),
2937 0x1D5B8 => array(0x79), 0x1D5B9 => array(0x7A), 0x1D5BA => array(0x61),
2938 0x1D5BB => array(0x62), 0x1D5BC => array(0x63), 0x1D5BD => array(0x64),
2939 0x1D5BE => array(0x65), 0x1D5BF => array(0x66), 0x1D5C0 => array(0x67),
2940 0x1D5C1 => array(0x68), 0x1D5C2 => array(0x69), 0x1D5C3 => array(0x6A),
2941 0x1D5C4 => array(0x6B), 0x1D5C5 => array(0x6C), 0x1D5C6 => array(0x6D),
2942 0x1D5C7 => array(0x6E), 0x1D5C8 => array(0x6F), 0x1D5C9 => array(0x70),
2943 0x1D5CA => array(0x71), 0x1D5CB => array(0x72), 0x1D5CC => array(0x73),
2944 0x1D5CD => array(0x74), 0x1D5CE => array(0x75), 0x1D5CF => array(0x76),
2945 0x1D5D0 => array(0x77), 0x1D5D1 => array(0x78), 0x1D5D2 => array(0x79),
2946 0x1D5D3 => array(0x7A), 0x1D5D4 => array(0x61), 0x1D5D5 => array(0x62),
2947 0x1D5D6 => array(0x63), 0x1D5D7 => array(0x64), 0x1D5D8 => array(0x65),
2948 0x1D5D9 => array(0x66), 0x1D5DA => array(0x67), 0x1D5DB => array(0x68),
2949 0x1D5DC => array(0x69), 0x1D5DD => array(0x6A), 0x1D5DE => array(0x6B),
2950 0x1D5DF => array(0x6C), 0x1D5E0 => array(0x6D), 0x1D5E1 => array(0x6E),
2951 0x1D5E2 => array(0x6F), 0x1D5E3 => array(0x70), 0x1D5E4 => array(0x71),
2952 0x1D5E5 => array(0x72), 0x1D5E6 => array(0x73), 0x1D5E7 => array(0x74),
2953 0x1D5E8 => array(0x75), 0x1D5E9 => array(0x76), 0x1D5EA => array(0x77),
2954 0x1D5EB => array(0x78), 0x1D5EC => array(0x79), 0x1D5ED => array(0x7A),
2955 0x1D5EE => array(0x61), 0x1D5EF => array(0x62), 0x1D5F0 => array(0x63),
2956 0x1D5F1 => array(0x64), 0x1D5F2 => array(0x65), 0x1D5F3 => array(0x66),
2957 0x1D5F4 => array(0x67), 0x1D5F5 => array(0x68), 0x1D5F6 => array(0x69),
2958 0x1D5F7 => array(0x6A), 0x1D5F8 => array(0x6B), 0x1D5F9 => array(0x6C),
2959 0x1D5FA => array(0x6D), 0x1D5FB => array(0x6E), 0x1D5FC => array(0x6F),
2960 0x1D5FD => array(0x70), 0x1D5FE => array(0x71), 0x1D5FF => array(0x72),
2961 0x1D600 => array(0x73), 0x1D601 => array(0x74), 0x1D602 => array(0x75),
2962 0x1D603 => array(0x76), 0x1D604 => array(0x77), 0x1D605 => array(0x78),
2963 0x1D606 => array(0x79), 0x1D607 => array(0x7A), 0x1D608 => array(0x61),
2964 0x1D609 => array(0x62), 0x1D60A => array(0x63), 0x1D60B => array(0x64),
2965 0x1D60C => array(0x65), 0x1D60D => array(0x66), 0x1D60E => array(0x67),
2966 0x1D60F => array(0x68), 0x1D610 => array(0x69), 0x1D611 => array(0x6A),
2967 0x1D612 => array(0x6B), 0x1D613 => array(0x6C), 0x1D614 => array(0x6D),
2968 0x1D615 => array(0x6E), 0x1D616 => array(0x6F), 0x1D617 => array(0x70),
2969 0x1D618 => array(0x71), 0x1D619 => array(0x72), 0x1D61A => array(0x73),
2970 0x1D61B => array(0x74), 0x1D61C => array(0x75), 0x1D61D => array(0x76),
2971 0x1D61E => array(0x77), 0x1D61F => array(0x78), 0x1D620 => array(0x79),
2972 0x1D621 => array(0x7A), 0x1D622 => array(0x61), 0x1D623 => array(0x62),
2973 0x1D624 => array(0x63), 0x1D625 => array(0x64), 0x1D626 => array(0x65),
2974 0x1D627 => array(0x66), 0x1D628 => array(0x67), 0x1D629 => array(0x68),
2975 0x1D62A => array(0x69), 0x1D62B => array(0x6A), 0x1D62C => array(0x6B),
2976 0x1D62D => array(0x6C), 0x1D62E => array(0x6D), 0x1D62F => array(0x6E),
2977 0x1D630 => array(0x6F), 0x1D631 => array(0x70), 0x1D632 => array(0x71),
2978 0x1D633 => array(0x72), 0x1D634 => array(0x73), 0x1D635 => array(0x74),
2979 0x1D636 => array(0x75), 0x1D637 => array(0x76), 0x1D638 => array(0x77),
2980 0x1D639 => array(0x78), 0x1D63A => array(0x79), 0x1D63B => array(0x7A),
2981 0x1D63C => array(0x61), 0x1D63D => array(0x62), 0x1D63E => array(0x63),
2982 0x1D63F => array(0x64), 0x1D640 => array(0x65), 0x1D641 => array(0x66),
2983 0x1D642 => array(0x67), 0x1D643 => array(0x68), 0x1D644 => array(0x69),
2984 0x1D645 => array(0x6A), 0x1D646 => array(0x6B), 0x1D647 => array(0x6C),
2985 0x1D648 => array(0x6D), 0x1D649 => array(0x6E), 0x1D64A => array(0x6F),
2986 0x1D64B => array(0x70), 0x1D64C => array(0x71), 0x1D64D => array(0x72),
2987 0x1D64E => array(0x73), 0x1D64F => array(0x74), 0x1D650 => array(0x75),
2988 0x1D651 => array(0x76), 0x1D652 => array(0x77), 0x1D653 => array(0x78),
2989 0x1D654 => array(0x79), 0x1D655 => array(0x7A), 0x1D656 => array(0x61),
2990 0x1D657 => array(0x62), 0x1D658 => array(0x63), 0x1D659 => array(0x64),
2991 0x1D65A => array(0x65), 0x1D65B => array(0x66), 0x1D65C => array(0x67),
2992 0x1D65D => array(0x68), 0x1D65E => array(0x69), 0x1D65F => array(0x6A),
2993 0x1D660 => array(0x6B), 0x1D661 => array(0x6C), 0x1D662 => array(0x6D),
2994 0x1D663 => array(0x6E), 0x1D664 => array(0x6F), 0x1D665 => array(0x70),
2995 0x1D666 => array(0x71), 0x1D667 => array(0x72), 0x1D668 => array(0x73),
2996 0x1D669 => array(0x74), 0x1D66A => array(0x75), 0x1D66B => array(0x76),
2997 0x1D66C => array(0x77), 0x1D66D => array(0x78), 0x1D66E => array(0x79),
2998 0x1D66F => array(0x7A), 0x1D670 => array(0x61), 0x1D671 => array(0x62),
2999 0x1D672 => array(0x63), 0x1D673 => array(0x64), 0x1D674 => array(0x65),
3000 0x1D675 => array(0x66), 0x1D676 => array(0x67), 0x1D677 => array(0x68),
3001 0x1D678 => array(0x69), 0x1D679 => array(0x6A), 0x1D67A => array(0x6B),
3002 0x1D67B => array(0x6C), 0x1D67C => array(0x6D), 0x1D67D => array(0x6E),
3003 0x1D67E => array(0x6F), 0x1D67F => array(0x70), 0x1D680 => array(0x71),
3004 0x1D681 => array(0x72), 0x1D682 => array(0x73), 0x1D683 => array(0x74),
3005 0x1D684 => array(0x75), 0x1D685 => array(0x76), 0x1D686 => array(0x77),
3006 0x1D687 => array(0x78), 0x1D688 => array(0x79), 0x1D689 => array(0x7A),
3007 0x1D68A => array(0x61), 0x1D68B => array(0x62), 0x1D68C => array(0x63),
3008 0x1D68D => array(0x64), 0x1D68E => array(0x65), 0x1D68F => array(0x66),
3009 0x1D690 => array(0x67), 0x1D691 => array(0x68), 0x1D692 => array(0x69),
3010 0x1D693 => array(0x6A), 0x1D694 => array(0x6B), 0x1D695 => array(0x6C),
3011 0x1D696 => array(0x6D), 0x1D697 => array(0x6E), 0x1D698 => array(0x6F),
3012 0x1D699 => array(0x70), 0x1D69A => array(0x71), 0x1D69B => array(0x72),
3013 0x1D69C => array(0x73), 0x1D69D => array(0x74), 0x1D69E => array(0x75),
3014 0x1D69F => array(0x76), 0x1D6A0 => array(0x77), 0x1D6A1 => array(0x78),
3015 0x1D6A2 => array(0x79), 0x1D6A3 => array(0x7A), 0x1D6A4 => array(0x131),
3016 0x1D6A5 => array(0x237), 0x1D6A8 => array(0x3B1), 0x1D6A9 => array(0x3B2),
3017 0x1D6AA => array(0x3B3), 0x1D6AB => array(0x3B4), 0x1D6AC => array(0x3B5),
3018 0x1D6AD => array(0x3B6), 0x1D6AE => array(0x3B7), 0x1D6AF => array(0x3B8),
3019 0x1D6B0 => array(0x3B9), 0x1D6B1 => array(0x3BA), 0x1D6B2 => array(0x3BB),
3020 0x1D6B3 => array(0x3BC), 0x1D6B4 => array(0x3BD), 0x1D6B5 => array(0x3BE),
3021 0x1D6B6 => array(0x3BF), 0x1D6B7 => array(0x3C0), 0x1D6B8 => array(0x3C1),
3022 0x1D6B9 => array(0x3B8), 0x1D6BA => array(0x3C3), 0x1D6BB => array(0x3C4),
3023 0x1D6BC => array(0x3C5), 0x1D6BD => array(0x3C6), 0x1D6BE => array(0x3C7),
3024 0x1D6BF => array(0x3C8), 0x1D6C0 => array(0x3C9), 0x1D6C1 => array(0x2207),
3025 0x1D6C2 => array(0x3B1), 0x1D6C3 => array(0x3B2), 0x1D6C4 => array(0x3B3),
3026 0x1D6C5 => array(0x3B4), 0x1D6C6 => array(0x3B5), 0x1D6C7 => array(0x3B6),
3027 0x1D6C8 => array(0x3B7), 0x1D6C9 => array(0x3B8), 0x1D6CA => array(0x3B9),
3028 0x1D6CB => array(0x3BA), 0x1D6CC => array(0x3BB), 0x1D6CD => array(0x3BC),
3029 0x1D6CE => array(0x3BD), 0x1D6CF => array(0x3BE), 0x1D6D0 => array(0x3BF),
3030 0x1D6D1 => array(0x3C0), 0x1D6D2 => array(0x3C1), 0x1D6D3 => array(0x3C3),
3031 0x1D6D4 => array(0x3C3), 0x1D6D5 => array(0x3C4), 0x1D6D6 => array(0x3C5),
3032 0x1D6D7 => array(0x3C6), 0x1D6D8 => array(0x3C7), 0x1D6D9 => array(0x3C8),
3033 0x1D6DA => array(0x3C9), 0x1D6DB => array(0x2202), 0x1D6DC => array(0x3B5),
3034 0x1D6DD => array(0x3B8), 0x1D6DE => array(0x3BA), 0x1D6DF => array(0x3C6),
3035 0x1D6E0 => array(0x3C1), 0x1D6E1 => array(0x3C0), 0x1D6E2 => array(0x3B1),
3036 0x1D6E3 => array(0x3B2), 0x1D6E4 => array(0x3B3), 0x1D6E5 => array(0x3B4),
3037 0x1D6E6 => array(0x3B5), 0x1D6E7 => array(0x3B6), 0x1D6E8 => array(0x3B7),
3038 0x1D6E9 => array(0x3B8), 0x1D6EA => array(0x3B9), 0x1D6EB => array(0x3BA),
3039 0x1D6EC => array(0x3BB), 0x1D6ED => array(0x3BC), 0x1D6EE => array(0x3BD),
3040 0x1D6EF => array(0x3BE), 0x1D6F0 => array(0x3BF), 0x1D6F1 => array(0x3C0),
3041 0x1D6F2 => array(0x3C1), 0x1D6F3 => array(0x3B8), 0x1D6F4 => array(0x3C3),
3042 0x1D6F5 => array(0x3C4), 0x1D6F6 => array(0x3C5), 0x1D6F7 => array(0x3C6),
3043 0x1D6F8 => array(0x3C7), 0x1D6F9 => array(0x3C8), 0x1D6FA => array(0x3C9),
3044 0x1D6FB => array(0x2207), 0x1D6FC => array(0x3B1), 0x1D6FD => array(0x3B2),
3045 0x1D6FE => array(0x3B3), 0x1D6FF => array(0x3B4), 0x1D700 => array(0x3B5),
3046 0x1D701 => array(0x3B6), 0x1D702 => array(0x3B7), 0x1D703 => array(0x3B8),
3047 0x1D704 => array(0x3B9), 0x1D705 => array(0x3BA), 0x1D706 => array(0x3BB),
3048 0x1D707 => array(0x3BC), 0x1D708 => array(0x3BD), 0x1D709 => array(0x3BE),
3049 0x1D70A => array(0x3BF), 0x1D70B => array(0x3C0), 0x1D70C => array(0x3C1),
3050 0x1D70D => array(0x3C3), 0x1D70E => array(0x3C3), 0x1D70F => array(0x3C4),
3051 0x1D710 => array(0x3C5), 0x1D711 => array(0x3C6), 0x1D712 => array(0x3C7),
3052 0x1D713 => array(0x3C8), 0x1D714 => array(0x3C9), 0x1D715 => array(0x2202),
3053 0x1D716 => array(0x3B5), 0x1D717 => array(0x3B8), 0x1D718 => array(0x3BA),
3054 0x1D719 => array(0x3C6), 0x1D71A => array(0x3C1), 0x1D71B => array(0x3C0),
3055 0x1D71C => array(0x3B1), 0x1D71D => array(0x3B2), 0x1D71E => array(0x3B3),
3056 0x1D71F => array(0x3B4), 0x1D720 => array(0x3B5), 0x1D721 => array(0x3B6),
3057 0x1D722 => array(0x3B7), 0x1D723 => array(0x3B8), 0x1D724 => array(0x3B9),
3058 0x1D725 => array(0x3BA), 0x1D726 => array(0x3BB), 0x1D727 => array(0x3BC),
3059 0x1D728 => array(0x3BD), 0x1D729 => array(0x3BE), 0x1D72A => array(0x3BF),
3060 0x1D72B => array(0x3C0), 0x1D72C => array(0x3C1), 0x1D72D => array(0x3B8),
3061 0x1D72E => array(0x3C3), 0x1D72F => array(0x3C4), 0x1D730 => array(0x3C5),
3062 0x1D731 => array(0x3C6), 0x1D732 => array(0x3C7), 0x1D733 => array(0x3C8),
3063 0x1D734 => array(0x3C9), 0x1D735 => array(0x2207), 0x1D736 => array(0x3B1),
3064 0x1D737 => array(0x3B2), 0x1D738 => array(0x3B3), 0x1D739 => array(0x3B4),
3065 0x1D73A => array(0x3B5), 0x1D73B => array(0x3B6), 0x1D73C => array(0x3B7),
3066 0x1D73D => array(0x3B8), 0x1D73E => array(0x3B9), 0x1D73F => array(0x3BA),
3067 0x1D740 => array(0x3BB), 0x1D741 => array(0x3BC), 0x1D742 => array(0x3BD),
3068 0x1D743 => array(0x3BE), 0x1D744 => array(0x3BF), 0x1D745 => array(0x3C0),
3069 0x1D746 => array(0x3C1), 0x1D747 => array(0x3C3), 0x1D748 => array(0x3C3),
3070 0x1D749 => array(0x3C4), 0x1D74A => array(0x3C5), 0x1D74B => array(0x3C6),
3071 0x1D74C => array(0x3C7), 0x1D74D => array(0x3C8), 0x1D74E => array(0x3C9),
3072 0x1D74F => array(0x2202), 0x1D750 => array(0x3B5), 0x1D751 => array(0x3B8),
3073 0x1D752 => array(0x3BA), 0x1D753 => array(0x3C6), 0x1D754 => array(0x3C1),
3074 0x1D755 => array(0x3C0), 0x1D756 => array(0x3B1), 0x1D757 => array(0x3B2),
3075 0x1D758 => array(0x3B3), 0x1D759 => array(0x3B4), 0x1D75A => array(0x3B5),
3076 0x1D75B => array(0x3B6), 0x1D75C => array(0x3B7), 0x1D75D => array(0x3B8),
3077 0x1D75E => array(0x3B9), 0x1D75F => array(0x3BA), 0x1D760 => array(0x3BB),
3078 0x1D761 => array(0x3BC), 0x1D762 => array(0x3BD), 0x1D763 => array(0x3BE),
3079 0x1D764 => array(0x3BF), 0x1D765 => array(0x3C0), 0x1D766 => array(0x3C1),
3080 0x1D767 => array(0x3B8), 0x1D768 => array(0x3C3), 0x1D769 => array(0x3C4),
3081 0x1D76A => array(0x3C5), 0x1D76B => array(0x3C6), 0x1D76C => array(0x3C7),
3082 0x1D76D => array(0x3C8), 0x1D76E => array(0x3C9), 0x1D76F => array(0x2207),
3083 0x1D770 => array(0x3B1), 0x1D771 => array(0x3B2), 0x1D772 => array(0x3B3),
3084 0x1D773 => array(0x3B4), 0x1D774 => array(0x3B5), 0x1D775 => array(0x3B6),
3085 0x1D776 => array(0x3B7), 0x1D777 => array(0x3B8), 0x1D778 => array(0x3B9),
3086 0x1D779 => array(0x3BA), 0x1D77A => array(0x3BB), 0x1D77B => array(0x3BC),
3087 0x1D77C => array(0x3BD), 0x1D77D => array(0x3BE), 0x1D77E => array(0x3BF),
3088 0x1D77F => array(0x3C0), 0x1D780 => array(0x3C1), 0x1D781 => array(0x3C3),
3089 0x1D782 => array(0x3C3), 0x1D783 => array(0x3C4), 0x1D784 => array(0x3C5),
3090 0x1D785 => array(0x3C6), 0x1D786 => array(0x3C7), 0x1D787 => array(0x3C8),
3091 0x1D788 => array(0x3C9), 0x1D789 => array(0x2202), 0x1D78A => array(0x3B5),
3092 0x1D78B => array(0x3B8), 0x1D78C => array(0x3BA), 0x1D78D => array(0x3C6),
3093 0x1D78E => array(0x3C1), 0x1D78F => array(0x3C0), 0x1D790 => array(0x3B1),
3094 0x1D791 => array(0x3B2), 0x1D792 => array(0x3B3), 0x1D793 => array(0x3B4),
3095 0x1D794 => array(0x3B5), 0x1D795 => array(0x3B6), 0x1D796 => array(0x3B7),
3096 0x1D797 => array(0x3B8), 0x1D798 => array(0x3B9), 0x1D799 => array(0x3BA),
3097 0x1D79A => array(0x3BB), 0x1D79B => array(0x3BC), 0x1D79C => array(0x3BD),
3098 0x1D79D => array(0x3BE), 0x1D79E => array(0x3BF), 0x1D79F => array(0x3C0),
3099 0x1D7A0 => array(0x3C1), 0x1D7A1 => array(0x3B8), 0x1D7A2 => array(0x3C3),
3100 0x1D7A3 => array(0x3C4), 0x1D7A4 => array(0x3C5), 0x1D7A5 => array(0x3C6),
3101 0x1D7A6 => array(0x3C7), 0x1D7A7 => array(0x3C8), 0x1D7A8 => array(0x3C9),
3102 0x1D7A9 => array(0x2207), 0x1D7AA => array(0x3B1), 0x1D7AB => array(0x3B2),
3103 0x1D7AC => array(0x3B3), 0x1D7AD => array(0x3B4), 0x1D7AE => array(0x3B5),
3104 0x1D7AF => array(0x3B6), 0x1D7B0 => array(0x3B7), 0x1D7B1 => array(0x3B8),
3105 0x1D7B2 => array(0x3B9), 0x1D7B3 => array(0x3BA), 0x1D7B4 => array(0x3BB),
3106 0x1D7B5 => array(0x3BC), 0x1D7B6 => array(0x3BD), 0x1D7B7 => array(0x3BE),
3107 0x1D7B8 => array(0x3BF), 0x1D7B9 => array(0x3C0), 0x1D7BA => array(0x3C1),
3108 0x1D7BB => array(0x3C3), 0x1D7BC => array(0x3C3), 0x1D7BD => array(0x3C4),
3109 0x1D7BE => array(0x3C5), 0x1D7BF => array(0x3C6), 0x1D7C0 => array(0x3C7),
3110 0x1D7C1 => array(0x3C8), 0x1D7C2 => array(0x3C9), 0x1D7C3 => array(0x2202),
3111 0x1D7C4 => array(0x3B5), 0x1D7C5 => array(0x3B8), 0x1D7C6 => array(0x3BA),
3112 0x1D7C7 => array(0x3C6), 0x1D7C8 => array(0x3C1), 0x1D7C9 => array(0x3C0),
3113 0x1D7CA => array(0x3DD), 0x1D7CB => array(0x3DD), 0x1D7CE => array(0x30),
3114 0x1D7CF => array(0x31), 0x1D7D0 => array(0x32), 0x1D7D1 => array(0x33),
3115 0x1D7D2 => array(0x34), 0x1D7D3 => array(0x35), 0x1D7D4 => array(0x36),
3116 0x1D7D5 => array(0x37), 0x1D7D6 => array(0x38), 0x1D7D7 => array(0x39),
3117 0x1D7D8 => array(0x30), 0x1D7D9 => array(0x31), 0x1D7DA => array(0x32),
3118 0x1D7DB => array(0x33), 0x1D7DC => array(0x34), 0x1D7DD => array(0x35),
3119 0x1D7DE => array(0x36), 0x1D7DF => array(0x37), 0x1D7E0 => array(0x38),
3120 0x1D7E1 => array(0x39), 0x1D7E2 => array(0x30), 0x1D7E3 => array(0x31),
3121 0x1D7E4 => array(0x32), 0x1D7E5 => array(0x33), 0x1D7E6 => array(0x34),
3122 0x1D7E7 => array(0x35), 0x1D7E8 => array(0x36), 0x1D7E9 => array(0x37),
3123 0x1D7EA => array(0x38), 0x1D7EB => array(0x39), 0x1D7EC => array(0x30),
3124 0x1D7ED => array(0x31), 0x1D7EE => array(0x32), 0x1D7EF => array(0x33),
3125 0x1D7F0 => array(0x34), 0x1D7F1 => array(0x35), 0x1D7F2 => array(0x36),
3126 0x1D7F3 => array(0x37), 0x1D7F4 => array(0x38), 0x1D7F5 => array(0x39),
3127 0x1D7F6 => array(0x30), 0x1D7F7 => array(0x31), 0x1D7F8 => array(0x32),
3128 0x1D7F9 => array(0x33), 0x1D7FA => array(0x34), 0x1D7FB => array(0x35),
3129 0x1D7FC => array(0x36), 0x1D7FD => array(0x37), 0x1D7FE => array(0x38),
3130 0x1D7FF => array(0x39), 0x1EE00 => array(0x627), 0x1EE01 => array(0x628),
3131 0x1EE02 => array(0x62C), 0x1EE03 => array(0x62F), 0x1EE05 => array(0x648),
3132 0x1EE06 => array(0x632), 0x1EE07 => array(0x62D), 0x1EE08 => array(0x637),
3133 0x1EE09 => array(0x64A), 0x1EE0A => array(0x643), 0x1EE0B => array(0x644),
3134 0x1EE0C => array(0x645), 0x1EE0D => array(0x646), 0x1EE0E => array(0x633),
3135 0x1EE0F => array(0x639), 0x1EE10 => array(0x641), 0x1EE11 => array(0x635),
3136 0x1EE12 => array(0x642), 0x1EE13 => array(0x631), 0x1EE14 => array(0x634),
3137 0x1EE15 => array(0x62A), 0x1EE16 => array(0x62B), 0x1EE17 => array(0x62E),
3138 0x1EE18 => array(0x630), 0x1EE19 => array(0x636), 0x1EE1A => array(0x638),
3139 0x1EE1B => array(0x63A), 0x1EE1C => array(0x66E), 0x1EE1D => array(0x6BA),
3140 0x1EE1E => array(0x6A1), 0x1EE1F => array(0x66F), 0x1EE21 => array(0x628),
3141 0x1EE22 => array(0x62C), 0x1EE24 => array(0x647), 0x1EE27 => array(0x62D),
3142 0x1EE29 => array(0x64A), 0x1EE2A => array(0x643), 0x1EE2B => array(0x644),
3143 0x1EE2C => array(0x645), 0x1EE2D => array(0x646), 0x1EE2E => array(0x633),
3144 0x1EE2F => array(0x639), 0x1EE30 => array(0x641), 0x1EE31 => array(0x635),
3145 0x1EE32 => array(0x642), 0x1EE34 => array(0x634), 0x1EE35 => array(0x62A),
3146 0x1EE36 => array(0x62B), 0x1EE37 => array(0x62E), 0x1EE39 => array(0x636),
3147 0x1EE3B => array(0x63A), 0x1EE42 => array(0x62C), 0x1EE47 => array(0x62D),
3148 0x1EE49 => array(0x64A), 0x1EE4B => array(0x644), 0x1EE4D => array(0x646),
3149 0x1EE4E => array(0x633), 0x1EE4F => array(0x639), 0x1EE51 => array(0x635),
3150 0x1EE52 => array(0x642), 0x1EE54 => array(0x634), 0x1EE57 => array(0x62E),
3151 0x1EE59 => array(0x636), 0x1EE5B => array(0x63A), 0x1EE5D => array(0x6BA),
3152 0x1EE5F => array(0x66F), 0x1EE61 => array(0x628), 0x1EE62 => array(0x62C),
3153 0x1EE64 => array(0x647), 0x1EE67 => array(0x62D), 0x1EE68 => array(0x637),
3154 0x1EE69 => array(0x64A), 0x1EE6A => array(0x643), 0x1EE6C => array(0x645),
3155 0x1EE6D => array(0x646), 0x1EE6E => array(0x633), 0x1EE6F => array(0x639),
3156 0x1EE70 => array(0x641), 0x1EE71 => array(0x635), 0x1EE72 => array(0x642),
3157 0x1EE74 => array(0x634), 0x1EE75 => array(0x62A), 0x1EE76 => array(0x62B),
3158 0x1EE77 => array(0x62E), 0x1EE79 => array(0x636), 0x1EE7A => array(0x638),
3159 0x1EE7B => array(0x63A), 0x1EE7C => array(0x66E), 0x1EE7E => array(0x6A1),
3160 0x1EE80 => array(0x627), 0x1EE81 => array(0x628), 0x1EE82 => array(0x62C),
3161 0x1EE83 => array(0x62F), 0x1EE84 => array(0x647), 0x1EE85 => array(0x648),
3162 0x1EE86 => array(0x632), 0x1EE87 => array(0x62D), 0x1EE88 => array(0x637),
3163 0x1EE89 => array(0x64A), 0x1EE8B => array(0x644), 0x1EE8C => array(0x645),
3164 0x1EE8D => array(0x646), 0x1EE8E => array(0x633), 0x1EE8F => array(0x639),
3165 0x1EE90 => array(0x641), 0x1EE91 => array(0x635), 0x1EE92 => array(0x642),
3166 0x1EE93 => array(0x631), 0x1EE94 => array(0x634), 0x1EE95 => array(0x62A),
3167 0x1EE96 => array(0x62B), 0x1EE97 => array(0x62E), 0x1EE98 => array(0x630),
3168 0x1EE99 => array(0x636), 0x1EE9A => array(0x638), 0x1EE9B => array(0x63A),
3169 0x1EEA1 => array(0x628), 0x1EEA2 => array(0x62C), 0x1EEA3 => array(0x62F),
3170 0x1EEA5 => array(0x648), 0x1EEA6 => array(0x632), 0x1EEA7 => array(0x62D),
3171 0x1EEA8 => array(0x637), 0x1EEA9 => array(0x64A), 0x1EEAB => array(0x644),
3172 0x1EEAC => array(0x645), 0x1EEAD => array(0x646), 0x1EEAE => array(0x633),
3173 0x1EEAF => array(0x639), 0x1EEB0 => array(0x641), 0x1EEB1 => array(0x635),
3174 0x1EEB2 => array(0x642), 0x1EEB3 => array(0x631), 0x1EEB4 => array(0x634),
3175 0x1EEB5 => array(0x62A), 0x1EEB6 => array(0x62B), 0x1EEB7 => array(0x62E),
3176 0x1EEB8 => array(0x630), 0x1EEB9 => array(0x636), 0x1EEBA => array(0x638),
3177 0x1EEBB => array(0x63A), 0x1F12A => array(0x3014, 0x73, 0x3015), 0x1F12B => array(0x63),
3178 0x1F12C => array(0x72), 0x1F12D => array(0x63, 0x64), 0x1F12E => array(0x77, 0x7A),
3179 0x1F130 => array(0x61), 0x1F131 => array(0x62), 0x1F132 => array(0x63),
3180 0x1F133 => array(0x64), 0x1F134 => array(0x65), 0x1F135 => array(0x66),
3181 0x1F136 => array(0x67), 0x1F137 => array(0x68), 0x1F138 => array(0x69),
3182 0x1F139 => array(0x6A), 0x1F13A => array(0x6B), 0x1F13B => array(0x6C),
3183 0x1F13C => array(0x6D), 0x1F13D => array(0x6E), 0x1F13E => array(0x6F),
3184 0x1F13F => array(0x70), 0x1F140 => array(0x71), 0x1F141 => array(0x72),
3185 0x1F142 => array(0x73), 0x1F143 => array(0x74), 0x1F144 => array(0x75),
3186 0x1F145 => array(0x76), 0x1F146 => array(0x77), 0x1F147 => array(0x78),
3187 0x1F148 => array(0x79), 0x1F149 => array(0x7A), 0x1F14A => array(0x68, 0x76),
3188 0x1F14B => array(0x6D, 0x76), 0x1F14C => array(0x73, 0x64), 0x1F14D => array(0x73, 0x73),
3189 0x1F14E => array(0x70, 0x70, 0x76), 0x1F14F => array(0x77, 0x63), 0x1F16A => array(0x6D, 0x63),
3190 0x1F16B => array(0x6D, 0x64), 0x1F190 => array(0x64, 0x6A), 0x1F200 => array(0x307B, 0x304B),
3191 0x1F201 => array(0x30B3, 0x30B3), 0x1F202 => array(0x30B5), 0x1F210 => array(0x624B),
3192 0x1F211 => array(0x5B57), 0x1F212 => array(0x53CC), 0x1F213 => array(0x30C7),
3193 0x1F214 => array(0x4E8C), 0x1F215 => array(0x591A), 0x1F216 => array(0x89E3),
3194 0x1F217 => array(0x5929), 0x1F218 => array(0x4EA4), 0x1F219 => array(0x6620),
3195 0x1F21A => array(0x7121), 0x1F21B => array(0x6599), 0x1F21C => array(0x524D),
3196 0x1F21D => array(0x5F8C), 0x1F21E => array(0x518D), 0x1F21F => array(0x65B0),
3197 0x1F220 => array(0x521D), 0x1F221 => array(0x7D42), 0x1F222 => array(0x751F),
3198 0x1F223 => array(0x8CA9), 0x1F224 => array(0x58F0), 0x1F225 => array(0x5439),
3199 0x1F226 => array(0x6F14), 0x1F227 => array(0x6295), 0x1F228 => array(0x6355),
3200 0x1F229 => array(0x4E00), 0x1F22A => array(0x4E09), 0x1F22B => array(0x904A),
3201 0x1F22C => array(0x5DE6), 0x1F22D => array(0x4E2D), 0x1F22E => array(0x53F3),
3202 0x1F22F => array(0x6307), 0x1F230 => array(0x8D70), 0x1F231 => array(0x6253),
3203 0x1F232 => array(0x7981), 0x1F233 => array(0x7A7A), 0x1F234 => array(0x5408),
3204 0x1F235 => array(0x6E80), 0x1F236 => array(0x6709), 0x1F237 => array(0x6708),
3205 0x1F238 => array(0x7533), 0x1F239 => array(0x5272), 0x1F23A => array(0x55B6),
3206 0x1F240 => array(0x3014, 0x672C, 0x3015), 0x1F241 => array(0x3014, 0x4E09, 0x3015), 0x1F242 => array(0x3014, 0x4E8C, 0x3015),
3207 0x1F243 => array(0x3014, 0x5B89, 0x3015), 0x1F244 => array(0x3014, 0x70B9, 0x3015), 0x1F245 => array(0x3014, 0x6253, 0x3015),
3208 0x1F246 => array(0x3014, 0x76D7, 0x3015), 0x1F247 => array(0x3014, 0x52DD, 0x3015), 0x1F248 => array(0x3014, 0x6557, 0x3015),
3209 0x1F250 => array(0x5F97), 0x1F251 => array(0x53EF), 0x2F800 => array(0x4E3D),
3210 0x2F801 => array(0x4E38), 0x2F802 => array(0x4E41), 0x2F803 => array(0x20122),
3211 0x2F804 => array(0x4F60), 0x2F805 => array(0x4FAE), 0x2F806 => array(0x4FBB),
3212 0x2F807 => array(0x5002), 0x2F808 => array(0x507A), 0x2F809 => array(0x5099),
3213 0x2F80A => array(0x50E7), 0x2F80B => array(0x50CF), 0x2F80C => array(0x349E),
3214 0x2F80D => array(0x2063A), 0x2F80E => array(0x514D), 0x2F80F => array(0x5154),
3215 0x2F810 => array(0x5164), 0x2F811 => array(0x5177), 0x2F812 => array(0x2051C),
3216 0x2F813 => array(0x34B9), 0x2F814 => array(0x5167), 0x2F815 => array(0x518D),
3217 0x2F816 => array(0x2054B), 0x2F817 => array(0x5197), 0x2F818 => array(0x51A4),
3218 0x2F819 => array(0x4ECC), 0x2F81A => array(0x51AC), 0x2F81B => array(0x51B5),
3219 0x2F81C => array(0x291DF), 0x2F81D => array(0x51F5), 0x2F81E => array(0x5203),
3220 0x2F81F => array(0x34DF), 0x2F820 => array(0x523B), 0x2F821 => array(0x5246),
3221 0x2F822 => array(0x5272), 0x2F823 => array(0x5277), 0x2F824 => array(0x3515),
3222 0x2F825 => array(0x52C7), 0x2F826 => array(0x52C9), 0x2F827 => array(0x52E4),
3223 0x2F828 => array(0x52FA), 0x2F829 => array(0x5305), 0x2F82A => array(0x5306),
3224 0x2F82B => array(0x5317), 0x2F82C => array(0x5349), 0x2F82D => array(0x5351),
3225 0x2F82E => array(0x535A), 0x2F82F => array(0x5373), 0x2F830 => array(0x537D),
3226 0x2F831 => array(0x537F), 0x2F832 => array(0x537F), 0x2F833 => array(0x537F),
3227 0x2F834 => array(0x20A2C), 0x2F835 => array(0x7070), 0x2F836 => array(0x53CA),
3228 0x2F837 => array(0x53DF), 0x2F838 => array(0x20B63), 0x2F839 => array(0x53EB),
3229 0x2F83A => array(0x53F1), 0x2F83B => array(0x5406), 0x2F83C => array(0x549E),
3230 0x2F83D => array(0x5438), 0x2F83E => array(0x5448), 0x2F83F => array(0x5468),
3231 0x2F840 => array(0x54A2), 0x2F841 => array(0x54F6), 0x2F842 => array(0x5510),
3232 0x2F843 => array(0x5553), 0x2F844 => array(0x5563), 0x2F845 => array(0x5584),
3233 0x2F846 => array(0x5584), 0x2F847 => array(0x5599), 0x2F848 => array(0x55AB),
3234 0x2F849 => array(0x55B3), 0x2F84A => array(0x55C2), 0x2F84B => array(0x5716),
3235 0x2F84C => array(0x5606), 0x2F84D => array(0x5717), 0x2F84E => array(0x5651),
3236 0x2F84F => array(0x5674), 0x2F850 => array(0x5207), 0x2F851 => array(0x58EE),
3237 0x2F852 => array(0x57CE), 0x2F853 => array(0x57F4), 0x2F854 => array(0x580D),
3238 0x2F855 => array(0x578B), 0x2F856 => array(0x5832), 0x2F857 => array(0x5831),
3239 0x2F858 => array(0x58AC), 0x2F859 => array(0x214E4), 0x2F85A => array(0x58F2),
3240 0x2F85B => array(0x58F7), 0x2F85C => array(0x5906), 0x2F85D => array(0x591A),
3241 0x2F85E => array(0x5922), 0x2F85F => array(0x5962), 0x2F860 => array(0x216A8),
3242 0x2F861 => array(0x216EA), 0x2F862 => array(0x59EC), 0x2F863 => array(0x5A1B),
3243 0x2F864 => array(0x5A27), 0x2F865 => array(0x59D8), 0x2F866 => array(0x5A66),
3244 0x2F867 => array(0x36EE), 0x2F869 => array(0x5B08), 0x2F86A => array(0x5B3E),
3245 0x2F86B => array(0x5B3E), 0x2F86C => array(0x219C8), 0x2F86D => array(0x5BC3),
3246 0x2F86E => array(0x5BD8), 0x2F86F => array(0x5BE7), 0x2F870 => array(0x5BF3),
3247 0x2F871 => array(0x21B18), 0x2F872 => array(0x5BFF), 0x2F873 => array(0x5C06),
3248 0x2F875 => array(0x5C22), 0x2F876 => array(0x3781), 0x2F877 => array(0x5C60),
3249 0x2F878 => array(0x5C6E), 0x2F879 => array(0x5CC0), 0x2F87A => array(0x5C8D),
3250 0x2F87B => array(0x21DE4), 0x2F87C => array(0x5D43), 0x2F87D => array(0x21DE6),
3251 0x2F87E => array(0x5D6E), 0x2F87F => array(0x5D6B), 0x2F880 => array(0x5D7C),
3252 0x2F881 => array(0x5DE1), 0x2F882 => array(0x5DE2), 0x2F883 => array(0x382F),
3253 0x2F884 => array(0x5DFD), 0x2F885 => array(0x5E28), 0x2F886 => array(0x5E3D),
3254 0x2F887 => array(0x5E69), 0x2F888 => array(0x3862), 0x2F889 => array(0x22183),
3255 0x2F88A => array(0x387C), 0x2F88B => array(0x5EB0), 0x2F88C => array(0x5EB3),
3256 0x2F88D => array(0x5EB6), 0x2F88E => array(0x5ECA), 0x2F88F => array(0x2A392),
3257 0x2F890 => array(0x5EFE), 0x2F891 => array(0x22331), 0x2F892 => array(0x22331),
3258 0x2F893 => array(0x8201), 0x2F894 => array(0x5F22), 0x2F895 => array(0x5F22),
3259 0x2F896 => array(0x38C7), 0x2F897 => array(0x232B8), 0x2F898 => array(0x261DA),
3260 0x2F899 => array(0x5F62), 0x2F89A => array(0x5F6B), 0x2F89B => array(0x38E3),
3261 0x2F89C => array(0x5F9A), 0x2F89D => array(0x5FCD), 0x2F89E => array(0x5FD7),
3262 0x2F89F => array(0x5FF9), 0x2F8A0 => array(0x6081), 0x2F8A1 => array(0x393A),
3263 0x2F8A2 => array(0x391C), 0x2F8A3 => array(0x6094), 0x2F8A4 => array(0x226D4),
3264 0x2F8A5 => array(0x60C7), 0x2F8A6 => array(0x6148), 0x2F8A7 => array(0x614C),
3265 0x2F8A8 => array(0x614E), 0x2F8A9 => array(0x614C), 0x2F8AA => array(0x617A),
3266 0x2F8AB => array(0x618E), 0x2F8AC => array(0x61B2), 0x2F8AD => array(0x61A4),
3267 0x2F8AE => array(0x61AF), 0x2F8AF => array(0x61DE), 0x2F8B0 => array(0x61F2),
3268 0x2F8B1 => array(0x61F6), 0x2F8B2 => array(0x6210), 0x2F8B3 => array(0x621B),
3269 0x2F8B4 => array(0x625D), 0x2F8B5 => array(0x62B1), 0x2F8B6 => array(0x62D4),
3270 0x2F8B7 => array(0x6350), 0x2F8B8 => array(0x22B0C), 0x2F8B9 => array(0x633D),
3271 0x2F8BA => array(0x62FC), 0x2F8BB => array(0x6368), 0x2F8BC => array(0x6383),
3272 0x2F8BD => array(0x63E4), 0x2F8BE => array(0x22BF1), 0x2F8BF => array(0x6422),
3273 0x2F8C0 => array(0x63C5), 0x2F8C1 => array(0x63A9), 0x2F8C2 => array(0x3A2E),
3274 0x2F8C3 => array(0x6469), 0x2F8C4 => array(0x647E), 0x2F8C5 => array(0x649D),
3275 0x2F8C6 => array(0x6477), 0x2F8C7 => array(0x3A6C), 0x2F8C8 => array(0x654F),
3276 0x2F8C9 => array(0x656C), 0x2F8CA => array(0x2300A), 0x2F8CB => array(0x65E3),
3277 0x2F8CC => array(0x66F8), 0x2F8CD => array(0x6649), 0x2F8CE => array(0x3B19),
3278 0x2F8CF => array(0x6691), 0x2F8D0 => array(0x3B08), 0x2F8D1 => array(0x3AE4),
3279 0x2F8D2 => array(0x5192), 0x2F8D3 => array(0x5195), 0x2F8D4 => array(0x6700),
3280 0x2F8D5 => array(0x669C), 0x2F8D6 => array(0x80AD), 0x2F8D7 => array(0x43D9),
3281 0x2F8D8 => array(0x6717), 0x2F8D9 => array(0x671B), 0x2F8DA => array(0x6721),
3282 0x2F8DB => array(0x675E), 0x2F8DC => array(0x6753), 0x2F8DD => array(0x233C3),
3283 0x2F8DE => array(0x3B49), 0x2F8DF => array(0x67FA), 0x2F8E0 => array(0x6785),
3284 0x2F8E1 => array(0x6852), 0x2F8E2 => array(0x6885), 0x2F8E3 => array(0x2346D),
3285 0x2F8E4 => array(0x688E), 0x2F8E5 => array(0x681F), 0x2F8E6 => array(0x6914),
3286 0x2F8E7 => array(0x3B9D), 0x2F8E8 => array(0x6942), 0x2F8E9 => array(0x69A3),
3287 0x2F8EA => array(0x69EA), 0x2F8EB => array(0x6AA8), 0x2F8EC => array(0x236A3),
3288 0x2F8ED => array(0x6ADB), 0x2F8EE => array(0x3C18), 0x2F8EF => array(0x6B21),
3289 0x2F8F0 => array(0x238A7), 0x2F8F1 => array(0x6B54), 0x2F8F2 => array(0x3C4E),
3290 0x2F8F3 => array(0x6B72), 0x2F8F4 => array(0x6B9F), 0x2F8F5 => array(0x6BBA),
3291 0x2F8F6 => array(0x6BBB), 0x2F8F7 => array(0x23A8D), 0x2F8F8 => array(0x21D0B),
3292 0x2F8F9 => array(0x23AFA), 0x2F8FA => array(0x6C4E), 0x2F8FB => array(0x23CBC),
3293 0x2F8FC => array(0x6CBF), 0x2F8FD => array(0x6CCD), 0x2F8FE => array(0x6C67),
3294 0x2F8FF => array(0x6D16), 0x2F900 => array(0x6D3E), 0x2F901 => array(0x6D77),
3295 0x2F902 => array(0x6D41), 0x2F903 => array(0x6D69), 0x2F904 => array(0x6D78),
3296 0x2F905 => array(0x6D85), 0x2F906 => array(0x23D1E), 0x2F907 => array(0x6D34),
3297 0x2F908 => array(0x6E2F), 0x2F909 => array(0x6E6E), 0x2F90A => array(0x3D33),
3298 0x2F90B => array(0x6ECB), 0x2F90C => array(0x6EC7), 0x2F90D => array(0x23ED1),
3299 0x2F90E => array(0x6DF9), 0x2F90F => array(0x6F6E), 0x2F910 => array(0x23F5E),
3300 0x2F911 => array(0x23F8E), 0x2F912 => array(0x6FC6), 0x2F913 => array(0x7039),
3301 0x2F914 => array(0x701E), 0x2F915 => array(0x701B), 0x2F916 => array(0x3D96),
3302 0x2F917 => array(0x704A), 0x2F918 => array(0x707D), 0x2F919 => array(0x7077),
3303 0x2F91A => array(0x70AD), 0x2F91B => array(0x20525), 0x2F91C => array(0x7145),
3304 0x2F91D => array(0x24263), 0x2F91E => array(0x719C), 0x2F920 => array(0x7228),
3305 0x2F921 => array(0x7235), 0x2F922 => array(0x7250), 0x2F923 => array(0x24608),
3306 0x2F924 => array(0x7280), 0x2F925 => array(0x7295), 0x2F926 => array(0x24735),
3307 0x2F927 => array(0x24814), 0x2F928 => array(0x737A), 0x2F929 => array(0x738B),
3308 0x2F92A => array(0x3EAC), 0x2F92B => array(0x73A5), 0x2F92C => array(0x3EB8),
3309 0x2F92D => array(0x3EB8), 0x2F92E => array(0x7447), 0x2F92F => array(0x745C),
3310 0x2F930 => array(0x7471), 0x2F931 => array(0x7485), 0x2F932 => array(0x74CA),
3311 0x2F933 => array(0x3F1B), 0x2F934 => array(0x7524), 0x2F935 => array(0x24C36),
3312 0x2F936 => array(0x753E), 0x2F937 => array(0x24C92), 0x2F938 => array(0x7570),
3313 0x2F939 => array(0x2219F), 0x2F93A => array(0x7610), 0x2F93B => array(0x24FA1),
3314 0x2F93C => array(0x24FB8), 0x2F93D => array(0x25044), 0x2F93E => array(0x3FFC),
3315 0x2F93F => array(0x4008), 0x2F940 => array(0x76F4), 0x2F941 => array(0x250F3),
3316 0x2F942 => array(0x250F2), 0x2F943 => array(0x25119), 0x2F944 => array(0x25133),
3317 0x2F945 => array(0x771E), 0x2F946 => array(0x771F), 0x2F947 => array(0x771F),
3318 0x2F948 => array(0x774A), 0x2F949 => array(0x4039), 0x2F94A => array(0x778B),
3319 0x2F94B => array(0x4046), 0x2F94C => array(0x4096), 0x2F94D => array(0x2541D),
3320 0x2F94E => array(0x784E), 0x2F94F => array(0x788C), 0x2F950 => array(0x78CC),
3321 0x2F951 => array(0x40E3), 0x2F952 => array(0x25626), 0x2F953 => array(0x7956),
3322 0x2F954 => array(0x2569A), 0x2F955 => array(0x256C5), 0x2F956 => array(0x798F),
3323 0x2F957 => array(0x79EB), 0x2F958 => array(0x412F), 0x2F959 => array(0x7A40),
3324 0x2F95A => array(0x7A4A), 0x2F95B => array(0x7A4F), 0x2F95C => array(0x2597C),
3325 0x2F95D => array(0x25AA7), 0x2F95E => array(0x25AA7), 0x2F960 => array(0x4202),
3326 0x2F961 => array(0x25BAB), 0x2F962 => array(0x7BC6), 0x2F963 => array(0x7BC9),
3327 0x2F964 => array(0x4227), 0x2F965 => array(0x25C80), 0x2F966 => array(0x7CD2),
3328 0x2F967 => array(0x42A0), 0x2F968 => array(0x7CE8), 0x2F969 => array(0x7CE3),
3329 0x2F96A => array(0x7D00), 0x2F96B => array(0x25F86), 0x2F96C => array(0x7D63),
3330 0x2F96D => array(0x4301), 0x2F96E => array(0x7DC7), 0x2F96F => array(0x7E02),
3331 0x2F970 => array(0x7E45), 0x2F971 => array(0x4334), 0x2F972 => array(0x26228),
3332 0x2F973 => array(0x26247), 0x2F974 => array(0x4359), 0x2F975 => array(0x262D9),
3333 0x2F976 => array(0x7F7A), 0x2F977 => array(0x2633E), 0x2F978 => array(0x7F95),
3334 0x2F979 => array(0x7FFA), 0x2F97A => array(0x8005), 0x2F97B => array(0x264DA),
3335 0x2F97C => array(0x26523), 0x2F97D => array(0x8060), 0x2F97E => array(0x265A8),
3336 0x2F97F => array(0x8070), 0x2F980 => array(0x2335F), 0x2F981 => array(0x43D5),
3337 0x2F982 => array(0x80B2), 0x2F983 => array(0x8103), 0x2F984 => array(0x440B),
3338 0x2F985 => array(0x813E), 0x2F986 => array(0x5AB5), 0x2F987 => array(0x267A7),
3339 0x2F988 => array(0x267B5), 0x2F989 => array(0x23393), 0x2F98A => array(0x2339C),
3340 0x2F98B => array(0x8201), 0x2F98C => array(0x8204), 0x2F98D => array(0x8F9E),
3341 0x2F98E => array(0x446B), 0x2F98F => array(0x8291), 0x2F990 => array(0x828B),
3342 0x2F991 => array(0x829D), 0x2F992 => array(0x52B3), 0x2F993 => array(0x82B1),
3343 0x2F994 => array(0x82B3), 0x2F995 => array(0x82BD), 0x2F996 => array(0x82E6),
3344 0x2F997 => array(0x26B3C), 0x2F998 => array(0x82E5), 0x2F999 => array(0x831D),
3345 0x2F99A => array(0x8363), 0x2F99B => array(0x83AD), 0x2F99C => array(0x8323),
3346 0x2F99D => array(0x83BD), 0x2F99E => array(0x83E7), 0x2F99F => array(0x8457),
3347 0x2F9A0 => array(0x8353), 0x2F9A1 => array(0x83CA), 0x2F9A2 => array(0x83CC),
3348 0x2F9A3 => array(0x83DC), 0x2F9A4 => array(0x26C36), 0x2F9A5 => array(0x26D6B),
3349 0x2F9A6 => array(0x26CD5), 0x2F9A7 => array(0x452B), 0x2F9A8 => array(0x84F1),
3350 0x2F9A9 => array(0x84F3), 0x2F9AA => array(0x8516), 0x2F9AB => array(0x273CA),
3351 0x2F9AC => array(0x8564), 0x2F9AD => array(0x26F2C), 0x2F9AE => array(0x455D),
3352 0x2F9AF => array(0x4561), 0x2F9B0 => array(0x26FB1), 0x2F9B1 => array(0x270D2),
3353 0x2F9B2 => array(0x456B), 0x2F9B3 => array(0x8650), 0x2F9B4 => array(0x865C),
3354 0x2F9B5 => array(0x8667), 0x2F9B6 => array(0x8669), 0x2F9B7 => array(0x86A9),
3355 0x2F9B8 => array(0x8688), 0x2F9B9 => array(0x870E), 0x2F9BA => array(0x86E2),
3356 0x2F9BB => array(0x8779), 0x2F9BC => array(0x8728), 0x2F9BD => array(0x876B),
3357 0x2F9BE => array(0x8786), 0x2F9C0 => array(0x87E1), 0x2F9C1 => array(0x8801),
3358 0x2F9C2 => array(0x45F9), 0x2F9C3 => array(0x8860), 0x2F9C4 => array(0x8863),
3359 0x2F9C5 => array(0x27667), 0x2F9C6 => array(0x88D7), 0x2F9C7 => array(0x88DE),
3360 0x2F9C8 => array(0x4635), 0x2F9C9 => array(0x88FA), 0x2F9CA => array(0x34BB),
3361 0x2F9CB => array(0x278AE), 0x2F9CC => array(0x27966), 0x2F9CD => array(0x46BE),
3362 0x2F9CE => array(0x46C7), 0x2F9CF => array(0x8AA0), 0x2F9D0 => array(0x8AED),
3363 0x2F9D1 => array(0x8B8A), 0x2F9D2 => array(0x8C55), 0x2F9D3 => array(0x27CA8),
3364 0x2F9D4 => array(0x8CAB), 0x2F9D5 => array(0x8CC1), 0x2F9D6 => array(0x8D1B),
3365 0x2F9D7 => array(0x8D77), 0x2F9D8 => array(0x27F2F), 0x2F9D9 => array(0x20804),
3366 0x2F9DA => array(0x8DCB), 0x2F9DB => array(0x8DBC), 0x2F9DC => array(0x8DF0),
3367 0x2F9DD => array(0x208DE), 0x2F9DE => array(0x8ED4), 0x2F9DF => array(0x8F38),
3368 0x2F9E0 => array(0x285D2), 0x2F9E1 => array(0x285ED), 0x2F9E2 => array(0x9094),
3369 0x2F9E3 => array(0x90F1), 0x2F9E4 => array(0x9111), 0x2F9E5 => array(0x2872E),
3370 0x2F9E6 => array(0x911B), 0x2F9E7 => array(0x9238), 0x2F9E8 => array(0x92D7),
3371 0x2F9E9 => array(0x92D8), 0x2F9EA => array(0x927C), 0x2F9EB => array(0x93F9),
3372 0x2F9EC => array(0x9415), 0x2F9ED => array(0x28BFA), 0x2F9EE => array(0x958B),
3373 0x2F9EF => array(0x4995), 0x2F9F0 => array(0x95B7), 0x2F9F1 => array(0x28D77),
3374 0x2F9F2 => array(0x49E6), 0x2F9F3 => array(0x96C3), 0x2F9F4 => array(0x5DB2),
3375 0x2F9F5 => array(0x9723), 0x2F9F6 => array(0x29145), 0x2F9F7 => array(0x2921A),
3376 0x2F9F8 => array(0x4A6E), 0x2F9F9 => array(0x4A76), 0x2F9FA => array(0x97E0),
3377 0x2F9FB => array(0x2940A), 0x2F9FC => array(0x4AB2), 0x2F9FD => array(0x29496),
3378 0x2F9FE => array(0x980B), 0x2F9FF => array(0x980B), 0x2FA00 => array(0x9829),
3379 0x2FA01 => array(0x295B6), 0x2FA02 => array(0x98E2), 0x2FA03 => array(0x4B33),
3380 0x2FA04 => array(0x9929), 0x2FA05 => array(0x99A7), 0x2FA06 => array(0x99C2),
3381 0x2FA07 => array(0x99FE), 0x2FA08 => array(0x4BCE), 0x2FA09 => array(0x29B30),
3382 0x2FA0A => array(0x9B12), 0x2FA0B => array(0x9C40), 0x2FA0C => array(0x9CFD),
3383 0x2FA0D => array(0x4CCE), 0x2FA0E => array(0x4CED), 0x2FA0F => array(0x9D67),
3384 0x2FA10 => array(0x2A0CE), 0x2FA11 => array(0x4CF8), 0x2FA12 => array(0x2A105),
3385 0x2FA13 => array(0x2A20E), 0x2FA14 => array(0x2A291), 0x2FA15 => array(0x9EBB),
3386 0x2FA16 => array(0x4D56), 0x2FA17 => array(0x9EF9), 0x2FA18 => array(0x9EFE),
3387 0x2FA19 => array(0x9F05), 0x2FA1A => array(0x9F0F), 0x2FA1B => array(0x9F16),
3388 0x2FA1C => array(0x9F3B), 0x2FA1D => array(0x2A600)
3389 ),
3390 'norm_combcls' => array(0x334 => 1, 0x335 => 1, 0x336 => 1, 0x337 => 1,
3391 0x338 => 1, 0x93C => 7, 0x9BC => 7, 0xA3C => 7, 0xABC => 7,
3392 0xB3C => 7, 0xCBC => 7, 0x1037 => 7, 0x3099 => 8, 0x309A => 8,
3393 0x94D => 9, 0x9CD => 9, 0xA4D => 9, 0xACD => 9, 0xB4D => 9,
3394 0xBCD => 9, 0xC4D => 9, 0xCCD => 9, 0xD4D => 9, 0xDCA => 9,
3395 0xE3A => 9, 0xF84 => 9, 0x1039 => 9, 0x1714 => 9, 0x1734 => 9,
3396 0x17D2 => 9, 0x5B0 => 10, 0x5B1 => 11, 0x5B2 => 12, 0x5B3 => 13,
3397 0x5B4 => 14, 0x5B5 => 15, 0x5B6 => 16, 0x5B7 => 17, 0x5B8 => 18,
3398 0x5B9 => 19, 0x5BB => 20, 0x5Bc => 21, 0x5BD => 22, 0x5BF => 23,
3399 0x5C1 => 24, 0x5C2 => 25, 0xFB1E => 26, 0x64B => 27, 0x64C => 28,
3400 0x64D => 29, 0x64E => 30, 0x64F => 31, 0x650 => 32, 0x651 => 33,
3401 0x652 => 34, 0x670 => 35, 0x711 => 36, 0xC55 => 84, 0xC56 => 91,
3402 0xE38 => 103, 0xE39 => 103, 0xE48 => 107, 0xE49 => 107, 0xE4A => 107,
3403 0xE4B => 107, 0xEB8 => 118, 0xEB9 => 118, 0xEC8 => 122, 0xEC9 => 122,
3404 0xECA => 122, 0xECB => 122, 0xF71 => 129, 0xF72 => 130, 0xF7A => 130,
3405 0xF7B => 130, 0xF7C => 130, 0xF7D => 130, 0xF80 => 130, 0xF74 => 132,
3406 0x321 => 202, 0x322 => 202, 0x327 => 202, 0x328 => 202, 0x31B => 216,
3407 0xF39 => 216, 0x1D165 => 216, 0x1D166 => 216, 0x1D16E => 216, 0x1D16F => 216,
3408 0x1D170 => 216, 0x1D171 => 216, 0x1D172 => 216, 0x302A => 218, 0x316 => 220,
3409 0x317 => 220, 0x318 => 220, 0x319 => 220, 0x31C => 220, 0x31D => 220,
3410 0x31E => 220, 0x31F => 220, 0x320 => 220, 0x323 => 220, 0x324 => 220,
3411 0x325 => 220, 0x326 => 220, 0x329 => 220, 0x32A => 220, 0x32B => 220,
3412 0x32C => 220, 0x32D => 220, 0x32E => 220, 0x32F => 220, 0x330 => 220,
3413 0x331 => 220, 0x332 => 220, 0x333 => 220, 0x339 => 220, 0x33A => 220,
3414 0x33B => 220, 0x33C => 220, 0x347 => 220, 0x348 => 220, 0x349 => 220,
3415 0x34D => 220, 0x34E => 220, 0x353 => 220, 0x354 => 220, 0x355 => 220,
3416 0x356 => 220, 0x591 => 220, 0x596 => 220, 0x59B => 220, 0x5A3 => 220,
3417 0x5A4 => 220, 0x5A5 => 220, 0x5A6 => 220, 0x5A7 => 220, 0x5AA => 220,
3418 0x655 => 220, 0x656 => 220, 0x6E3 => 220, 0x6EA => 220, 0x6ED => 220,
3419 0x731 => 220, 0x734 => 220, 0x737 => 220, 0x738 => 220, 0x739 => 220,
3420 0x73B => 220, 0x73C => 220, 0x73E => 220, 0x742 => 220, 0x744 => 220,
3421 0x746 => 220, 0x748 => 220, 0x952 => 220, 0xF18 => 220, 0xF19 => 220,
3422 0xF35 => 220, 0xF37 => 220, 0xFC6 => 220, 0x193B => 220, 0x20E8 => 220,
3423 0x1D17B => 220, 0x1D17C => 220, 0x1D17D => 220, 0x1D17E => 220, 0x1D17F => 220,
3424 0x1D180 => 220, 0x1D181 => 220, 0x1D182 => 220, 0x1D18A => 220, 0x1D18B => 220,
3425 0x59A => 222, 0x5AD => 222, 0x1929 => 222, 0x302D => 222, 0x302E => 224,
3426 0x302F => 224, 0x1D16D => 226, 0x5AE => 228, 0x18A9 => 228, 0x302B => 228,
3427 0x300 => 230, 0x301 => 230, 0x302 => 230, 0x303 => 230, 0x304 => 230,
3428 0x305 => 230, 0x306 => 230, 0x307 => 230, 0x308 => 230, 0x309 => 230,
3429 0x30A => 230, 0x30B => 230, 0x30C => 230, 0x30D => 230, 0x30E => 230,
3430 0x30F => 230, 0x310 => 230, 0x311 => 230, 0x312 => 230, 0x313 => 230,
3431 0x314 => 230, 0x33D => 230, 0x33E => 230, 0x33F => 230, 0x340 => 230,
3432 0x341 => 230, 0x342 => 230, 0x343 => 230, 0x344 => 230, 0x346 => 230,
3433 0x34A => 230, 0x34B => 230, 0x34C => 230, 0x350 => 230, 0x351 => 230,
3434 0x352 => 230, 0x357 => 230, 0x363 => 230, 0x364 => 230, 0x365 => 230,
3435 0x366 => 230, 0x367 => 230, 0x368 => 230, 0x369 => 230, 0x36A => 230,
3436 0x36B => 230, 0x36C => 230, 0x36D => 230, 0x36E => 230, 0x36F => 230,
3437 0x483 => 230, 0x484 => 230, 0x485 => 230, 0x486 => 230, 0x592 => 230,
3438 0x593 => 230, 0x594 => 230, 0x595 => 230, 0x597 => 230, 0x598 => 230,
3439 0x599 => 230, 0x59C => 230, 0x59D => 230, 0x59E => 230, 0x59F => 230,
3440 0x5A0 => 230, 0x5A1 => 230, 0x5A8 => 230, 0x5A9 => 230, 0x5AB => 230,
3441 0x5AC => 230, 0x5AF => 230, 0x5C4 => 230, 0x610 => 230, 0x611 => 230,
3442 0x612 => 230, 0x613 => 230, 0x614 => 230, 0x615 => 230, 0x653 => 230,
3443 0x654 => 230, 0x657 => 230, 0x658 => 230, 0x6D6 => 230, 0x6D7 => 230,
3444 0x6D8 => 230, 0x6D9 => 230, 0x6DA => 230, 0x6DB => 230, 0x6DC => 230,
3445 0x6DF => 230, 0x6E0 => 230, 0x6E1 => 230, 0x6E2 => 230, 0x6E4 => 230,
3446 0x6E7 => 230, 0x6E8 => 230, 0x6EB => 230, 0x6EC => 230, 0x730 => 230,
3447 0x732 => 230, 0x733 => 230, 0x735 => 230, 0x736 => 230, 0x73A => 230,
3448 0x73D => 230, 0x73F => 230, 0x740 => 230, 0x741 => 230, 0x743 => 230,
3449 0x745 => 230, 0x747 => 230, 0x749 => 230, 0x74A => 230, 0x951 => 230,
3450 0x953 => 230, 0x954 => 230, 0xF82 => 230, 0xF83 => 230, 0xF86 => 230,
3451 0xF87 => 230, 0x170D => 230, 0x193A => 230, 0x20D0 => 230, 0x20D1 => 230,
3452 0x20D4 => 230, 0x20D5 => 230, 0x20D6 => 230, 0x20D7 => 230, 0x20DB => 230,
3453 0x20DC => 230, 0x20E1 => 230, 0x20E7 => 230, 0x20E9 => 230, 0xFE20 => 230,
3454 0xFE21 => 230, 0xFE22 => 230, 0xFE23 => 230, 0x1D185 => 230, 0x1D186 => 230,
3455 0x1D187 => 230, 0x1D189 => 230, 0x1D188 => 230, 0x1D1AA => 230, 0x1D1AB => 230,
3456 0x1D1AC => 230, 0x1D1AD => 230, 0x315 => 232, 0x31A => 232, 0x302C => 232,
3457 0x35F => 233, 0x362 => 233, 0x35D => 234, 0x35E => 234, 0x360 => 234,
3458 0x361 => 234, 0x345 => 240
3459 )
3460 );
3461 }