MediaWiki master
ParserOutput.php
Go to the documentation of this file.
1<?php
21namespace MediaWiki\Parser;
22
23use InvalidArgumentException;
24use LogicException;
27use MediaWiki\Json\JsonDeserializableTrait;
34use UnexpectedValueException;
35use Wikimedia\Bcp47Code\Bcp47Code;
36use Wikimedia\Bcp47Code\Bcp47CodeValue;
38use Wikimedia\Parsoid\Core\ContentMetadataCollector;
39use Wikimedia\Parsoid\Core\ContentMetadataCollectorCompat;
40use Wikimedia\Parsoid\Core\LinkTarget as ParsoidLinkTarget;
41use Wikimedia\Parsoid\Core\TOCData;
42use Wikimedia\Reflection\GhostFieldAccessTrait;
43
93class ParserOutput extends CacheTime implements ContentMetadataCollector {
94 use GhostFieldAccessTrait;
95 use JsonDeserializableTrait;
96 // This is used to break cyclic dependencies and allow a measure
97 // of compatibility when new methods are added to ContentMetadataCollector
98 // by Parsoid.
99 use ContentMetadataCollectorCompat;
100
108
113
118 public const MW_MERGE_STRATEGY_KEY = '_mw-strategy';
119
130 public const MW_MERGE_STRATEGY_UNION = 'union';
131
135 private $mRawText = null;
136
140 private $mLanguageLinkMap = [];
141
145 private $mCategories = [];
146
150 private $mIndicators = [];
151
155 private $mTitleText;
156
161 private $mLinks = [];
162
167 private $mLinksSpecial = [];
168
173 private $mTemplates = [];
174
179 private $mTemplateIds = [];
180
184 private $mImages = [];
185
189 private $mFileSearchOptions = [];
190
194 private array $mExternalLinks = [];
195
200 private $mInterwikiLinks = [];
201
205 private $mNewSection = false;
206
210 private $mHideNewSection = false;
211
215 private $mNoGallery = false;
216
220 private $mHeadItems = [];
221
225 private $mModuleSet = [];
226
230 private $mModuleStyleSet = [];
231
235 private $mJsConfigVars = [];
236
241 private $mWarnings = [];
242
248 private $mWarningMsgs = [];
249
253 private $mTOCData;
254
258 private $mProperties = [];
259
263 private $mTimestamp;
264
268 private $mEnableOOUI = false;
269
273 private $mIndexSet = false;
274
278 private $mNoIndexSet = false;
279
283 private $mExtensionData = [];
284
288 private $mLimitReportData = [];
289
291 private $mLimitReportJSData = [];
292
294 private $mCacheMessage = '';
295
299 private $mParseStartTime = [];
300
304 private $mTimeProfile = [];
305
311 private $mPreventClickjacking = false;
312
316 private $mExtraScriptSrcs = [];
317
321 private $mExtraDefaultSrcs = [];
322
326 private $mExtraStyleSrcs = [];
327
331 private $mFlags = [];
332
333 private const SPECULATIVE_FIELDS = [
334 'speculativePageIdUsed',
335 'mSpeculativeRevId',
336 'revisionTimestampUsed',
337 ];
338
340 private $mSpeculativeRevId;
342 private $speculativePageIdUsed;
344 private $revisionTimestampUsed;
345
347 private $revisionUsedSha1Base36;
348
353 private $mWrapperDivClasses = [];
354
356 private $mMaxAdaptiveExpiry = INF;
357
358 // finalizeAdaptiveCacheExpiry() uses TTL = MAX( m * PARSE_TIME + b, MIN_AR_TTL)
359 // Current values imply that m=3933.333333 and b=-333.333333
360 // See https://www.nngroup.com/articles/website-response-times/
361 private const PARSE_FAST_SEC = 0.100; // perceived "fast" page parse
362 private const PARSE_SLOW_SEC = 1.0; // perceived "slow" page parse
363 private const FAST_AR_TTL = 60; // adaptive TTL for "fast" pages
364 private const SLOW_AR_TTL = 3600; // adaptive TTL for "slow" pages
365 private const MIN_AR_TTL = 15; // min adaptive TTL (for pool counter, and edit stashing)
366
377 public function __construct( $text = null, $languageLinks = [], $categoryLinks = [],
378 $unused = false, $titletext = ''
379 ) {
380 $this->mRawText = $text;
381 $this->mCategories = $categoryLinks;
382 $this->mTitleText = $titletext;
383 if ( $languageLinks === null ) { // T376323
384 wfDeprecated( __METHOD__ . ' with null $languageLinks', '1.43' );
385 }
386 foreach ( ( $languageLinks ?? [] ) as $ll ) {
387 $this->addLanguageLink( $ll );
388 }
389 // If the content handler does not specify an alternative (by
390 // calling ::resetParseStartTime() at a later point) then use
391 // the creation of the ParserOutput as the "start of parse" time.
392 $this->resetParseStartTime();
393 }
394
405 public function hasText(): bool {
406 return ( $this->mRawText !== null );
407 }
408
417 public function getRawText() {
418 if ( $this->mRawText === null ) {
419 throw new LogicException( 'This ParserOutput contains no text!' );
420 }
421
422 return $this->mRawText;
423 }
424
471 public function getText( $options = [] ) {
472 $oldText = $this->mRawText; // T353257
473 $options += [ 'allowClone' => false ];
474 $po = $this->runPipelineInternal( null, $options );
475 $newText = $po->getContentHolderText();
476 // T353257: for back-compat only mutations to metadata performed by
477 // the pipeline should be preserved; mutations to $mText should be
478 // discarded.
479 $this->setRawText( $oldText );
480 return $newText;
481 }
482
528 public function runOutputPipeline( ParserOptions $popts, array $options = [] ): ParserOutput {
529 return $this->runPipelineInternal( $popts, $options );
530 }
531
536 private function runPipelineInternal( ?ParserOptions $popts, array $options = [] ): ParserOutput {
537 $pipeline = MediaWikiServices::getInstance()->getDefaultOutputPipeline();
538 $options += [
539 'allowClone' => true,
540 'allowTOC' => true,
541 'injectTOC' => true,
542 'enableSectionEditLinks' => !$this->getOutputFlag( ParserOutputFlags::NO_SECTION_EDIT_LINKS ),
543 'userLang' => null,
544 'skin' => null,
545 'unwrap' => false,
546 'wrapperDivClass' => $this->getWrapperDivClass(),
547 'deduplicateStyles' => true,
548 'absoluteURLs' => false,
549 'includeDebugInfo' => false,
550 'isParsoidContent' => PageBundleParserOutputConverter::hasPageBundle( $this ),
551 ];
552 return $pipeline->run( $this, $popts, $options );
553 }
554
560 public function addCacheMessage( string $msg ): void {
561 $this->mCacheMessage .= $msg;
562 }
563
569 public function addWrapperDivClass( $class ): void {
570 $this->mWrapperDivClasses[$class] = true;
571 }
572
577 public function clearWrapperDivClass(): void {
578 $this->mWrapperDivClasses = [];
579 }
580
586 public function getWrapperDivClass(): string {
587 return implode( ' ', array_keys( $this->mWrapperDivClasses ) );
588 }
589
594 public function setSpeculativeRevIdUsed( $id ): void {
595 $this->mSpeculativeRevId = $id;
596 }
597
602 public function getSpeculativeRevIdUsed(): ?int {
603 return $this->mSpeculativeRevId;
604 }
605
610 public function setSpeculativePageIdUsed( $id ): void {
611 $this->speculativePageIdUsed = $id;
612 }
613
618 public function getSpeculativePageIdUsed() {
619 return $this->speculativePageIdUsed;
620 }
621
626 public function setRevisionTimestampUsed( $timestamp ): void {
627 $this->revisionTimestampUsed = $timestamp;
628 }
629
634 public function getRevisionTimestampUsed() {
635 return $this->revisionTimestampUsed;
636 }
637
642 public function setRevisionUsedSha1Base36( $hash ): void {
643 if ( $hash === null ) {
644 return; // e.g. RevisionRecord::getSha1() returned null
645 }
646
647 if (
648 $this->revisionUsedSha1Base36 !== null &&
649 $this->revisionUsedSha1Base36 !== $hash
650 ) {
651 $this->revisionUsedSha1Base36 = ''; // mismatched
652 } else {
653 $this->revisionUsedSha1Base36 = $hash;
654 }
655 }
656
661 public function getRevisionUsedSha1Base36() {
662 return $this->revisionUsedSha1Base36;
663 }
664
670 public function getLanguageLinks() {
671 $result = [];
672 foreach ( $this->mLanguageLinkMap as $lang => $title ) {
673 // T374736: Back-compat with empty prefix; see ::addLanguageLink()
674 $result[] = $title === '|' ? "$lang" : "$lang:$title";
675 }
676 return $result;
677 }
678
680 public function getInterwikiLinks() {
681 return $this->mInterwikiLinks;
682 }
683
691 public function getCategoryNames(): array {
692 # Note that numeric category names get converted to 'int' when
693 # stored as array keys; stringify the keys to ensure they
694 # return to original string form so as not to confuse callers.
695 return array_map( 'strval', array_keys( $this->mCategories ) );
696 }
697
709 public function getCategoryMap(): array {
710 return $this->mCategories;
711 }
712
726 public function getCategorySortKey( string $name ): ?string {
727 // This API avoids exposing the fact that numeric string category
728 // names are going to be converted to 'int' when used as array
729 // keys for the `mCategories` field.
730 return $this->mCategories[$name] ?? null;
731 }
732
737 public function getIndicators(): array {
738 return $this->mIndicators;
739 }
740
741 public function getTitleText() {
742 return $this->mTitleText;
743 }
744
749 public function getTOCData(): ?TOCData {
750 return $this->mTOCData;
751 }
752
757 public function getCacheMessage(): string {
758 return $this->mCacheMessage;
759 }
760
765 public function getSections(): array {
766 if ( $this->mTOCData !== null ) {
767 return $this->mTOCData->toLegacy();
768 }
769 // For compatibility
770 return [];
771 }
772
788 public function getLinkList( string $linkType ): array {
789 # Note that fragments are dropped for everything except language links
790 $result = [];
791 switch ( $linkType ) {
792 case ParserOutputLinkTypes::CATEGORY:
793 foreach ( $this->mCategories as $dbkey => $sort ) {
794 $result[] = [
795 'link' => new TitleValue( NS_CATEGORY, (string)$dbkey ),
796 'sort' => $sort,
797 ];
798 }
799 break;
800
801 case ParserOutputLinkTypes::INTERWIKI:
802 foreach ( $this->mInterwikiLinks as $prefix => $arr ) {
803 foreach ( $arr as $dbkey => $ignore ) {
804 $result[] = [
805 'link' => new TitleValue( NS_MAIN, (string)$dbkey, '', (string)$prefix ),
806 ];
807 }
808 }
809 break;
810
811 case ParserOutputLinkTypes::LANGUAGE:
812 foreach ( $this->mLanguageLinkMap as $lang => $title ) {
813 if ( $title === '|' ) {
814 continue; // T374736
815 }
816 # language links can have fragments!
817 [ $title, $frag ] = array_pad( explode( '#', $title, 2 ), 2, '' );
818 $result[] = [
819 'link' => new TitleValue( NS_MAIN, $title, $frag, (string)$lang ),
820 ];
821 }
822 break;
823
824 case ParserOutputLinkTypes::LOCAL:
825 foreach ( $this->mLinks as $ns => $arr ) {
826 foreach ( $arr as $dbkey => $id ) {
827 $result[] = [
828 'link' => new TitleValue( $ns, (string)$dbkey ),
829 'pageid' => $id,
830 ];
831 }
832 }
833 break;
834
835 case ParserOutputLinkTypes::MEDIA:
836 foreach ( $this->mImages as $dbkey => $ignore ) {
837 $extra = $this->mFileSearchOptions[$dbkey] ?? [];
838 $extra['link'] = new TitleValue( NS_FILE, (string)$dbkey );
839 $result[] = $extra;
840 }
841 break;
842
843 case ParserOutputLinkTypes::SPECIAL:
844 foreach ( $this->mLinksSpecial as $dbkey => $ignore ) {
845 $result[] = [
846 'link' => new TitleValue( NS_SPECIAL, (string)$dbkey ),
847 ];
848 }
849 break;
850
851 case ParserOutputLinkTypes::TEMPLATE:
852 foreach ( $this->mTemplates as $ns => $arr ) {
853 foreach ( $arr as $dbkey => $pageid ) {
854 $result[] = [
855 'link' => new TitleValue( $ns, (string)$dbkey ),
856 'pageid' => $pageid,
857 // default to invalid/broken revision if this is not present
858 'revid' => $this->mTemplateIds[$ns][$dbkey] ?? 0,
859 ];
860 }
861 }
862 break;
863
864 default:
865 throw new UnexpectedValueException( "Unknown link type $linkType" );
866 }
867 return $result;
868 }
869
871 public function &getLinks() {
872 return $this->mLinks;
873 }
874
881 public function hasLinks(): bool {
882 foreach ( $this->mLinks as $ns => $arr ) {
883 foreach ( $arr as $dbkey => $id ) {
884 return true;
885 }
886 }
887 return false;
888 }
889
895 public function &getLinksSpecial() {
896 return $this->mLinksSpecial;
897 }
898
900 public function &getTemplates() {
901 return $this->mTemplates;
902 }
903
905 public function &getTemplateIds() {
906 return $this->mTemplateIds;
907 }
908
910 public function &getImages() {
911 return $this->mImages;
912 }
913
919 public function hasImages(): bool {
920 return $this->mImages !== [];
921 }
922
924 public function &getFileSearchOptions() {
925 return $this->mFileSearchOptions;
926 }
927
934 public function &getExternalLinks(): array {
935 return $this->mExternalLinks;
936 }
937
938 public function setNoGallery( $value ): void {
939 $this->mNoGallery = (bool)$value;
940 }
941
942 public function getNoGallery() {
943 return $this->mNoGallery;
944 }
945
946 public function getHeadItems() {
947 return $this->mHeadItems;
948 }
949
950 public function getModules() {
951 return array_keys( $this->mModuleSet );
952 }
953
954 public function getModuleStyles() {
955 return array_keys( $this->mModuleStyleSet );
956 }
957
965 public function getJsConfigVars( bool $showStrategyKeys = false ) {
966 $result = $this->mJsConfigVars;
967 // Don't expose the internal strategy key
968 foreach ( $result as &$value ) {
969 if ( is_array( $value ) && !$showStrategyKeys ) {
970 unset( $value[self::MW_MERGE_STRATEGY_KEY] );
971 }
972 }
973 return $result;
974 }
975
976 public function getWarnings(): array {
977 return array_keys( $this->mWarnings );
978 }
979
980 public function getIndexPolicy(): string {
981 // 'noindex' wins if both are set. (T16899)
982 if ( $this->mNoIndexSet ) {
983 return 'noindex';
984 } elseif ( $this->mIndexSet ) {
985 return 'index';
986 }
987 return '';
988 }
989
993 public function getRevisionTimestamp(): ?string {
994 return $this->mTimestamp;
995 }
996
1001 public function getTimestamp() {
1002 return $this->getRevisionTimestamp();
1003 }
1004
1005 public function getLimitReportData() {
1006 return $this->mLimitReportData;
1007 }
1008
1009 public function getLimitReportJSData() {
1010 return $this->mLimitReportJSData;
1011 }
1012
1013 public function getEnableOOUI() {
1014 return $this->mEnableOOUI;
1015 }
1016
1022 public function getExtraCSPDefaultSrcs() {
1023 return $this->mExtraDefaultSrcs;
1024 }
1025
1031 public function getExtraCSPScriptSrcs() {
1032 return $this->mExtraScriptSrcs;
1033 }
1034
1040 public function getExtraCSPStyleSrcs() {
1041 return $this->mExtraStyleSrcs;
1042 }
1043
1053 public function setRawText( ?string $text ): void {
1054 $this->mRawText = $text;
1055 }
1056
1068 public function setText( $text ) {
1069 return wfSetVar( $this->mRawText, $text, true );
1070 }
1071
1075 public function setLanguageLinks( $ll ) {
1076 $old = $this->getLanguageLinks();
1077 $this->mLanguageLinkMap = [];
1078 if ( $ll === null ) { // T376323
1079 wfDeprecated( __METHOD__ . ' with null argument', '1.43' );
1080 }
1081 foreach ( ( $ll ?? [] ) as $l ) {
1082 $this->addLanguageLink( $l );
1083 }
1084 return $old;
1085 }
1086
1087 public function setTitleText( $t ) {
1088 return wfSetVar( $this->mTitleText, $t );
1089 }
1090
1094 public function setTOCData( TOCData $tocData ): void {
1095 $this->mTOCData = $tocData;
1096 }
1097
1102 public function setSections( array $sectionArray ) {
1103 $oldValue = $this->getSections();
1104 $this->setTOCData( TOCData::fromLegacy( $sectionArray ) );
1105 return $oldValue;
1106 }
1107
1121 public function setIndexPolicy( $policy ): string {
1122 $old = $this->getIndexPolicy();
1123 if ( $policy === 'noindex' ) {
1124 $this->mNoIndexSet = true;
1125 } elseif ( $policy === 'index' ) {
1126 $this->mIndexSet = true;
1127 }
1128 return $old;
1129 }
1130
1134 public function setRevisionTimestamp( ?string $timestamp ): void {
1135 $this->mTimestamp = $timestamp;
1136 }
1137
1144 public function setTimestamp( $timestamp ) {
1145 return wfSetVar( $this->mTimestamp, $timestamp );
1146 }
1147
1163 public function addCategory( $c, $sort = '' ): void {
1164 if ( $c instanceof ParsoidLinkTarget ) {
1165 $c = $c->getDBkey();
1166 }
1167 $this->mCategories[$c] = $sort;
1168 }
1169
1175 public function setCategories( array $c ): void {
1176 $this->mCategories = $c;
1177 }
1178
1185 public function setIndicator( $id, $content ): void {
1186 $this->mIndicators[$id] = $content;
1187 }
1188
1196 public function setEnableOOUI( bool $enable = false ): void {
1197 $this->mEnableOOUI = $enable;
1198 }
1199
1204 public function addLanguageLink( $t ): void {
1205 # Note that fragments are preserved
1206 if ( $t instanceof ParsoidLinkTarget ) {
1207 // Language links are unusual in using 'text' rather than 'db key'
1208 // Note that fragments are preserved.
1209 $lang = $t->getInterwiki();
1210 $title = $t->getText();
1211 if ( $t->hasFragment() ) {
1212 $title .= '#' . $t->getFragment();
1213 }
1214 } else {
1215 [ $lang, $title ] = array_pad( explode( ':', $t, 2 ), -2, '' );
1216 }
1217 if ( $lang === '' ) {
1218 // T374736: For backward compatibility with test cases only!
1219 wfDeprecated( __METHOD__ . ' without prefix', '1.43' );
1220 [ $lang, $title ] = [ $title, '|' ]; // | can not occur in valid title
1221 }
1222 $this->mLanguageLinkMap[$lang] ??= $title;
1223 }
1224
1230 public function addWarningMsgVal( MessageValue $mv ) {
1231 // These can eventually be stored as MessageValue directly.
1232 $this->addWarningMsg( $mv->getKey(), ...$mv->getParams() );
1233 }
1234
1243 public function addWarningMsg( string $msg, ...$args ): void {
1244 // MessageValue objects are defined in core and thus not visible
1245 // to Parsoid or to its ContentMetadataCollector interface.
1246 // Eventually this method (defined in ContentMetadataCollector) should
1247 // call ::addWarningMsgVal() instead of the other way around.
1248
1249 // preserve original arguments in $mWarningMsgs to allow merge
1250 // @todo: these aren't serialized/deserialized yet -- before we
1251 // turn on serialization of $this->mWarningMsgs we need to ensure
1252 // callers aren't passing nonserializable arguments: T343048.
1253 $jsonCodec = MediaWikiServices::getInstance()->getJsonCodec();
1254 $path = $jsonCodec->detectNonSerializableData( $args, true );
1255 if ( $path !== null ) {
1257 "ParserOutput::addWarningMsg() called with nonserializable arguments: $path",
1258 '1.41'
1259 );
1260 }
1261 $this->mWarningMsgs[$msg] = $args;
1262 $s = wfMessage( $msg, ...$args )
1263 // some callers set the title here?
1264 ->inContentLanguage() // because this ends up in cache
1265 ->text();
1266 $this->mWarnings[$s] = 1;
1267 }
1268
1269 public function setNewSection( $value ): void {
1270 $this->mNewSection = (bool)$value;
1271 }
1272
1276 public function setHideNewSection( bool $value ): void {
1277 $this->mHideNewSection = $value;
1278 }
1279
1280 public function getHideNewSection(): bool {
1281 return (bool)$this->mHideNewSection;
1282 }
1283
1284 public function getNewSection(): bool {
1285 return (bool)$this->mNewSection;
1286 }
1287
1296 public static function isLinkInternal( $internal, $url ): bool {
1297 return (bool)preg_match( '/^' .
1298 # If server is proto relative, check also for http/https links
1299 ( substr( $internal, 0, 2 ) === '//' ? '(?:https?:)?' : '' ) .
1300 preg_quote( $internal, '/' ) .
1301 # check for query/path/anchor or end of link in each case
1302 '(?:[\?\/\#]|$)/i',
1303 $url
1304 );
1305 }
1306
1307 public function addExternalLink( $url ): void {
1308 # We don't register links pointing to our own server, unless... :-)
1309 $config = MediaWikiServices::getInstance()->getMainConfig();
1310 $server = $config->get( MainConfigNames::Server );
1311 $registerInternalExternals = $config->get( MainConfigNames::RegisterInternalExternals );
1312 # Replace unnecessary URL escape codes with the referenced character
1313 # This prevents spammers from hiding links from the filters
1314 $url = Parser::normalizeLinkUrl( $url );
1315
1316 $registerExternalLink = true;
1317 if ( !$registerInternalExternals ) {
1318 $registerExternalLink = !self::isLinkInternal( $server, $url );
1319 }
1320 if ( $registerExternalLink ) {
1321 $this->mExternalLinks[$url] = 1;
1322 }
1323 }
1324
1331 public function addLink( ParsoidLinkTarget $link, $id = null ): void {
1332 if ( $link->isExternal() ) {
1333 // Don't record interwikis in pagelinks
1334 $this->addInterwikiLink( $link );
1335 return;
1336 }
1337 $ns = $link->getNamespace();
1338 $dbk = $link->getDBkey();
1339 if ( $ns === NS_MEDIA ) {
1340 // Normalize this pseudo-alias if it makes it down here...
1341 $ns = NS_FILE;
1342 } elseif ( $ns === NS_SPECIAL ) {
1343 // We don't want to record Special: links in the database, so put them in a separate place.
1344 // It might actually be wise to, but we'd need to do some normalization.
1345 $this->mLinksSpecial[$dbk] = 1;
1346 return;
1347 } elseif ( $dbk === '' ) {
1348 // Don't record self links - [[#Foo]]
1349 return;
1350 }
1351 if ( $id === null ) {
1352 // T357048: This actually kills performance; we should batch these.
1353 $page = MediaWikiServices::getInstance()->getPageStore()->getPageForLink( $link );
1354 $id = $page->getId();
1355 }
1356 $this->mLinks[$ns][$dbk] = $id;
1357 }
1358
1365 public function addImage( $name, $timestamp = null, $sha1 = null ): void {
1366 if ( $name instanceof ParsoidLinkTarget ) {
1367 $name = $name->getDBkey();
1368 }
1369 $this->mImages[$name] = 1;
1370 if ( $timestamp !== null && $sha1 !== null ) {
1371 $this->mFileSearchOptions[$name] = [ 'time' => $timestamp, 'sha1' => $sha1 ];
1372 }
1373 }
1374
1382 public function addTemplate( $link, $page_id, $rev_id ): void {
1383 if ( $link->isExternal() ) {
1384 // Will throw an InvalidArgumentException in a future release.
1385 wfDeprecated( __METHOD__ . " with interwiki link", '1.42' );
1386 return;
1387 }
1388 $ns = $link->getNamespace();
1389 $dbk = $link->getDBkey();
1390 // T357048: Parsoid doesn't have page_id
1391 $this->mTemplates[$ns][$dbk] = $page_id;
1392 $this->mTemplateIds[$ns][$dbk] = $rev_id; // For versioning
1393 }
1394
1399 public function addInterwikiLink( $link ): void {
1400 if ( !$link->isExternal() ) {
1401 throw new InvalidArgumentException( 'Non-interwiki link passed, internal parser error.' );
1402 }
1403 $prefix = $link->getInterwiki();
1404 $this->mInterwikiLinks[$prefix][$link->getDBkey()] = 1;
1405 }
1406
1414 public function addHeadItem( $section, $tag = false ): void {
1415 if ( $tag !== false ) {
1416 $this->mHeadItems[$tag] = $section;
1417 } else {
1418 $this->mHeadItems[] = $section;
1419 }
1420 }
1421
1426 public function addModules( array $modules ): void {
1427 $modules = array_fill_keys( $modules, true );
1428 $this->mModuleSet = array_merge( $this->mModuleSet, $modules );
1429 }
1430
1435 public function addModuleStyles( array $modules ): void {
1436 $modules = array_fill_keys( $modules, true );
1437 $this->mModuleStyleSet = array_merge( $this->mModuleStyleSet, $modules );
1438 }
1439
1450 public function addJsConfigVars( $keys, $value = null ): void {
1451 wfDeprecated( __METHOD__, '1.38' );
1452 if ( is_array( $keys ) ) {
1453 foreach ( $keys as $key => $value ) {
1454 $this->mJsConfigVars[$key] = $value;
1455 }
1456 return;
1457 }
1458
1459 $this->mJsConfigVars[$keys] = $value;
1460 }
1461
1475 public function setJsConfigVar( string $key, $value ): void {
1476 if (
1477 array_key_exists( $key, $this->mJsConfigVars ) &&
1478 $this->mJsConfigVars[$key] !== $value
1479 ) {
1480 // Ensure that a key is mapped to only a single value in order
1481 // to prevent the resulting array from varying if content
1482 // is parsed in a different order.
1483 throw new InvalidArgumentException( "Multiple conflicting values given for $key" );
1484 }
1485 $this->mJsConfigVars[$key] = $value;
1486 }
1487
1505 public function appendJsConfigVar(
1506 string $key,
1507 string $value,
1508 string $strategy = self::MW_MERGE_STRATEGY_UNION
1509 ): void {
1510 if ( $strategy !== self::MW_MERGE_STRATEGY_UNION ) {
1511 throw new InvalidArgumentException( "Unknown merge strategy $strategy." );
1512 }
1513 if ( !array_key_exists( $key, $this->mJsConfigVars ) ) {
1514 $this->mJsConfigVars[$key] = [
1515 // Indicate how these values are to be merged.
1516 self::MW_MERGE_STRATEGY_KEY => $strategy,
1517 ];
1518 } elseif ( !is_array( $this->mJsConfigVars[$key] ) ) {
1519 throw new InvalidArgumentException( "Mixing set and append for $key" );
1520 } elseif ( ( $this->mJsConfigVars[$key][self::MW_MERGE_STRATEGY_KEY] ?? null ) !== $strategy ) {
1521 throw new InvalidArgumentException( "Conflicting merge strategies for $key" );
1522 }
1523 $this->mJsConfigVars[$key][$value] = true;
1524 }
1525
1541 public function addOutputPageMetadata( OutputPage $out ): void {
1542 // This should eventually use the same merge mechanism used
1543 // internally to merge ParserOutputs together.
1544 // (ie: $this->mergeHtmlMetaDataFrom( $out->getMetadata() )
1545 // once preventClickjacking, moduleStyles, modules, jsconfigvars,
1546 // and head items are moved to OutputPage::$metadata)
1547
1548 // Take the strictest click-jacking policy. This is to ensure any one-click features
1549 // such as patrol or rollback on the transcluded special page will result in the wiki page
1550 // disallowing embedding in cross-origin iframes. Articles are generally allowed to be
1551 // embedded. Pages that transclude special pages are expected to be user pages or
1552 // other non-content pages that content re-users won't discover or care about.
1553 $this->mPreventClickjacking = $this->mPreventClickjacking || $out->getPreventClickjacking();
1554
1555 $this->addModuleStyles( $out->getModuleStyles() );
1556
1557 // TODO: Figure out if style modules suffice, or whether the below is needed as well.
1558 // Are there special pages that permit transcluding/including and also have JS modules
1559 // that should be activate on the host page?
1560 $this->addModules( $out->getModules() );
1561 $this->mJsConfigVars = self::mergeMapStrategy(
1562 $this->mJsConfigVars, $out->getJsConfigVars()
1563 );
1564 $this->mHeadItems = array_merge( $this->mHeadItems, $out->getHeadItemsArray() );
1565 }
1566
1578 public function setDisplayTitle( $text ): void {
1579 $this->setTitleText( $text );
1580 $this->setPageProperty( 'displaytitle', $text );
1581 }
1582
1591 public function getDisplayTitle() {
1592 $t = $this->getTitleText();
1593 if ( $t === '' ) {
1594 return false;
1595 }
1596 return $t;
1597 }
1598
1637 public function getLanguage(): ?Bcp47Code {
1638 // This information is temporarily stored in extension data (T303329)
1639 $code = $this->getExtensionData( 'core:target-lang-variant' );
1640 // This is null if the ParserOutput was cached by MW 1.40 or earlier,
1641 // or not constructed by Parser/ParserCache.
1642 return $code === null ? null : new Bcp47CodeValue( $code );
1643 }
1644
1654 public function setLanguage( Bcp47Code $lang ): void {
1655 $this->setExtensionData( 'core:target-lang-variant', $lang->toBcp47Code() );
1656 }
1657
1664 public function getRedirectHeader(): ?string {
1665 return $this->getExtensionData( 'core:redirect-header' );
1666 }
1667
1672 public function setRedirectHeader( string $html ): void {
1673 $this->setExtensionData( 'core:redirect-header', $html );
1674 }
1675
1684 public function setRenderId( string $renderId ): void {
1685 $this->setExtensionData( 'core:render-id', $renderId );
1686 }
1687
1695 public function getRenderId(): ?string {
1696 // Backward-compatibility with old cache contents
1697 // Can be removed after parser cache contents have expired
1698 $old = $this->getExtensionData( 'parsoid-render-id' );
1699 if ( $old !== null ) {
1700 return ParsoidRenderId::newFromKey( $old )->getUniqueID();
1701 }
1702 return $this->getExtensionData( 'core:render-id' );
1703 }
1704
1709 public function getAllFlags(): array {
1710 return array_keys( $this->mFlags );
1711 }
1712
1805 public function setPageProperty( string $name, $value ): void {
1806 if ( $value === null ) {
1807 // Use an empty string instead.
1808 wfDeprecated( __METHOD__ . " with null value for $name", '1.42' );
1809 } elseif ( !is_scalar( $value ) ) {
1810 // Use ::setExtensionData() instead.
1811 wfDeprecated( __METHOD__ . " with non-scalar value for $name", '1.42' );
1812 } elseif ( !is_string( $value ) ) {
1813 // Use ::setNumericPageProperty() instead.
1814 wfDeprecated( __METHOD__ . " with non-string value for $name", '1.42' );
1815 }
1816 $this->mProperties[$name] = $value;
1817 }
1818
1833 public function setNumericPageProperty( string $propName, $numericValue ): void {
1834 if ( !is_numeric( $numericValue ) ) {
1835 throw new \TypeError( __METHOD__ . " with non-numeric value" );
1836 }
1837 // Coerce numeric sort key to a number.
1838 $this->mProperties[$propName] = 0 + $numericValue;
1839 }
1840
1858 public function setUnsortedPageProperty( string $propName, string $value = '' ): void {
1859 $this->mProperties[$propName] = $value;
1860 }
1861
1875 public function getPageProperty( string $name ) {
1876 return $this->mProperties[$name] ?? null;
1877 }
1878
1884 public function unsetPageProperty( string $name ): void {
1885 unset( $this->mProperties[$name] );
1886 }
1887
1893 public function getPageProperties(): array {
1894 // @phan-suppress-next-line MediaWikiNoIssetIfDefined
1895 if ( !isset( $this->mProperties ) ) {
1896 $this->mProperties = [];
1897 }
1898 return $this->mProperties;
1899 }
1900
1921 public function setOutputFlag( string $name, bool $val = true ): void {
1922 switch ( $name ) {
1923 case ParserOutputFlags::NO_GALLERY:
1924 $this->setNoGallery( $val );
1925 break;
1926
1927 case ParserOutputFlags::ENABLE_OOUI:
1928 $this->setEnableOOUI( $val );
1929 break;
1930
1931 case ParserOutputFlags::NO_INDEX_POLICY:
1932 $this->mNoIndexSet = $val;
1933 break;
1934
1935 case ParserOutputFlags::INDEX_POLICY:
1936 $this->mIndexSet = $val;
1937 break;
1938
1939 case ParserOutputFlags::NEW_SECTION:
1940 $this->setNewSection( $val );
1941 break;
1942
1943 case ParserOutputFlags::HIDE_NEW_SECTION:
1944 $this->setHideNewSection( $val );
1945 break;
1946
1947 case ParserOutputFlags::PREVENT_CLICKJACKING:
1948 $this->setPreventClickjacking( $val );
1949 break;
1950
1951 default:
1952 if ( $val ) {
1953 $this->mFlags[$name] = true;
1954 } else {
1955 unset( $this->mFlags[$name] );
1956 }
1957 break;
1958 }
1959 }
1960
1973 public function getOutputFlag( string $name ): bool {
1974 switch ( $name ) {
1975 case ParserOutputFlags::NO_GALLERY:
1976 return $this->getNoGallery();
1977
1978 case ParserOutputFlags::ENABLE_OOUI:
1979 return $this->getEnableOOUI();
1980
1981 case ParserOutputFlags::INDEX_POLICY:
1982 return $this->mIndexSet;
1983
1984 case ParserOutputFlags::NO_INDEX_POLICY:
1985 return $this->mNoIndexSet;
1986
1987 case ParserOutputFlags::NEW_SECTION:
1988 return $this->getNewSection();
1989
1990 case ParserOutputFlags::HIDE_NEW_SECTION:
1991 return $this->getHideNewSection();
1992
1993 case ParserOutputFlags::PREVENT_CLICKJACKING:
1994 return $this->getPreventClickjacking();
1995
1996 default:
1997 return isset( $this->mFlags[$name] );
1998
1999 }
2000 }
2001
2013 public function appendOutputStrings( string $name, array $value ): void {
2014 switch ( $name ) {
2015 case ParserOutputStringSets::MODULE:
2016 $this->addModules( $value );
2017 break;
2018 case ParserOutputStringSets::MODULE_STYLE:
2019 $this->addModuleStyles( $value );
2020 break;
2021 case ParserOutputStringSets::EXTRA_CSP_DEFAULT_SRC:
2022 foreach ( $value as $v ) {
2023 $this->addExtraCSPDefaultSrc( $v );
2024 }
2025 break;
2026 case ParserOutputStringSets::EXTRA_CSP_SCRIPT_SRC:
2027 foreach ( $value as $v ) {
2028 $this->addExtraCSPScriptSrc( $v );
2029 }
2030 break;
2031 case ParserOutputStringSets::EXTRA_CSP_STYLE_SRC:
2032 foreach ( $value as $v ) {
2033 $this->addExtraCSPStyleSrc( $v );
2034 }
2035 break;
2036 default:
2037 throw new UnexpectedValueException( "Unknown output string set name $name" );
2038 }
2039 }
2040
2053 public function getOutputStrings( string $name ): array {
2054 switch ( $name ) {
2055 case ParserOutputStringSets::MODULE:
2056 return $this->getModules();
2057 case ParserOutputStringSets::MODULE_STYLE:
2058 return $this->getModuleStyles();
2059 case ParserOutputStringSets::EXTRA_CSP_DEFAULT_SRC:
2060 return $this->getExtraCSPDefaultSrcs();
2061 case ParserOutputStringSets::EXTRA_CSP_SCRIPT_SRC:
2062 return $this->getExtraCSPScriptSrcs();
2063 case ParserOutputStringSets::EXTRA_CSP_STYLE_SRC:
2064 return $this->getExtraCSPStyleSrcs();
2065 default:
2066 throw new UnexpectedValueException( "Unknown output string set name $name" );
2067 }
2068 }
2069
2119 public function setExtensionData( $key, $value ): void {
2120 if (
2121 array_key_exists( $key, $this->mExtensionData ) &&
2122 $this->mExtensionData[$key] !== $value
2123 ) {
2124 // This behavior was deprecated in 1.38. We will eventually
2125 // emit a warning here, then throw an exception.
2126 }
2127 if ( $value === null ) {
2128 unset( $this->mExtensionData[$key] );
2129 } else {
2130 $this->mExtensionData[$key] = $value;
2131 }
2132 }
2133
2159 public function appendExtensionData(
2160 string $key,
2161 $value,
2162 string $strategy = self::MW_MERGE_STRATEGY_UNION
2163 ): void {
2164 if ( $strategy !== self::MW_MERGE_STRATEGY_UNION ) {
2165 throw new InvalidArgumentException( "Unknown merge strategy $strategy." );
2166 }
2167 if ( !array_key_exists( $key, $this->mExtensionData ) ) {
2168 $this->mExtensionData[$key] = [
2169 // Indicate how these values are to be merged.
2170 self::MW_MERGE_STRATEGY_KEY => $strategy,
2171 ];
2172 } elseif ( !is_array( $this->mExtensionData[$key] ) ) {
2173 throw new InvalidArgumentException( "Mixing set and append for $key" );
2174 } elseif ( ( $this->mExtensionData[$key][self::MW_MERGE_STRATEGY_KEY] ?? null ) !== $strategy ) {
2175 throw new InvalidArgumentException( "Conflicting merge strategies for $key" );
2176 }
2177 $this->mExtensionData[$key][$value] = true;
2178 }
2179
2191 public function getExtensionData( $key ) {
2192 $value = $this->mExtensionData[$key] ?? null;
2193 if ( is_array( $value ) ) {
2194 // Don't expose our internal merge strategy key.
2195 unset( $value[self::MW_MERGE_STRATEGY_KEY] );
2196 }
2197 return $value;
2198 }
2199
2200 private static function getTimes( $clock = null ): array {
2201 $ret = [];
2202 if ( !$clock || $clock === 'wall' ) {
2203 $ret['wall'] = microtime( true );
2204 }
2205 if ( !$clock || $clock === 'cpu' ) {
2206 $ru = getrusage( 0 /* RUSAGE_SELF */ );
2207 $ret['cpu'] = $ru['ru_utime.tv_sec'] + $ru['ru_utime.tv_usec'] / 1e6;
2208 $ret['cpu'] += $ru['ru_stime.tv_sec'] + $ru['ru_stime.tv_usec'] / 1e6;
2209 }
2210 return $ret;
2211 }
2212
2219 public function resetParseStartTime(): void {
2220 $this->mParseStartTime = self::getTimes();
2221 $this->mTimeProfile = [];
2222 }
2223
2233 public function clearParseStartTime(): void {
2234 $this->mParseStartTime = [];
2235 }
2236
2247 public function recordTimeProfile() {
2248 if ( !$this->mParseStartTime ) {
2249 // If resetParseStartTime was never called, there is nothing to record
2250 return;
2251 }
2252
2253 if ( $this->mTimeProfile !== [] ) {
2254 // Don't override the times recorded by the previous call to recordTimeProfile().
2255 return;
2256 }
2257
2258 $now = self::getTimes();
2259 $this->mTimeProfile = [
2260 'wall' => $now['wall'] - $this->mParseStartTime['wall'],
2261 'cpu' => $now['cpu'] - $this->mParseStartTime['cpu'],
2262 ];
2263 }
2264
2282 public function getTimeProfile( string $clock ) {
2283 return $this->mTimeProfile[ $clock ] ?? null;
2284 }
2285
2298 public function getTimeSinceStart( $clock ) {
2299 wfDeprecated( __METHOD__, '1.42' );
2300
2301 if ( !isset( $this->mParseStartTime[$clock] ) ) {
2302 return null;
2303 }
2304
2305 $end = self::getTimes( $clock );
2306 return $end[$clock] - $this->mParseStartTime[$clock];
2307 }
2308
2328 public function setLimitReportData( $key, $value ): void {
2329 $this->mLimitReportData[$key] = $value;
2330
2331 if ( is_array( $value ) ) {
2332 if ( array_keys( $value ) === [ 0, 1 ]
2333 && is_numeric( $value[0] )
2334 && is_numeric( $value[1] )
2335 ) {
2336 $data = [ 'value' => $value[0], 'limit' => $value[1] ];
2337 } else {
2338 $data = $value;
2339 }
2340 } else {
2341 $data = $value;
2342 }
2343
2344 if ( strpos( $key, '-' ) ) {
2345 [ $ns, $name ] = explode( '-', $key, 2 );
2346 $this->mLimitReportJSData[$ns][$name] = $data;
2347 } else {
2348 $this->mLimitReportJSData[$key] = $data;
2349 }
2350 }
2351
2368 public function hasReducedExpiry(): bool {
2369 $parserCacheExpireTime = MediaWikiServices::getInstance()->getMainConfig()->get(
2370 MainConfigNames::ParserCacheExpireTime );
2371
2372 return $this->getCacheExpiry() < $parserCacheExpireTime;
2373 }
2374
2387 public function setPreventClickjacking( bool $flag ): void {
2388 $this->mPreventClickjacking = $flag;
2389 }
2390
2398 public function getPreventClickjacking(): bool {
2399 return $this->mPreventClickjacking;
2400 }
2401
2408 public function updateRuntimeAdaptiveExpiry( $ttl ): void {
2409 $this->mMaxAdaptiveExpiry = min( $ttl, $this->mMaxAdaptiveExpiry );
2410 $this->updateCacheExpiry( $ttl );
2411 }
2412
2422 public function addExtraCSPDefaultSrc( $src ): void {
2423 $this->mExtraDefaultSrcs[] = $src;
2424 }
2425
2432 public function addExtraCSPStyleSrc( $src ): void {
2433 $this->mExtraStyleSrcs[] = $src;
2434 }
2435
2444 public function addExtraCSPScriptSrc( $src ): void {
2445 $this->mExtraScriptSrcs[] = $src;
2446 }
2447
2453 public function finalizeAdaptiveCacheExpiry(): void {
2454 if ( is_infinite( $this->mMaxAdaptiveExpiry ) ) {
2455 return; // not set
2456 }
2457
2458 $runtime = $this->getTimeProfile( 'wall' );
2459 if ( is_float( $runtime ) ) {
2460 $slope = ( self::SLOW_AR_TTL - self::FAST_AR_TTL )
2461 / ( self::PARSE_SLOW_SEC - self::PARSE_FAST_SEC );
2462 // SLOW_AR_TTL = PARSE_SLOW_SEC * $slope + $point
2463 $point = self::SLOW_AR_TTL - self::PARSE_SLOW_SEC * $slope;
2464
2465 $adaptiveTTL = min(
2466 max( $slope * $runtime + $point, self::MIN_AR_TTL ),
2467 $this->mMaxAdaptiveExpiry
2468 );
2469 $this->updateCacheExpiry( $adaptiveTTL );
2470 }
2471 }
2472
2477 public function setFromParserOptions( ParserOptions $parserOptions ) {
2478 // Copied from Parser.php::parse and should probably be abstracted
2479 // into the parent base class (probably as part of T236809)
2480 // Wrap non-interface parser output in a <div> so it can be targeted
2481 // with CSS (T37247)
2482 $class = $parserOptions->getWrapOutputClass();
2483 if ( $class !== false && !$parserOptions->getInterfaceMessage() ) {
2484 $this->addWrapperDivClass( $class );
2485 }
2486
2487 // Record whether we should suppress section edit links
2488 if ( $parserOptions->getSuppressSectionEditLinks() ) {
2489 $this->setOutputFlag( ParserOutputFlags::NO_SECTION_EDIT_LINKS );
2490 }
2491
2492 // Record whether we should wrap sections for collapsing them
2493 if ( $parserOptions->getCollapsibleSections() ) {
2494 $this->setOutputFlag( ParserOutputFlags::COLLAPSIBLE_SECTIONS );
2495 }
2496
2497 // Record whether this is a preview parse in the output (T341010)
2498 if ( $parserOptions->getIsPreview() ) {
2499 $this->setOutputFlag( ParserOutputFlags::IS_PREVIEW, true );
2500 // Ensure that previews aren't cacheable, just to be safe.
2501 $this->updateCacheExpiry( 0 );
2502 }
2503 }
2504
2505 public function __sleep() {
2506 return array_filter( array_keys( get_object_vars( $this ) ),
2507 static function ( $field ) {
2508 if ( $field === 'mParseStartTime' || $field === 'mWarningMsgs' ) {
2509 return false;
2510 }
2511 // Unserializing unknown private fields in HHVM causes
2512 // member variables with nulls in their names (T229366)
2513 return strpos( $field, "\0" ) === false;
2514 }
2515 );
2516 }
2517
2524 $this->mWarnings = self::mergeMap( $this->mWarnings, $source->mWarnings ); // don't use getter
2525 $this->mTimestamp = $this->useMaxValue( $this->mTimestamp, $source->getRevisionTimestamp() );
2526 if ( $source->hasCacheTime() ) {
2527 $sourceCacheTime = $source->getCacheTime();
2528 if (
2529 !$this->hasCacheTime() ||
2530 // "undocumented use of -1 to mean not cacheable"
2531 // deprecated, but still supported by ::setCacheTime()
2532 strval( $sourceCacheTime ) === '-1' ||
2533 (
2534 strval( $this->getCacheTime() ) !== '-1' &&
2535 // use newer of the two times
2536 $this->getCacheTime() < $sourceCacheTime
2537 )
2538 ) {
2539 $this->setCacheTime( $sourceCacheTime );
2540 }
2541 }
2542 if ( $source->getRenderId() !== null ) {
2543 // Final render ID should be a function of all component POs
2544 $rid = ( $this->getRenderId() ?? '' ) . $source->getRenderId();
2545 $this->setRenderId( $rid );
2546 }
2547 if ( $source->getCacheRevisionId() !== null ) {
2548 $sourceCacheRevisionId = $source->getCacheRevisionId();
2549 $thisCacheRevisionId = $this->getCacheRevisionId();
2550 if ( $thisCacheRevisionId === null ) {
2551 $this->setCacheRevisionId( $sourceCacheRevisionId );
2552 } elseif ( $sourceCacheRevisionId !== $thisCacheRevisionId ) {
2553 // May throw an exception here in the future
2555 __METHOD__ . ": conflicting revision IDs " .
2556 "$thisCacheRevisionId and $sourceCacheRevisionId"
2557 );
2558 }
2559 }
2560
2561 foreach ( self::SPECULATIVE_FIELDS as $field ) {
2562 if ( $this->$field && $source->$field && $this->$field !== $source->$field ) {
2563 wfLogWarning( __METHOD__ . ": inconsistent '$field' properties!" );
2564 }
2565 $this->$field = $this->useMaxValue( $this->$field, $source->$field );
2566 }
2567
2568 $this->mParseStartTime = $this->useEachMinValue(
2569 $this->mParseStartTime,
2570 $source->mParseStartTime
2571 );
2572
2573 $this->mTimeProfile = $this->useEachTotalValue(
2574 $this->mTimeProfile,
2575 $source->mTimeProfile
2576 );
2577
2578 $this->mFlags = self::mergeMap( $this->mFlags, $source->mFlags );
2579 $this->mParseUsedOptions = self::mergeMap( $this->mParseUsedOptions, $source->mParseUsedOptions );
2580
2581 // TODO: maintain per-slot limit reports!
2582 if ( !$this->mLimitReportData ) {
2583 $this->mLimitReportData = $source->mLimitReportData;
2584 }
2585 if ( !$this->mLimitReportJSData ) {
2586 $this->mLimitReportJSData = $source->mLimitReportJSData;
2587 }
2588 }
2589
2595 public function mergeHtmlMetaDataFrom( ParserOutput $source ): void {
2596 // HTML and HTTP
2597 $this->mHeadItems = self::mergeMixedList( $this->mHeadItems, $source->getHeadItems() );
2598 $this->addModules( $source->getModules() );
2599 $this->addModuleStyles( $source->getModuleStyles() );
2600 $this->mJsConfigVars = self::mergeMapStrategy( $this->mJsConfigVars, $source->mJsConfigVars );
2601 $this->mMaxAdaptiveExpiry = min( $this->mMaxAdaptiveExpiry, $source->mMaxAdaptiveExpiry );
2602 $this->mExtraStyleSrcs = self::mergeList(
2603 $this->mExtraStyleSrcs,
2604 $source->getExtraCSPStyleSrcs()
2605 );
2606 $this->mExtraScriptSrcs = self::mergeList(
2607 $this->mExtraScriptSrcs,
2608 $source->getExtraCSPScriptSrcs()
2609 );
2610 $this->mExtraDefaultSrcs = self::mergeList(
2611 $this->mExtraDefaultSrcs,
2612 $source->getExtraCSPDefaultSrcs()
2613 );
2614
2615 // "noindex" always wins!
2616 $this->mIndexSet = $this->mIndexSet || $source->mIndexSet;
2617 $this->mNoIndexSet = $this->mNoIndexSet || $source->mNoIndexSet;
2618
2619 // Skin control
2620 $this->mNewSection = $this->mNewSection || $source->getNewSection();
2621 $this->mHideNewSection = $this->mHideNewSection || $source->getHideNewSection();
2622 $this->mNoGallery = $this->mNoGallery || $source->getNoGallery();
2623 $this->mEnableOOUI = $this->mEnableOOUI || $source->getEnableOOUI();
2624 $this->mPreventClickjacking = $this->mPreventClickjacking || $source->getPreventClickjacking();
2625
2626 $tocData = $this->getTOCData();
2627 $sourceTocData = $source->getTOCData();
2628 if ( $tocData !== null ) {
2629 if ( $sourceTocData !== null ) {
2630 // T327429: Section merging is broken, since it doesn't respect
2631 // global numbering, but there are tests which expect section
2632 // metadata to be concatenated.
2633 // There should eventually be a deprecation warning here.
2634 foreach ( $sourceTocData->getSections() as $s ) {
2635 $tocData->addSection( $s );
2636 }
2637 }
2638 } elseif ( $sourceTocData !== null ) {
2639 $this->setTOCData( $sourceTocData );
2640 }
2641
2642 // XXX: we don't want to concatenate title text, so first write wins.
2643 // We should use the first *modified* title text, but we don't have the original to check.
2644 if ( $this->mTitleText === null || $this->mTitleText === '' ) {
2645 $this->mTitleText = $source->mTitleText;
2646 }
2647
2648 // class names are stored in array keys
2649 $this->mWrapperDivClasses = self::mergeMap(
2650 $this->mWrapperDivClasses,
2651 $source->mWrapperDivClasses
2652 );
2653
2654 // NOTE: last write wins, same as within one ParserOutput
2655 $this->mIndicators = self::mergeMap( $this->mIndicators, $source->getIndicators() );
2656
2657 // NOTE: include extension data in "tracking meta data" as well as "html meta data"!
2658 // TODO: add a $mergeStrategy parameter to setExtensionData to allow different
2659 // kinds of extension data to be merged in different ways.
2660 $this->mExtensionData = self::mergeMapStrategy(
2661 $this->mExtensionData,
2662 $source->mExtensionData
2663 );
2664 }
2665
2672 foreach (
2673 $source->getLinkList( ParserOutputLinkTypes::LANGUAGE )
2674 as [ 'link' => $link ]
2675 ) {
2676 $this->addLanguageLink( $link );
2677 }
2678 $this->mCategories = self::mergeMap( $this->mCategories, $source->getCategoryMap() );
2679 foreach (
2680 $source->getLinkList( ParserOutputLinkTypes::LOCAL )
2681 as [ 'link' => $link, 'pageid' => $pageid ]
2682 ) {
2683 $this->addLink( $link, $pageid );
2684 }
2685 foreach (
2686 $source->getLinkList( ParserOutputLinkTypes::TEMPLATE )
2687 as [ 'link' => $link, 'pageid' => $pageid, 'revid' => $revid ]
2688 ) {
2689 $this->addTemplate( $link, $pageid, $revid );
2690 }
2691 foreach (
2692 $source->getLinkList( ParserOutputLinkTypes::MEDIA ) as $item
2693 ) {
2694 $this->addImage( $item['link'], $item['time'] ?? null, $item['sha1'] ?? null );
2695 }
2696 $this->mExternalLinks = self::mergeMap( $this->mExternalLinks, $source->getExternalLinks() );
2697 foreach (
2698 $source->getLinkList( ParserOutputLinkTypes::INTERWIKI )
2699 as [ 'link' => $link ]
2700 ) {
2701 $this->addInterwikiLink( $link );
2702 }
2703
2704 foreach (
2705 $source->getLinkList( ParserOutputLinkTypes::SPECIAL )
2706 as [ 'link' => $link ]
2707 ) {
2708 $this->addLink( $link );
2709 }
2710
2711 // TODO: add a $mergeStrategy parameter to setPageProperty to allow different
2712 // kinds of properties to be merged in different ways.
2713 // (Model this after ::appendJsConfigVar(); use ::mergeMapStrategy here)
2714 $this->mProperties = self::mergeMap( $this->mProperties, $source->getPageProperties() );
2715
2716 // NOTE: include extension data in "tracking meta data" as well as "html meta data"!
2717 $this->mExtensionData = self::mergeMapStrategy(
2718 $this->mExtensionData,
2719 $source->mExtensionData
2720 );
2721 }
2722
2732 public function collectMetadata( ContentMetadataCollector $metadata ): void {
2733 // Uniform handling of all boolean flags: they are OR'ed together.
2734 $flags = array_keys(
2735 $this->mFlags + array_flip( ParserOutputFlags::cases() )
2736 );
2737 foreach ( $flags as $name ) {
2738 if ( $this->getOutputFlag( $name ) ) {
2739 $metadata->setOutputFlag( $name );
2740 }
2741 }
2742
2743 // Uniform handling of string sets: they are unioned.
2744 // (This includes modules, style modes, and CSP src.)
2745 foreach ( ParserOutputStringSets::cases() as $name ) {
2746 $metadata->appendOutputStrings(
2747 $name, $this->getOutputStrings( $name )
2748 );
2749 }
2750
2751 foreach ( $this->mCategories as $cat => $key ) {
2752 // Numeric category strings are going to come out of the
2753 // `mCategories` array as ints; cast back to string.
2754 // Also convert back to a LinkTarget!
2755 $lt = TitleValue::tryNew( NS_CATEGORY, (string)$cat );
2756 $metadata->addCategory( $lt, $key );
2757 }
2758
2759 foreach ( $this->mLinks as $ns => $arr ) {
2760 foreach ( $arr as $dbk => $id ) {
2761 // Numeric titles are going to come out of the
2762 // `mLinks` array as ints; cast back to string.
2763 $lt = TitleValue::tryNew( $ns, (string)$dbk );
2764 $metadata->addLink( $lt, $id );
2765 }
2766 }
2767
2768 foreach ( $this->mInterwikiLinks as $prefix => $arr ) {
2769 foreach ( $arr as $dbk => $ignore ) {
2770 $lt = TitleValue::tryNew( NS_MAIN, (string)$dbk, '', $prefix );
2771 $metadata->addLink( $lt );
2772 }
2773 }
2774
2775 foreach ( $this->mLinksSpecial as $dbk => $ignore ) {
2776 // Numeric titles are going to come out of the
2777 // `mLinks` array as ints; cast back to string.
2778 $lt = TitleValue::tryNew( NS_SPECIAL, (string)$dbk );
2779 $metadata->addLink( $lt );
2780 }
2781
2782 foreach ( $this->mImages as $name => $ignore ) {
2783 // Numeric titles come out of mImages as ints.
2784 $lt = TitleValue::tryNew( NS_FILE, (string)$name );
2785 $props = $this->mFileSearchOptions[$name] ?? [];
2786 $metadata->addImage( $lt, $props['time'] ?? null, $props['sha1'] ?? null );
2787 }
2788
2789 foreach ( $this->mLanguageLinkMap as $lang => $title ) {
2790 if ( $title === '|' ) {
2791 continue; // T374736: not a valid language link
2792 }
2793 # language links can have fragments!
2794 [ $title, $frag ] = array_pad( explode( '#', $title, 2 ), 2, '' );
2795 $lt = TitleValue::tryNew( NS_MAIN, $title, $frag, (string)$lang );
2796 $metadata->addLanguageLink( $lt );
2797 }
2798
2799 foreach ( $this->mJsConfigVars as $key => $value ) {
2800 if ( is_array( $value ) && isset( $value[self::MW_MERGE_STRATEGY_KEY] ) ) {
2801 $strategy = $value[self::MW_MERGE_STRATEGY_KEY];
2802 foreach ( $value as $item => $ignore ) {
2803 if ( $item !== self::MW_MERGE_STRATEGY_KEY ) {
2804 $metadata->appendJsConfigVar( $key, $item, $strategy );
2805 }
2806 }
2807 } elseif ( $metadata instanceof ParserOutput &&
2808 array_key_exists( $key, $metadata->mJsConfigVars )
2809 ) {
2810 // This behavior is deprecated, will likely result in
2811 // incorrect output, and we'll eventually emit a
2812 // warning here---but at the moment this is usually
2813 // caused by limitations in Parsoid and/or use of
2814 // the ParserAfterParse hook: T303015#7770480
2815 $metadata->mJsConfigVars[$key] = $value;
2816 } else {
2817 $metadata->setJsConfigVar( $key, $value );
2818 }
2819 }
2820 foreach ( $this->mExtensionData as $key => $value ) {
2821 if ( is_array( $value ) && isset( $value[self::MW_MERGE_STRATEGY_KEY] ) ) {
2822 $strategy = $value[self::MW_MERGE_STRATEGY_KEY];
2823 foreach ( $value as $item => $ignore ) {
2824 if ( $item !== self::MW_MERGE_STRATEGY_KEY ) {
2825 $metadata->appendExtensionData( $key, $item, $strategy );
2826 }
2827 }
2828 } elseif ( $metadata instanceof ParserOutput &&
2829 array_key_exists( $key, $metadata->mExtensionData )
2830 ) {
2831 // This behavior is deprecated, will likely result in
2832 // incorrect output, and we'll eventually emit a
2833 // warning here---but at the moment this is usually
2834 // caused by limitations in Parsoid and/or use of
2835 // the ParserAfterParse hook: T303015#7770480
2836 $metadata->mExtensionData[$key] = $value;
2837 } else {
2838 $metadata->setExtensionData( $key, $value );
2839 }
2840 }
2841 foreach ( $this->mExternalLinks as $url => $ignore ) {
2842 $metadata->addExternalLink( $url );
2843 }
2844 foreach ( $this->mProperties as $prop => $value ) {
2845 if ( is_numeric( $value ) ) {
2846 $metadata->setNumericPageProperty( $prop, $value );
2847 } elseif ( is_string( $value ) ) {
2848 $metadata->setUnsortedPageProperty( $prop, $value );
2849 } else {
2850 // Deprecated, but there are still sites which call
2851 // ::setPageProperty() with "unusual" values (T374046)
2852 $metadata->setPageProperty( $prop, $value );
2853 }
2854 }
2855 foreach ( $this->mWarningMsgs as $msg => $args ) {
2856 $metadata->addWarningMsg( $msg, ...$args );
2857 }
2858 foreach ( $this->mLimitReportData as $key => $value ) {
2859 $metadata->setLimitReportData( $key, $value );
2860 }
2861 foreach ( $this->mIndicators as $id => $content ) {
2862 $metadata->setIndicator( $id, $content );
2863 }
2864
2865 // ParserOutput-only fields; maintained "behind the curtain"
2866 // since Parsoid doesn't have to know about them.
2867 //
2868 // In production use, the $metadata supplied to this method
2869 // will almost always be an instance of ParserOutput, passed to
2870 // Parsoid by core when parsing begins and returned to core by
2871 // Parsoid as a ContentMetadataCollector (Parsoid's name for
2872 // ParserOutput) when DataAccess::parseWikitext() is called.
2873 //
2874 // We may use still Parsoid's StubMetadataCollector for testing or
2875 // when running Parsoid in standalone mode, so forcing a downcast
2876 // here would lose some flexibility.
2877
2878 if ( $metadata instanceof ParserOutput ) {
2879 foreach ( $this->getUsedOptions() as $opt ) {
2880 $metadata->recordOption( $opt );
2881 }
2882 if ( $this->mCacheExpiry !== null ) {
2883 $metadata->updateCacheExpiry( $this->mCacheExpiry );
2884 }
2885 if ( $this->mCacheTime !== '' ) {
2886 $metadata->setCacheTime( $this->mCacheTime );
2887 }
2888 if ( $this->mCacheRevisionId !== null ) {
2889 $metadata->setCacheRevisionId( $this->mCacheRevisionId );
2890 }
2891 // T293514: We should use the first *modified* title text, but
2892 // we don't have the original to check.
2893 $otherTitle = $metadata->getTitleText();
2894 if ( $otherTitle === null || $otherTitle === '' ) {
2895 $metadata->setTitleText( $this->getTitleText() );
2896 }
2897 foreach ( $this->mTemplates as $ns => $arr ) {
2898 foreach ( $arr as $dbk => $page_id ) {
2899 // default to invalid/broken revision if this is not present
2900 $rev_id = $this->mTemplateIds[$ns][$dbk] ?? 0;
2901 $metadata->addTemplate( TitleValue::tryNew( $ns, (string)$dbk ), $page_id, $rev_id );
2902 }
2903 }
2904 }
2905 }
2906
2907 private static function mergeMixedList( array $a, array $b ): array {
2908 return array_unique( array_merge( $a, $b ), SORT_REGULAR );
2909 }
2910
2911 private static function mergeList( array $a, array $b ): array {
2912 return array_values( array_unique( array_merge( $a, $b ), SORT_REGULAR ) );
2913 }
2914
2915 private static function mergeMap( array $a, array $b ): array {
2916 return array_replace( $a, $b );
2917 }
2918
2919 private static function mergeMapStrategy( array $a, array $b ): array {
2920 foreach ( $b as $key => $bValue ) {
2921 if ( !array_key_exists( $key, $a ) ) {
2922 $a[$key] = $bValue;
2923 } elseif (
2924 is_array( $a[$key] ) &&
2925 isset( $a[$key][self::MW_MERGE_STRATEGY_KEY] ) &&
2926 isset( $bValue[self::MW_MERGE_STRATEGY_KEY] )
2927 ) {
2928 $strategy = $bValue[self::MW_MERGE_STRATEGY_KEY];
2929 if ( $strategy !== $a[$key][self::MW_MERGE_STRATEGY_KEY] ) {
2930 throw new InvalidArgumentException( "Conflicting merge strategy for $key" );
2931 }
2932 if ( $strategy === self::MW_MERGE_STRATEGY_UNION ) {
2933 // Note the array_merge is *not* safe to use here, because
2934 // the $bValue is expected to be a map from items to `true`.
2935 // If the item is a numeric string like '1' then array_merge
2936 // will convert it to an integer and renumber the array!
2937 $a[$key] = array_replace( $a[$key], $bValue );
2938 } else {
2939 throw new InvalidArgumentException( "Unknown merge strategy $strategy" );
2940 }
2941 } else {
2942 $valuesSame = ( $a[$key] === $bValue );
2943 if ( ( !$valuesSame ) &&
2944 is_object( $a[$key] ) &&
2945 is_object( $bValue )
2946 ) {
2947 $jsonCodec = MediaWikiServices::getInstance()->getJsonCodec();
2948 $valuesSame = ( $jsonCodec->serialize( $a[$key] ) === $jsonCodec->serialize( $bValue ) );
2949 }
2950 if ( !$valuesSame ) {
2951 // Silently replace for now; in the future will first emit
2952 // a deprecation warning, and then (later) throw.
2953 $a[$key] = $bValue;
2954 }
2955 }
2956 }
2957 return $a;
2958 }
2959
2960 private static function useEachMinValue( array $a, array $b ): array {
2961 $values = [];
2962 $keys = array_merge( array_keys( $a ), array_keys( $b ) );
2963
2964 foreach ( $keys as $k ) {
2965 $values[$k] = min( $a[$k] ?? INF, $b[$k] ?? INF );
2966 }
2967
2968 return $values;
2969 }
2970
2971 private static function useEachTotalValue( array $a, array $b ): array {
2972 $values = [];
2973 $keys = array_merge( array_keys( $a ), array_keys( $b ) );
2974
2975 foreach ( $keys as $k ) {
2976 $values[$k] = ( $a[$k] ?? 0 ) + ( $b[$k] ?? 0 );
2977 }
2978
2979 return $values;
2980 }
2981
2982 private static function useMaxValue( $a, $b ) {
2983 if ( $a === null ) {
2984 return $b;
2985 }
2986
2987 if ( $b === null ) {
2988 return $a;
2989 }
2990
2991 return max( $a, $b );
2992 }
2993
3000 protected function toJsonArray(): array {
3001 // WARNING: When changing how this class is serialized, follow the instructions
3002 // at <https://www.mediawiki.org/wiki/Manual:Parser_cache/Serialization_compatibility>!
3003
3004 $data = [
3005 'Text' => $this->mRawText,
3006 'LanguageLinks' => $this->getLanguageLinks(),
3007 'Categories' => $this->mCategories,
3008 'Indicators' => $this->mIndicators,
3009 'TitleText' => $this->mTitleText,
3010 'Links' => $this->mLinks,
3011 'LinksSpecial' => $this->mLinksSpecial,
3012 'Templates' => $this->mTemplates,
3013 'TemplateIds' => $this->mTemplateIds,
3014 'Images' => $this->mImages,
3015 'FileSearchOptions' => $this->mFileSearchOptions,
3016 'ExternalLinks' => $this->mExternalLinks,
3017 'InterwikiLinks' => $this->mInterwikiLinks,
3018 'NewSection' => $this->mNewSection,
3019 'HideNewSection' => $this->mHideNewSection,
3020 'NoGallery' => $this->mNoGallery,
3021 'HeadItems' => $this->mHeadItems,
3022 'Modules' => array_keys( $this->mModuleSet ),
3023 'ModuleStyles' => array_keys( $this->mModuleStyleSet ),
3024 'JsConfigVars' => $this->mJsConfigVars,
3025 'Warnings' => $this->mWarnings,
3026 'Sections' => $this->getSections(),
3027 'Properties' => self::detectAndEncodeBinary( $this->mProperties ),
3028 'Timestamp' => $this->mTimestamp,
3029 'EnableOOUI' => $this->mEnableOOUI,
3030 'IndexPolicy' => $this->getIndexPolicy(),
3031 // may contain arbitrary structures!
3032 'ExtensionData' => $this->mExtensionData,
3033 'LimitReportData' => $this->mLimitReportData,
3034 'LimitReportJSData' => $this->mLimitReportJSData,
3035 'CacheMessage' => $this->mCacheMessage,
3036 'TimeProfile' => $this->mTimeProfile,
3037 'ParseStartTime' => [], // don't serialize this
3038 'PreventClickjacking' => $this->mPreventClickjacking,
3039 'ExtraScriptSrcs' => $this->mExtraScriptSrcs,
3040 'ExtraDefaultSrcs' => $this->mExtraDefaultSrcs,
3041 'ExtraStyleSrcs' => $this->mExtraStyleSrcs,
3042 'Flags' => $this->mFlags + (
3043 // backward-compatibility: distinguish "no sections" from
3044 // "sections not set" (Will be unnecessary after T327439.)
3045 $this->mTOCData === null ? [] : [ 'mw:toc-set' => true ]
3046 ),
3047 'SpeculativeRevId' => $this->mSpeculativeRevId,
3048 'SpeculativePageIdUsed' => $this->speculativePageIdUsed,
3049 'RevisionTimestampUsed' => $this->revisionTimestampUsed,
3050 'RevisionUsedSha1Base36' => $this->revisionUsedSha1Base36,
3051 'WrapperDivClasses' => $this->mWrapperDivClasses,
3052 ];
3053
3054 // Fill in missing fields from parents. Array addition does not override existing fields.
3055 $data += parent::toJsonArray();
3056
3057 // TODO: make more fields optional!
3058
3059 if ( $this->mMaxAdaptiveExpiry !== INF ) {
3060 // NOTE: JSON can't encode infinity!
3061 $data['MaxAdaptiveExpiry'] = $this->mMaxAdaptiveExpiry;
3062 }
3063
3064 if ( $this->mTOCData ) {
3065 // Temporarily add information from TOCData extension data
3066 // T327439: We should eventually make the entire mTOCData
3067 // serializable
3068 $toc = $this->mTOCData->jsonSerialize();
3069 if ( isset( $toc['extensionData'] ) ) {
3070 $data['TOCExtensionData'] = $toc['extensionData'];
3071 }
3072 }
3073
3074 return $data;
3075 }
3076
3077 public static function newFromJsonArray( JsonDeserializer $deserializer, array $json ): ParserOutput {
3078 $parserOutput = new ParserOutput();
3079 $parserOutput->initFromJson( $deserializer, $json );
3080 return $parserOutput;
3081 }
3082
3088 protected function initFromJson( JsonDeserializer $deserializer, array $jsonData ): void {
3089 parent::initFromJson( $deserializer, $jsonData );
3090
3091 // WARNING: When changing how this class is serialized, follow the instructions
3092 // at <https://www.mediawiki.org/wiki/Manual:Parser_cache/Serialization_compatibility>!
3093
3094 $this->mRawText = $jsonData['Text'];
3095 $this->mLanguageLinkMap = [];
3096 foreach ( ( $jsonData['LanguageLinks'] ?? [] ) as $l ) {
3097 $this->addLanguageLink( $l );
3098 }
3099 $this->mCategories = $jsonData['Categories'];
3100 $this->mIndicators = $jsonData['Indicators'];
3101 $this->mTitleText = $jsonData['TitleText'];
3102 $this->mLinks = $jsonData['Links'];
3103 $this->mLinksSpecial = $jsonData['LinksSpecial'];
3104 $this->mTemplates = $jsonData['Templates'];
3105 $this->mTemplateIds = $jsonData['TemplateIds'];
3106 $this->mImages = $jsonData['Images'];
3107 $this->mFileSearchOptions = $jsonData['FileSearchOptions'];
3108 $this->mExternalLinks = $jsonData['ExternalLinks'];
3109 $this->mInterwikiLinks = $jsonData['InterwikiLinks'];
3110 $this->mNewSection = $jsonData['NewSection'];
3111 $this->mHideNewSection = $jsonData['HideNewSection'];
3112 $this->mNoGallery = $jsonData['NoGallery'];
3113 $this->mHeadItems = $jsonData['HeadItems'];
3114 $this->mModuleSet = array_fill_keys( $jsonData['Modules'], true );
3115 $this->mModuleStyleSet = array_fill_keys( $jsonData['ModuleStyles'], true );
3116 $this->mJsConfigVars = $jsonData['JsConfigVars'];
3117 $this->mWarnings = $jsonData['Warnings'];
3118 $this->mFlags = $jsonData['Flags'];
3119 if (
3120 $jsonData['Sections'] !== [] ||
3121 // backward-compatibility: distinguish "no sections" from
3122 // "sections not set" (Will be unnecessary after T327439.)
3123 $this->getOutputFlag( 'mw:toc-set' )
3124 ) {
3125 $this->setSections( $jsonData['Sections'] );
3126 unset( $this->mFlags['mw:toc-set'] );
3127 if ( isset( $jsonData['TOCExtensionData'] ) ) {
3128 $tocData = $this->getTOCData(); // created by setSections() above
3129 foreach ( $jsonData['TOCExtensionData'] as $key => $value ) {
3130 $tocData->setExtensionData( $key, $value );
3131 }
3132 }
3133 }
3134 $this->mProperties = self::detectAndDecodeBinary( $jsonData['Properties'] );
3135 $this->mTimestamp = $jsonData['Timestamp'];
3136 $this->mEnableOOUI = $jsonData['EnableOOUI'];
3137 $this->setIndexPolicy( $jsonData['IndexPolicy'] );
3138 $this->mExtensionData = $jsonData['ExtensionData'] ?? [];
3139 $this->mLimitReportData = $jsonData['LimitReportData'];
3140 $this->mLimitReportJSData = $jsonData['LimitReportJSData'];
3141 $this->mCacheMessage = $jsonData['CacheMessage'] ?? '';
3142 $this->mParseStartTime = []; // invalid after reloading
3143 $this->mTimeProfile = $jsonData['TimeProfile'] ?? [];
3144 $this->mPreventClickjacking = $jsonData['PreventClickjacking'];
3145 $this->mExtraScriptSrcs = $jsonData['ExtraScriptSrcs'];
3146 $this->mExtraDefaultSrcs = $jsonData['ExtraDefaultSrcs'];
3147 $this->mExtraStyleSrcs = $jsonData['ExtraStyleSrcs'];
3148 $this->mSpeculativeRevId = $jsonData['SpeculativeRevId'];
3149 $this->speculativePageIdUsed = $jsonData['SpeculativePageIdUsed'];
3150 $this->revisionTimestampUsed = $jsonData['RevisionTimestampUsed'];
3151 $this->revisionUsedSha1Base36 = $jsonData['RevisionUsedSha1Base36'];
3152 $this->mWrapperDivClasses = $jsonData['WrapperDivClasses'];
3153 $this->mMaxAdaptiveExpiry = $jsonData['MaxAdaptiveExpiry'] ?? INF;
3154 }
3155
3165 private static function detectAndEncodeBinary( array $properties ) {
3166 foreach ( $properties as $key => $value ) {
3167 if ( is_string( $value ) ) {
3168 if ( !mb_detect_encoding( $value, 'UTF-8', true ) ) {
3169 $properties[$key] = [
3170 // T313818: This key name conflicts with JsonCodec
3171 '_type_' => 'string',
3172 '_encoding_' => 'base64',
3173 '_data_' => base64_encode( $value ),
3174 ];
3175 }
3176 }
3177 }
3178
3179 return $properties;
3180 }
3181
3190 private static function detectAndDecodeBinary( array $properties ) {
3191 foreach ( $properties as $key => $value ) {
3192 if ( is_array( $value ) && isset( $value['_encoding_'] ) ) {
3193 if ( $value['_encoding_'] === 'base64' ) {
3194 $properties[$key] = base64_decode( $value['_data_'] );
3195 }
3196 }
3197 }
3198
3199 return $properties;
3200 }
3201
3202 public function __wakeup() {
3203 $oldAliases = [
3204 // This was the pre-namespace name of the class, which is still
3205 // used in pre-1.42 serialized objects.
3206 'ParserOutput',
3207 ];
3208 // Backwards compatibility, pre 1.36
3209 $priorAccessedOptions = $this->getGhostFieldValue( 'mAccessedOptions', ...$oldAliases );
3210 if ( $priorAccessedOptions ) {
3211 $this->mParseUsedOptions = $priorAccessedOptions;
3212 }
3213 // Backwards compatibility, pre 1.39
3214 $priorIndexPolicy = $this->getGhostFieldValue( 'mIndexPolicy', ...$oldAliases );
3215 if ( $priorIndexPolicy ) {
3216 $this->setIndexPolicy( $priorIndexPolicy );
3217 }
3218 // Backwards compatibility, pre 1.40
3219 $mSections = $this->getGhostFieldValue( 'mSections', ...$oldAliases );
3220 if ( $mSections !== null && $mSections !== [] ) {
3221 $this->setSections( $mSections );
3222 }
3223 // Backwards compatibility, pre 1.42
3224 $mModules = $this->getGhostFieldValue( 'mModules', ...$oldAliases );
3225 if ( $mModules !== null && $mModules !== [] ) {
3226 $this->addModules( $mModules );
3227 }
3228 // Backwards compatibility, pre 1.42
3229 $mModuleStyles = $this->getGhostFieldValue( 'mModuleStyles', ...$oldAliases );
3230 if ( $mModuleStyles !== null && $mModuleStyles !== [] ) {
3231 $this->addModuleStyles( $mModuleStyles );
3232 }
3233 // Backwards compatibility, pre 1.42
3234 $mText = $this->getGhostFieldValue( 'mText', ...$oldAliases );
3235 if ( $mText !== null ) {
3236 $this->setRawText( $mText );
3237 }
3238 // Backwards compatibility, pre 1.42
3239 $ll = $this->getGhostFieldValue( 'mLanguageLinks', ...$oldAliases );
3240 if ( $ll !== null && $ll !== [] ) {
3241 foreach ( $ll as $l ) {
3242 $this->addLanguageLink( $l );
3243 }
3244 }
3245 // Backward compatibility with private fields, pre 1.42
3246 $oldPrivateFields = [
3247 'mRawText',
3248 'mCategories',
3249 'mIndicators',
3250 'mTitleText',
3251 'mLinks',
3252 'mLinksSpecial',
3253 'mTemplates',
3254 'mTemplateIds',
3255 'mImages',
3256 'mFileSearchOptions',
3257 'mExternalLinks',
3258 'mInterwikiLinks',
3259 'mNewSection',
3260 'mHideNewSection',
3261 'mNoGallery',
3262 'mHeadItems',
3263 'mModuleSet',
3264 'mModuleStyleSet',
3265 'mJsConfigVars',
3266 'mWarnings',
3267 'mWarningMsgs',
3268 'mTOCData',
3269 'mProperties',
3270 'mTimestamp',
3271 'mEnableOOUI',
3272 'mIndexSet',
3273 'mNoIndexSet',
3274 'mExtensionData',
3275 'mLimitReportData',
3276 'mLimitReportJSData',
3277 'mCacheMessage',
3278 'mParseStartTime',
3279 'mTimeProfile',
3280 'mPreventClickjacking',
3281 'mExtraScriptSrcs',
3282 'mExtraDefaultSrcs',
3283 'mExtraStyleSrcs',
3284 'mFlags',
3285 'mSpeculativeRevId',
3286 'speculativePageIdUsed',
3287 'revisionTimestampUsed',
3288 'revisionUsedSha1Base36',
3289 'mWrapperDivClasses',
3290 'mMaxAdaptiveExpiry',
3291 ];
3292 foreach ( $oldPrivateFields as $f ) {
3293 $this->restoreAliasedGhostField( $f, ...$oldAliases );
3294 }
3295 $this->clearParseStartTime();
3296 }
3297
3298 public function __clone() {
3299 // It seems that very little of this object needs to be explicitly deep-cloned
3300 // while keeping copies reasonably separated.
3301 // Most of the non-scalar properties of this object are either
3302 // - (potentially multi-nested) arrays of scalars (which get deep-cloned), or
3303 // - arrays that may contain arbitrary elements (which don't necessarily get
3304 // deep-cloned), but for which no particular care elsewhere is given to
3305 // copying their references around (e.g. mJsConfigVars).
3306 // Hence, we are not going out of our way to ensure that the references to innermost
3307 // objects that may appear in a ParserOutput are unique. If that becomes the
3308 // expectation at any point, this method will require updating as well.
3309 // The exception is TOCData (which is an object), which we clone explicitly.
3310 if ( $this->mTOCData ) {
3311 $this->mTOCData = clone $this->mTOCData;
3312 }
3313 }
3314
3323 public function getContentHolderText(): string {
3324 return $this->getRawText();
3325 }
3326
3334 public function setContentHolderText( string $s ): void {
3335 $this->setRawText( $s );
3336 }
3337
3338 public function __get( $name ) {
3339 if ( property_exists( get_called_class(), $name ) ) {
3340 // Direct access to a public property, deprecated.
3341 wfDeprecatedMsg( "ParserOutput::{$name} public read access deprecated", '1.38' );
3342 return $this->$name;
3343 } elseif ( property_exists( $this, $name ) ) {
3344 // Dynamic property access, deprecated.
3345 wfDeprecatedMsg( "ParserOutput::{$name} dynamic property read access deprecated", '1.38' );
3346 return $this->$name;
3347 } else {
3348 trigger_error( "Inaccessible property via __get(): $name" );
3349 return null;
3350 }
3351 }
3352
3353 public function __set( $name, $value ) {
3354 if ( property_exists( get_called_class(), $name ) ) {
3355 // Direct access to a public property, deprecated.
3356 wfDeprecatedMsg( "ParserOutput::$name public write access deprecated", '1.38' );
3357 $this->$name = $value;
3358 } else {
3359 // Dynamic property access, deprecated.
3360 wfDeprecatedMsg( "ParserOutput::$name dynamic property write access deprecated", '1.38' );
3361 $this->$name = $value;
3362 }
3363 }
3364}
3365
3367class_alias( ParserOutput::class, 'ParserOutput' );
const NS_FILE
Definition Defines.php:71
const NS_MAIN
Definition Defines.php:65
const NS_SPECIAL
Definition Defines.php:54
const NS_MEDIA
Definition Defines.php:53
const NS_CATEGORY
Definition Defines.php:79
wfDeprecatedMsg( $msg, $version=false, $component=false, $callerOffset=2)
Log a deprecation warning with arbitrary message text.
wfSetVar(&$dest, $source, $force=false)
Sets dest to source and returns the original value of dest If source is NULL, it just returns the val...
wfLogWarning( $msg, $callerOffset=1, $level=E_USER_WARNING)
Send a warning as a PHP error and the debug log.
wfMessage( $key,... $params)
This is the function for getting translated interface messages.
wfDeprecated( $function, $version=false, $component=false, $callerOffset=2)
Logs a warning that a deprecated feature was used.
string null $mText
setExtensionData( $extensionData)
Set extension data for this result.
getExtensionData()
Get the extension data as: augmentor name => data.
if(!defined('MW_SETUP_CALLBACK'))
Definition WebStart.php:81
Represents the identity of a specific rendering of a specific revision at some point in time.
A class containing constants representing the names of configuration variables.
Service locator for MediaWiki core services.
This is one of the Core classes and should be read at least once by any new developers.
getModules( $filter=false, $position=null, $param='mModules', $type=RL\Module::TYPE_COMBINED)
Get the list of modules to include on this page.
getHeadItemsArray()
Get an array of head items.
getJsConfigVars()
Get the javascript config vars to include on this page.
getModuleStyles( $filter=false, $position=null)
Get the list of style-only modules to load on this page.
Parser cache specific expiry check.
Definition CacheTime.php:39
Set options of the Parser.
getWrapOutputClass()
Class to use to wrap output from Parser::parse()
getInterfaceMessage()
Parsing an interface message?
getIsPreview()
Parsing the page for a "preview" operation?
getCollapsibleSections()
Should section contents be wrapped in.
getSuppressSectionEditLinks()
Should section edit links be suppressed? Used when parsing wikitext which will be presented in a non-...
ParserOutput is a rendering of a Content object or a message.
getExtraCSPDefaultSrcs()
Get extra Content-Security-Policy 'default-src' directives.
setIndexPolicy( $policy)
Update the index policy of the robots meta tag.
getJsConfigVars(bool $showStrategyKeys=false)
setLimitReportData( $key, $value)
Sets parser limit report data for a key.
getLinkList(string $linkType)
Get a list of links of the given type.
static newFromJsonArray(JsonDeserializer $deserializer, array $json)
Creates a new instance of the class and initialized it from the $json array.
setOutputFlag(string $name, bool $val=true)
Provides a uniform interface to various boolean flags stored in the ParserOutput.
setPageProperty(string $name, $value)
Set a page property to be stored in the page_props database table.
setEnableOOUI(bool $enable=false)
Enables OOUI, if true, in any OutputPage instance this ParserOutput object is added to.
toJsonArray()
Returns a JSON serializable structure representing this ParserOutput instance.
unsetPageProperty(string $name)
Remove a page property.
getTimeProfile(string $clock)
Returns the time that elapsed between the most recent call to resetParseStartTime() and the first cal...
addImage( $name, $timestamp=null, $sha1=null)
Register a file dependency for this output.
setNumericPageProperty(string $propName, $numericValue)
Set a numeric page property whose value is intended to be sorted and indexed.
runOutputPipeline(ParserOptions $popts, array $options=[])
getRenderId()
Return the unique rendering id for this ParserOutput.
addTemplate( $link, $page_id, $rev_id)
Register a template dependency for this output.
addExtraCSPDefaultSrc( $src)
Add an extra value to Content-Security-Policy default-src directive.
setExtensionData( $key, $value)
Attaches arbitrary data to this ParserObject.
setRenderId(string $renderId)
Store a unique rendering id for this ParserOutput.
appendJsConfigVar(string $key, string $value, string $strategy=self::MW_MERGE_STRATEGY_UNION)
Append a value to a variable to be set in mw.config in JavaScript.
addOutputPageMetadata(OutputPage $out)
Accommodate very basic transcluding of a temporary OutputPage object into parser output.
setUnsortedPageProperty(string $propName, string $value='')
Set a page property whose value is not intended to be sorted and indexed.
addJsConfigVars( $keys, $value=null)
Add one or more variables to be set in mw.config in JavaScript.
setRedirectHeader(string $html)
Set an HTML prefix to be applied on redirect pages.
getText( $options=[])
Get the output HTML.
addCategory( $c, $sort='')
Add a category.
setJsConfigVar(string $key, $value)
Add a variable to be set in mw.config in JavaScript.
getPageProperties()
Return all the page properties set on this ParserOutput.
getContentHolderText()
Returns the content holder text of the ParserOutput.
setRevisionTimestamp(?string $timestamp)
clearWrapperDivClass()
Clears the CSS class to use for the wrapping div, effectively disabling the wrapper div until addWrap...
getPreventClickjacking()
Get the prevent-clickjacking flag.
setContentHolderText(string $s)
Sets the content holder text of the ParserOutput.
setPreventClickjacking(bool $flag)
Set the prevent-clickjacking flag.
addExtraCSPScriptSrc( $src)
Add an extra value to Content-Security-Policy script-src directive.
getExtraCSPStyleSrcs()
Get extra Content-Security-Policy 'style-src' directives.
getCategorySortKey(string $name)
Return the sort key for a given category name, or null if the category is not present in this ParserO...
getWrapperDivClass()
Returns the class (or classes) to be used with the wrapper div for this output.
const MW_MERGE_STRATEGY_UNION
Merge strategy to use for ParserOutput accumulators: "union" means that values are strings,...
setRawText(?string $text)
Set the raw text of the ParserOutput.
__construct( $text=null, $languageLinks=[], $categoryLinks=[], $unused=false, $titletext='')
hasReducedExpiry()
Check whether the cache TTL was lowered from the site default.
addLanguageLink( $t)
Add a language link.
hasImages()
Return true if there are image dependencies registered for this ParserOutput.
getOutputFlag(string $name)
Provides a uniform interface to various boolean flags stored in the ParserOutput.
addWarningMsg(string $msg,... $args)
Add a warning to the output for this page.
hasLinks()
Return true if the given parser output has local links registered in the metadata.
mergeHtmlMetaDataFrom(ParserOutput $source)
Merges HTML metadata such as head items, JS config vars, and HTTP cache control info from $source int...
recordTimeProfile()
Record the time since resetParseStartTime() was last called.
setDisplayTitle( $text)
Override the title to be used for display.
initFromJson(JsonDeserializer $deserializer, array $jsonData)
Initialize member fields from an array returned by jsonSerialize().
getDisplayTitle()
Get the title to be used for display.
setCategories(array $c)
Overwrite the category map.
getPageProperty(string $name)
Look up a page property.
finalizeAdaptiveCacheExpiry()
Call this when parsing is done to lower the TTL based on low parse times.
appendOutputStrings(string $name, array $value)
Provides a uniform interface to various string sets stored in the ParserOutput.
getCategoryNames()
Return the names of the categories on this page.
mergeTrackingMetaDataFrom(ParserOutput $source)
Merges dependency tracking metadata such as backlinks, images used, and extension data from $source i...
getLanguage()
Get the primary language code of the output.
setSections(array $sectionArray)
addExtraCSPStyleSrc( $src)
Add an extra value to Content-Security-Policy style-src directive.
mergeInternalMetaDataFrom(ParserOutput $source)
Merges internal metadata such as flags, accessed options, and profiling info from $source into this P...
addCacheMessage(string $msg)
Adds a comment notice about cache state to the text of the page.
setLanguage(Bcp47Code $lang)
Set the primary language of the output.
appendExtensionData(string $key, $value, string $strategy=self::MW_MERGE_STRATEGY_UNION)
Appends arbitrary data to this ParserObject.
getCategoryMap()
Return category names and sort keys as a map.
hasText()
Returns true if text was passed to the constructor, or set using setText().
getTimeSinceStart( $clock)
Returns the time since resetParseStartTime() was last called.
addHeadItem( $section, $tag=false)
Add some text to the "<head>".
updateRuntimeAdaptiveExpiry( $ttl)
Lower the runtime adaptive TTL to at most this value.
getExtraCSPScriptSrcs()
Get extra Content-Security-Policy 'script-src' directives.
clearParseStartTime()
Unset the parse start time.
addWarningMsgVal(MessageValue $mv)
Add a warning to the output for this page.
resetParseStartTime()
Resets the parse start timestamps for future calls to getTimeSinceStart() and recordTimeProfile().
setText( $text)
Set the raw text of the ParserOutput.
getExtensionData( $key)
Gets extensions data previously attached to this ParserOutput using setExtensionData().
getRedirectHeader()
Return an HTML prefix to be applied on redirect pages, or null if this is not a redirect.
setFromParserOptions(ParserOptions $parserOptions)
Transfer parser options which affect post-processing from ParserOptions to this ParserOutput.
getRawText()
Get the cacheable text with <mw:editsection> markers still in it.
const SUPPORTS_STATELESS_TRANSFORMS
Feature flags to indicate to extensions that MediaWiki core supports and uses getText() stateless tra...
collectMetadata(ContentMetadataCollector $metadata)
Adds the metadata collected in this ParserOutput to the supplied ContentMetadataCollector.
addWrapperDivClass( $class)
Add a CSS class to use for the wrapping div.
static isLinkInternal( $internal, $url)
Checks, if a url is pointing to the own server.
getOutputStrings(string $name)
Provides a uniform interface to various boolean string sets stored in the ParserOutput.
Provides methods for conversion between PageBundle and ParserOutput TODO: Convert to a trait once we ...
Represents the target of a wiki link.
Value object representing a message for i18n.
getKey()
Get the message key.
return[0=> 'ـ', 1=> ' ', 2=> '`', 3=> '´', 4=> '˜', 5=> '^', 6=> '¯', 7=> '‾', 8=> '˘', 9=> '˙', 10=> '¨', 11=> '˚', 12=> '˝', 13=> '᾽', 14=> '῝', 15=> '¸', 16=> '˛', 17=> '_', 18=> '‗', 19=> '῀', 20=> '﮲', 21=> '﮳', 22=> '﮴', 23=> '﮵', 24=> '﮶', 25=> '﮷', 26=> '﮸', 27=> '﮹', 28=> '﮺', 29=> '﮻', 30=> '﮼', 31=> '﮽', 32=> '﮾', 33=> '﮿', 34=> '﯀', 35=> '﯁', 36=> '゛', 37=> '゜', 38=> '-', 39=> '֊', 40=> '᐀', 41=> '᭠', 42=> '᠆', 43=> '᠇', 44=> '‐', 45=> '‒', 46=> '–', 47=> '—', 48=> '―', 49=> '⁓', 50=> '⸗', 51=> '゠', 52=> '・', 53=> ',', 54=> '՝', 55=> '،', 56=> '؍', 57=> '٫', 58=> '٬', 59=> '߸', 60=> '᠂', 61=> '᠈', 62=> '꓾', 63=> '꘍', 64=> '꛵', 65=> '︑', 66=> ';', 67=> '؛', 68=> '⁏', 69=> '꛶', 70=> ':', 71=> '։', 72=> '؞', 73=> '܃', 74=> '܄', 75=> '܅', 76=> '܆', 77=> '܇', 78=> '܈', 79=> '࠰', 80=> '࠱', 81=> '࠲', 82=> '࠳', 83=> '࠴', 84=> '࠵', 85=> '࠶', 86=> '࠷', 87=> '࠸', 88=> '࠹', 89=> '࠺', 90=> '࠻', 91=> '࠼', 92=> '࠽', 93=> '࠾', 94=> '፡', 95=> '፣', 96=> '፤', 97=> '፥', 98=> '፦', 99=> '᠄', 100=> '᠅', 101=> '༔', 102=> '៖', 103=> '᭝', 104=> '꧇', 105=> '᛫', 106=> '᛬', 107=> '᛭', 108=> '꛴', 109=> '!', 110=> '¡', 111=> '՜', 112=> '߹', 113=> '᥄', 114=> '?', 115=> '¿', 116=> '⸮', 117=> '՞', 118=> '؟', 119=> '܉', 120=> '፧', 121=> '᥅', 122=> '⳺', 123=> '⳻', 124=> '꘏', 125=> '꛷', 126=> '‽', 127=> '⸘', 128=> '.', 129=> '᠁', 130=> '۔', 131=> '܁', 132=> '܂', 133=> '።', 134=> '᠃', 135=> '᠉', 136=> '᙮', 137=> '᭜', 138=> '⳹', 139=> '⳾', 140=> '⸰', 141=> '꓿', 142=> '꘎', 143=> '꛳', 144=> '︒', 145=> '·', 146=> '⸱', 147=> '।', 148=> '॥', 149=> '꣎', 150=> '꣏', 151=> '᰻', 152=> '᰼', 153=> '꡶', 154=> '꡷', 155=> '᜵', 156=> '᜶', 157=> '꤯', 158=> '၊', 159=> '။', 160=> '។', 161=> '៕', 162=> '᪨', 163=> '᪩', 164=> '᪪', 165=> '᪫', 166=> '᭞', 167=> '᭟', 168=> '꧈', 169=> '꧉', 170=> '꩝', 171=> '꩞', 172=> '꩟', 173=> '꯫', 174=> '𐩖', 175=> '𐩗', 176=> '𑁇', 177=> '𑁈', 178=> '𑃀', 179=> '𑃁', 180=> '᱾', 181=> '᱿', 182=> '܀', 183=> '߷', 184=> '჻', 185=> '፠', 186=> '፨', 187=> '᨞', 188=> '᨟', 189=> '᭚', 190=> '᭛', 191=> '꧁', 192=> '꧂', 193=> '꧃', 194=> '꧄', 195=> '꧅', 196=> '꧆', 197=> '꧊', 198=> '꧋', 199=> '꧌', 200=> '꧍', 201=> '꛲', 202=> '꥟', 203=> '𐡗', 204=> '𐬺', 205=> '𐬻', 206=> '𐬼', 207=> '𐬽', 208=> '𐬾', 209=> '𐬿', 210=> '𑂾', 211=> '𑂿', 212=> '⁕', 213=> '⁖', 214=> '⁘', 215=> '⁙', 216=> '⁚', 217=> '⁛', 218=> '⁜', 219=> '⁝', 220=> '⁞', 221=> '⸪', 222=> '⸫', 223=> '⸬', 224=> '⸭', 225=> '⳼', 226=> '⳿', 227=> '⸙', 228=> '𐤿', 229=> '𐄀', 230=> '𐄁', 231=> '𐄂', 232=> '𐎟', 233=> '𐏐', 234=> '𐤟', 235=> '𒑰', 236=> '𒑱', 237=> '𒑲', 238=> '𒑳', 239=> '\'', 240=> '‘', 241=> '’', 242=> '‚', 243=> '‛', 244=> '‹', 245=> '›', 246=> '"', 247 => '“', 248 => '”', 249 => '„', 250 => '‟', 251 => '«', 252 => '»', 253 => '(', 254 => ')', 255 => '[', 256 => ']', 257 => '{', 258 => '}', 259 => '༺', 260 => '༻', 261 => '༼', 262 => '༽', 263 => '᚛', 264 => '᚜', 265 => '⁅', 266 => '⁆', 267 => '⧼', 268 => '⧽', 269 => '⦃', 270 => '⦄', 271 => '⦅', 272 => '⦆', 273 => '⦇', 274 => '⦈', 275 => '⦉', 276 => '⦊', 277 => '⦋', 278 => '⦌', 279 => '⦍', 280 => '⦎', 281 => '⦏', 282 => '⦐', 283 => '⦑', 284 => '⦒', 285 => '⦓', 286 => '⦔', 287 => '⦕', 288 => '⦖', 289 => '⦗', 290 => '⦘', 291 => '⟬', 292 => '⟭', 293 => '⟮', 294 => '⟯', 295 => '⸂', 296 => '⸃', 297 => '⸄', 298 => '⸅', 299 => '⸉', 300 => '⸊', 301 => '⸌', 302 => '⸍', 303 => '⸜', 304 => '⸝', 305 => '⸠', 306 => '⸡', 307 => '⸢', 308 => '⸣', 309 => '⸤', 310 => '⸥', 311 => '⸦', 312 => '⸧', 313 => '⸨', 314 => '⸩', 315 => '〈', 316 => '〉', 317 => '「', 318 => '」', 319 => '﹝', 320 => '﹞', 321 => '︗', 322 => '︘', 323 => '﴾', 324 => '﴿', 325 => '§', 326 => '¶', 327 => '⁋', 328 => '©', 329 => '®', 330 => '@', 331 => '*', 332 => '⁎', 333 => '⁑', 334 => '٭', 335 => '꙳', 336 => '/', 337 => '⁄', 338 => '\\', 339 => '&', 340 => '⅋', 341 => '⁊', 342 => '#', 343 => '%', 344 => '٪', 345 => '‰', 346 => '؉', 347 => '‱', 348 => '؊', 349 => '⁒', 350 => '†', 351 => '‡', 352 => '•', 353 => '‣', 354 => '‧', 355 => '⁃', 356 => '⁌', 357 => '⁍', 358 => '′', 359 => '‵', 360 => '‸', 361 => '※', 362 => '‿', 363 => '⁔', 364 => '⁀', 365 => '⁐', 366 => '⁁', 367 => '⁂', 368 => '⸀', 369 => '⸁', 370 => '⸆', 371 => '⸇', 372 => '⸈', 373 => '⸋', 374 => '⸎', 375 => '⸏', 376 => '⸐', 377 => '⸑', 378 => '⸒', 379 => '⸓', 380 => '⸔', 381 => '⸕', 382 => '⸖', 383 => '⸚', 384 => '⸛', 385 => '⸞', 386 => '⸟', 387 => '꙾', 388 => '՚', 389 => '՛', 390 => '՟', 391 => '־', 392 => '׀', 393 => '׃', 394 => '׆', 395 => '׳', 396 => '״', 397 => '܊', 398 => '܋', 399 => '܌', 400 => '܍', 401 => '࡞', 402 => '᠀', 403 => '॰', 404 => '꣸', 405 => '꣹', 406 => '꣺', 407 => '෴', 408 => '๚', 409 => '๛', 410 => '꫞', 411 => '꫟', 412 => '༄', 413 => '༅', 414 => '༆', 415 => '༇', 416 => '༈', 417 => '༉', 418 => '༊', 419 => '࿐', 420 => '࿑', 421 => '་', 422 => '།', 423 => '༎', 424 => '༏', 425 => '༐', 426 => '༑', 427 => '༒', 428 => '྅', 429 => '࿒', 430 => '࿓', 431 => '࿔', 432 => '࿙', 433 => '࿚', 434 => '᰽', 435 => '᰾', 436 => '᰿', 437 => '᥀', 438 => '၌', 439 => '၍', 440 => '၎', 441 => '၏', 442 => '႞', 443 => '႟', 444 => '꩷', 445 => '꩸', 446 => '꩹', 447 => 'ៗ', 448 => '៘', 449 => '៙', 450 => '៚', 451 => '᪠', 452 => '᪡', 453 => '᪢', 454 => '᪣', 455 => '᪤', 456 => '᪥', 457 => '᪦', 458 => '᪬', 459 => '᪭', 460 => '᙭', 461 => '⵰', 462 => '꡴', 463 => '꡵', 464 => '᯼', 465 => '᯽', 466 => '᯾', 467 => '᯿', 468 => '꤮', 469 => '꧞', 470 => '꧟', 471 => '꩜', 472 => '𑁉', 473 => '𑁊', 474 => '𑁋', 475 => '𑁌', 476 => '𑁍', 477 => '𐩐', 478 => '𐩑', 479 => '𐩒', 480 => '𐩓', 481 => '𐩔', 482 => '𐩕', 483 => '𐩘', 484 => '𐬹', 485 => '𑂻', 486 => '𑂼', 487 => 'ʹ', 488 => '͵', 489 => 'ʺ', 490 => '˂', 491 => '˃', 492 => '˄', 493 => '˅', 494 => 'ˆ', 495 => 'ˇ', 496 => 'ˈ', 497 => 'ˉ', 498 => 'ˊ', 499 => 'ˋ', 500 => 'ˌ', 501 => 'ˍ', 502 => 'ˎ', 503 => 'ˏ', 504 => '˒', 505 => '˓', 506 => '˔', 507 => '˕', 508 => '˖', 509 => '˗', 510 => '˞', 511 => '˟', 512 => '˥', 513 => '˦', 514 => '˧', 515 => '˨', 516 => '˩', 517 => '˪', 518 => '˫', 519 => 'ˬ', 520 => '˭', 521 => '˯', 522 => '˰', 523 => '˱', 524 => '˲', 525 => '˳', 526 => '˴', 527 => '˵', 528 => '˶', 529 => '˷', 530 => '˸', 531 => '˹', 532 => '˺', 533 => '˻', 534 => '˼', 535 => '˽', 536 => '˾', 537 => '˿', 538 => '᎐', 539 => '᎑', 540 => '᎒', 541 => '᎓', 542 => '᎔', 543 => '᎕', 544 => '᎖', 545 => '᎗', 546 => '᎘', 547 => '᎙', 548 => '꜀', 549 => '꜁', 550 => '꜂', 551 => '꜃', 552 => '꜄', 553 => '꜅', 554 => '꜆', 555 => '꜇', 556 => '꜈', 557 => '꜉', 558 => '꜊', 559 => '꜋', 560 => '꜌', 561 => '꜍', 562 => '꜎', 563 => '꜏', 564 => '꜐', 565 => '꜑', 566 => '꜒', 567 => '꜓', 568 => '꜔', 569 => '꜕', 570 => '꜖', 571 => 'ꜗ', 572 => 'ꜘ', 573 => 'ꜙ', 574 => 'ꜚ', 575 => 'ꜛ', 576 => 'ꜜ', 577 => 'ꜝ', 578 => 'ꜞ', 579 => 'ꜟ', 580 => '꜠', 581 => '꜡', 582 => 'ꞈ', 583 => '꞉', 584 => '꞊', 585 => '°', 586 => '҂', 587 => '؈', 588 => '؎', 589 => '؏', 590 => '۞', 591 => '۩', 592 => '﷽', 593 => '߶', 594 => '৺', 595 => '୰', 596 => '௳', 597 => '௴', 598 => '௵', 599 => '௶', 600 => '௷', 601 => '௸', 602 => '௺', 603 => '౿', 604 => '൹', 605 => '꠨', 606 => '꠩', 607 => '꠪', 608 => '꠫', 609 => '꠶', 610 => '꠷', 611 => '꠹', 612 => '๏', 613 => '༁', 614 => '༂', 615 => '༃', 616 => '༓', 617 => '༕', 618 => '༖', 619 => '༗', 620 => '༚', 621 => '༛', 622 => '༜', 623 => '༝', 624 => '༞', 625 => '༟', 626 => '༴', 627 => '༶', 628 => '༸', 629 => '྾', 630 => '྿', 631 => '࿀', 632 => '࿁', 633 => '࿂', 634 => '࿃', 635 => '࿄', 636 => '࿅', 637 => '࿇', 638 => '࿈', 639 => '࿉', 640 => '࿊', 641 => '࿋', 642 => '࿌', 643 => '࿎', 644 => '࿏', 645 => '࿕', 646 => '࿖', 647 => '࿗', 648 => '࿘', 649 => '᧠', 650 => '᧡', 651 => '᧢', 652 => '᧣', 653 => '᧤', 654 => '᧥', 655 => '᧦', 656 => '᧧', 657 => '᧨', 658 => '᧩', 659 => '᧪', 660 => '᧫', 661 => '᧬', 662 => '᧭', 663 => '᧮', 664 => '᧯', 665 => '᧰', 666 => '᧱', 667 => '᧲', 668 => '᧳', 669 => '᧴', 670 => '᧵', 671 => '᧶', 672 => '᧷', 673 => '᧸', 674 => '᧹', 675 => '᧺', 676 => '᧻', 677 => '᧼', 678 => '᧽', 679 => '᧾', 680 => '᧿', 681 => '᭡', 682 => '᭢', 683 => '᭣', 684 => '᭤', 685 => '᭥', 686 => '᭦', 687 => '᭧', 688 => '᭨', 689 => '᭩', 690 => '᭪', 691 => '᭴', 692 => '᭵', 693 => '᭶', 694 => '᭷', 695 => '᭸', 696 => '᭹', 697 => '᭺', 698 => '᭻', 699 => '᭼', 700 => '℄', 701 => '℈', 702 => '℔', 703 => '℗', 704 => '℘', 705 => '℞', 706 => '℟', 707 => '℣', 708 => '℥', 709 => '℧', 710 => '℩', 711 => '℮', 712 => '℺', 713 => '⅁', 714 => '⅂', 715 => '⅃', 716 => '⅄', 717 => '⅊', 718 => '⅌', 719 => '⅍', 720 => '⅏', 721 => '←', 722 => '→', 723 => '↑', 724 => '↓', 725 => '↔', 726 => '↕', 727 => '↖', 728 => '↗', 729 => '↘', 730 => '↙', 731 => '↜', 732 => '↝', 733 => '↞', 734 => '↟', 735 => '↠', 736 => '↡', 737 => '↢', 738 => '↣', 739 => '↤', 740 => '↥', 741 => '↦', 742 => '↧', 743 => '↨', 744 => '↩', 745 => '↪', 746 => '↫', 747 => '↬', 748 => '↭', 749 => '↯', 750 => '↰', 751 => '↱', 752 => '↲', 753 => '↳', 754 => '↴', 755 => '↵', 756 => '↶', 757 => '↷', 758 => '↸', 759 => '↹', 760 => '↺', 761 => '↻', 762 => '↼', 763 => '↽', 764 => '↾', 765 => '↿', 766 => '⇀', 767 => '⇁', 768 => '⇂', 769 => '⇃', 770 => '⇄', 771 => '⇅', 772 => '⇆', 773 => '⇇', 774 => '⇈', 775 => '⇉', 776 => '⇊', 777 => '⇋', 778 => '⇌', 779 => '⇐', 780 => '⇑', 781 => '⇒', 782 => '⇓', 783 => '⇔', 784 => '⇕', 785 => '⇖', 786 => '⇗', 787 => '⇘', 788 => '⇙', 789 => '⇚', 790 => '⇛', 791 => '⇜', 792 => '⇝', 793 => '⇞', 794 => '⇟', 795 => '⇠', 796 => '⇡', 797 => '⇢', 798 => '⇣', 799 => '⇤', 800 => '⇥', 801 => '⇦', 802 => '⇧', 803 => '⇨', 804 => '⇩', 805 => '⇪', 806 => '⇫', 807 => '⇬', 808 => '⇭', 809 => '⇮', 810 => '⇯', 811 => '⇰', 812 => '⇱', 813 => '⇲', 814 => '⇳', 815 => '⇴', 816 => '⇵', 817 => '⇶', 818 => '⇷', 819 => '⇸', 820 => '⇹', 821 => '⇺', 822 => '⇻', 823 => '⇼', 824 => '⇽', 825 => '⇾', 826 => '⇿', 827 => '∀', 828 => '∁', 829 => '∂', 830 => '∃', 831 => '∅', 832 => '∆', 833 => '∇', 834 => '∈', 835 => '∊', 836 => '∋', 837 => '∍', 838 => '϶', 839 => '∎', 840 => '∏', 841 => '∐', 842 => '∑', 843 => '+', 844 => '±', 845 => '÷', 846 => '×', 847 => '<', 848 => '=', 849 => '>', 850 => '¬', 851 => '|', 852 => '¦', 853 => '‖', 854 => '~', 855 => '−', 856 => '∓', 857 => '∔', 858 => '∕', 859 => '∖', 860 => '∗', 861 => '∘', 862 => '∙', 863 => '√', 864 => '∛', 865 => '؆', 866 => '∜', 867 => '؇', 868 => '∝', 869 => '∞', 870 => '∟', 871 => '∠', 872 => '∡', 873 => '∢', 874 => '∣', 875 => '∥', 876 => '∧', 877 => '∨', 878 => '∩', 879 => '∪', 880 => '∫', 881 => '∮', 882 => '∱', 883 => '∲', 884 => '∳', 885 => '∴', 886 => '∵', 887 => '∶', 888 => '∷', 889 => '∸', 890 => '∹', 891 => '∺', 892 => '∻', 893 => '∼', 894 => '∽', 895 => '∾', 896 => '∿', 897 => '≀', 898 => '≂', 899 => '≃', 900 => '≅', 901 => '≆', 902 => '≈', 903 => '≊', 904 => '≋', 905 => '≌', 906 => '≍', 907 => '≎', 908 => '≏', 909 => '≐', 910 => '≑', 911 => '≒', 912 => '≓', 913 => '≔', 914 => '≕', 915 => '≖', 916 => '≗', 917 => '≘', 918 => '≙', 919 => '≚', 920 => '≛', 921 => '≜', 922 => '≝', 923 => '≞', 924 => '≟', 925 => '≡', 926 => '≣', 927 => '≤', 928 => '≥', 929 => '≦', 930 => '≧', 931 => '≨', 932 => '≩', 933 => '≪', 934 => '≫', 935 => '≬', 936 => '≲', 937 => '≳', 938 => '≶', 939 => '≷', 940 => '≺', 941 => '≻', 942 => '≼', 943 => '≽', 944 => '≾', 945 => '≿', 946 => '⊂', 947 => '⊃', 948 => '⊆', 949 => '⊇', 950 => '⊊', 951 => '⊋', 952 => '⊌', 953 => '⊍', 954 => '⊎', 955 => '⊏', 956 => '⊐', 957 => '⊑', 958 => '⊒', 959 => '⊓', 960 => '⊔', 961 => '⊕', 962 => '⊖', 963 => '⊗', 964 => '⊘', 965 => '⊙', 966 => '⊚', 967 => '⊛', 968 => '⊜', 969 => '⊝', 970 => '⊞', 971 => '⊟', 972 => '⊠', 973 => '⊡', 974 => '⊢', 975 => '⊣', 976 => '⊤', 977 => '⊥', 978 => '⊦', 979 => '⊧', 980 => '⊨', 981 => '⊩', 982 => '⊪', 983 => '⊫', 984 => '⊰', 985 => '⊱', 986 => '⊲', 987 => '⊳', 988 => '⊴', 989 => '⊵', 990 => '⊶', 991 => '⊷', 992 => '⊸', 993 => '⊹', 994 => '⊺', 995 => '⊻', 996 => '⊼', 997 => '⊽', 998 => '⊾', 999 => '⊿', 1000 => '⋀', 1001 => '⋁', 1002 => '⋂', 1003 => '⋃', 1004 => '⋄', 1005 => '⋅', 1006 => '⋆', 1007 => '⋇', 1008 => '⋈', 1009 => '⋉', 1010 => '⋊', 1011 => '⋋', 1012 => '⋌', 1013 => '⋍', 1014 => '⋎', 1015 => '⋏', 1016 => '⋐', 1017 => '⋑', 1018 => '⋒', 1019 => '⋓', 1020 => '⋔', 1021 => '⋕', 1022 => '⋖', 1023 => '⋗', 1024 => '⋘', 1025 => '⋙', 1026 => '⋚', 1027 => '⋛', 1028 => '⋜', 1029 => '⋝', 1030 => '⋞', 1031 => '⋟', 1032 => '⋤', 1033 => '⋥', 1034 => '⋦', 1035 => '⋧', 1036 => '⋨', 1037 => '⋩', 1038 => '⋮', 1039 => '⋯', 1040 => '⋰', 1041 => '⋱', 1042 => '⋲', 1043 => '⋳', 1044 => '⋴', 1045 => '⋵', 1046 => '⋶', 1047 => '⋷', 1048 => '⋸', 1049 => '⋹', 1050 => '⋺', 1051 => '⋻', 1052 => '⋼', 1053 => '⋽', 1054 => '⋾', 1055 => '⋿', 1056 => '⌀', 1057 => '⌁', 1058 => '⌂', 1059 => '⌃', 1060 => '⌄', 1061 => '⌅', 1062 => '⌆', 1063 => '⌇', 1064 => '⌈', 1065 => '⌉', 1066 => '⌊', 1067 => '⌋', 1068 => '⌌', 1069 => '⌍', 1070 => '⌎', 1071 => '⌏', 1072 => '⌐', 1073 => '⌑', 1074 => '⌒', 1075 => '⌓', 1076 => '⌔', 1077 => '⌕', 1078 => '⌖', 1079 => '⌗', 1080 => '⌘', 1081 => '⌙', 1082 => '⌚', 1083 => '⌛', 1084 => '⌜', 1085 => '⌝', 1086 => '⌞', 1087 => '⌟', 1088 => '⌠', 1089 => '⌡', 1090 => '⌢', 1091 => '⌣', 1092 => '⌤', 1093 => '⌥', 1094 => '⌦', 1095 => '⌧', 1096 => '⌨', 1097 => '⌫', 1098 => '⌬', 1099 => '⌭', 1100 => '⌮', 1101 => '⌯', 1102 => '⌰', 1103 => '⌱', 1104 => '⌲', 1105 => '⌳', 1106 => '⌴', 1107 => '⌵', 1108 => '⌶', 1109 => '⌷', 1110 => '⌸', 1111 => '⌹', 1112 => '⌺', 1113 => '⌻', 1114 => '⌼', 1115 => '⌽', 1116 => '⌾', 1117 => '⌿', 1118 => '⍀', 1119 => '⍁', 1120 => '⍂', 1121 => '⍃', 1122 => '⍄', 1123 => '⍅', 1124 => '⍆', 1125 => '⍇', 1126 => '⍈', 1127 => '⍉', 1128 => '⍊', 1129 => '⍋', 1130 => '⍌', 1131 => '⍍', 1132 => '⍎', 1133 => '⍏', 1134 => '⍐', 1135 => '⍑', 1136 => '⍒', 1137 => '⍓', 1138 => '⍔', 1139 => '⍕', 1140 => '⍖', 1141 => '⍗', 1142 => '⍘', 1143 => '⍙', 1144 => '⍚', 1145 => '⍛', 1146 => '⍜', 1147 => '⍝', 1148 => '⍞', 1149 => '⍟', 1150 => '⍠', 1151 => '⍡', 1152 => '⍢', 1153 => '⍣', 1154 => '⍤', 1155 => '⍥', 1156 => '⍦', 1157 => '⍧', 1158 => '⍨', 1159 => '⍩', 1160 => '⍪', 1161 => '⍫', 1162 => '⍬', 1163 => '⍭', 1164 => '⍮', 1165 => '⍯', 1166 => '⍰', 1167 => '⍱', 1168 => '⍲', 1169 => '⍳', 1170 => '⍴', 1171 => '⍵', 1172 => '⍶', 1173 => '⍷', 1174 => '⍸', 1175 => '⍹', 1176 => '⍺', 1177 => '⍻', 1178 => '⍼', 1179 => '⍽', 1180 => '⍾', 1181 => '⍿', 1182 => '⎀', 1183 => '⎁', 1184 => '⎂', 1185 => '⎃', 1186 => '⎄', 1187 => '⎅', 1188 => '⎆', 1189 => '⎇', 1190 => '⎈', 1191 => '⎉', 1192 => '⎊', 1193 => '⎋', 1194 => '⎌', 1195 => '⎍', 1196 => '⎎', 1197 => '⎏', 1198 => '⎐', 1199 => '⎑', 1200 => '⎒', 1201 => '⎓', 1202 => '⎔', 1203 => '⎕', 1204 => '⎖', 1205 => '⎗', 1206 => '⎘', 1207 => '⎙', 1208 => '⎚', 1209 => '⎛', 1210 => '⎜', 1211 => '⎝', 1212 => '⎞', 1213 => '⎟', 1214 => '⎠', 1215 => '⎡', 1216 => '⎢', 1217 => '⎣', 1218 => '⎤', 1219 => '⎥', 1220 => '⎦', 1221 => '⎧', 1222 => '⎨', 1223 => '⎩', 1224 => '⎪', 1225 => '⎫', 1226 => '⎬', 1227 => '⎭', 1228 => '⎮', 1229 => '⎯', 1230 => '⎰', 1231 => '⎱', 1232 => '⎲', 1233 => '⎳', 1234 => '⎴', 1235 => '⎵', 1236 => '⎶', 1237 => '⎷', 1238 => '⎸', 1239 => '⎹', 1240 => '⎺', 1241 => '⎻', 1242 => '⎼', 1243 => '⎽', 1244 => '⎾', 1245 => '⎿', 1246 => '⏀', 1247 => '⏁', 1248 => '⏂', 1249 => '⏃', 1250 => '⏄', 1251 => '⏅', 1252 => '⏆', 1253 => '⏇', 1254 => '⏈', 1255 => '⏉', 1256 => '⏊', 1257 => '⏋', 1258 => '⏌', 1259 => '⏍', 1260 => '⏎', 1261 => '⏏', 1262 => '⏐', 1263 => '⏑', 1264 => '⏒', 1265 => '⏓', 1266 => '⏔', 1267 => '⏕', 1268 => '⏖', 1269 => '⏗', 1270 => '⏘', 1271 => '⏙', 1272 => '⏚', 1273 => '⏛', 1274 => '⏜', 1275 => '⏝', 1276 => '⏞', 1277 => '⏟', 1278 => '⏠', 1279 => '⏡', 1280 => '⏢', 1281 => '⏣', 1282 => '⏤', 1283 => '⏥', 1284 => '⏦', 1285 => '⏧', 1286 => '⏨', 1287 => '⏩', 1288 => '⏪', 1289 => '⏫', 1290 => '⏬', 1291 => '⏭', 1292 => '⏮', 1293 => '⏯', 1294 => '⏰', 1295 => '⏱', 1296 => '⏲', 1297 => '⏳', 1298 => '␀', 1299 => '␁', 1300 => '␂', 1301 => '␃', 1302 => '␄', 1303 => '␅', 1304 => '␆', 1305 => '␇', 1306 => '␈', 1307 => '␉', 1308 => '␊', 1309 => '␋', 1310 => '␌', 1311 => '␍', 1312 => '␎', 1313 => '␏', 1314 => '␐', 1315 => '␑', 1316 => '␒', 1317 => '␓', 1318 => '␔', 1319 => '␕', 1320 => '␖', 1321 => '␗', 1322 => '␘', 1323 => '␙', 1324 => '␚', 1325 => '␛', 1326 => '␜', 1327 => '␝', 1328 => '␞', 1329 => '␟', 1330 => '␠', 1331 => '␡', 1332 => '␢', 1333 => '␣', 1334 => '␤', 1335 => '␥', 1336 => '␦', 1337 => '⑀', 1338 => '⑁', 1339 => '⑂', 1340 => '⑃', 1341 => '⑄', 1342 => '⑅', 1343 => '⑆', 1344 => '⑇', 1345 => '⑈', 1346 => '⑉', 1347 => '⑊', 1348 => '─', 1349 => '━', 1350 => '│', 1351 => '┃', 1352 => '┄', 1353 => '┅', 1354 => '┆', 1355 => '┇', 1356 => '┈', 1357 => '┉', 1358 => '┊', 1359 => '┋', 1360 => '┌', 1361 => '┍', 1362 => '┎', 1363 => '┏', 1364 => '┐', 1365 => '┑', 1366 => '┒', 1367 => '┓', 1368 => '└', 1369 => '┕', 1370 => '┖', 1371 => '┗', 1372 => '┘', 1373 => '┙', 1374 => '┚', 1375 => '┛', 1376 => '├', 1377 => '┝', 1378 => '┞', 1379 => '┟', 1380 => '┠', 1381 => '┡', 1382 => '┢', 1383 => '┣', 1384 => '┤', 1385 => '┥', 1386 => '┦', 1387 => '┧', 1388 => '┨', 1389 => '┩', 1390 => '┪', 1391 => '┫', 1392 => '┬', 1393 => '┭', 1394 => '┮', 1395 => '┯', 1396 => '┰', 1397 => '┱', 1398 => '┲', 1399 => '┳', 1400 => '┴', 1401 => '┵', 1402 => '┶', 1403 => '┷', 1404 => '┸', 1405 => '┹', 1406 => '┺', 1407 => '┻', 1408 => '┼', 1409 => '┽', 1410 => '┾', 1411 => '┿', 1412 => '╀', 1413 => '╁', 1414 => '╂', 1415 => '╃', 1416 => '╄', 1417 => '╅', 1418 => '╆', 1419 => '╇', 1420 => '╈', 1421 => '╉', 1422 => '╊', 1423 => '╋', 1424 => '╌', 1425 => '╍', 1426 => '╎', 1427 => '╏', 1428 => '═', 1429 => '║', 1430 => '╒', 1431 => '╓', 1432 => '╔', 1433 => '╕', 1434 => '╖', 1435 => '╗', 1436 => '╘', 1437 => '╙', 1438 => '╚', 1439 => '╛', 1440 => '╜', 1441 => '╝', 1442 => '╞', 1443 => '╟', 1444 => '╠', 1445 => '╡', 1446 => '╢', 1447 => '╣', 1448 => '╤', 1449 => '╥', 1450 => '╦', 1451 => '╧', 1452 => '╨', 1453 => '╩', 1454 => '╪', 1455 => '╫', 1456 => '╬', 1457 => '╭', 1458 => '╮', 1459 => '╯', 1460 => '╰', 1461 => '╱', 1462 => '╲', 1463 => '╳', 1464 => '╴', 1465 => '╵', 1466 => '╶', 1467 => '╷', 1468 => '╸', 1469 => '╹', 1470 => '╺', 1471 => '╻', 1472 => '╼', 1473 => '╽', 1474 => '╾', 1475 => '╿', 1476 => '▀', 1477 => '▁', 1478 => '▂', 1479 => '▃', 1480 => '▄', 1481 => '▅', 1482 => '▆', 1483 => '▇', 1484 => '█', 1485 => '▉', 1486 => '▊', 1487 => '▋', 1488 => '▌', 1489 => '▍', 1490 => '▎', 1491 => '▏', 1492 => '▐', 1493 => '░', 1494 => '▒', 1495 => '▓', 1496 => '▔', 1497 => '▕', 1498 => '▖', 1499 => '▗', 1500 => '▘', 1501 => '▙', 1502 => '▚', 1503 => '▛', 1504 => '▜', 1505 => '▝', 1506 => '▞', 1507 => '▟', 1508 => '■', 1509 => '□', 1510 => '▢', 1511 => '▣', 1512 => '▤', 1513 => '▥', 1514 => '▦', 1515 => '▧', 1516 => '▨', 1517 => '▩', 1518 => '▪', 1519 => '▫', 1520 => '▬', 1521 => '▭', 1522 => '▮', 1523 => '▯', 1524 => '▰', 1525 => '▱', 1526 => '▲', 1527 => '△', 1528 => '▴', 1529 => '▵', 1530 => '▶', 1531 => '▷', 1532 => '▸', 1533 => '▹', 1534 => '►', 1535 => '▻', 1536 => '▼', 1537 => '▽', 1538 => '▾', 1539 => '▿', 1540 => '◀', 1541 => '◁', 1542 => '◂', 1543 => '◃', 1544 => '◄', 1545 => '◅', 1546 => '◆', 1547 => '◇', 1548 => '◈', 1549 => '◉', 1550 => '◊', 1551 => '○', 1552 => '◌', 1553 => '◍', 1554 => '◎', 1555 => '●', 1556 => '◐', 1557 => '◑', 1558 => '◒', 1559 => '◓', 1560 => '◔', 1561 => '◕', 1562 => '◖', 1563 => '◗', 1564 => '◘', 1565 => '◙', 1566 => '◚', 1567 => '◛', 1568 => '◜', 1569 => '◝', 1570 => '◞', 1571 => '◟', 1572 => '◠', 1573 => '◡', 1574 => '◢', 1575 => '◣', 1576 => '◤', 1577 => '◥', 1578 => '◦', 1579 => '◧', 1580 => '◨', 1581 => '◩', 1582 => '◪', 1583 => '◫', 1584 => '◬', 1585 => '◭', 1586 => '◮', 1587 => '◯', 1588 => '◰', 1589 => '◱', 1590 => '◲', 1591 => '◳', 1592 => '◴', 1593 => '◵', 1594 => '◶', 1595 => '◷', 1596 => '◸', 1597 => '◹', 1598 => '◺', 1599 => '◻', 1600 => '◼', 1601 => '◽', 1602 => '◾', 1603 => '◿', 1604 => '☀', 1605 => '☁', 1606 => '☂', 1607 => '☃', 1608 => '☄', 1609 => '★', 1610 => '☆', 1611 => '☇', 1612 => '☈', 1613 => '☉', 1614 => '☊', 1615 => '☋', 1616 => '☌', 1617 => '☍', 1618 => '☎', 1619 => '☏', 1620 => '☐', 1621 => '☑', 1622 => '☒', 1623 => '☓', 1624 => '☔', 1625 => '☕', 1626 => '☖', 1627 => '☗', 1628 => '☘', 1629 => '☙', 1630 => '☚', 1631 => '☛', 1632 => '☜', 1633 => '☝', 1634 => '☞', 1635 => '☟', 1636 => '☠', 1637 => '☡', 1638 => '☢', 1639 => '☣', 1640 => '☤', 1641 => '☥', 1642 => '☦', 1643 => '☧', 1644 => '☨', 1645 => '☩', 1646 => '☪', 1647 => '☫', 1648 => '☬', 1649 => '☭', 1650 => '☮', 1651 => '☯', 1652 => '☸', 1653 => '☹', 1654 => '☺', 1655 => '☻', 1656 => '☼', 1657 => '☽', 1658 => '☾', 1659 => '☿', 1660 => '♀', 1661 => '♁', 1662 => '♂', 1663 => '♃', 1664 => '♄', 1665 => '♅', 1666 => '♆', 1667 => '♇', 1668 => '♈', 1669 => '♉', 1670 => '♊', 1671 => '♋', 1672 => '♌', 1673 => '♍', 1674 => '♎', 1675 => '♏', 1676 => '♐', 1677 => '♑', 1678 => '♒', 1679 => '♓', 1680 => '♔', 1681 => '♕', 1682 => '♖', 1683 => '♗', 1684 => '♘', 1685 => '♙', 1686 => '♚', 1687 => '♛', 1688 => '♜', 1689 => '♝', 1690 => '♞', 1691 => '♟', 1692 => '♠', 1693 => '♡', 1694 => '♢', 1695 => '♣', 1696 => '♤', 1697 => '♥', 1698 => '♦', 1699 => '♧', 1700 => '♨', 1701 => '♩', 1702 => '♪', 1703 => '♫', 1704 => '♬', 1705 => '♰', 1706 => '♱', 1707 => '♲', 1708 => '♳', 1709 => '♴', 1710 => '♵', 1711 => '♶', 1712 => '♷', 1713 => '♸', 1714 => '♹', 1715 => '♺', 1716 => '♻', 1717 => '♼', 1718 => '♽', 1719 => '♾', 1720 => '♿', 1721 => '⚀', 1722 => '⚁', 1723 => '⚂', 1724 => '⚃', 1725 => '⚄', 1726 => '⚅', 1727 => '⚆', 1728 => '⚇', 1729 => '⚈', 1730 => '⚉', 1731 => '⚐', 1732 => '⚑', 1733 => '⚒', 1734 => '⚓', 1735 => '⚔', 1736 => '⚕', 1737 => '⚖', 1738 => '⚗', 1739 => '⚘', 1740 => '⚙', 1741 => '⚚', 1742 => '⚛', 1743 => '⚜', 1744 => '⚝', 1745 => '⚞', 1746 => '⚟', 1747 => '⚠', 1748 => '⚡', 1749 => '⚢', 1750 => '⚣', 1751 => '⚤', 1752 => '⚥', 1753 => '⚦', 1754 => '⚧', 1755 => '⚨', 1756 => '⚩', 1757 => '⚪', 1758 => '⚫', 1759 => '⚬', 1760 => '⚭', 1761 => '⚮', 1762 => '⚯', 1763 => '⚰', 1764 => '⚱', 1765 => '⚲', 1766 => '⚳', 1767 => '⚴', 1768 => '⚵', 1769 => '⚶', 1770 => '⚷', 1771 => '⚸', 1772 => '⚹', 1773 => '⚺', 1774 => '⚻', 1775 => '⚼', 1776 => '⚽', 1777 => '⚾', 1778 => '⚿', 1779 => '⛀', 1780 => '⛁', 1781 => '⛂', 1782 => '⛃', 1783 => '⛄', 1784 => '⛅', 1785 => '⛆', 1786 => '⛇', 1787 => '⛈', 1788 => '⛉', 1789 => '⛊', 1790 => '⛋', 1791 => '⛌', 1792 => '⛍', 1793 => '⛎', 1794 => '⛏', 1795 => '⛐', 1796 => '⛑', 1797 => '⛒', 1798 => '⛓', 1799 => '⛔', 1800 => '⛕', 1801 => '⛖', 1802 => '⛗', 1803 => '⛘', 1804 => '⛙', 1805 => '⛚', 1806 => '⛛', 1807 => '⛜', 1808 => '⛝', 1809 => '⛞', 1810 => '⛟', 1811 => '⛠', 1812 => '⛡', 1813 => '⛢', 1814 => '⛣', 1815 => '⛤', 1816 => '⛥', 1817 => '⛦', 1818 => '⛧', 1819 => '⛨', 1820 => '⛩', 1821 => '⛪', 1822 => '⛫', 1823 => '⛬', 1824 => '⛭', 1825 => '⛮', 1826 => '⛯', 1827 => '⛰', 1828 => '⛱', 1829 => '⛲', 1830 => '⛳', 1831 => '⛴', 1832 => '⛵', 1833 => '⛶', 1834 => '⛷', 1835 => '⛸', 1836 => '⛹', 1837 => '⛺', 1838 => '⛻', 1839 => '⛼', 1840 => '⛽', 1841 => '⛾', 1842 => '⛿', 1843 => '✁', 1844 => '✂', 1845 => '✃', 1846 => '✄', 1847 => '✅', 1848 => '✆', 1849 => '✇', 1850 => '✈', 1851 => '✉', 1852 => '✊', 1853 => '✋', 1854 => '✌', 1855 => '✍', 1856 => '✎', 1857 => '✏', 1858 => '✐', 1859 => '✑', 1860 => '✒', 1861 => '✓', 1862 => '✔', 1863 => '✕', 1864 => '✖', 1865 => '✗', 1866 => '✘', 1867 => '✙', 1868 => '✚', 1869 => '✛', 1870 => '✜', 1871 => '✝', 1872 => '✞', 1873 => '✟', 1874 => '✠', 1875 => '✡', 1876 => '✢', 1877 => '✣', 1878 => '✤', 1879 => '✥', 1880 => '✦', 1881 => '✧', 1882 => '✨', 1883 => '✩', 1884 => '✪', 1885 => '✫', 1886 => '✬', 1887 => '✭', 1888 => '✮', 1889 => '✯', 1890 => '✰', 1891 => '✱', 1892 => '✲', 1893 => '✳', 1894 => '✴', 1895 => '✵', 1896 => '✶', 1897 => '✷', 1898 => '✸', 1899 => '✹', 1900 => '✺', 1901 => '✻', 1902 => '✼', 1903 => '✽', 1904 => '✾', 1905 => '✿', 1906 => '❀', 1907 => '❁', 1908 => '❂', 1909 => '❃', 1910 => '❄', 1911 => '❅', 1912 => '❆', 1913 => '❇', 1914 => '❈', 1915 => '❉', 1916 => '❊', 1917 => '❋', 1918 => '❌', 1919 => '❍', 1920 => '❎', 1921 => '❏', 1922 => '❐', 1923 => '❑', 1924 => '❒', 1925 => '❓', 1926 => '❔', 1927 => '❕', 1928 => '❖', 1929 => '❗', 1930 => '❘', 1931 => '❙', 1932 => '❚', 1933 => '❛', 1934 => '❜', 1935 => '❝', 1936 => '❞', 1937 => '❟', 1938 => '❠', 1939 => '❡', 1940 => '❢', 1941 => '❣', 1942 => '❤', 1943 => '❥', 1944 => '❦', 1945 => '❧', 1946 => '❨', 1947 => '❩', 1948 => '❪', 1949 => '❫', 1950 => '❬', 1951 => '❭', 1952 => '❮', 1953 => '❯', 1954 => '❰', 1955 => '❱', 1956 => '❲', 1957 => '❳', 1958 => '❴', 1959 => '❵', 1960 => '➔', 1961 => '➕', 1962 => '➖', 1963 => '➗', 1964 => '➘', 1965 => '➙', 1966 => '➚', 1967 => '➛', 1968 => '➜', 1969 => '➝', 1970 => '➞', 1971 => '➟', 1972 => '➠', 1973 => '➡', 1974 => '➢', 1975 => '➣', 1976 => '➤', 1977 => '➥', 1978 => '➦', 1979 => '➧', 1980 => '➨', 1981 => '➩', 1982 => '➪', 1983 => '➫', 1984 => '➬', 1985 => '➭', 1986 => '➮', 1987 => '➯', 1988 => '➰', 1989 => '➱', 1990 => '➲', 1991 => '➳', 1992 => '➴', 1993 => '➵', 1994 => '➶', 1995 => '➷', 1996 => '➸', 1997 => '➹', 1998 => '➺', 1999 => '➻', 2000 => '➼', 2001 => '➽', 2002 => '➾', 2003 => '➿', 2004 => '⟀', 2005 => '⟁', 2006 => '⟂', 2007 => '⟃', 2008 => '⟄', 2009 => '⟅', 2010 => '⟆', 2011 => '⟇', 2012 => '⟈', 2013 => '⟉', 2014 => '⟊', 2015 => '⟌', 2016 => '⟎', 2017 => '⟏', 2018 => '⟐', 2019 => '⟑', 2020 => '⟒', 2021 => '⟓', 2022 => '⟔', 2023 => '⟕', 2024 => '⟖', 2025 => '⟗', 2026 => '⟘', 2027 => '⟙', 2028 => '⟚', 2029 => '⟛', 2030 => '⟜', 2031 => '⟝', 2032 => '⟞', 2033 => '⟟', 2034 => '⟠', 2035 => '⟡', 2036 => '⟢', 2037 => '⟣', 2038 => '⟤', 2039 => '⟥', 2040 => '⟦', 2041 => '⟧', 2042 => '⟨', 2043 => '⟩', 2044 => '⟪', 2045 => '⟫', 2046 => '⟰', 2047 => '⟱', 2048 => '⟲', 2049 => '⟳', 2050 => '⟴', 2051 => '⟵', 2052 => '⟶', 2053 => '⟷', 2054 => '⟸', 2055 => '⟹', 2056 => '⟺', 2057 => '⟻', 2058 => '⟼', 2059 => '⟽', 2060 => '⟾', 2061 => '⟿', 2062 => '⤀', 2063 => '⤁', 2064 => '⤂', 2065 => '⤃', 2066 => '⤄', 2067 => '⤅', 2068 => '⤆', 2069 => '⤇', 2070 => '⤈', 2071 => '⤉', 2072 => '⤊', 2073 => '⤋', 2074 => '⤌', 2075 => '⤍', 2076 => '⤎', 2077 => '⤏', 2078 => '⤐', 2079 => '⤑', 2080 => '⤒', 2081 => '⤓', 2082 => '⤔', 2083 => '⤕', 2084 => '⤖', 2085 => '⤗', 2086 => '⤘', 2087 => '⤙', 2088 => '⤚', 2089 => '⤛', 2090 => '⤜', 2091 => '⤝', 2092 => '⤞', 2093 => '⤟', 2094 => '⤠', 2095 => '⤡', 2096 => '⤢', 2097 => '⤣', 2098 => '⤤', 2099 => '⤥', 2100 => '⤦', 2101 => '⤧', 2102 => '⤨', 2103 => '⤩', 2104 => '⤪', 2105 => '⤫', 2106 => '⤬', 2107 => '⤭', 2108 => '⤮', 2109 => '⤯', 2110 => '⤰', 2111 => '⤱', 2112 => '⤲', 2113 => '⤳', 2114 => '⤴', 2115 => '⤵', 2116 => '⤶', 2117 => '⤷', 2118 => '⤸', 2119 => '⤹', 2120 => '⤺', 2121 => '⤻', 2122 => '⤼', 2123 => '⤽', 2124 => '⤾', 2125 => '⤿', 2126 => '⥀', 2127 => '⥁', 2128 => '⥂', 2129 => '⥃', 2130 => '⥄', 2131 => '⥅', 2132 => '⥆', 2133 => '⥇', 2134 => '⥈', 2135 => '⥉', 2136 => '⥊', 2137 => '⥋', 2138 => '⥌', 2139 => '⥍', 2140 => '⥎', 2141 => '⥏', 2142 => '⥐', 2143 => '⥑', 2144 => '⥒', 2145 => '⥓', 2146 => '⥔', 2147 => '⥕', 2148 => '⥖', 2149 => '⥗', 2150 => '⥘', 2151 => '⥙', 2152 => '⥚', 2153 => '⥛', 2154 => '⥜', 2155 => '⥝', 2156 => '⥞', 2157 => '⥟', 2158 => '⥠', 2159 => '⥡', 2160 => '⥢', 2161 => '⥣', 2162 => '⥤', 2163 => '⥥', 2164 => '⥦', 2165 => '⥧', 2166 => '⥨', 2167 => '⥩', 2168 => '⥪', 2169 => '⥫', 2170 => '⥬', 2171 => '⥭', 2172 => '⥮', 2173 => '⥯', 2174 => '⥰', 2175 => '⥱', 2176 => '⥲', 2177 => '⥳', 2178 => '⥴', 2179 => '⥵', 2180 => '⥶', 2181 => '⥷', 2182 => '⥸', 2183 => '⥹', 2184 => '⥺', 2185 => '⥻', 2186 => '⥼', 2187 => '⥽', 2188 => '⥾', 2189 => '⥿', 2190 => '⦀', 2191 => '⦁', 2192 => '⦂', 2193 => '⦙', 2194 => '⦚', 2195 => '⦛', 2196 => '⦜', 2197 => '⦝', 2198 => '⦞', 2199 => '⦟', 2200 => '⦠', 2201 => '⦡', 2202 => '⦢', 2203 => '⦣', 2204 => '⦤', 2205 => '⦥', 2206 => '⦦', 2207 => '⦧', 2208 => '⦨', 2209 => '⦩', 2210 => '⦪', 2211 => '⦫', 2212 => '⦬', 2213 => '⦭', 2214 => '⦮', 2215 => '⦯', 2216 => '⦰', 2217 => '⦱', 2218 => '⦲', 2219 => '⦳', 2220 => '⦴', 2221 => '⦵', 2222 => '⦶', 2223 => '⦷', 2224 => '⦸', 2225 => '⦹', 2226 => '⦺', 2227 => '⦻', 2228 => '⦼', 2229 => '⦽', 2230 => '⦾', 2231 => '⦿', 2232 => '⧀', 2233 => '⧁', 2234 => '⧂', 2235 => '⧃', 2236 => '⧄', 2237 => '⧅', 2238 => '⧆', 2239 => '⧇', 2240 => '⧈', 2241 => '⧉', 2242 => '⧊', 2243 => '⧋', 2244 => '⧌', 2245 => '⧍', 2246 => '⧎', 2247 => '⧏', 2248 => '⧐', 2249 => '⧑', 2250 => '⧒', 2251 => '⧓', 2252 => '⧔', 2253 => '⧕', 2254 => '⧖', 2255 => '⧗', 2256 => '⧘', 2257 => '⧙', 2258 => '⧚', 2259 => '⧛', 2260 => '⧜', 2261 => '⧝', 2262 => '⧞', 2263 => '⧟', 2264 => '⧠', 2265 => '⧡', 2266 => '⧢', 2267 => '⧣', 2268 => '⧤', 2269 => '⧥', 2270 => '⧦', 2271 => '⧧', 2272 => '⧨', 2273 => '⧩', 2274 => '⧪', 2275 => '⧫', 2276 => '⧬', 2277 => '⧭', 2278 => '⧮', 2279 => '⧯', 2280 => '⧰', 2281 => '⧱', 2282 => '⧲', 2283 => '⧳', 2284 => '⧴', 2285 => '⧵', 2286 => '⧶', 2287 => '⧷', 2288 => '⧸', 2289 => '⧹', 2290 => '⧺', 2291 => '⧻', 2292 => '⧾', 2293 => '⧿', 2294 => '⨀', 2295 => '⨁', 2296 => '⨂', 2297 => '⨃', 2298 => '⨄', 2299 => '⨅', 2300 => '⨆', 2301 => '⨇', 2302 => '⨈', 2303 => '⨉', 2304 => '⨊', 2305 => '⨋', 2306 => '⨍', 2307 => '⨎', 2308 => '⨏', 2309 => '⨐', 2310 => '⨑', 2311 => '⨒', 2312 => '⨓', 2313 => '⨔', 2314 => '⨕', 2315 => '⨖', 2316 => '⨗', 2317 => '⨘', 2318 => '⨙', 2319 => '⨚', 2320 => '⨛', 2321 => '⨜', 2322 => '⨝', 2323 => '⨞', 2324 => '⨟', 2325 => '⨠', 2326 => '⨡', 2327 => '⨢', 2328 => '⨣', 2329 => '⨤', 2330 => '⨥', 2331 => '⨦', 2332 => '⨧', 2333 => '⨨', 2334 => '⨩', 2335 => '⨪', 2336 => '⨫', 2337 => '⨬', 2338 => '⨭', 2339 => '⨮', 2340 => '⨯', 2341 => '⨰', 2342 => '⨱', 2343 => '⨲', 2344 => '⨳', 2345 => '⨴', 2346 => '⨵', 2347 => '⨶', 2348 => '⨷', 2349 => '⨸', 2350 => '⨹', 2351 => '⨺', 2352 => '⨻', 2353 => '⨼', 2354 => '⨽', 2355 => '⨾', 2356 => '⨿', 2357 => '⩀', 2358 => '⩁', 2359 => '⩂', 2360 => '⩃', 2361 => '⩄', 2362 => '⩅', 2363 => '⩆', 2364 => '⩇', 2365 => '⩈', 2366 => '⩉', 2367 => '⩊', 2368 => '⩋', 2369 => '⩌', 2370 => '⩍', 2371 => '⩎', 2372 => '⩏', 2373 => '⩐', 2374 => '⩑', 2375 => '⩒', 2376 => '⩓', 2377 => '⩔', 2378 => '⩕', 2379 => '⩖', 2380 => '⩗', 2381 => '⩘', 2382 => '⩙', 2383 => '⩚', 2384 => '⩛', 2385 => '⩜', 2386 => '⩝', 2387 => '⩞', 2388 => '⩟', 2389 => '⩠', 2390 => '⩡', 2391 => '⩢', 2392 => '⩣', 2393 => '⩤', 2394 => '⩥', 2395 => '⩦', 2396 => '⩧', 2397 => '⩨', 2398 => '⩩', 2399 => '⩪', 2400 => '⩫', 2401 => '⩬', 2402 => '⩭', 2403 => '⩮', 2404 => '⩯', 2405 => '⩰', 2406 => '⩱', 2407 => '⩲', 2408 => '⩳', 2409 => '⩷', 2410 => '⩸', 2411 => '⩹', 2412 => '⩺', 2413 => '⩻', 2414 => '⩼', 2415 => '⩽', 2416 => '⩾', 2417 => '⩿', 2418 => '⪀', 2419 => '⪁', 2420 => '⪂', 2421 => '⪃', 2422 => '⪄', 2423 => '⪅', 2424 => '⪆', 2425 => '⪇', 2426 => '⪈', 2427 => '⪉', 2428 => '⪊', 2429 => '⪋', 2430 => '⪌', 2431 => '⪍', 2432 => '⪎', 2433 => '⪏', 2434 => '⪐', 2435 => '⪑', 2436 => '⪒', 2437 => '⪓', 2438 => '⪔', 2439 => '⪕', 2440 => '⪖', 2441 => '⪗', 2442 => '⪘', 2443 => '⪙', 2444 => '⪚', 2445 => '⪛', 2446 => '⪜', 2447 => '⪝', 2448 => '⪞', 2449 => '⪟', 2450 => '⪠', 2451 => '⪡', 2452 => '⪢', 2453 => '⪣', 2454 => '⪤', 2455 => '⪥', 2456 => '⪦', 2457 => '⪧', 2458 => '⪨', 2459 => '⪩', 2460 => '⪪', 2461 => '⪫', 2462 => '⪬', 2463 => '⪭', 2464 => '⪮', 2465 => '⪯', 2466 => '⪰', 2467 => '⪱', 2468 => '⪲', 2469 => '⪳', 2470 => '⪴', 2471 => '⪵', 2472 => '⪶', 2473 => '⪷', 2474 => '⪸', 2475 => '⪹', 2476 => '⪺', 2477 => '⪻', 2478 => '⪼', 2479 => '⪽', 2480 => '⪾', 2481 => '⪿', 2482 => '⫀', 2483 => '⫁', 2484 => '⫂', 2485 => '⫃', 2486 => '⫄', 2487 => '⫅', 2488 => '⫆', 2489 => '⫇', 2490 => '⫈', 2491 => '⫉', 2492 => '⫊', 2493 => '⫋', 2494 => '⫌', 2495 => '⫍', 2496 => '⫎', 2497 => '⫏', 2498 => '⫐', 2499 => '⫑', 2500 => '⫒', 2501 => '⫓', 2502 => '⫔', 2503 => '⫕', 2504 => '⫖', 2505 => '⫗', 2506 => '⫘', 2507 => '⫙', 2508 => '⫚', 2509 => '⫛', 2510 => '⫝', 2511 => '⫞', 2512 => '⫟', 2513 => '⫠', 2514 => '⫡', 2515 => '⫢', 2516 => '⫣', 2517 => '⫤', 2518 => '⫥', 2519 => '⫦', 2520 => '⫧', 2521 => '⫨', 2522 => '⫩', 2523 => '⫪', 2524 => '⫫', 2525 => '⫬', 2526 => '⫭', 2527 => '⫮', 2528 => '⫯', 2529 => '⫰', 2530 => '⫱', 2531 => '⫲', 2532 => '⫳', 2533 => '⫴', 2534 => '⫵', 2535 => '⫶', 2536 => '⫷', 2537 => '⫸', 2538 => '⫹', 2539 => '⫺', 2540 => '⫻', 2541 => '⫼', 2542 => '⫽', 2543 => '⫾', 2544 => '⫿', 2545 => '⬀', 2546 => '⬁', 2547 => '⬂', 2548 => '⬃', 2549 => '⬄', 2550 => '⬅', 2551 => '⬆', 2552 => '⬇', 2553 => '⬈', 2554 => '⬉', 2555 => '⬊', 2556 => '⬋', 2557 => '⬌', 2558 => '⬍', 2559 => '⬎', 2560 => '⬏', 2561 => '⬐', 2562 => '⬑', 2563 => '⬒', 2564 => '⬓', 2565 => '⬔', 2566 => '⬕', 2567 => '⬖', 2568 => '⬗', 2569 => '⬘', 2570 => '⬙', 2571 => '⬚', 2572 => '⬛', 2573 => '⬜', 2574 => '⬝', 2575 => '⬞', 2576 => '⬟', 2577 => '⬠', 2578 => '⬡', 2579 => '⬢', 2580 => '⬣', 2581 => '⬤', 2582 => '⬥', 2583 => '⬦', 2584 => '⬧', 2585 => '⬨', 2586 => '⬩', 2587 => '⬪', 2588 => '⬫', 2589 => '⬬', 2590 => '⬭', 2591 => '⬮', 2592 => '⬯', 2593 => '⬰', 2594 => '⬱', 2595 => '⬲', 2596 => '⬳', 2597 => '⬴', 2598 => '⬵', 2599 => '⬶', 2600 => '⬷', 2601 => '⬸', 2602 => '⬹', 2603 => '⬺', 2604 => '⬻', 2605 => '⬼', 2606 => '⬽', 2607 => '⬾', 2608 => '⬿', 2609 => '⭀', 2610 => '⭁', 2611 => '⭂', 2612 => '⭃', 2613 => '⭄', 2614 => '⭅', 2615 => '⭆', 2616 => '⭇', 2617 => '⭈', 2618 => '⭉', 2619 => '⭊', 2620 => '⭋', 2621 => '⭌', 2622 => '⭐', 2623 => '⭑', 2624 => '⭒', 2625 => '⭓', 2626 => '⭔', 2627 => '⭕', 2628 => '⭖', 2629 => '⭗', 2630 => '⭘', 2631 => '⭙', 2632 => '⳥', 2633 => '⳦', 2634 => '⳧', 2635 => '⳨', 2636 => '⳩', 2637 => '⳪', 2638 => '⠀', 2639 => '⠁', 2640 => '⠂', 2641 => '⠃', 2642 => '⠄', 2643 => '⠅', 2644 => '⠆', 2645 => '⠇', 2646 => '⠈', 2647 => '⠉', 2648 => '⠊', 2649 => '⠋', 2650 => '⠌', 2651 => '⠍', 2652 => '⠎', 2653 => '⠏', 2654 => '⠐', 2655 => '⠑', 2656 => '⠒', 2657 => '⠓', 2658 => '⠔', 2659 => '⠕', 2660 => '⠖', 2661 => '⠗', 2662 => '⠘', 2663 => '⠙', 2664 => '⠚', 2665 => '⠛', 2666 => '⠜', 2667 => '⠝', 2668 => '⠞', 2669 => '⠟', 2670 => '⠠', 2671 => '⠡', 2672 => '⠢', 2673 => '⠣', 2674 => '⠤', 2675 => '⠥', 2676 => '⠦', 2677 => '⠧', 2678 => '⠨', 2679 => '⠩', 2680 => '⠪', 2681 => '⠫', 2682 => '⠬', 2683 => '⠭', 2684 => '⠮', 2685 => '⠯', 2686 => '⠰', 2687 => '⠱', 2688 => '⠲', 2689 => '⠳', 2690 => '⠴', 2691 => '⠵', 2692 => '⠶', 2693 => '⠷', 2694 => '⠸', 2695 => '⠹', 2696 => '⠺', 2697 => '⠻', 2698 => '⠼', 2699 => '⠽', 2700 => '⠾', 2701 => '⠿', 2702 => '⡀', 2703 => '⡁', 2704 => '⡂', 2705 => '⡃', 2706 => '⡄', 2707 => '⡅', 2708 => '⡆', 2709 => '⡇', 2710 => '⡈', 2711 => '⡉', 2712 => '⡊', 2713 => '⡋', 2714 => '⡌', 2715 => '⡍', 2716 => '⡎', 2717 => '⡏', 2718 => '⡐', 2719 => '⡑', 2720 => '⡒', 2721 => '⡓', 2722 => '⡔', 2723 => '⡕', 2724 => '⡖', 2725 => '⡗', 2726 => '⡘', 2727 => '⡙', 2728 => '⡚', 2729 => '⡛', 2730 => '⡜', 2731 => '⡝', 2732 => '⡞', 2733 => '⡟', 2734 => '⡠', 2735 => '⡡', 2736 => '⡢', 2737 => '⡣', 2738 => '⡤', 2739 => '⡥', 2740 => '⡦', 2741 => '⡧', 2742 => '⡨', 2743 => '⡩', 2744 => '⡪', 2745 => '⡫', 2746 => '⡬', 2747 => '⡭', 2748 => '⡮', 2749 => '⡯', 2750 => '⡰', 2751 => '⡱', 2752 => '⡲', 2753 => '⡳', 2754 => '⡴', 2755 => '⡵', 2756 => '⡶', 2757 => '⡷', 2758 => '⡸', 2759 => '⡹', 2760 => '⡺', 2761 => '⡻', 2762 => '⡼', 2763 => '⡽', 2764 => '⡾', 2765 => '⡿', 2766 => '⢀', 2767 => '⢁', 2768 => '⢂', 2769 => '⢃', 2770 => '⢄', 2771 => '⢅', 2772 => '⢆', 2773 => '⢇', 2774 => '⢈', 2775 => '⢉', 2776 => '⢊', 2777 => '⢋', 2778 => '⢌', 2779 => '⢍', 2780 => '⢎', 2781 => '⢏', 2782 => '⢐', 2783 => '⢑', 2784 => '⢒', 2785 => '⢓', 2786 => '⢔', 2787 => '⢕', 2788 => '⢖', 2789 => '⢗', 2790 => '⢘', 2791 => '⢙', 2792 => '⢚', 2793 => '⢛', 2794 => '⢜', 2795 => '⢝', 2796 => '⢞', 2797 => '⢟', 2798 => '⢠', 2799 => '⢡', 2800 => '⢢', 2801 => '⢣', 2802 => '⢤', 2803 => '⢥', 2804 => '⢦', 2805 => '⢧', 2806 => '⢨', 2807 => '⢩', 2808 => '⢪', 2809 => '⢫', 2810 => '⢬', 2811 => '⢭', 2812 => '⢮', 2813 => '⢯', 2814 => '⢰', 2815 => '⢱', 2816 => '⢲', 2817 => '⢳', 2818 => '⢴', 2819 => '⢵', 2820 => '⢶', 2821 => '⢷', 2822 => '⢸', 2823 => '⢹', 2824 => '⢺', 2825 => '⢻', 2826 => '⢼', 2827 => '⢽', 2828 => '⢾', 2829 => '⢿', 2830 => '⣀', 2831 => '⣁', 2832 => '⣂', 2833 => '⣃', 2834 => '⣄', 2835 => '⣅', 2836 => '⣆', 2837 => '⣇', 2838 => '⣈', 2839 => '⣉', 2840 => '⣊', 2841 => '⣋', 2842 => '⣌', 2843 => '⣍', 2844 => '⣎', 2845 => '⣏', 2846 => '⣐', 2847 => '⣑', 2848 => '⣒', 2849 => '⣓', 2850 => '⣔', 2851 => '⣕', 2852 => '⣖', 2853 => '⣗', 2854 => '⣘', 2855 => '⣙', 2856 => '⣚', 2857 => '⣛', 2858 => '⣜', 2859 => '⣝', 2860 => '⣞', 2861 => '⣟', 2862 => '⣠', 2863 => '⣡', 2864 => '⣢', 2865 => '⣣', 2866 => '⣤', 2867 => '⣥', 2868 => '⣦', 2869 => '⣧', 2870 => '⣨', 2871 => '⣩', 2872 => '⣪', 2873 => '⣫', 2874 => '⣬', 2875 => '⣭', 2876 => '⣮', 2877 => '⣯', 2878 => '⣰', 2879 => '⣱', 2880 => '⣲', 2881 => '⣳', 2882 => '⣴', 2883 => '⣵', 2884 => '⣶', 2885 => '⣷', 2886 => '⣸', 2887 => '⣹', 2888 => '⣺', 2889 => '⣻', 2890 => '⣼', 2891 => '⣽', 2892 => '⣾', 2893 => '⣿', 2894 => '⚊', 2895 => '⚋', 2896 => '⚌', 2897 => '⚍', 2898 => '⚎', 2899 => '⚏', 2900 => '☰', 2901 => '☱', 2902 => '☲', 2903 => '☳', 2904 => '☴', 2905 => '☵', 2906 => '☶', 2907 => '☷', 2908 => '䷀', 2909 => '䷁', 2910 => '䷂', 2911 => '䷃', 2912 => '䷄', 2913 => '䷅', 2914 => '䷆', 2915 => '䷇', 2916 => '䷈', 2917 => '䷉', 2918 => '䷊', 2919 => '䷋', 2920 => '䷌', 2921 => '䷍', 2922 => '䷎', 2923 => '䷏', 2924 => '䷐', 2925 => '䷑', 2926 => '䷒', 2927 => '䷓', 2928 => '䷔', 2929 => '䷕', 2930 => '䷖', 2931 => '䷗', 2932 => '䷘', 2933 => '䷙', 2934 => '䷚', 2935 => '䷛', 2936 => '䷜', 2937 => '䷝', 2938 => '䷞', 2939 => '䷟', 2940 => '䷠', 2941 => '䷡', 2942 => '䷢', 2943 => '䷣', 2944 => '䷤', 2945 => '䷥', 2946 => '䷦', 2947 => '䷧', 2948 => '䷨', 2949 => '䷩', 2950 => '䷪', 2951 => '䷫', 2952 => '䷬', 2953 => '䷭', 2954 => '䷮', 2955 => '䷯', 2956 => '䷰', 2957 => '䷱', 2958 => '䷲', 2959 => '䷳', 2960 => '䷴', 2961 => '䷵', 2962 => '䷶', 2963 => '䷷', 2964 => '䷸', 2965 => '䷹', 2966 => '䷺', 2967 => '䷻', 2968 => '䷼', 2969 => '䷽', 2970 => '䷾', 2971 => '䷿', 2972 => '𝌀', 2973 => '𝌁', 2974 => '𝌂', 2975 => '𝌃', 2976 => '𝌄', 2977 => '𝌅', 2978 => '𝌆', 2979 => '𝌇', 2980 => '𝌈', 2981 => '𝌉', 2982 => '𝌊', 2983 => '𝌋', 2984 => '𝌌', 2985 => '𝌍', 2986 => '𝌎', 2987 => '𝌏', 2988 => '𝌐', 2989 => '𝌑', 2990 => '𝌒', 2991 => '𝌓', 2992 => '𝌔', 2993 => '𝌕', 2994 => '𝌖', 2995 => '𝌗', 2996 => '𝌘', 2997 => '𝌙', 2998 => '𝌚', 2999 => '𝌛', 3000 => '𝌜', 3001 => '𝌝', 3002 => '𝌞', 3003 => '𝌟', 3004 => '𝌠', 3005 => '𝌡', 3006 => '𝌢', 3007 => '𝌣', 3008 => '𝌤', 3009 => '𝌥', 3010 => '𝌦', 3011 => '𝌧', 3012 => '𝌨', 3013 => '𝌩', 3014 => '𝌪', 3015 => '𝌫', 3016 => '𝌬', 3017 => '𝌭', 3018 => '𝌮', 3019 => '𝌯', 3020 => '𝌰', 3021 => '𝌱', 3022 => '𝌲', 3023 => '𝌳', 3024 => '𝌴', 3025 => '𝌵', 3026 => '𝌶', 3027 => '𝌷', 3028 => '𝌸', 3029 => '𝌹', 3030 => '𝌺', 3031 => '𝌻', 3032 => '𝌼', 3033 => '𝌽', 3034 => '𝌾', 3035 => '𝌿', 3036 => '𝍀', 3037 => '𝍁', 3038 => '𝍂', 3039 => '𝍃', 3040 => '𝍄', 3041 => '𝍅', 3042 => '𝍆', 3043 => '𝍇', 3044 => '𝍈', 3045 => '𝍉', 3046 => '𝍊', 3047 => '𝍋', 3048 => '𝍌', 3049 => '𝍍', 3050 => '𝍎', 3051 => '𝍏', 3052 => '𝍐', 3053 => '𝍑', 3054 => '𝍒', 3055 => '𝍓', 3056 => '𝍔', 3057 => '𝍕', 3058 => '𝍖', 3059 => '꒐', 3060 => '꒑', 3061 => '꒒', 3062 => '꒓', 3063 => '꒔', 3064 => '꒕', 3065 => '꒖', 3066 => '꒗', 3067 => '꒘', 3068 => '꒙', 3069 => '꒚', 3070 => '꒛', 3071 => '꒜', 3072 => '꒝', 3073 => '꒞', 3074 => '꒟', 3075 => '꒠', 3076 => '꒡', 3077 => '꒢', 3078 => '꒣', 3079 => '꒤', 3080 => '꒥', 3081 => '꒦', 3082 => '꒧', 3083 => '꒨', 3084 => '꒩', 3085 => '꒪', 3086 => '꒫', 3087 => '꒬', 3088 => '꒭', 3089 => '꒮', 3090 => '꒯', 3091 => '꒰', 3092 => '꒱', 3093 => '꒲', 3094 => '꒳', 3095 => '꒴', 3096 => '꒵', 3097 => '꒶', 3098 => '꒷', 3099 => '꒸', 3100 => '꒹', 3101 => '꒺', 3102 => '꒻', 3103 => '꒼', 3104 => '꒽', 3105 => '꒾', 3106 => '꒿', 3107 => '꓀', 3108 => '꓁', 3109 => '꓂', 3110 => '꓃', 3111 => '꓄', 3112 => '꓅', 3113 => '꓆', 3114 => '𐄷', 3115 => '𐄸', 3116 => '𐄹', 3117 => '𐄺', 3118 => '𐄻', 3119 => '𐄼', 3120 => '𐄽', 3121 => '𐄾', 3122 => '𐄿', 3123 => '𐅹', 3124 => '𐅺', 3125 => '𐅻', 3126 => '𐅼', 3127 => '𐅽', 3128 => '𐅾', 3129 => '𐅿', 3130 => '𐆀', 3131 => '𐆁', 3132 => '𐆂', 3133 => '𐆃', 3134 => '𐆄', 3135 => '𐆅', 3136 => '𐆆', 3137 => '𐆇', 3138 => '𐆈', 3139 => '𐆉', 3140 => '𐆐', 3141 => '𐆑', 3142 => '𐆒', 3143 => '𐆓', 3144 => '𐆔', 3145 => '𐆕', 3146 => '𐆖', 3147 => '𐆗', 3148 => '𐆘', 3149 => '𐆙', 3150 => '𐆚', 3151 => '𐆛', 3152 => '𐇐', 3153 => '𐇑', 3154 => '𐇒', 3155 => '𐇓', 3156 => '𐇔', 3157 => '𐇕', 3158 => '𐇖', 3159 => '𐇗', 3160 => '𐇘', 3161 => '𐇙', 3162 => '𐇚', 3163 => '𐇛', 3164 => '𐇜', 3165 => '𐇝', 3166 => '𐇞', 3167 => '𐇟', 3168 => '𐇠', 3169 => '𐇡', 3170 => '𐇢', 3171 => '𐇣', 3172 => '𐇤', 3173 => '𐇥', 3174 => '𐇦', 3175 => '𐇧', 3176 => '𐇨', 3177 => '𐇩', 3178 => '𐇪', 3179 => '𐇫', 3180 => '𐇬', 3181 => '𐇭', 3182 => '𐇮', 3183 => '𐇯', 3184 => '𐇰', 3185 => '𐇱', 3186 => '𐇲', 3187 => '𐇳', 3188 => '𐇴', 3189 => '𐇵', 3190 => '𐇶', 3191 => '𐇷', 3192 => '𐇸', 3193 => '𐇹', 3194 => '𐇺', 3195 => '𐇻', 3196 => '𐇼', 3197 => '𝀀', 3198 => '𝀁', 3199 => '𝀂', 3200 => '𝀃', 3201 => '𝀄', 3202 => '𝀅', 3203 => '𝀆', 3204 => '𝀇', 3205 => '𝀈', 3206 => '𝀉', 3207 => '𝀊', 3208 => '𝀋', 3209 => '𝀌', 3210 => '𝀍', 3211 => '𝀎', 3212 => '𝀏', 3213 => '𝀐', 3214 => '𝀑', 3215 => '𝀒', 3216 => '𝀓', 3217 => '𝀔', 3218 => '𝀕', 3219 => '𝀖', 3220 => '𝀗', 3221 => '𝀘', 3222 => '𝀙', 3223 => '𝀚', 3224 => '𝀛', 3225 => '𝀜', 3226 => '𝀝', 3227 => '𝀞', 3228 => '𝀟', 3229 => '𝀠', 3230 => '𝀡', 3231 => '𝀢', 3232 => '𝀣', 3233 => '𝀤', 3234 => '𝀥', 3235 => '𝀦', 3236 => '𝀧', 3237 => '𝀨', 3238 => '𝀩', 3239 => '𝀪', 3240 => '𝀫', 3241 => '𝀬', 3242 => '𝀭', 3243 => '𝀮', 3244 => '𝀯', 3245 => '𝀰', 3246 => '𝀱', 3247 => '𝀲', 3248 => '𝀳', 3249 => '𝀴', 3250 => '𝀵', 3251 => '𝀶', 3252 => '𝀷', 3253 => '𝀸', 3254 => '𝀹', 3255 => '𝀺', 3256 => '𝀻', 3257 => '𝀼', 3258 => '𝀽', 3259 => '𝀾', 3260 => '𝀿', 3261 => '𝁀', 3262 => '𝁁', 3263 => '𝁂', 3264 => '𝁃', 3265 => '𝁄', 3266 => '𝁅', 3267 => '𝁆', 3268 => '𝁇', 3269 => '𝁈', 3270 => '𝁉', 3271 => '𝁊', 3272 => '𝁋', 3273 => '𝁌', 3274 => '𝁍', 3275 => '𝁎', 3276 => '𝁏', 3277 => '𝁐', 3278 => '𝁑', 3279 => '𝁒', 3280 => '𝁓', 3281 => '𝁔', 3282 => '𝁕', 3283 => '𝁖', 3284 => '𝁗', 3285 => '𝁘', 3286 => '𝁙', 3287 => '𝁚', 3288 => '𝁛', 3289 => '𝁜', 3290 => '𝁝', 3291 => '𝁞', 3292 => '𝁟', 3293 => '𝁠', 3294 => '𝁡', 3295 => '𝁢', 3296 => '𝁣', 3297 => '𝁤', 3298 => '𝁥', 3299 => '𝁦', 3300 => '𝁧', 3301 => '𝁨', 3302 => '𝁩', 3303 => '𝁪', 3304 => '𝁫', 3305 => '𝁬', 3306 => '𝁭', 3307 => '𝁮', 3308 => '𝁯', 3309 => '𝁰', 3310 => '𝁱', 3311 => '𝁲', 3312 => '𝁳', 3313 => '𝁴', 3314 => '𝁵', 3315 => '𝁶', 3316 => '𝁷', 3317 => '𝁸', 3318 => '𝁹', 3319 => '𝁺', 3320 => '𝁻', 3321 => '𝁼', 3322 => '𝁽', 3323 => '𝁾', 3324 => '𝁿', 3325 => '𝂀', 3326 => '𝂁', 3327 => '𝂂', 3328 => '𝂃', 3329 => '𝂄', 3330 => '𝂅', 3331 => '𝂆', 3332 => '𝂇', 3333 => '𝂈', 3334 => '𝂉', 3335 => '𝂊', 3336 => '𝂋', 3337 => '𝂌', 3338 => '𝂍', 3339 => '𝂎', 3340 => '𝂏', 3341 => '𝂐', 3342 => '𝂑', 3343 => '𝂒', 3344 => '𝂓', 3345 => '𝂔', 3346 => '𝂕', 3347 => '𝂖', 3348 => '𝂗', 3349 => '𝂘', 3350 => '𝂙', 3351 => '𝂚', 3352 => '𝂛', 3353 => '𝂜', 3354 => '𝂝', 3355 => '𝂞', 3356 => '𝂟', 3357 => '𝂠', 3358 => '𝂡', 3359 => '𝂢', 3360 => '𝂣', 3361 => '𝂤', 3362 => '𝂥', 3363 => '𝂦', 3364 => '𝂧', 3365 => '𝂨', 3366 => '𝂩', 3367 => '𝂪', 3368 => '𝂫', 3369 => '𝂬', 3370 => '𝂭', 3371 => '𝂮', 3372 => '𝂯', 3373 => '𝂰', 3374 => '𝂱', 3375 => '𝂲', 3376 => '𝂳', 3377 => '𝂴', 3378 => '𝂵', 3379 => '𝂶', 3380 => '𝂷', 3381 => '𝂸', 3382 => '𝂹', 3383 => '𝂺', 3384 => '𝂻', 3385 => '𝂼', 3386 => '𝂽', 3387 => '𝂾', 3388 => '𝂿', 3389 => '𝃀', 3390 => '𝃁', 3391 => '𝃂', 3392 => '𝃃', 3393 => '𝃄', 3394 => '𝃅', 3395 => '𝃆', 3396 => '𝃇', 3397 => '𝃈', 3398 => '𝃉', 3399 => '𝃊', 3400 => '𝃋', 3401 => '𝃌', 3402 => '𝃍', 3403 => '𝃎', 3404 => '𝃏', 3405 => '𝃐', 3406 => '𝃑', 3407 => '𝃒', 3408 => '𝃓', 3409 => '𝃔', 3410 => '𝃕', 3411 => '𝃖', 3412 => '𝃗', 3413 => '𝃘', 3414 => '𝃙', 3415 => '𝃚', 3416 => '𝃛', 3417 => '𝃜', 3418 => '𝃝', 3419 => '𝃞', 3420 => '𝃟', 3421 => '𝃠', 3422 => '𝃡', 3423 => '𝃢', 3424 => '𝃣', 3425 => '𝃤', 3426 => '𝃥', 3427 => '𝃦', 3428 => '𝃧', 3429 => '𝃨', 3430 => '𝃩', 3431 => '𝃪', 3432 => '𝃫', 3433 => '𝃬', 3434 => '𝃭', 3435 => '𝃮', 3436 => '𝃯', 3437 => '𝃰', 3438 => '𝃱', 3439 => '𝃲', 3440 => '𝃳', 3441 => '𝃴', 3442 => '𝃵', 3443 => '𝄀', 3444 => '𝄁', 3445 => '𝄂', 3446 => '𝄃', 3447 => '𝄄', 3448 => '𝄅', 3449 => '𝄆', 3450 => '𝄇', 3451 => '𝄈', 3452 => '𝄉', 3453 => '𝄊', 3454 => '𝄋', 3455 => '𝄌', 3456 => '𝄍', 3457 => '𝄎', 3458 => '𝄏', 3459 => '𝄐', 3460 => '𝄑', 3461 => '𝄒', 3462 => '𝄓', 3463 => '𝄔', 3464 => '𝄕', 3465 => '𝄖', 3466 => '𝄗', 3467 => '𝄘', 3468 => '𝄙', 3469 => '𝄚', 3470 => '𝄛', 3471 => '𝄜', 3472 => '𝄝', 3473 => '𝄞', 3474 => '𝄟', 3475 => '𝄠', 3476 => '𝄡', 3477 => '𝄢', 3478 => '𝄣', 3479 => '𝄤', 3480 => '𝄥', 3481 => '𝄦', 3482 => '♭', 3483 => '♮', 3484 => '♯', 3485 => '𝄪', 3486 => '𝄫', 3487 => '𝄬', 3488 => '𝄭', 3489 => '𝄮', 3490 => '𝄯', 3491 => '𝄰', 3492 => '𝄱', 3493 => '𝄲', 3494 => '𝄳', 3495 => '𝄴', 3496 => '𝄵', 3497 => '𝄶', 3498 => '𝄷', 3499 => '𝄸', 3500 => '𝄹', 3501 => '𝄩', 3502 => '𝄺', 3503 => '𝄻', 3504 => '𝄼', 3505 => '𝄽', 3506 => '𝄾', 3507 => '𝄿', 3508 => '𝅀', 3509 => '𝅁', 3510 => '𝅂', 3511 => '𝅃', 3512 => '𝅄', 3513 => '𝅅', 3514 => '𝅆', 3515 => '𝅇', 3516 => '𝅈', 3517 => '𝅉', 3518 => '𝅊', 3519 => '𝅋', 3520 => '𝅌', 3521 => '𝅍', 3522 => '𝅎', 3523 => '𝅏', 3524 => '𝅐', 3525 => '𝅑', 3526 => '𝅒', 3527 => '𝅓', 3528 => '𝅔', 3529 => '𝅕', 3530 => '𝅖', 3531 => '𝅗', 3532 => '𝅘', 3533 => '𝅙', 3534 => '𝅚', 3535 => '𝅛', 3536 => '𝅜', 3537 => '𝅝', 3538 => '𝅪', 3539 => '𝅫', 3540 => '𝅬', 3541 => '𝆃', 3542 => '𝆄', 3543 => '𝆌', 3544 => '𝆍', 3545 => '𝆎', 3546 => '𝆏', 3547 => '𝆐', 3548 => '𝆑', 3549 => '𝆒', 3550 => '𝆓', 3551 => '𝆔', 3552 => '𝆕', 3553 => '𝆖', 3554 => '𝆗', 3555 => '𝆘', 3556 => '𝆙', 3557 => '𝆚', 3558 => '𝆛', 3559 => '𝆜', 3560 => '𝆝', 3561 => '𝆞', 3562 => '𝆟', 3563 => '𝆠', 3564 => '𝆡', 3565 => '𝆢', 3566 => '𝆣', 3567 => '𝆤', 3568 => '𝆥', 3569 => '𝆦', 3570 => '𝆧', 3571 => '𝆨', 3572 => '𝆩', 3573 => '𝆮', 3574 => '𝆯', 3575 => '𝆰', 3576 => '𝆱', 3577 => '𝆲', 3578 => '𝆳', 3579 => '𝆴', 3580 => '𝆵', 3581 => '𝆶', 3582 => '𝆷', 3583 => '𝆸', 3584 => '𝆹', 3585 => '𝆺', 3586 => '𝇁', 3587 => '𝇂', 3588 => '𝇃', 3589 => '𝇄', 3590 => '𝇅', 3591 => '𝇆', 3592 => '𝇇', 3593 => '𝇈', 3594 => '𝇉', 3595 => '𝇊', 3596 => '𝇋', 3597 => '𝇌', 3598 => '𝇍', 3599 => '𝇎', 3600 => '𝇏', 3601 => '𝇐', 3602 => '𝇑', 3603 => '𝇒', 3604 => '𝇓', 3605 => '𝇔', 3606 => '𝇕', 3607 => '𝇖', 3608 => '𝇗', 3609 => '𝇘', 3610 => '𝇙', 3611 => '𝇚', 3612 => '𝇛', 3613 => '𝇜', 3614 => '𝇝', 3615 => '𝈀', 3616 => '𝈁', 3617 => '𝈂', 3618 => '𝈃', 3619 => '𝈄', 3620 => '𝈅', 3621 => '𝈆', 3622 => '𝈇', 3623 => '𝈈', 3624 => '𝈉', 3625 => '𝈊', 3626 => '𝈋', 3627 => '𝈌', 3628 => '𝈍', 3629 => '𝈎', 3630 => '𝈏', 3631 => '𝈐', 3632 => '𝈑', 3633 => '𝈒', 3634 => '𝈓', 3635 => '𝈔', 3636 => '𝈕', 3637 => '𝈖', 3638 => '𝈗', 3639 => '𝈘', 3640 => '𝈙', 3641 => '𝈚', 3642 => '𝈛', 3643 => '𝈜', 3644 => '𝈝', 3645 => '𝈞', 3646 => '𝈟', 3647 => '𝈠', 3648 => '𝈡', 3649 => '𝈢', 3650 => '𝈣', 3651 => '𝈤', 3652 => '𝈥', 3653 => '𝈦', 3654 => '𝈧', 3655 => '𝈨', 3656 => '𝈩', 3657 => '𝈪', 3658 => '𝈫', 3659 => '𝈬', 3660 => '𝈭', 3661 => '𝈮', 3662 => '𝈯', 3663 => '𝈰', 3664 => '𝈱', 3665 => '𝈲', 3666 => '𝈳', 3667 => '𝈴', 3668 => '𝈵', 3669 => '𝈶', 3670 => '𝈷', 3671 => '𝈸', 3672 => '𝈹', 3673 => '𝈺', 3674 => '𝈻', 3675 => '𝈼', 3676 => '𝈽', 3677 => '𝈾', 3678 => '𝈿', 3679 => '𝉀', 3680 => '𝉁', 3681 => '𝉅', 3682 => '🀀', 3683 => '🀁', 3684 => '🀂', 3685 => '🀃', 3686 => '🀄', 3687 => '🀅', 3688 => '🀆', 3689 => '🀇', 3690 => '🀈', 3691 => '🀉', 3692 => '🀊', 3693 => '🀋', 3694 => '🀌', 3695 => '🀍', 3696 => '🀎', 3697 => '🀏', 3698 => '🀐', 3699 => '🀑', 3700 => '🀒', 3701 => '🀓', 3702 => '🀔', 3703 => '🀕', 3704 => '🀖', 3705 => '🀗', 3706 => '🀘', 3707 => '🀙', 3708 => '🀚', 3709 => '🀛', 3710 => '🀜', 3711 => '🀝', 3712 => '🀞', 3713 => '🀟', 3714 => '🀠', 3715 => '🀡', 3716 => '🀢', 3717 => '🀣', 3718 => '🀤', 3719 => '🀥', 3720 => '🀦', 3721 => '🀧', 3722 => '🀨', 3723 => '🀩', 3724 => '🀪', 3725 => '🀫', 3726 => '🀰', 3727 => '🀱', 3728 => '🀲', 3729 => '🀳', 3730 => '🀴', 3731 => '🀵', 3732 => '🀶', 3733 => '🀷', 3734 => '🀸', 3735 => '🀹', 3736 => '🀺', 3737 => '🀻', 3738 => '🀼', 3739 => '🀽', 3740 => '🀾', 3741 => '🀿', 3742 => '🁀', 3743 => '🁁', 3744 => '🁂', 3745 => '🁃', 3746 => '🁄', 3747 => '🁅', 3748 => '🁆', 3749 => '🁇', 3750 => '🁈', 3751 => '🁉', 3752 => '🁊', 3753 => '🁋', 3754 => '🁌', 3755 => '🁍', 3756 => '🁎', 3757 => '🁏', 3758 => '🁐', 3759 => '🁑', 3760 => '🁒', 3761 => '🁓', 3762 => '🁔', 3763 => '🁕', 3764 => '🁖', 3765 => '🁗', 3766 => '🁘', 3767 => '🁙', 3768 => '🁚', 3769 => '🁛', 3770 => '🁜', 3771 => '🁝', 3772 => '🁞', 3773 => '🁟', 3774 => '🁠', 3775 => '🁡', 3776 => '🁢', 3777 => '🁣', 3778 => '🁤', 3779 => '🁥', 3780 => '🁦', 3781 => '🁧', 3782 => '🁨', 3783 => '🁩', 3784 => '🁪', 3785 => '🁫', 3786 => '🁬', 3787 => '🁭', 3788 => '🁮', 3789 => '🁯', 3790 => '🁰', 3791 => '🁱', 3792 => '🁲', 3793 => '🁳', 3794 => '🁴', 3795 => '🁵', 3796 => '🁶', 3797 => '🁷', 3798 => '🁸', 3799 => '🁹', 3800 => '🁺', 3801 => '🁻', 3802 => '🁼', 3803 => '🁽', 3804 => '🁾', 3805 => '🁿', 3806 => '🂀', 3807 => '🂁', 3808 => '🂂', 3809 => '🂃', 3810 => '🂄', 3811 => '🂅', 3812 => '🂆', 3813 => '🂇', 3814 => '🂈', 3815 => '🂉', 3816 => '🂊', 3817 => '🂋', 3818 => '🂌', 3819 => '🂍', 3820 => '🂎', 3821 => '🂏', 3822 => '🂐', 3823 => '🂑', 3824 => '🂒', 3825 => '🂓', 3826 => '🂠', 3827 => '🂡', 3828 => '🂢', 3829 => '🂣', 3830 => '🂤', 3831 => '🂥', 3832 => '🂦', 3833 => '🂧', 3834 => '🂨', 3835 => '🂩', 3836 => '🂪', 3837 => '🂫', 3838 => '🂬', 3839 => '🂭', 3840 => '🂮', 3841 => '🂱', 3842 => '🂲', 3843 => '🂳', 3844 => '🂴', 3845 => '🂵', 3846 => '🂶', 3847 => '🂷', 3848 => '🂸', 3849 => '🂹', 3850 => '🂺', 3851 => '🂻', 3852 => '🂼', 3853 => '🂽', 3854 => '🂾', 3855 => '🃁', 3856 => '🃂', 3857 => '🃃', 3858 => '🃄', 3859 => '🃅', 3860 => '🃆', 3861 => '🃇', 3862 => '🃈', 3863 => '🃉', 3864 => '🃊', 3865 => '🃋', 3866 => '🃌', 3867 => '🃍', 3868 => '🃎', 3869 => '🃏', 3870 => '🃑', 3871 => '🃒', 3872 => '🃓', 3873 => '🃔', 3874 => '🃕', 3875 => '🃖', 3876 => '🃗', 3877 => '🃘', 3878 => '🃙', 3879 => '🃚', 3880 => '🃛', 3881 => '🃜', 3882 => '🃝', 3883 => '🃞', 3884 => '🃟', 3885 => '🌀', 3886 => '🌁', 3887 => '🌂', 3888 => '🌃', 3889 => '🌄', 3890 => '🌅', 3891 => '🌆', 3892 => '🌇', 3893 => '🌈', 3894 => '🌉', 3895 => '🌊', 3896 => '🌋', 3897 => '🌌', 3898 => '🌍', 3899 => '🌎', 3900 => '🌏', 3901 => '🌐', 3902 => '🌑', 3903 => '🌒', 3904 => '🌓', 3905 => '🌔', 3906 => '🌕', 3907 => '🌖', 3908 => '🌗', 3909 => '🌘', 3910 => '🌙', 3911 => '🌚', 3912 => '🌛', 3913 => '🌜', 3914 => '🌝', 3915 => '🌞', 3916 => '🌟', 3917 => '🌠', 3918 => '🌰', 3919 => '🌱', 3920 => '🌲', 3921 => '🌳', 3922 => '🌴', 3923 => '🌵', 3924 => '🌷', 3925 => '🌸', 3926 => '🌹', 3927 => '🌺', 3928 => '🌻', 3929 => '🌼', 3930 => '🌽', 3931 => '🌾', 3932 => '🌿', 3933 => '🍀', 3934 => '🍁', 3935 => '🍂', 3936 => '🍃', 3937 => '🍄', 3938 => '🍅', 3939 => '🍆', 3940 => '🍇', 3941 => '🍈', 3942 => '🍉', 3943 => '🍊', 3944 => '🍋', 3945 => '🍌', 3946 => '🍍', 3947 => '🍎', 3948 => '🍏', 3949 => '🍐', 3950 => '🍑', 3951 => '🍒', 3952 => '🍓', 3953 => '🍔', 3954 => '🍕', 3955 => '🍖', 3956 => '🍗', 3957 => '🍘', 3958 => '🍙', 3959 => '🍚', 3960 => '🍛', 3961 => '🍜', 3962 => '🍝', 3963 => '🍞', 3964 => '🍟', 3965 => '🍠', 3966 => '🍡', 3967 => '🍢', 3968 => '🍣', 3969 => '🍤', 3970 => '🍥', 3971 => '🍦', 3972 => '🍧', 3973 => '🍨', 3974 => '🍩', 3975 => '🍪', 3976 => '🍫', 3977 => '🍬', 3978 => '🍭', 3979 => '🍮', 3980 => '🍯', 3981 => '🍰', 3982 => '🍱', 3983 => '🍲', 3984 => '🍳', 3985 => '🍴', 3986 => '🍵', 3987 => '🍶', 3988 => '🍷', 3989 => '🍸', 3990 => '🍹', 3991 => '🍺', 3992 => '🍻', 3993 => '🍼', 3994 => '🎀', 3995 => '🎁', 3996 => '🎂', 3997 => '🎃', 3998 => '🎄', 3999 => '🎅', 4000 => '🎆', 4001 => '🎇', 4002 => '🎈', 4003 => '🎉', 4004 => '🎊', 4005 => '🎋', 4006 => '🎌', 4007 => '🎍', 4008 => '🎎', 4009 => '🎏', 4010 => '🎐', 4011 => '🎑', 4012 => '🎒', 4013 => '🎓', 4014 => '🎠', 4015 => '🎡', 4016 => '🎢', 4017 => '🎣', 4018 => '🎤', 4019 => '🎥', 4020 => '🎦', 4021 => '🎧', 4022 => '🎨', 4023 => '🎩', 4024 => '🎪', 4025 => '🎫', 4026 => '🎬', 4027 => '🎭', 4028 => '🎮', 4029 => '🎯', 4030 => '🎰', 4031 => '🎱', 4032 => '🎲', 4033 => '🎳', 4034 => '🎴', 4035 => '🎵', 4036 => '🎶', 4037 => '🎷', 4038 => '🎸', 4039 => '🎹', 4040 => '🎺', 4041 => '🎻', 4042 => '🎼', 4043 => '🎽', 4044 => '🎾', 4045 => '🎿', 4046 => '🏀', 4047 => '🏁', 4048 => '🏂', 4049 => '🏃', 4050 => '🏄', 4051 => '🏆', 4052 => '🏇', 4053 => '🏈', 4054 => '🏉', 4055 => '🏊', 4056 => '🏠', 4057 => '🏡', 4058 => '🏢', 4059 => '🏣', 4060 => '🏤', 4061 => '🏥', 4062 => '🏦', 4063 => '🏧', 4064 => '🏨', 4065 => '🏩', 4066 => '🏪', 4067 => '🏫', 4068 => '🏬', 4069 => '🏭', 4070 => '🏮', 4071 => '🏯', 4072 => '🏰', 4073 => '🐀', 4074 => '🐁', 4075 => '🐂', 4076 => '🐃', 4077 => '🐄', 4078 => '🐅', 4079 => '🐆', 4080 => '🐇', 4081 => '🐈', 4082 => '🐉', 4083 => '🐊', 4084 => '🐋', 4085 => '🐌', 4086 => '🐍', 4087 => '🐎', 4088 => '🐏', 4089 => '🐐', 4090 => '🐑', 4091 => '🐒', 4092 => '🐓', 4093 => '🐔', 4094 => '🐕', 4095 => '🐖', 4096 => '🐗', 4097 => '🐘', 4098 => '🐙', 4099 => '🐚', 4100 => '🐛', 4101 => '🐜', 4102 => '🐝', 4103 => '🐞', 4104 => '🐟', 4105 => '🐠', 4106 => '🐡', 4107 => '🐢', 4108 => '🐣', 4109 => '🐤', 4110 => '🐥', 4111 => '🐦', 4112 => '🐧', 4113 => '🐨', 4114 => '🐩', 4115 => '🐪', 4116 => '🐫', 4117 => '🐬', 4118 => '🐭', 4119 => '🐮', 4120 => '🐯', 4121 => '🐰', 4122 => '🐱', 4123 => '🐲', 4124 => '🐳', 4125 => '🐴', 4126 => '🐵', 4127 => '🐶', 4128 => '🐷', 4129 => '🐸', 4130 => '🐹', 4131 => '🐺', 4132 => '🐻', 4133 => '🐼', 4134 => '🐽', 4135 => '🐾', 4136 => '👀', 4137 => '👂', 4138 => '👃', 4139 => '👄', 4140 => '👅', 4141 => '👆', 4142 => '👇', 4143 => '👈', 4144 => '👉', 4145 => '👊', 4146 => '👋', 4147 => '👌', 4148 => '👍', 4149 => '👎', 4150 => '👏', 4151 => '👐', 4152 => '👑', 4153 => '👒', 4154 => '👓', 4155 => '👔', 4156 => '👕', 4157 => '👖', 4158 => '👗', 4159 => '👘', 4160 => '👙', 4161 => '👚', 4162 => '👛', 4163 => '👜', 4164 => '👝', 4165 => '👞', 4166 => '👟', 4167 => '👠', 4168 => '👡', 4169 => '👢', 4170 => '👣', 4171 => '👤', 4172 => '👥', 4173 => '👦', 4174 => '👧', 4175 => '👨', 4176 => '👩', 4177 => '👪', 4178 => '👫', 4179 => '👬', 4180 => '👭', 4181 => '👮', 4182 => '👯', 4183 => '👰', 4184 => '👱', 4185 => '👲', 4186 => '👳', 4187 => '👴', 4188 => '👵', 4189 => '👶', 4190 => '👷', 4191 => '👸', 4192 => '👹', 4193 => '👺', 4194 => '👻', 4195 => '👼', 4196 => '👽', 4197 => '👾', 4198 => '👿', 4199 => '💀', 4200 => '💁', 4201 => '💂', 4202 => '💃', 4203 => '💄', 4204 => '💅', 4205 => '💆', 4206 => '💇', 4207 => '💈', 4208 => '💉', 4209 => '💊', 4210 => '💋', 4211 => '💌', 4212 => '💍', 4213 => '💎', 4214 => '💏', 4215 => '💐', 4216 => '💑', 4217 => '💒', 4218 => '💓', 4219 => '💔', 4220 => '💕', 4221 => '💖', 4222 => '💗', 4223 => '💘', 4224 => '💙', 4225 => '💚', 4226 => '💛', 4227 => '💜', 4228 => '💝', 4229 => '💞', 4230 => '💟', 4231 => '💠', 4232 => '💡', 4233 => '💢', 4234 => '💣', 4235 => '💤', 4236 => '💥', 4237 => '💦', 4238 => '💧', 4239 => '💨', 4240 => '💩', 4241 => '💪', 4242 => '💫', 4243 => '💬', 4244 => '💭', 4245 => '💮', 4246 => '💯', 4247 => '💰', 4248 => '💱', 4249 => '💲', 4250 => '💳', 4251 => '💴', 4252 => '💵', 4253 => '💶', 4254 => '💷', 4255 => '💸', 4256 => '💹', 4257 => '💺', 4258 => '💻', 4259 => '💼', 4260 => '💽', 4261 => '💾', 4262 => '💿', 4263 => '📀', 4264 => '📁', 4265 => '📂', 4266 => '📃', 4267 => '📄', 4268 => '📅', 4269 => '📆', 4270 => '📇', 4271 => '📈', 4272 => '📉', 4273 => '📊', 4274 => '📋', 4275 => '📌', 4276 => '📍', 4277 => '📎', 4278 => '📏', 4279 => '📐', 4280 => '📑', 4281 => '📒', 4282 => '📓', 4283 => '📔', 4284 => '📕', 4285 => '📖', 4286 => '📗', 4287 => '📘', 4288 => '📙', 4289 => '📚', 4290 => '📛', 4291 => '📜', 4292 => '📝', 4293 => '📞', 4294 => '📟', 4295 => '📠', 4296 => '📡', 4297 => '📢', 4298 => '📣', 4299 => '📤', 4300 => '📥', 4301 => '📦', 4302 => '📧', 4303 => '📨', 4304 => '📩', 4305 => '📪', 4306 => '📫', 4307 => '📬', 4308 => '📭', 4309 => '📮', 4310 => '📯', 4311 => '📰', 4312 => '📱', 4313 => '📲', 4314 => '📳', 4315 => '📴', 4316 => '📵', 4317 => '📶', 4318 => '📷', 4319 => '📹', 4320 => '📺', 4321 => '📻', 4322 => '📼', 4323 => '🔀', 4324 => '🔁', 4325 => '🔂', 4326 => '🔃', 4327 => '🔄', 4328 => '🔅', 4329 => '🔆', 4330 => '🔇', 4331 => '🔈', 4332 => '🔉', 4333 => '🔊', 4334 => '🔋', 4335 => '🔌', 4336 => '🔍', 4337 => '🔎', 4338 => '🔏', 4339 => '🔐', 4340 => '🔑', 4341 => '🔒', 4342 => '🔓', 4343 => '🔔', 4344 => '🔕', 4345 => '🔖', 4346 => '🔗', 4347 => '🔘', 4348 => '🔙', 4349 => '🔚', 4350 => '🔛', 4351 => '🔜', 4352 => '🔝', 4353 => '🔞', 4354 => '🔟', 4355 => '🔠', 4356 => '🔡', 4357 => '🔢', 4358 => '🔣', 4359 => '🔤', 4360 => '🔥', 4361 => '🔦', 4362 => '🔧', 4363 => '🔨', 4364 => '🔩', 4365 => '🔪', 4366 => '🔫', 4367 => '🔬', 4368 => '🔭', 4369 => '🔮', 4370 => '🔯', 4371 => '🔰', 4372 => '🔱', 4373 => '🔲', 4374 => '🔳', 4375 => '🔴', 4376 => '🔵', 4377 => '🔶', 4378 => '🔷', 4379 => '🔸', 4380 => '🔹', 4381 => '🔺', 4382 => '🔻', 4383 => '🔼', 4384 => '🔽', 4385 => '🕐', 4386 => '🕑', 4387 => '🕒', 4388 => '🕓', 4389 => '🕔', 4390 => '🕕', 4391 => '🕖', 4392 => '🕗', 4393 => '🕘', 4394 => '🕙', 4395 => '🕚', 4396 => '🕛', 4397 => '🕜', 4398 => '🕝', 4399 => '🕞', 4400 => '🕟', 4401 => '🕠', 4402 => '🕡', 4403 => '🕢', 4404 => '🕣', 4405 => '🕤', 4406 => '🕥', 4407 => '🕦', 4408 => '🕧', 4409 => '🗻', 4410 => '🗼', 4411 => '🗽', 4412 => '🗾', 4413 => '🗿', 4414 => '😁', 4415 => '😂', 4416 => '😃', 4417 => '😄', 4418 => '😅', 4419 => '😆', 4420 => '😇', 4421 => '😈', 4422 => '😉', 4423 => '😊', 4424 => '😋', 4425 => '😌', 4426 => '😍', 4427 => '😎', 4428 => '😏', 4429 => '😐', 4430 => '😒', 4431 => '😓', 4432 => '😔', 4433 => '😖', 4434 => '😘', 4435 => '😚', 4436 => '😜', 4437 => '😝', 4438 => '😞', 4439 => '😠', 4440 => '😡', 4441 => '😢', 4442 => '😣', 4443 => '😤', 4444 => '😥', 4445 => '😨', 4446 => '😩', 4447 => '😪', 4448 => '😫', 4449 => '😭', 4450 => '😰', 4451 => '😱', 4452 => '😲', 4453 => '😳', 4454 => '😵', 4455 => '😶', 4456 => '😷', 4457 => '😸', 4458 => '😹', 4459 => '😺', 4460 => '😻', 4461 => '😼', 4462 => '😽', 4463 => '😾', 4464 => '😿', 4465 => '🙀', 4466 => '🙅', 4467 => '🙆', 4468 => '🙇', 4469 => '🙈', 4470 => '🙉', 4471 => '🙊', 4472 => '🙋', 4473 => '🙌', 4474 => '🙍', 4475 => '🙎', 4476 => '🙏', 4477 => '🚀', 4478 => '🚁', 4479 => '🚂', 4480 => '🚃', 4481 => '🚄', 4482 => '🚅', 4483 => '🚆', 4484 => '🚇', 4485 => '🚈', 4486 => '🚉', 4487 => '🚊', 4488 => '🚋', 4489 => '🚌', 4490 => '🚍', 4491 => '🚎', 4492 => '🚏', 4493 => '🚐', 4494 => '🚑', 4495 => '🚒', 4496 => '🚓', 4497 => '🚔', 4498 => '🚕', 4499 => '🚖', 4500 => '🚗', 4501 => '🚘', 4502 => '🚙', 4503 => '🚚', 4504 => '🚛', 4505 => '🚜', 4506 => '🚝', 4507 => '🚞', 4508 => '🚟', 4509 => '🚠', 4510 => '🚡', 4511 => '🚢', 4512 => '🚣', 4513 => '🚤', 4514 => '🚥', 4515 => '🚦', 4516 => '🚧', 4517 => '🚨', 4518 => '🚩', 4519 => '🚪', 4520 => '🚫', 4521 => '🚬', 4522 => '🚭', 4523 => '🚮', 4524 => '🚯', 4525 => '🚰', 4526 => '🚱', 4527 => '🚲', 4528 => '🚳', 4529 => '🚴', 4530 => '🚵', 4531 => '🚶', 4532 => '🚷', 4533 => '🚸', 4534 => '🚹', 4535 => '🚺', 4536 => '🚻', 4537 => '🚼', 4538 => '🚽', 4539 => '🚾', 4540 => '🚿', 4541 => '🛀', 4542 => '🛁', 4543 => '🛂', 4544 => '🛃', 4545 => '🛄', 4546 => '🛅', 4547 => '🜀', 4548 => '🜁', 4549 => '🜂', 4550 => '🜃', 4551 => '🜄', 4552 => '🜅', 4553 => '🜆', 4554 => '🜇', 4555 => '🜈', 4556 => '🜉', 4557 => '🜊', 4558 => '🜋', 4559 => '🜌', 4560 => '🜍', 4561 => '🜎', 4562 => '🜏', 4563 => '🜐', 4564 => '🜑', 4565 => '🜒', 4566 => '🜓', 4567 => '🜔', 4568 => '🜕', 4569 => '🜖', 4570 => '🜗', 4571 => '🜘', 4572 => '🜙', 4573 => '🜚', 4574 => '🜛', 4575 => '🜜', 4576 => '🜝', 4577 => '🜞', 4578 => '🜟', 4579 => '🜠', 4580 => '🜡', 4581 => '🜢', 4582 => '🜣', 4583 => '🜤', 4584 => '🜥', 4585 => '🜦', 4586 => '🜧', 4587 => '🜨', 4588 => '🜩', 4589 => '🜪', 4590 => '🜫', 4591 => '🜬', 4592 => '🜭', 4593 => '🜮', 4594 => '🜯', 4595 => '🜰', 4596 => '🜱', 4597 => '🜲', 4598 => '🜳', 4599 => '🜴', 4600 => '🜵', 4601 => '🜶', 4602 => '🜷', 4603 => '🜸', 4604 => '🜹', 4605 => '🜺', 4606 => '🜻', 4607 => '🜼', 4608 => '🜽', 4609 => '🜾', 4610 => '🜿', 4611 => '🝀', 4612 => '🝁', 4613 => '🝂', 4614 => '🝃', 4615 => '🝄', 4616 => '🝅', 4617 => '🝆', 4618 => '🝇', 4619 => '🝈', 4620 => '🝉', 4621 => '🝊', 4622 => '🝋', 4623 => '🝌', 4624 => '🝍', 4625 => '🝎', 4626 => '🝏', 4627 => '🝐', 4628 => '🝑', 4629 => '🝒', 4630 => '🝓', 4631 => '🝔', 4632 => '🝕', 4633 => '🝖', 4634 => '🝗', 4635 => '🝘', 4636 => '🝙', 4637 => '🝚', 4638 => '🝛', 4639 => '🝜', 4640 => '🝝', 4641 => '🝞', 4642 => '🝟', 4643 => '🝠', 4644 => '🝡', 4645 => '🝢', 4646 => '🝣', 4647 => '🝤', 4648 => '🝥', 4649 => '🝦', 4650 => '🝧', 4651 => '🝨', 4652 => '🝩', 4653 => '🝪', 4654 => '🝫', 4655 => '🝬', 4656 => '🝭', 4657 => '🝮', 4658 => '🝯', 4659 => '🝰', 4660 => '🝱', 4661 => '🝲', 4662 => '🝳', 4663 => '㆐', 4664 => '㆑', 4665 => '', 4666 => '�', 4667 => '৴', 4668 => '৵', 4669 => '৶', 4670 => '৷', 4671 => '৸', 4672 => '৹', 4673 => '୲', 4674 => '୳', 4675 => '୴', 4676 => '୵', 4677 => '୶', 4678 => '୷', 4679 => '꠰', 4680 => '꠱', 4681 => '꠲', 4682 => '꠳', 4683 => '꠴', 4684 => '꠵', 4685 => '௰', 4686 => '௱', 4687 => '௲', 4688 => '൰', 4689 => '൱', 4690 => '൲', 4691 => '൳', 4692 => '൴', 4693 => '൵', 4694 => '፲', 4695 => '፳', 4696 => '፴', 4697 => '፵', 4698 => '፶', 4699 => '፷', 4700 => '፸', 4701 => '፹', 4702 => '፺', 4703 => '፻', 4704 => '፼', 4705 => 'ↀ', 4706 => 'ↁ', 4707 => 'ↂ', 4708 => 'ↆ', 4709 => 'ↇ', 4710 => 'ↈ', 4711 => '𐹩', 4712 => '𐹪', 4713 => '𐹫', 4714 => '𐹬', 4715 => '𐹭', 4716 => '𐹮', 4717 => '𐹯', 4718 => '𐹰', 4719 => '𐹱', 4720 => '𐹲', 4721 => '𐹳', 4722 => '𐹴', 4723 => '𐹵', 4724 => '𐹶', 4725 => '𐹷', 4726 => '𐹸', 4727 => '𐹹', 4728 => '𐹺', 4729 => '𐹻', 4730 => '𐹼', 4731 => '𐹽', 4732 => '𐹾', 4733 => '⳽', 4734 => '𐌢', 4735 => '𐌣', 4736 => '𐄐', 4737 => '𐄑', 4738 => '𐄒', 4739 => '𐄓', 4740 => '𐄔', 4741 => '𐄕', 4742 => '𐄖', 4743 => '𐄗', 4744 => '𐄘', 4745 => '𐄙', 4746 => '𐄚', 4747 => '𐄛', 4748 => '𐄜', 4749 => '𐄝', 4750 => '𐄞', 4751 => '𐄟', 4752 => '𐄠', 4753 => '𐄡', 4754 => '𐄢', 4755 => '𐄣', 4756 => '𐄤', 4757 => '𐄥', 4758 => '𐄦', 4759 => '𐄧', 4760 => '𐄨', 4761 => '𐄩', 4762 => '𐄪', 4763 => '𐄫', 4764 => '𐄬', 4765 => '𐄭', 4766 => '𐄮', 4767 => '𐄯', 4768 => '𐄰', 4769 => '𐄱', 4770 => '𐄲', 4771 => '𐄳', 4772 => '𐅀', 4773 => '𐅁', 4774 => '𐅄', 4775 => '𐅅', 4776 => '𐅆', 4777 => '𐅇', 4778 => '𐅉', 4779 => '𐅊', 4780 => '𐅋', 4781 => '𐅌', 4782 => '𐅍', 4783 => '𐅎', 4784 => '𐅐', 4785 => '𐅑', 4786 => '𐅒', 4787 => '𐅓', 4788 => '𐅔', 4789 => '𐅕', 4790 => '𐅖', 4791 => '𐅗', 4792 => '𐅠', 4793 => '𐅡', 4794 => '𐅢', 4795 => '𐅣', 4796 => '𐅤', 4797 => '𐅥', 4798 => '𐅦', 4799 => '𐅧', 4800 => '𐅨', 4801 => '𐅩', 4802 => '𐅪', 4803 => '𐅫', 4804 => '𐅬', 4805 => '𐅭', 4806 => '𐅮', 4807 => '𐅯', 4808 => '𐅰', 4809 => '𐅱', 4810 => '𐅲', 4811 => '𐅴', 4812 => '𐅵', 4813 => '𐅶', 4814 => '𐅷', 4815 => '𐅸', 4816 => '𐏓', 4817 => '𐏔', 4818 => '𐏕', 4819 => '𐩾', 4820 => '𐩿', 4821 => '𐤗', 4822 => '𐤘', 4823 => '𐤙', 4824 => '𐡛', 4825 => '𐡜', 4826 => '𐡝', 4827 => '𐡞', 4828 => '𐡟', 4829 => '𐭜', 4830 => '𐭝', 4831 => '𐭞', 4832 => '𐭟', 4833 => '𐭼', 4834 => '𐭽', 4835 => '𐭾', 4836 => '𐭿', 4837 => '𑁛', 4838 => '𑁜', 4839 => '𑁝', 4840 => '𑁞', 4841 => '𑁟', 4842 => '𑁠', 4843 => '𑁡', 4844 => '𑁢', 4845 => '𑁣', 4846 => '𑁤', 4847 => '𑁥', 4848 => '𐩄', 4849 => '𐩅', 4850 => '𐩆', 4851 => '𐩇', 4852 => '𒐲', 4853 => '𒐳', 4854 => '𒑖', 4855 => '𒑗', 4856 => '𒑚', 4857 => '𒑛', 4858 => '𒑜', 4859 => '𒑝', 4860 => '𒑞', 4861 => '𒑟', 4862 => '𒑠', 4863 => '𒑡', 4864 => '𒑢', 4865 => '𝍩', 4866 => '𝍪', 4867 => '𝍫', 4868 => '𝍬', 4869 => '𝍭', 4870 => '𝍮', 4871 => '𝍯', 4872 => '𝍰', 4873 => '𝍱', 4874 => 'ː', 4875 => 'ˑ', 4876 => 'ॱ', 4877 => 'ๆ', 4878 => 'ໆ', 4879 => 'ᪧ', 4880 => 'ꧏ', 4881 => 'ꩰ', 4882 => 'ꫝ', 4883 => 'ゝ', 4884 => 'ー', 4885 => 'ヽ', 4886 => '¤', 4887 => '¢', 4888 => '$', 4889 => '£', 4890 => '¥', 4891 => '؋', 4892 => '৲', 4893 => '৳', 4894 => '৻', 4895 => '૱', 4896 => '꠸', 4897 => '௹', 4898 => '฿', 4899 => '៛', 4900 => '₠', 4901 => '₡', 4902 => '₢', 4903 => '₣', 4904 => '₤', 4905 => '₥', 4906 => '₦', 4907 => '₧', 4908 => '₩', 4909 => '₪', 4910 => '₫', 4911 => '€', 4912 => '₭', 4913 => '₮', 4914 => '₯', 4915 => '₰', 4916 => '₱', 4917 => '₲', 4918 => '₳', 4919 => '₴', 4920 => '₵', 4921 => '₶', 4922 => '₷', 4923 => '₸', 4924 => '₹', 4925 => '0', 4926 => '1', 4927 => '2', 4928 => '3', 4929 => '4', 4930 => '5', 4931 => '6', 4932 => '7', 4933 => '8', 4934 => '9', 4935 => 'A', 4936 => 'ᴀ', 4937 => 'Ⱥ', 4938 => 'ᶏ', 4939 => 'ᴁ', 4940 => 'ᴂ', 4941 => 'Ɐ', 4942 => 'Ɑ', 4943 => 'ᶐ', 4944 => 'Ɒ', 4945 => 'B', 4946 => 'ʙ', 4947 => 'Ƀ', 4948 => 'ᴯ', 4949 => 'ᴃ', 4950 => 'ᵬ', 4951 => 'ᶀ', 4952 => 'Ɓ', 4953 => 'Ƃ', 4954 => 'C', 4955 => 'ᴄ', 4956 => 'Ȼ', 4957 => 'Ƈ', 4958 => 'ɕ', 4959 => 'Ↄ', 4960 => 'Ꜿ', 4961 => 'D', 4962 => 'ᴅ', 4963 => 'ᴆ', 4964 => 'ᵭ', 4965 => 'ᶁ', 4966 => 'Ɖ', 4967 => 'Ɗ', 4968 => 'ᶑ', 4969 => 'Ƌ', 4970 => 'ȡ', 4971 => 'ꝱ', 4972 => 'ẟ', 4973 => 'E', 4974 => 'ᴇ', 4975 => 'Ɇ', 4976 => 'ᶒ', 4977 => 'ⱸ', 4978 => 'Ǝ', 4979 => 'ⱻ', 4980 => 'Ə', 4981 => 'ᶕ', 4982 => 'Ɛ', 4983 => 'ᶓ', 4984 => 'ɘ', 4985 => 'ɚ', 4986 => 'ɜ', 4987 => 'ᶔ', 4988 => 'ᴈ', 4989 => 'ɝ', 4990 => 'ɞ', 4991 => 'ʚ', 4992 => 'ɤ', 4993 => 'F', 4994 => 'ꜰ', 4995 => 'ᵮ', 4996 => 'ᶂ', 4997 => 'Ƒ', 4998 => 'Ⅎ', 4999 => 'ꟻ', 5000 => 'G', 5001 => 'ɡ', 5002 => 'ɢ', 5003 => 'Ǥ', 5004 => 'ᶃ', 5005 => 'Ɠ', 5006 => 'ʛ', 5007 => 'ᵷ', 5008 => 'Ꝿ', 5009 => 'Ɣ', 5010 => 'Ƣ', 5011 => 'H', 5012 => 'ʜ', 5013 => 'Ƕ', 5014 => 'ɦ', 5015 => 'Ⱨ', 5016 => 'Ⱶ', 5017 => 'Ꜧ', 5018 => 'ɧ', 5019 => 'ʻ', 5020 => 'ʽ', 5021 => 'I', 5022 => 'ı', 5023 => 'ɪ', 5024 => 'ꟾ', 5025 => 'ᴉ', 5026 => 'Ɨ', 5027 => 'ᵻ', 5028 => 'ᶖ', 5029 => 'Ɩ', 5030 => 'ᵼ', 5031 => 'J', 5032 => 'ȷ', 5033 => 'ᴊ', 5034 => 'Ɉ', 5035 => 'ʝ', 5036 => 'ɟ', 5037 => 'ʄ', 5038 => 'K', 5039 => 'ᴋ', 5040 => 'ᶄ', 5041 => 'Ƙ', 5042 => 'Ⱪ', 5043 => 'Ꝁ', 5044 => 'Ꝃ', 5045 => 'Ꝅ', 5046 => 'ʞ', 5047 => 'L', 5048 => 'ʟ', 5049 => 'Ꝇ', 5050 => 'ᴌ', 5051 => 'Ꝉ', 5052 => 'Ƚ', 5053 => 'Ⱡ', 5054 => 'Ɫ', 5055 => 'ɬ', 5056 => 'ᶅ', 5057 => 'ɭ', 5058 => 'ꞎ', 5059 => 'ȴ', 5060 => 'ꝲ', 5061 => 'ɮ', 5062 => 'Ꞁ', 5063 => 'ƛ', 5064 => 'ʎ', 5065 => 'M', 5066 => 'ᴍ', 5067 => 'ᵯ', 5068 => 'ᶆ', 5069 => 'Ɱ', 5070 => 'ꟽ', 5071 => 'ꟿ', 5072 => 'ꝳ', 5073 => 'N', 5074 => 'ɴ', 5075 => 'ᴻ', 5076 => 'ᴎ', 5077 => 'ᵰ', 5078 => 'Ɲ', 5079 => 'Ƞ', 5080 => 'Ꞑ', 5081 => 'ᶇ', 5082 => 'ɳ', 5083 => 'ȵ', 5084 => 'ꝴ', 5085 => 'Ŋ', 5086 => 'O', 5087 => 'ᴏ', 5088 => 'ᴑ', 5089 => 'ɶ', 5090 => 'ᴔ', 5091 => 'ᴓ', 5092 => 'Ɔ', 5093 => 'ᴐ', 5094 => 'ᴒ', 5095 => 'ᶗ', 5096 => 'Ꝍ', 5097 => 'ᴖ', 5098 => 'ᴗ', 5099 => 'ⱺ', 5100 => 'Ɵ', 5101 => 'Ꝋ', 5102 => 'ɷ', 5103 => 'Ȣ', 5104 => 'ᴕ', 5105 => 'P', 5106 => 'ᴘ', 5107 => 'Ᵽ', 5108 => 'Ꝑ', 5109 => 'ᵱ', 5110 => 'ᶈ', 5111 => 'Ƥ', 5112 => 'Ꝓ', 5113 => 'Ꝕ', 5114 => 'ꟼ', 5115 => 'ɸ', 5116 => 'ⱷ', 5117 => 'Q', 5118 => 'Ꝗ', 5119 => 'Ꝙ', 5120 => 'ʠ', 5121 => 'Ɋ', 5122 => 'ĸ', 5123 => 'R', 5124 => 'Ʀ', 5125 => 'Ꝛ', 5126 => 'ᴙ', 5127 => 'Ɍ', 5128 => 'ᵲ', 5129 => 'ɹ', 5130 => 'ᴚ', 5131 => 'ɺ', 5132 => 'ᶉ', 5133 => 'ɻ', 5134 => 'ⱹ', 5135 => 'ɼ', 5136 => 'Ɽ', 5137 => 'ɾ', 5138 => 'ᵳ', 5139 => 'ɿ', 5140 => 'ʁ', 5141 => 'ꝵ', 5142 => 'ꝶ', 5143 => 'Ꝝ', 5144 => 'S', 5145 => 'ꜱ', 5146 => 'ᵴ', 5147 => 'ᶊ', 5148 => 'ʂ', 5149 => 'Ȿ', 5150 => 'ẜ', 5151 => 'ẝ', 5152 => 'Ʃ', 5153 => 'ᶋ', 5154 => 'ƪ', 5155 => 'ʅ', 5156 => 'ᶘ', 5157 => 'ʆ', 5158 => 'T', 5159 => 'ᴛ', 5160 => 'Ŧ', 5161 => 'Ⱦ', 5162 => 'ᵵ', 5163 => 'ƫ', 5164 => 'Ƭ', 5165 => 'Ʈ', 5166 => 'ȶ', 5167 => 'ꝷ', 5168 => 'ʇ', 5169 => 'U', 5170 => 'ᴜ', 5171 => 'ᴝ', 5172 => 'ᴞ', 5173 => 'ᵫ', 5174 => 'Ʉ', 5175 => 'ᵾ', 5176 => 'ᶙ', 5177 => 'Ɥ', 5178 => 'ʮ', 5179 => 'ʯ', 5180 => 'Ɯ', 5181 => 'ꟺ', 5182 => 'ᴟ', 5183 => 'ɰ', 5184 => 'Ʊ', 5185 => 'ᵿ', 5186 => 'V', 5187 => 'ᴠ', 5188 => 'Ꝟ', 5189 => 'ᶌ', 5190 => 'Ʋ', 5191 => 'ⱱ', 5192 => 'ⱴ', 5193 => 'Ỽ', 5194 => 'Ʌ', 5195 => 'W', 5196 => 'ᴡ', 5197 => 'Ⱳ', 5198 => 'ʍ', 5199 => 'X', 5200 => 'ᶍ', 5201 => 'Y', 5202 => 'ʏ', 5203 => 'Ɏ', 5204 => 'Ƴ', 5205 => 'Ỿ', 5206 => 'Z', 5207 => 'ᴢ', 5208 => 'Ƶ', 5209 => 'ᵶ', 5210 => 'ᶎ', 5211 => 'Ȥ', 5212 => 'ʐ', 5213 => 'ʑ', 5214 => 'Ɀ', 5215 => 'Ⱬ', 5216 => 'Ꝣ', 5217 => 'Ʒ', 5218 => 'ᴣ', 5219 => 'Ƹ', 5220 => 'ᶚ', 5221 => 'ƺ', 5222 => 'ʓ', 5223 => 'Ȝ', 5224 => 'Þ', 5225 => 'Ꝥ', 5226 => 'Ꝧ', 5227 => 'Ƿ', 5228 => 'Ꝩ', 5229 => 'Ꝫ', 5230 => 'Ꝭ', 5231 => 'Ꝯ', 5232 => 'ꝸ', 5233 => 'ƻ', 5234 => 'Ꜫ', 5235 => 'Ꜭ', 5236 => 'Ꜯ', 5237 => 'Ƨ', 5238 => 'Ƽ', 5239 => 'Ƅ', 5240 => 'ʔ', 5241 => 'Ɂ', 5242 => 'ˀ', 5243 => 'ʼ', 5244 => 'ˮ', 5245 => 'ʾ', 5246 => 'Ꜣ', 5247 => 'Ꞌ', 5248 => 'ʕ', 5249 => 'ʿ', 5250 => 'ˁ', 5251 => 'ᴤ', 5252 => 'ᴥ', 5253 => 'Ꜥ', 5254 => 'ʡ', 5255 => 'ʢ', 5256 => 'ʖ', 5257 => 'ǀ', 5258 => 'ǁ', 5259 => 'ǂ', 5260 => 'ǃ', 5261 => 'ʗ', 5262 => 'ʘ', 5263 => 'ʬ', 5264 => 'ʭ', 5265 => 'Α', 5266 => 'Β', 5267 => 'Γ', 5268 => 'ᴦ', 5269 => 'Δ', 5270 => 'Ε', 5271 => 'Ϝ', 5272 => 'Ͷ', 5273 => 'Ϛ', 5274 => 'Ζ', 5275 => 'Ͱ', 5276 => 'Η', 5277 => 'Θ', 5278 => 'Ι', 5279 => 'ϳ', 5280 => 'Κ', 5281 => 'Λ', 5282 => 'ᴧ', 5283 => 'Μ', 5284 => 'Ν', 5285 => 'Ξ', 5286 => 'Ο', 5287 => 'Π', 5288 => 'ᴨ', 5289 => 'Ϻ', 5290 => 'Ϟ', 5291 => 'Ϙ', 5292 => 'Ρ', 5293 => 'ᴩ', 5294 => 'ϼ', 5295 => 'Σ', 5296 => 'Ͼ', 5297 => 'Ͻ', 5298 => 'Ͽ', 5299 => 'Τ', 5300 => 'Υ', 5301 => 'Φ', 5302 => 'Χ', 5303 => 'Ψ', 5304 => 'ᴪ', 5305 => 'Ω', 5306 => 'Ϡ', 5307 => 'Ͳ', 5308 => 'Ϸ', 5309 => 'Ⲁ', 5310 => 'Ⲃ', 5311 => 'Ⲅ', 5312 => 'Ⲇ', 5313 => 'Ⲉ', 5314 => 'Ⲷ', 5315 => 'Ⲋ', 5316 => 'Ⲍ', 5317 => 'Ⲏ', 5318 => 'Ⲑ', 5319 => 'Ⲓ', 5320 => 'Ⲕ', 5321 => 'Ⲹ', 5322 => 'Ⲗ', 5323 => 'Ⲙ', 5324 => 'Ⲛ', 5325 => 'Ⲻ', 5326 => 'Ⲽ', 5327 => 'Ⲝ', 5328 => 'Ⲟ', 5329 => 'Ⲡ', 5330 => 'Ⲣ', 5331 => 'Ⲥ', 5332 => 'Ⲧ', 5333 => 'Ⲩ', 5334 => 'Ⲫ', 5335 => 'Ⲭ', 5336 => 'Ⲯ', 5337 => 'Ⲱ', 5338 => 'Ⲿ', 5339 => 'Ⳁ', 5340 => 'Ϣ', 5341 => 'Ⳬ', 5342 => 'Ⳃ', 5343 => 'Ⳅ', 5344 => 'Ⳇ', 5345 => 'Ϥ', 5346 => 'Ϧ', 5347 => 'Ⳉ', 5348 => 'Ϩ', 5349 => 'Ⳋ', 5350 => 'Ⳍ', 5351 => 'Ⳏ', 5352 => 'Ⳑ', 5353 => 'Ⳓ', 5354 => 'Ⳕ', 5355 => 'Ϫ', 5356 => 'Ⳮ', 5357 => 'Ⳗ', 5358 => 'Ϭ', 5359 => 'Ⳙ', 5360 => 'Ⳛ', 5361 => 'Ⳝ', 5362 => 'Ϯ', 5363 => 'Ⲳ', 5364 => 'Ⲵ', 5365 => 'Ⳟ', 5366 => 'Ⳡ', 5367 => 'Ⳣ', 5368 => 'А', 5369 => 'Ӑ', 5370 => 'Ӓ', 5371 => 'Ә', 5372 => 'Ӛ', 5373 => 'Ӕ', 5374 => 'Б', 5375 => 'В', 5376 => 'Г', 5377 => 'Ғ', 5378 => 'Ӻ', 5379 => 'Ҕ', 5380 => 'Ӷ', 5381 => 'Д', 5382 => 'Ԁ', 5383 => 'Ꚁ', 5384 => 'Ђ', 5385 => 'Ꙣ', 5386 => 'Ԃ', 5387 => 'Ѓ', 5388 => 'Ҙ', 5389 => 'Е', 5390 => 'Ӗ', 5391 => 'Є', 5392 => 'Ж', 5393 => 'Ꚅ', 5394 => 'Ӝ', 5395 => 'Җ', 5396 => 'З', 5397 => 'Ꙁ', 5398 => 'Ԅ', 5399 => 'Ԑ', 5400 => 'Ӟ', 5401 => 'Ꙃ', 5402 => 'Ѕ', 5403 => 'Ꙅ', 5404 => 'Ӡ', 5405 => 'Ꚉ', 5406 => 'Ԇ', 5407 => 'Ꚃ', 5408 => 'И', 5409 => 'Ҋ', 5410 => 'Ӥ', 5411 => 'І', 5412 => 'Ꙇ', 5413 => 'Ї', 5414 => 'Й', 5415 => 'Ј', 5416 => 'Ꙉ', 5417 => 'К', 5418 => 'Қ', 5419 => 'Ӄ', 5420 => 'Ҡ', 5421 => 'Ҟ', 5422 => 'Ҝ', 5423 => 'Ԟ', 5424 => 'Ԛ', 5425 => 'Л', 5426 => 'ᴫ', 5427 => 'Ӆ', 5428 => 'Ԓ', 5429 => 'Ԡ', 5430 => 'Љ', 5431 => 'Ꙥ', 5432 => 'Ԉ', 5433 => 'Ԕ', 5434 => 'М', 5435 => 'Ӎ', 5436 => 'Ꙧ', 5437 => 'Н', 5438 => 'Ӊ', 5439 => 'Ң', 5440 => 'Ӈ', 5441 => 'Ԣ', 5442 => 'Ҥ', 5443 => 'Њ', 5444 => 'Ԋ', 5445 => 'О', 5446 => 'Ӧ', 5447 => 'Ө', 5448 => 'Ӫ', 5449 => 'П', 5450 => 'Ԥ', 5451 => 'Ҧ', 5452 => 'Ҁ', 5453 => 'Р', 5454 => 'Ҏ', 5455 => 'Ԗ', 5456 => 'С', 5457 => 'Ԍ', 5458 => 'Ҫ', 5459 => 'Т', 5460 => 'Ꚍ', 5461 => 'Ԏ', 5462 => 'Ҭ', 5463 => 'Ꚋ', 5464 => 'Ћ', 5465 => 'Ќ', 5466 => 'У', 5467 => 'Ў', 5468 => 'Ӱ', 5469 => 'Ӳ', 5470 => 'Ү', 5471 => 'Ұ', 5472 => 'Ꙋ', 5473 => 'Ѹ', 5474 => 'Ф', 5475 => 'Х', 5476 => 'Ӽ', 5477 => 'Ӿ', 5478 => 'Ҳ', 5479 => 'Һ', 5480 => 'Ԧ', 5481 => 'Ꚕ', 5482 => 'Ѡ', 5483 => 'Ѿ', 5484 => 'Ꙍ', 5485 => 'Ѽ', 5486 => 'Ѻ', 5487 => 'Ц', 5488 => 'Ꙡ', 5489 => 'Ꚏ', 5490 => 'Ҵ', 5491 => 'Ꚑ', 5492 => 'Ч', 5493 => 'Ꚓ', 5494 => 'Ӵ', 5495 => 'Ҷ', 5496 => 'Ӌ', 5497 => 'Ҹ', 5498 => 'Ꚇ', 5499 => 'Ҽ', 5500 => 'Ҿ', 5501 => 'Џ', 5502 => 'Ш', 5503 => 'Ꚗ', 5504 => 'Щ', 5505 => 'Ꙏ', 5506 => 'ⸯ', 5507 => 'ꙿ', 5508 => 'Ъ', 5509 => 'Ꙑ', 5510 => 'Ы', 5511 => 'Ӹ', 5512 => 'Ь', 5513 => 'Ҍ', 5514 => 'Ѣ', 5515 => 'Ꙓ', 5516 => 'Э', 5517 => 'Ӭ', 5518 => 'Ю', 5519 => 'Ꙕ', 5520 => 'Ꙗ', 5521 => 'Я', 5522 => 'Ԙ', 5523 => 'Ѥ', 5524 => 'Ѧ', 5525 => 'Ꙙ', 5526 => 'Ѫ', 5527 => 'Ꙛ', 5528 => 'Ѩ', 5529 => 'Ꙝ', 5530 => 'Ѭ', 5531 => 'Ѯ', 5532 => 'Ѱ', 5533 => 'Ѳ', 5534 => 'Ѵ', 5535 => 'Ѷ', 5536 => 'Ꙟ', 5537 => 'Ҩ', 5538 => 'Ԝ', 5539 => 'Ӏ', 5540 => 'Ⰰ', 5541 => 'Ⰱ', 5542 => 'Ⰲ', 5543 => 'Ⰳ', 5544 => 'Ⰴ', 5545 => 'Ⰵ', 5546 => 'Ⰶ', 5547 => 'Ⰷ', 5548 => 'Ⰸ', 5549 => 'Ⰹ', 5550 => 'Ⰺ', 5551 => 'Ⰻ', 5552 => 'Ⰼ', 5553 => 'Ⰽ', 5554 => 'Ⰾ', 5555 => 'Ⰿ', 5556 => 'Ⱀ', 5557 => 'Ⱁ', 5558 => 'Ⱂ', 5559 => 'Ⱃ', 5560 => 'Ⱄ', 5561 => 'Ⱅ', 5562 => 'Ⱆ', 5563 => 'Ⱇ', 5564 => 'Ⱈ', 5565 => 'Ⱉ', 5566 => 'Ⱊ', 5567 => 'Ⱋ', 5568 => 'Ⱌ', 5569 => 'Ⱍ', 5570 => 'Ⱎ', 5571 => 'Ⱏ', 5572 => 'Ⱐ', 5573 => 'Ⱑ', 5574 => 'Ⱒ', 5575 => 'Ⱓ', 5576 => 'Ⱔ', 5577 => 'Ⱕ', 5578 => 'Ⱖ', 5579 => 'Ⱗ', 5580 => 'Ⱘ', 5581 => 'Ⱙ', 5582 => 'Ⱚ', 5583 => 'Ⱛ', 5584 => 'Ⱜ', 5585 => 'Ⱝ', 5586 => 'Ⱞ', 5587 => 'ა', 5588 => 'Ⴀ', 5589 => 'ბ', 5590 => 'Ⴁ', 5591 => 'გ', 5592 => 'Ⴂ', 5593 => 'დ', 5594 => 'Ⴃ', 5595 => 'ე', 5596 => 'Ⴄ', 5597 => 'ვ', 5598 => 'Ⴅ', 5599 => 'ზ', 5600 => 'Ⴆ', 5601 => 'ჱ', 5602 => 'Ⴡ', 5603 => 'თ', 5604 => 'Ⴇ', 5605 => 'ი', 5606 => 'Ⴈ', 5607 => 'კ', 5608 => 'Ⴉ', 5609 => 'ლ', 5610 => 'Ⴊ', 5611 => 'მ', 5612 => 'Ⴋ', 5613 => 'ნ', 5614 => 'Ⴌ', 5615 => 'ჲ', 5616 => 'Ⴢ', 5617 => 'ო', 5618 => 'Ⴍ', 5619 => 'პ', 5620 => 'Ⴎ', 5621 => 'ჟ', 5622 => 'Ⴏ', 5623 => 'რ', 5624 => 'Ⴐ', 5625 => 'ს', 5626 => 'Ⴑ', 5627 => 'ტ', 5628 => 'Ⴒ', 5629 => 'ჳ', 5630 => 'Ⴣ', 5631 => 'უ', 5632 => 'Ⴓ', 5633 => 'ფ', 5634 => 'Ⴔ', 5635 => 'ქ', 5636 => 'Ⴕ', 5637 => 'ღ', 5638 => 'Ⴖ', 5639 => 'ყ', 5640 => 'Ⴗ', 5641 => 'შ', 5642 => 'Ⴘ', 5643 => 'ჩ', 5644 => 'Ⴙ', 5645 => 'ც', 5646 => 'Ⴚ', 5647 => 'ძ', 5648 => 'Ⴛ', 5649 => 'წ', 5650 => 'Ⴜ', 5651 => 'ჭ', 5652 => 'Ⴝ', 5653 => 'ხ', 5654 => 'Ⴞ', 5655 => 'ჴ', 5656 => 'Ⴤ', 5657 => 'ჯ', 5658 => 'Ⴟ', 5659 => 'ჰ', 5660 => 'Ⴠ', 5661 => 'ჵ', 5662 => 'Ⴥ', 5663 => 'ჶ', 5664 => 'ჷ', 5665 => 'ჸ', 5666 => 'ჹ', 5667 => 'ჺ', 5668 => 'Ա', 5669 => 'Բ', 5670 => 'Գ', 5671 => 'Դ', 5672 => 'Ե', 5673 => 'Զ', 5674 => 'Է', 5675 => 'Ը', 5676 => 'Թ', 5677 => 'Ժ', 5678 => 'Ի', 5679 => 'Լ', 5680 => 'Խ', 5681 => 'Ծ', 5682 => 'Կ', 5683 => 'Հ', 5684 => 'Ձ', 5685 => 'Ղ', 5686 => 'Ճ', 5687 => 'Մ', 5688 => 'Յ', 5689 => 'Ն', 5690 => 'Շ', 5691 => 'Ո', 5692 => 'Չ', 5693 => 'Պ', 5694 => 'Ջ', 5695 => 'Ռ', 5696 => 'Ս', 5697 => 'Վ', 5698 => 'Տ', 5699 => 'Ր', 5700 => 'Ց', 5701 => 'Ւ', 5702 => 'Փ', 5703 => 'Ք', 5704 => 'Օ', 5705 => 'Ֆ', 5706 => 'ՙ', 5707 => 'א', 5708 => 'ב', 5709 => 'ג', 5710 => 'ד', 5711 => 'ה', 5712 => 'ו', 5713 => 'ז', 5714 => 'ח', 5715 => 'ט', 5716 => 'י', 5717 => 'ך', 5718 => 'ל', 5719 => 'ם', 5720 => 'ן', 5721 => 'ס', 5722 => 'ע', 5723 => 'ף', 5724 => 'ץ', 5725 => 'ק', 5726 => 'ר', 5727 => 'ש', 5728 => 'ת', 5729 => '𐤀', 5730 => '𐤁', 5731 => '𐤂', 5732 => '𐤃', 5733 => '𐤄', 5734 => '𐤅', 5735 => '𐤆', 5736 => '𐤇', 5737 => '𐤈', 5738 => '𐤉', 5739 => '𐤊', 5740 => '𐤋', 5741 => '𐤌', 5742 => '𐤍', 5743 => '𐤎', 5744 => '𐤏', 5745 => '𐤐', 5746 => '𐤑', 5747 => '𐤒', 5748 => '𐤓', 5749 => '𐤔', 5750 => '𐤕', 5751 => 'ࠀ', 5752 => 'ࠁ', 5753 => 'ࠂ', 5754 => 'ࠃ', 5755 => 'ࠄ', 5756 => 'ࠅ', 5757 => 'ࠆ', 5758 => 'ࠇ', 5759 => 'ࠈ', 5760 => 'ࠉ', 5761 => 'ࠊ', 5762 => 'ࠋ', 5763 => 'ࠌ', 5764 => 'ࠍ', 5765 => 'ࠎ', 5766 => 'ࠏ', 5767 => 'ࠐ', 5768 => 'ࠑ', 5769 => 'ࠒ', 5770 => 'ࠓ', 5771 => 'ࠔ', 5772 => 'ࠕ', 5773 => 'ࠚ', 5774 => 'ء', 5775 => 'آ', 5776 => 'أ', 5777 => 'ٲ', 5778 => 'ٱ', 5779 => 'ؤ', 5780 => 'إ', 5781 => 'ٳ', 5782 => 'ݳ', 5783 => 'ݴ', 5784 => 'ئ', 5785 => 'ا', 5786 => 'ٮ', 5787 => 'ب', 5788 => 'ٻ', 5789 => 'پ', 5790 => 'ڀ', 5791 => 'ݐ', 5792 => 'ݑ', 5793 => 'ݒ', 5794 => 'ݓ', 5795 => 'ݔ', 5796 => 'ݕ', 5797 => 'ݖ', 5798 => 'ة', 5799 => 'ت', 5800 => 'ث', 5801 => 'ٹ', 5802 => 'ٺ', 5803 => 'ټ', 5804 => 'ٽ', 5805 => 'ٿ', 5806 => 'ج', 5807 => 'ڃ', 5808 => 'ڄ', 5809 => 'چ', 5810 => 'ڿ', 5811 => 'ڇ', 5812 => 'ح', 5813 => 'خ', 5814 => 'ځ', 5815 => 'ڂ', 5816 => 'څ', 5817 => 'ݗ', 5818 => 'ݘ', 5819 => 'ݮ', 5820 => 'ݯ', 5821 => 'ݲ', 5822 => 'ݼ', 5823 => 'د', 5824 => 'ذ', 5825 => 'ڈ', 5826 => 'ډ', 5827 => 'ڊ', 5828 => 'ڋ', 5829 => 'ڌ', 5830 => 'ڍ', 5831 => 'ڎ', 5832 => 'ڏ', 5833 => 'ڐ', 5834 => 'ۮ', 5835 => 'ݙ', 5836 => 'ݚ', 5837 => 'ر', 5838 => 'ز', 5839 => 'ڑ', 5840 => 'ڒ', 5841 => 'ړ', 5842 => 'ڔ', 5843 => 'ڕ', 5844 => 'ږ', 5845 => 'ڗ', 5846 => 'ژ', 5847 => 'ڙ', 5848 => 'ۯ', 5849 => 'ݛ', 5850 => 'ݫ', 5851 => 'ݬ', 5852 => 'ݱ', 5853 => 'س', 5854 => 'ش', 5855 => 'ښ', 5856 => 'ڛ', 5857 => 'ڜ', 5858 => 'ۺ', 5859 => 'ݜ', 5860 => 'ݭ', 5861 => 'ݰ', 5862 => 'ݽ', 5863 => 'ݾ', 5864 => 'ص', 5865 => 'ض', 5866 => 'ڝ', 5867 => 'ڞ', 5868 => 'ۻ', 5869 => 'ط', 5870 => 'ظ', 5871 => 'ڟ', 5872 => 'ع', 5873 => 'غ', 5874 => 'ڠ', 5875 => 'ۼ', 5876 => 'ݝ', 5877 => 'ݞ', 5878 => 'ݟ', 5879 => 'ف', 5880 => 'ڡ', 5881 => 'ڢ', 5882 => 'ڣ', 5883 => 'ڤ', 5884 => 'ڥ', 5885 => 'ڦ', 5886 => 'ݠ', 5887 => 'ݡ', 5888 => 'ٯ', 5889 => 'ق', 5890 => 'ڧ', 5891 => 'ڨ', 5892 => 'ك', 5893 => 'ک', 5894 => 'ڪ', 5895 => 'ګ', 5896 => 'ڬ', 5897 => 'ݿ', 5898 => 'ڭ', 5899 => 'ڮ', 5900 => 'گ', 5901 => 'ڰ', 5902 => 'ڱ', 5903 => 'ڲ', 5904 => 'ڳ', 5905 => 'ڴ', 5906 => 'ݢ', 5907 => 'ػ', 5908 => 'ؼ', 5909 => 'ݣ', 5910 => 'ݤ', 5911 => 'ل', 5912 => 'ڵ', 5913 => 'ڶ', 5914 => 'ڷ', 5915 => 'ڸ', 5916 => 'ݪ', 5917 => 'م', 5918 => 'ݥ', 5919 => 'ݦ', 5920 => 'ن', 5921 => 'ں', 5922 => 'ڻ', 5923 => 'ڼ', 5924 => 'ڽ', 5925 => 'ڹ', 5926 => 'ݧ', 5927 => 'ݨ', 5928 => 'ݩ', 5929 => 'ه', 5930 => 'ھ', 5931 => 'ہ', 5932 => 'ۃ', 5933 => 'ۿ', 5934 => 'ە', 5935 => 'و', 5936 => 'ۄ', 5937 => 'ۅ', 5938 => 'ۆ', 5939 => 'ۇ', 5940 => 'ۈ', 5941 => 'ۉ', 5942 => 'ۊ', 5943 => 'ۋ', 5944 => 'ۏ', 5945 => 'ݸ', 5946 => 'ݹ', 5947 => 'ى', 5948 => 'ي', 5949 => 'ی', 5950 => 'ۍ', 5951 => 'ێ', 5952 => 'ې', 5953 => 'ۑ', 5954 => 'ؽ', 5955 => 'ؾ', 5956 => 'ؿ', 5957 => 'ؠ', 5958 => 'ݵ', 5959 => 'ݶ', 5960 => 'ݷ', 5961 => 'ے', 5962 => 'ݺ', 5963 => 'ݻ', 5964 => 'ܐ', 5965 => 'ܒ', 5966 => 'ܓ', 5967 => 'ܖ', 5968 => 'ܕ', 5969 => 'ܗ', 5970 => 'ܘ', 5971 => 'ܙ', 5972 => 'ݍ', 5973 => 'ܚ', 5974 => 'ܛ', 5975 => 'ܝ', 5976 => 'ܞ', 5977 => 'ܟ', 5978 => 'ݎ', 5979 => 'ܠ', 5980 => 'ܡ', 5981 => 'ܢ', 5982 => 'ܣ', 5983 => 'ܥ', 5984 => 'ܦ', 5985 => 'ݏ', 5986 => 'ܨ', 5987 => 'ܩ', 5988 => 'ܪ', 5989 => 'ܫ', 5990 => 'ܬ', 5991 => 'ࡀ', 5992 => 'ࡁ', 5993 => 'ࡂ', 5994 => 'ࡃ', 5995 => 'ࡄ', 5996 => 'ࡅ', 5997 => 'ࡆ', 5998 => 'ࡇ', 5999 => 'ࡈ', 6000 => 'ࡉ', 6001 => 'ࡊ', 6002 => 'ࡋ', 6003 => 'ࡌ', 6004 => 'ࡍ', 6005 => 'ࡎ', 6006 => 'ࡏ', 6007 => 'ࡐ', 6008 => 'ࡑ', 6009 => 'ࡒ', 6010 => 'ࡓ', 6011 => 'ࡔ', 6012 => 'ࡕ', 6013 => 'ࡖ', 6014 => 'ࡗ', 6015 => 'ࡘ', 6016 => 'ހ', 6017 => 'ޙ', 6018 => 'ޚ', 6019 => 'ށ', 6020 => 'ނ', 6021 => 'ރ', 6022 => 'ޜ', 6023 => 'ބ', 6024 => 'ޅ', 6025 => 'ކ', 6026 => 'އ', 6027 => 'ޢ', 6028 => 'ޣ', 6029 => 'ވ', 6030 => 'ޥ', 6031 => 'މ', 6032 => 'ފ', 6033 => 'ދ', 6034 => 'ޛ', 6035 => 'ތ', 6036 => 'ޘ', 6037 => 'ޠ', 6038 => 'ޡ', 6039 => 'ލ', 6040 => 'ގ', 6041 => 'ޤ', 6042 => 'ޏ', 6043 => 'ސ', 6044 => 'ޝ', 6045 => 'ޞ', 6046 => 'ޟ', 6047 => 'ޑ', 6048 => 'ޒ', 6049 => 'ޓ', 6050 => 'ޔ', 6051 => 'ޕ', 6052 => 'ޖ', 6053 => 'ޗ', 6054 => 'ޱ', 6055 => 'ߊ', 6056 => 'ߋ', 6057 => 'ߌ', 6058 => 'ߍ', 6059 => 'ߎ', 6060 => 'ߏ', 6061 => 'ߐ', 6062 => 'ߑ', 6063 => 'ߒ', 6064 => 'ߓ', 6065 => 'ߔ', 6066 => 'ߕ', 6067 => 'ߖ', 6068 => 'ߗ', 6069 => 'ߘ', 6070 => 'ߙ', 6071 => 'ߚ', 6072 => 'ߛ', 6073 => 'ߜ', 6074 => 'ߝ', 6075 => 'ߞ', 6076 => 'ߟ', 6077 => 'ߠ', 6078 => 'ߡ', 6079 => 'ߢ', 6080 => 'ߣ', 6081 => 'ߤ', 6082 => 'ߥ', 6083 => 'ߦ', 6084 => 'ߧ', 6085 => 'ߴ', 6086 => 'ߵ', 6087 => 'ⴰ', 6088 => 'ⴱ', 6089 => 'ⴲ', 6090 => 'ⴳ', 6091 => 'ⴴ', 6092 => 'ⴵ', 6093 => 'ⴶ', 6094 => 'ⴷ', 6095 => 'ⴸ', 6096 => 'ⴹ', 6097 => 'ⴺ', 6098 => 'ⴻ', 6099 => 'ⴼ', 6100 => 'ⴽ', 6101 => 'ⴾ', 6102 => 'ⴿ', 6103 => 'ⵀ', 6104 => 'ⵁ', 6105 => 'ⵂ', 6106 => 'ⵃ', 6107 => 'ⵄ', 6108 => 'ⵅ', 6109 => 'ⵆ', 6110 => 'ⵇ', 6111 => 'ⵈ', 6112 => 'ⵉ', 6113 => 'ⵊ', 6114 => 'ⵋ', 6115 => 'ⵌ', 6116 => 'ⵍ', 6117 => 'ⵎ', 6118 => 'ⵏ', 6119 => 'ⵐ', 6120 => 'ⵑ', 6121 => 'ⵒ', 6122 => 'ⵓ', 6123 => 'ⵔ', 6124 => 'ⵕ', 6125 => 'ⵖ', 6126 => 'ⵗ', 6127 => 'ⵘ', 6128 => 'ⵙ', 6129 => 'ⵚ', 6130 => 'ⵛ', 6131 => 'ⵜ', 6132 => 'ⵝ', 6133 => 'ⵞ', 6134 => 'ⵟ', 6135 => 'ⵠ', 6136 => 'ⵡ', 6137 => 'ⵢ', 6138 => 'ⵣ', 6139 => 'ⵤ', 6140 => 'ⵥ', 6141 => 'ⵯ', 6142 => 'ሀ', 6143 => 'ሁ', 6144 => 'ሂ', 6145 => 'ሃ', 6146 => 'ሄ', 6147 => 'ህ', 6148 => 'ሆ', 6149 => 'ሇ', 6150 => 'ለ', 6151 => 'ሉ', 6152 => 'ሊ', 6153 => 'ላ', 6154 => 'ሌ', 6155 => 'ል', 6156 => 'ሎ', 6157 => 'ሏ', 6158 => 'ⶀ', 6159 => 'ሐ', 6160 => 'ሑ', 6161 => 'ሒ', 6162 => 'ሓ', 6163 => 'ሔ', 6164 => 'ሕ', 6165 => 'ሖ', 6166 => 'ሗ', 6167 => 'መ', 6168 => 'ሙ', 6169 => 'ሚ', 6170 => 'ማ', 6171 => 'ሜ', 6172 => 'ም', 6173 => 'ሞ', 6174 => 'ሟ', 6175 => 'ᎀ', 6176 => 'ᎁ', 6177 => 'ᎂ', 6178 => 'ᎃ', 6179 => 'ⶁ', 6180 => 'ሠ', 6181 => 'ሡ', 6182 => 'ሢ', 6183 => 'ሣ', 6184 => 'ሤ', 6185 => 'ሥ', 6186 => 'ሦ', 6187 => 'ሧ', 6188 => 'ረ', 6189 => 'ሩ', 6190 => 'ሪ', 6191 => 'ራ', 6192 => 'ሬ', 6193 => 'ር', 6194 => 'ሮ', 6195 => 'ሯ', 6196 => 'ⶂ', 6197 => 'ሰ', 6198 => 'ሱ', 6199 => 'ሲ', 6200 => 'ሳ', 6201 => 'ሴ', 6202 => 'ስ', 6203 => 'ሶ', 6204 => 'ሷ', 6205 => 'ⶃ', 6206 => 'ꬁ', 6207 => 'ꬂ', 6208 => 'ꬃ', 6209 => 'ꬄ', 6210 => 'ꬅ', 6211 => 'ꬆ', 6212 => 'ሸ', 6213 => 'ሹ', 6214 => 'ሺ', 6215 => 'ሻ', 6216 => 'ሼ', 6217 => 'ሽ', 6218 => 'ሾ', 6219 => 'ሿ', 6220 => 'ⶄ', 6221 => 'ቀ', 6222 => 'ቁ', 6223 => 'ቂ', 6224 => 'ቃ', 6225 => 'ቄ', 6226 => 'ቅ', 6227 => 'ቆ', 6228 => 'ቇ', 6229 => 'ቈ', 6230 => 'ቊ', 6231 => 'ቋ', 6232 => 'ቌ', 6233 => 'ቍ', 6234 => 'ቐ', 6235 => 'ቑ', 6236 => 'ቒ', 6237 => 'ቓ', 6238 => 'ቔ', 6239 => 'ቕ', 6240 => 'ቖ', 6241 => 'ቘ', 6242 => 'ቚ', 6243 => 'ቛ', 6244 => 'ቜ', 6245 => 'ቝ', 6246 => 'በ', 6247 => 'ቡ', 6248 => 'ቢ', 6249 => 'ባ', 6250 => 'ቤ', 6251 => 'ብ', 6252 => 'ቦ', 6253 => 'ቧ', 6254 => 'ᎄ', 6255 => 'ᎅ', 6256 => 'ᎆ', 6257 => 'ᎇ', 6258 => 'ⶅ', 6259 => 'ቨ', 6260 => 'ቩ', 6261 => 'ቪ', 6262 => 'ቫ', 6263 => 'ቬ', 6264 => 'ቭ', 6265 => 'ቮ', 6266 => 'ቯ', 6267 => 'ተ', 6268 => 'ቱ', 6269 => 'ቲ', 6270 => 'ታ', 6271 => 'ቴ', 6272 => 'ት', 6273 => 'ቶ', 6274 => 'ቷ', 6275 => 'ⶆ', 6276 => 'ቸ', 6277 => 'ቹ', 6278 => 'ቺ', 6279 => 'ቻ', 6280 => 'ቼ', 6281 => 'ች', 6282 => 'ቾ', 6283 => 'ቿ', 6284 => 'ⶇ', 6285 => 'ኀ', 6286 => 'ኁ', 6287 => 'ኂ', 6288 => 'ኃ', 6289 => 'ኄ', 6290 => 'ኅ', 6291 => 'ኆ', 6292 => 'ኇ', 6293 => 'ኈ', 6294 => 'ኊ', 6295 => 'ኋ', 6296 => 'ኌ', 6297 => 'ኍ', 6298 => 'ነ', 6299 => 'ኑ', 6300 => 'ኒ', 6301 => 'ና', 6302 => 'ኔ', 6303 => 'ን', 6304 => 'ኖ', 6305 => 'ኗ', 6306 => 'ⶈ', 6307 => 'ኘ', 6308 => 'ኙ', 6309 => 'ኚ', 6310 => 'ኛ', 6311 => 'ኜ', 6312 => 'ኝ', 6313 => 'ኞ', 6314 => 'ኟ', 6315 => 'ⶉ', 6316 => 'አ', 6317 => 'ኡ', 6318 => 'ኢ', 6319 => 'ኣ', 6320 => 'ኤ', 6321 => 'እ', 6322 => 'ኦ', 6323 => 'ኧ', 6324 => 'ⶊ', 6325 => 'ከ', 6326 => 'ኩ', 6327 => 'ኪ', 6328 => 'ካ', 6329 => 'ኬ', 6330 => 'ክ', 6331 => 'ኮ', 6332 => 'ኯ', 6333 => 'ኰ', 6334 => 'ኲ', 6335 => 'ኳ', 6336 => 'ኴ', 6337 => 'ኵ', 6338 => 'ኸ', 6339 => 'ኹ', 6340 => 'ኺ', 6341 => 'ኻ', 6342 => 'ኼ', 6343 => 'ኽ', 6344 => 'ኾ', 6345 => 'ዀ', 6346 => 'ዂ', 6347 => 'ዃ', 6348 => 'ዄ', 6349 => 'ዅ', 6350 => 'ወ', 6351 => 'ዉ', 6352 => 'ዊ', 6353 => 'ዋ', 6354 => 'ዌ', 6355 => 'ው', 6356 => 'ዎ', 6357 => 'ዏ', 6358 => 'ዐ', 6359 => 'ዑ', 6360 => 'ዒ', 6361 => 'ዓ', 6362 => 'ዔ', 6363 => 'ዕ', 6364 => 'ዖ', 6365 => 'ዘ', 6366 => 'ዙ', 6367 => 'ዚ', 6368 => 'ዛ', 6369 => 'ዜ', 6370 => 'ዝ', 6371 => 'ዞ', 6372 => 'ዟ', 6373 => 'ⶋ', 6374 => 'ꬑ', 6375 => 'ꬒ', 6376 => 'ꬓ', 6377 => 'ꬔ', 6378 => 'ꬕ', 6379 => 'ꬖ', 6380 => 'ዠ', 6381 => 'ዡ', 6382 => 'ዢ', 6383 => 'ዣ', 6384 => 'ዤ', 6385 => 'ዥ', 6386 => 'ዦ', 6387 => 'ዧ', 6388 => 'የ', 6389 => 'ዩ', 6390 => 'ዪ', 6391 => 'ያ', 6392 => 'ዬ', 6393 => 'ይ', 6394 => 'ዮ', 6395 => 'ዯ', 6396 => 'ደ', 6397 => 'ዱ', 6398 => 'ዲ', 6399 => 'ዳ', 6400 => 'ዴ', 6401 => 'ድ', 6402 => 'ዶ', 6403 => 'ዷ', 6404 => 'ⶌ', 6405 => 'ꬉ', 6406 => 'ꬊ', 6407 => 'ꬋ', 6408 => 'ꬌ', 6409 => 'ꬍ', 6410 => 'ꬎ', 6411 => 'ዸ', 6412 => 'ዹ', 6413 => 'ዺ', 6414 => 'ዻ', 6415 => 'ዼ', 6416 => 'ዽ', 6417 => 'ዾ', 6418 => 'ዿ', 6419 => 'ⶍ', 6420 => 'ጀ', 6421 => 'ጁ', 6422 => 'ጂ', 6423 => 'ጃ', 6424 => 'ጄ', 6425 => 'ጅ', 6426 => 'ጆ', 6427 => 'ጇ', 6428 => 'ⶎ', 6429 => 'ገ', 6430 => 'ጉ', 6431 => 'ጊ', 6432 => 'ጋ', 6433 => 'ጌ', 6434 => 'ግ', 6435 => 'ጎ', 6436 => 'ጏ', 6437 => 'ጐ', 6438 => 'ጒ', 6439 => 'ጓ', 6440 => 'ጔ', 6441 => 'ጕ', 6442 => 'ጘ', 6443 => 'ጙ', 6444 => 'ጚ', 6445 => 'ጛ', 6446 => 'ጜ', 6447 => 'ጝ', 6448 => 'ጞ', 6449 => 'ጟ', 6450 => 'ⶓ', 6451 => 'ⶔ', 6452 => 'ⶕ', 6453 => 'ⶖ', 6454 => 'ጠ', 6455 => 'ጡ', 6456 => 'ጢ', 6457 => 'ጣ', 6458 => 'ጤ', 6459 => 'ጥ', 6460 => 'ጦ', 6461 => 'ጧ', 6462 => 'ⶏ', 6463 => 'ጨ', 6464 => 'ጩ', 6465 => 'ጪ', 6466 => 'ጫ', 6467 => 'ጬ', 6468 => 'ጭ', 6469 => 'ጮ', 6470 => 'ጯ', 6471 => 'ⶐ', 6472 => 'ꬠ', 6473 => 'ꬡ', 6474 => 'ꬢ', 6475 => 'ꬣ', 6476 => 'ꬤ', 6477 => 'ꬥ', 6478 => 'ꬦ', 6479 => 'ጰ', 6480 => 'ጱ', 6481 => 'ጲ', 6482 => 'ጳ', 6483 => 'ጴ', 6484 => 'ጵ', 6485 => 'ጶ', 6486 => 'ጷ', 6487 => 'ⶑ', 6488 => 'ጸ', 6489 => 'ጹ', 6490 => 'ጺ', 6491 => 'ጻ', 6492 => 'ጼ', 6493 => 'ጽ', 6494 => 'ጾ', 6495 => 'ጿ', 6496 => 'ꬨ', 6497 => 'ꬩ', 6498 => 'ꬪ', 6499 => 'ꬫ', 6500 => 'ꬬ', 6501 => 'ꬭ', 6502 => 'ꬮ', 6503 => 'ፀ', 6504 => 'ፁ', 6505 => 'ፂ', 6506 => 'ፃ', 6507 => 'ፄ', 6508 => 'ፅ', 6509 => 'ፆ', 6510 => 'ፇ', 6511 => 'ፈ', 6512 => 'ፉ', 6513 => 'ፊ', 6514 => 'ፋ', 6515 => 'ፌ', 6516 => 'ፍ', 6517 => 'ፎ', 6518 => 'ፏ', 6519 => 'ᎈ', 6520 => 'ᎉ', 6521 => 'ᎊ', 6522 => 'ᎋ', 6523 => 'ፐ', 6524 => 'ፑ', 6525 => 'ፒ', 6526 => 'ፓ', 6527 => 'ፔ', 6528 => 'ፕ', 6529 => 'ፖ', 6530 => 'ፗ', 6531 => 'ᎌ', 6532 => 'ᎍ', 6533 => 'ᎎ', 6534 => 'ᎏ', 6535 => 'ⶒ', 6536 => 'ፘ', 6537 => 'ፙ', 6538 => 'ፚ', 6539 => 'ⶠ', 6540 => 'ⶡ', 6541 => 'ⶢ', 6542 => 'ⶣ', 6543 => 'ⶤ', 6544 => 'ⶥ', 6545 => 'ⶦ', 6546 => 'ⶨ', 6547 => 'ⶩ', 6548 => 'ⶪ', 6549 => 'ⶫ', 6550 => 'ⶬ', 6551 => 'ⶭ', 6552 => 'ⶮ', 6553 => 'ⶰ', 6554 => 'ⶱ', 6555 => 'ⶲ', 6556 => 'ⶳ', 6557 => 'ⶴ', 6558 => 'ⶵ', 6559 => 'ⶶ', 6560 => 'ⶸ', 6561 => 'ⶹ', 6562 => 'ⶺ', 6563 => 'ⶻ', 6564 => 'ⶼ', 6565 => 'ⶽ', 6566 => 'ⶾ', 6567 => 'ⷀ', 6568 => 'ⷁ', 6569 => 'ⷂ', 6570 => 'ⷃ', 6571 => 'ⷄ', 6572 => 'ⷅ', 6573 => 'ⷆ', 6574 => 'ⷈ', 6575 => 'ⷉ', 6576 => 'ⷊ', 6577 => 'ⷋ', 6578 => 'ⷌ', 6579 => 'ⷍ', 6580 => 'ⷎ', 6581 => 'ⷐ', 6582 => 'ⷑ', 6583 => 'ⷒ', 6584 => 'ⷓ', 6585 => 'ⷔ', 6586 => 'ⷕ', 6587 => 'ⷖ', 6588 => 'ⷘ', 6589 => 'ⷙ', 6590 => 'ⷚ', 6591 => 'ⷛ', 6592 => 'ⷜ', 6593 => 'ⷝ', 6594 => 'ⷞ', 6595 => 'ॐ', 6596 => 'ॲ', 6597 => 'ऄ', 6598 => 'अ', 6599 => 'आ', 6600 => 'ॳ', 6601 => 'ॴ', 6602 => 'ॵ', 6603 => 'ॶ', 6604 => 'ॷ', 6605 => 'इ', 6606 => 'ई', 6607 => 'उ', 6608 => 'ऊ', 6609 => 'ऋ', 6610 => 'ॠ', 6611 => 'ऌ', 6612 => 'ॡ', 6613 => 'ऍ', 6614 => 'ऎ', 6615 => 'ए', 6616 => 'ऐ', 6617 => 'ऑ', 6618 => 'ऒ', 6619 => 'ओ', 6620 => 'औ', 6621 => 'क', 6622 => 'ख', 6623 => 'ग', 6624 => 'ॻ', 6625 => 'घ', 6626 => 'ङ', 6627 => 'च', 6628 => 'छ', 6629 => 'ज', 6630 => 'ॹ', 6631 => 'ॼ', 6632 => 'झ', 6633 => 'ञ', 6634 => 'ट', 6635 => 'ठ', 6636 => 'ड', 6637 => 'ॾ', 6638 => 'ढ', 6639 => 'ण', 6640 => 'त', 6641 => 'थ', 6642 => 'द', 6643 => 'ध', 6644 => 'न', 6645 => 'प', 6646 => 'फ', 6647 => 'ब', 6648 => 'ॿ', 6649 => 'भ', 6650 => 'म', 6651 => 'य', 6652 => 'ॺ', 6653 => 'र', 6654 => 'ल', 6655 => 'ळ', 6656 => 'व', 6657 => 'श', 6658 => 'ष', 6659 => 'स', 6660 => 'ह', 6661 => 'ऽ', 6662 => 'ॽ', 6663 => 'ᳩ', 6664 => 'ꣲ', 6665 => 'ꣻ', 6666 => 'অ', 6667 => 'আ', 6668 => 'ই', 6669 => 'ঈ', 6670 => 'উ', 6671 => 'ঊ', 6672 => 'ঋ', 6673 => 'ৠ', 6674 => 'ঌ', 6675 => 'ৡ', 6676 => 'এ', 6677 => 'ঐ', 6678 => 'ও', 6679 => 'ঔ', 6680 => 'ক', 6681 => 'খ', 6682 => 'গ', 6683 => 'ঘ', 6684 => 'ঙ', 6685 => 'চ', 6686 => 'ছ', 6687 => 'জ', 6688 => 'ঝ', 6689 => 'ঞ', 6690 => 'ট', 6691 => 'ঠ', 6692 => 'ড', 6693 => 'ঢ', 6694 => 'ণ', 6695 => 'ত', 6696 => 'থ', 6697 => 'দ', 6698 => 'ধ', 6699 => 'ন', 6700 => 'প', 6701 => 'ফ', 6702 => 'ব', 6703 => 'ভ', 6704 => 'ম', 6705 => 'য', 6706 => 'র', 6707 => 'ৰ', 6708 => 'ল', 6709 => 'ৱ', 6710 => 'শ', 6711 => 'ষ', 6712 => 'স', 6713 => 'হ', 6714 => 'ঽ', 6715 => 'ੴ', 6716 => 'ੳ', 6717 => 'ਉ', 6718 => 'ਊ', 6719 => 'ਓ', 6720 => 'ਅ', 6721 => 'ਆ', 6722 => 'ਐ', 6723 => 'ਔ', 6724 => 'ੲ', 6725 => 'ਇ', 6726 => 'ਈ', 6727 => 'ਏ', 6728 => 'ਸ', 6729 => 'ਹ', 6730 => 'ਕ', 6731 => 'ਖ', 6732 => 'ਗ', 6733 => 'ਘ', 6734 => 'ਙ', 6735 => 'ਚ', 6736 => 'ਛ', 6737 => 'ਜ', 6738 => 'ਝ', 6739 => 'ਞ', 6740 => 'ਟ', 6741 => 'ਠ', 6742 => 'ਡ', 6743 => 'ਢ', 6744 => 'ਣ', 6745 => 'ਤ', 6746 => 'ਥ', 6747 => 'ਦ', 6748 => 'ਧ', 6749 => 'ਨ', 6750 => 'ਪ', 6751 => 'ਫ', 6752 => 'ਬ', 6753 => 'ਭ', 6754 => 'ਮ', 6755 => 'ਯ', 6756 => 'ਰ', 6757 => 'ਲ', 6758 => 'ਵ', 6759 => 'ੜ', 6760 => 'ૐ', 6761 => 'અ', 6762 => 'આ', 6763 => 'ઇ', 6764 => 'ઈ', 6765 => 'ઉ', 6766 => 'ઊ', 6767 => 'ઋ', 6768 => 'ૠ', 6769 => 'ઌ', 6770 => 'ૡ', 6771 => 'ઍ', 6772 => 'એ', 6773 => 'ઐ', 6774 => 'ઑ', 6775 => 'ઓ', 6776 => 'ઔ', 6777 => 'ક', 6778 => 'ખ', 6779 => 'ગ', 6780 => 'ઘ', 6781 => 'ઙ', 6782 => 'ચ', 6783 => 'છ', 6784 => 'જ', 6785 => 'ઝ', 6786 => 'ઞ', 6787 => 'ટ', 6788 => 'ઠ', 6789 => 'ડ', 6790 => 'ઢ', 6791 => 'ણ', 6792 => 'ત', 6793 => 'થ', 6794 => 'દ', 6795 => 'ધ', 6796 => 'ન', 6797 => 'પ', 6798 => 'ફ', 6799 => 'બ', 6800 => 'ભ', 6801 => 'મ', 6802 => 'ય', 6803 => 'ર', 6804 => 'લ', 6805 => 'વ', 6806 => 'શ', 6807 => 'ષ', 6808 => 'સ', 6809 => 'હ', 6810 => 'ળ', 6811 => 'ઽ', 6812 => 'ଅ', 6813 => 'ଆ', 6814 => 'ଇ', 6815 => 'ଈ', 6816 => 'ଉ', 6817 => 'ଊ', 6818 => 'ଋ', 6819 => 'ୠ', 6820 => 'ଌ', 6821 => 'ୡ', 6822 => 'ଏ', 6823 => 'ଐ', 6824 => 'ଓ', 6825 => 'ଔ', 6826 => 'କ', 6827 => 'ଖ', 6828 => 'ଗ', 6829 => 'ଘ', 6830 => 'ଙ', 6831 => 'ଚ', 6832 => 'ଛ', 6833 => 'ଜ', 6834 => 'ଝ', 6835 => 'ଞ', 6836 => 'ଟ', 6837 => 'ଠ', 6838 => 'ଡ', 6839 => 'ଢ', 6840 => 'ଣ', 6841 => 'ତ', 6842 => 'ଥ', 6843 => 'ଦ', 6844 => 'ଧ', 6845 => 'ନ', 6846 => 'ପ', 6847 => 'ଫ', 6848 => 'ବ', 6849 => 'ଭ', 6850 => 'ମ', 6851 => 'ଯ', 6852 => 'ୟ', 6853 => 'ର', 6854 => 'ଲ', 6855 => 'ଳ', 6856 => 'ଵ', 6857 => 'ୱ', 6858 => 'ଶ', 6859 => 'ଷ', 6860 => 'ସ', 6861 => 'ହ', 6862 => 'ଽ', 6863 => 'ௐ', 6864 => 'அ', 6865 => 'ஆ', 6866 => 'இ', 6867 => 'ஈ', 6868 => 'உ', 6869 => 'ஊ', 6870 => 'எ', 6871 => 'ஏ', 6872 => 'ஐ', 6873 => 'ஒ', 6874 => 'ஓ', 6875 => 'ஔ', 6876 => 'ஃ', 6877 => 'க', 6878 => 'ங', 6879 => 'ச', 6880 => 'ஞ', 6881 => 'ட', 6882 => 'ண', 6883 => 'த', 6884 => 'ந', 6885 => 'ப', 6886 => 'ம', 6887 => 'ய', 6888 => 'ர', 6889 => 'ல', 6890 => 'வ', 6891 => 'ழ', 6892 => 'ள', 6893 => 'ற', 6894 => 'ன', 6895 => 'ஜ', 6896 => 'ஶ', 6897 => 'ஷ', 6898 => 'ஸ', 6899 => 'ஹ', 6900 => 'అ', 6901 => 'ఆ', 6902 => 'ఇ', 6903 => 'ఈ', 6904 => 'ఉ', 6905 => 'ఊ', 6906 => 'ఋ', 6907 => 'ౠ', 6908 => 'ఌ', 6909 => 'ౡ', 6910 => 'ఎ', 6911 => 'ఏ', 6912 => 'ఐ', 6913 => 'ఒ', 6914 => 'ఓ', 6915 => 'ఔ', 6916 => 'క', 6917 => 'ఖ', 6918 => 'గ', 6919 => 'ఘ', 6920 => 'ఙ', 6921 => 'చ', 6922 => 'ౘ', 6923 => 'ఛ', 6924 => 'జ', 6925 => 'ౙ', 6926 => 'ఝ', 6927 => 'ఞ', 6928 => 'ట', 6929 => 'ఠ', 6930 => 'డ', 6931 => 'ఢ', 6932 => 'ణ', 6933 => 'త', 6934 => 'థ', 6935 => 'ద', 6936 => 'ధ', 6937 => 'న', 6938 => 'ప', 6939 => 'ఫ', 6940 => 'బ', 6941 => 'భ', 6942 => 'మ', 6943 => 'య', 6944 => 'ర', 6945 => 'ఱ', 6946 => 'ల', 6947 => 'వ', 6948 => 'శ', 6949 => 'ష', 6950 => 'స', 6951 => 'హ', 6952 => 'ళ', 6953 => 'ఽ', 6954 => 'ಅ', 6955 => 'ಆ', 6956 => 'ಇ', 6957 => 'ಈ', 6958 => 'ಉ', 6959 => 'ಊ', 6960 => 'ಋ', 6961 => 'ೠ', 6962 => 'ಌ', 6963 => 'ೡ', 6964 => 'ಎ', 6965 => 'ಏ', 6966 => 'ಐ', 6967 => 'ಒ', 6968 => 'ಓ', 6969 => 'ಔ', 6970 => 'ಕ', 6971 => 'ಖ', 6972 => 'ಗ', 6973 => 'ಘ', 6974 => 'ಙ', 6975 => 'ಚ', 6976 => 'ಛ', 6977 => 'ಜ', 6978 => 'ಝ', 6979 => 'ಞ', 6980 => 'ಟ', 6981 => 'ಠ', 6982 => 'ಡ', 6983 => 'ಢ', 6984 => 'ಣ', 6985 => 'ತ', 6986 => 'ಥ', 6987 => 'ದ', 6988 => 'ಧ', 6989 => 'ನ', 6990 => 'ಪ', 6991 => 'ಫ', 6992 => 'ಬ', 6993 => 'ಭ', 6994 => 'ಮ', 6995 => 'ಯ', 6996 => 'ರ', 6997 => 'ಱ', 6998 => 'ಲ', 6999 => 'ವ', 7000 => 'ಶ', 7001 => 'ಷ', 7002 => 'ಸ', 7003 => 'ಹ', 7004 => 'ಳ', 7005 => 'ೞ', 7006 => 'ಽ', 7007 => 'ೱ', 7008 => 'ೲ', 7009 => 'അ', 7010 => 'ആ', 7011 => 'ഇ', 7012 => 'ഈ', 7013 => 'ഉ', 7014 => 'ഊ', 7015 => 'ഋ', 7016 => 'ൠ', 7017 => 'ഌ', 7018 => 'ൡ', 7019 => 'എ', 7020 => 'ഏ', 7021 => 'ഐ', 7022 => 'ഒ', 7023 => 'ഓ', 7024 => 'ഔ', 7025 => 'ക', 7026 => 'ഖ', 7027 => 'ഗ', 7028 => 'ഘ', 7029 => 'ങ', 7030 => 'ച', 7031 => 'ഛ', 7032 => 'ജ', 7033 => 'ഝ', 7034 => 'ഞ', 7035 => 'ട', 7036 => 'ഠ', 7037 => 'ഡ', 7038 => 'ഢ', 7039 => 'ണ', 7040 => 'ത', 7041 => 'ഥ', 7042 => 'ദ', 7043 => 'ധ', 7044 => 'ന', 7045 => 'ഩ', 7046 => 'പ', 7047 => 'ഫ', 7048 => 'ബ', 7049 => 'ഭ', 7050 => 'മ', 7051 => 'യ', 7052 => 'ര', 7053 => 'ല', 7054 => 'വ', 7055 => 'ശ', 7056 => 'ഷ', 7057 => 'സ', 7058 => 'ഹ', 7059 => 'ള', 7060 => 'ഴ', 7061 => 'റ', 7062 => 'ഺ', 7063 => 'ഽ', 7064 => 'අ', 7065 => 'ආ', 7066 => 'ඇ', 7067 => 'ඈ', 7068 => 'ඉ', 7069 => 'ඊ', 7070 => 'උ', 7071 => 'ඌ', 7072 => 'ඍ', 7073 => 'ඎ', 7074 => 'ඏ', 7075 => 'ඐ', 7076 => 'එ', 7077 => 'ඒ', 7078 => 'ඓ', 7079 => 'ඔ', 7080 => 'ඕ', 7081 => 'ඖ', 7082 => 'ක', 7083 => 'ඛ', 7084 => 'ග', 7085 => 'ඝ', 7086 => 'ඞ', 7087 => 'ඟ', 7088 => 'ච', 7089 => 'ඡ', 7090 => 'ජ', 7091 => 'ඣ', 7092 => 'ඤ', 7093 => 'ඥ', 7094 => 'ඦ', 7095 => 'ට', 7096 => 'ඨ', 7097 => 'ඩ', 7098 => 'ඪ', 7099 => 'ණ', 7100 => 'ඬ', 7101 => 'ත', 7102 => 'ථ', 7103 => 'ද', 7104 => 'ධ', 7105 => 'න', 7106 => 'ඳ', 7107 => 'ප', 7108 => 'ඵ', 7109 => 'බ', 7110 => 'භ', 7111 => 'ම', 7112 => 'ඹ', 7113 => 'ය', 7114 => 'ර', 7115 => 'ල', 7116 => 'ව', 7117 => 'ශ', 7118 => 'ෂ', 7119 => 'ස', 7120 => 'හ', 7121 => 'ළ', 7122 => 'ෆ', 7123 => 'ꯀ', 7124 => 'ꯁ', 7125 => 'ꯂ', 7126 => 'ꯃ', 7127 => 'ꯄ', 7128 => 'ꯅ', 7129 => 'ꯆ', 7130 => 'ꯇ', 7131 => 'ꯈ', 7132 => 'ꯉ', 7133 => 'ꯊ', 7134 => 'ꯋ', 7135 => 'ꯌ', 7136 => 'ꯍ', 7137 => 'ꯎ', 7138 => 'ꯏ', 7139 => 'ꯐ', 7140 => 'ꯑ', 7141 => 'ꯒ', 7142 => 'ꯓ', 7143 => 'ꯔ', 7144 => 'ꯕ', 7145 => 'ꯖ', 7146 => 'ꯗ', 7147 => 'ꯘ', 7148 => 'ꯙ', 7149 => 'ꯚ', 7150 => 'ꯛ', 7151 => 'ꯜ', 7152 => 'ꯝ', 7153 => 'ꯞ', 7154 => 'ꯟ', 7155 => 'ꯠ', 7156 => 'ꯡ', 7157 => 'ꯢ', 7158 => 'ꠀ', 7159 => 'ꠁ', 7160 => 'ꠃ', 7161 => 'ꠄ', 7162 => 'ꠅ', 7163 => 'ꠇ', 7164 => 'ꠈ', 7165 => 'ꠉ', 7166 => 'ꠊ', 7167 => 'ꠌ', 7168 => 'ꠍ', 7169 => 'ꠎ', 7170 => 'ꠏ', 7171 => 'ꠐ', 7172 => 'ꠑ', 7173 => 'ꠒ', 7174 => 'ꠓ', 7175 => 'ꠔ', 7176 => 'ꠕ', 7177 => 'ꠖ', 7178 => 'ꠗ', 7179 => 'ꠘ', 7180 => 'ꠙ', 7181 => 'ꠚ', 7182 => 'ꠛ', 7183 => 'ꠜ', 7184 => 'ꠝ', 7185 => 'ꠞ', 7186 => 'ꠟ', 7187 => 'ꠠ', 7188 => 'ꠡ', 7189 => 'ꠢ', 7190 => 'ꢂ', 7191 => 'ꢃ', 7192 => 'ꢄ', 7193 => 'ꢅ', 7194 => 'ꢆ', 7195 => 'ꢇ', 7196 => 'ꢈ', 7197 => 'ꢉ', 7198 => 'ꢊ', 7199 => 'ꢋ', 7200 => 'ꢌ', 7201 => 'ꢍ', 7202 => 'ꢎ', 7203 => 'ꢏ', 7204 => 'ꢐ', 7205 => 'ꢑ', 7206 => 'ꢒ', 7207 => 'ꢓ', 7208 => 'ꢔ', 7209 => 'ꢕ', 7210 => 'ꢖ', 7211 => 'ꢗ', 7212 => 'ꢘ', 7213 => 'ꢙ', 7214 => 'ꢚ', 7215 => 'ꢛ', 7216 => 'ꢜ', 7217 => 'ꢝ', 7218 => 'ꢞ', 7219 => 'ꢟ', 7220 => 'ꢠ', 7221 => 'ꢡ', 7222 => 'ꢢ', 7223 => 'ꢣ', 7224 => 'ꢤ', 7225 => 'ꢥ', 7226 => 'ꢦ', 7227 => 'ꢧ', 7228 => 'ꢨ', 7229 => 'ꢩ', 7230 => 'ꢪ', 7231 => 'ꢫ', 7232 => 'ꢬ', 7233 => 'ꢭ', 7234 => 'ꢮ', 7235 => 'ꢯ', 7236 => 'ꢰ', 7237 => 'ꢱ', 7238 => 'ꢲ', 7239 => 'ꢳ', 7240 => '𑂃', 7241 => '𑂄', 7242 => '𑂅', 7243 => '𑂆', 7244 => '𑂇', 7245 => '𑂈', 7246 => '𑂉', 7247 => '𑂊', 7248 => '𑂋', 7249 => '𑂌', 7250 => '𑂍', 7251 => '𑂎', 7252 => '𑂏', 7253 => '𑂐', 7254 => '𑂑', 7255 => '𑂒', 7256 => '𑂓', 7257 => '𑂔', 7258 => '𑂕', 7259 => '𑂖', 7260 => '𑂗', 7261 => '𑂘', 7262 => '𑂙', 7263 => '𑂛', 7264 => '𑂝', 7265 => '𑂞', 7266 => '𑂟', 7267 => '𑂠', 7268 => '𑂡', 7269 => '𑂢', 7270 => '𑂣', 7271 => '𑂤', 7272 => '𑂥', 7273 => '𑂦', 7274 => '𑂧', 7275 => '𑂨', 7276 => '𑂩', 7277 => '𑂪', 7278 => '𑂬', 7279 => '𑂭', 7280 => '𑂮', 7281 => '𑂯', 7282 => 'ᮃ', 7283 => 'ᮄ', 7284 => 'ᮅ', 7285 => 'ᮆ', 7286 => 'ᮇ', 7287 => 'ᮈ', 7288 => 'ᮉ', 7289 => 'ᮊ', 7290 => 'ᮮ', 7291 => 'ᮋ', 7292 => 'ᮌ', 7293 => 'ᮍ', 7294 => 'ᮎ', 7295 => 'ᮏ', 7296 => 'ᮐ', 7297 => 'ᮑ', 7298 => 'ᮒ', 7299 => 'ᮓ', 7300 => 'ᮔ', 7301 => 'ᮕ', 7302 => 'ᮖ', 7303 => 'ᮗ', 7304 => 'ᮘ', 7305 => 'ᮙ', 7306 => 'ᮚ', 7307 => 'ᮛ', 7308 => 'ᮜ', 7309 => 'ᮝ', 7310 => 'ᮞ', 7311 => 'ᮟ', 7312 => 'ᮯ', 7313 => 'ᮠ', 7314 => '𑀅', 7315 => '𑀆', 7316 => '𑀇', 7317 => '𑀈', 7318 => '𑀉', 7319 => '𑀊', 7320 => '𑀋', 7321 => '𑀌', 7322 => '𑀍', 7323 => '𑀎', 7324 => '𑀏', 7325 => '𑀐', 7326 => '𑀑', 7327 => '𑀒', 7328 => '𑀓', 7329 => '𑀔', 7330 => '𑀕', 7331 => '𑀖', 7332 => '𑀗', 7333 => '𑀘', 7334 => '𑀙', 7335 => '𑀚', 7336 => '𑀛', 7337 => '𑀜', 7338 => '𑀝', 7339 => '𑀞', 7340 => '𑀟', 7341 => '𑀠', 7342 => '𑀡', 7343 => '𑀢', 7344 => '𑀣', 7345 => '𑀤', 7346 => '𑀥', 7347 => '𑀦', 7348 => '𑀧', 7349 => '𑀨', 7350 => '𑀩', 7351 => '𑀪', 7352 => '𑀫', 7353 => '𑀬', 7354 => '𑀭', 7355 => '𑀮', 7356 => '𑀯', 7357 => '𑀰', 7358 => '𑀱', 7359 => '𑀲', 7360 => '𑀳', 7361 => '𑀃', 7362 => '𑀄', 7363 => '𑀴', 7364 => '𑀵', 7365 => '𑀶', 7366 => '𑀷', 7367 => '𐨀', 7368 => '𐨐', 7369 => '𐨑', 7370 => '𐨒', 7371 => '𐨓', 7372 => '𐨕', 7373 => '𐨖', 7374 => '𐨗', 7375 => '𐨙', 7376 => '𐨚', 7377 => '𐨛', 7378 => '𐨜', 7379 => '𐨝', 7380 => '𐨞', 7381 => '𐨟', 7382 => '𐨠', 7383 => '𐨡', 7384 => '𐨢', 7385 => '𐨣', 7386 => '𐨤', 7387 => '𐨥', 7388 => '𐨦', 7389 => '𐨧', 7390 => '𐨨', 7391 => '𐨩', 7392 => '𐨪', 7393 => '𐨫', 7394 => '𐨬', 7395 => '𐨭', 7396 => '𐨮', 7397 => '𐨯', 7398 => '𐨰', 7399 => '𐨱', 7400 => '𐨲', 7401 => '𐨳', 7402 => 'ก', 7403 => 'ข', 7404 => 'ฃ', 7405 => 'ค', 7406 => 'ฅ', 7407 => 'ฆ', 7408 => 'ง', 7409 => 'จ', 7410 => 'ฉ', 7411 => 'ช', 7412 => 'ซ', 7413 => 'ฌ', 7414 => 'ญ', 7415 => 'ฎ', 7416 => 'ฏ', 7417 => 'ฐ', 7418 => 'ฑ', 7419 => 'ฒ', 7420 => 'ณ', 7421 => 'ด', 7422 => 'ต', 7423 => 'ถ', 7424 => 'ท', 7425 => 'ธ', 7426 => 'น', 7427 => 'บ', 7428 => 'ป', 7429 => 'ผ', 7430 => 'ฝ', 7431 => 'พ', 7432 => 'ฟ', 7433 => 'ภ', 7434 => 'ม', 7435 => 'ย', 7436 => 'ร', 7437 => 'ฤ', 7438 => 'ล', 7439 => 'ฦ', 7440 => 'ว', 7441 => 'ศ', 7442 => 'ษ', 7443 => 'ส', 7444 => 'ห', 7445 => 'ฬ', 7446 => 'อ', 7447 => 'ฮ', 7448 => 'ฯ', 7449 => 'ะ', 7450 => 'า', 7451 => 'ำ', 7452 => 'เ', 7453 => 'แ', 7454 => 'โ', 7455 => 'ใ', 7456 => 'ไ', 7457 => 'ๅ', 7458 => 'ກ', 7459 => 'ຂ', 7460 => 'ຄ', 7461 => 'ງ', 7462 => 'ຈ', 7463 => 'ສ', 7464 => 'ຊ', 7465 => 'ຍ', 7466 => 'ດ', 7467 => 'ຕ', 7468 => 'ຖ', 7469 => 'ທ', 7470 => 'ນ', 7471 => 'ບ', 7472 => 'ປ', 7473 => 'ຜ', 7474 => 'ຝ', 7475 => 'ພ', 7476 => 'ຟ', 7477 => 'ມ', 7478 => 'ຢ', 7479 => 'ຣ', 7480 => 'ລ', 7481 => 'ວ', 7482 => 'ຫ', 7483 => 'ອ', 7484 => 'ຮ', 7485 => 'ຯ', 7486 => 'ະ', 7487 => 'າ', 7488 => 'ຳ', 7489 => 'ຽ', 7490 => 'ເ', 7491 => 'ແ', 7492 => 'ໂ', 7493 => 'ໃ', 7494 => 'ໄ', 7495 => 'ꪀ', 7496 => 'ꪁ', 7497 => 'ꪂ', 7498 => 'ꪃ', 7499 => 'ꪄ', 7500 => 'ꪅ', 7501 => 'ꪆ', 7502 => 'ꪇ', 7503 => 'ꪈ', 7504 => 'ꪉ', 7505 => 'ꪊ', 7506 => 'ꪋ', 7507 => 'ꪌ', 7508 => 'ꪍ', 7509 => 'ꪎ', 7510 => 'ꪏ', 7511 => 'ꪐ', 7512 => 'ꪑ', 7513 => 'ꪒ', 7514 => 'ꪓ', 7515 => 'ꪔ', 7516 => 'ꪕ', 7517 => 'ꪖ', 7518 => 'ꪗ', 7519 => 'ꪘ', 7520 => 'ꪙ', 7521 => 'ꪚ', 7522 => 'ꪛ', 7523 => 'ꪜ', 7524 => 'ꪝ', 7525 => 'ꪞ', 7526 => 'ꪟ', 7527 => 'ꪠ', 7528 => 'ꪡ', 7529 => 'ꪢ', 7530 => 'ꪣ', 7531 => 'ꪤ', 7532 => 'ꪥ', 7533 => 'ꪦ', 7534 => 'ꪧ', 7535 => 'ꪨ', 7536 => 'ꪩ', 7537 => 'ꪪ', 7538 => 'ꪫ', 7539 => 'ꪬ', 7540 => 'ꪭ', 7541 => 'ꪮ', 7542 => 'ꪯ', 7543 => 'ꪱ', 7544 => 'ꪵ', 7545 => 'ꪶ', 7546 => 'ꪹ', 7547 => 'ꪺ', 7548 => 'ꪻ', 7549 => 'ꪼ', 7550 => 'ꪽ', 7551 => 'ꫀ', 7552 => 'ꫂ', 7553 => 'ꫛ', 7554 => 'ꫜ', 7555 => 'ཀ', 7556 => 'ཫ', 7557 => 'ཁ', 7558 => 'ག', 7559 => 'ང', 7560 => 'ཅ', 7561 => 'ཆ', 7562 => 'ཇ', 7563 => 'ཉ', 7564 => 'ཊ', 7565 => 'ཋ', 7566 => 'ཌ', 7567 => 'ཎ', 7568 => 'ཏ', 7569 => 'ཐ', 7570 => 'ད', 7571 => 'ན', 7572 => 'པ', 7573 => 'ཕ', 7574 => 'བ', 7575 => 'མ', 7576 => 'ཙ', 7577 => 'ཚ', 7578 => 'ཛ', 7579 => 'ཝ', 7580 => 'ཞ', 7581 => 'ཟ', 7582 => 'འ', 7583 => 'ཡ', 7584 => 'ར', 7585 => 'ཬ', 7586 => 'ལ', 7587 => 'ཤ', 7588 => 'ཥ', 7589 => 'ས', 7590 => 'ཧ', 7591 => 'ཨ', 7592 => 'ྈ', 7593 => 'ྉ', 7594 => 'ྌ', 7595 => 'ྊ', 7596 => 'ྋ', 7597 => 'ᰀ', 7598 => 'ᰁ', 7599 => 'ᰂ', 7600 => 'ᰃ', 7601 => 'ᰄ', 7602 => 'ᰅ', 7603 => 'ᰆ', 7604 => 'ᰇ', 7605 => 'ᰈ', 7606 => 'ᰉ', 7607 => 'ᱍ', 7608 => 'ᱎ', 7609 => 'ᱏ', 7610 => 'ᰊ', 7611 => 'ᰋ', 7612 => 'ᰌ', 7613 => 'ᰍ', 7614 => 'ᰎ', 7615 => 'ᰏ', 7616 => 'ᰐ', 7617 => 'ᰑ', 7618 => 'ᰒ', 7619 => 'ᰓ', 7620 => 'ᰔ', 7621 => 'ᰕ', 7622 => 'ᰖ', 7623 => 'ᰗ', 7624 => 'ᰘ', 7625 => 'ᰙ', 7626 => 'ᰚ', 7627 => 'ᰛ', 7628 => 'ᰜ', 7629 => 'ᰝ', 7630 => 'ᰞ', 7631 => 'ᰟ', 7632 => 'ᰠ', 7633 => 'ᰡ', 7634 => 'ᰢ', 7635 => 'ᰣ', 7636 => 'ꡀ', 7637 => 'ꡁ', 7638 => 'ꡂ', 7639 => 'ꡃ', 7640 => 'ꡄ', 7641 => 'ꡅ', 7642 => 'ꡆ', 7643 => 'ꡇ', 7644 => 'ꡩ', 7645 => 'ꡪ', 7646 => 'ꡫ', 7647 => 'ꡬ', 7648 => 'ꡈ', 7649 => 'ꡉ', 7650 => 'ꡊ', 7651 => 'ꡋ', 7652 => 'ꡌ', 7653 => 'ꡍ', 7654 => 'ꡎ', 7655 => 'ꡏ', 7656 => 'ꡐ', 7657 => 'ꡑ', 7658 => 'ꡒ', 7659 => 'ꡓ', 7660 => 'ꡧ', 7661 => 'ꡔ', 7662 => 'ꡕ', 7663 => 'ꡖ', 7664 => 'ꡗ', 7665 => 'ꡨ', 7666 => 'ꡭ', 7667 => 'ꡘ', 7668 => 'ꡱ', 7669 => 'ꡲ', 7670 => 'ꡙ', 7671 => 'ꡚ', 7672 => 'ꡮ', 7673 => 'ꡛ', 7674 => 'ꡜ', 7675 => 'ꡯ', 7676 => 'ꡰ', 7677 => 'ꡝ', 7678 => 'ꡢ', 7679 => 'ꡣ', 7680 => 'ꡤ', 7681 => 'ꡥ', 7682 => 'ꡞ', 7683 => 'ꡟ', 7684 => 'ꡠ', 7685 => 'ꡡ', 7686 => 'ꡦ', 7687 => 'ꡳ', 7688 => 'ᤀ', 7689 => 'ᤁ', 7690 => 'ᤂ', 7691 => 'ᤃ', 7692 => 'ᤄ', 7693 => 'ᤅ', 7694 => 'ᤆ', 7695 => 'ᤇ', 7696 => 'ᤈ', 7697 => 'ᤉ', 7698 => 'ᤊ', 7699 => 'ᤋ', 7700 => 'ᤌ', 7701 => 'ᤍ', 7702 => 'ᤎ', 7703 => 'ᤏ', 7704 => 'ᤐ', 7705 => 'ᤑ', 7706 => 'ᤒ', 7707 => 'ᤓ', 7708 => 'ᤔ', 7709 => 'ᤕ', 7710 => 'ᤖ', 7711 => 'ᤗ', 7712 => 'ᤘ', 7713 => 'ᤙ', 7714 => 'ᤚ', 7715 => 'ᤛ', 7716 => 'ᤜ', 7717 => 'ᜀ', 7718 => 'ᜁ', 7719 => 'ᜂ', 7720 => 'ᜃ', 7721 => 'ᜄ', 7722 => 'ᜅ', 7723 => 'ᜆ', 7724 => 'ᜇ', 7725 => 'ᜈ', 7726 => 'ᜉ', 7727 => 'ᜊ', 7728 => 'ᜋ', 7729 => 'ᜌ', 7730 => 'ᜎ', 7731 => 'ᜏ', 7732 => 'ᜐ', 7733 => 'ᜑ', 7734 => 'ᜠ', 7735 => 'ᜡ', 7736 => 'ᜢ', 7737 => 'ᜣ', 7738 => 'ᜤ', 7739 => 'ᜥ', 7740 => 'ᜦ', 7741 => 'ᜧ', 7742 => 'ᜨ', 7743 => 'ᜩ', 7744 => 'ᜪ', 7745 => 'ᜫ', 7746 => 'ᜬ', 7747 => 'ᜭ', 7748 => 'ᜮ', 7749 => 'ᜯ', 7750 => 'ᜰ', 7751 => 'ᜱ', 7752 => 'ᝀ', 7753 => 'ᝁ', 7754 => 'ᝂ', 7755 => 'ᝃ', 7756 => 'ᝄ', 7757 => 'ᝅ', 7758 => 'ᝆ', 7759 => 'ᝇ', 7760 => 'ᝈ', 7761 => 'ᝉ', 7762 => 'ᝊ', 7763 => 'ᝋ', 7764 => 'ᝌ', 7765 => 'ᝍ', 7766 => 'ᝎ', 7767 => 'ᝏ', 7768 => 'ᝐ', 7769 => 'ᝑ', 7770 => 'ᝠ', 7771 => 'ᝡ', 7772 => 'ᝢ', 7773 => 'ᝣ', 7774 => 'ᝤ', 7775 => 'ᝥ', 7776 => 'ᝦ', 7777 => 'ᝧ', 7778 => 'ᝨ', 7779 => 'ᝩ', 7780 => 'ᝪ', 7781 => 'ᝫ', 7782 => 'ᝬ', 7783 => 'ᝮ', 7784 => 'ᝯ', 7785 => 'ᝰ', 7786 => 'ᨀ', 7787 => 'ᨁ', 7788 => 'ᨂ', 7789 => 'ᨃ', 7790 => 'ᨄ', 7791 => 'ᨅ', 7792 => 'ᨆ', 7793 => 'ᨇ', 7794 => 'ᨈ', 7795 => 'ᨉ', 7796 => 'ᨊ', 7797 => 'ᨋ', 7798 => 'ᨌ', 7799 => 'ᨍ', 7800 => 'ᨎ', 7801 => 'ᨏ', 7802 => 'ᨐ', 7803 => 'ᨑ', 7804 => 'ᨒ', 7805 => 'ᨓ', 7806 => 'ᨔ', 7807 => 'ᨕ', 7808 => 'ᨖ', 7809 => 'ᯀ', 7810 => 'ᯂ', 7811 => 'ᯅ', 7812 => 'ᯇ', 7813 => 'ᯉ', 7814 => 'ᯋ', 7815 => 'ᯎ', 7816 => 'ᯐ', 7817 => 'ᯑ', 7818 => 'ᯒ', 7819 => 'ᯔ', 7820 => 'ᯖ', 7821 => 'ᯘ', 7822 => 'ᯛ', 7823 => 'ᯝ', 7824 => 'ᯞ', 7825 => 'ᯠ', 7826 => 'ᯡ', 7827 => 'ᯢ', 7828 => 'ᯣ', 7829 => 'ᯤ', 7830 => 'ᯥ', 7831 => 'ꤰ', 7832 => 'ꤱ', 7833 => 'ꤲ', 7834 => 'ꤳ', 7835 => 'ꤴ', 7836 => 'ꤵ', 7837 => 'ꤶ', 7838 => 'ꤷ', 7839 => 'ꤸ', 7840 => 'ꤹ', 7841 => 'ꤺ', 7842 => 'ꤻ', 7843 => 'ꤼ', 7844 => 'ꤽ', 7845 => 'ꤾ', 7846 => 'ꤿ', 7847 => 'ꥀ', 7848 => 'ꥁ', 7849 => 'ꥂ', 7850 => 'ꥃ', 7851 => 'ꥄ', 7852 => 'ꥅ', 7853 => 'ꥆ', 7854 => 'ꤊ', 7855 => 'ꤋ', 7856 => 'ꤌ', 7857 => 'ꤍ', 7858 => 'ꤎ', 7859 => 'ꤏ', 7860 => 'ꤐ', 7861 => 'ꤑ', 7862 => 'ꤒ', 7863 => 'ꤓ', 7864 => 'ꤔ', 7865 => 'ꤕ', 7866 => 'ꤖ', 7867 => 'ꤗ', 7868 => 'ꤘ', 7869 => 'ꤙ', 7870 => 'ꤚ', 7871 => 'ꤛ', 7872 => 'ꤜ', 7873 => 'ꤝ', 7874 => 'ꤞ', 7875 => 'ꤟ', 7876 => 'ꤠ', 7877 => 'ꤡ', 7878 => 'ꤢ', 7879 => 'ꤣ', 7880 => 'ꤤ', 7881 => 'ꤥ', 7882 => 'က', 7883 => 'ၵ', 7884 => 'ခ', 7885 => 'ၶ', 7886 => 'ဂ', 7887 => 'ၷ', 7888 => 'ꩠ', 7889 => 'ဃ', 7890 => 'င', 7891 => 'ၚ', 7892 => 'စ', 7893 => 'ၸ', 7894 => 'ꩡ', 7895 => 'ဆ', 7896 => 'ꩢ', 7897 => 'ဇ', 7898 => 'ꩣ', 7899 => 'ၹ', 7900 => 'ꩲ', 7901 => 'ဈ', 7902 => 'ၛ', 7903 => 'ꩤ', 7904 => 'ၡ', 7905 => 'ဉ', 7906 => 'ၺ', 7907 => 'ꩥ', 7908 => 'ည', 7909 => 'ဋ', 7910 => 'ꩦ', 7911 => 'ဌ', 7912 => 'ꩧ', 7913 => 'ဍ', 7914 => 'ꩨ', 7915 => 'ဎ', 7916 => 'ꩩ', 7917 => 'ဏ', 7918 => 'ၮ', 7919 => 'တ', 7920 => 'ထ', 7921 => 'ဒ', 7922 => 'ၻ', 7923 => 'ဓ', 7924 => 'ꩪ', 7925 => 'န', 7926 => 'ၼ', 7927 => 'ꩫ', 7928 => 'ပ', 7929 => 'ဖ', 7930 => 'ၽ', 7931 => 'ၾ', 7932 => 'ꩯ', 7933 => 'ႎ', 7934 => 'ဗ', 7935 => 'ၿ', 7936 => 'ဘ', 7937 => 'မ', 7938 => 'ယ', 7939 => 'ရ', 7940 => 'ꩳ', 7941 => 'ꩺ', 7942 => 'လ', 7943 => 'ဝ', 7944 => 'ႀ', 7945 => 'ၐ', 7946 => 'ၑ', 7947 => 'ၥ', 7948 => 'သ', 7949 => 'ꩬ', 7950 => 'ဟ', 7951 => 'ႁ', 7952 => 'ꩭ', 7953 => 'ꩮ', 7954 => 'ꩱ', 7955 => 'ဠ', 7956 => 'ၜ', 7957 => 'ၝ', 7958 => 'ၯ', 7959 => 'ၰ', 7960 => 'ၦ', 7961 => 'အ', 7962 => 'ဢ', 7963 => 'ဣ', 7964 => 'ဤ', 7965 => 'ဥ', 7966 => 'ဦ', 7967 => 'ၒ', 7968 => 'ၓ', 7969 => 'ၔ', 7970 => 'ၕ', 7971 => 'ဧ', 7972 => 'ဨ', 7973 => 'ဩ', 7974 => 'ဪ', 7975 => 'ꩴ', 7976 => 'ꩵ', 7977 => 'ꩶ', 7978 => 'ក', 7979 => 'ខ', 7980 => 'គ', 7981 => 'ឃ', 7982 => 'ង', 7983 => 'ច', 7984 => 'ឆ', 7985 => 'ជ', 7986 => 'ឈ', 7987 => 'ញ', 7988 => 'ដ', 7989 => 'ឋ', 7990 => 'ឌ', 7991 => 'ឍ', 7992 => 'ណ', 7993 => 'ត', 7994 => 'ថ', 7995 => 'ទ', 7996 => 'ធ', 7997 => 'ន', 7998 => 'ប', 7999 => 'ផ', 8000 => 'ព', 8001 => 'ភ', 8002 => 'ម', 8003 => 'យ', 8004 => 'រ', 8005 => 'ល', 8006 => 'វ', 8007 => 'ឝ', 8008 => 'ឞ', 8009 => 'ស', 8010 => 'ហ', 8011 => 'ឡ', 8012 => 'អ', 8013 => 'ៜ', 8014 => 'ឣ', 8015 => 'ឤ', 8016 => 'ឥ', 8017 => 'ឦ', 8018 => 'ឧ', 8019 => 'ឨ', 8020 => 'ឩ', 8021 => 'ឪ', 8022 => 'ឫ', 8023 => 'ឬ', 8024 => 'ឭ', 8025 => 'ឮ', 8026 => 'ឯ', 8027 => 'ឰ', 8028 => 'ឱ', 8029 => 'ឲ', 8030 => 'ឳ', 8031 => 'ᥐ', 8032 => 'ᥑ', 8033 => 'ᥒ', 8034 => 'ᥓ', 8035 => 'ᥔ', 8036 => 'ᥕ', 8037 => 'ᥖ', 8038 => 'ᥗ', 8039 => 'ᥘ', 8040 => 'ᥙ', 8041 => 'ᥚ', 8042 => 'ᥛ', 8043 => 'ᥜ', 8044 => 'ᥝ', 8045 => 'ᥞ', 8046 => 'ᥟ', 8047 => 'ᥠ', 8048 => 'ᥡ', 8049 => 'ᥢ', 8050 => 'ᥣ', 8051 => 'ᥤ', 8052 => 'ᥥ', 8053 => 'ᥦ', 8054 => 'ᥧ', 8055 => 'ᥨ', 8056 => 'ᥩ', 8057 => 'ᥪ', 8058 => 'ᥫ', 8059 => 'ᥬ', 8060 => 'ᥭ', 8061 => 'ᥰ', 8062 => 'ᥱ', 8063 => 'ᥲ', 8064 => 'ᥳ', 8065 => 'ᥴ', 8066 => 'ᦀ', 8067 => 'ᦁ', 8068 => 'ᦂ', 8069 => 'ᦃ', 8070 => 'ᦄ', 8071 => 'ᦅ', 8072 => 'ᦆ', 8073 => 'ᦇ', 8074 => 'ᦈ', 8075 => 'ᦉ', 8076 => 'ᦊ', 8077 => 'ᦋ', 8078 => 'ᦌ', 8079 => 'ᦍ', 8080 => 'ᦎ', 8081 => 'ᦏ', 8082 => 'ᦐ', 8083 => 'ᦑ', 8084 => 'ᦒ', 8085 => 'ᦓ', 8086 => 'ᦔ', 8087 => 'ᦕ', 8088 => 'ᦖ', 8089 => 'ᦗ', 8090 => 'ᦘ', 8091 => 'ᦙ', 8092 => 'ᦚ', 8093 => 'ᦛ', 8094 => 'ᦜ', 8095 => 'ᦝ', 8096 => 'ᦞ', 8097 => 'ᦟ', 8098 => 'ᦠ', 8099 => 'ᦡ', 8100 => 'ᦢ', 8101 => 'ᦣ', 8102 => 'ᦤ', 8103 => 'ᦥ', 8104 => 'ᦦ', 8105 => 'ᦧ', 8106 => 'ᦨ', 8107 => 'ᦩ', 8108 => 'ᦪ', 8109 => 'ᦫ', 8110 => 'ᧁ', 8111 => 'ᧂ', 8112 => 'ᧃ', 8113 => 'ᧄ', 8114 => 'ᧅ', 8115 => 'ᧆ', 8116 => 'ᧇ', 8117 => 'ᨠ', 8118 => 'ᨡ', 8119 => 'ᨢ', 8120 => 'ᨣ', 8121 => 'ᨤ', 8122 => 'ᨥ', 8123 => 'ᨦ', 8124 => 'ᨧ', 8125 => 'ᨨ', 8126 => 'ᨩ', 8127 => 'ᨪ', 8128 => 'ᨫ', 8129 => 'ᨬ', 8130 => 'ᨭ', 8131 => 'ᨮ', 8132 => 'ᨯ', 8133 => 'ᨰ', 8134 => 'ᨱ', 8135 => 'ᨲ', 8136 => 'ᨳ', 8137 => 'ᨴ', 8138 => 'ᨵ', 8139 => 'ᨶ', 8140 => 'ᨷ', 8141 => 'ᨸ', 8142 => 'ᨹ', 8143 => 'ᨺ', 8144 => 'ᨻ', 8145 => 'ᨼ', 8146 => 'ᨽ', 8147 => 'ᨾ', 8148 => 'ᨿ', 8149 => 'ᩀ', 8150 => 'ᩁ', 8151 => 'ᩂ', 8152 => 'ᩃ', 8153 => 'ᩄ', 8154 => 'ᩅ', 8155 => 'ᩆ', 8156 => 'ᩇ', 8157 => 'ᩈ', 8158 => 'ᩉ', 8159 => 'ᩊ', 8160 => 'ᩋ', 8161 => 'ᩌ', 8162 => 'ᩓ', 8163 => 'ᩍ', 8164 => 'ᩎ', 8165 => 'ᩏ', 8166 => 'ᩐ', 8167 => 'ᩑ', 8168 => 'ᩒ', 8169 => 'ꨀ', 8170 => 'ꨁ', 8171 => 'ꨂ', 8172 => 'ꨃ', 8173 => 'ꨄ', 8174 => 'ꨅ', 8175 => 'ꨆ', 8176 => 'ꨇ', 8177 => 'ꨈ', 8178 => 'ꨉ', 8179 => 'ꨊ', 8180 => 'ꨋ', 8181 => 'ꨌ', 8182 => 'ꨍ', 8183 => 'ꨎ', 8184 => 'ꨏ', 8185 => 'ꨐ', 8186 => 'ꨑ', 8187 => 'ꨒ', 8188 => 'ꨓ', 8189 => 'ꨔ', 8190 => 'ꨕ', 8191 => 'ꨖ', 8192 => 'ꨗ', 8193 => 'ꨘ', 8194 => 'ꨙ', 8195 => 'ꨚ', 8196 => 'ꨛ', 8197 => 'ꨜ', 8198 => 'ꨝ', 8199 => 'ꨞ', 8200 => 'ꨟ', 8201 => 'ꨠ', 8202 => 'ꨡ', 8203 => 'ꨢ', 8204 => 'ꨣ', 8205 => 'ꨤ', 8206 => 'ꨥ', 8207 => 'ꨦ', 8208 => 'ꨧ', 8209 => 'ꨨ', 8210 => 'ꩀ', 8211 => 'ꩁ', 8212 => 'ꩂ', 8213 => 'ꩄ', 8214 => 'ꩅ', 8215 => 'ꩆ', 8216 => 'ꩇ', 8217 => 'ꩈ', 8218 => 'ꩉ', 8219 => 'ꩊ', 8220 => 'ꩋ', 8221 => 'ᬅ', 8222 => 'ᬆ', 8223 => 'ᬇ', 8224 => 'ᬈ', 8225 => 'ᬉ', 8226 => 'ᬊ', 8227 => 'ᬋ', 8228 => 'ᬌ', 8229 => 'ᬍ', 8230 => 'ᬎ', 8231 => 'ᬏ', 8232 => 'ᬐ', 8233 => 'ᬑ', 8234 => 'ᬒ', 8235 => 'ᬓ', 8236 => 'ᭅ', 8237 => 'ᭆ', 8238 => 'ᬔ', 8239 => 'ᬕ', 8240 => 'ᬖ', 8241 => 'ᬗ', 8242 => 'ᬘ', 8243 => 'ᬙ', 8244 => 'ᬚ', 8245 => 'ᬛ', 8246 => 'ᬜ', 8247 => 'ᬝ', 8248 => 'ᬞ', 8249 => 'ᬟ', 8250 => 'ᬠ', 8251 => 'ᬡ', 8252 => 'ᬢ', 8253 => 'ᭇ', 8254 => 'ᬣ', 8255 => 'ᬤ', 8256 => 'ᬥ', 8257 => 'ᬦ', 8258 => 'ᬧ', 8259 => 'ᭈ', 8260 => 'ᬨ', 8261 => 'ᬩ', 8262 => 'ᬪ', 8263 => 'ᬫ', 8264 => 'ᬬ', 8265 => 'ᬭ', 8266 => 'ᬮ', 8267 => 'ᬯ', 8268 => 'ᭉ', 8269 => 'ᬰ', 8270 => 'ᬱ', 8271 => 'ᬲ', 8272 => 'ᭊ', 8273 => 'ᭋ', 8274 => 'ᬳ', 8275 => 'ꦄ', 8276 => 'ꦅ', 8277 => 'ꦆ', 8278 => 'ꦇ', 8279 => 'ꦈ', 8280 => 'ꦉ', 8281 => 'ꦊ', 8282 => 'ꦋ', 8283 => 'ꦌ', 8284 => 'ꦍ', 8285 => 'ꦎ', 8286 => 'ꦏ', 8287 => 'ꦐ', 8288 => 'ꦑ', 8289 => 'ꦒ', 8290 => 'ꦓ', 8291 => 'ꦔ', 8292 => 'ꦕ', 8293 => 'ꦖ', 8294 => 'ꦗ', 8295 => 'ꦘ', 8296 => 'ꦙ', 8297 => 'ꦚ', 8298 => 'ꦛ', 8299 => 'ꦜ', 8300 => 'ꦝ', 8301 => 'ꦞ', 8302 => 'ꦟ', 8303 => 'ꦠ', 8304 => 'ꦡ', 8305 => 'ꦢ', 8306 => 'ꦣ', 8307 => 'ꦤ', 8308 => 'ꦥ', 8309 => 'ꦦ', 8310 => 'ꦧ', 8311 => 'ꦨ', 8312 => 'ꦩ', 8313 => 'ꦪ', 8314 => 'ꦫ', 8315 => 'ꦭ', 8316 => 'ꦮ', 8317 => 'ꦯ', 8318 => 'ꦰ', 8319 => 'ꦱ', 8320 => 'ꦲ', 8321 => 'ᢀ', 8322 => 'ᢁ', 8323 => 'ᢂ', 8324 => 'ᢃ', 8325 => 'ᢄ', 8326 => 'ᢅ', 8327 => 'ᢆ', 8328 => 'ᡃ', 8329 => 'ᠠ', 8330 => 'ᢇ', 8331 => 'ᠡ', 8332 => 'ᡄ', 8333 => 'ᡝ', 8334 => 'ᠢ', 8335 => 'ᡅ', 8336 => 'ᡞ', 8337 => 'ᡳ', 8338 => 'ᢈ', 8339 => 'ᡟ', 8340 => 'ᠣ', 8341 => 'ᡆ', 8342 => 'ᠤ', 8343 => 'ᡇ', 8344 => 'ᡡ', 8345 => 'ᠥ', 8346 => 'ᡈ', 8347 => 'ᠦ', 8348 => 'ᡉ', 8349 => 'ᡠ', 8350 => 'ᠧ', 8351 => 'ᠨ', 8352 => 'ᠩ', 8353 => 'ᡊ', 8354 => 'ᡢ', 8355 => 'ᢊ', 8356 => 'ᢛ', 8357 => 'ᠪ', 8358 => 'ᡋ', 8359 => 'ᠫ', 8360 => 'ᡌ', 8361 => 'ᡦ', 8362 => 'ᠬ', 8363 => 'ᡍ', 8364 => 'ᠭ', 8365 => 'ᡎ', 8366 => 'ᡤ', 8367 => 'ᢚ', 8368 => 'ᡥ', 8369 => 'ᠮ', 8370 => 'ᡏ', 8371 => 'ᠯ', 8372 => 'ᠰ', 8373 => 'ᠱ', 8374 => 'ᡧ', 8375 => 'ᢜ', 8376 => 'ᢝ', 8377 => 'ᢢ', 8378 => 'ᢤ', 8379 => 'ᢥ', 8380 => 'ᠲ', 8381 => 'ᡐ', 8382 => 'ᡨ', 8383 => 'ᠳ', 8384 => 'ᡑ', 8385 => 'ᡩ', 8386 => 'ᠴ', 8387 => 'ᡒ', 8388 => 'ᡱ', 8389 => 'ᡜ', 8390 => 'ᢋ', 8391 => 'ᠵ', 8392 => 'ᡓ', 8393 => 'ᡪ', 8394 => 'ᡷ', 8395 => 'ᠶ', 8396 => 'ᡕ', 8397 => 'ᡲ', 8398 => 'ᠷ', 8399 => 'ᡵ', 8400 => 'ᠸ', 8401 => 'ᡖ', 8402 => 'ᠹ', 8403 => 'ᡫ', 8404 => 'ᡶ', 8405 => 'ᠺ', 8406 => 'ᡗ', 8407 => 'ᡣ', 8408 => 'ᡴ', 8409 => 'ᢉ', 8410 => 'ᠻ', 8411 => 'ᠼ', 8412 => 'ᡔ', 8413 => 'ᡮ', 8414 => 'ᠽ', 8415 => 'ᡯ', 8416 => 'ᡘ', 8417 => 'ᡬ', 8418 => 'ᠾ', 8419 => 'ᡙ', 8420 => 'ᡭ', 8421 => 'ᠿ', 8422 => 'ᡀ', 8423 => 'ᡁ', 8424 => 'ᡂ', 8425 => 'ᡚ', 8426 => 'ᡛ', 8427 => 'ᡰ', 8428 => 'ᢌ', 8429 => 'ᢞ', 8430 => 'ᢍ', 8431 => 'ᢎ', 8432 => 'ᢟ', 8433 => 'ᢏ', 8434 => 'ᢐ', 8435 => 'ᢘ', 8436 => 'ᢠ', 8437 => 'ᢑ', 8438 => 'ᢡ', 8439 => 'ᢒ', 8440 => 'ᢓ', 8441 => 'ᢨ', 8442 => 'ᢔ', 8443 => 'ᢣ', 8444 => 'ᢕ', 8445 => 'ᢙ', 8446 => 'ᢖ', 8447 => 'ᢗ', 8448 => 'ᢦ', 8449 => 'ᢧ', 8450 => 'ᢪ', 8451 => 'ᱚ', 8452 => 'ᱛ', 8453 => 'ᱜ', 8454 => 'ᱝ', 8455 => 'ᱞ', 8456 => 'ᱟ', 8457 => 'ᱠ', 8458 => 'ᱡ', 8459 => 'ᱢ', 8460 => 'ᱣ', 8461 => 'ᱤ', 8462 => 'ᱥ', 8463 => 'ᱦ', 8464 => 'ᱧ', 8465 => 'ᱨ', 8466 => 'ᱩ', 8467 => 'ᱪ', 8468 => 'ᱫ', 8469 => 'ᱬ', 8470 => 'ᱭ', 8471 => 'ᱮ', 8472 => 'ᱯ', 8473 => 'ᱰ', 8474 => 'ᱱ', 8475 => 'ᱲ', 8476 => 'ᱳ', 8477 => 'ᱴ', 8478 => 'ᱵ', 8479 => 'ᱶ', 8480 => 'ᱷ', 8481 => 'ᱸ', 8482 => 'ᱹ', 8483 => 'ᱺ', 8484 => 'ᱻ', 8485 => 'ᱼ', 8486 => 'ᱽ', 8487 => 'Ꭰ', 8488 => 'Ꭱ', 8489 => 'Ꭲ', 8490 => 'Ꭳ', 8491 => 'Ꭴ', 8492 => 'Ꭵ', 8493 => 'Ꭶ', 8494 => 'Ꭷ', 8495 => 'Ꭸ', 8496 => 'Ꭹ', 8497 => 'Ꭺ', 8498 => 'Ꭻ', 8499 => 'Ꭼ', 8500 => 'Ꭽ', 8501 => 'Ꭾ', 8502 => 'Ꭿ', 8503 => 'Ꮀ', 8504 => 'Ꮁ', 8505 => 'Ꮂ', 8506 => 'Ꮃ', 8507 => 'Ꮄ', 8508 => 'Ꮅ', 8509 => 'Ꮆ', 8510 => 'Ꮇ', 8511 => 'Ꮈ', 8512 => 'Ꮉ', 8513 => 'Ꮊ', 8514 => 'Ꮋ', 8515 => 'Ꮌ', 8516 => 'Ꮍ', 8517 => 'Ꮎ', 8518 => 'Ꮏ', 8519 => 'Ꮐ', 8520 => 'Ꮑ', 8521 => 'Ꮒ', 8522 => 'Ꮓ', 8523 => 'Ꮔ', 8524 => 'Ꮕ', 8525 => 'Ꮖ', 8526 => 'Ꮗ', 8527 => 'Ꮘ', 8528 => 'Ꮙ', 8529 => 'Ꮚ', 8530 => 'Ꮛ', 8531 => 'Ꮜ', 8532 => 'Ꮝ', 8533 => 'Ꮞ', 8534 => 'Ꮟ', 8535 => 'Ꮠ', 8536 => 'Ꮡ', 8537 => 'Ꮢ', 8538 => 'Ꮣ', 8539 => 'Ꮤ', 8540 => 'Ꮥ', 8541 => 'Ꮦ', 8542 => 'Ꮧ', 8543 => 'Ꮨ', 8544 => 'Ꮩ', 8545 => 'Ꮪ', 8546 => 'Ꮫ', 8547 => 'Ꮬ', 8548 => 'Ꮭ', 8549 => 'Ꮮ', 8550 => 'Ꮯ', 8551 => 'Ꮰ', 8552 => 'Ꮱ', 8553 => 'Ꮲ', 8554 => 'Ꮳ', 8555 => 'Ꮴ', 8556 => 'Ꮵ', 8557 => 'Ꮶ', 8558 => 'Ꮷ', 8559 => 'Ꮸ', 8560 => 'Ꮹ', 8561 => 'Ꮺ', 8562 => 'Ꮻ', 8563 => 'Ꮼ', 8564 => 'Ꮽ', 8565 => 'Ꮾ', 8566 => 'Ꮿ', 8567 => 'Ᏸ', 8568 => 'Ᏹ', 8569 => 'Ᏺ', 8570 => 'Ᏻ', 8571 => 'Ᏼ', 8572 => 'ᐁ', 8573 => 'ᐂ', 8574 => 'ᐃ', 8575 => 'ᐄ', 8576 => 'ᐅ', 8577 => 'ᐆ', 8578 => 'ᐇ', 8579 => 'ᐈ', 8580 => 'ᐉ', 8581 => 'ᐊ', 8582 => 'ᐋ', 8583 => 'ᐌ', 8584 => 'ᐍ', 8585 => 'ᐎ', 8586 => 'ᐏ', 8587 => 'ᐐ', 8588 => 'ᐑ', 8589 => 'ᐒ', 8590 => 'ᐓ', 8591 => 'ᐔ', 8592 => 'ᐕ', 8593 => 'ᐖ', 8594 => 'ᐗ', 8595 => 'ᐘ', 8596 => 'ᐙ', 8597 => 'ᐚ', 8598 => 'ᐛ', 8599 => 'ᐜ', 8600 => 'ᐝ', 8601 => 'ᐞ', 8602 => 'ᐟ', 8603 => 'ᐠ', 8604 => 'ᐡ', 8605 => 'ᐢ', 8606 => 'ᐣ', 8607 => 'ᐤ', 8608 => 'ᐥ', 8609 => 'ᐦ', 8610 => 'ᐧ', 8611 => 'ᐨ', 8612 => 'ᐩ', 8613 => 'ᐪ', 8614 => 'ᐫ', 8615 => 'ᐬ', 8616 => 'ᐭ', 8617 => 'ᐮ', 8618 => 'ᐯ', 8619 => 'ᐰ', 8620 => 'ᐱ', 8621 => 'ᐲ', 8622 => 'ᐳ', 8623 => 'ᐴ', 8624 => 'ᐵ', 8625 => 'ᐶ', 8626 => 'ᐷ', 8627 => 'ᐸ', 8628 => 'ᐹ', 8629 => 'ᐺ', 8630 => 'ᐻ', 8631 => 'ᐼ', 8632 => 'ᐽ', 8633 => 'ᐾ', 8634 => 'ᐿ', 8635 => 'ᑀ', 8636 => 'ᑁ', 8637 => 'ᑂ', 8638 => 'ᑃ', 8639 => 'ᑄ', 8640 => 'ᑅ', 8641 => 'ᑆ', 8642 => 'ᑇ', 8643 => 'ᑈ', 8644 => 'ᑉ', 8645 => 'ᑊ', 8646 => 'ᑋ', 8647 => 'ᑌ', 8648 => 'ᑍ', 8649 => 'ᑎ', 8650 => 'ᑏ', 8651 => 'ᑐ', 8652 => 'ᑑ', 8653 => 'ᑒ', 8654 => 'ᑓ', 8655 => 'ᑔ', 8656 => 'ᑕ', 8657 => 'ᑖ', 8658 => 'ᑗ', 8659 => 'ᑘ', 8660 => 'ᑙ', 8661 => 'ᑚ', 8662 => 'ᑛ', 8663 => 'ᑜ', 8664 => 'ᑝ', 8665 => 'ᑞ', 8666 => 'ᑟ', 8667 => 'ᑠ', 8668 => 'ᑡ', 8669 => 'ᑢ', 8670 => 'ᑣ', 8671 => 'ᑤ', 8672 => 'ᑥ', 8673 => 'ᑦ', 8674 => 'ᑧ', 8675 => 'ᑨ', 8676 => 'ᑩ', 8677 => 'ᑪ', 8678 => 'ᑫ', 8679 => 'ᑬ', 8680 => 'ᑭ', 8681 => 'ᑮ', 8682 => 'ᑯ', 8683 => 'ᑰ', 8684 => 'ᑱ', 8685 => 'ᑲ', 8686 => 'ᑳ', 8687 => 'ᑴ', 8688 => 'ᑵ', 8689 => 'ᑶ', 8690 => 'ᑷ', 8691 => 'ᑸ', 8692 => 'ᑹ', 8693 => 'ᑺ', 8694 => 'ᑻ', 8695 => 'ᑼ', 8696 => 'ᑽ', 8697 => 'ᑾ', 8698 => 'ᑿ', 8699 => 'ᒀ', 8700 => 'ᒁ', 8701 => 'ᒂ', 8702 => 'ᒃ', 8703 => 'ᒄ', 8704 => 'ᒅ', 8705 => 'ᒆ', 8706 => 'ᒇ', 8707 => 'ᒈ', 8708 => 'ᒉ', 8709 => 'ᒊ', 8710 => 'ᒋ', 8711 => 'ᒌ', 8712 => 'ᒍ', 8713 => 'ᒎ', 8714 => 'ᒏ', 8715 => 'ᒐ', 8716 => 'ᒑ', 8717 => 'ᒒ', 8718 => 'ᒓ', 8719 => 'ᒔ', 8720 => 'ᒕ', 8721 => 'ᒖ', 8722 => 'ᒗ', 8723 => 'ᒘ', 8724 => 'ᒙ', 8725 => 'ᒚ', 8726 => 'ᒛ', 8727 => 'ᒜ', 8728 => 'ᒝ', 8729 => 'ᒞ', 8730 => 'ᒟ', 8731 => 'ᒠ', 8732 => 'ᒡ', 8733 => 'ᒢ', 8734 => 'ᒣ', 8735 => 'ᒤ', 8736 => 'ᒥ', 8737 => 'ᒦ', 8738 => 'ᒧ', 8739 => 'ᒨ', 8740 => 'ᒩ', 8741 => 'ᒪ', 8742 => 'ᒫ', 8743 => 'ᒬ', 8744 => 'ᒭ', 8745 => 'ᒮ', 8746 => 'ᒯ', 8747 => 'ᒰ', 8748 => 'ᒱ', 8749 => 'ᒲ', 8750 => 'ᒳ', 8751 => 'ᒴ', 8752 => 'ᒵ', 8753 => 'ᒶ', 8754 => 'ᒷ', 8755 => 'ᒸ', 8756 => 'ᒹ', 8757 => 'ᒺ', 8758 => 'ᒻ', 8759 => 'ᒼ', 8760 => 'ᒽ', 8761 => 'ᒾ', 8762 => 'ᒿ', 8763 => 'ᓀ', 8764 => 'ᓁ', 8765 => 'ᓂ', 8766 => 'ᓃ', 8767 => 'ᓄ', 8768 => 'ᓅ', 8769 => 'ᓆ', 8770 => 'ᓇ', 8771 => 'ᓈ', 8772 => 'ᓉ', 8773 => 'ᓊ', 8774 => 'ᓋ', 8775 => 'ᓌ', 8776 => 'ᓍ', 8777 => 'ᓎ', 8778 => 'ᓏ', 8779 => 'ᓐ', 8780 => 'ᓑ', 8781 => 'ᓒ', 8782 => 'ᓓ', 8783 => 'ᓔ', 8784 => 'ᓕ', 8785 => 'ᓖ', 8786 => 'ᓗ', 8787 => 'ᓘ', 8788 => 'ᓙ', 8789 => 'ᓚ', 8790 => 'ᓛ', 8791 => 'ᓜ', 8792 => 'ᓝ', 8793 => 'ᓞ', 8794 => 'ᓟ', 8795 => 'ᓠ', 8796 => 'ᓡ', 8797 => 'ᓢ', 8798 => 'ᓣ', 8799 => 'ᓤ', 8800 => 'ᓥ', 8801 => 'ᓦ', 8802 => 'ᓧ', 8803 => 'ᓨ', 8804 => 'ᓩ', 8805 => 'ᓪ', 8806 => 'ᓫ', 8807 => 'ᓬ', 8808 => 'ᓭ', 8809 => 'ᓮ', 8810 => 'ᓯ', 8811 => 'ᓰ', 8812 => 'ᓱ', 8813 => 'ᓲ', 8814 => 'ᓳ', 8815 => 'ᓴ', 8816 => 'ᓵ', 8817 => 'ᓶ', 8818 => 'ᓷ', 8819 => 'ᓸ', 8820 => 'ᓹ', 8821 => 'ᓺ', 8822 => 'ᓻ', 8823 => 'ᓼ', 8824 => 'ᓽ', 8825 => 'ᓾ', 8826 => 'ᓿ', 8827 => 'ᔀ', 8828 => 'ᔁ', 8829 => 'ᔂ', 8830 => 'ᔃ', 8831 => 'ᔄ', 8832 => 'ᔅ', 8833 => 'ᔆ', 8834 => 'ᔇ', 8835 => 'ᔈ', 8836 => 'ᔉ', 8837 => 'ᔊ', 8838 => 'ᔋ', 8839 => 'ᔌ', 8840 => 'ᔍ', 8841 => 'ᔎ', 8842 => 'ᔏ', 8843 => 'ᔐ', 8844 => 'ᔑ', 8845 => 'ᔒ', 8846 => 'ᔓ', 8847 => 'ᔔ', 8848 => 'ᔕ', 8849 => 'ᔖ', 8850 => 'ᔗ', 8851 => 'ᔘ', 8852 => 'ᔙ', 8853 => 'ᔚ', 8854 => 'ᔛ', 8855 => 'ᔜ', 8856 => 'ᔝ', 8857 => 'ᔞ', 8858 => 'ᔟ', 8859 => 'ᔠ', 8860 => 'ᔡ', 8861 => 'ᔢ', 8862 => 'ᔣ', 8863 => 'ᔤ', 8864 => 'ᔥ', 8865 => 'ᔦ', 8866 => 'ᔧ', 8867 => 'ᔨ', 8868 => 'ᔩ', 8869 => 'ᔪ', 8870 => 'ᔫ', 8871 => 'ᔬ', 8872 => 'ᔭ', 8873 => 'ᔮ', 8874 => 'ᔯ', 8875 => 'ᔰ', 8876 => 'ᔱ', 8877 => 'ᔲ', 8878 => 'ᔳ', 8879 => 'ᔴ', 8880 => 'ᔵ', 8881 => 'ᔶ', 8882 => 'ᔷ', 8883 => 'ᔸ', 8884 => 'ᔹ', 8885 => 'ᔺ', 8886 => 'ᔻ', 8887 => 'ᔼ', 8888 => 'ᔽ', 8889 => 'ᔾ', 8890 => 'ᔿ', 8891 => 'ᕀ', 8892 => 'ᕁ', 8893 => 'ᕂ', 8894 => 'ᕃ', 8895 => 'ᕄ', 8896 => 'ᕅ', 8897 => 'ᕆ', 8898 => 'ᕇ', 8899 => 'ᕈ', 8900 => 'ᕉ', 8901 => 'ᕊ', 8902 => 'ᕋ', 8903 => 'ᕌ', 8904 => 'ᕍ', 8905 => 'ᕎ', 8906 => 'ᕏ', 8907 => 'ᕐ', 8908 => 'ᕑ', 8909 => 'ᕒ', 8910 => 'ᕓ', 8911 => 'ᕔ', 8912 => 'ᕕ', 8913 => 'ᕖ', 8914 => 'ᕗ', 8915 => 'ᕘ', 8916 => 'ᕙ', 8917 => 'ᕚ', 8918 => 'ᕛ', 8919 => 'ᕜ', 8920 => 'ᕝ', 8921 => 'ᕞ', 8922 => 'ᕟ', 8923 => 'ᕠ', 8924 => 'ᕡ', 8925 => 'ᕢ', 8926 => 'ᕣ', 8927 => 'ᕤ', 8928 => 'ᕥ', 8929 => 'ᕦ', 8930 => 'ᕧ', 8931 => 'ᕨ', 8932 => 'ᕩ', 8933 => 'ᕪ', 8934 => 'ᕫ', 8935 => 'ᕬ', 8936 => 'ᕭ', 8937 => 'ᕮ', 8938 => 'ᕯ', 8939 => 'ᕰ', 8940 => 'ᕱ', 8941 => 'ᕲ', 8942 => 'ᕳ', 8943 => 'ᕴ', 8944 => 'ᕵ', 8945 => 'ᕶ', 8946 => 'ᕷ', 8947 => 'ᕸ', 8948 => 'ᕹ', 8949 => 'ᕺ', 8950 => 'ᕻ', 8951 => 'ᕽ', 8952 => 'ᙯ', 8953 => 'ᕾ', 8954 => 'ᕿ', 8955 => 'ᖀ', 8956 => 'ᖁ', 8957 => 'ᖂ', 8958 => 'ᖃ', 8959 => 'ᖄ', 8960 => 'ᖅ', 8961 => 'ᖆ', 8962 => 'ᖇ', 8963 => 'ᖈ', 8964 => 'ᖉ', 8965 => 'ᖊ', 8966 => 'ᖋ', 8967 => 'ᖌ', 8968 => 'ᖍ', 8969 => 'ᙰ', 8970 => 'ᖎ', 8971 => 'ᖏ', 8972 => 'ᖐ', 8973 => 'ᖑ', 8974 => 'ᖒ', 8975 => 'ᖓ', 8976 => 'ᖔ', 8977 => 'ᖕ', 8978 => 'ᙱ', 8979 => 'ᙲ', 8980 => 'ᙳ', 8981 => 'ᙴ', 8982 => 'ᙵ', 8983 => 'ᙶ', 8984 => 'ᖖ', 8985 => 'ᖗ', 8986 => 'ᖘ', 8987 => 'ᖙ', 8988 => 'ᖚ', 8989 => 'ᖛ', 8990 => 'ᖜ', 8991 => 'ᖝ', 8992 => 'ᖞ', 8993 => 'ᖟ', 8994 => 'ᖠ', 8995 => 'ᖡ', 8996 => 'ᖢ', 8997 => 'ᖣ', 8998 => 'ᖤ', 8999 => 'ᖥ', 9000 => 'ᖦ', 9001 => 'ᕼ', 9002 => 'ᖧ', 9003 => 'ᖨ', 9004 => 'ᖩ', 9005 => 'ᖪ', 9006 => 'ᖫ', 9007 => 'ᖬ', 9008 => 'ᖭ', 9009 => 'ᖮ', 9010 => 'ᖯ', 9011 => 'ᖰ', 9012 => 'ᖱ', 9013 => 'ᖲ', 9014 => 'ᖳ', 9015 => 'ᖴ', 9016 => 'ᖵ', 9017 => 'ᖶ', 9018 => 'ᖷ', 9019 => 'ᖸ', 9020 => 'ᖹ', 9021 => 'ᖺ', 9022 => 'ᖻ', 9023 => 'ᖼ', 9024 => 'ᖽ', 9025 => 'ᖾ', 9026 => 'ᖿ', 9027 => 'ᗀ', 9028 => 'ᗁ', 9029 => 'ᗂ', 9030 => 'ᗃ', 9031 => 'ᗄ', 9032 => 'ᗅ', 9033 => 'ᗆ', 9034 => 'ᗇ', 9035 => 'ᗈ', 9036 => 'ᗉ', 9037 => 'ᗊ', 9038 => 'ᗋ', 9039 => 'ᗌ', 9040 => 'ᗍ', 9041 => 'ᗎ', 9042 => 'ᗏ', 9043 => 'ᗐ', 9044 => 'ᗑ', 9045 => 'ᗒ', 9046 => 'ᗓ', 9047 => 'ᗔ', 9048 => 'ᗕ', 9049 => 'ᗖ', 9050 => 'ᗗ', 9051 => 'ᗘ', 9052 => 'ᗙ', 9053 => 'ᗚ', 9054 => 'ᗛ', 9055 => 'ᗜ', 9056 => 'ᗝ', 9057 => 'ᗞ', 9058 => 'ᗟ', 9059 => 'ᗠ', 9060 => 'ᗡ', 9061 => 'ᗢ', 9062 => 'ᗣ', 9063 => 'ᗤ', 9064 => 'ᗥ', 9065 => 'ᗦ', 9066 => 'ᗧ', 9067 => 'ᗨ', 9068 => 'ᗩ', 9069 => 'ᗪ', 9070 => 'ᗫ', 9071 => 'ᗬ', 9072 => 'ᗭ', 9073 => 'ᗮ', 9074 => 'ᗯ', 9075 => 'ᗰ', 9076 => 'ᗱ', 9077 => 'ᗲ', 9078 => 'ᗳ', 9079 => 'ᗴ', 9080 => 'ᗵ', 9081 => 'ᗶ', 9082 => 'ᗷ', 9083 => 'ᗸ', 9084 => 'ᗹ', 9085 => 'ᗺ', 9086 => 'ᗻ', 9087 => 'ᗼ', 9088 => 'ᗽ', 9089 => 'ᗾ', 9090 => 'ᗿ', 9091 => 'ᘀ', 9092 => 'ᘁ', 9093 => 'ᘂ', 9094 => 'ᘃ', 9095 => 'ᘄ', 9096 => 'ᘅ', 9097 => 'ᘆ', 9098 => 'ᘇ', 9099 => 'ᘈ', 9100 => 'ᘉ', 9101 => 'ᘊ', 9102 => 'ᘋ', 9103 => 'ᘌ', 9104 => 'ᘍ', 9105 => 'ᘎ', 9106 => 'ᘏ', 9107 => 'ᘐ', 9108 => 'ᘑ', 9109 => 'ᘒ', 9110 => 'ᘓ', 9111 => 'ᘔ', 9112 => 'ᘕ', 9113 => 'ᘖ', 9114 => 'ᘗ', 9115 => 'ᘘ', 9116 => 'ᘙ', 9117 => 'ᘚ', 9118 => 'ᘛ', 9119 => 'ᘜ', 9120 => 'ᘝ', 9121 => 'ᘞ', 9122 => 'ᘟ', 9123 => 'ᘠ', 9124 => 'ᘡ', 9125 => 'ᘢ', 9126 => 'ᘣ', 9127 => 'ᘤ', 9128 => 'ᘥ', 9129 => 'ᘦ', 9130 => 'ᘧ', 9131 => 'ᘨ', 9132 => 'ᘩ', 9133 => 'ᘪ', 9134 => 'ᘫ', 9135 => 'ᘬ', 9136 => 'ᘭ', 9137 => 'ᘮ', 9138 => 'ᘯ', 9139 => 'ᘰ', 9140 => 'ᘱ', 9141 => 'ᘲ', 9142 => 'ᘳ', 9143 => 'ᘴ', 9144 => 'ᘵ', 9145 => 'ᘶ', 9146 => 'ᘷ', 9147 => 'ᘸ', 9148 => 'ᘹ', 9149 => 'ᘺ', 9150 => 'ᘻ', 9151 => 'ᘼ', 9152 => 'ᘽ', 9153 => 'ᘾ', 9154 => 'ᘿ', 9155 => 'ᙀ', 9156 => 'ᙁ', 9157 => 'ᙂ', 9158 => 'ᙃ', 9159 => 'ᙄ', 9160 => 'ᙅ', 9161 => 'ᙆ', 9162 => 'ᙇ', 9163 => 'ᙈ', 9164 => 'ᙉ', 9165 => 'ᙊ', 9166 => 'ᙋ', 9167 => 'ᙌ', 9168 => 'ᙍ', 9169 => 'ᙎ', 9170 => 'ᙏ', 9171 => 'ᙐ', 9172 => 'ᙑ', 9173 => 'ᙒ', 9174 => 'ᙓ', 9175 => 'ᙔ', 9176 => 'ᙕ', 9177 => 'ᙖ', 9178 => 'ᙗ', 9179 => 'ᙘ', 9180 => 'ᙙ', 9181 => 'ᙚ', 9182 => 'ᙛ', 9183 => 'ᙜ', 9184 => 'ᙝ', 9185 => 'ᙞ', 9186 => 'ᙟ', 9187 => 'ᙠ', 9188 => 'ᙡ', 9189 => 'ᙢ', 9190 => 'ᙣ', 9191 => 'ᙤ', 9192 => 'ᙥ', 9193 => 'ᙦ', 9194 => 'ᙧ', 9195 => 'ᙨ', 9196 => 'ᙩ', 9197 => 'ᙪ', 9198 => 'ᙫ', 9199 => 'ᙬ', 9200 => 'ᙷ', 9201 => 'ᙸ', 9202 => 'ᙹ', 9203 => 'ᙺ', 9204 => 'ᙻ', 9205 => 'ᙼ', 9206 => 'ᙽ', 9207 => 'ᙾ', 9208 => 'ᙿ', 9209 => 'ᢰ', 9210 => 'ᢱ', 9211 => 'ᢲ', 9212 => 'ᢳ', 9213 => 'ᢴ', 9214 => 'ᢵ', 9215 => 'ᢶ', 9216 => 'ᢷ', 9217 => 'ᢸ', 9218 => 'ᢹ', 9219 => 'ᢺ', 9220 => 'ᢻ', 9221 => 'ᢼ', 9222 => 'ᢽ', 9223 => 'ᢾ', 9224 => 'ᢿ', 9225 => 'ᣀ', 9226 => 'ᣁ', 9227 => 'ᣂ', 9228 => 'ᣃ', 9229 => 'ᣄ', 9230 => 'ᣅ', 9231 => 'ᣆ', 9232 => 'ᣇ', 9233 => 'ᣈ', 9234 => 'ᣉ', 9235 => 'ᣊ', 9236 => 'ᣋ', 9237 => 'ᣌ', 9238 => 'ᣍ', 9239 => 'ᣎ', 9240 => 'ᣏ', 9241 => 'ᣐ', 9242 => 'ᣑ', 9243 => 'ᣒ', 9244 => 'ᣓ', 9245 => 'ᣔ', 9246 => 'ᣕ', 9247 => 'ᣖ', 9248 => 'ᣗ', 9249 => 'ᣘ', 9250 => 'ᣙ', 9251 => 'ᣚ', 9252 => 'ᣛ', 9253 => 'ᣜ', 9254 => 'ᣝ', 9255 => 'ᣞ', 9256 => 'ᣟ', 9257 => 'ᣠ', 9258 => 'ᣡ', 9259 => 'ᣢ', 9260 => 'ᣣ', 9261 => 'ᣤ', 9262 => 'ᣥ', 9263 => 'ᣦ', 9264 => 'ᣧ', 9265 => 'ᣨ', 9266 => 'ᣩ', 9267 => 'ᣪ', 9268 => 'ᣫ', 9269 => 'ᣬ', 9270 => 'ᣭ', 9271 => 'ᣮ', 9272 => 'ᣯ', 9273 => 'ᣰ', 9274 => 'ᣱ', 9275 => 'ᣲ', 9276 => 'ᣳ', 9277 => 'ᣴ', 9278 => 'ᣵ', 9279 => 'ᚁ', 9280 => 'ᚂ', 9281 => 'ᚃ', 9282 => 'ᚄ', 9283 => 'ᚅ', 9284 => 'ᚆ', 9285 => 'ᚇ', 9286 => 'ᚈ', 9287 => 'ᚉ', 9288 => 'ᚊ', 9289 => 'ᚋ', 9290 => 'ᚌ', 9291 => 'ᚍ', 9292 => 'ᚎ', 9293 => 'ᚏ', 9294 => 'ᚐ', 9295 => 'ᚑ', 9296 => 'ᚒ', 9297 => 'ᚓ', 9298 => 'ᚔ', 9299 => 'ᚕ', 9300 => 'ᚖ', 9301 => 'ᚗ', 9302 => 'ᚘ', 9303 => 'ᚙ', 9304 => 'ᚚ', 9305 => 'ᚠ', 9306 => 'ᚢ', 9307 => 'ᚦ', 9308 => 'ᚨ', 9309 => 'ᚯ', 9310 => 'ᚰ', 9311 => 'ᚱ', 9312 => 'ᚲ', 9313 => 'ᚷ', 9314 => 'ᚹ', 9315 => 'ᚺ', 9316 => 'ᚾ', 9317 => 'ᛁ', 9318 => 'ᛃ', 9319 => 'ᛅ', 9320 => 'ᛇ', 9321 => 'ᛈ', 9322 => 'ᛉ', 9323 => 'ᛊ', 9324 => 'ᛏ', 9325 => 'ᛒ', 9326 => 'ᛖ', 9327 => 'ᛗ', 9328 => 'ᛚ', 9329 => 'ᛜ', 9330 => 'ᛞ', 9331 => 'ᛟ', 9332 => 'ᚪ', 9333 => 'ᚫ', 9334 => 'ᚣ', 9335 => 'ᛠ', 9336 => 'ᛣ', 9337 => 'ᚸ', 9338 => 'ᛤ', 9339 => 'ᛡ', 9340 => 'ᛢ', 9341 => 'ᛥ', 9342 => 'ᛦ', 9343 => '𐰀', 9344 => '𐰂', 9345 => '𐰃', 9346 => '𐰅', 9347 => '𐰆', 9348 => '𐰇', 9349 => '𐰉', 9350 => '𐰋', 9351 => '𐰍', 9352 => '𐰏', 9353 => '𐰑', 9354 => '𐰓', 9355 => '𐰔', 9356 => '𐰖', 9357 => '𐰘', 9358 => '𐰚', 9359 => '𐰜', 9360 => '𐰞', 9361 => '𐰠', 9362 => '𐰡', 9363 => '𐰢', 9364 => '𐰣', 9365 => '𐰤', 9366 => '𐰦', 9367 => '𐰨', 9368 => '𐰪', 9369 => '𐰬', 9370 => '𐰭', 9371 => '𐰯', 9372 => '𐰰', 9373 => '𐰱', 9374 => '𐰲', 9375 => '𐰴', 9376 => '𐰶', 9377 => '𐰸', 9378 => '𐰺', 9379 => '𐰼', 9380 => '𐰽', 9381 => '𐰾', 9382 => '𐰿', 9383 => '𐱁', 9384 => '𐱃', 9385 => '𐱅', 9386 => '𐱇', 9387 => '𐱈', 9388 => 'ꔀ', 9389 => 'ꔁ', 9390 => 'ꔂ', 9391 => 'ꔃ', 9392 => 'ꔄ', 9393 => 'ꔅ', 9394 => 'ꔆ', 9395 => 'ꔇ', 9396 => 'ꔈ', 9397 => 'ꔉ', 9398 => 'ꔊ', 9399 => 'ꔋ', 9400 => 'ꔌ', 9401 => 'ꔍ', 9402 => 'ꔎ', 9403 => 'ꔏ', 9404 => 'ꔐ', 9405 => 'ꔑ', 9406 => 'ꔒ', 9407 => 'ꔓ', 9408 => 'ꔔ', 9409 => 'ꔕ', 9410 => 'ꔖ', 9411 => 'ꔗ', 9412 => 'ꔘ', 9413 => 'ꔙ', 9414 => 'ꔚ', 9415 => 'ꔛ', 9416 => 'ꔜ', 9417 => 'ꔝ', 9418 => 'ꔞ', 9419 => 'ꔟ', 9420 => 'ꔠ', 9421 => 'ꔡ', 9422 => 'ꔢ', 9423 => 'ꔣ', 9424 => 'ꔤ', 9425 => 'ꔥ', 9426 => 'ꔦ', 9427 => 'ꔧ', 9428 => 'ꔨ', 9429 => 'ꔩ', 9430 => 'ꔪ', 9431 => 'ꔫ', 9432 => 'ꔬ', 9433 => 'ꔭ', 9434 => 'ꔮ', 9435 => 'ꔯ', 9436 => 'ꔰ', 9437 => 'ꔱ', 9438 => 'ꔲ', 9439 => 'ꔳ', 9440 => 'ꔴ', 9441 => 'ꔵ', 9442 => 'ꔶ', 9443 => 'ꔷ', 9444 => 'ꔸ', 9445 => 'ꔹ', 9446 => 'ꔺ', 9447 => 'ꔻ', 9448 => 'ꔼ', 9449 => 'ꔽ', 9450 => 'ꔾ', 9451 => 'ꔿ', 9452 => 'ꕀ', 9453 => 'ꕁ', 9454 => 'ꕂ', 9455 => 'ꕃ', 9456 => 'ꕄ', 9457 => 'ꕅ', 9458 => 'ꕆ', 9459 => 'ꕇ', 9460 => 'ꕈ', 9461 => 'ꕉ', 9462 => 'ꕊ', 9463 => 'ꕋ', 9464 => 'ꕌ', 9465 => 'ꕍ', 9466 => 'ꕎ', 9467 => 'ꕏ', 9468 => 'ꕐ', 9469 => 'ꕑ', 9470 => 'ꕒ', 9471 => 'ꕓ', 9472 => 'ꕔ', 9473 => 'ꕕ', 9474 => 'ꕖ', 9475 => 'ꕗ', 9476 => 'ꕘ', 9477 => 'ꕙ', 9478 => 'ꕚ', 9479 => 'ꕛ', 9480 => 'ꕜ', 9481 => 'ꕝ', 9482 => 'ꕞ', 9483 => 'ꕟ', 9484 => 'ꕠ', 9485 => 'ꕡ', 9486 => 'ꕢ', 9487 => 'ꕣ', 9488 => 'ꕤ', 9489 => 'ꕥ', 9490 => 'ꕦ', 9491 => 'ꕧ', 9492 => 'ꕨ', 9493 => 'ꕩ', 9494 => 'ꕪ', 9495 => 'ꕫ', 9496 => 'ꕬ', 9497 => 'ꕭ', 9498 => 'ꕮ', 9499 => 'ꕯ', 9500 => 'ꕰ', 9501 => 'ꕱ', 9502 => 'ꕲ', 9503 => 'ꕳ', 9504 => 'ꕴ', 9505 => 'ꕵ', 9506 => 'ꕶ', 9507 => 'ꕷ', 9508 => 'ꕸ', 9509 => 'ꕹ', 9510 => 'ꕺ', 9511 => 'ꕻ', 9512 => 'ꕼ', 9513 => 'ꕽ', 9514 => 'ꕾ', 9515 => 'ꕿ', 9516 => 'ꖀ', 9517 => 'ꖁ', 9518 => 'ꖂ', 9519 => 'ꖃ', 9520 => 'ꖄ', 9521 => 'ꖅ', 9522 => 'ꖆ', 9523 => 'ꖇ', 9524 => 'ꖈ', 9525 => 'ꖉ', 9526 => 'ꖊ', 9527 => 'ꖋ', 9528 => 'ꖌ', 9529 => 'ꖍ', 9530 => 'ꖎ', 9531 => 'ꖏ', 9532 => 'ꖐ', 9533 => 'ꖑ', 9534 => 'ꖒ', 9535 => 'ꖓ', 9536 => 'ꖔ', 9537 => 'ꖕ', 9538 => 'ꖖ', 9539 => 'ꖗ', 9540 => 'ꖘ', 9541 => 'ꖙ', 9542 => 'ꖚ', 9543 => 'ꖛ', 9544 => 'ꖜ', 9545 => 'ꖝ', 9546 => 'ꖞ', 9547 => 'ꖟ', 9548 => 'ꖠ', 9549 => 'ꖡ', 9550 => 'ꖢ', 9551 => 'ꖣ', 9552 => 'ꖤ', 9553 => 'ꖥ', 9554 => 'ꖦ', 9555 => 'ꖧ', 9556 => 'ꖨ', 9557 => 'ꖩ', 9558 => 'ꖪ', 9559 => 'ꖫ', 9560 => 'ꖬ', 9561 => 'ꖭ', 9562 => 'ꖮ', 9563 => 'ꖯ', 9564 => 'ꖰ', 9565 => 'ꖱ', 9566 => 'ꖲ', 9567 => 'ꖳ', 9568 => 'ꖴ', 9569 => 'ꖵ', 9570 => 'ꖶ', 9571 => 'ꖷ', 9572 => 'ꖸ', 9573 => 'ꖹ', 9574 => 'ꖺ', 9575 => 'ꖻ', 9576 => 'ꖼ', 9577 => 'ꖽ', 9578 => 'ꖾ', 9579 => 'ꖿ', 9580 => 'ꗀ', 9581 => 'ꗁ', 9582 => 'ꗂ', 9583 => 'ꗃ', 9584 => 'ꗄ', 9585 => 'ꗅ', 9586 => 'ꗆ', 9587 => 'ꗇ', 9588 => 'ꗈ', 9589 => 'ꗉ', 9590 => 'ꗊ', 9591 => 'ꗋ', 9592 => 'ꗌ', 9593 => 'ꗍ', 9594 => 'ꗎ', 9595 => 'ꗏ', 9596 => 'ꗐ', 9597 => 'ꗑ', 9598 => 'ꗒ', 9599 => 'ꗓ', 9600 => 'ꗔ', 9601 => 'ꗕ', 9602 => 'ꗖ', 9603 => 'ꗗ', 9604 => 'ꗘ', 9605 => 'ꗙ', 9606 => 'ꗚ', 9607 => 'ꗛ', 9608 => 'ꗜ', 9609 => 'ꗝ', 9610 => 'ꗞ', 9611 => 'ꗟ', 9612 => 'ꗠ', 9613 => 'ꗡ', 9614 => 'ꗢ', 9615 => 'ꗣ', 9616 => 'ꗤ', 9617 => 'ꗥ', 9618 => 'ꗦ', 9619 => 'ꗧ', 9620 => 'ꗨ', 9621 => 'ꗩ', 9622 => 'ꗪ', 9623 => 'ꗫ', 9624 => 'ꗬ', 9625 => 'ꗭ', 9626 => 'ꗮ', 9627 => 'ꗯ', 9628 => 'ꗰ', 9629 => 'ꗱ', 9630 => 'ꗲ', 9631 => 'ꗳ', 9632 => 'ꗴ', 9633 => 'ꗵ', 9634 => 'ꗶ', 9635 => 'ꗷ', 9636 => 'ꗸ', 9637 => 'ꗹ', 9638 => 'ꗺ', 9639 => 'ꗻ', 9640 => 'ꗼ', 9641 => 'ꗽ', 9642 => 'ꗾ', 9643 => 'ꗿ', 9644 => 'ꘀ', 9645 => 'ꘁ', 9646 => 'ꘂ', 9647 => 'ꘃ', 9648 => 'ꘄ', 9649 => 'ꘅ', 9650 => 'ꘆ', 9651 => 'ꘇ', 9652 => 'ꘈ', 9653 => 'ꘉ', 9654 => 'ꘊ', 9655 => 'ꘋ', 9656 => 'ꘌ', 9657 => 'ꚠ', 9658 => 'ꚡ', 9659 => 'ꚢ', 9660 => 'ꚣ', 9661 => 'ꚤ', 9662 => 'ꚥ', 9663 => 'ꚦ', 9664 => 'ꚧ', 9665 => 'ꚨ', 9666 => 'ꚩ', 9667 => 'ꚪ', 9668 => 'ꚫ', 9669 => 'ꚬ', 9670 => 'ꚭ', 9671 => 'ꚮ', 9672 => 'ꚯ', 9673 => 'ꚰ', 9674 => 'ꚱ', 9675 => 'ꚲ', 9676 => 'ꚳ', 9677 => 'ꚴ', 9678 => 'ꚵ', 9679 => 'ꚶ', 9680 => 'ꚷ', 9681 => 'ꚸ', 9682 => 'ꚹ', 9683 => 'ꚺ', 9684 => 'ꚻ', 9685 => 'ꚼ', 9686 => 'ꚽ', 9687 => 'ꚾ', 9688 => 'ꚿ', 9689 => 'ꛀ', 9690 => 'ꛁ', 9691 => 'ꛂ', 9692 => 'ꛃ', 9693 => 'ꛄ', 9694 => 'ꛅ', 9695 => 'ꛆ', 9696 => 'ꛇ', 9697 => 'ꛈ', 9698 => 'ꛉ', 9699 => 'ꛊ', 9700 => 'ꛋ', 9701 => 'ꛌ', 9702 => 'ꛍ', 9703 => 'ꛎ', 9704 => 'ꛏ', 9705 => 'ꛐ', 9706 => 'ꛑ', 9707 => 'ꛒ', 9708 => 'ꛓ', 9709 => 'ꛔ', 9710 => 'ꛕ', 9711 => 'ꛖ', 9712 => 'ꛗ', 9713 => 'ꛘ', 9714 => 'ꛙ', 9715 => 'ꛚ', 9716 => 'ꛛ', 9717 => 'ꛜ', 9718 => 'ꛝ', 9719 => 'ꛞ', 9720 => 'ꛟ', 9721 => 'ꛠ', 9722 => 'ꛡ', 9723 => 'ꛢ', 9724 => 'ꛣ', 9725 => 'ꛤ', 9726 => 'ꛥ', 9727 => 'ꛦ', 9728 => 'ꛧ', 9729 => 'ꛨ', 9730 => 'ꛩ', 9731 => 'ꛪ', 9732 => 'ꛫ', 9733 => 'ꛬ', 9734 => 'ꛭ', 9735 => 'ꛮ', 9736 => 'ꛯ', 9737 => '𖠀', 9738 => '𖠁', 9739 => '𖠂', 9740 => '𖠃', 9741 => '𖠄', 9742 => '𖠅', 9743 => '𖠆', 9744 => '𖠇', 9745 => '𖠈', 9746 => '𖠉', 9747 => '𖠊', 9748 => '𖠋', 9749 => '𖠌', 9750 => '𖠍', 9751 => '𖠎', 9752 => '𖠏', 9753 => '𖠐', 9754 => '𖠑', 9755 => '𖠒', 9756 => '𖠓', 9757 => '𖠔', 9758 => '𖠕', 9759 => '𖠖', 9760 => '𖠗', 9761 => '𖠘', 9762 => '𖠙', 9763 => '𖠚', 9764 => '𖠛', 9765 => '𖠜', 9766 => '𖠝', 9767 => '𖠞', 9768 => '𖠟', 9769 => '𖠠', 9770 => '𖠡', 9771 => '𖠢', 9772 => '𖠣', 9773 => '𖠤', 9774 => '𖠥', 9775 => '𖠦', 9776 => '𖠧', 9777 => '𖠨', 9778 => '𖠩', 9779 => '𖠪', 9780 => '𖠫', 9781 => '𖠬', 9782 => '𖠭', 9783 => '𖠮', 9784 => '𖠯', 9785 => '𖠰', 9786 => '𖠱', 9787 => '𖠲', 9788 => '𖠳', 9789 => '𖠴', 9790 => '𖠵', 9791 => '𖠶', 9792 => '𖠷', 9793 => '𖠸', 9794 => '𖠹', 9795 => '𖠺', 9796 => '𖠻', 9797 => '𖠼', 9798 => '𖠽', 9799 => '𖠾', 9800 => '𖠿', 9801 => '𖡀', 9802 => '𖡁', 9803 => '𖡂', 9804 => '𖡃', 9805 => '𖡄', 9806 => '𖡅', 9807 => '𖡆', 9808 => '𖡇', 9809 => '𖡈', 9810 => '𖡉', 9811 => '𖡊', 9812 => '𖡋', 9813 => '𖡌', 9814 => '𖡍', 9815 => '𖡎', 9816 => '𖡏', 9817 => '𖡐', 9818 => '𖡑', 9819 => '𖡒', 9820 => '𖡓', 9821 => '𖡔', 9822 => '𖡕', 9823 => '𖡖', 9824 => '𖡗', 9825 => '𖡘', 9826 => '𖡙', 9827 => '𖡚', 9828 => '𖡛', 9829 => '𖡜', 9830 => '𖡝', 9831 => '𖡞', 9832 => '𖡟', 9833 => '𖡠', 9834 => '𖡡', 9835 => '𖡢', 9836 => '𖡣', 9837 => '𖡤', 9838 => '𖡥', 9839 => '𖡦', 9840 => '𖡧', 9841 => '𖡨', 9842 => '𖡩', 9843 => '𖡪', 9844 => '𖡫', 9845 => '𖡬', 9846 => '𖡭', 9847 => '𖡮', 9848 => '𖡯', 9849 => '𖡰', 9850 => '𖡱', 9851 => '𖡲', 9852 => '𖡳', 9853 => '𖡴', 9854 => '𖡵', 9855 => '𖡶', 9856 => '𖡷', 9857 => '𖡸', 9858 => '𖡹', 9859 => '𖡺', 9860 => '𖡻', 9861 => '𖡼', 9862 => '𖡽', 9863 => '𖡾', 9864 => '𖡿', 9865 => '𖢀', 9866 => '𖢁', 9867 => '𖢂', 9868 => '𖢃', 9869 => '𖢄', 9870 => '𖢅', 9871 => '𖢆', 9872 => '𖢇', 9873 => '𖢈', 9874 => '𖢉', 9875 => '𖢊', 9876 => '𖢋', 9877 => '𖢌', 9878 => '𖢍', 9879 => '𖢎', 9880 => '𖢏', 9881 => '𖢐', 9882 => '𖢑', 9883 => '𖢒', 9884 => '𖢓', 9885 => '𖢔', 9886 => '𖢕', 9887 => '𖢖', 9888 => '𖢗', 9889 => '𖢘', 9890 => '𖢙', 9891 => '𖢚', 9892 => '𖢛', 9893 => '𖢜', 9894 => '𖢝', 9895 => '𖢞', 9896 => '𖢟', 9897 => '𖢠', 9898 => '𖢡', 9899 => '𖢢', 9900 => '𖢣', 9901 => '𖢤', 9902 => '𖢥', 9903 => '𖢦', 9904 => '𖢧', 9905 => '𖢨', 9906 => '𖢩', 9907 => '𖢪', 9908 => '𖢫', 9909 => '𖢬', 9910 => '𖢭', 9911 => '𖢮', 9912 => '𖢯', 9913 => '𖢰', 9914 => '𖢱', 9915 => '𖢲', 9916 => '𖢳', 9917 => '𖢴', 9918 => '𖢵', 9919 => '𖢶', 9920 => '𖢷', 9921 => '𖢸', 9922 => '𖢹', 9923 => '𖢺', 9924 => '𖢻', 9925 => '𖢼', 9926 => '𖢽', 9927 => '𖢾', 9928 => '𖢿', 9929 => '𖣀', 9930 => '𖣁', 9931 => '𖣂', 9932 => '𖣃', 9933 => '𖣄', 9934 => '𖣅', 9935 => '𖣆', 9936 => '𖣇', 9937 => '𖣈', 9938 => '𖣉', 9939 => '𖣊', 9940 => '𖣋', 9941 => '𖣌', 9942 => '𖣍', 9943 => '𖣎', 9944 => '𖣏', 9945 => '𖣐', 9946 => '𖣑', 9947 => '𖣒', 9948 => '𖣓', 9949 => '𖣔', 9950 => '𖣕', 9951 => '𖣖', 9952 => '𖣗', 9953 => '𖣘', 9954 => '𖣙', 9955 => '𖣚', 9956 => '𖣛', 9957 => '𖣜', 9958 => '𖣝', 9959 => '𖣞', 9960 => '𖣟', 9961 => '𖣠', 9962 => '𖣡', 9963 => '𖣢', 9964 => '𖣣', 9965 => '𖣤', 9966 => '𖣥', 9967 => '𖣦', 9968 => '𖣧', 9969 => '𖣨', 9970 => '𖣩', 9971 => '𖣪', 9972 => '𖣫', 9973 => '𖣬', 9974 => '𖣭', 9975 => '𖣮', 9976 => '𖣯', 9977 => '𖣰', 9978 => '𖣱', 9979 => '𖣲', 9980 => '𖣳', 9981 => '𖣴', 9982 => '𖣵', 9983 => '𖣶', 9984 => '𖣷', 9985 => '𖣸', 9986 => '𖣹', 9987 => '𖣺', 9988 => '𖣻', 9989 => '𖣼', 9990 => '𖣽', 9991 => '𖣾', 9992 => '𖣿', 9993 => '𖤀', 9994 => '𖤁', 9995 => '𖤂', 9996 => '𖤃', 9997 => '𖤄', 9998 => '𖤅', 9999 => '𖤆', 10000 => '𖤇', 10001 => '𖤈', 10002 => '𖤉', 10003 => '𖤊', 10004 => '𖤋', 10005 => '𖤌', 10006 => '𖤍', 10007 => '𖤎', 10008 => '𖤏', 10009 => '𖤐', 10010 => '𖤑', 10011 => '𖤒', 10012 => '𖤓', 10013 => '𖤔', 10014 => '𖤕', 10015 => '𖤖', 10016 => '𖤗', 10017 => '𖤘', 10018 => '𖤙', 10019 => '𖤚', 10020 => '𖤛', 10021 => '𖤜', 10022 => '𖤝', 10023 => '𖤞', 10024 => '𖤟', 10025 => '𖤠', 10026 => '𖤡', 10027 => '𖤢', 10028 => '𖤣', 10029 => '𖤤', 10030 => '𖤥', 10031 => '𖤦', 10032 => '𖤧', 10033 => '𖤨', 10034 => '𖤩', 10035 => '𖤪', 10036 => '𖤫', 10037 => '𖤬', 10038 => '𖤭', 10039 => '𖤮', 10040 => '𖤯', 10041 => '𖤰', 10042 => '𖤱', 10043 => '𖤲', 10044 => '𖤳', 10045 => '𖤴', 10046 => '𖤵', 10047 => '𖤶', 10048 => '𖤷', 10049 => '𖤸', 10050 => '𖤹', 10051 => '𖤺', 10052 => '𖤻', 10053 => '𖤼', 10054 => '𖤽', 10055 => '𖤾', 10056 => '𖤿', 10057 => '𖥀', 10058 => '𖥁', 10059 => '𖥂', 10060 => '𖥃', 10061 => '𖥄', 10062 => '𖥅', 10063 => '𖥆', 10064 => '𖥇', 10065 => '𖥈', 10066 => '𖥉', 10067 => '𖥊', 10068 => '𖥋', 10069 => '𖥌', 10070 => '𖥍', 10071 => '𖥎', 10072 => '𖥏', 10073 => '𖥐', 10074 => '𖥑', 10075 => '𖥒', 10076 => '𖥓', 10077 => '𖥔', 10078 => '𖥕', 10079 => '𖥖', 10080 => '𖥗', 10081 => '𖥘', 10082 => '𖥙', 10083 => '𖥚', 10084 => '𖥛', 10085 => '𖥜', 10086 => '𖥝', 10087 => '𖥞', 10088 => '𖥟', 10089 => '𖥠', 10090 => '𖥡', 10091 => '𖥢', 10092 => '𖥣', 10093 => '𖥤', 10094 => '𖥥', 10095 => '𖥦', 10096 => '𖥧', 10097 => '𖥨', 10098 => '𖥩', 10099 => '𖥪', 10100 => '𖥫', 10101 => '𖥬', 10102 => '𖥭', 10103 => '𖥮', 10104 => '𖥯', 10105 => '𖥰', 10106 => '𖥱', 10107 => '𖥲', 10108 => '𖥳', 10109 => '𖥴', 10110 => '𖥵', 10111 => '𖥶', 10112 => '𖥷', 10113 => '𖥸', 10114 => '𖥹', 10115 => '𖥺', 10116 => '𖥻', 10117 => '𖥼', 10118 => '𖥽', 10119 => '𖥾', 10120 => '𖥿', 10121 => '𖦀', 10122 => '𖦁', 10123 => '𖦂', 10124 => '𖦃', 10125 => '𖦄', 10126 => '𖦅', 10127 => '𖦆', 10128 => '𖦇', 10129 => '𖦈', 10130 => '𖦉', 10131 => '𖦊', 10132 => '𖦋', 10133 => '𖦌', 10134 => '𖦍', 10135 => '𖦎', 10136 => '𖦏', 10137 => '𖦐', 10138 => '𖦑', 10139 => '𖦒', 10140 => '𖦓', 10141 => '𖦔', 10142 => '𖦕', 10143 => '𖦖', 10144 => '𖦗', 10145 => '𖦘', 10146 => '𖦙', 10147 => '𖦚', 10148 => '𖦛', 10149 => '𖦜', 10150 => '𖦝', 10151 => '𖦞', 10152 => '𖦟', 10153 => '𖦠', 10154 => '𖦡', 10155 => '𖦢', 10156 => '𖦣', 10157 => '𖦤', 10158 => '𖦥', 10159 => '𖦦', 10160 => '𖦧', 10161 => '𖦨', 10162 => '𖦩', 10163 => '𖦪', 10164 => '𖦫', 10165 => '𖦬', 10166 => '𖦭', 10167 => '𖦮', 10168 => '𖦯', 10169 => '𖦰', 10170 => '𖦱', 10171 => '𖦲', 10172 => '𖦳', 10173 => '𖦴', 10174 => '𖦵', 10175 => '𖦶', 10176 => '𖦷', 10177 => '𖦸', 10178 => '𖦹', 10179 => '𖦺', 10180 => '𖦻', 10181 => '𖦼', 10182 => '𖦽', 10183 => '𖦾', 10184 => '𖦿', 10185 => '𖧀', 10186 => '𖧁', 10187 => '𖧂', 10188 => '𖧃', 10189 => '𖧄', 10190 => '𖧅', 10191 => '𖧆', 10192 => '𖧇', 10193 => '𖧈', 10194 => '𖧉', 10195 => '𖧊', 10196 => '𖧋', 10197 => '𖧌', 10198 => '𖧍', 10199 => '𖧎', 10200 => '𖧏', 10201 => '𖧐', 10202 => '𖧑', 10203 => '𖧒', 10204 => '𖧓', 10205 => '𖧔', 10206 => '𖧕', 10207 => '𖧖', 10208 => '𖧗', 10209 => '𖧘', 10210 => '𖧙', 10211 => '𖧚', 10212 => '𖧛', 10213 => '𖧜', 10214 => '𖧝', 10215 => '𖧞', 10216 => '𖧟', 10217 => '𖧠', 10218 => '𖧡', 10219 => '𖧢', 10220 => '𖧣', 10221 => '𖧤', 10222 => '𖧥', 10223 => '𖧦', 10224 => '𖧧', 10225 => '𖧨', 10226 => '𖧩', 10227 => '𖧪', 10228 => '𖧫', 10229 => '𖧬', 10230 => '𖧭', 10231 => '𖧮', 10232 => '𖧯', 10233 => '𖧰', 10234 => '𖧱', 10235 => '𖧲', 10236 => '𖧳', 10237 => '𖧴', 10238 => '𖧵', 10239 => '𖧶', 10240 => '𖧷', 10241 => '𖧸', 10242 => '𖧹', 10243 => '𖧺', 10244 => '𖧻', 10245 => '𖧼', 10246 => '𖧽', 10247 => '𖧾', 10248 => '𖧿', 10249 => '𖨀', 10250 => '𖨁', 10251 => '𖨂', 10252 => '𖨃', 10253 => '𖨄', 10254 => '𖨅', 10255 => '𖨆', 10256 => '𖨇', 10257 => '𖨈', 10258 => '𖨉', 10259 => '𖨊', 10260 => '𖨋', 10261 => '𖨌', 10262 => '𖨍', 10263 => '𖨎', 10264 => '𖨏', 10265 => '𖨐', 10266 => '𖨑', 10267 => '𖨒', 10268 => '𖨓', 10269 => '𖨔', 10270 => '𖨕', 10271 => '𖨖', 10272 => '𖨗', 10273 => '𖨘', 10274 => '𖨙', 10275 => '𖨚', 10276 => '𖨛', 10277 => '𖨜', 10278 => '𖨝', 10279 => '𖨞', 10280 => '𖨟', 10281 => '𖨠', 10282 => '𖨡', 10283 => '𖨢', 10284 => '𖨣', 10285 => '𖨤', 10286 => '𖨥', 10287 => '𖨦', 10288 => '𖨧', 10289 => '𖨨', 10290 => '𖨩', 10291 => '𖨪', 10292 => '𖨫', 10293 => '𖨬', 10294 => '𖨭', 10295 => '𖨮', 10296 => '𖨯', 10297 => '𖨰', 10298 => '𖨱', 10299 => '𖨲', 10300 => '𖨳', 10301 => '𖨴', 10302 => '𖨵', 10303 => '𖨶', 10304 => '𖨷', 10305 => '𖨸', 10306 => 'ᄀ', 10307 => 'ᄁ', 10308 => 'ᄂ', 10309 => 'ᄃ', 10310 => 'ᄄ', 10311 => 'ᄅ', 10312 => 'ᄆ', 10313 => 'ᄇ', 10314 => 'ᄈ', 10315 => 'ᄉ', 10316 => 'ᄊ', 10317 => 'ᄋ', 10318 => 'ᄌ', 10319 => 'ᄍ', 10320 => 'ᄎ', 10321 => 'ᄏ', 10322 => 'ᄐ', 10323 => 'ᄑ', 10324 => 'ᄒ', 10325 => 'ᄓ', 10326 => 'ᄔ', 10327 => 'ᄕ', 10328 => 'ᄖ', 10329 => 'ᄗ', 10330 => 'ᄘ', 10331 => 'ᄙ', 10332 => 'ᄚ', 10333 => 'ᄛ', 10334 => 'ᄜ', 10335 => 'ᄝ', 10336 => 'ᄞ', 10337 => 'ᄟ', 10338 => 'ᄠ', 10339 => 'ᄡ', 10340 => 'ᄢ', 10341 => 'ᄣ', 10342 => 'ᄤ', 10343 => 'ᄥ', 10344 => 'ᄦ', 10345 => 'ᄧ', 10346 => 'ᄨ', 10347 => 'ᄩ', 10348 => 'ᄪ', 10349 => 'ᄫ', 10350 => 'ᄬ', 10351 => 'ᄭ', 10352 => 'ᄮ', 10353 => 'ᄯ', 10354 => 'ᄰ', 10355 => 'ᄱ', 10356 => 'ᄲ', 10357 => 'ᄳ', 10358 => 'ᄴ', 10359 => 'ᄵ', 10360 => 'ᄶ', 10361 => 'ᄷ', 10362 => 'ᄸ', 10363 => 'ᄹ', 10364 => 'ᄺ', 10365 => 'ᄻ', 10366 => 'ᄼ', 10367 => 'ᄽ', 10368 => 'ᄾ', 10369 => 'ᄿ', 10370 => 'ᅀ', 10371 => 'ᅁ', 10372 => 'ᅂ', 10373 => 'ᅃ', 10374 => 'ᅄ', 10375 => 'ᅅ', 10376 => 'ᅆ', 10377 => 'ᅇ', 10378 => 'ᅈ', 10379 => 'ᅉ', 10380 => 'ᅊ', 10381 => 'ᅋ', 10382 => 'ᅌ', 10383 => 'ᅍ', 10384 => 'ᅎ', 10385 => 'ᅏ', 10386 => 'ᅐ', 10387 => 'ᅑ', 10388 => 'ᅒ', 10389 => 'ᅓ', 10390 => 'ᅔ', 10391 => 'ᅕ', 10392 => 'ᅖ', 10393 => 'ᅗ', 10394 => 'ᅘ', 10395 => 'ᅙ', 10396 => 'ᅚ', 10397 => 'ᅛ', 10398 => 'ᅜ', 10399 => 'ᅝ', 10400 => 'ᅞ', 10401 => 'ꥠ', 10402 => 'ꥡ', 10403 => 'ꥢ', 10404 => 'ꥣ', 10405 => 'ꥤ', 10406 => 'ꥥ', 10407 => 'ꥦ', 10408 => 'ꥧ', 10409 => 'ꥨ', 10410 => 'ꥩ', 10411 => 'ꥪ', 10412 => 'ꥫ', 10413 => 'ꥬ', 10414 => 'ꥭ', 10415 => 'ꥮ', 10416 => 'ꥯ', 10417 => 'ꥰ', 10418 => 'ꥱ', 10419 => 'ꥲ', 10420 => 'ꥳ', 10421 => 'ꥴ', 10422 => 'ꥵ', 10423 => 'ꥶ', 10424 => 'ꥷ', 10425 => 'ꥸ', 10426 => 'ꥹ', 10427 => 'ꥺ', 10428 => 'ꥻ', 10429 => 'ꥼ', 10430 => 'ᅟ', 10431 => 'ᅠ', 10432 => 'ᅡ', 10433 => 'ᅢ', 10434 => 'ᅣ', 10435 => 'ᅤ', 10436 => 'ᅥ', 10437 => 'ᅦ', 10438 => 'ᅧ', 10439 => 'ᅨ', 10440 => 'ᅩ', 10441 => 'ᅪ', 10442 => 'ᅫ', 10443 => 'ᅬ', 10444 => 'ᅭ', 10445 => 'ᅮ', 10446 => 'ᅯ', 10447 => 'ᅰ', 10448 => 'ᅱ', 10449 => 'ᅲ', 10450 => 'ᅳ', 10451 => 'ᅴ', 10452 => 'ᅵ', 10453 => 'ᅶ', 10454 => 'ᅷ', 10455 => 'ᅸ', 10456 => 'ᅹ', 10457 => 'ᅺ', 10458 => 'ᅻ', 10459 => 'ᅼ', 10460 => 'ᅽ', 10461 => 'ᅾ', 10462 => 'ᅿ', 10463 => 'ᆀ', 10464 => 'ᆁ', 10465 => 'ᆂ', 10466 => 'ᆃ', 10467 => 'ᆄ', 10468 => 'ᆅ', 10469 => 'ᆆ', 10470 => 'ᆇ', 10471 => 'ᆈ', 10472 => 'ᆉ', 10473 => 'ᆊ', 10474 => 'ᆋ', 10475 => 'ᆌ', 10476 => 'ᆍ', 10477 => 'ᆎ', 10478 => 'ᆏ', 10479 => 'ᆐ', 10480 => 'ᆑ', 10481 => 'ᆒ', 10482 => 'ᆓ', 10483 => 'ᆔ', 10484 => 'ᆕ', 10485 => 'ᆖ', 10486 => 'ᆗ', 10487 => 'ᆘ', 10488 => 'ᆙ', 10489 => 'ᆚ', 10490 => 'ᆛ', 10491 => 'ᆜ', 10492 => 'ᆝ', 10493 => 'ᆞ', 10494 => 'ᆟ', 10495 => 'ᆠ', 10496 => 'ᆡ', 10497 => 'ᆢ', 10498 => 'ᆣ', 10499 => 'ᆤ', 10500 => 'ᆥ', 10501 => 'ᆦ', 10502 => 'ᆧ', 10503 => 'ힰ', 10504 => 'ힱ', 10505 => 'ힲ', 10506 => 'ힳ', 10507 => 'ힴ', 10508 => 'ힵ', 10509 => 'ힶ', 10510 => 'ힷ', 10511 => 'ힸ', 10512 => 'ힹ', 10513 => 'ힺ', 10514 => 'ힻ', 10515 => 'ힼ', 10516 => 'ힽ', 10517 => 'ힾ', 10518 => 'ힿ', 10519 => 'ퟀ', 10520 => 'ퟁ', 10521 => 'ퟂ', 10522 => 'ퟃ', 10523 => 'ퟄ', 10524 => 'ퟅ', 10525 => 'ퟆ', 10526 => 'ᆨ', 10527 => 'ᆩ', 10528 => 'ᆪ', 10529 => 'ᆫ', 10530 => 'ᆬ', 10531 => 'ᆭ', 10532 => 'ᆮ', 10533 => 'ᆯ', 10534 => 'ᆰ', 10535 => 'ᆱ', 10536 => 'ᆲ', 10537 => 'ᆳ', 10538 => 'ᆴ', 10539 => 'ᆵ', 10540 => 'ᆶ', 10541 => 'ᆷ', 10542 => 'ᆸ', 10543 => 'ᆹ', 10544 => 'ᆺ', 10545 => 'ᆻ', 10546 => 'ᆼ', 10547 => 'ᆽ', 10548 => 'ᆾ', 10549 => 'ᆿ', 10550 => 'ᇀ', 10551 => 'ᇁ', 10552 => 'ᇂ', 10553 => 'ᇃ', 10554 => 'ᇄ', 10555 => 'ᇅ', 10556 => 'ᇆ', 10557 => 'ᇇ', 10558 => 'ᇈ', 10559 => 'ᇉ', 10560 => 'ᇊ', 10561 => 'ᇋ', 10562 => 'ᇌ', 10563 => 'ᇍ', 10564 => 'ᇎ', 10565 => 'ᇏ', 10566 => 'ᇐ', 10567 => 'ᇑ', 10568 => 'ᇒ', 10569 => 'ᇓ', 10570 => 'ᇔ', 10571 => 'ᇕ', 10572 => 'ᇖ', 10573 => 'ᇗ', 10574 => 'ᇘ', 10575 => 'ᇙ', 10576 => 'ᇚ', 10577 => 'ᇛ', 10578 => 'ᇜ', 10579 => 'ᇝ', 10580 => 'ᇞ', 10581 => 'ᇟ', 10582 => 'ᇠ', 10583 => 'ᇡ', 10584 => 'ᇢ', 10585 => 'ᇣ', 10586 => 'ᇤ', 10587 => 'ᇥ', 10588 => 'ᇦ', 10589 => 'ᇧ', 10590 => 'ᇨ', 10591 => 'ᇩ', 10592 => 'ᇪ', 10593 => 'ᇫ', 10594 => 'ᇬ', 10595 => 'ᇭ', 10596 => 'ᇮ', 10597 => 'ᇯ', 10598 => 'ᇰ', 10599 => 'ᇱ', 10600 => 'ᇲ', 10601 => 'ᇳ', 10602 => 'ᇴ', 10603 => 'ᇵ', 10604 => 'ᇶ', 10605 => 'ᇷ', 10606 => 'ᇸ', 10607 => 'ᇹ', 10608 => 'ᇺ', 10609 => 'ᇻ', 10610 => 'ᇼ', 10611 => 'ᇽ', 10612 => 'ᇾ', 10613 => 'ᇿ', 10614 => 'ퟋ', 10615 => 'ퟌ', 10616 => 'ퟍ', 10617 => 'ퟎ', 10618 => 'ퟏ', 10619 => 'ퟐ', 10620 => 'ퟑ', 10621 => 'ퟒ', 10622 => 'ퟓ', 10623 => 'ퟔ', 10624 => 'ퟕ', 10625 => 'ퟖ', 10626 => 'ퟗ', 10627 => 'ퟘ', 10628 => 'ퟙ', 10629 => 'ퟚ', 10630 => 'ퟛ', 10631 => 'ퟜ', 10632 => 'ퟝ', 10633 => 'ퟞ', 10634 => 'ퟟ', 10635 => 'ퟠ', 10636 => 'ퟡ', 10637 => 'ퟢ', 10638 => 'ퟣ', 10639 => 'ퟤ', 10640 => 'ퟥ', 10641 => 'ퟦ', 10642 => 'ퟧ', 10643 => 'ퟨ', 10644 => 'ퟩ', 10645 => 'ퟪ', 10646 => 'ퟫ', 10647 => 'ퟬ', 10648 => 'ퟭ', 10649 => 'ퟮ', 10650 => 'ퟯ', 10651 => 'ퟰ', 10652 => 'ퟱ', 10653 => 'ퟲ', 10654 => 'ퟳ', 10655 => 'ퟴ', 10656 => 'ퟵ', 10657 => 'ퟶ', 10658 => 'ퟷ', 10659 => 'ퟸ', 10660 => 'ퟹ', 10661 => 'ퟺ', 10662 => 'ퟻ', 10663 => 'あ', 10664 => 'い', 10665 => 'う', 10666 => '𛀀', 10667 => 'え', 10668 => 'お', 10669 => 'か', 10670 => 'き', 10671 => 'く', 10672 => 'け', 10673 => 'こ', 10674 => 'さ', 10675 => 'し', 10676 => 'す', 10677 => 'せ', 10678 => 'そ', 10679 => 'た', 10680 => 'ち', 10681 => 'つ', 10682 => 'て', 10683 => 'と', 10684 => 'な', 10685 => 'に', 10686 => 'ぬ', 10687 => 'ね', 10688 => 'の', 10689 => 'は', 10690 => 'ひ', 10691 => 'ふ', 10692 => 'へ', 10693 => 'ほ', 10694 => 'ま', 10695 => 'み', 10696 => 'む', 10697 => 'め', 10698 => 'も', 10699 => 'や', 10700 => 'ゆ', 10701 => '𛀁', 10702 => 'よ', 10703 => 'ら', 10704 => 'り', 10705 => 'る', 10706 => 'れ', 10707 => 'ろ', 10708 => 'わ', 10709 => 'ゐ', 10710 => 'ゑ', 10711 => 'を', 10712 => 'ん', 10713 => 'ㄅ', 10714 => 'ㄆ', 10715 => 'ㄇ', 10716 => 'ㄈ', 10717 => 'ㄪ', 10718 => 'ㄉ', 10719 => 'ㄊ', 10720 => 'ㄋ', 10721 => 'ㄌ', 10722 => 'ㄍ', 10723 => 'ㄎ', 10724 => 'ㄫ', 10725 => 'ㆭ', 10726 => 'ㄏ', 10727 => 'ㄐ', 10728 => 'ㄑ', 10729 => 'ㄒ', 10730 => 'ㄬ', 10731 => 'ㄓ', 10732 => 'ㄔ', 10733 => 'ㄕ', 10734 => 'ㄖ', 10735 => 'ㄗ', 10736 => 'ㄘ', 10737 => 'ㄙ', 10738 => 'ㆸ', 10739 => 'ㆹ', 10740 => 'ㆺ', 10741 => 'ㄚ', 10742 => 'ㄛ', 10743 => 'ㆦ', 10744 => 'ㄜ', 10745 => 'ㄝ', 10746 => 'ㆤ', 10747 => 'ㄞ', 10748 => 'ㄟ', 10749 => 'ㄠ', 10750 => 'ㄡ', 10751 => 'ㄢ', 10752 => 'ㄣ', 10753 => 'ㄤ', 10754 => 'ㆲ', 10755 => 'ㄥ', 10756 => 'ㆰ', 10757 => 'ㆱ', 10758 => 'ㆬ', 10759 => 'ㄦ', 10760 => 'ㄧ', 10761 => 'ㄨ', 10762 => 'ㄩ', 10763 => 'ㄭ', 10764 => 'ꀀ', 10765 => 'ꀁ', 10766 => 'ꀂ', 10767 => 'ꀃ', 10768 => 'ꀄ', 10769 => 'ꀅ', 10770 => 'ꀆ', 10771 => 'ꀇ', 10772 => 'ꀈ', 10773 => 'ꀉ', 10774 => 'ꀊ', 10775 => 'ꀋ', 10776 => 'ꀌ', 10777 => 'ꀍ', 10778 => 'ꀎ', 10779 => 'ꀏ', 10780 => 'ꀐ', 10781 => 'ꀑ', 10782 => 'ꀒ', 10783 => 'ꀓ', 10784 => 'ꀔ', 10785 => 'ꀕ', 10786 => 'ꀖ', 10787 => 'ꀗ', 10788 => 'ꀘ', 10789 => 'ꀙ', 10790 => 'ꀚ', 10791 => 'ꀛ', 10792 => 'ꀜ', 10793 => 'ꀝ', 10794 => 'ꀞ', 10795 => 'ꀟ', 10796 => 'ꀠ', 10797 => 'ꀡ', 10798 => 'ꀢ', 10799 => 'ꀣ', 10800 => 'ꀤ', 10801 => 'ꀥ', 10802 => 'ꀦ', 10803 => 'ꀧ', 10804 => 'ꀨ', 10805 => 'ꀩ', 10806 => 'ꀪ', 10807 => 'ꀫ', 10808 => 'ꀬ', 10809 => 'ꀭ', 10810 => 'ꀮ', 10811 => 'ꀯ', 10812 => 'ꀰ', 10813 => 'ꀱ', 10814 => 'ꀲ', 10815 => 'ꀳ', 10816 => 'ꀴ', 10817 => 'ꀵ', 10818 => 'ꀶ', 10819 => 'ꀷ', 10820 => 'ꀸ', 10821 => 'ꀹ', 10822 => 'ꀺ', 10823 => 'ꀻ', 10824 => 'ꀼ', 10825 => 'ꀽ', 10826 => 'ꀾ', 10827 => 'ꀿ', 10828 => 'ꁀ', 10829 => 'ꁁ', 10830 => 'ꁂ', 10831 => 'ꁃ', 10832 => 'ꁄ', 10833 => 'ꁅ', 10834 => 'ꁆ', 10835 => 'ꁇ', 10836 => 'ꁈ', 10837 => 'ꁉ', 10838 => 'ꁊ', 10839 => 'ꁋ', 10840 => 'ꁌ', 10841 => 'ꁍ', 10842 => 'ꁎ', 10843 => 'ꁏ', 10844 => 'ꁐ', 10845 => 'ꁑ', 10846 => 'ꁒ', 10847 => 'ꁓ', 10848 => 'ꁔ', 10849 => 'ꁕ', 10850 => 'ꁖ', 10851 => 'ꁗ', 10852 => 'ꁘ', 10853 => 'ꁙ', 10854 => 'ꁚ', 10855 => 'ꁛ', 10856 => 'ꁜ', 10857 => 'ꁝ', 10858 => 'ꁞ', 10859 => 'ꁟ', 10860 => 'ꁠ', 10861 => 'ꁡ', 10862 => 'ꁢ', 10863 => 'ꁣ', 10864 => 'ꁤ', 10865 => 'ꁥ', 10866 => 'ꁦ', 10867 => 'ꁧ', 10868 => 'ꁨ', 10869 => 'ꁩ', 10870 => 'ꁪ', 10871 => 'ꁫ', 10872 => 'ꁬ', 10873 => 'ꁭ', 10874 => 'ꁮ', 10875 => 'ꁯ', 10876 => 'ꁰ', 10877 => 'ꁱ', 10878 => 'ꁲ', 10879 => 'ꁳ', 10880 => 'ꁴ', 10881 => 'ꁵ', 10882 => 'ꁶ', 10883 => 'ꁷ', 10884 => 'ꁸ', 10885 => 'ꁹ', 10886 => 'ꁺ', 10887 => 'ꁻ', 10888 => 'ꁼ', 10889 => 'ꁽ', 10890 => 'ꁾ', 10891 => 'ꁿ', 10892 => 'ꂀ', 10893 => 'ꂁ', 10894 => 'ꂂ', 10895 => 'ꂃ', 10896 => 'ꂄ', 10897 => 'ꂅ', 10898 => 'ꂆ', 10899 => 'ꂇ', 10900 => 'ꂈ', 10901 => 'ꂉ', 10902 => 'ꂊ', 10903 => 'ꂋ', 10904 => 'ꂌ', 10905 => 'ꂍ', 10906 => 'ꂎ', 10907 => 'ꂏ', 10908 => 'ꂐ', 10909 => 'ꂑ', 10910 => 'ꂒ', 10911 => 'ꂓ', 10912 => 'ꂔ', 10913 => 'ꂕ', 10914 => 'ꂖ', 10915 => 'ꂗ', 10916 => 'ꂘ', 10917 => 'ꂙ', 10918 => 'ꂚ', 10919 => 'ꂛ', 10920 => 'ꂜ', 10921 => 'ꂝ', 10922 => 'ꂞ', 10923 => 'ꂟ', 10924 => 'ꂠ', 10925 => 'ꂡ', 10926 => 'ꂢ', 10927 => 'ꂣ', 10928 => 'ꂤ', 10929 => 'ꂥ', 10930 => 'ꂦ', 10931 => 'ꂧ', 10932 => 'ꂨ', 10933 => 'ꂩ', 10934 => 'ꂪ', 10935 => 'ꂫ', 10936 => 'ꂬ', 10937 => 'ꂭ', 10938 => 'ꂮ', 10939 => 'ꂯ', 10940 => 'ꂰ', 10941 => 'ꂱ', 10942 => 'ꂲ', 10943 => 'ꂳ', 10944 => 'ꂴ', 10945 => 'ꂵ', 10946 => 'ꂶ', 10947 => 'ꂷ', 10948 => 'ꂸ', 10949 => 'ꂹ', 10950 => 'ꂺ', 10951 => 'ꂻ', 10952 => 'ꂼ', 10953 => 'ꂽ', 10954 => 'ꂾ', 10955 => 'ꂿ', 10956 => 'ꃀ', 10957 => 'ꃁ', 10958 => 'ꃂ', 10959 => 'ꃃ', 10960 => 'ꃄ', 10961 => 'ꃅ', 10962 => 'ꃆ', 10963 => 'ꃇ', 10964 => 'ꃈ', 10965 => 'ꃉ', 10966 => 'ꃊ', 10967 => 'ꃋ', 10968 => 'ꃌ', 10969 => 'ꃍ', 10970 => 'ꃎ', 10971 => 'ꃏ', 10972 => 'ꃐ', 10973 => 'ꃑ', 10974 => 'ꃒ', 10975 => 'ꃓ', 10976 => 'ꃔ', 10977 => 'ꃕ', 10978 => 'ꃖ', 10979 => 'ꃗ', 10980 => 'ꃘ', 10981 => 'ꃙ', 10982 => 'ꃚ', 10983 => 'ꃛ', 10984 => 'ꃜ', 10985 => 'ꃝ', 10986 => 'ꃞ', 10987 => 'ꃟ', 10988 => 'ꃠ', 10989 => 'ꃡ', 10990 => 'ꃢ', 10991 => 'ꃣ', 10992 => 'ꃤ', 10993 => 'ꃥ', 10994 => 'ꃦ', 10995 => 'ꃧ', 10996 => 'ꃨ', 10997 => 'ꃩ', 10998 => 'ꃪ', 10999 => 'ꃫ', 11000 => 'ꃬ', 11001 => 'ꃭ', 11002 => 'ꃮ', 11003 => 'ꃯ', 11004 => 'ꃰ', 11005 => 'ꃱ', 11006 => 'ꃲ', 11007 => 'ꃳ', 11008 => 'ꃴ', 11009 => 'ꃵ', 11010 => 'ꃶ', 11011 => 'ꃷ', 11012 => 'ꃸ', 11013 => 'ꃹ', 11014 => 'ꃺ', 11015 => 'ꃻ', 11016 => 'ꃼ', 11017 => 'ꃽ', 11018 => 'ꃾ', 11019 => 'ꃿ', 11020 => 'ꄀ', 11021 => 'ꄁ', 11022 => 'ꄂ', 11023 => 'ꄃ', 11024 => 'ꄄ', 11025 => 'ꄅ', 11026 => 'ꄆ', 11027 => 'ꄇ', 11028 => 'ꄈ', 11029 => 'ꄉ', 11030 => 'ꄊ', 11031 => 'ꄋ', 11032 => 'ꄌ', 11033 => 'ꄍ', 11034 => 'ꄎ', 11035 => 'ꄏ', 11036 => 'ꄐ', 11037 => 'ꄑ', 11038 => 'ꄒ', 11039 => 'ꄓ', 11040 => 'ꄔ', 11041 => 'ꄕ', 11042 => 'ꄖ', 11043 => 'ꄗ', 11044 => 'ꄘ', 11045 => 'ꄙ', 11046 => 'ꄚ', 11047 => 'ꄛ', 11048 => 'ꄜ', 11049 => 'ꄝ', 11050 => 'ꄞ', 11051 => 'ꄟ', 11052 => 'ꄠ', 11053 => 'ꄡ', 11054 => 'ꄢ', 11055 => 'ꄣ', 11056 => 'ꄤ', 11057 => 'ꄥ', 11058 => 'ꄦ', 11059 => 'ꄧ', 11060 => 'ꄨ', 11061 => 'ꄩ', 11062 => 'ꄪ', 11063 => 'ꄫ', 11064 => 'ꄬ', 11065 => 'ꄭ', 11066 => 'ꄮ', 11067 => 'ꄯ', 11068 => 'ꄰ', 11069 => 'ꄱ', 11070 => 'ꄲ', 11071 => 'ꄳ', 11072 => 'ꄴ', 11073 => 'ꄵ', 11074 => 'ꄶ', 11075 => 'ꄷ', 11076 => 'ꄸ', 11077 => 'ꄹ', 11078 => 'ꄺ', 11079 => 'ꄻ', 11080 => 'ꄼ', 11081 => 'ꄽ', 11082 => 'ꄾ', 11083 => 'ꄿ', 11084 => 'ꅀ', 11085 => 'ꅁ', 11086 => 'ꅂ', 11087 => 'ꅃ', 11088 => 'ꅄ', 11089 => 'ꅅ', 11090 => 'ꅆ', 11091 => 'ꅇ', 11092 => 'ꅈ', 11093 => 'ꅉ', 11094 => 'ꅊ', 11095 => 'ꅋ', 11096 => 'ꅌ', 11097 => 'ꅍ', 11098 => 'ꅎ', 11099 => 'ꅏ', 11100 => 'ꅐ', 11101 => 'ꅑ', 11102 => 'ꅒ', 11103 => 'ꅓ', 11104 => 'ꅔ', 11105 => 'ꅕ', 11106 => 'ꅖ', 11107 => 'ꅗ', 11108 => 'ꅘ', 11109 => 'ꅙ', 11110 => 'ꅚ', 11111 => 'ꅛ', 11112 => 'ꅜ', 11113 => 'ꅝ', 11114 => 'ꅞ', 11115 => 'ꅟ', 11116 => 'ꅠ', 11117 => 'ꅡ', 11118 => 'ꅢ', 11119 => 'ꅣ', 11120 => 'ꅤ', 11121 => 'ꅥ', 11122 => 'ꅦ', 11123 => 'ꅧ', 11124 => 'ꅨ', 11125 => 'ꅩ', 11126 => 'ꅪ', 11127 => 'ꅫ', 11128 => 'ꅬ', 11129 => 'ꅭ', 11130 => 'ꅮ', 11131 => 'ꅯ', 11132 => 'ꅰ', 11133 => 'ꅱ', 11134 => 'ꅲ', 11135 => 'ꅳ', 11136 => 'ꅴ', 11137 => 'ꅵ', 11138 => 'ꅶ', 11139 => 'ꅷ', 11140 => 'ꅸ', 11141 => 'ꅹ', 11142 => 'ꅺ', 11143 => 'ꅻ', 11144 => 'ꅼ', 11145 => 'ꅽ', 11146 => 'ꅾ', 11147 => 'ꅿ', 11148 => 'ꆀ', 11149 => 'ꆁ', 11150 => 'ꆂ', 11151 => 'ꆃ', 11152 => 'ꆄ', 11153 => 'ꆅ', 11154 => 'ꆆ', 11155 => 'ꆇ', 11156 => 'ꆈ', 11157 => 'ꆉ', 11158 => 'ꆊ', 11159 => 'ꆋ', 11160 => 'ꆌ', 11161 => 'ꆍ', 11162 => 'ꆎ', 11163 => 'ꆏ', 11164 => 'ꆐ', 11165 => 'ꆑ', 11166 => 'ꆒ', 11167 => 'ꆓ', 11168 => 'ꆔ', 11169 => 'ꆕ', 11170 => 'ꆖ', 11171 => 'ꆗ', 11172 => 'ꆘ', 11173 => 'ꆙ', 11174 => 'ꆚ', 11175 => 'ꆛ', 11176 => 'ꆜ', 11177 => 'ꆝ', 11178 => 'ꆞ', 11179 => 'ꆟ', 11180 => 'ꆠ', 11181 => 'ꆡ', 11182 => 'ꆢ', 11183 => 'ꆣ', 11184 => 'ꆤ', 11185 => 'ꆥ', 11186 => 'ꆦ', 11187 => 'ꆧ', 11188 => 'ꆨ', 11189 => 'ꆩ', 11190 => 'ꆪ', 11191 => 'ꆫ', 11192 => 'ꆬ', 11193 => 'ꆭ', 11194 => 'ꆮ', 11195 => 'ꆯ', 11196 => 'ꆰ', 11197 => 'ꆱ', 11198 => 'ꆲ', 11199 => 'ꆳ', 11200 => 'ꆴ', 11201 => 'ꆵ', 11202 => 'ꆶ', 11203 => 'ꆷ', 11204 => 'ꆸ', 11205 => 'ꆹ', 11206 => 'ꆺ', 11207 => 'ꆻ', 11208 => 'ꆼ', 11209 => 'ꆽ', 11210 => 'ꆾ', 11211 => 'ꆿ', 11212 => 'ꇀ', 11213 => 'ꇁ', 11214 => 'ꇂ', 11215 => 'ꇃ', 11216 => 'ꇄ', 11217 => 'ꇅ', 11218 => 'ꇆ', 11219 => 'ꇇ', 11220 => 'ꇈ', 11221 => 'ꇉ', 11222 => 'ꇊ', 11223 => 'ꇋ', 11224 => 'ꇌ', 11225 => 'ꇍ', 11226 => 'ꇎ', 11227 => 'ꇏ', 11228 => 'ꇐ', 11229 => 'ꇑ', 11230 => 'ꇒ', 11231 => 'ꇓ', 11232 => 'ꇔ', 11233 => 'ꇕ', 11234 => 'ꇖ', 11235 => 'ꇗ', 11236 => 'ꇘ', 11237 => 'ꇙ', 11238 => 'ꇚ', 11239 => 'ꇛ', 11240 => 'ꇜ', 11241 => 'ꇝ', 11242 => 'ꇞ', 11243 => 'ꇟ', 11244 => 'ꇠ', 11245 => 'ꇡ', 11246 => 'ꇢ', 11247 => 'ꇣ', 11248 => 'ꇤ', 11249 => 'ꇥ', 11250 => 'ꇦ', 11251 => 'ꇧ', 11252 => 'ꇨ', 11253 => 'ꇩ', 11254 => 'ꇪ', 11255 => 'ꇫ', 11256 => 'ꇬ', 11257 => 'ꇭ', 11258 => 'ꇮ', 11259 => 'ꇯ', 11260 => 'ꇰ', 11261 => 'ꇱ', 11262 => 'ꇲ', 11263 => 'ꇳ', 11264 => 'ꇴ', 11265 => 'ꇵ', 11266 => 'ꇶ', 11267 => 'ꇷ', 11268 => 'ꇸ', 11269 => 'ꇹ', 11270 => 'ꇺ', 11271 => 'ꇻ', 11272 => 'ꇼ', 11273 => 'ꇽ', 11274 => 'ꇾ', 11275 => 'ꇿ', 11276 => 'ꈀ', 11277 => 'ꈁ', 11278 => 'ꈂ', 11279 => 'ꈃ', 11280 => 'ꈄ', 11281 => 'ꈅ', 11282 => 'ꈆ', 11283 => 'ꈇ', 11284 => 'ꈈ', 11285 => 'ꈉ', 11286 => 'ꈊ', 11287 => 'ꈋ', 11288 => 'ꈌ', 11289 => 'ꈍ', 11290 => 'ꈎ', 11291 => 'ꈏ', 11292 => 'ꈐ', 11293 => 'ꈑ', 11294 => 'ꈒ', 11295 => 'ꈓ', 11296 => 'ꈔ', 11297 => 'ꈕ', 11298 => 'ꈖ', 11299 => 'ꈗ', 11300 => 'ꈘ', 11301 => 'ꈙ', 11302 => 'ꈚ', 11303 => 'ꈛ', 11304 => 'ꈜ', 11305 => 'ꈝ', 11306 => 'ꈞ', 11307 => 'ꈟ', 11308 => 'ꈠ', 11309 => 'ꈡ', 11310 => 'ꈢ', 11311 => 'ꈣ', 11312 => 'ꈤ', 11313 => 'ꈥ', 11314 => 'ꈦ', 11315 => 'ꈧ', 11316 => 'ꈨ', 11317 => 'ꈩ', 11318 => 'ꈪ', 11319 => 'ꈫ', 11320 => 'ꈬ', 11321 => 'ꈭ', 11322 => 'ꈮ', 11323 => 'ꈯ', 11324 => 'ꈰ', 11325 => 'ꈱ', 11326 => 'ꈲ', 11327 => 'ꈳ', 11328 => 'ꈴ', 11329 => 'ꈵ', 11330 => 'ꈶ', 11331 => 'ꈷ', 11332 => 'ꈸ', 11333 => 'ꈹ', 11334 => 'ꈺ', 11335 => 'ꈻ', 11336 => 'ꈼ', 11337 => 'ꈽ', 11338 => 'ꈾ', 11339 => 'ꈿ', 11340 => 'ꉀ', 11341 => 'ꉁ', 11342 => 'ꉂ', 11343 => 'ꉃ', 11344 => 'ꉄ', 11345 => 'ꉅ', 11346 => 'ꉆ', 11347 => 'ꉇ', 11348 => 'ꉈ', 11349 => 'ꉉ', 11350 => 'ꉊ', 11351 => 'ꉋ', 11352 => 'ꉌ', 11353 => 'ꉍ', 11354 => 'ꉎ', 11355 => 'ꉏ', 11356 => 'ꉐ', 11357 => 'ꉑ', 11358 => 'ꉒ', 11359 => 'ꉓ', 11360 => 'ꉔ', 11361 => 'ꉕ', 11362 => 'ꉖ', 11363 => 'ꉗ', 11364 => 'ꉘ', 11365 => 'ꉙ', 11366 => 'ꉚ', 11367 => 'ꉛ', 11368 => 'ꉜ', 11369 => 'ꉝ', 11370 => 'ꉞ', 11371 => 'ꉟ', 11372 => 'ꉠ', 11373 => 'ꉡ', 11374 => 'ꉢ', 11375 => 'ꉣ', 11376 => 'ꉤ', 11377 => 'ꉥ', 11378 => 'ꉦ', 11379 => 'ꉧ', 11380 => 'ꉨ', 11381 => 'ꉩ', 11382 => 'ꉪ', 11383 => 'ꉫ', 11384 => 'ꉬ', 11385 => 'ꉭ', 11386 => 'ꉮ', 11387 => 'ꉯ', 11388 => 'ꉰ', 11389 => 'ꉱ', 11390 => 'ꉲ', 11391 => 'ꉳ', 11392 => 'ꉴ', 11393 => 'ꉵ', 11394 => 'ꉶ', 11395 => 'ꉷ', 11396 => 'ꉸ', 11397 => 'ꉹ', 11398 => 'ꉺ', 11399 => 'ꉻ', 11400 => 'ꉼ', 11401 => 'ꉽ', 11402 => 'ꉾ', 11403 => 'ꉿ', 11404 => 'ꊀ', 11405 => 'ꊁ', 11406 => 'ꊂ', 11407 => 'ꊃ', 11408 => 'ꊄ', 11409 => 'ꊅ', 11410 => 'ꊆ', 11411 => 'ꊇ', 11412 => 'ꊈ', 11413 => 'ꊉ', 11414 => 'ꊊ', 11415 => 'ꊋ', 11416 => 'ꊌ', 11417 => 'ꊍ', 11418 => 'ꊎ', 11419 => 'ꊏ', 11420 => 'ꊐ', 11421 => 'ꊑ', 11422 => 'ꊒ', 11423 => 'ꊓ', 11424 => 'ꊔ', 11425 => 'ꊕ', 11426 => 'ꊖ', 11427 => 'ꊗ', 11428 => 'ꊘ', 11429 => 'ꊙ', 11430 => 'ꊚ', 11431 => 'ꊛ', 11432 => 'ꊜ', 11433 => 'ꊝ', 11434 => 'ꊞ', 11435 => 'ꊟ', 11436 => 'ꊠ', 11437 => 'ꊡ', 11438 => 'ꊢ', 11439 => 'ꊣ', 11440 => 'ꊤ', 11441 => 'ꊥ', 11442 => 'ꊦ', 11443 => 'ꊧ', 11444 => 'ꊨ', 11445 => 'ꊩ', 11446 => 'ꊪ', 11447 => 'ꊫ', 11448 => 'ꊬ', 11449 => 'ꊭ', 11450 => 'ꊮ', 11451 => 'ꊯ', 11452 => 'ꊰ', 11453 => 'ꊱ', 11454 => 'ꊲ', 11455 => 'ꊳ', 11456 => 'ꊴ', 11457 => 'ꊵ', 11458 => 'ꊶ', 11459 => 'ꊷ', 11460 => 'ꊸ', 11461 => 'ꊹ', 11462 => 'ꊺ', 11463 => 'ꊻ', 11464 => 'ꊼ', 11465 => 'ꊽ', 11466 => 'ꊾ', 11467 => 'ꊿ', 11468 => 'ꋀ', 11469 => 'ꋁ', 11470 => 'ꋂ', 11471 => 'ꋃ', 11472 => 'ꋄ', 11473 => 'ꋅ', 11474 => 'ꋆ', 11475 => 'ꋇ', 11476 => 'ꋈ', 11477 => 'ꋉ', 11478 => 'ꋊ', 11479 => 'ꋋ', 11480 => 'ꋌ', 11481 => 'ꋍ', 11482 => 'ꋎ', 11483 => 'ꋏ', 11484 => 'ꋐ', 11485 => 'ꋑ', 11486 => 'ꋒ', 11487 => 'ꋓ', 11488 => 'ꋔ', 11489 => 'ꋕ', 11490 => 'ꋖ', 11491 => 'ꋗ', 11492 => 'ꋘ', 11493 => 'ꋙ', 11494 => 'ꋚ', 11495 => 'ꋛ', 11496 => 'ꋜ', 11497 => 'ꋝ', 11498 => 'ꋞ', 11499 => 'ꋟ', 11500 => 'ꋠ', 11501 => 'ꋡ', 11502 => 'ꋢ', 11503 => 'ꋣ', 11504 => 'ꋤ', 11505 => 'ꋥ', 11506 => 'ꋦ', 11507 => 'ꋧ', 11508 => 'ꋨ', 11509 => 'ꋩ', 11510 => 'ꋪ', 11511 => 'ꋫ', 11512 => 'ꋬ', 11513 => 'ꋭ', 11514 => 'ꋮ', 11515 => 'ꋯ', 11516 => 'ꋰ', 11517 => 'ꋱ', 11518 => 'ꋲ', 11519 => 'ꋳ', 11520 => 'ꋴ', 11521 => 'ꋵ', 11522 => 'ꋶ', 11523 => 'ꋷ', 11524 => 'ꋸ', 11525 => 'ꋹ', 11526 => 'ꋺ', 11527 => 'ꋻ', 11528 => 'ꋼ', 11529 => 'ꋽ', 11530 => 'ꋾ', 11531 => 'ꋿ', 11532 => 'ꌀ', 11533 => 'ꌁ', 11534 => 'ꌂ', 11535 => 'ꌃ', 11536 => 'ꌄ', 11537 => 'ꌅ', 11538 => 'ꌆ', 11539 => 'ꌇ', 11540 => 'ꌈ', 11541 => 'ꌉ', 11542 => 'ꌊ', 11543 => 'ꌋ', 11544 => 'ꌌ', 11545 => 'ꌍ', 11546 => 'ꌎ', 11547 => 'ꌏ', 11548 => 'ꌐ', 11549 => 'ꌑ', 11550 => 'ꌒ', 11551 => 'ꌓ', 11552 => 'ꌔ', 11553 => 'ꌕ', 11554 => 'ꌖ', 11555 => 'ꌗ', 11556 => 'ꌘ', 11557 => 'ꌙ', 11558 => 'ꌚ', 11559 => 'ꌛ', 11560 => 'ꌜ', 11561 => 'ꌝ', 11562 => 'ꌞ', 11563 => 'ꌟ', 11564 => 'ꌠ', 11565 => 'ꌡ', 11566 => 'ꌢ', 11567 => 'ꌣ', 11568 => 'ꌤ', 11569 => 'ꌥ', 11570 => 'ꌦ', 11571 => 'ꌧ', 11572 => 'ꌨ', 11573 => 'ꌩ', 11574 => 'ꌪ', 11575 => 'ꌫ', 11576 => 'ꌬ', 11577 => 'ꌭ', 11578 => 'ꌮ', 11579 => 'ꌯ', 11580 => 'ꌰ', 11581 => 'ꌱ', 11582 => 'ꌲ', 11583 => 'ꌳ', 11584 => 'ꌴ', 11585 => 'ꌵ', 11586 => 'ꌶ', 11587 => 'ꌷ', 11588 => 'ꌸ', 11589 => 'ꌹ', 11590 => 'ꌺ', 11591 => 'ꌻ', 11592 => 'ꌼ', 11593 => 'ꌽ', 11594 => 'ꌾ', 11595 => 'ꌿ', 11596 => 'ꍀ', 11597 => 'ꍁ', 11598 => 'ꍂ', 11599 => 'ꍃ', 11600 => 'ꍄ', 11601 => 'ꍅ', 11602 => 'ꍆ', 11603 => 'ꍇ', 11604 => 'ꍈ', 11605 => 'ꍉ', 11606 => 'ꍊ', 11607 => 'ꍋ', 11608 => 'ꍌ', 11609 => 'ꍍ', 11610 => 'ꍎ', 11611 => 'ꍏ', 11612 => 'ꍐ', 11613 => 'ꍑ', 11614 => 'ꍒ', 11615 => 'ꍓ', 11616 => 'ꍔ', 11617 => 'ꍕ', 11618 => 'ꍖ', 11619 => 'ꍗ', 11620 => 'ꍘ', 11621 => 'ꍙ', 11622 => 'ꍚ', 11623 => 'ꍛ', 11624 => 'ꍜ', 11625 => 'ꍝ', 11626 => 'ꍞ', 11627 => 'ꍟ', 11628 => 'ꍠ', 11629 => 'ꍡ', 11630 => 'ꍢ', 11631 => 'ꍣ', 11632 => 'ꍤ', 11633 => 'ꍥ', 11634 => 'ꍦ', 11635 => 'ꍧ', 11636 => 'ꍨ', 11637 => 'ꍩ', 11638 => 'ꍪ', 11639 => 'ꍫ', 11640 => 'ꍬ', 11641 => 'ꍭ', 11642 => 'ꍮ', 11643 => 'ꍯ', 11644 => 'ꍰ', 11645 => 'ꍱ', 11646 => 'ꍲ', 11647 => 'ꍳ', 11648 => 'ꍴ', 11649 => 'ꍵ', 11650 => 'ꍶ', 11651 => 'ꍷ', 11652 => 'ꍸ', 11653 => 'ꍹ', 11654 => 'ꍺ', 11655 => 'ꍻ', 11656 => 'ꍼ', 11657 => 'ꍽ', 11658 => 'ꍾ', 11659 => 'ꍿ', 11660 => 'ꎀ', 11661 => 'ꎁ', 11662 => 'ꎂ', 11663 => 'ꎃ', 11664 => 'ꎄ', 11665 => 'ꎅ', 11666 => 'ꎆ', 11667 => 'ꎇ', 11668 => 'ꎈ', 11669 => 'ꎉ', 11670 => 'ꎊ', 11671 => 'ꎋ', 11672 => 'ꎌ', 11673 => 'ꎍ', 11674 => 'ꎎ', 11675 => 'ꎏ', 11676 => 'ꎐ', 11677 => 'ꎑ', 11678 => 'ꎒ', 11679 => 'ꎓ', 11680 => 'ꎔ', 11681 => 'ꎕ', 11682 => 'ꎖ', 11683 => 'ꎗ', 11684 => 'ꎘ', 11685 => 'ꎙ', 11686 => 'ꎚ', 11687 => 'ꎛ', 11688 => 'ꎜ', 11689 => 'ꎝ', 11690 => 'ꎞ', 11691 => 'ꎟ', 11692 => 'ꎠ', 11693 => 'ꎡ', 11694 => 'ꎢ', 11695 => 'ꎣ', 11696 => 'ꎤ', 11697 => 'ꎥ', 11698 => 'ꎦ', 11699 => 'ꎧ', 11700 => 'ꎨ', 11701 => 'ꎩ', 11702 => 'ꎪ', 11703 => 'ꎫ', 11704 => 'ꎬ', 11705 => 'ꎭ', 11706 => 'ꎮ', 11707 => 'ꎯ', 11708 => 'ꎰ', 11709 => 'ꎱ', 11710 => 'ꎲ', 11711 => 'ꎳ', 11712 => 'ꎴ', 11713 => 'ꎵ', 11714 => 'ꎶ', 11715 => 'ꎷ', 11716 => 'ꎸ', 11717 => 'ꎹ', 11718 => 'ꎺ', 11719 => 'ꎻ', 11720 => 'ꎼ', 11721 => 'ꎽ', 11722 => 'ꎾ', 11723 => 'ꎿ', 11724 => 'ꏀ', 11725 => 'ꏁ', 11726 => 'ꏂ', 11727 => 'ꏃ', 11728 => 'ꏄ', 11729 => 'ꏅ', 11730 => 'ꏆ', 11731 => 'ꏇ', 11732 => 'ꏈ', 11733 => 'ꏉ', 11734 => 'ꏊ', 11735 => 'ꏋ', 11736 => 'ꏌ', 11737 => 'ꏍ', 11738 => 'ꏎ', 11739 => 'ꏏ', 11740 => 'ꏐ', 11741 => 'ꏑ', 11742 => 'ꏒ', 11743 => 'ꏓ', 11744 => 'ꏔ', 11745 => 'ꏕ', 11746 => 'ꏖ', 11747 => 'ꏗ', 11748 => 'ꏘ', 11749 => 'ꏙ', 11750 => 'ꏚ', 11751 => 'ꏛ', 11752 => 'ꏜ', 11753 => 'ꏝ', 11754 => 'ꏞ', 11755 => 'ꏟ', 11756 => 'ꏠ', 11757 => 'ꏡ', 11758 => 'ꏢ', 11759 => 'ꏣ', 11760 => 'ꏤ', 11761 => 'ꏥ', 11762 => 'ꏦ', 11763 => 'ꏧ', 11764 => 'ꏨ', 11765 => 'ꏩ', 11766 => 'ꏪ', 11767 => 'ꏫ', 11768 => 'ꏬ', 11769 => 'ꏭ', 11770 => 'ꏮ', 11771 => 'ꏯ', 11772 => 'ꏰ', 11773 => 'ꏱ', 11774 => 'ꏲ', 11775 => 'ꏳ', 11776 => 'ꏴ', 11777 => 'ꏵ', 11778 => 'ꏶ', 11779 => 'ꏷ', 11780 => 'ꏸ', 11781 => 'ꏹ', 11782 => 'ꏺ', 11783 => 'ꏻ', 11784 => 'ꏼ', 11785 => 'ꏽ', 11786 => 'ꏾ', 11787 => 'ꏿ', 11788 => 'ꐀ', 11789 => 'ꐁ', 11790 => 'ꐂ', 11791 => 'ꐃ', 11792 => 'ꐄ', 11793 => 'ꐅ', 11794 => 'ꐆ', 11795 => 'ꐇ', 11796 => 'ꐈ', 11797 => 'ꐉ', 11798 => 'ꐊ', 11799 => 'ꐋ', 11800 => 'ꐌ', 11801 => 'ꐍ', 11802 => 'ꐎ', 11803 => 'ꐏ', 11804 => 'ꐐ', 11805 => 'ꐑ', 11806 => 'ꐒ', 11807 => 'ꐓ', 11808 => 'ꐔ', 11809 => 'ꐕ', 11810 => 'ꐖ', 11811 => 'ꐗ', 11812 => 'ꐘ', 11813 => 'ꐙ', 11814 => 'ꐚ', 11815 => 'ꐛ', 11816 => 'ꐜ', 11817 => 'ꐝ', 11818 => 'ꐞ', 11819 => 'ꐟ', 11820 => 'ꐠ', 11821 => 'ꐡ', 11822 => 'ꐢ', 11823 => 'ꐣ', 11824 => 'ꐤ', 11825 => 'ꐥ', 11826 => 'ꐦ', 11827 => 'ꐧ', 11828 => 'ꐨ', 11829 => 'ꐩ', 11830 => 'ꐪ', 11831 => 'ꐫ', 11832 => 'ꐬ', 11833 => 'ꐭ', 11834 => 'ꐮ', 11835 => 'ꐯ', 11836 => 'ꐰ', 11837 => 'ꐱ', 11838 => 'ꐲ', 11839 => 'ꐳ', 11840 => 'ꐴ', 11841 => 'ꐵ', 11842 => 'ꐶ', 11843 => 'ꐷ', 11844 => 'ꐸ', 11845 => 'ꐹ', 11846 => 'ꐺ', 11847 => 'ꐻ', 11848 => 'ꐼ', 11849 => 'ꐽ', 11850 => 'ꐾ', 11851 => 'ꐿ', 11852 => 'ꑀ', 11853 => 'ꑁ', 11854 => 'ꑂ', 11855 => 'ꑃ', 11856 => 'ꑄ', 11857 => 'ꑅ', 11858 => 'ꑆ', 11859 => 'ꑇ', 11860 => 'ꑈ', 11861 => 'ꑉ', 11862 => 'ꑊ', 11863 => 'ꑋ', 11864 => 'ꑌ', 11865 => 'ꑍ', 11866 => 'ꑎ', 11867 => 'ꑏ', 11868 => 'ꑐ', 11869 => 'ꑑ', 11870 => 'ꑒ', 11871 => 'ꑓ', 11872 => 'ꑔ', 11873 => 'ꑕ', 11874 => 'ꑖ', 11875 => 'ꑗ', 11876 => 'ꑘ', 11877 => 'ꑙ', 11878 => 'ꑚ', 11879 => 'ꑛ', 11880 => 'ꑜ', 11881 => 'ꑝ', 11882 => 'ꑞ', 11883 => 'ꑟ', 11884 => 'ꑠ', 11885 => 'ꑡ', 11886 => 'ꑢ', 11887 => 'ꑣ', 11888 => 'ꑤ', 11889 => 'ꑥ', 11890 => 'ꑦ', 11891 => 'ꑧ', 11892 => 'ꑨ', 11893 => 'ꑩ', 11894 => 'ꑪ', 11895 => 'ꑫ', 11896 => 'ꑬ', 11897 => 'ꑭ', 11898 => 'ꑮ', 11899 => 'ꑯ', 11900 => 'ꑰ', 11901 => 'ꑱ', 11902 => 'ꑲ', 11903 => 'ꑳ', 11904 => 'ꑴ', 11905 => 'ꑵ', 11906 => 'ꑶ', 11907 => 'ꑷ', 11908 => 'ꑸ', 11909 => 'ꑹ', 11910 => 'ꑺ', 11911 => 'ꑻ', 11912 => 'ꑼ', 11913 => 'ꑽ', 11914 => 'ꑾ', 11915 => 'ꑿ', 11916 => 'ꒀ', 11917 => 'ꒁ', 11918 => 'ꒂ', 11919 => 'ꒃ', 11920 => 'ꒄ', 11921 => 'ꒅ', 11922 => 'ꒆ', 11923 => 'ꒇ', 11924 => 'ꒈ', 11925 => 'ꒉ', 11926 => 'ꒊ', 11927 => 'ꒋ', 11928 => 'ꒌ', 11929 => 'ꓸ', 11930 => 'ꓹ', 11931 => 'ꓺ', 11932 => 'ꓻ', 11933 => 'ꓽ', 11934 => 'ꓼ', 11935 => 'ꓐ', 11936 => 'ꓑ', 11937 => 'ꓒ', 11938 => 'ꓓ', 11939 => 'ꓔ', 11940 => 'ꓕ', 11941 => 'ꓖ', 11942 => 'ꓗ', 11943 => 'ꓘ', 11944 => 'ꓙ', 11945 => 'ꓚ', 11946 => 'ꓛ', 11947 => 'ꓜ', 11948 => 'ꓝ', 11949 => 'ꓞ', 11950 => 'ꓟ', 11951 => 'ꓠ', 11952 => 'ꓡ', 11953 => 'ꓢ', 11954 => 'ꓣ', 11955 => 'ꓤ', 11956 => 'ꓥ', 11957 => 'ꓦ', 11958 => 'ꓧ', 11959 => 'ꓨ', 11960 => 'ꓩ', 11961 => 'ꓫ', 11962 => 'ꓭ', 11963 => 'ꓪ', 11964 => 'ꓬ', 11965 => 'ꓮ', 11966 => 'ꓯ', 11967 => 'ꓰ', 11968 => 'ꓱ', 11969 => 'ꓲ', 11970 => 'ꓳ', 11971 => 'ꓴ', 11972 => 'ꓵ', 11973 => 'ꓶ', 11974 => 'ꓷ', 11975 => '𐊀', 11976 => '𐊁', 11977 => '𐊂', 11978 => '𐊃', 11979 => '𐊄', 11980 => '𐊅', 11981 => '𐊆', 11982 => '𐊇', 11983 => '𐊈', 11984 => '𐊉', 11985 => '𐊊', 11986 => '𐊋', 11987 => '𐊌', 11988 => '𐊍', 11989 => '𐊎', 11990 => '𐊏', 11991 => '𐊐', 11992 => '𐊑', 11993 => '𐊒', 11994 => '𐊓', 11995 => '𐊔', 11996 => '𐊕', 11997 => '𐊖', 11998 => '𐊗', 11999 => '𐊘', 12000 => '𐊙', 12001 => '𐊚', 12002 => '𐊛', 12003 => '𐊜', 12004 => '𐊠', 12005 => '𐊡', 12006 => '𐊢', 12007 => '𐊣', 12008 => '𐊤', 12009 => '𐊥', 12010 => '𐊦', 12011 => '𐊧', 12012 => '𐊨', 12013 => '𐊩', 12014 => '𐊪', 12015 => '𐊫', 12016 => '𐊬', 12017 => '𐊭', 12018 => '𐊮', 12019 => '𐊯', 12020 => '𐊰', 12021 => '𐊱', 12022 => '𐊲', 12023 => '𐊳', 12024 => '𐊴', 12025 => '𐊵', 12026 => '𐊶', 12027 => '𐊷', 12028 => '𐊸', 12029 => '𐊹', 12030 => '𐊺', 12031 => '𐊻', 12032 => '𐊼', 12033 => '𐊽', 12034 => '𐊾', 12035 => '𐊿', 12036 => '𐋀', 12037 => '𐋁', 12038 => '𐋂', 12039 => '𐋃', 12040 => '𐋄', 12041 => '𐋅', 12042 => '𐋆', 12043 => '𐋇', 12044 => '𐋈', 12045 => '𐋉', 12046 => '𐋊', 12047 => '𐋋', 12048 => '𐋌', 12049 => '𐋍', 12050 => '𐋎', 12051 => '𐋏', 12052 => '𐋐', 12053 => '𐤠', 12054 => '𐤡', 12055 => '𐤢', 12056 => '𐤣', 12057 => '𐤤', 12058 => '𐤥', 12059 => '𐤦', 12060 => '𐤧', 12061 => '𐤨', 12062 => '𐤩', 12063 => '𐤪', 12064 => '𐤫', 12065 => '𐤬', 12066 => '𐤭', 12067 => '𐤮', 12068 => '𐤯', 12069 => '𐤰', 12070 => '𐤱', 12071 => '𐤲', 12072 => '𐤳', 12073 => '𐤴', 12074 => '𐤵', 12075 => '𐤶', 12076 => '𐤷', 12077 => '𐤸', 12078 => '𐤹', 12079 => '𐌀', 12080 => '𐌁', 12081 => '𐌂', 12082 => '𐌃', 12083 => '𐌄', 12084 => '𐌅', 12085 => '𐌆', 12086 => '𐌇', 12087 => '𐌈', 12088 => '𐌉', 12089 => '𐌊', 12090 => '𐌋', 12091 => '𐌌', 12092 => '𐌍', 12093 => '𐌎', 12094 => '𐌏', 12095 => '𐌐', 12096 => '𐌑', 12097 => '𐌒', 12098 => '𐌓', 12099 => '𐌔', 12100 => '𐌕', 12101 => '𐌖', 12102 => '𐌗', 12103 => '𐌘', 12104 => '𐌙', 12105 => '𐌚', 12106 => '𐌛', 12107 => '𐌜', 12108 => '𐌝', 12109 => '𐌞', 12110 => '𐌰', 12111 => '𐌱', 12112 => '𐌲', 12113 => '𐌳', 12114 => '𐌴', 12115 => '𐌵', 12116 => '𐌶', 12117 => '𐌷', 12118 => '𐌸', 12119 => '𐌹', 12120 => '𐌺', 12121 => '𐌻', 12122 => '𐌼', 12123 => '𐌽', 12124 => '𐌾', 12125 => '𐌿', 12126 => '𐍀', 12127 => '𐍁', 12128 => '𐍂', 12129 => '𐍃', 12130 => '𐍄', 12131 => '𐍅', 12132 => '𐍆', 12133 => '𐍇', 12134 => '𐍈', 12135 => '𐍉', 12136 => '𐍊', 12137 => '𐐀', 12138 => '𐐁', 12139 => '𐐂', 12140 => '𐐃', 12141 => '𐐄', 12142 => '𐐅', 12143 => '𐐆', 12144 => '𐐇', 12145 => '𐐈', 12146 => '𐐉', 12147 => '𐐊', 12148 => '𐐋', 12149 => '𐐌', 12150 => '𐐍', 12151 => '𐐎', 12152 => '𐐏', 12153 => '𐐐', 12154 => '𐐑', 12155 => '𐐒', 12156 => '𐐓', 12157 => '𐐔', 12158 => '𐐕', 12159 => '𐐖', 12160 => '𐐗', 12161 => '𐐘', 12162 => '𐐙', 12163 => '𐐚', 12164 => '𐐛', 12165 => '𐐜', 12166 => '𐐝', 12167 => '𐐞', 12168 => '𐐟', 12169 => '𐐠', 12170 => '𐐡', 12171 => '𐐢', 12172 => '𐐣', 12173 => '𐐤', 12174 => '𐐥', 12175 => '𐐦', 12176 => '𐐧', 12177 => '𐑐', 12178 => '𐑑', 12179 => '𐑒', 12180 => '𐑓', 12181 => '𐑔', 12182 => '𐑕', 12183 => '𐑖', 12184 => '𐑗', 12185 => '𐑘', 12186 => '𐑙', 12187 => '𐑚', 12188 => '𐑛', 12189 => '𐑜', 12190 => '𐑝', 12191 => '𐑞', 12192 => '𐑟', 12193 => '𐑠', 12194 => '𐑡', 12195 => '𐑢', 12196 => '𐑣', 12197 => '𐑤', 12198 => '𐑥', 12199 => '𐑦', 12200 => '𐑧', 12201 => '𐑨', 12202 => '𐑩', 12203 => '𐑪', 12204 => '𐑫', 12205 => '𐑬', 12206 => '𐑭', 12207 => '𐑮', 12208 => '𐑯', 12209 => '𐑰', 12210 => '𐑱', 12211 => '𐑲', 12212 => '𐑳', 12213 => '𐑴', 12214 => '𐑵', 12215 => '𐑶', 12216 => '𐑷', 12217 => '𐑸', 12218 => '𐑹', 12219 => '𐑺', 12220 => '𐑻', 12221 => '𐑼', 12222 => '𐑽', 12223 => '𐑾', 12224 => '𐑿', 12225 => '𐒀', 12226 => '𐒁', 12227 => '𐒂', 12228 => '𐒃', 12229 => '𐒄', 12230 => '𐒅', 12231 => '𐒆', 12232 => '𐒇', 12233 => '𐒈', 12234 => '𐒉', 12235 => '𐒊', 12236 => '𐒋', 12237 => '𐒌', 12238 => '𐒍', 12239 => '𐒎', 12240 => '𐒏', 12241 => '𐒐', 12242 => '𐒑', 12243 => '𐒒', 12244 => '𐒓', 12245 => '𐒔', 12246 => '𐒕', 12247 => '𐒖', 12248 => '𐒗', 12249 => '𐒘', 12250 => '𐒙', 12251 => '𐒚', 12252 => '𐒛', 12253 => '𐒜', 12254 => '𐒝', 12255 => '𐀀', 12256 => '𐀁', 12257 => '𐀂', 12258 => '𐀃', 12259 => '𐀄', 12260 => '𐀅', 12261 => '𐀆', 12262 => '𐀇', 12263 => '𐀈', 12264 => '𐀉', 12265 => '𐀊', 12266 => '𐀋', 12267 => '𐀍', 12268 => '𐀎', 12269 => '𐀏', 12270 => '𐀐', 12271 => '𐀑', 12272 => '𐀒', 12273 => '𐀓', 12274 => '𐀔', 12275 => '𐀕', 12276 => '𐀖', 12277 => '𐀗', 12278 => '𐀘', 12279 => '𐀙', 12280 => '𐀚', 12281 => '𐀛', 12282 => '𐀜', 12283 => '𐀝', 12284 => '𐀞', 12285 => '𐀟', 12286 => '𐀠', 12287 => '𐀡', 12288 => '𐀢', 12289 => '𐀣', 12290 => '𐀤', 12291 => '𐀥', 12292 => '𐀦', 12293 => '𐀨', 12294 => '𐀩', 12295 => '𐀪', 12296 => '𐀫', 12297 => '𐀬', 12298 => '𐀭', 12299 => '𐀮', 12300 => '𐀯', 12301 => '𐀰', 12302 => '𐀱', 12303 => '𐀲', 12304 => '𐀳', 12305 => '𐀴', 12306 => '𐀵', 12307 => '𐀶', 12308 => '𐀷', 12309 => '𐀸', 12310 => '𐀹', 12311 => '𐀺', 12312 => '𐀼', 12313 => '𐀽', 12314 => '𐀿', 12315 => '𐁀', 12316 => '𐁁', 12317 => '𐁂', 12318 => '𐁃', 12319 => '𐁄', 12320 => '𐁅', 12321 => '𐁆', 12322 => '𐁇', 12323 => '𐁈', 12324 => '𐁉', 12325 => '𐁊', 12326 => '𐁋', 12327 => '𐁌', 12328 => '𐁍', 12329 => '𐁐', 12330 => '𐁑', 12331 => '𐁒', 12332 => '𐁓', 12333 => '𐁔', 12334 => '𐁕', 12335 => '𐁖', 12336 => '𐁗', 12337 => '𐁘', 12338 => '𐁙', 12339 => '𐁚', 12340 => '𐁛', 12341 => '𐁜', 12342 => '𐁝', 12343 => '𐂀', 12344 => '𐂁', 12345 => '𐂂', 12346 => '𐂃', 12347 => '𐂄', 12348 => '𐂅', 12349 => '𐂆', 12350 => '𐂇', 12351 => '𐂈', 12352 => '𐂉', 12353 => '𐂊', 12354 => '𐂋', 12355 => '𐂌', 12356 => '𐂍', 12357 => '𐂎', 12358 => '𐂏', 12359 => '𐂐', 12360 => '𐂑', 12361 => '𐂒', 12362 => '𐂓', 12363 => '𐂔', 12364 => '𐂕', 12365 => '𐂖', 12366 => '𐂗', 12367 => '𐂘', 12368 => '𐂙', 12369 => '𐂚', 12370 => '𐂛', 12371 => '𐂜', 12372 => '𐂝', 12373 => '𐂞', 12374 => '𐂟', 12375 => '𐂠', 12376 => '𐂡', 12377 => '𐂢', 12378 => '𐂣', 12379 => '𐂤', 12380 => '𐂥', 12381 => '𐂦', 12382 => '𐂧', 12383 => '𐂨', 12384 => '𐂩', 12385 => '𐂪', 12386 => '𐂫', 12387 => '𐂬', 12388 => '𐂭', 12389 => '𐂮', 12390 => '𐂯', 12391 => '𐂰', 12392 => '𐂱', 12393 => '𐂲', 12394 => '𐂳', 12395 => '𐂴', 12396 => '𐂵', 12397 => '𐂶', 12398 => '𐂷', 12399 => '𐂸', 12400 => '𐂹', 12401 => '𐂺', 12402 => '𐂻', 12403 => '𐂼', 12404 => '𐂽', 12405 => '𐂾', 12406 => '𐂿', 12407 => '𐃀', 12408 => '𐃁', 12409 => '𐃂', 12410 => '𐃃', 12411 => '𐃄', 12412 => '𐃅', 12413 => '𐃆', 12414 => '𐃇', 12415 => '𐃈', 12416 => '𐃉', 12417 => '𐃊', 12418 => '𐃋', 12419 => '𐃌', 12420 => '𐃍', 12421 => '𐃎', 12422 => '𐃏', 12423 => '𐃐', 12424 => '𐃑', 12425 => '𐃒', 12426 => '𐃓', 12427 => '𐃔', 12428 => '𐃕', 12429 => '𐃖', 12430 => '𐃗', 12431 => '𐃘', 12432 => '𐃙', 12433 => '𐃚', 12434 => '𐃛', 12435 => '𐃜', 12436 => '𐃝', 12437 => '𐃞', 12438 => '𐃟', 12439 => '𐃠', 12440 => '𐃡', 12441 => '𐃢', 12442 => '𐃣', 12443 => '𐃤', 12444 => '𐃥', 12445 => '𐃦', 12446 => '𐃧', 12447 => '𐃨', 12448 => '𐃩', 12449 => '𐃪', 12450 => '𐃫', 12451 => '𐃬', 12452 => '𐃭', 12453 => '𐃮', 12454 => '𐃯', 12455 => '𐃰', 12456 => '𐃱', 12457 => '𐃲', 12458 => '𐃳', 12459 => '𐃴', 12460 => '𐃵', 12461 => '𐃶', 12462 => '𐃷', 12463 => '𐃸', 12464 => '𐃹', 12465 => '𐃺', 12466 => '𐠀', 12467 => '𐠁', 12468 => '𐠂', 12469 => '𐠃', 12470 => '𐠄', 12471 => '𐠅', 12472 => '𐠈', 12473 => '𐠊', 12474 => '𐠋', 12475 => '𐠌', 12476 => '𐠍', 12477 => '𐠎', 12478 => '𐠏', 12479 => '𐠐', 12480 => '𐠑', 12481 => '𐠒', 12482 => '𐠓', 12483 => '𐠔', 12484 => '𐠕', 12485 => '𐠖', 12486 => '𐠗', 12487 => '𐠘', 12488 => '𐠙', 12489 => '𐠚', 12490 => '𐠛', 12491 => '𐠜', 12492 => '𐠝', 12493 => '𐠞', 12494 => '𐠟', 12495 => '𐠠', 12496 => '𐠡', 12497 => '𐠢', 12498 => '𐠣', 12499 => '𐠤', 12500 => '𐠥', 12501 => '𐠦', 12502 => '𐠧', 12503 => '𐠨', 12504 => '𐠩', 12505 => '𐠪', 12506 => '𐠫', 12507 => '𐠬', 12508 => '𐠭', 12509 => '𐠮', 12510 => '𐠯', 12511 => '𐠰', 12512 => '𐠱', 12513 => '𐠲', 12514 => '𐠳', 12515 => '𐠴', 12516 => '𐠵', 12517 => '𐠷', 12518 => '𐠸', 12519 => '𐠼', 12520 => '𐠿', 12521 => '𐩠', 12522 => '𐩡', 12523 => '𐩢', 12524 => '𐩣', 12525 => '𐩤', 12526 => '𐩥', 12527 => '𐩦', 12528 => '𐩧', 12529 => '𐩨', 12530 => '𐩩', 12531 => '𐩪', 12532 => '𐩫', 12533 => '𐩬', 12534 => '𐩭', 12535 => '𐩮', 12536 => '𐩯', 12537 => '𐩰', 12538 => '𐩱', 12539 => '𐩲', 12540 => '𐩳', 12541 => '𐩴', 12542 => '𐩵', 12543 => '𐩶', 12544 => '𐩷', 12545 => '𐩸', 12546 => '𐩹', 12547 => '𐩺', 12548 => '𐩻', 12549 => '𐩼', 12550 => '𐬀', 12551 => '𐬁', 12552 => '𐬂', 12553 => '𐬃', 12554 => '𐬄', 12555 => '𐬅', 12556 => '𐬆', 12557 => '𐬇', 12558 => '𐬈', 12559 => '𐬉', 12560 => '𐬊', 12561 => '𐬋', 12562 => '𐬌', 12563 => '𐬍', 12564 => '𐬎', 12565 => '𐬏', 12566 => '𐬐', 12567 => '𐬑', 12568 => '𐬒', 12569 => '𐬓', 12570 => '𐬔', 12571 => '𐬕', 12572 => '𐬖', 12573 => '𐬗', 12574 => '𐬘', 12575 => '𐬙', 12576 => '𐬚', 12577 => '𐬛', 12578 => '𐬜', 12579 => '𐬝', 12580 => '𐬞', 12581 => '𐬟', 12582 => '𐬠', 12583 => '𐬡', 12584 => '𐬢', 12585 => '𐬣', 12586 => '𐬤', 12587 => '𐬥', 12588 => '𐬦', 12589 => '𐬧', 12590 => '𐬨', 12591 => '𐬩', 12592 => '𐬪', 12593 => '𐬫', 12594 => '𐬬', 12595 => '𐬭', 12596 => '𐬯', 12597 => '𐬰', 12598 => '𐬱', 12599 => '𐬲', 12600 => '𐬳', 12601 => '𐬴', 12602 => '𐬵', 12603 => '𐡀', 12604 => '𐡁', 12605 => '𐡂', 12606 => '𐡃', 12607 => '𐡄', 12608 => '𐡅', 12609 => '𐡆', 12610 => '𐡇', 12611 => '𐡈', 12612 => '𐡉', 12613 => '𐡊', 12614 => '𐡋', 12615 => '𐡌', 12616 => '𐡍', 12617 => '𐡎', 12618 => '𐡏', 12619 => '𐡐', 12620 => '𐡑', 12621 => '𐡒', 12622 => '𐡓', 12623 => '𐡔', 12624 => '𐡕', 12625 => '𐭀', 12626 => '𐭁', 12627 => '𐭂', 12628 => '𐭃', 12629 => '𐭄', 12630 => '𐭅', 12631 => '𐭆', 12632 => '𐭇', 12633 => '𐭈', 12634 => '𐭉', 12635 => '𐭊', 12636 => '𐭋', 12637 => '𐭌', 12638 => '𐭍', 12639 => '𐭎', 12640 => '𐭏', 12641 => '𐭐', 12642 => '𐭑', 12643 => '𐭒', 12644 => '𐭓', 12645 => '𐭔', 12646 => '𐭕', 12647 => '𐭠', 12648 => '𐭡', 12649 => '𐭢', 12650 => '𐭣', 12651 => '𐭤', 12652 => '𐭥', 12653 => '𐭦', 12654 => '𐭧', 12655 => '𐭨', 12656 => '𐭩', 12657 => '𐭪', 12658 => '𐭫', 12659 => '𐭬', 12660 => '𐭭', 12661 => '𐭮', 12662 => '𐭯', 12663 => '𐭰', 12664 => '𐭱', 12665 => '𐭲', 12666 => '𐎀', 12667 => '𐎁', 12668 => '𐎂', 12669 => '𐎃', 12670 => '𐎄', 12671 => '𐎅', 12672 => '𐎆', 12673 => '𐎇', 12674 => '𐎈', 12675 => '𐎉', 12676 => '𐎊', 12677 => '𐎋', 12678 => '𐎌', 12679 => '𐎍', 12680 => '𐎎', 12681 => '𐎏', 12682 => '𐎐', 12683 => '𐎑', 12684 => '𐎒', 12685 => '𐎓', 12686 => '𐎔', 12687 => '𐎕', 12688 => '𐎖', 12689 => '𐎗', 12690 => '𐎘', 12691 => '𐎙', 12692 => '𐎚', 12693 => '𐎛', 12694 => '𐎜', 12695 => '𐎝', 12696 => '𐎠', 12697 => '𐎡', 12698 => '𐎢', 12699 => '𐎣', 12700 => '𐎤', 12701 => '𐎥', 12702 => '𐎦', 12703 => '𐎧', 12704 => '𐎨', 12705 => '𐎩', 12706 => '𐎪', 12707 => '𐎫', 12708 => '𐎬', 12709 => '𐎭', 12710 => '𐎮', 12711 => '𐎯', 12712 => '𐎰', 12713 => '𐎱', 12714 => '𐎲', 12715 => '𐎳', 12716 => '𐎴', 12717 => '𐎵', 12718 => '𐎶', 12719 => '𐎷', 12720 => '𐎸', 12721 => '𐎹', 12722 => '𐎺', 12723 => '𐎻', 12724 => '𐎼', 12725 => '𐎽', 12726 => '𐎾', 12727 => '𐎿', 12728 => '𐏀', 12729 => '𐏁', 12730 => '𐏂', 12731 => '𐏃', 12732 => '𐏈', 12733 => '𐏉', 12734 => '𐏊', 12735 => '𐏋', 12736 => '𐏌', 12737 => '𐏍', 12738 => '𐏎', 12739 => '𐏏', 12740 => '𒀀', 12741 => '𒀁', 12742 => '𒀂', 12743 => '𒀃', 12744 => '𒀄', 12745 => '𒀅', 12746 => '𒀆', 12747 => '𒀇', 12748 => '𒀈', 12749 => '𒀉', 12750 => '𒀊', 12751 => '𒀋', 12752 => '𒀌', 12753 => '𒀍', 12754 => '𒀎', 12755 => '𒀏', 12756 => '𒀐', 12757 => '𒀑', 12758 => '𒀒', 12759 => '𒀓', 12760 => '𒀔', 12761 => '𒀕', 12762 => '𒀖', 12763 => '𒀗', 12764 => '𒀘', 12765 => '𒀙', 12766 => '𒀚', 12767 => '𒀛', 12768 => '𒀜', 12769 => '𒀝', 12770 => '𒀞', 12771 => '𒀟', 12772 => '𒀠', 12773 => '𒀡', 12774 => '𒀢', 12775 => '𒀣', 12776 => '𒀤', 12777 => '𒀥', 12778 => '𒀦', 12779 => '𒀧', 12780 => '𒀨', 12781 => '𒀩', 12782 => '𒀪', 12783 => '𒀫', 12784 => '𒀬', 12785 => '𒀭', 12786 => '𒀮', 12787 => '𒀯', 12788 => '𒀰', 12789 => '𒀱', 12790 => '𒀲', 12791 => '𒀳', 12792 => '𒀴', 12793 => '𒀵', 12794 => '𒀶', 12795 => '𒀷', 12796 => '𒀸', 12797 => '𒀹', 12798 => '𒀺', 12799 => '𒀻', 12800 => '𒀼', 12801 => '𒀽', 12802 => '𒀾', 12803 => '𒀿', 12804 => '𒁀', 12805 => '𒁁', 12806 => '𒁂', 12807 => '𒁃', 12808 => '𒁄', 12809 => '𒁅', 12810 => '𒁆', 12811 => '𒁇', 12812 => '𒁈', 12813 => '𒁉', 12814 => '𒁊', 12815 => '𒁋', 12816 => '𒁌', 12817 => '𒁍', 12818 => '𒁎', 12819 => '𒁏', 12820 => '𒁐', 12821 => '𒁑', 12822 => '𒁒', 12823 => '𒁓', 12824 => '𒁔', 12825 => '𒁕', 12826 => '𒁖', 12827 => '𒁗', 12828 => '𒁘', 12829 => '𒁙', 12830 => '𒁚', 12831 => '𒁛', 12832 => '𒁜', 12833 => '𒁝', 12834 => '𒁞', 12835 => '𒁟', 12836 => '𒁠', 12837 => '𒁡', 12838 => '𒁢', 12839 => '𒁣', 12840 => '𒁤', 12841 => '𒁥', 12842 => '𒁦', 12843 => '𒁧', 12844 => '𒁨', 12845 => '𒁩', 12846 => '𒁪', 12847 => '𒁫', 12848 => '𒁬', 12849 => '𒁭', 12850 => '𒁮', 12851 => '𒁯', 12852 => '𒁰', 12853 => '𒁱', 12854 => '𒁲', 12855 => '𒁳', 12856 => '𒁴', 12857 => '𒁵', 12858 => '𒁶', 12859 => '𒁷', 12860 => '𒁸', 12861 => '𒁹', 12862 => '𒁺', 12863 => '𒁻', 12864 => '𒁼', 12865 => '𒁽', 12866 => '𒁾', 12867 => '𒁿', 12868 => '𒂀', 12869 => '𒂁', 12870 => '𒂂', 12871 => '𒂃', 12872 => '𒂄', 12873 => '𒂅', 12874 => '𒂆', 12875 => '𒂇', 12876 => '𒂈', 12877 => '𒂉', 12878 => '𒂊', 12879 => '𒂋', 12880 => '𒂌', 12881 => '𒂍', 12882 => '𒂎', 12883 => '𒂏', 12884 => '𒂐', 12885 => '𒂑', 12886 => '𒂒', 12887 => '𒂓', 12888 => '𒂔', 12889 => '𒂕', 12890 => '𒂖', 12891 => '𒂗', 12892 => '𒂘', 12893 => '𒂙', 12894 => '𒂚', 12895 => '𒂛', 12896 => '𒂜', 12897 => '𒂝', 12898 => '𒂞', 12899 => '𒂟', 12900 => '𒂠', 12901 => '𒂡', 12902 => '𒂢', 12903 => '𒂣', 12904 => '𒂤', 12905 => '𒂥', 12906 => '𒂦', 12907 => '𒂧', 12908 => '𒂨', 12909 => '𒂩', 12910 => '𒂪', 12911 => '𒂫', 12912 => '𒂬', 12913 => '𒂭', 12914 => '𒂮', 12915 => '𒂯', 12916 => '𒂰', 12917 => '𒂱', 12918 => '𒂲', 12919 => '𒂳', 12920 => '𒂴', 12921 => '𒂵', 12922 => '𒂶', 12923 => '𒂷', 12924 => '𒂸', 12925 => '𒂹', 12926 => '𒂺', 12927 => '𒂻', 12928 => '𒂼', 12929 => '𒂽', 12930 => '𒂾', 12931 => '𒂿', 12932 => '𒃀', 12933 => '𒃁', 12934 => '𒃂', 12935 => '𒃃', 12936 => '𒃄', 12937 => '𒃅', 12938 => '𒃆', 12939 => '𒃇', 12940 => '𒃈', 12941 => '𒃉', 12942 => '𒃊', 12943 => '𒃋', 12944 => '𒃌', 12945 => '𒃍', 12946 => '𒃎', 12947 => '𒃏', 12948 => '𒃐', 12949 => '𒃑', 12950 => '𒃒', 12951 => '𒃓', 12952 => '𒃔', 12953 => '𒃕', 12954 => '𒃖', 12955 => '𒃗', 12956 => '𒃘', 12957 => '𒃙', 12958 => '𒃚', 12959 => '𒃛', 12960 => '𒃜', 12961 => '𒃝', 12962 => '𒃞', 12963 => '𒃟', 12964 => '𒃠', 12965 => '𒃡', 12966 => '𒃢', 12967 => '𒃣', 12968 => '𒃤', 12969 => '𒃥', 12970 => '𒃦', 12971 => '𒃧', 12972 => '𒃨', 12973 => '𒃩', 12974 => '𒃪', 12975 => '𒃫', 12976 => '𒃬', 12977 => '𒃭', 12978 => '𒃮', 12979 => '𒃯', 12980 => '𒃰', 12981 => '𒃱', 12982 => '𒃲', 12983 => '𒃳', 12984 => '𒃴', 12985 => '𒃵', 12986 => '𒃶', 12987 => '𒃷', 12988 => '𒃸', 12989 => '𒃹', 12990 => '𒃺', 12991 => '𒃻', 12992 => '𒃼', 12993 => '𒃽', 12994 => '𒃾', 12995 => '𒃿', 12996 => '𒄀', 12997 => '𒄁', 12998 => '𒄂', 12999 => '𒄃', 13000 => '𒄄', 13001 => '𒄅', 13002 => '𒄆', 13003 => '𒄇', 13004 => '𒄈', 13005 => '𒄉', 13006 => '𒄊', 13007 => '𒄋', 13008 => '𒄌', 13009 => '𒄍', 13010 => '𒄎', 13011 => '𒄏', 13012 => '𒄐', 13013 => '𒄑', 13014 => '𒄒', 13015 => '𒄓', 13016 => '𒄔', 13017 => '𒄕', 13018 => '𒄖', 13019 => '𒄗', 13020 => '𒄘', 13021 => '𒄙', 13022 => '𒄚', 13023 => '𒄛', 13024 => '𒄜', 13025 => '𒄝', 13026 => '𒄞', 13027 => '𒄟', 13028 => '𒄠', 13029 => '𒄡', 13030 => '𒄢', 13031 => '𒄣', 13032 => '𒄤', 13033 => '𒄥', 13034 => '𒄦', 13035 => '𒄧', 13036 => '𒄨', 13037 => '𒄩', 13038 => '𒄪', 13039 => '𒄫', 13040 => '𒄬', 13041 => '𒄭', 13042 => '𒄮', 13043 => '𒄯', 13044 => '𒄰', 13045 => '𒄱', 13046 => '𒄲', 13047 => '𒄳', 13048 => '𒄴', 13049 => '𒄵', 13050 => '𒄶', 13051 => '𒄷', 13052 => '𒄸', 13053 => '𒄹', 13054 => '𒄺', 13055 => '𒄻', 13056 => '𒄼', 13057 => '𒄽', 13058 => '𒄾', 13059 => '𒄿', 13060 => '𒅀', 13061 => '𒅁', 13062 => '𒅂', 13063 => '𒅃', 13064 => '𒅄', 13065 => '𒅅', 13066 => '𒅆', 13067 => '𒅇', 13068 => '𒅈', 13069 => '𒅉', 13070 => '𒅊', 13071 => '𒅋', 13072 => '𒅌', 13073 => '𒅍', 13074 => '𒅎', 13075 => '𒅏', 13076 => '𒅐', 13077 => '𒅑', 13078 => '𒅒', 13079 => '𒅓', 13080 => '𒅔', 13081 => '𒅕', 13082 => '𒅖', 13083 => '𒅗', 13084 => '𒅘', 13085 => '𒅙', 13086 => '𒅚', 13087 => '𒅛', 13088 => '𒅜', 13089 => '𒅝', 13090 => '𒅞', 13091 => '𒅟', 13092 => '𒅠', 13093 => '𒅡', 13094 => '𒅢', 13095 => '𒅣', 13096 => '𒅤', 13097 => '𒅥', 13098 => '𒅦', 13099 => '𒅧', 13100 => '𒅨', 13101 => '𒅩', 13102 => '𒅪', 13103 => '𒅫', 13104 => '𒅬', 13105 => '𒅭', 13106 => '𒅮', 13107 => '𒅯', 13108 => '𒅰', 13109 => '𒅱', 13110 => '𒅲', 13111 => '𒅳', 13112 => '𒅴', 13113 => '𒅵', 13114 => '𒅶', 13115 => '𒅷', 13116 => '𒅸', 13117 => '𒅹', 13118 => '𒅺', 13119 => '𒅻', 13120 => '𒅼', 13121 => '𒅽', 13122 => '𒅾', 13123 => '𒅿', 13124 => '𒆀', 13125 => '𒆁', 13126 => '𒆂', 13127 => '𒆃', 13128 => '𒆄', 13129 => '𒆅', 13130 => '𒆆', 13131 => '𒆇', 13132 => '𒆈', 13133 => '𒆉', 13134 => '𒆊', 13135 => '𒆋', 13136 => '𒆌', 13137 => '𒆍', 13138 => '𒆎', 13139 => '𒆏', 13140 => '𒆐', 13141 => '𒆑', 13142 => '𒆒', 13143 => '𒆓', 13144 => '𒆔', 13145 => '𒆕', 13146 => '𒆖', 13147 => '𒆗', 13148 => '𒆘', 13149 => '𒆙', 13150 => '𒆚', 13151 => '𒆛', 13152 => '𒆜', 13153 => '𒆝', 13154 => '𒆞', 13155 => '𒆟', 13156 => '𒆠', 13157 => '𒆡', 13158 => '𒆢', 13159 => '𒆣', 13160 => '𒆤', 13161 => '𒆥', 13162 => '𒆦', 13163 => '𒆧', 13164 => '𒆨', 13165 => '𒆩', 13166 => '𒆪', 13167 => '𒆫', 13168 => '𒆬', 13169 => '𒆭', 13170 => '𒆮', 13171 => '𒆯', 13172 => '𒆰', 13173 => '𒆱', 13174 => '𒆲', 13175 => '𒆳', 13176 => '𒆴', 13177 => '𒆵', 13178 => '𒆶', 13179 => '𒆷', 13180 => '𒆸', 13181 => '𒆹', 13182 => '𒆺', 13183 => '𒆻', 13184 => '𒆼', 13185 => '𒆽', 13186 => '𒆾', 13187 => '𒆿', 13188 => '𒇀', 13189 => '𒇁', 13190 => '𒇂', 13191 => '𒇃', 13192 => '𒇄', 13193 => '𒇅', 13194 => '𒇆', 13195 => '𒇇', 13196 => '𒇈', 13197 => '𒇉', 13198 => '𒇊', 13199 => '𒇋', 13200 => '𒇌', 13201 => '𒇍', 13202 => '𒇎', 13203 => '𒇏', 13204 => '𒇐', 13205 => '𒇑', 13206 => '𒇒', 13207 => '𒇓', 13208 => '𒇔', 13209 => '𒇕', 13210 => '𒇖', 13211 => '𒇗', 13212 => '𒇘', 13213 => '𒇙', 13214 => '𒇚', 13215 => '𒇛', 13216 => '𒇜', 13217 => '𒇝', 13218 => '𒇞', 13219 => '𒇟', 13220 => '𒇠', 13221 => '𒇡', 13222 => '𒇢', 13223 => '𒇣', 13224 => '𒇤', 13225 => '𒇥', 13226 => '𒇦', 13227 => '𒇧', 13228 => '𒇨', 13229 => '𒇩', 13230 => '𒇪', 13231 => '𒇫', 13232 => '𒇬', 13233 => '𒇭', 13234 => '𒇮', 13235 => '𒇯', 13236 => '𒇰', 13237 => '𒇱', 13238 => '𒇲', 13239 => '𒇳', 13240 => '𒇴', 13241 => '𒇵', 13242 => '𒇶', 13243 => '𒇷', 13244 => '𒇸', 13245 => '𒇹', 13246 => '𒇺', 13247 => '𒇻', 13248 => '𒇼', 13249 => '𒇽', 13250 => '𒇾', 13251 => '𒇿', 13252 => '𒈀', 13253 => '𒈁', 13254 => '𒈂', 13255 => '𒈃', 13256 => '𒈄', 13257 => '𒈅', 13258 => '𒈆', 13259 => '𒈇', 13260 => '𒈈', 13261 => '𒈉', 13262 => '𒈊', 13263 => '𒈋', 13264 => '𒈌', 13265 => '𒈍', 13266 => '𒈎', 13267 => '𒈏', 13268 => '𒈐', 13269 => '𒈑', 13270 => '𒈒', 13271 => '𒈓', 13272 => '𒈔', 13273 => '𒈕', 13274 => '𒈖', 13275 => '𒈗', 13276 => '𒈘', 13277 => '𒈙', 13278 => '𒈚', 13279 => '𒈛', 13280 => '𒈜', 13281 => '𒈝', 13282 => '𒈞', 13283 => '𒈟', 13284 => '𒈠', 13285 => '𒈡', 13286 => '𒈢', 13287 => '𒈣', 13288 => '𒈤', 13289 => '𒈥', 13290 => '𒈦', 13291 => '𒈧', 13292 => '𒈨', 13293 => '𒈩', 13294 => '𒈪', 13295 => '𒈫', 13296 => '𒈬', 13297 => '𒈭', 13298 => '𒈮', 13299 => '𒈯', 13300 => '𒈰', 13301 => '𒈱', 13302 => '𒈲', 13303 => '𒈳', 13304 => '𒈴', 13305 => '𒈵', 13306 => '𒈶', 13307 => '𒈷', 13308 => '𒈸', 13309 => '𒈹', 13310 => '𒈺', 13311 => '𒈻', 13312 => '𒈼', 13313 => '𒈽', 13314 => '𒈾', 13315 => '𒈿', 13316 => '𒉀', 13317 => '𒉁', 13318 => '𒉂', 13319 => '𒉃', 13320 => '𒉄', 13321 => '𒉅', 13322 => '𒉆', 13323 => '𒉇', 13324 => '𒉈', 13325 => '𒉉', 13326 => '𒉊', 13327 => '𒉋', 13328 => '𒉌', 13329 => '𒉍', 13330 => '𒉎', 13331 => '𒉏', 13332 => '𒉐', 13333 => '𒉑', 13334 => '𒉒', 13335 => '𒉓', 13336 => '𒉔', 13337 => '𒉕', 13338 => '𒉖', 13339 => '𒉗', 13340 => '𒉘', 13341 => '𒉙', 13342 => '𒉚', 13343 => '𒉛', 13344 => '𒉜', 13345 => '𒉝', 13346 => '𒉞', 13347 => '𒉟', 13348 => '𒉠', 13349 => '𒉡', 13350 => '𒉢', 13351 => '𒉣', 13352 => '𒉤', 13353 => '𒉥', 13354 => '𒉦', 13355 => '𒉧', 13356 => '𒉨', 13357 => '𒉩', 13358 => '𒉪', 13359 => '𒉫', 13360 => '𒉬', 13361 => '𒉭', 13362 => '𒉮', 13363 => '𒉯', 13364 => '𒉰', 13365 => '𒉱', 13366 => '𒉲', 13367 => '𒉳', 13368 => '𒉴', 13369 => '𒉵', 13370 => '𒉶', 13371 => '𒉷', 13372 => '𒉸', 13373 => '𒉹', 13374 => '𒉺', 13375 => '𒉻', 13376 => '𒉼', 13377 => '𒉽', 13378 => '𒉾', 13379 => '𒉿', 13380 => '𒊀', 13381 => '𒊁', 13382 => '𒊂', 13383 => '𒊃', 13384 => '𒊄', 13385 => '𒊅', 13386 => '𒊆', 13387 => '𒊇', 13388 => '𒊈', 13389 => '𒊉', 13390 => '𒊊', 13391 => '𒊋', 13392 => '𒊌', 13393 => '𒊍', 13394 => '𒊎', 13395 => '𒊏', 13396 => '𒊐', 13397 => '𒊑', 13398 => '𒊒', 13399 => '𒊓', 13400 => '𒊔', 13401 => '𒊕', 13402 => '𒊖', 13403 => '𒊗', 13404 => '𒊘', 13405 => '𒊙', 13406 => '𒊚', 13407 => '𒊛', 13408 => '𒊜', 13409 => '𒊝', 13410 => '𒊞', 13411 => '𒊟', 13412 => '𒊠', 13413 => '𒊡', 13414 => '𒊢', 13415 => '𒊣', 13416 => '𒊤', 13417 => '𒊥', 13418 => '𒊦', 13419 => '𒊧', 13420 => '𒊨', 13421 => '𒊩', 13422 => '𒊪', 13423 => '𒊫', 13424 => '𒊬', 13425 => '𒊭', 13426 => '𒊮', 13427 => '𒊯', 13428 => '𒊰', 13429 => '𒊱', 13430 => '𒊲', 13431 => '𒊳', 13432 => '𒊴', 13433 => '𒊵', 13434 => '𒊶', 13435 => '𒊷', 13436 => '𒊸', 13437 => '𒊹', 13438 => '𒊺', 13439 => '𒊻', 13440 => '𒊼', 13441 => '𒊽', 13442 => '𒊾', 13443 => '𒊿', 13444 => '𒋀', 13445 => '𒋁', 13446 => '𒋂', 13447 => '𒋃', 13448 => '𒋄', 13449 => '𒋅', 13450 => '𒋆', 13451 => '𒋇', 13452 => '𒋈', 13453 => '𒋉', 13454 => '𒋊', 13455 => '𒋋', 13456 => '𒋌', 13457 => '𒋍', 13458 => '𒋎', 13459 => '𒋏', 13460 => '𒋐', 13461 => '𒋑', 13462 => '𒋒', 13463 => '𒋓', 13464 => '𒋔', 13465 => '𒋕', 13466 => '𒋖', 13467 => '𒋗', 13468 => '𒋘', 13469 => '𒋙', 13470 => '𒋚', 13471 => '𒋛', 13472 => '𒋜', 13473 => '𒋝', 13474 => '𒋞', 13475 => '𒋟', 13476 => '𒋠', 13477 => '𒋡', 13478 => '𒋢', 13479 => '𒋣', 13480 => '𒋤', 13481 => '𒋥', 13482 => '𒋦', 13483 => '𒋧', 13484 => '𒋨', 13485 => '𒋩', 13486 => '𒋪', 13487 => '𒋫', 13488 => '𒋬', 13489 => '𒋭', 13490 => '𒋮', 13491 => '𒋯', 13492 => '𒋰', 13493 => '𒋱', 13494 => '𒋲', 13495 => '𒋳', 13496 => '𒋴', 13497 => '𒋵', 13498 => '𒋶', 13499 => '𒋷', 13500 => '𒋸', 13501 => '𒋹', 13502 => '𒋺', 13503 => '𒋻', 13504 => '𒋼', 13505 => '𒋽', 13506 => '𒋾', 13507 => '𒋿', 13508 => '𒌀', 13509 => '𒌁', 13510 => '𒌂', 13511 => '𒌃', 13512 => '𒌄', 13513 => '𒌅', 13514 => '𒌆', 13515 => '𒌇', 13516 => '𒌈', 13517 => '𒌉', 13518 => '𒌊', 13519 => '𒌋', 13520 => '𒌌', 13521 => '𒌍', 13522 => '𒌎', 13523 => '𒌏', 13524 => '𒌐', 13525 => '𒌑', 13526 => '𒌒', 13527 => '𒌓', 13528 => '𒌔', 13529 => '𒌕', 13530 => '𒌖', 13531 => '𒌗', 13532 => '𒌘', 13533 => '𒌙', 13534 => '𒌚', 13535 => '𒌛', 13536 => '𒌜', 13537 => '𒌝', 13538 => '𒌞', 13539 => '𒌟', 13540 => '𒌠', 13541 => '𒌡', 13542 => '𒌢', 13543 => '𒌣', 13544 => '𒌤', 13545 => '𒌥', 13546 => '𒌦', 13547 => '𒌧', 13548 => '𒌨', 13549 => '𒌩', 13550 => '𒌪', 13551 => '𒌫', 13552 => '𒌬', 13553 => '𒌭', 13554 => '𒌮', 13555 => '𒌯', 13556 => '𒌰', 13557 => '𒌱', 13558 => '𒌲', 13559 => '𒌳', 13560 => '𒌴', 13561 => '𒌵', 13562 => '𒌶', 13563 => '𒌷', 13564 => '𒌸', 13565 => '𒌹', 13566 => '𒌺', 13567 => '𒌻', 13568 => '𒌼', 13569 => '𒌽', 13570 => '𒌾', 13571 => '𒌿', 13572 => '𒍀', 13573 => '𒍁', 13574 => '𒍂', 13575 => '𒍃', 13576 => '𒍄', 13577 => '𒍅', 13578 => '𒍆', 13579 => '𒍇', 13580 => '𒍈', 13581 => '𒍉', 13582 => '𒍊', 13583 => '𒍋', 13584 => '𒍌', 13585 => '𒍍', 13586 => '𒍎', 13587 => '𒍏', 13588 => '𒍐', 13589 => '𒍑', 13590 => '𒍒', 13591 => '𒍓', 13592 => '𒍔', 13593 => '𒍕', 13594 => '𒍖', 13595 => '𒍗', 13596 => '𒍘', 13597 => '𒍙', 13598 => '𒍚', 13599 => '𒍛', 13600 => '𒍜', 13601 => '𒍝', 13602 => '𒍞', 13603 => '𒍟', 13604 => '𒍠', 13605 => '𒍡', 13606 => '𒍢', 13607 => '𒍣', 13608 => '𒍤', 13609 => '𒍥', 13610 => '𒍦', 13611 => '𒍧', 13612 => '𒍨', 13613 => '𒍩', 13614 => '𒍪', 13615 => '𒍫', 13616 => '𒍬', 13617 => '𒍭', 13618 => '𒍮', 13619 => '𓀀', 13620 => '𓀁', 13621 => '𓀂', 13622 => '𓀃', 13623 => '𓀄', 13624 => '𓀅', 13625 => '𓀆', 13626 => '𓀇', 13627 => '𓀈', 13628 => '𓀉', 13629 => '𓀊', 13630 => '𓀋', 13631 => '𓀌', 13632 => '𓀍', 13633 => '𓀎', 13634 => '𓀏', 13635 => '𓀐', 13636 => '𓀑', 13637 => '𓀒', 13638 => '𓀓', 13639 => '𓀔', 13640 => '𓀕', 13641 => '𓀖', 13642 => '𓀗', 13643 => '𓀘', 13644 => '𓀙', 13645 => '𓀚', 13646 => '𓀛', 13647 => '𓀜', 13648 => '𓀝', 13649 => '𓀞', 13650 => '𓀟', 13651 => '𓀠', 13652 => '𓀡', 13653 => '𓀢', 13654 => '𓀣', 13655 => '𓀤', 13656 => '𓀥', 13657 => '𓀦', 13658 => '𓀧', 13659 => '𓀨', 13660 => '𓀩', 13661 => '𓀪', 13662 => '𓀫', 13663 => '𓀬', 13664 => '𓀭', 13665 => '𓀮', 13666 => '𓀯', 13667 => '𓀰', 13668 => '𓀱', 13669 => '𓀲', 13670 => '𓀳', 13671 => '𓀴', 13672 => '𓀵', 13673 => '𓀶', 13674 => '𓀷', 13675 => '𓀸', 13676 => '𓀹', 13677 => '𓀺', 13678 => '𓀻', 13679 => '𓀼', 13680 => '𓀽', 13681 => '𓀾', 13682 => '𓀿', 13683 => '𓁀', 13684 => '𓁁', 13685 => '𓁂', 13686 => '𓁃', 13687 => '𓁄', 13688 => '𓁅', 13689 => '𓁆', 13690 => '𓁇', 13691 => '𓁈', 13692 => '𓁉', 13693 => '𓁊', 13694 => '𓁋', 13695 => '𓁌', 13696 => '𓁍', 13697 => '𓁎', 13698 => '𓁏', 13699 => '𓁐', 13700 => '𓁑', 13701 => '𓁒', 13702 => '𓁓', 13703 => '𓁔', 13704 => '𓁕', 13705 => '𓁖', 13706 => '𓁗', 13707 => '𓁘', 13708 => '𓁙', 13709 => '𓁚', 13710 => '𓁛', 13711 => '𓁜', 13712 => '𓁝', 13713 => '𓁞', 13714 => '𓁟', 13715 => '𓁠', 13716 => '𓁡', 13717 => '𓁢', 13718 => '𓁣', 13719 => '𓁤', 13720 => '𓁥', 13721 => '𓁦', 13722 => '𓁧', 13723 => '𓁨', 13724 => '𓁩', 13725 => '𓁪', 13726 => '𓁫', 13727 => '𓁬', 13728 => '𓁭', 13729 => '𓁮', 13730 => '𓁯', 13731 => '𓁰', 13732 => '𓁱', 13733 => '𓁲', 13734 => '𓁳', 13735 => '𓁴', 13736 => '𓁵', 13737 => '𓁶', 13738 => '𓁷', 13739 => '𓁸', 13740 => '𓁹', 13741 => '𓁺', 13742 => '𓁻', 13743 => '𓁼', 13744 => '𓁽', 13745 => '𓁾', 13746 => '𓁿', 13747 => '𓂀', 13748 => '𓂁', 13749 => '𓂂', 13750 => '𓂃', 13751 => '𓂄', 13752 => '𓂅', 13753 => '𓂆', 13754 => '𓂇', 13755 => '𓂈', 13756 => '𓂉', 13757 => '𓂊', 13758 => '𓂋', 13759 => '𓂌', 13760 => '𓂍', 13761 => '𓂎', 13762 => '𓂏', 13763 => '𓂐', 13764 => '𓂑', 13765 => '𓂒', 13766 => '𓂓', 13767 => '𓂔', 13768 => '𓂕', 13769 => '𓂖', 13770 => '𓂗', 13771 => '𓂘', 13772 => '𓂙', 13773 => '𓂚', 13774 => '𓂛', 13775 => '𓂜', 13776 => '𓂝', 13777 => '𓂞', 13778 => '𓂟', 13779 => '𓂠', 13780 => '𓂡', 13781 => '𓂢', 13782 => '𓂣', 13783 => '𓂤', 13784 => '𓂥', 13785 => '𓂦', 13786 => '𓂧', 13787 => '𓂨', 13788 => '𓂩', 13789 => '𓂪', 13790 => '𓂫', 13791 => '𓂬', 13792 => '𓂭', 13793 => '𓂮', 13794 => '𓂯', 13795 => '𓂰', 13796 => '𓂱', 13797 => '𓂲', 13798 => '𓂳', 13799 => '𓂴', 13800 => '𓂵', 13801 => '𓂶', 13802 => '𓂷', 13803 => '𓂸', 13804 => '𓂹', 13805 => '𓂺', 13806 => '𓂻', 13807 => '𓂼', 13808 => '𓂽', 13809 => '𓂾', 13810 => '𓂿', 13811 => '𓃀', 13812 => '𓃁', 13813 => '𓃂', 13814 => '𓃃', 13815 => '𓃄', 13816 => '𓃅', 13817 => '𓃆', 13818 => '𓃇', 13819 => '𓃈', 13820 => '𓃉', 13821 => '𓃊', 13822 => '𓃋', 13823 => '𓃌', 13824 => '𓃍', 13825 => '𓃎', 13826 => '𓃏', 13827 => '𓃐', 13828 => '𓃑', 13829 => '𓃒', 13830 => '𓃓', 13831 => '𓃔', 13832 => '𓃕', 13833 => '𓃖', 13834 => '𓃗', 13835 => '𓃘', 13836 => '𓃙', 13837 => '𓃚', 13838 => '𓃛', 13839 => '𓃜', 13840 => '𓃝', 13841 => '𓃞', 13842 => '𓃟', 13843 => '𓃠', 13844 => '𓃡', 13845 => '𓃢', 13846 => '𓃣', 13847 => '𓃤', 13848 => '𓃥', 13849 => '𓃦', 13850 => '𓃧', 13851 => '𓃨', 13852 => '𓃩', 13853 => '𓃪', 13854 => '𓃫', 13855 => '𓃬', 13856 => '𓃭', 13857 => '𓃮', 13858 => '𓃯', 13859 => '𓃰', 13860 => '𓃱', 13861 => '𓃲', 13862 => '𓃳', 13863 => '𓃴', 13864 => '𓃵', 13865 => '𓃶', 13866 => '𓃷', 13867 => '𓃸', 13868 => '𓃹', 13869 => '𓃺', 13870 => '𓃻', 13871 => '𓃼', 13872 => '𓃽', 13873 => '𓃾', 13874 => '𓃿', 13875 => '𓄀', 13876 => '𓄁', 13877 => '𓄂', 13878 => '𓄃', 13879 => '𓄄', 13880 => '𓄅', 13881 => '𓄆', 13882 => '𓄇', 13883 => '𓄈', 13884 => '𓄉', 13885 => '𓄊', 13886 => '𓄋', 13887 => '𓄌', 13888 => '𓄍', 13889 => '𓄎', 13890 => '𓄏', 13891 => '𓄐', 13892 => '𓄑', 13893 => '𓄒', 13894 => '𓄓', 13895 => '𓄔', 13896 => '𓄕', 13897 => '𓄖', 13898 => '𓄗', 13899 => '𓄘', 13900 => '𓄙', 13901 => '𓄚', 13902 => '𓄛', 13903 => '𓄜', 13904 => '𓄝', 13905 => '𓄞', 13906 => '𓄟', 13907 => '𓄠', 13908 => '𓄡', 13909 => '𓄢', 13910 => '𓄣', 13911 => '𓄤', 13912 => '𓄥', 13913 => '𓄦', 13914 => '𓄧', 13915 => '𓄨', 13916 => '𓄩', 13917 => '𓄪', 13918 => '𓄫', 13919 => '𓄬', 13920 => '𓄭', 13921 => '𓄮', 13922 => '𓄯', 13923 => '𓄰', 13924 => '𓄱', 13925 => '𓄲', 13926 => '𓄳', 13927 => '𓄴', 13928 => '𓄵', 13929 => '𓄶', 13930 => '𓄷', 13931 => '𓄸', 13932 => '𓄹', 13933 => '𓄺', 13934 => '𓄻', 13935 => '𓄼', 13936 => '𓄽', 13937 => '𓄾', 13938 => '𓄿', 13939 => '𓅀', 13940 => '𓅁', 13941 => '𓅂', 13942 => '𓅃', 13943 => '𓅄', 13944 => '𓅅', 13945 => '𓅆', 13946 => '𓅇', 13947 => '𓅈', 13948 => '𓅉', 13949 => '𓅊', 13950 => '𓅋', 13951 => '𓅌', 13952 => '𓅍', 13953 => '𓅎', 13954 => '𓅏', 13955 => '𓅐', 13956 => '𓅑', 13957 => '𓅒', 13958 => '𓅓', 13959 => '𓅔', 13960 => '𓅕', 13961 => '𓅖', 13962 => '𓅗', 13963 => '𓅘', 13964 => '𓅙', 13965 => '𓅚', 13966 => '𓅛', 13967 => '𓅜', 13968 => '𓅝', 13969 => '𓅞', 13970 => '𓅟', 13971 => '𓅠', 13972 => '𓅡', 13973 => '𓅢', 13974 => '𓅣', 13975 => '𓅤', 13976 => '𓅥', 13977 => '𓅦', 13978 => '𓅧', 13979 => '𓅨', 13980 => '𓅩', 13981 => '𓅪', 13982 => '𓅫', 13983 => '𓅬', 13984 => '𓅭', 13985 => '𓅮', 13986 => '𓅯', 13987 => '𓅰', 13988 => '𓅱', 13989 => '𓅲', 13990 => '𓅳', 13991 => '𓅴', 13992 => '𓅵', 13993 => '𓅶', 13994 => '𓅷', 13995 => '𓅸', 13996 => '𓅹', 13997 => '𓅺', 13998 => '𓅻', 13999 => '𓅼', 14000 => '𓅽', 14001 => '𓅾', 14002 => '𓅿', 14003 => '𓆀', 14004 => '𓆁', 14005 => '𓆂', 14006 => '𓆃', 14007 => '𓆄', 14008 => '𓆅', 14009 => '𓆆', 14010 => '𓆇', 14011 => '𓆈', 14012 => '𓆉', 14013 => '𓆊', 14014 => '𓆋', 14015 => '𓆌', 14016 => '𓆍', 14017 => '𓆎', 14018 => '𓆏', 14019 => '𓆐', 14020 => '𓆑', 14021 => '𓆒', 14022 => '𓆓', 14023 => '𓆔', 14024 => '𓆕', 14025 => '𓆖', 14026 => '𓆗', 14027 => '𓆘', 14028 => '𓆙', 14029 => '𓆚', 14030 => '𓆛', 14031 => '𓆜', 14032 => '𓆝', 14033 => '𓆞', 14034 => '𓆟', 14035 => '𓆠', 14036 => '𓆡', 14037 => '𓆢', 14038 => '𓆣', 14039 => '𓆤', 14040 => '𓆥', 14041 => '𓆦', 14042 => '𓆧', 14043 => '𓆨', 14044 => '𓆩', 14045 => '𓆪', 14046 => '𓆫', 14047 => '𓆬', 14048 => '𓆭', 14049 => '𓆮', 14050 => '𓆯', 14051 => '𓆰', 14052 => '𓆱', 14053 => '𓆲', 14054 => '𓆳', 14055 => '𓆴', 14056 => '𓆵', 14057 => '𓆶', 14058 => '𓆷', 14059 => '𓆸', 14060 => '𓆹', 14061 => '𓆺', 14062 => '𓆻', 14063 => '𓆼', 14064 => '𓆽', 14065 => '𓆾', 14066 => '𓆿', 14067 => '𓇀', 14068 => '𓇁', 14069 => '𓇂', 14070 => '𓇃', 14071 => '𓇄', 14072 => '𓇅', 14073 => '𓇆', 14074 => '𓇇', 14075 => '𓇈', 14076 => '𓇉', 14077 => '𓇊', 14078 => '𓇋', 14079 => '𓇌', 14080 => '𓇍', 14081 => '𓇎', 14082 => '𓇏', 14083 => '𓇐', 14084 => '𓇑', 14085 => '𓇒', 14086 => '𓇓', 14087 => '𓇔', 14088 => '𓇕', 14089 => '𓇖', 14090 => '𓇗', 14091 => '𓇘', 14092 => '𓇙', 14093 => '𓇚', 14094 => '𓇛', 14095 => '𓇜', 14096 => '𓇝', 14097 => '𓇞', 14098 => '𓇟', 14099 => '𓇠', 14100 => '𓇡', 14101 => '𓇢', 14102 => '𓇣', 14103 => '𓇤', 14104 => '𓇥', 14105 => '𓇦', 14106 => '𓇧', 14107 => '𓇨', 14108 => '𓇩', 14109 => '𓇪', 14110 => '𓇫', 14111 => '𓇬', 14112 => '𓇭', 14113 => '𓇮', 14114 => '𓇯', 14115 => '𓇰', 14116 => '𓇱', 14117 => '𓇲', 14118 => '𓇳', 14119 => '𓇴', 14120 => '𓇵', 14121 => '𓇶', 14122 => '𓇷', 14123 => '𓇸', 14124 => '𓇹', 14125 => '𓇺', 14126 => '𓇻', 14127 => '𓇼', 14128 => '𓇽', 14129 => '𓇾', 14130 => '𓇿', 14131 => '𓈀', 14132 => '𓈁', 14133 => '𓈂', 14134 => '𓈃', 14135 => '𓈄', 14136 => '𓈅', 14137 => '𓈆', 14138 => '𓈇', 14139 => '𓈈', 14140 => '𓈉', 14141 => '𓈊', 14142 => '𓈋', 14143 => '𓈌', 14144 => '𓈍', 14145 => '𓈎', 14146 => '𓈏', 14147 => '𓈐', 14148 => '𓈑', 14149 => '𓈒', 14150 => '𓈓', 14151 => '𓈔', 14152 => '𓈕', 14153 => '𓈖', 14154 => '𓈗', 14155 => '𓈘', 14156 => '𓈙', 14157 => '𓈚', 14158 => '𓈛', 14159 => '𓈜', 14160 => '𓈝', 14161 => '𓈞', 14162 => '𓈟', 14163 => '𓈠', 14164 => '𓈡', 14165 => '𓈢', 14166 => '𓈣', 14167 => '𓈤', 14168 => '𓈥', 14169 => '𓈦', 14170 => '𓈧', 14171 => '𓈨', 14172 => '𓈩', 14173 => '𓈪', 14174 => '𓈫', 14175 => '𓈬', 14176 => '𓈭', 14177 => '𓈮', 14178 => '𓈯', 14179 => '𓈰', 14180 => '𓈱', 14181 => '𓈲', 14182 => '𓈳', 14183 => '𓈴', 14184 => '𓈵', 14185 => '𓈶', 14186 => '𓈷', 14187 => '𓈸', 14188 => '𓈹', 14189 => '𓈺', 14190 => '𓈻', 14191 => '𓈼', 14192 => '𓈽', 14193 => '𓈾', 14194 => '𓈿', 14195 => '𓉀', 14196 => '𓉁', 14197 => '𓉂', 14198 => '𓉃', 14199 => '𓉄', 14200 => '𓉅', 14201 => '𓉆', 14202 => '𓉇', 14203 => '𓉈', 14204 => '𓉉', 14205 => '𓉊', 14206 => '𓉋', 14207 => '𓉌', 14208 => '𓉍', 14209 => '𓉎', 14210 => '𓉏', 14211 => '𓉐', 14212 => '𓉑', 14213 => '𓉒', 14214 => '𓉓', 14215 => '𓉔', 14216 => '𓉕', 14217 => '𓉖', 14218 => '𓉗', 14219 => '𓉘', 14220 => '𓉙', 14221 => '𓉚', 14222 => '𓉛', 14223 => '𓉜', 14224 => '𓉝', 14225 => '𓉞', 14226 => '𓉟', 14227 => '𓉠', 14228 => '𓉡', 14229 => '𓉢', 14230 => '𓉣', 14231 => '𓉤', 14232 => '𓉥', 14233 => '𓉦', 14234 => '𓉧', 14235 => '𓉨', 14236 => '𓉩', 14237 => '𓉪', 14238 => '𓉫', 14239 => '𓉬', 14240 => '𓉭', 14241 => '𓉮', 14242 => '𓉯', 14243 => '𓉰', 14244 => '𓉱', 14245 => '𓉲', 14246 => '𓉳', 14247 => '𓉴', 14248 => '𓉵', 14249 => '𓉶', 14250 => '𓉷', 14251 => '𓉸', 14252 => '𓉹', 14253 => '𓉺', 14254 => '𓉻', 14255 => '𓉼', 14256 => '𓉽', 14257 => '𓉾', 14258 => '𓉿', 14259 => '𓊀', 14260 => '𓊁', 14261 => '𓊂', 14262 => '𓊃', 14263 => '𓊄', 14264 => '𓊅', 14265 => '𓊆', 14266 => '𓊇', 14267 => '𓊈', 14268 => '𓊉', 14269 => '𓊊', 14270 => '𓊋', 14271 => '𓊌', 14272 => '𓊍', 14273 => '𓊎', 14274 => '𓊏', 14275 => '𓊐', 14276 => '𓊑', 14277 => '𓊒', 14278 => '𓊓', 14279 => '𓊔', 14280 => '𓊕', 14281 => '𓊖', 14282 => '𓊗', 14283 => '𓊘', 14284 => '𓊙', 14285 => '𓊚', 14286 => '𓊛', 14287 => '𓊜', 14288 => '𓊝', 14289 => '𓊞', 14290 => '𓊟', 14291 => '𓊠', 14292 => '𓊡', 14293 => '𓊢', 14294 => '𓊣', 14295 => '𓊤', 14296 => '𓊥', 14297 => '𓊦', 14298 => '𓊧', 14299 => '𓊨', 14300 => '𓊩', 14301 => '𓊪', 14302 => '𓊫', 14303 => '𓊬', 14304 => '𓊭', 14305 => '𓊮', 14306 => '𓊯', 14307 => '𓊰', 14308 => '𓊱', 14309 => '𓊲', 14310 => '𓊳', 14311 => '𓊴', 14312 => '𓊵', 14313 => '𓊶', 14314 => '𓊷', 14315 => '𓊸', 14316 => '𓊹', 14317 => '𓊺', 14318 => '𓊻', 14319 => '𓊼', 14320 => '𓊽', 14321 => '𓊾', 14322 => '𓊿', 14323 => '𓋀', 14324 => '𓋁', 14325 => '𓋂', 14326 => '𓋃', 14327 => '𓋄', 14328 => '𓋅', 14329 => '𓋆', 14330 => '𓋇', 14331 => '𓋈', 14332 => '𓋉', 14333 => '𓋊', 14334 => '𓋋', 14335 => '𓋌', 14336 => '𓋍', 14337 => '𓋎', 14338 => '𓋏', 14339 => '𓋐', 14340 => '𓋑', 14341 => '𓋒', 14342 => '𓋓', 14343 => '𓋔', 14344 => '𓋕', 14345 => '𓋖', 14346 => '𓋗', 14347 => '𓋘', 14348 => '𓋙', 14349 => '𓋚', 14350 => '𓋛', 14351 => '𓋜', 14352 => '𓋝', 14353 => '𓋞', 14354 => '𓋟', 14355 => '𓋠', 14356 => '𓋡', 14357 => '𓋢', 14358 => '𓋣', 14359 => '𓋤', 14360 => '𓋥', 14361 => '𓋦', 14362 => '𓋧', 14363 => '𓋨', 14364 => '𓋩', 14365 => '𓋪', 14366 => '𓋫', 14367 => '𓋬', 14368 => '𓋭', 14369 => '𓋮', 14370 => '𓋯', 14371 => '𓋰', 14372 => '𓋱', 14373 => '𓋲', 14374 => '𓋳', 14375 => '𓋴', 14376 => '𓋵', 14377 => '𓋶', 14378 => '𓋷', 14379 => '𓋸', 14380 => '𓋹', 14381 => '𓋺', 14382 => '𓋻', 14383 => '𓋼', 14384 => '𓋽', 14385 => '𓋾', 14386 => '𓋿', 14387 => '𓌀', 14388 => '𓌁', 14389 => '𓌂', 14390 => '𓌃', 14391 => '𓌄', 14392 => '𓌅', 14393 => '𓌆', 14394 => '𓌇', 14395 => '𓌈', 14396 => '𓌉', 14397 => '𓌊', 14398 => '𓌋', 14399 => '𓌌', 14400 => '𓌍', 14401 => '𓌎', 14402 => '𓌏', 14403 => '𓌐', 14404 => '𓌑', 14405 => '𓌒', 14406 => '𓌓', 14407 => '𓌔', 14408 => '𓌕', 14409 => '𓌖', 14410 => '𓌗', 14411 => '𓌘', 14412 => '𓌙', 14413 => '𓌚', 14414 => '𓌛', 14415 => '𓌜', 14416 => '𓌝', 14417 => '𓌞', 14418 => '𓌟', 14419 => '𓌠', 14420 => '𓌡', 14421 => '𓌢', 14422 => '𓌣', 14423 => '𓌤', 14424 => '𓌥', 14425 => '𓌦', 14426 => '𓌧', 14427 => '𓌨', 14428 => '𓌩', 14429 => '𓌪', 14430 => '𓌫', 14431 => '𓌬', 14432 => '𓌭', 14433 => '𓌮', 14434 => '𓌯', 14435 => '𓌰', 14436 => '𓌱', 14437 => '𓌲', 14438 => '𓌳', 14439 => '𓌴', 14440 => '𓌵', 14441 => '𓌶', 14442 => '𓌷', 14443 => '𓌸', 14444 => '𓌹', 14445 => '𓌺', 14446 => '𓌻', 14447 => '𓌼', 14448 => '𓌽', 14449 => '𓌾', 14450 => '𓌿', 14451 => '𓍀', 14452 => '𓍁', 14453 => '𓍂', 14454 => '𓍃', 14455 => '𓍄', 14456 => '𓍅', 14457 => '𓍆', 14458 => '𓍇', 14459 => '𓍈', 14460 => '𓍉', 14461 => '𓍊', 14462 => '𓍋', 14463 => '𓍌', 14464 => '𓍍', 14465 => '𓍎', 14466 => '𓍏', 14467 => '𓍐', 14468 => '𓍑', 14469 => '𓍒', 14470 => '𓍓', 14471 => '𓍔', 14472 => '𓍕', 14473 => '𓍖', 14474 => '𓍗', 14475 => '𓍘', 14476 => '𓍙', 14477 => '𓍚', 14478 => '𓍛', 14479 => '𓍜', 14480 => '𓍝', 14481 => '𓍞', 14482 => '𓍟', 14483 => '𓍠', 14484 => '𓍡', 14485 => '𓍢', 14486 => '𓍣', 14487 => '𓍤', 14488 => '𓍥', 14489 => '𓍦', 14490 => '𓍧', 14491 => '𓍨', 14492 => '𓍩', 14493 => '𓍪', 14494 => '𓍫', 14495 => '𓍬', 14496 => '𓍭', 14497 => '𓍮', 14498 => '𓍯', 14499 => '𓍰', 14500 => '𓍱', 14501 => '𓍲', 14502 => '𓍳', 14503 => '𓍴', 14504 => '𓍵', 14505 => '𓍶', 14506 => '𓍷', 14507 => '𓍸', 14508 => '𓍹', 14509 => '𓍺', 14510 => '𓍻', 14511 => '𓍼', 14512 => '𓍽', 14513 => '𓍾', 14514 => '𓍿', 14515 => '𓎀', 14516 => '𓎁', 14517 => '𓎂', 14518 => '𓎃', 14519 => '𓎄', 14520 => '𓎅', 14521 => '𓎆', 14522 => '𓎇', 14523 => '𓎈', 14524 => '𓎉', 14525 => '𓎊', 14526 => '𓎋', 14527 => '𓎌', 14528 => '𓎍', 14529 => '𓎎', 14530 => '𓎏', 14531 => '𓎐', 14532 => '𓎑', 14533 => '𓎒', 14534 => '𓎓', 14535 => '𓎔', 14536 => '𓎕', 14537 => '𓎖', 14538 => '𓎗', 14539 => '𓎘', 14540 => '𓎙', 14541 => '𓎚', 14542 => '𓎛', 14543 => '𓎜', 14544 => '𓎝', 14545 => '𓎞', 14546 => '𓎟', 14547 => '𓎠', 14548 => '𓎡', 14549 => '𓎢', 14550 => '𓎣', 14551 => '𓎤', 14552 => '𓎥', 14553 => '𓎦', 14554 => '𓎧', 14555 => '𓎨', 14556 => '𓎩', 14557 => '𓎪', 14558 => '𓎫', 14559 => '𓎬', 14560 => '𓎭', 14561 => '𓎮', 14562 => '𓎯', 14563 => '𓎰', 14564 => '𓎱', 14565 => '𓎲', 14566 => '𓎳', 14567 => '𓎴', 14568 => '𓎵', 14569 => '𓎶', 14570 => '𓎷', 14571 => '𓎸', 14572 => '𓎹', 14573 => '𓎺', 14574 => '𓎻', 14575 => '𓎼', 14576 => '𓎽', 14577 => '𓎾', 14578 => '𓎿', 14579 => '𓏀', 14580 => '𓏁', 14581 => '𓏂', 14582 => '𓏃', 14583 => '𓏄', 14584 => '𓏅', 14585 => '𓏆', 14586 => '𓏇', 14587 => '𓏈', 14588 => '𓏉', 14589 => '𓏊', 14590 => '𓏋', 14591 => '𓏌', 14592 => '𓏍', 14593 => '𓏎', 14594 => '𓏏', 14595 => '𓏐', 14596 => '𓏑', 14597 => '𓏒', 14598 => '𓏓', 14599 => '𓏔', 14600 => '𓏕', 14601 => '𓏖', 14602 => '𓏗', 14603 => '𓏘', 14604 => '𓏙', 14605 => '𓏚', 14606 => '𓏛', 14607 => '𓏜', 14608 => '𓏝', 14609 => '𓏞', 14610 => '𓏟', 14611 => '𓏠', 14612 => '𓏡', 14613 => '𓏢', 14614 => '𓏣', 14615 => '𓏤', 14616 => '𓏥', 14617 => '𓏦', 14618 => '𓏧', 14619 => '𓏨', 14620 => '𓏩', 14621 => '𓏪', 14622 => '𓏫', 14623 => '𓏬', 14624 => '𓏭', 14625 => '𓏮', 14626 => '𓏯', 14627 => '𓏰', 14628 => '𓏱', 14629 => '𓏲', 14630 => '𓏳', 14631 => '𓏴', 14632 => '𓏵', 14633 => '𓏶', 14634 => '𓏷', 14635 => '𓏸', 14636 => '𓏹', 14637 => '𓏺', 14638 => '𓏻', 14639 => '𓏼', 14640 => '𓏽', 14641 => '𓏾', 14642 => '𓏿', 14643 => '𓐀', 14644 => '𓐁', 14645 => '𓐂', 14646 => '𓐃', 14647 => '𓐄', 14648 => '𓐅', 14649 => '𓐆', 14650 => '𓐇', 14651 => '𓐈', 14652 => '𓐉', 14653 => '𓐊', 14654 => '𓐋', 14655 => '𓐌', 14656 => '𓐍', 14657 => '𓐎', 14658 => '𓐏', 14659 => '𓐐', 14660 => '𓐑', 14661 => '𓐒', 14662 => '𓐓', 14663 => '𓐔', 14664 => '𓐕', 14665 => '𓐖', 14666 => '𓐗', 14667 => '𓐘', 14668 => '𓐙', 14669 => '𓐚', 14670 => '𓐛', 14671 => '𓐜', 14672 => '𓐝', 14673 => '𓐞', 14674 => '𓐟', 14675 => '𓐠', 14676 => '𓐡', 14677 => '𓐢', 14678 => '𓐣', 14679 => '𓐤', 14680 => '𓐥', 14681 => '𓐦', 14682 => '𓐧', 14683 => '𓐨', 14684 => '𓐩', 14685 => '𓐪', 14686 => '𓐫', 14687 => '𓐬', 14688 => '𓐭', 14689 => '𓐮', 14690 => '㆒', 14691 => '㆜', 14692 => '㆔', 14693 => '㆖', 14694 => '㆘', 14695 => '㆛', 14696 => '㆗', 14697 => '㆚', 14698 => '㆓', 14699 => '🈘', 14700 => '㆟', 14701 => '🈞', 14702 => '🈠', 14703 => '🈜', 14704 => '🈹', 14705 => '🈒', 14706 => '🉑', 14707 => '🈮', 14708 => '🈴', 14709 => '🈥', 14710 => '🈺', 14711 => '㆕', 14712 => '㆞', 14713 => '🈤', 14714 => '🈕', 14715 => '㆝', 14716 => '🈑', 14717 => '🈬', 14718 => '🈝', 14719 => '🉐', 14720 => '🈐', 14721 => '🈱', 14722 => '🈧', 14723 => '🈯', 14724 => '🈨', 14725 => '🈛', 14726 => '🈟', 14727 => '🈙', 14728 => '🈷', 14729 => '🈶', 14730 => '🈵', 14731 => '🈦', 14732 => '🈚', 14733 => '🈢', 14734 => '㆙', 14735 => '🈸', 14736 => '🈲', 14737 => '🈳', 14738 => '🈡', 14739 => '🈖', 14740 => '🈣', 14741 => '🈰', 14742 => '🈫',]
$source