Ë
    ­ŒjŸ  ã                  ó–  — d dl mZ d dlm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lmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ d dlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl m!Z! ddlm"Z" ddlm#Z# ddlm$Z$ ddlm%Z% ddl&m'Z' ej*                  r–dd lm(Z( dd!lm)Z) dd"lm*Z* dd#lm+Z+ dd$lm,Z, dd%lm-Z- dd&lm.Z. dd'lm/Z/ dd(lm0Z0 dd)l1m2Z2 dd*l(m3Z3 dd+l(m4Z4 dd,l(m5Z5 dd-l(m6Z6 dd.l(m7Z7 dd/l(m8Z8 dd0l(m9Z9 dd1l*m:Z: dd2l+m;Z; dd3l+m<Z< dd4l+m=Z= dd5l+m>Z> dd6l+m?Z? dd7l+m@Z@ dd8lmAZA  ed9ej„                  ¬:«      ZC ed;e	d<ef   ¬:«      ZD ed=ejŠ                  ¬:«      ZF ed>e¬:«      ZGd¶d?„ZHd@„ ZI	 	 	 	 	 	 	 	 d·dA„ZJ	 	 	 	 	 	 	 	 d¸dB„ZKe	 	 	 	 	 	 	 	 d¹dC„«       ZLed<dDœ	 	 	 	 	 	 	 	 	 dºdE„«       ZLe	 	 	 	 	 	 	 	 d»dF„«       ZLe	 	 	 	 	 	 	 	 d¼dG„«       ZLe	 	 	 	 	 	 	 	 d½dH„«       ZLe	 	 	 	 	 	 	 	 d¾dI„«       ZLe	 	 	 	 	 	 	 	 d¿dJ„«       ZLe	 	 	 	 	 	 	 	 dÀdK„«       ZLe	 	 	 	 	 	 	 	 dÁdL„«       ZLe	 	 	 	 	 	 	 	 dÂdM„«       ZLe	 	 	 	 	 	 	 	 dÃdN„«       ZLe	 	 	 	 	 	 	 	 dÄdO„«       ZLe	 	 	 	 	 	 	 	 dÅdP„«       ZLed<dQœ	 	 	 	 	 	 	 	 	 dÆdR„«       ZLe	 	 	 	 	 	 	 	 dÇdS„«       ZLe	 	 	 	 	 	 	 	 dÈdT„«       ZLe	 	 	 	 	 	 	 	 dÉdU„«       ZLdddVdVdWœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dÊdX„ZL	 	 	 	 	 	 	 	 dËdY„ZM	 	 	 	 	 	 dÌdZ„ZN G d[„ d\«      ZO G d]„ d^«      ZP G d_„ d`«      ZQ G da„ dbeO«      ZR G dc„ ddeO«      ZSde#j¨                  ddf	 	 	 	 	 	 	 	 	 	 	 dÍde„ZU G df„ dgeO«      ZV G dh„ dieO«      ZW G dj„ dkeO«      ZX G dl„ dmeO«      ZY G dn„ doeO«      ZZ G dp„ dqeO«      Z[ G dr„ dseSeO«      Z\ G dt„ due\eO«      Z] G dv„ dweO«      Z^ G dx„ dyeSeO«      Z_ G dz„ d{eWeSeO«      Z` G d|„ d}eWeO«      Za G d~„ deVeO«      Zb G d€„ d�eReO«      Zc G d‚„ dƒeWeO«      Zd G d„„ d…eWeSeOejÊ                  «      Zf G d†„ d‡efeO«      Zg G dˆ„ d‰efeO«      Zh G dŠ„ d‹eReO«      Zi G dŒ„ d�eO«      Zj G dŽ„ d�eQeO«      Zk G d�„ d‘ePeWeO«      Zl G d’„ d“ePeReO«      Zm G d”„ d•em«      Zn G d–„ d—eO«      Zo G d˜„ d™e\«      Zp G dš„ d›eYeWeO«      Zq G dœ„ d�eO«      Zr G dž„ dŸeWeO«      Zs G d „ d¡eVeO«      Zt G d¢„ d£er«      Zu G d¤„ d¥eO«      Zv G d¦„ d§eO«      Zw G d¨„ d©eYeVeO«      Zx G dª„ d«ex«      Zy G d¬„ d­ey«      Zz G d®„ d¯eYeVeO«      Z{ G d°„ d±eVeO«      Z| G d²„ d³eVeO«      Z}i Z~ ee«      D ]P  Z€ e�ee€«      Z‚e€�j                  d´«      sŒe€�j	                  d´dµ«      Z€e€ e…«       v sŒ<  e…«       e€   e‚«      Z†e†e~e‚<   ŒR es/e~e�j                     Zˆe‰eŠe‹eŒfD ]  Z�eˆe~e�j                  e�   <   Œ yy)Îé    )ÚannotationsN)ÚAny)ÚCallable)Úcast)ÚDict)ÚIterable)ÚIterator)ÚList)ÚNoReturn)ÚOptional)Úoverload)ÚSequence)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVar)ÚUnioné   )Úroles)Úvisitors)Úis_from_clause)ÚExecutableOption)ÚOptions)ÚHasCacheKey)Ú	Visitableé   )Úexc)Ú
inspection)Úutil)ÚLiteral)Úelements)Úlambdas)Úschema)Ú
selectable)Ú_ColumnExpressionArgument)Ú_ColumnsClauseArgument)Ú_DDLColumnArgument)Ú_DMLTableArgument)Ú_FromClauseArgument)Ú_DMLTableElement)ÚBindParameter)ÚClauseElement)ÚColumnClause)ÚColumnElement)ÚNamedColumn)ÚSQLCoreOperations)Ú
TextClause)ÚColumn)Ú_ColumnsClauseElement)Ú_JoinTargetProtocol)Ú
FromClause)ÚHasCTE)Ú
SelectBase)ÚSubquery)Ú_TraverseCallableTypeÚ_SR)ÚboundÚ_F.Ú_StringOnlyRÚ_Tc                ób   — t        | t        t        j                  f«       xr t	        | d«       S )zhReturn whether or not the element is a "literal" in the context
    of a SQL expression construct.

    Ú__clause_element__)Ú
isinstancer   r#   ÚSchemaEventTargetÚhasattr)Úelements    úb/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/sqlalchemy/sql/coercions.pyÚ_is_literalrF   N   s<   € ô ØÜ	”F×,Ñ,Ð-óð ò 5ô �gÐ3Ó4Ð
4ð5ó    c                ór  — t        | t        j                  «      r%t        | t        «      s| D ]  }t	        |«      rŒ y yt        | t
        t        j                  t        t        t        j                  j                  f«       xr3 t        | d«       xr$ t        | t        «       xs t        | t        «       S )a  Return whether or not the element is a "literal" in the context
    of a SQL expression construct.

    does a deeper more esoteric check than _is_literal.   is used
    for lambda elements that have to distinguish values that would
    be bound vs. not without any context.

    FTr@   )rA   Úcollections_abcr   ÚstrÚ_deep_is_literalr   r#   rB   r   r   r   ÚlanghelpersÚsymbolrC   ÚtypeÚ
issubclass)rD   Úelems     rE   rK   rK   Z   s´   € ô �'œ?×3Ñ3Ô4¼ZØ”ô>ó ˆDÜ# DÕ)Ùð ð ô ØäÜ×(Ñ(ÜÜÜ× Ñ ×'Ñ'ðó	
ð 		
ò 	
ô ˜Ð!5Ó6Ð6ò	
ô ˜7¤DÓ)Ð)ò 4Ü˜g¤{Ó3Ð3ðrG   c                ó<   — t        j                  | d|›d|›d�«      S )Nz.. warning:: The z argument to z¤ can be passed as a Python string argument, which will be treated as **trusted SQL text** and rendered as given.  **DO NOT PASS UNTRUSTED INPUT TO THIS PARAMETER**.)r   Úadd_parameter_text)Ú	paramnameÚmeth_rstÚ	param_rsts      rE   Ú_document_text_coercionrV   €   s&   € ô ×"Ñ"Ùò ’hð	 ó
ð 
rG   c                óò   — |rjt        |d   t        t        t        f«      rLt	        |«      dk(  r>t        |d   t        «      rt        j                  d| › d|› d�«      ‚t        d|d   «      S t        d|«      S )Nr   r   zThe "z" argument to zt(), when referring to a sequence of items, is now passed as a series of positional elements, rather than as a list. úSequence[_T])rA   ÚlistÚsetÚdictÚlenr   ÚArgumentErrorr   )ÚattrnameÚfnnameÚargss      rE   Ú!_expression_collection_was_a_listra   �   s}   € ñ
 ”
