U
    ^g(                     @   sx   d dl mZmZmZ d dlZddlmZ ee Zeegef Z	ee	egef Z
dedjfeee e
edddZdS )	    )CallableMatchOptionalN   )EMOJIz!(:(\S*?)(?:(?:\-)(emoji|text))?:))textdefault_variant
_emoji_subreturnc                    sP   t jddd}|j|r&||dnd tt td fdd}||| S )zReplace emoji code in text.u   ︎u   ️)r   emoji )matchr
   c                    sD   |   \}}}z| |  W S  tk
r>   | Y S X d S )N)groupslowerKeyError)r   Z
emoji_codeZ
emoji_namevariantZdefault_variant_codeZ	get_emojiZget_variant 7/tmp/pip-unpacked-wheel-04vb07gv/rich/_emoji_replace.py
do_replace   s     z"_emoji_replace.<locals>.do_replace)r   __getitem__getr   str)r   r   r	   variantsr   r   r   r   _emoji_replace   s    
	r   )typingr   r   r   reZ_emoji_codesr   r   Z_ReStringMatchZ_ReSubCallableZ_EmojiSubMethodcompilesubr   r   r   r   r   <module>   s   
