
    KiD                     P    d dl mZmZmZmZ erd dlmZ dZdedefdZ	de
ddfd	Zy
)    )AnycastSetTYPE_CHECKINGRenderableType-aihwerij235234ljsdnp34ksodfipwoe234234jlskjdfcheck_objectreturnc                 Z    t        | t              xs t        | d      xs t        | d      S )z+Check if an object may be rendered by Rich.__rich____rich_console__)
isinstancestrhasattr)r
   s    Y/home/jay/workspace/scripts/.codegraph-venv/lib/python3.12/site-packages/rich/protocol.pyis_renderabler   	   s2     	<% 	5<,	5<!34    
renderabler   c                 J   ddl m} t               }t        | d      r|t	        | t
              slt        | t              rt        |       S t        | d      } |       } t        |       }||v rn.|j                  |       t        | d      rt	        | t
              slt        ||       S )zCast an object to a renderable by calling __rich__ if present.

    Args:
        renderable (object): A potentially renderable object

    Returns:
        object: The result of recursively calling __rich__.
    r   r   r   )rich.consoler   setr   r   type
_GIBBERISHreprgetattraddr   )r   r   rich_visited_setcast_methodrenderable_types        r   	rich_castr!      s     ,"%%
*j
)*Z2N:z*
##j*5 ]
z*.._- *j
)*Z2N 
++r   N)typingr   r   r   r   r   r   r   boolr   objectr!    r   r   <module>r&      s=    0 0+@
  ,& ,%5 ,r   