˜4 ™7¤T¬3´Ð$5Ô6¼3¸t»9Èº>Ü�d˜1‘gœtÔ$Ü×#Ñ#Ø˜�z °¨xð 84ð 4óð ô �N D¨¡GÓ,Ð,ä� Ó%Ð%rG   c                 ó   — y ©N© ©ÚrolerD   Úkws      rE   Úexpectrh   ¢   ó   € ð
 rG   ©Úas_keyc                ó   — y rc   rd   )rf   rD   rk   rg   s       rE   rh   rh   ª   s   € ð rG   c                 ó   — y rc   rd   re   s      rE   rh   rh   ´   s   € ð
 rG   c                 ó   — y rc   rd   re   s      rE   rh   rh   ¼   ó   € ð
 "rG   c                 ó   — y rc   rd   re   s      rE   rh   rh   Ä   ro   rG   c                 ó   — y rc   rd   re   s      rE   rh   rh   Ì   s   € ð
 -0rG   c                 ó   — y rc   rd   re   s      rE   rh   rh   Ô   s   € ð
 rG   c                 ó   — y rc   rd   re   s      rE   rh   rh   Ü   s   € ð rG   c                 ó   — y rc   rd   re   s      rE   rh   rh   è   s   € ð rG   c                 ó   — y rc   rd   re   s      rE   rh   rh   ö   s   € ð
 rG   c                 ó   — y rc   rd   re   s      rE   rh   rh   þ   s   € ð
 rG   c                 ó   — y rc   rd   re   s      rE   rh   rh     ó   € ð
 rG   c                 ó   — y rc   rd   re   s      rE   rh   rh     rx   rG   )Úexplicit_subqueryc                ó   — y rc   rd   )rf   rD   rz   rg   s       rE   rh   rh     s   € ð rG   c                 ó   — y rc   rd   re   s      rE   rh   rh      s   € ð
  rG   c                 ó   — y rc   rd   re   s      rE   rh   rh   (  s   € ð
 rG   c                 ó   — y rc   rd   re   s      rE   rh   rh   1  ri   rG   F)Úapply_propagate_attrsÚargnameÚpost_inspectÚdisable_inspectionc          	     ó  — | j                   rCt        |«      r8t        |d«      r,t        j                  || t        j
                  di |¤Ž|¬«      S t        |    }|}t        |t        j                  t        j                  t        j                  t        j                  f«      sêd }	|j                  r |j                  |fi |¤Ž}	n÷|}d}
|j                   rt        || «      rt        |d«      rd}
n:t        |d«      r.d}
t#        |dd«      s|j%                  «       }nnt        |d«      rŒ.|
s^|j&                  r:|s8t)        j*                  |d¬«      }|�|r|j,                   	 |j%                  «       }	|	€H |j                  |fd|i|¤Ž}	n2|}	n/t        |t        j                  «      r |j2                  di |¤Ž}	n|}	|�Rt4        j6                  rt        |	t8        t:        f«      sJ ‚|j<                  st#        |	d	d «      r|	j<                  |_        |j>                  |	j@                  jB                  v r$|jD                  r |jD                  |	f||d
œ|¤Ž}	|	S  |jF                  ||	fd|i|¤ŽS # t.        $ r |j1                  ||«       Y �Œw xY w)NÚ__code__)r   Fr@   TÚis_clause_element)Úraiseerrr€   Ú_propagate_attrs)r€   Úoriginal_elementrd   )$Úallows_lambdaÚcallablerC   r"   ÚLambdaElementÚLambdaOptionsÚ_impl_lookuprA   r!   ÚCompilerElementr#   Ú
SchemaItemÚFetchedValueÚ	PyWrapperÚ_resolve_literal_onlyÚ_literal_coercionÚ$_skip_clauseelement_for_target_matchÚgetattrr@   Ú_use_inspectionr   ÚinspectÚ_post_inspectÚAttributeErrorÚ_raise_for_expectedÚ_sa__py_wrapper_literalÚtypingr   r0   r,   r‡   Ú_role_classÚ	__class__Ú__mro__Ú_post_coercionÚ_implicit_coercions)rf   rD   r   r€   r�   r‚   rg   Úimplrˆ   Úresolvedr…   Úinsps               rE   rh   rh   9  sÁ  € ð 	×Òô
 �WÔÜ�G˜ZÔ(ä×$Ñ$ØØÜ×!Ñ!Ñ' BÑ'Ø"7ô	
ð 	
ô ˜Ñ€DàÐäØä×$Ñ$Ü×ÑÜ×ÑÜ×Ñð		
ôð ˆà×%Ò%Ø-�t×-Ñ-¨gÑ<¸Ñ<‰Hà&Ðà %Ðð ×9Ò9Ü˜w¨Ô-Ü˜GÐ%9Ô:à$(Ñ!ä˜gÐ';Ô<Ø(,Ð%ä" 7Ð,?ÀÔGØ")×"<Ñ"<Ó">™àô ˜gÐ';Õ<ñ %Ø×'Ò'Ñ0BÜ%×-Ñ-¨gÀÔF�DØÐ'Ù'Ø ×.Ò.ðPØ'+×'>Ñ'>Ó'@˜Hð Ð#Ø5˜t×5Ñ5Øñ Ø)0ð Ø46ñ ‘Hð #‘Ü	�GœW×.Ñ.Ô	/Ø2�7×2Ñ2Ñ8°RÑ8‰àˆàÐ(Ü×ÒÜ˜hÔ):¼MÐ(JÔKÐKÐKà$×5Ò5¼'ØÐ(¨$ô;
ð 6>×5NÑ5NÐ!Ô2à×Ñ˜8×-Ñ-×5Ñ5Ñ5Ø×ÒØ*�t×*Ñ*ØðàØ!1ñð ñ	ˆHð ˆà'ˆt×'Ñ'Ø˜hñ
Ø07ð
Ø;=ñ
ð 	
øôC  .ò PØ ×4Ñ4Ð5EÀw×OðPús   Å"I, É,JÊ
Jc                óD   — |j                  dd «       t        | |fddi|¤ŽS )Nrk   T)Úpoprh   re   s      rE   Úexpect_as_keyr§   ­  s)   € ð ‡F�Fˆ8�TÔÜ�$˜Ñ3¨Ð3°Ñ3Ð3rG   c              #  ó   K  — |D ]u  }d }d }t        | |«      }t        |t        «      rt        |t        «      sJ ‚|x}}n.g }|j                  }t	        j
                  |i d|i«       |r|d   }|�|n|}||||f–— Œw y ­w)NÚcolumnr   )rh   rA   rJ   Úappendr   Útraverse)	rf   ÚexpressionsÚexprÚstrnamer©   r£   ÚcolsÚ
col_appendÚadd_elements	            rE   Ú expect_col_expression_collectionr²   ´  s˜   è ø€ ó ˆØˆØˆä,2°4¸Ó,>ˆÜ�h¤Ô$Ü˜d¤CÔ(Ð(Ð(Ø!%Ð%ˆG‘hà&(ˆDØ=A¿[¹[ˆJÜ×Ñ˜h¨¨X°zÐ,BÔCÙØ˜a™�Ø &Ð 2‘f¸ˆà˜ ¨Ð4Ó4ñ! ùs   ‚A<A>c                  óˆ   — e Zd ZU dZd„ ZdZded<   dZdZd„ Z		 d	 	 	 	 	 	 	 	 	 dd„Z
	 	 ddddd	œ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dd
„Zy)ÚRoleImpl)r�   Únamer–   c                ó   — t        «       ‚rc   )ÚNotImplementedError©ÚselfrD   rg   s      rE   r“   zRoleImpl._literal_coercionÕ  s   € Ü!Ó#Ð#rG   Nr   r    Fc                ór   — || _         |j                  | _        t        |t        j
                  «      | _        y rc   )r�   Ú
_role_namerµ   rO   r   ÚUsesInspectionr–   )r¹   Ú
role_classs     rE   Ú__init__zRoleImpl.__init__Ü  s,   € Ø%ˆÔØ×)Ñ)ˆŒ	Ü)¨*´e×6JÑ6JÓKˆÕrG   c                ó*   — | j                  |||«       y rc   ©rš   ©r¹   rD   r£   r€   rg   s        rE   r¡   zRoleImpl._implicit_coercionsá  s   € ð 	× Ñ  ¨'°8Õ<rG   ©ÚadviceÚcodeÚerrc               óÎ   — |�||ur	|›d|›d�}nt        |«      }|r| j                  ›d|›d|›d�}	n| j                  ›d|›d�}	|r|	d|z   z  }	t        j                  |	|¬«      |‚)	Nz object resolved from z objectz expected for argument z; got Ú.z expected, got Ú )rÄ   )Úreprrµ   r   r]   )
r¹   rD   r€   r£   rÃ   rÄ   rÅ   rg   ÚgotÚmsgs
             rE   rš   zRoleImpl._raise_for_expectedê  sq   € ð Ð H°GÑ$;Ú9AÂ7ÐK‰Cä�w“-ˆCáà—	“	ÚÚð‰Cð -1¯I«I²sÐ;ˆCáØ�3˜‘<ÑˆCä×Ñ ¨$Ô/°SÐ8rG   rc   ©
rD   r   r£   r   r€   úOptional[str]rg   r   Úreturnr   ©NN©rD   r   r€   rÍ   r£   zOptional[Any]rÃ   rÍ   rÄ   rÍ   rÅ   úOptional[Exception]rg   r   rÎ   r   )Ú__name__Ú
__module__Ú__qualname__Ú	__slots__r“   r    Ú__annotations__r’   r”   r¾   r¡   rš   rd   rG   rE   r´   r´   Ò  sÏ   … Ø:€Iò$ð €N�CÓØ!ÐØ+0Ð(òLð "&ð	=àð=ð ð=ð ð	=ð
 ð=ð 
ó=ð "&Ø"&ð	9ð !%Ø"Ø#'ñ9àð9ð ð9ð  ð	9ð ð9ð ð9ð !ð9ð ð9ð 
ô9rG   r´   c                  ó   — e Zd ZdZd„ Zy)Ú_Deannotaterd   c                ó   — ddl m}  ||«      S )Nr   )Ú_deep_deannotate)r   rÚ   )r¹   r£   rg   rÚ   s       rE   r    z_Deannotate._post_coercion  s   € Ý*á Ó)Ð)rG   N©rÒ   rÓ   rÔ   rÕ   r    rd   rG   rE   rØ   rØ   	  s   „ Ø€Ió*rG   rØ   c                  ó   — e Zd ZdZdZy)Ú_StringOnlyrd   TN)rÒ   rÓ   rÔ   rÕ   r’   rd   rG   rE   rÝ   rÝ     s   „ Ø€Ià ÑrG   rÝ   c                  ó   — e Zd ZdZdd„Zd„ Zy)Ú_ReturnsStringKeyrd   Nc                óN   — t        |t        «      r|S | j                  |||«       y rc   ©rA   rJ   rš   rÁ   s        rE   r¡   z%_ReturnsStringKey._implicit_coercions  s#   € Ü�gœsÔ#ØˆNà×$Ñ$ W¨g°xÕ@rG   c                ó   — |S rc   rd   r¸   s      rE   r“   z#_ReturnsStringKey._literal_coercion!  ó   € ØˆrG   rc   ©rÒ   rÓ   rÔ   rÕ   r¡   r“   rd   rG   rE   rß   rß     s   „ Ø€IóAórG   rß   c                  ó   — e Zd ZdZd„ Zdd„Zy)Ú_ColumnCoercionsrd   c                ó.   — t        j                  d«       y )Nz|implicitly coercing SELECT object to scalar subquery; please use the .scalar_subquery() method to produce a scalar subquery.)r   Úwarn)r¹   s    rE   Ú"_warn_for_scalar_subquery_coercionz3_ColumnCoercions._warn_for_scalar_subquery_coercion(  s   € Ü�	‰	ðõ	
rG   Nc                ó°  — |}t        |dd«      s| j                  |||«       y |j                  r | j                  «        |j	                  «       S |j
                  rDt        |t        j                  «      r*| j                  «        |j                  j	                  «       S | j                  j                  r|j                  r|S | j                  |||«       y )Nr…   F)r•   rš   Ú_is_select_baseré   Úscalar_subqueryÚ_is_from_clauserA   r$   r8   rD   r�   r‰   Ú_is_lambda_element)r¹   rD   r£   r€   rg   rˆ   s         rE   r¡   z$_ColumnCoercions._implicit_coercions/  s¹   € Ø"ÐÜ�xÐ!4°eÔ<Ø×$Ñ$Ð%5°wÀÕIØ×%Ò%Ø×3Ñ3Ô5Ø×+Ñ+Ó-Ð-Ø×%Ò%¬*Ø”j×)Ñ)ô+
ð ×3Ñ3Ô5Ø×#Ñ#×3Ñ3Ó5Ð5Ø×Ñ×+Ò+°×0KÒ0KØˆOà×$Ñ$Ð%5°wÀÕIrG   rc   )rÒ   rÓ   rÔ   rÕ   ré   r¡   rd   rG   rE   ræ   ræ   %  s   „ Ø€Iò
ôJrG   ræ   c                ód   —  |dt        j                  | «      |rd|›�nd|rd|z  nddœz  «      |‚)Nzc%(extra)sTextual SQL expression %(expr)r %(argname)sshould be explicitly declared as text(%(expr)r)úfor argument Ú z%s )r­   r€   Úextra)r   Úellipses_string)rD   r€   Úexc_clsrò   rÅ   s        rE   Ú_no_text_coercionrõ   A  sJ   € ñ ð	0ô ×(Ñ(¨Ó1Ú9@©GÑ5ÀbÙ&+�U˜U’]°ñ
ñ	
óð ðrG   c                  ó   — e Zd ZdZddœd„Zy)Ú_NoTextCoercionrd   N©r€   c               óª   — t        |t        «      r1t        t        j                  | j
                  «      rt        ||«       y | j                  ||«       y rc   )rA   rJ   rO   r!   r1   r�   rõ   rš   ©r¹   rD   r€   rg   s       rE   r“   z!_NoTextCoercion._literal_coercionV  s@   € Ü�gœsÔ#¬
Ü×Ñ ×!1Ñ!1ô)
ô ˜g wÕ/à×$Ñ$ W¨gÕ6rG   ©rÒ   rÓ   rÔ   rÕ   r“   rd   rG   rE   r÷   r÷   S  s   „ Ø€Ià48õ 7rG   r÷   c                  ó0   — e Zd ZdZdZdZdZdd„Zddœd„Zy)Ú_CoerceLiteralsrd   FNc                ó   — t        ||«      S rc   ©rõ   ©r¹   rD   r€   s      rE   Ú_text_coercionz_CoerceLiterals._text_coercione  ó   € Ü  ¨'Ó2Ð2rG   rø   c               óð  — t        |t        «      r<| j                  r|dk(  rt        j                  dd¬«      S  | j
                  ||fi |¤ŽS | j                  rF|€t        j                  «       S |du rt        j                  «       S |du rt        j                  «       S | j                  r:t        |t        j                  «      r t        j                  t        |«      d¬«      S | j                  ||«       y )NÚ*T)Ú
is_literalF)rA   rJ   Ú_coerce_starr!   r-   r  Ú_coerce_constsÚNullÚFalse_ÚTrue_Ú_coerce_numericsÚnumbersÚNumberrš   rú   s       rE   r“   z!_CoerceLiterals._literal_coercionh  sÈ   € Ü�gœsÔ#Ø× Ò  W°¢^Ü×,Ñ,¨S¸TÔBÐBà*�t×*Ñ*¨7°GÑB¸rÑBÐBà×ÒØˆÜ—}‘}“Ð&Ø˜EÑ!Ü—‘Ó(Ð(Ø˜D‘Ü—~‘~Ó'Ð'à× Ò ¤Z°¼'¿.¹.Ô%JÜ×(Ñ(¬¨W«À$ÔGÐGà× Ñ  ¨'Õ2rG   rc   )	rÒ   rÓ   rÔ   rÕ   r  r  r  r  r“   rd   rG   rE   rý   rý   _  s&   „ Ø€IØ€NØ€LØÐó3ð 59õ 3rG   rý   c                  ó(   — e Zd ZdZ	 ddddœd„Zd„ Zy)ÚLiteralValueImplTNF)Útype_Úliteral_executec               óx   — t        |«      s | j                  |f||dœ|¤Ž t        j                  d ||d|¬«      S )N)r£   r€   T)r  Úuniquer  )rF   rš   r!   r+   )r¹   rD   r£   r€   r  r  rg   s          rE   r¡   z$LiteralValueImpl._implicit_coercions€  sU   € ô ˜8Ô$Ø$ˆD×$Ñ$ØðØ"*°GñØ?Aòô ×%Ñ%ØØØØØ+ô
ð 	
rG   c                ó   — |S rc   rd   r¸   s      rE   r“   z"LiteralValueImpl._literal_coercion—  rã   rG   rc   )rÒ   rÓ   rÔ   r’   r¡   r“   rd   rG   rE   r  r  }  s$   „ Ø Ðð ð	
ð Øô
ó.rG   r  c                  óR   ‡ — e Zd ZdZ	 	 dddddœ	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )Ú_SelectIsNotFromrd   NrÂ   c          	     óÒ   •— |st        |t        j                  «      st        |t        j                  «      rd|�|j                  n|›d�}d}nd }t	        ‰| �  |f|||||dœ|¤Ž J ‚)NzTo create a FROM clause from a z$ object, use the .subquery() method.Ú89ve)r€   r£   rÃ   rÄ   rÅ   )rA   r   ÚSelectStatementRolerž   Úsuperrš   )	r¹   rD   r€   r£   rÃ   rÄ   rÅ   rg   rž   s	           €rE   rš   z$_SelectIsNotFrom._raise_for_expectedž  sŠ   ø€ ñ Ü˜7¤E×$=Ñ$=Ô>Ü˜(¤E×$=Ñ$=Ô>øð
 *2Ð)=�8×%Ò%À7ÑJðMð ð
 ‰DàˆDä‰Ñ#Øð	
àØØØØñ	
ð ò	
ð 	ˆurG   rÏ   rÐ   ©rÒ   rÓ   rÔ   rÕ   rš   Ú__classcell__©rž   s   @rE   r  r  ›  sx   ø„ Ø€Ið
 "&Ø"&ð	#ð !%Ø"Ø#'ñ#àð#ð ð#ð  ð	#ð ð#ð ð#ð !ð#ð ð#ð 
÷#ñ #rG   r  c                  ó4   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dd„Zd„ Zy)ÚHasCacheKeyImplrd   Nc                óN   — t        |t        «      r|S | j                  |||«       y rc   )rA   r   rš   rÁ   s        rE   r¡   z#HasCacheKeyImpl._implicit_coercionsÇ  s%   € ô �gœ{Ô+ØˆNà×$Ñ$ W¨g°xÕ@rG   c                ó   — |S rc   rd   r¸   s      rE   r“   z!HasCacheKeyImpl._literal_coercionÓ  rã   rG   rc   rÌ   rä   rd   rG   rE   r  r  Ä  óL   „ Ø€Ið "&ð	
Aàð
Að ð
Að ð	
Að
 ð
Að 
ó
AórG   r  c                  ó4   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dd„Zd„ Zy)ÚExecutableOptionImplrd   Nc                óN   — t        |t        «      r|S | j                  |||«       y rc   )rA   r   rš   rÁ   s        rE   r¡   z(ExecutableOptionImpl._implicit_coercionsÚ  s&   € ô �gÔ/Ô0ØˆNà×$Ñ$ W¨g°xÕ@rG   c                ó   — |S rc   rd   r¸   s      rE   r“   z&ExecutableOptionImpl._literal_coercionæ  rã   rG   rc   rÌ   rä   rd   rG   rE   r$  r$  ×  r"  rG   r$  c                  ó4   ‡ — e Zd ZdZddddœd„Zdˆ fd„	Zˆ xZS )ÚExpressionElementImplrd   NF)rµ   r  Úis_crudc               óê   — |€$|s"|�|j                   st        j                  «       S 	 t        j                  |||d|¬«      S # t        j
                  $ r}| j                  ||¬«       Y d }~y d }~ww xY w)NT)r  Ú_is_crud©rÅ   )Úshould_evaluate_noner!   r  r+   r   r]   rš   )r¹   rD   rµ   r  r)  rg   rÅ   s          rE   r“   z'ExpressionElementImpl._literal_coercioní  sx   € ð ˆOÙØ� e×&@Ò&@ô
 —=‘=“?Ð"ð;Ü×-Ñ-Ø˜' 5°Àôð øô ×$Ñ$ò ;Ø×(Ñ(¨°cÐ(×:Ñ:ûð;ús   ¨A ÁA2ÁA-Á-A2c                ó¤   •— t        |t        j                  «      rd}nt        |t        j                  «      rd}nd }t        ‰| �  |f|||dœ|¤ŽS )NzTTo create a column expression from a VALUES clause, use the .scalar_values() method.z`To create a column expression from a FROM clause row as a whole, use the .table_valued() method.©r€   r£   rÃ   )rA   r$   ÚValuesr   ÚAnonymizedFromClauseRoler  rš   ©r¹   rD   r€   r£   rg   rÃ   rž   s         €rE   rš   z)ExpressionElementImpl._raise_for_expected  si   ø€ ä�gœz×0Ñ0Ô1ð3ñ ô ˜¤×!?Ñ!?Ô@ð>ñ ð
 ˆFä‰wÑ*Øð
Ø$¨xÀñ
ØJLñ
ð 	
rG   rÏ   )rÒ   rÓ   rÔ   rÕ   r“   rš   r  r  s   @rE   r(  r(  ê  s    ø„ Ø€Ið  $¨4¸ô;÷(
ñ 
rG   r(  c                  ó*   — e Zd ZdZdddœd„Zddœd„Zy)ÚBinaryElementImplrd   N)Úbindparam_typer€   c               ó’   — 	 |j                  |||¬«      S # t        j                  $ r}| j                  ||¬«       Y d }~y d }~ww xY w)N)r  r,  )Ú_bind_paramr   r]   rš   )r¹   rD   r­   Úoperatorr5  r€   rg   rÅ   s           rE   r“   z#BinaryElementImpl._literal_coercion  sK   € ð	7Ø×#Ñ# H¨g¸^Ð#ÓLÐLøÜ× Ñ ò 	7Ø×$Ñ$ W°#Ð$×6Ñ6ûð	7ús   ‚ –A©AÁA)r5  c               óœ   — |j                   j                  r5|j                   j                  s|j                  |�|n|j                   «      }|S rc   )rN   Ú_isnullÚ_with_binary_element_type)r¹   r£   r­   r5  rg   s        rE   r    z BinaryElementImpl._post_coercion'  s@   € Ø�=‰=× Ò ¨¯©×):Ò):Ø×9Ñ9Ø"0Ð"<‘À$Ç)Á)óˆHð ˆrG   )rÒ   rÓ   rÔ   rÕ   r“   r    rd   rG   rE   r4  r4    s    „ Ø€Ið Øô7ð @Dõ rG   r4  c                  ój   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 d	d„Zd„ Z ej                  d«      d„ «       Zd„ Z	y)
ÚInElementImplrd   Nc                ób  — |j                   r�t        |t        j                  «      rD|j                  j
                  r.| j                  |«        | j                  |j                  fi |¤ŽS | j                  |«        | j                  |j                  «       fi |¤ŽS | j                  |||«       y rc   )
rí   rA   r$   ÚAliasrD   rë   Ú_warn_for_implicit_coercionr    Úselectrš   rÁ   s        rE   r¡   z!InElementImpl._implicit_coercions2  s—   € ð ×#Ò#ä˜8¤Z×%5Ñ%5Ô6Ø×$Ñ$×4Ò4à×0Ñ0°Ô:Ø*�t×*Ñ*¨8×+;Ñ+;ÑB¸rÑBÐBà×0Ñ0°Ô:Ø*�t×*Ñ*¨8¯?©?Ó+<ÑCÀÑCÐCà×$Ñ$ W¨g°xÕ@rG   c                ó\   — t        j                  d|j                  j                  z  «       y )Nz_Coercing %s object into a select() for use in IN(); please pass a select() construct explicitly)r   rè   rž   rÒ   )r¹   rP   s     rE   r@  z)InElementImpl._warn_for_implicit_coercionF  s%   € Ü�	‰	ð:à�~‰~×&Ñ&ñ(õ	
rG   zsqlalchemy.sql.elementsc          	     óâ  — t        j                  |«      rÂi }t        |«      }|D ]a  }t        |«      rŒt	        |t         j
                  j                  j                  «      s t        |d«      s | j                  |fi |¤Ž Œ]|||<   Œc |r9t        j                  |D �cg c]  }||v r||   n|j                  ||«      ‘Œ c}Ž S |j                  ||d¬«      S  | j                  |fi |¤Ž y c c}w )Nr@   T)Ú	expanding)r   Úis_non_string_iterablerY   rF   rA   Ú	preloadedÚsql_elementsr.   rC   rš   r!   Ú
ClauseListr7  )r¹   rD   r­   r8  rg   Únon_literal_expressionsÚos          rE   r“   zInElementImpl._literal_coercionM  s  € ä×&Ñ& wÔ/ð ð $ô ˜7“mˆGÛ�Ü" 1•~Ü%Øœ4Ÿ>™>×6Ñ6×DÑDôä% aÐ)=Ô>Ø0˜×0Ñ0°Ñ?¸BÓ?ð 67Ð/°Ò2ð ñ 'Ü×*Ñ*ñ ")óñ ")˜Að  !Ð$;Ñ;ð 4°AÒ6à!%×!1Ñ!1°(¸AÓ!>ñ?ð ")ñð	ð 	ð ×'Ñ'¨°'ÀTÐ'ÓJÐJð %ˆD×$Ñ$ WÑ3°Ó3ùòs   Â"C,c               ó–  — |j                   r|j                  «       S t        |t        j                  «      r,t        |j                  «      dk(  rJ ‚|j                  |¬«      S t        |t        j                  «      r"|j                  d¬«      }d|_
        ||_        |S t        |t        j                  «      r|j                  «       S |S )Nr   )ÚagainstT)Úmaintain_key)rë   rì   rA   r!   rH  r\   ÚclausesÚ
self_groupr+   Ú_clonerD  Ú	expand_opr$   r0  Úscalar_values)r¹   rD   r­   r8  rg   s        rE   r    zInElementImpl._post_coercionp  s°   € Ø×"Ò"ð ×*Ñ*Ó,Ð,Ü˜¤×!4Ñ!4Ô5Ü˜7Ÿ?™?Ó+¨qÒ0Ð0Ð0Ø×%Ñ%¨hÐ%Ó7Ð7ä˜¤×!7Ñ!7Ô8Ø—n‘n°$�nÓ7ˆGØ $ˆGÔØ (ˆGÔàˆNÜ˜¤×!2Ñ!2Ô3Ø×(Ñ(Ó*Ð*àˆNrG   rc   rÌ   )
rÒ   rÓ   rÔ   rÕ   r¡   r@  r   Úpreload_moduler“   r    rd   rG   rE   r=  r=  /  st   „ Ø€Ið "&ð	AàðAð ðAð ð	Að
 ðAð 
óAò(
ð €T×ÑÐ2Ó3ñ 4ó 4ð 4óDrG   r=  c                  ó&   — e Zd ZdZdZd„ Zddœd„Zy)ÚOnClauseImplrd   Tc                ó&   — | j                  |«       y rc   rÀ   r¸   s      rE   r“   zOnClauseImpl._literal_coercionŠ  s   € Ø× Ñ  Õ)rG   N)rˆ   c               ó>   — t        |t        j                  «      r|S |S rc   )rA   r   ÚJoinTargetRole)r¹   r£   rˆ   rg   s       rE   r    zOnClauseImpl._post_coercion�  s    € ô Ð&¬×(<Ñ(<Ô=Ø#Ð#ØˆrG   )rÒ   rÓ   rÔ   rÕ   r  r“   r    rd   rG   rE   rU  rU  …  s   „ Ø€Ià€Nò*ð <@õ rG   rU  c                  ó   — e Zd ZdZdZdd„Zy)ÚWhereHavingImplrd   TNc                ó   — t        ||«      S rc   rÿ   r   s      rE   r  zWhereHavingImpl._text_coercion�  r  rG   rc   ©rÒ   rÓ   rÔ   rÕ   r  r  rd   rG   rE   rZ  rZ  ˜  s   „ Ø€Ià€Nô3rG   rZ  c                  ó   — e Zd ZdZdZdd„Zy)ÚStatementOptionImplrd   TNc                ó,   — t        j                  |«      S rc   ©r!   r1   r   s      rE   r  z"StatementOptionImpl._text_coercion¦  s   € Ü×"Ñ" 7Ó+Ð+rG   rc   r\  rd   rG   rE   r^  r^  ¡  s   „ Ø€Ià€Nô,rG   r^  c                  ó   — e Zd ZdZy)ÚColumnArgumentImplrd   N©rÒ   rÓ   rÔ   rÕ   rd   rG   rE   rb  rb  ª  ó   „ Ø�IrG   rb  c                  ó   — e Zd ZdZy)ÚColumnArgumentOrKeyImplrd   Nrc  rd   rG   rE   rf  rf  ®  rd  rG   rf  c                  ó   — e Zd ZdZdd„Zy)ÚStrAsPlainColumnImplrd   Nc                ó,   — t        j                  |«      S rc   )r!   r-   r   s      rE   r  z#StrAsPlainColumnImpl._text_coercionµ  s   € Ü×$Ñ$ WÓ-Ð-rG   rc   )rÒ   rÓ   rÔ   rÕ   r  rd   rG   rE   rh  rh  ²  s   „ Ø€Iô.rG   rh  c                  ó   — e Zd ZdZdZdd„Zy)ÚByOfImplrd   TNc                ó,   — t        j                  |«      S rc   )r!   Ú_textual_label_referencer   s      rE   r  zByOfImpl._text_coercion¾  s   € Ü×0Ñ0°Ó9Ð9rG   rc   r\  rd   rG   rE   rk  rk  ¹  s   „ Ø€Ià€Nô:rG   rk  c                  ó   — e Zd ZdZd„ Zy)ÚOrderByImplrd   c                ót   — t        || j                  «      r!|j                  �t        j                  |«      S |S rc   )rA   r�   Ú_order_by_label_elementr!   Ú_label_reference)r¹   r£   rg   s      rE   r    zOrderByImpl._post_coercionÅ  s4   € ä�x ×!1Ñ!1Ô2Ø×0Ñ0Ð<ä×,Ñ,¨XÓ6Ð6àˆOrG   NrÛ   rd   rG   rE   ro  ro  Â  s   „ Ø€IórG   ro  c                  ó.   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dd„Zy)ÚGroupByImplrd   Nc                óT   — t        |«      rt        j                  |j                  Ž S |S rc   )r   r!   rH  ÚcrÁ   s        rE   r¡   zGroupByImpl._implicit_coercionsÒ  s&   € ô ˜(Ô#Ü×&Ñ&¨¯
©
Ð3Ð3àˆOrG   rc   rÌ   ©rÒ   rÓ   rÔ   rÕ   r¡   rd   rG   rE   rt  rt  Ï  sA   „ Ø€Ið "&ð	
àð
ð ð
ð ð	
ð
 ð
ð 
ô
rG   rt  c                  ó   — e Zd ZdZddœd„Zy)ÚDMLColumnImplrd   Frj   c               ó"   — |r|j                   S |S rc   )Úkey)r¹   rD   rk   rg   s       rE   r    zDMLColumnImpl._post_coercionâ  s   € ÙØ—;‘;ÐàˆNrG   NrÛ   rd   rG   rE   ry  ry  ß  s   „ Ø€Ià05õ rG   ry  c                  ó   — e Zd ZdZddœd„Zy)ÚConstExprImplrd   Nrø   c               ó´   — |€t        j                  «       S |du rt        j                  «       S |du rt        j                  «       S | j	                  ||«       y )NFT)r!   r  r	  r
  rš   rú   s       rE   r“   zConstExprImpl._literal_coercionì  sL   € Øˆ?Ü—=‘=“?Ð"Ø˜ÑÜ—?‘?Ó$Ð$Ø˜‰_Ü—>‘>Ó#Ð#à×$Ñ$ W¨gÕ6rG   rû   rd   rG   rE   r}  r}  é  s   „ Ø€Ià48õ 7rG   r}  c                  ó4   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dd„Zd„ Zy)ÚTruncatedLabelImplrd   Nc                óN   — t        |t        «      r|S | j                  |||«       y rc   rá   rÁ   s        rE   r¡   z&TruncatedLabelImpl._implicit_coercionsú  s%   € ô �gœsÔ#ØˆOà×$Ñ$ W¨g°xÕ@rG   c                ód   — t        |t        j                  «      r|S t        j                  |«      S )z¸coerce the given value to :class:`._truncated_label`.

        Existing :class:`._truncated_label` and
        :class:`._anonymous_label` objects are passed
        unchanged.
        )rA   r!   Ú_truncated_labelr¸   s      rE   r“   z$TruncatedLabelImpl._literal_coercion  s*   € ô �gœx×8Ñ8Ô9ØˆNä×,Ñ,¨WÓ5Ð5rG   rc   rÌ   rä   rd   rG   rE   r€  r€  ÷  sL   „ Ø€Ið "&ð	
