
    Ѯhm                       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j                  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      ZH	 	 	 	 dNd;ZI	 	 	 	 dOd<ZJdPd=ZKe
r9	 	 	 	 dQd>ZLdRd?ZMdSd@ZN	 	 	 	 dTdAZO	 	 	 	 dTdBZP	 	 	 	 dUdCZQ	 	 	 	 dVdDZR	 	 	 	 dWdEZSy ej                  dF      ZL ej                  dG      ZM ej                  dH      ZN ej                  dI      ZO ej                  dJ      ZP ej                  dK      ZR ej                  dL      ZQ ej                  dM      ZSy)X    )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                  T    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
<   y)_OrmKnownExecutionOptionsboolpopulate_existing	autoflushr   synchronize_sessionr   dml_strategyis_delete_usingis_update_fromrender_nullsN)__name__
__module____qualname____annotations__     h/home/www/academy-backend.kofcorporation.com/venv/lib/python3.12/site-packages/sqlalchemy/orm/_typing.pyr1   r1   Y   s+    O33%%r?   r1   F)totalc                      e Zd ZdZdddZy)_ORMAdapterProtozprotocol for the :class:`.AliasedInsp._orm_adapt_element` method
    which is a synonym for :class:`.AliasedInsp._adapt_element`.


    Nc                     y Nr>   )selfobjkeys      r@   __call__z_ORMAdapterProto.__call__o       r?   rE   )rG   r&   rH   zOptional[str]returnr&   )r:   r;   r<   __doc__rI   r>   r?   r@   rC   rC   h   s     Hr?   rC   c                       e Zd Z	 	 	 	 	 	 ddZy)_LoaderCallablec                     y rE   r>   )rF   statepassives      r@   rI   z_LoaderCallable.__call__s   s    r?   N)rP   zInstanceState[Any]rQ   r   rK   r   )r:   r;   r<   rI   r>   r?   r@   rN   rN   r   s    '2=	r?   rN   c                    | j                    S rE   )_is_coreopts    r@   is_orm_optionrV   x   s     ||r?   c                8    | j                    xr | j                  S rE   )rS   _is_user_definedrT   s    r@   is_user_defined_optionrY   ~   s     ||4 4 44r?   c                6    t        | d      xs t        | d      S )N__composite_values____dataclass_fields__)hasattrrG   s    r@   is_composite_classr_      s$    3./ 7#4 r?   c                     y rE   r>   r^   s    r@   insp_is_mapper_propertyra      s    ),r?   c                     y rE   r>   r^   s    r@   insp_is_mapperrc      rJ   r?   c                     y rE   r>   r^   s    r@   insp_is_aliased_classre      rJ   r?   c                     y rE   r>   r^   s    r@   insp_is_attributerg          -0r?   c                     y rE   r>   r^   s    r@   attr_is_internal_proxyrj      rh   r?   c                     y rE   r>   )props    r@   prop_is_relationshiprm      s    /2r?   c                     y rE   r>   impls    r@   is_collection_implrq      rh   r?   c                     y rE   r>   ro   s    r@   is_has_collection_adapterrs      s    *-r?   is_property	is_mapperis_aliased_classis_attribute_is_internal_proxy
collection_is_relationship_is_has_collection_adapter)rU   r'   rK   zTypeGuard[ORMOption])rU   r'   rK   zTypeGuard[UserDefinedOption])rG   r   rK   r2   )rG   r   rK   zTypeGuard[MapperProperty[Any]])rG   r   rK   zTypeGuard[Mapper[Any]])rG   r   rK   zTypeGuard[AliasedInsp[Any]])rG   r   rK   z"TypeGuard[QueryableAttribute[Any]])rl   zMapperProperty[Any]rK   z$TypeGuard[RelationshipProperty[Any]])rp   r   rK   z"TypeGuard[CollectionAttributeImpl])rp   r   rK   zTypeGuard[HasCollectionAdapter])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   rN   rV   rY   r_   ra   rc   re   rg   rj   rm   rq   rs   
attrgetterr>   r?   r@   <module>r      s   #            :  G , ( " #)30.!4**%-3$"!!+T 	sd3T 
 "M;< DH&889 H ,0AA
 S#X
S#Xb5c?HSMAB "b	#%  m=+=> :%  #wsCx00 
Hx Hh 	5	5!5 --	'- @K11	+111	+13!3	-311	+1..	(.
 2h11-@(X((5N/H//0BC+++N;0X001EF,,,\:.8../AB 3 3 3$!r?   