o
    Šåg/2  ã                   @  s  U d dl m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 e�rvd 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.m0Z0 dd)l.m1Z1 dd*l.m2Z2 dd+l.m3Z3 dd,l.m4Z4 dd-l5m6Z6 dd.lm7Z7 dd/l8m9Z9 dd0l:m;Z; dd1l:m<Z< dd2l:m=Z= dd3l:m>Z> dd4l:m?Z? dd5l:m@Z@ dd6l:mAZA dd7l:mBZB dd8l:mCZC dd9l:mDZD dd:l:mEZE dd;l:mFZF dd<lGmHZH dd=lGmIZI dd>lJmKZK dd?lLmMZM dd@lmNZN edAedB�ZOedCedDdE�ZPedFdGdB�ZQedHdIdB�ZRG dJdK„ dKeeeP ƒZSG dLdM„ dMeƒZTG dNdO„ dOeƒZUedPeVeWeXdQdRdSdTdUeYdVƒZZedW Z[edXej\e[ee eeSe  eSe ƒZ]eeWdYdZeSeO ej^eO f Z_eej`eO ej\d[e[eeO eeSeO  eSeO f Za	 eej`eO d[eeO f Zbed\eed]f dB�Zced^edB�Zded_edB�Zeed`edB�ZfedaedB�ZgedbedB�ZhedcedB�ZieddedB�ZjedeedB�ZkedfedB�ZledgedB�ZmedZeSeO d[ej^eO ej`eO eg dZf dhf Zn	 eneO Zodiepdj< 	 eeeneO f ZqeeWeneO f Zreeere  ere f Zs	 eeef Zt	 eej7ee eeSe  eSe f Zu	 eeuejvf Zw	 eene ejxf Zy	 edkdlejzf Z{	 eeWeSe ej|dmf Z}	 edne}dB�Z~e	e~ef ZeeWdoej€f Z�	 edpdqdrdsee eeSe  eSe f Z‚ejƒeWef Z„eedt dtf Z…edGedG f Z†eeVeneV df Z‡eeXedu f Zˆe�rcdædzd{„Z‰dçd}d~„ZŠdèd‚dƒ„Z‹déd…d†„ZŒdêdˆd‰„Z�dëd‹dŒ„ZŽdìdŽd�„Z�díd’d“„Z�dîd•d–„Z‘dïd™dš„Z’dðd�dž„Z“dñd d¡„Z”dòd¤d¥„Z•dód§d¨„Z–dôdªd«„Z—nKe ˜d¬¡Z‰e ˜d­¡ZŠe ˜d®¡Z‹e ˜d¯¡ZŒe ˜d°¡Z�e ˜d±¡ZŽe ˜d²¡Z�e ˜d³¡Z�e ˜d´¡Z‘e ˜dš¡Z’e ˜dµ¡Z“e ˜d¶¡Z”e ˜d·¡Z•e ˜d¸¡Z–e ˜d«¡Z—dõd¹dº„Z™död¾d¿„Zšd÷dÂdÃ„Z›dødÅdÆ„ZœdùdÈdÉ„Z�dúdÎdÏ„ZžedûdÓdÔ„ƒZŸedüd×dÔ„ƒZŸedýdÚdÔ„ƒZŸdþdÝdÔ„ZŸedÿdÞdß„ƒZ e�d dàdß„ƒZ e�ddádß„ƒZ e�ddãdß„ƒZ �ddådß„Z dS (  é    )ÚannotationsN)ÚAny)ÚCallable)ÚDict)ÚGeneric)ÚIterable)ÚMapping)ÚNoReturn)ÚOptional)Úoverload)ÚSet)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVar)ÚUnioné   )Úrolesé   )Úexc)Úutil)ÚInspectable)ÚLiteral)ÚProtocol)Ú	TypeAlias)Údate)Údatetime)Útime)Ú	timedelta)ÚDecimal)ÚUUID)Ú
Executable)ÚCompiled)ÚDDLCompiler)ÚSQLCompiler)Ú
UpdateBase)Ú
ValuesBase)ÚClauseElement)ÚColumnElement)ÚKeyedColumnElement)Úquoted_name)ÚSQLCoreOperations)Ú
TextClause)ÚLambdaElement)ÚFromClauseRole)ÚColumn)ÚAlias)ÚCompoundSelect)ÚCTE)Ú
FromClause)ÚJoin)ÚNamedFromClause)ÚReturnsRows)ÚSelect)Ú
Selectable)Ú
SelectBase)ÚSubquery)ÚTableClause)ÚTableValueType)Ú	TupleType)Ú
TypeEngine)ÚDialect)Ú	TypeGuardÚ_T)ÚboundÚ_T_coT)rB   Ú	covariantÚ_CEzColumnElement[Any]Ú_CLEr'   c                   @  s   e Zd ZdZddd„ZdS )Ú_HasClauseElementz8indicates a class that has a __clause_element__() methodÚreturnú"roles.ExpressionElementRole[_T_co]c                 C  ó   d S ©N© ©ÚselfrL   rL   úR/var/www/html/flaskapp/venv/lib/python3.10/site-packages/sqlalchemy/sql/_typing.pyÚ__clause_element__X   ó    z$_HasClauseElement.__clause_element__N)rH   rI   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__rP   rL   rL   rL   rO   rG   U   ó    rG   c                   @  s   e Zd ZdZddd„ZdS )	Ú_CoreAdapterProtoz?protocol for the ClauseAdapter/ColumnAdapter.traverse() method.ÚobjrE   rH   c                 C  rJ   rK   rL   )rN   rX   rL   rL   rO   Ú__call__^   rQ   z_CoreAdapterProto.__call__N)rX   rE   rH   rE   )rR   rS   rT   rU   rY   rL   rL   rL   rO   rW   [   rV   rW   c                   @  s   e Zd ZdZeddd„ƒZdS )Ú_HasDialectzQprotocol for Engine/Connection-like objects that have dialect
    attribute.
    rH   r?   c                 C  rJ   rK   rL   rM   rL   rL   rO   Údialectf   ó   z_HasDialect.dialectN)rH   r?   )rR   rS   rT   rU   Úpropertyr[   rL   rL   rL   rO   rZ   a   s    rZ   Ú_NOT_ENTITYr   r   r   r   r    r   )Ú*r   Ú_MAYBE_ENTITYr,   zColumnElement[_T]zSQLCoreOperations[_T]Ú_TP.Ú_T0Ú_T1Ú_T2Ú_T3Ú_T4Ú_T5Ú_T6Ú_T7Ú_T8Ú_T9r-   r   ÚColumnExpressionArgumentzSelect[_TP]zCompoundSelect[_TP]zSQLCoreOperations[Any]Ú_DMLKeyzColumn[Any]r;   r4   r0   r2   zTypeEngine[_T])ÚautoÚ	ignore_fkÚcr"   rH   úTypeGuard[SQLCompiler]c                 C  rJ   rK   rL   ©rp   rL   rL   rO   Úis_sql_compiler2  rQ   rs   úTypeGuard[DDLCompiler]c                 C  rJ   rK   rL   rr   rL   rL   rO   Úis_ddl_compiler4  rQ   ru   Útr.   úTypeGuard[NamedFromClause]c                 C  rJ   rK   rL   ©rv   rL   rL   rO   Úis_named_from_clause6  ó   ry   úTypeGuard[ColumnElement[Any]]c                 C  rJ   rK   rL   rr   rL   rL   rO   Úis_column_element:  rz   r|   ú"TypeGuard[KeyedColumnElement[Any]]c                 C  rJ   rK   rL   rr   rL   rL   rO   Úis_keyed_column_element>  rz   r~   úTypeGuard[TextClause]c                 C  rJ   rK   rL   rr   rL   rL   rO   Úis_text_clauseB  rQ   r€   úTypeGuard[FromClause]c                 C  rJ   rK   rL   rr   rL   rL   rO   Úis_from_clauseD  rQ   r‚   úTypeEngine[Any]úTypeGuard[TupleType]c                 C  rJ   rK   rL   rx   rL   rL   rO   Úis_tuple_typeF  rQ   r…   úTypeGuard[TableValueType]c                 C  rJ   rK   rL   rx   rL   rL   rO   Úis_table_value_typeH  rz   r‡   r   úTypeGuard[Selectable]c                 C  rJ   rK   rL   rx   rL   rL   rO   Úis_selectableL  rQ   r‰   úUnion[Executable, ReturnsRows]úTypeGuard[SelectBase]c                 C  rJ   rK   rL   rx   rL   rL   rO   Úis_select_baseN  rz   rŒ   úTypeGuard[Select[Any]]c                 C  rJ   rK   rL   rx   rL   rL   rO   Úis_select_statementR  rz   rŽ   r3   úTypeGuard[TableClause]c                 C  rJ   rK   rL   rx   rL   rL   rO   Úis_tableV  rQ   r�   úTypeGuard[Subquery]c                 C  rJ   rK   rL   rx   rL   rL   rO   Úis_subqueryX  rQ   r’   úTypeGuard[UpdateBase]c                 C  rJ   rK   rL   rr   rL   rL   rO   Úis_dmlZ  rQ   r”   Úis_sqlÚis_ddlÚnamed_with_columnÚ_is_column_elementÚ_is_keyed_column_elementÚ_is_text_clauseÚ_is_from_clauseÚ_is_tuple_typeÚ_is_table_valueÚ_is_select_baseÚ_is_select_statementÚ	_is_tableÚ_is_subqueryc                 C  ó
   t | dƒS )NÚschema©Úhasattrrx   rL   rL   rO   Úhas_schema_attrn  ó   
r¦   ÚsÚstrúTypeGuard[quoted_name]c                 C  r¢   )NÚquoter¤   ©r¨   rL   rL   rO   Úis_quoted_namer  r§   r­   Úobjectú!TypeGuard[_HasClauseElement[Any]]c                 C  r¢   )NrP   r¤   r¬   rL   rL   rO   Úis_has_clause_elementv  r§   r°   úTypeGuard[ValuesBase]c                 C  s   | j o| jp| jS rK   )r”   Ú	is_insertÚ	is_updaterr   rL   rL   rO   Úis_insert_updatez  s   r´   úexc.ArgumentErrorc                   C  s
   t  d¡S )Nz{Additional keyword arguments are not accepted by this function/method.  The presence of **kw is for pep-484 typing purposes)r   ÚArgumentErrorrL   rL   rL   rO   Ú_no_kw~  s   ÿr·   ÚmethnameÚkwúDict[str, Any]r	   c                 C  s    t |ƒd }t| › d|› d�ƒ‚)Nr   z% got an unexpected keyword argument 'ú')ÚlistÚ	TypeError)r¸   r¹   ÚkrL   rL   rO   Ú_unexpected_kw…  s   r¿   Úvalú'SQLCoreOperations[_T]'ú!'SQLCoreOperations[Optional[_T]]'c                 C  rJ   rK   rL   ©rÀ   rL   rL   rO   ÚNullableŠ  ó   rÄ   úroles.ExpressionElementRole[_T]ú)roles.ExpressionElementRole[Optional[_T]]c                 C  rJ   rK   rL   rÃ   rL   rL   rO   rÄ   �  rÅ   úType[_T]úType[Optional[_T]]c                 C  rJ   rK   rL   rÃ   rL   rL   rO   rÄ   –  r\   ú_TypedColumnClauseArgument[_T]ú(_TypedColumnClauseArgument[Optional[_T]]c                 C  ó   | S )aŠ  Types a column or ORM class as nullable.

    This can be used in select and other contexts to express that the value of
    a column can be null, for example due to an outer join::

        stmt1 = select(A, Nullable(B)).outerjoin(A.bs)
        stmt2 = select(A.data, Nullable(B.data)).outerjoin(A.bs)

    At runtime this method returns the input unchanged.

    .. versionadded:: 2.0.20
    rL   rÃ   rL   rL   rO   rÄ   š  ó   c                 C  rJ   rK   rL   rÃ   rL   rL   rO   ÚNotNullable¬  rÅ   rÎ   c                 C  rJ   rK   rL   rÃ   rL   rL   rO   rÎ   ²  rÅ   c                 C  rJ   rK   rL   rÃ   rL   rL   rO   rÎ   ¸  r\   úOptional[Type[_T]]c                 C  rJ   rK   rL   rÃ   rL   rL   rO   rÎ   ¼  r\   úCUnion[_TypedColumnClauseArgument[Optional[_T]], Optional[Type[_T]]]c                 C  rÌ   )a~  Types a column or ORM class as not nullable.

    This can be used in select and other contexts to express that the value of
    a column cannot be null, for example due to a where condition on a
    nullable column::

        stmt = select(NotNullable(A.value)).where(A.value.is_not(None))

    At runtime this method returns the input unchanged.

    .. versionadded:: 2.0.20
    rL   rÃ   rL   rL   rO   rÎ   À  rÍ   )rp   r"   rH   rq   )rp   r"   rH   rt   )rv   r.   rH   rw   )rp   r'   rH   r{   )rp   r'   rH   r}   )rp   r'   rH   r   )rp   r'   rH   r�   )rv   rƒ   rH   r„   )rv   rƒ   rH   r†   )rv   r   rH   rˆ   )rv   rŠ   rH   r‹   )rv   rŠ   rH   r�   )rv   r3   rH   r�   )rv   r3   rH   r‘   )rp   r'   rH   r“   )rv   r.   rH   r�   )r¨   r©   rH   rª   )r¨   r®   rH   r¯   )rp   r'   rH   r±   )rH   rµ   )r¸   r©   r¹   rº   rH   r	   )rÀ   rÁ   rH   rÂ   )rÀ   rÆ   rH   rÇ   )rÀ   rÈ   rH   rÉ   )rÀ   rÊ   rH   rË   )rÀ   rÂ   rH   rÁ   )rÀ   rÇ   rH   rÆ   )rÀ   rÉ   rH   rÈ   )rÀ   rÏ   rH   rÈ   )rÀ   rÐ   rH   rÊ   )¡Ú