Aàð
Að ð
Að ð	
Að
 ð
Að 
ó
Aó6rG   r€  c                  ó   — e Zd ZdZdZdd„Zy)ÚDDLExpressionImplrd   TNc                ó,   — t        j                  |«      S rc   r`  r   s      rE   r  z DDLExpressionImpl._text_coercion  s   € ô
 ×"Ñ" 7Ó+Ð+rG   rc   r\  rd   rG   rE   r…  r…    s   „ Ø€Ià€Nô,rG   r…  c                  ó   — e Zd ZdZy)ÚDDLConstraintColumnImplrd   Nrc  rd   rG   rE   rˆ  rˆ  !  rd  rG   rˆ  c                  ó   — e Zd ZdZy)ÚDDLReferredColumnImplrd   Nrc  rd   rG   rE   rŠ  rŠ  %  rd  rG   rŠ  c                  ó4   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dd„Zd„ Zy)ÚLimitOffsetImplrd   Nc                ó0   — |€y | j                  |||«       y rc   rÀ   rÁ   s        rE   r¡   z#LimitOffsetImpl._implicit_coercions,  s   € ð ÐØà×$Ñ$ W¨g°xÕ@rG   c               ód   — |€y t        j                  |«      }t        j                  |||d¬«      S )NT)r  r  )r   Úasintr$   Ú_OffsetLimitParam)r¹   rD   rµ   r  rg   Úvalues         rE   r“   z!LimitOffsetImpl._literal_coercion8  s6   € ð ˆ?Øä—J‘J˜wÓ'ˆEÜ×/Ñ/Ø�e 5°ôð rG   rc   rÌ   rä   rd   rG   rE   rŒ  rŒ  )  sL   „ Ø€Ið "&ð	
Aàð
Að ð
Að ð	
Að
 ð
Að 
ó
Aó	rG   rŒ  c                  ó:   ‡ — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )ÚLabeledColumnExprImplrd   c                óþ   •— t        |t        j                  «      r|j                  d «      S t	        ‰| �  ||fd|i|¤Ž}t        |t        j                  «      r|j                  d «      S | j                  |||«       y ©Nr€   )rA   r   ÚExpressionElementRoleÚlabelr  r¡   rš   )r¹   rD   r£   r€   rg   Únewrž   s         €rE   r¡   z)LabeledColumnExprImpl._implicit_coercionsG  sz   ø€ ô �h¤× ;Ñ ;Ô<Ø—>‘> $Ó'Ð'ä‘'Ñ-Ø˜ñØ+2ðØ68ñˆCô ˜#œu×:Ñ:Ô;Ø—y‘y “Ð&à×(Ñ(¨°'¸8ÕDrG   rc   rÌ   )rÒ   rÓ   rÔ   rÕ   r¡   r  r  s   @rE   r“  r“  D  sN   ø„ Ø€Ið "&ð	EàðEð ðEð ð	Eð
 ðEð 
÷Eñ ErG   r“  c                  óz   ‡ — e Zd ZdZdZdZdZ ej                  dej                  «      Z
	 dddœˆ fd„Zd	d„Zˆ xZS )
ÚColumnsClauseImplrd   Tz^\w\S*$N)rÃ   c               óˆ   •— |s,t        |t        «      rddj                  d„ |D «       «      › d�}t        ‰| �  |f|||dœ|¤ŽS )NzDid you mean to say select(z, c              3  ó2   K  — | ]  }t        |«      –— Œ y ­wrc   )rÉ   )Ú.0Úes     rE   Ú	<genexpr>z8ColumnsClauseImpl._raise_for_expected.<locals>.<genexpr>i  s   è ø€ Ð6©g¨œT !ŸW©gùs   ‚z)?r/  )rA   rY   Újoinr  rš   )r¹   rD   r€   r£   rÃ   rg   rž   s         €rE   rš   z%ColumnsClauseImpl._raise_for_expectedc  s`   ø€ ñ œ* W¬dÔ3à-Ø—9‘9Ñ6©gÓ6Ó6Ð7°rð;ð ô
 ‰wÑ*Øð
Ø$¨xÀñ
ØJLñ
ð 	
rG   c                óÄ   — t        |«      }| j                  j                  |«       }t        j                  dt        j                  |«      |rd|›�nd|rdnddœz  «      ‚)NzŸTextual column expression %(column)r %(argname)sshould be explicitly declared with text(%(column)r), or use %(literal_column)s(%(column)r) for more specificityrð   rñ   Úliteral_columnr©   )r©   r€   r¢  )rJ   Ú_guess_straight_columnÚmatchr   r]   r   ró   )r¹   rD   r€   Úguess_is_literals       rE   r  z ColumnsClauseImpl._text_coercionp  si   € Ü�g“,ˆà#×:Ñ:×@Ñ@ÀÓIÐIÐÜ×Ñð#ô
 ×.Ñ.¨wÓ7Ú=D±Ñ9È"á(8Ñ$¸hñ	ñ	
ó
ð 	
rG   rÏ   rc   )rÒ   rÓ   rÔ   rÕ   r  r  r  ÚreÚcompileÚIr£  rš   r  r  r  s   @rE   rš  rš  Z  sF   ø„ Ø€Ià€NØÐØ€Là'˜RŸZ™Z¨
°B·D±DÓ9Ðð /3ð
Ø>Bö
÷
rG   rš  c                  ó   — e Zd ZdZy)ÚReturnsRowsImplrd   Nrc  rd   rG   rE   rª  rª  ƒ  rd  rG   rª  c                  óF   ‡ — e Zd ZdZddœd„Z	 d	 	 	 	 	 	 	 	 	 dˆ fd„Zˆ xZS )ÚStatementImplrd   Nrø   c               óž   — ||urt        |t        «      s	 |j                   |S |S # t        $ r t	        j
                  d|z  d«       Y |S w xY w)Na  Object %r should not be used directly in a SQL statement context, such as passing to methods such as session.execute().  This usage will be disallowed in a future release.  Please use Core select() / update() / delete() etc. with Session.execute() and other statement execution methods.ú1.4)rA   rJ   Ú_execute_on_connectionr™   r   Úwarn_deprecated)r¹   r£   rˆ   r€   rg   s        rE   r    zStatementImpl._post_coercionŠ  sl   € ð Ð+Ñ+´JØœcô5
