# Path: pypinyin/standard.py
# def convert_finals(pinyin):
#     """还原原始的韵母"""
#     pinyin = convert_zero_consonant(pinyin)
#     pinyin = convert_uv(pinyin)
#     pinyin = convert_iou(pinyin)
#     pinyin = convert_uei(pinyin)
#     pinyin = convert_uen(pinyin)
#     return pinyin
# 
# Path: pypinyin/style/_constants.py
# _INITIALS = [
#     'b',
#     'p',
#     'm',
#     'f',
#     'd',
#     't',
#     'n',
#     'l',
#     'g',
#     'k',
#     'h',
#     'j',
#     'q',
#     'x',
#     'zh',
#     'ch',
#     'sh',
#     'r',
#     'z',
#     'c',
#     's',
# ]
# 
# _INITIALS_NOT_STRICT = _INITIALS + ['y', 'w']
# 
# _FINALS = [
#     'i',
#     'u',
#     'ü',
#     'a',
#     'ia',
#     'ua',
#     'o',
#     'uo',
#     'e',
#     'ie',
#     'üe',
#     'ai',
#     'uai',
#     'ei',
#     'uei',
#     'ao',
#     'iao',
#     'ou',
#     'iou',
#     'an',
#     'ian',
#     'uan',
#     'üan',
#     'en',
#     'in',
#     'uen',
#     'ün',
#     'ang',
#     'iang',
#     'uang',
#     'eng',
#     'ing',
#     'ueng',
#     'ong',
#     'iong',
# 
#     'er',
#     'ê',
# ]
# 
# RE_PHONETIC_SYMBOL = re.compile(
#     r'[{0}]'.format(
#         re.escape(''.join(x for x in PHONETIC_SYMBOL_DICT if len(x) == 1))
#     )
# )
# 
# PHONETIC_SYMBOL_DICT = phonetic_symbol.phonetic_symbol.copy()
# 
# PHONETIC_SYMBOL_DICT_KEY_LENGTH_NOT_ONE = dict(
#     (k, v)
#     for k, v in PHONETIC_SYMBOL_DICT.items()
#     if len(k) > 1
# )
# 
# RE_NUMBER = re.compile(r'\d')


from pypinyin.standard import convert_finals
from pypinyin.style._constants import (
    _INITIALS, _INITIALS_NOT_STRICT, _FINALS,
    RE_PHONETIC_SYMBOL, PHONETIC_SYMBOL_DICT,
    PHONETIC_SYMBOL_DICT_KEY_LENGTH_NOT_ONE,
    RE_NUMBER
)
        _initials = _INITIALS_NOT_STRICT

    for i in _initials:
        if pinyin.startswith(i):
            return i
    return ''


def get_finals(pinyin, strict):
    """获取单个拼音中的韵母.

    :param pinyin: 单个拼音，无声调拼音
    :type pinyin: unicode
    :param strict: 是否严格遵照《汉语拼音方案》来处理声母和韵母
    :return: 韵母
    :rtype: unicode
    """
    if strict:
        pinyin = convert_finals(pinyin)

    initials = get_initials(pinyin, strict=strict) or ''

    # 按声母分割，剩下的就是韵母
    finals = pinyin[len(initials):]

    # 处理既没有声母也没有韵母的情况
    if strict and finals not in _FINALS:
        # 处理 y, w 导致误判的问题，比如 yo
        initials = get_initials(pinyin, strict=False)
        finals = pinyin[len(initials):]

# Path: pypinyin/standard.py
# def convert_finals(pinyin):
#     """还原原始的韵母"""
#     pinyin = convert_zero_consonant(pinyin)
#     pinyin = convert_uv(pinyin)
#     pinyin = convert_iou(pinyin)
#     pinyin = convert_uei(pinyin)
#     pinyin = convert_uen(pinyin)
#     return pinyin
# 
# Path: pypinyin/style/_constants.py
# _INITIALS = [
#     'b',
#     'p',
#     'm',
#     'f',
#     'd',
#     't',
#     'n',
#     'l',
#     'g',
#     'k',
#     'h',
#     'j',
#     'q',
#     'x',
#     'zh',
#     'ch',
#     'sh',
#     'r',
#     'z',
#     'c',
#     's',
# ]
# 
# _INITIALS_NOT_STRICT = _INITIALS + ['y', 'w']
# 
# _FINALS = [
#     'i',
#     'u',
#     'ü',
#     'a',
#     'ia',
#     'ua',
#     'o',
#     'uo',
#     'e',
#     'ie',
#     'üe',
#     'ai',
#     'uai',
#     'ei',
#     'uei',
#     'ao',
#     'iao',
#     'ou',
#     'iou',
#     'an',
#     'ian',
#     'uan',
#     'üan',
#     'en',
#     'in',
#     'uen',
#     'ün',
#     'ang',
#     'iang',
#     'uang',
#     'eng',
#     'ing',
#     'ueng',
#     'ong',
#     'iong',
# 
#     'er',
#     'ê',
# ]
# 
# RE_PHONETIC_SYMBOL = re.compile(
#     r'[{0}]'.format(
#         re.escape(''.join(x for x in PHONETIC_SYMBOL_DICT if len(x) == 1))
#     )
# )
# 
# PHONETIC_SYMBOL_DICT = phonetic_symbol.phonetic_symbol.copy()
# 
# PHONETIC_SYMBOL_DICT_KEY_LENGTH_NOT_ONE = dict(
#     (k, v)
#     for k, v in PHONETIC_SYMBOL_DICT.items()
#     if len(k) > 1
# )
# 
# RE_NUMBER = re.compile(r'\d')


# Path: pypinyin/style/_utils.py
from pypinyin.standard import convert_finals
from pypinyin.style._constants import (
    _INITIALS, _INITIALS_NOT_STRICT, _FINALS,
    RE_PHONETIC_SYMBOL, PHONETIC_SYMBOL_DICT,
    PHONETIC_SYMBOL_DICT_KEY_LENGTH_NOT_ONE,
    RE_NUMBER
)

        _initials = _INITIALS_NOT_STRICT

    for i in _initials:
        if pinyin.startswith(i):
            return i
    return ''


def get_finals(pinyin, strict):
    """获取单个拼音中的韵母.

    :param pinyin: 单个拼音，无声调拼音
    :type pinyin: unicode
    :param strict: 是否严格遵照《汉语拼音方案》来处理声母和韵母
    :return: 韵母
    :rtype: unicode
    """
    if strict:
        pinyin = convert_finals(pinyin)

    initials = get_initials(pinyin, strict=strict) or ''

    # 按声母分割，剩下的就是韵母
    finals = pinyin[len(initials):]

    # 处理既没有声母也没有韵母的情况
    if strict and finals not in _FINALS:
        # 处理 y, w 导致误判的问题，比如 yo
        initials = get_initials(pinyin, strict=False)
        finals = pinyin[len(initials):]

        if finals in _FINALS: