+
    i}0                       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]R7      t]! RRR7      tR/R R lltR0R R lltR0R R lltR1R R  lltR2R! R" lltR# R$ lt R/R% R& llt!R' R( lt"R) R* lt#R/R+ R, llt$R3R- R. llt%R# )4zSHelpers related to deprecation of functions, methods, classes, other
functionality.)annotationsN)Any)Callable)Dict)Match)Optional)Sequence)Set)Tuple)Type)TypeVar)Union)compat)_hash_limit_string)_warnings_warn)	decorator)inject_docstring_text)inject_param_text)exc_T)bound_FzCallable[..., Any]c               0    V ^8  d   QhRRRRRRRRRR	R
R/# )   msgstrversiontype_Type[exc.SADeprecationWarning]
stacklevelintcodeOptional[str]returnNone )formats   "څC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO CLAUDE\MAESTRO\maestro-backend\venv\Lib\site-packages\sqlalchemy\util\deprecations.py__annotate__r(   *   sD     
4 
4	
4
4 *
4 	
4
 
4 

4    c                J    V! WR 7      pWn         \        WS^,           R7       R# )r!   r   N)deprecated_sincer   )r   r   r   r   r!   warns   &&&&& r'   _warn_with_versionr/   *   s       D#4N3r)   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   r   r   r   r   r    r!   r"   r#   r$   r%   )r&   s   "r'   r(   r(   7   s4      	(+7D	r)   c                >    \        W\        P                  W#R 7       R# )r+   N)r/   r   SADeprecationWarning)r   r   r   r!   s   &&&&r'   warn_deprecatedr3   7   s     c..
r)   c               0    V ^8  d   QhRRRRRRRRRR	R
R/# )r   r   r   argszSequence[Any]r   r   r    r!   r"   r#   r$   r%   )r&   s   "r'   r(   r(   ?   sD      	
  	
  
r)   c                h    V'       d   \        V ^
V4      p \        W\        P                  W4R7       R# )z`Issue a deprecation warning with a parameterized string,
limiting the number of registrations.

r+   N)r   r/   r   r2   )r   r5   r   r   r!   s   &&&&&r'   warn_deprecated_limitedr7   ?   s*      b$/c..
r)   c               (    V ^8  d   QhRRRRRRRR/# )r   r   r   messageconstructorr"   r#   zCallable[[Type[_T]], Type[_T]]r%   )r&   s   "r'   r(   r(   Q   s,      -:#r)   c                N   a aaa R S : RS;'       g    R: 2oR VVVV 3R llpV# ).. deprecated::   c                    V ^8  d   QhRRRR/# )r   clsType[_T]r#   r%   )r&   s   "r'   r(   $deprecated_cls.<locals>.__annotate__V   s     
 
h 
8 
r)   c           
     b   < \        V S\        P                  S\        SR 7      ,          SS4      # )func)_decorate_cls_with_warningr   r2   dict)r@   r:   headerr9   r   s   &r'   decorate deprecated_cls.<locals>.decorateV   s2    )$$d,,
 	
r)   r%   )r   r9   r:   rI   rH   s   fff @r'   deprecated_clsrK   Q   s(     )0'--R-AF
 
 Or)   c               0    V ^8  d   QhRRRRRRRRR	RR
R/# )r   r   r   r9   r"   add_deprecation_to_docstringboolwarningz(Optional[Type[exc.SADeprecationWarning]]enable_warningsr#   Callable[[_F], _F]r%   )r&   s   "r'   r(   r(   c   sD     3 333 #'3 6	3
 3 3r)   c                   a aaaa V'       d   RS : RS;'       g    R: 2oMRoSf   RoSf   \         P                  oSRS ,          ,          oR VVVV V3R llpV# )	a  Decorates a function and issues a deprecation warning on use.

:param version:
  Issue version in the warning.

:param message:
  If provided, issue message in the warning.  A sensible default
  is used if not provided.

:param add_deprecation_to_docstring:
  Default True.  If False, the wrapped function's __doc__ is left
  as-is.  If True, the 'message' is prepended to the docs if
  provided, or sensible default if message is omitted.

r<   r=   r>   Nz$Call to deprecated function %(func)sz (deprecated since: %s)c                    V ^8  d   QhRRRR/# r   fnr   r#   r%   )r&   s   "r'   r(    deprecated.<locals>.__annotate__   s     

 

R 

B 

r)   c           	     t   < Sf   Q hSf   Q h\        V SS\        V P                  R7      ,          SSSR7      # )NrD   )rP   )_decorate_with_warningrG   __name__)rU   rP   rH   r9   r   rO   s   &r'   rI   deprecated.<locals>.decorate   sH    """"""%d,,+
 	
r)   )r   r2   )r   r9   rM   rO   rP   rI   rH   s   ff&ff @r'   
deprecatedr[   c   sb    . $#]]]

 8**(722G

 

 Or)   c               $    V ^8  d   QhRRRRRR/# )r   r9   r   kwr   r#   z0Callable[[Callable[..., _T]], Callable[..., _T]]r%   )r&   s   "r'   r(   r(      s$      5r)   c                <    \        RRV R\        P                  /VB # )2.0r9   rO   r_   )r[   r   MovedIn20Warning)r9   r]   s   &,r'   moved_20rb      s/      (+(<(<@B r)   c               (    V ^8  d   QhRRRRRRRR/# )	r   api_namer   alternativer"   r]   r   r#   rQ   r%   )r&   s   "r'   r(   r(      s2     #I #I#I -#I<?#I#Ir)   c                   \         P                  ! R V 4      pV'       d    RRRRRR/VP                  ^4      ,          pMRpRV : R	V: R
R: R2pRV 9   d>   VP                  RR4      pV'       g$   VP	                  R4      RJ g   Q RV ,          4       hV'       d   VR	V,           ,          p\
        P                  p\        RRVRV/VB # )z^:(attr|func|meth):attr	attributerE   functionmethmethod	constructzThe r=   z= is considered legacy as of the 1.x series of SQLAlchemy and zbecomes a legacy constructz in 2.0.z:attr:warn_on_attribute_accessFrP   zattribute %s will emit a warning on read access.  If you *really* want this, add warn_on_attribute_access=True.  Otherwise please add enable_warnings=False.r9   rO   r`   )rematchgrouppopgetr   LegacyAPIWarningr[   )rd   re   r]   type_regr   r9   attribute_okwarning_clss   &&,     r'   became_legacy_20rw      s     xx-x8Hfj&(KNN1
 
 (	
  8vv8%@66+,5 ) ,445 3$$&&KHWHkHRHHr)   c                    V ^8  d   QhRRRR/# )r   specszTuple[str, str]r#   rQ   r%   )r&   s   "r'   r(   r(      s     b b b3E br)   c                    a aaa / o/ o/ oS P                  4        F.  w  pw  r#VSV&   \        V4      SV&   \        P                  SV&   K0  	  R VV VV3R llpV# )a#  Decorates a function to warn on use of certain parameters.

e.g. ::

    @deprecated_params(
        weak_identity_map=(
            "0.7",
            "the :paramref:`.Session.weak_identity_map parameter "
            "is deprecated.",
        )
    )
    def some_function(**kwargs): ...

c                    V ^8  d   QhRRRR/# rT   r%   )r&   s   "r'   r(   'deprecated_params.<locals>.__annotate__   s     G GR GB Gr)   c                  <aa	a
a \         P                  ! V 4      pVP                  e   \        \	        VP
                  \        VP
                  4      \        VP                  4      ,
          R  VP                  4      4      o\        S4      P                  S4      o	\        S4      P                  S4      o
M\VP                  eB   VP                  o\        S4      P                  S4      o	\        S4      P                  S4      o
MRo	\        S4      o
VP                  o\        R VV	V
VVVV3R ll4       pV P                  R J;'       d    V P                  ;'       g    RpV'       dP   \        TSP                  4        UUUu/ uF&  w  pw  rVTRVR8X  d   RMT: RT;'       g    R: 2bK(  	  uppp4      pV! V 4      pW7n        V# u upppi )	Nc               (    V ^8  d   QhRRRRRRRR/# r   rU   r   r5   r   kwargsr#   r%   )r&   s   "r'   r(   9deprecated_params.<locals>.decorate.<locals>.__annotate__   s(     	' 	'r 	'# 	' 	' 	'r)   c                  < S F_  pSV,          f   W#,          f$   SV,          f   K%  W#,          SV,          8w  g   K;  \        SV,          S
V,          S	V,          ^R7       Ka  	  SS9   dK   \        V4      P                  S4      '       d+   Sf   Q h\        SS,          S
S,          S	S,          ^R7       S F/  pW29   g   K  \        SV,          S
V,          S	V,          ^R7       K1  	  V ! V/ VB # )Nr,   )r/   set
difference)rU   r5   r   mcheck_any_kwcheck_defaultscheck_kwdefaultsmessagesversion_warningsversionss   &*, r'   warned3deprecated_params.<locals>.decorate.<locals>.warned   s    #QK'FI,AQK+	Xa[0H&  (+#$		 $ x'CK,B,B- - $///"\*\*$\2 	 ;&  (+#$	  t&v&&r)   r>   r<   r_   z1.4r=   r%   )r   inspect_getfullargspecr   rG   zipr5   lenr   intersectionr   kwonlydefaultsvarkwr   __doc__r   items)rU   specr   docparamr   r9   	decoratedr   r   r   r   r   ry   r   r   s   &       @@@@r'   rI   #deprecated_params.<locals>.decorate   s   ,,R0 ==$IIs499~DMM0BBEFMMH !]77AN8}//9H  ,**H ]77AN8}//9HN8}Hzz 
	' 	' 
	'B jj$3399r# 6;[[] 6C11  '5 0ug=2P P5BC 2J	s   !G(
G)r   _sanitize_restructured_textr   r2   )ry   r   r   r9   rI   r   r   r   s   l    @@@r'   deprecated_paramsr      si       "H!HBD%*[[]!!!5g>"%":": &3
G GR Or)   c                    V ^8  d   QhRRRR/# )r   textr   r#   r%   )r&   s   "r'   r(   r(   ,  s     A Ac Ac Ar)   c                n    R  R lp\         P                  ! RR V 4      p \         P                  ! RW4      # )c                    V ^8  d   QhRRRR/# )r   r   z
Match[str]r#   r   r%   )r&   s   "r'   r(   1_sanitize_restructured_text.<locals>.__annotate__-  s      
 s r)   c                N    V P                  ^^4      w  rVR9   d
   VR,          pV# )   z())rE   rj   rp   )r   r   names   &  r'   repl)_sanitize_restructured_text.<locals>.repl-  s*    ggam$$DLDr)   z:ref:`(.+) <.*>`c                2    R V P                  ^4      ,          # )z"%s"r   )r   s   &r'   <lambda>-_sanitize_restructured_text.<locals>.<lambda>3  s    !''!*1Dr)   z\:(\w+)\:`~?(?:_\w+)?\.?(.+?)`)rn   sub)r   r   s   & r'   r   r   ,  s/     66%'DdKD663T@@r)   c               4    V ^8  d   QhRRRRRRRRR	RR
