
    l im                       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 e
rfd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#l0m1Z1 dd$l0m2Z2 dd%lm3Z3 dd&l4m5Z5  ed'e(          Z6 ed)ed*+          Z7 ed,e8(          Z9	 e
re$Z:ed-         Z;ee	e6         d.f         Z<ee	e6         d.d/d0f         Z=ee>ef         Z?ee>ef         Z@ee	e6         eed1f         ee         f         ZAeee6         ee6         ejB        e6         f         ZC ed2ee         (          ZD G d3 d4ed56          ZEeeEee>ef         f         ZF G d7 d8e          ZG G d9 d:e          ZHdbd?ZIdcdAZJdddEZKe
r"dedGZLdfdIZMdgdKZNdhdNZOdhdOZPdidSZQdjdWZRdkdYZSdS  ejT        dZ          ZL ejT        d[          ZM ejT        d\          ZN ejT        d]          ZO ejT        d^          ZP ejT        d_          ZR ejT        d`          ZQ ejT        da          ZSdS )l    )annotationsN)Any)Dict)Mapping)Optional)Tuple)Type)TYPE_CHECKING)TypeVar)Union   )_CoreKnownExecutionOptions)roles)DMLStrategyArgument)SynchronizeSessionArgument)_HasClauseElement)ColumnElement)Protocol)	TypeGuard   )AttributeImpl)CollectionAttributeImpl)HasCollectionAdapter)QueryableAttribute)PassiveFlag)registry)InspectionAttr)MapperProperty)	ORMOption)UserDefinedOption)Mapper)RelationshipProperty)InstanceState)AliasedClass)AliasedInsp)_CE)ExecutableOption_T)bound_T_coT)r)   	covariant_O)
Mapper[_T]AliasedInsp[_T]zAliasedClass[_T]r-   r.   ._ORMCOLEXPRc                  V    e Zd ZU ded<   ded<   ded<   ded<   ded<   ded	<   ded
<   dS )_OrmKnownExecutionOptionsboolpopulate_existing	autoflushr   synchronize_sessionr   dml_strategyis_delete_usingis_update_fromrender_nullsN)__name__
__module____qualname____annotations__     M/var/www/findabus/venv/lib/python3.11/site-packages/sqlalchemy/orm/_typing.pyr1   r1   Y   sc         OOO3333%%%%r?   r1   F)totalc                      e Zd ZdZd	d
dZdS )_ORMAdapterProtozprotocol for the :class:`.AliasedInsp._orm_adapt_element` method
    which is a synonym for :class:`.AliasedInsp._adapt_element`.


    Nobjr&   keyOptional[str]returnc                    d S Nr>   )selfrD   rE   s      r@   __call__z_ORMAdapterProto.__call__o         r?   rI   )rD   r&   rE   rF   rG   r&   )r:   r;   r<   __doc__rK   r>   r?   r@   rC   rC   h   s,          HGGGGGGr?   rC   c                      e Zd Zd	dZdS )
_LoaderCallablestateInstanceState[Any]passiver   rG   r   c                    d S rI   r>   )rJ   rP   rR   s      r@   rK   z_LoaderCallable.__call__s   s    cr?   N)rP   rQ   rR   r   rG   r   )r:   r;   r<   rK   r>   r?   r@   rO   rO   r   s(             r?   rO   optr'   rG   TypeGuard[ORMOption]c                    | j          S rI   )_is_corerT   s    r@   is_orm_optionrY   x   s     |r?   TypeGuard[UserDefinedOption]c                     | j          o| j        S rI   )rW   _is_user_definedrX   s    r@   is_user_defined_optionr]   ~   s     |4 44r?   rD   r   r2   c                B    t          | d          pt          | d          S )N__composite_values____dataclass_fields__)hasattrrD   s    r@   is_composite_classrc      s,    3.// 7#4 4 r?   TypeGuard[MapperProperty[Any]]c                    d S rI   r>   rb   s    r@   insp_is_mapper_propertyrf      s    ),r?   TypeGuard[Mapper[Any]]c                    d S rI   r>   rb   s    r@   insp_is_mapperri      rL   r?   TypeGuard[AliasedInsp[Any]]c                    d S rI   r>   rb   s    r@   insp_is_aliased_classrl      rL   r?   r   "TypeGuard[QueryableAttribute[Any]]c                    d S rI   r>   rb   s    r@   insp_is_attributero          -0Sr?   c                    d S rI   r>   rb   s    r@   attr_is_internal_proxyrr      rp   r?   propMapperProperty[Any]$TypeGuard[RelationshipProperty[Any]]c                    d S rI   r>   )rs   s    r@   prop_is_relationshiprw      s    /2sr?   implr   "TypeGuard[CollectionAttributeImpl]c                    d S rI   r>   rx   s    r@   is_collection_implr|      rp   r?   TypeGuard[HasCollectionAdapter]c                    d S rI   r>   r{   s    r@   is_has_collection_adapterr      s    *-#r?   is_property	is_mapperis_aliased_classis_attribute_is_internal_proxy
collection_is_relationship_is_has_collection_adapter)rT   r'   rG   rU   )rT   r'   rG   rZ   )rD   r   rG   r2   )rD   r   rG   rd   )rD   r   rG   rg   )rD   r   rG   rj   )rD   r   rG   rm   )rs   rt   rG   ru   )rx   r   rG   ry   )rx   r   rG   r}   )U
__future__r   operatortypingr   r   r   r   r   r	   r
   r   r   engine.interfacesr   sqlr   sql._orm_typesr   r   sql._typingr   sql.elementsr   util.typingr   r   
attributesr   r   r   r   baser   decl_apir   _registry_type
interfacesr   r   r   r    mapperr!   relationshipsr"   rP   r#   utilr$   r%   r&   sql.baser'   r(   r*   objectr,   _RegistryType_InternalEntityType_ExternalEntityType_EntityTypestr
_ClassDict_InstanceDict_IdentityKeyTypeExpressionElementRole_ORMColumnExprArgumentr/   r1   OrmExecuteOptionsParameterrC   rO   rY   r]   rc   rf   ri   rl   ro   rr   rw   r|   r   
attrgetterr>   r?   r@   <module>r      s   # " " " " "                                                              : : : : : :       G G G G G G      , + + + + + ( ( ( ( ( ( " " " " " " # # # # # # ,))))))333333000000......!!!!!!444444************%%%%%%------333333$$$$$$""""""!!!!!!!!!!!!++++++WT 	sd333WT   
  #"M;< DH&889 H ,0AA
 S#X
S#Xb5c?HSMAB "b	#%  gm=+=>>>     :%     #wsCx00 
H H H H Hx H H H    h      5 5 5 5     (- - - - @???KKKK1 1 1 11 1 1 13 3 3 31 1 1 1. . . . . .
 2h1-@@(X(55N/H/0BCC++N;;0X01EFF,,\::.8./ABB 3 3$! !r?   