From 818aac715e47aa0bcda35b2431dbeda4219bb88d Mon Sep 17 00:00:00 2001 From: VictoriousRaptor <10308169+VictoriousRaptor@users.noreply.github.com> Date: Sat, 14 Jun 2025 14:32:00 +0800 Subject: [PATCH] Use lookup table to translate full pinyin to double pinyin --- .../PinyinAlphabet.cs | 166 +- .../UserSettings/Settings.cs | 2 + Flow.Launcher/Flow.Launcher.csproj | 3 + Flow.Launcher/Resources/double_pinyin.json | 3746 +++++++++++++++++ 4 files changed, 3805 insertions(+), 112 deletions(-) create mode 100644 Flow.Launcher/Resources/double_pinyin.json diff --git a/Flow.Launcher.Infrastructure/PinyinAlphabet.cs b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs index 2c548e0a3..6a2cd1e66 100644 --- a/Flow.Launcher.Infrastructure/PinyinAlphabet.cs +++ b/Flow.Launcher.Infrastructure/PinyinAlphabet.cs @@ -2,10 +2,13 @@ using System.Collections.Concurrent; using System.Collections.Generic; using System.Collections.ObjectModel; +using System.IO; using System.Text; +using System.Text.Json; using CommunityToolkit.Mvvm.DependencyInjection; using Flow.Launcher.Infrastructure.UserSettings; using ToolGood.Words.Pinyin; +using Flow.Launcher.Infrastructure.Logger; namespace Flow.Launcher.Infrastructure { @@ -16,9 +19,49 @@ namespace Flow.Launcher.Infrastructure private readonly Settings _settings; + private ReadOnlyDictionary currentDoublePinyinTable; + public PinyinAlphabet() { _settings = Ioc.Default.GetRequiredService(); + LoadDoublePinyinTable(); + + _settings.PropertyChanged += (sender, e) => + { + if (e.PropertyName == nameof(Settings.UseDoublePinyin) || + e.PropertyName == nameof(Settings.DoublePinyinSchema)) + { + LoadDoublePinyinTable(); + _pinyinCache.Clear(); + } + }; + } + + private void LoadDoublePinyinTable() + { + if (_settings.UseDoublePinyin) + { + var tablePath = Path.Join(AppContext.BaseDirectory, "Resources", "double_pinyin.json"); + try + { + using var fs = File.OpenRead(tablePath); + Dictionary> table = JsonSerializer.Deserialize>>(fs); + if (!table.TryGetValue(_settings.DoublePinyinSchema, out var value)) + { + throw new InvalidOperationException("DoublePinyinSchema is invalid."); + } + currentDoublePinyinTable = new ReadOnlyDictionary(value); + } + catch (System.Exception e) + { + Log.Exception(nameof(PinyinAlphabet), "Failed to load double pinyin table from file: " + tablePath, e); + currentDoublePinyinTable = new ReadOnlyDictionary(new Dictionary()); + } + } + else + { + currentDoublePinyinTable = new ReadOnlyDictionary(new Dictionary()); + } } public bool ShouldTranslate(string stringToTranslate) @@ -50,7 +93,7 @@ namespace Flow.Launcher.Infrastructure var resultBuilder = new StringBuilder(); var map = new TranslationMapping(); - var pre = false; + var previousIsChinese = false; for (var i = 0; i < resultList.Length; i++) { @@ -58,18 +101,19 @@ namespace Flow.Launcher.Infrastructure { string dp = _settings.UseDoublePinyin ? ToDoublePin(resultList[i]) : resultList[i]; map.AddNewIndex(i, resultBuilder.Length, dp.Length + 1); - resultBuilder.Append(' '); + if (previousIsChinese) + { + resultBuilder.Append(' '); + } resultBuilder.Append(dp); - pre = true; } else { - if (pre) + if (previousIsChinese) { - pre = false; + previousIsChinese = false; resultBuilder.Append(' '); } - resultBuilder.Append(resultList[i]); } } @@ -83,115 +127,13 @@ namespace Flow.Launcher.Infrastructure #region Double Pinyin - private static readonly ReadOnlyDictionary special = new(new Dictionary(){ - {"A", "aa"}, - {"Ai", "ai"}, - {"An", "an"}, - {"Ang", "ah"}, - {"Ao", "ao"}, - {"E", "ee"}, - {"Ei", "ei"}, - {"En", "en"}, - {"Er", "er"}, - {"O", "oo"}, - {"Ou", "ou"} - }); - - private static readonly ReadOnlyDictionary first = new(new Dictionary(){ - {"Ch", "i"}, - {"Sh", "u"}, - {"Zh", "v"} - }); - - private static readonly ReadOnlyDictionary second = new(new Dictionary() + private string ToDoublePin(string fullPinyin) { - {"ua", "x"}, - {"ei", "w"}, - {"e", "e"}, - {"ou", "z"}, - {"iu", "q"}, - {"ve", "t"}, - {"ue", "t"}, - {"u", "u"}, - {"i", "i"}, - {"o", "o"}, - {"uo", "o"}, - {"ie", "p"}, - {"a", "a"}, - {"ong", "s"}, - {"iong", "s"}, - {"ai", "d"}, - {"ing", "k"}, - {"uai", "k"}, - {"ang", "h"}, - {"uan", "r"}, - {"an", "j"}, - {"en", "f"}, - {"ia", "x"}, - {"iang", "l"}, - {"uang", "l"}, - {"eng", "g"}, - {"in", "b"}, - {"ao", "c"}, - {"v", "v"}, - {"ui", "v"}, - {"un", "y"}, - {"iao", "n"}, - {"ian", "m"} - }); - - private static string ToDoublePin(string fullPinyin) - { - // Assuming s is valid - var fullPinyinSpan = fullPinyin.AsSpan(); - var doublePin = new StringBuilder(); - - // Handle special cases (a, o, e) - if (fullPinyin.Length <= 3 && (fullPinyinSpan[0] == 'a' || fullPinyinSpan[0] == 'e' || fullPinyinSpan[0] == 'o')) + if (currentDoublePinyinTable.TryGetValue(fullPinyin, out var doublePinyinValue)) { - if (special.TryGetValue(fullPinyin, out var value)) - { - return value; - } + return doublePinyinValue; } - - // Check for initials that are two characters long (zh, ch, sh) - if (fullPinyin.Length >= 2) - { - var firstTwoString = fullPinyinSpan[..2].ToString(); - if (first.TryGetValue(firstTwoString, out var firstTwoDoublePin)) - { - doublePin.Append(firstTwoDoublePin); - - var lastTwo = fullPinyinSpan[2..]; - var lastTwoString = lastTwo.ToString(); - if (second.TryGetValue(lastTwoString, out var tmp)) - { - doublePin.Append(tmp); - } - else - { - doublePin.Append(lastTwo); // Todo: original pinyin, remove this line if not needed - } - } - else - { - // Handle single-character initials - doublePin.Append(fullPinyinSpan[0]); - - var lastOne = fullPinyinSpan[1..]; - var lastOneString = lastOne.ToString(); - if (second.TryGetValue(lastOneString, out var tmp)) - { - doublePin.Append(tmp); - } - else - { - doublePin.Append(lastOne); - } - } - } - return doublePin.ToString(); + return fullPinyin; } #endregion diff --git a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs index b10f9502e..e7306e3dd 100644 --- a/Flow.Launcher.Infrastructure/UserSettings/Settings.cs +++ b/Flow.Launcher.Infrastructure/UserSettings/Settings.cs @@ -292,6 +292,8 @@ namespace Flow.Launcher.Infrastructure.UserSettings public bool UseDoublePinyin { get; set; } = true; //For developing + public string DoublePinyinSchema { get; set; } = "XiaoHe"; //For developing + public bool AlwaysPreview { get; set; } = false; public bool AlwaysStartEn { get; set; } = false; diff --git a/Flow.Launcher/Flow.Launcher.csproj b/Flow.Launcher/Flow.Launcher.csproj index d75d15a21..37e1f6bcf 100644 --- a/Flow.Launcher/Flow.Launcher.csproj +++ b/Flow.Launcher/Flow.Launcher.csproj @@ -127,6 +127,9 @@ PreserveNewest + + PreserveNewest + diff --git a/Flow.Launcher/Resources/double_pinyin.json b/Flow.Launcher/Resources/double_pinyin.json new file mode 100644 index 000000000..6b8ae06c0 --- /dev/null +++ b/Flow.Launcher/Resources/double_pinyin.json @@ -0,0 +1,3746 @@ +{ + "XiaoHe": { + "Lv": "lv", + "Lve": "lt", + "Lue": "lt", + "Nv": "nv", + "Nve": "nt", + "Nue": "nt", + "A": "aa", + "O": "oo", + "E": "ee", + "Ai": "ai", + "Ei": "ei", + "Ao": "ao", + "Ou": "ou", + "An": "an", + "En": "en", + "Ang": "ah", + "Eng": "eg", + "Er": "er", + "Yi": "yi", + "Ya": "ya", + "Yo": "yo", + "Ye": "ye", + "Yao": "yc", + "You": "yz", + "Yan": "yj", + "Yin": "yb", + "Yang": "yh", + "Ying": "yk", + "Wu": "wu", + "Wa": "wa", + "Wo": "wo", + "Wai": "wd", + "Wei": "ww", + "Wan": "wj", + "Wen": "wf", + "Wang": "wh", + "Weng": "wg", + "Yu": "yu", + "Yue": "yt", + "Yuan": "yr", + "Yun": "yy", + "Yong": "ys", + "Ba": "ba", + "Bai": "bd", + "Ban": "bj", + "Bang": "bh", + "Bao": "bc", + "Bei": "bw", + "Ben": "bf", + "Beng": "bg", + "Bi": "bi", + "Bian": "bm", + "Biang": "bl", + "Biao": "bn", + "Bie": "bp", + "Bin": "bb", + "Bing": "bk", + "Bo": "bo", + "Bu": "bu", + "Ca": "ca", + "Cai": "cd", + "Can": "cj", + "Cang": "ch", + "Cao": "cc", + "Ce": "ce", + "Cen": "cf", + "Ceng": "cg", + "Cha": "ia", + "Chai": "id", + "Chan": "ij", + "Chang": "ih", + "Chao": "ic", + "Che": "ie", + "Chen": "if", + "Cheng": "ig", + "Chi": "ii", + "Chong": "is", + "Chou": "iz", + "Chu": "iu", + "Chua": "ix", + "Chuai": "ik", + "Chuan": "ir", + "Chuang": "il", + "Chui": "iv", + "Chun": "iy", + "Chuo": "io", + "Ci": "ci", + "Cong": "cs", + "Cou": "cz", + "Cu": "cu", + "Cuan": "cr", + "Cui": "cv", + "Cun": "cy", + "Cuo": "co", + "Da": "da", + "Dai": "dd", + "Dan": "dj", + "Dang": "dh", + "Dao": "dc", + "De": "de", + "Dei": "dw", + "Den": "df", + "Deng": "dg", + "Di": "di", + "Dia": "dx", + "Dian": "dm", + "Diao": "dn", + "Die": "dp", + "Ding": "dk", + "Diu": "dq", + "Dong": "ds", + "Dou": "dz", + "Du": "du", + "Duan": "dr", + "Dui": "dv", + "Dun": "dy", + "Duo": "do", + "Fa": "fa", + "Fan": "fj", + "Fang": "fh", + "Fei": "fw", + "Fen": "ff", + "Feng": "fg", + "Fiao": "fn", + "Fo": "fo", + "Fou": "fz", + "Fu": "fu", + "Ga": "ga", + "Gai": "gd", + "Gan": "gj", + "Gang": "gh", + "Gao": "gc", + "Ge": "ge", + "Gei": "gw", + "Gen": "gf", + "Geng": "gg", + "Gong": "gs", + "Gou": "gz", + "Gu": "gu", + "Gua": "gx", + "Guai": "gk", + "Guan": "gr", + "Guang": "gl", + "Gui": "gv", + "Gun": "gy", + "Guo": "go", + "Ha": "ha", + "Hai": "hd", + "Han": "hj", + "Hang": "hh", + "Hao": "hc", + "He": "he", + "Hei": "hw", + "Hen": "hf", + "Heng": "hg", + "Hong": "hs", + "Hou": "hz", + "Hu": "hu", + "Hua": "hx", + "Huai": "hk", + "Huan": "hr", + "Huang": "hl", + "Hui": "hv", + "Hun": "hy", + "Huo": "ho", + "Ji": "ji", + "Jia": "jx", + "Jian": "jm", + "Jiang": "jl", + "Jiao": "jn", + "Jie": "jp", + "Jin": "jb", + "Jing": "jk", + "Jiong": "js", + "Jiu": "jq", + "Ju": "ju", + "Juan": "jr", + "Jue": "jt", + "Jun": "jy", + "Ka": "ka", + "Kai": "kd", + "Kan": "kj", + "Kang": "kh", + "Kao": "kc", + "Ke": "ke", + "Ken": "kf", + "Keng": "kg", + "Kong": "ks", + "Kou": "kz", + "Ku": "ku", + "Kua": "kx", + "Kuai": "kk", + "Kuan": "kr", + "Kuang": "kl", + "Kui": "kv", + "Kun": "ky", + "Kuo": "ko", + "La": "la", + "Lai": "ld", + "Lan": "lj", + "Lang": "lh", + "Lao": "lc", + "Le": "le", + "Lei": "lw", + "Leng": "lg", + "Li": "li", + "Lia": "lx", + "Lian": "lm", + "Liang": "ll", + "Liao": "ln", + "Lie": "lp", + "Lin": "lb", + "Ling": "lk", + "Liu": "lq", + "Lo": "lo", + "Long": "ls", + "Lou": "lz", + "Lu": "lu", + "Luan": "lr", + "Lun": "ly", + "Luo": "lo", + "Ma": "ma", + "Mai": "md", + "Man": "mj", + "Mang": "mh", + "Mao": "mc", + "Me": "me", + "Mei": "mw", + "Men": "mf", + "Meng": "mg", + "Mi": "mi", + "Mian": "mm", + "Miao": "mn", + "Mie": "mp", + "Min": "mb", + "Ming": "mk", + "Miu": "mq", + "Mo": "mo", + "Mou": "mz", + "Mu": "mu", + "Na": "na", + "Nai": "nd", + "Nan": "nj", + "Nang": "nh", + "Nao": "nc", + "Ne": "ne", + "Nei": "nw", + "Nen": "nf", + "Neng": "ng", + "Ni": "ni", + "Nian": "nm", + "Niang": "nl", + "Niao": "nn", + "Nie": "np", + "Nin": "nb", + "Ning": "nk", + "Niu": "nq", + "Nong": "ns", + "Nou": "nz", + "Nu": "nu", + "Nuan": "nr", + "Nun": "ny", + "Nuo": "no", + "Pa": "pa", + "Pai": "pd", + "Pan": "pj", + "Pang": "ph", + "Pao": "pc", + "Pei": "pw", + "Pen": "pf", + "Peng": "pg", + "Pi": "pi", + "Pian": "pm", + "Piao": "pn", + "Pie": "pp", + "Pin": "pb", + "Ping": "pk", + "Po": "po", + "Pou": "pz", + "Pu": "pu", + "Qi": "qi", + "Qia": "qx", + "Qian": "qm", + "Qiang": "ql", + "Qiao": "qn", + "Qie": "qp", + "Qin": "qb", + "Qing": "qk", + "Qiong": "qs", + "Qiu": "qq", + "Qu": "qu", + "Quan": "qr", + "Que": "qt", + "Qun": "qy", + "Ran": "rj", + "Rang": "rh", + "Rao": "rc", + "Re": "re", + "Ren": "rf", + "Reng": "rg", + "Ri": "ri", + "Rong": "rs", + "Rou": "rz", + "Ru": "ru", + "Rua": "rx", + "Ruan": "rr", + "Rui": "rv", + "Run": "ry", + "Ruo": "ro", + "Sa": "sa", + "Sai": "sd", + "San": "sj", + "Sang": "sh", + "Sao": "sc", + "Se": "se", + "Sen": "sf", + "Seng": "sg", + "Sha": "ua", + "Shai": "ud", + "Shan": "uj", + "Shang": "uh", + "Shao": "uc", + "She": "ue", + "Shei": "uw", + "Shen": "uf", + "Sheng": "ug", + "Shi": "ui", + "Shou": "uz", + "Shu": "uu", + "Shua": "ux", + "Shuai": "uk", + "Shuan": "ur", + "Shuang": "ul", + "Shui": "uv", + "Shun": "uy", + "Shuo": "uo", + "Si": "si", + "Song": "ss", + "Sou": "sz", + "Su": "su", + "Suan": "sr", + "Sui": "sv", + "Sun": "sy", + "Suo": "so", + "Ta": "ta", + "Tai": "td", + "Tan": "tj", + "Tang": "th", + "Tao": "tc", + "Te": "te", + "Tei": "tw", + "Teng": "tg", + "Ti": "ti", + "Tian": "tm", + "Tiao": "tn", + "Tie": "tp", + "Ting": "tk", + "Tong": "ts", + "Tou": "tz", + "Tu": "tu", + "Tuan": "tr", + "Tui": "tv", + "Tun": "ty", + "Tuo": "to", + "Xi": "xi", + "Xia": "xx", + "Xian": "xm", + "Xiang": "xl", + "Xiao": "xn", + "Xie": "xp", + "Xin": "xb", + "Xing": "xk", + "Xiong": "xs", + "Xiu": "xq", + "Xu": "xu", + "Xuan": "xr", + "Xue": "xt", + "Xun": "xy", + "Za": "za", + "Zai": "zd", + "Zan": "zj", + "Zang": "zh", + "Zao": "zc", + "Ze": "ze", + "Zei": "zw", + "Zen": "zf", + "Zeng": "zg", + "Zha": "va", + "Zhai": "vd", + "Zhan": "vj", + "Zhang": "vh", + "Zhao": "vc", + "Zhe": "ve", + "Zhen": "vf", + "Zheng": "vg", + "Zhi": "vi", + "Zhong": "vs", + "Zhou": "vz", + "Zhu": "vu", + "Zhua": "vx", + "Zhuai": "vk", + "Zhuan": "vr", + "Zhuang": "vl", + "Zhui": "vv", + "Zhun": "vy", + "Zhuo": "vo", + "Zi": "zi", + "Zong": "zs", + "Zou": "zz", + "Zu": "zu", + "Zuan": "zr", + "Zui": "zv", + "Zun": "zy", + "Zuo": "zo" + }, + "ZiRanMa": { + "Lv": "lv", + "Lve": "lt", + "Lue": "lt", + "Nv": "nv", + "Nve": "nt", + "Nue": "nt", + "A": "aa", + "O": "oo", + "E": "ee", + "Ai": "ai", + "Ei": "ei", + "Ao": "ao", + "Ou": "ou", + "An": "an", + "En": "en", + "Ang": "ah", + "Eng": "eg", + "Er": "er", + "Yi": "yi", + "Ya": "ya", + "Yo": "yo", + "Ye": "ye", + "Yao": "yk", + "You": "yb", + "Yan": "yj", + "Yin": "yn", + "Yang": "yh", + "Ying": "yy", + "Wu": "wu", + "Wa": "wa", + "Wo": "wo", + "Wai": "wl", + "Wei": "wz", + "Wan": "wj", + "Wen": "wf", + "Wang": "wh", + "Weng": "wg", + "Yu": "yu", + "Yue": "yt", + "Yuan": "yr", + "Yun": "yp", + "Yong": "ys", + "Ba": "ba", + "Bai": "bl", + "Ban": "bj", + "Bang": "bh", + "Bao": "bk", + "Bei": "bz", + "Ben": "bf", + "Beng": "bg", + "Bi": "bi", + "Bian": "bm", + "Biang": "bd", + "Biao": "bc", + "Bie": "bx", + "Bin": "bn", + "Bing": "by", + "Bo": "bo", + "Bu": "bu", + "Ca": "ca", + "Cai": "cl", + "Can": "cj", + "Cang": "ch", + "Cao": "ck", + "Ce": "ce", + "Cen": "cf", + "Ceng": "cg", + "Cha": "ia", + "Chai": "il", + "Chan": "ij", + "Chang": "ih", + "Chao": "ik", + "Che": "ie", + "Chen": "if", + "Cheng": "ig", + "Chi": "ii", + "Chong": "is", + "Chou": "ib", + "Chu": "iu", + "Chua": "iw", + "Chuai": "iy", + "Chuan": "ir", + "Chuang": "id", + "Chui": "iv", + "Chun": "ip", + "Chuo": "io", + "Ci": "ci", + "Cong": "cs", + "Cou": "cb", + "Cu": "cu", + "Cuan": "cr", + "Cui": "cv", + "Cun": "cp", + "Cuo": "co", + "Da": "da", + "Dai": "dl", + "Dan": "dj", + "Dang": "dh", + "Dao": "dk", + "De": "de", + "Dei": "dz", + "Den": "df", + "Deng": "dg", + "Di": "di", + "Dia": "dw", + "Dian": "dm", + "Diao": "dc", + "Die": "dx", + "Ding": "dy", + "Diu": "dq", + "Dong": "ds", + "Dou": "db", + "Du": "du", + "Duan": "dr", + "Dui": "dv", + "Dun": "dp", + "Duo": "do", + "Fa": "fa", + "Fan": "fj", + "Fang": "fh", + "Fei": "fz", + "Fen": "ff", + "Feng": "fg", + "Fiao": "fc", + "Fo": "fo", + "Fou": "fb", + "Fu": "fu", + "Ga": "ga", + "Gai": "gl", + "Gan": "gj", + "Gang": "gh", + "Gao": "gk", + "Ge": "ge", + "Gei": "gz", + "Gen": "gf", + "Geng": "gg", + "Gong": "gs", + "Gou": "gb", + "Gu": "gu", + "Gua": "gw", + "Guai": "gy", + "Guan": "gr", + "Guang": "gd", + "Gui": "gv", + "Gun": "gp", + "Guo": "go", + "Ha": "ha", + "Hai": "hl", + "Han": "hj", + "Hang": "hh", + "Hao": "hk", + "He": "he", + "Hei": "hz", + "Hen": "hf", + "Heng": "hg", + "Hong": "hs", + "Hou": "hb", + "Hu": "hu", + "Hua": "hw", + "Huai": "hy", + "Huan": "hr", + "Huang": "hd", + "Hui": "hv", + "Hun": "hp", + "Huo": "ho", + "Ji": "ji", + "Jia": "jw", + "Jian": "jm", + "Jiang": "jd", + "Jiao": "jc", + "Jie": "jx", + "Jin": "jn", + "Jing": "jy", + "Jiong": "js", + "Jiu": "jq", + "Ju": "ju", + "Juan": "jr", + "Jue": "jt", + "Jun": "jp", + "Ka": "ka", + "Kai": "kl", + "Kan": "kj", + "Kang": "kh", + "Kao": "kk", + "Ke": "ke", + "Ken": "kf", + "Keng": "kg", + "Kong": "ks", + "Kou": "kb", + "Ku": "ku", + "Kua": "kw", + "Kuai": "ky", + "Kuan": "kr", + "Kuang": "kd", + "Kui": "kv", + "Kun": "kp", + "Kuo": "ko", + "La": "la", + "Lai": "ll", + "Lan": "lj", + "Lang": "lh", + "Lao": "lk", + "Le": "le", + "Lei": "lz", + "Leng": "lg", + "Li": "li", + "Lia": "lw", + "Lian": "lm", + "Liang": "ld", + "Liao": "lc", + "Lie": "lx", + "Lin": "ln", + "Ling": "ly", + "Liu": "lq", + "Lo": "lo", + "Long": "ls", + "Lou": "lb", + "Lu": "lu", + "Luan": "lr", + "Lun": "lp", + "Luo": "lo", + "Ma": "ma", + "Mai": "ml", + "Man": "mj", + "Mang": "mh", + "Mao": "mk", + "Me": "me", + "Mei": "mz", + "Men": "mf", + "Meng": "mg", + "Mi": "mi", + "Mian": "mm", + "Miao": "mc", + "Mie": "mx", + "Min": "mn", + "Ming": "my", + "Miu": "mq", + "Mo": "mo", + "Mou": "mb", + "Mu": "mu", + "Na": "na", + "Nai": "nl", + "Nan": "nj", + "Nang": "nh", + "Nao": "nk", + "Ne": "ne", + "Nei": "nz", + "Nen": "nf", + "Neng": "ng", + "Ni": "ni", + "Nian": "nm", + "Niang": "nd", + "Niao": "nc", + "Nie": "nx", + "Nin": "nn", + "Ning": "ny", + "Niu": "nq", + "Nong": "ns", + "Nou": "nb", + "Nu": "nu", + "Nuan": "nr", + "Nun": "np", + "Nuo": "no", + "Pa": "pa", + "Pai": "pl", + "Pan": "pj", + "Pang": "ph", + "Pao": "pk", + "Pei": "pz", + "Pen": "pf", + "Peng": "pg", + "Pi": "pi", + "Pian": "pm", + "Piao": "pc", + "Pie": "px", + "Pin": "pn", + "Ping": "py", + "Po": "po", + "Pou": "pb", + "Pu": "pu", + "Qi": "qi", + "Qia": "qw", + "Qian": "qm", + "Qiang": "qd", + "Qiao": "qc", + "Qie": "qx", + "Qin": "qn", + "Qing": "qy", + "Qiong": "qs", + "Qiu": "qq", + "Qu": "qu", + "Quan": "qr", + "Que": "qt", + "Qun": "qp", + "Ran": "rj", + "Rang": "rh", + "Rao": "rk", + "Re": "re", + "Ren": "rf", + "Reng": "rg", + "Ri": "ri", + "Rong": "rs", + "Rou": "rb", + "Ru": "ru", + "Rua": "rw", + "Ruan": "rr", + "Rui": "rv", + "Run": "rp", + "Ruo": "ro", + "Sa": "sa", + "Sai": "sl", + "San": "sj", + "Sang": "sh", + "Sao": "sk", + "Se": "se", + "Sen": "sf", + "Seng": "sg", + "Sha": "ua", + "Shai": "ul", + "Shan": "uj", + "Shang": "uh", + "Shao": "uk", + "She": "ue", + "Shei": "uz", + "Shen": "uf", + "Sheng": "ug", + "Shi": "ui", + "Shou": "ub", + "Shu": "uu", + "Shua": "uw", + "Shuai": "uy", + "Shuan": "ur", + "Shuang": "ud", + "Shui": "uv", + "Shun": "up", + "Shuo": "uo", + "Si": "si", + "Song": "ss", + "Sou": "sb", + "Su": "su", + "Suan": "sr", + "Sui": "sv", + "Sun": "sp", + "Suo": "so", + "Ta": "ta", + "Tai": "tl", + "Tan": "tj", + "Tang": "th", + "Tao": "tk", + "Te": "te", + "Tei": "tz", + "Teng": "tg", + "Ti": "ti", + "Tian": "tm", + "Tiao": "tc", + "Tie": "tx", + "Ting": "ty", + "Tong": "ts", + "Tou": "tb", + "Tu": "tu", + "Tuan": "tr", + "Tui": "tv", + "Tun": "tp", + "Tuo": "to", + "Xi": "xi", + "Xia": "xw", + "Xian": "xm", + "Xiang": "xd", + "Xiao": "xc", + "Xie": "xx", + "Xin": "xn", + "Xing": "xy", + "Xiong": "xs", + "Xiu": "xq", + "Xu": "xu", + "Xuan": "xr", + "Xue": "xt", + "Xun": "xp", + "Za": "za", + "Zai": "zl", + "Zan": "zj", + "Zang": "zh", + "Zao": "zk", + "Ze": "ze", + "Zei": "zz", + "Zen": "zf", + "Zeng": "zg", + "Zha": "va", + "Zhai": "vl", + "Zhan": "vj", + "Zhang": "vh", + "Zhao": "vk", + "Zhe": "ve", + "Zhen": "vf", + "Zheng": "vg", + "Zhi": "vi", + "Zhong": "vs", + "Zhou": "vb", + "Zhu": "vu", + "Zhua": "vw", + "Zhuai": "vy", + "Zhuan": "vr", + "Zhuang": "vd", + "Zhui": "vv", + "Zhun": "vp", + "Zhuo": "vo", + "Zi": "zi", + "Zong": "zs", + "Zou": "zb", + "Zu": "zu", + "Zuan": "zr", + "Zui": "zv", + "Zun": "zp", + "Zuo": "zo" + }, + "WeiRuan": { + "Lv": "ly", + "Lve": "lt", + "Lue": "lt", + "Nv": "ny", + "Nve": "nt", + "Nue": "nt", + "A": "oa", + "O": "oo", + "E": "oe", + "Ai": "ol", + "Ei": "oz", + "Ao": "ok", + "Ou": "ob", + "An": "oj", + "En": "of", + "Ang": "oh", + "Eng": "og", + "Er": "or", + "Yi": "yi", + "Ya": "ya", + "Yo": "yo", + "Ye": "ye", + "Yao": "yk", + "You": "yb", + "Yan": "yj", + "Yin": "yn", + "Yang": "yh", + "Ying": "y;", + "Wu": "wu", + "Wa": "wa", + "Wo": "wo", + "Wai": "wl", + "Wei": "wz", + "Wan": "wj", + "Wen": "wf", + "Wang": "wh", + "Weng": "wg", + "Yu": "yu", + "Yue": "yt", + "Yuan": "yr", + "Yun": "yp", + "Yong": "ys", + "Ba": "ba", + "Bai": "bl", + "Ban": "bj", + "Bang": "bh", + "Bao": "bk", + "Bei": "bz", + "Ben": "bf", + "Beng": "bg", + "Bi": "bi", + "Bian": "bm", + "Biang": "bd", + "Biao": "bc", + "Bie": "bx", + "Bin": "bn", + "Bing": "b;", + "Bo": "bo", + "Bu": "bu", + "Ca": "ca", + "Cai": "cl", + "Can": "cj", + "Cang": "ch", + "Cao": "ck", + "Ce": "ce", + "Cen": "cf", + "Ceng": "cg", + "Cha": "ia", + "Chai": "il", + "Chan": "ij", + "Chang": "ih", + "Chao": "ik", + "Che": "ie", + "Chen": "if", + "Cheng": "ig", + "Chi": "ii", + "Chong": "is", + "Chou": "ib", + "Chu": "iu", + "Chua": "iw", + "Chuai": "iy", + "Chuan": "ir", + "Chuang": "id", + "Chui": "iv", + "Chun": "ip", + "Chuo": "io", + "Ci": "ci", + "Cong": "cs", + "Cou": "cb", + "Cu": "cu", + "Cuan": "cr", + "Cui": "cv", + "Cun": "cp", + "Cuo": "co", + "Da": "da", + "Dai": "dl", + "Dan": "dj", + "Dang": "dh", + "Dao": "dk", + "De": "de", + "Dei": "dz", + "Den": "df", + "Deng": "dg", + "Di": "di", + "Dia": "dw", + "Dian": "dm", + "Diao": "dc", + "Die": "dx", + "Ding": "d;", + "Diu": "dq", + "Dong": "ds", + "Dou": "db", + "Du": "du", + "Duan": "dr", + "Dui": "dv", + "Dun": "dp", + "Duo": "do", + "Fa": "fa", + "Fan": "fj", + "Fang": "fh", + "Fei": "fz", + "Fen": "ff", + "Feng": "fg", + "Fiao": "fc", + "Fo": "fo", + "Fou": "fb", + "Fu": "fu", + "Ga": "ga", + "Gai": "gl", + "Gan": "gj", + "Gang": "gh", + "Gao": "gk", + "Ge": "ge", + "Gei": "gz", + "Gen": "gf", + "Geng": "gg", + "Gong": "gs", + "Gou": "gb", + "Gu": "gu", + "Gua": "gw", + "Guai": "gy", + "Guan": "gr", + "Guang": "gd", + "Gui": "gv", + "Gun": "gp", + "Guo": "go", + "Ha": "ha", + "Hai": "hl", + "Han": "hj", + "Hang": "hh", + "Hao": "hk", + "He": "he", + "Hei": "hz", + "Hen": "hf", + "Heng": "hg", + "Hong": "hs", + "Hou": "hb", + "Hu": "hu", + "Hua": "hw", + "Huai": "hy", + "Huan": "hr", + "Huang": "hd", + "Hui": "hv", + "Hun": "hp", + "Huo": "ho", + "Ji": "ji", + "Jia": "jw", + "Jian": "jm", + "Jiang": "jd", + "Jiao": "jc", + "Jie": "jx", + "Jin": "jn", + "Jing": "j;", + "Jiong": "js", + "Jiu": "jq", + "Ju": "ju", + "Juan": "jr", + "Jue": "jt", + "Jun": "jp", + "Ka": "ka", + "Kai": "kl", + "Kan": "kj", + "Kang": "kh", + "Kao": "kk", + "Ke": "ke", + "Ken": "kf", + "Keng": "kg", + "Kong": "ks", + "Kou": "kb", + "Ku": "ku", + "Kua": "kw", + "Kuai": "ky", + "Kuan": "kr", + "Kuang": "kd", + "Kui": "kv", + "Kun": "kp", + "Kuo": "ko", + "La": "la", + "Lai": "ll", + "Lan": "lj", + "Lang": "lh", + "Lao": "lk", + "Le": "le", + "Lei": "lz", + "Leng": "lg", + "Li": "li", + "Lia": "lw", + "Lian": "lm", + "Liang": "ld", + "Liao": "lc", + "Lie": "lx", + "Lin": "ln", + "Ling": "l;", + "Liu": "lq", + "Lo": "lo", + "Long": "ls", + "Lou": "lb", + "Lu": "lu", + "Luan": "lr", + "Lun": "lp", + "Luo": "lo", + "Ma": "ma", + "Mai": "ml", + "Man": "mj", + "Mang": "mh", + "Mao": "mk", + "Me": "me", + "Mei": "mz", + "Men": "mf", + "Meng": "mg", + "Mi": "mi", + "Mian": "mm", + "Miao": "mc", + "Mie": "mx", + "Min": "mn", + "Ming": "m;", + "Miu": "mq", + "Mo": "mo", + "Mou": "mb", + "Mu": "mu", + "Na": "na", + "Nai": "nl", + "Nan": "nj", + "Nang": "nh", + "Nao": "nk", + "Ne": "ne", + "Nei": "nz", + "Nen": "nf", + "Neng": "ng", + "Ni": "ni", + "Nian": "nm", + "Niang": "nd", + "Niao": "nc", + "Nie": "nx", + "Nin": "nn", + "Ning": "n;", + "Niu": "nq", + "Nong": "ns", + "Nou": "nb", + "Nu": "nu", + "Nuan": "nr", + "Nun": "np", + "Nuo": "no", + "Pa": "pa", + "Pai": "pl", + "Pan": "pj", + "Pang": "ph", + "Pao": "pk", + "Pei": "pz", + "Pen": "pf", + "Peng": "pg", + "Pi": "pi", + "Pian": "pm", + "Piao": "pc", + "Pie": "px", + "Pin": "pn", + "Ping": "p;", + "Po": "po", + "Pou": "pb", + "Pu": "pu", + "Qi": "qi", + "Qia": "qw", + "Qian": "qm", + "Qiang": "qd", + "Qiao": "qc", + "Qie": "qx", + "Qin": "qn", + "Qing": "q;", + "Qiong": "qs", + "Qiu": "qq", + "Qu": "qu", + "Quan": "qr", + "Que": "qt", + "Qun": "qp", + "Ran": "rj", + "Rang": "rh", + "Rao": "rk", + "Re": "re", + "Ren": "rf", + "Reng": "rg", + "Ri": "ri", + "Rong": "rs", + "Rou": "rb", + "Ru": "ru", + "Rua": "rw", + "Ruan": "rr", + "Rui": "rv", + "Run": "rp", + "Ruo": "ro", + "Sa": "sa", + "Sai": "sl", + "San": "sj", + "Sang": "sh", + "Sao": "sk", + "Se": "se", + "Sen": "sf", + "Seng": "sg", + "Sha": "ua", + "Shai": "ul", + "Shan": "uj", + "Shang": "uh", + "Shao": "uk", + "She": "ue", + "Shei": "uz", + "Shen": "uf", + "Sheng": "ug", + "Shi": "ui", + "Shou": "ub", + "Shu": "uu", + "Shua": "uw", + "Shuai": "uy", + "Shuan": "ur", + "Shuang": "ud", + "Shui": "uv", + "Shun": "up", + "Shuo": "uo", + "Si": "si", + "Song": "ss", + "Sou": "sb", + "Su": "su", + "Suan": "sr", + "Sui": "sv", + "Sun": "sp", + "Suo": "so", + "Ta": "ta", + "Tai": "tl", + "Tan": "tj", + "Tang": "th", + "Tao": "tk", + "Te": "te", + "Tei": "tz", + "Teng": "tg", + "Ti": "ti", + "Tian": "tm", + "Tiao": "tc", + "Tie": "tx", + "Ting": "t;", + "Tong": "ts", + "Tou": "tb", + "Tu": "tu", + "Tuan": "tr", + "Tui": "tv", + "Tun": "tp", + "Tuo": "to", + "Xi": "xi", + "Xia": "xw", + "Xian": "xm", + "Xiang": "xd", + "Xiao": "xc", + "Xie": "xx", + "Xin": "xn", + "Xing": "x;", + "Xiong": "xs", + "Xiu": "xq", + "Xu": "xu", + "Xuan": "xr", + "Xue": "xt", + "Xun": "xp", + "Za": "za", + "Zai": "zl", + "Zan": "zj", + "Zang": "zh", + "Zao": "zk", + "Ze": "ze", + "Zei": "zz", + "Zen": "zf", + "Zeng": "zg", + "Zha": "va", + "Zhai": "vl", + "Zhan": "vj", + "Zhang": "vh", + "Zhao": "vk", + "Zhe": "ve", + "Zhen": "vf", + "Zheng": "vg", + "Zhi": "vi", + "Zhong": "vs", + "Zhou": "vb", + "Zhu": "vu", + "Zhua": "vw", + "Zhuai": "vy", + "Zhuan": "vr", + "Zhuang": "vd", + "Zhui": "vv", + "Zhun": "vp", + "Zhuo": "vo", + "Zi": "zi", + "Zong": "zs", + "Zou": "zb", + "Zu": "zu", + "Zuan": "zr", + "Zui": "zv", + "Zun": "zp", + "Zuo": "zo" + }, + "ZhiNengABC": { + "Lv": "lv", + "Lve": "lm", + "Lue": "lm", + "Nv": "nv", + "Nve": "nm", + "Nue": "nm", + "A": "oa", + "O": "oo", + "E": "oe", + "Ai": "ol", + "Ei": "oq", + "Ao": "ok", + "Ou": "ob", + "An": "oj", + "En": "of", + "Ang": "oh", + "Eng": "og", + "Er": "or", + "Yi": "yi", + "Ya": "ya", + "Yo": "yo", + "Ye": "ye", + "Yao": "yk", + "You": "yb", + "Yan": "yj", + "Yin": "yc", + "Yang": "yh", + "Ying": "yy", + "Wu": "wu", + "Wa": "wa", + "Wo": "wo", + "Wai": "wl", + "Wei": "wq", + "Wan": "wj", + "Wen": "wf", + "Wang": "wh", + "Weng": "wg", + "Yu": "yu", + "Yue": "ym", + "Yuan": "yp", + "Yun": "yn", + "Yong": "ys", + "Ba": "ba", + "Bai": "bl", + "Ban": "bj", + "Bang": "bh", + "Bao": "bk", + "Bei": "bq", + "Ben": "bf", + "Beng": "bg", + "Bi": "bi", + "Bian": "bw", + "Biang": "bt", + "Biao": "bz", + "Bie": "bx", + "Bin": "bc", + "Bing": "by", + "Bo": "bo", + "Bu": "bu", + "Ca": "ca", + "Cai": "cl", + "Can": "cj", + "Cang": "ch", + "Cao": "ck", + "Ce": "ce", + "Cen": "cf", + "Ceng": "cg", + "Cha": "ea", + "Chai": "el", + "Chan": "ej", + "Chang": "eh", + "Chao": "ek", + "Che": "ee", + "Chen": "ef", + "Cheng": "eg", + "Chi": "ei", + "Chong": "es", + "Chou": "eb", + "Chu": "eu", + "Chua": "ed", + "Chuai": "ec", + "Chuan": "ep", + "Chuang": "et", + "Chui": "em", + "Chun": "en", + "Chuo": "eo", + "Ci": "ci", + "Cong": "cs", + "Cou": "cb", + "Cu": "cu", + "Cuan": "cp", + "Cui": "cm", + "Cun": "cn", + "Cuo": "co", + "Da": "da", + "Dai": "dl", + "Dan": "dj", + "Dang": "dh", + "Dao": "dk", + "De": "de", + "Dei": "dq", + "Den": "df", + "Deng": "dg", + "Di": "di", + "Dia": "dd", + "Dian": "dw", + "Diao": "dz", + "Die": "dx", + "Ding": "dy", + "Diu": "dr", + "Dong": "ds", + "Dou": "db", + "Du": "du", + "Duan": "dp", + "Dui": "dm", + "Dun": "dn", + "Duo": "do", + "Fa": "fa", + "Fan": "fj", + "Fang": "fh", + "Fei": "fq", + "Fen": "ff", + "Feng": "fg", + "Fiao": "fz", + "Fo": "fo", + "Fou": "fb", + "Fu": "fu", + "Ga": "ga", + "Gai": "gl", + "Gan": "gj", + "Gang": "gh", + "Gao": "gk", + "Ge": "ge", + "Gei": "gq", + "Gen": "gf", + "Geng": "gg", + "Gong": "gs", + "Gou": "gb", + "Gu": "gu", + "Gua": "gd", + "Guai": "gc", + "Guan": "gp", + "Guang": "gt", + "Gui": "gm", + "Gun": "gn", + "Guo": "go", + "Ha": "ha", + "Hai": "hl", + "Han": "hj", + "Hang": "hh", + "Hao": "hk", + "He": "he", + "Hei": "hq", + "Hen": "hf", + "Heng": "hg", + "Hong": "hs", + "Hou": "hb", + "Hu": "hu", + "Hua": "hd", + "Huai": "hc", + "Huan": "hp", + "Huang": "ht", + "Hui": "hm", + "Hun": "hn", + "Huo": "ho", + "Ji": "ji", + "Jia": "jd", + "Jian": "jw", + "Jiang": "jt", + "Jiao": "jz", + "Jie": "jx", + "Jin": "jc", + "Jing": "jy", + "Jiong": "js", + "Jiu": "jr", + "Ju": "ju", + "Juan": "jp", + "Jue": "jm", + "Jun": "jn", + "Ka": "ka", + "Kai": "kl", + "Kan": "kj", + "Kang": "kh", + "Kao": "kk", + "Ke": "ke", + "Ken": "kf", + "Keng": "kg", + "Kong": "ks", + "Kou": "kb", + "Ku": "ku", + "Kua": "kd", + "Kuai": "kc", + "Kuan": "kp", + "Kuang": "kt", + "Kui": "km", + "Kun": "kn", + "Kuo": "ko", + "La": "la", + "Lai": "ll", + "Lan": "lj", + "Lang": "lh", + "Lao": "lk", + "Le": "le", + "Lei": "lq", + "Leng": "lg", + "Li": "li", + "Lia": "ld", + "Lian": "lw", + "Liang": "lt", + "Liao": "lz", + "Lie": "lx", + "Lin": "lc", + "Ling": "ly", + "Liu": "lr", + "Lo": "lo", + "Long": "ls", + "Lou": "lb", + "Lu": "lu", + "Luan": "lp", + "Lun": "ln", + "Luo": "lo", + "Ma": "ma", + "Mai": "ml", + "Man": "mj", + "Mang": "mh", + "Mao": "mk", + "Me": "me", + "Mei": "mq", + "Men": "mf", + "Meng": "mg", + "Mi": "mi", + "Mian": "mw", + "Miao": "mz", + "Mie": "mx", + "Min": "mc", + "Ming": "my", + "Miu": "mr", + "Mo": "mo", + "Mou": "mb", + "Mu": "mu", + "Na": "na", + "Nai": "nl", + "Nan": "nj", + "Nang": "nh", + "Nao": "nk", + "Ne": "ne", + "Nei": "nq", + "Nen": "nf", + "Neng": "ng", + "Ni": "ni", + "Nian": "nw", + "Niang": "nt", + "Niao": "nz", + "Nie": "nx", + "Nin": "nc", + "Ning": "ny", + "Niu": "nr", + "Nong": "ns", + "Nou": "nb", + "Nu": "nu", + "Nuan": "np", + "Nun": "nn", + "Nuo": "no", + "Pa": "pa", + "Pai": "pl", + "Pan": "pj", + "Pang": "ph", + "Pao": "pk", + "Pei": "pq", + "Pen": "pf", + "Peng": "pg", + "Pi": "pi", + "Pian": "pw", + "Piao": "pz", + "Pie": "px", + "Pin": "pc", + "Ping": "py", + "Po": "po", + "Pou": "pb", + "Pu": "pu", + "Qi": "qi", + "Qia": "qd", + "Qian": "qw", + "Qiang": "qt", + "Qiao": "qz", + "Qie": "qx", + "Qin": "qc", + "Qing": "qy", + "Qiong": "qs", + "Qiu": "qr", + "Qu": "qu", + "Quan": "qp", + "Que": "qm", + "Qun": "qn", + "Ran": "rj", + "Rang": "rh", + "Rao": "rk", + "Re": "re", + "Ren": "rf", + "Reng": "rg", + "Ri": "ri", + "Rong": "rs", + "Rou": "rb", + "Ru": "ru", + "Rua": "rd", + "Ruan": "rp", + "Rui": "rm", + "Run": "rn", + "Ruo": "ro", + "Sa": "sa", + "Sai": "sl", + "San": "sj", + "Sang": "sh", + "Sao": "sk", + "Se": "se", + "Sen": "sf", + "Seng": "sg", + "Sha": "va", + "Shai": "vl", + "Shan": "vj", + "Shang": "vh", + "Shao": "vk", + "She": "ve", + "Shei": "vq", + "Shen": "vf", + "Sheng": "vg", + "Shi": "vi", + "Shou": "vb", + "Shu": "vu", + "Shua": "vd", + "Shuai": "vc", + "Shuan": "vp", + "Shuang": "vt", + "Shui": "vm", + "Shun": "vn", + "Shuo": "vo", + "Si": "si", + "Song": "ss", + "Sou": "sb", + "Su": "su", + "Suan": "sp", + "Sui": "sm", + "Sun": "sn", + "Suo": "so", + "Ta": "ta", + "Tai": "tl", + "Tan": "tj", + "Tang": "th", + "Tao": "tk", + "Te": "te", + "Tei": "tq", + "Teng": "tg", + "Ti": "ti", + "Tian": "tw", + "Tiao": "tz", + "Tie": "tx", + "Ting": "ty", + "Tong": "ts", + "Tou": "tb", + "Tu": "tu", + "Tuan": "tp", + "Tui": "tm", + "Tun": "tn", + "Tuo": "to", + "Xi": "xi", + "Xia": "xd", + "Xian": "xw", + "Xiang": "xt", + "Xiao": "xz", + "Xie": "xx", + "Xin": "xc", + "Xing": "xy", + "Xiong": "xs", + "Xiu": "xr", + "Xu": "xu", + "Xuan": "xp", + "Xue": "xm", + "Xun": "xn", + "Za": "za", + "Zai": "zl", + "Zan": "zj", + "Zang": "zh", + "Zao": "zk", + "Ze": "ze", + "Zei": "zq", + "Zen": "zf", + "Zeng": "zg", + "Zha": "aa", + "Zhai": "al", + "Zhan": "aj", + "Zhang": "ah", + "Zhao": "ak", + "Zhe": "ae", + "Zhen": "af", + "Zheng": "ag", + "Zhi": "ai", + "Zhong": "as", + "Zhou": "ab", + "Zhu": "au", + "Zhua": "ad", + "Zhuai": "ac", + "Zhuan": "ap", + "Zhuang": "at", + "Zhui": "am", + "Zhun": "an", + "Zhuo": "ao", + "Zi": "zi", + "Zong": "zs", + "Zou": "zb", + "Zu": "zu", + "Zuan": "zp", + "Zui": "zm", + "Zun": "zn", + "Zuo": "zo" + }, + "ZiGuangPinYin": { + "Lv": "lv", + "Lve": "ln", + "Lue": "ln", + "Nv": "nv", + "Nve": "nn", + "Nue": "nn", + "A": "oa", + "O": "oo", + "E": "oe", + "Ai": "op", + "Ei": "ok", + "Ao": "oq", + "Ou": "oz", + "An": "or", + "En": "ow", + "Ang": "os", + "Eng": "ot", + "Er": "oj", + "Yi": "yi", + "Ya": "ya", + "Yo": "yo", + "Ye": "ye", + "Yao": "yq", + "You": "yz", + "Yan": "yr", + "Yin": "yy", + "Yang": "ys", + "Ying": "yc", + "Wu": "wu", + "Wa": "wa", + "Wo": "wo", + "Wai": "wp", + "Wei": "wk", + "Wan": "wr", + "Wen": "ww", + "Wang": "ws", + "Weng": "wt", + "Yu": "yu", + "Yue": "yn", + "Yuan": "yl", + "Yun": "ym", + "Yong": "yh", + "Ba": "ba", + "Bai": "bp", + "Ban": "br", + "Bang": "bs", + "Bao": "bq", + "Bei": "bk", + "Ben": "bw", + "Beng": "bt", + "Bi": "bi", + "Bian": "bf", + "Biang": "bg", + "Biao": "bb", + "Bie": "bd", + "Bin": "by", + "Bing": "bc", + "Bo": "bo", + "Bu": "bu", + "Ca": "ca", + "Cai": "cp", + "Can": "cr", + "Cang": "cs", + "Cao": "cq", + "Ce": "ce", + "Cen": "cw", + "Ceng": "ct", + "Cha": "aa", + "Chai": "ap", + "Chan": "ar", + "Chang": "as", + "Chao": "aq", + "Che": "ae", + "Chen": "aw", + "Cheng": "at", + "Chi": "ai", + "Chong": "ah", + "Chou": "az", + "Chu": "au", + "Chua": "ax", + "Chuai": "ay", + "Chuan": "al", + "Chuang": "ag", + "Chui": "an", + "Chun": "am", + "Chuo": "ao", + "Ci": "ci", + "Cong": "ch", + "Cou": "cz", + "Cu": "cu", + "Cuan": "cl", + "Cui": "cn", + "Cun": "cm", + "Cuo": "co", + "Da": "da", + "Dai": "dp", + "Dan": "dr", + "Dang": "ds", + "Dao": "dq", + "De": "de", + "Dei": "dk", + "Den": "dw", + "Deng": "dt", + "Di": "di", + "Dia": "dx", + "Dian": "df", + "Diao": "db", + "Die": "dd", + "Ding": "dc", + "Diu": "dj", + "Dong": "dh", + "Dou": "dz", + "Du": "du", + "Duan": "dl", + "Dui": "dn", + "Dun": "dm", + "Duo": "do", + "Fa": "fa", + "Fan": "fr", + "Fang": "fs", + "Fei": "fk", + "Fen": "fw", + "Feng": "ft", + "Fiao": "fb", + "Fo": "fo", + "Fou": "fz", + "Fu": "fu", + "Ga": "ga", + "Gai": "gp", + "Gan": "gr", + "Gang": "gs", + "Gao": "gq", + "Ge": "ge", + "Gei": "gk", + "Gen": "gw", + "Geng": "gt", + "Gong": "gh", + "Gou": "gz", + "Gu": "gu", + "Gua": "gx", + "Guai": "gy", + "Guan": "gl", + "Guang": "gg", + "Gui": "gn", + "Gun": "gm", + "Guo": "go", + "Ha": "ha", + "Hai": "hp", + "Han": "hr", + "Hang": "hs", + "Hao": "hq", + "He": "he", + "Hei": "hk", + "Hen": "hw", + "Heng": "ht", + "Hong": "hh", + "Hou": "hz", + "Hu": "hu", + "Hua": "hx", + "Huai": "hy", + "Huan": "hl", + "Huang": "hg", + "Hui": "hn", + "Hun": "hm", + "Huo": "ho", + "Ji": "ji", + "Jia": "jx", + "Jian": "jf", + "Jiang": "jg", + "Jiao": "jb", + "Jie": "jd", + "Jin": "jy", + "Jing": "jc", + "Jiong": "jh", + "Jiu": "jj", + "Ju": "ju", + "Juan": "jl", + "Jue": "jn", + "Jun": "jm", + "Ka": "ka", + "Kai": "kp", + "Kan": "kr", + "Kang": "ks", + "Kao": "kq", + "Ke": "ke", + "Ken": "kw", + "Keng": "kt", + "Kong": "kh", + "Kou": "kz", + "Ku": "ku", + "Kua": "kx", + "Kuai": "ky", + "Kuan": "kl", + "Kuang": "kg", + "Kui": "kn", + "Kun": "km", + "Kuo": "ko", + "La": "la", + "Lai": "lp", + "Lan": "lr", + "Lang": "ls", + "Lao": "lq", + "Le": "le", + "Lei": "lk", + "Leng": "lt", + "Li": "li", + "Lia": "lx", + "Lian": "lf", + "Liang": "lg", + "Liao": "lb", + "Lie": "ld", + "Lin": "ly", + "Ling": "lc", + "Liu": "lj", + "Lo": "lo", + "Long": "lh", + "Lou": "lz", + "Lu": "lu", + "Luan": "ll", + "Lun": "lm", + "Luo": "lo", + "Ma": "ma", + "Mai": "mp", + "Man": "mr", + "Mang": "ms", + "Mao": "mq", + "Me": "me", + "Mei": "mk", + "Men": "mw", + "Meng": "mt", + "Mi": "mi", + "Mian": "mf", + "Miao": "mb", + "Mie": "md", + "Min": "my", + "Ming": "mc", + "Miu": "mj", + "Mo": "mo", + "Mou": "mz", + "Mu": "mu", + "Na": "na", + "Nai": "np", + "Nan": "nr", + "Nang": "ns", + "Nao": "nq", + "Ne": "ne", + "Nei": "nk", + "Nen": "nw", + "Neng": "nt", + "Ni": "ni", + "Nian": "nf", + "Niang": "ng", + "Niao": "nb", + "Nie": "nd", + "Nin": "ny", + "Ning": "nc", + "Niu": "nj", + "Nong": "nh", + "Nou": "nz", + "Nu": "nu", + "Nuan": "nl", + "Nun": "nm", + "Nuo": "no", + "Pa": "pa", + "Pai": "pp", + "Pan": "pr", + "Pang": "ps", + "Pao": "pq", + "Pei": "pk", + "Pen": "pw", + "Peng": "pt", + "Pi": "pi", + "Pian": "pf", + "Piao": "pb", + "Pie": "pd", + "Pin": "py", + "Ping": "pc", + "Po": "po", + "Pou": "pz", + "Pu": "pu", + "Qi": "qi", + "Qia": "qx", + "Qian": "qf", + "Qiang": "qg", + "Qiao": "qb", + "Qie": "qd", + "Qin": "qy", + "Qing": "qc", + "Qiong": "qh", + "Qiu": "qj", + "Qu": "qu", + "Quan": "ql", + "Que": "qn", + "Qun": "qm", + "Ran": "rr", + "Rang": "rs", + "Rao": "rq", + "Re": "re", + "Ren": "rw", + "Reng": "rt", + "Ri": "ri", + "Rong": "rh", + "Rou": "rz", + "Ru": "ru", + "Rua": "rx", + "Ruan": "rl", + "Rui": "rn", + "Run": "rm", + "Ruo": "ro", + "Sa": "sa", + "Sai": "sp", + "San": "sr", + "Sang": "ss", + "Sao": "sq", + "Se": "se", + "Sen": "sw", + "Seng": "st", + "Sha": "ia", + "Shai": "ip", + "Shan": "ir", + "Shang": "is", + "Shao": "iq", + "She": "ie", + "Shei": "ik", + "Shen": "iw", + "Sheng": "it", + "Shi": "ii", + "Shou": "iz", + "Shu": "iu", + "Shua": "ix", + "Shuai": "iy", + "Shuan": "il", + "Shuang": "ig", + "Shui": "in", + "Shun": "im", + "Shuo": "io", + "Si": "si", + "Song": "sh", + "Sou": "sz", + "Su": "su", + "Suan": "sl", + "Sui": "sn", + "Sun": "sm", + "Suo": "so", + "Ta": "ta", + "Tai": "tp", + "Tan": "tr", + "Tang": "ts", + "Tao": "tq", + "Te": "te", + "Tei": "tk", + "Teng": "tt", + "Ti": "ti", + "Tian": "tf", + "Tiao": "tb", + "Tie": "td", + "Ting": "tc", + "Tong": "th", + "Tou": "tz", + "Tu": "tu", + "Tuan": "tl", + "Tui": "tn", + "Tun": "tm", + "Tuo": "to", + "Xi": "xi", + "Xia": "xx", + "Xian": "xf", + "Xiang": "xg", + "Xiao": "xb", + "Xie": "xd", + "Xin": "xy", + "Xing": "xc", + "Xiong": "xh", + "Xiu": "xj", + "Xu": "xu", + "Xuan": "xl", + "Xue": "xn", + "Xun": "xm", + "Za": "za", + "Zai": "zp", + "Zan": "zr", + "Zang": "zs", + "Zao": "zq", + "Ze": "ze", + "Zei": "zk", + "Zen": "zw", + "Zeng": "zt", + "Zha": "ua", + "Zhai": "up", + "Zhan": "ur", + "Zhang": "us", + "Zhao": "uq", + "Zhe": "ue", + "Zhen": "uw", + "Zheng": "ut", + "Zhi": "ui", + "Zhong": "uh", + "Zhou": "uz", + "Zhu": "uu", + "Zhua": "ux", + "Zhuai": "uy", + "Zhuan": "ul", + "Zhuang": "ug", + "Zhui": "un", + "Zhun": "um", + "Zhuo": "uo", + "Zi": "zi", + "Zong": "zh", + "Zou": "zz", + "Zu": "zu", + "Zuan": "zl", + "Zui": "zn", + "Zun": "zm", + "Zuo": "zo" + }, + "PinYinJiaJia": { + "Lv": "lv", + "Lve": "lx", + "Lue": "lx", + "Nv": "nv", + "Nve": "nx", + "Nue": "nx", + "A": "aa", + "O": "oo", + "E": "ee", + "Ai": "as", + "Ei": "ew", + "Ao": "ad", + "Ou": "op", + "An": "af", + "En": "er", + "Ang": "ag", + "Eng": "et", + "Er": "eq", + "Yi": "yi", + "Ya": "ya", + "Yo": "yo", + "Ye": "ye", + "Yao": "yd", + "You": "yp", + "Yan": "yf", + "Yin": "yl", + "Yang": "yg", + "Ying": "yq", + "Wu": "wu", + "Wa": "wa", + "Wo": "wo", + "Wai": "ws", + "Wei": "ww", + "Wan": "wf", + "Wen": "wr", + "Wang": "wg", + "Weng": "wt", + "Yu": "yu", + "Yue": "yx", + "Yuan": "yc", + "Yun": "yz", + "Yong": "yy", + "Ba": "ba", + "Bai": "bs", + "Ban": "bf", + "Bang": "bg", + "Bao": "bd", + "Bei": "bw", + "Ben": "br", + "Beng": "bt", + "Bi": "bi", + "Bian": "bj", + "Biang": "bh", + "Biao": "bk", + "Bie": "bm", + "Bin": "bl", + "Bing": "bq", + "Bo": "bo", + "Bu": "bu", + "Ca": "ca", + "Cai": "cs", + "Can": "cf", + "Cang": "cg", + "Cao": "cd", + "Ce": "ce", + "Cen": "cr", + "Ceng": "ct", + "Cha": "ua", + "Chai": "us", + "Chan": "uf", + "Chang": "ug", + "Chao": "ud", + "Che": "ue", + "Chen": "ur", + "Cheng": "ut", + "Chi": "ui", + "Chong": "uy", + "Chou": "up", + "Chu": "uu", + "Chua": "ub", + "Chuai": "ux", + "Chuan": "uc", + "Chuang": "uh", + "Chui": "uv", + "Chun": "uz", + "Chuo": "uo", + "Ci": "ci", + "Cong": "cy", + "Cou": "cp", + "Cu": "cu", + "Cuan": "cc", + "Cui": "cv", + "Cun": "cz", + "Cuo": "co", + "Da": "da", + "Dai": "ds", + "Dan": "df", + "Dang": "dg", + "Dao": "dd", + "De": "de", + "Dei": "dw", + "Den": "dr", + "Deng": "dt", + "Di": "di", + "Dia": "db", + "Dian": "dj", + "Diao": "dk", + "Die": "dm", + "Ding": "dq", + "Diu": "dn", + "Dong": "dy", + "Dou": "dp", + "Du": "du", + "Duan": "dc", + "Dui": "dv", + "Dun": "dz", + "Duo": "do", + "Fa": "fa", + "Fan": "ff", + "Fang": "fg", + "Fei": "fw", + "Fen": "fr", + "Feng": "ft", + "Fiao": "fk", + "Fo": "fo", + "Fou": "fp", + "Fu": "fu", + "Ga": "ga", + "Gai": "gs", + "Gan": "gf", + "Gang": "gg", + "Gao": "gd", + "Ge": "ge", + "Gei": "gw", + "Gen": "gr", + "Geng": "gt", + "Gong": "gy", + "Gou": "gp", + "Gu": "gu", + "Gua": "gb", + "Guai": "gx", + "Guan": "gc", + "Guang": "gh", + "Gui": "gv", + "Gun": "gz", + "Guo": "go", + "Ha": "ha", + "Hai": "hs", + "Han": "hf", + "Hang": "hg", + "Hao": "hd", + "He": "he", + "Hei": "hw", + "Hen": "hr", + "Heng": "ht", + "Hong": "hy", + "Hou": "hp", + "Hu": "hu", + "Hua": "hb", + "Huai": "hx", + "Huan": "hc", + "Huang": "hh", + "Hui": "hv", + "Hun": "hz", + "Huo": "ho", + "Ji": "ji", + "Jia": "jb", + "Jian": "jj", + "Jiang": "jh", + "Jiao": "jk", + "Jie": "jm", + "Jin": "jl", + "Jing": "jq", + "Jiong": "jy", + "Jiu": "jn", + "Ju": "ju", + "Juan": "jc", + "Jue": "jx", + "Jun": "jz", + "Ka": "ka", + "Kai": "ks", + "Kan": "kf", + "Kang": "kg", + "Kao": "kd", + "Ke": "ke", + "Ken": "kr", + "Keng": "kt", + "Kong": "ky", + "Kou": "kp", + "Ku": "ku", + "Kua": "kb", + "Kuai": "kx", + "Kuan": "kc", + "Kuang": "kh", + "Kui": "kv", + "Kun": "kz", + "Kuo": "ko", + "La": "la", + "Lai": "ls", + "Lan": "lf", + "Lang": "lg", + "Lao": "ld", + "Le": "le", + "Lei": "lw", + "Leng": "lt", + "Li": "li", + "Lia": "lb", + "Lian": "lj", + "Liang": "lh", + "Liao": "lk", + "Lie": "lm", + "Lin": "ll", + "Ling": "lq", + "Liu": "ln", + "Lo": "lo", + "Long": "ly", + "Lou": "lp", + "Lu": "lu", + "Luan": "lc", + "Lun": "lz", + "Luo": "lo", + "Ma": "ma", + "Mai": "ms", + "Man": "mf", + "Mang": "mg", + "Mao": "md", + "Me": "me", + "Mei": "mw", + "Men": "mr", + "Meng": "mt", + "Mi": "mi", + "Mian": "mj", + "Miao": "mk", + "Mie": "mm", + "Min": "ml", + "Ming": "mq", + "Miu": "mn", + "Mo": "mo", + "Mou": "mp", + "Mu": "mu", + "Na": "na", + "Nai": "ns", + "Nan": "nf", + "Nang": "ng", + "Nao": "nd", + "Ne": "ne", + "Nei": "nw", + "Nen": "nr", + "Neng": "nt", + "Ni": "ni", + "Nian": "nj", + "Niang": "nh", + "Niao": "nk", + "Nie": "nm", + "Nin": "nl", + "Ning": "nq", + "Niu": "nn", + "Nong": "ny", + "Nou": "np", + "Nu": "nu", + "Nuan": "nc", + "Nun": "nz", + "Nuo": "no", + "Pa": "pa", + "Pai": "ps", + "Pan": "pf", + "Pang": "pg", + "Pao": "pd", + "Pei": "pw", + "Pen": "pr", + "Peng": "pt", + "Pi": "pi", + "Pian": "pj", + "Piao": "pk", + "Pie": "pm", + "Pin": "pl", + "Ping": "pq", + "Po": "po", + "Pou": "pp", + "Pu": "pu", + "Qi": "qi", + "Qia": "qb", + "Qian": "qj", + "Qiang": "qh", + "Qiao": "qk", + "Qie": "qm", + "Qin": "ql", + "Qing": "qq", + "Qiong": "qy", + "Qiu": "qn", + "Qu": "qu", + "Quan": "qc", + "Que": "qx", + "Qun": "qz", + "Ran": "rf", + "Rang": "rg", + "Rao": "rd", + "Re": "re", + "Ren": "rr", + "Reng": "rt", + "Ri": "ri", + "Rong": "ry", + "Rou": "rp", + "Ru": "ru", + "Rua": "rb", + "Ruan": "rc", + "Rui": "rv", + "Run": "rz", + "Ruo": "ro", + "Sa": "sa", + "Sai": "ss", + "San": "sf", + "Sang": "sg", + "Sao": "sd", + "Se": "se", + "Sen": "sr", + "Seng": "st", + "Sha": "ia", + "Shai": "is", + "Shan": "if", + "Shang": "ig", + "Shao": "id", + "She": "ie", + "Shei": "iw", + "Shen": "ir", + "Sheng": "it", + "Shi": "ii", + "Shou": "ip", + "Shu": "iu", + "Shua": "ib", + "Shuai": "ix", + "Shuan": "ic", + "Shuang": "ih", + "Shui": "iv", + "Shun": "iz", + "Shuo": "io", + "Si": "si", + "Song": "sy", + "Sou": "sp", + "Su": "su", + "Suan": "sc", + "Sui": "sv", + "Sun": "sz", + "Suo": "so", + "Ta": "ta", + "Tai": "ts", + "Tan": "tf", + "Tang": "tg", + "Tao": "td", + "Te": "te", + "Tei": "tw", + "Teng": "tt", + "Ti": "ti", + "Tian": "tj", + "Tiao": "tk", + "Tie": "tm", + "Ting": "tq", + "Tong": "ty", + "Tou": "tp", + "Tu": "tu", + "Tuan": "tc", + "Tui": "tv", + "Tun": "tz", + "Tuo": "to", + "Xi": "xi", + "Xia": "xb", + "Xian": "xj", + "Xiang": "xh", + "Xiao": "xk", + "Xie": "xm", + "Xin": "xl", + "Xing": "xq", + "Xiong": "xy", + "Xiu": "xn", + "Xu": "xu", + "Xuan": "xc", + "Xue": "xx", + "Xun": "xz", + "Za": "za", + "Zai": "zs", + "Zan": "zf", + "Zang": "zg", + "Zao": "zd", + "Ze": "ze", + "Zei": "zw", + "Zen": "zr", + "Zeng": "zt", + "Zha": "va", + "Zhai": "vs", + "Zhan": "vf", + "Zhang": "vg", + "Zhao": "vd", + "Zhe": "ve", + "Zhen": "vr", + "Zheng": "vt", + "Zhi": "vi", + "Zhong": "vy", + "Zhou": "vp", + "Zhu": "vu", + "Zhua": "vb", + "Zhuai": "vx", + "Zhuan": "vc", + "Zhuang": "vh", + "Zhui": "vv", + "Zhun": "vz", + "Zhuo": "vo", + "Zi": "zi", + "Zong": "zy", + "Zou": "zp", + "Zu": "zu", + "Zuan": "zc", + "Zui": "zv", + "Zun": "zz", + "Zuo": "zo" + }, + "XingKongJianDao": { + "Lv": "lv", + "Lve": "ly", + "Lue": "ly", + "Nv": "nv", + "Nve": "ny", + "Nue": "ny", + "A": "xa", + "O": "xo", + "E": "xe", + "Ai": "xj", + "Ei": "xw", + "Ao": "xs", + "Ou": "xt", + "An": "xd", + "En": "xk", + "Ang": "xf", + "Eng": "xh", + "Er": "xu", + "Yi": "yi", + "Ya": "ya", + "Yo": "yo", + "Ye": "ye", + "Yao": "ys", + "You": "yt", + "Yan": "yd", + "Yin": "yb", + "Yang": "yf", + "Ying": "yg", + "Wu": "wj", + "Wa": "ws", + "Wo": "wo", + "Wai": "wh", + "Wei": "ww", + "Wan": "wf", + "Wen": "wn", + "Wang": "wp", + "Weng": "wr", + "Yu": "yv", + "Yue": "yy", + "Yuan": "yr", + "Yun": "yw", + "Yong": "yl", + "Ba": "ba", + "Bai": "bj", + "Ban": "bd", + "Bang": "bf", + "Bao": "bs", + "Bei": "bw", + "Ben": "bk", + "Beng": "bh", + "Bi": "bi", + "Bian": "bm", + "Biang": "bx", + "Biao": "bp", + "Bie": "bc", + "Bin": "bb", + "Bing": "bg", + "Bo": "bo", + "Bu": "bu", + "Ca": "ca", + "Cai": "cj", + "Can": "cd", + "Cang": "cf", + "Cao": "cs", + "Ce": "ce", + "Cen": "ck", + "Ceng": "ch", + "Cha": "ja", + "Chai": "jj", + "Chan": "jd", + "Chang": "jf", + "Chao": "js", + "Che": "je", + "Chen": "jk", + "Cheng": "jh", + "Chi": "wi", + "Chong": "wl", + "Chou": "jt", + "Chu": "ju", + "Chua": "wx", + "Chuai": "wg", + "Chuan": "wr", + "Chuang": "wn", + "Chui": "wy", + "Chun": "jz", + "Chuo": "jo", + "Ci": "ci", + "Cong": "cl", + "Cou": "ct", + "Cu": "cu", + "Cuan": "cr", + "Cui": "cy", + "Cun": "cz", + "Cuo": "co", + "Da": "da", + "Dai": "dj", + "Dan": "dd", + "Dang": "df", + "Dao": "ds", + "De": "de", + "Dei": "dw", + "Den": "dk", + "Deng": "dh", + "Di": "di", + "Dia": "dx", + "Dian": "dm", + "Diao": "dp", + "Die": "dc", + "Ding": "dg", + "Diu": "dq", + "Dong": "dl", + "Dou": "dt", + "Du": "du", + "Duan": "dr", + "Dui": "dy", + "Dun": "dz", + "Duo": "do", + "Fa": "fs", + "Fan": "ff", + "Fang": "fp", + "Fei": "fw", + "Fen": "fn", + "Feng": "fr", + "Fiao": "fp", + "Fo": "fl", + "Fou": "fd", + "Fu": "fl", + "Ga": "ga", + "Gai": "gj", + "Gan": "gd", + "Gang": "gf", + "Gao": "gs", + "Ge": "ge", + "Gei": "gw", + "Gen": "gk", + "Geng": "gh", + "Gong": "gl", + "Gou": "gt", + "Gu": "gu", + "Gua": "gx", + "Guai": "gg", + "Guan": "gr", + "Guang": "gn", + "Gui": "gy", + "Gun": "gz", + "Guo": "go", + "Ha": "ha", + "Hai": "hj", + "Han": "hd", + "Hang": "hf", + "Hao": "hs", + "He": "he", + "Hei": "hw", + "Hen": "hk", + "Heng": "hh", + "Hong": "hl", + "Hou": "ht", + "Hu": "hu", + "Hua": "hx", + "Huai": "hg", + "Huan": "hr", + "Huang": "hn", + "Hui": "hy", + "Hun": "hz", + "Huo": "ho", + "Ji": "jk", + "Jia": "js", + "Jian": "jm", + "Jiang": "jn", + "Jiao": "jp", + "Jie": "jc", + "Jin": "jb", + "Jing": "jg", + "Jiong": "jy", + "Jiu": "jq", + "Ju": "jv", + "Juan": "jt", + "Jue": "jh", + "Jun": "jw", + "Ka": "ka", + "Kai": "kj", + "Kan": "kd", + "Kang": "kf", + "Kao": "ks", + "Ke": "ke", + "Ken": "kk", + "Keng": "kh", + "Kong": "kl", + "Kou": "kt", + "Ku": "ku", + "Kua": "kx", + "Kuai": "kg", + "Kuan": "kr", + "Kuang": "kn", + "Kui": "ky", + "Kun": "kz", + "Kuo": "ko", + "La": "la", + "Lai": "lj", + "Lan": "ld", + "Lang": "lf", + "Lao": "ls", + "Le": "le", + "Lei": "lw", + "Leng": "lh", + "Li": "li", + "Lia": "lx", + "Lian": "lm", + "Liang": "ln", + "Liao": "lp", + "Lie": "lc", + "Lin": "lb", + "Ling": "lg", + "Liu": "lq", + "Lo": "ll", + "Long": "ll", + "Lou": "lt", + "Lu": "lu", + "Luan": "lr", + "Lun": "lz", + "Luo": "lo", + "Ma": "ma", + "Mai": "mj", + "Man": "md", + "Mang": "mf", + "Mao": "ms", + "Me": "me", + "Mei": "mw", + "Men": "mk", + "Meng": "mh", + "Mi": "mi", + "Mian": "mm", + "Miao": "mp", + "Mie": "mc", + "Min": "mb", + "Ming": "mg", + "Miu": "mq", + "Mo": "mo", + "Mou": "mt", + "Mu": "mu", + "Na": "na", + "Nai": "nj", + "Nan": "nd", + "Nang": "nf", + "Nao": "ns", + "Ne": "ne", + "Nei": "nw", + "Nen": "nk", + "Neng": "nh", + "Ni": "ni", + "Nian": "nm", + "Niang": "nn", + "Niao": "np", + "Nie": "nc", + "Nin": "nb", + "Ning": "ng", + "Niu": "nq", + "Nong": "nl", + "Nou": "nt", + "Nu": "nu", + "Nuan": "nr", + "Nun": "nz", + "Nuo": "no", + "Pa": "pa", + "Pai": "pj", + "Pan": "pd", + "Pang": "pf", + "Pao": "ps", + "Pei": "pw", + "Pen": "pk", + "Peng": "ph", + "Pi": "pi", + "Pian": "pm", + "Piao": "pp", + "Pie": "pc", + "Pin": "pb", + "Ping": "pg", + "Po": "po", + "Pou": "pt", + "Pu": "pu", + "Qi": "qk", + "Qia": "qs", + "Qian": "qm", + "Qiang": "qx", + "Qiao": "qp", + "Qie": "qc", + "Qin": "qb", + "Qing": "qg", + "Qiong": "qy", + "Qiu": "qq", + "Qu": "qv", + "Quan": "qt", + "Que": "qh", + "Qun": "qw", + "Ran": "rd", + "Rang": "rf", + "Rao": "rs", + "Re": "re", + "Ren": "rk", + "Reng": "rh", + "Ri": "ri", + "Rong": "rl", + "Rou": "rt", + "Ru": "ru", + "Rua": "rx", + "Ruan": "rr", + "Rui": "ry", + "Run": "rz", + "Ruo": "ro", + "Sa": "sa", + "Sai": "sj", + "San": "sd", + "Sang": "sf", + "Sao": "ss", + "Se": "se", + "Sen": "sk", + "Seng": "sh", + "Sha": "ea", + "Shai": "ej", + "Shan": "ed", + "Shang": "ef", + "Shao": "es", + "She": "ee", + "Shei": "ew", + "Shen": "ek", + "Sheng": "eh", + "Shi": "ei", + "Shou": "et", + "Shu": "eu", + "Shua": "ex", + "Shuai": "eg", + "Shuan": "er", + "Shuang": "en", + "Shui": "ey", + "Shun": "ez", + "Shuo": "eo", + "Si": "si", + "Song": "sl", + "Sou": "st", + "Su": "su", + "Suan": "sr", + "Sui": "sy", + "Sun": "sz", + "Suo": "so", + "Ta": "ta", + "Tai": "tj", + "Tan": "td", + "Tang": "tf", + "Tao": "ts", + "Te": "te", + "Tei": "tw", + "Teng": "th", + "Ti": "ti", + "Tian": "tm", + "Tiao": "tp", + "Tie": "tc", + "Ting": "tg", + "Tong": "tl", + "Tou": "tt", + "Tu": "tu", + "Tuan": "tr", + "Tui": "ty", + "Tun": "tz", + "Tuo": "to", + "Xi": "xi", + "Xia": "xx", + "Xian": "xm", + "Xiang": "xn", + "Xiao": "xp", + "Xie": "xc", + "Xin": "xb", + "Xing": "xg", + "Xiong": "xl", + "Xiu": "xq", + "Xu": "xv", + "Xuan": "xr", + "Xue": "xy", + "Xun": "xw", + "Za": "za", + "Zai": "zj", + "Zan": "zd", + "Zang": "zf", + "Zao": "zs", + "Ze": "ze", + "Zei": "zw", + "Zen": "zk", + "Zeng": "zh", + "Zha": "qa", + "Zhai": "fj", + "Zhan": "qd", + "Zhang": "qf", + "Zhao": "fs", + "Zhe": "fe", + "Zhen": "qk", + "Zheng": "qh", + "Zhi": "fi", + "Zhong": "fy", + "Zhou": "qt", + "Zhu": "qu", + "Zhua": "fx", + "Zhuai": "fg", + "Zhuan": "fr", + "Zhuang": "fn", + "Zhui": "fy", + "Zhun": "fz", + "Zhuo": "qo", + "Zi": "zi", + "Zong": "zl", + "Zou": "zt", + "Zu": "zu", + "Zuan": "zr", + "Zui": "zy", + "Zun": "zz", + "Zuo": "zo" + }, + "DaNiu": { + "Lv": "lv", + "Lve": "lx", + "Lue": "lx", + "Nv": "nv", + "Nve": "nx", + "Nue": "nx", + "A": "ea", + "O": "eo", + "E": "ee", + "Ai": "eh", + "Ei": "ew", + "Ao": "es", + "Ou": "er", + "An": "ed", + "En": "ek", + "Ang": "ef", + "Eng": "ej", + "Er": "eu", + "Yi": "yi", + "Ya": "ya", + "Yo": "yo", + "Ye": "ye", + "Yao": "ys", + "You": "yr", + "Yan": "yd", + "Yin": "yb", + "Yang": "yf", + "Ying": "yg", + "Wu": "wu", + "Wa": "wa", + "Wo": "wo", + "Wai": "wh", + "Wei": "ww", + "Wan": "wd", + "Wen": "wk", + "Wang": "wf", + "Weng": "wj", + "Yu": "yu", + "Yue": "yh", + "Yuan": "yj", + "Yun": "yw", + "Yong": "yl", + "Ba": "ba", + "Bai": "bh", + "Ban": "bd", + "Bang": "bf", + "Bao": "bs", + "Bei": "bw", + "Ben": "bk", + "Beng": "bj", + "Bi": "bi", + "Bian": "bc", + "Biang": "bn", + "Biao": "bm", + "Bie": "bp", + "Bin": "bb", + "Bing": "bg", + "Bo": "bo", + "Bu": "bu", + "Ca": "ca", + "Cai": "ch", + "Can": "cd", + "Cang": "cf", + "Cao": "cs", + "Ce": "ce", + "Cen": "ck", + "Ceng": "cj", + "Cha": "ia", + "Chai": "ih", + "Chan": "id", + "Chang": "if", + "Chao": "is", + "Che": "ie", + "Chen": "ik", + "Cheng": "ij", + "Chi": "ii", + "Chong": "il", + "Chou": "ir", + "Chu": "iu", + "Chua": "iq", + "Chuai": "ig", + "Chuan": "iz", + "Chuang": "ix", + "Chui": "in", + "Chun": "iy", + "Chuo": "io", + "Ci": "ci", + "Cong": "cl", + "Cou": "cr", + "Cu": "cu", + "Cuan": "cz", + "Cui": "cn", + "Cun": "cy", + "Cuo": "co", + "Da": "da", + "Dai": "dh", + "Dan": "dd", + "Dang": "df", + "Dao": "ds", + "De": "de", + "Dei": "dw", + "Den": "dk", + "Deng": "dj", + "Di": "di", + "Dia": "dk", + "Dian": "dc", + "Diao": "dm", + "Die": "dp", + "Ding": "dg", + "Diu": "dt", + "Dong": "dl", + "Dou": "dr", + "Du": "du", + "Duan": "dz", + "Dui": "dn", + "Dun": "dy", + "Duo": "do", + "Fa": "fa", + "Fan": "fd", + "Fang": "ff", + "Fei": "fw", + "Fen": "fk", + "Feng": "fj", + "Fiao": "fm", + "Fo": "fo", + "Fou": "fr", + "Fu": "fu", + "Ga": "ga", + "Gai": "gh", + "Gan": "gd", + "Gang": "gf", + "Gao": "gs", + "Ge": "ge", + "Gei": "gw", + "Gen": "gk", + "Geng": "gj", + "Gong": "gl", + "Gou": "gr", + "Gu": "gu", + "Gua": "gq", + "Guai": "gg", + "Guan": "gz", + "Guang": "gx", + "Gui": "gn", + "Gun": "gy", + "Guo": "go", + "Ha": "ha", + "Hai": "hh", + "Han": "hd", + "Hang": "hf", + "Hao": "hs", + "He": "he", + "Hei": "hw", + "Hen": "hk", + "Heng": "hj", + "Hong": "hl", + "Hou": "hr", + "Hu": "hu", + "Hua": "hq", + "Huai": "hg", + "Huan": "hz", + "Huang": "hx", + "Hui": "hn", + "Hun": "hy", + "Huo": "ho", + "Ji": "ji", + "Jia": "jk", + "Jian": "jc", + "Jiang": "jn", + "Jiao": "jm", + "Jie": "jp", + "Jin": "jb", + "Jing": "jg", + "Jiong": "jl", + "Jiu": "jt", + "Ju": "ju", + "Juan": "jj", + "Jue": "jh", + "Jun": "jw", + "Ka": "ka", + "Kai": "kh", + "Kan": "kd", + "Kang": "kf", + "Kao": "ks", + "Ke": "ke", + "Ken": "kk", + "Keng": "kj", + "Kong": "kl", + "Kou": "kr", + "Ku": "ku", + "Kua": "kq", + "Kuai": "kg", + "Kuan": "kz", + "Kuang": "kx", + "Kui": "kn", + "Kun": "ky", + "Kuo": "ko", + "La": "la", + "Lai": "lh", + "Lan": "ld", + "Lang": "lf", + "Lao": "ls", + "Le": "le", + "Lei": "lw", + "Leng": "lj", + "Li": "li", + "Lia": "lk", + "Lian": "lc", + "Liang": "ln", + "Liao": "lm", + "Lie": "lp", + "Lin": "lb", + "Ling": "lg", + "Liu": "lt", + "Lo": "lo", + "Long": "ll", + "Lou": "lr", + "Lu": "lu", + "Luan": "lz", + "Lun": "ly", + "Luo": "lo", + "Ma": "ma", + "Mai": "mh", + "Man": "md", + "Mang": "mf", + "Mao": "ms", + "Me": "me", + "Mei": "mw", + "Men": "mk", + "Meng": "mj", + "Mi": "mi", + "Mian": "mc", + "Miao": "mm", + "Mie": "mp", + "Min": "mb", + "Ming": "mg", + "Miu": "mt", + "Mo": "mo", + "Mou": "mr", + "Mu": "mu", + "Na": "na", + "Nai": "nh", + "Nan": "nd", + "Nang": "nf", + "Nao": "ns", + "Ne": "ne", + "Nei": "nw", + "Nen": "nk", + "Neng": "nj", + "Ni": "ni", + "Nian": "nc", + "Niang": "nn", + "Niao": "nm", + "Nie": "np", + "Nin": "nb", + "Ning": "ng", + "Niu": "nt", + "Nong": "nl", + "Nou": "nr", + "Nu": "nu", + "Nuan": "nz", + "Nun": "ny", + "Nuo": "no", + "Pa": "pa", + "Pai": "ph", + "Pan": "pd", + "Pang": "pf", + "Pao": "ps", + "Pei": "pw", + "Pen": "pk", + "Peng": "pj", + "Pi": "pi", + "Pian": "pc", + "Piao": "pm", + "Pie": "pp", + "Pin": "pb", + "Ping": "pg", + "Po": "po", + "Pou": "pr", + "Pu": "pu", + "Qi": "qi", + "Qia": "qk", + "Qian": "qc", + "Qiang": "qn", + "Qiao": "qm", + "Qie": "qp", + "Qin": "qb", + "Qing": "qg", + "Qiong": "ql", + "Qiu": "qt", + "Qu": "qu", + "Quan": "qj", + "Que": "qh", + "Qun": "qw", + "Ran": "rd", + "Rang": "rf", + "Rao": "rs", + "Re": "re", + "Ren": "rk", + "Reng": "rj", + "Ri": "ri", + "Rong": "rl", + "Rou": "rr", + "Ru": "ru", + "Rua": "rq", + "Ruan": "rz", + "Rui": "rn", + "Run": "ry", + "Ruo": "ro", + "Sa": "sa", + "Sai": "sh", + "San": "sd", + "Sang": "sf", + "Sao": "ss", + "Se": "se", + "Sen": "sk", + "Seng": "sj", + "Sha": "ua", + "Shai": "uh", + "Shan": "ud", + "Shang": "uf", + "Shao": "us", + "She": "ue", + "Shei": "uw", + "Shen": "uk", + "Sheng": "uj", + "Shi": "ui", + "Shou": "ur", + "Shu": "uu", + "Shua": "uq", + "Shuai": "ug", + "Shuan": "uz", + "Shuang": "ux", + "Shui": "un", + "Shun": "uy", + "Shuo": "uo", + "Si": "si", + "Song": "sl", + "Sou": "sr", + "Su": "su", + "Suan": "sz", + "Sui": "sn", + "Sun": "sy", + "Suo": "so", + "Ta": "ta", + "Tai": "th", + "Tan": "td", + "Tang": "tf", + "Tao": "ts", + "Te": "te", + "Tei": "tw", + "Teng": "tj", + "Ti": "ti", + "Tian": "tc", + "Tiao": "tm", + "Tie": "tp", + "Ting": "tg", + "Tong": "tl", + "Tou": "tr", + "Tu": "tu", + "Tuan": "tz", + "Tui": "tn", + "Tun": "ty", + "Tuo": "to", + "Xi": "xi", + "Xia": "xk", + "Xian": "xc", + "Xiang": "xn", + "Xiao": "xm", + "Xie": "xp", + "Xin": "xb", + "Xing": "xg", + "Xiong": "xl", + "Xiu": "xt", + "Xu": "xu", + "Xuan": "xj", + "Xue": "xh", + "Xun": "xw", + "Za": "za", + "Zai": "zh", + "Zan": "zd", + "Zang": "zf", + "Zao": "zs", + "Ze": "ze", + "Zei": "zw", + "Zen": "zk", + "Zeng": "zj", + "Zha": "aa", + "Zhai": "ah", + "Zhan": "ad", + "Zhang": "af", + "Zhao": "as", + "Zhe": "ae", + "Zhen": "ak", + "Zheng": "aj", + "Zhi": "ai", + "Zhong": "al", + "Zhou": "ar", + "Zhu": "au", + "Zhua": "aq", + "Zhuai": "ag", + "Zhuan": "az", + "Zhuang": "ax", + "Zhui": "an", + "Zhun": "ay", + "Zhuo": "ao", + "Zi": "zi", + "Zong": "zl", + "Zou": "zr", + "Zu": "zu", + "Zuan": "zz", + "Zui": "zn", + "Zun": "zy", + "Zuo": "zo" + }, + "XiaoLang": { + "Lv": "lx", + "Lve": "lb", + "Lue": "lb", + "Nv": "nx", + "Nve": "nb", + "Nue": "nb", + "A": "aa", + "O": "oo", + "E": "uu", + "Ai": "ai", + "Ei": "ui", + "Ao": "ao", + "Ou": "ou", + "An": "an", + "En": "un", + "Ang": "ah", + "Eng": "un", + "Er": "ur", + "Yi": "yi", + "Ya": "ya", + "Yo": "yo", + "Ye": "ye", + "Yao": "ys", + "You": "yr", + "Yan": "yj", + "Yin": "yd", + "Yang": "yh", + "Ying": "yv", + "Wu": "wu", + "Wa": "wa", + "Wo": "wo", + "Wai": "wk", + "Wei": "ww", + "Wan": "wj", + "Wen": "wm", + "Wang": "wh", + "Weng": "wn", + "Yu": "yu", + "Yue": "yb", + "Yuan": "yg", + "Yun": "yy", + "Yong": "yl", + "Ba": "ba", + "Bai": "bk", + "Ban": "bj", + "Bang": "bh", + "Bao": "bs", + "Bei": "bw", + "Ben": "bm", + "Beng": "bn", + "Bi": "bi", + "Bian": "bf", + "Biang": "bm", + "Biao": "bc", + "Bie": "bp", + "Bin": "bd", + "Bing": "bv", + "Bo": "bo", + "Bu": "bu", + "Ca": "ca", + "Cai": "ck", + "Can": "cj", + "Cang": "ch", + "Cao": "cs", + "Ce": "ce", + "Cen": "cm", + "Ceng": "cn", + "Cha": "ia", + "Chai": "ik", + "Chan": "ij", + "Chang": "ih", + "Chao": "is", + "Che": "ie", + "Chen": "im", + "Cheng": "in", + "Chi": "ii", + "Chong": "il", + "Chou": "ir", + "Chu": "iu", + "Chua": "if", + "Chuai": "iv", + "Chuan": "ig", + "Chuang": "iz", + "Chui": "id", + "Chun": "iy", + "Chuo": "io", + "Ci": "ci", + "Cong": "cl", + "Cou": "cr", + "Cu": "cu", + "Cuan": "cg", + "Cui": "cd", + "Cun": "cy", + "Cuo": "co", + "Da": "da", + "Dai": "dk", + "Dan": "dj", + "Dang": "dh", + "Dao": "ds", + "De": "de", + "Dei": "dw", + "Den": "dm", + "Deng": "dn", + "Di": "di", + "Dia": "dk", + "Dian": "df", + "Diao": "dc", + "Die": "dp", + "Ding": "dv", + "Diu": "dt", + "Dong": "dl", + "Dou": "dr", + "Du": "du", + "Duan": "dg", + "Dui": "dd", + "Dun": "dy", + "Duo": "do", + "Fa": "fa", + "Fan": "fj", + "Fang": "fh", + "Fei": "fw", + "Fen": "fm", + "Feng": "fn", + "Fiao": "fc", + "Fo": "fo", + "Fou": "fr", + "Fu": "fu", + "Ga": "ga", + "Gai": "gk", + "Gan": "gj", + "Gang": "gh", + "Gao": "gs", + "Ge": "ge", + "Gei": "gw", + "Gen": "gm", + "Geng": "gn", + "Gong": "gl", + "Gou": "gr", + "Gu": "gu", + "Gua": "gf", + "Guai": "gv", + "Guan": "gg", + "Guang": "gz", + "Gui": "gd", + "Gun": "gy", + "Guo": "go", + "Ha": "ha", + "Hai": "hk", + "Han": "hj", + "Hang": "hh", + "Hao": "hs", + "He": "he", + "Hei": "hw", + "Hen": "hm", + "Heng": "hn", + "Hong": "hl", + "Hou": "hr", + "Hu": "hu", + "Hua": "hf", + "Huai": "hv", + "Huan": "hg", + "Huang": "hz", + "Hui": "hd", + "Hun": "hy", + "Huo": "ho", + "Ji": "ji", + "Jia": "jk", + "Jian": "jf", + "Jiang": "jm", + "Jiao": "jc", + "Jie": "jp", + "Jin": "jd", + "Jing": "jv", + "Jiong": "jj", + "Jiu": "jt", + "Ju": "ju", + "Juan": "jg", + "Jue": "jb", + "Jun": "jy", + "Ka": "ka", + "Kai": "kk", + "Kan": "kj", + "Kang": "kh", + "Kao": "ks", + "Ke": "ke", + "Ken": "km", + "Keng": "kn", + "Kong": "kl", + "Kou": "kr", + "Ku": "ku", + "Kua": "kf", + "Kuai": "kv", + "Kuan": "kg", + "Kuang": "kz", + "Kui": "kd", + "Kun": "ky", + "Kuo": "ko", + "La": "la", + "Lai": "lk", + "Lan": "lj", + "Lang": "lh", + "Lao": "ls", + "Le": "le", + "Lei": "lw", + "Leng": "ln", + "Li": "li", + "Lia": "lk", + "Lian": "lf", + "Liang": "lm", + "Liao": "lc", + "Lie": "lp", + "Lin": "ld", + "Ling": "lv", + "Liu": "lt", + "Lo": "lo", + "Long": "ll", + "Lou": "lr", + "Lu": "lu", + "Luan": "lg", + "Lun": "ly", + "Luo": "lo", + "Ma": "ma", + "Mai": "mk", + "Man": "mj", + "Mang": "mh", + "Mao": "ms", + "Me": "me", + "Mei": "mw", + "Men": "mm", + "Meng": "mn", + "Mi": "mi", + "Mian": "mf", + "Miao": "mc", + "Mie": "mp", + "Min": "md", + "Ming": "mv", + "Miu": "mt", + "Mo": "mo", + "Mou": "mr", + "Mu": "mu", + "Na": "na", + "Nai": "nk", + "Nan": "nj", + "Nang": "nh", + "Nao": "ns", + "Ne": "ne", + "Nei": "nw", + "Nen": "nm", + "Neng": "nn", + "Ni": "ni", + "Nian": "nf", + "Niang": "nm", + "Niao": "nc", + "Nie": "np", + "Nin": "nd", + "Ning": "nv", + "Niu": "nt", + "Nong": "nl", + "Nou": "nr", + "Nu": "nu", + "Nuan": "ng", + "Nun": "ny", + "Nuo": "no", + "Pa": "pa", + "Pai": "pk", + "Pan": "pj", + "Pang": "ph", + "Pao": "ps", + "Pei": "pw", + "Pen": "pm", + "Peng": "pn", + "Pi": "pi", + "Pian": "pf", + "Piao": "pc", + "Pie": "pp", + "Pin": "pd", + "Ping": "pv", + "Po": "po", + "Pou": "pr", + "Pu": "pu", + "Qi": "qi", + "Qia": "qk", + "Qian": "qf", + "Qiang": "qm", + "Qiao": "qc", + "Qie": "qp", + "Qin": "qd", + "Qing": "qv", + "Qiong": "qj", + "Qiu": "qt", + "Qu": "qu", + "Quan": "qg", + "Que": "qb", + "Qun": "qy", + "Ran": "rj", + "Rang": "rh", + "Rao": "rs", + "Re": "re", + "Ren": "rm", + "Reng": "rn", + "Ri": "ri", + "Rong": "rl", + "Rou": "rr", + "Ru": "ru", + "Rua": "rf", + "Ruan": "rg", + "Rui": "rd", + "Run": "ry", + "Ruo": "ro", + "Sa": "sa", + "Sai": "sk", + "San": "sj", + "Sang": "sh", + "Sao": "ss", + "Se": "se", + "Sen": "sm", + "Seng": "sn", + "Sha": "va", + "Shai": "vk", + "Shan": "vj", + "Shang": "vh", + "Shao": "vs", + "She": "ve", + "Shei": "vw", + "Shen": "vm", + "Sheng": "vn", + "Shi": "vi", + "Shou": "vr", + "Shu": "vu", + "Shua": "vf", + "Shuai": "vv", + "Shuan": "vg", + "Shuang": "vz", + "Shui": "vd", + "Shun": "vy", + "Shuo": "vo", + "Si": "si", + "Song": "sl", + "Sou": "sr", + "Su": "su", + "Suan": "sg", + "Sui": "sd", + "Sun": "sy", + "Suo": "so", + "Ta": "ta", + "Tai": "tk", + "Tan": "tj", + "Tang": "th", + "Tao": "ts", + "Te": "te", + "Tei": "tw", + "Teng": "tn", + "Ti": "ti", + "Tian": "tf", + "Tiao": "tc", + "Tie": "tp", + "Ting": "tv", + "Tong": "tl", + "Tou": "tr", + "Tu": "tu", + "Tuan": "tg", + "Tui": "td", + "Tun": "ty", + "Tuo": "to", + "Xi": "xi", + "Xia": "xk", + "Xian": "xf", + "Xiang": "xm", + "Xiao": "xc", + "Xie": "xp", + "Xin": "xd", + "Xing": "xv", + "Xiong": "xj", + "Xiu": "xt", + "Xu": "xu", + "Xuan": "xg", + "Xue": "xb", + "Xun": "xy", + "Za": "za", + "Zai": "zk", + "Zan": "zj", + "Zang": "zh", + "Zao": "zs", + "Ze": "ze", + "Zei": "zw", + "Zen": "zm", + "Zeng": "zn", + "Zha": "ea", + "Zhai": "ek", + "Zhan": "ej", + "Zhang": "eh", + "Zhao": "es", + "Zhe": "ee", + "Zhen": "em", + "Zheng": "en", + "Zhi": "ei", + "Zhong": "el", + "Zhou": "er", + "Zhu": "eu", + "Zhua": "ef", + "Zhuai": "ev", + "Zhuan": "eg", + "Zhuang": "ez", + "Zhui": "ed", + "Zhun": "ey", + "Zhuo": "eo", + "Zi": "zi", + "Zong": "zl", + "Zou": "zr", + "Zu": "zu", + "Zuan": "zg", + "Zui": "zd", + "Zun": "zy", + "Zuo": "zo" + } +} \ No newline at end of file