+
    iI                      a  0 t $ R t^ RIHt ^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^ R	IHt ^ R
IHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ]'       d   ^RIHt ^RIH t  ]
]!]3,          t"]PF                  t$R]%R&    ! R R]4      t& ! R R]&4      t' ! R  R!]'4      t( ! R" R#]&4      t)/ t*R$]%R%&   ]! R&RR'7      t+R( R) lt,R<R*R+R,R+R-R/R. R/ lllt-]R<R0 R1 ll4       t.]R<R2 R3 ll4       t.R<R4 R5 llt.R6 R7 lt/R8 R9 lt0R: R; lt1R# )=a*  The :class:`.Annotated` class and related routines; creates hash-equivalent
copies of SQL constructs which contain context-specific markers and
associations.

Note that the :class:`.Annotated` concept as implemented in this module is not
related in any way to the pep-593 concept of "Annotated".


)annotationsN)Any)Callable)cast)Dict)	FrozenSet)Mapping)Optional)overload)Sequence)Tuple)Type)TYPE_CHECKING)TypeVar)	operators)HasCacheKey)anon_map)ExternallyTraversible)InternalTraversal)util)Literal)Self)_EntityNamespace)_TraverseInternalsTypeutil.immutabledict[str, Any]EMPTY_ANNOTATIONSc                      ] tR t^5t$ Rt]tR]R&   R]R&   R]R&   R R lt]	RR	 R
 ll4       t
]	RR R ll4       t
RR R llt
]P                  R R l4       tR R ltRtR# )SupportsAnnotationsr   _annotationsz*util.generic_fn_descriptor[FrozenSet[Any]]	proxy_setbool_is_immutablec                    V ^8  d   QhRRRR/#    values_AnnotationDictreturnr    )formats   "ڂC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO CLAUDE\MAESTRO\maestro-backend\venv\Lib\site-packages\sqlalchemy\sql\annotation.py__annotate__ SupportsAnnotations.__annotate__>   s     $ $ $D $    c                	    \        4       hNNotImplementedErrorselfr%   s   &&r*   	_annotateSupportsAnnotations._annotate>   s    !##r-   c               $    V ^8  d   QhRRRRRR/# r$   r%   Literal[None]cloner    r'   r   r(   )r)   s   "r*   r+   r,   B   (        
	r-   c                	    R # r/   r(   r3   r%   r9   s   &&&r*   _deannotateSupportsAnnotations._deannotateA       
 r-   c               $    V ^8  d   QhRRRRRR/# r$   r%   Sequence[str]r9   r    r'   r   r(   )r)   s   "r*   r+   r,   I   (     " "" " 
	"r-   c                	    R # r/   r(   r<   s   &&&r*   r=   r>   H       
 "r-   Nc               $    V ^8  d   QhRRRRRR/# r$   r%   Optional[Sequence[str]]r9   r    r'   r   r(   )r)   s   "r*   r+   r,   O   s(     $ $'$ $ 
	$r-   c                	    \        4       hr/   r0   r<   s   &&&r*   r=   r>   O   s    
 "##r-   c                   V ^8  d   QhRR/# )r$   r'   Tuple[Any, ...]r(   )r)   s   "r*   r+   r,   W   s     : : :r-   c                	8    \        4       pV P                  V4      # r/   )r   _gen_annotations_cache_key)r3   	anon_map_s   & r*   _annotations_cache_key*SupportsAnnotations._annotations_cache_keyV   s    J	..y99r-   c                    V ^8  d   QhRRRR/# )r$   r   r'   rK   r(   )r)   s   "r*   r+   r,   \   s     
 
 
	
r-   c           
     	V  a R \         ;QJ dM    . V3R l\        V P                  4       Uu. uF  pW P                  V,          3NK  	  up 4       F  NK  	  53# ! V3R l\        V P                  4       Uu. uF  pW P                  V,          3NK  	  up 4       4      3# u upi u upi )r   c              3     <"   T F3  w  rT\        V\        4      '       d   VP                  S. 4      MT3x  K5  	  R # 5ir/   )
isinstancer   _gen_cache_key).0keyvaluer   s   &  r*   	<genexpr>ASupportsAnnotations._gen_annotations_cache_key.<locals>.<genexpr>a   sG      #JC  &e[99 ,,Xr:"#s   ;>)tuplesortedr   )r3   r   rW   s   &f r*   rM   .SupportsAnnotations._gen_annotations_cache_key\   s     E   &d&7&78#8 ++C018#E
 	
   &d&7&78#8 ++C018# 
 	
# #s   B!
7B&r(   ..NF)__name__
__module____qualname____firstlineno__	__slots__r   r   __annotations__r4   r
   r=   r   memoized_propertyrO   rM   __static_attributes__r(   r-   r*   r   r   5   st    I1BL.B99$   " "$ 
: :

 
r-   r   c                      ] tR t^rt$ RtR]R&   ]'       d   ]P                  R R l4       t	R R lt
R R lt]RR	 R
 ll4       t]RR R ll4       tRR R lltRtR# )SupportsWrappingAnnotationsz*Callable[..., SupportsWrappingAnnotations]_constructorc                   V ^8  d   QhRR/# r$   r'   r   r(   )r)   s   "r*   r+   (SupportsWrappingAnnotations.__annotate__z   s    ;;&6;r-   c                	    R # r/   r(   r3   s   &r*   entity_namespace,SupportsWrappingAnnotations.entity_namespacey   s    8;r-   c                    V ^8  d   QhRRRR/# r#   r(   )r)   s   "r*   r+   rm   |   s     > > >D >r-   c                ,    \         P                  W4      # )Wreturn a copy of this ClauseElement with annotations
updated by the given dictionary.

	Annotated_as_annotated_instancer2   s   &&r*   r4   %SupportsWrappingAnnotations._annotate|       
 //==r-   c                    V ^8  d   QhRRRR/# r#   r(   )r)   s   "r*   r+   rm      s     > > >D >r-   c                ,    \         P                  W4      # )Xreturn a copy of this ClauseElement with annotations
replaced by the given dictionary.

ru   r2   s   &&r*   _with_annotations-SupportsWrappingAnnotations._with_annotations   ry   r-   c               $    V ^8  d   QhRRRRRR/# r7   r(   )r)   s   "r*   r+   rm      r:   r-   c                	    R # r/   r(   r<   s   &&&r*   r=   'SupportsWrappingAnnotations._deannotate   r?   r-   c               $    V ^8  d   QhRRRRRR/# rA   r(   )r)   s   "r*   r+   rm      rC   r-   c                	    R # r/   r(   r<   s   &&&r*   r=   r      rE   r-   Nc               $    V ^8  d   QhRRRRRR/# rG   r(   )r)   s   "r*   r+   rm      s(      '  
	r-   c                :    V'       d   V P                  4       pV# V # )return a copy of this :class:`_expression.ClauseElement`
with annotations
removed.

:param values: optional tuple of individual values
 to remove.

)_clone)r3   r%   r9   ss   &&& r*   r=   r      s     AHKr-   r(   r^   r_   )r`   ra   rb   rc   rd   re   r   r   ro_non_memoized_propertyrp   r4   r}   r
   r=   rg   r(   r-   r*   ri   ri   r   s`    I<<		&	&; 
';>>   " " r-   ri   c                      ] tR t^t$ ]P
                  '       g   RtR]P                  3.t	R]
R&   R R ltR R lt]RR R	 ll4       t]RR
 R ll4       tRR R lltRtR# )SupportsCloneAnnotationsr   r   %_clone_annotations_traverse_internalsc                    V ^8  d   QhRRRR/# r#   r(   )r)   s   "r*   r+   %SupportsCloneAnnotations.__annotate__   s     	 	 	D 	r-   c                    V P                  4       pVP                  P                  V4      Vn        VP                  P	                  RR4       VP                  P	                  RR4       V# )rt   rO   N_generate_cache_key)r   r   union__dict__popr3   r%   news   && r*   r4   "SupportsCloneAnnotations._annotate   sW    
 kkm++11&9148.5