RRR/# )r   r@   rA   r:   r"   wtyper   r9   r   r   docstring_headerr#   r%   )r&   s   "r'   r(   r(   7  sN     - -	-- *- 	-
 - $- -r)   c                z   V P                   R J;'       d    V P                   ;'       g    RpVEe
   Ve   V\        VR7      ,          p\        V\        P                  4      '       d
   VR,          p\        We^4      pR p\        V 4      \        J dl   \        V P                  4      pWhR&   VP                  RR 4       VP                  RR 4       \        V P                  V P                  V4      p Ve	   W,          pMW`n         Ve   \        W4      pVe%   Vf   Q hVf   Q h\        V V\        WrW4R 4      4       V # )Nr>   rD   @ (Background on SQLAlchemy 2.0 at: :ref:`migration_20_toplevel`)r   __dict____weakref__)r   rG   
issubclassr   Base20DeprecationWarningr   typer   rq   rY   	__bases__getattrsetattrrX   )	r@   r:   r   r9   r   r   r   constructor_fnclsdicts	   &&&&&&   r'   rF   rF   7  s4    ++T
!
1
1ckk
7
7RC#"+ 66eS99::0 $C1=93<<(G!$IKK
D)KKt,s||S]]G<C&!(!5 K&!(!:"!---$$$&"7T Jr)   c               4    V ^8  d   QhRRRRRRRRRR	R
RRR/# )r   rE   r   r   r   r9   r   r   r   r"   rP   rN   r#   r%   )r&   s   "r'   r(   r(   g  sN     * *
*)* * 	*
 $* * *r)   c                  aaaa \        S4      o\        S\        P                  4      '       d   RpMRp\        R VVVV3R ll4       pV P
                  RJ;'       d    V P
                  ;'       g    RpVe2   V\        V P                  R7      ,          pWF,          p\        W^4      pV! V 4      p	Wn        VVV3R lV	n	        V	# )z=Wrap a function with a warnings.warn and augmented docstring.r   r>   c               (    V ^8  d   QhRRRRRRRR/# r   r%   )r&   s   "r'   r(   ,_decorate_with_warning.<locals>.__annotate__|  s(     # #2 #c #S #R #r)   c                   < S'       * ;'       g    VP                  R R4      pV'       g   \        SSS^R7       V ! V/ VB # )_sa_skip_warningFr,   )rq   r/   )rU   r5   r   skip_warningrP   r9   r   r   s   &*, r'   r   &_decorate_with_warning.<locals>.warned{  sH    ** 
 
fjj/
 w1E4"6""r)   NrD   c                 "   < \        S SS^R7      # )   r,   )r/   )r9   r   r   s   r'   r   (_decorate_with_warning.<locals>.<lambda>  s    !3%A"r)   )
r   r   r   r   r   r   rG   rY   r   _sa_warn)
rE   r   r9   r   r   rP   doc_onlyr   r   r   s
   &fff&f    r'   rX   rX   g  s     *'2G%5566, 	
 # # # ,,d
"
3
3t||
9
9rC#Ddmm44$#C1=tII r)   )N)r   N)__init__)NTNT)NT)&r   
__future__r   rn   typingr   r   r   r   r   r   r	   r
   r   r   r   r>   r   langhelpersr   r   r   r   r   r   r   r   r/   r3   r7   rK   r[   rb   rw   r   r   rF   rX   r%   r)   r'   <module>r      s    # 	             + ' " . * T T-.
4$$3l#ILbJA-`* *r)   