ð
Ø ×7Ò7ð ˆˆxˆøô "ò 
Ü×$Ñ$ðð "2ñ2ð õ	ð ˆð
ús   –& ¦"AÁAc                óF   •— |j                   r|S t        ‰| �  ||fd|i|¤ŽS r•  )rî   r  r¡   )r¹   rD   r£   r€   rg   rž   s        €rE   r¡   z!StatementImpl._implicit_coercions¢  s:   ø€ ð ×&Ò&ØˆOä‘7Ñ.Ø˜ñØ+2ðØ68ñð rG   rc   rÌ   )rÒ   rÓ   rÔ   rÕ   r    r¡   r  r  s   @rE   r¬  r¬  ‡  sQ   ø„ Ø€Ið 6:ôð8 "&ð	àðð ðð ð	ð
 ðð 
÷ñ rG   r¬  c                  ó.   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dd„Zy)ÚSelectStatementImplrd   Nc                ób   — |j                   r|j                  «       S | j                  |||«       y rc   )Ú_is_text_clauseÚcolumnsrš   rÁ   s        rE   r¡   z'SelectStatementImpl._implicit_coercions´  s.   € ð ×#Ò#Ø×#Ñ#Ó%Ð%à×$Ñ$ W¨g°xÕ@rG   rc   rÌ   rw  rd   rG   rE   r³  r³  ±  sG   „ Ø€Ið "&ð	
Aàð
Að ð
Að ð	
Að
 ð
Að 
ô
ArG   r³  c                  ó   — e Zd ZdZy)Ú
HasCTEImplrd   Nrc  rd   rG   rE   r¸  r¸  Á  rd  rG   r¸  c                  ó   — e Zd ZdZy)Ú	IsCTEImplrd   Nrc  rd   rG   rE   rº  rº  Å  rd  rG   rº  c                  óH   — e Zd ZdZdZddœd„Z	 d	ddœ	 	 	 	 	 	 	 	 	 	 	 d
d„Zy)ÚJoinTargetImplrd   TNrø   c               ó(   — | j                  ||«       y rc   rÀ   rú   s       rE   r“   z JoinTargetImpl._literal_coercionÎ  s   € Ø× Ñ  ¨'Õ2rG   F)Úlegacyc               ó°   — t        |t        j                  «      r|S |r%|j                  rt	        j
                  dd¬«       |S | j                  |||«       y ©NzÀImplicit coercion of SELECT and textual SELECT constructs into FROM clauses is deprecated; please call .subquery() on any Core select or ORM Query object in order to produce a subquery object.r®  )Úversion)rA   r   rX  rë   r   r°  rš   )r¹   rD   r£   r€   r¾  rg   s         rE   r¡   z"JoinTargetImpl._implicit_coercionsÑ  sW   € ô �gœu×3Ñ3Ô4ð ˆNÙ˜×0Ò0Ü× Ñ ð6ð õð ˆOà×$Ñ$ W¨g°xÕ@rG   rc   )rD   r   r£   r   r€   rÍ   r¾  Úboolrg   r   rÎ   r   )rÒ   rÓ   rÔ   rÕ   r”   r“   r¡   rd   rG   rE   r¼  r¼  É  sk   „ Ø€Ià+/Ð(à48ô 3ð "&ð	Að ñAàðAð ðAð ð	Að ðAð ðAð 
ôArG   r¼  c                  óJ   — e Zd ZdZ	 d	dddœ	 	 	 	 	 	 	 	 	 	 	 	 	 d
d„Zddœd„Zy)ÚFromClauseImplrd   NFT)rz   Úallow_selectc               óÎ   — |j                   r8|r|j                  «       S |r#t        j                  dd¬«       |j                  S y |j
                  r|S | j                  |||«       y rÀ  )rë   Úsubqueryr   r°  Ú_implicit_subqueryrµ  rš   )r¹   rD   r£   r€   rz   rÅ  rg   s          rE   r¡   z"FromClauseImpl._implicit_coercionsó  so   € ð ×#Ò#Ù Ø×(Ñ(Ó*Ð*ÙÜ×$Ñ$ð:ð "õð  ×2Ñ2Ð2ð ð ×%Ò%ØˆOà×$Ñ$ W¨g°xÕ@rG   )Ú
deannotatec               ó*   — |r|j                  «       S |S rc   )Ú_deannotate)r¹   rD   rÉ  rg   s       rE   r    zFromClauseImpl._post_coercion  s   € ÙØ×&Ñ&Ó(Ð(àˆNrG   rc   )rD   r   r£   r   r€   rÍ   rz   rÂ  rÅ  rÂ  rg   r   rÎ   r   )rÒ   rÓ   rÔ   rÕ   r¡   r    rd   rG   rE   rÄ  rÄ  ð  su   „ Ø€Ið "&ð	Að #(Ø!ñAàðAð ðAð ð	Að  ðAð ðAð ðAð 
óAð6 5:õ rG   rÄ  c                  ó8   — e Zd ZdZ	 dddœ	 	 	 	 	 	 	 	 	 	 	 dd„Zy)ÚStrictFromClauseImplrd   NF)rÅ  c               óŒ   — |j                   r%|r#t        j                  dd¬«       |j                  S | j	                  |||«       y rÀ  )rë   r   r°  rÈ  rš   )r¹   rD   r£   r€   rÅ  rg   s         rE   r¡   z(StrictFromClauseImpl._implicit_coercions  sG   € ð ×#Ò#©Ü× Ñ ð#ð õð ×.Ñ.Ð.à×$Ñ$ W¨g°xÕ@rG   rc   )rD   r   r£   r   r€   rÍ   rÅ  rÂ  rg   r   rÎ   r   rw  rd   rG   rE   rÍ  rÍ    s]   „ Ø€Ið "&ð	Að #ñAàðAð ðAð ð	Að ðAð ðAð 
ôArG   rÍ  c                  ó   — e Zd ZdZdddœd„Zy)ÚAnonymizedFromClauseImplrd   FN)Úflatrµ   c               ó.   — |�J ‚|j                  |¬«      S )N)rÑ  )Ú_anonymous_fromclause)r¹   rD   rÑ  rµ   rg   s        rE   r    z'AnonymizedFromClauseImpl._post_coercion1  s    € Øˆ|Ðˆ|à×,Ñ,°$Ð,Ó7Ð7rG   rÛ   rd   rG   rE   rÐ  rÐ  .  s   „ Ø€Ià.3¸$õ 8rG   rÐ  c                  ó   — e Zd ZdZd„ Zy)ÚDMLTableImplrd   c                ó@   — d|j                   v r|j                   d   S |S )NÚ	dml_table)Ú_annotationsr¸   s      rE   r    zDMLTableImpl._post_coercion:  s&   € Ø˜'×.Ñ.Ñ.Ø×'Ñ'¨Ñ4Ð4àˆNrG   NrÛ   rd   rG   rE   rÕ  rÕ  7  s   „ Ø€IórG   rÕ  c                  ó.   — e Zd ZdZ	 d	 	 	 	 	 	 	 	 	 dd„Zy)ÚDMLSelectImplrd   Nc                óÚ   — |j                   rLt        |t        j                  «      r"|j                  j
                  r|j                  S |j                  «       S | j                  |||«       y rc   )rí   rA   r$   r?  rD   rë   rA  rš   rÁ   s        rE   r¡   z!DMLSelectImpl._implicit_coercionsD  sW   € ð ×#Ò#ä˜8¤Z×%5Ñ%5Ô6Ø×$Ñ$×4Ò4à×'Ñ'Ð'à—‘Ó(Ð(à×$Ñ$ W¨g°xÕ@rG   rc   rÌ   rw  rd   rG   rE   rÚ  rÚ  A  sG   „ Ø€Ið "&ð	AàðAð ðAð ð	Að
 ðAð 