r-   c                    V ^8  d   QhRRRR/# r#   r(   )r)   s   "r*   r+   r      s     	 	 	D 	r-   c                    V P                  4       p\        P                  ! V4      Vn        VP                  P                  RR4       VP                  P                  RR4       V# )r|   rO   Nr   )r   r   immutabledictr   r   r   r   s   && r*   r}   *SupportsCloneAnnotations._with_annotations   sQ    
 kkm--f5148.5
r-   c               $    V ^8  d   QhRRRRRR/# r7   r(   )r)   s   "r*   r+   r      r:   r-   c                	    R # r/   r(   r<   s   &&&r*   r=   $SupportsCloneAnnotations._deannotate   r?   r-   c               $    V ^8  d   QhRRRRRR/# rA   r(   )r)   s   "r*   r+   r      rC   r-   c                	    R # r/   r(   r<   s   &&&r*   r=   r      rE   r-   Nc               $    V ^8  d   QhRRRRRR/# rG   r(   )r)   s   "r*   r+   r      s(      '  
	r-   c                    V'       g   V P                   '       dI   V P                  4       p\        P                  ! 4       Vn         VP                  P                  RR4       V# V # )r   rO   N)r   r   r   r   r   r   )r3   r%   r9   r   s   &&& r*   r=   r      sO     D%%% ++-C#113CLL5t<JKr-   r(   r^   r_   )r`   ra   rb   rc   typingr   rd   r   dp_annotations_keyr   re   r4   r}   r
   r=   rg   r(   r-   r*   r   r      ss     	 
*==>E)+A 		   " " r-   r   c                  b   ] tR t^t$ RtRt]R R l4       tR]R&   R]R&   R	]R
&   R R lt	R R lt
R R ltR R lt]R(R R ll4       t]R(R R ll4       tR)R R llt]P                   '       g   R R lt]R 4       tR R ltR R  ltR! R" ltR# R$ lt]P2                  R% R& l4       tR'tR# )*rv   a  clones a SupportsAnnotations and applies an 'annotations' dictionary.

Unlike regular clones, this clone also mimics __hash__() and
__eq__() of the original element so that it takes its place
in hashed collections.

A reference to the original element is maintained, for the important
reason of keeping its hash value current.  When GC'ed, the
hash value may be reused, causing conflicts.

.. note::  The rationale for Annotated producing a brand new class,
   rather than placing the functionality directly within ClauseElement,
   is **performance**.  The __hash__() method is absent on plain
   ClauseElement which leads to significantly reduced function call
   overhead, as the use of sets and dictionaries against ClauseElement
   objects is prevalent, but most are not "annotated".

Fc               $    V ^8  d   QhRRRRRR/# )r$   elementri   r%   r&   r'   rv   r(   )r)   s   "r*   r+   Annotated.__annotate__  s$     $ $1$;J$	$r-   c                	     \         VP                  ,          p V ! W4      #   \         d    \        TP                  T 4      p  L+i ; ir/   )annotated_classes	__class__KeyError_new_annotation_type)clsr   r%   s   &&&r*   rw    Annotated._as_annotated_instance  sG    	?#G$5$56C 7##  	?&w'8'8#>C	?s   ! !AAr   r   ri   _Annotated__elementint_hashc               $    V ^8  d   QhRRRRRR/# )r$   r   z
Type[Self]argsr   r'   r   r(   )r)   s   "r*   r+   r     s!     # #Z # # #r-   c                	,    \         P                  V 4      # r/   )object__new__)r   r   s   &*r*   r   Annotated.__new__  s    ~~c""r-   c                    V ^8  d   QhRRRR/# )r$   r   ri   r%   r&   r(   )r)   s   "r*   r+   r     s     # #2#<K#r-   c                	   VP                   P                  4       V n         V P                   P                  R R4       V P                   P                  RR4       Wn        \        P
                  ! V4      V n        \        V4      V n        R# rO   Nr   )	r   copyr   r   r   r   r   hashr   )r3   r   r%   s   &&&r*   __init__Annotated.__init__  sg      ((--/2D9/6  ..v6']
