MediaWiki 1.43.1
User.php
Go to the documentation of this file.
1<?php
23namespace MediaWiki\User;
24
25use AllowDynamicProperties;
26use ArrayIterator;
27use BadMethodCallException;
28use InvalidArgumentException;
29use MailAddress;
36use MediaWiki\DAO\WikiAwareEntityTrait;
37use MediaWiki\HookContainer\ProtectedHookAccessorTrait;
56use MWCryptHash;
57use MWCryptRand;
59use RuntimeException;
60use stdClass;
61use Stringable;
62use UnexpectedValueException;
63use Wikimedia\Assert\Assert;
64use Wikimedia\Assert\PreconditionException;
65use Wikimedia\DebugInfo\DebugInfoTrait;
66use Wikimedia\IPUtils;
75use Wikimedia\ScopedCallback;
76use Wikimedia\Timestamp\ConvertibleTimestamp;
77
93#[AllowDynamicProperties]
94class User implements Stringable, Authority, UserIdentity, UserEmailContact {
95 use DebugInfoTrait;
96 use ProtectedHookAccessorTrait;
97 use WikiAwareEntityTrait;
98
102 public const READ_EXCLUSIVE = IDBAccessObject::READ_EXCLUSIVE;
103
107 public const READ_LOCKING = IDBAccessObject::READ_LOCKING;
108
112 public const TOKEN_LENGTH = 32;
113
117 public const INVALID_TOKEN = '*** INVALID ***';
118
123 private const VERSION = 17;
124
129 public const MAINTENANCE_SCRIPT_USER = 'Maintenance script';
130
138 protected static $mCacheVars = [
139 // user table
140 'mId',
141 'mName',
142 'mRealName',
143 'mEmail',
144 'mTouched',
145 'mToken',
146 'mEmailAuthenticated',
147 'mEmailToken',
148 'mEmailTokenExpires',
149 'mRegistration',
150 // actor table
151 'mActorId',
152 ];
153
155 // Some of these are public, including for use by the UserFactory, but they generally
156 // should not be set manually
157 // @{
159 public $mId;
161 public $mName;
167 public $mActorId;
170
172 public $mEmail;
174 public $mTouched;
176 protected $mQuickTouched;
178 protected $mToken;
182 protected $mEmailToken;
186 protected $mRegistration;
187 // @}
188
189 // @{
193 protected $mLoadedItems = [];
194 // @}
195
206 public $mFrom;
207
214 protected $mHash;
216 protected $mGlobalBlock;
218 protected $mLocked;
219
221 private $mRequest;
222
224 protected $queryFlagsUsed = IDBAccessObject::READ_NORMAL;
225
230 private $mThisAsAuthority;
231
233 private $isTemp;
234
250 public function __construct() {
251 $this->clearInstanceCache( 'defaults' );
252 }
253
260 public function getWikiId() {
261 return self::LOCAL;
262 }
263
267 public function __toString() {
268 return $this->getName();
269 }
270
271 public function &__get( $name ) {
272 // A shortcut for $mRights deprecation phase
273 if ( $name === 'mRights' ) {
274 // hard deprecated since 1.40
275 wfDeprecated( 'User::$mRights', '1.34' );
277 ->getPermissionManager()
278 ->getUserPermissions( $this );
279 return $copy;
280 } elseif ( !property_exists( $this, $name ) ) {
281 // T227688 - do not break $u->foo['bar'] = 1
282 wfLogWarning( 'tried to get non-existent property' );
283 $this->$name = null;
284 return $this->$name;
285 } else {
286 wfLogWarning( 'tried to get non-visible property' );
287 $null = null;
288 return $null;
289 }
290 }
291
292 public function __set( $name, $value ) {
293 // A shortcut for $mRights deprecation phase, only known legitimate use was for
294 // testing purposes, other uses seem bad in principle
295 if ( $name === 'mRights' ) {
296 // hard deprecated since 1.40
297 wfDeprecated( 'User::$mRights', '1.34' );
298 MediaWikiServices::getInstance()->getPermissionManager()->overrideUserRightsForTesting(
299 $this,
300 $value ?? []
301 );
302 } elseif ( !property_exists( $this, $name ) ) {
303 $this->$name = $value;
304 } else {
305 wfLogWarning( 'tried to set non-visible property' );
306 }
307 }
308
309 public function __sleep(): array {
310 return array_diff(
311 array_keys( get_object_vars( $this ) ),
312 [
313 'mThisAsAuthority' // memoization, will be recreated on demand.
314 ]
315 );
316 }
317
332 public function isSafeToLoad() {
333 global $wgFullyInitialised;
334
335 // The user is safe to load if:
336 // * MW_NO_SESSION is undefined AND $wgFullyInitialised is true (safe to use session data)
337 // * mLoadedItems === true (already loaded)
338 // * mFrom !== 'session' (sessions not involved at all)
339
340 return ( !defined( 'MW_NO_SESSION' ) && $wgFullyInitialised ) ||
341 $this->mLoadedItems === true || $this->mFrom !== 'session';
342 }
343
349 public function load( $flags = IDBAccessObject::READ_NORMAL ) {
350 global $wgFullyInitialised;
351
352 if ( $this->mLoadedItems === true ) {
353 return;
354 }
355
356 // Set it now to avoid infinite recursion in accessors
357 $oldLoadedItems = $this->mLoadedItems;
358 $this->mLoadedItems = true;
359 $this->queryFlagsUsed = $flags;
360
361 // If this is called too early, things are likely to break.
362 if ( !$wgFullyInitialised && $this->mFrom === 'session' ) {
363 LoggerFactory::getInstance( 'session' )
364 ->warning( 'User::loadFromSession called before the end of Setup.php', [
365 'exception' => new RuntimeException(
366 'User::loadFromSession called before the end of Setup.php'
367 ),
368 ] );
369 $this->loadDefaults();
370 $this->mLoadedItems = $oldLoadedItems;
371 return;
372 } elseif ( $this->mFrom === 'session'
373 && defined( 'MW_NO_SESSION' ) && MW_NO_SESSION !== 'warn'
374 ) {
375 // Even though we are throwing an exception, make sure the User object is left in a
376 // clean state as sometimes these exceptions are caught and the object accessed again.
377 $this->loadDefaults();
378 $this->mLoadedItems = $oldLoadedItems;
379 $ep = defined( 'MW_ENTRY_POINT' ) ? MW_ENTRY_POINT : 'this';
380 throw new BadMethodCallException( "Sessions are disabled for $ep entry point" );
381 }
382
383 switch ( $this->mFrom ) {
384 case 'defaults':
385 $this->loadDefaults();
386 break;
387 case 'id':
388 // Make sure this thread sees its own changes, if the ID isn't 0
389 if ( $this->mId != 0 ) {
390 $lb = MediaWikiServices::getInstance()->getDBLoadBalancer();
391 if ( $lb->hasOrMadeRecentPrimaryChanges() ) {
392 $flags |= IDBAccessObject::READ_LATEST;
393 $this->queryFlagsUsed = $flags;
394 }
395 }
396
397 $this->loadFromId( $flags );
398 break;
399 case 'actor':
400 case 'name':
401 // Make sure this thread sees its own changes
402 $lb = MediaWikiServices::getInstance()->getDBLoadBalancer();
403 if ( $lb->hasOrMadeRecentPrimaryChanges() ) {
404 $flags |= IDBAccessObject::READ_LATEST;
405 $this->queryFlagsUsed = $flags;
406 }
407
408 $dbr = DBAccessObjectUtils::getDBFromRecency(
409 MediaWikiServices::getInstance()->getDBLoadBalancerFactory(),
410 $flags
411 );
412 $queryBuilder = $dbr->newSelectQueryBuilder()
413 ->select( [ 'actor_id', 'actor_user', 'actor_name' ] )
414 ->from( 'actor' )
415 ->recency( $flags );
416 if ( $this->mFrom === 'name' ) {
417 // make sure to use normalized form of IP for anonymous users
418 $queryBuilder->where( [ 'actor_name' => IPUtils::sanitizeIP( $this->mName ) ] );
419 } else {
420 $queryBuilder->where( [ 'actor_id' => $this->mActorId ] );
421 }
422 $row = $queryBuilder->caller( __METHOD__ )->fetchRow();
423
424 if ( !$row ) {
425 // Ugh.
426 $this->loadDefaults( $this->mFrom === 'name' ? $this->mName : false );
427 } elseif ( $row->actor_user ) {
428 $this->mId = $row->actor_user;
429 $this->loadFromId( $flags );
430 } else {
431 $this->loadDefaults( $row->actor_name, $row->actor_id );
432 }
433 break;
434 case 'session':
435 if ( !$this->loadFromSession() ) {
436 // Loading from session failed. Load defaults.
437 $this->loadDefaults();
438 }
439 $this->getHookRunner()->onUserLoadAfterLoadFromSession( $this );
440 break;
441 default:
442 throw new UnexpectedValueException(
443 "Unrecognised value for User->mFrom: \"{$this->mFrom}\"" );
444 }
445 }
446
452 public function loadFromId( $flags = IDBAccessObject::READ_NORMAL ) {
453 if ( $this->mId == 0 ) {
454 // Anonymous users are not in the database (don't need cache)
455 $this->loadDefaults();
456 return false;
457 }
458
459 // Try cache (unless this needs data from the primary DB).
460 // NOTE: if this thread called saveSettings(), the cache was cleared.
461 $latest = DBAccessObjectUtils::hasFlags( $flags, IDBAccessObject::READ_LATEST );
462 if ( $latest ) {
463 if ( !$this->loadFromDatabase( $flags ) ) {
464 // Can't load from ID
465 return false;
466 }
467 } else {
468 $this->loadFromCache();
469 }
470
471 $this->mLoadedItems = true;
472 $this->queryFlagsUsed = $flags;
473
474 return true;
475 }
476
482 public static function purge( $dbDomain, $userId ) {
483 $cache = MediaWikiServices::getInstance()->getMainWANObjectCache();
484 $key = $cache->makeGlobalKey( 'user', 'id', $dbDomain, $userId );
485 $cache->delete( $key );
486 }
487
493 protected function getCacheKey( WANObjectCache $cache ) {
494 $lbFactory = MediaWikiServices::getInstance()->getDBLoadBalancerFactory();
495
496 return $cache->makeGlobalKey( 'user', 'id',
497 $lbFactory->getLocalDomainID(), $this->mId );
498 }
499
506 protected function loadFromCache() {
507 global $wgFullyInitialised;
508
509 $cache = MediaWikiServices::getInstance()->getMainWANObjectCache();
510 $data = $cache->getWithSetCallback(
511 $this->getCacheKey( $cache ),
512 $cache::TTL_HOUR,
513 function ( $oldValue, &$ttl, array &$setOpts ) use ( $cache, $wgFullyInitialised ) {
515 MediaWikiServices::getInstance()->getConnectionProvider()->getReplicaDatabase()
516 );
517 wfDebug( "User: cache miss for user {$this->mId}" );
518
519 $this->loadFromDatabase( IDBAccessObject::READ_NORMAL );
520
521 $data = [];
522 foreach ( self::$mCacheVars as $name ) {
523 $data[$name] = $this->$name;
524 }
525
526 $ttl = $cache->adaptiveTTL(
527 (int)wfTimestamp( TS_UNIX, $this->mTouched ),
528 $ttl
529 );
530
531 if ( $wgFullyInitialised ) {
532 $groupMemberships = MediaWikiServices::getInstance()
533 ->getUserGroupManager()
534 ->getUserGroupMemberships( $this, $this->queryFlagsUsed );
535
536 // if a user group membership is about to expire, the cache needs to
537 // expire at that time (T163691)
538 foreach ( $groupMemberships as $ugm ) {
539 if ( $ugm->getExpiry() ) {
540 $secondsUntilExpiry =
541 (int)wfTimestamp( TS_UNIX, $ugm->getExpiry() ) - time();
542
543 if ( $secondsUntilExpiry > 0 && $secondsUntilExpiry < $ttl ) {
544 $ttl = $secondsUntilExpiry;
545 }
546 }
547 }
548 }
549
550 return $data;
551 },
552 [ 'pcTTL' => $cache::TTL_PROC_LONG, 'version' => self::VERSION ]
553 );
554
555 // Restore from cache
556 foreach ( self::$mCacheVars as $name ) {
557 $this->$name = $data[$name];
558 }
559
560 return true;
561 }
562
563 /***************************************************************************/
564 // region newFrom*() static factory methods
590 public static function newFromName( $name, $validate = 'valid' ) {
591 // Backwards compatibility with strings / false
592 $validationLevels = [
596 ];
597 if ( $validate === true ) {
598 $validate = 'valid';
599 }
600 if ( $validate === false ) {
601 $validation = UserRigorOptions::RIGOR_NONE;
602 } elseif ( array_key_exists( $validate, $validationLevels ) ) {
603 $validation = $validationLevels[ $validate ];
604 } else {
605 // Not a recognized value, probably a test for unsupported validation
606 // levels, regardless, just pass it along
607 $validation = $validate;
608 }
609
610 return MediaWikiServices::getInstance()->getUserFactory()
611 ->newFromName( (string)$name, $validation ) ?? false;
612 }
613
624 public static function newFromId( $id ) {
626 ->getUserFactory()
627 ->newFromId( (int)$id );
628 }
629
641 public static function newFromActorId( $id ) {
643 ->getUserFactory()
644 ->newFromActorId( (int)$id );
645 }
646
660 public static function newFromIdentity( UserIdentity $identity ) {
661 // Don't use the service if we already have a User object,
662 // so that User::newFromIdentity calls don't break things in unit tests.
663 if ( $identity instanceof User ) {
664 return $identity;
665 }
666
668 ->getUserFactory()
669 ->newFromUserIdentity( $identity );
670 }
671
690 public static function newFromAnyId( $userId, $userName, $actorId, $dbDomain = false ) {
692 ->getUserFactory()
693 ->newFromAnyId( $userId, $userName, $actorId, $dbDomain );
694 }
695
711 public static function newFromConfirmationCode( $code, $flags = IDBAccessObject::READ_NORMAL ) {
713 ->getUserFactory()
714 ->newFromConfirmationCode( (string)$code, $flags );
715 }
716
724 public static function newFromSession( ?WebRequest $request = null ) {
725 $user = new User;
726 $user->mFrom = 'session';
727 $user->mRequest = $request;
728 return $user;
729 }
730
746 public static function newFromRow( $row, $data = null ) {
747 $user = new User;
748 $user->loadFromRow( $row, $data );
749 return $user;
750 }
751
796 public static function newSystemUser( $name, $options = [] ) {
797 $options += [
798 'validate' => UserRigorOptions::RIGOR_VALID,
799 'create' => true,
800 'steal' => false,
801 ];
802
803 // Username validation
804 // Backwards compatibility with strings / false
805 $validationLevels = [
809 ];
810 $validate = $options['validate'];
811
812 // @phan-suppress-next-line PhanSuspiciousValueComparison
813 if ( $validate === false ) {
814 $validation = UserRigorOptions::RIGOR_NONE;
815 } elseif ( array_key_exists( $validate, $validationLevels ) ) {
816 $validation = $validationLevels[ $validate ];
817 } else {
818 // Not a recognized value, probably a test for unsupported validation
819 // levels, regardless, just pass it along
820 $validation = $validate;
821 }
822
823 if ( $validation !== UserRigorOptions::RIGOR_VALID ) {
825 __METHOD__ . ' options["validation"] parameter must be omitted or set to "valid".',
826 '1.36'
827 );
828 }
829 $services = MediaWikiServices::getInstance();
830 $userNameUtils = $services->getUserNameUtils();
831
832 $name = $userNameUtils->getCanonical( (string)$name, $validation );
833 if ( $name === false ) {
834 return null;
835 }
836
837 $dbProvider = $services->getDBLoadBalancerFactory();
838 $dbr = $dbProvider->getReplicaDatabase();
839
840 $userQuery = self::newQueryBuilder( $dbr )
841 ->where( [ 'user_name' => $name ] )
842 ->caller( __METHOD__ );
843 $row = $userQuery->fetchRow();
844 if ( !$row ) {
845 // Try the primary database
846 $userQuery->connection( $dbProvider->getPrimaryDatabase() );
847 // Lock the row to prevent insertNewUser() returning null due to race conditions
848 $userQuery->forUpdate();
849 $row = $userQuery->fetchRow();
850 }
851
852 if ( !$row ) {
853 // No user. Create it?
854 // @phan-suppress-next-line PhanImpossibleCondition
855 if ( !$options['create'] ) {
856 // No.
857 return null;
858 }
859
860 // If it's a reserved user that had an anonymous actor created for it at
861 // some point, we need special handling.
862 return self::insertNewUser( static function ( UserIdentity $actor, IDatabase $dbw ) {
863 return MediaWikiServices::getInstance()->getActorStore()
864 ->acquireSystemActorId( $actor, $dbw );
865 }, $name, [ 'token' => self::INVALID_TOKEN ] );
866 }
867
868 $user = self::newFromRow( $row );
869
870 if ( !$user->isSystemUser() ) {
871 // User exists. Steal it?
872 // @phan-suppress-next-line PhanRedundantCondition
873 if ( !$options['steal'] ) {
874 return null;
875 }
876
877 $services->getAuthManager()->revokeAccessForUser( $name );
878
879 $user->invalidateEmail();
880 $user->mToken = self::INVALID_TOKEN;
881 $user->saveSettings();
882 SessionManager::singleton()->preventSessionsForUser( $user->getName() );
883 }
884
885 return $user;
886 }
887
889 // endregion -- end of newFrom*() static factory methods
890
897 public static function whoIs( $id ) {
898 return MediaWikiServices::getInstance()->getUserCache()
899 ->getProp( $id, 'name' );
900 }
901
909 public static function whoIsReal( $id ) {
910 return MediaWikiServices::getInstance()->getUserCache()
911 ->getProp( $id, 'real_name' );
912 }
913
924 public static function findUsersByGroup( $groups, $limit = 5000, $after = null ) {
925 if ( $groups === [] ) {
927 }
928 $dbr = MediaWikiServices::getInstance()->getConnectionProvider()->getReplicaDatabase();
929 $queryBuilder = $dbr->newSelectQueryBuilder()
930 ->select( 'ug_user' )
931 ->distinct()
932 ->from( 'user_groups' )
933 ->where( [ 'ug_group' => array_unique( (array)$groups ) ] )
934 ->orderBy( 'ug_user' )
935 ->limit( min( 5000, $limit ) );
936
937 if ( $after !== null ) {
938 $queryBuilder->andWhere( $dbr->expr( 'ug_user', '>', (int)$after ) );
939 }
940
941 $ids = $queryBuilder->caller( __METHOD__ )->fetchFieldValues() ?: [];
942 return UserArray::newFromIDs( $ids );
943 }
944
951 public function isValidPassword( $password ) {
952 // simple boolean wrapper for checkPasswordValidity
953 return $this->checkPasswordValidity( $password )->isGood();
954 }
955
977 public function checkPasswordValidity( $password ) {
978 $passwordPolicy = MediaWikiServices::getInstance()->getMainConfig()
980
981 $upp = new UserPasswordPolicy(
982 $passwordPolicy['policies'],
983 $passwordPolicy['checks']
984 );
985
986 $status = Status::newGood( [] );
987 $result = false; // init $result to false for the internal checks
988
989 if ( !$this->getHookRunner()->onIsValidPassword( $password, $result, $this ) ) {
990 $status->error( $result );
991 return $status;
992 }
993
994 if ( $result === false ) {
995 $status->merge( $upp->checkUserPassword( $this, $password ), true );
996 return $status;
997 }
998
999 if ( $result === true ) {
1000 return $status;
1001 }
1002
1003 $status->error( $result );
1004 return $status; // the isValidPassword hook set a string $result and returned true
1005 }
1006
1016 public function loadDefaults( $name = false, $actorId = null ) {
1017 $this->mId = 0;
1018 $this->mName = $name;
1019 $this->mActorId = $actorId;
1020 $this->mRealName = '';
1021 $this->mEmail = '';
1022 $this->isTemp = null;
1023
1024 $loggedOut = $this->mRequest && !defined( 'MW_NO_SESSION' )
1025 ? $this->mRequest->getSession()->getLoggedOutTimestamp() : 0;
1026 if ( $loggedOut !== 0 ) {
1027 $this->mTouched = wfTimestamp( TS_MW, $loggedOut );
1028 } else {
1029 $this->mTouched = '1'; # Allow any pages to be cached
1030 }
1031
1032 $this->mToken = null; // Don't run cryptographic functions till we need a token
1033 $this->mEmailAuthenticated = null;
1034 $this->mEmailToken = '';
1035 $this->mEmailTokenExpires = null;
1036 $this->mRegistration = wfTimestamp( TS_MW );
1037
1038 $this->getHookRunner()->onUserLoadDefaults( $this, $name );
1039 }
1040
1053 public function isItemLoaded( $item, $all = 'all' ) {
1054 return ( $this->mLoadedItems === true && $all === 'all' ) ||
1055 ( isset( $this->mLoadedItems[$item] ) && $this->mLoadedItems[$item] === true );
1056 }
1057
1065 public function setItemLoaded( $item ) {
1066 if ( is_array( $this->mLoadedItems ) ) {
1067 $this->mLoadedItems[$item] = true;
1068 }
1069 }
1070
1076 private function loadFromSession() {
1077 // MediaWiki\Session\Session already did the necessary authentication of the user
1078 // returned here, so just use it if applicable.
1079 $session = $this->getRequest()->getSession();
1080 $user = $session->getUser();
1081 if ( $user->isRegistered() ) {
1082 $this->loadFromUserObject( $user );
1083
1084 // Other code expects these to be set in the session, so set them.
1085 $session->set( 'wsUserID', $this->getId() );
1086 $session->set( 'wsUserName', $this->getName() );
1087 $session->set( 'wsToken', $this->getToken() );
1088
1089 return true;
1090 }
1091
1092 return false;
1093 }
1094
1102 public function loadFromDatabase( $flags = IDBAccessObject::READ_LATEST ) {
1103 // Paranoia
1104 $this->mId = intval( $this->mId );
1105
1106 if ( !$this->mId ) {
1107 // Anonymous users are not in the database
1108 $this->loadDefaults();
1109 return false;
1110 }
1111
1112 $db = DBAccessObjectUtils::getDBFromRecency(
1113 MediaWikiServices::getInstance()->getDBLoadBalancerFactory(),
1114 $flags
1115 );
1116 $row = self::newQueryBuilder( $db )
1117 ->where( [ 'user_id' => $this->mId ] )
1118 ->recency( $flags )
1119 ->caller( __METHOD__ )
1120 ->fetchRow();
1121
1122 $this->queryFlagsUsed = $flags;
1123
1124 if ( $row !== false ) {
1125 // Initialise user table data
1126 $this->loadFromRow( $row );
1127 return true;
1128 }
1129
1130 // Invalid user_id
1131 $this->mId = 0;
1132 $this->loadDefaults( 'Unknown user' );
1133
1134 return false;
1135 }
1136
1148 protected function loadFromRow( $row, $data = null ) {
1149 if ( !is_object( $row ) ) {
1150 throw new InvalidArgumentException( '$row must be an object' );
1151 }
1152
1153 $all = true;
1154
1155 if ( isset( $row->actor_id ) ) {
1156 $this->mActorId = (int)$row->actor_id;
1157 if ( $this->mActorId !== 0 ) {
1158 $this->mFrom = 'actor';
1159 }
1160 $this->setItemLoaded( 'actor' );
1161 } else {
1162 $all = false;
1163 }
1164
1165 if ( isset( $row->user_name ) && $row->user_name !== '' ) {
1166 $this->mName = $row->user_name;
1167 $this->mFrom = 'name';
1168 $this->setItemLoaded( 'name' );
1169 } else {
1170 $all = false;
1171 }
1172
1173 if ( isset( $row->user_real_name ) ) {
1174 $this->mRealName = $row->user_real_name;
1175 $this->setItemLoaded( 'realname' );
1176 } else {
1177 $all = false;
1178 }
1179
1180 if ( isset( $row->user_id ) ) {
1181 $this->mId = intval( $row->user_id );
1182 if ( $this->mId !== 0 ) {
1183 $this->mFrom = 'id';
1184 }
1185 $this->setItemLoaded( 'id' );
1186 } else {
1187 $all = false;
1188 }
1189
1190 if ( isset( $row->user_editcount ) ) {
1191 // Don't try to set edit count for anonymous users
1192 // We check the id here and not in UserEditTracker because calling
1193 // User::getId() can trigger some other loading. This will result in
1194 // discarding the user_editcount field for rows if the id wasn't set.
1195 if ( $this->mId !== null && $this->mId !== 0 ) {
1197 ->getUserEditTracker()
1198 ->setCachedUserEditCount( $this, (int)$row->user_editcount );
1199 }
1200 } else {
1201 $all = false;
1202 }
1203
1204 if ( isset( $row->user_touched ) ) {
1205 $this->mTouched = wfTimestamp( TS_MW, $row->user_touched );
1206 } else {
1207 $all = false;
1208 }
1209
1210 if ( isset( $row->user_token ) ) {
1211 // The definition for the column is binary(32), so trim the NULs
1212 // that appends. The previous definition was char(32), so trim
1213 // spaces too.
1214 $this->mToken = rtrim( $row->user_token, " \0" );
1215 if ( $this->mToken === '' ) {
1216 $this->mToken = null;
1217 }
1218 } else {
1219 $all = false;
1220 }
1221
1222 if ( isset( $row->user_email ) ) {
1223 $this->mEmail = $row->user_email;
1224 $this->mEmailAuthenticated = wfTimestampOrNull( TS_MW, $row->user_email_authenticated );
1225 $this->mEmailToken = $row->user_email_token;
1226 $this->mEmailTokenExpires = wfTimestampOrNull( TS_MW, $row->user_email_token_expires );
1227 $this->mRegistration = wfTimestampOrNull( TS_MW, $row->user_registration );
1228 } else {
1229 $all = false;
1230 }
1231
1232 if ( $all ) {
1233 $this->mLoadedItems = true;
1234 }
1235
1236 if ( is_array( $data ) ) {
1237
1238 if ( isset( $data['user_groups'] ) && is_array( $data['user_groups'] ) ) {
1240 ->getUserGroupManager()
1241 ->loadGroupMembershipsFromArray(
1242 $this,
1243 $data['user_groups'],
1244 $this->queryFlagsUsed
1245 );
1246 }
1247 }
1248 }
1249
1255 protected function loadFromUserObject( $user ) {
1256 $user->load();
1257 foreach ( self::$mCacheVars as $var ) {
1258 $this->$var = $user->$var;
1259 }
1260 }
1261
1271 protected function makeUpdateConditions( IReadableDatabase $db, array $conditions ) {
1272 if ( $this->mTouched ) {
1273 // CAS check: only update if the row wasn't changed since it was loaded.
1274 $conditions['user_touched'] = $db->timestamp( $this->mTouched );
1275 }
1276
1277 return $conditions;
1278 }
1279
1290 public function checkAndSetTouched() {
1291 $this->load();
1292
1293 if ( !$this->mId ) {
1294 return false; // anon
1295 }
1296
1297 // Get a new user_touched that is higher than the old one
1298 $newTouched = $this->newTouchedTimestamp();
1299
1300 $dbw = MediaWikiServices::getInstance()->getConnectionProvider()->getPrimaryDatabase();
1301 $dbw->newUpdateQueryBuilder()
1302 ->update( 'user' )
1303 ->set( [ 'user_touched' => $dbw->timestamp( $newTouched ) ] )
1304 ->where( $this->makeUpdateConditions( $dbw, [
1305 'user_id' => $this->mId,
1306 ] ) )
1307 ->caller( __METHOD__ )->execute();
1308 $success = ( $dbw->affectedRows() > 0 );
1309
1310 if ( $success ) {
1311 $this->mTouched = $newTouched;
1312 $this->clearSharedCache( 'changed' );
1313 } else {
1314 // Clears on failure too since that is desired if the cache is stale
1315 $this->clearSharedCache( 'refresh' );
1316 }
1317
1318 return $success;
1319 }
1320
1328 public function clearInstanceCache( $reloadFrom = false ) {
1329 global $wgFullyInitialised;
1330
1331 $this->mDatePreference = null;
1332 $this->mHash = false;
1333 $this->mThisAsAuthority = null;
1334
1335 if ( $wgFullyInitialised && $this->mFrom ) {
1336 $services = MediaWikiServices::getInstance();
1337
1338 if ( $services->peekService( 'PermissionManager' ) ) {
1339 $services->getPermissionManager()->invalidateUsersRightsCache( $this );
1340 }
1341
1342 if ( $services->peekService( 'UserOptionsManager' ) ) {
1343 $services->getUserOptionsManager()->clearUserOptionsCache( $this );
1344 }
1345
1346 if ( $services->peekService( 'TalkPageNotificationManager' ) ) {
1347 $services->getTalkPageNotificationManager()->clearInstanceCache( $this );
1348 }
1349
1350 if ( $services->peekService( 'UserGroupManager' ) ) {
1351 $services->getUserGroupManager()->clearCache( $this );
1352 }
1353
1354 if ( $services->peekService( 'UserEditTracker' ) ) {
1355 $services->getUserEditTracker()->clearUserEditCache( $this );
1356 }
1357
1358 if ( $services->peekService( 'BlockManager' ) ) {
1359 $services->getBlockManager()->clearUserCache( $this );
1360 }
1361 }
1362
1363 if ( $reloadFrom ) {
1364 if ( in_array( $reloadFrom, [ 'name', 'id', 'actor' ] ) ) {
1365 $this->mLoadedItems = [ $reloadFrom => true ];
1366 } else {
1367 $this->mLoadedItems = [];
1368 }
1369 $this->mFrom = $reloadFrom;
1370 }
1371 }
1372
1378 public function isPingLimitable() {
1379 $limiter = MediaWikiServices::getInstance()->getRateLimiter();
1380 $subject = $this->toRateLimitSubject();
1381 return !$limiter->isExempt( $subject );
1382 }
1383
1399 public function pingLimiter( $action = 'edit', $incrBy = 1 ) {
1400 return $this->getThisAsAuthority()->limit( $action, $incrBy, null );
1401 }
1402
1408 $flags = [
1409 'exempt' => $this->isAllowed( 'noratelimit' ),
1410 'newbie' => $this->isNewbie(),
1411 ];
1412
1413 return new RateLimitSubject( $this, $this->getRequest()->getIP(), $flags );
1414 }
1415
1428 public function getBlock(
1429 $freshness = IDBAccessObject::READ_NORMAL,
1430 $disableIpBlockExemptChecking = false
1431 ): ?Block {
1432 if ( is_bool( $freshness ) ) {
1433 $fromReplica = $freshness;
1434 } else {
1435 $fromReplica = ( $freshness !== IDBAccessObject::READ_LATEST );
1436 }
1437
1438 if ( $disableIpBlockExemptChecking ) {
1439 $isExempt = false;
1440 } else {
1441 $isExempt = $this->isAllowed( 'ipblock-exempt' );
1442 }
1443
1444 // TODO: Block checking shouldn't really be done from the User object. Block
1445 // checking can involve checking for IP blocks, cookie blocks, and/or XFF blocks,
1446 // which need more knowledge of the request context than the User should have.
1447 // Since we do currently check blocks from the User, we have to do the following
1448 // here:
1449 // - Check if this is the user associated with the main request
1450 // - If so, pass the relevant request information to the block manager
1451 $request = null;
1452 if ( !$isExempt && $this->isGlobalSessionUser() ) {
1453 // This is the global user, so we need to pass the request
1454 $request = $this->getRequest();
1455 }
1456
1457 return MediaWikiServices::getInstance()->getBlockManager()->getBlock(
1458 $this,
1459 $request,
1460 $fromReplica,
1461 );
1462 }
1463
1473 public function isBlockedGlobally( $ip = '' ) {
1474 wfDeprecated( __METHOD__, '1.40' );
1475 return $this->getGlobalBlock( $ip ) instanceof AbstractBlock;
1476 }
1477
1487 public function getGlobalBlock( $ip = '' ) {
1488 if ( $this->mGlobalBlock !== null ) {
1489 return $this->mGlobalBlock ?: null;
1490 }
1491 // User is already an IP?
1492 if ( IPUtils::isIPAddress( $this->getName() ) ) {
1493 $ip = $this->getName();
1494 } elseif ( !$ip ) {
1495 $ip = $this->getRequest()->getIP();
1496 }
1497 $blocked = false;
1498 $block = null;
1499 $this->getHookRunner()->onUserIsBlockedGlobally( $this, $ip, $blocked, $block );
1500
1501 if ( $blocked && $block === null ) {
1502 // back-compat: UserIsBlockedGlobally didn't have $block param first
1503 $block = new SystemBlock( [
1504 'address' => $ip,
1505 'systemBlock' => 'global-block'
1506 ] );
1507 }
1508
1509 $this->mGlobalBlock = $blocked ? $block : false;
1510 return $this->mGlobalBlock ?: null;
1511 }
1512
1518 public function isLocked() {
1519 if ( $this->mLocked !== null ) {
1520 return $this->mLocked;
1521 }
1522 // Reset for hook
1523 $this->mLocked = false;
1524 $this->getHookRunner()->onUserIsLocked( $this, $this->mLocked );
1525 return $this->mLocked;
1526 }
1527
1533 public function isHidden() {
1534 $block = $this->getBlock();
1535 return $block ? $block->getHideName() : false;
1536 }
1537
1543 public function getId( $wikiId = self::LOCAL ): int {
1544 $this->assertWiki( $wikiId );
1545 if ( $this->mId === null && $this->mName !== null ) {
1546 $userNameUtils = MediaWikiServices::getInstance()->getUserNameUtils();
1547 if ( $userNameUtils->isIP( $this->mName ) || ExternalUserNames::isExternal( $this->mName ) ) {
1548 // Special case, we know the user is anonymous
1549 // Note that "external" users are "local" (they have an actor ID that is relative to
1550 // the local wiki).
1551 return 0;
1552 }
1553 }
1554
1555 if ( !$this->isItemLoaded( 'id' ) ) {
1556 // Don't load if this was initialized from an ID
1557 $this->load();
1558 }
1559
1560 return (int)$this->mId;
1561 }
1562
1567 public function setId( $v ) {
1568 $this->mId = $v;
1569 $this->clearInstanceCache( 'id' );
1570 }
1571
1576 public function getName(): string {
1577 if ( $this->isItemLoaded( 'name', 'only' ) ) {
1578 // Special case optimisation
1579 return $this->mName;
1580 }
1581
1582 $this->load();
1583 if ( $this->mName === false ) {
1584 // Clean up IPs
1585 $this->mName = IPUtils::sanitizeIP( $this->getRequest()->getIP() );
1586 }
1587
1588 return $this->mName;
1589 }
1590
1604 public function setName( $str ) {
1605 $this->load();
1606 $this->mName = $str;
1607 }
1608
1622 public function getActorId( $dbwOrWikiId = self::LOCAL ): int {
1623 if ( $dbwOrWikiId ) {
1624 wfDeprecatedMsg( 'Passing a parameter to getActorId() is deprecated', '1.36' );
1625 }
1626
1627 if ( is_string( $dbwOrWikiId ) ) {
1628 $this->assertWiki( $dbwOrWikiId );
1629 }
1630
1631 if ( !$this->isItemLoaded( 'actor' ) ) {
1632 $this->load();
1633 }
1634
1635 if ( !$this->mActorId && $dbwOrWikiId instanceof IDatabase ) {
1636 MediaWikiServices::getInstance()
1637 ->getActorStoreFactory()
1638 ->getActorNormalization( $dbwOrWikiId->getDomainID() )
1639 ->acquireActorId( $this, $dbwOrWikiId );
1640 // acquireActorId will call setActorId on $this
1641 Assert::postcondition(
1642 $this->mActorId !== null,
1643 "Failed to acquire actor ID for user id {$this->mId} name {$this->mName}"
1644 );
1645 }
1646
1647 return (int)$this->mActorId;
1648 }
1649
1659 public function setActorId( int $actorId ) {
1660 $this->mActorId = $actorId;
1661 $this->setItemLoaded( 'actor' );
1662 }
1663
1668 public function getTitleKey(): string {
1669 return str_replace( ' ', '_', $this->getName() );
1670 }
1671
1678 private function newTouchedTimestamp() {
1679 $time = (int)ConvertibleTimestamp::now( TS_UNIX );
1680 if ( $this->mTouched ) {
1681 $time = max( $time, (int)ConvertibleTimestamp::convert( TS_UNIX, $this->mTouched ) + 1 );
1682 }
1683
1684 return ConvertibleTimestamp::convert( TS_MW, $time );
1685 }
1686
1697 public function clearSharedCache( $mode = 'refresh' ) {
1698 if ( !$this->getId() ) {
1699 return;
1700 }
1701
1702 $dbProvider = MediaWikiServices::getInstance()->getConnectionProvider();
1703 $cache = MediaWikiServices::getInstance()->getMainWANObjectCache();
1704 $key = $this->getCacheKey( $cache );
1705
1706 if ( $mode === 'refresh' ) {
1707 $cache->delete( $key, 1 ); // low tombstone/"hold-off" TTL
1708 } else {
1709 $dbProvider->getPrimaryDatabase()->onTransactionPreCommitOrIdle(
1710 static function () use ( $cache, $key ) {
1711 $cache->delete( $key );
1712 },
1713 __METHOD__
1714 );
1715 }
1716 }
1717
1723 public function invalidateCache() {
1724 $this->touch();
1725 $this->clearSharedCache( 'changed' );
1726 }
1727
1740 public function touch() {
1741 $id = $this->getId();
1742 if ( $id ) {
1743 $cache = MediaWikiServices::getInstance()->getMainWANObjectCache();
1744 $key = $cache->makeKey( 'user-quicktouched', 'id', $id );
1745 $cache->touchCheckKey( $key );
1746 $this->mQuickTouched = null;
1747 }
1748 }
1749
1755 public function validateCache( $timestamp ) {
1756 return ( $timestamp >= $this->getTouched() );
1757 }
1758
1767 public function getTouched() {
1768 $this->load();
1769
1770 if ( $this->mId ) {
1771 if ( $this->mQuickTouched === null ) {
1772 $cache = MediaWikiServices::getInstance()->getMainWANObjectCache();
1773 $key = $cache->makeKey( 'user-quicktouched', 'id', $this->mId );
1774
1775 $this->mQuickTouched = wfTimestamp( TS_MW, $cache->getCheckKeyTime( $key ) );
1776 }
1777
1778 return max( $this->mTouched, $this->mQuickTouched );
1779 }
1780
1781 return $this->mTouched;
1782 }
1783
1789 public function getDBTouched() {
1790 $this->load();
1791
1792 return $this->mTouched;
1793 }
1794
1807 public function changeAuthenticationData( array $data ) {
1808 $manager = MediaWikiServices::getInstance()->getAuthManager();
1809 $reqs = $manager->getAuthenticationRequests( AuthManager::ACTION_CHANGE, $this );
1810 $reqs = AuthenticationRequest::loadRequestsFromSubmission( $reqs, $data );
1811
1812 $status = Status::newGood( 'ignored' );
1813 foreach ( $reqs as $req ) {
1814 $status->merge( $manager->allowsAuthenticationDataChange( $req ), true );
1815 }
1816 if ( $status->getValue() === 'ignored' ) {
1817 $status->warning( 'authenticationdatachange-ignored' );
1818 }
1819
1820 if ( $status->isGood() ) {
1821 foreach ( $reqs as $req ) {
1822 $manager->changeAuthenticationData( $req );
1823 }
1824 }
1825 return $status;
1826 }
1827
1834 public function getToken( $forceCreation = true ) {
1835 $authenticationTokenVersion = MediaWikiServices::getInstance()
1836 ->getMainConfig()->get( MainConfigNames::AuthenticationTokenVersion );
1837
1838 $this->load();
1839 if ( !$this->mToken && $forceCreation ) {
1840 $this->setToken();
1841 }
1842
1843 if ( !$this->mToken ) {
1844 // The user doesn't have a token, return null to indicate that.
1845 return null;
1846 }
1847
1848 if ( $this->mToken === self::INVALID_TOKEN ) {
1849 // We return a random value here so existing token checks are very
1850 // likely to fail.
1851 return MWCryptRand::generateHex( self::TOKEN_LENGTH );
1852 }
1853
1854 if ( $authenticationTokenVersion === null ) {
1855 // $wgAuthenticationTokenVersion not in use, so return the raw secret
1856 return $this->mToken;
1857 }
1858
1859 // $wgAuthenticationTokenVersion in use, so hmac it.
1860 $ret = MWCryptHash::hmac( $authenticationTokenVersion, $this->mToken, false );
1861
1862 // The raw hash can be overly long. Shorten it up.
1863 $len = max( 32, self::TOKEN_LENGTH );
1864 if ( strlen( $ret ) < $len ) {
1865 // Should never happen, even md5 is 128 bits
1866 throw new \UnexpectedValueException( 'Hmac returned less than 128 bits' );
1867 }
1868
1869 return substr( $ret, -$len );
1870 }
1871
1878 public function setToken( $token = false ) {
1879 $this->load();
1880 if ( $this->mToken === self::INVALID_TOKEN ) {
1881 LoggerFactory::getInstance( 'session' )
1882 ->debug( __METHOD__ . ": Ignoring attempt to set token for system user \"$this\"" );
1883 } elseif ( !$token ) {
1884 $this->mToken = MWCryptRand::generateHex( self::TOKEN_LENGTH );
1885 } else {
1886 $this->mToken = $token;
1887 }
1888 }
1889
1894 public function getEmail(): string {
1895 $this->load();
1896 $email = $this->mEmail;
1897 $this->getHookRunner()->onUserGetEmail( $this, $email );
1898 // In case a hook handler returns e.g. null
1899 $this->mEmail = is_string( $email ) ? $email : '';
1900 return $this->mEmail;
1901 }
1902
1908 $this->load();
1909 $this->getHookRunner()->onUserGetEmailAuthenticationTimestamp(
1910 $this, $this->mEmailAuthenticated );
1911 return $this->mEmailAuthenticated;
1912 }
1913
1918 public function setEmail( string $str ) {
1919 $this->load();
1920 if ( $str == $this->getEmail() ) {
1921 return;
1922 }
1923 $this->invalidateEmail();
1924 $this->mEmail = $str;
1925 $this->getHookRunner()->onUserSetEmail( $this, $this->mEmail );
1926 }
1927
1935 public function setEmailWithConfirmation( string $str ) {
1936 $config = MediaWikiServices::getInstance()->getMainConfig();
1937 $enableEmail = $config->get( MainConfigNames::EnableEmail );
1938
1939 if ( !$enableEmail ) {
1940 return Status::newFatal( 'emaildisabled' );
1941 }
1942
1943 $oldaddr = $this->getEmail();
1944 if ( $str === $oldaddr ) {
1945 return Status::newGood( true );
1946 }
1947
1948 $type = $oldaddr != '' ? 'changed' : 'set';
1949 $notificationResult = null;
1950
1951 $emailAuthentication = $config->get( MainConfigNames::EmailAuthentication );
1952
1953 if ( $emailAuthentication && $type === 'changed' ) {
1954 // Send the user an email notifying the user of the change in registered
1955 // email address on their previous email address
1956 $change = $str != '' ? 'changed' : 'removed';
1957 $notificationResult = $this->sendMail(
1958 wfMessage( 'notificationemail_subject_' . $change )->text(),
1959 wfMessage( 'notificationemail_body_' . $change,
1960 $this->getRequest()->getIP(),
1961 $this->getName(),
1962 $str )->text()
1963 );
1964 }
1965
1966 $this->setEmail( $str );
1967
1968 if ( $str !== '' && $emailAuthentication ) {
1969 // Send a confirmation request to the new address if needed
1970 $result = $this->sendConfirmationMail( $type );
1971
1972 if ( $notificationResult !== null ) {
1973 $result->merge( $notificationResult );
1974 }
1975
1976 if ( $result->isGood() ) {
1977 // Say to the caller that a confirmation and notification mail has been sent
1978 $result->value = 'eauth';
1979 }
1980 } else {
1981 $result = Status::newGood( true );
1982 }
1983
1984 return $result;
1985 }
1986
1991 public function getRealName(): string {
1992 if ( !$this->isItemLoaded( 'realname' ) ) {
1993 $this->load();
1994 }
1995
1996 return $this->mRealName;
1997 }
1998
2003 public function setRealName( string $str ) {
2004 $this->load();
2005 $this->mRealName = $str;
2006 }
2007
2018 public function getTokenFromOption( $oname ) {
2019 $hiddenPrefs =
2020 MediaWikiServices::getInstance()->getMainConfig()->get( MainConfigNames::HiddenPrefs );
2021
2022 $id = $this->getId();
2023 if ( !$id || in_array( $oname, $hiddenPrefs ) ) {
2024 return false;
2025 }
2026
2027 $userOptionsLookup = MediaWikiServices::getInstance()
2028 ->getUserOptionsLookup();
2029 $token = $userOptionsLookup->getOption( $this, (string)$oname );
2030 if ( !$token ) {
2031 // Default to a value based on the user token to avoid space
2032 // wasted on storing tokens for all users. When this option
2033 // is set manually by the user, only then is it stored.
2034 $token = hash_hmac( 'sha1', "$oname:$id", $this->getToken() );
2035 }
2036
2037 return $token;
2038 }
2039
2049 public function resetTokenFromOption( $oname ) {
2050 $hiddenPrefs =
2051 MediaWikiServices::getInstance()->getMainConfig()->get( MainConfigNames::HiddenPrefs );
2052 if ( in_array( $oname, $hiddenPrefs ) ) {
2053 return false;
2054 }
2055
2056 $token = MWCryptRand::generateHex( 40 );
2057 MediaWikiServices::getInstance()
2058 ->getUserOptionsManager()
2059 ->setOption( $this, $oname, $token );
2060 return $token;
2061 }
2062
2067 public function getDatePreference() {
2068 // Important migration for old data rows
2069 if ( $this->mDatePreference === null ) {
2070 global $wgLang;
2071 $userOptionsLookup = MediaWikiServices::getInstance()
2072 ->getUserOptionsLookup();
2073 $value = $userOptionsLookup->getOption( $this, 'date' );
2074 $map = $wgLang->getDatePreferenceMigrationMap();
2075 if ( isset( $map[$value] ) ) {
2076 $value = $map[$value];
2077 }
2078 $this->mDatePreference = $value;
2079 }
2080 return $this->mDatePreference;
2081 }
2082
2089 public function requiresHTTPS() {
2090 if ( !$this->isRegistered() ) {
2091 return false;
2092 }
2093
2094 $services = MediaWikiServices::getInstance();
2095 $config = $services->getMainConfig();
2096 if ( $config->get( MainConfigNames::ForceHTTPS ) ) {
2097 return true;
2098 }
2099 if ( !$config->get( MainConfigNames::SecureLogin ) ) {
2100 return false;
2101 }
2102 return $services->getUserOptionsLookup()
2103 ->getBoolOption( $this, 'prefershttps' );
2104 }
2105
2110 public function getEditCount() {
2111 return MediaWikiServices::getInstance()
2112 ->getUserEditTracker()
2113 ->getUserEditCount( $this );
2114 }
2115
2124 public function isRegistered(): bool {
2125 return $this->getId() != 0;
2126 }
2127
2132 public function isAnon() {
2133 return !$this->isRegistered();
2134 }
2135
2140 public function isBot() {
2141 $userGroupManager = MediaWikiServices::getInstance()->getUserGroupManager();
2142 if ( in_array( 'bot', $userGroupManager->getUserGroups( $this ) )
2143 && $this->isAllowed( 'bot' )
2144 ) {
2145 return true;
2146 }
2147
2148 $isBot = false;
2149 $this->getHookRunner()->onUserIsBot( $this, $isBot );
2150
2151 return $isBot;
2152 }
2153
2163 public function isSystemUser() {
2164 $this->load();
2165 if ( $this->getEmail() || $this->mToken !== self::INVALID_TOKEN ||
2166 MediaWikiServices::getInstance()->getAuthManager()->userCanAuthenticate( $this->mName )
2167 ) {
2168 return false;
2169 }
2170 return true;
2171 }
2172
2173 public function isAllowedAny( ...$permissions ): bool {
2174 return $this->getThisAsAuthority()->isAllowedAny( ...$permissions );
2175 }
2176
2177 public function isAllowedAll( ...$permissions ): bool {
2178 return $this->getThisAsAuthority()->isAllowedAll( ...$permissions );
2179 }
2180
2181 public function isAllowed( string $permission, ?PermissionStatus $status = null ): bool {
2182 return $this->getThisAsAuthority()->isAllowed( $permission, $status );
2183 }
2184
2189 public function useRCPatrol() {
2190 $useRCPatrol =
2191 MediaWikiServices::getInstance()->getMainConfig()->get( MainConfigNames::UseRCPatrol );
2192 return $useRCPatrol && $this->isAllowedAny( 'patrol', 'patrolmarks' );
2193 }
2194
2199 public function useNPPatrol() {
2200 $useRCPatrol =
2201 MediaWikiServices::getInstance()->getMainConfig()->get( MainConfigNames::UseRCPatrol );
2202 $useNPPatrol =
2203 MediaWikiServices::getInstance()->getMainConfig()->get( MainConfigNames::UseNPPatrol );
2204 return (
2205 ( $useRCPatrol || $useNPPatrol )
2206 && ( $this->isAllowedAny( 'patrol', 'patrolmarks' ) )
2207 );
2208 }
2209
2214 public function useFilePatrol() {
2215 $useRCPatrol =
2216 MediaWikiServices::getInstance()->getMainConfig()->get( MainConfigNames::UseRCPatrol );
2217 $useFilePatrol = MediaWikiServices::getInstance()->getMainConfig()
2218 ->get( MainConfigNames::UseFilePatrol );
2219 return (
2220 ( $useRCPatrol || $useFilePatrol )
2221 && ( $this->isAllowedAny( 'patrol', 'patrolmarks' ) )
2222 );
2223 }
2224
2230 public function getRequest(): WebRequest {
2231 return $this->mRequest ?? RequestContext::getMain()->getRequest();
2232 }
2233
2239 public function getExperienceLevel() {
2240 $mainConfig = MediaWikiServices::getInstance()->getMainConfig();
2241 $learnerEdits = $mainConfig->get( MainConfigNames::LearnerEdits );
2242 $experiencedUserEdits = $mainConfig->get( MainConfigNames::ExperiencedUserEdits );
2243 $learnerMemberSince = $mainConfig->get( MainConfigNames::LearnerMemberSince );
2244 $experiencedUserMemberSince =
2245 $mainConfig->get( MainConfigNames::ExperiencedUserMemberSince );
2246 if ( $this->isAnon() ) {
2247 return false;
2248 }
2249
2250 $editCount = $this->getEditCount();
2251 $registration = $this->getRegistration();
2252 $now = time();
2253 $learnerRegistration = wfTimestamp( TS_MW, $now - $learnerMemberSince * 86400 );
2254 $experiencedRegistration = wfTimestamp( TS_MW, $now - $experiencedUserMemberSince * 86400 );
2255 if ( $registration === null ) {
2256 // for some very old accounts, this information is missing in the database
2257 // treat them as old enough to be 'experienced'
2258 $registration = $experiencedRegistration;
2259 }
2260
2261 if ( $editCount < $learnerEdits ||
2262 $registration > $learnerRegistration ) {
2263 return 'newcomer';
2264 }
2265
2266 if ( $editCount > $experiencedUserEdits &&
2267 $registration <= $experiencedRegistration
2268 ) {
2269 return 'experienced';
2270 }
2271
2272 return 'learner';
2273 }
2274
2283 public function setCookies( $request = null, $secure = null, $rememberMe = false ) {
2284 $this->load();
2285 if ( $this->mId == 0 ) {
2286 return;
2287 }
2288
2289 $session = $this->getRequest()->getSession();
2290 if ( $request && $session->getRequest() !== $request ) {
2291 $session = $session->sessionWithRequest( $request );
2292 }
2293 $delay = $session->delaySave();
2294
2295 if ( !$session->getUser()->equals( $this ) ) {
2296 if ( !$session->canSetUser() ) {
2297 LoggerFactory::getInstance( 'session' )
2298 ->warning( __METHOD__ .
2299 ": Cannot save user \"$this\" to a user " .
2300 "\"{$session->getUser()}\"'s immutable session"
2301 );
2302 return;
2303 }
2304 $session->setUser( $this );
2305 }
2306
2307 $session->setRememberUser( $rememberMe );
2308 if ( $secure !== null ) {
2309 $session->setForceHTTPS( $secure );
2310 }
2311
2312 $session->persist();
2313
2314 ScopedCallback::consume( $delay );
2315 }
2316
2320 public function logout() {
2321 if ( $this->getHookRunner()->onUserLogout( $this ) ) {
2322 $this->doLogout();
2323 }
2324 }
2325
2330 public function doLogout() {
2331 $session = $this->getRequest()->getSession();
2332 if ( !$session->canSetUser() ) {
2333 LoggerFactory::getInstance( 'session' )
2334 ->warning( __METHOD__ . ": Cannot log out of an immutable session" );
2335 $error = 'immutable';
2336 } elseif ( !$session->getUser()->equals( $this ) ) {
2337 LoggerFactory::getInstance( 'session' )
2338 ->warning( __METHOD__ .
2339 ": Cannot log user \"$this\" out of a user \"{$session->getUser()}\"'s session"
2340 );
2341 // But we still may as well make this user object anon
2342 $this->clearInstanceCache( 'defaults' );
2343 $error = 'wronguser';
2344 } else {
2345 $this->clearInstanceCache( 'defaults' );
2346 $delay = $session->delaySave();
2347 $session->unpersist(); // Clear cookies (T127436)
2348 $session->setLoggedOutTimestamp( time() );
2349 $session->setUser( new User );
2350 $session->set( 'wsUserID', 0 ); // Other code expects this
2351 $session->resetAllTokens();
2352 ScopedCallback::consume( $delay );
2353 $error = false;
2354 }
2355 LoggerFactory::getInstance( 'authevents' )->info( 'Logout', [
2356 'event' => 'logout',
2357 'successful' => $error === false,
2358 'status' => $error ?: 'success',
2359 ] );
2360 }
2361
2366 public function saveSettings() {
2367 if ( MediaWikiServices::getInstance()->getReadOnlyMode()->isReadOnly() ) {
2368 // @TODO: caller should deal with this instead!
2369 // This should really just be an exception.
2370 MWExceptionHandler::logException( new DBExpectedError(
2371 null,
2372 "Could not update user with ID '{$this->mId}'; DB is read-only."
2373 ) );
2374 return;
2375 }
2376
2377 $this->load();
2378 if ( $this->mId == 0 ) {
2379 return; // anon
2380 }
2381
2382 // Get a new user_touched that is higher than the old one.
2383 // This will be used for a CAS check as a last-resort safety
2384 // check against race conditions and replica DB lag.
2385 $newTouched = $this->newTouchedTimestamp();
2386
2387 $dbw = MediaWikiServices::getInstance()->getConnectionProvider()->getPrimaryDatabase();
2388 $dbw->doAtomicSection( __METHOD__, function ( IDatabase $dbw, $fname ) use ( $newTouched ) {
2389 $dbw->newUpdateQueryBuilder()
2390 ->update( 'user' )
2391 ->set( [
2392 'user_name' => $this->mName,
2393 'user_real_name' => $this->mRealName,
2394 'user_email' => $this->mEmail,
2395 'user_email_authenticated' => $dbw->timestampOrNull( $this->mEmailAuthenticated ),
2396 'user_touched' => $dbw->timestamp( $newTouched ),
2397 'user_token' => strval( $this->mToken ),
2398 'user_email_token' => $this->mEmailToken,
2399 'user_email_token_expires' => $dbw->timestampOrNull( $this->mEmailTokenExpires ),
2400 ] )
2401 ->where( $this->makeUpdateConditions( $dbw, [ /* WHERE */
2402 'user_id' => $this->mId,
2403 ] ) )
2404 ->caller( $fname )->execute();
2405
2406 if ( !$dbw->affectedRows() ) {
2407 // Maybe the problem was a missed cache update; clear it to be safe
2408 $this->clearSharedCache( 'refresh' );
2409 // User was changed in the meantime or loaded with stale data
2410 $from = ( $this->queryFlagsUsed & IDBAccessObject::READ_LATEST ) ? 'primary' : 'replica';
2411 LoggerFactory::getInstance( 'preferences' )->warning(
2412 "CAS update failed on user_touched for user ID '{user_id}' ({db_flag} read)",
2413 [ 'user_id' => $this->mId, 'db_flag' => $from ]
2414 );
2415 throw new RuntimeException( "CAS update failed on user_touched. " .
2416 "The version of the user to be saved is older than the current version."
2417 );
2418 }
2419
2420 $dbw->newUpdateQueryBuilder()
2421 ->update( 'actor' )
2422 ->set( [ 'actor_name' => $this->mName ] )
2423 ->where( [ 'actor_user' => $this->mId ] )
2424 ->caller( $fname )->execute();
2425 MediaWikiServices::getInstance()->getActorStore()->deleteUserIdentityFromCache( $this );
2426 } );
2427
2428 $this->mTouched = $newTouched;
2429 if ( $this->isNamed() ) {
2430 MediaWikiServices::getInstance()->getUserOptionsManager()->saveOptionsInternal( $this );
2431 }
2432
2433 $this->getHookRunner()->onUserSaveSettings( $this );
2434 $this->clearSharedCache( 'changed' );
2435 $hcu = MediaWikiServices::getInstance()->getHtmlCacheUpdater();
2436 $hcu->purgeTitleUrls( $this->getUserPage(), $hcu::PURGE_INTENT_TXROUND_REFLECTED );
2437 }
2438
2445 public function idForName( $flags = IDBAccessObject::READ_NORMAL ) {
2446 $s = trim( $this->getName() );
2447 if ( $s === '' ) {
2448 return 0;
2449 }
2450
2451 $db = DBAccessObjectUtils::getDBFromRecency(
2452 MediaWikiServices::getInstance()->getDBLoadBalancerFactory(),
2453 $flags
2454 );
2455 $id = $db->newSelectQueryBuilder()
2456 ->select( 'user_id' )
2457 ->from( 'user' )
2458 ->where( [ 'user_name' => $s ] )
2459 ->recency( $flags )
2460 ->caller( __METHOD__ )->fetchField();
2461
2462 return (int)$id;
2463 }
2464
2478 public static function createNew( $name, $params = [] ) {
2479 return self::insertNewUser( static function ( UserIdentity $actor, IDatabase $dbw ) {
2480 return MediaWikiServices::getInstance()->getActorStore()->createNewActor( $actor, $dbw );
2481 }, $name, $params );
2482 }
2483
2491 private static function insertNewUser( callable $insertActor, $name, $params = [] ) {
2492 foreach ( [ 'password', 'newpassword', 'newpass_time', 'password_expires' ] as $field ) {
2493 if ( isset( $params[$field] ) ) {
2494 wfDeprecated( __METHOD__ . " with param '$field'", '1.27' );
2495 unset( $params[$field] );
2496 }
2497 }
2498
2499 $user = new User;
2500 $user->load();
2501 $user->setToken(); // init token
2502 $dbw = MediaWikiServices::getInstance()->getConnectionProvider()->getPrimaryDatabase();
2503
2504 $noPass = PasswordFactory::newInvalidPassword()->toString();
2505
2506 $fields = [
2507 'user_name' => $name,
2508 'user_password' => $noPass,
2509 'user_newpassword' => $noPass,
2510 'user_email' => $user->mEmail,
2511 'user_email_authenticated' => $dbw->timestampOrNull( $user->mEmailAuthenticated ),
2512 'user_real_name' => $user->mRealName,
2513 'user_token' => strval( $user->mToken ),
2514 'user_registration' => $dbw->timestamp( $user->mRegistration ),
2515 'user_editcount' => 0,
2516 'user_touched' => $dbw->timestamp( $user->newTouchedTimestamp() ),
2517 ];
2518 foreach ( $params as $name => $value ) {
2519 $fields["user_$name"] = $value;
2520 }
2521
2522 return $dbw->doAtomicSection( __METHOD__, static function ( IDatabase $dbw, $fname )
2523 use ( $fields, $insertActor )
2524 {
2525 $dbw->newInsertQueryBuilder()
2526 ->insertInto( 'user' )
2527 ->ignore()
2528 ->row( $fields )
2529 ->caller( $fname )->execute();
2530 if ( $dbw->affectedRows() ) {
2531 $newUser = self::newFromId( $dbw->insertId() );
2532 $newUser->mName = $fields['user_name'];
2533 // Don't pass $this, since calling ::getId, ::getName might force ::load
2534 // and this user might not be ready for the yet.
2535 $newUser->mActorId = $insertActor(
2536 new UserIdentityValue( $newUser->mId, $newUser->mName ),
2537 $dbw
2538 );
2539 // Load the user from primary DB to avoid replica lag
2540 $newUser->load( IDBAccessObject::READ_LATEST );
2541 } else {
2542 $newUser = null;
2543 }
2544 return $newUser;
2545 } );
2546 }
2547
2573 public function addToDatabase() {
2574 $this->load();
2575 if ( !$this->mToken ) {
2576 $this->setToken(); // init token
2577 }
2578
2579 if ( !is_string( $this->mName ) ) {
2580 throw new RuntimeException( "User name field is not set." );
2581 }
2582
2583 $this->mTouched = $this->newTouchedTimestamp();
2584
2585 $dbw = MediaWikiServices::getInstance()->getConnectionProvider()->getPrimaryDatabase();
2586 $status = $dbw->doAtomicSection( __METHOD__, function ( IDatabase $dbw, $fname ) {
2587 $noPass = PasswordFactory::newInvalidPassword()->toString();
2588 $dbw->newInsertQueryBuilder()
2589 ->insertInto( 'user' )
2590 ->ignore()
2591 ->row( [
2592 'user_name' => $this->mName,
2593 'user_password' => $noPass,
2594 'user_newpassword' => $noPass,
2595 'user_email' => $this->mEmail,
2596 'user_email_authenticated' => $dbw->timestampOrNull( $this->mEmailAuthenticated ),
2597 'user_real_name' => $this->mRealName,
2598 'user_token' => strval( $this->mToken ),
2599 'user_registration' => $dbw->timestamp( $this->mRegistration ),
2600 'user_editcount' => 0,
2601 'user_touched' => $dbw->timestamp( $this->mTouched ),
2602 'user_is_temp' => $this->isTemp(),
2603 ] )
2604 ->caller( $fname )->execute();
2605 if ( !$dbw->affectedRows() ) {
2606 // Use locking reads to bypass any REPEATABLE-READ snapshot.
2607 $this->mId = $dbw->newSelectQueryBuilder()
2608 ->select( 'user_id' )
2609 ->lockInShareMode()
2610 ->from( 'user' )
2611 ->where( [ 'user_name' => $this->mName ] )
2612 ->caller( $fname )->fetchField();
2613 $loaded = false;
2614 if ( $this->mId && $this->loadFromDatabase( IDBAccessObject::READ_LOCKING ) ) {
2615 $loaded = true;
2616 }
2617 if ( !$loaded ) {
2618 throw new RuntimeException( $fname . ": hit a key conflict attempting " .
2619 "to insert user '{$this->mName}' row, but it was not present in select!" );
2620 }
2621 return Status::newFatal( 'userexists' );
2622 }
2623 $this->mId = $dbw->insertId();
2624
2625 // Don't pass $this, since calling ::getId, ::getName might force ::load
2626 // and this user might not be ready for the yet.
2627 $this->mActorId = MediaWikiServices::getInstance()
2628 ->getActorNormalization()
2629 ->acquireActorId( new UserIdentityValue( $this->mId, $this->mName ), $dbw );
2630 return Status::newGood();
2631 } );
2632 if ( !$status->isGood() ) {
2633 return $status;
2634 }
2635
2636 // Clear instance cache other than user table data and actor, which is already accurate
2637 $this->clearInstanceCache();
2638
2639 if ( $this->isNamed() ) {
2640 MediaWikiServices::getInstance()->getUserOptionsManager()->saveOptions( $this );
2641 }
2642 return Status::newGood();
2643 }
2644
2651 public function spreadAnyEditBlock() {
2652 if ( !$this->isRegistered() ) {
2653 return false;
2654 }
2655
2656 $blockWasSpread = false;
2657 $this->getHookRunner()->onSpreadAnyEditBlock( $this, $blockWasSpread );
2658
2659 if ( $this->getBlock() ) {
2660 $blockWasSpread = $blockWasSpread || $this->spreadBlock();
2661 }
2662
2663 return $blockWasSpread;
2664 }
2665
2671 protected function spreadBlock() {
2672 wfDebug( __METHOD__ . "()" );
2673 $this->load();
2674 if ( $this->mId == 0 ) {
2675 return false;
2676 }
2677
2678 $blockStore = MediaWikiServices::getInstance()->getDatabaseBlockStore();
2679
2680 $userblock = $blockStore->newFromTarget( $this->getName() );
2681 if ( !$userblock ) {
2682 return false;
2683 }
2684
2685 return (bool)$blockStore->doAutoblock( $userblock, $this->getRequest()->getIP() );
2686 }
2687
2695 public function isBlockedFromEmailuser() {
2696 wfDeprecated( __METHOD__, '1.41' );
2697 $block = $this->getBlock();
2698 return $block && $block->appliesToRight( 'sendemail' );
2699 }
2700
2707 public function isBlockedFromUpload() {
2708 $block = $this->getBlock();
2709 return $block && $block->appliesToRight( 'upload' );
2710 }
2711
2716 public function isAllowedToCreateAccount() {
2717 return $this->getThisAsAuthority()->isDefinitelyAllowed( 'createaccount' );
2718 }
2719
2725 public function getUserPage() {
2726 return Title::makeTitle( NS_USER, $this->getName() );
2727 }
2728
2734 public function getTalkPage() {
2735 $title = $this->getUserPage();
2736 return $title->getTalkPage();
2737 }
2738
2746 public function isNewbie() {
2747 // IP users and temp account users are excluded from the autoconfirmed group.
2748 return !$this->isAllowed( 'autoconfirmed' );
2749 }
2750
2763 public function getEditTokenObject( $salt = '', $request = null ) {
2764 if ( $this->isAnon() ) {
2765 return new LoggedOutEditToken();
2766 }
2767
2768 if ( !$request ) {
2769 $request = $this->getRequest();
2770 }
2771 return $request->getSession()->getToken( $salt );
2772 }
2773
2788 public function getEditToken( $salt = '', $request = null ) {
2789 return $this->getEditTokenObject( $salt, $request )->toString();
2790 }
2791
2805 public function matchEditToken( $val, $salt = '', $request = null, $maxage = null ) {
2806 return $this->getEditTokenObject( $salt, $request )->match( $val, $maxage );
2807 }
2808
2816 public function sendConfirmationMail( $type = 'created' ) {
2817 global $wgLang;
2818 $expiration = null; // gets passed-by-ref and defined in next line.
2819 $token = $this->confirmationToken( $expiration );
2820 $url = $this->confirmationTokenUrl( $token );
2821 $invalidateURL = $this->invalidationTokenUrl( $token );
2822 $this->saveSettings();
2823
2824 if ( $type == 'created' || $type === false ) {
2825 $message = 'confirmemail_body';
2826 $type = 'created';
2827 } elseif ( $type === true ) {
2828 $message = 'confirmemail_body_changed';
2829 $type = 'changed';
2830 } else {
2831 // Messages: confirmemail_body_changed, confirmemail_body_set
2832 $message = 'confirmemail_body_' . $type;
2833 }
2834
2835 $mail = [
2836 'subject' => wfMessage( 'confirmemail_subject' )->text(),
2837 'body' => wfMessage( $message,
2838 $this->getRequest()->getIP(),
2839 $this->getName(),
2840 $url,
2841 $wgLang->userTimeAndDate( $expiration, $this ),
2842 $invalidateURL,
2843 $wgLang->userDate( $expiration, $this ),
2844 $wgLang->userTime( $expiration, $this ) )->text(),
2845 'from' => null,
2846 'replyTo' => null,
2847 ];
2848 $info = [
2849 'type' => $type,
2850 'ip' => $this->getRequest()->getIP(),
2851 'confirmURL' => $url,
2852 'invalidateURL' => $invalidateURL,
2853 'expiration' => $expiration
2854 ];
2855
2856 $this->getHookRunner()->onUserSendConfirmationMail( $this, $mail, $info );
2857 return $this->sendMail( $mail['subject'], $mail['body'], $mail['from'], $mail['replyTo'] );
2858 }
2859
2871 public function sendMail( $subject, $body, $from = null, $replyto = null ) {
2872 $passwordSender = MediaWikiServices::getInstance()->getMainConfig()
2873 ->get( MainConfigNames::PasswordSender );
2874
2875 if ( $from instanceof User ) {
2876 $sender = MailAddress::newFromUser( $from );
2877 } else {
2878 $sender = new MailAddress( $passwordSender,
2879 wfMessage( 'emailsender' )->inContentLanguage()->text() );
2880 }
2881 $to = MailAddress::newFromUser( $this );
2882
2883 if ( is_array( $body ) ) {
2884 $bodyText = $body['text'] ?? '';
2885 $bodyHtml = $body['html'] ?? null;
2886 } else {
2887 $bodyText = $body;
2888 $bodyHtml = null;
2889 }
2890
2891 return Status::wrap( MediaWikiServices::getInstance()->getEmailer()
2892 ->send(
2893 [ $to ],
2894 $sender,
2895 $subject,
2896 $bodyText,
2897 $bodyHtml,
2898 [ 'replyTo' => $replyto ]
2899 ) );
2900 }
2901
2912 protected function confirmationToken( &$expiration ) {
2913 $userEmailConfirmationTokenExpiry = MediaWikiServices::getInstance()
2914 ->getMainConfig()->get( MainConfigNames::UserEmailConfirmationTokenExpiry );
2915 $now = time();
2916 $expires = $now + $userEmailConfirmationTokenExpiry;
2917 $expiration = wfTimestamp( TS_MW, $expires );
2918 $this->load();
2919 $token = MWCryptRand::generateHex( 32 );
2920 $hash = md5( $token );
2921 $this->mEmailToken = $hash;
2922 $this->mEmailTokenExpires = $expiration;
2923 return $token;
2924 }
2925
2932 public static function isWellFormedConfirmationToken( string $token ): bool {
2933 return preg_match( '/^[a-f0-9]{32}$/', $token );
2934 }
2935
2941 protected function confirmationTokenUrl( $token ) {
2942 return $this->getTokenUrl( 'ConfirmEmail', $token );
2943 }
2944
2950 protected function invalidationTokenUrl( $token ) {
2951 return $this->getTokenUrl( 'InvalidateEmail', $token );
2952 }
2953
2968 protected function getTokenUrl( $page, $token ) {
2969 // Hack to bypass localization of 'Special:'
2970 $title = Title::makeTitle( NS_MAIN, "Special:$page/$token" );
2971 return $title->getCanonicalURL();
2972 }
2973
2981 public function confirmEmail() {
2982 // Check if it's already confirmed, so we don't touch the database
2983 // and fire the ConfirmEmailComplete hook on redundant confirmations.
2984 if ( !$this->isEmailConfirmed() ) {
2985 $this->setEmailAuthenticationTimestamp( wfTimestampNow() );
2986 $this->getHookRunner()->onConfirmEmailComplete( $this );
2987 }
2988 return true;
2989 }
2990
2998 public function invalidateEmail() {
2999 $this->load();
3000 $this->mEmailToken = null;
3001 $this->mEmailTokenExpires = null;
3002 $this->setEmailAuthenticationTimestamp( null );
3003 $this->mEmail = '';
3004 $this->getHookRunner()->onInvalidateEmailComplete( $this );
3005 return true;
3006 }
3007
3012 public function setEmailAuthenticationTimestamp( $timestamp ) {
3013 $this->load();
3014 $this->mEmailAuthenticated = $timestamp;
3015 $this->getHookRunner()->onUserSetEmailAuthenticationTimestamp(
3016 $this, $this->mEmailAuthenticated );
3017 }
3018
3026 public function canSendEmail() {
3027 wfDeprecated( __METHOD__, '1.41' );
3028 $permError = MediaWikiServices::getInstance()->getEmailUserFactory()
3029 ->newEmailUser( $this->getThisAsAuthority() )
3030 ->canSend();
3031 return $permError->isGood();
3032 }
3033
3039 public function canReceiveEmail() {
3040 $userOptionsLookup = MediaWikiServices::getInstance()
3041 ->getUserOptionsLookup();
3042 return $this->isEmailConfirmed() && !$userOptionsLookup->getOption( $this, 'disablemail' );
3043 }
3044
3055 public function isEmailConfirmed(): bool {
3056 $emailAuthentication = MediaWikiServices::getInstance()->getMainConfig()
3057 ->get( MainConfigNames::EmailAuthentication );
3058 $this->load();
3059 $confirmed = true;
3060 if ( $this->getHookRunner()->onEmailConfirmed( $this, $confirmed ) ) {
3061 return !$this->isAnon() &&
3062 Sanitizer::validateEmail( $this->getEmail() ) &&
3063 ( !$emailAuthentication || $this->getEmailAuthenticationTimestamp() );
3064 }
3065
3066 return $confirmed;
3067 }
3068
3073 public function isEmailConfirmationPending() {
3074 $emailAuthentication = MediaWikiServices::getInstance()->getMainConfig()
3075 ->get( MainConfigNames::EmailAuthentication );
3076 return $emailAuthentication &&
3077 !$this->isEmailConfirmed() &&
3078 $this->mEmailToken &&
3079 $this->mEmailTokenExpires > wfTimestamp();
3080 }
3081
3089 public function getRegistration() {
3090 if ( $this->isAnon() ) {
3091 return false;
3092 }
3093 $this->load();
3094 return $this->mRegistration;
3095 }
3096
3104 public static function getRightDescription( $right ) {
3105 $key = "right-$right";
3106 $msg = wfMessage( $key );
3107 return $msg->isDisabled() ? $right : $msg->text();
3108 }
3109
3117 public static function getRightDescriptionHtml( $right ) {
3118 return wfMessage( "right-$right" )->parse();
3119 }
3120
3134 public static function getQueryInfo() {
3135 $ret = [
3136 'tables' => [ 'user', 'user_actor' => 'actor' ],
3137 'fields' => [
3138 'user_id',
3139 'user_name',
3140 'user_real_name',
3141 'user_email',
3142 'user_touched',
3143 'user_token',
3144 'user_email_authenticated',
3145 'user_email_token',
3146 'user_email_token_expires',
3147 'user_registration',
3148 'user_editcount',
3149 'user_actor.actor_id',
3150 ],
3151 'joins' => [
3152 'user_actor' => [ 'JOIN', 'user_actor.actor_user = user_id' ],
3153 ],
3154 ];
3155
3156 return $ret;
3157 }
3158
3168 public static function newQueryBuilder( IReadableDatabase $db ) {
3169 return $db->newSelectQueryBuilder()
3170 ->select( [
3171 'user_id',
3172 'user_name',
3173 'user_real_name',
3174 'user_email',
3175 'user_touched',
3176 'user_token',
3177 'user_email_authenticated',
3178 'user_email_token',
3179 'user_email_token_expires',
3180 'user_registration',
3181 'user_editcount',
3182 'user_actor.actor_id',
3183 ] )
3184 ->from( 'user' )
3185 ->join( 'actor', 'user_actor', 'user_actor.actor_user = user_id' );
3186 }
3187
3198 public static function newFatalPermissionDeniedStatus( $permission ) {
3199 return Status::wrap( MediaWikiServices::getInstance()->getPermissionManager()
3200 ->newFatalPermissionDeniedStatus(
3201 $permission,
3202 RequestContext::getMain()
3203 ) );
3204 }
3205
3215 public function getInstanceForUpdate() {
3216 if ( !$this->getId() ) {
3217 return null; // anon
3218 }
3219
3220 $user = self::newFromId( $this->getId() );
3221 if ( !$user->loadFromId( IDBAccessObject::READ_EXCLUSIVE ) ) {
3222 return null;
3223 }
3224
3225 return $user;
3226 }
3227
3235 public function equals( ?UserIdentity $user ): bool {
3236 if ( !$user ) {
3237 return false;
3238 }
3239 // XXX it's not clear whether central ID providers are supposed to obey this
3240 return $this->getName() === $user->getName();
3241 }
3242
3248 public function getUser(): UserIdentity {
3249 return $this;
3250 }
3251
3259 public function probablyCan(
3260 string $action,
3261 PageIdentity $target,
3262 ?PermissionStatus $status = null
3263 ): bool {
3264 return $this->getThisAsAuthority()->probablyCan( $action, $target, $status );
3265 }
3266
3274 public function definitelyCan(
3275 string $action,
3276 PageIdentity $target,
3277 ?PermissionStatus $status = null
3278 ): bool {
3279 return $this->getThisAsAuthority()->definitelyCan( $action, $target, $status );
3280 }
3281
3290 public function isDefinitelyAllowed( string $action, ?PermissionStatus $status = null ): bool {
3291 return $this->getThisAsAuthority()->isDefinitelyAllowed( $action, $status );
3292 }
3293
3302 public function authorizeAction( string $action, ?PermissionStatus $status = null ): bool {
3303 return $this->getThisAsAuthority()->authorizeAction( $action, $status );
3304 }
3305
3313 public function authorizeRead(
3314 string $action,
3315 PageIdentity $target,
3316 ?PermissionStatus $status = null
3317 ): bool {
3318 return $this->getThisAsAuthority()->authorizeRead( $action, $target, $status );
3319 }
3320
3328 public function authorizeWrite(
3329 string $action, PageIdentity $target,
3330 ?PermissionStatus $status = null
3331 ): bool {
3332 return $this->getThisAsAuthority()->authorizeWrite( $action, $target, $status );
3333 }
3334
3340 private function getThisAsAuthority(): UserAuthority {
3341 if ( !$this->mThisAsAuthority ) {
3342 // TODO: For users that are not User::isGlobalSessionUser,
3343 // creating a UserAuthority here is incorrect, since it depends
3344 // on global WebRequest, but that is what we've used to do before Authority.
3345 // When PermissionManager is refactored into Authority, we need
3346 // to provide base implementation, based on just user groups/rights,
3347 // and use it here.
3348 $request = $this->getRequest();
3349 $uiContext = RequestContext::getMain();
3350
3351 $services = MediaWikiServices::getInstance();
3352 $this->mThisAsAuthority = new UserAuthority(
3353 $this,
3354 $request,
3355 $uiContext,
3356 $services->getPermissionManager(),
3357 $services->getRateLimiter(),
3358 $services->getFormatterFactory()->getBlockErrorFormatter( $uiContext )
3359 );
3360 }
3361
3362 return $this->mThisAsAuthority;
3363 }
3364
3369 private function isGlobalSessionUser(): bool {
3370 // The session user is set up towards the end of Setup.php. Until then,
3371 // assume it's a logged-out user.
3372 $sessionUser = RequestContext::getMain()->getUser();
3373 $globalUserName = $sessionUser->isSafeToLoad()
3374 ? $sessionUser->getName()
3375 : IPUtils::sanitizeIP( $sessionUser->getRequest()->getIP() );
3376
3377 return $this->getName() === $globalUserName;
3378 }
3379
3385 public function isTemp(): bool {
3386 if ( $this->isTemp === null ) {
3387 $this->isTemp = MediaWikiServices::getInstance()->getUserIdentityUtils()
3388 ->isTemp( $this );
3389 }
3390 return $this->isTemp;
3391 }
3392
3399 public function isNamed(): bool {
3400 return $this->isRegistered() && !$this->isTemp();
3401 }
3402}
3403
3405class_alias( User::class, 'User' );
const NS_USER
Definition Defines.php:67
const NS_MAIN
Definition Defines.php:65
wfDebug( $text, $dest='all', array $context=[])
Sends a line to the debug log if enabled or, optionally, to a comment in output.
wfTimestampOrNull( $outputtype=TS_UNIX, $ts=null)
Return a formatted timestamp, or null if input is null.
wfTimestampNow()
Convenience function; returns MediaWiki timestamp for the present time.
wfDeprecatedMsg( $msg, $version=false, $component=false, $callerOffset=2)
Log a deprecation warning with arbitrary message text.
wfLogWarning( $msg, $callerOffset=1, $level=E_USER_WARNING)
Send a warning as a PHP error and the debug log.
wfTimestamp( $outputtype=TS_UNIX, $ts=0)
Get a timestamp string in one of various formats.
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.
if(!defined( 'MW_NO_SESSION') &&MW_ENTRY_POINT !=='cli' $wgLang
Definition Setup.php:541
global $wgFullyInitialised
Definition Setup.php:569
array $params
The job parameters.
getCacheKey()
Get the cache key used to store status.
if(!defined('MW_SETUP_CALLBACK'))
Definition WebStart.php:81
const MW_ENTRY_POINT
Definition api.php:35
Handler class for MWExceptions.
Represent and format a single name and email address pair for SMTP.
This serves as the entry point to the authentication system.
This is a value object for authentication requests.
System blocks are temporary blocks that are created on enforcement (e.g.
Group all the pieces relevant to the context of a request into one instance.
Create PSR-3 logger objects.
A class containing constants representing the names of configuration variables.
const PasswordPolicy
Name constant for the PasswordPolicy setting, for use with Config::get()
This class contains schema declarations for all configuration variables known to MediaWiki core.
Service locator for MediaWiki core services.
static getInstance()
Returns the global default instance of the top level service locator.
HTML sanitizer for MediaWiki.
Definition Sanitizer.php:46
Factory class for creating and checking Password objects.
Check if a user's password complies with any password policies that apply to that user,...
A StatusValue for permission errors.
Represents the subject that rate limits are applied to.
Represents the authority of a given User.
The WebRequest class encapsulates getting at data passed in the URL or via a POSTed form,...
This serves as the entry point to the MediaWiki session handling system.
Value object representing a CSRF token.
Definition Token.php:34
Generic operation result class Has warning/error list, boolean status and arbitrary value.
Definition Status.php:54
Represents a title within MediaWiki.
Definition Title.php:78
Value object representing a logged-out user's edit token.
getOption(UserIdentity $user, string $oname, $defaultOverride=null, bool $ignoreHidden=false, int $queryFlags=IDBAccessObject::READ_NORMAL)
Get the user's current setting for a given option.
static newFromIDs( $ids)
Definition UserArray.php:59
Value object representing a user's identity.
internal since 1.36
Definition User.php:94
spreadBlock()
If this (non-anonymous) user is blocked, block the IP address they've successfully logged in from.
Definition User.php:2671
authorizeAction(string $action, ?PermissionStatus $status=null)
Authorize an action.This should be used immediately before performing the action.Calling this method ...
Definition User.php:3302
makeUpdateConditions(IReadableDatabase $db, array $conditions)
Builds update conditions.
Definition User.php:1271
isAllowedToCreateAccount()
Get whether the user is allowed to create an account.
Definition User.php:2716
string null $mDatePreference
Lazy-initialized variables, invalidated with clearInstanceCache.
Definition User.php:212
touch()
Update the "touched" timestamp for the user.
Definition User.php:1740
isAllowed(string $permission, ?PermissionStatus $status=null)
Checks whether this authority has the given permission in general.
Definition User.php:2181
static newFromConfirmationCode( $code, $flags=IDBAccessObject::READ_NORMAL)
Factory method to fetch whichever user has a given email confirmation code.
Definition User.php:711
& __get( $name)
Definition User.php:271
logout()
Log this user out.
Definition User.php:2320
getRegistration()
Get the timestamp of account creation.
Definition User.php:3089
getWikiId()
Returns self::LOCAL to indicate the user is associated with the local wiki.
Definition User.php:260
int $queryFlagsUsed
IDBAccessObject::READ_* constant bitfield used to load data.
Definition User.php:224
useRCPatrol()
Check whether to enable recent changes patrol features for this user.
Definition User.php:2189
isAllowedAny(... $permissions)
Checks whether this authority has any of the given permissions in general.
Definition User.php:2173
const READ_EXCLUSIVE
Definition User.php:102
requiresHTTPS()
Determine based on the wiki configuration and the user's options, whether this user must be over HTTP...
Definition User.php:2089
getEditTokenObject( $salt='', $request=null)
Initialize (if necessary) and return a session token value which can be used in edit forms to show th...
Definition User.php:2763
getEditToken( $salt='', $request=null)
Initialize (if necessary) and return a session token value which can be used in edit forms to show th...
Definition User.php:2788
confirmationToken(&$expiration)
Generate, store, and return a new e-mail confirmation code.
Definition User.php:2912
static findUsersByGroup( $groups, $limit=5000, $after=null)
Return the users who are members of the given group(s).
Definition User.php:924
setToken( $token=false)
Set the random token (used for persistent authentication) Called from loadDefaults() among other plac...
Definition User.php:1878
canReceiveEmail()
Is this user allowed to receive e-mails within limits of current site configuration?
Definition User.php:3039
getId( $wikiId=self::LOCAL)
Get the user's ID.
Definition User.php:1543
getCacheKey(WANObjectCache $cache)
Definition User.php:493
loadFromCache()
Load user data from shared cache, given mId has already been set.
Definition User.php:506
getDBTouched()
Get the user_touched timestamp field (time of last DB updates)
Definition User.php:1789
clearInstanceCache( $reloadFrom=false)
Clear various cached data stored in this object.
Definition User.php:1328
checkPasswordValidity( $password)
Check if this is a valid password for this user.
Definition User.php:977
static string[] $mCacheVars
List of member variables which are saved to the shared cache (memcached).
Definition User.php:138
authorizeRead(string $action, PageIdentity $target, ?PermissionStatus $status=null)
Definition User.php:3313
getExperienceLevel()
Compute experienced level based on edit count and registration date.
Definition User.php:2239
isNamed()
Is the user a normal non-temporary registered user?
Definition User.php:3399
setEmailWithConfirmation(string $str)
Set the user's e-mail address and send a confirmation mail if needed.
Definition User.php:1935
loadFromUserObject( $user)
Load the data for this user object from another user object.
Definition User.php:1255
getUserPage()
Get this user's personal page title.
Definition User.php:2725
isSafeToLoad()
Test if it's safe to load this User object.
Definition User.php:332
isEmailConfirmed()
Is this user's e-mail address valid-looking and confirmed within limits of the current site configura...
Definition User.php:3055
static whoIsReal( $id)
Get the real name of a user given their user ID.
Definition User.php:909
getGlobalBlock( $ip='')
Check if user is blocked on all wikis.
Definition User.php:1487
invalidationTokenUrl( $token)
Return a URL the user can use to invalidate their email address.
Definition User.php:2950
isPingLimitable()
Is this user subject to rate limiting?
Definition User.php:1378
confirmEmail()
Mark the e-mail address confirmed.
Definition User.php:2981
isNewbie()
Determine whether the user is a newbie.
Definition User.php:2746
resetTokenFromOption( $oname)
Reset a token stored in the preferences (like the watchlist one).
Definition User.php:2049
isBlockedFromEmailuser()
Get whether the user is blocked from using Special:Emailuser.
Definition User.php:2695
getTokenUrl( $page, $token)
Internal function to format the e-mail validation/invalidation URLs.
Definition User.php:2968
isLocked()
Check if user account is locked.
Definition User.php:1518
isBlockedFromUpload()
Get whether the user is blocked from using Special:Upload.
Definition User.php:2707
static newQueryBuilder(IReadableDatabase $db)
Get a SelectQueryBuilder with the tables, fields and join conditions needed to create a new User obje...
Definition User.php:3168
setCookies( $request=null, $secure=null, $rememberMe=false)
Persist this user's session (e.g.
Definition User.php:2283
int $mId
Cache variables.
Definition User.php:159
addToDatabase()
Add this existing user object to the database.
Definition User.php:2573
getBlock( $freshness=IDBAccessObject::READ_NORMAL, $disableIpBlockExemptChecking=false)
Get the block affecting the user, or null if the user is not blocked.
Definition User.php:1428
setEmail(string $str)
Set the user's e-mail address.
Definition User.php:1918
static newFatalPermissionDeniedStatus( $permission)
Factory function for fatal permission-denied errors.
Definition User.php:3198
static purge( $dbDomain, $userId)
Definition User.php:482
string $mFrom
Initialization data source if mLoadedItems!==true.
Definition User.php:206
isBlockedGlobally( $ip='')
Check if user is blocked on all wikis.
Definition User.php:1473
probablyCan(string $action, PageIdentity $target, ?PermissionStatus $status=null)
Definition User.php:3259
static newFromActorId( $id)
Static factory method for creation from a given actor ID.
Definition User.php:641
loadFromRow( $row, $data=null)
Initialize this object from a row from the user table.
Definition User.php:1148
checkAndSetTouched()
Bump user_touched if it didn't change since this object was loaded.
Definition User.php:1290
load( $flags=IDBAccessObject::READ_NORMAL)
Load the user table data for this object from the source given by mFrom.
Definition User.php:349
loadFromDatabase( $flags=IDBAccessObject::READ_LATEST)
Load user data from the database.
Definition User.php:1102
getEditCount()
Get the user's edit count.
Definition User.php:2110
doLogout()
Clear the user's session, and reset the instance cache.
Definition User.php:2330
string false $mHash
Definition User.php:214
getDatePreference()
Get the user's preferred date format.
Definition User.php:2067
clearSharedCache( $mode='refresh')
Clear user data from memcached.
Definition User.php:1697
static newFromId( $id)
Static factory method for creation from a given user ID.
Definition User.php:624
setActorId(int $actorId)
Sets the actor id.
Definition User.php:1659
setItemLoaded( $item)
Set that an item has been loaded.
Definition User.php:1065
static newSystemUser( $name, $options=[])
Static factory method for creation of a "system" user from username.
Definition User.php:796
loadFromId( $flags=IDBAccessObject::READ_NORMAL)
Load user table data, given mId has already been set.
Definition User.php:452
static newFromRow( $row, $data=null)
Create a new user object from a user row.
Definition User.php:746
isAnon()
Get whether the user is anonymous.
Definition User.php:2132
sendMail( $subject, $body, $from=null, $replyto=null)
Send an e-mail to this user's account.
Definition User.php:2871
changeAuthenticationData(array $data)
Changes credentials of the user.
Definition User.php:1807
static newFromAnyId( $userId, $userName, $actorId, $dbDomain=false)
Static factory method for creation from an ID, name, and/or actor ID.
Definition User.php:690
definitelyCan(string $action, PageIdentity $target, ?PermissionStatus $status=null)
Definition User.php:3274
string $mRealName
Definition User.php:169
isSystemUser()
Get whether the user is a system user.
Definition User.php:2163
isItemLoaded( $item, $all='all')
Return whether an item has been loaded.
Definition User.php:1053
const TOKEN_LENGTH
Number of characters required for the user_token field.
Definition User.php:112
setId( $v)
Set the user and reload all fields according to a given ID.
Definition User.php:1567
string null $mToken
Definition User.php:178
isAllowedAll(... $permissions)
Checks whether this authority has any of the given permissions in general.
Definition User.php:2177
getInstanceForUpdate()
Get a new instance of this user that was loaded from the primary DB via a locking read.
Definition User.php:3215
getTokenFromOption( $oname)
Get a token stored in the preferences (like the watchlist one), resetting it if it's empty (and savin...
Definition User.php:2018
isDefinitelyAllowed(string $action, ?PermissionStatus $status=null)
Checks whether this authority is allowed to perform the given action.This method performs a thorough ...
Definition User.php:3290
static getQueryInfo()
Return the tables, fields, and join conditions to be selected to create a new user object.
Definition User.php:3134
__construct()
Lightweight constructor for an anonymous user.
Definition User.php:250
equals(?UserIdentity $user)
Checks if two user objects point to the same user.
Definition User.php:3235
isTemp()
Is the user an autocreated temporary user?
Definition User.php:3385
const MAINTENANCE_SCRIPT_USER
Username used for various maintenance scripts.
Definition User.php:129
isEmailConfirmationPending()
Check whether there is an outstanding request for e-mail confirmation.
Definition User.php:3073
getRealName()
Get the user's real name.
Definition User.php:1991
string $mTouched
TS_MW timestamp from the DB.
Definition User.php:174
AbstractBlock $mGlobalBlock
Definition User.php:216
getTitleKey()
Get the user's name escaped by underscores.
Definition User.php:1668
string null $mEmailTokenExpires
Definition User.php:184
getActorId( $dbwOrWikiId=self::LOCAL)
Get the user's actor ID.
Definition User.php:1622
string null $mQuickTouched
TS_MW timestamp from cache.
Definition User.php:176
validateCache( $timestamp)
Validate the cache for this account.
Definition User.php:1755
getEmailAuthenticationTimestamp()
Get the timestamp of the user's e-mail authentication.
Definition User.php:1907
authorizeWrite(string $action, PageIdentity $target, ?PermissionStatus $status=null)
Definition User.php:3328
__set( $name, $value)
Definition User.php:292
confirmationTokenUrl( $token)
Return a URL the user can use to confirm their email address.
Definition User.php:2941
useFilePatrol()
Check whether to enable new files patrol features for this user.
Definition User.php:2214
static newFromSession(?WebRequest $request=null)
Create a new user object using data from session.
Definition User.php:724
canSendEmail()
Is this user allowed to send e-mails within limits of current site configuration?
Definition User.php:3026
static isWellFormedConfirmationToken(string $token)
Check if the given email confirmation token is well-formed (to detect mangling by email clients).
Definition User.php:2932
static createNew( $name, $params=[])
Add a user to the database, return the user object.
Definition User.php:2478
getRequest()
Get the WebRequest object to use with this object.
Definition User.php:2230
string null $mRegistration
Definition User.php:186
saveSettings()
Save this user's settings into the database.
Definition User.php:2366
loadDefaults( $name=false, $actorId=null)
Set cached properties to default.
Definition User.php:1016
useNPPatrol()
Check whether to enable new pages patrol features for this user.
Definition User.php:2199
const INVALID_TOKEN
An invalid string value for the user_token field.
Definition User.php:117
pingLimiter( $action='edit', $incrBy=1)
Primitive rate limits: enforce maximum actions per time period to put a brake on flooding.
Definition User.php:1399
matchEditToken( $val, $salt='', $request=null, $maxage=null)
Check given value against the token value stored in the session.
Definition User.php:2805
invalidateEmail()
Invalidate the user's e-mail confirmation, and unauthenticate the e-mail address if it was already co...
Definition User.php:2998
isRegistered()
Get whether the user is registered.
Definition User.php:2124
getTalkPage()
Get this user's talk page title.
Definition User.php:2734
static newFromIdentity(UserIdentity $identity)
Returns a User object corresponding to the given UserIdentity.
Definition User.php:660
string null $mEmailToken
Definition User.php:182
int null $mActorId
Switched from protected to public for use in UserFactory.
Definition User.php:167
getToken( $forceCreation=true)
Get the user's current token.
Definition User.php:1834
setEmailAuthenticationTimestamp( $timestamp)
Set the e-mail authentication timestamp.
Definition User.php:3012
isHidden()
Check if user account is hidden.
Definition User.php:1533
static getRightDescription( $right)
Get the description of a given right as wikitext.
Definition User.php:3104
setName( $str)
Set the user name.
Definition User.php:1604
static getRightDescriptionHtml( $right)
Get the description of a given right as rendered HTML.
Definition User.php:3117
string null $mEmailAuthenticated
Definition User.php:180
static whoIs( $id)
Get the username corresponding to a given user ID.
Definition User.php:897
isValidPassword( $password)
Is the input a valid password for this user?
Definition User.php:951
getEmail()
Get the user's e-mail address.
Definition User.php:1894
getName()
Get the user name, or the IP of an anonymous user.
Definition User.php:1576
setRealName(string $str)
Set the user's real name.
Definition User.php:2003
spreadAnyEditBlock()
If this user is logged-in and blocked, block any IP address they've successfully logged in from.
Definition User.php:2651
getTouched()
Get the user touched timestamp.
Definition User.php:1767
static newFromName( $name, $validate='valid')
Definition User.php:590
invalidateCache()
Immediately touch the user data cache for this account.
Definition User.php:1723
idForName( $flags=IDBAccessObject::READ_NORMAL)
If only this user's username is known, and it exists, return the user ID.
Definition User.php:2445
sendConfirmationMail( $type='created')
Generate a new e-mail confirmation token and send a confirmation/invalidation mail to the user's give...
Definition User.php:2816
array bool $mLoadedItems
Array with already loaded items or true if all items have been loaded.
Definition User.php:193
Multi-datacenter aware caching interface.
makeGlobalKey( $keygroup,... $components)
Base class for the more common types of database errors.
static getCacheSetOptions(?IReadableDatabase ... $dbs)
Merge the result of getSessionLagStatus() for several DBs using the most pessimistic values to estima...
Build SELECT queries with a fluent interface.
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 => '🈫',]
Represents a block that may prevent users from performing specific operations.
Definition Block.php:45
Interface for objects (potentially) representing an editable wiki page.
This interface represents the authority associated with the current execution context,...
Definition Authority.php:37
Interface for objects representing user identity.
const RIGOR_VALID
Check that a user name is valid for batch processes.
const RIGOR_NONE
No validation at all.
const RIGOR_CREATABLE
Check that a user name is valid for batch processes, login and account creation.
const RIGOR_USABLE
Check that a user name is valid for batch processes and login.
Interface for database access objects.
Interface to a relational database.
Definition IDatabase.php:48
newUpdateQueryBuilder()
Get an UpdateQueryBuilder bound to this connection.
affectedRows()
Get the number of rows affected by the last query method call.
insertId()
Get the sequence-based ID assigned by the last query method call.
newInsertQueryBuilder()
Get an InsertQueryBuilder bound to this connection.
A database connection without write operations.
newSelectQueryBuilder()
Create an empty SelectQueryBuilder which can be used to run queries against this connection.
timestamp( $ts=0)
Convert a timestamp in one of the formats accepted by ConvertibleTimestamp to the format used for ins...
timestampOrNull( $ts=null)
Convert a timestamp in one of the formats accepted by ConvertibleTimestamp to the format used for ins...
const MW_NO_SESSION
Definition load.php:32
Utility class for bot passwords.