
    g*'                    `   % S SK Jr  S SKrS SKJr  S SKrS SKJr  S SKJr  S SKJ	r	  S SKJ
r
  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKrS SKrS SKJr  S SKJr  S SKJr  S SKJr  SSKJ r    S SKJ!r!  \" 5       r"S\#S'   \" S\S9r$\" S \S!\4   S9r% " S" S#\&5      r' " S$ S%\'S&9r(S1S' jr)S2S( jr*\S3S) j5       r+\S4S5S* jj5       r+\ S6     S7S+ jj5       r+ S6     S8S, jjr+S9S- jr, " S. S/5      r-S:S0 jr.g);    )annotationsN)Iterable)Any)Callable)cast)Dict)List)Mapping)MutableMapping)NoReturn)Optional)overload)Sequence)Set)Tuple)Type)TYPE_CHECKING)TypeVar)Union)asbool)immutabledict)to_list)unique_list   )inspect_getfullargspec)memoized_propertyzMapping[Any, Any]
EMPTY_DICT_T)bound_C.c                  ,   ^  \ rS rSrSU 4S jjrSrU =r$ )_ModuleClsMeta.   c                F   > [         TU ]  X5        U R                  U5        g N)super__setattr___update_module_proxies)clskeyvalue	__class__s      `/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/alembic/util/langhelpers.pyr'   _ModuleClsMeta.__setattr__/   s    C'""3'     )r*   strr+   Callable[..., Any]returnNone)__name__
__module____qualname____firstlineno__r'   __static_attributes____classcell__)r,   s   @r-   r"   r"   .   s    ( (r/   r"   c                     \ rS rSr% Sr\R                  " S 5      rS\S'   \	SS j5       r
SS jrSS jr\	      SS	 j5       r\	        SS
 j5       r\	          SS j5       r\	        SS j5       rSrg)ModuleClsProxy4   zCreate module level proxy functions for the
methods on a given class.

The functions will have a compatible signature
as the methods.

c                     [        5       / 4$ r%   )setr0   r/   r-   <lambda>ModuleClsProxy.<lambda>C   s
    r/   zaDict[Type[Any], Tuple[Set[str], List[Tuple[MutableMapping[str, Any], MutableMapping[str, Any]]]]]_setupsc                `    U R                   U    u  p#U H  u  pEU R                  XXR5        M     g r%   )rB   _add_proxied_attribute)r)   name