r-   c                    V ^8  d   QhRRRR/# r#   r(   )r)   s   "r*   r+   r   (  s       D r-   c                	^    V P                   P                  V4      pV P                  V4      pV# r/   )r   r   r}   )r3   r%   _valuesr   s   &&  r*   r4   Annotated._annotate(  s-    ##))&1$$W-
r-   c                    V ^8  d   QhRRRR/# r#   r(   )r)   s   "r*   r+   r   -  s       D r-   c                	4   V P                   P                  V P                   4      pV P                  P                  4       Vn        VP                  P	                  R R4       VP                  P	                  RR4       \
        P                  ! V4      Vn        V# r   )r   r   r   r   r   r   r   r   r<   s   && r*   r}   Annotated._with_annotations-  sp    &&t~~6++-3T:0$7!//7r-   c               $    V ^8  d   QhRRRRRR/# r7   r(   )r)   s   "r*   r+   r   6  r:   r-   c                	    R # r/   r(   r<   s   &&&r*   r=   Annotated._deannotate5  r?   r-   c               $    V ^8  d   QhRRRRRR/# )r$   r%   rB   r9   r    r'   rv   r(   )r)   s   "r*   r+   r   =  s(        
	r-   c                	    R # r/   r(   r<   s   &&&r*   r=   r   <  s    
 r-   Nc               $    V ^8  d   QhRRRRRR/# rG   r(   )r)   s   "r*   r+   r   C  s(      '  
	r-   c           
     	    Vf   V P                   # T P                  \        P                  ! V P                  P                  4        UUu/ uF  w  r4W19  g   K  W4bK  	  upp4      4      # u uppi r/   )r   r}   r   r   r   items)r3   r%   r9   rW   rX   s   &&&  r*   r=   r   C  sq    
 >>>!))"" +/*;*;*A*A*C*CJC, #
*C s   	
A*A*c               $    V ^8  d   QhRRRRRR/# )r$   visitorr   kwr'   r(   )r)   s   "r*   r+   r   W  s!     	 	c 	 	 	r-   c                	P    V P                   P                  P                  ! W3/ VB # r/   )r   r   _compiler_dispatch)r3   r   r   s   &&,r*   r   Annotated._compiler_dispatchW  s*    >>++>>!# r-   c                	.    V P                   P                  # r/   )r   rj   ro   s   &r*   rj   Annotated._constructor\  s    >>...r-   c                    V ^8  d   QhRRRR/# )r$   r   r   r'   r   r(   )r)   s   "r*   r+   r   `  s     	< 	<3 	<4 	<r-   c                	    V P                   P                  ! R/ VB pW P                   J d   V # VP                  P                  V P                  4       V P	                  W P
                  4      # )Nr(   )r   r   r   updater   r   )r3   r   r9   s   &, r*   r   Annotated._clone`  sU    %%++NN"K NN!!$--0>>%):):;;r-   c                   V ^8  d   QhRR/# )r$   r'   z'Tuple[Type[Annotated], Tuple[Any, ...]]r(   )r)   s   "r*   r+   r   k  s     C CC Cr-   c                	J    V P                   V P                  V P                  33# r/   )r   r   r   ro   s   &r*   
__reduce__Annotated.__reduce__k  s     ~~0A0ABBBr-   c                   V ^8  d   QhRR/# )r$   r'   r   r(   )r)   s   "r*   r+   r   n  s      # r-   c                	    V P                   # r/   )r   ro   s   &r*   __hash__Annotated.__hash__n  s    zzr-   c                    V ^8  d   QhRRRR/# )r$   otherr   r'   r    r(   )r)   s   "r*   r+   r   q  s     - -C -D -r-   c                	    V P                   '       d&   V P                  P                  P                  W4      # \	        V4      \	        V 4      8H  # r/   )_is_column_operatorsr   r   __eq__r   )r3   r   s   &&r*   r   Annotated.__eq__q  s<    $$$>>++224??;$t*,,r-   c                   V ^8  d   QhRR/# rl   r(   )r)   s   "r*   r+   r   x  s     3 3"2 3r-   c                	    R V P                   9   d,   \        \        V P                   R ,          4      P                  # V P                  P                  # )rp   )r   r   ri   rp   r   ro   s   &r*   rp   Annotated.entity_namespacew  sI    !2!22+!!"45 
 >>222r-   )r   	__elementr   r   r^   )NT)r`   ra   rb   rc   __doc__r   classmethodrw   re   r   r   r4   r}   r
   r=   r   r   r   propertyrj   r   r   r   r   r   r   rp   rg   r(   r-   r*   rv   rv      s    & !$ $ /.**J##
    $ 	
 
	/ 
	/	<C- 
""3 #3r-   rv   z8Dict[Type[SupportsWrappingAnnotations], Type[Annotated]]r   _SA)boundc               $    V ^8  d   QhRRRRRR/# )r$   to_annotater   r   r&   r'   r(   )r)   s   "r*   r+   r+     s!     	& 	& 	&/ 	&c 	&r-   c                R     V P                   pV! V4      #   \         d    T u # i ; ir/   )r4   AttributeError)r   r   r4   s   && r*   _safe_annotater     s8    &))	 %%   	s    &&detect_subquery_colsFind_cols_on_fromclauseannotate_callablec               4    V ^8  d   QhRRRRRRRRR	RR
RRR/# )r$   r   r   r   r&   excludez'Optional[Sequence[SupportsAnnotations]]r   r    r   r   zOOptional[Callable[[SupportsAnnotations, _AnnotationDict], SupportsAnnotations]]r'   r(   )r)   s   "r*   r+   r+     sW     E EE E 5E
 E !EE 	Er-   c               n   aaaaaaa / oR VVVVVVV3R lloV e   \        \        S! V 4      4      p RoV # )zDeep copy the given ClauseElement, annotating each element
with the given annotations dictionary.

Elements within the exclude collection will be cloned but not annotated.

c               $    V ^8  d   QhRRRRRR/# r$   elemr   r   r   r'   r(   )r)   s   "r*   r+   $_deep_annotate.<locals>.__annotate__  s#     ) )' )s )7J )r-   c                  < S	VR &   \        V 4      pVS9   d
   SV,          # S
'       dI   \        V R4      '       d7   V P                  P                  S
4      '       d   V P                  ! RRS/VB pMcSV P
                  8w  dQ   S	'       d(   V P                  '       d   V P                  ! RRS/VB pMT pS'       d   S! VS4      pM\        VS4      pMT pVP                  SSRR7       VSV&   V# )r   r   r9   T)r9   r   _annotations_traversalr(   )	idhasattrr   intersectionr   r   r!   r   _copy_internals)r   r   id_newelemr   r   r   r9   
cloned_idsr   r   r   s   &,   r*   r9   _deep_annotate.<locals>.clone  s     &:!"h*c?" k**++G44kk444GD---#(:(:(:"kk<<<" +KE(kBG#9#' 	  	
 "
3r-   Nr   r   )r   r   r   r   r   r   r9   r  s   &ffddd@@r*   _deep_annotater    s7    * 24J) )V sE'N+ENr-   c               $    V ^8  d   QhRRRRRR/# )r$   r   r8   r%   rH   r'   r(   )r)   s   "r*   r+   r+     s$      $;r-   c                    R # r/   r(   r   r%   s   &&r*   _deep_deannotater    s     r-   c               $    V ^8  d   QhRRRRRR/# )r$   r   r   r%   rH   r'   r(   )r)   s   "r*   r+   r+     s$      1r-   c                    R # r/   r(   r  s   &&r*   r  r    s     r-   c               $    V ^8  d   QhRRRRRR/# )r$   r   zOptional[_SA]r%   rH   r'   r(   )r)   s   "r*   r+   r+     s$      $;r-   c                ^   aaa / oR VVV3R lloV e   \        \        S! V 4      4      p RoV # )z2Deep copy the given element, removing annotations.c               $    V ^8  d   QhRRRRRR/# r   r(   )r)   s   "r*   r+   &_deep_deannotate.<locals>.__annotate__  s#      ' s 7J r-   c                   < S'       d   \        V 4      pMT pVS9  d.   V P                  SR R7      pVP                  SR R7       VSV&   V# SV,          # )T)r%   r9   )r9   r  )r  r=   r  )r   r   rW   r  r9   clonedr%   s   &,  r*   r9   _deep_deannotate.<locals>.clone  s\    T(CCf&&fD&AG##%#M!F3KN#;r-   Nr
  )r   r%   r9   r  s   &f@@r*   r  r    s6    
 .0F  sE'N+ENr-   c               $    V ^8  d   QhRRRRRR/# )r$   r   r   r   r&   r'   r(   )r)   s   "r*   r+   r+   
  s!     
 
s 
 
S 
r-   c                L    V P                  V4      p V P                  RR7       V # )zAnnotate the given ClauseElement and copy its internals so that
internal objects refer to the new annotated object.

Basically used to apply a "don't traverse" annotation to a
selectable, without digging throughout the whole
structure wasting time.
T)r  )r4   r  )r   r   s   &&r*   _shallow_annotater  
  s*     ,G48Nr-   c               $    V ^8  d   QhRRRRRR/# )r$   r   !Type[SupportsWrappingAnnotations]base_clsType[Annotated]r'   r(   )r)   s   "r*   r+   r+     s$     , ,	*,6E,,r-   c                   \        V \        4      '       d   V # V \        9   d   \        V ,          # V P                   F  pV\        9   g   K  \        V,          p M	  \	        \
        \        ,          \        RV P                  ,          W3/ 4      4      ;\        V &   pV\        4       RV P                  ,          &   RV P                  9   d4   \        V P                  4      R\        P                  3.,           Vn        MTV P                  P                  RR4      '       d3   \        V P                  4      R\        P                  3.,           Vn        V P                  P                  RR4      '       d	   RVn        M)RV P                  9   d   V P                  R,          Vn        \        V \         P"                  4      Vn        V# )zSGenerates a new class that subclasses Annotated and proxies a given
element type.

zAnnotated%s_traverse_internalsr   inherit_cacheFT)
issubclassrv   r   __mro__r   r   typer`   globalsr   listr!  r   r   getr"  r   ColumnOperatorsr   )r   r  super_anno_clss   &&  r*   r   r     su    #y!!
	!	! %%++ &&(0H  )-Y]S\\)H?B?) cX /7GImcll*+,'+C,C,C'D.AABH
 (
$ 
		/5	1	1'+C,C,C'D.AABH
 (
$ ||//!%	CLL	(!$o!>$.sI4M4M$NH!Or-   c               $    V ^8  d   QhRRRRRR/# )r$   target_hierarchyr  r  r  r'   Noner(   )r)   s   "r*   r+   r+   F  s&     , ,7,, 
,r-   c                V    \         P                  ! V 4       F  p\        W!4       K  	  R # r/   )r   walk_subclassesr   )r-  r  r   s   && r*   _prepare_annotationsr1  F  s"     ##$45S+ 6r-   r/   )2__conditional_annotations__r   
__future__r   r   r   r   r   r   r   r   r	   r
   r   r   r   r   r    r   	cache_keyr   visitorsr   r   r   r   util.typingr   r   baser   r   strr&   
EMPTY_DICTr   re   r   ri   r   rv   r   r   r   r  r  r  r   r1  )r2  s   @r*   <module>r;     sF   #                 "  + '  ! &0#s(#26// / A:
/ :
z7"5 7tH: HVH3# H3b  K  e01	&E
 "'E $)E 	E EP 
 

 
 

8
,^,r-   