divisor.acestep.models.lyrics_utils.zh_num2words

   1# Authors:
   2#   2019.5 Zhiyang Zhou (https://github.com/Joee1995/chn_text_norm.git)
   3#   2019.9 - 2022 Jiayu DU
   4# copy from https://github.com/coqui-ai/TTS/blob/dbf1a08a0d4e47fdad6172e433eeb34bc6b13b4e/TTS/tts/layers/xtts/zh_num2words.py
   5import argparse
   6import csv
   7import os
   8import re
   9import string
  10import sys
  11
  12# fmt: off
  13
  14# ================================================================================ #
  15#                                    basic constant
  16# ================================================================================ #
  17CHINESE_DIGIS = "零一二三四五六七八九"
  18BIG_CHINESE_DIGIS_SIMPLIFIED = "零壹贰叁肆伍陆柒捌玖"
  19BIG_CHINESE_DIGIS_TRADITIONAL = "零壹貳參肆伍陸柒捌玖"
  20SMALLER_BIG_CHINESE_UNITS_SIMPLIFIED = "十百千万"
  21SMALLER_BIG_CHINESE_UNITS_TRADITIONAL = "拾佰仟萬"
  22LARGER_CHINESE_NUMERING_UNITS_SIMPLIFIED = "亿兆京垓秭穰沟涧正载"
  23LARGER_CHINESE_NUMERING_UNITS_TRADITIONAL = "億兆京垓秭穰溝澗正載"
  24SMALLER_CHINESE_NUMERING_UNITS_SIMPLIFIED = "十百千万"
  25SMALLER_CHINESE_NUMERING_UNITS_TRADITIONAL = "拾佰仟萬"
  26
  27ZERO_ALT = "〇"
  28ONE_ALT = "幺"
  29TWO_ALTS = ["两", "兩"]
  30
  31POSITIVE = ["正", "正"]
  32NEGATIVE = ["负", "負"]
  33POINT = ["点", "點"]
  34# PLUS = [u'加', u'加']
  35# SIL = [u'杠', u'槓']
  36
  37FILLER_CHARS = ["呃", "啊"]
  38
  39ER_WHITELIST = (
  40    "(儿女|儿子|儿孙|女儿|儿媳|妻儿|"
  41    "胎儿|婴儿|新生儿|婴幼儿|幼儿|少儿|小儿|儿歌|儿童|儿科|托儿所|孤儿|"
  42    "儿戏|儿化|台儿庄|鹿儿岛|正儿八经|吊儿郎当|生儿育女|托儿带女|养儿防老|痴儿呆女|"
  43    "佳儿佳妇|儿怜兽扰|儿无常父|儿不嫌母丑|儿行千里母担忧|儿大不由爷|苏乞儿)"
  44)
  45ER_WHITELIST_PATTERN = re.compile(ER_WHITELIST)
  46
  47# 中文数字系统类型
  48NUMBERING_TYPES = ["low", "mid", "high"]
  49
  50CURRENCY_NAMES = "(人民币|美元|日元|英镑|欧元|马克|法郎|加拿大元|澳元|港币|先令|芬兰马克|爱尔兰镑|" "里拉|荷兰盾|埃斯库多|比塞塔|印尼盾|林吉特|新西兰元|比索|卢布|新加坡元|韩元|泰铢)"
  51CURRENCY_UNITS = "((亿|千万|百万|万|千|百)|(亿|千万|百万|万|千|百|)元|(亿|千万|百万|万|千|百|)块|角|毛|分)"
  52COM_QUANTIFIERS = (
  53    "(匹|张|座|回|场|尾|条|个|首|阙|阵|网|炮|顶|丘|棵|只|支|袭|辆|挑|担|颗|壳|窠|曲|墙|群|腔|"
  54    "砣|座|客|贯|扎|捆|刀|令|打|手|罗|坡|山|岭|江|溪|钟|队|单|双|对|出|口|头|脚|板|跳|枝|件|贴|"
  55    "针|线|管|名|位|身|堂|课|本|页|家|户|层|丝|毫|厘|分|钱|两|斤|担|铢|石|钧|锱|忽|(千|毫|微)克|"
  56    "毫|厘|分|寸|尺|丈|里|寻|常|铺|程|(千|分|厘|毫|微)米|撮|勺|合|升|斗|石|盘|碗|碟|叠|桶|笼|盆|"
  57    "盒|杯|钟|斛|锅|簋|篮|盘|桶|罐|瓶|壶|卮|盏|箩|箱|煲|啖|袋|钵|年|月|日|季|刻|时|周|天|秒|分|旬|"
  58    "纪|岁|世|更|夜|春|夏|秋|冬|代|伏|辈|丸|泡|粒|颗|幢|堆|条|根|支|道|面|片|张|颗|块)"
  59)
  60
  61
  62# Punctuation information are based on Zhon project (https://github.com/tsroten/zhon.git)
  63CN_PUNCS_STOP = "!?。。"
  64CN_PUNCS_NONSTOP = ""#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、、〃《》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘’‛“”„‟…‧﹏·〈〉-"
  65CN_PUNCS = CN_PUNCS_STOP + CN_PUNCS_NONSTOP
  66
  67PUNCS = CN_PUNCS + string.punctuation
  68PUNCS_TRANSFORM = str.maketrans(PUNCS, "," * len(PUNCS), "")  # replace puncs with English comma
  69
  70
  71# https://zh.wikipedia.org/wiki/全行和半行
  72QJ2BJ = {
  73    " ": " ",
  74    "!": "!",
  75    """: '"',
  76    "#": "#",
  77    "$": "$",
  78    "%": "%",
  79    "&": "&",
  80    "'": "'",
  81    "(": "(",
  82    ")": ")",
  83    "*": "*",
  84    "+": "+",
  85    ",": ",",
  86    "-": "-",
  87    ".": ".",
  88    "/": "/",
  89    "0": "0",
  90    "1": "1",
  91    "2": "2",
  92    "3": "3",
  93    "4": "4",
  94    "5": "5",
  95    "6": "6",
  96    "7": "7",
  97    "8": "8",
  98    "9": "9",
  99    ":": ":",
 100    ";": ";",
 101    "<": "<",
 102    "=": "=",
 103    ">": ">",
 104    "?": "?",
 105    "@": "@",
 106    "A": "A",
 107    "B": "B",
 108    "C": "C",
 109    "D": "D",
 110    "E": "E",
 111    "F": "F",
 112    "G": "G",
 113    "H": "H",
 114    "I": "I",
 115    "J": "J",
 116    "K": "K",
 117    "L": "L",
 118    "M": "M",
 119    "N": "N",
 120    "O": "O",
 121    "P": "P",
 122    "Q": "Q",
 123    "R": "R",
 124    "S": "S",
 125    "T": "T",
 126    "U": "U",
 127    "V": "V",
 128    "W": "W",
 129    "X": "X",
 130    "Y": "Y",
 131    "Z": "Z",
 132    "[": "[",
 133    "\": "\\",
 134    "]": "]",
 135    "^": "^",
 136    "_": "_",
 137    "`": "`",
 138    "a": "a",
 139    "b": "b",
 140    "c": "c",
 141    "d": "d",
 142    "e": "e",
 143    "f": "f",
 144    "g": "g",
 145    "h": "h",
 146    "i": "i",
 147    "j": "j",
 148    "k": "k",
 149    "l": "l",
 150    "m": "m",
 151    "n": "n",
 152    "o": "o",
 153    "p": "p",
 154    "q": "q",
 155    "r": "r",
 156    "s": "s",
 157    "t": "t",
 158    "u": "u",
 159    "v": "v",
 160    "w": "w",
 161    "x": "x",
 162    "y": "y",
 163    "z": "z",
 164    "{": "{",
 165    "|": "|",
 166    "}": "}",
 167    "~": "~",
 168}
 169QJ2BJ_TRANSFORM = str.maketrans("".join(QJ2BJ.keys()), "".join(QJ2BJ.values()), "")
 170
 171
 172# 2013 China National Standard: https://zh.wikipedia.org/wiki/通用规范汉字表, raw resources:
 173#   https://github.com/mozillazg/pinyin-data/blob/master/kMandarin_8105.txt with 8105 chinese chars in total
 174CN_CHARS_COMMON = (
 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)
 379CN_CHARS_EXT = "吶诶屌囧飚屄"
 380
 381CN_CHARS = CN_CHARS_COMMON + CN_CHARS_EXT
 382IN_CH_CHARS = {c: True for c in CN_CHARS}
 383
 384EN_CHARS = string.ascii_letters + string.digits
 385IN_EN_CHARS = {c: True for c in EN_CHARS}
 386
 387VALID_CHARS = CN_CHARS + EN_CHARS + " "
 388IN_VALID_CHARS = {c: True for c in VALID_CHARS}
 389
 390
 391# ================================================================================ #
 392#                                    basic class
 393# ================================================================================ #
 394class ChineseChar(object):
 395    """
 396    中文字符
 397    每个字符对应简体和繁体,
 398    e.g. 简体 = '负', 繁体 = '負'
 399    转换时可转换为简体或繁体
 400    """
 401
 402    def __init__(self, simplified, traditional):
 403        self.simplified = simplified
 404        self.traditional = traditional
 405        # self.__repr__ = self.__str__
 406
 407    def __str__(self):
 408        return self.simplified or self.traditional or None
 409
 410    def __repr__(self):
 411        return self.__str__()
 412
 413
 414class ChineseNumberUnit(ChineseChar):
 415    """
 416    中文数字/数位字符
 417    每个字符除繁简体外还有一个额外的大写字符
 418    e.g. '陆' 和 '陸'
 419    """
 420
 421    def __init__(self, power, simplified, traditional, big_s, big_t):
 422        super(ChineseNumberUnit, self).__init__(simplified, traditional)
 423        self.power = power
 424        self.big_s = big_s
 425        self.big_t = big_t
 426
 427    def __str__(self):
 428        return "10^{}".format(self.power)
 429
 430    @classmethod
 431    def create(cls, index, value, numbering_type=NUMBERING_TYPES[1], small_unit=False):
 432        if small_unit:
 433            return ChineseNumberUnit(
 434                power=index + 1, simplified=value[0], traditional=value[1], big_s=value[1], big_t=value[1]
 435            )
 436        elif numbering_type == NUMBERING_TYPES[0]:
 437            return ChineseNumberUnit(
 438                power=index + 8, simplified=value[0], traditional=value[1], big_s=value[0], big_t=value[1]
 439            )
 440        elif numbering_type == NUMBERING_TYPES[1]:
 441            return ChineseNumberUnit(
 442                power=(index + 2) * 4, simplified=value[0], traditional=value[1], big_s=value[0], big_t=value[1]
 443            )
 444        elif numbering_type == NUMBERING_TYPES[2]:
 445            return ChineseNumberUnit(
 446                power=pow(2, index + 3), simplified=value[0], traditional=value[1], big_s=value[0], big_t=value[1]
 447            )
 448        else:
 449            raise ValueError("Counting type should be in {0} ({1} provided).".format(NUMBERING_TYPES, numbering_type))
 450
 451
 452class ChineseNumberDigit(ChineseChar):
 453    """
 454    中文数字字符
 455    """
 456
 457    def __init__(self, value, simplified, traditional, big_s, big_t, alt_s=None, alt_t=None):
 458        super(ChineseNumberDigit, self).__init__(simplified, traditional)
 459        self.value = value
 460        self.big_s = big_s
 461        self.big_t = big_t
 462        self.alt_s = alt_s
 463        self.alt_t = alt_t
 464
 465    def __str__(self):
 466        return str(self.value)
 467
 468    @classmethod
 469    def create(cls, i, v):
 470        return ChineseNumberDigit(i, v[0], v[1], v[2], v[3])
 471
 472
 473class ChineseMath(ChineseChar):
 474    """
 475    中文数位字符
 476    """
 477
 478    def __init__(self, simplified, traditional, symbol, expression=None):
 479        super(ChineseMath, self).__init__(simplified, traditional)
 480        self.symbol = symbol
 481        self.expression = expression
 482        self.big_s = simplified
 483        self.big_t = traditional
 484
 485
 486CC, CNU, CND, CM = ChineseChar, ChineseNumberUnit, ChineseNumberDigit, ChineseMath
 487
 488
 489class NumberSystem(object):
 490    """
 491    中文数字系统
 492    """
 493
 494    pass
 495
 496
 497class MathSymbol(object):
 498    """
 499    用于中文数字系统的数学符号 (繁/简体), e.g.
 500    positive = ['正', '正']
 501    negative = ['负', '負']
 502    point = ['点', '點']
 503    """
 504
 505    def __init__(self, positive, negative, point):
 506        self.positive = positive
 507        self.negative = negative
 508        self.point = point
 509
 510    def __iter__(self):
 511        for v in self.__dict__.values():
 512            yield v
 513
 514
 515# class OtherSymbol(object):
 516#     """
 517#     其他符号
 518#     """
 519#
 520#     def __init__(self, sil):
 521#         self.sil = sil
 522#
 523#     def __iter__(self):
 524#         for v in self.__dict__.values():
 525#             yield v
 526
 527
 528# ================================================================================ #
 529#                                    basic utils
 530# ================================================================================ #
 531def create_system(numbering_type=NUMBERING_TYPES[1]):
 532    """
 533    根据数字系统类型返回创建相应的数字系统,默认为 mid
 534    NUMBERING_TYPES = ['low', 'mid', 'high']: 中文数字系统类型
 535        low:  '兆' = '亿' * '十' = $10^{9}$,  '京' = '兆' * '十', etc.
 536        mid:  '兆' = '亿' * '万' = $10^{12}$, '京' = '兆' * '万', etc.
 537        high: '兆' = '亿' * '亿' = $10^{16}$, '京' = '兆' * '兆', etc.
 538    返回对应的数字系统
 539    """
 540
 541    # chinese number units of '亿' and larger
 542    all_larger_units = zip(LARGER_CHINESE_NUMERING_UNITS_SIMPLIFIED, LARGER_CHINESE_NUMERING_UNITS_TRADITIONAL)
 543    larger_units = [CNU.create(i, v, numbering_type, False) for i, v in enumerate(all_larger_units)]
 544    # chinese number units of '十, 百, 千, 万'
 545    all_smaller_units = zip(SMALLER_CHINESE_NUMERING_UNITS_SIMPLIFIED, SMALLER_CHINESE_NUMERING_UNITS_TRADITIONAL)
 546    smaller_units = [CNU.create(i, v, small_unit=True) for i, v in enumerate(all_smaller_units)]
 547    # digis
 548    chinese_digis = zip(CHINESE_DIGIS, CHINESE_DIGIS, BIG_CHINESE_DIGIS_SIMPLIFIED, BIG_CHINESE_DIGIS_TRADITIONAL)
 549    digits = [CND.create(i, v) for i, v in enumerate(chinese_digis)]
 550    digits[0].alt_s, digits[0].alt_t = ZERO_ALT, ZERO_ALT
 551    digits[1].alt_s, digits[1].alt_t = ONE_ALT, ONE_ALT
 552    digits[2].alt_s, digits[2].alt_t = TWO_ALTS[0], TWO_ALTS[1]
 553
 554    # symbols
 555    positive_cn = CM(POSITIVE[0], POSITIVE[1], "+", lambda x: x)
 556    negative_cn = CM(NEGATIVE[0], NEGATIVE[1], "-", lambda x: -x)
 557    point_cn = CM(POINT[0], POINT[1], ".", lambda x, y: float(str(x) + "." + str(y)))
 558    # sil_cn = CM(SIL[0], SIL[1], '-', lambda x, y: float(str(x) + '-' + str(y)))
 559    system = NumberSystem()
 560    system.units = smaller_units + larger_units
 561    system.digits = digits
 562    system.math = MathSymbol(positive_cn, negative_cn, point_cn)
 563    # system.symbols = OtherSymbol(sil_cn)
 564    return system
 565
 566
 567def chn2num(chinese_string, numbering_type=NUMBERING_TYPES[1]):
 568    def get_symbol(char, system):
 569        for u in system.units:
 570            if char in [u.traditional, u.simplified, u.big_s, u.big_t]:
 571                return u
 572        for d in system.digits:
 573            if char in [d.traditional, d.simplified, d.big_s, d.big_t, d.alt_s, d.alt_t]:
 574                return d
 575        for m in system.math:
 576            if char in [m.traditional, m.simplified]:
 577                return m
 578
 579    def string2symbols(chinese_string, system):
 580        int_string, dec_string = chinese_string, ""
 581        for p in [system.math.point.simplified, system.math.point.traditional]:
 582            if p in chinese_string:
 583                int_string, dec_string = chinese_string.split(p)
 584                break
 585        return [get_symbol(c, system) for c in int_string], [get_symbol(c, system) for c in dec_string]
 586
 587    def correct_symbols(integer_symbols, system):
 588        """
 589        一百八 to 一百八十
 590        一亿一千三百万 to 一亿 一千万 三百万
 591        """
 592
 593        if integer_symbols and isinstance(integer_symbols[0], CNU):
 594            if integer_symbols[0].power == 1:
 595                integer_symbols = [system.digits[1]] + integer_symbols
 596
 597        if len(integer_symbols) > 1:
 598            if isinstance(integer_symbols[-1], CND) and isinstance(integer_symbols[-2], CNU):
 599                integer_symbols.append(CNU(integer_symbols[-2].power - 1, None, None, None, None))
 600
 601        result = []
 602        unit_count = 0
 603        for s in integer_symbols:
 604            if isinstance(s, CND):
 605                result.append(s)
 606                unit_count = 0
 607            elif isinstance(s, CNU):
 608                current_unit = CNU(s.power, None, None, None, None)
 609                unit_count += 1
 610
 611            if unit_count == 1:
 612                result.append(current_unit)
 613            elif unit_count > 1:
 614                for i in range(len(result)):
 615                    if isinstance(result[-i - 1], CNU) and result[-i - 1].power < current_unit.power:
 616                        result[-i - 1] = CNU(result[-i - 1].power + current_unit.power, None, None, None, None)
 617        return result
 618
 619    def compute_value(integer_symbols):
 620        """
 621        Compute the value.
 622        When current unit is larger than previous unit, current unit * all previous units will be used as all previous units.
 623        e.g. '两千万' = 2000 * 10000 not 2000 + 10000
 624        """
 625        value = [0]
 626        last_power = 0
 627        for s in integer_symbols:
 628            if isinstance(s, CND):
 629                value[-1] = s.value
 630            elif isinstance(s, CNU):
 631                value[-1] *= pow(10, s.power)
 632                if s.power > last_power:
 633                    value[:-1] = list(map(lambda v: v * pow(10, s.power), value[:-1]))
 634                    last_power = s.power
 635                value.append(0)
 636        return sum(value)
 637
 638    system = create_system(numbering_type)
 639    int_part, dec_part = string2symbols(chinese_string, system)
 640    int_part = correct_symbols(int_part, system)
 641    int_str = str(compute_value(int_part))
 642    dec_str = "".join([str(d.value) for d in dec_part])
 643    if dec_part:
 644        return "{0}.{1}".format(int_str, dec_str)
 645    else:
 646        return int_str
 647
 648
 649def num2chn(
 650    number_string,
 651    numbering_type=NUMBERING_TYPES[1],
 652    big=False,
 653    traditional=False,
 654    alt_zero=False,
 655    alt_one=False,
 656    alt_two=True,
 657    use_zeros=True,
 658    use_units=True,
 659):
 660    def get_value(value_string, use_zeros=True):
 661        striped_string = value_string.lstrip("0")
 662
 663        # record nothing if all zeros
 664        if not striped_string:
 665            return []
 666
 667        # record one digits
 668        elif len(striped_string) == 1:
 669            if use_zeros and len(value_string) != len(striped_string):
 670                return [system.digits[0], system.digits[int(striped_string)]]
 671            else:
 672                return [system.digits[int(striped_string)]]
 673
 674        # recursively record multiple digits
 675        else:
 676            result_unit = next(u for u in reversed(system.units) if u.power < len(striped_string))
 677            result_string = value_string[: -result_unit.power]
 678            return get_value(result_string) + [result_unit] + get_value(striped_string[-result_unit.power :])
 679
 680    system = create_system(numbering_type)
 681
 682    int_dec = number_string.split(".")
 683    if len(int_dec) == 1:
 684        int_string = int_dec[0]
 685        dec_string = ""
 686    elif len(int_dec) == 2:
 687        int_string = int_dec[0]
 688        dec_string = int_dec[1]
 689    else:
 690        raise ValueError("invalid input num string with more than one dot: {}".format(number_string))
 691
 692    if use_units and len(int_string) > 1:
 693        result_symbols = get_value(int_string)
 694    else:
 695        result_symbols = [system.digits[int(c)] for c in int_string]
 696    dec_symbols = [system.digits[int(c)] for c in dec_string]
 697    if dec_string:
 698        result_symbols += [system.math.point] + dec_symbols
 699
 700    if alt_two:
 701        liang = CND(2, system.digits[2].alt_s, system.digits[2].alt_t, system.digits[2].big_s, system.digits[2].big_t)
 702        for i, v in enumerate(result_symbols):
 703            if isinstance(v, CND) and v.value == 2:
 704                next_symbol = result_symbols[i + 1] if i < len(result_symbols) - 1 else None
 705                previous_symbol = result_symbols[i - 1] if i > 0 else None
 706                if isinstance(next_symbol, CNU) and isinstance(previous_symbol, (CNU, type(None))):
 707                    if next_symbol.power != 1 and ((previous_symbol is None) or (previous_symbol.power != 1)):
 708                        result_symbols[i] = liang
 709
 710    # if big is True, '两' will not be used and `alt_two` has no impact on output
 711    if big:
 712        attr_name = "big_"
 713        if traditional:
 714            attr_name += "t"
 715        else:
 716            attr_name += "s"
 717    else:
 718        if traditional:
 719            attr_name = "traditional"
 720        else:
 721            attr_name = "simplified"
 722
 723    result = "".join([getattr(s, attr_name) for s in result_symbols])
 724
 725    # if not use_zeros:
 726    #     result = result.strip(getattr(system.digits[0], attr_name))
 727
 728    if alt_zero:
 729        result = result.replace(getattr(system.digits[0], attr_name), system.digits[0].alt_s)
 730
 731    if alt_one:
 732        result = result.replace(getattr(system.digits[1], attr_name), system.digits[1].alt_s)
 733
 734    for i, p in enumerate(POINT):
 735        if result.startswith(p):
 736            return CHINESE_DIGIS[0] + result
 737
 738    # ^10, 11, .., 19
 739    if (
 740        len(result) >= 2
 741        and result[1] in [SMALLER_CHINESE_NUMERING_UNITS_SIMPLIFIED[0], SMALLER_CHINESE_NUMERING_UNITS_TRADITIONAL[0]]
 742        and result[0] in [CHINESE_DIGIS[1], BIG_CHINESE_DIGIS_SIMPLIFIED[1], BIG_CHINESE_DIGIS_TRADITIONAL[1]]
 743    ):
 744        result = result[1:]
 745
 746    return result
 747
 748
 749# ================================================================================ #
 750#                          different types of rewriters
 751# ================================================================================ #
 752class Cardinal:
 753    """
 754    CARDINAL类
 755    """
 756
 757    def __init__(self, cardinal=None, chntext=None):
 758        self.cardinal = cardinal
 759        self.chntext = chntext
 760
 761    def chntext2cardinal(self):
 762        return chn2num(self.chntext)
 763
 764    def cardinal2chntext(self):
 765        return num2chn(self.cardinal)
 766
 767
 768class Digit:
 769    """
 770    DIGIT类
 771    """
 772
 773    def __init__(self, digit=None, chntext=None):
 774        self.digit = digit
 775        self.chntext = chntext
 776
 777    # def chntext2digit(self):
 778    #     return chn2num(self.chntext)
 779
 780    def digit2chntext(self):
 781        return num2chn(self.digit, alt_two=False, use_units=False)
 782
 783
 784class TelePhone:
 785    """
 786    TELEPHONE类
 787    """
 788
 789    def __init__(self, telephone=None, raw_chntext=None, chntext=None):
 790        self.telephone = telephone
 791        self.raw_chntext = raw_chntext
 792        self.chntext = chntext
 793
 794    # def chntext2telephone(self):
 795    #     sil_parts = self.raw_chntext.split('<SIL>')
 796    #     self.telephone = '-'.join([
 797    #         str(chn2num(p)) for p in sil_parts
 798    #     ])
 799    #     return self.telephone
 800
 801    def telephone2chntext(self, fixed=False):
 802        if fixed:
 803            sil_parts = self.telephone.split("-")
 804            self.raw_chntext = "<SIL>".join([num2chn(part, alt_two=False, use_units=False) for part in sil_parts])
 805            self.chntext = self.raw_chntext.replace("<SIL>", "")
 806        else:
 807            sp_parts = self.telephone.strip("+").split()
 808            self.raw_chntext = "<SP>".join([num2chn(part, alt_two=False, use_units=False) for part in sp_parts])
 809            self.chntext = self.raw_chntext.replace("<SP>", "")
 810        return self.chntext
 811
 812
 813class Fraction:
 814    """
 815    FRACTION类
 816    """
 817
 818    def __init__(self, fraction=None, chntext=None):
 819        self.fraction = fraction
 820        self.chntext = chntext
 821
 822    def chntext2fraction(self):
 823        denominator, numerator = self.chntext.split("分之")
 824        return chn2num(numerator) + "/" + chn2num(denominator)
 825
 826    def fraction2chntext(self):
 827        numerator, denominator = self.fraction.split("/")
 828        return num2chn(denominator) + "分之" + num2chn(numerator)
 829
 830
 831class Date:
 832    """
 833    DATE类
 834    """
 835
 836    def __init__(self, date=None, chntext=None):
 837        self.date = date
 838        self.chntext = chntext
 839
 840    # def chntext2date(self):
 841    #     chntext = self.chntext
 842    #     try:
 843    #         year, other = chntext.strip().split('年', maxsplit=1)
 844    #         year = Digit(chntext=year).digit2chntext() + '年'
 845    #     except ValueError:
 846    #         other = chntext
 847    #         year = ''
 848    #     if other:
 849    #         try:
 850    #             month, day = other.strip().split('月', maxsplit=1)
 851    #             month = Cardinal(chntext=month).chntext2cardinal() + '月'
 852    #         except ValueError:
 853    #             day = chntext
 854    #             month = ''
 855    #         if day:
 856    #             day = Cardinal(chntext=day[:-1]).chntext2cardinal() + day[-1]
 857    #     else:
 858    #         month = ''
 859    #         day = ''
 860    #     date = year + month + day
 861    #     self.date = date
 862    #     return self.date
 863
 864    def date2chntext(self):
 865        date = self.date
 866        try:
 867            year, other = date.strip().split("年", 1)
 868            year = Digit(digit=year).digit2chntext() + "年"
 869        except ValueError:
 870            other = date
 871            year = ""
 872        if other:
 873            try:
 874                month, day = other.strip().split("月", 1)
 875                month = Cardinal(cardinal=month).cardinal2chntext() + "月"
 876            except ValueError:
 877                day = date
 878                month = ""
 879            if day:
 880                day = Cardinal(cardinal=day[:-1]).cardinal2chntext() + day[-1]
 881        else:
 882            month = ""
 883            day = ""
 884        chntext = year + month + day
 885        self.chntext = chntext
 886        return self.chntext
 887
 888
 889class Money:
 890    """
 891    MONEY类
 892    """
 893
 894    def __init__(self, money=None, chntext=None):
 895        self.money = money
 896        self.chntext = chntext
 897
 898    # def chntext2money(self):
 899    #     return self.money
 900
 901    def money2chntext(self):
 902        money = self.money
 903        pattern = re.compile(r"(\d+(\.\d+)?)")
 904        matchers = pattern.findall(money)
 905        if matchers:
 906            for matcher in matchers:
 907                money = money.replace(matcher[0], Cardinal(cardinal=matcher[0]).cardinal2chntext())
 908        self.chntext = money
 909        return self.chntext
 910
 911
 912class Percentage:
 913    """
 914    PERCENTAGE类
 915    """
 916
 917    def __init__(self, percentage=None, chntext=None):
 918        self.percentage = percentage
 919        self.chntext = chntext
 920
 921    def chntext2percentage(self):
 922        return chn2num(self.chntext.strip().strip("百分之")) + "%"
 923
 924    def percentage2chntext(self):
 925        return "百分之" + num2chn(self.percentage.strip().strip("%"))
 926
 927
 928def normalize_nsw(raw_text):
 929    text = "^" + raw_text + "$"
 930
 931    # 规范化日期
 932    pattern = re.compile(r"\D+((([089]\d|(19|20)\d{2})年)?(\d{1,2}月(\d{1,2}[日号])?)?)")
 933    matchers = pattern.findall(text)
 934    if matchers:
 935        # print('date')
 936        for matcher in matchers:
 937            text = text.replace(matcher[0], Date(date=matcher[0]).date2chntext(), 1)
 938
 939    # 规范化金钱
 940    pattern = re.compile(r"\D+((\d+(\.\d+)?)[多余几]?" + CURRENCY_UNITS + r"(\d" + CURRENCY_UNITS + r"?)?)")
 941    matchers = pattern.findall(text)
 942    if matchers:
 943        # print('money')
 944        for matcher in matchers:
 945            text = text.replace(matcher[0], Money(money=matcher[0]).money2chntext(), 1)
 946
 947    # 规范化固话/手机号码
 948    # 手机
 949    # http://www.jihaoba.com/news/show/13680
 950    # 移动:139、138、137、136、135、134、159、158、157、150、151、152、188、187、182、183、184、178、198
 951    # 联通:130、131、132、156、155、186、185、176
 952    # 电信:133、153、189、180、181、177
 953    pattern = re.compile(r"\D((\+?86 ?)?1([38]\d|5[0-35-9]|7[678]|9[89])\d{8})\D")
 954    matchers = pattern.findall(text)
 955    if matchers:
 956        # print('telephone')
 957        for matcher in matchers:
 958            text = text.replace(matcher[0], TelePhone(telephone=matcher[0]).telephone2chntext(), 1)
 959    # 固话
 960    pattern = re.compile(r"\D((0(10|2[1-3]|[3-9]\d{2})-?)?[1-9]\d{6,7})\D")
 961    matchers = pattern.findall(text)
 962    if matchers:
 963        # print('fixed telephone')
 964        for matcher in matchers:
 965            text = text.replace(matcher[0], TelePhone(telephone=matcher[0]).telephone2chntext(fixed=True), 1)
 966
 967    # 规范化分数
 968    pattern = re.compile(r"(\d+/\d+)")
 969    matchers = pattern.findall(text)
 970    if matchers:
 971        # print('fraction')
 972        for matcher in matchers:
 973            text = text.replace(matcher, Fraction(fraction=matcher).fraction2chntext(), 1)
 974
 975    # 规范化百分数
 976    text = text.replace("%", "%")
 977    pattern = re.compile(r"(\d+(\.\d+)?%)")
 978    matchers = pattern.findall(text)
 979    if matchers:
 980        # print('percentage')
 981        for matcher in matchers:
 982            text = text.replace(matcher[0], Percentage(percentage=matcher[0]).percentage2chntext(), 1)
 983
 984    # 规范化纯数+量词
 985    pattern = re.compile(r"(\d+(\.\d+)?)[多余几]?" + COM_QUANTIFIERS)
 986    matchers = pattern.findall(text)
 987    if matchers:
 988        # print('cardinal+quantifier')
 989        for matcher in matchers:
 990            text = text.replace(matcher[0], Cardinal(cardinal=matcher[0]).cardinal2chntext(), 1)
 991
 992    # 规范化数字编号
 993    pattern = re.compile(r"(\d{4,32})")
 994    matchers = pattern.findall(text)
 995    if matchers:
 996        # print('digit')
 997        for matcher in matchers:
 998            text = text.replace(matcher, Digit(digit=matcher).digit2chntext(), 1)
 999
1000    # 规范化纯数
1001    pattern = re.compile(r"(\d+(\.\d+)?)")
1002    matchers = pattern.findall(text)
1003    if matchers:
1004        # print('cardinal')
1005        for matcher in matchers:
1006            text = text.replace(matcher[0], Cardinal(cardinal=matcher[0]).cardinal2chntext(), 1)
1007
1008    # restore P2P, O2O, B2C, B2B etc
1009    pattern = re.compile(r"(([a-zA-Z]+)二([a-zA-Z]+))")
1010    matchers = pattern.findall(text)
1011    if matchers:
1012        # print('particular')
1013        for matcher in matchers:
1014            text = text.replace(matcher[0], matcher[1] + "2" + matcher[2], 1)
1015
1016    return text.lstrip("^").rstrip("$")
1017
1018
1019def remove_erhua(text):
1020    """
1021    去除儿化音词中的儿:
1022    他女儿在那边儿 -> 他女儿在那边
1023    """
1024
1025    new_str = ""
1026    while re.search("儿", text):
1027        a = re.search("儿", text).span()
1028        remove_er_flag = 0
1029
1030        if ER_WHITELIST_PATTERN.search(text):
1031            b = ER_WHITELIST_PATTERN.search(text).span()
1032            if b[0] <= a[0]:
1033                remove_er_flag = 1
1034
1035        if remove_er_flag == 0:
1036            new_str = new_str + text[0 : a[0]]
1037            text = text[a[1] :]
1038        else:
1039            new_str = new_str + text[0 : b[1]]
1040            text = text[b[1] :]
1041
1042    text = new_str + text
1043    return text
1044
1045
1046def remove_space(text):
1047    tokens = text.split()
1048    new = []
1049    for k, t in enumerate(tokens):
1050        if k != 0:
1051            if IN_EN_CHARS.get(tokens[k - 1][-1]) and IN_EN_CHARS.get(t[0]):
1052                new.append(" ")
1053        new.append(t)
1054    return "".join(new)
1055
1056
1057class TextNorm:
1058    def __init__(
1059        self,
1060        to_banjiao: bool = False,
1061        to_upper: bool = False,
1062        to_lower: bool = False,
1063        remove_fillers: bool = False,
1064        remove_erhua: bool = False,
1065        check_chars: bool = False,
1066        remove_space: bool = False,
1067        cc_mode: str = "",
1068    ):
1069        self.to_banjiao = to_banjiao
1070        self.to_upper = to_upper
1071        self.to_lower = to_lower
1072        self.remove_fillers = remove_fillers
1073        self.remove_erhua = remove_erhua
1074        self.check_chars = check_chars
1075        self.remove_space = remove_space
1076
1077        self.cc = None
1078        if cc_mode:
1079            from opencc import OpenCC  # Open Chinese Convert: pip install opencc
1080
1081            self.cc = OpenCC(cc_mode)
1082
1083    def __call__(self, text):
1084        if self.cc:
1085            text = self.cc.convert(text)
1086
1087        if self.to_banjiao:
1088            text = text.translate(QJ2BJ_TRANSFORM)
1089
1090        if self.to_upper:
1091            text = text.upper()
1092
1093        if self.to_lower:
1094            text = text.lower()
1095
1096        if self.remove_fillers:
1097            for c in FILLER_CHARS:
1098                text = text.replace(c, "")
1099
1100        if self.remove_erhua:
1101            text = remove_erhua(text)
1102
1103        text = normalize_nsw(text)
1104
1105        text = text.translate(PUNCS_TRANSFORM)
1106
1107        if self.check_chars:
1108            for c in text:
1109                if not IN_VALID_CHARS.get(c):
1110                    print(f"WARNING: illegal char {c} in: {text}", file=sys.stderr)
1111                    return ""
1112
1113        if self.remove_space:
1114            text = remove_space(text)
1115
1116        return text
1117
1118
1119if __name__ == "__main__":
1120    p = argparse.ArgumentParser()
1121
1122    # normalizer options
1123    p.add_argument("--to_banjiao", action="store_true", help="convert quanjiao chars to banjiao")
1124    p.add_argument("--to_upper", action="store_true", help="convert to upper case")
1125    p.add_argument("--to_lower", action="store_true", help="convert to lower case")
1126    p.add_argument("--remove_fillers", action="store_true", help='remove filler chars such as "呃, 啊"')
1127    p.add_argument("--remove_erhua", action="store_true", help='remove erhua chars such as "他女儿在那边儿 -> 他女儿在那边"')
1128    p.add_argument("--check_chars", action="store_true", help="skip sentences containing illegal chars")
1129    p.add_argument("--remove_space", action="store_true", help="remove whitespace")
1130    p.add_argument(
1131        "--cc_mode", choices=["", "t2s", "s2t"], default="", help="convert between traditional to simplified"
1132    )
1133
1134    # I/O options
1135    p.add_argument("--log_interval", type=int, default=10000, help="log interval in number of processed lines")
1136    p.add_argument("--has_key", action="store_true", help="will be deprecated, set --format ark instead")
1137    p.add_argument("--format", type=str, choices=["txt", "ark", "tsv"], default="txt", help="input format")
1138    p.add_argument("ifile", help="input filename, assume utf-8 encoding")
1139    p.add_argument("ofile", help="output filename")
1140
1141    args = p.parse_args()
1142
1143    if args.has_key:
1144        args.format = "ark"
1145
1146    normalizer = TextNorm(
1147        to_banjiao=args.to_banjiao,
1148        to_upper=args.to_upper,
1149        to_lower=args.to_lower,
1150        remove_fillers=args.remove_fillers,
1151        remove_erhua=args.remove_erhua,
1152        check_chars=args.check_chars,
1153        remove_space=args.remove_space,
1154        cc_mode=args.cc_mode,
1155    )
1156
1157    normalizer = TextNorm(
1158        to_banjiao=args.to_banjiao,
1159        to_upper=args.to_upper,
1160        to_lower=args.to_lower,
1161        remove_fillers=args.remove_fillers,
1162        remove_erhua=args.remove_erhua,
1163        check_chars=args.check_chars,
1164        remove_space=args.remove_space,
1165        cc_mode=args.cc_mode,
1166    )
1167
1168    ndone = 0
1169    with open(args.ifile, "r", encoding="utf-8") as istream, open(args.ofile, "w+", encoding="utf-8") as ostream:
1170        if args.format == "tsv":
1171            reader = csv.DictReader(istream, delimiter="\t")
1172            assert "TEXT" in reader.fieldnames
1173            print("\t".join(reader.fieldnames), file=ostream)
1174
1175            for item in reader:
1176                text = item["TEXT"]
1177
1178                if text:
1179                    text = normalizer(text)
1180
1181                if text:
1182                    item["TEXT"] = text
1183                    print("\t".join([item[f] for f in reader.fieldnames]), file=ostream)
1184
1185                ndone += 1
1186                if ndone % args.log_interval == 0:
1187                    print(f"text norm: {ndone} lines done.", file=sys.stderr, flush=True)
1188        else:
1189            for l in istream:
1190                key, text = "", ""
1191                if args.format == "ark":  # KALDI archive, line format: "key text"
1192                    cols = l.strip().split(maxsplit=1)
1193                    key, text = cols[0], cols[1] if len(cols) == 2 else ""
1194                else:
1195                    text = l.strip()
1196
1197                if text:
1198                    text = normalizer(text)
1199
1200                if text:
1201                    if args.format == "ark":
1202                        print(key + "\t" + text, file=ostream)
1203                    else:
1204                        print(text, file=ostream)
1205
1206                ndone += 1
1207                if ndone % args.log_interval == 0:
1208                    print(f"text norm: {ndone} lines done.", file=sys.stderr, flush=True)
1209    print(f"text norm: {ndone} lines done in total.", file=sys.stderr, flush=True)
CHINESE_DIGIS = '零一二三四五六七八九'
BIG_CHINESE_DIGIS_SIMPLIFIED = '零壹贰叁肆伍陆柒捌玖'
BIG_CHINESE_DIGIS_TRADITIONAL = '零壹貳參肆伍陸柒捌玖'
SMALLER_BIG_CHINESE_UNITS_SIMPLIFIED = '十百千万'
SMALLER_BIG_CHINESE_UNITS_TRADITIONAL = '拾佰仟萬'
LARGER_CHINESE_NUMERING_UNITS_SIMPLIFIED = '亿兆京垓秭穰沟涧正载'
LARGER_CHINESE_NUMERING_UNITS_TRADITIONAL = '億兆京垓秭穰溝澗正載'
SMALLER_CHINESE_NUMERING_UNITS_SIMPLIFIED = '十百千万'
SMALLER_CHINESE_NUMERING_UNITS_TRADITIONAL = '拾佰仟萬'
ZERO_ALT = '〇'
ONE_ALT = '幺'
TWO_ALTS = ['两', '兩']
POSITIVE = ['正', '正']
NEGATIVE = ['负', '負']
POINT = ['点', '點']
FILLER_CHARS = ['呃', '啊']
ER_WHITELIST = '(儿女|儿子|儿孙|女儿|儿媳|妻儿|胎儿|婴儿|新生儿|婴幼儿|幼儿|少儿|小儿|儿歌|儿童|儿科|托儿所|孤儿|儿戏|儿化|台儿庄|鹿儿岛|正儿八经|吊儿郎当|生儿育女|托儿带女|养儿防老|痴儿呆女|佳儿佳妇|儿怜兽扰|儿无常父|儿不嫌母丑|儿行千里母担忧|儿大不由爷|苏乞儿)'
ER_WHITELIST_PATTERN = re.compile('(儿女|儿子|儿孙|女儿|儿媳|妻儿|胎儿|婴儿|新生儿|婴幼儿|幼儿|少儿|小儿|儿歌|儿童|儿科|托儿所|孤儿|儿戏|儿化|台儿庄|鹿儿岛|正儿八经|吊儿郎当|生儿育女|托儿带女|养儿防老|痴儿呆女|佳儿佳妇|儿怜兽扰|儿无常父|儿不嫌母丑|儿行千里母担忧|儿大不由爷|苏乞儿)')
NUMBERING_TYPES = ['low', 'mid', 'high']
CURRENCY_NAMES = '(人民币|美元|日元|英镑|欧元|马克|法郎|加拿大元|澳元|港币|先令|芬兰马克|爱尔兰镑|里拉|荷兰盾|埃斯库多|比塞塔|印尼盾|林吉特|新西兰元|比索|卢布|新加坡元|韩元|泰铢)'
CURRENCY_UNITS = '((亿|千万|百万|万|千|百)|(亿|千万|百万|万|千|百|)元|(亿|千万|百万|万|千|百|)块|角|毛|分)'
COM_QUANTIFIERS = '(匹|张|座|回|场|尾|条|个|首|阙|阵|网|炮|顶|丘|棵|只|支|袭|辆|挑|担|颗|壳|窠|曲|墙|群|腔|砣|座|客|贯|扎|捆|刀|令|打|手|罗|坡|山|岭|江|溪|钟|队|单|双|对|出|口|头|脚|板|跳|枝|件|贴|针|线|管|名|位|身|堂|课|本|页|家|户|层|丝|毫|厘|分|钱|两|斤|担|铢|石|钧|锱|忽|(千|毫|微)克|毫|厘|分|寸|尺|丈|里|寻|常|铺|程|(千|分|厘|毫|微)米|撮|勺|合|升|斗|石|盘|碗|碟|叠|桶|笼|盆|盒|杯|钟|斛|锅|簋|篮|盘|桶|罐|瓶|壶|卮|盏|箩|箱|煲|啖|袋|钵|年|月|日|季|刻|时|周|天|秒|分|旬|纪|岁|世|更|夜|春|夏|秋|冬|代|伏|辈|丸|泡|粒|颗|幢|堆|条|根|支|道|面|片|张|颗|块)'
CN_PUNCS_STOP = '!?。。'
CN_PUNCS_NONSTOP = '"#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、、〃《》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘’‛“”„‟…‧﹏·〈〉-'
CN_PUNCS = '!?。。"#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、、〃《》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘’‛“”„‟…‧﹏·〈〉-'
PUNCS = '!?。。"#$%&'()*+,-/:;<=>@[\]^_`{|}~⦅⦆「」、、〃《》「」『』【】〔〕〖〗〘〙〚〛〜〝〞〟〰〾〿–—‘’‛“”„‟…‧﹏·〈〉-!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
PUNCS_TRANSFORM = {65281: 44, 65311: 44, 65377: 44, 12290: 44, 65282: 44, 65283: 44, 65284: 44, 65285: 44, 65286: 44, 65287: 44, 65288: 44, 65289: 44, 65290: 44, 65291: 44, 65292: 44, 65293: 44, 65295: 44, 65306: 44, 65307: 44, 65308: 44, 65309: 44, 65310: 44, 65312: 44, 65339: 44, 65340: 44, 65341: 44, 65342: 44, 65343: 44, 65344: 44, 65371: 44, 65372: 44, 65373: 44, 65374: 44, 65375: 44, 65376: 44, 65378: 44, 65379: 44, 65380: 44, 12289: 44, 12291: 44, 12298: 44, 12299: 44, 12300: 44, 12301: 44, 12302: 44, 12303: 44, 12304: 44, 12305: 44, 12308: 44, 12309: 44, 12310: 44, 12311: 44, 12312: 44, 12313: 44, 12314: 44, 12315: 44, 12316: 44, 12317: 44, 12318: 44, 12319: 44, 12336: 44, 12350: 44, 12351: 44, 8211: 44, 8212: 44, 8216: 44, 8217: 44, 8219: 44, 8220: 44, 8221: 44, 8222: 44, 8223: 44, 8230: 44, 8231: 44, 65103: 44, 183: 44, 12296: 44, 12297: 44, 45: 44, 33: 44, 34: 44, 35: 44, 36: 44, 37: 44, 38: 44, 39: 44, 40: 44, 41: 44, 42: 44, 43: 44, 44: 44, 46: 44, 47: 44, 58: 44, 59: 44, 60: 44, 61: 44, 62: 44, 63: 44, 64: 44, 91: 44, 92: 44, 93: 44, 94: 44, 95: 44, 96: 44, 123: 44, 124: 44, 125: 44, 126: 44}
QJ2BJ = {'\u3000': ' ', '!': '!', '"': '"', '#': '#', '$': '$', '%': '%', '&': '&', ''': "'", '(': '(', ')': ')', '*': '*', '+': '+', ',': ',', '-': '-', '.': '.', '/': '/', '0': '0', '1': '1', '2': '2', '3': '3', '4': '4', '5': '5', '6': '6', '7': '7', '8': '8', '9': '9', ':': ':', ';': ';', '<': '<', '=': '=', '>': '>', '?': '?', '@': '@', 'A': 'A', 'B': 'B', 'C': 'C', 'D': 'D', 'E': 'E', 'F': 'F', 'G': 'G', 'H': 'H', 'I': 'I', 'J': 'J', 'K': 'K', 'L': 'L', 'M': 'M', 'N': 'N', 'O': 'O', 'P': 'P', 'Q': 'Q', 'R': 'R', 'S': 'S', 'T': 'T', 'U': 'U', 'V': 'V', 'W': 'W', 'X': 'X', 'Y': 'Y', 'Z': 'Z', '[': '[', '\': '\\', ']': ']', '^': '^', '_': '_', '`': '`', 'a': 'a', 'b': 'b', 'c': 'c', 'd': 'd', 'e': 'e', 'f': 'f', 'g': 'g', 'h': 'h', 'i': 'i', 'j': 'j', 'k': 'k', 'l': 'l', 'm': 'm', 'n': 'n', 'o': 'o', 'p': 'p', 'q': 'q', 'r': 'r', 's': 's', 't': 't', 'u': 'u', 'v': 'v', 'w': 'w', 'x': 'x', 'y': 'y', 'z': 'z', '{': '{', '|': '|', '}': '}', '~': '~'}
QJ2BJ_TRANSFORM = {12288: 32, 65281: 33, 65282: 34, 65283: 35, 65284: 36, 65285: 37, 65286: 38, 65287: 39, 65288: 40, 65289: 41, 65290: 42, 65291: 43, 65292: 44, 65293: 45, 65294: 46, 65295: 47, 65296: 48, 65297: 49, 65298: 50, 65299: 51, 65300: 52, 65301: 53, 65302: 54, 65303: 55, 65304: 56, 65305: 57, 65306: 58, 65307: 59, 65308: 60, 65309: 61, 65310: 62, 65311: 63, 65312: 64, 65313: 65, 65314: 66, 65315: 67, 65316: 68, 65317: 69, 65318: 70, 65319: 71, 65320: 72, 65321: 73, 65322: 74, 65323: 75, 65324: 76, 65325: 77, 65326: 78, 65327: 79, 65328: 80, 65329: 81, 65330: 82, 65331: 83, 65332: 84, 65333: 85, 65334: 86, 65335: 87, 65336: 88, 65337: 89, 65338: 90, 65339: 91, 65340: 92, 65341: 93, 65342: 94, 65343: 95, 65344: 96, 65345: 97, 65346: 98, 65347: 99, 65348: 100, 65349: 101, 65350: 102, 65351: 103, 65352: 104, 65353: 105, 65354: 106, 65355: 107, 65356: 108, 65357: 109, 65358: 110, 65359: 111, 65360: 112, 65361: 113, 65362: 114, 65363: 115, 65364: 116, 65365: 117, 65366: 118, 65367: 119, 65368: 120, 65369: 121, 65370: 122, 65371: 123, 65372: 124, 65373: 125, 65374: 126}
CN_CHARS_COMMON = '一丁七万丈三上下不与丏丐丑专且丕世丘丙业丛东丝丞丢两严丧个丫中丰串临丸丹为主丽举乂乃久么义之乌乍乎乏乐乒乓乔乖乘乙乜九乞也习乡书乩买乱乳乸乾了予争事二亍于亏云互亓五井亘亚些亟亡亢交亥亦产亨亩享京亭亮亲亳亵亶亸亹人亿什仁仂仃仄仅仆仇仉今介仍从仑仓仔仕他仗付仙仝仞仟仡代令以仨仪仫们仰仲仳仵件价任份仿企伈伉伊伋伍伎伏伐休众优伙会伛伞伟传伢伣伤伥伦伧伪伫伭伯估伲伴伶伸伺似伽伾佁佃但位低住佐佑体何佖佗佘余佚佛作佝佞佟你佣佤佥佩佬佯佰佳佴佶佸佺佻佼佽佾使侁侂侃侄侈侉例侍侏侑侔侗侘供依侠侣侥侦侧侨侩侪侬侮侯侴侵侹便促俄俅俊俍俎俏俐俑俗俘俙俚俜保俞俟信俣俦俨俩俪俫俭修俯俱俳俵俶俸俺俾倌倍倏倒倓倔倕倘候倚倜倞借倡倥倦倧倨倩倪倬倭倮倴债倻值倾偁偃假偈偌偎偏偓偕做停偡健偬偭偰偲偶偷偻偾偿傀傃傅傈傉傍傒傕傣傥傧储傩催傲傺傻僇僎像僔僖僚僦僧僬僭僮僰僳僵僻儆儇儋儒儡儦儳儴儿兀允元兄充兆先光克免兑兔兕兖党兜兢入全八公六兮兰共关兴兵其具典兹养兼兽冀冁内冈冉册再冏冒冔冕冗写军农冠冢冤冥冬冮冯冰冱冲决况冶冷冻冼冽净凄准凇凉凋凌减凑凓凘凛凝几凡凤凫凭凯凰凳凶凸凹出击凼函凿刀刁刃分切刈刊刍刎刑划刖列刘则刚创初删判刨利别刬刭刮到刳制刷券刹刺刻刽刿剀剁剂剃剅削剋剌前剐剑剔剕剖剜剞剟剡剥剧剩剪副割剽剿劁劂劄劈劐劓力劝办功加务劢劣动助努劫劬劭励劲劳劼劾势勃勇勉勋勍勐勒勔勖勘勚募勠勤勰勺勾勿匀包匆匈匍匏匐匕化北匙匜匝匠匡匣匦匪匮匹区医匼匾匿十千卅升午卉半华协卑卒卓单卖南博卜卞卟占卡卢卣卤卦卧卫卬卮卯印危即却卵卷卸卺卿厂厄厅历厉压厌厍厕厖厘厚厝原厢厣厥厦厨厩厮去厾县叁参叆叇又叉及友双反发叔叕取受变叙叚叛叟叠口古句另叨叩只叫召叭叮可台叱史右叵叶号司叹叻叼叽吁吃各吆合吉吊同名后吏吐向吒吓吕吖吗君吝吞吟吠吡吣否吧吨吩含听吭吮启吱吲吴吵吸吹吻吼吽吾呀呃呆呇呈告呋呐呒呓呔呕呖呗员呙呛呜呢呣呤呦周呱呲味呵呶呷呸呻呼命咀咂咄咆咇咉咋和咍咎咏咐咒咔咕咖咙咚咛咝咡咣咤咥咦咧咨咩咪咫咬咯咱咳咴咸咺咻咽咿哀品哂哃哄哆哇哈哉哌响哎哏哐哑哒哓哔哕哗哙哚哝哞哟哢哥哦哧哨哩哪哭哮哱哲哳哺哼哽哿唁唆唇唉唏唐唑唔唛唝唠唢唣唤唧唪唬售唯唰唱唳唵唷唼唾唿啁啃啄商啉啊啐啕啖啜啡啤啥啦啧啪啫啬啭啮啰啴啵啶啷啸啻啼啾喀喁喂喃善喆喇喈喉喊喋喏喑喔喘喙喜喝喟喤喧喱喳喵喷喹喻喽喾嗄嗅嗉嗌嗍嗐嗑嗒嗓嗔嗖嗜嗝嗞嗟嗡嗣嗤嗥嗦嗨嗪嗫嗬嗯嗲嗳嗵嗷嗽嗾嘀嘁嘈嘉嘌嘎嘏嘘嘚嘛嘞嘟嘡嘣嘤嘧嘬嘭嘱嘲嘴嘶嘹嘻嘿噀噂噇噌噍噎噔噗噘噙噜噢噤器噩噪噫噬噱噶噻噼嚄嚅嚆嚎嚏嚓嚚嚣嚭嚯嚷嚼囊囔囚四回囟因囡团囤囫园困囱围囵囷囹固国图囿圃圄圆圈圉圊圌圐圙圜土圢圣在圩圪圫圬圭圮圯地圲圳圹场圻圾址坂均坉坊坋坌坍坎坏坐坑坒块坚坛坜坝坞坟坠坡坤坥坦坨坩坪坫坬坭坯坰坳坷坻坼坽垂垃垄垆垈型垌垍垎垏垒垓垕垙垚垛垞垟垠垡垢垣垤垦垧垩垫垭垮垯垱垲垴垵垸垺垾垿埂埃埆埇埋埌城埏埒埔埕埗埘埙埚埝域埠埤埪埫埭埯埴埵埸培基埼埽堂堃堆堇堉堋堌堍堎堐堑堕堙堞堠堡堤堧堨堪堰堲堵堼堽堾塄塅塆塌塍塑塔塘塝塞塥填塬塱塾墀墁境墅墈墉墐墒墓墕墘墙墚增墟墡墣墦墨墩墼壁壅壑壕壤士壬壮声壳壶壸壹处备复夏夐夔夕外夙多夜够夤夥大天太夫夬夭央夯失头夷夸夹夺夼奁奂奄奇奈奉奋奎奏契奓奔奕奖套奘奚奠奡奢奥奭女奴奶奸她好妁如妃妄妆妇妈妊妍妒妓妖妗妘妙妞妣妤妥妧妨妩妪妫妭妮妯妲妹妻妾姆姈姊始姐姑姒姓委姗姘姚姜姝姞姣姤姥姨姬姮姱姶姹姻姽姿娀威娃娄娅娆娇娈娉娌娑娓娘娜娟娠娣娥娩娱娲娴娵娶娼婀婆婉婊婌婍婕婘婚婞婠婢婤婧婪婫婳婴婵婶婷婺婻婼婿媂媄媆媒媓媖媚媛媞媪媭媱媲媳媵媸媾嫁嫂嫄嫉嫌嫒嫔嫕嫖嫘嫚嫜嫠嫡嫣嫦嫩嫪嫫嫭嫱嫽嬉嬖嬗嬛嬥嬬嬴嬷嬿孀孅子孑孓孔孕孖字存孙孚孛孜孝孟孢季孤孥学孩孪孬孰孱孳孵孺孽宁它宄宅宇守安宋完宏宓宕宗官宙定宛宜宝实宠审客宣室宥宦宧宪宫宬宰害宴宵家宸容宽宾宿寁寂寄寅密寇富寐寒寓寝寞察寡寤寥寨寮寰寸对寺寻导寿封射将尉尊小少尔尕尖尘尚尜尝尢尤尥尧尨尪尬就尴尸尹尺尻尼尽尾尿局屁层屃居屈屉届屋屎屏屐屑展屙属屠屡屣履屦屯山屹屺屼屾屿岁岂岈岊岌岍岐岑岔岖岗岘岙岚岛岜岞岠岢岣岨岩岫岬岭岱岳岵岷岸岽岿峁峂峃峄峋峒峗峘峙峛峡峣峤峥峦峧峨峪峭峰峱峻峿崀崁崂崃崄崆崇崌崎崒崔崖崚崛崞崟崡崤崦崧崩崭崮崴崶崽崾崿嵁嵅嵇嵊嵋嵌嵎嵖嵘嵚嵛嵝嵩嵫嵬嵯嵲嵴嶂嶅嶍嶒嶓嶙嶝嶟嶦嶲嶷巅巇巉巍川州巡巢工左巧巨巩巫差巯己已巳巴巷巽巾币市布帅帆师希帏帐帑帔帕帖帘帙帚帛帜帝帡带帧帨席帮帱帷常帻帼帽幂幄幅幌幔幕幖幛幞幡幢幪干平年并幸幺幻幼幽广庄庆庇床庋序庐庑库应底庖店庙庚府庞废庠庤庥度座庭庱庳庵庶康庸庹庼庾廆廉廊廋廑廒廓廖廙廛廨廪延廷建廿开弁异弃弄弆弇弈弊弋式弑弓引弗弘弛弟张弢弥弦弧弨弩弭弯弱弶弸弹强弼彀归当录彖彗彘彝彟形彤彦彧彩彪彬彭彰影彳彷役彻彼往征徂径待徇很徉徊律徐徒徕得徘徙徛徜御徨循徭微徵德徼徽心必忆忉忌忍忏忐忑忒忖志忘忙忝忞忠忡忤忧忪快忭忮忱忳念忸忺忻忽忾忿怀态怂怃怄怅怆怊怍怎怏怒怔怕怖怙怛怜思怠怡急怦性怨怩怪怫怯怵总怼怿恁恂恃恋恍恐恒恓恔恕恙恚恝恢恣恤恧恨恩恪恫恬恭息恰恳恶恸恹恺恻恼恽恿悃悄悆悈悉悌悍悒悔悖悚悛悝悟悠悢患悦您悫悬悭悯悰悱悲悴悸悻悼情惆惇惊惋惎惑惔惕惘惙惚惛惜惝惟惠惦惧惨惩惫惬惭惮惯惰想惴惶惹惺愀愁愃愆愈愉愍愎意愐愔愕愚感愠愣愤愦愧愫愭愿慆慈慊慌慎慑慕慝慢慥慧慨慬慭慰慵慷憋憎憔憕憙憧憨憩憬憭憷憺憾懂懈懊懋懑懒懔懦懵懿戆戈戊戋戌戍戎戏成我戒戕或戗战戚戛戟戡戢戣戤戥截戬戭戮戳戴户戽戾房所扁扂扃扅扆扇扈扉扊手才扎扑扒打扔托扛扞扣扦执扩扪扫扬扭扮扯扰扳扶批扺扼扽找承技抃抄抉把抑抒抓抔投抖抗折抚抛抟抠抡抢护报抨披抬抱抵抹抻押抽抿拂拃拄担拆拇拈拉拊拌拍拎拐拒拓拔拖拗拘拙招拜拟拢拣拤拥拦拧拨择括拭拮拯拱拳拴拶拷拼拽拾拿持挂指挈按挎挑挓挖挚挛挝挞挟挠挡挣挤挥挦挨挪挫振挲挹挺挽捂捃捅捆捉捋捌捍捎捏捐捕捞损捡换捣捧捩捭据捯捶捷捺捻捽掀掂掇授掉掊掌掎掏掐排掖掘掞掠探掣接控推掩措掬掭掮掰掳掴掷掸掺掼掾揄揆揉揍描提插揕揖揠握揣揩揪揭揳援揶揸揽揿搀搁搂搅搋搌搏搐搒搓搔搛搜搞搠搡搦搪搬搭搴携搽摁摄摅摆摇摈摊摏摒摔摘摛摞摧摩摭摴摸摹摽撂撄撅撇撑撒撕撖撙撞撤撩撬播撮撰撵撷撸撺撼擀擂擅操擎擐擒擘擞擢擤擦擿攀攉攒攘攥攫攮支收攸改攻攽放政故效敉敌敏救敔敕敖教敛敝敞敢散敦敩敫敬数敲整敷文斋斌斐斑斓斗料斛斜斝斟斠斡斤斥斧斩斫断斯新斶方於施旁旃旄旅旆旋旌旎族旐旒旖旗旞无既日旦旧旨早旬旭旮旯旰旱旴旵时旷旸旺旻旿昀昂昃昄昆昇昈昉昊昌明昏昒易昔昕昙昝星映昡昣昤春昧昨昪昫昭是昱昳昴昵昶昺昼昽显晁晃晅晊晋晌晏晐晒晓晔晕晖晗晙晚晞晟晡晢晤晦晨晪晫普景晰晱晴晶晷智晾暂暄暅暇暌暑暕暖暗暝暧暨暮暲暴暵暶暹暾暿曈曌曙曛曜曝曦曩曰曲曳更曷曹曼曾替最月有朋服朏朐朓朔朕朗望朝期朦木未末本札术朱朳朴朵朸机朽杀杂权杄杆杈杉杌李杏材村杓杕杖杙杜杞束杠条来杧杨杩杪杭杯杰杲杳杵杷杻杼松板极构枅枇枉枋枍析枕林枘枚果枝枞枢枣枥枧枨枪枫枭枯枰枲枳枵架枷枸枹柁柃柄柈柊柏某柑柒染柔柖柘柙柚柜柝柞柠柢查柩柬柯柰柱柳柴柷柽柿栀栅标栈栉栊栋栌栎栏栐树栒栓栖栗栝栟校栩株栲栳栴样核根栻格栽栾桀桁桂桃桄桅框案桉桊桌桎桐桑桓桔桕桠桡桢档桤桥桦桧桨桩桫桯桲桴桶桷桹梁梃梅梆梌梏梓梗梠梢梣梦梧梨梭梯械梳梴梵梼梽梾梿检棁棂棉棋棍棐棒棓棕棘棚棠棣棤棨棪棫棬森棰棱棵棹棺棻棼棽椀椁椅椆椋植椎椐椑椒椓椟椠椤椪椭椰椴椸椹椽椿楂楒楔楗楙楚楝楞楠楣楦楩楪楫楮楯楷楸楹楼概榃榄榅榆榇榈榉榍榑榔榕榖榛榜榧榨榫榭榰榱榴榷榻槁槃槊槌槎槐槔槚槛槜槟槠槭槱槲槽槿樊樗樘樟模樨横樯樱樵樽樾橄橇橐橑橘橙橛橞橡橥橦橱橹橼檀檄檎檐檑檗檞檠檩檫檬櫆欂欠次欢欣欤欧欲欸欹欺欻款歃歅歆歇歉歌歙止正此步武歧歪歹死歼殁殂殃殄殆殇殉殊残殍殒殓殖殚殛殡殣殪殳殴段殷殿毁毂毅毋毌母每毐毒毓比毕毖毗毙毛毡毪毫毯毳毵毹毽氅氆氇氍氏氐民氓气氕氖氘氙氚氛氟氡氢氤氦氧氨氩氪氮氯氰氲水永氾氿汀汁求汆汇汈汉汊汋汐汔汕汗汛汜汝汞江池污汤汧汨汩汪汫汭汰汲汴汶汹汽汾沁沂沃沄沅沆沇沈沉沌沏沐沓沔沘沙沚沛沟没沣沤沥沦沧沨沩沪沫沭沮沱河沸油沺治沼沽沾沿泂泃泄泅泇泉泊泌泐泓泔法泖泗泙泚泛泜泞泠泡波泣泥注泪泫泮泯泰泱泳泵泷泸泺泻泼泽泾洁洄洇洈洋洌洎洑洒洓洗洘洙洚洛洞洢洣津洧洨洪洫洭洮洱洲洳洴洵洸洹洺活洼洽派洿流浃浅浆浇浈浉浊测浍济浏浐浑浒浓浔浕浙浚浛浜浞浟浠浡浣浥浦浩浪浬浭浮浯浰浲浴海浸浼涂涄涅消涉涌涍涎涐涑涓涔涕涘涛涝涞涟涠涡涢涣涤润涧涨涩涪涫涮涯液涴涵涸涿淀淄淅淆淇淋淌淏淑淖淘淙淜淝淞淟淠淡淤淦淫淬淮淯深淳淴混淹添淼清渊渌渍渎渐渑渔渗渚渝渟渠渡渣渤渥温渫渭港渰渲渴游渺渼湃湄湉湍湎湑湓湔湖湘湛湜湝湟湣湫湮湲湴湾湿溁溃溅溆溇溉溍溏源溘溚溜溞溟溠溢溥溦溧溪溯溱溲溴溵溶溷溹溺溻溽滁滂滃滆滇滉滋滍滏滑滓滔滕滗滘滚滞滟滠满滢滤滥滦滧滨滩滪滫滴滹漂漆漈漉漋漏漓演漕漖漠漤漦漩漪漫漭漯漱漳漴漶漷漹漻漼漾潆潇潋潍潏潖潘潜潞潟潢潦潩潭潮潲潴潵潸潺潼潽潾澂澄澈澉澌澍澎澛澜澡澥澧澪澭澳澴澶澹澼澽激濂濉濋濑濒濞濠濡濩濮濯瀌瀍瀑瀔瀚瀛瀣瀱瀵瀹瀼灈灌灏灞火灭灯灰灵灶灸灼灾灿炀炅炆炉炊炌炎炒炔炕炖炘炙炜炝炟炣炫炬炭炮炯炱炳炷炸点炻炼炽烀烁烂烃烈烊烔烘烙烛烜烝烟烠烤烦烧烨烩烫烬热烯烶烷烹烺烻烽焆焉焊焌焐焓焕焖焗焘焙焚焜焞焦焯焰焱然煁煃煅煊煋煌煎煓煜煞煟煤煦照煨煮煲煳煴煸煺煽熄熇熊熏熔熘熙熛熜熟熠熥熨熬熵熹熻燃燊燋燎燏燔燕燚燠燥燧燮燹爆爇爔爚爝爟爨爪爬爰爱爵父爷爸爹爻爽爿牁牂片版牌牍牒牖牙牚牛牝牟牡牢牤牥牦牧物牮牯牲牵特牺牻牾牿犀犁犄犇犊犋犍犏犒犟犨犬犯犰犴状犷犸犹狁狂狃狄狈狉狍狎狐狒狗狙狝狞狠狡狨狩独狭狮狯狰狱狲狳狴狷狸狺狻狼猁猃猄猇猊猎猕猖猗猛猜猝猞猡猢猥猩猪猫猬献猯猰猱猴猷猹猺猾猿獍獐獒獗獠獬獭獯獴獾玃玄率玉王玎玑玒玓玕玖玘玙玚玛玞玟玠玡玢玤玥玦玩玫玭玮环现玱玲玳玶玷玹玺玻玼玿珀珂珅珇珈珉珊珋珌珍珏珐珑珒珕珖珙珛珝珞珠珢珣珥珦珧珩珪珫班珰珲珵珷珸珹珺珽琀球琄琅理琇琈琉琊琎琏琐琔琚琛琟琡琢琤琥琦琨琪琫琬琭琮琯琰琲琳琴琵琶琼瑀瑁瑂瑃瑄瑅瑆瑑瑓瑔瑕瑖瑗瑙瑚瑛瑜瑝瑞瑟瑢瑧瑨瑬瑭瑰瑱瑳瑶瑷瑾璀璁璃璆璇璈璋璎璐璒璘璜璞璟璠璥璧璨璩璪璬璮璱璲璺瓀瓒瓖瓘瓜瓞瓠瓢瓣瓤瓦瓮瓯瓴瓶瓷瓻瓿甄甍甏甑甓甗甘甚甜生甡甥甦用甩甪甫甬甭甯田由甲申电男甸町画甾畀畅畈畋界畎畏畔畖留畚畛畜畤略畦番畬畯畲畴畸畹畿疁疃疆疍疏疐疑疔疖疗疙疚疝疟疠疡疢疣疤疥疫疬疭疮疯疰疱疲疳疴疵疸疹疼疽疾痂痃痄病症痈痉痊痍痒痓痔痕痘痛痞痢痣痤痦痧痨痪痫痰痱痴痹痼痿瘀瘁瘃瘅瘆瘊瘌瘐瘕瘗瘘瘙瘛瘟瘠瘢瘤瘥瘦瘩瘪瘫瘭瘰瘳瘴瘵瘸瘼瘾瘿癀癃癌癍癔癖癗癜癞癣癫癯癸登白百癿皂的皆皇皈皋皎皑皓皕皖皙皛皞皤皦皭皮皱皲皴皿盂盅盆盈盉益盍盎盏盐监盒盔盖盗盘盛盟盥盦目盯盱盲直盷相盹盼盾省眄眇眈眉眊看眍眙眚真眠眢眦眨眩眬眭眯眵眶眷眸眺眼着睁睃睄睇睎睐睑睚睛睡睢督睥睦睨睫睬睹睽睾睿瞀瞄瞅瞋瞌瞍瞎瞑瞒瞟瞠瞢瞥瞧瞩瞪瞫瞬瞭瞰瞳瞵瞻瞽瞿矍矗矛矜矞矢矣知矧矩矫矬短矮矰石矶矸矻矼矾矿砀码砂砄砆砉砌砍砑砒研砖砗砘砚砜砝砟砠砣砥砧砫砬砭砮砰破砵砷砸砹砺砻砼砾础硁硅硇硊硌硍硎硐硒硔硕硖硗硙硚硝硪硫硬硭确硼硿碃碇碈碉碌碍碎碏碑碓碗碘碚碛碜碟碡碣碥碧碨碰碱碲碳碴碶碹碾磁磅磉磊磋磏磐磔磕磙磜磡磨磬磲磴磷磹磻礁礅礌礓礞礴礵示礼社祀祁祃祆祇祈祉祊祋祎祏祐祓祕祖祗祚祛祜祝神祟祠祢祥祧票祭祯祲祷祸祺祼祾禀禁禄禅禊禋福禒禔禘禚禛禤禧禳禹禺离禽禾秀私秃秆秉秋种科秒秕秘租秣秤秦秧秩秫秬秭积称秸移秽秾稀稂稃稆程稌稍税稑稔稗稙稚稞稠稣稳稷稹稻稼稽稿穄穆穑穗穙穜穟穰穴究穷穸穹空穿窀突窃窄窅窈窊窍窎窑窒窕窖窗窘窜窝窟窠窣窥窦窨窬窭窳窸窿立竑竖竘站竞竟章竣童竦竫竭端竹竺竽竿笃笄笆笈笊笋笏笑笔笕笙笛笞笠笤笥符笨笪笫第笮笯笱笳笸笺笼笾筀筅筇等筋筌筏筐筑筒答策筘筚筛筜筝筠筢筤筥筦筮筱筲筵筶筷筹筻筼签简箅箍箐箓箔箕箖算箜管箢箦箧箨箩箪箫箬箭箱箴箸篁篆篇篌篑篓篙篚篝篡篥篦篪篮篯篱篷篼篾簃簇簉簋簌簏簕簖簝簟簠簧簪簰簸簿籀籁籍籥米籴类籼籽粉粑粒粕粗粘粜粝粞粟粢粤粥粪粮粱粲粳粹粼粽精粿糁糅糇糈糊糌糍糒糕糖糗糙糜糟糠糨糯糵系紊素索紧紫累絜絮絷綦綮縠縢縻繁繄繇纂纛纠纡红纣纤纥约级纨纩纪纫纬纭纮纯纰纱纲纳纴纵纶纷纸纹纺纻纼纽纾线绀绁绂练组绅细织终绉绊绋绌绍绎经绐绑绒结绔绕绖绗绘给绚绛络绝绞统绠绡绢绣绤绥绦继绨绩绪绫续绮绯绰绱绲绳维绵绶绷绸绹绺绻综绽绾绿缀缁缂缃缄缅缆缇缈缉缊缌缎缐缑缒缓缔缕编缗缘缙缚缛缜缝缞缟缠缡缢缣缤缥缦缧缨缩缪缫缬缭缮缯缰缱缲缳缴缵缶缸缺罂罄罅罍罐网罔罕罗罘罚罟罡罢罨罩罪置罱署罴罶罹罽罾羁羊羌美羑羓羔羕羖羚羝羞羟羡群羧羯羰羱羲羸羹羼羽羿翀翁翂翃翅翈翊翌翎翔翕翘翙翚翛翟翠翡翥翦翩翮翯翰翱翳翷翻翼翾耀老考耄者耆耇耋而耍耏耐耑耒耔耕耖耗耘耙耜耠耢耤耥耦耧耨耩耪耰耱耳耵耶耷耸耻耽耿聂聃聆聊聋职聍聒联聘聚聩聪聱聿肃肄肆肇肉肋肌肓肖肘肚肛肝肟肠股肢肤肥肩肪肫肭肮肯肱育肴肷肸肺肼肽肾肿胀胁胂胃胄胆胈背胍胎胖胗胙胚胛胜胝胞胠胡胣胤胥胧胨胩胪胫胬胭胯胰胱胲胳胴胶胸胺胼能脂脆脉脊脍脎脏脐脑脒脓脔脖脘脚脞脟脩脬脯脱脲脶脸脾脿腆腈腊腋腌腐腑腒腓腔腕腘腙腚腠腥腧腨腩腭腮腯腰腱腴腹腺腻腼腽腾腿膀膂膈膊膏膑膘膙膛膜膝膦膨膳膺膻臀臂臃臆臊臌臑臜臣臧自臬臭至致臻臼臾舀舁舂舄舅舆舌舍舐舒舔舛舜舞舟舠舢舣舥航舫般舭舯舰舱舲舳舴舵舶舷舸船舻舾艄艅艇艉艋艎艏艘艚艟艨艮良艰色艳艴艺艽艾艿节芃芄芈芊芋芍芎芏芑芒芗芘芙芜芝芟芠芡芣芤芥芦芨芩芪芫芬芭芮芯芰花芳芴芷芸芹芼芽芾苁苄苇苈苉苊苋苌苍苎苏苑苒苓苔苕苗苘苛苜苞苟苠苡苣苤若苦苧苫苯英苴苷苹苻苾茀茁茂范茄茅茆茈茉茋茌茎茏茑茓茔茕茗茚茛茜茝茧茨茫茬茭茯茱茳茴茵茶茸茹茺茼茽荀荁荃荄荆荇草荏荐荑荒荓荔荖荙荚荛荜荞荟荠荡荣荤荥荦荧荨荩荪荫荬荭荮药荷荸荻荼荽莅莆莉莎莒莓莘莙莛莜莝莞莠莨莩莪莫莰莱莲莳莴莶获莸莹莺莼莽莿菀菁菂菅菇菉菊菌菍菏菔菖菘菜菝菟菠菡菥菩菪菰菱菲菹菼菽萁萃萄萆萋萌萍萎萏萑萘萚萜萝萣萤营萦萧萨萩萱萳萸萹萼落葆葎葑葖著葙葚葛葜葡董葩葫葬葭葰葱葳葴葵葶葸葺蒂蒄蒇蒈蒉蒋蒌蒎蒐蒗蒙蒜蒟蒡蒨蒯蒱蒲蒴蒸蒹蒺蒻蒽蒿蓁蓂蓄蓇蓉蓊蓍蓏蓐蓑蓓蓖蓝蓟蓠蓢蓣蓥蓦蓬蓰蓼蓿蔀蔃蔈蔊蔌蔑蔓蔗蔚蔟蔡蔫蔬蔷蔸蔹蔺蔻蔼蔽蕃蕈蕉蕊蕖蕗蕙蕞蕤蕨蕰蕲蕴蕹蕺蕻蕾薁薄薅薇薏薛薜薢薤薨薪薮薯薰薳薷薸薹薿藁藉藏藐藓藕藜藟藠藤藦藨藩藻藿蘅蘑蘖蘘蘧蘩蘸蘼虎虏虐虑虒虓虔虚虞虢虤虫虬虮虱虷虸虹虺虻虼虽虾虿蚀蚁蚂蚄蚆蚊蚋蚌蚍蚓蚕蚜蚝蚣蚤蚧蚨蚩蚪蚬蚯蚰蚱蚲蚴蚶蚺蛀蛃蛄蛆蛇蛉蛊蛋蛎蛏蛐蛑蛔蛘蛙蛛蛞蛟蛤蛩蛭蛮蛰蛱蛲蛳蛴蛸蛹蛾蜀蜂蜃蜇蜈蜉蜊蜍蜎蜐蜒蜓蜕蜗蜘蜚蜜蜞蜡蜢蜣蜥蜩蜮蜱蜴蜷蜻蜾蜿蝇蝈蝉蝌蝎蝓蝗蝘蝙蝠蝣蝤蝥蝮蝰蝲蝴蝶蝻蝼蝽蝾螂螃螅螈螋融螗螟螠螣螨螫螬螭螯螱螳螵螺螽蟀蟆蟊蟋蟏蟑蟒蟛蟠蟥蟪蟫蟮蟹蟾蠃蠊蠋蠓蠕蠖蠡蠢蠲蠹蠼血衃衄衅行衍衎衒衔街衙衠衡衢衣补表衩衫衬衮衰衲衷衽衾衿袁袂袄袅袆袈袋袍袒袖袗袜袢袤袪被袭袯袱袷袼裁裂装裆裈裉裎裒裔裕裘裙裛裟裢裣裤裥裨裰裱裳裴裸裹裼裾褂褊褐褒褓褕褙褚褛褟褡褥褪褫褯褰褴褶襁襄襕襚襜襞襟襦襫襻西要覃覆见观觃规觅视觇览觉觊觋觌觎觏觐觑角觖觚觜觞觟解觥触觫觭觯觱觳觿言訄訇訚訾詈詟詹誉誊誓謇警譬计订讣认讥讦讧讨让讪讫训议讯记讱讲讳讴讵讶讷许讹论讻讼讽设访诀证诂诃评诅识诇诈诉诊诋诌词诎诏诐译诒诓诔试诖诗诘诙诚诛诜话诞诟诠诡询诣诤该详诧诨诩诫诬语诮误诰诱诲诳说诵请诸诹诺读诼诽课诿谀谁谂调谄谅谆谇谈谊谋谌谍谎谏谐谑谒谓谔谕谖谗谙谚谛谜谝谞谟谠谡谢谣谤谥谦谧谨谩谪谫谬谭谮谯谰谱谲谳谴谵谶谷谼谿豁豆豇豉豌豕豚象豢豨豪豫豮豳豸豹豺貂貅貆貉貊貌貔貘贝贞负贡财责贤败账货质贩贪贫贬购贮贯贰贱贲贳贴贵贶贷贸费贺贻贼贽贾贿赀赁赂赃资赅赆赇赈赉赊赋赌赍赎赏赐赑赒赓赔赕赖赗赘赙赚赛赜赝赞赟赠赡赢赣赤赦赧赪赫赭走赳赴赵赶起趁趄超越趋趑趔趟趣趯趱足趴趵趸趺趼趾趿跂跃跄跆跋跌跎跏跐跑跖跗跚跛距跞跟跣跤跨跪跬路跱跳践跶跷跸跹跺跻跽踅踉踊踌踏踒踔踝踞踟踢踣踦踩踪踬踮踯踱踵踶踹踺踽蹀蹁蹂蹄蹅蹇蹈蹉蹊蹋蹐蹑蹒蹙蹚蹜蹢蹦蹩蹬蹭蹯蹰蹲蹴蹶蹼蹽蹾蹿躁躅躇躏躐躔躜躞身躬躯躲躺车轧轨轩轪轫转轭轮软轰轱轲轳轴轵轶轷轸轹轺轻轼载轾轿辀辁辂较辄辅辆辇辈辉辊辋辌辍辎辏辐辑辒输辔辕辖辗辘辙辚辛辜辞辟辣辨辩辫辰辱边辽达辿迁迂迄迅过迈迎运近迓返迕还这进远违连迟迢迤迥迦迨迩迪迫迭迮述迳迷迸迹迺追退送适逃逄逅逆选逊逋逍透逐逑递途逖逗通逛逝逞速造逡逢逦逭逮逯逴逵逶逸逻逼逾遁遂遄遆遇遍遏遐遑遒道遗遘遛遢遣遥遨遭遮遴遵遹遽避邀邂邃邈邋邑邓邕邗邘邙邛邝邠邡邢那邦邨邪邬邮邯邰邱邲邳邴邵邶邸邹邺邻邽邾邿郁郃郄郅郇郈郊郎郏郐郑郓郗郚郛郜郝郡郢郤郦郧部郪郫郭郯郴郸都郾郿鄀鄂鄃鄄鄅鄌鄑鄗鄘鄙鄚鄜鄞鄠鄢鄣鄫鄯鄱鄹酂酃酅酆酉酊酋酌配酎酏酐酒酗酚酝酞酡酢酣酤酥酦酩酪酬酮酯酰酱酲酴酵酶酷酸酹酺酽酾酿醅醇醉醋醌醍醐醑醒醚醛醢醨醪醭醮醯醴醵醺醾采釉释里重野量釐金釜鉴銎銮鋆鋈錾鍪鎏鏊鏖鐾鑫钆钇针钉钊钋钌钍钎钏钐钒钓钔钕钖钗钘钙钚钛钜钝钞钟钠钡钢钣钤钥钦钧钨钩钪钫钬钭钮钯钰钱钲钳钴钵钷钹钺钻钼钽钾钿铀铁铂铃铄铅铆铈铉铊铋铌铍铎铏铐铑铒铕铖铗铘铙铚铛铜铝铞铟铠铡铢铣铤铥铧铨铩铪铫铬铭铮铯铰铱铲铳铴铵银铷铸铹铺铻铼铽链铿销锁锂锃锄锅锆锇锈锉锊锋锌锍锎锏锐锑锒锓锔锕锖锗锘错锚锛锜锝锞锟锡锢锣锤锥锦锧锨锩锪锫锬锭键锯锰锱锲锳锴锵锶锷锸锹锺锻锼锽锾锿镀镁镂镃镄镅镆镇镈镉镊镋镌镍镎镏镐镑镒镓镔镕镖镗镘镚镛镜镝镞镠镡镢镣镤镥镦镧镨镩镪镫镬镭镮镯镰镱镲镳镴镵镶长门闩闪闫闭问闯闰闱闲闳间闵闶闷闸闹闺闻闼闽闾闿阀阁阂阃阄阅阆阇阈阉阊阋阌阍阎阏阐阑阒阔阕阖阗阘阙阚阜队阡阪阮阱防阳阴阵阶阻阼阽阿陀陂附际陆陇陈陉陋陌降陎限陑陔陕陛陞陟陡院除陧陨险陪陬陲陴陵陶陷隃隅隆隈隋隍随隐隔隗隘隙障隧隩隰隳隶隹隺隼隽难雀雁雄雅集雇雉雊雌雍雎雏雒雕雠雨雩雪雯雱雳零雷雹雾需霁霄霅霆震霈霉霍霎霏霓霖霜霞霨霪霭霰露霸霹霾青靓靖静靛非靠靡面靥革靬靰靳靴靶靸靺靼靽靿鞁鞅鞋鞍鞑鞒鞔鞘鞠鞡鞣鞧鞨鞫鞬鞭鞮鞯鞲鞳鞴韂韦韧韨韩韪韫韬韭音韵韶页顶顷顸项顺须顼顽顾顿颀颁颂颃预颅领颇颈颉颊颋颌颍颎颏颐频颓颔颖颗题颙颚颛颜额颞颟颠颡颢颤颥颦颧风飏飐飑飒飓飔飕飗飘飙飞食飧飨餍餐餮饔饕饥饧饨饩饪饫饬饭饮饯饰饱饲饳饴饵饶饷饸饹饺饻饼饽饿馁馃馄馅馆馇馈馉馊馋馌馍馏馐馑馒馓馔馕首馗馘香馝馞馥馧馨马驭驮驯驰驱驲驳驴驵驶驷驸驹驺驻驼驽驾驿骀骁骂骃骄骅骆骇骈骉骊骋验骍骎骏骐骑骒骓骕骖骗骘骙骚骛骜骝骞骟骠骡骢骣骤骥骦骧骨骰骱骶骷骸骺骼髀髁髂髃髅髋髌髎髑髓高髡髢髦髫髭髯髹髻髽鬃鬈鬏鬒鬓鬘鬟鬣鬯鬲鬶鬷鬻鬼魁魂魃魄魅魆魇魈魉魋魍魏魑魔鱼鱽鱾鱿鲀鲁鲂鲃鲅鲆鲇鲈鲉鲊鲋鲌鲍鲎鲏鲐鲑鲒鲔鲕鲖鲗鲘鲙鲚鲛鲜鲝鲞鲟鲠鲡鲢鲣鲤鲥鲦鲧鲨鲩鲪鲫鲬鲭鲮鲯鲰鲱鲲鲳鲴鲵鲷鲸鲹鲺鲻鲼鲽鲾鲿鳀鳁鳂鳃鳄鳅鳇鳈鳉鳊鳌鳍鳎鳏鳐鳑鳒鳓鳔鳕鳖鳗鳘鳙鳚鳛鳜鳝鳞鳟鳠鳡鳢鳣鳤鸟鸠鸡鸢鸣鸤鸥鸦鸧鸨鸩鸪鸫鸬鸭鸮鸯鸰鸱鸲鸳鸵鸶鸷鸸鸹鸺鸻鸼鸽鸾鸿鹀鹁鹂鹃鹄鹅鹆鹇鹈鹉鹊鹋鹌鹍鹎鹏鹐鹑鹒鹔鹕鹖鹗鹘鹙鹚鹛鹜鹝鹞鹟鹠鹡鹢鹣鹤鹦鹧鹨鹩鹪鹫鹬鹭鹮鹯鹰鹱鹲鹳鹴鹾鹿麀麂麇麈麋麑麒麓麖麝麟麦麸麹麻麽麾黄黇黉黍黎黏黑黔默黛黜黝黟黠黡黢黥黧黩黪黯黹黻黼黾鼋鼍鼎鼐鼒鼓鼗鼙鼠鼢鼩鼫鼬鼯鼱鼷鼹鼻鼽鼾齁齇齉齐齑齿龀龁龂龃龄龅龆龇龈龉龊龋龌龙龚龛龟龠龢鿍鿎鿏㑇㑊㕮㘎㙍㙘㙦㛃㛚㛹㟃㠇㠓㤘㥄㧐㧑㧟㫰㬊㬎㬚㭎㭕㮾㰀㳇㳘㳚㴔㵐㶲㸆㸌㺄㻬㽏㿠䁖䂮䃅䃎䅟䌹䎃䎖䏝䏡䏲䐃䓖䓛䓨䓫䓬䗖䗛䗪䗴䜣䝙䢺䢼䣘䥽䦃䲟䲠䲢䴓䴔䴕䴖䴗䴘䴙䶮𠅤𠙶𠳐𡎚𡐓𣗋𣲗𣲘𣸣𤧛𤩽𤫉𥔲𥕢𥖨𥻗𦈡𦒍𦙶𦝼𦭜𦰡𧿹𨐈𨙸𨚕𨟠𨭉𨱇𨱏𨱑𨱔𨺙𩽾𩾃𩾌𪟝𪣻𪤗𪨰𪨶𪩘𪾢𫄧𫄨𫄷𫄸𫇭𫌀𫍣𫍯𫍲𫍽𫐄𫐐𫐓𫑡𫓧𫓯𫓶𫓹𫔍𫔎𫔶𫖮𫖯𫖳𫗧𫗴𫘜𫘝𫘦𫘧𫘨𫘪𫘬𫚕𫚖𫚭𫛭𫞩𫟅𫟦𫟹𫟼𫠆𫠊𫠜𫢸𫫇𫭟𫭢𫭼𫮃𫰛𫵷𫶇𫷷𫸩𬀩𬀪𬂩𬃊𬇕𬇙𬇹𬉼𬊈𬊤𬌗𬍛𬍡𬍤𬒈𬒔𬒗𬕂𬘓𬘘𬘡𬘩𬘫𬘬𬘭𬘯𬙂𬙊𬙋𬜬𬜯𬞟𬟁𬟽𬣙𬣞𬣡𬣳𬤇𬤊𬤝𬨂𬨎𬩽𬪩𬬩𬬭𬬮𬬱𬬸𬬹𬬻𬬿𬭁𬭊𬭎𬭚𬭛𬭤𬭩𬭬𬭯𬭳𬭶𬭸𬭼𬮱𬮿𬯀𬯎𬱖𬱟𬳵𬳶𬳽𬳿𬴂𬴃𬴊𬶋𬶍𬶏𬶐𬶟𬶠𬶨𬶭𬶮𬷕𬸘𬸚𬸣𬸦𬸪𬹼𬺈𬺓'
CN_CHARS_EXT = '吶诶屌囧飚屄'
CN_CHARS = '一丁七万丈三上下不与丏丐丑专且丕世丘丙业丛东丝丞丢两严丧个丫中丰串临丸丹为主丽举乂乃久么义之乌乍乎乏乐乒乓乔乖乘乙乜九乞也习乡书乩买乱乳乸乾了予争事二亍于亏云互亓五井亘亚些亟亡亢交亥亦产亨亩享京亭亮亲亳亵亶亸亹人亿什仁仂仃仄仅仆仇仉今介仍从仑仓仔仕他仗付仙仝仞仟仡代令以仨仪仫们仰仲仳仵件价任份仿企伈伉伊伋伍伎伏伐休众优伙会伛伞伟传伢伣伤伥伦伧伪伫伭伯估伲伴伶伸伺似伽伾佁佃但位低住佐佑体何佖佗佘余佚佛作佝佞佟你佣佤佥佩佬佯佰佳佴佶佸佺佻佼佽佾使侁侂侃侄侈侉例侍侏侑侔侗侘供依侠侣侥侦侧侨侩侪侬侮侯侴侵侹便促俄俅俊俍俎俏俐俑俗俘俙俚俜保俞俟信俣俦俨俩俪俫俭修俯俱俳俵俶俸俺俾倌倍倏倒倓倔倕倘候倚倜倞借倡倥倦倧倨倩倪倬倭倮倴债倻值倾偁偃假偈偌偎偏偓偕做停偡健偬偭偰偲偶偷偻偾偿傀傃傅傈傉傍傒傕傣傥傧储傩催傲傺傻僇僎像僔僖僚僦僧僬僭僮僰僳僵僻儆儇儋儒儡儦儳儴儿兀允元兄充兆先光克免兑兔兕兖党兜兢入全八公六兮兰共关兴兵其具典兹养兼兽冀冁内冈冉册再冏冒冔冕冗写军农冠冢冤冥冬冮冯冰冱冲决况冶冷冻冼冽净凄准凇凉凋凌减凑凓凘凛凝几凡凤凫凭凯凰凳凶凸凹出击凼函凿刀刁刃分切刈刊刍刎刑划刖列刘则刚创初删判刨利别刬刭刮到刳制刷券刹刺刻刽刿剀剁剂剃剅削剋剌前剐剑剔剕剖剜剞剟剡剥剧剩剪副割剽剿劁劂劄劈劐劓力劝办功加务劢劣动助努劫劬劭励劲劳劼劾势勃勇勉勋勍勐勒勔勖勘勚募勠勤勰勺勾勿匀包匆匈匍匏匐匕化北匙匜匝匠匡匣匦匪匮匹区医匼匾匿十千卅升午卉半华协卑卒卓单卖南博卜卞卟占卡卢卣卤卦卧卫卬卮卯印危即却卵卷卸卺卿厂厄厅历厉压厌厍厕厖厘厚厝原厢厣厥厦厨厩厮去厾县叁参叆叇又叉及友双反发叔叕取受变叙叚叛叟叠口古句另叨叩只叫召叭叮可台叱史右叵叶号司叹叻叼叽吁吃各吆合吉吊同名后吏吐向吒吓吕吖吗君吝吞吟吠吡吣否吧吨吩含听吭吮启吱吲吴吵吸吹吻吼吽吾呀呃呆呇呈告呋呐呒呓呔呕呖呗员呙呛呜呢呣呤呦周呱呲味呵呶呷呸呻呼命咀咂咄咆咇咉咋和咍咎咏咐咒咔咕咖咙咚咛咝咡咣咤咥咦咧咨咩咪咫咬咯咱咳咴咸咺咻咽咿哀品哂哃哄哆哇哈哉哌响哎哏哐哑哒哓哔哕哗哙哚哝哞哟哢哥哦哧哨哩哪哭哮哱哲哳哺哼哽哿唁唆唇唉唏唐唑唔唛唝唠唢唣唤唧唪唬售唯唰唱唳唵唷唼唾唿啁啃啄商啉啊啐啕啖啜啡啤啥啦啧啪啫啬啭啮啰啴啵啶啷啸啻啼啾喀喁喂喃善喆喇喈喉喊喋喏喑喔喘喙喜喝喟喤喧喱喳喵喷喹喻喽喾嗄嗅嗉嗌嗍嗐嗑嗒嗓嗔嗖嗜嗝嗞嗟嗡嗣嗤嗥嗦嗨嗪嗫嗬嗯嗲嗳嗵嗷嗽嗾嘀嘁嘈嘉嘌嘎嘏嘘嘚嘛嘞嘟嘡嘣嘤嘧嘬嘭嘱嘲嘴嘶嘹嘻嘿噀噂噇噌噍噎噔噗噘噙噜噢噤器噩噪噫噬噱噶噻噼嚄嚅嚆嚎嚏嚓嚚嚣嚭嚯嚷嚼囊囔囚四回囟因囡团囤囫园困囱围囵囷囹固国图囿圃圄圆圈圉圊圌圐圙圜土圢圣在圩圪圫圬圭圮圯地圲圳圹场圻圾址坂均坉坊坋坌坍坎坏坐坑坒块坚坛坜坝坞坟坠坡坤坥坦坨坩坪坫坬坭坯坰坳坷坻坼坽垂垃垄垆垈型垌垍垎垏垒垓垕垙垚垛垞垟垠垡垢垣垤垦垧垩垫垭垮垯垱垲垴垵垸垺垾垿埂埃埆埇埋埌城埏埒埔埕埗埘埙埚埝域埠埤埪埫埭埯埴埵埸培基埼埽堂堃堆堇堉堋堌堍堎堐堑堕堙堞堠堡堤堧堨堪堰堲堵堼堽堾塄塅塆塌塍塑塔塘塝塞塥填塬塱塾墀墁境墅墈墉墐墒墓墕墘墙墚增墟墡墣墦墨墩墼壁壅壑壕壤士壬壮声壳壶壸壹处备复夏夐夔夕外夙多夜够夤夥大天太夫夬夭央夯失头夷夸夹夺夼奁奂奄奇奈奉奋奎奏契奓奔奕奖套奘奚奠奡奢奥奭女奴奶奸她好妁如妃妄妆妇妈妊妍妒妓妖妗妘妙妞妣妤妥妧妨妩妪妫妭妮妯妲妹妻妾姆姈姊始姐姑姒姓委姗姘姚姜姝姞姣姤姥姨姬姮姱姶姹姻姽姿娀威娃娄娅娆娇娈娉娌娑娓娘娜娟娠娣娥娩娱娲娴娵娶娼婀婆婉婊婌婍婕婘婚婞婠婢婤婧婪婫婳婴婵婶婷婺婻婼婿媂媄媆媒媓媖媚媛媞媪媭媱媲媳媵媸媾嫁嫂嫄嫉嫌嫒嫔嫕嫖嫘嫚嫜嫠嫡嫣嫦嫩嫪嫫嫭嫱嫽嬉嬖嬗嬛嬥嬬嬴嬷嬿孀孅子孑孓孔孕孖字存孙孚孛孜孝孟孢季孤孥学孩孪孬孰孱孳孵孺孽宁它宄宅宇守安宋完宏宓宕宗官宙定宛宜宝实宠审客宣室宥宦宧宪宫宬宰害宴宵家宸容宽宾宿寁寂寄寅密寇富寐寒寓寝寞察寡寤寥寨寮寰寸对寺寻导寿封射将尉尊小少尔尕尖尘尚尜尝尢尤尥尧尨尪尬就尴尸尹尺尻尼尽尾尿局屁层屃居屈屉届屋屎屏屐屑展屙属屠屡屣履屦屯山屹屺屼屾屿岁岂岈岊岌岍岐岑岔岖岗岘岙岚岛岜岞岠岢岣岨岩岫岬岭岱岳岵岷岸岽岿峁峂峃峄峋峒峗峘峙峛峡峣峤峥峦峧峨峪峭峰峱峻峿崀崁崂崃崄崆崇崌崎崒崔崖崚崛崞崟崡崤崦崧崩崭崮崴崶崽崾崿嵁嵅嵇嵊嵋嵌嵎嵖嵘嵚嵛嵝嵩嵫嵬嵯嵲嵴嶂嶅嶍嶒嶓嶙嶝嶟嶦嶲嶷巅巇巉巍川州巡巢工左巧巨巩巫差巯己已巳巴巷巽巾币市布帅帆师希帏帐帑帔帕帖帘帙帚帛帜帝帡带帧帨席帮帱帷常帻帼帽幂幄幅幌幔幕幖幛幞幡幢幪干平年并幸幺幻幼幽广庄庆庇床庋序庐庑库应底庖店庙庚府庞废庠庤庥度座庭庱庳庵庶康庸庹庼庾廆廉廊廋廑廒廓廖廙廛廨廪延廷建廿开弁异弃弄弆弇弈弊弋式弑弓引弗弘弛弟张弢弥弦弧弨弩弭弯弱弶弸弹强弼彀归当录彖彗彘彝彟形彤彦彧彩彪彬彭彰影彳彷役彻彼往征徂径待徇很徉徊律徐徒徕得徘徙徛徜御徨循徭微徵德徼徽心必忆忉忌忍忏忐忑忒忖志忘忙忝忞忠忡忤忧忪快忭忮忱忳念忸忺忻忽忾忿怀态怂怃怄怅怆怊怍怎怏怒怔怕怖怙怛怜思怠怡急怦性怨怩怪怫怯怵总怼怿恁恂恃恋恍恐恒恓恔恕恙恚恝恢恣恤恧恨恩恪恫恬恭息恰恳恶恸恹恺恻恼恽恿悃悄悆悈悉悌悍悒悔悖悚悛悝悟悠悢患悦您悫悬悭悯悰悱悲悴悸悻悼情惆惇惊惋惎惑惔惕惘惙惚惛惜惝惟惠惦惧惨惩惫惬惭惮惯惰想惴惶惹惺愀愁愃愆愈愉愍愎意愐愔愕愚感愠愣愤愦愧愫愭愿慆慈慊慌慎慑慕慝慢慥慧慨慬慭慰慵慷憋憎憔憕憙憧憨憩憬憭憷憺憾懂懈懊懋懑懒懔懦懵懿戆戈戊戋戌戍戎戏成我戒戕或戗战戚戛戟戡戢戣戤戥截戬戭戮戳戴户戽戾房所扁扂扃扅扆扇扈扉扊手才扎扑扒打扔托扛扞扣扦执扩扪扫扬扭扮扯扰扳扶批扺扼扽找承技抃抄抉把抑抒抓抔投抖抗折抚抛抟抠抡抢护报抨披抬抱抵抹抻押抽抿拂拃拄担拆拇拈拉拊拌拍拎拐拒拓拔拖拗拘拙招拜拟拢拣拤拥拦拧拨择括拭拮拯拱拳拴拶拷拼拽拾拿持挂指挈按挎挑挓挖挚挛挝挞挟挠挡挣挤挥挦挨挪挫振挲挹挺挽捂捃捅捆捉捋捌捍捎捏捐捕捞损捡换捣捧捩捭据捯捶捷捺捻捽掀掂掇授掉掊掌掎掏掐排掖掘掞掠探掣接控推掩措掬掭掮掰掳掴掷掸掺掼掾揄揆揉揍描提插揕揖揠握揣揩揪揭揳援揶揸揽揿搀搁搂搅搋搌搏搐搒搓搔搛搜搞搠搡搦搪搬搭搴携搽摁摄摅摆摇摈摊摏摒摔摘摛摞摧摩摭摴摸摹摽撂撄撅撇撑撒撕撖撙撞撤撩撬播撮撰撵撷撸撺撼擀擂擅操擎擐擒擘擞擢擤擦擿攀攉攒攘攥攫攮支收攸改攻攽放政故效敉敌敏救敔敕敖教敛敝敞敢散敦敩敫敬数敲整敷文斋斌斐斑斓斗料斛斜斝斟斠斡斤斥斧斩斫断斯新斶方於施旁旃旄旅旆旋旌旎族旐旒旖旗旞无既日旦旧旨早旬旭旮旯旰旱旴旵时旷旸旺旻旿昀昂昃昄昆昇昈昉昊昌明昏昒易昔昕昙昝星映昡昣昤春昧昨昪昫昭是昱昳昴昵昶昺昼昽显晁晃晅晊晋晌晏晐晒晓晔晕晖晗晙晚晞晟晡晢晤晦晨晪晫普景晰晱晴晶晷智晾暂暄暅暇暌暑暕暖暗暝暧暨暮暲暴暵暶暹暾暿曈曌曙曛曜曝曦曩曰曲曳更曷曹曼曾替最月有朋服朏朐朓朔朕朗望朝期朦木未末本札术朱朳朴朵朸机朽杀杂权杄杆杈杉杌李杏材村杓杕杖杙杜杞束杠条来杧杨杩杪杭杯杰杲杳杵杷杻杼松板极构枅枇枉枋枍析枕林枘枚果枝枞枢枣枥枧枨枪枫枭枯枰枲枳枵架枷枸枹柁柃柄柈柊柏某柑柒染柔柖柘柙柚柜柝柞柠柢查柩柬柯柰柱柳柴柷柽柿栀栅标栈栉栊栋栌栎栏栐树栒栓栖栗栝栟校栩株栲栳栴样核根栻格栽栾桀桁桂桃桄桅框案桉桊桌桎桐桑桓桔桕桠桡桢档桤桥桦桧桨桩桫桯桲桴桶桷桹梁梃梅梆梌梏梓梗梠梢梣梦梧梨梭梯械梳梴梵梼梽梾梿检棁棂棉棋棍棐棒棓棕棘棚棠棣棤棨棪棫棬森棰棱棵棹棺棻棼棽椀椁椅椆椋植椎椐椑椒椓椟椠椤椪椭椰椴椸椹椽椿楂楒楔楗楙楚楝楞楠楣楦楩楪楫楮楯楷楸楹楼概榃榄榅榆榇榈榉榍榑榔榕榖榛榜榧榨榫榭榰榱榴榷榻槁槃槊槌槎槐槔槚槛槜槟槠槭槱槲槽槿樊樗樘樟模樨横樯樱樵樽樾橄橇橐橑橘橙橛橞橡橥橦橱橹橼檀檄檎檐檑檗檞檠檩檫檬櫆欂欠次欢欣欤欧欲欸欹欺欻款歃歅歆歇歉歌歙止正此步武歧歪歹死歼殁殂殃殄殆殇殉殊残殍殒殓殖殚殛殡殣殪殳殴段殷殿毁毂毅毋毌母每毐毒毓比毕毖毗毙毛毡毪毫毯毳毵毹毽氅氆氇氍氏氐民氓气氕氖氘氙氚氛氟氡氢氤氦氧氨氩氪氮氯氰氲水永氾氿汀汁求汆汇汈汉汊汋汐汔汕汗汛汜汝汞江池污汤汧汨汩汪汫汭汰汲汴汶汹汽汾沁沂沃沄沅沆沇沈沉沌沏沐沓沔沘沙沚沛沟没沣沤沥沦沧沨沩沪沫沭沮沱河沸油沺治沼沽沾沿泂泃泄泅泇泉泊泌泐泓泔法泖泗泙泚泛泜泞泠泡波泣泥注泪泫泮泯泰泱泳泵泷泸泺泻泼泽泾洁洄洇洈洋洌洎洑洒洓洗洘洙洚洛洞洢洣津洧洨洪洫洭洮洱洲洳洴洵洸洹洺活洼洽派洿流浃浅浆浇浈浉浊测浍济浏浐浑浒浓浔浕浙浚浛浜浞浟浠浡浣浥浦浩浪浬浭浮浯浰浲浴海浸浼涂涄涅消涉涌涍涎涐涑涓涔涕涘涛涝涞涟涠涡涢涣涤润涧涨涩涪涫涮涯液涴涵涸涿淀淄淅淆淇淋淌淏淑淖淘淙淜淝淞淟淠淡淤淦淫淬淮淯深淳淴混淹添淼清渊渌渍渎渐渑渔渗渚渝渟渠渡渣渤渥温渫渭港渰渲渴游渺渼湃湄湉湍湎湑湓湔湖湘湛湜湝湟湣湫湮湲湴湾湿溁溃溅溆溇溉溍溏源溘溚溜溞溟溠溢溥溦溧溪溯溱溲溴溵溶溷溹溺溻溽滁滂滃滆滇滉滋滍滏滑滓滔滕滗滘滚滞滟滠满滢滤滥滦滧滨滩滪滫滴滹漂漆漈漉漋漏漓演漕漖漠漤漦漩漪漫漭漯漱漳漴漶漷漹漻漼漾潆潇潋潍潏潖潘潜潞潟潢潦潩潭潮潲潴潵潸潺潼潽潾澂澄澈澉澌澍澎澛澜澡澥澧澪澭澳澴澶澹澼澽激濂濉濋濑濒濞濠濡濩濮濯瀌瀍瀑瀔瀚瀛瀣瀱瀵瀹瀼灈灌灏灞火灭灯灰灵灶灸灼灾灿炀炅炆炉炊炌炎炒炔炕炖炘炙炜炝炟炣炫炬炭炮炯炱炳炷炸点炻炼炽烀烁烂烃烈烊烔烘烙烛烜烝烟烠烤烦烧烨烩烫烬热烯烶烷烹烺烻烽焆焉焊焌焐焓焕焖焗焘焙焚焜焞焦焯焰焱然煁煃煅煊煋煌煎煓煜煞煟煤煦照煨煮煲煳煴煸煺煽熄熇熊熏熔熘熙熛熜熟熠熥熨熬熵熹熻燃燊燋燎燏燔燕燚燠燥燧燮燹爆爇爔爚爝爟爨爪爬爰爱爵父爷爸爹爻爽爿牁牂片版牌牍牒牖牙牚牛牝牟牡牢牤牥牦牧物牮牯牲牵特牺牻牾牿犀犁犄犇犊犋犍犏犒犟犨犬犯犰犴状犷犸犹狁狂狃狄狈狉狍狎狐狒狗狙狝狞狠狡狨狩独狭狮狯狰狱狲狳狴狷狸狺狻狼猁猃猄猇猊猎猕猖猗猛猜猝猞猡猢猥猩猪猫猬献猯猰猱猴猷猹猺猾猿獍獐獒獗獠獬獭獯獴獾玃玄率玉王玎玑玒玓玕玖玘玙玚玛玞玟玠玡玢玤玥玦玩玫玭玮环现玱玲玳玶玷玹玺玻玼玿珀珂珅珇珈珉珊珋珌珍珏珐珑珒珕珖珙珛珝珞珠珢珣珥珦珧珩珪珫班珰珲珵珷珸珹珺珽琀球琄琅理琇琈琉琊琎琏琐琔琚琛琟琡琢琤琥琦琨琪琫琬琭琮琯琰琲琳琴琵琶琼瑀瑁瑂瑃瑄瑅瑆瑑瑓瑔瑕瑖瑗瑙瑚瑛瑜瑝瑞瑟瑢瑧瑨瑬瑭瑰瑱瑳瑶瑷瑾璀璁璃璆璇璈璋璎璐璒璘璜璞璟璠璥璧璨璩璪璬璮璱璲璺瓀瓒瓖瓘瓜瓞瓠瓢瓣瓤瓦瓮瓯瓴瓶瓷瓻瓿甄甍甏甑甓甗甘甚甜生甡甥甦用甩甪甫甬甭甯田由甲申电男甸町画甾畀畅畈畋界畎畏畔畖留畚畛畜畤略畦番畬畯畲畴畸畹畿疁疃疆疍疏疐疑疔疖疗疙疚疝疟疠疡疢疣疤疥疫疬疭疮疯疰疱疲疳疴疵疸疹疼疽疾痂痃痄病症痈痉痊痍痒痓痔痕痘痛痞痢痣痤痦痧痨痪痫痰痱痴痹痼痿瘀瘁瘃瘅瘆瘊瘌瘐瘕瘗瘘瘙瘛瘟瘠瘢瘤瘥瘦瘩瘪瘫瘭瘰瘳瘴瘵瘸瘼瘾瘿癀癃癌癍癔癖癗癜癞癣癫癯癸登白百癿皂的皆皇皈皋皎皑皓皕皖皙皛皞皤皦皭皮皱皲皴皿盂盅盆盈盉益盍盎盏盐监盒盔盖盗盘盛盟盥盦目盯盱盲直盷相盹盼盾省眄眇眈眉眊看眍眙眚真眠眢眦眨眩眬眭眯眵眶眷眸眺眼着睁睃睄睇睎睐睑睚睛睡睢督睥睦睨睫睬睹睽睾睿瞀瞄瞅瞋瞌瞍瞎瞑瞒瞟瞠瞢瞥瞧瞩瞪瞫瞬瞭瞰瞳瞵瞻瞽瞿矍矗矛矜矞矢矣知矧矩矫矬短矮矰石矶矸矻矼矾矿砀码砂砄砆砉砌砍砑砒研砖砗砘砚砜砝砟砠砣砥砧砫砬砭砮砰破砵砷砸砹砺砻砼砾础硁硅硇硊硌硍硎硐硒硔硕硖硗硙硚硝硪硫硬硭确硼硿碃碇碈碉碌碍碎碏碑碓碗碘碚碛碜碟碡碣碥碧碨碰碱碲碳碴碶碹碾磁磅磉磊磋磏磐磔磕磙磜磡磨磬磲磴磷磹磻礁礅礌礓礞礴礵示礼社祀祁祃祆祇祈祉祊祋祎祏祐祓祕祖祗祚祛祜祝神祟祠祢祥祧票祭祯祲祷祸祺祼祾禀禁禄禅禊禋福禒禔禘禚禛禤禧禳禹禺离禽禾秀私秃秆秉秋种科秒秕秘租秣秤秦秧秩秫秬秭积称秸移秽秾稀稂稃稆程稌稍税稑稔稗稙稚稞稠稣稳稷稹稻稼稽稿穄穆穑穗穙穜穟穰穴究穷穸穹空穿窀突窃窄窅窈窊窍窎窑窒窕窖窗窘窜窝窟窠窣窥窦窨窬窭窳窸窿立竑竖竘站竞竟章竣童竦竫竭端竹竺竽竿笃笄笆笈笊笋笏笑笔笕笙笛笞笠笤笥符笨笪笫第笮笯笱笳笸笺笼笾筀筅筇等筋筌筏筐筑筒答策筘筚筛筜筝筠筢筤筥筦筮筱筲筵筶筷筹筻筼签简箅箍箐箓箔箕箖算箜管箢箦箧箨箩箪箫箬箭箱箴箸篁篆篇篌篑篓篙篚篝篡篥篦篪篮篯篱篷篼篾簃簇簉簋簌簏簕簖簝簟簠簧簪簰簸簿籀籁籍籥米籴类籼籽粉粑粒粕粗粘粜粝粞粟粢粤粥粪粮粱粲粳粹粼粽精粿糁糅糇糈糊糌糍糒糕糖糗糙糜糟糠糨糯糵系紊素索紧紫累絜絮絷綦綮縠縢縻繁繄繇纂纛纠纡红纣纤纥约级纨纩纪纫纬纭纮纯纰纱纲纳纴纵纶纷纸纹纺纻纼纽纾线绀绁绂练组绅细织终绉绊绋绌绍绎经绐绑绒结绔绕绖绗绘给绚绛络绝绞统绠绡绢绣绤绥绦继绨绩绪绫续绮绯绰绱绲绳维绵绶绷绸绹绺绻综绽绾绿缀缁缂缃缄缅缆缇缈缉缊缌缎缐缑缒缓缔缕编缗缘缙缚缛缜缝缞缟缠缡缢缣缤缥缦缧缨缩缪缫缬缭缮缯缰缱缲缳缴缵缶缸缺罂罄罅罍罐网罔罕罗罘罚罟罡罢罨罩罪置罱署罴罶罹罽罾羁羊羌美羑羓羔羕羖羚羝羞羟羡群羧羯羰羱羲羸羹羼羽羿翀翁翂翃翅翈翊翌翎翔翕翘翙翚翛翟翠翡翥翦翩翮翯翰翱翳翷翻翼翾耀老考耄者耆耇耋而耍耏耐耑耒耔耕耖耗耘耙耜耠耢耤耥耦耧耨耩耪耰耱耳耵耶耷耸耻耽耿聂聃聆聊聋职聍聒联聘聚聩聪聱聿肃肄肆肇肉肋肌肓肖肘肚肛肝肟肠股肢肤肥肩肪肫肭肮肯肱育肴肷肸肺肼肽肾肿胀胁胂胃胄胆胈背胍胎胖胗胙胚胛胜胝胞胠胡胣胤胥胧胨胩胪胫胬胭胯胰胱胲胳胴胶胸胺胼能脂脆脉脊脍脎脏脐脑脒脓脔脖脘脚脞脟脩脬脯脱脲脶脸脾脿腆腈腊腋腌腐腑腒腓腔腕腘腙腚腠腥腧腨腩腭腮腯腰腱腴腹腺腻腼腽腾腿膀膂膈膊膏膑膘膙膛膜膝膦膨膳膺膻臀臂臃臆臊臌臑臜臣臧自臬臭至致臻臼臾舀舁舂舄舅舆舌舍舐舒舔舛舜舞舟舠舢舣舥航舫般舭舯舰舱舲舳舴舵舶舷舸船舻舾艄艅艇艉艋艎艏艘艚艟艨艮良艰色艳艴艺艽艾艿节芃芄芈芊芋芍芎芏芑芒芗芘芙芜芝芟芠芡芣芤芥芦芨芩芪芫芬芭芮芯芰花芳芴芷芸芹芼芽芾苁苄苇苈苉苊苋苌苍苎苏苑苒苓苔苕苗苘苛苜苞苟苠苡苣苤若苦苧苫苯英苴苷苹苻苾茀茁茂范茄茅茆茈茉茋茌茎茏茑茓茔茕茗茚茛茜茝茧茨茫茬茭茯茱茳茴茵茶茸茹茺茼茽荀荁荃荄荆荇草荏荐荑荒荓荔荖荙荚荛荜荞荟荠荡荣荤荥荦荧荨荩荪荫荬荭荮药荷荸荻荼荽莅莆莉莎莒莓莘莙莛莜莝莞莠莨莩莪莫莰莱莲莳莴莶获莸莹莺莼莽莿菀菁菂菅菇菉菊菌菍菏菔菖菘菜菝菟菠菡菥菩菪菰菱菲菹菼菽萁萃萄萆萋萌萍萎萏萑萘萚萜萝萣萤营萦萧萨萩萱萳萸萹萼落葆葎葑葖著葙葚葛葜葡董葩葫葬葭葰葱葳葴葵葶葸葺蒂蒄蒇蒈蒉蒋蒌蒎蒐蒗蒙蒜蒟蒡蒨蒯蒱蒲蒴蒸蒹蒺蒻蒽蒿蓁蓂蓄蓇蓉蓊蓍蓏蓐蓑蓓蓖蓝蓟蓠蓢蓣蓥蓦蓬蓰蓼蓿蔀蔃蔈蔊蔌蔑蔓蔗蔚蔟蔡蔫蔬蔷蔸蔹蔺蔻蔼蔽蕃蕈蕉蕊蕖蕗蕙蕞蕤蕨蕰蕲蕴蕹蕺蕻蕾薁薄薅薇薏薛薜薢薤薨薪薮薯薰薳薷薸薹薿藁藉藏藐藓藕藜藟藠藤藦藨藩藻藿蘅蘑蘖蘘蘧蘩蘸蘼虎虏虐虑虒虓虔虚虞虢虤虫虬虮虱虷虸虹虺虻虼虽虾虿蚀蚁蚂蚄蚆蚊蚋蚌蚍蚓蚕蚜蚝蚣蚤蚧蚨蚩蚪蚬蚯蚰蚱蚲蚴蚶蚺蛀蛃蛄蛆蛇蛉蛊蛋蛎蛏蛐蛑蛔蛘蛙蛛蛞蛟蛤蛩蛭蛮蛰蛱蛲蛳蛴蛸蛹蛾蜀蜂蜃蜇蜈蜉蜊蜍蜎蜐蜒蜓蜕蜗蜘蜚蜜蜞蜡蜢蜣蜥蜩蜮蜱蜴蜷蜻蜾蜿蝇蝈蝉蝌蝎蝓蝗蝘蝙蝠蝣蝤蝥蝮蝰蝲蝴蝶蝻蝼蝽蝾螂螃螅螈螋融螗螟螠螣螨螫螬螭螯螱螳螵螺螽蟀蟆蟊蟋蟏蟑蟒蟛蟠蟥蟪蟫蟮蟹蟾蠃蠊蠋蠓蠕蠖蠡蠢蠲蠹蠼血衃衄衅行衍衎衒衔街衙衠衡衢衣补表衩衫衬衮衰衲衷衽衾衿袁袂袄袅袆袈袋袍袒袖袗袜袢袤袪被袭袯袱袷袼裁裂装裆裈裉裎裒裔裕裘裙裛裟裢裣裤裥裨裰裱裳裴裸裹裼裾褂褊褐褒褓褕褙褚褛褟褡褥褪褫褯褰褴褶襁襄襕襚襜襞襟襦襫襻西要覃覆见观觃规觅视觇览觉觊觋觌觎觏觐觑角觖觚觜觞觟解觥触觫觭觯觱觳觿言訄訇訚訾詈詟詹誉誊誓謇警譬计订讣认讥讦讧讨让讪讫训议讯记讱讲讳讴讵讶讷许讹论讻讼讽设访诀证诂诃评诅识诇诈诉诊诋诌词诎诏诐译诒诓诔试诖诗诘诙诚诛诜话诞诟诠诡询诣诤该详诧诨诩诫诬语诮误诰诱诲诳说诵请诸诹诺读诼诽课诿谀谁谂调谄谅谆谇谈谊谋谌谍谎谏谐谑谒谓谔谕谖谗谙谚谛谜谝谞谟谠谡谢谣谤谥谦谧谨谩谪谫谬谭谮谯谰谱谲谳谴谵谶谷谼谿豁豆豇豉豌豕豚象豢豨豪豫豮豳豸豹豺貂貅貆貉貊貌貔貘贝贞负贡财责贤败账货质贩贪贫贬购贮贯贰贱贲贳贴贵贶贷贸费贺贻贼贽贾贿赀赁赂赃资赅赆赇赈赉赊赋赌赍赎赏赐赑赒赓赔赕赖赗赘赙赚赛赜赝赞赟赠赡赢赣赤赦赧赪赫赭走赳赴赵赶起趁趄超越趋趑趔趟趣趯趱足趴趵趸趺趼趾趿跂跃跄跆跋跌跎跏跐跑跖跗跚跛距跞跟跣跤跨跪跬路跱跳践跶跷跸跹跺跻跽踅踉踊踌踏踒踔踝踞踟踢踣踦踩踪踬踮踯踱踵踶踹踺踽蹀蹁蹂蹄蹅蹇蹈蹉蹊蹋蹐蹑蹒蹙蹚蹜蹢蹦蹩蹬蹭蹯蹰蹲蹴蹶蹼蹽蹾蹿躁躅躇躏躐躔躜躞身躬躯躲躺车轧轨轩轪轫转轭轮软轰轱轲轳轴轵轶轷轸轹轺轻轼载轾轿辀辁辂较辄辅辆辇辈辉辊辋辌辍辎辏辐辑辒输辔辕辖辗辘辙辚辛辜辞辟辣辨辩辫辰辱边辽达辿迁迂迄迅过迈迎运近迓返迕还这进远违连迟迢迤迥迦迨迩迪迫迭迮述迳迷迸迹迺追退送适逃逄逅逆选逊逋逍透逐逑递途逖逗通逛逝逞速造逡逢逦逭逮逯逴逵逶逸逻逼逾遁遂遄遆遇遍遏遐遑遒道遗遘遛遢遣遥遨遭遮遴遵遹遽避邀邂邃邈邋邑邓邕邗邘邙邛邝邠邡邢那邦邨邪邬邮邯邰邱邲邳邴邵邶邸邹邺邻邽邾邿郁郃郄郅郇郈郊郎郏郐郑郓郗郚郛郜郝郡郢郤郦郧部郪郫郭郯郴郸都郾郿鄀鄂鄃鄄鄅鄌鄑鄗鄘鄙鄚鄜鄞鄠鄢鄣鄫鄯鄱鄹酂酃酅酆酉酊酋酌配酎酏酐酒酗酚酝酞酡酢酣酤酥酦酩酪酬酮酯酰酱酲酴酵酶酷酸酹酺酽酾酿醅醇醉醋醌醍醐醑醒醚醛醢醨醪醭醮醯醴醵醺醾采釉释里重野量釐金釜鉴銎銮鋆鋈錾鍪鎏鏊鏖鐾鑫钆钇针钉钊钋钌钍钎钏钐钒钓钔钕钖钗钘钙钚钛钜钝钞钟钠钡钢钣钤钥钦钧钨钩钪钫钬钭钮钯钰钱钲钳钴钵钷钹钺钻钼钽钾钿铀铁铂铃铄铅铆铈铉铊铋铌铍铎铏铐铑铒铕铖铗铘铙铚铛铜铝铞铟铠铡铢铣铤铥铧铨铩铪铫铬铭铮铯铰铱铲铳铴铵银铷铸铹铺铻铼铽链铿销锁锂锃锄锅锆锇锈锉锊锋锌锍锎锏锐锑锒锓锔锕锖锗锘错锚锛锜锝锞锟锡锢锣锤锥锦锧锨锩锪锫锬锭键锯锰锱锲锳锴锵锶锷锸锹锺锻锼锽锾锿镀镁镂镃镄镅镆镇镈镉镊镋镌镍镎镏镐镑镒镓镔镕镖镗镘镚镛镜镝镞镠镡镢镣镤镥镦镧镨镩镪镫镬镭镮镯镰镱镲镳镴镵镶长门闩闪闫闭问闯闰闱闲闳间闵闶闷闸闹闺闻闼闽闾闿阀阁阂阃阄阅阆阇阈阉阊阋阌阍阎阏阐阑阒阔阕阖阗阘阙阚阜队阡阪阮阱防阳阴阵阶阻阼阽阿陀陂附际陆陇陈陉陋陌降陎限陑陔陕陛陞陟陡院除陧陨险陪陬陲陴陵陶陷隃隅隆隈隋隍随隐隔隗隘隙障隧隩隰隳隶隹隺隼隽难雀雁雄雅集雇雉雊雌雍雎雏雒雕雠雨雩雪雯雱雳零雷雹雾需霁霄霅霆震霈霉霍霎霏霓霖霜霞霨霪霭霰露霸霹霾青靓靖静靛非靠靡面靥革靬靰靳靴靶靸靺靼靽靿鞁鞅鞋鞍鞑鞒鞔鞘鞠鞡鞣鞧鞨鞫鞬鞭鞮鞯鞲鞳鞴韂韦韧韨韩韪韫韬韭音韵韶页顶顷顸项顺须顼顽顾顿颀颁颂颃预颅领颇颈颉颊颋颌颍颎颏颐频颓颔颖颗题颙颚颛颜额颞颟颠颡颢颤颥颦颧风飏飐飑飒飓飔飕飗飘飙飞食飧飨餍餐餮饔饕饥饧饨饩饪饫饬饭饮饯饰饱饲饳饴饵饶饷饸饹饺饻饼饽饿馁馃馄馅馆馇馈馉馊馋馌馍馏馐馑馒馓馔馕首馗馘香馝馞馥馧馨马驭驮驯驰驱驲驳驴驵驶驷驸驹驺驻驼驽驾驿骀骁骂骃骄骅骆骇骈骉骊骋验骍骎骏骐骑骒骓骕骖骗骘骙骚骛骜骝骞骟骠骡骢骣骤骥骦骧骨骰骱骶骷骸骺骼髀髁髂髃髅髋髌髎髑髓高髡髢髦髫髭髯髹髻髽鬃鬈鬏鬒鬓鬘鬟鬣鬯鬲鬶鬷鬻鬼魁魂魃魄魅魆魇魈魉魋魍魏魑魔鱼鱽鱾鱿鲀鲁鲂鲃鲅鲆鲇鲈鲉鲊鲋鲌鲍鲎鲏鲐鲑鲒鲔鲕鲖鲗鲘鲙鲚鲛鲜鲝鲞鲟鲠鲡鲢鲣鲤鲥鲦鲧鲨鲩鲪鲫鲬鲭鲮鲯鲰鲱鲲鲳鲴鲵鲷鲸鲹鲺鲻鲼鲽鲾鲿鳀鳁鳂鳃鳄鳅鳇鳈鳉鳊鳌鳍鳎鳏鳐鳑鳒鳓鳔鳕鳖鳗鳘鳙鳚鳛鳜鳝鳞鳟鳠鳡鳢鳣鳤鸟鸠鸡鸢鸣鸤鸥鸦鸧鸨鸩鸪鸫鸬鸭鸮鸯鸰鸱鸲鸳鸵鸶鸷鸸鸹鸺鸻鸼鸽鸾鸿鹀鹁鹂鹃鹄鹅鹆鹇鹈鹉鹊鹋鹌鹍鹎鹏鹐鹑鹒鹔鹕鹖鹗鹘鹙鹚鹛鹜鹝鹞鹟鹠鹡鹢鹣鹤鹦鹧鹨鹩鹪鹫鹬鹭鹮鹯鹰鹱鹲鹳鹴鹾鹿麀麂麇麈麋麑麒麓麖麝麟麦麸麹麻麽麾黄黇黉黍黎黏黑黔默黛黜黝黟黠黡黢黥黧黩黪黯黹黻黼黾鼋鼍鼎鼐鼒鼓鼗鼙鼠鼢鼩鼫鼬鼯鼱鼷鼹鼻鼽鼾齁齇齉齐齑齿龀龁龂龃龄龅龆龇龈龉龊龋龌龙龚龛龟龠龢鿍鿎鿏㑇㑊㕮㘎㙍㙘㙦㛃㛚㛹㟃㠇㠓㤘㥄㧐㧑㧟㫰㬊㬎㬚㭎㭕㮾㰀㳇㳘㳚㴔㵐㶲㸆㸌㺄㻬㽏㿠䁖䂮䃅䃎䅟䌹䎃䎖䏝䏡䏲䐃䓖䓛䓨䓫䓬䗖䗛䗪䗴䜣䝙䢺䢼䣘䥽䦃䲟䲠䲢䴓䴔䴕䴖䴗䴘䴙䶮𠅤𠙶𠳐𡎚𡐓𣗋𣲗𣲘𣸣𤧛𤩽𤫉𥔲𥕢𥖨𥻗𦈡𦒍𦙶𦝼𦭜𦰡𧿹𨐈𨙸𨚕𨟠𨭉𨱇𨱏𨱑𨱔𨺙𩽾𩾃𩾌𪟝𪣻𪤗𪨰𪨶𪩘𪾢𫄧𫄨𫄷𫄸𫇭𫌀𫍣𫍯𫍲𫍽𫐄𫐐𫐓𫑡𫓧𫓯𫓶𫓹𫔍𫔎𫔶𫖮𫖯𫖳𫗧𫗴𫘜𫘝𫘦𫘧𫘨𫘪𫘬𫚕𫚖𫚭𫛭𫞩𫟅𫟦𫟹𫟼𫠆𫠊𫠜𫢸𫫇𫭟𫭢𫭼𫮃𫰛𫵷𫶇𫷷𫸩𬀩𬀪𬂩𬃊𬇕𬇙𬇹𬉼𬊈𬊤𬌗𬍛𬍡𬍤𬒈𬒔𬒗𬕂𬘓𬘘𬘡𬘩𬘫𬘬𬘭𬘯𬙂𬙊𬙋𬜬𬜯𬞟𬟁𬟽𬣙𬣞𬣡𬣳𬤇𬤊𬤝𬨂𬨎𬩽𬪩𬬩𬬭𬬮𬬱𬬸𬬹𬬻𬬿𬭁𬭊𬭎𬭚𬭛𬭤𬭩𬭬𬭯𬭳𬭶𬭸𬭼𬮱𬮿𬯀𬯎𬱖𬱟𬳵𬳶𬳽𬳿𬴂𬴃𬴊𬶋𬶍𬶏𬶐𬶟𬶠𬶨𬶭𬶮𬷕𬸘𬸚𬸣𬸦𬸪𬹼𬺈𬺓吶诶屌囧飚屄'
IN_CH_CHARS = {'一': True, '丁': True, '七': True, '万': True, '丈': True, '三': True, '上': True, '下': True, '不': True, '与': True, '丏': True, '丐': True, '丑': True, '专': True, '且': True, '丕': True, '世': True, '丘': True, '丙': True, '业': True, '丛': True, '东': True, '丝': True, '丞': True, '丢': True, '两': True, '严': True, '丧': True, '个': True, '丫': True, '中': True, '丰': True, '串': True, '临': True, '丸': True, '丹': True, '为': True, '主': True, '丽': True, '举': True, '乂': True, '乃': True, '久': True, '么': True, '义': True, '之': True, '乌': True, '乍': True, '乎': True, '乏': True, '乐': True, '乒': True, '乓': True, '乔': True, '乖': True, '乘': True, '乙': True, '乜': True, '九': True, '乞': True, '也': True, '习': True, '乡': True, '书': True, '乩': True, '买': True, '乱': True, '乳': True, '乸': True, '乾': True, '了': True, '予': True, '争': True, '事': True, '二': True, '亍': True, '于': True, '亏': True, '云': True, '互': True, '亓': True, '五': True, '井': True, '亘': True, '亚': True, '些': True, '亟': True, '亡': True, '亢': True, '交': True, '亥': True, '亦': True, '产': True, '亨': True, '亩': True, '享': True, '京': True, '亭': True, '亮': True, '亲': True, '亳': True, '亵': True, '亶': True, '亸': True, '亹': True, '人': True, '亿': True, '什': True, '仁': True, '仂': True, '仃': True, '仄': True, '仅': True, '仆': True, '仇': True, '仉': True, '今': True, '介': True, '仍': True, '从': True, '仑': True, '仓': True, '仔': True, '仕': True, '他': True, '仗': True, '付': True, '仙': True, '仝': True, '仞': True, '仟': True, '仡': True, '代': True, '令': True, '以': True, '仨': True, '仪': True, '仫': True, '们': True, '仰': True, '仲': True, '仳': True, '仵': True, '件': True, '价': True, '任': True, '份': True, '仿': True, '企': True, '伈': True, '伉': True, '伊': True, '伋': True, '伍': True, '伎': True, '伏': True, '伐': True, '休': True, '众': True, '优': True, '伙': True, '会': True, '伛': True, '伞': True, '伟': True, '传': True, '伢': True, '伣': True, '伤': True, '伥': True, '伦': True, '伧': True, '伪': True, '伫': True, '伭': True, '伯': True, '估': True, '伲': True, '伴': True, '伶': True, '伸': True, '伺': True, '似': True, '伽': True, '伾': True, '佁': True, '佃': True, '但': True, '位': True, '低': True, '住': True, '佐': True, '佑': True, '体': True, '何': True, '佖': True, '佗': True, '佘': True, '余': True, '佚': True, '佛': True, '作': True, '佝': True, '佞': True, '佟': True, '你': True, '佣': True, '佤': True, '佥': True, '佩': True, '佬': True, '佯': True, '佰': True, '佳': True, '佴': True, '佶': True, '佸': True, '佺': True, '佻': True, '佼': True, '佽': True, '佾': True, '使': True, '侁': True, '侂': True, '侃': True, '侄': True, '侈': True, '侉': True, '例': True, '侍': True, '侏': True, '侑': True, '侔': True, '侗': True, '侘': True, '供': True, '依': True, '侠': True, '侣': True, '侥': True, '侦': True, '侧': True, '侨': True, '侩': True, '侪': True, '侬': True, '侮': True, '侯': True, '侴': True, '侵': True, '侹': True, '便': True, '促': True, '俄': True, '俅': True, '俊': True, '俍': True, '俎': True, '俏': True, '俐': True, '俑': True, '俗': True, '俘': True, '俙': True, '俚': True, '俜': True, '保': True, '俞': True, '俟': True, '信': True, '俣': True, '俦': True, '俨': True, '俩': True, '俪': True, '俫': True, '俭': True, '修': True, '俯': True, '俱': True, '俳': True, '俵': True, '俶': True, '俸': True, '俺': True, '俾': True, '倌': True, '倍': True, '倏': True, '倒': True, '倓': True, '倔': True, '倕': True, '倘': True, '候': True, '倚': True, '倜': True, '倞': True, '借': True, '倡': True, '倥': True, '倦': True, '倧': True, '倨': True, '倩': True, '倪': True, '倬': True, '倭': True, '倮': True, '倴': True, '债': True, '倻': True, '值': True, '倾': True, '偁': True, '偃': True, '假': True, '偈': True, '偌': True, '偎': True, '偏': True, '偓': True, '偕': True, '做': True, '停': True, '偡': True, '健': True, '偬': True, '偭': True, '偰': True, '偲': True, '偶': True, '偷': True, '偻': True, '偾': True, '偿': True, '傀': True, '傃': True, '傅': True, '傈': True, '傉': True, '傍': True, '傒': True, '傕': True, '傣': True, '傥': True, '傧': True, '储': True, '傩': True, '催': True, '傲': True, '傺': True, '傻': True, '僇': True, '僎': True, '像': True, '僔': True, '僖': True, '僚': True, '僦': True, '僧': True, '僬': True, '僭': True, '僮': True, '僰': True, '僳': True, '僵': True, '僻': True, '儆': True, '儇': True, '儋': True, '儒': True, '儡': True, '儦': True, '儳': True, '儴': True, '儿': True, '兀': True, '允': True, '元': True, '兄': True, '充': True, '兆': True, '先': True, '光': True, '克': True, '免': True, '兑': True, '兔': True, '兕': True, '兖': True, '党': True, '兜': True, '兢': True, '入': True, '全': True, '八': True, '公': True, '六': True, '兮': True, '兰': True, '共': True, '关': True, '兴': True, '兵': True, '其': True, '具': True, '典': True, '兹': True, '养': True, '兼': True, '兽': True, '冀': True, '冁': True, '内': True, '冈': True, '冉': True, '册': True, '再': True, '冏': True, '冒': True, '冔': True, '冕': True, '冗': True, '写': True, '军': True, '农': True, '冠': True, '冢': True, '冤': True, '冥': True, '冬': True, '冮': True, '冯': True, '冰': True, '冱': True, '冲': True, '决': True, '况': True, '冶': True, '冷': True, '冻': True, '冼': True, '冽': True, '净': True, '凄': True, '准': True, '凇': True, '凉': True, '凋': True, '凌': True, '减': True, '凑': True, '凓': True, '凘': True, '凛': True, '凝': True, '几': True, '凡': True, '凤': True, '凫': True, '凭': True, '凯': True, '凰': True, '凳': True, '凶': True, '凸': True, '凹': True, '出': True, '击': True, '凼': True, '函': True, '凿': True, '刀': True, '刁': True, '刃': True, '分': True, '切': True, '刈': True, '刊': True, '刍': True, '刎': True, '刑': True, '划': True, '刖': True, '列': True, '刘': True, '则': True, '刚': True, '创': True, '初': True, '删': True, '判': True, '刨': True, '利': True, '别': True, '刬': True, '刭': True, '刮': True, '到': True, '刳': True, '制': True, '刷': True, '券': True, '刹': True, '刺': True, '刻': True, '刽': True, '刿': True, '剀': True, '剁': True, '剂': True, '剃': True, '剅': True, '削': True, '剋': True, '剌': True, '前': True, '剐': True, '剑': True, '剔': True, '剕': True, '剖': True, '剜': True, '剞': True, '剟': True, '剡': True, '剥': True, '剧': True, '剩': True, '剪': True, '副': True, '割': True, '剽': True, '剿': True, '劁': True, '劂': True, '劄': True, '劈': True, '劐': True, '劓': True, '力': True, '劝': True, '办': True, '功': True, '加': True, '务': True, '劢': True, '劣': True, '动': True, '助': True, '努': True, '劫': True, '劬': True, '劭': True, '励': True, '劲': True, '劳': True, '劼': True, '劾': True, '势': True, '勃': True, '勇': True, '勉': True, '勋': True, '勍': True, '勐': True, '勒': True, '勔': True, '勖': True, '勘': True, '勚': True, '募': True, '勠': True, '勤': True, '勰': True, '勺': True, '勾': True, '勿': True, '匀': True, '包': True, '匆': True, '匈': True, '匍': True, '匏': True, '匐': True, '匕': True, '化': True, '北': True, '匙': True, '匜': True, '匝': True, '匠': True, '匡': True, '匣': True, '匦': True, '匪': True, '匮': True, '匹': True, '区': True, '医': True, '匼': True, '匾': True, '匿': True, '十': True, '千': True, '卅': True, '升': True, '午': True, '卉': True, '半': True, '华': True, '协': True, '卑': True, '卒': True, '卓': True, '单': True, '卖': True, '南': True, '博': True, '卜': True, '卞': True, '卟': True, '占': True, '卡': True, '卢': True, '卣': True, '卤': True, '卦': True, '卧': True, '卫': True, '卬': True, '卮': True, '卯': True, '印': True, '危': True, '即': True, '却': True, '卵': True, '卷': True, '卸': True, '卺': True, '卿': True, '厂': True, '厄': True, '厅': True, '历': True, '厉': True, '压': True, '厌': True, '厍': True, '厕': True, '厖': True, '厘': True, '厚': True, '厝': True, '原': True, '厢': True, '厣': True, '厥': True, '厦': True, '厨': True, '厩': True, '厮': True, '去': True, '厾': True, '县': True, '叁': True, '参': True, '叆': True, '叇': True, '又': True, '叉': True, '及': True, '友': True, '双': True, '反': True, '发': True, '叔': True, '叕': True, '取': True, '受': True, '变': True, '叙': True, '叚': True, '叛': True, '叟': True, '叠': True, '口': True, '古': True, '句': True, '另': True, '叨': True, '叩': True, '只': True, '叫': True, '召': True, '叭': True, '叮': True, '可': True, '台': True, '叱': True, '史': True, '右': True, '叵': True, '叶': True, '号': True, '司': True, '叹': True, '叻': True, '叼': True, '叽': True, '吁': True, '吃': True, '各': True, '吆': True, '合': True, '吉': True, '吊': True, '同': True, '名': True, '后': True, '吏': True, '吐': True, '向': True, '吒': True, '吓': True, '吕': True, '吖': True, '吗': True, '君': True, '吝': True, '吞': True, '吟': True, '吠': True, '吡': True, '吣': True, '否': True, '吧': True, '吨': True, '吩': True, '含': True, '听': True, '吭': True, '吮': True, '启': True, '吱': True, '吲': True, '吴': True, '吵': True, '吸': True, '吹': True, '吻': True, '吼': True, '吽': True, '吾': True, '呀': True, '呃': True, '呆': True, '呇': True, '呈': True, '告': True, '呋': True, '呐': True, '呒': True, '呓': True, '呔': True, '呕': True, '呖': True, '呗': True, '员': True, '呙': True, '呛': True, '呜': True, '呢': True, '呣': True, '呤': True, '呦': True, '周': True, '呱': True, '呲': True, '味': True, '呵': True, '呶': True, '呷': True, '呸': True, '呻': True, '呼': True, '命': True, '咀': True, '咂': True, '咄': True, '咆': True, '咇': True, '咉': True, '咋': True, '和': True, '咍': True, '咎': True, '咏': True, '咐': True, '咒': True, '咔': True, '咕': True, '咖': True, '咙': True, '咚': True, '咛': True, '咝': True, '咡': True, '咣': True, '咤': True, '咥': True, '咦': True, '咧': True, '咨': True, '咩': True, '咪': True, '咫': True, '咬': True, '咯': True, '咱': True, '咳': True, '咴': True, '咸': True, '咺': True, '咻': True, '咽': True, '咿': True, '哀': True, '品': True, '哂': True, '哃': True, '哄': True, '哆': True, '哇': True, '哈': True, '哉': True, '哌': True, '响': True, '哎': True, '哏': True, '哐': True, '哑': True, '哒': True, '哓': True, '哔': True, '哕': True, '哗': True, '哙': True, '哚': True, '哝': True, '哞': True, '哟': True, '哢': True, '哥': True, '哦': True, '哧': True, '哨': True, '哩': True, '哪': True, '哭': True, '哮': True, '哱': True, '哲': True, '哳': True, '哺': True, '哼': True, '哽': True, '哿': True, '唁': True, '唆': True, '唇': True, '唉': True, '唏': True, '唐': True, '唑': True, '唔': True, '唛': True, '唝': True, '唠': True, '唢': True, '唣': True, '唤': True, '唧': True, '唪': True, '唬': True, '售': True, '唯': True, '唰': True, '唱': True, '唳': True, '唵': True, '唷': True, '唼': True, '唾': True, '唿': True, '啁': True, '啃': True, '啄': True, '商': True, '啉': True, '啊': True, '啐': True, '啕': True, '啖': True, '啜': True, '啡': True, '啤': True, '啥': True, '啦': True, '啧': True, '啪': True, '啫': True, '啬': True, '啭': True, '啮': True, '啰': True, '啴': True, '啵': True, '啶': True, '啷': True, '啸': True, '啻': True, '啼': True, '啾': True, '喀': True, '喁': True, '喂': True, '喃': True, '善': True, '喆': True, '喇': True, '喈': True, '喉': True, '喊': True, '喋': True, '喏': True, '喑': True, '喔': True, '喘': True, '喙': True, '喜': True, '喝': True, '喟': True, '喤': True, '喧': True, '喱': True, '喳': True, '喵': True, '喷': True, '喹': True, '喻': True, '喽': True, '喾': True, '嗄': True, '嗅': True, '嗉': True, '嗌': True, '嗍': True, '嗐': True, '嗑': True, '嗒': True, '嗓': True, '嗔': True, '嗖': True, '嗜': True, '嗝': True, '嗞': True, '嗟': True, '嗡': True, '嗣': True, '嗤': True, '嗥': True, '嗦': True, '嗨': True, '嗪': True, '嗫': True, '嗬': True, '嗯': True, '嗲': True, '嗳': True, '嗵': True, '嗷': True, '嗽': True, '嗾': True, '嘀': True, '嘁': True, '嘈': True, '嘉': True, '嘌': True, '嘎': True, '嘏': True, '嘘': True, '嘚': True, '嘛': True, '嘞': True, '嘟': True, '嘡': True, '嘣': True, '嘤': True, '嘧': True, '嘬': True, '嘭': True, '嘱': True, '嘲': True, '嘴': True, '嘶': True, '嘹': True, '嘻': True, '嘿': True, '噀': True, '噂': True, '噇': True, '噌': True, '噍': True, '噎': True, '噔': True, '噗': True, '噘': True, '噙': True, '噜': True, '噢': True, '噤': True, '器': True, '噩': True, '噪': True, '噫': True, '噬': True, '噱': True, '噶': True, '噻': True, '噼': True, '嚄': True, '嚅': True, '嚆': True, '嚎': True, '嚏': True, '嚓': True, '嚚': True, '嚣': True, '嚭': True, '嚯': True, '嚷': True, '嚼': True, '囊': True, '囔': True, '囚': True, '四': True, '回': True, '囟': True, '因': True, '囡': True, '团': True, '囤': True, '囫': True, '园': True, '困': True, '囱': True, '围': True, '囵': True, '囷': True, '囹': True, '固': True, '国': True, '图': True, '囿': True, '圃': True, '圄': True, '圆': True, '圈': True, '圉': True, '圊': True, '圌': True, '圐': True, '圙': True, '圜': True, '土': True, '圢': True, '圣': True, '在': True, '圩': True, '圪': True, '圫': True, '圬': True, '圭': True, '圮': True, '圯': True, '地': True, '圲': True, '圳': True, '圹': True, '场': True, '圻': True, '圾': True, '址': True, '坂': True, '均': True, '坉': True, '坊': True, '坋': True, '坌': True, '坍': True, '坎': True, '坏': True, '坐': True, '坑': True, '坒': True, '块': True, '坚': True, '坛': True, '坜': True, '坝': True, '坞': True, '坟': True, '坠': True, '坡': True, '坤': True, '坥': True, '坦': True, '坨': True, '坩': True, '坪': True, '坫': True, '坬': True, '坭': True, '坯': True, '坰': True, '坳': True, '坷': True, '坻': True, '坼': True, '坽': True, '垂': True, '垃': True, '垄': True, '垆': True, '垈': True, '型': True, '垌': True, '垍': True, '垎': True, '垏': True, '垒': True, '垓': True, '垕': True, '垙': True, '垚': True, '垛': True, '垞': True, '垟': True, '垠': True, '垡': True, '垢': True, '垣': True, '垤': True, '垦': True, '垧': True, '垩': True, '垫': True, '垭': True, '垮': True, '垯': True, '垱': True, '垲': True, '垴': True, '垵': True, '垸': True, '垺': True, '垾': True, '垿': True, '埂': True, '埃': True, '埆': True, '埇': True, '埋': True, '埌': True, '城': True, '埏': True, '埒': True, '埔': True, '埕': True, '埗': True, '埘': True, '埙': True, '埚': True, '埝': True, '域': True, '埠': True, '埤': True, '埪': True, '埫': True, '埭': True, '埯': True, '埴': True, '埵': True, '埸': True, '培': True, '基': True, '埼': True, '埽': True, '堂': True, '堃': True, '堆': True, '堇': True, '堉': True, '堋': True, '堌': True, '堍': True, '堎': True, '堐': True, '堑': True, '堕': True, '堙': True, '堞': True, '堠': True, '堡': True, '堤': True, '堧': True, '堨': True, '堪': True, '堰': True, '堲': True, '堵': True, '堼': True, '堽': True, '堾': True, '塄': True, '塅': True, '塆': True, '塌': True, '塍': True, '塑': True, '塔': True, '塘': True, '塝': True, '塞': True, '塥': True, '填': True, '塬': True, '塱': True, '塾': True, '墀': True, '墁': True, '境': True, '墅': True, '墈': True, '墉': True, '墐': True, '墒': True, '墓': True, '墕': True, '墘': True, '墙': True, '墚': True, '增': True, '墟': True, '墡': True, '墣': True, '墦': True, '墨': True, '墩': True, '墼': True, '壁': True, '壅': True, '壑': True, '壕': True, '壤': True, '士': True, '壬': True, '壮': True, '声': True, '壳': True, '壶': True, '壸': True, '壹': True, '处': True, '备': True, '复': True, '夏': True, '夐': True, '夔': True, '夕': True, '外': True, '夙': True, '多': True, '夜': True, '够': True, '夤': True, '夥': True, '大': True, '天': True, '太': True, '夫': True, '夬': True, '夭': True, '央': True, '夯': True, '失': True, '头': True, '夷': True, '夸': True, '夹': True, '夺': True, '夼': True, '奁': True, '奂': True, '奄': True, '奇': True, '奈': True, '奉': True, '奋': True, '奎': True, '奏': True, '契': True, '奓': True, '奔': True, '奕': True, '奖': True, '套': True, '奘': True, '奚': True, '奠': True, '奡': True, '奢': True, '奥': True, '奭': True, '女': True, '奴': True, '奶': True, '奸': True, '她': True, '好': True, '妁': True, '如': True, '妃': True, '妄': True, '妆': True, '妇': True, '妈': True, '妊': True, '妍': True, '妒': True, '妓': True, '妖': True, '妗': True, '妘': True, '妙': True, '妞': True, '妣': True, '妤': True, '妥': True, '妧': True, '妨': True, '妩': True, '妪': True, '妫': True, '妭': True, '妮': True, '妯': True, '妲': True, '妹': True, '妻': True, '妾': True, '姆': True, '姈': True, '姊': True, '始': True, '姐': True, '姑': True, '姒': True, '姓': True, '委': True, '姗': True, '姘': True, '姚': True, '姜': True, '姝': True, '姞': True, '姣': True, '姤': True, '姥': True, '姨': True, '姬': True, '姮': True, '姱': True, '姶': True, '姹': True, '姻': True, '姽': True, '姿': True, '娀': True, '威': True, '娃': True, '娄': True, '娅': True, '娆': True, '娇': True, '娈': True, '娉': True, '娌': True, '娑': True, '娓': True, '娘': True, '娜': True, '娟': True, '娠': True, '娣': True, '娥': True, '娩': True, '娱': True, '娲': True, '娴': True, '娵': True, '娶': True, '娼': True, '婀': True, '婆': True, '婉': True, '婊': True, '婌': True, '婍': True, '婕': True, '婘': True, '婚': True, '婞': True, '婠': True, '婢': True, '婤': True, '婧': True, '婪': True, '婫': True, '婳': True, '婴': True, '婵': True, '婶': True, '婷': True, '婺': True, '婻': True, '婼': True, '婿': True, '媂': True, '媄': True, '媆': True, '媒': True, '媓': True, '媖': True, '媚': True, '媛': True, '媞': True, '媪': True, '媭': True, '媱': True, '媲': True, '媳': True, '媵': True, '媸': True, '媾': True, '嫁': True, '嫂': True, '嫄': True, '嫉': True, '嫌': True, '嫒': True, '嫔': True, '嫕': True, '嫖': True, '嫘': True, '嫚': True, '嫜': True, '嫠': True, '嫡': True, '嫣': True, '嫦': True, '嫩': True, '嫪': True, '嫫': True, '嫭': True, '嫱': True, '嫽': True, '嬉': True, '嬖': True, '嬗': True, '嬛': True, '嬥': True, '嬬': True, '嬴': True, '嬷': True, '嬿': True, '孀': True, '孅': True, '子': True, '孑': True, '孓': True, '孔': True, '孕': True, '孖': True, '字': True, '存': True, '孙': True, '孚': True, '孛': True, '孜': True, '孝': True, '孟': True, '孢': True, '季': True, '孤': True, '孥': True, '学': True, '孩': True, '孪': True, '孬': True, '孰': True, '孱': True, '孳': True, '孵': True, '孺': True, '孽': True, '宁': True, '它': True, '宄': True, '宅': True, '宇': True, '守': True, '安': True, '宋': True, '完': True, '宏': True, '宓': True, '宕': True, '宗': True, '官': True, '宙': True, '定': True, '宛': True, '宜': True, '宝': True, '实': True, '宠': True, '审': True, '客': True, '宣': True, '室': True, '宥': True, '宦': True, '宧': True, '宪': True, '宫': True, '宬': True, '宰': True, '害': True, '宴': True, '宵': True, '家': True, '宸': True, '容': True, '宽': True, '宾': True, '宿': True, '寁': True, '寂': True, '寄': True, '寅': True, '密': True, '寇': True, '富': True, '寐': True, '寒': True, '寓': True, '寝': True, '寞': True, '察': True, '寡': True, '寤': True, '寥': True, '寨': True, '寮': True, '寰': True, '寸': True, '对': True, '寺': True, '寻': True, '导': True, '寿': True, '封': True, '射': True, '将': True, '尉': True, '尊': True, '小': True, '少': True, '尔': True, '尕': True, '尖': True, '尘': True, '尚': True, '尜': True, '尝': True, '尢': True, '尤': True, '尥': True, '尧': True, '尨': True, '尪': True, '尬': True, '就': True, '尴': True, '尸': True, '尹': True, '尺': True, '尻': True, '尼': True, '尽': True, '尾': True, '尿': True, '局': True, '屁': True, '层': True, '屃': True, '居': True, '屈': True, '屉': True, '届': True, '屋': True, '屎': True, '屏': True, '屐': True, '屑': True, '展': True, '屙': True, '属': True, '屠': True, '屡': True, '屣': True, '履': True, '屦': True, '屯': True, '山': True, '屹': True, '屺': True, '屼': True, '屾': True, '屿': True, '岁': True, '岂': True, '岈': True, '岊': True, '岌': True, '岍': True, '岐': True, '岑': True, '岔': True, '岖': True, '岗': True, '岘': True, '岙': True, '岚': True, '岛': True, '岜': True, '岞': True, '岠': True, '岢': True, '岣': True, '岨': True, '岩': True, '岫': True, '岬': True, '岭': True, '岱': True, '岳': True, '岵': True, '岷': True, '岸': True, '岽': True, '岿': True, '峁': True, '峂': True, '峃': True, '峄': True, '峋': True, '峒': True, '峗': True, '峘': True, '峙': True, '峛': True, '峡': True, '峣': True, '峤': True, '峥': True, '峦': True, '峧': True, '峨': True, '峪': True, '峭': True, '峰': True, '峱': True, '峻': True, '峿': True, '崀': True, '崁': True, '崂': True, '崃': True, '崄': True, '崆': True, '崇': True, '崌': True, '崎': True, '崒': True, '崔': True, '崖': True, '崚': True, '崛': True, '崞': True, '崟': True, '崡': True, '崤': True, '崦': True, '崧': True, '崩': True, '崭': True, '崮': True, '崴': True, '崶': True, '崽': True, '崾': True, '崿': True, '嵁': True, '嵅': True, '嵇': True, '嵊': True, '嵋': True, '嵌': True, '嵎': True, '嵖': True, '嵘': True, '嵚': True, '嵛': True, '嵝': True, '嵩': True, '嵫': True, '嵬': True, '嵯': True, '嵲': True, '嵴': True, '嶂': True, '嶅': True, '嶍': True, '嶒': True, '嶓': True, '嶙': True, '嶝': True, '嶟': True, '嶦': True, '嶲': True, '嶷': True, '巅': True, '巇': True, '巉': True, '巍': True, '川': True, '州': True, '巡': True, '巢': True, '工': True, '左': True, '巧': True, '巨': True, '巩': True, '巫': True, '差': True, '巯': True, '己': True, '已': True, '巳': True, '巴': True, '巷': True, '巽': True, '巾': True, '币': True, '市': True, '布': True, '帅': True, '帆': True, '师': True, '希': True, '帏': True, '帐': True, '帑': True, '帔': True, '帕': True, '帖': True, '帘': True, '帙': True, '帚': True, '帛': True, '帜': True, '帝': True, '帡': True, '带': True, '帧': True, '帨': True, '席': True, '帮': True, '帱': True, '帷': True, '常': True, '帻': True, '帼': True, '帽': True, '幂': True, '幄': True, '幅': True, '幌': True, '幔': True, '幕': True, '幖': True, '幛': True, '幞': True, '幡': True, '幢': True, '幪': True, '干': True, '平': True, '年': True, '并': True, '幸': True, '幺': True, '幻': True, '幼': True, '幽': True, '广': True, '庄': True, '庆': True, '庇': True, '床': True, '庋': True, '序': True, '庐': True, '庑': True, '库': True, '应': True, '底': True, '庖': True, '店': True, '庙': True, '庚': True, '府': True, '庞': True, '废': True, '庠': True, '庤': True, '庥': True, '度': True, '座': True, '庭': True, '庱': True, '庳': True, '庵': True, '庶': True, '康': True, '庸': True, '庹': True, '庼': True, '庾': True, '廆': True, '廉': True, '廊': True, '廋': True, '廑': True, '廒': True, '廓': True, '廖': True, '廙': True, '廛': True, '廨': True, '廪': True, '延': True, '廷': True, '建': True, '廿': True, '开': True, '弁': True, '异': True, '弃': True, '弄': True, '弆': True, '弇': True, '弈': True, '弊': True, '弋': True, '式': True, '弑': True, '弓': True, '引': True, '弗': True, '弘': True, '弛': True, '弟': True, '张': True, '弢': True, '弥': True, '弦': True, '弧': True, '弨': True, '弩': True, '弭': True, '弯': True, '弱': True, '弶': True, '弸': True, '弹': True, '强': True, '弼': True, '彀': True, '归': True, '当': True, '录': True, '彖': True, '彗': True, '彘': True, '彝': True, '彟': True, '形': True, '彤': True, '彦': True, '彧': True, '彩': True, '彪': True, '彬': True, '彭': True, '彰': True, '影': True, '彳': True, '彷': True, '役': True, '彻': True, '彼': True, '往': True, '征': True, '徂': True, '径': True, '待': True, '徇': True, '很': True, '徉': True, '徊': True, '律': True, '徐': True, '徒': True, '徕': True, '得': True, '徘': True, '徙': True, '徛': True, '徜': True, '御': True, '徨': True, '循': True, '徭': True, '微': True, '徵': True, '德': True, '徼': True, '徽': True, '心': True, '必': True, '忆': True, '忉': True, '忌': True, '忍': True, '忏': True, '忐': True, '忑': True, '忒': True, '忖': True, '志': True, '忘': True, '忙': True, '忝': True, '忞': True, '忠': True, '忡': True, '忤': True, '忧': True, '忪': True, '快': True, '忭': True, '忮': True, '忱': True, '忳': True, '念': True, '忸': True, '忺': True, '忻': True, '忽': True, '忾': True, '忿': True, '怀': True, '态': True, '怂': True, '怃': True, '怄': True, '怅': True, '怆': True, '怊': True, '怍': True, '怎': True, '怏': True, '怒': True, '怔': True, '怕': True, '怖': True, '怙': True, '怛': True, '怜': True, '思': True, '怠': True, '怡': True, '急': True, '怦': True, '性': True, '怨': True, '怩': True, '怪': True, '怫': True, '怯': True, '怵': True, '总': True, '怼': True, '怿': True, '恁': True, '恂': True, '恃': True, '恋': True, '恍': True, '恐': True, '恒': True, '恓': True, '恔': True, '恕': True, '恙': True, '恚': True, '恝': True, '恢': True, '恣': True, '恤': True, '恧': True, '恨': True, '恩': True, '恪': True, '恫': True, '恬': True, '恭': True, '息': True, '恰': True, '恳': True, '恶': True, '恸': True, '恹': True, '恺': True, '恻': True, '恼': True, '恽': True, '恿': True, '悃': True, '悄': True, '悆': True, '悈': True, '悉': True, '悌': True, '悍': True, '悒': True, '悔': True, '悖': True, '悚': True, '悛': True, '悝': True, '悟': True, '悠': True, '悢': True, '患': True, '悦': True, '您': True, '悫': True, '悬': True, '悭': True, '悯': True, '悰': True, '悱': True, '悲': True, '悴': True, '悸': True, '悻': True, '悼': True, '情': True, '惆': True, '惇': True, '惊': True, '惋': True, '惎': True, '惑': True, '惔': True, '惕': True, '惘': True, '惙': True, '惚': True, '惛': True, '惜': True, '惝': True, '惟': True, '惠': True, '惦': True, '惧': True, '惨': True, '惩': True, '惫': True, '惬': True, '惭': True, '惮': True, '惯': True, '惰': True, '想': True, '惴': True, '惶': True, '惹': True, '惺': True, '愀': True, '愁': True, '愃': True, '愆': True, '愈': True, '愉': True, '愍': True, '愎': True, '意': True, '愐': True, '愔': True, '愕': True, '愚': True, '感': True, '愠': True, '愣': True, '愤': True, '愦': True, '愧': True, '愫': True, '愭': True, '愿': True, '慆': True, '慈': True, '慊': True, '慌': True, '慎': True, '慑': True, '慕': True, '慝': True, '慢': True, '慥': True, '慧': True, '慨': True, '慬': True, '慭': True, '慰': True, '慵': True, '慷': True, '憋': True, '憎': True, '憔': True, '憕': True, '憙': True, '憧': True, '憨': True, '憩': True, '憬': True, '憭': True, '憷': True, '憺': True, '憾': True, '懂': True, '懈': True, '懊': True, '懋': True, '懑': True, '懒': True, '懔': True, '懦': True, '懵': True, '懿': True, '戆': True, '戈': True, '戊': True, '戋': True, '戌': True, '戍': True, '戎': True, '戏': True, '成': True, '我': True, '戒': True, '戕': True, '或': True, '戗': True, '战': True, '戚': True, '戛': True, '戟': True, '戡': True, '戢': True, '戣': True, '戤': True, '戥': True, '截': True, '戬': True, '戭': True, '戮': True, '戳': True, '戴': True, '户': True, '戽': True, '戾': True, '房': True, '所': True, '扁': True, '扂': True, '扃': True, '扅': True, '扆': True, '扇': True, '扈': True, '扉': True, '扊': True, '手': True, '才': True, '扎': True, '扑': True, '扒': True, '打': True, '扔': True, '托': True, '扛': True, '扞': True, '扣': True, '扦': True, '执': True, '扩': True, '扪': True, '扫': True, '扬': True, '扭': True, '扮': True, '扯': True, '扰': True, '扳': True, '扶': True, '批': True, '扺': True, '扼': True, '扽': True, '找': True, '承': True, '技': True, '抃': True, '抄': True, '抉': True, '把': True, '抑': True, '抒': True, '抓': True, '抔': True, '投': True, '抖': True, '抗': True, '折': True, '抚': True, '抛': True, '抟': True, '抠': True, '抡': True, '抢': True, '护': True, '报': True, '抨': True, '披': True, '抬': True, '抱': True, '抵': True, '抹': True, '抻': True, '押': True, '抽': True, '抿': True, '拂': True, '拃': True, '拄': True, '担': True, '拆': True, '拇': True, '拈': True, '拉': True, '拊': True, '拌': True, '拍': True, '拎': True, '拐': True, '拒': True, '拓': True, '拔': True, '拖': True, '拗': True, '拘': True, '拙': True, '招': True, '拜': True, '拟': True, '拢': True, '拣': True, '拤': True, '拥': True, '拦': True, '拧': True, '拨': True, '择': True, '括': True, '拭': True, '拮': True, '拯': True, '拱': True, '拳': True, '拴': True, '拶': True, '拷': True, '拼': True, '拽': True, '拾': True, '拿': True, '持': True, '挂': True, '指': True, '挈': True, '按': True, '挎': True, '挑': True, '挓': True, '挖': True, '挚': True, '挛': True, '挝': True, '挞': True, '挟': True, '挠': True, '挡': True, '挣': True, '挤': True, '挥': True, '挦': True, '挨': True, '挪': True, '挫': True, '振': True, '挲': True, '挹': True, '挺': True, '挽': True, '捂': True, '捃': True, '捅': True, '捆': True, '捉': True, '捋': True, '捌': True, '捍': True, '捎': True, '捏': True, '捐': True, '捕': True, '捞': True, '损': True, '捡': True, '换': True, '捣': True, '捧': True, '捩': True, '捭': True, '据': True, '捯': True, '捶': True, '捷': True, '捺': True, '捻': True, '捽': True, '掀': True, '掂': True, '掇': True, '授': True, '掉': True, '掊': True, '掌': True, '掎': True, '掏': True, '掐': True, '排': True, '掖': True, '掘': True, '掞': True, '掠': True, '探': True, '掣': True, '接': True, '控': True, '推': True, '掩': True, '措': True, '掬': True, '掭': True, '掮': True, '掰': True, '掳': True, '掴': True, '掷': True, '掸': True, '掺': True, '掼': True, '掾': True, '揄': True, '揆': True, '揉': True, '揍': True, '描': True, '提': True, '插': True, '揕': True, '揖': True, '揠': True, '握': True, '揣': True, '揩': True, '揪': True, '揭': True, '揳': True, '援': True, '揶': True, '揸': True, '揽': True, '揿': True, '搀': True, '搁': True, '搂': True, '搅': True, '搋': True, '搌': True, '搏': True, '搐': True, '搒': True, '搓': True, '搔': True, '搛': True, '搜': True, '搞': True, '搠': True, '搡': True, '搦': True, '搪': True, '搬': True, '搭': True, '搴': True, '携': True, '搽': True, '摁': True, '摄': True, '摅': True, '摆': True, '摇': True, '摈': True, '摊': True, '摏': True, '摒': True, '摔': True, '摘': True, '摛': True, '摞': True, '摧': True, '摩': True, '摭': True, '摴': True, '摸': True, '摹': True, '摽': True, '撂': True, '撄': True, '撅': True, '撇': True, '撑': True, '撒': True, '撕': True, '撖': True, '撙': True, '撞': True, '撤': True, '撩': True, '撬': True, '播': True, '撮': True, '撰': True, '撵': True, '撷': True, '撸': True, '撺': True, '撼': True, '擀': True, '擂': True, '擅': True, '操': True, '擎': True, '擐': True, '擒': True, '擘': True, '擞': True, '擢': True, '擤': True, '擦': True, '擿': True, '攀': True, '攉': True, '攒': True, '攘': True, '攥': True, '攫': True, '攮': True, '支': True, '收': True, '攸': True, '改': True, '攻': True, '攽': True, '放': True, '政': True, '故': True, '效': True, '敉': True, '敌': True, '敏': True, '救': True, '敔': True, '敕': True, '敖': True, '教': True, '敛': True, '敝': True, '敞': True, '敢': True, '散': True, '敦': True, '敩': True, '敫': True, '敬': True, '数': True, '敲': True, '整': True, '敷': True, '文': True, '斋': True, '斌': True, '斐': True, '斑': True, '斓': True, '斗': True, '料': True, '斛': True, '斜': True, '斝': True, '斟': True, '斠': True, '斡': True, '斤': True, '斥': True, '斧': True, '斩': True, '斫': True, '断': True, '斯': True, '新': True, '斶': True, '方': True, '於': True, '施': True, '旁': True, '旃': True, '旄': True, '旅': True, '旆': True, '旋': True, '旌': True, '旎': True, '族': True, '旐': True, '旒': True, '旖': True, '旗': True, '旞': True, '无': True, '既': True, '日': True, '旦': True, '旧': True, '旨': True, '早': True, '旬': True, '旭': True, '旮': True, '旯': True, '旰': True, '旱': True, '旴': True, '旵': True, '时': True, '旷': True, '旸': True, '旺': True, '旻': True, '旿': True, '昀': True, '昂': True, '昃': True, '昄': True, '昆': True, '昇': True, '昈': True, '昉': True, '昊': True, '昌': True, '明': True, '昏': True, '昒': True, '易': True, '昔': True, '昕': True, '昙': True, '昝': True, '星': True, '映': True, '昡': True, '昣': True, '昤': True, '春': True, '昧': True, '昨': True, '昪': True, '昫': True, '昭': True, '是': True, '昱': True, '昳': True, '昴': True, '昵': True, '昶': True, '昺': True, '昼': True, '昽': True, '显': True, '晁': True, '晃': True, '晅': True, '晊': True, '晋': True, '晌': True, '晏': True, '晐': True, '晒': True, '晓': True, '晔': True, '晕': True, '晖': True, '晗': True, '晙': True, '晚': True, '晞': True, '晟': True, '晡': True, '晢': True, '晤': True, '晦': True, '晨': True, '晪': True, '晫': True, '普': True, '景': True, '晰': True, '晱': True, '晴': True, '晶': True, '晷': True, '智': True, '晾': True, '暂': True, '暄': True, '暅': True, '暇': True, '暌': True, '暑': True, '暕': True, '暖': True, '暗': True, '暝': True, '暧': True, '暨': True, '暮': True, '暲': True, '暴': True, '暵': True, '暶': True, '暹': True, '暾': True, '暿': True, '曈': True, '曌': True, '曙': True, '曛': True, '曜': True, '曝': True, '曦': True, '曩': True, '曰': True, '曲': True, '曳': True, '更': True, '曷': True, '曹': True, '曼': True, '曾': True, '替': True, '最': True, '月': True, '有': True, '朋': True, '服': True, '朏': True, '朐': True, '朓': True, '朔': True, '朕': True, '朗': True, '望': True, '朝': True, '期': True, '朦': True, '木': True, '未': True, '末': True, '本': True, '札': True, '术': True, '朱': True, '朳': True, '朴': True, '朵': True, '朸': True, '机': True, '朽': True, '杀': True, '杂': True, '权': True, '杄': True, '杆': True, '杈': True, '杉': True, '杌': True, '李': True, '杏': True, '材': True, '村': True, '杓': True, '杕': True, '杖': True, '杙': True, '杜': True, '杞': True, '束': True, '杠': True, '条': True, '来': True, '杧': True, '杨': True, '杩': True, '杪': True, '杭': True, '杯': True, '杰': True, '杲': True, '杳': True, '杵': True, '杷': True, '杻': True, '杼': True, '松': True, '板': True, '极': True, '构': True, '枅': True, '枇': True, '枉': True, '枋': True, '枍': True, '析': True, '枕': True, '林': True, '枘': True, '枚': True, '果': True, '枝': True, '枞': True, '枢': True, '枣': True, '枥': True, '枧': True, '枨': True, '枪': True, '枫': True, '枭': True, '枯': True, '枰': True, '枲': True, '枳': True, '枵': True, '架': True, '枷': True, '枸': True, '枹': True, '柁': True, '柃': True, '柄': True, '柈': True, '柊': True, '柏': True, '某': True, '柑': True, '柒': True, '染': True, '柔': True, '柖': True, '柘': True, '柙': True, '柚': True, '柜': True, '柝': True, '柞': True, '柠': True, '柢': True, '查': True, '柩': True, '柬': True, '柯': True, '柰': True, '柱': True, '柳': True, '柴': True, '柷': True, '柽': True, '柿': True, '栀': True, '栅': True, '标': True, '栈': True, '栉': True, '栊': True, '栋': True, '栌': True, '栎': True, '栏': True, '栐': True, '树': True, '栒': True, '栓': True, '栖': True, '栗': True, '栝': True, '栟': True, '校': True, '栩': True, '株': True, '栲': True, '栳': True, '栴': True, '样': True, '核': True, '根': True, '栻': True, '格': True, '栽': True, '栾': True, '桀': True, '桁': True, '桂': True, '桃': True, '桄': True, '桅': True, '框': True, '案': True, '桉': True, '桊': True, '桌': True, '桎': True, '桐': True, '桑': True, '桓': True, '桔': True, '桕': True, '桠': True, '桡': True, '桢': True, '档': True, '桤': True, '桥': True, '桦': True, '桧': True, '桨': True, '桩': True, '桫': True, '桯': True, '桲': True, '桴': True, '桶': True, '桷': True, '桹': True, '梁': True, '梃': True, '梅': True, '梆': True, '梌': True, '梏': True, '梓': True, '梗': True, '梠': True, '梢': True, '梣': True, '梦': True, '梧': True, '梨': True, '梭': True, '梯': True, '械': True, '梳': True, '梴': True, '梵': True, '梼': True, '梽': True, '梾': True, '梿': True, '检': True, '棁': True, '棂': True, '棉': True, '棋': True, '棍': True, '棐': True, '棒': True, '棓': True, '棕': True, '棘': True, '棚': True, '棠': True, '棣': True, '棤': True, '棨': True, '棪': True, '棫': True, '棬': True, '森': True, '棰': True, '棱': True, '棵': True, '棹': True, '棺': True, '棻': True, '棼': True, '棽': True, '椀': True, '椁': True, '椅': True, '椆': True, '椋': True, '植': True, '椎': True, '椐': True, '椑': True, '椒': True, '椓': True, '椟': True, '椠': True, '椤': True, '椪': True, '椭': True, '椰': True, '椴': True, '椸': True, '椹': True, '椽': True, '椿': True, '楂': True, '楒': True, '楔': True, '楗': True, '楙': True, '楚': True, '楝': True, '楞': True, '楠': True, '楣': True, '楦': True, '楩': True, '楪': True, '楫': True, '楮': True, '楯': True, '楷': True, '楸': True, '楹': True, '楼': True, '概': True, '榃': True, '榄': True, '榅': True, '榆': True, '榇': True, '榈': True, '榉': True, '榍': True, '榑': True, '榔': True, '榕': True, '榖': True, '榛': True, '榜': True, '榧': True, '榨': True, '榫': True, '榭': True, '榰': True, '榱': True, '榴': True, '榷': True, '榻': True, '槁': True, '槃': True, '槊': True, '槌': True, '槎': True, '槐': True, '槔': True, '槚': True, '槛': True, '槜': True, '槟': True, '槠': True, '槭': True, '槱': True, '槲': True, '槽': True, '槿': True, '樊': True, '樗': True, '樘': True, '樟': True, '模': True, '樨': True, '横': True, '樯': True, '樱': True, '樵': True, '樽': True, '樾': True, '橄': True, '橇': True, '橐': True, '橑': True, '橘': True, '橙': True, '橛': True, '橞': True, '橡': True, '橥': True, '橦': True, '橱': True, '橹': True, '橼': True, '檀': True, '檄': True, '檎': True, '檐': True, '檑': True, '檗': True, '檞': True, '檠': True, '檩': True, '檫': True, '檬': True, '櫆': True, '欂': True, '欠': True, '次': True, '欢': True, '欣': True, '欤': True, '欧': True, '欲': True, '欸': True, '欹': True, '欺': True, '欻': True, '款': True, '歃': True, '歅': True, '歆': True, '歇': True, '歉': True, '歌': True, '歙': True, '止': True, '正': True, '此': True, '步': True, '武': True, '歧': True, '歪': True, '歹': True, '死': True, '歼': True, '殁': True, '殂': True, '殃': True, '殄': True, '殆': True, '殇': True, '殉': True, '殊': True, '残': True, '殍': True, '殒': True, '殓': True, '殖': True, '殚': True, '殛': True, '殡': True, '殣': True, '殪': True, '殳': True, '殴': True, '段': True, '殷': True, '殿': True, '毁': True, '毂': True, '毅': True, '毋': True, '毌': True, '母': True, '每': True, '毐': True, '毒': True, '毓': True, '比': True, '毕': True, '毖': True, '毗': True, '毙': True, '毛': True, '毡': True, '毪': True, '毫': True, '毯': True, '毳': True, '毵': True, '毹': True, '毽': True, '氅': True, '氆': True, '氇': True, '氍': True, '氏': True, '氐': True, '民': True, '氓': True, '气': True, '氕': True, '氖': True, '氘': True, '氙': True, '氚': True, '氛': True, '氟': True, '氡': True, '氢': True, '氤': True, '氦': True, '氧': True, '氨': True, '氩': True, '氪': True, '氮': True, '氯': True, '氰': True, '氲': True, '水': True, '永': True, '氾': True, '氿': True, '汀': True, '汁': True, '求': True, '汆': True, '汇': True, '汈': True, '汉': True, '汊': True, '汋': True, '汐': True, '汔': True, '汕': True, '汗': True, '汛': True, '汜': True, '汝': True, '汞': True, '江': True, '池': True, '污': True, '汤': True, '汧': True, '汨': True, '汩': True, '汪': True, '汫': True, '汭': True, '汰': True, '汲': True, '汴': True, '汶': True, '汹': True, '汽': True, '汾': True, '沁': True, '沂': True, '沃': True, '沄': True, '沅': True, '沆': True, '沇': True, '沈': True, '沉': True, '沌': True, '沏': True, '沐': True, '沓': True, '沔': True, '沘': True, '沙': True, '沚': True, '沛': True, '沟': True, '没': True, '沣': True, '沤': True, '沥': True, '沦': True, '沧': True, '沨': True, '沩': True, '沪': True, '沫': True, '沭': True, '沮': True, '沱': True, '河': True, '沸': True, '油': True, '沺': True, '治': True, '沼': True, '沽': True, '沾': True, '沿': True, '泂': True, '泃': True, '泄': True, '泅': True, '泇': True, '泉': True, '泊': True, '泌': True, '泐': True, '泓': True, '泔': True, '法': True, '泖': True, '泗': True, '泙': True, '泚': True, '泛': True, '泜': True, '泞': True, '泠': True, '泡': True, '波': True, '泣': True, '泥': True, '注': True, '泪': True, '泫': True, '泮': True, '泯': True, '泰': True, '泱': True, '泳': True, '泵': True, '泷': True, '泸': True, '泺': True, '泻': True, '泼': True, '泽': True, '泾': True, '洁': True, '洄': True, '洇': True, '洈': True, '洋': True, '洌': True, '洎': True, '洑': True, '洒': True, '洓': True, '洗': True, '洘': True, '洙': True, '洚': True, '洛': True, '洞': True, '洢': True, '洣': True, '津': True, '洧': True, '洨': True, '洪': True, '洫': True, '洭': True, '洮': True, '洱': True, '洲': True, '洳': True, '洴': True, '洵': True, '洸': True, '洹': True, '洺': True, '活': True, '洼': True, '洽': True, '派': True, '洿': True, '流': True, '浃': True, '浅': True, '浆': True, '浇': True, '浈': True, '浉': True, '浊': True, '测': True, '浍': True, '济': True, '浏': True, '浐': True, '浑': True, '浒': True, '浓': True, '浔': True, '浕': True, '浙': True, '浚': True, '浛': True, '浜': True, '浞': True, '浟': True, '浠': True, '浡': True, '浣': True, '浥': True, '浦': True, '浩': True, '浪': True, '浬': True, '浭': True, '浮': True, '浯': True, '浰': True, '浲': True, '浴': True, '海': True, '浸': True, '浼': True, '涂': True, '涄': True, '涅': True, '消': True, '涉': True, '涌': True, '涍': True, '涎': True, '涐': True, '涑': True, '涓': True, '涔': True, '涕': True, '涘': True, '涛': True, '涝': True, '涞': True, '涟': True, '涠': True, '涡': True, '涢': True, '涣': True, '涤': True, '润': True, '涧': True, '涨': True, '涩': True, '涪': True, '涫': True, '涮': True, '涯': True, '液': True, '涴': True, '涵': True, '涸': True, '涿': True, '淀': True, '淄': True, '淅': True, '淆': True, '淇': True, '淋': True, '淌': True, '淏': True, '淑': True, '淖': True, '淘': True, '淙': True, '淜': True, '淝': True, '淞': True, '淟': True, '淠': True, '淡': True, '淤': True, '淦': True, '淫': True, '淬': True, '淮': True, '淯': True, '深': True, '淳': True, '淴': True, '混': True, '淹': True, '添': True, '淼': True, '清': True, '渊': True, '渌': True, '渍': True, '渎': True, '渐': True, '渑': True, '渔': True, '渗': True, '渚': True, '渝': True, '渟': True, '渠': True, '渡': True, '渣': True, '渤': True, '渥': True, '温': True, '渫': True, '渭': True, '港': True, '渰': True, '渲': True, '渴': True, '游': True, '渺': True, '渼': True, '湃': True, '湄': True, '湉': True, '湍': True, '湎': True, '湑': True, '湓': True, '湔': True, '湖': True, '湘': True, '湛': True, '湜': True, '湝': True, '湟': True, '湣': True, '湫': True, '湮': True, '湲': True, '湴': True, '湾': True, '湿': True, '溁': True, '溃': True, '溅': True, '溆': True, '溇': True, '溉': True, '溍': True, '溏': True, '源': True, '溘': True, '溚': True, '溜': True, '溞': True, '溟': True, '溠': True, '溢': True, '溥': True, '溦': True, '溧': True, '溪': True, '溯': True, '溱': True, '溲': True, '溴': True, '溵': True, '溶': True, '溷': True, '溹': True, '溺': True, '溻': True, '溽': True, '滁': True, '滂': True, '滃': True, '滆': True, '滇': True, '滉': True, '滋': True, '滍': True, '滏': True, '滑': True, '滓': True, '滔': True, '滕': True, '滗': True, '滘': True, '滚': True, '滞': True, '滟': True, '滠': True, '满': True, '滢': True, '滤': True, '滥': True, '滦': True, '滧': True, '滨': True, '滩': True, '滪': True, '滫': True, '滴': True, '滹': True, '漂': True, '漆': True, '漈': True, '漉': True, '漋': True, '漏': True, '漓': True, '演': True, '漕': True, '漖': True, '漠': True, '漤': True, '漦': True, '漩': True, '漪': True, '漫': True, '漭': True, '漯': True, '漱': True, '漳': True, '漴': True, '漶': True, '漷': True, '漹': True, '漻': True, '漼': True, '漾': True, '潆': True, '潇': True, '潋': True, '潍': True, '潏': True, '潖': True, '潘': True, '潜': True, '潞': True, '潟': True, '潢': True, '潦': True, '潩': True, '潭': True, '潮': True, '潲': True, '潴': True, '潵': True, '潸': True, '潺': True, '潼': True, '潽': True, '潾': True, '澂': True, '澄': True, '澈': True, '澉': True, '澌': True, '澍': True, '澎': True, '澛': True, '澜': True, '澡': True, '澥': True, '澧': True, '澪': True, '澭': True, '澳': True, '澴': True, '澶': True, '澹': True, '澼': True, '澽': True, '激': True, '濂': True, '濉': True, '濋': True, '濑': True, '濒': True, '濞': True, '濠': True, '濡': True, '濩': True, '濮': True, '濯': True, '瀌': True, '瀍': True, '瀑': True, '瀔': True, '瀚': True, '瀛': True, '瀣': True, '瀱': True, '瀵': True, '瀹': True, '瀼': True, '灈': True, '灌': True, '灏': True, '灞': True, '火': True, '灭': True, '灯': True, '灰': True, '灵': True, '灶': True, '灸': True, '灼': True, '灾': True, '灿': True, '炀': True, '炅': True, '炆': True, '炉': True, '炊': True, '炌': True, '炎': True, '炒': True, '炔': True, '炕': True, '炖': True, '炘': True, '炙': True, '炜': True, '炝': True, '炟': True, '炣': True, '炫': True, '炬': True, '炭': True, '炮': True, '炯': True, '炱': True, '炳': True, '炷': True, '炸': True, '点': True, '炻': True, '炼': True, '炽': True, '烀': True, '烁': True, '烂': True, '烃': True, '烈': True, '烊': True, '烔': True, '烘': True, '烙': True, '烛': True, '烜': True, '烝': True, '烟': True, '烠': True, '烤': True, '烦': True, '烧': True, '烨': True, '烩': True, '烫': True, '烬': True, '热': True, '烯': True, '烶': True, '烷': True, '烹': True, '烺': True, '烻': True, '烽': True, '焆': True, '焉': True, '焊': True, '焌': True, '焐': True, '焓': True, '焕': True, '焖': True, '焗': True, '焘': True, '焙': True, '焚': True, '焜': True, '焞': True, '焦': True, '焯': True, '焰': True, '焱': True, '然': True, '煁': True, '煃': True, '煅': True, '煊': True, '煋': True, '煌': True, '煎': True, '煓': True, '煜': True, '煞': True, '煟': True, '煤': True, '煦': True, '照': True, '煨': True, '煮': True, '煲': True, '煳': True, '煴': True, '煸': True, '煺': True, '煽': True, '熄': True, '熇': True, '熊': True, '熏': True, '熔': True, '熘': True, '熙': True, '熛': True, '熜': True, '熟': True, '熠': True, '熥': True, '熨': True, '熬': True, '熵': True, '熹': True, '熻': True, '燃': True, '燊': True, '燋': True, '燎': True, '燏': True, '燔': True, '燕': True, '燚': True, '燠': True, '燥': True, '燧': True, '燮': True, '燹': True, '爆': True, '爇': True, '爔': True, '爚': True, '爝': True, '爟': True, '爨': True, '爪': True, '爬': True, '爰': True, '爱': True, '爵': True, '父': True, '爷': True, '爸': True, '爹': True, '爻': True, '爽': True, '爿': True, '牁': True, '牂': True, '片': True, '版': True, '牌': True, '牍': True, '牒': True, '牖': True, '牙': True, '牚': True, '牛': True, '牝': True, '牟': True, '牡': True, '牢': True, '牤': True, '牥': True, '牦': True, '牧': True, '物': True, '牮': True, '牯': True, '牲': True, '牵': True, '特': True, '牺': True, '牻': True, '牾': True, '牿': True, '犀': True, '犁': True, '犄': True, '犇': True, '犊': True, '犋': True, '犍': True, '犏': True, '犒': True, '犟': True, '犨': True, '犬': True, '犯': True, '犰': True, '犴': True, '状': True, '犷': True, '犸': True, '犹': True, '狁': True, '狂': True, '狃': True, '狄': True, '狈': True, '狉': True, '狍': True, '狎': True, '狐': True, '狒': True, '狗': True, '狙': True, '狝': True, '狞': True, '狠': True, '狡': True, '狨': True, '狩': True, '独': True, '狭': True, '狮': True, '狯': True, '狰': True, '狱': True, '狲': True, '狳': True, '狴': True, '狷': True, '狸': True, '狺': True, '狻': True, '狼': True, '猁': True, '猃': True, '猄': True, '猇': True, '猊': True, '猎': True, '猕': True, '猖': True, '猗': True, '猛': True, '猜': True, '猝': True, '猞': True, '猡': True, '猢': True, '猥': True, '猩': True, '猪': True, '猫': True, '猬': True, '献': True, '猯': True, '猰': True, '猱': True, '猴': True, '猷': True, '猹': True, '猺': True, '猾': True, '猿': True, '獍': True, '獐': True, '獒': True, '獗': True, '獠': True, '獬': True, '獭': True, '獯': True, '獴': True, '獾': True, '玃': True, '玄': True, '率': True, '玉': True, '王': True, '玎': True, '玑': True, '玒': True, '玓': True, '玕': True, '玖': True, '玘': True, '玙': True, '玚': True, '玛': True, '玞': True, '玟': True, '玠': True, '玡': True, '玢': True, '玤': True, '玥': True, '玦': True, '玩': True, '玫': True, '玭': True, '玮': True, '环': True, '现': True, '玱': True, '玲': True, '玳': True, '玶': True, '玷': True, '玹': True, '玺': True, '玻': True, '玼': True, '玿': True, '珀': True, '珂': True, '珅': True, '珇': True, '珈': True, '珉': True, '珊': True, '珋': True, '珌': True, '珍': True, '珏': True, '珐': True, '珑': True, '珒': True, '珕': True, '珖': True, '珙': True, '珛': True, '珝': True, '珞': True, '珠': True, '珢': True, '珣': True, '珥': True, '珦': True, '珧': True, '珩': True, '珪': True, '珫': True, '班': True, '珰': True, '珲': True, '珵': True, '珷': True, '珸': True, '珹': True, '珺': True, '珽': True, '琀': True, '球': True, '琄': True, '琅': True, '理': True, '琇': True, '琈': True, '琉': True, '琊': True, '琎': True, '琏': True, '琐': True, '琔': True, '琚': True, '琛': True, '琟': True, '琡': True, '琢': True, '琤': True, '琥': True, '琦': True, '琨': True, '琪': True, '琫': True, '琬': True, '琭': True, '琮': True, '琯': True, '琰': True, '琲': True, '琳': True, '琴': True, '琵': True, '琶': True, '琼': True, '瑀': True, '瑁': True, '瑂': True, '瑃': True, '瑄': True, '瑅': True, '瑆': True, '瑑': True, '瑓': True, '瑔': True, '瑕': True, '瑖': True, '瑗': True, '瑙': True, '瑚': True, '瑛': True, '瑜': True, '瑝': True, '瑞': True, '瑟': True, '瑢': True, '瑧': True, '瑨': True, '瑬': True, '瑭': True, '瑰': True, '瑱': True, '瑳': True, '瑶': True, '瑷': True, '瑾': True, '璀': True, '璁': True, '璃': True, '璆': True, '璇': True, '璈': True, '璋': True, '璎': True, '璐': True, '璒': True, '璘': True, '璜': True, '璞': True, '璟': True, '璠': True, '璥': True, '璧': True, '璨': True, '璩': True, '璪': True, '璬': True, '璮': True, '璱': True, '璲': True, '璺': True, '瓀': True, '瓒': True, '瓖': True, '瓘': True, '瓜': True, '瓞': True, '瓠': True, '瓢': True, '瓣': True, '瓤': True, '瓦': True, '瓮': True, '瓯': True, '瓴': True, '瓶': True, '瓷': True, '瓻': True, '瓿': True, '甄': True, '甍': True, '甏': True, '甑': True, '甓': True, '甗': True, '甘': True, '甚': True, '甜': True, '生': True, '甡': True, '甥': True, '甦': True, '用': True, '甩': True, '甪': True, '甫': True, '甬': True, '甭': True, '甯': True, '田': True, '由': True, '甲': True, '申': True, '电': True, '男': True, '甸': True, '町': True, '画': True, '甾': True, '畀': True, '畅': True, '畈': True, '畋': True, '界': True, '畎': True, '畏': True, '畔': True, '畖': True, '留': True, '畚': True, '畛': True, '畜': True, '畤': True, '略': True, '畦': True, '番': True, '畬': True, '畯': True, '畲': True, '畴': True, '畸': True, '畹': True, '畿': True, '疁': True, '疃': True, '疆': True, '疍': True, '疏': True, '疐': True, '疑': True, '疔': True, '疖': True, '疗': True, '疙': True, '疚': True, '疝': True, '疟': True, '疠': True, '疡': True, '疢': True, '疣': True, '疤': True, '疥': True, '疫': True, '疬': True, '疭': True, '疮': True, '疯': True, '疰': True, '疱': True, '疲': True, '疳': True, '疴': True, '疵': True, '疸': True, '疹': True, '疼': True, '疽': True, '疾': True, '痂': True, '痃': True, '痄': True, '病': True, '症': True, '痈': True, '痉': True, '痊': True, '痍': True, '痒': True, '痓': True, '痔': True, '痕': True, '痘': True, '痛': True, '痞': True, '痢': True, '痣': True, '痤': True, '痦': True, '痧': True, '痨': True, '痪': True, '痫': True, '痰': True, '痱': True, '痴': True, '痹': True, '痼': True, '痿': True, '瘀': True, '瘁': True, '瘃': True, '瘅': True, '瘆': True, '瘊': True, '瘌': True, '瘐': True, '瘕': True, '瘗': True, '瘘': True, '瘙': True, '瘛': True, '瘟': True, '瘠': True, '瘢': True, '瘤': True, '瘥': True, '瘦': True, '瘩': True, '瘪': True, '瘫': True, '瘭': True, '瘰': True, '瘳': True, '瘴': True, '瘵': True, '瘸': True, '瘼': True, '瘾': True, '瘿': True, '癀': True, '癃': True, '癌': True, '癍': True, '癔': True, '癖': True, '癗': True, '癜': True, '癞': True, '癣': True, '癫': True, '癯': True, '癸': True, '登': True, '白': True, '百': True, '癿': True, '皂': True, '的': True, '皆': True, '皇': True, '皈': True, '皋': True, '皎': True, '皑': True, '皓': True, '皕': True, '皖': True, '皙': True, '皛': True, '皞': True, '皤': True, '皦': True, '皭': True, '皮': True, '皱': True, '皲': True, '皴': True, '皿': True, '盂': True, '盅': True, '盆': True, '盈': True, '盉': True, '益': True, '盍': True, '盎': True, '盏': True, '盐': True, '监': True, '盒': True, '盔': True, '盖': True, '盗': True, '盘': True, '盛': True, '盟': True, '盥': True, '盦': True, '目': True, '盯': True, '盱': True, '盲': True, '直': True, '盷': True, '相': True, '盹': True, '盼': True, '盾': True, '省': True, '眄': True, '眇': True, '眈': True, '眉': True, '眊': True, '看': True, '眍': True, '眙': True, '眚': True, '真': True, '眠': True, '眢': True, '眦': True, '眨': True, '眩': True, '眬': True, '眭': True, '眯': True, '眵': True, '眶': True, '眷': True, '眸': True, '眺': True, '眼': True, '着': True, '睁': True, '睃': True, '睄': True, '睇': True, '睎': True, '睐': True, '睑': True, '睚': True, '睛': True, '睡': True, '睢': True, '督': True, '睥': True, '睦': True, '睨': True, '睫': True, '睬': True, '睹': True, '睽': True, '睾': True, '睿': True, '瞀': True, '瞄': True, '瞅': True, '瞋': True, '瞌': True, '瞍': True, '瞎': True, '瞑': True, '瞒': True, '瞟': True, '瞠': True, '瞢': True, '瞥': True, '瞧': True, '瞩': True, '瞪': True, '瞫': True, '瞬': True, '瞭': True, '瞰': True, '瞳': True, '瞵': True, '瞻': True, '瞽': True, '瞿': True, '矍': True, '矗': True, '矛': True, '矜': True, '矞': True, '矢': True, '矣': True, '知': True, '矧': True, '矩': True, '矫': True, '矬': True, '短': True, '矮': True, '矰': True, '石': True, '矶': True, '矸': True, '矻': True, '矼': True, '矾': True, '矿': True, '砀': True, '码': True, '砂': True, '砄': True, '砆': True, '砉': True, '砌': True, '砍': True, '砑': True, '砒': True, '研': True, '砖': True, '砗': True, '砘': True, '砚': True, '砜': True, '砝': True, '砟': True, '砠': True, '砣': True, '砥': True, '砧': True, '砫': True, '砬': True, '砭': True, '砮': True, '砰': True, '破': True, '砵': True, '砷': True, '砸': True, '砹': True, '砺': True, '砻': True, '砼': True, '砾': True, '础': True, '硁': True, '硅': True, '硇': True, '硊': True, '硌': True, '硍': True, '硎': True, '硐': True, '硒': True, '硔': True, '硕': True, '硖': True, '硗': True, '硙': True, '硚': True, '硝': True, '硪': True, '硫': True, '硬': True, '硭': True, '确': True, '硼': True, '硿': True, '碃': True, '碇': True, '碈': True, '碉': True, '碌': True, '碍': True, '碎': True, '碏': True, '碑': True, '碓': True, '碗': True, '碘': True, '碚': True, '碛': True, '碜': True, '碟': True, '碡': True, '碣': True, '碥': True, '碧': True, '碨': True, '碰': True, '碱': True, '碲': True, '碳': True, '碴': True, '碶': True, '碹': True, '碾': True, '磁': True, '磅': True, '磉': True, '磊': True, '磋': True, '磏': True, '磐': True, '磔': True, '磕': True, '磙': True, '磜': True, '磡': True, '磨': True, '磬': True, '磲': True, '磴': True, '磷': True, '磹': True, '磻': True, '礁': True, '礅': True, '礌': True, '礓': True, '礞': True, '礴': True, '礵': True, '示': True, '礼': True, '社': True, '祀': True, '祁': True, '祃': True, '祆': True, '祇': True, '祈': True, '祉': True, '祊': True, '祋': True, '祎': True, '祏': True, '祐': True, '祓': True, '祕': True, '祖': True, '祗': True, '祚': True, '祛': True, '祜': True, '祝': True, '神': True, '祟': True, '祠': True, '祢': True, '祥': True, '祧': True, '票': True, '祭': True, '祯': True, '祲': True, '祷': True, '祸': True, '祺': True, '祼': True, '祾': True, '禀': True, '禁': True, '禄': True, '禅': True, '禊': True, '禋': True, '福': True, '禒': True, '禔': True, '禘': True, '禚': True, '禛': True, '禤': True, '禧': True, '禳': True, '禹': True, '禺': True, '离': True, '禽': True, '禾': True, '秀': True, '私': True, '秃': True, '秆': True, '秉': True, '秋': True, '种': True, '科': True, '秒': True, '秕': True, '秘': True, '租': True, '秣': True, '秤': True, '秦': True, '秧': True, '秩': True, '秫': True, '秬': True, '秭': True, '积': True, '称': True, '秸': True, '移': True, '秽': True, '秾': True, '稀': True, '稂': True, '稃': True, '稆': True, '程': True, '稌': True, '稍': True, '税': True, '稑': True, '稔': True, '稗': True, '稙': True, '稚': True, '稞': True, '稠': True, '稣': True, '稳': True, '稷': True, '稹': True, '稻': True, '稼': True, '稽': True, '稿': True, '穄': True, '穆': True, '穑': True, '穗': True, '穙': True, '穜': True, '穟': True, '穰': True, '穴': True, '究': True, '穷': True, '穸': True, '穹': True, '空': True, '穿': True, '窀': True, '突': True, '窃': True, '窄': True, '窅': True, '窈': True, '窊': True, '窍': True, '窎': True, '窑': True, '窒': True, '窕': True, '窖': True, '窗': True, '窘': True, '窜': True, '窝': True, '窟': True, '窠': True, '窣': True, '窥': True, '窦': True, '窨': True, '窬': True, '窭': True, '窳': True, '窸': True, '窿': True, '立': True, '竑': True, '竖': True, '竘': True, '站': True, '竞': True, '竟': True, '章': True, '竣': True, '童': True, '竦': True, '竫': True, '竭': True, '端': True, '竹': True, '竺': True, '竽': True, '竿': True, '笃': True, '笄': True, '笆': True, '笈': True, '笊': True, '笋': True, '笏': True, '笑': True, '笔': True, '笕': True, '笙': True, '笛': True, '笞': True, '笠': True, '笤': True, '笥': True, '符': True, '笨': True, '笪': True, '笫': True, '第': True, '笮': True, '笯': True, '笱': True, '笳': True, '笸': True, '笺': True, '笼': True, '笾': True, '筀': True, '筅': True, '筇': True, '等': True, '筋': True, '筌': True, '筏': True, '筐': True, '筑': True, '筒': True, '答': True, '策': True, '筘': True, '筚': True, '筛': True, '筜': True, '筝': True, '筠': True, '筢': True, '筤': True, '筥': True, '筦': True, '筮': True, '筱': True, '筲': True, '筵': True, '筶': True, '筷': True, '筹': True, '筻': True, '筼': True, '签': True, '简': True, '箅': True, '箍': True, '箐': True, '箓': True, '箔': True, '箕': True, '箖': True, '算': True, '箜': True, '管': True, '箢': True, '箦': True, '箧': True, '箨': True, '箩': True, '箪': True, '箫': True, '箬': True, '箭': True, '箱': True, '箴': True, '箸': True, '篁': True, '篆': True, '篇': True, '篌': True, '篑': True, '篓': True, '篙': True, '篚': True, '篝': True, '篡': True, '篥': True, '篦': True, '篪': True, '篮': True, '篯': True, '篱': True, '篷': True, '篼': True, '篾': True, '簃': True, '簇': True, '簉': True, '簋': True, '簌': True, '簏': True, '簕': True, '簖': True, '簝': True, '簟': True, '簠': True, '簧': True, '簪': True, '簰': True, '簸': True, '簿': True, '籀': True, '籁': True, '籍': True, '籥': True, '米': True, '籴': True, '类': True, '籼': True, '籽': True, '粉': True, '粑': True, '粒': True, '粕': True, '粗': True, '粘': True, '粜': True, '粝': True, '粞': True, '粟': True, '粢': True, '粤': True, '粥': True, '粪': True, '粮': True, '粱': True, '粲': True, '粳': True, '粹': True, '粼': True, '粽': True, '精': True, '粿': True, '糁': True, '糅': True, '糇': True, '糈': True, '糊': True, '糌': True, '糍': True, '糒': True, '糕': True, '糖': True, '糗': True, '糙': True, '糜': True, '糟': True, '糠': True, '糨': True, '糯': True, '糵': True, '系': True, '紊': True, '素': True, '索': True, '紧': True, '紫': True, '累': True, '絜': True, '絮': True, '絷': True, '綦': True, '綮': True, '縠': True, '縢': True, '縻': True, '繁': True, '繄': True, '繇': True, '纂': True, '纛': True, '纠': True, '纡': True, '红': True, '纣': True, '纤': True, '纥': True, '约': True, '级': True, '纨': True, '纩': True, '纪': True, '纫': True, '纬': True, '纭': True, '纮': True, '纯': True, '纰': True, '纱': True, '纲': True, '纳': True, '纴': True, '纵': True, '纶': True, '纷': True, '纸': True, '纹': True, '纺': True, '纻': True, '纼': True, '纽': True, '纾': True, '线': True, '绀': True, '绁': True, '绂': True, '练': True, '组': True, '绅': True, '细': True, '织': True, '终': True, '绉': True, '绊': True, '绋': True, '绌': True, '绍': True, '绎': True, '经': True, '绐': True, '绑': True, '绒': True, '结': True, '绔': True, '绕': True, '绖': True, '绗': True, '绘': True, '给': True, '绚': True, '绛': True, '络': True, '绝': True, '绞': True, '统': True, '绠': True, '绡': True, '绢': True, '绣': True, '绤': True, '绥': True, '绦': True, '继': True, '绨': True, '绩': True, '绪': True, '绫': True, '续': True, '绮': True, '绯': True, '绰': True, '绱': True, '绲': True, '绳': True, '维': True, '绵': True, '绶': True, '绷': True, '绸': True, '绹': True, '绺': True, '绻': True, '综': True, '绽': True, '绾': True, '绿': True, '缀': True, '缁': True, '缂': True, '缃': True, '缄': True, '缅': True, '缆': True, '缇': True, '缈': True, '缉': True, '缊': True, '缌': True, '缎': True, '缐': True, '缑': True, '缒': True, '缓': True, '缔': True, '缕': True, '编': True, '缗': True, '缘': True, '缙': True, '缚': True, '缛': True, '缜': True, '缝': True, '缞': True, '缟': True, '缠': True, '缡': True, '缢': True, '缣': True, '缤': True, '缥': True, '缦': True, '缧': True, '缨': True, '缩': True, '缪': True, '缫': True, '缬': True, '缭': True, '缮': True, '缯': True, '缰': True, '缱': True, '缲': True, '缳': True, '缴': True, '缵': True, '缶': True, '缸': True, '缺': True, '罂': True, '罄': True, '罅': True, '罍': True, '罐': True, '网': True, '罔': True, '罕': True, '罗': True, '罘': True, '罚': True, '罟': True, '罡': True, '罢': True, '罨': True, '罩': True, '罪': True, '置': True, '罱': True, '署': True, '罴': True, '罶': True, '罹': True, '罽': True, '罾': True, '羁': True, '羊': True, '羌': True, '美': True, '羑': True, '羓': True, '羔': True, '羕': True, '羖': True, '羚': True, '羝': True, '羞': True, '羟': True, '羡': True, '群': True, '羧': True, '羯': True, '羰': True, '羱': True, '羲': True, '羸': True, '羹': True, '羼': True, '羽': True, '羿': True, '翀': True, '翁': True, '翂': True, '翃': True, '翅': True, '翈': True, '翊': True, '翌': True, '翎': True, '翔': True, '翕': True, '翘': True, '翙': True, '翚': True, '翛': True, '翟': True, '翠': True, '翡': True, '翥': True, '翦': True, '翩': True, '翮': True, '翯': True, '翰': True, '翱': True, '翳': True, '翷': True, '翻': True, '翼': True, '翾': True, '耀': True, '老': True, '考': True, '耄': True, '者': True, '耆': True, '耇': True, '耋': True, '而': True, '耍': True, '耏': True, '耐': True, '耑': True, '耒': True, '耔': True, '耕': True, '耖': True, '耗': True, '耘': True, '耙': True, '耜': True, '耠': True, '耢': True, '耤': True, '耥': True, '耦': True, '耧': True, '耨': True, '耩': True, '耪': True, '耰': True, '耱': True, '耳': True, '耵': True, '耶': True, '耷': True, '耸': True, '耻': True, '耽': True, '耿': True, '聂': True, '聃': True, '聆': True, '聊': True, '聋': True, '职': True, '聍': True, '聒': True, '联': True, '聘': True, '聚': True, '聩': True, '聪': True, '聱': True, '聿': True, '肃': True, '肄': True, '肆': True, '肇': True, '肉': True, '肋': True, '肌': True, '肓': True, '肖': True, '肘': True, '肚': True, '肛': True, '肝': True, '肟': True, '肠': True, '股': True, '肢': True, '肤': True, '肥': True, '肩': True, '肪': True, '肫': True, '肭': True, '肮': True, '肯': True, '肱': True, '育': True, '肴': True, '肷': True, '肸': True, '肺': True, '肼': True, '肽': True, '肾': True, '肿': True, '胀': True, '胁': True, '胂': True, '胃': True, '胄': True, '胆': True, '胈': True, '背': True, '胍': True, '胎': True, '胖': True, '胗': True, '胙': True, '胚': True, '胛': True, '胜': True, '胝': True, '胞': True, '胠': True, '胡': True, '胣': True, '胤': True, '胥': True, '胧': True, '胨': True, '胩': True, '胪': True, '胫': True, '胬': True, '胭': True, '胯': True, '胰': True, '胱': True, '胲': True, '胳': True, '胴': True, '胶': True, '胸': True, '胺': True, '胼': True, '能': True, '脂': True, '脆': True, '脉': True, '脊': True, '脍': True, '脎': True, '脏': True, '脐': True, '脑': True, '脒': True, '脓': True, '脔': True, '脖': True, '脘': True, '脚': True, '脞': True, '脟': True, '脩': True, '脬': True, '脯': True, '脱': True, '脲': True, '脶': True, '脸': True, '脾': True, '脿': True, '腆': True, '腈': True, '腊': True, '腋': True, '腌': True, '腐': True, '腑': True, '腒': True, '腓': True, '腔': True, '腕': True, '腘': True, '腙': True, '腚': True, '腠': True, '腥': True, '腧': True, '腨': True, '腩': True, '腭': True, '腮': True, '腯': True, '腰': True, '腱': True, '腴': True, '腹': True, '腺': True, '腻': True, '腼': True, '腽': True, '腾': True, '腿': True, '膀': True, '膂': True, '膈': True, '膊': True, '膏': True, '膑': True, '膘': True, '膙': True, '膛': True, '膜': True, '膝': True, '膦': True, '膨': True, '膳': True, '膺': True, '膻': True, '臀': True, '臂': True, '臃': True, '臆': True, '臊': True, '臌': True, '臑': True, '臜': True, '臣': True, '臧': True, '自': True, '臬': True, '臭': True, '至': True, '致': True, '臻': True, '臼': True, '臾': True, '舀': True, '舁': True, '舂': True, '舄': True, '舅': True, '舆': True, '舌': True, '舍': True, '舐': True, '舒': True, '舔': True, '舛': True, '舜': True, '舞': True, '舟': True, '舠': True, '舢': True, '舣': True, '舥': True, '航': True, '舫': True, '般': True, '舭': True, '舯': True, '舰': True, '舱': True, '舲': True, '舳': True, '舴': True, '舵': True, '舶': True, '舷': True, '舸': True, '船': True, '舻': True, '舾': True, '艄': True, '艅': True, '艇': True, '艉': True, '艋': True, '艎': True, '艏': True, '艘': True, '艚': True, '艟': True, '艨': True, '艮': True, '良': True, '艰': True, '色': True, '艳': True, '艴': True, '艺': True, '艽': True, '艾': True, '艿': True, '节': True, '芃': True, '芄': True, '芈': True, '芊': True, '芋': True, '芍': True, '芎': True, '芏': True, '芑': True, '芒': True, '芗': True, '芘': True, '芙': True, '芜': True, '芝': True, '芟': True, '芠': True, '芡': True, '芣': True, '芤': True, '芥': True, '芦': True, '芨': True, '芩': True, '芪': True, '芫': True, '芬': True, '芭': True, '芮': True, '芯': True, '芰': True, '花': True, '芳': True, '芴': True, '芷': True, '芸': True, '芹': True, '芼': True, '芽': True, '芾': True, '苁': True, '苄': True, '苇': True, '苈': True, '苉': True, '苊': True, '苋': True, '苌': True, '苍': True, '苎': True, '苏': True, '苑': True, '苒': True, '苓': True, '苔': True, '苕': True, '苗': True, '苘': True, '苛': True, '苜': True, '苞': True, '苟': True, '苠': True, '苡': True, '苣': True, '苤': True, '若': True, '苦': True, '苧': True, '苫': True, '苯': True, '英': True, '苴': True, '苷': True, '苹': True, '苻': True, '苾': True, '茀': True, '茁': True, '茂': True, '范': True, '茄': True, '茅': True, '茆': True, '茈': True, '茉': True, '茋': True, '茌': True, '茎': True, '茏': True, '茑': True, '茓': True, '茔': True, '茕': True, '茗': True, '茚': True, '茛': True, '茜': True, '茝': True, '茧': True, '茨': True, '茫': True, '茬': True, '茭': True, '茯': True, '茱': True, '茳': True, '茴': True, '茵': True, '茶': True, '茸': True, '茹': True, '茺': True, '茼': True, '茽': True, '荀': True, '荁': True, '荃': True, '荄': True, '荆': True, '荇': True, '草': True, '荏': True, '荐': True, '荑': True, '荒': True, '荓': True, '荔': True, '荖': True, '荙': True, '荚': True, '荛': True, '荜': True, '荞': True, '荟': True, '荠': True, '荡': True, '荣': True, '荤': True, '荥': True, '荦': True, '荧': True, '荨': True, '荩': True, '荪': True, '荫': True, '荬': True, '荭': True, '荮': True, '药': True, '荷': True, '荸': True, '荻': True, '荼': True, '荽': True, '莅': True, '莆': True, '莉': True, '莎': True, '莒': True, '莓': True, '莘': True, '莙': True, '莛': True, '莜': True, '莝': True, '莞': True, '莠': True, '莨': True, '莩': True, '莪': True, '莫': True, '莰': True, '莱': True, '莲': True, '莳': True, '莴': True, '莶': True, '获': True, '莸': True, '莹': True, '莺': True, '莼': True, '莽': True, '莿': True, '菀': True, '菁': True, '菂': True, '菅': True, '菇': True, '菉': True, '菊': True, '菌': True, '菍': True, '菏': True, '菔': True, '菖': True, '菘': True, '菜': True, '菝': True, '菟': True, '菠': True, '菡': True, '菥': True, '菩': True, '菪': True, '菰': True, '菱': True, '菲': True, '菹': True, '菼': True, '菽': True, '萁': True, '萃': True, '萄': True, '萆': True, '萋': True, '萌': True, '萍': True, '萎': True, '萏': True, '萑': True, '萘': True, '萚': True, '萜': True, '萝': True, '萣': True, '萤': True, '营': True, '萦': True, '萧': True, '萨': True, '萩': True, '萱': True, '萳': True, '萸': True, '萹': True, '萼': True, '落': True, '葆': True, '葎': True, '葑': True, '葖': True, '著': True, '葙': True, '葚': True, '葛': True, '葜': True, '葡': True, '董': True, '葩': True, '葫': True, '葬': True, '葭': True, '葰': True, '葱': True, '葳': True, '葴': True, '葵': True, '葶': True, '葸': True, '葺': True, '蒂': True, '蒄': True, '蒇': True, '蒈': True, '蒉': True, '蒋': True, '蒌': True, '蒎': True, '蒐': True, '蒗': True, '蒙': True, '蒜': True, '蒟': True, '蒡': True, '蒨': True, '蒯': True, '蒱': True, '蒲': True, '蒴': True, '蒸': True, '蒹': True, '蒺': True, '蒻': True, '蒽': True, '蒿': True, '蓁': True, '蓂': True, '蓄': True, '蓇': True, '蓉': True, '蓊': True, '蓍': True, '蓏': True, '蓐': True, '蓑': True, '蓓': True, '蓖': True, '蓝': True, '蓟': True, '蓠': True, '蓢': True, '蓣': True, '蓥': True, '蓦': True, '蓬': True, '蓰': True, '蓼': True, '蓿': True, '蔀': True, '蔃': True, '蔈': True, '蔊': True, '蔌': True, '蔑': True, '蔓': True, '蔗': True, '蔚': True, '蔟': True, '蔡': True, '蔫': True, '蔬': True, '蔷': True, '蔸': True, '蔹': True, '蔺': True, '蔻': True, '蔼': True, '蔽': True, '蕃': True, '蕈': True, '蕉': True, '蕊': True, '蕖': True, '蕗': True, '蕙': True, '蕞': True, '蕤': True, '蕨': True, '蕰': True, '蕲': True, '蕴': True, '蕹': True, '蕺': True, '蕻': True, '蕾': True, '薁': True, '薄': True, '薅': True, '薇': True, '薏': True, '薛': True, '薜': True, '薢': True, '薤': True, '薨': True, '薪': True, '薮': True, '薯': True, '薰': True, '薳': True, '薷': True, '薸': True, '薹': True, '薿': True, '藁': True, '藉': True, '藏': True, '藐': True, '藓': True, '藕': True, '藜': True, '藟': True, '藠': True, '藤': True, '藦': True, '藨': True, '藩': True, '藻': True, '藿': True, '蘅': True, '蘑': True, '蘖': True, '蘘': True, '蘧': True, '蘩': True, '蘸': True, '蘼': True, '虎': True, '虏': True, '虐': True, '虑': True, '虒': True, '虓': True, '虔': True, '虚': True, '虞': True, '虢': True, '虤': True, '虫': True, '虬': True, '虮': True, '虱': True, '虷': True, '虸': True, '虹': True, '虺': True, '虻': True, '虼': True, '虽': True, '虾': True, '虿': True, '蚀': True, '蚁': True, '蚂': True, '蚄': True, '蚆': True, '蚊': True, '蚋': True, '蚌': True, '蚍': True, '蚓': True, '蚕': True, '蚜': True, '蚝': True, '蚣': True, '蚤': True, '蚧': True, '蚨': True, '蚩': True, '蚪': True, '蚬': True, '蚯': True, '蚰': True, '蚱': True, '蚲': True, '蚴': True, '蚶': True, '蚺': True, '蛀': True, '蛃': True, '蛄': True, '蛆': True, '蛇': True, '蛉': True, '蛊': True, '蛋': True, '蛎': True, '蛏': True, '蛐': True, '蛑': True, '蛔': True, '蛘': True, '蛙': True, '蛛': True, '蛞': True, '蛟': True, '蛤': True, '蛩': True, '蛭': True, '蛮': True, '蛰': True, '蛱': True, '蛲': True, '蛳': True, '蛴': True, '蛸': True, '蛹': True, '蛾': True, '蜀': True, '蜂': True, '蜃': True, '蜇': True, '蜈': True, '蜉': True, '蜊': True, '蜍': True, '蜎': True, '蜐': True, '蜒': True, '蜓': True, '蜕': True, '蜗': True, '蜘': True, '蜚': True, '蜜': True, '蜞': True, '蜡': True, '蜢': True, '蜣': True, '蜥': True, '蜩': True, '蜮': True, '蜱': True, '蜴': True, '蜷': True, '蜻': True, '蜾': True, '蜿': True, '蝇': True, '蝈': True, '蝉': True, '蝌': True, '蝎': True, '蝓': True, '蝗': True, '蝘': True, '蝙': True, '蝠': True, '蝣': True, '蝤': True, '蝥': True, '蝮': True, '蝰': True, '蝲': True, '蝴': True, '蝶': True, '蝻': True, '蝼': True, '蝽': True, '蝾': True, '螂': True, '螃': True, '螅': True, '螈': True, '螋': True, '融': True, '螗': True, '螟': True, '螠': True, '螣': True, '螨': True, '螫': True, '螬': True, '螭': True, '螯': True, '螱': True, '螳': True, '螵': True, '螺': True, '螽': True, '蟀': True, '蟆': True, '蟊': True, '蟋': True, '蟏': True, '蟑': True, '蟒': True, '蟛': True, '蟠': True, '蟥': True, '蟪': True, '蟫': True, '蟮': True, '蟹': True, '蟾': True, '蠃': True, '蠊': True, '蠋': True, '蠓': True, '蠕': True, '蠖': True, '蠡': True, '蠢': True, '蠲': True, '蠹': True, '蠼': True, '血': True, '衃': True, '衄': True, '衅': True, '行': True, '衍': True, '衎': True, '衒': True, '衔': True, '街': True, '衙': True, '衠': True, '衡': True, '衢': True, '衣': True, '补': True, '表': True, '衩': True, '衫': True, '衬': True, '衮': True, '衰': True, '衲': True, '衷': True, '衽': True, '衾': True, '衿': True, '袁': True, '袂': True, '袄': True, '袅': True, '袆': True, '袈': True, '袋': True, '袍': True, '袒': True, '袖': True, '袗': True, '袜': True, '袢': True, '袤': True, '袪': True, '被': True, '袭': True, '袯': True, '袱': True, '袷': True, '袼': True, '裁': True, '裂': True, '装': True, '裆': True, '裈': True, '裉': True, '裎': True, '裒': True, '裔': True, '裕': True, '裘': True, '裙': True, '裛': True, '裟': True, '裢': True, '裣': True, '裤': True, '裥': True, '裨': True, '裰': True, '裱': True, '裳': True, '裴': True, '裸': True, '裹': True, '裼': True, '裾': True, '褂': True, '褊': True, '褐': True, '褒': True, '褓': True, '褕': True, '褙': True, '褚': True, '褛': True, '褟': True, '褡': True, '褥': True, '褪': True, '褫': True, '褯': True, '褰': True, '褴': True, '褶': True, '襁': True, '襄': True, '襕': True, '襚': True, '襜': True, '襞': True, '襟': True, '襦': True, '襫': True, '襻': True, '西': True, '要': True, '覃': True, '覆': True, '见': True, '观': True, '觃': True, '规': True, '觅': True, '视': True, '觇': True, '览': True, '觉': True, '觊': True, '觋': True, '觌': True, '觎': True, '觏': True, '觐': True, '觑': True, '角': True, '觖': True, '觚': True, '觜': True, '觞': True, '觟': True, '解': True, '觥': True, '触': True, '觫': True, '觭': True, '觯': True, '觱': True, '觳': True, '觿': True, '言': True, '訄': True, '訇': True, '訚': True, '訾': True, '詈': True, '詟': True, '詹': True, '誉': True, '誊': True, '誓': True, '謇': True, '警': True, '譬': True, '计': True, '订': True, '讣': True, '认': True, '讥': True, '讦': True, '讧': True, '讨': True, '让': True, '讪': True, '讫': True, '训': True, '议': True, '讯': True, '记': True, '讱': True, '讲': True, '讳': True, '讴': True, '讵': True, '讶': True, '讷': True, '许': True, '讹': True, '论': True, '讻': True, '讼': True, '讽': True, '设': True, '访': True, '诀': True, '证': True, '诂': True, '诃': True, '评': True, '诅': True, '识': True, '诇': True, '诈': True, '诉': True, '诊': True, '诋': True, '诌': True, '词': True, '诎': True, '诏': True, '诐': True, '译': True, '诒': True, '诓': True, '诔': True, '试': True, '诖': True, '诗': True, '诘': True, '诙': True, '诚': True, '诛': True, '诜': True, '话': True, '诞': True, '诟': True, '诠': True, '诡': True, '询': True, '诣': True, '诤': True, '该': True, '详': True, '诧': True, '诨': True, '诩': True, '诫': True, '诬': True, '语': True, '诮': True, '误': True, '诰': True, '诱': True, '诲': True, '诳': True, '说': True, '诵': True, '请': True, '诸': True, '诹': True, '诺': True, '读': True, '诼': True, '诽': True, '课': True, '诿': True, '谀': True, '谁': True, '谂': True, '调': True, '谄': True, '谅': True, '谆': True, '谇': True, '谈': True, '谊': True, '谋': True, '谌': True, '谍': True, '谎': True, '谏': True, '谐': True, '谑': True, '谒': True, '谓': True, '谔': True, '谕': True, '谖': True, '谗': True, '谙': True, '谚': True, '谛': True, '谜': True, '谝': True, '谞': True, '谟': True, '谠': True, '谡': True, '谢': True, '谣': True, '谤': True, '谥': True, '谦': True, '谧': True, '谨': True, '谩': True, '谪': True, '谫': True, '谬': True, '谭': True, '谮': True, '谯': True, '谰': True, '谱': True, '谲': True, '谳': True, '谴': True, '谵': True, '谶': True, '谷': True, '谼': True, '谿': True, '豁': True, '豆': True, '豇': True, '豉': True, '豌': True, '豕': True, '豚': True, '象': True, '豢': True, '豨': True, '豪': True, '豫': True, '豮': True, '豳': True, '豸': True, '豹': True, '豺': True, '貂': True, '貅': True, '貆': True, '貉': True, '貊': True, '貌': True, '貔': True, '貘': True, '贝': True, '贞': True, '负': True, '贡': True, '财': True, '责': True, '贤': True, '败': True, '账': True, '货': True, '质': True, '贩': True, '贪': True, '贫': True, '贬': True, '购': True, '贮': True, '贯': True, '贰': True, '贱': True, '贲': True, '贳': True, '贴': True, '贵': True, '贶': True, '贷': True, '贸': True, '费': True, '贺': True, '贻': True, '贼': True, '贽': True, '贾': True, '贿': True, '赀': True, '赁': True, '赂': True, '赃': True, '资': True, '赅': True, '赆': True, '赇': True, '赈': True, '赉': True, '赊': True, '赋': True, '赌': True, '赍': True, '赎': True, '赏': True, '赐': True, '赑': True, '赒': True, '赓': True, '赔': True, '赕': True, '赖': True, '赗': True, '赘': True, '赙': True, '赚': True, '赛': True, '赜': True, '赝': True, '赞': True, '赟': True, '赠': True, '赡': True, '赢': True, '赣': True, '赤': True, '赦': True, '赧': True, '赪': True, '赫': True, '赭': True, '走': True, '赳': True, '赴': True, '赵': True, '赶': True, '起': True, '趁': True, '趄': True, '超': True, '越': True, '趋': True, '趑': True, '趔': True, '趟': True, '趣': True, '趯': True, '趱': True, '足': True, '趴': True, '趵': True, '趸': True, '趺': True, '趼': True, '趾': True, '趿': True, '跂': True, '跃': True, '跄': True, '跆': True, '跋': True, '跌': True, '跎': True, '跏': True, '跐': True, '跑': True, '跖': True, '跗': True, '跚': True, '跛': True, '距': True, '跞': True, '跟': True, '跣': True, '跤': True, '跨': True, '跪': True, '跬': True, '路': True, '跱': True, '跳': True, '践': True, '跶': True, '跷': True, '跸': True, '跹': True, '跺': True, '跻': True, '跽': True, '踅': True, '踉': True, '踊': True, '踌': True, '踏': True, '踒': True, '踔': True, '踝': True, '踞': True, '踟': True, '踢': True, '踣': True, '踦': True, '踩': True, '踪': True, '踬': True, '踮': True, '踯': True, '踱': True, '踵': True, '踶': True, '踹': True, '踺': True, '踽': True, '蹀': True, '蹁': True, '蹂': True, '蹄': True, '蹅': True, '蹇': True, '蹈': True, '蹉': True, '蹊': True, '蹋': True, '蹐': True, '蹑': True, '蹒': True, '蹙': True, '蹚': True, '蹜': True, '蹢': True, '蹦': True, '蹩': True, '蹬': True, '蹭': True, '蹯': True, '蹰': True, '蹲': True, '蹴': True, '蹶': True, '蹼': True, '蹽': True, '蹾': True, '蹿': True, '躁': True, '躅': True, '躇': True, '躏': True, '躐': True, '躔': True, '躜': True, '躞': True, '身': True, '躬': True, '躯': True, '躲': True, '躺': True, '车': True, '轧': True, '轨': True, '轩': True, '轪': True, '轫': True, '转': True, '轭': True, '轮': True, '软': True, '轰': True, '轱': True, '轲': True, '轳': True, '轴': True, '轵': True, '轶': True, '轷': True, '轸': True, '轹': True, '轺': True, '轻': True, '轼': True, '载': True, '轾': True, '轿': True, '辀': True, '辁': True, '辂': True, '较': True, '辄': True, '辅': True, '辆': True, '辇': True, '辈': True, '辉': True, '辊': True, '辋': True, '辌': True, '辍': True, '辎': True, '辏': True, '辐': True, '辑': True, '辒': True, '输': True, '辔': True, '辕': True, '辖': True, '辗': True, '辘': True, '辙': True, '辚': True, '辛': True, '辜': True, '辞': True, '辟': True, '辣': True, '辨': True, '辩': True, '辫': True, '辰': True, '辱': True, '边': True, '辽': True, '达': True, '辿': True, '迁': True, '迂': True, '迄': True, '迅': True, '过': True, '迈': True, '迎': True, '运': True, '近': True, '迓': True, '返': True, '迕': True, '还': True, '这': True, '进': True, '远': True, '违': True, '连': True, '迟': True, '迢': True, '迤': True, '迥': True, '迦': True, '迨': True, '迩': True, '迪': True, '迫': True, '迭': True, '迮': True, '述': True, '迳': True, '迷': True, '迸': True, '迹': True, '迺': True, '追': True, '退': True, '送': True, '适': True, '逃': True, '逄': True, '逅': True, '逆': True, '选': True, '逊': True, '逋': True, '逍': True, '透': True, '逐': True, '逑': True, '递': True, '途': True, '逖': True, '逗': True, '通': True, '逛': True, '逝': True, '逞': True, '速': True, '造': True, '逡': True, '逢': True, '逦': True, '逭': True, '逮': True, '逯': True, '逴': True, '逵': True, '逶': True, '逸': True, '逻': True, '逼': True, '逾': True, '遁': True, '遂': True, '遄': True, '遆': True, '遇': True, '遍': True, '遏': True, '遐': True, '遑': True, '遒': True, '道': True, '遗': True, '遘': True, '遛': True, '遢': True, '遣': True, '遥': True, '遨': True, '遭': True, '遮': True, '遴': True, '遵': True, '遹': True, '遽': True, '避': True, '邀': True, '邂': True, '邃': True, '邈': True, '邋': True, '邑': True, '邓': True, '邕': True, '邗': True, '邘': True, '邙': True, '邛': True, '邝': True, '邠': True, '邡': True, '邢': True, '那': True, '邦': True, '邨': True, '邪': True, '邬': True, '邮': True, '邯': True, '邰': True, '邱': True, '邲': True, '邳': True, '邴': True, '邵': True, '邶': True, '邸': True, '邹': True, '邺': True, '邻': True, '邽': True, '邾': True, '邿': True, '郁': True, '郃': True, '郄': True, '郅': True, '郇': True, '郈': True, '郊': True, '郎': True, '郏': True, '郐': True, '郑': True, '郓': True, '郗': True, '郚': True, '郛': True, '郜': True, '郝': True, '郡': True, '郢': True, '郤': True, '郦': True, '郧': True, '部': True, '郪': True, '郫': True, '郭': True, '郯': True, '郴': True, '郸': True, '都': True, '郾': True, '郿': True, '鄀': True, '鄂': True, '鄃': True, '鄄': True, '鄅': True, '鄌': True, '鄑': True, '鄗': True, '鄘': True, '鄙': True, '鄚': True, '鄜': True, '鄞': True, '鄠': True, '鄢': True, '鄣': True, '鄫': True, '鄯': True, '鄱': True, '鄹': True, '酂': True, '酃': True, '酅': True, '酆': True, '酉': True, '酊': True, '酋': True, '酌': True, '配': True, '酎': True, '酏': True, '酐': True, '酒': True, '酗': True, '酚': True, '酝': True, '酞': True, '酡': True, '酢': True, '酣': True, '酤': True, '酥': True, '酦': True, '酩': True, '酪': True, '酬': True, '酮': True, '酯': True, '酰': True, '酱': True, '酲': True, '酴': True, '酵': True, '酶': True, '酷': True, '酸': True, '酹': True, '酺': True, '酽': True, '酾': True, '酿': True, '醅': True, '醇': True, '醉': True, '醋': True, '醌': True, '醍': True, '醐': True, '醑': True, '醒': True, '醚': True, '醛': True, '醢': True, '醨': True, '醪': True, '醭': True, '醮': True, '醯': True, '醴': True, '醵': True, '醺': True, '醾': True, '采': True, '釉': True, '释': True, '里': True, '重': True, '野': True, '量': True, '釐': True, '金': True, '釜': True, '鉴': True, '銎': True, '銮': True, '鋆': True, '鋈': True, '錾': True, '鍪': True, '鎏': True, '鏊': True, '鏖': True, '鐾': True, '鑫': True, '钆': True, '钇': True, '针': True, '钉': True, '钊': True, '钋': True, '钌': True, '钍': True, '钎': True, '钏': True, '钐': True, '钒': True, '钓': True, '钔': True, '钕': True, '钖': True, '钗': True, '钘': True, '钙': True, '钚': True, '钛': True, '钜': True, '钝': True, '钞': True, '钟': True, '钠': True, '钡': True, '钢': True, '钣': True, '钤': True, '钥': True, '钦': True, '钧': True, '钨': True, '钩': True, '钪': True, '钫': True, '钬': True, '钭': True, '钮': True, '钯': True, '钰': True, '钱': True, '钲': True, '钳': True, '钴': True, '钵': True, '钷': True, '钹': True, '钺': True, '钻': True, '钼': True, '钽': True, '钾': True, '钿': True, '铀': True, '铁': True, '铂': True, '铃': True, '铄': True, '铅': True, '铆': True, '铈': True, '铉': True, '铊': True, '铋': True, '铌': True, '铍': True, '铎': True, '铏': True, '铐': True, '铑': True, '铒': True, '铕': True, '铖': True, '铗': True, '铘': True, '铙': True, '铚': True, '铛': True, '铜': True, '铝': True, '铞': True, '铟': True, '铠': True, '铡': True, '铢': True, '铣': True, '铤': True, '铥': True, '铧': True, '铨': True, '铩': True, '铪': True, '铫': True, '铬': True, '铭': True, '铮': True, '铯': True, '铰': True, '铱': True, '铲': True, '铳': True, '铴': True, '铵': True, '银': True, '铷': True, '铸': True, '铹': True, '铺': True, '铻': True, '铼': True, '铽': True, '链': True, '铿': True, '销': True, '锁': True, '锂': True, '锃': True, '锄': True, '锅': True, '锆': True, '锇': True, '锈': True, '锉': True, '锊': True, '锋': True, '锌': True, '锍': True, '锎': True, '锏': True, '锐': True, '锑': True, '锒': True, '锓': True, '锔': True, '锕': True, '锖': True, '锗': True, '锘': True, '错': True, '锚': True, '锛': True, '锜': True, '锝': True, '锞': True, '锟': True, '锡': True, '锢': True, '锣': True, '锤': True, '锥': True, '锦': True, '锧': True, '锨': True, '锩': True, '锪': True, '锫': True, '锬': True, '锭': True, '键': True, '锯': True, '锰': True, '锱': True, '锲': True, '锳': True, '锴': True, '锵': True, '锶': True, '锷': True, '锸': True, '锹': True, '锺': True, '锻': True, '锼': True, '锽': True, '锾': True, '锿': True, '镀': True, '镁': True, '镂': True, '镃': True, '镄': True, '镅': True, '镆': True, '镇': True, '镈': True, '镉': True, '镊': True, '镋': True, '镌': True, '镍': True, '镎': True, '镏': True, '镐': True, '镑': True, '镒': True, '镓': True, '镔': True, '镕': True, '镖': True, '镗': True, '镘': True, '镚': True, '镛': True, '镜': True, '镝': True, '镞': True, '镠': True, '镡': True, '镢': True, '镣': True, '镤': True, '镥': True, '镦': True, '镧': True, '镨': True, '镩': True, '镪': True, '镫': True, '镬': True, '镭': True, '镮': True, '镯': True, '镰': True, '镱': True, '镲': True, '镳': True, '镴': True, '镵': True, '镶': True, '长': True, '门': True, '闩': True, '闪': True, '闫': True, '闭': True, '问': True, '闯': True, '闰': True, '闱': True, '闲': True, '闳': True, '间': True, '闵': True, '闶': True, '闷': True, '闸': True, '闹': True, '闺': True, '闻': True, '闼': True, '闽': True, '闾': True, '闿': True, '阀': True, '阁': True, '阂': True, '阃': True, '阄': True, '阅': True, '阆': True, '阇': True, '阈': True, '阉': True, '阊': True, '阋': True, '阌': True, '阍': True, '阎': True, '阏': True, '阐': True, '阑': True, '阒': True, '阔': True, '阕': True, '阖': True, '阗': True, '阘': True, '阙': True, '阚': True, '阜': True, '队': True, '阡': True, '阪': True, '阮': True, '阱': True, '防': True, '阳': True, '阴': True, '阵': True, '阶': True, '阻': True, '阼': True, '阽': True, '阿': True, '陀': True, '陂': True, '附': True, '际': True, '陆': True, '陇': True, '陈': True, '陉': True, '陋': True, '陌': True, '降': True, '陎': True, '限': True, '陑': True, '陔': True, '陕': True, '陛': True, '陞': True, '陟': True, '陡': True, '院': True, '除': True, '陧': True, '陨': True, '险': True, '陪': True, '陬': True, '陲': True, '陴': True, '陵': True, '陶': True, '陷': True, '隃': True, '隅': True, '隆': True, '隈': True, '隋': True, '隍': True, '随': True, '隐': True, '隔': True, '隗': True, '隘': True, '隙': True, '障': True, '隧': True, '隩': True, '隰': True, '隳': True, '隶': True, '隹': True, '隺': True, '隼': True, '隽': True, '难': True, '雀': True, '雁': True, '雄': True, '雅': True, '集': True, '雇': True, '雉': True, '雊': True, '雌': True, '雍': True, '雎': True, '雏': True, '雒': True, '雕': True, '雠': True, '雨': True, '雩': True, '雪': True, '雯': True, '雱': True, '雳': True, '零': True, '雷': True, '雹': True, '雾': True, '需': True, '霁': True, '霄': True, '霅': True, '霆': True, '震': True, '霈': True, '霉': True, '霍': True, '霎': True, '霏': True, '霓': True, '霖': True, '霜': True, '霞': True, '霨': True, '霪': True, '霭': True, '霰': True, '露': True, '霸': True, '霹': True, '霾': True, '青': True, '靓': True, '靖': True, '静': True, '靛': True, '非': True, '靠': True, '靡': True, '面': True, '靥': True, '革': True, '靬': True, '靰': True, '靳': True, '靴': True, '靶': True, '靸': True, '靺': True, '靼': True, '靽': True, '靿': True, '鞁': True, '鞅': True, '鞋': True, '鞍': True, '鞑': True, '鞒': True, '鞔': True, '鞘': True, '鞠': True, '鞡': True, '鞣': True, '鞧': True, '鞨': True, '鞫': True, '鞬': True, '鞭': True, '鞮': True, '鞯': True, '鞲': True, '鞳': True, '鞴': True, '韂': True, '韦': True, '韧': True, '韨': True, '韩': True, '韪': True, '韫': True, '韬': True, '韭': True, '音': True, '韵': True, '韶': True, '页': True, '顶': True, '顷': True, '顸': True, '项': True, '顺': True, '须': True, '顼': True, '顽': True, '顾': True, '顿': True, '颀': True, '颁': True, '颂': True, '颃': True, '预': True, '颅': True, '领': True, '颇': True, '颈': True, '颉': True, '颊': True, '颋': True, '颌': True, '颍': True, '颎': True, '颏': True, '颐': True, '频': True, '颓': True, '颔': True, '颖': True, '颗': True, '题': True, '颙': True, '颚': True, '颛': True, '颜': True, '额': True, '颞': True, '颟': True, '颠': True, '颡': True, '颢': True, '颤': True, '颥': True, '颦': True, '颧': True, '风': True, '飏': True, '飐': True, '飑': True, '飒': True, '飓': True, '飔': True, '飕': True, '飗': True, '飘': True, '飙': True, '飞': True, '食': True, '飧': True, '飨': True, '餍': True, '餐': True, '餮': True, '饔': True, '饕': True, '饥': True, '饧': True, '饨': True, '饩': True, '饪': True, '饫': True, '饬': True, '饭': True, '饮': True, '饯': True, '饰': True, '饱': True, '饲': True, '饳': True, '饴': True, '饵': True, '饶': True, '饷': True, '饸': True, '饹': True, '饺': True, '饻': True, '饼': True, '饽': True, '饿': True, '馁': True, '馃': True, '馄': True, '馅': True, '馆': True, '馇': True, '馈': True, '馉': True, '馊': True, '馋': True, '馌': True, '馍': True, '馏': True, '馐': True, '馑': True, '馒': True, '馓': True, '馔': True, '馕': True, '首': True, '馗': True, '馘': True, '香': True, '馝': True, '馞': True, '馥': True, '馧': True, '馨': True, '马': True, '驭': True, '驮': True, '驯': True, '驰': True, '驱': True, '驲': True, '驳': True, '驴': True, '驵': True, '驶': True, '驷': True, '驸': True, '驹': True, '驺': True, '驻': True, '驼': True, '驽': True, '驾': True, '驿': True, '骀': True, '骁': True, '骂': True, '骃': True, '骄': True, '骅': True, '骆': True, '骇': True, '骈': True, '骉': True, '骊': True, '骋': True, '验': True, '骍': True, '骎': True, '骏': True, '骐': True, '骑': True, '骒': True, '骓': True, '骕': True, '骖': True, '骗': True, '骘': True, '骙': True, '骚': True, '骛': True, '骜': True, '骝': True, '骞': True, '骟': True, '骠': True, '骡': True, '骢': True, '骣': True, '骤': True, '骥': True, '骦': True, '骧': True, '骨': True, '骰': True, '骱': True, '骶': True, '骷': True, '骸': True, '骺': True, '骼': True, '髀': True, '髁': True, '髂': True, '髃': True, '髅': True, '髋': True, '髌': True, '髎': True, '髑': True, '髓': True, '高': True, '髡': True, '髢': True, '髦': True, '髫': True, '髭': True, '髯': True, '髹': True, '髻': True, '髽': True, '鬃': True, '鬈': True, '鬏': True, '鬒': True, '鬓': True, '鬘': True, '鬟': True, '鬣': True, '鬯': True, '鬲': True, '鬶': True, '鬷': True, '鬻': True, '鬼': True, '魁': True, '魂': True, '魃': True, '魄': True, '魅': True, '魆': True, '魇': True, '魈': True, '魉': True, '魋': True, '魍': True, '魏': True, '魑': True, '魔': True, '鱼': True, '鱽': True, '鱾': True, '鱿': True, '鲀': True, '鲁': True, '鲂': True, '鲃': True, '鲅': True, '鲆': True, '鲇': True, '鲈': True, '鲉': True, '鲊': True, '鲋': True, '鲌': True, '鲍': True, '鲎': True, '鲏': True, '鲐': True, '鲑': True, '鲒': True, '鲔': True, '鲕': True, '鲖': True, '鲗': True, '鲘': True, '鲙': True, '鲚': True, '鲛': True, '鲜': True, '鲝': True, '鲞': True, '鲟': True, '鲠': True, '鲡': True, '鲢': True, '鲣': True, '鲤': True, '鲥': True, '鲦': True, '鲧': True, '鲨': True, '鲩': True, '鲪': True, '鲫': True, '鲬': True, '鲭': True, '鲮': True, '鲯': True, '鲰': True, '鲱': True, '鲲': True, '鲳': True, '鲴': True, '鲵': True, '鲷': True, '鲸': True, '鲹': True, '鲺': True, '鲻': True, '鲼': True, '鲽': True, '鲾': True, '鲿': True, '鳀': True, '鳁': True, '鳂': True, '鳃': True, '鳄': True, '鳅': True, '鳇': True, '鳈': True, '鳉': True, '鳊': True, '鳌': True, '鳍': True, '鳎': True, '鳏': True, '鳐': True, '鳑': True, '鳒': True, '鳓': True, '鳔': True, '鳕': True, '鳖': True, '鳗': True, '鳘': True, '鳙': True, '鳚': True, '鳛': True, '鳜': True, '鳝': True, '鳞': True, '鳟': True, '鳠': True, '鳡': True, '鳢': True, '鳣': True, '鳤': True, '鸟': True, '鸠': True, '鸡': True, '鸢': True, '鸣': True, '鸤': True, '鸥': True, '鸦': True, '鸧': True, '鸨': True, '鸩': True, '鸪': True, '鸫': True, '鸬': True, '鸭': True, '鸮': True, '鸯': True, '鸰': True, '鸱': True, '鸲': True, '鸳': True, '鸵': True, '鸶': True, '鸷': True, '鸸': True, '鸹': True, '鸺': True, '鸻': True, '鸼': True, '鸽': True, '鸾': True, '鸿': True, '鹀': True, '鹁': True, '鹂': True, '鹃': True, '鹄': True, '鹅': True, '鹆': True, '鹇': True, '鹈': True, '鹉': True, '鹊': True, '鹋': True, '鹌': True, '鹍': True, '鹎': True, '鹏': True, '鹐': True, '鹑': True, '鹒': True, '鹔': True, '鹕': True, '鹖': True, '鹗': True, '鹘': True, '鹙': True, '鹚': True, '鹛': True, '鹜': True, '鹝': True, '鹞': True, '鹟': True, '鹠': True, '鹡': True, '鹢': True, '鹣': True, '鹤': True, '鹦': True, '鹧': True, '鹨': True, '鹩': True, '鹪': True, '鹫': True, '鹬': True, '鹭': True, '鹮': True, '鹯': True, '鹰': True, '鹱': True, '鹲': True, '鹳': True, '鹴': True, '鹾': True, '鹿': True, '麀': True, '麂': True, '麇': True, '麈': True, '麋': True, '麑': True, '麒': True, '麓': True, '麖': True, '麝': True, '麟': True, '麦': True, '麸': True, '麹': True, '麻': True, '麽': True, '麾': True, '黄': True, '黇': True, '黉': True, '黍': True, '黎': True, '黏': True, '黑': True, '黔': True, '默': True, '黛': True, '黜': True, '黝': True, '黟': True, '黠': True, '黡': True, '黢': True, '黥': True, '黧': True, '黩': True, '黪': True, '黯': True, '黹': True, '黻': True, '黼': True, '黾': True, '鼋': True, '鼍': True, '鼎': True, '鼐': True, '鼒': True, '鼓': True, '鼗': True, '鼙': True, '鼠': True, '鼢': True, '鼩': True, '鼫': True, '鼬': True, '鼯': True, '鼱': True, '鼷': True, '鼹': True, '鼻': True, '鼽': True, '鼾': True, '齁': True, '齇': True, '齉': True, '齐': True, '齑': True, '齿': True, '龀': True, '龁': True, '龂': True, '龃': True, '龄': True, '龅': True, '龆': True, '龇': True, '龈': True, '龉': True, '龊': True, '龋': True, '龌': True, '龙': True, '龚': True, '龛': True, '龟': True, '龠': True, '龢': True, '鿍': True, '鿎': True, '鿏': True, '㑇': True, '㑊': True, '㕮': True, '㘎': True, '㙍': True, '㙘': True, '㙦': True, '㛃': True, '㛚': True, '㛹': True, '㟃': True, '㠇': True, '㠓': True, '㤘': True, '㥄': True, '㧐': True, '㧑': True, '㧟': True, '㫰': True, '㬊': True, '㬎': True, '㬚': True, '㭎': True, '㭕': True, '㮾': True, '㰀': True, '㳇': True, '㳘': True, '㳚': True, '㴔': True, '㵐': True, '㶲': True, '㸆': True, '㸌': True, '㺄': True, '㻬': True, '㽏': True, '㿠': True, '䁖': True, '䂮': True, '䃅': True, '䃎': True, '䅟': True, '䌹': True, '䎃': True, '䎖': True, '䏝': True, '䏡': True, '䏲': True, '䐃': True, '䓖': True, '䓛': True, '䓨': True, '䓫': True, '䓬': True, '䗖': True, '䗛': True, '䗪': True, '䗴': True, '䜣': True, '䝙': True, '䢺': True, '䢼': True, '䣘': True, '䥽': True, '䦃': True, '䲟': True, '䲠': True, '䲢': True, '䴓': True, '䴔': True, '䴕': True, '䴖': True, '䴗': True, '䴘': True, '䴙': True, '䶮': True, '𠅤': True, '𠙶': True, '𠳐': True, '𡎚': True, '𡐓': True, '𣗋': True, '𣲗': True, '𣲘': True, '𣸣': True, '𤧛': True, '𤩽': True, '𤫉': True, '𥔲': True, '𥕢': True, '𥖨': True, '𥻗': True, '𦈡': True, '𦒍': True, '𦙶': True, '𦝼': True, '𦭜': True, '𦰡': True, '𧿹': True, '𨐈': True, '𨙸': True, '𨚕': True, '𨟠': True, '𨭉': True, '𨱇': True, '𨱏': True, '𨱑': True, '𨱔': True, '𨺙': True, '𩽾': True, '𩾃': True, '𩾌': True, '𪟝': True, '𪣻': True, '𪤗': True, '𪨰': True, '𪨶': True, '𪩘': True, '𪾢': True, '𫄧': True, '𫄨': True, '𫄷': True, '𫄸': True, '𫇭': True, '𫌀': True, '𫍣': True, '𫍯': True, '𫍲': True, '𫍽': True, '𫐄': True, '𫐐': True, '𫐓': True, '𫑡': True, '𫓧': True, '𫓯': True, '𫓶': True, '𫓹': True, '𫔍': True, '𫔎': True, '𫔶': True, '𫖮': True, '𫖯': True, '𫖳': True, '𫗧': True, '𫗴': True, '𫘜': True, '𫘝': True, '𫘦': True, '𫘧': True, '𫘨': True, '𫘪': True, '𫘬': True, '𫚕': True, '𫚖': True, '𫚭': True, '𫛭': True, '𫞩': True, '𫟅': True, '𫟦': True, '𫟹': True, '𫟼': True, '𫠆': True, '𫠊': True, '𫠜': True, '𫢸': True, '𫫇': True, '𫭟': True, '𫭢': True, '𫭼': True, '𫮃': True, '𫰛': True, '𫵷': True, '𫶇': True, '𫷷': True, '𫸩': True, '𬀩': True, '𬀪': True, '𬂩': True, '𬃊': True, '𬇕': True, '𬇙': True, '𬇹': True, '𬉼': True, '𬊈': True, '𬊤': True, '𬌗': True, '𬍛': True, '𬍡': True, '𬍤': True, '𬒈': True, '𬒔': True, '𬒗': True, '𬕂': True, '𬘓': True, '𬘘': True, '𬘡': True, '𬘩': True, '𬘫': True, '𬘬': True, '𬘭': True, '𬘯': True, '𬙂': True, '𬙊': True, '𬙋': True, '𬜬': True, '𬜯': True, '𬞟': True, '𬟁': True, '𬟽': True, '𬣙': True, '𬣞': True, '𬣡': True, '𬣳': True, '𬤇': True, '𬤊': True, '𬤝': True, '𬨂': True, '𬨎': True, '𬩽': True, '𬪩': True, '𬬩': True, '𬬭': True, '𬬮': True, '𬬱': True, '𬬸': True, '𬬹': True, '𬬻': True, '𬬿': True, '𬭁': True, '𬭊': True, '𬭎': True, '𬭚': True, '𬭛': True, '𬭤': True, '𬭩': True, '𬭬': True, '𬭯': True, '𬭳': True, '𬭶': True, '𬭸': True, '𬭼': True, '𬮱': True, '𬮿': True, '𬯀': True, '𬯎': True, '𬱖': True, '𬱟': True, '𬳵': True, '𬳶': True, '𬳽': True, '𬳿': True, '𬴂': True, '𬴃': True, '𬴊': True, '𬶋': True, '𬶍': True, '𬶏': True, '𬶐': True, '𬶟': True, '𬶠': True, '𬶨': True, '𬶭': True, '𬶮': True, '𬷕': True, '𬸘': True, '𬸚': True, '𬸣': True, '𬸦': True, '𬸪': True, '𬹼': True, '𬺈': True, '𬺓': True, '吶': True, '诶': True, '屌': True, '囧': True, '飚': True, '屄': True}
EN_CHARS = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'
IN_EN_CHARS = {'a': True, 'b': True, 'c': True, 'd': True, 'e': True, 'f': True, 'g': True, 'h': True, 'i': True, 'j': True, 'k': True, 'l': True, 'm': True, 'n': True, 'o': True, 'p': True, 'q': True, 'r': True, 's': True, 't': True, 'u': True, 'v': True, 'w': True, 'x': True, 'y': True, 'z': True, 'A': True, 'B': True, 'C': True, 'D': True, 'E': True, 'F': True, 'G': True, 'H': True, 'I': True, 'J': True, 'K': True, 'L': True, 'M': True, 'N': True, 'O': True, 'P': True, 'Q': True, 'R': True, 'S': True, 'T': True, 'U': True, 'V': True, 'W': True, 'X': True, 'Y': True, 'Z': True, '0': True, '1': True, '2': True, '3': True, '4': True, '5': True, '6': True, '7': True, '8': True, '9': True}
VALID_CHARS = '一丁七万丈三上下不与丏丐丑专且丕世丘丙业丛东丝丞丢两严丧个丫中丰串临丸丹为主丽举乂乃久么义之乌乍乎乏乐乒乓乔乖乘乙乜九乞也习乡书乩买乱乳乸乾了予争事二亍于亏云互亓五井亘亚些亟亡亢交亥亦产亨亩享京亭亮亲亳亵亶亸亹人亿什仁仂仃仄仅仆仇仉今介仍从仑仓仔仕他仗付仙仝仞仟仡代令以仨仪仫们仰仲仳仵件价任份仿企伈伉伊伋伍伎伏伐休众优伙会伛伞伟传伢伣伤伥伦伧伪伫伭伯估伲伴伶伸伺似伽伾佁佃但位低住佐佑体何佖佗佘余佚佛作佝佞佟你佣佤佥佩佬佯佰佳佴佶佸佺佻佼佽佾使侁侂侃侄侈侉例侍侏侑侔侗侘供依侠侣侥侦侧侨侩侪侬侮侯侴侵侹便促俄俅俊俍俎俏俐俑俗俘俙俚俜保俞俟信俣俦俨俩俪俫俭修俯俱俳俵俶俸俺俾倌倍倏倒倓倔倕倘候倚倜倞借倡倥倦倧倨倩倪倬倭倮倴债倻值倾偁偃假偈偌偎偏偓偕做停偡健偬偭偰偲偶偷偻偾偿傀傃傅傈傉傍傒傕傣傥傧储傩催傲傺傻僇僎像僔僖僚僦僧僬僭僮僰僳僵僻儆儇儋儒儡儦儳儴儿兀允元兄充兆先光克免兑兔兕兖党兜兢入全八公六兮兰共关兴兵其具典兹养兼兽冀冁内冈冉册再冏冒冔冕冗写军农冠冢冤冥冬冮冯冰冱冲决况冶冷冻冼冽净凄准凇凉凋凌减凑凓凘凛凝几凡凤凫凭凯凰凳凶凸凹出击凼函凿刀刁刃分切刈刊刍刎刑划刖列刘则刚创初删判刨利别刬刭刮到刳制刷券刹刺刻刽刿剀剁剂剃剅削剋剌前剐剑剔剕剖剜剞剟剡剥剧剩剪副割剽剿劁劂劄劈劐劓力劝办功加务劢劣动助努劫劬劭励劲劳劼劾势勃勇勉勋勍勐勒勔勖勘勚募勠勤勰勺勾勿匀包匆匈匍匏匐匕化北匙匜匝匠匡匣匦匪匮匹区医匼匾匿十千卅升午卉半华协卑卒卓单卖南博卜卞卟占卡卢卣卤卦卧卫卬卮卯印危即却卵卷卸卺卿厂厄厅历厉压厌厍厕厖厘厚厝原厢厣厥厦厨厩厮去厾县叁参叆叇又叉及友双反发叔叕取受变叙叚叛叟叠口古句另叨叩只叫召叭叮可台叱史右叵叶号司叹叻叼叽吁吃各吆合吉吊同名后吏吐向吒吓吕吖吗君吝吞吟吠吡吣否吧吨吩含听吭吮启吱吲吴吵吸吹吻吼吽吾呀呃呆呇呈告呋呐呒呓呔呕呖呗员呙呛呜呢呣呤呦周呱呲味呵呶呷呸呻呼命咀咂咄咆咇咉咋和咍咎咏咐咒咔咕咖咙咚咛咝咡咣咤咥咦咧咨咩咪咫咬咯咱咳咴咸咺咻咽咿哀品哂哃哄哆哇哈哉哌响哎哏哐哑哒哓哔哕哗哙哚哝哞哟哢哥哦哧哨哩哪哭哮哱哲哳哺哼哽哿唁唆唇唉唏唐唑唔唛唝唠唢唣唤唧唪唬售唯唰唱唳唵唷唼唾唿啁啃啄商啉啊啐啕啖啜啡啤啥啦啧啪啫啬啭啮啰啴啵啶啷啸啻啼啾喀喁喂喃善喆喇喈喉喊喋喏喑喔喘喙喜喝喟喤喧喱喳喵喷喹喻喽喾嗄嗅嗉嗌嗍嗐嗑嗒嗓嗔嗖嗜嗝嗞嗟嗡嗣嗤嗥嗦嗨嗪嗫嗬嗯嗲嗳嗵嗷嗽嗾嘀嘁嘈嘉嘌嘎嘏嘘嘚嘛嘞嘟嘡嘣嘤嘧嘬嘭嘱嘲嘴嘶嘹嘻嘿噀噂噇噌噍噎噔噗噘噙噜噢噤器噩噪噫噬噱噶噻噼嚄嚅嚆嚎嚏嚓嚚嚣嚭嚯嚷嚼囊囔囚四回囟因囡团囤囫园困囱围囵囷囹固国图囿圃圄圆圈圉圊圌圐圙圜土圢圣在圩圪圫圬圭圮圯地圲圳圹场圻圾址坂均坉坊坋坌坍坎坏坐坑坒块坚坛坜坝坞坟坠坡坤坥坦坨坩坪坫坬坭坯坰坳坷坻坼坽垂垃垄垆垈型垌垍垎垏垒垓垕垙垚垛垞垟垠垡垢垣垤垦垧垩垫垭垮垯垱垲垴垵垸垺垾垿埂埃埆埇埋埌城埏埒埔埕埗埘埙埚埝域埠埤埪埫埭埯埴埵埸培基埼埽堂堃堆堇堉堋堌堍堎堐堑堕堙堞堠堡堤堧堨堪堰堲堵堼堽堾塄塅塆塌塍塑塔塘塝塞塥填塬塱塾墀墁境墅墈墉墐墒墓墕墘墙墚增墟墡墣墦墨墩墼壁壅壑壕壤士壬壮声壳壶壸壹处备复夏夐夔夕外夙多夜够夤夥大天太夫夬夭央夯失头夷夸夹夺夼奁奂奄奇奈奉奋奎奏契奓奔奕奖套奘奚奠奡奢奥奭女奴奶奸她好妁如妃妄妆妇妈妊妍妒妓妖妗妘妙妞妣妤妥妧妨妩妪妫妭妮妯妲妹妻妾姆姈姊始姐姑姒姓委姗姘姚姜姝姞姣姤姥姨姬姮姱姶姹姻姽姿娀威娃娄娅娆娇娈娉娌娑娓娘娜娟娠娣娥娩娱娲娴娵娶娼婀婆婉婊婌婍婕婘婚婞婠婢婤婧婪婫婳婴婵婶婷婺婻婼婿媂媄媆媒媓媖媚媛媞媪媭媱媲媳媵媸媾嫁嫂嫄嫉嫌嫒嫔嫕嫖嫘嫚嫜嫠嫡嫣嫦嫩嫪嫫嫭嫱嫽嬉嬖嬗嬛嬥嬬嬴嬷嬿孀孅子孑孓孔孕孖字存孙孚孛孜孝孟孢季孤孥学孩孪孬孰孱孳孵孺孽宁它宄宅宇守安宋完宏宓宕宗官宙定宛宜宝实宠审客宣室宥宦宧宪宫宬宰害宴宵家宸容宽宾宿寁寂寄寅密寇富寐寒寓寝寞察寡寤寥寨寮寰寸对寺寻导寿封射将尉尊小少尔尕尖尘尚尜尝尢尤尥尧尨尪尬就尴尸尹尺尻尼尽尾尿局屁层屃居屈屉届屋屎屏屐屑展屙属屠屡屣履屦屯山屹屺屼屾屿岁岂岈岊岌岍岐岑岔岖岗岘岙岚岛岜岞岠岢岣岨岩岫岬岭岱岳岵岷岸岽岿峁峂峃峄峋峒峗峘峙峛峡峣峤峥峦峧峨峪峭峰峱峻峿崀崁崂崃崄崆崇崌崎崒崔崖崚崛崞崟崡崤崦崧崩崭崮崴崶崽崾崿嵁嵅嵇嵊嵋嵌嵎嵖嵘嵚嵛嵝嵩嵫嵬嵯嵲嵴嶂嶅嶍嶒嶓嶙嶝嶟嶦嶲嶷巅巇巉巍川州巡巢工左巧巨巩巫差巯己已巳巴巷巽巾币市布帅帆师希帏帐帑帔帕帖帘帙帚帛帜帝帡带帧帨席帮帱帷常帻帼帽幂幄幅幌幔幕幖幛幞幡幢幪干平年并幸幺幻幼幽广庄庆庇床庋序庐庑库应底庖店庙庚府庞废庠庤庥度座庭庱庳庵庶康庸庹庼庾廆廉廊廋廑廒廓廖廙廛廨廪延廷建廿开弁异弃弄弆弇弈弊弋式弑弓引弗弘弛弟张弢弥弦弧弨弩弭弯弱弶弸弹强弼彀归当录彖彗彘彝彟形彤彦彧彩彪彬彭彰影彳彷役彻彼往征徂径待徇很徉徊律徐徒徕得徘徙徛徜御徨循徭微徵德徼徽心必忆忉忌忍忏忐忑忒忖志忘忙忝忞忠忡忤忧忪快忭忮忱忳念忸忺忻忽忾忿怀态怂怃怄怅怆怊怍怎怏怒怔怕怖怙怛怜思怠怡急怦性怨怩怪怫怯怵总怼怿恁恂恃恋恍恐恒恓恔恕恙恚恝恢恣恤恧恨恩恪恫恬恭息恰恳恶恸恹恺恻恼恽恿悃悄悆悈悉悌悍悒悔悖悚悛悝悟悠悢患悦您悫悬悭悯悰悱悲悴悸悻悼情惆惇惊惋惎惑惔惕惘惙惚惛惜惝惟惠惦惧惨惩惫惬惭惮惯惰想惴惶惹惺愀愁愃愆愈愉愍愎意愐愔愕愚感愠愣愤愦愧愫愭愿慆慈慊慌慎慑慕慝慢慥慧慨慬慭慰慵慷憋憎憔憕憙憧憨憩憬憭憷憺憾懂懈懊懋懑懒懔懦懵懿戆戈戊戋戌戍戎戏成我戒戕或戗战戚戛戟戡戢戣戤戥截戬戭戮戳戴户戽戾房所扁扂扃扅扆扇扈扉扊手才扎扑扒打扔托扛扞扣扦执扩扪扫扬扭扮扯扰扳扶批扺扼扽找承技抃抄抉把抑抒抓抔投抖抗折抚抛抟抠抡抢护报抨披抬抱抵抹抻押抽抿拂拃拄担拆拇拈拉拊拌拍拎拐拒拓拔拖拗拘拙招拜拟拢拣拤拥拦拧拨择括拭拮拯拱拳拴拶拷拼拽拾拿持挂指挈按挎挑挓挖挚挛挝挞挟挠挡挣挤挥挦挨挪挫振挲挹挺挽捂捃捅捆捉捋捌捍捎捏捐捕捞损捡换捣捧捩捭据捯捶捷捺捻捽掀掂掇授掉掊掌掎掏掐排掖掘掞掠探掣接控推掩措掬掭掮掰掳掴掷掸掺掼掾揄揆揉揍描提插揕揖揠握揣揩揪揭揳援揶揸揽揿搀搁搂搅搋搌搏搐搒搓搔搛搜搞搠搡搦搪搬搭搴携搽摁摄摅摆摇摈摊摏摒摔摘摛摞摧摩摭摴摸摹摽撂撄撅撇撑撒撕撖撙撞撤撩撬播撮撰撵撷撸撺撼擀擂擅操擎擐擒擘擞擢擤擦擿攀攉攒攘攥攫攮支收攸改攻攽放政故效敉敌敏救敔敕敖教敛敝敞敢散敦敩敫敬数敲整敷文斋斌斐斑斓斗料斛斜斝斟斠斡斤斥斧斩斫断斯新斶方於施旁旃旄旅旆旋旌旎族旐旒旖旗旞无既日旦旧旨早旬旭旮旯旰旱旴旵时旷旸旺旻旿昀昂昃昄昆昇昈昉昊昌明昏昒易昔昕昙昝星映昡昣昤春昧昨昪昫昭是昱昳昴昵昶昺昼昽显晁晃晅晊晋晌晏晐晒晓晔晕晖晗晙晚晞晟晡晢晤晦晨晪晫普景晰晱晴晶晷智晾暂暄暅暇暌暑暕暖暗暝暧暨暮暲暴暵暶暹暾暿曈曌曙曛曜曝曦曩曰曲曳更曷曹曼曾替最月有朋服朏朐朓朔朕朗望朝期朦木未末本札术朱朳朴朵朸机朽杀杂权杄杆杈杉杌李杏材村杓杕杖杙杜杞束杠条来杧杨杩杪杭杯杰杲杳杵杷杻杼松板极构枅枇枉枋枍析枕林枘枚果枝枞枢枣枥枧枨枪枫枭枯枰枲枳枵架枷枸枹柁柃柄柈柊柏某柑柒染柔柖柘柙柚柜柝柞柠柢查柩柬柯柰柱柳柴柷柽柿栀栅标栈栉栊栋栌栎栏栐树栒栓栖栗栝栟校栩株栲栳栴样核根栻格栽栾桀桁桂桃桄桅框案桉桊桌桎桐桑桓桔桕桠桡桢档桤桥桦桧桨桩桫桯桲桴桶桷桹梁梃梅梆梌梏梓梗梠梢梣梦梧梨梭梯械梳梴梵梼梽梾梿检棁棂棉棋棍棐棒棓棕棘棚棠棣棤棨棪棫棬森棰棱棵棹棺棻棼棽椀椁椅椆椋植椎椐椑椒椓椟椠椤椪椭椰椴椸椹椽椿楂楒楔楗楙楚楝楞楠楣楦楩楪楫楮楯楷楸楹楼概榃榄榅榆榇榈榉榍榑榔榕榖榛榜榧榨榫榭榰榱榴榷榻槁槃槊槌槎槐槔槚槛槜槟槠槭槱槲槽槿樊樗樘樟模樨横樯樱樵樽樾橄橇橐橑橘橙橛橞橡橥橦橱橹橼檀檄檎檐檑檗檞檠檩檫檬櫆欂欠次欢欣欤欧欲欸欹欺欻款歃歅歆歇歉歌歙止正此步武歧歪歹死歼殁殂殃殄殆殇殉殊残殍殒殓殖殚殛殡殣殪殳殴段殷殿毁毂毅毋毌母每毐毒毓比毕毖毗毙毛毡毪毫毯毳毵毹毽氅氆氇氍氏氐民氓气氕氖氘氙氚氛氟氡氢氤氦氧氨氩氪氮氯氰氲水永氾氿汀汁求汆汇汈汉汊汋汐汔汕汗汛汜汝汞江池污汤汧汨汩汪汫汭汰汲汴汶汹汽汾沁沂沃沄沅沆沇沈沉沌沏沐沓沔沘沙沚沛沟没沣沤沥沦沧沨沩沪沫沭沮沱河沸油沺治沼沽沾沿泂泃泄泅泇泉泊泌泐泓泔法泖泗泙泚泛泜泞泠泡波泣泥注泪泫泮泯泰泱泳泵泷泸泺泻泼泽泾洁洄洇洈洋洌洎洑洒洓洗洘洙洚洛洞洢洣津洧洨洪洫洭洮洱洲洳洴洵洸洹洺活洼洽派洿流浃浅浆浇浈浉浊测浍济浏浐浑浒浓浔浕浙浚浛浜浞浟浠浡浣浥浦浩浪浬浭浮浯浰浲浴海浸浼涂涄涅消涉涌涍涎涐涑涓涔涕涘涛涝涞涟涠涡涢涣涤润涧涨涩涪涫涮涯液涴涵涸涿淀淄淅淆淇淋淌淏淑淖淘淙淜淝淞淟淠淡淤淦淫淬淮淯深淳淴混淹添淼清渊渌渍渎渐渑渔渗渚渝渟渠渡渣渤渥温渫渭港渰渲渴游渺渼湃湄湉湍湎湑湓湔湖湘湛湜湝湟湣湫湮湲湴湾湿溁溃溅溆溇溉溍溏源溘溚溜溞溟溠溢溥溦溧溪溯溱溲溴溵溶溷溹溺溻溽滁滂滃滆滇滉滋滍滏滑滓滔滕滗滘滚滞滟滠满滢滤滥滦滧滨滩滪滫滴滹漂漆漈漉漋漏漓演漕漖漠漤漦漩漪漫漭漯漱漳漴漶漷漹漻漼漾潆潇潋潍潏潖潘潜潞潟潢潦潩潭潮潲潴潵潸潺潼潽潾澂澄澈澉澌澍澎澛澜澡澥澧澪澭澳澴澶澹澼澽激濂濉濋濑濒濞濠濡濩濮濯瀌瀍瀑瀔瀚瀛瀣瀱瀵瀹瀼灈灌灏灞火灭灯灰灵灶灸灼灾灿炀炅炆炉炊炌炎炒炔炕炖炘炙炜炝炟炣炫炬炭炮炯炱炳炷炸点炻炼炽烀烁烂烃烈烊烔烘烙烛烜烝烟烠烤烦烧烨烩烫烬热烯烶烷烹烺烻烽焆焉焊焌焐焓焕焖焗焘焙焚焜焞焦焯焰焱然煁煃煅煊煋煌煎煓煜煞煟煤煦照煨煮煲煳煴煸煺煽熄熇熊熏熔熘熙熛熜熟熠熥熨熬熵熹熻燃燊燋燎燏燔燕燚燠燥燧燮燹爆爇爔爚爝爟爨爪爬爰爱爵父爷爸爹爻爽爿牁牂片版牌牍牒牖牙牚牛牝牟牡牢牤牥牦牧物牮牯牲牵特牺牻牾牿犀犁犄犇犊犋犍犏犒犟犨犬犯犰犴状犷犸犹狁狂狃狄狈狉狍狎狐狒狗狙狝狞狠狡狨狩独狭狮狯狰狱狲狳狴狷狸狺狻狼猁猃猄猇猊猎猕猖猗猛猜猝猞猡猢猥猩猪猫猬献猯猰猱猴猷猹猺猾猿獍獐獒獗獠獬獭獯獴獾玃玄率玉王玎玑玒玓玕玖玘玙玚玛玞玟玠玡玢玤玥玦玩玫玭玮环现玱玲玳玶玷玹玺玻玼玿珀珂珅珇珈珉珊珋珌珍珏珐珑珒珕珖珙珛珝珞珠珢珣珥珦珧珩珪珫班珰珲珵珷珸珹珺珽琀球琄琅理琇琈琉琊琎琏琐琔琚琛琟琡琢琤琥琦琨琪琫琬琭琮琯琰琲琳琴琵琶琼瑀瑁瑂瑃瑄瑅瑆瑑瑓瑔瑕瑖瑗瑙瑚瑛瑜瑝瑞瑟瑢瑧瑨瑬瑭瑰瑱瑳瑶瑷瑾璀璁璃璆璇璈璋璎璐璒璘璜璞璟璠璥璧璨璩璪璬璮璱璲璺瓀瓒瓖瓘瓜瓞瓠瓢瓣瓤瓦瓮瓯瓴瓶瓷瓻瓿甄甍甏甑甓甗甘甚甜生甡甥甦用甩甪甫甬甭甯田由甲申电男甸町画甾畀畅畈畋界畎畏畔畖留畚畛畜畤略畦番畬畯畲畴畸畹畿疁疃疆疍疏疐疑疔疖疗疙疚疝疟疠疡疢疣疤疥疫疬疭疮疯疰疱疲疳疴疵疸疹疼疽疾痂痃痄病症痈痉痊痍痒痓痔痕痘痛痞痢痣痤痦痧痨痪痫痰痱痴痹痼痿瘀瘁瘃瘅瘆瘊瘌瘐瘕瘗瘘瘙瘛瘟瘠瘢瘤瘥瘦瘩瘪瘫瘭瘰瘳瘴瘵瘸瘼瘾瘿癀癃癌癍癔癖癗癜癞癣癫癯癸登白百癿皂的皆皇皈皋皎皑皓皕皖皙皛皞皤皦皭皮皱皲皴皿盂盅盆盈盉益盍盎盏盐监盒盔盖盗盘盛盟盥盦目盯盱盲直盷相盹盼盾省眄眇眈眉眊看眍眙眚真眠眢眦眨眩眬眭眯眵眶眷眸眺眼着睁睃睄睇睎睐睑睚睛睡睢督睥睦睨睫睬睹睽睾睿瞀瞄瞅瞋瞌瞍瞎瞑瞒瞟瞠瞢瞥瞧瞩瞪瞫瞬瞭瞰瞳瞵瞻瞽瞿矍矗矛矜矞矢矣知矧矩矫矬短矮矰石矶矸矻矼矾矿砀码砂砄砆砉砌砍砑砒研砖砗砘砚砜砝砟砠砣砥砧砫砬砭砮砰破砵砷砸砹砺砻砼砾础硁硅硇硊硌硍硎硐硒硔硕硖硗硙硚硝硪硫硬硭确硼硿碃碇碈碉碌碍碎碏碑碓碗碘碚碛碜碟碡碣碥碧碨碰碱碲碳碴碶碹碾磁磅磉磊磋磏磐磔磕磙磜磡磨磬磲磴磷磹磻礁礅礌礓礞礴礵示礼社祀祁祃祆祇祈祉祊祋祎祏祐祓祕祖祗祚祛祜祝神祟祠祢祥祧票祭祯祲祷祸祺祼祾禀禁禄禅禊禋福禒禔禘禚禛禤禧禳禹禺离禽禾秀私秃秆秉秋种科秒秕秘租秣秤秦秧秩秫秬秭积称秸移秽秾稀稂稃稆程稌稍税稑稔稗稙稚稞稠稣稳稷稹稻稼稽稿穄穆穑穗穙穜穟穰穴究穷穸穹空穿窀突窃窄窅窈窊窍窎窑窒窕窖窗窘窜窝窟窠窣窥窦窨窬窭窳窸窿立竑竖竘站竞竟章竣童竦竫竭端竹竺竽竿笃笄笆笈笊笋笏笑笔笕笙笛笞笠笤笥符笨笪笫第笮笯笱笳笸笺笼笾筀筅筇等筋筌筏筐筑筒答策筘筚筛筜筝筠筢筤筥筦筮筱筲筵筶筷筹筻筼签简箅箍箐箓箔箕箖算箜管箢箦箧箨箩箪箫箬箭箱箴箸篁篆篇篌篑篓篙篚篝篡篥篦篪篮篯篱篷篼篾簃簇簉簋簌簏簕簖簝簟簠簧簪簰簸簿籀籁籍籥米籴类籼籽粉粑粒粕粗粘粜粝粞粟粢粤粥粪粮粱粲粳粹粼粽精粿糁糅糇糈糊糌糍糒糕糖糗糙糜糟糠糨糯糵系紊素索紧紫累絜絮絷綦綮縠縢縻繁繄繇纂纛纠纡红纣纤纥约级纨纩纪纫纬纭纮纯纰纱纲纳纴纵纶纷纸纹纺纻纼纽纾线绀绁绂练组绅细织终绉绊绋绌绍绎经绐绑绒结绔绕绖绗绘给绚绛络绝绞统绠绡绢绣绤绥绦继绨绩绪绫续绮绯绰绱绲绳维绵绶绷绸绹绺绻综绽绾绿缀缁缂缃缄缅缆缇缈缉缊缌缎缐缑缒缓缔缕编缗缘缙缚缛缜缝缞缟缠缡缢缣缤缥缦缧缨缩缪缫缬缭缮缯缰缱缲缳缴缵缶缸缺罂罄罅罍罐网罔罕罗罘罚罟罡罢罨罩罪置罱署罴罶罹罽罾羁羊羌美羑羓羔羕羖羚羝羞羟羡群羧羯羰羱羲羸羹羼羽羿翀翁翂翃翅翈翊翌翎翔翕翘翙翚翛翟翠翡翥翦翩翮翯翰翱翳翷翻翼翾耀老考耄者耆耇耋而耍耏耐耑耒耔耕耖耗耘耙耜耠耢耤耥耦耧耨耩耪耰耱耳耵耶耷耸耻耽耿聂聃聆聊聋职聍聒联聘聚聩聪聱聿肃肄肆肇肉肋肌肓肖肘肚肛肝肟肠股肢肤肥肩肪肫肭肮肯肱育肴肷肸肺肼肽肾肿胀胁胂胃胄胆胈背胍胎胖胗胙胚胛胜胝胞胠胡胣胤胥胧胨胩胪胫胬胭胯胰胱胲胳胴胶胸胺胼能脂脆脉脊脍脎脏脐脑脒脓脔脖脘脚脞脟脩脬脯脱脲脶脸脾脿腆腈腊腋腌腐腑腒腓腔腕腘腙腚腠腥腧腨腩腭腮腯腰腱腴腹腺腻腼腽腾腿膀膂膈膊膏膑膘膙膛膜膝膦膨膳膺膻臀臂臃臆臊臌臑臜臣臧自臬臭至致臻臼臾舀舁舂舄舅舆舌舍舐舒舔舛舜舞舟舠舢舣舥航舫般舭舯舰舱舲舳舴舵舶舷舸船舻舾艄艅艇艉艋艎艏艘艚艟艨艮良艰色艳艴艺艽艾艿节芃芄芈芊芋芍芎芏芑芒芗芘芙芜芝芟芠芡芣芤芥芦芨芩芪芫芬芭芮芯芰花芳芴芷芸芹芼芽芾苁苄苇苈苉苊苋苌苍苎苏苑苒苓苔苕苗苘苛苜苞苟苠苡苣苤若苦苧苫苯英苴苷苹苻苾茀茁茂范茄茅茆茈茉茋茌茎茏茑茓茔茕茗茚茛茜茝茧茨茫茬茭茯茱茳茴茵茶茸茹茺茼茽荀荁荃荄荆荇草荏荐荑荒荓荔荖荙荚荛荜荞荟荠荡荣荤荥荦荧荨荩荪荫荬荭荮药荷荸荻荼荽莅莆莉莎莒莓莘莙莛莜莝莞莠莨莩莪莫莰莱莲莳莴莶获莸莹莺莼莽莿菀菁菂菅菇菉菊菌菍菏菔菖菘菜菝菟菠菡菥菩菪菰菱菲菹菼菽萁萃萄萆萋萌萍萎萏萑萘萚萜萝萣萤营萦萧萨萩萱萳萸萹萼落葆葎葑葖著葙葚葛葜葡董葩葫葬葭葰葱葳葴葵葶葸葺蒂蒄蒇蒈蒉蒋蒌蒎蒐蒗蒙蒜蒟蒡蒨蒯蒱蒲蒴蒸蒹蒺蒻蒽蒿蓁蓂蓄蓇蓉蓊蓍蓏蓐蓑蓓蓖蓝蓟蓠蓢蓣蓥蓦蓬蓰蓼蓿蔀蔃蔈蔊蔌蔑蔓蔗蔚蔟蔡蔫蔬蔷蔸蔹蔺蔻蔼蔽蕃蕈蕉蕊蕖蕗蕙蕞蕤蕨蕰蕲蕴蕹蕺蕻蕾薁薄薅薇薏薛薜薢薤薨薪薮薯薰薳薷薸薹薿藁藉藏藐藓藕藜藟藠藤藦藨藩藻藿蘅蘑蘖蘘蘧蘩蘸蘼虎虏虐虑虒虓虔虚虞虢虤虫虬虮虱虷虸虹虺虻虼虽虾虿蚀蚁蚂蚄蚆蚊蚋蚌蚍蚓蚕蚜蚝蚣蚤蚧蚨蚩蚪蚬蚯蚰蚱蚲蚴蚶蚺蛀蛃蛄蛆蛇蛉蛊蛋蛎蛏蛐蛑蛔蛘蛙蛛蛞蛟蛤蛩蛭蛮蛰蛱蛲蛳蛴蛸蛹蛾蜀蜂蜃蜇蜈蜉蜊蜍蜎蜐蜒蜓蜕蜗蜘蜚蜜蜞蜡蜢蜣蜥蜩蜮蜱蜴蜷蜻蜾蜿蝇蝈蝉蝌蝎蝓蝗蝘蝙蝠蝣蝤蝥蝮蝰蝲蝴蝶蝻蝼蝽蝾螂螃螅螈螋融螗螟螠螣螨螫螬螭螯螱螳螵螺螽蟀蟆蟊蟋蟏蟑蟒蟛蟠蟥蟪蟫蟮蟹蟾蠃蠊蠋蠓蠕蠖蠡蠢蠲蠹蠼血衃衄衅行衍衎衒衔街衙衠衡衢衣补表衩衫衬衮衰衲衷衽衾衿袁袂袄袅袆袈袋袍袒袖袗袜袢袤袪被袭袯袱袷袼裁裂装裆裈裉裎裒裔裕裘裙裛裟裢裣裤裥裨裰裱裳裴裸裹裼裾褂褊褐褒褓褕褙褚褛褟褡褥褪褫褯褰褴褶襁襄襕襚襜襞襟襦襫襻西要覃覆见观觃规觅视觇览觉觊觋觌觎觏觐觑角觖觚觜觞觟解觥触觫觭觯觱觳觿言訄訇訚訾詈詟詹誉誊誓謇警譬计订讣认讥讦讧讨让讪讫训议讯记讱讲讳讴讵讶讷许讹论讻讼讽设访诀证诂诃评诅识诇诈诉诊诋诌词诎诏诐译诒诓诔试诖诗诘诙诚诛诜话诞诟诠诡询诣诤该详诧诨诩诫诬语诮误诰诱诲诳说诵请诸诹诺读诼诽课诿谀谁谂调谄谅谆谇谈谊谋谌谍谎谏谐谑谒谓谔谕谖谗谙谚谛谜谝谞谟谠谡谢谣谤谥谦谧谨谩谪谫谬谭谮谯谰谱谲谳谴谵谶谷谼谿豁豆豇豉豌豕豚象豢豨豪豫豮豳豸豹豺貂貅貆貉貊貌貔貘贝贞负贡财责贤败账货质贩贪贫贬购贮贯贰贱贲贳贴贵贶贷贸费贺贻贼贽贾贿赀赁赂赃资赅赆赇赈赉赊赋赌赍赎赏赐赑赒赓赔赕赖赗赘赙赚赛赜赝赞赟赠赡赢赣赤赦赧赪赫赭走赳赴赵赶起趁趄超越趋趑趔趟趣趯趱足趴趵趸趺趼趾趿跂跃跄跆跋跌跎跏跐跑跖跗跚跛距跞跟跣跤跨跪跬路跱跳践跶跷跸跹跺跻跽踅踉踊踌踏踒踔踝踞踟踢踣踦踩踪踬踮踯踱踵踶踹踺踽蹀蹁蹂蹄蹅蹇蹈蹉蹊蹋蹐蹑蹒蹙蹚蹜蹢蹦蹩蹬蹭蹯蹰蹲蹴蹶蹼蹽蹾蹿躁躅躇躏躐躔躜躞身躬躯躲躺车轧轨轩轪轫转轭轮软轰轱轲轳轴轵轶轷轸轹轺轻轼载轾轿辀辁辂较辄辅辆辇辈辉辊辋辌辍辎辏辐辑辒输辔辕辖辗辘辙辚辛辜辞辟辣辨辩辫辰辱边辽达辿迁迂迄迅过迈迎运近迓返迕还这进远违连迟迢迤迥迦迨迩迪迫迭迮述迳迷迸迹迺追退送适逃逄逅逆选逊逋逍透逐逑递途逖逗通逛逝逞速造逡逢逦逭逮逯逴逵逶逸逻逼逾遁遂遄遆遇遍遏遐遑遒道遗遘遛遢遣遥遨遭遮遴遵遹遽避邀邂邃邈邋邑邓邕邗邘邙邛邝邠邡邢那邦邨邪邬邮邯邰邱邲邳邴邵邶邸邹邺邻邽邾邿郁郃郄郅郇郈郊郎郏郐郑郓郗郚郛郜郝郡郢郤郦郧部郪郫郭郯郴郸都郾郿鄀鄂鄃鄄鄅鄌鄑鄗鄘鄙鄚鄜鄞鄠鄢鄣鄫鄯鄱鄹酂酃酅酆酉酊酋酌配酎酏酐酒酗酚酝酞酡酢酣酤酥酦酩酪酬酮酯酰酱酲酴酵酶酷酸酹酺酽酾酿醅醇醉醋醌醍醐醑醒醚醛醢醨醪醭醮醯醴醵醺醾采釉释里重野量釐金釜鉴銎銮鋆鋈錾鍪鎏鏊鏖鐾鑫钆钇针钉钊钋钌钍钎钏钐钒钓钔钕钖钗钘钙钚钛钜钝钞钟钠钡钢钣钤钥钦钧钨钩钪钫钬钭钮钯钰钱钲钳钴钵钷钹钺钻钼钽钾钿铀铁铂铃铄铅铆铈铉铊铋铌铍铎铏铐铑铒铕铖铗铘铙铚铛铜铝铞铟铠铡铢铣铤铥铧铨铩铪铫铬铭铮铯铰铱铲铳铴铵银铷铸铹铺铻铼铽链铿销锁锂锃锄锅锆锇锈锉锊锋锌锍锎锏锐锑锒锓锔锕锖锗锘错锚锛锜锝锞锟锡锢锣锤锥锦锧锨锩锪锫锬锭键锯锰锱锲锳锴锵锶锷锸锹锺锻锼锽锾锿镀镁镂镃镄镅镆镇镈镉镊镋镌镍镎镏镐镑镒镓镔镕镖镗镘镚镛镜镝镞镠镡镢镣镤镥镦镧镨镩镪镫镬镭镮镯镰镱镲镳镴镵镶长门闩闪闫闭问闯闰闱闲闳间闵闶闷闸闹闺闻闼闽闾闿阀阁阂阃阄阅阆阇阈阉阊阋阌阍阎阏阐阑阒阔阕阖阗阘阙阚阜队阡阪阮阱防阳阴阵阶阻阼阽阿陀陂附际陆陇陈陉陋陌降陎限陑陔陕陛陞陟陡院除陧陨险陪陬陲陴陵陶陷隃隅隆隈隋隍随隐隔隗隘隙障隧隩隰隳隶隹隺隼隽难雀雁雄雅集雇雉雊雌雍雎雏雒雕雠雨雩雪雯雱雳零雷雹雾需霁霄霅霆震霈霉霍霎霏霓霖霜霞霨霪霭霰露霸霹霾青靓靖静靛非靠靡面靥革靬靰靳靴靶靸靺靼靽靿鞁鞅鞋鞍鞑鞒鞔鞘鞠鞡鞣鞧鞨鞫鞬鞭鞮鞯鞲鞳鞴韂韦韧韨韩韪韫韬韭音韵韶页顶顷顸项顺须顼顽顾顿颀颁颂颃预颅领颇颈颉颊颋颌颍颎颏颐频颓颔颖颗题颙颚颛颜额颞颟颠颡颢颤颥颦颧风飏飐飑飒飓飔飕飗飘飙飞食飧飨餍餐餮饔饕饥饧饨饩饪饫饬饭饮饯饰饱饲饳饴饵饶饷饸饹饺饻饼饽饿馁馃馄馅馆馇馈馉馊馋馌馍馏馐馑馒馓馔馕首馗馘香馝馞馥馧馨马驭驮驯驰驱驲驳驴驵驶驷驸驹驺驻驼驽驾驿骀骁骂骃骄骅骆骇骈骉骊骋验骍骎骏骐骑骒骓骕骖骗骘骙骚骛骜骝骞骟骠骡骢骣骤骥骦骧骨骰骱骶骷骸骺骼髀髁髂髃髅髋髌髎髑髓高髡髢髦髫髭髯髹髻髽鬃鬈鬏鬒鬓鬘鬟鬣鬯鬲鬶鬷鬻鬼魁魂魃魄魅魆魇魈魉魋魍魏魑魔鱼鱽鱾鱿鲀鲁鲂鲃鲅鲆鲇鲈鲉鲊鲋鲌鲍鲎鲏鲐鲑鲒鲔鲕鲖鲗鲘鲙鲚鲛鲜鲝鲞鲟鲠鲡鲢鲣鲤鲥鲦鲧鲨鲩鲪鲫鲬鲭鲮鲯鲰鲱鲲鲳鲴鲵鲷鲸鲹鲺鲻鲼鲽鲾鲿鳀鳁鳂鳃鳄鳅鳇鳈鳉鳊鳌鳍鳎鳏鳐鳑鳒鳓鳔鳕鳖鳗鳘鳙鳚鳛鳜鳝鳞鳟鳠鳡鳢鳣鳤鸟鸠鸡鸢鸣鸤鸥鸦鸧鸨鸩鸪鸫鸬鸭鸮鸯鸰鸱鸲鸳鸵鸶鸷鸸鸹鸺鸻鸼鸽鸾鸿鹀鹁鹂鹃鹄鹅鹆鹇鹈鹉鹊鹋鹌鹍鹎鹏鹐鹑鹒鹔鹕鹖鹗鹘鹙鹚鹛鹜鹝鹞鹟鹠鹡鹢鹣鹤鹦鹧鹨鹩鹪鹫鹬鹭鹮鹯鹰鹱鹲鹳鹴鹾鹿麀麂麇麈麋麑麒麓麖麝麟麦麸麹麻麽麾黄黇黉黍黎黏黑黔默黛黜黝黟黠黡黢黥黧黩黪黯黹黻黼黾鼋鼍鼎鼐鼒鼓鼗鼙鼠鼢鼩鼫鼬鼯鼱鼷鼹鼻鼽鼾齁齇齉齐齑齿龀龁龂龃龄龅龆龇龈龉龊龋龌龙龚龛龟龠龢鿍鿎鿏㑇㑊㕮㘎㙍㙘㙦㛃㛚㛹㟃㠇㠓㤘㥄㧐㧑㧟㫰㬊㬎㬚㭎㭕㮾㰀㳇㳘㳚㴔㵐㶲㸆㸌㺄㻬㽏㿠䁖䂮䃅䃎䅟䌹䎃䎖䏝䏡䏲䐃䓖䓛䓨䓫䓬䗖䗛䗪䗴䜣䝙䢺䢼䣘䥽䦃䲟䲠䲢䴓䴔䴕䴖䴗䴘䴙䶮𠅤𠙶𠳐𡎚𡐓𣗋𣲗𣲘𣸣𤧛𤩽𤫉𥔲𥕢𥖨𥻗𦈡𦒍𦙶𦝼𦭜𦰡𧿹𨐈𨙸𨚕𨟠𨭉𨱇𨱏𨱑𨱔𨺙𩽾𩾃𩾌𪟝𪣻𪤗𪨰𪨶𪩘𪾢𫄧𫄨𫄷𫄸𫇭𫌀𫍣𫍯𫍲𫍽𫐄𫐐𫐓𫑡𫓧𫓯𫓶𫓹𫔍𫔎𫔶𫖮𫖯𫖳𫗧𫗴𫘜𫘝𫘦𫘧𫘨𫘪𫘬𫚕𫚖𫚭𫛭𫞩𫟅𫟦𫟹𫟼𫠆𫠊𫠜𫢸𫫇𫭟𫭢𫭼𫮃𫰛𫵷𫶇𫷷𫸩𬀩𬀪𬂩𬃊𬇕𬇙𬇹𬉼𬊈𬊤𬌗𬍛𬍡𬍤𬒈𬒔𬒗𬕂𬘓𬘘𬘡𬘩𬘫𬘬𬘭𬘯𬙂𬙊𬙋𬜬𬜯𬞟𬟁𬟽𬣙𬣞𬣡𬣳𬤇𬤊𬤝𬨂𬨎𬩽𬪩𬬩𬬭𬬮𬬱𬬸𬬹𬬻𬬿𬭁𬭊𬭎𬭚𬭛𬭤𬭩𬭬𬭯𬭳𬭶𬭸𬭼𬮱𬮿𬯀𬯎𬱖𬱟𬳵𬳶𬳽𬳿𬴂𬴃𬴊𬶋𬶍𬶏𬶐𬶟𬶠𬶨𬶭𬶮𬷕𬸘𬸚𬸣𬸦𬸪𬹼𬺈𬺓吶诶屌囧飚屄abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 '
IN_VALID_CHARS = {'一': True, '丁': True, '七': True, '万': True, '丈': True, '三': True, '上': True, '下': True, '不': True, '与': True, '丏': True, '丐': True, '丑': True, '专': True, '且': True, '丕': True, '世': True, '丘': True, '丙': True, '业': True, '丛': True, '东': True, '丝': True, '丞': True, '丢': True, '两': True, '严': True, '丧': True, '个': True, '丫': True, '中': True, '丰': True, '串': True, '临': True, '丸': True, '丹': True, '为': True, '主': True, '丽': True, '举': True, '乂': True, '乃': True, '久': True, '么': True, '义': True, '之': True, '乌': True, '乍': True, '乎': True, '乏': True, '乐': True, '乒': True, '乓': True, '乔': True, '乖': True, '乘': True, '乙': True, '乜': True, '九': True, '乞': True, '也': True, '习': True, '乡': True, '书': True, '乩': True, '买': True, '乱': True, '乳': True, '乸': True, '乾': True, '了': True, '予': True, '争': True, '事': True, '二': True, '亍': True, '于': True, '亏': True, '云': True, '互': True, '亓': True, '五': True, '井': True, '亘': True, '亚': True, '些': True, '亟': True, '亡': True, '亢': True, '交': True, '亥': True, '亦': True, '产': True, '亨': True, '亩': True, '享': True, '京': True, '亭': True, '亮': True, '亲': True, '亳': True, '亵': True, '亶': True, '亸': True, '亹': True, '人': True, '亿': True, '什': True, '仁': True, '仂': True, '仃': True, '仄': True, '仅': True, '仆': True, '仇': True, '仉': True, '今': True, '介': True, '仍': True, '从': True, '仑': True, '仓': True, '仔': True, '仕': True, '他': True, '仗': True, '付': True, '仙': True, '仝': True, '仞': True, '仟': True, '仡': True, '代': True, '令': True, '以': True, '仨': True, '仪': True, '仫': True, '们': True, '仰': True, '仲': True, '仳': True, '仵': True, '件': True, '价': True, '任': True, '份': True, '仿': True, '企': True, '伈': True, '伉': True, '伊': True, '伋': True, '伍': True, '伎': True, '伏': True, '伐': True, '休': True, '众': True, '优': True, '伙': True, '会': True, '伛': True, '伞': True, '伟': True, '传': True, '伢': True, '伣': True, '伤': True, '伥': True, '伦': True, '伧': True, '伪': True, '伫': True, '伭': True, '伯': True, '估': True, '伲': True, '伴': True, '伶': True, '伸': True, '伺': True, '似': True, '伽': True, '伾': True, '佁': True, '佃': True, '但': True, '位': True, '低': True, '住': True, '佐': True, '佑': True, '体': True, '何': True, '佖': True, '佗': True, '佘': True, '余': True, '佚': True, '佛': True, '作': True, '佝': True, '佞': True, '佟': True, '你': True, '佣': True, '佤': True, '佥': True, '佩': True, '佬': True, '佯': True, '佰': True, '佳': True, '佴': True, '佶': True, '佸': True, '佺': True, '佻': True, '佼': True, '佽': True, '佾': True, '使': True, '侁': True, '侂': True, '侃': True, '侄': True, '侈': True, '侉': True, '例': True, '侍': True, '侏': True, '侑': True, '侔': True, '侗': True, '侘': True, '供': True, '依': True, '侠': True, '侣': True, '侥': True, '侦': True, '侧': True, '侨': True, '侩': True, '侪': True, '侬': True, '侮': True, '侯': True, '侴': True, '侵': True, '侹': True, '便': True, '促': True, '俄': True, '俅': True, '俊': True, '俍': True, '俎': True, '俏': True, '俐': True, '俑': True, '俗': True, '俘': True, '俙': True, '俚': True, '俜': True, '保': True, '俞': True, '俟': True, '信': True, '俣': True, '俦': True, '俨': True, '俩': True, '俪': True, '俫': True, '俭': True, '修': True, '俯': True, '俱': True, '俳': True, '俵': True, '俶': True, '俸': True, '俺': True, '俾': True, '倌': True, '倍': True, '倏': True, '倒': True, '倓': True, '倔': True, '倕': True, '倘': True, '候': True, '倚': True, '倜': True, '倞': True, '借': True, '倡': True, '倥': True, '倦': True, '倧': True, '倨': True, '倩': True, '倪': True, '倬': True, '倭': True, '倮': True, '倴': True, '债': True, '倻': True, '值': True, '倾': True, '偁': True, '偃': True, '假': True, '偈': True, '偌': True, '偎': True, '偏': True, '偓': True, '偕': True, '做': True, '停': True, '偡': True, '健': True, '偬': True, '偭': True, '偰': True, '偲': True, '偶': True, '偷': True, '偻': True, '偾': True, '偿': True, '傀': True, '傃': True, '傅': True, '傈': True, '傉': True, '傍': True, '傒': True, '傕': True, '傣': True, '傥': True, '傧': True, '储': True, '傩': True, '催': True, '傲': True, '傺': True, '傻': True, '僇': True, '僎': True, '像': True, '僔': True, '僖': True, '僚': True, '僦': True, '僧': True, '僬': True, '僭': True, '僮': True, '僰': True, '僳': True, '僵': True, '僻': True, '儆': True, '儇': True, '儋': True, '儒': True, '儡': True, '儦': True, '儳': True, '儴': True, '儿': True, '兀': True, '允': True, '元': True, '兄': True, '充': True, '兆': True, '先': True, '光': True, '克': True, '免': True, '兑': True, '兔': True, '兕': True, '兖': True, '党': True, '兜': True, '兢': True, '入': True, '全': True, '八': True, '公': True, '六': True, '兮': True, '兰': True, '共': True, '关': True, '兴': True, '兵': True, '其': True, '具': True, '典': True, '兹': True, '养': True, '兼': True, '兽': True, '冀': True, '冁': True, '内': True, '冈': True, '冉': True, '册': True, '再': True, '冏': True, '冒': True, '冔': True, '冕': True, '冗': True, '写': True, '军': True, '农': True, '冠': True, '冢': True, '冤': True, '冥': True, '冬': True, '冮': True, '冯': True, '冰': True, '冱': True, '冲': True, '决': True, '况': True, '冶': True, '冷': True, '冻': True, '冼': True, '冽': True, '净': True, '凄': True, '准': True, '凇': True, '凉': True, '凋': True, '凌': True, '减': True, '凑': True, '凓': True, '凘': True, '凛': True, '凝': True, '几': True, '凡': True, '凤': True, '凫': True, '凭': True, '凯': True, '凰': True, '凳': True, '凶': True, '凸': True, '凹': True, '出': True, '击': True, '凼': True, '函': True, '凿': True, '刀': True, '刁': True, '刃': True, '分': True, '切': True, '刈': True, '刊': True, '刍': True, '刎': True, '刑': True, '划': True, '刖': True, '列': True, '刘': True, '则': True, '刚': True, '创': True, '初': True, '删': True, '判': True, '刨': True, '利': True, '别': True, '刬': True, '刭': True, '刮': True, '到': True, '刳': True, '制': True, '刷': True, '券': True, '刹': True, '刺': True, '刻': True, '刽': True, '刿': True, '剀': True, '剁': True, '剂': True, '剃': True, '剅': True, '削': True, '剋': True, '剌': True, '前': True, '剐': True, '剑': True, '剔': True, '剕': True, '剖': True, '剜': True, '剞': True, '剟': True, '剡': True, '剥': True, '剧': True, '剩': True, '剪': True, '副': True, '割': True, '剽': True, '剿': True, '劁': True, '劂': True, '劄': True, '劈': True, '劐': True, '劓': True, '力': True, '劝': True, '办': True, '功': True, '加': True, '务': True, '劢': True, '劣': True, '动': True, '助': True, '努': True, '劫': True, '劬': True, '劭': True, '励': True, '劲': True, '劳': True, '劼': True, '劾': True, '势': True, '勃': True, '勇': True, '勉': True, '勋': True, '勍': True, '勐': True, '勒': True, '勔': True, '勖': True, '勘': True, '勚': True, '募': True, '勠': True, '勤': True, '勰': True, '勺': True, '勾': True, '勿': True, '匀': True, '包': True, '匆': True, '匈': True, '匍': True, '匏': True, '匐': True, '匕': True, '化': True, '北': True, '匙': True, '匜': True, '匝': True, '匠': True, '匡': True, '匣': True, '匦': True, '匪': True, '匮': True, '匹': True, '区': True, '医': True, '匼': True, '匾': True, '匿': True, '十': True, '千': True, '卅': True, '升': True, '午': True, '卉': True, '半': True, '华': True, '协': True, '卑': True, '卒': True, '卓': True, '单': True, '卖': True, '南': True, '博': True, '卜': True, '卞': True, '卟': True, '占': True, '卡': True, '卢': True, '卣': True, '卤': True, '卦': True, '卧': True, '卫': True, '卬': True, '卮': True, '卯': True, '印': True, '危': True, '即': True, '却': True, '卵': True, '卷': True, '卸': True, '卺': True, '卿': True, '厂': True, '厄': True, '厅': True, '历': True, '厉': True, '压': True, '厌': True, '厍': True, '厕': True, '厖': True, '厘': True, '厚': True, '厝': True, '原': True, '厢': True, '厣': True, '厥': True, '厦': True, '厨': True, '厩': True, '厮': True, '去': True, '厾': True, '县': True, '叁': True, '参': True, '叆': True, '叇': True, '又': True, '叉': True, '及': True, '友': True, '双': True, '反': True, '发': True, '叔': True, '叕': True, '取': True, '受': True, '变': True, '叙': True, '叚': True, '叛': True, '叟': True, '叠': True, '口': True, '古': True, '句': True, '另': True, '叨': True, '叩': True, '只': True, '叫': True, '召': True, '叭': True, '叮': True, '可': True, '台': True, '叱': True, '史': True, '右': True, '叵': True, '叶': True, '号': True, '司': True, '叹': True, '叻': True, '叼': True, '叽': True, '吁': True, '吃': True, '各': True, '吆': True, '合': True, '吉': True, '吊': True, '同': True, '名': True, '后': True, '吏': True, '吐': True, '向': True, '吒': True, '吓': True, '吕': True, '吖': True, '吗': True, '君': True, '吝': True, '吞': True, '吟': True, '吠': True, '吡': True, '吣': True, '否': True, '吧': True, '吨': True, '吩': True, '含': True, '听': True, '吭': True, '吮': True, '启': True, '吱': True, '吲': True, '吴': True, '吵': True, '吸': True, '吹': True, '吻': True, '吼': True, '吽': True, '吾': True, '呀': True, '呃': True, '呆': True, '呇': True, '呈': True, '告': True, '呋': True, '呐': True, '呒': True, '呓': True, '呔': True, '呕': True, '呖': True, '呗': True, '员': True, '呙': True, '呛': True, '呜': True, '呢': True, '呣': True, '呤': True, '呦': True, '周': True, '呱': True, '呲': True, '味': True, '呵': True, '呶': True, '呷': True, '呸': True, '呻': True, '呼': True, '命': True, '咀': True, '咂': True, '咄': True, '咆': True, '咇': True, '咉': True, '咋': True, '和': True, '咍': True, '咎': True, '咏': True, '咐': True, '咒': True, '咔': True, '咕': True, '咖': True, '咙': True, '咚': True, '咛': True, '咝': True, '咡': True, '咣': True, '咤': True, '咥': True, '咦': True, '咧': True, '咨': True, '咩': True, '咪': True, '咫': True, '咬': True, '咯': True, '咱': True, '咳': True, '咴': True, '咸': True, '咺': True, '咻': True, '咽': True, '咿': True, '哀': True, '品': True, '哂': True, '哃': True, '哄': True, '哆': True, '哇': True, '哈': True, '哉': True, '哌': True, '响': True, '哎': True, '哏': True, '哐': True, '哑': True, '哒': True, '哓': True, '哔': True, '哕': True, '哗': True, '哙': True, '哚': True, '哝': True, '哞': True, '哟': True, '哢': True, '哥': True, '哦': True, '哧': True, '哨': True, '哩': True, '哪': True, '哭': True, '哮': True, '哱': True, '哲': True, '哳': True, '哺': True, '哼': True, '哽': True, '哿': True, '唁': True, '唆': True, '唇': True, '唉': True, '唏': True, '唐': True, '唑': True, '唔': True, '唛': True, '唝': True, '唠': True, '唢': True, '唣': True, '唤': True, '唧': True, '唪': True, '唬': True, '售': True, '唯': True, '唰': True, '唱': True, '唳': True, '唵': True, '唷': True, '唼': True, '唾': True, '唿': True, '啁': True, '啃': True, '啄': True, '商': True, '啉': True, '啊': True, '啐': True, '啕': True, '啖': True, '啜': True, '啡': True, '啤': True, '啥': True, '啦': True, '啧': True, '啪': True, '啫': True, '啬': True, '啭': True, '啮': True, '啰': True, '啴': True, '啵': True, '啶': True, '啷': True, '啸': True, '啻': True, '啼': True, '啾': True, '喀': True, '喁': True, '喂': True, '喃': True, '善': True, '喆': True, '喇': True, '喈': True, '喉': True, '喊': True, '喋': True, '喏': True, '喑': True, '喔': True, '喘': True, '喙': True, '喜': True, '喝': True, '喟': True, '喤': True, '喧': True, '喱': True, '喳': True, '喵': True, '喷': True, '喹': True, '喻': True, '喽': True, '喾': True, '嗄': True, '嗅': True, '嗉': True, '嗌': True, '嗍': True, '嗐': True, '嗑': True, '嗒': True, '嗓': True, '嗔': True, '嗖': True, '嗜': True, '嗝': True, '嗞': True, '嗟': True, '嗡': True, '嗣': True, '嗤': True, '嗥': True, '嗦': True, '嗨': True, '嗪': True, '嗫': True, '嗬': True, '嗯': True, '嗲': True, '嗳': True, '嗵': True, '嗷': True, '嗽': True, '嗾': True, '嘀': True, '嘁': True, '嘈': True, '嘉': True, '嘌': True, '嘎': True, '嘏': True, '嘘': True, '嘚': True, '嘛': True, '嘞': True, '嘟': True, '嘡': True, '嘣': True, '嘤': True, '嘧': True, '嘬': True, '嘭': True, '嘱': True, '嘲': True, '嘴': True, '嘶': True, '嘹': True, '嘻': True, '嘿': True, '噀': True, '噂': True, '噇': True, '噌': True, '噍': True, '噎': True, '噔': True, '噗': True, '噘': True, '噙': True, '噜': True, '噢': True, '噤': True, '器': True, '噩': True, '噪': True, '噫': True, '噬': True, '噱': True, '噶': True, '噻': True, '噼': True, '嚄': True, '嚅': True, '嚆': True, '嚎': True, '嚏': True, '嚓': True, '嚚': True, '嚣': True, '嚭': True, '嚯': True, '嚷': True, '嚼': True, '囊': True, '囔': True, '囚': True, '四': True, '回': True, '囟': True, '因': True, '囡': True, '团': True, '囤': True, '囫': True, '园': True, '困': True, '囱': True, '围': True, '囵': True, '囷': True, '囹': True, '固': True, '国': True, '图': True, '囿': True, '圃': True, '圄': True, '圆': True, '圈': True, '圉': True, '圊': True, '圌': True, '圐': True, '圙': True, '圜': True, '土': True, '圢': True, '圣': True, '在': True, '圩': True, '圪': True, '圫': True, '圬': True, '圭': True, '圮': True, '圯': True, '地': True, '圲': True, '圳': True, '圹': True, '场': True, '圻': True, '圾': True, '址': True, '坂': True, '均': True, '坉': True, '坊': True, '坋': True, '坌': True, '坍': True, '坎': True, '坏': True, '坐': True, '坑': True, '坒': True, '块': True, '坚': True, '坛': True, '坜': True, '坝': True, '坞': True, '坟': True, '坠': True, '坡': True, '坤': True, '坥': True, '坦': True, '坨': True, '坩': True, '坪': True, '坫': True, '坬': True, '坭': True, '坯': True, '坰': True, '坳': True, '坷': True, '坻': True, '坼': True, '坽': True, '垂': True, '垃': True, '垄': True, '垆': True, '垈': True, '型': True, '垌': True, '垍': True, '垎': True, '垏': True, '垒': True, '垓': True, '垕': True, '垙': True, '垚': True, '垛': True, '垞': True, '垟': True, '垠': True, '垡': True, '垢': True, '垣': True, '垤': True, '垦': True, '垧': True, '垩': True, '垫': True, '垭': True, '垮': True, '垯': True, '垱': True, '垲': True, '垴': True, '垵': True, '垸': True, '垺': True, '垾': True, '垿': True, '埂': True, '埃': True, '埆': True, '埇': True, '埋': True, '埌': True, '城': True, '埏': True, '埒': True, '埔': True, '埕': True, '埗': True, '埘': True, '埙': True, '埚': True, '埝': True, '域': True, '埠': True, '埤': True, '埪': True, '埫': True, '埭': True, '埯': True, '埴': True, '埵': True, '埸': True, '培': True, '基': True, '埼': True, '埽': True, '堂': True, '堃': True, '堆': True, '堇': True, '堉': True, '堋': True, '堌': True, '堍': True, '堎': True, '堐': True, '堑': True, '堕': True, '堙': True, '堞': True, '堠': True, '堡': True, '堤': True, '堧': True, '堨': True, '堪': True, '堰': True, '堲': True, '堵': True, '堼': True, '堽': True, '堾': True, '塄': True, '塅': True, '塆': True, '塌': True, '塍': True, '塑': True, '塔': True, '塘': True, '塝': True, '塞': True, '塥': True, '填': True, '塬': True, '塱': True, '塾': True, '墀': True, '墁': True, '境': True, '墅': True, '墈': True, '墉': True, '墐': True, '墒': True, '墓': True, '墕': True, '墘': True, '墙': True, '墚': True, '增': True, '墟': True, '墡': True, '墣': True, '墦': True, '墨': True, '墩': True, '墼': True, '壁': True, '壅': True, '壑': True, '壕': True, '壤': True, '士': True, '壬': True, '壮': True, '声': True, '壳': True, '壶': True, '壸': True, '壹': True, '处': True, '备': True, '复': True, '夏': True, '夐': True, '夔': True, '夕': True, '外': True, '夙': True, '多': True, '夜': True, '够': True, '夤': True, '夥': True, '大': True, '天': True, '太': True, '夫': True, '夬': True, '夭': True, '央': True, '夯': True, '失': True, '头': True, '夷': True, '夸': True, '夹': True, '夺': True, '夼': True, '奁': True, '奂': True, '奄': True, '奇': True, '奈': True, '奉': True, '奋': True, '奎': True, '奏': True, '契': True, '奓': True, '奔': True, '奕': True, '奖': True, '套': True, '奘': True, '奚': True, '奠': True, '奡': True, '奢': True, '奥': True, '奭': True, '女': True, '奴': True, '奶': True, '奸': True, '她': True, '好': True, '妁': True, '如': True, '妃': True, '妄': True, '妆': True, '妇': True, '妈': True, '妊': True, '妍': True, '妒': True, '妓': True, '妖': True, '妗': True, '妘': True, '妙': True, '妞': True, '妣': True, '妤': True, '妥': True, '妧': True, '妨': True, '妩': True, '妪': True, '妫': True, '妭': True, '妮': True, '妯': True, '妲': True, '妹': True, '妻': True, '妾': True, '姆': True, '姈': True, '姊': True, '始': True, '姐': True, '姑': True, '姒': True, '姓': True, '委': True, '姗': True, '姘': True, '姚': True, '姜': True, '姝': True, '姞': True, '姣': True, '姤': True, '姥': True, '姨': True, '姬': True, '姮': True, '姱': True, '姶': True, '姹': True, '姻': True, '姽': True, '姿': True, '娀': True, '威': True, '娃': True, '娄': True, '娅': True, '娆': True, '娇': True, '娈': True, '娉': True, '娌': True, '娑': True, '娓': True, '娘': True, '娜': True, '娟': True, '娠': True, '娣': True, '娥': True, '娩': True, '娱': True, '娲': True, '娴': True, '娵': True, '娶': True, '娼': True, '婀': True, '婆': True, '婉': True, '婊': True, '婌': True, '婍': True, '婕': True, '婘': True, '婚': True, '婞': True, '婠': True, '婢': True, '婤': True, '婧': True, '婪': True, '婫': True, '婳': True, '婴': True, '婵': True, '婶': True, '婷': True, '婺': True, '婻': True, '婼': True, '婿': True, '媂': True, '媄': True, '媆': True, '媒': True, '媓': True, '媖': True, '媚': True, '媛': True, '媞': True, '媪': True, '媭': True, '媱': True, '媲': True, '媳': True, '媵': True, '媸': True, '媾': True, '嫁': True, '嫂': True, '嫄': True, '嫉': True, '嫌': True, '嫒': True, '嫔': True, '嫕': True, '嫖': True, '嫘': True, '嫚': True, '嫜': True, '嫠': True, '嫡': True, '嫣': True, '嫦': True, '嫩': True, '嫪': True, '嫫': True, '嫭': True, '嫱': True, '嫽': True, '嬉': True, '嬖': True, '嬗': True, '嬛': True, '嬥': True, '嬬': True, '嬴': True, '嬷': True, '嬿': True, '孀': True, '孅': True, '子': True, '孑': True, '孓': True, '孔': True, '孕': True, '孖': True, '字': True, '存': True, '孙': True, '孚': True, '孛': True, '孜': True, '孝': True, '孟': True, '孢': True, '季': True, '孤': True, '孥': True, '学': True, '孩': True, '孪': True, '孬': True, '孰': True, '孱': True, '孳': True, '孵': True, '孺': True, '孽': True, '宁': True, '它': True, '宄': True, '宅': True, '宇': True, '守': True, '安': True, '宋': True, '完': True, '宏': True, '宓': True, '宕': True, '宗': True, '官': True, '宙': True, '定': True, '宛': True, '宜': True, '宝': True, '实': True, '宠': True, '审': True, '客': True, '宣': True, '室': True, '宥': True, '宦': True, '宧': True, '宪': True, '宫': True, '宬': True, '宰': True, '害': True, '宴': True, '宵': True, '家': True, '宸': True, '容': True, '宽': True, '宾': True, '宿': True, '寁': True, '寂': True, '寄': True, '寅': True, '密': True, '寇': True, '富': True, '寐': True, '寒': True, '寓': True, '寝': True, '寞': True, '察': True, '寡': True, '寤': True, '寥': True, '寨': True, '寮': True, '寰': True, '寸': True, '对': True, '寺': True, '寻': True, '导': True, '寿': True, '封': True, '射': True, '将': True, '尉': True, '尊': True, '小': True, '少': True, '尔': True, '尕': True, '尖': True, '尘': True, '尚': True, '尜': True, '尝': True, '尢': True, '尤': True, '尥': True, '尧': True, '尨': True, '尪': True, '尬': True, '就': True, '尴': True, '尸': True, '尹': True, '尺': True, '尻': True, '尼': True, '尽': True, '尾': True, '尿': True, '局': True, '屁': True, '层': True, '屃': True, '居': True, '屈': True, '屉': True, '届': True, '屋': True, '屎': True, '屏': True, '屐': True, '屑': True, '展': True, '屙': True, '属': True, '屠': True, '屡': True, '屣': True, '履': True, '屦': True, '屯': True, '山': True, '屹': True, '屺': True, '屼': True, '屾': True, '屿': True, '岁': True, '岂': True, '岈': True, '岊': True, '岌': True, '岍': True, '岐': True, '岑': True, '岔': True, '岖': True, '岗': True, '岘': True, '岙': True, '岚': True, '岛': True, '岜': True, '岞': True, '岠': True, '岢': True, '岣': True, '岨': True, '岩': True, '岫': True, '岬': True, '岭': True, '岱': True, '岳': True, '岵': True, '岷': True, '岸': True, '岽': True, '岿': True, '峁': True, '峂': True, '峃': True, '峄': True, '峋': True, '峒': True, '峗': True, '峘': True, '峙': True, '峛': True, '峡': True, '峣': True, '峤': True, '峥': True, '峦': True, '峧': True, '峨': True, '峪': True, '峭': True, '峰': True, '峱': True, '峻': True, '峿': True, '崀': True, '崁': True, '崂': True, '崃': True, '崄': True, '崆': True, '崇': True, '崌': True, '崎': True, '崒': True, '崔': True, '崖': True, '崚': True, '崛': True, '崞': True, '崟': True, '崡': True, '崤': True, '崦': True, '崧': True, '崩': True, '崭': True, '崮': True, '崴': True, '崶': True, '崽': True, '崾': True, '崿': True, '嵁': True, '嵅': True, '嵇': True, '嵊': True, '嵋': True, '嵌': True, '嵎': True, '嵖': True, '嵘': True, '嵚': True, '嵛': True, '嵝': True, '嵩': True, '嵫': True, '嵬': True, '嵯': True, '嵲': True, '嵴': True, '嶂': True, '嶅': True, '嶍': True, '嶒': True, '嶓': True, '嶙': True, '嶝': True, '嶟': True, '嶦': True, '嶲': True, '嶷': True, '巅': True, '巇': True, '巉': True, '巍': True, '川': True, '州': True, '巡': True, '巢': True, '工': True, '左': True, '巧': True, '巨': True, '巩': True, '巫': True, '差': True, '巯': True, '己': True, '已': True, '巳': True, '巴': True, '巷': True, '巽': True, '巾': True, '币': True, '市': True, '布': True, '帅': True, '帆': True, '师': True, '希': True, '帏': True, '帐': True, '帑': True, '帔': True, '帕': True, '帖': True, '帘': True, '帙': True, '帚': True, '帛': True, '帜': True, '帝': True, '帡': True, '带': True, '帧': True, '帨': True, '席': True, '帮': True, '帱': True, '帷': True, '常': True, '帻': True, '帼': True, '帽': True, '幂': True, '幄': True, '幅': True, '幌': True, '幔': True, '幕': True, '幖': True, '幛': True, '幞': True, '幡': True, '幢': True, '幪': True, '干': True, '平': True, '年': True, '并': True, '幸': True, '幺': True, '幻': True, '幼': True, '幽': True, '广': True, '庄': True, '庆': True, '庇': True, '床': True, '庋': True, '序': True, '庐': True, '庑': True, '库': True, '应': True, '底': True, '庖': True, '店': True, '庙': True, '庚': True, '府': True, '庞': True, '废': True, '庠': True, '庤': True, '庥': True, '度': True, '座': True, '庭': True, '庱': True, '庳': True, '庵': True, '庶': True, '康': True, '庸': True, '庹': True, '庼': True, '庾': True, '廆': True, '廉': True, '廊': True, '廋': True, '廑': True, '廒': True, '廓': True, '廖': True, '廙': True, '廛': True, '廨': True, '廪': True, '延': True, '廷': True, '建': True, '廿': True, '开': True, '弁': True, '异': True, '弃': True, '弄': True, '弆': True, '弇': True, '弈': True, '弊': True, '弋': True, '式': True, '弑': True, '弓': True, '引': True, '弗': True, '弘': True, '弛': True, '弟': True, '张': True, '弢': True, '弥': True, '弦': True, '弧': True, '弨': True, '弩': True, '弭': True, '弯': True, '弱': True, '弶': True, '弸': True, '弹': True, '强': True, '弼': True, '彀': True, '归': True, '当': True, '录': True, '彖': True, '彗': True, '彘': True, '彝': True, '彟': True, '形': True, '彤': True, '彦': True, '彧': True, '彩': True, '彪': True, '彬': True, '彭': True, '彰': True, '影': True, '彳': True, '彷': True, '役': True, '彻': True, '彼': True, '往': True, '征': True, '徂': True, '径': True, '待': True, '徇': True, '很': True, '徉': True, '徊': True, '律': True, '徐': True, '徒': True, '徕': True, '得': True, '徘': True, '徙': True, '徛': True, '徜': True, '御': True, '徨': True, '循': True, '徭': True, '微': True, '徵': True, '德': True, '徼': True, '徽': True, '心': True, '必': True, '忆': True, '忉': True, '忌': True, '忍': True, '忏': True, '忐': True, '忑': True, '忒': True, '忖': True, '志': True, '忘': True, '忙': True, '忝': True, '忞': True, '忠': True, '忡': True, '忤': True, '忧': True, '忪': True, '快': True, '忭': True, '忮': True, '忱': True, '忳': True, '念': True, '忸': True, '忺': True, '忻': True, '忽': True, '忾': True, '忿': True, '怀': True, '态': True, '怂': True, '怃': True, '怄': True, '怅': True, '怆': True, '怊': True, '怍': True, '怎': True, '怏': True, '怒': True, '怔': True, '怕': True, '怖': True, '怙': True, '怛': True, '怜': True, '思': True, '怠': True, '怡': True, '急': True, '怦': True, '性': True, '怨': True, '怩': True, '怪': True, '怫': True, '怯': True, '怵': True, '总': True, '怼': True, '怿': True, '恁': True, '恂': True, '恃': True, '恋': True, '恍': True, '恐': True, '恒': True, '恓': True, '恔': True, '恕': True, '恙': True, '恚': True, '恝': True, '恢': True, '恣': True, '恤': True, '恧': True, '恨': True, '恩': True, '恪': True, '恫': True, '恬': True, '恭': True, '息': True, '恰': True, '恳': True, '恶': True, '恸': True, '恹': True, '恺': True, '恻': True, '恼': True, '恽': True, '恿': True, '悃': True, '悄': True, '悆': True, '悈': True, '悉': True, '悌': True, '悍': True, '悒': True, '悔': True, '悖': True, '悚': True, '悛': True, '悝': True, '悟': True, '悠': True, '悢': True, '患': True, '悦': True, '您': True, '悫': True, '悬': True, '悭': True, '悯': True, '悰': True, '悱': True, '悲': True, '悴': True, '悸': True, '悻': True, '悼': True, '情': True, '惆': True, '惇': True, '惊': True, '惋': True, '惎': True, '惑': True, '惔': True, '惕': True, '惘': True, '惙': True, '惚': True, '惛': True, '惜': True, '惝': True, '惟': True, '惠': True, '惦': True, '惧': True, '惨': True, '惩': True, '惫': True, '惬': True, '惭': True, '惮': True, '惯': True, '惰': True, '想': True, '惴': True, '惶': True, '惹': True, '惺': True, '愀': True, '愁': True, '愃': True, '愆': True, '愈': True, '愉': True, '愍': True, '愎': True, '意': True, '愐': True, '愔': True, '愕': True, '愚': True, '感': True, '愠': True, '愣': True, '愤': True, '愦': True, '愧': True, '愫': True, '愭': True, '愿': True, '慆': True, '慈': True, '慊': True, '慌': True, '慎': True, '慑': True, '慕': True, '慝': True, '慢': True, '慥': True, '慧': True, '慨': True, '慬': True, '慭': True, '慰': True, '慵': True, '慷': True, '憋': True, '憎': True, '憔': True, '憕': True, '憙': True, '憧': True, '憨': True, '憩': True, '憬': True, '憭': True, '憷': True, '憺': True, '憾': True, '懂': True, '懈': True, '懊': True, '懋': True, '懑': True, '懒': True, '懔': True, '懦': True, '懵': True, '懿': True, '戆': True, '戈': True, '戊': True, '戋': True, '戌': True, '戍': True, '戎': True, '戏': True, '成': True, '我': True, '戒': True, '戕': True, '或': True, '戗': True, '战': True, '戚': True, '戛': True, '戟': True, '戡': True, '戢': True, '戣': True, '戤': True, '戥': True, '截': True, '戬': True, '戭': True, '戮': True, '戳': True, '戴': True, '户': True, '戽': True, '戾': True, '房': True, '所': True, '扁': True, '扂': True, '扃': True, '扅': True, '扆': True, '扇': True, '扈': True, '扉': True, '扊': True, '手': True, '才': True, '扎': True, '扑': True, '扒': True, '打': True, '扔': True, '托': True, '扛': True, '扞': True, '扣': True, '扦': True, '执': True, '扩': True, '扪': True, '扫': True, '扬': True, '扭': True, '扮': True, '扯': True, '扰': True, '扳': True, '扶': True, '批': True, '扺': True, '扼': True, '扽': True, '找': True, '承': True, '技': True, '抃': True, '抄': True, '抉': True, '把': True, '抑': True, '抒': True, '抓': True, '抔': True, '投': True, '抖': True, '抗': True, '折': True, '抚': True, '抛': True, '抟': True, '抠': True, '抡': True, '抢': True, '护': True, '报': True, '抨': True, '披': True, '抬': True, '抱': True, '抵': True, '抹': True, '抻': True, '押': True, '抽': True, '抿': True, '拂': True, '拃': True, '拄': True, '担': True, '拆': True, '拇': True, '拈': True, '拉': True, '拊': True, '拌': True, '拍': True, '拎': True, '拐': True, '拒': True, '拓': True, '拔': True, '拖': True, '拗': True, '拘': True, '拙': True, '招': True, '拜': True, '拟': True, '拢': True, '拣': True, '拤': True, '拥': True, '拦': True, '拧': True, '拨': True, '择': True, '括': True, '拭': True, '拮': True, '拯': True, '拱': True, '拳': True, '拴': True, '拶': True, '拷': True, '拼': True, '拽': True, '拾': True, '拿': True, '持': True, '挂': True, '指': True, '挈': True, '按': True, '挎': True, '挑': True, '挓': True, '挖': True, '挚': True, '挛': True, '挝': True, '挞': True, '挟': True, '挠': True, '挡': True, '挣': True, '挤': True, '挥': True, '挦': True, '挨': True, '挪': True, '挫': True, '振': True, '挲': True, '挹': True, '挺': True, '挽': True, '捂': True, '捃': True, '捅': True, '捆': True, '捉': True, '捋': True, '捌': True, '捍': True, '捎': True, '捏': True, '捐': True, '捕': True, '捞': True, '损': True, '捡': True, '换': True, '捣': True, '捧': True, '捩': True, '捭': True, '据': True, '捯': True, '捶': True, '捷': True, '捺': True, '捻': True, '捽': True, '掀': True, '掂': True, '掇': True, '授': True, '掉': True, '掊': True, '掌': True, '掎': True, '掏': True, '掐': True, '排': True, '掖': True, '掘': True, '掞': True, '掠': True, '探': True, '掣': True, '接': True, '控': True, '推': True, '掩': True, '措': True, '掬': True, '掭': True, '掮': True, '掰': True, '掳': True, '掴': True, '掷': True, '掸': True, '掺': True, '掼': True, '掾': True, '揄': True, '揆': True, '揉': True, '揍': True, '描': True, '提': True, '插': True, '揕': True, '揖': True, '揠': True, '握': True, '揣': True, '揩': True, '揪': True, '揭': True, '揳': True, '援': True, '揶': True, '揸': True, '揽': True, '揿': True, '搀': True, '搁': True, '搂': True, '搅': True, '搋': True, '搌': True, '搏': True, '搐': True, '搒': True, '搓': True, '搔': True, '搛': True, '搜': True, '搞': True, '搠': True, '搡': True, '搦': True, '搪': True, '搬': True, '搭': True, '搴': True, '携': True, '搽': True, '摁': True, '摄': True, '摅': True, '摆': True, '摇': True, '摈': True, '摊': True, '摏': True, '摒': True, '摔': True, '摘': True, '摛': True, '摞': True, '摧': True, '摩': True, '摭': True, '摴': True, '摸': True, '摹': True, '摽': True, '撂': True, '撄': True, '撅': True, '撇': True, '撑': True, '撒': True, '撕': True, '撖': True, '撙': True, '撞': True, '撤': True, '撩': True, '撬': True, '播': True, '撮': True, '撰': True, '撵': True, '撷': True, '撸': True, '撺': True, '撼': True, '擀': True, '擂': True, '擅': True, '操': True, '擎': True, '擐': True, '擒': True, '擘': True, '擞': True, '擢': True, '擤': True, '擦': True, '擿': True, '攀': True, '攉': True, '攒': True, '攘': True, '攥': True, '攫': True, '攮': True, '支': True, '收': True, '攸': True, '改': True, '攻': True, '攽': True, '放': True, '政': True, '故': True, '效': True, '敉': True, '敌': True, '敏': True, '救': True, '敔': True, '敕': True, '敖': True, '教': True, '敛': True, '敝': True, '敞': True, '敢': True, '散': True, '敦': True, '敩': True, '敫': True, '敬': True, '数': True, '敲': True, '整': True, '敷': True, '文': True, '斋': True, '斌': True, '斐': True, '斑': True, '斓': True, '斗': True, '料': True, '斛': True, '斜': True, '斝': True, '斟': True, '斠': True, '斡': True, '斤': True, '斥': True, '斧': True, '斩': True, '斫': True, '断': True, '斯': True, '新': True, '斶': True, '方': True, '於': True, '施': True, '旁': True, '旃': True, '旄': True, '旅': True, '旆': True, '旋': True, '旌': True, '旎': True, '族': True, '旐': True, '旒': True, '旖': True, '旗': True, '旞': True, '无': True, '既': True, '日': True, '旦': True, '旧': True, '旨': True, '早': True, '旬': True, '旭': True, '旮': True, '旯': True, '旰': True, '旱': True, '旴': True, '旵': True, '时': True, '旷': True, '旸': True, '旺': True, '旻': True, '旿': True, '昀': True, '昂': True, '昃': True, '昄': True, '昆': True, '昇': True, '昈': True, '昉': True, '昊': True, '昌': True, '明': True, '昏': True, '昒': True, '易': True, '昔': True, '昕': True, '昙': True, '昝': True, '星': True, '映': True, '昡': True, '昣': True, '昤': True, '春': True, '昧': True, '昨': True, '昪': True, '昫': True, '昭': True, '是': True, '昱': True, '昳': True, '昴': True, '昵': True, '昶': True, '昺': True, '昼': True, '昽': True, '显': True, '晁': True, '晃': True, '晅': True, '晊': True, '晋': True, '晌': True, '晏': True, '晐': True, '晒': True, '晓': True, '晔': True, '晕': True, '晖': True, '晗': True, '晙': True, '晚': True, '晞': True, '晟': True, '晡': True, '晢': True, '晤': True, '晦': True, '晨': True, '晪': True, '晫': True, '普': True, '景': True, '晰': True, '晱': True, '晴': True, '晶': True, '晷': True, '智': True, '晾': True, '暂': True, '暄': True, '暅': True, '暇': True, '暌': True, '暑': True, '暕': True, '暖': True, '暗': True, '暝': True, '暧': True, '暨': True, '暮': True, '暲': True, '暴': True, '暵': True, '暶': True, '暹': True, '暾': True, '暿': True, '曈': True, '曌': True, '曙': True, '曛': True, '曜': True, '曝': True, '曦': True, '曩': True, '曰': True, '曲': True, '曳': True, '更': True, '曷': True, '曹': True, '曼': True, '曾': True, '替': True, '最': True, '月': True, '有': True, '朋': True, '服': True, '朏': True, '朐': True, '朓': True, '朔': True, '朕': True, '朗': True, '望': True, '朝': True, '期': True, '朦': True, '木': True, '未': True, '末': True, '本': True, '札': True, '术': True, '朱': True, '朳': True, '朴': True, '朵': True, '朸': True, '机': True, '朽': True, '杀': True, '杂': True, '权': True, '杄': True, '杆': True, '杈': True, '杉': True, '杌': True, '李': True, '杏': True, '材': True, '村': True, '杓': True, '杕': True, '杖': True, '杙': True, '杜': True, '杞': True, '束': True, '杠': True, '条': True, '来': True, '杧': True, '杨': True, '杩': True, '杪': True, '杭': True, '杯': True, '杰': True, '杲': True, '杳': True, '杵': True, '杷': True, '杻': True, '杼': True, '松': True, '板': True, '极': True, '构': True, '枅': True, '枇': True, '枉': True, '枋': True, '枍': True, '析': True, '枕': True, '林': True, '枘': True, '枚': True, '果': True, '枝': True, '枞': True, '枢': True, '枣': True, '枥': True, '枧': True, '枨': True, '枪': True, '枫': True, '枭': True, '枯': True, '枰': True, '枲': True, '枳': True, '枵': True, '架': True, '枷': True, '枸': True, '枹': True, '柁': True, '柃': True, '柄': True, '柈': True, '柊': True, '柏': True, '某': True, '柑': True, '柒': True, '染': True, '柔': True, '柖': True, '柘': True, '柙': True, '柚': True, '柜': True, '柝': True, '柞': True, '柠': True, '柢': True, '查': True, '柩': True, '柬': True, '柯': True, '柰': True, '柱': True, '柳': True, '柴': True, '柷': True, '柽': True, '柿': True, '栀': True, '栅': True, '标': True, '栈': True, '栉': True, '栊': True, '栋': True, '栌': True, '栎': True, '栏': True, '栐': True, '树': True, '栒': True, '栓': True, '栖': True, '栗': True, '栝': True, '栟': True, '校': True, '栩': True, '株': True, '栲': True, '栳': True, '栴': True, '样': True, '核': True, '根': True, '栻': True, '格': True, '栽': True, '栾': True, '桀': True, '桁': True, '桂': True, '桃': True, '桄': True, '桅': True, '框': True, '案': True, '桉': True, '桊': True, '桌': True, '桎': True, '桐': True, '桑': True, '桓': True, '桔': True, '桕': True, '桠': True, '桡': True, '桢': True, '档': True, '桤': True, '桥': True, '桦': True, '桧': True, '桨': True, '桩': True, '桫': True, '桯': True, '桲': True, '桴': True, '桶': True, '桷': True, '桹': True, '梁': True, '梃': True, '梅': True, '梆': True, '梌': True, '梏': True, '梓': True, '梗': True, '梠': True, '梢': True, '梣': True, '梦': True, '梧': True, '梨': True, '梭': True, '梯': True, '械': True, '梳': True, '梴': True, '梵': True, '梼': True, '梽': True, '梾': True, '梿': True, '检': True, '棁': True, '棂': True, '棉': True, '棋': True, '棍': True, '棐': True, '棒': True, '棓': True, '棕': True, '棘': True, '棚': True, '棠': True, '棣': True, '棤': True, '棨': True, '棪': True, '棫': True, '棬': True, '森': True, '棰': True, '棱': True, '棵': True, '棹': True, '棺': True, '棻': True, '棼': True, '棽': True, '椀': True, '椁': True, '椅': True, '椆': True, '椋': True, '植': True, '椎': True, '椐': True, '椑': True, '椒': True, '椓': True, '椟': True, '椠': True, '椤': True, '椪': True, '椭': True, '椰': True, '椴': True, '椸': True, '椹': True, '椽': True, '椿': True, '楂': True, '楒': True, '楔': True, '楗': True, '楙': True, '楚': True, '楝': True, '楞': True, '楠': True, '楣': True, '楦': True, '楩': True, '楪': True, '楫': True, '楮': True, '楯': True, '楷': True, '楸': True, '楹': True, '楼': True, '概': True, '榃': True, '榄': True, '榅': True, '榆': True, '榇': True, '榈': True, '榉': True, '榍': True, '榑': True, '榔': True, '榕': True, '榖': True, '榛': True, '榜': True, '榧': True, '榨': True, '榫': True, '榭': True, '榰': True, '榱': True, '榴': True, '榷': True, '榻': True, '槁': True, '槃': True, '槊': True, '槌': True, '槎': True, '槐': True, '槔': True, '槚': True, '槛': True, '槜': True, '槟': True, '槠': True, '槭': True, '槱': True, '槲': True, '槽': True, '槿': True, '樊': True, '樗': True, '樘': True, '樟': True, '模': True, '樨': True, '横': True, '樯': True, '樱': True, '樵': True, '樽': True, '樾': True, '橄': True, '橇': True, '橐': True, '橑': True, '橘': True, '橙': True, '橛': True, '橞': True, '橡': True, '橥': True, '橦': True, '橱': True, '橹': True, '橼': True, '檀': True, '檄': True, '檎': True, '檐': True, '檑': True, '檗': True, '檞': True, '檠': True, '檩': True, '檫': True, '檬': True, '櫆': True, '欂': True, '欠': True, '次': True, '欢': True, '欣': True, '欤': True, '欧': True, '欲': True, '欸': True, '欹': True, '欺': True, '欻': True, '款': True, '歃': True, '歅': True, '歆': True, '歇': True, '歉': True, '歌': True, '歙': True, '止': True, '正': True, '此': True, '步': True, '武': True, '歧': True, '歪': True, '歹': True, '死': True, '歼': True, '殁': True, '殂': True, '殃': True, '殄': True, '殆': True, '殇': True, '殉': True, '殊': True, '残': True, '殍': True, '殒': True, '殓': True, '殖': True, '殚': True, '殛': True, '殡': True, '殣': True, '殪': True, '殳': True, '殴': True, '段': True, '殷': True, '殿': True, '毁': True, '毂': True, '毅': True, '毋': True, '毌': True, '母': True, '每': True, '毐': True, '毒': True, '毓': True, '比': True, '毕': True, '毖': True, '毗': True, '毙': True, '毛': True, '毡': True, '毪': True, '毫': True, '毯': True, '毳': True, '毵': True, '毹': True, '毽': True, '氅': True, '氆': True, '氇': True, '氍': True, '氏': True, '氐': True, '民': True, '氓': True, '气': True, '氕': True, '氖': True, '氘': True, '氙': True, '氚': True, '氛': True, '氟': True, '氡': True, '氢': True, '氤': True, '氦': True, '氧': True, '氨': True, '氩': True, '氪': True, '氮': True, '氯': True, '氰': True, '氲': True, '水': True, '永': True, '氾': True, '氿': True, '汀': True, '汁': True, '求': True, '汆': True, '汇': True, '汈': True, '汉': True, '汊': True, '汋': True, '汐': True, '汔': True, '汕': True, '汗': True, '汛': True, '汜': True, '汝': True, '汞': True, '江': True, '池': True, '污': True, '汤': True, '汧': True, '汨': True, '汩': True, '汪': True, '汫': True, '汭': True, '汰': True, '汲': True, '汴': True, '汶': True, '汹': True, '汽': True, '汾': True, '沁': True, '沂': True, '沃': True, '沄': True, '沅': True, '沆': True, '沇': True, '沈': True, '沉': True, '沌': True, '沏': True, '沐': True, '沓': True, '沔': True, '沘': True, '沙': True, '沚': True, '沛': True, '沟': True, '没': True, '沣': True, '沤': True, '沥': True, '沦': True, '沧': True, '沨': True, '沩': True, '沪': True, '沫': True, '沭': True, '沮': True, '沱': True, '河': True, '沸': True, '油': True, '沺': True, '治': True, '沼': True, '沽': True, '沾': True, '沿': True, '泂': True, '泃': True, '泄': True, '泅': True, '泇': True, '泉': True, '泊': True, '泌': True, '泐': True, '泓': True, '泔': True, '法': True, '泖': True, '泗': True, '泙': True, '泚': True, '泛': True, '泜': True, '泞': True, '泠': True, '泡': True, '波': True, '泣': True, '泥': True, '注': True, '泪': True, '泫': True, '泮': True, '泯': True, '泰': True, '泱': True, '泳': True, '泵': True, '泷': True, '泸': True, '泺': True, '泻': True, '泼': True, '泽': True, '泾': True, '洁': True, '洄': True, '洇': True, '洈': True, '洋': True, '洌': True, '洎': True, '洑': True, '洒': True, '洓': True, '洗': True, '洘': True, '洙': True, '洚': True, '洛': True, '洞': True, '洢': True, '洣': True, '津': True, '洧': True, '洨': True, '洪': True, '洫': True, '洭': True, '洮': True, '洱': True, '洲': True, '洳': True, '洴': True, '洵': True, '洸': True, '洹': True, '洺': True, '活': True, '洼': True, '洽': True, '派': True, '洿': True, '流': True, '浃': True, '浅': True, '浆': True, '浇': True, '浈': True, '浉': True, '浊': True, '测': True, '浍': True, '济': True, '浏': True, '浐': True, '浑': True, '浒': True, '浓': True, '浔': True, '浕': True, '浙': True, '浚': True, '浛': True, '浜': True, '浞': True, '浟': True, '浠': True, '浡': True, '浣': True, '浥': True, '浦': True, '浩': True, '浪': True, '浬': True, '浭': True, '浮': True, '浯': True, '浰': True, '浲': True, '浴': True, '海': True, '浸': True, '浼': True, '涂': True, '涄': True, '涅': True, '消': True, '涉': True, '涌': True, '涍': True, '涎': True, '涐': True, '涑': True, '涓': True, '涔': True, '涕': True, '涘': True, '涛': True, '涝': True, '涞': True, '涟': True, '涠': True, '涡': True, '涢': True, '涣': True, '涤': True, '润': True, '涧': True, '涨': True, '涩': True, '涪': True, '涫': True, '涮': True, '涯': True, '液': True, '涴': True, '涵': True, '涸': True, '涿': True, '淀': True, '淄': True, '淅': True, '淆': True, '淇': True, '淋': True, '淌': True, '淏': True, '淑': True, '淖': True, '淘': True, '淙': True, '淜': True, '淝': True, '淞': True, '淟': True, '淠': True, '淡': True, '淤': True, '淦': True, '淫': True, '淬': True, '淮': True, '淯': True, '深': True, '淳': True, '淴': True, '混': True, '淹': True, '添': True, '淼': True, '清': True, '渊': True, '渌': True, '渍': True, '渎': True, '渐': True, '渑': True, '渔': True, '渗': True, '渚': True, '渝': True, '渟': True, '渠': True, '渡': True, '渣': True, '渤': True, '渥': True, '温': True, '渫': True, '渭': True, '港': True, '渰': True, '渲': True, '渴': True, '游': True, '渺': True, '渼': True, '湃': True, '湄': True, '湉': True, '湍': True, '湎': True, '湑': True, '湓': True, '湔': True, '湖': True, '湘': True, '湛': True, '湜': True, '湝': True, '湟': True, '湣': True, '湫': True, '湮': True, '湲': True, '湴': True, '湾': True, '湿': True, '溁': True, '溃': True, '溅': True, '溆': True, '溇': True, '溉': True, '溍': True, '溏': True, '源': True, '溘': True, '溚': True, '溜': True, '溞': True, '溟': True, '溠': True, '溢': True, '溥': True, '溦': True, '溧': True, '溪': True, '溯': True, '溱': True, '溲': True, '溴': True, '溵': True, '溶': True, '溷': True, '溹': True, '溺': True, '溻': True, '溽': True, '滁': True, '滂': True, '滃': True, '滆': True, '滇': True, '滉': True, '滋': True, '滍': True, '滏': True, '滑': True, '滓': True, '滔': True, '滕': True, '滗': True, '滘': True, '滚': True, '滞': True, '滟': True, '滠': True, '满': True, '滢': True, '滤': True, '滥': True, '滦': True, '滧': True, '滨': True, '滩': True, '滪': True, '滫': True, '滴': True, '滹': True, '漂': True, '漆': True, '漈': True, '漉': True, '漋': True, '漏': True, '漓': True, '演': True, '漕': True, '漖': True, '漠': True, '漤': True, '漦': True, '漩': True, '漪': True, '漫': True, '漭': True, '漯': True, '漱': True, '漳': True, '漴': True, '漶': True, '漷': True, '漹': True, '漻': True, '漼': True, '漾': True, '潆': True, '潇': True, '潋': True, '潍': True, '潏': True, '潖': True, '潘': True, '潜': True, '潞': True, '潟': True, '潢': True, '潦': True, '潩': True, '潭': True, '潮': True, '潲': True, '潴': True, '潵': True, '潸': True, '潺': True, '潼': True, '潽': True, '潾': True, '澂': True, '澄': True, '澈': True, '澉': True, '澌': True, '澍': True, '澎': True, '澛': True, '澜': True, '澡': True, '澥': True, '澧': True, '澪': True, '澭': True, '澳': True, '澴': True, '澶': True, '澹': True, '澼': True, '澽': True, '激': True, '濂': True, '濉': True, '濋': True, '濑': True, '濒': True, '濞': True, '濠': True, '濡': True, '濩': True, '濮': True, '濯': True, '瀌': True, '瀍': True, '瀑': True, '瀔': True, '瀚': True, '瀛': True, '瀣': True, '瀱': True, '瀵': True, '瀹': True, '瀼': True, '灈': True, '灌': True, '灏': True, '灞': True, '火': True, '灭': True, '灯': True, '灰': True, '灵': True, '灶': True, '灸': True, '灼': True, '灾': True, '灿': True, '炀': True, '炅': True, '炆': True, '炉': True, '炊': True, '炌': True, '炎': True, '炒': True, '炔': True, '炕': True, '炖': True, '炘': True, '炙': True, '炜': True, '炝': True, '炟': True, '炣': True, '炫': True, '炬': True, '炭': True, '炮': True, '炯': True, '炱': True, '炳': True, '炷': True, '炸': True, '点': True, '炻': True, '炼': True, '炽': True, '烀': True, '烁': True, '烂': True, '烃': True, '烈': True, '烊': True, '烔': True, '烘': True, '烙': True, '烛': True, '烜': True, '烝': True, '烟': True, '烠': True, '烤': True, '烦': True, '烧': True, '烨': True, '烩': True, '烫': True, '烬': True, '热': True, '烯': True, '烶': True, '烷': True, '烹': True, '烺': True, '烻': True, '烽': True, '焆': True, '焉': True, '焊': True, '焌': True, '焐': True, '焓': True, '焕': True, '焖': True, '焗': True, '焘': True, '焙': True, '焚': True, '焜': True, '焞': True, '焦': True, '焯': True, '焰': True, '焱': True, '然': True, '煁': True, '煃': True, '煅': True, '煊': True, '煋': True, '煌': True, '煎': True, '煓': True, '煜': True, '煞': True, '煟': True, '煤': True, '煦': True, '照': True, '煨': True, '煮': True, '煲': True, '煳': True, '煴': True, '煸': True, '煺': True, '煽': True, '熄': True, '熇': True, '熊': True, '熏': True, '熔': True, '熘': True, '熙': True, '熛': True, '熜': True, '熟': True, '熠': True, '熥': True, '熨': True, '熬': True, '熵': True, '熹': True, '熻': True, '燃': True, '燊': True, '燋': True, '燎': True, '燏': True, '燔': True, '燕': True, '燚': True, '燠': True, '燥': True, '燧': True, '燮': True, '燹': True, '爆': True, '爇': True, '爔': True, '爚': True, '爝': True, '爟': True, '爨': True, '爪': True, '爬': True, '爰': True, '爱': True, '爵': True, '父': True, '爷': True, '爸': True, '爹': True, '爻': True, '爽': True, '爿': True, '牁': True, '牂': True, '片': True, '版': True, '牌': True, '牍': True, '牒': True, '牖': True, '牙': True, '牚': True, '牛': True, '牝': True, '牟': True, '牡': True, '牢': True, '牤': True, '牥': True, '牦': True, '牧': True, '物': True, '牮': True, '牯': True, '牲': True, '牵': True, '特': True, '牺': True, '牻': True, '牾': True, '牿': True, '犀': True, '犁': True, '犄': True, '犇': True, '犊': True, '犋': True, '犍': True, '犏': True, '犒': True, '犟': True, '犨': True, '犬': True, '犯': True, '犰': True, '犴': True, '状': True, '犷': True, '犸': True, '犹': True, '狁': True, '狂': True, '狃': True, '狄': True, '狈': True, '狉': True, '狍': True, '狎': True, '狐': True, '狒': True, '狗': True, '狙': True, '狝': True, '狞': True, '狠': True, '狡': True, '狨': True, '狩': True, '独': True, '狭': True, '狮': True, '狯': True, '狰': True, '狱': True, '狲': True, '狳': True, '狴': True, '狷': True, '狸': True, '狺': True, '狻': True, '狼': True, '猁': True, '猃': True, '猄': True, '猇': True, '猊': True, '猎': True, '猕': True, '猖': True, '猗': True, '猛': True, '猜': True, '猝': True, '猞': True, '猡': True, '猢': True, '猥': True, '猩': True, '猪': True, '猫': True, '猬': True, '献': True, '猯': True, '猰': True, '猱': True, '猴': True, '猷': True, '猹': True, '猺': True, '猾': True, '猿': True, '獍': True, '獐': True, '獒': True, '獗': True, '獠': True, '獬': True, '獭': True, '獯': True, '獴': True, '獾': True, '玃': True, '玄': True, '率': True, '玉': True, '王': True, '玎': True, '玑': True, '玒': True, '玓': True, '玕': True, '玖': True, '玘': True, '玙': True, '玚': True, '玛': True, '玞': True, '玟': True, '玠': True, '玡': True, '玢': True, '玤': True, '玥': True, '玦': True, '玩': True, '玫': True, '玭': True, '玮': True, '环': True, '现': True, '玱': True, '玲': True, '玳': True, '玶': True, '玷': True, '玹': True, '玺': True, '玻': True, '玼': True, '玿': True, '珀': True, '珂': True, '珅': True, '珇': True, '珈': True, '珉': True, '珊': True, '珋': True, '珌': True, '珍': True, '珏': True, '珐': True, '珑': True, '珒': True, '珕': True, '珖': True, '珙': True, '珛': True, '珝': True, '珞': True, '珠': True, '珢': True, '珣': True, '珥': True, '珦': True, '珧': True, '珩': True, '珪': True, '珫': True, '班': True, '珰': True, '珲': True, '珵': True, '珷': True, '珸': True, '珹': True, '珺': True, '珽': True, '琀': True, '球': True, '琄': True, '琅': True, '理': True, '琇': True, '琈': True, '琉': True, '琊': True, '琎': True, '琏': True, '琐': True, '琔': True, '琚': True, '琛': True, '琟': True, '琡': True, '琢': True, '琤': True, '琥': True, '琦': True, '琨': True, '琪': True, '琫': True, '琬': True, '琭': True, '琮': True, '琯': True, '琰': True, '琲': True, '琳': True, '琴': True, '琵': True, '琶': True, '琼': True, '瑀': True, '瑁': True, '瑂': True, '瑃': True, '瑄': True, '瑅': True, '瑆': True, '瑑': True, '瑓': True, '瑔': True, '瑕': True, '瑖': True, '瑗': True, '瑙': True, '瑚': True, '瑛': True, '瑜': True, '瑝': True, '瑞': True, '瑟': True, '瑢': True, '瑧': True, '瑨': True, '瑬': True, '瑭': True, '瑰': True, '瑱': True, '瑳': True, '瑶': True, '瑷': True, '瑾': True, '璀': True, '璁': True, '璃': True, '璆': True, '璇': True, '璈': True, '璋': True, '璎': True, '璐': True, '璒': True, '璘': True, '璜': True, '璞': True, '璟': True, '璠': True, '璥': True, '璧': True, '璨': True, '璩': True, '璪': True, '璬': True, '璮': True, '璱': True, '璲': True, '璺': True, '瓀': True, '瓒': True, '瓖': True, '瓘': True, '瓜': True, '瓞': True, '瓠': True, '瓢': True, '瓣': True, '瓤': True, '瓦': True, '瓮': True, '瓯': True, '瓴': True, '瓶': True, '瓷': True, '瓻': True, '瓿': True, '甄': True, '甍': True, '甏': True, '甑': True, '甓': True, '甗': True, '甘': True, '甚': True, '甜': True, '生': True, '甡': True, '甥': True, '甦': True, '用': True, '甩': True, '甪': True, '甫': True, '甬': True, '甭': True, '甯': True, '田': True, '由': True, '甲': True, '申': True, '电': True, '男': True, '甸': True, '町': True, '画': True, '甾': True, '畀': True, '畅': True, '畈': True, '畋': True, '界': True, '畎': True, '畏': True, '畔': True, '畖': True, '留': True, '畚': True, '畛': True, '畜': True, '畤': True, '略': True, '畦': True, '番': True, '畬': True, '畯': True, '畲': True, '畴': True, '畸': True, '畹': True, '畿': True, '疁': True, '疃': True, '疆': True, '疍': True, '疏': True, '疐': True, '疑': True, '疔': True, '疖': True, '疗': True, '疙': True, '疚': True, '疝': True, '疟': True, '疠': True, '疡': True, '疢': True, '疣': True, '疤': True, '疥': True, '疫': True, '疬': True, '疭': True, '疮': True, '疯': True, '疰': True, '疱': True, '疲': True, '疳': True, '疴': True, '疵': True, '疸': True, '疹': True, '疼': True, '疽': True, '疾': True, '痂': True, '痃': True, '痄': True, '病': True, '症': True, '痈': True, '痉': True, '痊': True, '痍': True, '痒': True, '痓': True, '痔': True, '痕': True, '痘': True, '痛': True, '痞': True, '痢': True, '痣': True, '痤': True, '痦': True, '痧': True, '痨': True, '痪': True, '痫': True, '痰': True, '痱': True, '痴': True, '痹': True, '痼': True, '痿': True, '瘀': True, '瘁': True, '瘃': True, '瘅': True, '瘆': True, '瘊': True, '瘌': True, '瘐': True, '瘕': True, '瘗': True, '瘘': True, '瘙': True, '瘛': True, '瘟': True, '瘠': True, '瘢': True, '瘤': True, '瘥': True, '瘦': True, '瘩': True, '瘪': True, '瘫': True, '瘭': True, '瘰': True, '瘳': True, '瘴': True, '瘵': True, '瘸': True, '瘼': True, '瘾': True, '瘿': True, '癀': True, '癃': True, '癌': True, '癍': True, '癔': True, '癖': True, '癗': True, '癜': True, '癞': True, '癣': True, '癫': True, '癯': True, '癸': True, '登': True, '白': True, '百': True, '癿': True, '皂': True, '的': True, '皆': True, '皇': True, '皈': True, '皋': True, '皎': True, '皑': True, '皓': True, '皕': True, '皖': True, '皙': True, '皛': True, '皞': True, '皤': True, '皦': True, '皭': True, '皮': True, '皱': True, '皲': True, '皴': True, '皿': True, '盂': True, '盅': True, '盆': True, '盈': True, '盉': True, '益': True, '盍': True, '盎': True, '盏': True, '盐': True, '监': True, '盒': True, '盔': True, '盖': True, '盗': True, '盘': True, '盛': True, '盟': True, '盥': True, '盦': True, '目': True, '盯': True, '盱': True, '盲': True, '直': True, '盷': True, '相': True, '盹': True, '盼': True, '盾': True, '省': True, '眄': True, '眇': True, '眈': True, '眉': True, '眊': True, '看': True, '眍': True, '眙': True, '眚': True, '真': True, '眠': True, '眢': True, '眦': True, '眨': True, '眩': True, '眬': True, '眭': True, '眯': True, '眵': True, '眶': True, '眷': True, '眸': True, '眺': True, '眼': True, '着': True, '睁': True, '睃': True, '睄': True, '睇': True, '睎': True, '睐': True, '睑': True, '睚': True, '睛': True, '睡': True, '睢': True, '督': True, '睥': True, '睦': True, '睨': True, '睫': True, '睬': True, '睹': True, '睽': True, '睾': True, '睿': True, '瞀': True, '瞄': True, '瞅': True, '瞋': True, '瞌': True, '瞍': True, '瞎': True, '瞑': True, '瞒': True, '瞟': True, '瞠': True, '瞢': True, '瞥': True, '瞧': True, '瞩': True, '瞪': True, '瞫': True, '瞬': True, '瞭': True, '瞰': True, '瞳': True, '瞵': True, '瞻': True, '瞽': True, '瞿': True, '矍': True, '矗': True, '矛': True, '矜': True, '矞': True, '矢': True, '矣': True, '知': True, '矧': True, '矩': True, '矫': True, '矬': True, '短': True, '矮': True, '矰': True, '石': True, '矶': True, '矸': True, '矻': True, '矼': True, '矾': True, '矿': True, '砀': True, '码': True, '砂': True, '砄': True, '砆': True, '砉': True, '砌': True, '砍': True, '砑': True, '砒': True, '研': True, '砖': True, '砗': True, '砘': True, '砚': True, '砜': True, '砝': True, '砟': True, '砠': True, '砣': True, '砥': True, '砧': True, '砫': True, '砬': True, '砭': True, '砮': True, '砰': True, '破': True, '砵': True, '砷': True, '砸': True, '砹': True, '砺': True, '砻': True, '砼': True, '砾': True, '础': True, '硁': True, '硅': True, '硇': True, '硊': True, '硌': True, '硍': True, '硎': True, '硐': True, '硒': True, '硔': True, '硕': True, '硖': True, '硗': True, '硙': True, '硚': True, '硝': True, '硪': True, '硫': True, '硬': True, '硭': True, '确': True, '硼': True, '硿': True, '碃': True, '碇': True, '碈': True, '碉': True, '碌': True, '碍': True, '碎': True, '碏': True, '碑': True, '碓': True, '碗': True, '碘': True, '碚': True, '碛': True, '碜': True, '碟': True, '碡': True, '碣': True, '碥': True, '碧': True, '碨': True, '碰': True, '碱': True, '碲': True, '碳': True, '碴': True, '碶': True, '碹': True, '碾': True, '磁': True, '磅': True, '磉': True, '磊': True, '磋': True, '磏': True, '磐': True, '磔': True, '磕': True, '磙': True, '磜': True, '磡': True, '磨': True, '磬': True, '磲': True, '磴': True, '磷': True, '磹': True, '磻': True, '礁': True, '礅': True, '礌': True, '礓': True, '礞': True, '礴': True, '礵': True, '示': True, '礼': True, '社': True, '祀': True, '祁': True, '祃': True, '祆': True, '祇': True, '祈': True, '祉': True, '祊': True, '祋': True, '祎': True, '祏': True, '祐': True, '祓': True, '祕': True, '祖': True, '祗': True, '祚': True, '祛': True, '祜': True, '祝': True, '神': True, '祟': True, '祠': True, '祢': True, '祥': True, '祧': True, '票': True, '祭': True, '祯': True, '祲': True, '祷': True, '祸': True, '祺': True, '祼': True, '祾': True, '禀': True, '禁': True, '禄': True, '禅': True, '禊': True, '禋': True, '福': True, '禒': True, '禔': True, '禘': True, '禚': True, '禛': True, '禤': True, '禧': True, '禳': True, '禹': True, '禺': True, '离': True, '禽': True, '禾': True, '秀': True, '私': True, '秃': True, '秆': True, '秉': True, '秋': True, '种': True, '科': True, '秒': True, '秕': True, '秘': True, '租': True, '秣': True, '秤': True, '秦': True, '秧': True, '秩': True, '秫': True, '秬': True, '秭': True, '积': True, '称': True, '秸': True, '移': True, '秽': True, '秾': True, '稀': True, '稂': True, '稃': True, '稆': True, '程': True, '稌': True, '稍': True, '税': True, '稑': True, '稔': True, '稗': True, '稙': True, '稚': True, '稞': True, '稠': True, '稣': True, '稳': True, '稷': True, '稹': True, '稻': True, '稼': True, '稽': True, '稿': True, '穄': True, '穆': True, '穑': True, '穗': True, '穙': True, '穜': True, '穟': True, '穰': True, '穴': True, '究': True, '穷': True, '穸': True, '穹': True, '空': True, '穿': True, '窀': True, '突': True, '窃': True, '窄': True, '窅': True, '窈': True, '窊': True, '窍': True, '窎': True, '窑': True, '窒': True, '窕': True, '窖': True, '窗': True, '窘': True, '窜': True, '窝': True, '窟': True, '窠': True, '窣': True, '窥': True, '窦': True, '窨': True, '窬': True, '窭': True, '窳': True, '窸': True, '窿': True, '立': True, '竑': True, '竖': True, '竘': True, '站': True, '竞': True, '竟': True, '章': True, '竣': True, '童': True, '竦': True, '竫': True, '竭': True, '端': True, '竹': True, '竺': True, '竽': True, '竿': True, '笃': True, '笄': True, '笆': True, '笈': True, '笊': True, '笋': True, '笏': True, '笑': True, '笔': True, '笕': True, '笙': True, '笛': True, '笞': True, '笠': True, '笤': True, '笥': True, '符': True, '笨': True, '笪': True, '笫': True, '第': True, '笮': True, '笯': True, '笱': True, '笳': True, '笸': True, '笺': True, '笼': True, '笾': True, '筀': True, '筅': True, '筇': True, '等': True, '筋': True, '筌': True, '筏': True, '筐': True, '筑': True, '筒': True, '答': True, '策': True, '筘': True, '筚': True, '筛': True, '筜': True, '筝': True, '筠': True, '筢': True, '筤': True, '筥': True, '筦': True, '筮': True, '筱': True, '筲': True, '筵': True, '筶': True, '筷': True, '筹': True, '筻': True, '筼': True, '签': True, '简': True, '箅': True, '箍': True, '箐': True, '箓': True, '箔': True, '箕': True, '箖': True, '算': True, '箜': True, '管': True, '箢': True, '箦': True, '箧': True, '箨': True, '箩': True, '箪': True, '箫': True, '箬': True, '箭': True, '箱': True, '箴': True, '箸': True, '篁': True, '篆': True, '篇': True, '篌': True, '篑': True, '篓': True, '篙': True, '篚': True, '篝': True, '篡': True, '篥': True, '篦': True, '篪': True, '篮': True, '篯': True, '篱': True, '篷': True, '篼': True, '篾': True, '簃': True, '簇': True, '簉': True, '簋': True, '簌': True, '簏': True, '簕': True, '簖': True, '簝': True, '簟': True, '簠': True, '簧': True, '簪': True, '簰': True, '簸': True, '簿': True, '籀': True, '籁': True, '籍': True, '籥': True, '米': True, '籴': True, '类': True, '籼': True, '籽': True, '粉': True, '粑': True, '粒': True, '粕': True, '粗': True, '粘': True, '粜': True, '粝': True, '粞': True, '粟': True, '粢': True, '粤': True, '粥': True, '粪': True, '粮': True, '粱': True, '粲': True, '粳': True, '粹': True, '粼': True, '粽': True, '精': True, '粿': True, '糁': True, '糅': True, '糇': True, '糈': True, '糊': True, '糌': True, '糍': True, '糒': True, '糕': True, '糖': True, '糗': True, '糙': True, '糜': True, '糟': True, '糠': True, '糨': True, '糯': True, '糵': True, '系': True, '紊': True, '素': True, '索': True, '紧': True, '紫': True, '累': True, '絜': True, '絮': True, '絷': True, '綦': True, '綮': True, '縠': True, '縢': True, '縻': True, '繁': True, '繄': True, '繇': True, '纂': True, '纛': True, '纠': True, '纡': True, '红': True, '纣': True, '纤': True, '纥': True, '约': True, '级': True, '纨': True, '纩': True, '纪': True, '纫': True, '纬': True, '纭': True, '纮': True, '纯': True, '纰': True, '纱': True, '纲': True, '纳': True, '纴': True, '纵': True, '纶': True, '纷': True, '纸': True, '纹': True, '纺': True, '纻': True, '纼': True, '纽': True, '纾': True, '线': True, '绀': True, '绁': True, '绂': True, '练': True, '组': True, '绅': True, '细': True, '织': True, '终': True, '绉': True, '绊': True, '绋': True, '绌': True, '绍': True, '绎': True, '经': True, '绐': True, '绑': True, '绒': True, '结': True, '绔': True, '绕': True, '绖': True, '绗': True, '绘': True, '给': True, '绚': True, '绛': True, '络': True, '绝': True, '绞': True, '统': True, '绠': True, '绡': True, '绢': True, '绣': True, '绤': True, '绥': True, '绦': True, '继': True, '绨': True, '绩': True, '绪': True, '绫': True, '续': True, '绮': True, '绯': True, '绰': True, '绱': True, '绲': True, '绳': True, '维': True, '绵': True, '绶': True, '绷': True, '绸': True, '绹': True, '绺': True, '绻': True, '综': True, '绽': True, '绾': True, '绿': True, '缀': True, '缁': True, '缂': True, '缃': True, '缄': True, '缅': True, '缆': True, '缇': True, '缈': True, '缉': True, '缊': True, '缌': True, '缎': True, '缐': True, '缑': True, '缒': True, '缓': True, '缔': True, '缕': True, '编': True, '缗': True, '缘': True, '缙': True, '缚': True, '缛': True, '缜': True, '缝': True, '缞': True, '缟': True, '缠': True, '缡': True, '缢': True, '缣': True, '缤': True, '缥': True, '缦': True, '缧': True, '缨': True, '缩': True, '缪': True, '缫': True, '缬': True, '缭': True, '缮': True, '缯': True, '缰': True, '缱': True, '缲': True, '缳': True, '缴': True, '缵': True, '缶': True, '缸': True, '缺': True, '罂': True, '罄': True, '罅': True, '罍': True, '罐': True, '网': True, '罔': True, '罕': True, '罗': True, '罘': True, '罚': True, '罟': True, '罡': True, '罢': True, '罨': True, '罩': True, '罪': True, '置': True, '罱': True, '署': True, '罴': True, '罶': True, '罹': True, '罽': True, '罾': True, '羁': True, '羊': True, '羌': True, '美': True, '羑': True, '羓': True, '羔': True, '羕': True, '羖': True, '羚': True, '羝': True, '羞': True, '羟': True, '羡': True, '群': True, '羧': True, '羯': True, '羰': True, '羱': True, '羲': True, '羸': True, '羹': True, '羼': True, '羽': True, '羿': True, '翀': True, '翁': True, '翂': True, '翃': True, '翅': True, '翈': True, '翊': True, '翌': True, '翎': True, '翔': True, '翕': True, '翘': True, '翙': True, '翚': True, '翛': True, '翟': True, '翠': True, '翡': True, '翥': True, '翦': True, '翩': True, '翮': True, '翯': True, '翰': True, '翱': True, '翳': True, '翷': True, '翻': True, '翼': True, '翾': True, '耀': True, '老': True, '考': True, '耄': True, '者': True, '耆': True, '耇': True, '耋': True, '而': True, '耍': True, '耏': True, '耐': True, '耑': True, '耒': True, '耔': True, '耕': True, '耖': True, '耗': True, '耘': True, '耙': True, '耜': True, '耠': True, '耢': True, '耤': True, '耥': True, '耦': True, '耧': True, '耨': True, '耩': True, '耪': True, '耰': True, '耱': True, '耳': True, '耵': True, '耶': True, '耷': True, '耸': True, '耻': True, '耽': True, '耿': True, '聂': True, '聃': True, '聆': True, '聊': True, '聋': True, '职': True, '聍': True, '聒': True, '联': True, '聘': True, '聚': True, '聩': True, '聪': True, '聱': True, '聿': True, '肃': True, '肄': True, '肆': True, '肇': True, '肉': True, '肋': True, '肌': True, '肓': True, '肖': True, '肘': True, '肚': True, '肛': True, '肝': True, '肟': True, '肠': True, '股': True, '肢': True, '肤': True, '肥': True, '肩': True, '肪': True, '肫': True, '肭': True, '肮': True, '肯': True, '肱': True, '育': True, '肴': True, '肷': True, '肸': True, '肺': True, '肼': True, '肽': True, '肾': True, '肿': True, '胀': True, '胁': True, '胂': True, '胃': True, '胄': True, '胆': True, '胈': True, '背': True, '胍': True, '胎': True, '胖': True, '胗': True, '胙': True, '胚': True, '胛': True, '胜': True, '胝': True, '胞': True, '胠': True, '胡': True, '胣': True, '胤': True, '胥': True, '胧': True, '胨': True, '胩': True, '胪': True, '胫': True, '胬': True, '胭': True, '胯': True, '胰': True, '胱': True, '胲': True, '胳': True, '胴': True, '胶': True, '胸': True, '胺': True, '胼': True, '能': True, '脂': True, '脆': True, '脉': True, '脊': True, '脍': True, '脎': True, '脏': True, '脐': True, '脑': True, '脒': True, '脓': True, '脔': True, '脖': True, '脘': True, '脚': True, '脞': True, '脟': True, '脩': True, '脬': True, '脯': True, '脱': True, '脲': True, '脶': True, '脸': True, '脾': True, '脿': True, '腆': True, '腈': True, '腊': True, '腋': True, '腌': True, '腐': True, '腑': True, '腒': True, '腓': True, '腔': True, '腕': True, '腘': True, '腙': True, '腚': True, '腠': True, '腥': True, '腧': True, '腨': True, '腩': True, '腭': True, '腮': True, '腯': True, '腰': True, '腱': True, '腴': True, '腹': True, '腺': True, '腻': True, '腼': True, '腽': True, '腾': True, '腿': True, '膀': True, '膂': True, '膈': True, '膊': True, '膏': True, '膑': True, '膘': True, '膙': True, '膛': True, '膜': True, '膝': True, '膦': True, '膨': True, '膳': True, '膺': True, '膻': True, '臀': True, '臂': True, '臃': True, '臆': True, '臊': True, '臌': True, '臑': True, '臜': True, '臣': True, '臧': True, '自': True, '臬': True, '臭': True, '至': True, '致': True, '臻': True, '臼': True, '臾': True, '舀': True, '舁': True, '舂': True, '舄': True, '舅': True, '舆': True, '舌': True, '舍': True, '舐': True, '舒': True, '舔': True, '舛': True, '舜': True, '舞': True, '舟': True, '舠': True, '舢': True, '舣': True, '舥': True, '航': True, '舫': True, '般': True, '舭': True, '舯': True, '舰': True, '舱': True, '舲': True, '舳': True, '舴': True, '舵': True, '舶': True, '舷': True, '舸': True, '船': True, '舻': True, '舾': True, '艄': True, '艅': True, '艇': True, '艉': True, '艋': True, '艎': True, '艏': True, '艘': True, '艚': True, '艟': True, '艨': True, '艮': True, '良': True, '艰': True, '色': True, '艳': True, '艴': True, '艺': True, '艽': True, '艾': True, '艿': True, '节': True, '芃': True, '芄': True, '芈': True, '芊': True, '芋': True, '芍': True, '芎': True, '芏': True, '芑': True, '芒': True, '芗': True, '芘': True, '芙': True, '芜': True, '芝': True, '芟': True, '芠': True, '芡': True, '芣': True, '芤': True, '芥': True, '芦': True, '芨': True, '芩': True, '芪': True, '芫': True, '芬': True, '芭': True, '芮': True, '芯': True, '芰': True, '花': True, '芳': True, '芴': True, '芷': True, '芸': True, '芹': True, '芼': True, '芽': True, '芾': True, '苁': True, '苄': True, '苇': True, '苈': True, '苉': True, '苊': True, '苋': True, '苌': True, '苍': True, '苎': True, '苏': True, '苑': True, '苒': True, '苓': True, '苔': True, '苕': True, '苗': True, '苘': True, '苛': True, '苜': True, '苞': True, '苟': True, '苠': True, '苡': True, '苣': True, '苤': True, '若': True, '苦': True, '苧': True, '苫': True, '苯': True, '英': True, '苴': True, '苷': True, '苹': True, '苻': True, '苾': True, '茀': True, '茁': True, '茂': True, '范': True, '茄': True, '茅': True, '茆': True, '茈': True, '茉': True, '茋': True, '茌': True, '茎': True, '茏': True, '茑': True, '茓': True, '茔': True, '茕': True, '茗': True, '茚': True, '茛': True, '茜': True, '茝': True, '茧': True, '茨': True, '茫': True, '茬': True, '茭': True, '茯': True, '茱': True, '茳': True, '茴': True, '茵': True, '茶': True, '茸': True, '茹': True, '茺': True, '茼': True, '茽': True, '荀': True, '荁': True, '荃': True, '荄': True, '荆': True, '荇': True, '草': True, '荏': True, '荐': True, '荑': True, '荒': True, '荓': True, '荔': True, '荖': True, '荙': True, '荚': True, '荛': True, '荜': True, '荞': True, '荟': True, '荠': True, '荡': True, '荣': True, '荤': True, '荥': True, '荦': True, '荧': True, '荨': True, '荩': True, '荪': True, '荫': True, '荬': True, '荭': True, '荮': True, '药': True, '荷': True, '荸': True, '荻': True, '荼': True, '荽': True, '莅': True, '莆': True, '莉': True, '莎': True, '莒': True, '莓': True, '莘': True, '莙': True, '莛': True, '莜': True, '莝': True, '莞': True, '莠': True, '莨': True, '莩': True, '莪': True, '莫': True, '莰': True, '莱': True, '莲': True, '莳': True, '莴': True, '莶': True, '获': True, '莸': True, '莹': True, '莺': True, '莼': True, '莽': True, '莿': True, '菀': True, '菁': True, '菂': True, '菅': True, '菇': True, '菉': True, '菊': True, '菌': True, '菍': True, '菏': True, '菔': True, '菖': True, '菘': True, '菜': True, '菝': True, '菟': True, '菠': True, '菡': True, '菥': True, '菩': True, '菪': True, '菰': True, '菱': True, '菲': True, '菹': True, '菼': True, '菽': True, '萁': True, '萃': True, '萄': True, '萆': True, '萋': True, '萌': True, '萍': True, '萎': True, '萏': True, '萑': True, '萘': True, '萚': True, '萜': True, '萝': True, '萣': True, '萤': True, '营': True, '萦': True, '萧': True, '萨': True, '萩': True, '萱': True, '萳': True, '萸': True, '萹': True, '萼': True, '落': True, '葆': True, '葎': True, '葑': True, '葖': True, '著': True, '葙': True, '葚': True, '葛': True, '葜': True, '葡': True, '董': True, '葩': True, '葫': True, '葬': True, '葭': True, '葰': True, '葱': True, '葳': True, '葴': True, '葵': True, '葶': True, '葸': True, '葺': True, '蒂': True, '蒄': True, '蒇': True, '蒈': True, '蒉': True, '蒋': True, '蒌': True, '蒎': True, '蒐': True, '蒗': True, '蒙': True, '蒜': True, '蒟': True, '蒡': True, '蒨': True, '蒯': True, '蒱': True, '蒲': True, '蒴': True, '蒸': True, '蒹': True, '蒺': True, '蒻': True, '蒽': True, '蒿': True, '蓁': True, '蓂': True, '蓄': True, '蓇': True, '蓉': True, '蓊': True, '蓍': True, '蓏': True, '蓐': True, '蓑': True, '蓓': True, '蓖': True, '蓝': True, '蓟': True, '蓠': True, '蓢': True, '蓣': True, '蓥': True, '蓦': True, '蓬': True, '蓰': True, '蓼': True, '蓿': True, '蔀': True, '蔃': True, '蔈': True, '蔊': True, '蔌': True, '蔑': True, '蔓': True, '蔗': True, '蔚': True, '蔟': True, '蔡': True, '蔫': True, '蔬': True, '蔷': True, '蔸': True, '蔹': True, '蔺': True, '蔻': True, '蔼': True, '蔽': True, '蕃': True, '蕈': True, '蕉': True, '蕊': True, '蕖': True, '蕗': True, '蕙': True, '蕞': True, '蕤': True, '蕨': True, '蕰': True, '蕲': True, '蕴': True, '蕹': True, '蕺': True, '蕻': True, '蕾': True, '薁': True, '薄': True, '薅': True, '薇': True, '薏': True, '薛': True, '薜': True, '薢': True, '薤': True, '薨': True, '薪': True, '薮': True, '薯': True, '薰': True, '薳': True, '薷': True, '薸': True, '薹': True, '薿': True, '藁': True, '藉': True, '藏': True, '藐': True, '藓': True, '藕': True, '藜': True, '藟': True, '藠': True, '藤': True, '藦': True, '藨': True, '藩': True, '藻': True, '藿': True, '蘅': True, '蘑': True, '蘖': True, '蘘': True, '蘧': True, '蘩': True, '蘸': True, '蘼': True, '虎': True, '虏': True, '虐': True, '虑': True, '虒': True, '虓': True, '虔': True, '虚': True, '虞': True, '虢': True, '虤': True, '虫': True, '虬': True, '虮': True, '虱': True, '虷': True, '虸': True, '虹': True, '虺': True, '虻': True, '虼': True, '虽': True, '虾': True, '虿': True, '蚀': True, '蚁': True, '蚂': True, '蚄': True, '蚆': True, '蚊': True, '蚋': True, '蚌': True, '蚍': True, '蚓': True, '蚕': True, '蚜': True, '蚝': True, '蚣': True, '蚤': True, '蚧': True, '蚨': True, '蚩': True, '蚪': True, '蚬': True, '蚯': True, '蚰': True, '蚱': True, '蚲': True, '蚴': True, '蚶': True, '蚺': True, '蛀': True, '蛃': True, '蛄': True, '蛆': True, '蛇': True, '蛉': True, '蛊': True, '蛋': True, '蛎': True, '蛏': True, '蛐': True, '蛑': True, '蛔': True, '蛘': True, '蛙': True, '蛛': True, '蛞': True, '蛟': True, '蛤': True, '蛩': True, '蛭': True, '蛮': True, '蛰': True, '蛱': True, '蛲': True, '蛳': True, '蛴': True, '蛸': True, '蛹': True, '蛾': True, '蜀': True, '蜂': True, '蜃': True, '蜇': True, '蜈': True, '蜉': True, '蜊': True, '蜍': True, '蜎': True, '蜐': True, '蜒': True, '蜓': True, '蜕': True, '蜗': True, '蜘': True, '蜚': True, '蜜': True, '蜞': True, '蜡': True, '蜢': True, '蜣': True, '蜥': True, '蜩': True, '蜮': True, '蜱': True, '蜴': True, '蜷': True, '蜻': True, '蜾': True, '蜿': True, '蝇': True, '蝈': True, '蝉': True, '蝌': True, '蝎': True, '蝓': True, '蝗': True, '蝘': True, '蝙': True, '蝠': True, '蝣': True, '蝤': True, '蝥': True, '蝮': True, '蝰': True, '蝲': True, '蝴': True, '蝶': True, '蝻': True, '蝼': True, '蝽': True, '蝾': True, '螂': True, '螃': True, '螅': True, '螈': True, '螋': True, '融': True, '螗': True, '螟': True, '螠': True, '螣': True, '螨': True, '螫': True, '螬': True, '螭': True, '螯': True, '螱': True, '螳': True, '螵': True, '螺': True, '螽': True, '蟀': True, '蟆': True, '蟊': True, '蟋': True, '蟏': True, '蟑': True, '蟒': True, '蟛': True, '蟠': True, '蟥': True, '蟪': True, '蟫': True, '蟮': True, '蟹': True, '蟾': True, '蠃': True, '蠊': True, '蠋': True, '蠓': True, '蠕': True, '蠖': True, '蠡': True, '蠢': True, '蠲': True, '蠹': True, '蠼': True, '血': True, '衃': True, '衄': True, '衅': True, '行': True, '衍': True, '衎': True, '衒': True, '衔': True, '街': True, '衙': True, '衠': True, '衡': True, '衢': True, '衣': True, '补': True, '表': True, '衩': True, '衫': True, '衬': True, '衮': True, '衰': True, '衲': True, '衷': True, '衽': True, '衾': True, '衿': True, '袁': True, '袂': True, '袄': True, '袅': True, '袆': True, '袈': True, '袋': True, '袍': True, '袒': True, '袖': True, '袗': True, '袜': True, '袢': True, '袤': True, '袪': True, '被': True, '袭': True, '袯': True, '袱': True, '袷': True, '袼': True, '裁': True, '裂': True, '装': True, '裆': True, '裈': True, '裉': True, '裎': True, '裒': True, '裔': True, '裕': True, '裘': True, '裙': True, '裛': True, '裟': True, '裢': True, '裣': True, '裤': True, '裥': True, '裨': True, '裰': True, '裱': True, '裳': True, '裴': True, '裸': True, '裹': True, '裼': True, '裾': True, '褂': True, '褊': True, '褐': True, '褒': True, '褓': True, '褕': True, '褙': True, '褚': True, '褛': True, '褟': True, '褡': True, '褥': True, '褪': True, '褫': True, '褯': True, '褰': True, '褴': True, '褶': True, '襁': True, '襄': True, '襕': True, '襚': True, '襜': True, '襞': True, '襟': True, '襦': True, '襫': True, '襻': True, '西': True, '要': True, '覃': True, '覆': True, '见': True, '观': True, '觃': True, '规': True, '觅': True, '视': True, '觇': True, '览': True, '觉': True, '觊': True, '觋': True, '觌': True, '觎': True, '觏': True, '觐': True, '觑': True, '角': True, '觖': True, '觚': True, '觜': True, '觞': True, '觟': True, '解': True, '觥': True, '触': True, '觫': True, '觭': True, '觯': True, '觱': True, '觳': True, '觿': True, '言': True, '訄': True, '訇': True, '訚': True, '訾': True, '詈': True, '詟': True, '詹': True, '誉': True, '誊': True, '誓': True, '謇': True, '警': True, '譬': True, '计': True, '订': True, '讣': True, '认': True, '讥': True, '讦': True, '讧': True, '讨': True, '让': True, '讪': True, '讫': True, '训': True, '议': True, '讯': True, '记': True, '讱': True, '讲': True, '讳': True, '讴': True, '讵': True, '讶': True, '讷': True, '许': True, '讹': True, '论': True, '讻': True, '讼': True, '讽': True, '设': True, '访': True, '诀': True, '证': True, '诂': True, '诃': True, '评': True, '诅': True, '识': True, '诇': True, '诈': True, '诉': True, '诊': True, '诋': True, '诌': True, '词': True, '诎': True, '诏': True, '诐': True, '译': True, '诒': True, '诓': True, '诔': True, '试': True, '诖': True, '诗': True, '诘': True, '诙': True, '诚': True, '诛': True, '诜': True, '话': True, '诞': True, '诟': True, '诠': True, '诡': True, '询': True, '诣': True, '诤': True, '该': True, '详': True, '诧': True, '诨': True, '诩': True, '诫': True, '诬': True, '语': True, '诮': True, '误': True, '诰': True, '诱': True, '诲': True, '诳': True, '说': True, '诵': True, '请': True, '诸': True, '诹': True, '诺': True, '读': True, '诼': True, '诽': True, '课': True, '诿': True, '谀': True, '谁': True, '谂': True, '调': True, '谄': True, '谅': True, '谆': True, '谇': True, '谈': True, '谊': True, '谋': True, '谌': True, '谍': True, '谎': True, '谏': True, '谐': True, '谑': True, '谒': True, '谓': True, '谔': True, '谕': True, '谖': True, '谗': True, '谙': True, '谚': True, '谛': True, '谜': True, '谝': True, '谞': True, '谟': True, '谠': True, '谡': True, '谢': True, '谣': True, '谤': True, '谥': True, '谦': True, '谧': True, '谨': True, '谩': True, '谪': True, '谫': True, '谬': True, '谭': True, '谮': True, '谯': True, '谰': True, '谱': True, '谲': True, '谳': True, '谴': True, '谵': True, '谶': True, '谷': True, '谼': True, '谿': True, '豁': True, '豆': True, '豇': True, '豉': True, '豌': True, '豕': True, '豚': True, '象': True, '豢': True, '豨': True, '豪': True, '豫': True, '豮': True, '豳': True, '豸': True, '豹': True, '豺': True, '貂': True, '貅': True, '貆': True, '貉': True, '貊': True, '貌': True, '貔': True, '貘': True, '贝': True, '贞': True, '负': True, '贡': True, '财': True, '责': True, '贤': True, '败': True, '账': True, '货': True, '质': True, '贩': True, '贪': True, '贫': True, '贬': True, '购': True, '贮': True, '贯': True, '贰': True, '贱': True, '贲': True, '贳': True, '贴': True, '贵': True, '贶': True, '贷': True, '贸': True, '费': True, '贺': True, '贻': True, '贼': True, '贽': True, '贾': True, '贿': True, '赀': True, '赁': True, '赂': True, '赃': True, '资': True, '赅': True, '赆': True, '赇': True, '赈': True, '赉': True, '赊': True, '赋': True, '赌': True, '赍': True, '赎': True, '赏': True, '赐': True, '赑': True, '赒': True, '赓': True, '赔': True, '赕': True, '赖': True, '赗': True, '赘': True, '赙': True, '赚': True, '赛': True, '赜': True, '赝': True, '赞': True, '赟': True, '赠': True, '赡': True, '赢': True, '赣': True, '赤': True, '赦': True, '赧': True, '赪': True, '赫': True, '赭': True, '走': True, '赳': True, '赴': True, '赵': True, '赶': True, '起': True, '趁': True, '趄': True, '超': True, '越': True, '趋': True, '趑': True, '趔': True, '趟': True, '趣': True, '趯': True, '趱': True, '足': True, '趴': True, '趵': True, '趸': True, '趺': True, '趼': True, '趾': True, '趿': True, '跂': True, '跃': True, '跄': True, '跆': True, '跋': True, '跌': True, '跎': True, '跏': True, '跐': True, '跑': True, '跖': True, '跗': True, '跚': True, '跛': True, '距': True, '跞': True, '跟': True, '跣': True, '跤': True, '跨': True, '跪': True, '跬': True, '路': True, '跱': True, '跳': True, '践': True, '跶': True, '跷': True, '跸': True, '跹': True, '跺': True, '跻': True, '跽': True, '踅': True, '踉': True, '踊': True, '踌': True, '踏': True, '踒': True, '踔': True, '踝': True, '踞': True, '踟': True, '踢': True, '踣': True, '踦': True, '踩': True, '踪': True, '踬': True, '踮': True, '踯': True, '踱': True, '踵': True, '踶': True, '踹': True, '踺': True, '踽': True, '蹀': True, '蹁': True, '蹂': True, '蹄': True, '蹅': True, '蹇': True, '蹈': True, '蹉': True, '蹊': True, '蹋': True, '蹐': True, '蹑': True, '蹒': True, '蹙': True, '蹚': True, '蹜': True, '蹢': True, '蹦': True, '蹩': True, '蹬': True, '蹭': True, '蹯': True, '蹰': True, '蹲': True, '蹴': True, '蹶': True, '蹼': True, '蹽': True, '蹾': True, '蹿': True, '躁': True, '躅': True, '躇': True, '躏': True, '躐': True, '躔': True, '躜': True, '躞': True, '身': True, '躬': True, '躯': True, '躲': True, '躺': True, '车': True, '轧': True, '轨': True, '轩': True, '轪': True, '轫': True, '转': True, '轭': True, '轮': True, '软': True, '轰': True, '轱': True, '轲': True, '轳': True, '轴': True, '轵': True, '轶': True, '轷': True, '轸': True, '轹': True, '轺': True, '轻': True, '轼': True, '载': True, '轾': True, '轿': True, '辀': True, '辁': True, '辂': True, '较': True, '辄': True, '辅': True, '辆': True, '辇': True, '辈': True, '辉': True, '辊': True, '辋': True, '辌': True, '辍': True, '辎': True, '辏': True, '辐': True, '辑': True, '辒': True, '输': True, '辔': True, '辕': True, '辖': True, '辗': True, '辘': True, '辙': True, '辚': True, '辛': True, '辜': True, '辞': True, '辟': True, '辣': True, '辨': True, '辩': True, '辫': True, '辰': True, '辱': True, '边': True, '辽': True, '达': True, '辿': True, '迁': True, '迂': True, '迄': True, '迅': True, '过': True, '迈': True, '迎': True, '运': True, '近': True, '迓': True, '返': True, '迕': True, '还': True, '这': True, '进': True, '远': True, '违': True, '连': True, '迟': True, '迢': True, '迤': True, '迥': True, '迦': True, '迨': True, '迩': True, '迪': True, '迫': True, '迭': True, '迮': True, '述': True, '迳': True, '迷': True, '迸': True, '迹': True, '迺': True, '追': True, '退': True, '送': True, '适': True, '逃': True, '逄': True, '逅': True, '逆': True, '选': True, '逊': True, '逋': True, '逍': True, '透': True, '逐': True, '逑': True, '递': True, '途': True, '逖': True, '逗': True, '通': True, '逛': True, '逝': True, '逞': True, '速': True, '造': True, '逡': True, '逢': True, '逦': True, '逭': True, '逮': True, '逯': True, '逴': True, '逵': True, '逶': True, '逸': True, '逻': True, '逼': True, '逾': True, '遁': True, '遂': True, '遄': True, '遆': True, '遇': True, '遍': True, '遏': True, '遐': True, '遑': True, '遒': True, '道': True, '遗': True, '遘': True, '遛': True, '遢': True, '遣': True, '遥': True, '遨': True, '遭': True, '遮': True, '遴': True, '遵': True, '遹': True, '遽': True, '避': True, '邀': True, '邂': True, '邃': True, '邈': True, '邋': True, '邑': True, '邓': True, '邕': True, '邗': True, '邘': True, '邙': True, '邛': True, '邝': True, '邠': True, '邡': True, '邢': True, '那': True, '邦': True, '邨': True, '邪': True, '邬': True, '邮': True, '邯': True, '邰': True, '邱': True, '邲': True, '邳': True, '邴': True, '邵': True, '邶': True, '邸': True, '邹': True, '邺': True, '邻': True, '邽': True, '邾': True, '邿': True, '郁': True, '郃': True, '郄': True, '郅': True, '郇': True, '郈': True, '郊': True, '郎': True, '郏': True, '郐': True, '郑': True, '郓': True, '郗': True, '郚': True, '郛': True, '郜': True, '郝': True, '郡': True, '郢': True, '郤': True, '郦': True, '郧': True, '部': True, '郪': True, '郫': True, '郭': True, '郯': True, '郴': True, '郸': True, '都': True, '郾': True, '郿': True, '鄀': True, '鄂': True, '鄃': True, '鄄': True, '鄅': True, '鄌': True, '鄑': True, '鄗': True, '鄘': True, '鄙': True, '鄚': True, '鄜': True, '鄞': True, '鄠': True, '鄢': True, '鄣': True, '鄫': True, '鄯': True, '鄱': True, '鄹': True, '酂': True, '酃': True, '酅': True, '酆': True, '酉': True, '酊': True, '酋': True, '酌': True, '配': True, '酎': True, '酏': True, '酐': True, '酒': True, '酗': True, '酚': True, '酝': True, '酞': True, '酡': True, '酢': True, '酣': True, '酤': True, '酥': True, '酦': True, '酩': True, '酪': True, '酬': True, '酮': True, '酯': True, '酰': True, '酱': True, '酲': True, '酴': True, '酵': True, '酶': True, '酷': True, '酸': True, '酹': True, '酺': True, '酽': True, '酾': True, '酿': True, '醅': True, '醇': True, '醉': True, '醋': True, '醌': True, '醍': True, '醐': True, '醑': True, '醒': True, '醚': True, '醛': True, '醢': True, '醨': True, '醪': True, '醭': True, '醮': True, '醯': True, '醴': True, '醵': True, '醺': True, '醾': True, '采': True, '釉': True, '释': True, '里': True, '重': True, '野': True, '量': True, '釐': True, '金': True, '釜': True, '鉴': True, '銎': True, '銮': True, '鋆': True, '鋈': True, '錾': True, '鍪': True, '鎏': True, '鏊': True, '鏖': True, '鐾': True, '鑫': True, '钆': True, '钇': True, '针': True, '钉': True, '钊': True, '钋': True, '钌': True, '钍': True, '钎': True, '钏': True, '钐': True, '钒': True, '钓': True, '钔': True, '钕': True, '钖': True, '钗': True, '钘': True, '钙': True, '钚': True, '钛': True, '钜': True, '钝': True, '钞': True, '钟': True, '钠': True, '钡': True, '钢': True, '钣': True, '钤': True, '钥': True, '钦': True, '钧': True, '钨': True, '钩': True, '钪': True, '钫': True, '钬': True, '钭': True, '钮': True, '钯': True, '钰': True, '钱': True, '钲': True, '钳': True, '钴': True, '钵': True, '钷': True, '钹': True, '钺': True, '钻': True, '钼': True, '钽': True, '钾': True, '钿': True, '铀': True, '铁': True, '铂': True, '铃': True, '铄': True, '铅': True, '铆': True, '铈': True, '铉': True, '铊': True, '铋': True, '铌': True, '铍': True, '铎': True, '铏': True, '铐': True, '铑': True, '铒': True, '铕': True, '铖': True, '铗': True, '铘': True, '铙': True, '铚': True, '铛': True, '铜': True, '铝': True, '铞': True, '铟': True, '铠': True, '铡': True, '铢': True, '铣': True, '铤': True, '铥': True, '铧': True, '铨': True, '铩': True, '铪': True, '铫': True, '铬': True, '铭': True, '铮': True, '铯': True, '铰': True, '铱': True, '铲': True, '铳': True, '铴': True, '铵': True, '银': True, '铷': True, '铸': True, '铹': True, '铺': True, '铻': True, '铼': True, '铽': True, '链': True, '铿': True, '销': True, '锁': True, '锂': True, '锃': True, '锄': True, '锅': True, '锆': True, '锇': True, '锈': True, '锉': True, '锊': True, '锋': True, '锌': True, '锍': True, '锎': True, '锏': True, '锐': True, '锑': True, '锒': True, '锓': True, '锔': True, '锕': True, '锖': True, '锗': True, '锘': True, '错': True, '锚': True, '锛': True, '锜': True, '锝': True, '锞': True, '锟': True, '锡': True, '锢': True, '锣': True, '锤': True, '锥': True, '锦': True, '锧': True, '锨': True, '锩': True, '锪': True, '锫': True, '锬': True, '锭': True, '键': True, '锯': True, '锰': True, '锱': True, '锲': True, '锳': True, '锴': True, '锵': True, '锶': True, '锷': True, '锸': True, '锹': True, '锺': True, '锻': True, '锼': True, '锽': True, '锾': True, '锿': True, '镀': True, '镁': True, '镂': True, '镃': True, '镄': True, '镅': True, '镆': True, '镇': True, '镈': True, '镉': True, '镊': True, '镋': True, '镌': True, '镍': True, '镎': True, '镏': True, '镐': True, '镑': True, '镒': True, '镓': True, '镔': True, '镕': True, '镖': True, '镗': True, '镘': True, '镚': True, '镛': True, '镜': True, '镝': True, '镞': True, '镠': True, '镡': True, '镢': True, '镣': True, '镤': True, '镥': True, '镦': True, '镧': True, '镨': True, '镩': True, '镪': True, '镫': True, '镬': True, '镭': True, '镮': True, '镯': True, '镰': True, '镱': True, '镲': True, '镳': True, '镴': True, '镵': True, '镶': True, '长': True, '门': True, '闩': True, '闪': True, '闫': True, '闭': True, '问': True, '闯': True, '闰': True, '闱': True, '闲': True, '闳': True, '间': True, '闵': True, '闶': True, '闷': True, '闸': True, '闹': True, '闺': True, '闻': True, '闼': True, '闽': True, '闾': True, '闿': True, '阀': True, '阁': True, '阂': True, '阃': True, '阄': True, '阅': True, '阆': True, '阇': True, '阈': True, '阉': True, '阊': True, '阋': True, '阌': True, '阍': True, '阎': True, '阏': True, '阐': True, '阑': True, '阒': True, '阔': True, '阕': True, '阖': True, '阗': True, '阘': True, '阙': True, '阚': True, '阜': True, '队': True, '阡': True, '阪': True, '阮': True, '阱': True, '防': True, '阳': True, '阴': True, '阵': True, '阶': True, '阻': True, '阼': True, '阽': True, '阿': True, '陀': True, '陂': True, '附': True, '际': True, '陆': True, '陇': True, '陈': True, '陉': True, '陋': True, '陌': True, '降': True, '陎': True, '限': True, '陑': True, '陔': True, '陕': True, '陛': True, '陞': True, '陟': True, '陡': True, '院': True, '除': True, '陧': True, '陨': True, '险': True, '陪': True, '陬': True, '陲': True, '陴': True, '陵': True, '陶': True, '陷': True, '隃': True, '隅': True, '隆': True, '隈': True, '隋': True, '隍': True, '随': True, '隐': True, '隔': True, '隗': True, '隘': True, '隙': True, '障': True, '隧': True, '隩': True, '隰': True, '隳': True, '隶': True, '隹': True, '隺': True, '隼': True, '隽': True, '难': True, '雀': True, '雁': True, '雄': True, '雅': True, '集': True, '雇': True, '雉': True, '雊': True, '雌': True, '雍': True, '雎': True, '雏': True, '雒': True, '雕': True, '雠': True, '雨': True, '雩': True, '雪': True, '雯': True, '雱': True, '雳': True, '零': True, '雷': True, '雹': True, '雾': True, '需': True, '霁': True, '霄': True, '霅': True, '霆': True, '震': True, '霈': True, '霉': True, '霍': True, '霎': True, '霏': True, '霓': True, '霖': True, '霜': True, '霞': True, '霨': True, '霪': True, '霭': True, '霰': True, '露': True, '霸': True, '霹': True, '霾': True, '青': True, '靓': True, '靖': True, '静': True, '靛': True, '非': True, '靠': True, '靡': True, '面': True, '靥': True, '革': True, '靬': True, '靰': True, '靳': True, '靴': True, '靶': True, '靸': True, '靺': True, '靼': True, '靽': True, '靿': True, '鞁': True, '鞅': True, '鞋': True, '鞍': True, '鞑': True, '鞒': True, '鞔': True, '鞘': True, '鞠': True, '鞡': True, '鞣': True, '鞧': True, '鞨': True, '鞫': True, '鞬': True, '鞭': True, '鞮': True, '鞯': True, '鞲': True, '鞳': True, '鞴': True, '韂': True, '韦': True, '韧': True, '韨': True, '韩': True, '韪': True, '韫': True, '韬': True, '韭': True, '音': True, '韵': True, '韶': True, '页': True, '顶': True, '顷': True, '顸': True, '项': True, '顺': True, '须': True, '顼': True, '顽': True, '顾': True, '顿': True, '颀': True, '颁': True, '颂': True, '颃': True, '预': True, '颅': True, '领': True, '颇': True, '颈': True, '颉': True, '颊': True, '颋': True, '颌': True, '颍': True, '颎': True, '颏': True, '颐': True, '频': True, '颓': True, '颔': True, '颖': True, '颗': True, '题': True, '颙': True, '颚': True, '颛': True, '颜': True, '额': True, '颞': True, '颟': True, '颠': True, '颡': True, '颢': True, '颤': True, '颥': True, '颦': True, '颧': True, '风': True, '飏': True, '飐': True, '飑': True, '飒': True, '飓': True, '飔': True, '飕': True, '飗': True, '飘': True, '飙': True, '飞': True, '食': True, '飧': True, '飨': True, '餍': True, '餐': True, '餮': True, '饔': True, '饕': True, '饥': True, '饧': True, '饨': True, '饩': True, '饪': True, '饫': True, '饬': True, '饭': True, '饮': True, '饯': True, '饰': True, '饱': True, '饲': True, '饳': True, '饴': True, '饵': True, '饶': True, '饷': True, '饸': True, '饹': True, '饺': True, '饻': True, '饼': True, '饽': True, '饿': True, '馁': True, '馃': True, '馄': True, '馅': True, '馆': True, '馇': True, '馈': True, '馉': True, '馊': True, '馋': True, '馌': True, '馍': True, '馏': True, '馐': True, '馑': True, '馒': True, '馓': True, '馔': True, '馕': True, '首': True, '馗': True, '馘': True, '香': True, '馝': True, '馞': True, '馥': True, '馧': True, '馨': True, '马': True, '驭': True, '驮': True, '驯': True, '驰': True, '驱': True, '驲': True, '驳': True, '驴': True, '驵': True, '驶': True, '驷': True, '驸': True, '驹': True, '驺': True, '驻': True, '驼': True, '驽': True, '驾': True, '驿': True, '骀': True, '骁': True, '骂': True, '骃': True, '骄': True, '骅': True, '骆': True, '骇': True, '骈': True, '骉': True, '骊': True, '骋': True, '验': True, '骍': True, '骎': True, '骏': True, '骐': True, '骑': True, '骒': True, '骓': True, '骕': True, '骖': True, '骗': True, '骘': True, '骙': True, '骚': True, '骛': True, '骜': True, '骝': True, '骞': True, '骟': True, '骠': True, '骡': True, '骢': True, '骣': True, '骤': True, '骥': True, '骦': True, '骧': True, '骨': True, '骰': True, '骱': True, '骶': True, '骷': True, '骸': True, '骺': True, '骼': True, '髀': True, '髁': True, '髂': True, '髃': True, '髅': True, '髋': True, '髌': True, '髎': True, '髑': True, '髓': True, '高': True, '髡': True, '髢': True, '髦': True, '髫': True, '髭': True, '髯': True, '髹': True, '髻': True, '髽': True, '鬃': True, '鬈': True, '鬏': True, '鬒': True, '鬓': True, '鬘': True, '鬟': True, '鬣': True, '鬯': True, '鬲': True, '鬶': True, '鬷': True, '鬻': True, '鬼': True, '魁': True, '魂': True, '魃': True, '魄': True, '魅': True, '魆': True, '魇': True, '魈': True, '魉': True, '魋': True, '魍': True, '魏': True, '魑': True, '魔': True, '鱼': True, '鱽': True, '鱾': True, '鱿': True, '鲀': True, '鲁': True, '鲂': True, '鲃': True, '鲅': True, '鲆': True, '鲇': True, '鲈': True, '鲉': True, '鲊': True, '鲋': True, '鲌': True, '鲍': True, '鲎': True, '鲏': True, '鲐': True, '鲑': True, '鲒': True, '鲔': True, '鲕': True, '鲖': True, '鲗': True, '鲘': True, '鲙': True, '鲚': True, '鲛': True, '鲜': True, '鲝': True, '鲞': True, '鲟': True, '鲠': True, '鲡': True, '鲢': True, '鲣': True, '鲤': True, '鲥': True, '鲦': True, '鲧': True, '鲨': True, '鲩': True, '鲪': True, '鲫': True, '鲬': True, '鲭': True, '鲮': True, '鲯': True, '鲰': True, '鲱': True, '鲲': True, '鲳': True, '鲴': True, '鲵': True, '鲷': True, '鲸': True, '鲹': True, '鲺': True, '鲻': True, '鲼': True, '鲽': True, '鲾': True, '鲿': True, '鳀': True, '鳁': True, '鳂': True, '鳃': True, '鳄': True, '鳅': True, '鳇': True, '鳈': True, '鳉': True, '鳊': True, '鳌': True, '鳍': True, '鳎': True, '鳏': True, '鳐': True, '鳑': True, '鳒': True, '鳓': True, '鳔': True, '鳕': True, '鳖': True, '鳗': True, '鳘': True, '鳙': True, '鳚': True, '鳛': True, '鳜': True, '鳝': True, '鳞': True, '鳟': True, '鳠': True, '鳡': True, '鳢': True, '鳣': True, '鳤': True, '鸟': True, '鸠': True, '鸡': True, '鸢': True, '鸣': True, '鸤': True, '鸥': True, '鸦': True, '鸧': True, '鸨': True, '鸩': True, '鸪': True, '鸫': True, '鸬': True, '鸭': True, '鸮': True, '鸯': True, '鸰': True, '鸱': True, '鸲': True, '鸳': True, '鸵': True, '鸶': True, '鸷': True, '鸸': True, '鸹': True, '鸺': True, '鸻': True, '鸼': True, '鸽': True, '鸾': True, '鸿': True, '鹀': True, '鹁': True, '鹂': True, '鹃': True, '鹄': True, '鹅': True, '鹆': True, '鹇': True, '鹈': True, '鹉': True, '鹊': True, '鹋': True, '鹌': True, '鹍': True, '鹎': True, '鹏': True, '鹐': True, '鹑': True, '鹒': True, '鹔': True, '鹕': True, '鹖': True, '鹗': True, '鹘': True, '鹙': True, '鹚': True, '鹛': True, '鹜': True, '鹝': True, '鹞': True, '鹟': True, '鹠': True, '鹡': True, '鹢': True, '鹣': True, '鹤': True, '鹦': True, '鹧': True, '鹨': True, '鹩': True, '鹪': True, '鹫': True, '鹬': True, '鹭': True, '鹮': True, '鹯': True, '鹰': True, '鹱': True, '鹲': True, '鹳': True, '鹴': True, '鹾': True, '鹿': True, '麀': True, '麂': True, '麇': True, '麈': True, '麋': True, '麑': True, '麒': True, '麓': True, '麖': True, '麝': True, '麟': True, '麦': True, '麸': True, '麹': True, '麻': True, '麽': True, '麾': True, '黄': True, '黇': True, '黉': True, '黍': True, '黎': True, '黏': True, '黑': True, '黔': True, '默': True, '黛': True, '黜': True, '黝': True, '黟': True, '黠': True, '黡': True, '黢': True, '黥': True, '黧': True, '黩': True, '黪': True, '黯': True, '黹': True, '黻': True, '黼': True, '黾': True, '鼋': True, '鼍': True, '鼎': True, '鼐': True, '鼒': True, '鼓': True, '鼗': True, '鼙': True, '鼠': True, '鼢': True, '鼩': True, '鼫': True, '鼬': True, '鼯': True, '鼱': True, '鼷': True, '鼹': True, '鼻': True, '鼽': True, '鼾': True, '齁': True, '齇': True, '齉': True, '齐': True, '齑': True, '齿': True, '龀': True, '龁': True, '龂': True, '龃': True, '龄': True, '龅': True, '龆': True, '龇': True, '龈': True, '龉': True, '龊': True, '龋': True, '龌': True, '龙': True, '龚': True, '龛': True, '龟': True, '龠': True, '龢': True, '鿍': True, '鿎': True, '鿏': True, '㑇': True, '㑊': True, '㕮': True, '㘎': True, '㙍': True, '㙘': True, '㙦': True, '㛃': True, '㛚': True, '㛹': True, '㟃': True, '㠇': True, '㠓': True, '㤘': True, '㥄': True, '㧐': True, '㧑': True, '㧟': True, '㫰': True, '㬊': True, '㬎': True, '㬚': True, '㭎': True, '㭕': True, '㮾': True, '㰀': True, '㳇': True, '㳘': True, '㳚': True, '㴔': True, '㵐': True, '㶲': True, '㸆': True, '㸌': True, '㺄': True, '㻬': True, '㽏': True, '㿠': True, '䁖': True, '䂮': True, '䃅': True, '䃎': True, '䅟': True, '䌹': True, '䎃': True, '䎖': True, '䏝': True, '䏡': True, '䏲': True, '䐃': True, '䓖': True, '䓛': True, '䓨': True, '䓫': True, '䓬': True, '䗖': True, '䗛': True, '䗪': True, '䗴': True, '䜣': True, '䝙': True, '䢺': True, '䢼': True, '䣘': True, '䥽': True, '䦃': True, '䲟': True, '䲠': True, '䲢': True, '䴓': True, '䴔': True, '䴕': True, '䴖': True, '䴗': True, '䴘': True, '䴙': True, '䶮': True, '𠅤': True, '𠙶': True, '𠳐': True, '𡎚': True, '𡐓': True, '𣗋': True, '𣲗': True, '𣲘': True, '𣸣': True, '𤧛': True, '𤩽': True, '𤫉': True, '𥔲': True, '𥕢': True, '𥖨': True, '𥻗': True, '𦈡': True, '𦒍': True, '𦙶': True, '𦝼': True, '𦭜': True, '𦰡': True, '𧿹': True, '𨐈': True, '𨙸': True, '𨚕': True, '𨟠': True, '𨭉': True, '𨱇': True, '𨱏': True, '𨱑': True, '𨱔': True, '𨺙': True, '𩽾': True, '𩾃': True, '𩾌': True, '𪟝': True, '𪣻': True, '𪤗': True, '𪨰': True, '𪨶': True, '𪩘': True, '𪾢': True, '𫄧': True, '𫄨': True, '𫄷': True, '𫄸': True, '𫇭': True, '𫌀': True, '𫍣': True, '𫍯': True, '𫍲': True, '𫍽': True, '𫐄': True, '𫐐': True, '𫐓': True, '𫑡': True, '𫓧': True, '𫓯': True, '𫓶': True, '𫓹': True, '𫔍': True, '𫔎': True, '𫔶': True, '𫖮': True, '𫖯': True, '𫖳': True, '𫗧': True, '𫗴': True, '𫘜': True, '𫘝': True, '𫘦': True, '𫘧': True, '𫘨': True, '𫘪': True, '𫘬': True, '𫚕': True, '𫚖': True, '𫚭': True, '𫛭': True, '𫞩': True, '𫟅': True, '𫟦': True, '𫟹': True, '𫟼': True, '𫠆': True, '𫠊': True, '𫠜': True, '𫢸': True, '𫫇': True, '𫭟': True, '𫭢': True, '𫭼': True, '𫮃': True, '𫰛': True, '𫵷': True, '𫶇': True, '𫷷': True, '𫸩': True, '𬀩': True, '𬀪': True, '𬂩': True, '𬃊': True, '𬇕': True, '𬇙': True, '𬇹': True, '𬉼': True, '𬊈': True, '𬊤': True, '𬌗': True, '𬍛': True, '𬍡': True, '𬍤': True, '𬒈': True, '𬒔': True, '𬒗': True, '𬕂': True, '𬘓': True, '𬘘': True, '𬘡': True, '𬘩': True, '𬘫': True, '𬘬': True, '𬘭': True, '𬘯': True, '𬙂': True, '𬙊': True, '𬙋': True, '𬜬': True, '𬜯': True, '𬞟': True, '𬟁': True, '𬟽': True, '𬣙': True, '𬣞': True, '𬣡': True, '𬣳': True, '𬤇': True, '𬤊': True, '𬤝': True, '𬨂': True, '𬨎': True, '𬩽': True, '𬪩': True, '𬬩': True, '𬬭': True, '𬬮': True, '𬬱': True, '𬬸': True, '𬬹': True, '𬬻': True, '𬬿': True, '𬭁': True, '𬭊': True, '𬭎': True, '𬭚': True, '𬭛': True, '𬭤': True, '𬭩': True, '𬭬': True, '𬭯': True, '𬭳': True, '𬭶': True, '𬭸': True, '𬭼': True, '𬮱': True, '𬮿': True, '𬯀': True, '𬯎': True, '𬱖': True, '𬱟': True, '𬳵': True, '𬳶': True, '𬳽': True, '𬳿': True, '𬴂': True, '𬴃': True, '𬴊': True, '𬶋': True, '𬶍': True, '𬶏': True, '𬶐': True, '𬶟': True, '𬶠': True, '𬶨': True, '𬶭': True, '𬶮': True, '𬷕': True, '𬸘': True, '𬸚': True, '𬸣': True, '𬸦': True, '𬸪': True, '𬹼': True, '𬺈': True, '𬺓': True, '吶': True, '诶': True, '屌': True, '囧': True, '飚': True, '屄': True, 'a': True, 'b': True, 'c': True, 'd': True, 'e': True, 'f': True, 'g': True, 'h': True, 'i': True, 'j': True, 'k': True, 'l': True, 'm': True, 'n': True, 'o': True, 'p': True, 'q': True, 'r': True, 's': True, 't': True, 'u': True, 'v': True, 'w': True, 'x': True, 'y': True, 'z': True, 'A': True, 'B': True, 'C': True, 'D': True, 'E': True, 'F': True, 'G': True, 'H': True, 'I': True, 'J': True, 'K': True, 'L': True, 'M': True, 'N': True, 'O': True, 'P': True, 'Q': True, 'R': True, 'S': True, 'T': True, 'U': True, 'V': True, 'W': True, 'X': True, 'Y': True, 'Z': True, '0': True, '1': True, '2': True, '3': True, '4': True, '5': True, '6': True, '7': True, '8': True, '9': True, ' ': True}
class ChineseChar:
395class ChineseChar(object):
396    """
397    中文字符
398    每个字符对应简体和繁体,
399    e.g. 简体 = '负', 繁体 = '負'
400    转换时可转换为简体或繁体
401    """
402
403    def __init__(self, simplified, traditional):
404        self.simplified = simplified
405        self.traditional = traditional
406        # self.__repr__ = self.__str__
407
408    def __str__(self):
409        return self.simplified or self.traditional or None
410
411    def __repr__(self):
412        return self.__str__()

中文字符 每个字符对应简体和繁体, e.g. 简体 = '负', 繁体 = '負' 转换时可转换为简体或繁体

ChineseChar(simplified, traditional)
403    def __init__(self, simplified, traditional):
404        self.simplified = simplified
405        self.traditional = traditional
406        # self.__repr__ = self.__str__
simplified
traditional
class ChineseNumberUnit(ChineseChar):
415class ChineseNumberUnit(ChineseChar):
416    """
417    中文数字/数位字符
418    每个字符除繁简体外还有一个额外的大写字符
419    e.g. '陆' 和 '陸'
420    """
421
422    def __init__(self, power, simplified, traditional, big_s, big_t):
423        super(ChineseNumberUnit, self).__init__(simplified, traditional)
424        self.power = power
425        self.big_s = big_s
426        self.big_t = big_t
427
428    def __str__(self):
429        return "10^{}".format(self.power)
430
431    @classmethod
432    def create(cls, index, value, numbering_type=NUMBERING_TYPES[1], small_unit=False):
433        if small_unit:
434            return ChineseNumberUnit(
435                power=index + 1, simplified=value[0], traditional=value[1], big_s=value[1], big_t=value[1]
436            )
437        elif numbering_type == NUMBERING_TYPES[0]:
438            return ChineseNumberUnit(
439                power=index + 8, simplified=value[0], traditional=value[1], big_s=value[0], big_t=value[1]
440            )
441        elif numbering_type == NUMBERING_TYPES[1]:
442            return ChineseNumberUnit(
443                power=(index + 2) * 4, simplified=value[0], traditional=value[1], big_s=value[0], big_t=value[1]
444            )
445        elif numbering_type == NUMBERING_TYPES[2]:
446            return ChineseNumberUnit(
447                power=pow(2, index + 3), simplified=value[0], traditional=value[1], big_s=value[0], big_t=value[1]
448            )
449        else:
450            raise ValueError("Counting type should be in {0} ({1} provided).".format(NUMBERING_TYPES, numbering_type))

中文数字/数位字符 每个字符除繁简体外还有一个额外的大写字符 e.g. '陆' 和 '陸'

ChineseNumberUnit(power, simplified, traditional, big_s, big_t)
422    def __init__(self, power, simplified, traditional, big_s, big_t):
423        super(ChineseNumberUnit, self).__init__(simplified, traditional)
424        self.power = power
425        self.big_s = big_s
426        self.big_t = big_t
power
big_s
big_t
@classmethod
def create(cls, index, value, numbering_type='mid', small_unit=False):
431    @classmethod
432    def create(cls, index, value, numbering_type=NUMBERING_TYPES[1], small_unit=False):
433        if small_unit:
434            return ChineseNumberUnit(
435                power=index + 1, simplified=value[0], traditional=value[1], big_s=value[1], big_t=value[1]
436            )
437        elif numbering_type == NUMBERING_TYPES[0]:
438            return ChineseNumberUnit(
439                power=index + 8, simplified=value[0], traditional=value[1], big_s=value[0], big_t=value[1]
440            )
441        elif numbering_type == NUMBERING_TYPES[1]:
442            return ChineseNumberUnit(
443                power=(index + 2) * 4, simplified=value[0], traditional=value[1], big_s=value[0], big_t=value[1]
444            )
445        elif numbering_type == NUMBERING_TYPES[2]:
446            return ChineseNumberUnit(
447                power=pow(2, index + 3), simplified=value[0], traditional=value[1], big_s=value[0], big_t=value[1]
448            )
449        else:
450            raise ValueError("Counting type should be in {0} ({1} provided).".format(NUMBERING_TYPES, numbering_type))
Inherited Members
ChineseChar
simplified
traditional
class ChineseNumberDigit(ChineseChar):
453class ChineseNumberDigit(ChineseChar):
454    """
455    中文数字字符
456    """
457
458    def __init__(self, value, simplified, traditional, big_s, big_t, alt_s=None, alt_t=None):
459        super(ChineseNumberDigit, self).__init__(simplified, traditional)
460        self.value = value
461        self.big_s = big_s
462        self.big_t = big_t
463        self.alt_s = alt_s
464        self.alt_t = alt_t
465
466    def __str__(self):
467        return str(self.value)
468
469    @classmethod
470    def create(cls, i, v):
471        return ChineseNumberDigit(i, v[0], v[1], v[2], v[3])

中文数字字符

ChineseNumberDigit(value, simplified, traditional, big_s, big_t, alt_s=None, alt_t=None)
458    def __init__(self, value, simplified, traditional, big_s, big_t, alt_s=None, alt_t=None):
459        super(ChineseNumberDigit, self).__init__(simplified, traditional)
460        self.value = value
461        self.big_s = big_s
462        self.big_t = big_t
463        self.alt_s = alt_s
464        self.alt_t = alt_t
value
big_s
big_t
alt_s
alt_t
@classmethod
def create(cls, i, v):
469    @classmethod
470    def create(cls, i, v):
471        return ChineseNumberDigit(i, v[0], v[1], v[2], v[3])
Inherited Members
ChineseChar
simplified
traditional
class ChineseMath(ChineseChar):
474class ChineseMath(ChineseChar):
475    """
476    中文数位字符
477    """
478
479    def __init__(self, simplified, traditional, symbol, expression=None):
480        super(ChineseMath, self).__init__(simplified, traditional)
481        self.symbol = symbol
482        self.expression = expression
483        self.big_s = simplified
484        self.big_t = traditional

中文数位字符

ChineseMath(simplified, traditional, symbol, expression=None)
479    def __init__(self, simplified, traditional, symbol, expression=None):
480        super(ChineseMath, self).__init__(simplified, traditional)
481        self.symbol = symbol
482        self.expression = expression
483        self.big_s = simplified
484        self.big_t = traditional
symbol
expression
big_s
big_t
Inherited Members
ChineseChar
simplified
traditional
class NumberSystem:
490class NumberSystem(object):
491    """
492    中文数字系统
493    """
494
495    pass

中文数字系统

class MathSymbol:
498class MathSymbol(object):
499    """
500    用于中文数字系统的数学符号 (繁/简体), e.g.
501    positive = ['正', '正']
502    negative = ['负', '負']
503    point = ['点', '點']
504    """
505
506    def __init__(self, positive, negative, point):
507        self.positive = positive
508        self.negative = negative
509        self.point = point
510
511    def __iter__(self):
512        for v in self.__dict__.values():
513            yield v

用于中文数字系统的数学符号 (繁/简体), e.g. positive = ['正', '正'] negative = ['负', '負'] point = ['点', '點']

MathSymbol(positive, negative, point)
506    def __init__(self, positive, negative, point):
507        self.positive = positive
508        self.negative = negative
509        self.point = point
positive
negative
point
def create_system(numbering_type='mid'):
532def create_system(numbering_type=NUMBERING_TYPES[1]):
533    """
534    根据数字系统类型返回创建相应的数字系统,默认为 mid
535    NUMBERING_TYPES = ['low', 'mid', 'high']: 中文数字系统类型
536        low:  '兆' = '亿' * '十' = $10^{9}$,  '京' = '兆' * '十', etc.
537        mid:  '兆' = '亿' * '万' = $10^{12}$, '京' = '兆' * '万', etc.
538        high: '兆' = '亿' * '亿' = $10^{16}$, '京' = '兆' * '兆', etc.
539    返回对应的数字系统
540    """
541
542    # chinese number units of '亿' and larger
543    all_larger_units = zip(LARGER_CHINESE_NUMERING_UNITS_SIMPLIFIED, LARGER_CHINESE_NUMERING_UNITS_TRADITIONAL)
544    larger_units = [CNU.create(i, v, numbering_type, False) for i, v in enumerate(all_larger_units)]
545    # chinese number units of '十, 百, 千, 万'
546    all_smaller_units = zip(SMALLER_CHINESE_NUMERING_UNITS_SIMPLIFIED, SMALLER_CHINESE_NUMERING_UNITS_TRADITIONAL)
547    smaller_units = [CNU.create(i, v, small_unit=True) for i, v in enumerate(all_smaller_units)]
548    # digis
549    chinese_digis = zip(CHINESE_DIGIS, CHINESE_DIGIS, BIG_CHINESE_DIGIS_SIMPLIFIED, BIG_CHINESE_DIGIS_TRADITIONAL)
550    digits = [CND.create(i, v) for i, v in enumerate(chinese_digis)]
551    digits[0].alt_s, digits[0].alt_t = ZERO_ALT, ZERO_ALT
552    digits[1].alt_s, digits[1].alt_t = ONE_ALT, ONE_ALT
553    digits[2].alt_s, digits[2].alt_t = TWO_ALTS[0], TWO_ALTS[1]
554
555    # symbols
556    positive_cn = CM(POSITIVE[0], POSITIVE[1], "+", lambda x: x)
557    negative_cn = CM(NEGATIVE[0], NEGATIVE[1], "-", lambda x: -x)
558    point_cn = CM(POINT[0], POINT[1], ".", lambda x, y: float(str(x) + "." + str(y)))
559    # sil_cn = CM(SIL[0], SIL[1], '-', lambda x, y: float(str(x) + '-' + str(y)))
560    system = NumberSystem()
561    system.units = smaller_units + larger_units
562    system.digits = digits
563    system.math = MathSymbol(positive_cn, negative_cn, point_cn)
564    # system.symbols = OtherSymbol(sil_cn)
565    return system

根据数字系统类型返回创建相应的数字系统,默认为 mid NUMBERING_TYPES = ['low', 'mid', 'high']: 中文数字系统类型 low: '兆' = '亿' * '十' = $10^{9}$, '京' = '兆' * '十', etc. mid: '兆' = '亿' * '万' = $10^{12}$, '京' = '兆' * '万', etc. high: '兆' = '亿' * '亿' = $10^{16}$, '京' = '兆' * '兆', etc. 返回对应的数字系统

def chn2num(chinese_string, numbering_type='mid'):
568def chn2num(chinese_string, numbering_type=NUMBERING_TYPES[1]):
569    def get_symbol(char, system):
570        for u in system.units:
571            if char in [u.traditional, u.simplified, u.big_s, u.big_t]:
572                return u
573        for d in system.digits:
574            if char in [d.traditional, d.simplified, d.big_s, d.big_t, d.alt_s, d.alt_t]:
575                return d
576        for m in system.math:
577            if char in [m.traditional, m.simplified]:
578                return m
579
580    def string2symbols(chinese_string, system):
581        int_string, dec_string = chinese_string, ""
582        for p in [system.math.point.simplified, system.math.point.traditional]:
583            if p in chinese_string:
584                int_string, dec_string = chinese_string.split(p)
585                break
586        return [get_symbol(c, system) for c in int_string], [get_symbol(c, system) for c in dec_string]
587
588    def correct_symbols(integer_symbols, system):
589        """
590        一百八 to 一百八十
591        一亿一千三百万 to 一亿 一千万 三百万
592        """
593
594        if integer_symbols and isinstance(integer_symbols[0], CNU):
595            if integer_symbols[0].power == 1:
596                integer_symbols = [system.digits[1]] + integer_symbols
597
598        if len(integer_symbols) > 1:
599            if isinstance(integer_symbols[-1], CND) and isinstance(integer_symbols[-2], CNU):
600                integer_symbols.append(CNU(integer_symbols[-2].power - 1, None, None, None, None))
601
602        result = []
603        unit_count = 0
604        for s in integer_symbols:
605            if isinstance(s, CND):
606                result.append(s)
607                unit_count = 0
608            elif isinstance(s, CNU):
609                current_unit = CNU(s.power, None, None, None, None)
610                unit_count += 1
611
612            if unit_count == 1:
613                result.append(current_unit)
614            elif unit_count > 1:
615                for i in range(len(result)):
616                    if isinstance(result[-i - 1], CNU) and result[-i - 1].power < current_unit.power:
617                        result[-i - 1] = CNU(result[-i - 1].power + current_unit.power, None, None, None, None)
618        return result
619
620    def compute_value(integer_symbols):
621        """
622        Compute the value.
623        When current unit is larger than previous unit, current unit * all previous units will be used as all previous units.
624        e.g. '两千万' = 2000 * 10000 not 2000 + 10000
625        """
626        value = [0]
627        last_power = 0
628        for s in integer_symbols:
629            if isinstance(s, CND):
630                value[-1] = s.value
631            elif isinstance(s, CNU):
632                value[-1] *= pow(10, s.power)
633                if s.power > last_power:
634                    value[:-1] = list(map(lambda v: v * pow(10, s.power), value[:-1]))
635                    last_power = s.power
636                value.append(0)
637        return sum(value)
638
639    system = create_system(numbering_type)
640    int_part, dec_part = string2symbols(chinese_string, system)
641    int_part = correct_symbols(int_part, system)
642    int_str = str(compute_value(int_part))
643    dec_str = "".join([str(d.value) for d in dec_part])
644    if dec_part:
645        return "{0}.{1}".format(int_str, dec_str)
646    else:
647        return int_str
def num2chn( number_string, numbering_type='mid', big=False, traditional=False, alt_zero=False, alt_one=False, alt_two=True, use_zeros=True, use_units=True):
650def num2chn(
651    number_string,
652    numbering_type=NUMBERING_TYPES[1],
653    big=False,
654    traditional=False,
655    alt_zero=False,
656    alt_one=False,
657    alt_two=True,
658    use_zeros=True,
659    use_units=True,
660):
661    def get_value(value_string, use_zeros=True):
662        striped_string = value_string.lstrip("0")
663
664        # record nothing if all zeros
665        if not striped_string:
666            return []
667
668        # record one digits
669        elif len(striped_string) == 1:
670            if use_zeros and len(value_string) != len(striped_string):
671                return [system.digits[0], system.digits[int(striped_string)]]
672            else:
673                return [system.digits[int(striped_string)]]
674
675        # recursively record multiple digits
676        else:
677            result_unit = next(u for u in reversed(system.units) if u.power < len(striped_string))
678            result_string = value_string[: -result_unit.power]
679            return get_value(result_string) + [result_unit] + get_value(striped_string[-result_unit.power :])
680
681    system = create_system(numbering_type)
682
683    int_dec = number_string.split(".")
684    if len(int_dec) == 1:
685        int_string = int_dec[0]
686        dec_string = ""
687    elif len(int_dec) == 2:
688        int_string = int_dec[0]
689        dec_string = int_dec[1]
690    else:
691        raise ValueError("invalid input num string with more than one dot: {}".format(number_string))
692
693    if use_units and len(int_string) > 1:
694        result_symbols = get_value(int_string)
695    else:
696        result_symbols = [system.digits[int(c)] for c in int_string]
697    dec_symbols = [system.digits[int(c)] for c in dec_string]
698    if dec_string:
699        result_symbols += [system.math.point] + dec_symbols
700
701    if alt_two:
702        liang = CND(2, system.digits[2].alt_s, system.digits[2].alt_t, system.digits[2].big_s, system.digits[2].big_t)
703        for i, v in enumerate(result_symbols):
704            if isinstance(v, CND) and v.value == 2:
705                next_symbol = result_symbols[i + 1] if i < len(result_symbols) - 1 else None
706                previous_symbol = result_symbols[i - 1] if i > 0 else None
707                if isinstance(next_symbol, CNU) and isinstance(previous_symbol, (CNU, type(None))):
708                    if next_symbol.power != 1 and ((previous_symbol is None) or (previous_symbol.power != 1)):
709                        result_symbols[i] = liang
710
711    # if big is True, '两' will not be used and `alt_two` has no impact on output
712    if big:
713        attr_name = "big_"
714        if traditional:
715            attr_name += "t"
716        else:
717            attr_name += "s"
718    else:
719        if traditional:
720            attr_name = "traditional"
721        else:
722            attr_name = "simplified"
723
724    result = "".join([getattr(s, attr_name) for s in result_symbols])
725
726    # if not use_zeros:
727    #     result = result.strip(getattr(system.digits[0], attr_name))
728
729    if alt_zero:
730        result = result.replace(getattr(system.digits[0], attr_name), system.digits[0].alt_s)
731
732    if alt_one:
733        result = result.replace(getattr(system.digits[1], attr_name), system.digits[1].alt_s)
734
735    for i, p in enumerate(POINT):
736        if result.startswith(p):
737            return CHINESE_DIGIS[0] + result
738
739    # ^10, 11, .., 19
740    if (
741        len(result) >= 2
742        and result[1] in [SMALLER_CHINESE_NUMERING_UNITS_SIMPLIFIED[0], SMALLER_CHINESE_NUMERING_UNITS_TRADITIONAL[0]]
743        and result[0] in [CHINESE_DIGIS[1], BIG_CHINESE_DIGIS_SIMPLIFIED[1], BIG_CHINESE_DIGIS_TRADITIONAL[1]]
744    ):
745        result = result[1:]
746
747    return result
class Cardinal:
753class Cardinal:
754    """
755    CARDINAL类
756    """
757
758    def __init__(self, cardinal=None, chntext=None):
759        self.cardinal = cardinal
760        self.chntext = chntext
761
762    def chntext2cardinal(self):
763        return chn2num(self.chntext)
764
765    def cardinal2chntext(self):
766        return num2chn(self.cardinal)

CARDINAL类

Cardinal(cardinal=None, chntext=None)
758    def __init__(self, cardinal=None, chntext=None):
759        self.cardinal = cardinal
760        self.chntext = chntext
cardinal
chntext
def chntext2cardinal(self):
762    def chntext2cardinal(self):
763        return chn2num(self.chntext)
def cardinal2chntext(self):
765    def cardinal2chntext(self):
766        return num2chn(self.cardinal)
class Digit:
769class Digit:
770    """
771    DIGIT类
772    """
773
774    def __init__(self, digit=None, chntext=None):
775        self.digit = digit
776        self.chntext = chntext
777
778    # def chntext2digit(self):
779    #     return chn2num(self.chntext)
780
781    def digit2chntext(self):
782        return num2chn(self.digit, alt_two=False, use_units=False)

DIGIT类

Digit(digit=None, chntext=None)
774    def __init__(self, digit=None, chntext=None):
775        self.digit = digit
776        self.chntext = chntext
digit
chntext
def digit2chntext(self):
781    def digit2chntext(self):
782        return num2chn(self.digit, alt_two=False, use_units=False)
class TelePhone:
785class TelePhone:
786    """
787    TELEPHONE类
788    """
789
790    def __init__(self, telephone=None, raw_chntext=None, chntext=None):
791        self.telephone = telephone
792        self.raw_chntext = raw_chntext
793        self.chntext = chntext
794
795    # def chntext2telephone(self):
796    #     sil_parts = self.raw_chntext.split('<SIL>')
797    #     self.telephone = '-'.join([
798    #         str(chn2num(p)) for p in sil_parts
799    #     ])
800    #     return self.telephone
801
802    def telephone2chntext(self, fixed=False):
803        if fixed:
804            sil_parts = self.telephone.split("-")
805            self.raw_chntext = "<SIL>".join([num2chn(part, alt_two=False, use_units=False) for part in sil_parts])
806            self.chntext = self.raw_chntext.replace("<SIL>", "")
807        else:
808            sp_parts = self.telephone.strip("+").split()
809            self.raw_chntext = "<SP>".join([num2chn(part, alt_two=False, use_units=False) for part in sp_parts])
810            self.chntext = self.raw_chntext.replace("<SP>", "")
811        return self.chntext

TELEPHONE类

TelePhone(telephone=None, raw_chntext=None, chntext=None)
790    def __init__(self, telephone=None, raw_chntext=None, chntext=None):
791        self.telephone = telephone
792        self.raw_chntext = raw_chntext
793        self.chntext = chntext
telephone
raw_chntext
chntext
def telephone2chntext(self, fixed=False):
802    def telephone2chntext(self, fixed=False):
803        if fixed:
804            sil_parts = self.telephone.split("-")
805            self.raw_chntext = "<SIL>".join([num2chn(part, alt_two=False, use_units=False) for part in sil_parts])
806            self.chntext = self.raw_chntext.replace("<SIL>", "")
807        else:
808            sp_parts = self.telephone.strip("+").split()
809            self.raw_chntext = "<SP>".join([num2chn(part, alt_two=False, use_units=False) for part in sp_parts])
810            self.chntext = self.raw_chntext.replace("<SP>", "")
811        return self.chntext
class Fraction:
814class Fraction:
815    """
816    FRACTION类
817    """
818
819    def __init__(self, fraction=None, chntext=None):
820        self.fraction = fraction
821        self.chntext = chntext
822
823    def chntext2fraction(self):
824        denominator, numerator = self.chntext.split("分之")
825        return chn2num(numerator) + "/" + chn2num(denominator)
826
827    def fraction2chntext(self):
828        numerator, denominator = self.fraction.split("/")
829        return num2chn(denominator) + "分之" + num2chn(numerator)

FRACTION类

Fraction(fraction=None, chntext=None)
819    def __init__(self, fraction=None, chntext=None):
820        self.fraction = fraction
821        self.chntext = chntext
fraction
chntext
def chntext2fraction(self):
823    def chntext2fraction(self):
824        denominator, numerator = self.chntext.split("分之")
825        return chn2num(numerator) + "/" + chn2num(denominator)
def fraction2chntext(self):
827    def fraction2chntext(self):
828        numerator, denominator = self.fraction.split("/")
829        return num2chn(denominator) + "分之" + num2chn(numerator)
class Date:
832class Date:
833    """
834    DATE类
835    """
836
837    def __init__(self, date=None, chntext=None):
838        self.date = date
839        self.chntext = chntext
840
841    # def chntext2date(self):
842    #     chntext = self.chntext
843    #     try:
844    #         year, other = chntext.strip().split('年', maxsplit=1)
845    #         year = Digit(chntext=year).digit2chntext() + '年'
846    #     except ValueError:
847    #         other = chntext
848    #         year = ''
849    #     if other:
850    #         try:
851    #             month, day = other.strip().split('月', maxsplit=1)
852    #             month = Cardinal(chntext=month).chntext2cardinal() + '月'
853    #         except ValueError:
854    #             day = chntext
855    #             month = ''
856    #         if day:
857    #             day = Cardinal(chntext=day[:-1]).chntext2cardinal() + day[-1]
858    #     else:
859    #         month = ''
860    #         day = ''
861    #     date = year + month + day
862    #     self.date = date
863    #     return self.date
864
865    def date2chntext(self):
866        date = self.date
867        try:
868            year, other = date.strip().split("年", 1)
869            year = Digit(digit=year).digit2chntext() + "年"
870        except ValueError:
871            other = date
872            year = ""
873        if other:
874            try:
875                month, day = other.strip().split("月", 1)
876                month = Cardinal(cardinal=month).cardinal2chntext() + "月"
877            except ValueError:
878                day = date
879                month = ""
880            if day:
881                day = Cardinal(cardinal=day[:-1]).cardinal2chntext() + day[-1]
882        else:
883            month = ""
884            day = ""
885        chntext = year + month + day
886        self.chntext = chntext
887        return self.chntext

DATE类

Date(date=None, chntext=None)
837    def __init__(self, date=None, chntext=None):
838        self.date = date
839        self.chntext = chntext
date
chntext
def date2chntext(self):
865    def date2chntext(self):
866        date = self.date
867        try:
868            year, other = date.strip().split("年", 1)
869            year = Digit(digit=year).digit2chntext() + "年"
870        except ValueError:
871            other = date
872            year = ""
873        if other:
874            try:
875                month, day = other.strip().split("月", 1)
876                month = Cardinal(cardinal=month).cardinal2chntext() + "月"
877            except ValueError:
878                day = date
879                month = ""
880            if day:
881                day = Cardinal(cardinal=day[:-1]).cardinal2chntext() + day[-1]
882        else:
883            month = ""
884            day = ""
885        chntext = year + month + day
886        self.chntext = chntext
887        return self.chntext
class Money:
890class Money:
891    """
892    MONEY类
893    """
894
895    def __init__(self, money=None, chntext=None):
896        self.money = money
897        self.chntext = chntext
898
899    # def chntext2money(self):
900    #     return self.money
901
902    def money2chntext(self):
903        money = self.money
904        pattern = re.compile(r"(\d+(\.\d+)?)")
905        matchers = pattern.findall(money)
906        if matchers:
907            for matcher in matchers:
908                money = money.replace(matcher[0], Cardinal(cardinal=matcher[0]).cardinal2chntext())
909        self.chntext = money
910        return self.chntext

MONEY类

Money(money=None, chntext=None)
895    def __init__(self, money=None, chntext=None):
896        self.money = money
897        self.chntext = chntext
money
chntext
def money2chntext(self):
902    def money2chntext(self):
903        money = self.money
904        pattern = re.compile(r"(\d+(\.\d+)?)")
905        matchers = pattern.findall(money)
906        if matchers:
907            for matcher in matchers:
908                money = money.replace(matcher[0], Cardinal(cardinal=matcher[0]).cardinal2chntext())
909        self.chntext = money
910        return self.chntext
class Percentage:
913class Percentage:
914    """
915    PERCENTAGE类
916    """
917
918    def __init__(self, percentage=None, chntext=None):
919        self.percentage = percentage
920        self.chntext = chntext
921
922    def chntext2percentage(self):
923        return chn2num(self.chntext.strip().strip("百分之")) + "%"
924
925    def percentage2chntext(self):
926        return "百分之" + num2chn(self.percentage.strip().strip("%"))

PERCENTAGE类

Percentage(percentage=None, chntext=None)
918    def __init__(self, percentage=None, chntext=None):
919        self.percentage = percentage
920        self.chntext = chntext
percentage
chntext
def chntext2percentage(self):
922    def chntext2percentage(self):
923        return chn2num(self.chntext.strip().strip("百分之")) + "%"
def percentage2chntext(self):
925    def percentage2chntext(self):
926        return "百分之" + num2chn(self.percentage.strip().strip("%"))
def normalize_nsw(raw_text):
 929def normalize_nsw(raw_text):
 930    text = "^" + raw_text + "$"
 931
 932    # 规范化日期
 933    pattern = re.compile(r"\D+((([089]\d|(19|20)\d{2})年)?(\d{1,2}月(\d{1,2}[日号])?)?)")
 934    matchers = pattern.findall(text)
 935    if matchers:
 936        # print('date')
 937        for matcher in matchers:
 938            text = text.replace(matcher[0], Date(date=matcher[0]).date2chntext(), 1)
 939
 940    # 规范化金钱
 941    pattern = re.compile(r"\D+((\d+(\.\d+)?)[多余几]?" + CURRENCY_UNITS + r"(\d" + CURRENCY_UNITS + r"?)?)")
 942    matchers = pattern.findall(text)
 943    if matchers:
 944        # print('money')
 945        for matcher in matchers:
 946            text = text.replace(matcher[0], Money(money=matcher[0]).money2chntext(), 1)
 947
 948    # 规范化固话/手机号码
 949    # 手机
 950    # http://www.jihaoba.com/news/show/13680
 951    # 移动:139、138、137、136、135、134、159、158、157、150、151、152、188、187、182、183、184、178、198
 952    # 联通:130、131、132、156、155、186、185、176
 953    # 电信:133、153、189、180、181、177
 954    pattern = re.compile(r"\D((\+?86 ?)?1([38]\d|5[0-35-9]|7[678]|9[89])\d{8})\D")
 955    matchers = pattern.findall(text)
 956    if matchers:
 957        # print('telephone')
 958        for matcher in matchers:
 959            text = text.replace(matcher[0], TelePhone(telephone=matcher[0]).telephone2chntext(), 1)
 960    # 固话
 961    pattern = re.compile(r"\D((0(10|2[1-3]|[3-9]\d{2})-?)?[1-9]\d{6,7})\D")
 962    matchers = pattern.findall(text)
 963    if matchers:
 964        # print('fixed telephone')
 965        for matcher in matchers:
 966            text = text.replace(matcher[0], TelePhone(telephone=matcher[0]).telephone2chntext(fixed=True), 1)
 967
 968    # 规范化分数
 969    pattern = re.compile(r"(\d+/\d+)")
 970    matchers = pattern.findall(text)
 971    if matchers:
 972        # print('fraction')
 973        for matcher in matchers:
 974            text = text.replace(matcher, Fraction(fraction=matcher).fraction2chntext(), 1)
 975
 976    # 规范化百分数
 977    text = text.replace("%", "%")
 978    pattern = re.compile(r"(\d+(\.\d+)?%)")
 979    matchers = pattern.findall(text)
 980    if matchers:
 981        # print('percentage')
 982        for matcher in matchers:
 983            text = text.replace(matcher[0], Percentage(percentage=matcher[0]).percentage2chntext(), 1)
 984
 985    # 规范化纯数+量词
 986    pattern = re.compile(r"(\d+(\.\d+)?)[多余几]?" + COM_QUANTIFIERS)
 987    matchers = pattern.findall(text)
 988    if matchers:
 989        # print('cardinal+quantifier')
 990        for matcher in matchers:
 991            text = text.replace(matcher[0], Cardinal(cardinal=matcher[0]).cardinal2chntext(), 1)
 992
 993    # 规范化数字编号
 994    pattern = re.compile(r"(\d{4,32})")
 995    matchers = pattern.findall(text)
 996    if matchers:
 997        # print('digit')
 998        for matcher in matchers:
 999            text = text.replace(matcher, Digit(digit=matcher).digit2chntext(), 1)
1000
1001    # 规范化纯数
1002    pattern = re.compile(r"(\d+(\.\d+)?)")
1003    matchers = pattern.findall(text)
1004    if matchers:
1005        # print('cardinal')
1006        for matcher in matchers:
1007            text = text.replace(matcher[0], Cardinal(cardinal=matcher[0]).cardinal2chntext(), 1)
1008
1009    # restore P2P, O2O, B2C, B2B etc
1010    pattern = re.compile(r"(([a-zA-Z]+)二([a-zA-Z]+))")
1011    matchers = pattern.findall(text)
1012    if matchers:
1013        # print('particular')
1014        for matcher in matchers:
1015            text = text.replace(matcher[0], matcher[1] + "2" + matcher[2], 1)
1016
1017    return text.lstrip("^").rstrip("$")
def remove_erhua(text):
1020def remove_erhua(text):
1021    """
1022    去除儿化音词中的儿:
1023    他女儿在那边儿 -> 他女儿在那边
1024    """
1025
1026    new_str = ""
1027    while re.search("儿", text):
1028        a = re.search("儿", text).span()
1029        remove_er_flag = 0
1030
1031        if ER_WHITELIST_PATTERN.search(text):
1032            b = ER_WHITELIST_PATTERN.search(text).span()
1033            if b[0] <= a[0]:
1034                remove_er_flag = 1
1035
1036        if remove_er_flag == 0:
1037            new_str = new_str + text[0 : a[0]]
1038            text = text[a[1] :]
1039        else:
1040            new_str = new_str + text[0 : b[1]]
1041            text = text[b[1] :]
1042
1043    text = new_str + text
1044    return text

去除儿化音词中的儿: 他女儿在那边儿 -> 他女儿在那边

def remove_space(text):
1047def remove_space(text):
1048    tokens = text.split()
1049    new = []
1050    for k, t in enumerate(tokens):
1051        if k != 0:
1052            if IN_EN_CHARS.get(tokens[k - 1][-1]) and IN_EN_CHARS.get(t[0]):
1053                new.append(" ")
1054        new.append(t)
1055    return "".join(new)
class TextNorm:
1058class TextNorm:
1059    def __init__(
1060        self,
1061        to_banjiao: bool = False,
1062        to_upper: bool = False,
1063        to_lower: bool = False,
1064        remove_fillers: bool = False,
1065        remove_erhua: bool = False,
1066        check_chars: bool = False,
1067        remove_space: bool = False,
1068        cc_mode: str = "",
1069    ):
1070        self.to_banjiao = to_banjiao
1071        self.to_upper = to_upper
1072        self.to_lower = to_lower
1073        self.remove_fillers = remove_fillers
1074        self.remove_erhua = remove_erhua
1075        self.check_chars = check_chars
1076        self.remove_space = remove_space
1077
1078        self.cc = None
1079        if cc_mode:
1080            from opencc import OpenCC  # Open Chinese Convert: pip install opencc
1081
1082            self.cc = OpenCC(cc_mode)
1083
1084    def __call__(self, text):
1085        if self.cc:
1086            text = self.cc.convert(text)
1087
1088        if self.to_banjiao:
1089            text = text.translate(QJ2BJ_TRANSFORM)
1090
1091        if self.to_upper:
1092            text = text.upper()
1093
1094        if self.to_lower:
1095            text = text.lower()
1096
1097        if self.remove_fillers:
1098            for c in FILLER_CHARS:
1099                text = text.replace(c, "")
1100
1101        if self.remove_erhua:
1102            text = remove_erhua(text)
1103
1104        text = normalize_nsw(text)
1105
1106        text = text.translate(PUNCS_TRANSFORM)
1107
1108        if self.check_chars:
1109            for c in text:
1110                if not IN_VALID_CHARS.get(c):
1111                    print(f"WARNING: illegal char {c} in: {text}", file=sys.stderr)
1112                    return ""
1113
1114        if self.remove_space:
1115            text = remove_space(text)
1116
1117        return text
TextNorm( to_banjiao: bool = False, to_upper: bool = False, to_lower: bool = False, remove_fillers: bool = False, remove_erhua: bool = False, check_chars: bool = False, remove_space: bool = False, cc_mode: str = '')
1059    def __init__(
1060        self,
1061        to_banjiao: bool = False,
1062        to_upper: bool = False,
1063        to_lower: bool = False,
1064        remove_fillers: bool = False,
1065        remove_erhua: bool = False,
1066        check_chars: bool = False,
1067        remove_space: bool = False,
1068        cc_mode: str = "",
1069    ):
1070        self.to_banjiao = to_banjiao
1071        self.to_upper = to_upper
1072        self.to_lower = to_lower
1073        self.remove_fillers = remove_fillers
1074        self.remove_erhua = remove_erhua
1075        self.check_chars = check_chars
1076        self.remove_space = remove_space
1077
1078        self.cc = None
1079        if cc_mode:
1080            from opencc import OpenCC  # Open Chinese Convert: pip install opencc
1081
1082            self.cc = OpenCC(cc_mode)
to_banjiao
to_upper
to_lower
remove_fillers
remove_erhua
check_chars
remove_space
cc
CC = <class 'ChineseChar'>
CNU = <class 'ChineseNumberUnit'>
CND = <class 'ChineseNumberDigit'>
CM = <class 'ChineseMath'>