attr_namesmodulesglobals_locals_s         r-   r(   %ModuleClsProxy._update_module_proxiesE   s0    !kk#.
!(H&&twK ")r/   c                    U R                   U R                     u  pU H  u  p4XS'   U H  n[        X5      X5'   M     M!     g N_proxy)rB   r,   getattrselfrF   rG   rH   rI   	attr_names         r-   _install_proxyModuleClsProxy._install_proxyK   sC    "ll4>>:
!(H!%X'	&-d&># ( ")r/   c                p    U R                   U R                     u  pU H  u  p4S US'   U H  nX5	 M     M     g rL   )rB   r,   rO   s         r-   _remove_proxyModuleClsProxy._remove_proxyR   s>    "ll4>>:
!(H!%HX'	' ( ")r/   c                n    U R                   U    u  p4UR                  X45        U R                  XU5        g r%   )rB   append_setup_proxy)r)   rH   rI   rF   rG   s        r-   create_module_class_proxy(ModuleClsProxy.create_module_class_proxyY   s4     "kk#.
*+J7r/   c                L    [        U 5       H  nU R                  XAX#5        M     g r%   )dirrD   )r)   rH   rI   rF   methnames        r-   rY   ModuleClsProxy._setup_proxyc   s"     CH&&x7O !r/   c                    UR                  S5      (       dB  [        X5      n[        U5      (       a  U R                  XU5      X1'   g UR	                  U5        g g )N_)
startswithrN   callable_create_method_proxyadd)r)   r^   rH   rI   rF   meths         r-   rD   %ModuleClsProxy._add_proxied_attributem   sS     ""3''3)D~~$'$<$<%! x( (r/   c           	       ^  [        T U5      nSU 4S jjnXRS'   [        US/ 5      nU(       ap  [        U5      nUS   (       a   US   S   S:X  a  US   R                  S5        S=pSUR                  < S[	        U5      < SU< S	3n
            SS
 jnXS'   OSnSn	Sn
[
        R                  " SUU
UU	UR                  S.-  5      n0 n[        U[        SU5      U5        [        SX   5      $ )Nc                B   > [        SU < STR                  < S35      Ue)NzCan't invoke function 'zE', as the proxy object has not yet been established for the Alembic 'z2' class.  Try placing this code inside a callable.)	NameErrorr5   )rE   from_r)   s     r-   _name_error8ModuleClsProxy._create_method_proxy.<locals>._name_error   s%    
 	' r/   rl   _legacy_translationsr   rP   z*args, **kwzargs, kw = _translate(z, z, args, kw)c           
        0 n/ nU HB  u  pxXt;   d  M  [         R                  " SU< SU< SU < S35        UR                  U5      XX'   MD     UR                  U5        [	        U5      nUS   (       a  US   S [        US   5      *  n	OUS   n	U	 H+  n
X;  d  M
   UR                  UR                  S5      5        M-     UR                  U5        Xe4$ ! [         a    [        SU
-  5      ef = f)Nz	Argument z is now named z for method z().   r   z(missing required positional argument: %s)
warningswarnpopupdatelistlenrX   
IndexError	TypeErrorextend)fn_namespectranslationsargskw	return_kwreturn_argsoldnamenewnamepos_onlyargs              r-   	translate6ModuleClsProxy._create_method_proxy.<locals>.translate   s     	 (4$G} 297GM .0VVG_	* )5   $Dz7#Aw#d1g,7H#AwH#C+'..txx{; $ ""4("--  * "+ J"%!&# s    CC,
_translate a          def %(name)s(%(args)s):
            %(doc)r
            %(translate)s
            try:
                p = _proxy
            except NameError as ne:
                _name_error('%(name)s', ne)
            return _proxy.%(name)s(%(apply_kw)s)
            e
        )rE   r   r}   apply_kwdoczDict[str, Any]r2   )rE   r1   rk   	Exceptionr3   r   )rz   r1   r{   r   r|   r   r}   r   r~   r   r3   r   )
rN   r   rs   r5   tupletextwrapdedent__doc__execr   )r)   rE   rH   rI   fnrl   r|   r{   
outer_args
inner_argstranslate_strr   	func_textlcls   `             r-   rd   #ModuleClsProxy._create_method_proxy~   s/    S$	 #.r#92>)"-DAw471:/QA&33JdM..$'.7:.BE.KN..B &/\"&J&JMOO
 *"&zz
	( )+Y-x8#>(#)44r/   r0   N)rE   r1   r3   r4   )r3   r4   )rH   MutableMapping[str, Any]rI   r   r3   r4   )rH   r   rI   r   rF   Set[str]r3   r4   )
r^   r1   rH   r   rI   r   rF   r   r3   r4   )rE   r1   rH   r   rI   r   r3   r2   )r5   r6   r7   r8   r   collectionsdefaultdictrB   __annotations__classmethodr(   rR   rU   rZ   rY   rD   rd   r9   r0   r/   r-   r<   r<   4   s;    	 34   5 L L
?( 8*8 *8 
	8 8 P*P *P 	P
 
P P )) +) *	)
 ) 
) )  ^5^5 +^5 *	^5
 
^5 ^5r/   r<   )	metaclassc                   ^  SU 4S jjnU$ )Nc                   > TU l         U $ r%   )rn   )r   r|   s    r-   decorate$_with_legacy_names.<locals>.decorate   s    ".	r/   r   r    r3   r    r0   )r|   r   s   ` r-   _with_legacy_namesr      s     Or/   c                 F    [         R                  " 5       R                  SS  $ )Ni)uuiduuid4hexr0   r/   r-   rev_idr      s    ::<CD!!r/   c                    g r%   r0   xdefaults     r-   to_tupler      s    CFr/   c                    g r%   r0   r   s     r-   r   r      s    :=r/   c                    g r%   r0   r   s     r-   r   r      s     r/   c                    U c  U$ [        U [        5      (       a  U 4$ [        U [        5      (       a  [        U 5      $ U 4$ r%   )
isinstancer1   r   r   r   s     r-   r   r      s?     	y	As		t	Ax	 	 Qxtr/   c                *    [        [        U 5      5      $ r%   )r   r   )tups    r-   dedupe_tupler     s    S!""r/   c                  f    \ rS rSrS	S
S jjr S     SS jjrSSS jjr    SS jrSS jrSr	g)
Dispatcheri  c                    0 U l         Xl        g r%   	_registryuselist)rP   r   s     r-   __init__Dispatcher.__init__  s    57r/   c                    ^ ^^ SUU U4S jjnU$ )Nc                   > TR                   (       a/  TR                  R                  TT4/ 5      R                  U 5        U $ TT4TR                  ;  d   eU TR                  TT4'   U $ r%   )r   r   
setdefaultrX   )r   	qualifierrP   targets    r-   r   )Dispatcher.dispatch_for.<locals>.decorate  sf    ||))69*=rBII"M I 	*$..@@@68	23Ir/   r   r0   )rP   r   r   r   s   ``` r-   dispatch_forDispatcher.dispatch_for  s    	 	 r/   c                   [        U[        5      (       a  U/nO7[        U[        5      (       a  UR                  nO[        U5      R                  nU Ho  nUS:w  a2  XB4U R                  ;   a!  U R                  U R                  XB4   5      s  $ US4U R                  ;   d  MO  U R                  U R                  US4   5      s  $    [        SU-  5      e)Nr   z#no dispatch function for object: %s)r   r1   type__mro__r   _fn_or_list
ValueError)rP   objr   targetsspclss        r-   dispatchDispatcher.dispatch  s    c3&)UGT""kkG3i''GEI%5*<*N''7I(JKK#t~~5''y7I(JKK	  BSHIIr/   c                >   ^ U R                   (       a
  SU4S jjnU$ T$ )Nc                 l   > [         (       a  [        T[        5      (       d   eT H  nU" U 0 UD6  M     g r%   )r   r   r   )r   r~   r   
fn_or_lists      r-   go"Dispatcher._fn_or_list.<locals>.go2  s0     =%j(;;;;$BNrN %r/   )r   r   r~   r   r3   r4   )r   )rP   r   r   s    ` r-   r   Dispatcher._fn_or_list-  s     <<# Ir/   c                   ^  [        5       nT R                  (       a1  UR                  R                  U 4S jT R                   5       5        U$ UR                  R                  T R                  5        U$ )z@Return a copy of this dispatcher that is independently
writable.c              3  n   >#    U  H%  oTR                   U    Vs/ s H  o"PM     sn4v   M'     g s  snf 7fr%   )r   ).0kr   rP   s      r-   	<genexpr>$Dispatcher.branch.<locals>.<genexpr>B  s4      ?M!$.."34"3BR"345~4s   505)r   r   r   rt   )rP   ds   ` r-   branchDispatcher.branch<  sZ     L<<KK ?C~~ 
  KKt~~.r/   r   N)F)r   boolr3   r4   )r   )r   r   r   r1   r3   zCallable[[_C], _C])r   r   r   r1   r3   r   )r   z3Union[List[Callable[..., Any]], Callable[..., Any]]r3   r2   )r3   r   )
r5   r6   r7   r8   r   r   r   r   r   r9   r0   r/   r-   r   r     sI    
 -6&)	J M	r/   r   c                    U c   eU $ r%   r0   )r+   s    r-   not_noner   J  s    Lr/   )r|   r   r3   r   )r3   r1   )r   r   r   Tuple[Any, ...]r3   r   ).)r   r4   r   Optional[_T]r3   r   r%   )r   r   r   Optional[Tuple[Any, ...]]r3   r   )r   r   r   r   r3   r   )r   Tuple[str, ...]r3   r   )r+   r   r3   r   )/
__future__r   r   collections.abcr   r   typingr   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   rq   sqlalchemy.utilr   r   r   r   compatr   r   r   r   r   r    r   r"   r<   r   r   r   r   r   r   r0   r/   r-   <module>r      s<   "  $        !              , : . 6 *
 !.
 /TT#s(+,(T (i5~ i5X" 
 F 
 F 
 = 
 = 
15
. 
 26


.

#< <~r/   