ôArG   rÚ  c                  ó$   ‡ — e Zd ZdZdˆ fd„	Zˆ xZS )ÚCompoundElementImplrd   c                óˆ   •— t        |t        j                  «      r|j                  rd}nd}nd }t	        ‰| �  |f|||dœ|¤ŽS )NzFUse the plain select() object without calling .subquery() or .alias().z9To SELECT from any FROM clause, use the .select() method.r/  )rA   r   ÚFromClauseRoleÚ_is_subqueryr  rš   r2  s         €rE   rš   z'CompoundElementImpl._raise_for_expectedZ  sa   ø€ Ü�gœu×3Ñ3Ô4Ø×#Ò#ð7ñ ð Pñ ð ˆFÜ‰wÑ*Øð
Ø$¨xÀñ
ØJLñ
ð 	
rG   rÏ   r  r  s   @rE   rÝ  rÝ  W  s   ø„ Ø€I÷
ñ 
rG   rÝ  ÚRoleÚImpl)rD   r   rÎ   rÂ  )rS   rJ   rT   rJ   rU   rJ   rÎ   zCallable[[_F], _F])r^   rJ   r_   rJ   r`   z+Union[Sequence[_T], Sequence[Sequence[_T]]]rÎ   rX   )rf   zType[roles.TruncatedLabelRole]rD   r   rg   r   rÎ   rJ   )
rf   úType[roles.DMLColumnRole]rD   r   rk   úLiteral[True]rg   r   rÎ   rJ   )rf   zType[roles.LiteralValueRole]rD   r   rg   r   rÎ   zBindParameter[Any])rf   z!Type[roles.DDLReferredColumnRole]rD   r   rg   r   rÎ   úUnion[Column[Any], str])rf   ú#Type[roles.DDLConstraintColumnRole]rD   r   rg   r   rÎ   rå  )rf   zType[roles.StatementOptionRole]rD   r   rg   r   rÎ   z%Union[ColumnElement[Any], TextClause])rf   z&Type[roles.LabeledColumnExprRole[Any]]rD   ú_ColumnExpressionArgument[_T]rg   r   rÎ   zNamedColumn[_T])rf   zgUnion[Type[roles.ExpressionElementRole[Any]], Type[roles.LimitOffsetRole], Type[roles.WhereHavingRole]]rD   rç  rg   r   rÎ   zColumnElement[_T])rf   z¡Union[Type[roles.ExpressionElementRole[Any]], Type[roles.LimitOffsetRole], Type[roles.WhereHavingRole], Type[roles.OnClauseRole], Type[roles.ColumnArgumentRole]]rD   r   rg   r   rÎ   zColumnElement[Any])rf   zType[roles.DMLTableRole]rD   r(   rg   r   rÎ   r*   )rf   zType[roles.HasCTERole]rD   r6   rg   r   rÎ   r6   )rf   zType[roles.SelectStatementRole]rD   r7   rg   r   rÎ   r7   )rf   úType[roles.FromClauseRole]rD   r)   rg   r   rÎ   r5   )
rf   rè  rD   r7   rz   rä  rg   r   rÎ   r8   )rf   zType[roles.ColumnsClauseRole]rD   z_ColumnsClauseArgument[Any]rg   r   rÎ   r3   )rf   zType[roles.JoinTargetRole]rD   r4   rg   r   rÎ   r4   )rf   ú	Type[_SR]rD   r   rg   r   rÎ   r   )rf   ré  rD   r   r   zOptional[ClauseElement]r€   rÍ   r�   rÂ  r‚   rÂ  rg   r   rÎ   r   )rf   rã  rD   r   rg   r   rÎ   rJ   )rf   ræ  r¬   zIterable[_DDLColumnArgument]rÎ   zwIterator[Tuple[Union[str, Column[Any]], Optional[ColumnClause[Any]], Optional[str], Optional[Union[Column[Any], str]]]])rD   r   r€   rÍ   rô   zType[exc.SQLAlchemyError]rò   rÍ   rÅ   rÑ   rÎ   r   )ŽÚ
__future__r   Úcollections.abcÚabcrI   r  r¦  rœ   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   rñ   r   r   Ú_typingr   Úbaser   r   Ú	cache_keyr   r   r   r   r   Úutil.typingr    r!   r"   r#   r$   r%   r&   r'   r(   r)   Údmlr*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   ÚSQLRoler:   r<   Ú
StringRoler=   r>   rF   rK   rV   ra   rh   r§   r²   r´   rØ   rÝ   rß   ræ   r]   rõ   r÷   rý   r  r  r  r$  r(  r4  r=  rU  rZ  r^  rb  rf  rh  ÚByOfRolerk  ro  rt  ry  r}  r€  r…  rˆ  rŠ  rŒ  r“  rš  rª  r¬  r³  r¸  rº  r¼  rÄ  rÍ  rÐ  rÕ  rÚ  rÝ  r�   Údirrµ   r•   ÚclsÚendswithÚreplaceÚglobalsr¢   r–  Úee_implÚintrÂ  rJ   ÚfloatÚpy_typerd   rG   rE   Ú<module>rþ     sH	  ðõ #å )Û Û 	Û Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý  Ý Ý å Ý Ý #Ý "Ý Ý "Ý Ý Ý Ý Ý !à	×ÒåÝÝÝÝ2Ý/Ý+Ý*Ý,Ý%Ý'Ý'Ý&Ý'Ý%Ý+Ý$ÝÝ1Ý/Ý&Ý"Ý&Ý$Ý/áˆe˜5Ÿ=™=Ô)€ÙˆT˜ # s (Ñ+Ô,€Ù�~¨U×-=Ñ-=Ô>€ÙˆT˜Ô€ó	5ò#ðLØðØ!ðØ.1ðàóð &Øð&àð&ð 6ð&ð ó	&ð$ 
ðØ
(ðàðð ðð 	ò	ó 
ðð 
ð
  ñ	Ø
#ðàðð ð	ð
 ðð 	òó 
ðð 
ðØ
&ðàðð ðð ò	ó 
ðð 
ð"Ø
+ð"àð"ð ð"ð ò	"ó 
ð"ð 
ð"Ø
-ð"àð"ð ð"ð ò	"ó 
ð"ð 
ð0Ø
)ð0àð0ð ð0ð +ò	0ó 
ð0ð 
ðØ
0ðà*ðð ðð ò	ó 
ðð 
ðððð +ðð ðð òó 
ðð 
ð
ðð
ð ð
ð ð
ð ò
ó 
ð
ð 
ðØ
"ðàðð ðð ò	ó 
ðð 
ðØ
 ðàðð ðð ò	ó 
ðð 
ðØ
)ðàðð ðð ò	ó 
ðð 
ðØ
$ðà ðð ðð ò	ó 
ðð 
ð
 (+ñ	Ø
$ðàðð %ð	ð
 ðð òó 
ðð 
ð Ø
'ð à(ð ð ð ð ò	 ó 
ð ð 
ðØ
$ðà ðð ðð ò	ó 
ðð 
ðØ
ðàðð ðð 	ò	ó 
ðð 6:Ø!ØØ$ñq
Ø
ðq
àðq
ð 3ð	q
ð
 ðq
ð ðq
ð ðq
ð ðq
ð 	óq
ðh4Ø
#ð4Ø.1ð4Ø9<ð4àó4ð5Ø
-ð5à-ð5ðó5÷<49ñ 49÷n*ñ *÷!ñ !ô
˜ô 
ôJ�xô Jð< "Ø),×):Ñ):ØØ#ðØðàðð 'ðð ð	ð
 
ðð óô$	7�hô 	7ô3�hô 3ô<�xô ô<&�xô &ôR�hô ô&˜8ô ô&(
Ð,¨hô (
ôVÐ-¨xô ô4S�Hô SôlÐ# Xô ô&3�oÐ'7¸ô 3ô,˜/¨8ô ,ô˜¨(ô ôÐ/°ô ô.˜?¨Hô .ô:ˆÐ 0°(¸E¿N¹Nô :ô
�(˜Hô 
ô�(˜Hô ô Ð% xô ô7�Hô 7ô6˜ hô 6ô:
,˜ _°hô 
,ô˜kÐ+<¸hô ôÐ3ô ô�hô ô6EÐ1ô Eô,&
Ð(¨/¸8ô &
ôR�hô ô'�O Xô 'ôTA˜/¨8ô Aô �ô ô�ô ô$A�Xô $AôN"Ð% ¸ô "ôJA˜>ô Aô28Ð3ô 8ôÐ# _°hô ôA�O Xô Aô,
˜/¨8ô 
ð* €ñ �ŽJ€DÙ
�%˜Ó
€CØ‡}‚}�VÕØ�|Š|˜F FÓ+ˆØ‘7“9ÒØ"‘7“9˜T‘? 3Ó'ˆDØ $ˆL˜Òð ñ Ø˜5×6Ò6Ñ7€Gà˜˜s EÓ*ˆØ=Dˆ�U×0Ò0°Ñ9Ò:ñ +ð rG   