
     jD                        d dl mZ dZd dlZd dlZd dlZd dlZd dlmZ d dl	m
Z
 d dlmZ ddZddZdd	Zdd
Z	 	 	 	 ddZddZy)    )annotations)fix_package_namesinstall_lazy_importerset_deprecated_aliasesN)import_module)
ModuleType)Anyc                 L   t        j                  d      j                  d   dz   t         j                     } t	        |       \  t              d= d= ssydfd}dfd}|d	<   |d
<   j                  dd        j                  dd        y)N   __name__.TYPE_CHECKINGr   Fc                L   j                  |       x}r#t        	| |       |j                  dd      \  }}n		 |    \  }}t        |	      }t        ||      }t        |dd      j                  
      r| vr	|_        || <   |S # t        $ r t	        d	d|       d w xY w)Nr   r   module  has no attribute 
__module__ )	getemit_deprecation_warningrsplitKeyErrorAttributeErrorr   getattr
startswithr   )namenew_name
target_modtarget_attrimportedvaluedeprecated_aliaseslazy_mapmodule_globalsmodule_namemodule_prefixs         ]/home/min/hermes_workspace/demo_review/venv/lib/python3.12/site-packages/anyio/_lazyimport.py__getattr__z*install_lazy_importer.<locals>.__getattr__!   s    )--d3383$[$A&.ooc1&=#J*24.'
K ![9+. E<,77F..*E$t!  $k_,>thGs   B B#c                      S )N )namess   r&   __dir__z&install_lazy_importer.<locals>.__dir__:   s        r+   r'   r   r   Tr   strreturnr	   )r/   z	list[str])sys	_getframe	f_globalsmodules_build_lazy_mapsortedpop)	moduler'   r+   r!   r"   r#   r$   r%   r*   s	      @@@@@@r&   r   r      s    ]]1%//N ,K#%M[[%F#26#: H 8E 	'./. 2 !(N9$/N=!*D1/6r,   c                 >   t        j                  d      j                  } | d   dz   }| t        j                  = | j                         D ]R  }t        |dd      x}s|j                  |      s%|j                  d      }dj                  d |D              |_
        T y )Nr   r   r   r   r   c              3  D   K   | ]  }|j                  d       r|  yw)_N)r   ).0parts     r&   	<genexpr>z$fix_package_names.<locals>.<genexpr>L   s      ,%*T$//#2FDUs     )r0   r1   r2   r   r   valuesr   r   splitjoinr   )r#   r%   r    modnamepartss        r&   r   r   D   s    ]]1%//N":.4M(112&&(e\26676!!-0c*#&88 ,%*, $ 	 )r,   c           	     P    t        j                  d|  d| d| dt        d       y )NzThe r   z alias is deprecated, use z	 instead.   )
stacklevel)warningswarnDeprecationWarning)r$   r   targets      r&   r   r   Q   s-    MM
{m1TF"<VHINr,   c                     t        j                  d      j                  }|d   |t        j                  = d fd}|t         j
                     j                  d<   y )Nr   r   c                    	 |    }t        | |       |j                  dd      \  }}t	        |      }t        ||      S # t         $ r t        dd|       d w xY w)Nr   r   r   r   )r   r   r   r   r   r   )r   rI   target_modnameattrnamer7   aliasesr$   s        r&   r'   z+set_deprecated_aliases.<locals>.__getattr__^   s}    	T]F 	!dF;#)==a#8 ~.vx((  	 +(:4(C	s   A Ar'   r-   )r0   r1   r2   r   r   r3   __dict__)rN   r#   r'   r$   s   `  @r&   r   r   Y   sQ    ]]1%//N ,K-667) 8CCKK%%m4r,   c                   	 t        j                  |       }t        || j                  xs ddt
        j                        }t        |t
        j                        sJ i }i }|j                  D ]?  }t        |t
        j                        rt        |j                        s4|j                  D ]  }|xt
        j                  d xz\    d|j                  z  |j                  xs dz   }|j                   D ]G  }|j"                  dk(  rt%        d      |j&                  xs |j"                  }	||j"                  f||	<   I  t
        j(                  d xT\   t        |j*                  t
        j,                        s|j*                  }
t        |
j.                  t
        j0                        s|
j.                  j2                  dk(  s|
j4                  d   }t        |t
        j6                        sJ t9        |j:                  |j<                  d	
      D ]  \  }}t        |t
        j>                        sJ t        |j*                  t@              sJ t        |t
        j>                        sJ t        |j*                  t@              sJ |j*                  ||j*                  <      B ||fS # t        $ r i i fcY S w xY w)Nr   execr)   r   *zstar imports not supportedr   r   T)strict)!inspect	getsourceOSErrorcompile__file__astPyCF_ONLY_AST
isinstanceModulebodyIf_is_type_checking_blocktest
ImportFromlevelr7   r*   r   RuntimeErrorasnameExprr    CallfuncNameidargsDictzipkeysr>   Constantr.   )r7   sourcetreeoutr!   nodestmtbasealiasexportedcallarg0keyr    s                 r&   r4   r4   n   s$   ""6* 66??0b&#:K:KLDdCJJ'''&(C)+		$'/Ftyy/QIID%S^^%+t{{/@bAD!% ::,"./K"LL#(<<#=5::)-uzz(:H ", & XXZ:djj#((#C::D"499chh7 IILL,DD#yy|)$999*-diiT*RJC#-c3<<#@@#@#-cii#==#=#-eS\\#BB#B#-ekk3#??#?<AKK.syy9 +S   	 : """K  2vs   J4 4KKc                v   t        | t        j                        sy| j                  d   }|xt        j                  d x\    |j
                  dk(  S  t        j                  d xR\   t        |j                  t        j                        xr* |j                  j
                  dk(  xr |j                  dk(  S  	 y)NFr   r)   r   typing)	r[   rY   BoolOpr>   rh   ri   	Attributer    attr)r`   subtests     r&   r_   r_      s    dCJJ'kk!nG
SXXZ::00 ]]_7==#((3 4MM$$04LLO3  r,   )r/   bool)r/   None)r$   r.   r   r.   rI   r.   r/   r   )rN   zdict[str, str]r/   r   )r7   r   r/   z1tuple[dict[str, tuple[str, str]], dict[str, str]])r`   zast.ASTr/   r   )
__future__r   __all__rY   rT   r0   rF   	importlibr   typesr   r{   r	   r   r   r   r   r4   r_   r)   r,   r&   <module>r      sW    "   
  #  /d
C**#*#6*#Zr,   