§
    %Èj
  ã                  ób   — U d Z ddlmZ ddlmZmZmZmZmZ ddl	m
Z
 ddlmZ i Zded<   dd„ZdS )zEAnnotation-based dependency extraction from ``Annotated`` type hints.é    )Úannotations)Ú	AnnotatedÚAnyÚget_argsÚ
get_originÚget_type_hints)ÚCallableé   )Ú
Dependencyz:dict[Callable[..., Any], dict[str, list[Dependency[Any]]]]Ú_annotation_cacheÚfunctionúCallable[..., Any]Úreturnú dict[str, list[Dependency[Any]]]c                óB  — | t           v rt           |          S i }	 t          | d¬¦  «        }n# t          $ r |t           | <   |cY S w xY w|                     ¦   «         D ]¸\  }}|dk    rŒt	          |¦  «        t
          urŒ#g }t          |¦  «        dd…         D ]t}t          |t          ¦  «        r| 	                    |¦  «         Œ-t          |t          ¦  «        r2t          |t          ¦  «        r| 	                     |¦   «         ¦  «         Œu|r|||<   Œ¹|t           | <   |S )zòFind ``Dependency`` instances in ``Annotated`` type-hint metadata.

    Bare ``Dependency`` subclasses are also accepted as a shorthand for a
    parameterless instance: ``Annotated[T, Dep]`` is equivalent to
    ``Annotated[T, Dep()]``.
    T)Úinclude_extrasr   r
   N)r   r   Ú	ExceptionÚitemsr   r   r   Ú
isinstancer   ÚappendÚtypeÚ
issubclass)r   ÚresultÚhintsÚnameÚhintÚdependenciesÚas          ú`/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/uncalled_for/annotations.pyÚget_annotation_dependenciesr       sU  € ð Õ$Ð$Ð$Ý  Ô*Ð*à/1€FðÝ˜x¸Ð=Ñ=Ô=ˆˆøÝð ð ð Ø&,Õ˜(Ñ#Øˆˆˆðøøøð —k’k‘m”mð (ð (‰
ˆˆdØ8ÒÐØÝdÑÔ¥9Ð,Ð,ØØ.0ˆÝ˜$‘”   Ô#ð 	)ð 	)ˆAÝ˜!ZÑ(Ô(ð )Ø×#Ò# AÑ&Ô&Ð&Ð&Ý˜AtÑ$Ô$ð )­°AµzÑ)BÔ)Bð )Ø×#Ò# A A¡C¤CÑ(Ô(Ð(øØð 	(Ø'ˆF4‰Løà"(ÕhÑØ€Ms   š, ¬AÁAN)r   r   r   r   )Ú__doc__Ú
__future__r   Útypingr   r   r   r   r   Úcollections.abcr	   Úbaser   r   Ú__annotations__r    © ó    r   ú<module>r)      sž   ðØ KÐ KÐ Kà "Ð "Ð "Ð "Ð "Ð "à GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ GÐ Gà $Ð $Ð $Ð $Ð $Ð $à Ð Ð Ð Ð Ð àPRÐ Ð RÐ RÐ RÑ Rð"ð "ð "ð "ð "ð "r(   