__future__r   ÚoperatorÚtypingr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   Ú r   r   r   Ú
inspectionr   Úutil.typingr   r   r   r   r   r   r   Údecimalr   Úuuidr    Úbaser!   Úcompilerr"   r#   r$   Údmlr%   r&   Úelementsr'   r(   r)   r*   r+   r,   Úlambdasr-   r.   r£   r/   Ú
selectabler0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   Úsqltypesr<   r=   Útype_apir>   Úenginer?   r@   rA   rC   rE   rF   rG   rW   rZ   Úintr©   ÚboolÚfloatr^   Ú
_StarOrOneÚColumnsClauseRoler`   ÚExpressionElementRoleÚ_TextCoercedExpressionArgumentÚTypedColumnsClauseRoleÚ_ColumnsClauseArgumentÚ_TypedColumnClauseArgumentra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   Ú_ColumnExpressionArgumentrl   Ú__annotations__Ú"_ColumnExpressionOrLiteralArgumentÚ#_ColumnExpressionOrStrLabelArgumentÚ_ByArgumentÚ	_InfoTypeÚ_FromClauseArgumentÚJoinTargetRoleÚ_JoinTargetArgumentÚOnClauseRoleÚ_OnClauseArgumentÚCompoundElementRoleÚ#_SelectStatementForCompoundArgumentÚDMLColumnRoleÚ_DMLColumnArgumentrm   Ú_DMLColumnKeyMappingÚDDLConstraintColumnRoleÚ_DDLColumnArgumentÚ_DMLTableArgumentÚimmutabledictÚ_PropagateAttrsTypeÚ_TypeEngineArgumentÚ_EquivalentColumnMapÚ_LimitOffsetTypeÚ_AutoIncrementTypers   ru   ry   r|   r~   r€   r‚   r…   r‡   r‰   rŒ   rŽ   r�   r’   r”   Ú
attrgetterr¦   r­   r°   r´   r·   r¿   rÄ   rÎ   rL   rL   rL   rO   Ú<module>   sô  
õ
úüÿ
úÿ	
þÿ
úÿ	
ÿÿ
ýÿþÿýÿ

úÿ




































