ó
    Ñ]jŠÁ ã                  ó2  • S SK Jr  S SKrS SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S S	KJ
r
  S S
KJr  S SKJr  S SKJr  S SKJr  S SKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJr  SSKJ r   SSKJ!r!  SSKJ"r#  SS KJ$r$  SS!KJ%r%  SS"KJ&r&  SS#KJr  SS$K&J'r'  SS%K&J(r(  SS&K&J)r)  SS#K&Jr*  SS'K&J+r+  SS(K,J-r-  SS)K,J.r.  SS*K,J/r/  SS+K,J0r0  SS,K1J2r2  SS-K1J3r3  SS.K1J4r4  SS/K1J5r5  SS0K1J6r6  SS1K1J7r7  SS2K8J9r9  SS3K:J;r;  SS4K:J<r<  SS5K=J>r>  SS6K=J?r?  SS7K=J@r@  SS8K=JArA  SS9K=JBrB  SS:K=JCrC  SS;K=JDrD  SS<K=JErE  SS=KFJGrG  \(       ar  SS>KHJIrI  SS?KHJJrJ  SS@KJKrK  SSAKLJMrM  SSBKNJOrO  SSCKPJQrQ  SSDKPJRrR  SSEKSJTrT  SSFKUJVrV  SSGK,JWrW  SSHKXJYrY  SSIK8JZrZ  SSJK:J[r[  SSKK=J\r\  SSLK=J]r]  SSMK=J^r^  SSNK=J_r_  SSOK=J`r`  SSPKaJbrb  \" SQ\SR9rc\RÈ                  re\RÌ                  " 5       rg\CRÐ                  rh " SS ST5      ri\RÌ                  " SUSV05      rj " SW SX\45      rk " SY SZ\k5      rl " S[ S\\k5      rm " S] S^5      rn " S_ S`\n5      ro " Sa Sb\n5      rp\&R(                  Rh                  Rã                  ScSd5       " Se Sf\m5      5       rr " Sg Sh\;\6\E\-   5      rs\&R(                  Rh                  Rã                  ScSi5       " Sj Sk\l\>5      5       rt\&R(                  Rh                  Rã                  ScSl5       " Sm Sn\m\D5      5       ru  S�       S‚So jjrv    SƒSp jrw    SƒSq jrx S„     S…Sr jjry " Ss St5      rz " Su Sv\z5      r{ " Sw Sx\z5      r| " Sy Sz\z5      r} " S{ S|\}5      r~ " S} S~\}5      r " S S€\5      r€g)†é    )ÚannotationsN)ÚAny)Úcast)ÚDict)ÚIterable)ÚList)ÚOptional)ÚSet)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVar)ÚUnioné   )Ú
attributes)Ú
interfaces)Úloading)Ú_is_aliased_class)ÚORMColumnDescription)ÚORMColumnsClauseRole)ÚPathRegistry)Ú_entity_corresponds_to)Ú_ORMJoin)Ú_TraceAdaptRole)ÚAliasedClass)ÚBundle)Ú
ORMAdapter)ÚORMStatementAdapteré   )Úexc)Úfuture)Úinspect)Úsql)Úutil)Ú	coercions)Ú
expression)Úroles)Úvisitors)Ú_TP)Úis_dml)Úis_insert_update)Úis_select_base)Ú_select_iterables)ÚCacheableOptions)ÚCompileState)Ú
Executable)Ú
Generative)ÚOptions)Ú
UpdateBase)ÚGroupedElement)Ú
TextClause)ÚCompoundSelectState)ÚLABEL_STYLE_DISAMBIGUATE_ONLY)ÚLABEL_STYLE_NONE)ÚLABEL_STYLE_TABLENAME_PLUS_COL)ÚSelect)ÚSelectLabelStyle)ÚSelectState)ÚTypedReturnsRows)ÚInternalTraversal)Ú_InternalEntityType)ÚOrmExecuteOptionsParameter)ÚPostLoad)ÚMapper)ÚQuery)Ú_BindArguments)ÚSession)ÚResult)Ú_CoreSingleExecuteParams)Ú_ColumnsClauseArgument)ÚSQLCompiler)Ú_DMLTableElement)ÚColumnElement)Ú_JoinTargetElement)Ú_LabelConventionCallable)Ú_SetupJoinsElement)ÚExecutableReturnsRows)Ú
SelectBase)Ú
TypeEngineÚ_T)Úboundc                  óˆ   • \ rS rSr% SrS\S'   S\S'   S\S'    " S	 S
\5      r  S               SS jjrSS jr	Sr
g)ÚQueryContextéf   )Útop_level_contextÚcompile_stateÚqueryÚuser_passed_queryÚparamsÚload_optionsÚbind_argumentsÚexecution_optionsÚsessionÚ	autoflushÚpopulate_existingÚinvoke_all_eagersÚversion_checkÚrefresh_stateÚcreate_eager_joinsÚpropagated_loader_optionsr   ÚrunidÚpartialsÚpost_load_pathsÚidentity_tokenÚ	yield_perÚloaders_require_bufferingÚloaders_require_uniquingÚintrg   zDict[PathRegistry, PostLoad]ri   ÚORMCompileStaterX   c                  óD   • \ rS rSrSrSrSrSrSrSr	Sr
SrSrSrSrSrSrg)Ú!QueryContext.default_load_optionsé†   FTN© )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú_only_return_tuplesÚ_populate_existingÚ_version_checkÚ_invoke_all_eagersÚ
_autoflushÚ_identity_tokenÚ
_yield_perÚ_refresh_stateÚ_lazy_loaded_fromÚ_legacy_uniquingÚ_sa_top_level_orm_contextÚ_is_user_refreshÚ__static_attributes__rs   ó    ÚS/home/mande/repo/quber/.venv/lib/python3.13/site-packages/sqlalchemy/orm/context.pyÚdefault_load_optionsrq   †   sE   † Ø#ÐØ"ÐØˆØ!ÐØˆ
ØˆØˆ
ØˆØ ÐØ ÐØ$(Ð!Ø Ór…   r‡   Nc	                ó”  ^ • UT l         U=(       d    [        T l        U=(       d    [        T l        UT l        UT l        UT l        UT l        ST l        ST l	        UT l
        UR                  T l        UR                  R                  n	UR                  n
[        U 4S j[!        Xš5       5       5      T l        [%        UR&                  5      T l        UR(                  T l        UR,                  T l        UR0                  T l        UR4                  T l        UR8                  T l        UR<                  T l        UR@                  T l!        g )NFc              3  ór   >#   • U  H,  u  pUR                   (       d  M  UR                  TU5      v •  M.     g 7f©N)Úpropagate_to_loadersÚ'_adapt_cached_option_to_uncached_option)Ú.0ÚoptÚuncached_optÚselfs      €r†   Ú	<genexpr>Ú(QueryContext.__init__.<locals>.<genexpr>Æ   s7   øé € ð /
â%JÑ!�Ø×'Õ'ó LˆC×7Ñ7¸¸l×KÐKÚ%Jùs   ƒ7ž7)"r\   Ú_EMPTY_DICTr^   r]   rX   rY   rZ   r_   rl   rm   r[   r‚   rW   Úselect_statementÚ_with_optionsÚtupleÚziprf   Údictr   r|   r`   ry   ra   r{   rb   rz   rc   r   rd   r~   rk   r}   rj   )r�   rX   Ú	statementrZ   r[   r_   r\   r^   r]   Úcached_optionsÚuncached_optionss   `          r†   Ú__init__ÚQueryContext.__init__”   s  ø€ ð$ )ˆÔØ!2×!A´kˆÔØ,×;´ˆÔØ*ˆÔØˆŒ
ð "3ˆÔàˆŒØ).ˆÔ&Ø(-ˆÔ%ØˆŒØ!-×!GÑ!GˆÔà&×7Ñ7×EÑEˆØ,×:Ñ:Ðô */ô /
ä%(¨Ô%Jó/
ó *
ˆÔ&ô ˜}×7Ñ7Ó8ˆŒà%×0Ñ0ˆŒØ!-×!@Ñ!@ˆÔØ!-×!@Ñ!@ˆÔØ)×8Ñ8ˆÔØ)×8Ñ8ˆÔØ%×0Ñ0ˆŒØ*×:Ñ:ˆÕr…   c                ó,   • U R                   =(       d    U $ rŠ   )rW   ©r�   s    r†   Ú_get_top_level_contextÚ#QueryContext._get_top_level_contextÖ   s   € Ø×%Ñ%×-¨Ð-r…   )r   r`   r]   rX   r^   rj   rb   r\   rl   rm   r[   ra   rf   rY   rd   r_   rW   rZ   rc   rk   )NN)rX   r/   r™   ú2Union[Select[Any], FromStatement[Any], UpdateBase]rZ   r¢   r[   rG   r_   rE   r\   zQUnion[Type[QueryContext.default_load_options], QueryContext.default_load_options]r^   z$Optional[OrmExecuteOptionsParameter]r]   zOptional[_BindArguments])ÚreturnrU   )rt   ru   rv   rw   Ú	__slots__Ú__annotations__r2   r‡   rœ   r    r„   rs   r…   r†   rU   rU   f   s–   ‡ ð€Ið6 ƒJØ1Ó1Ø"Ó"ô!˜wô !ð: CGØ37ð!@;à#ð@;ð Fð@;ð
ð	@;ð )ð@;ð ð@;ð
ð@;ð @ð@;ð  1õ!@;÷D.r…   rU   Ú _result_disable_adapt_to_contextTc                  óˆ   ^ • \ rS rSrSrS r\        S	U 4S jj5       r\S 5       r\  S
S j5       r	\S 5       r
SrU =r$ )ÚAbstractORMCompileStateéß   Fc               ó  • 0 U l         Uc  0 U l        U(       d   eg UR                  =U l        nU(       aD  SUS'   U(       a7  UR                   H'  nUR                  (       d  M  UR                  U 5        M)     g UR                  SS5      (       a  g UR                  S   n US   nUR                   H:  nUR                  (       d  M  UR                  (       d  M)  UR                  U 5        M<     SUS'   g ! [         a     Nf = f)NTÚtoplevel_ormFr   Ú
selectable)
r   Úglobal_attributesÚ_global_attributesr•   Ú_is_criteria_optionÚprocess_compile_stateÚgetÚstackÚ_is_compile_stateÚKeyError)	r�   r™   ÚcompilerÚtoplevelÚprocess_criteria_for_toplevelÚgarŽ   Ústack_0Útoplevel_stmts	            r†   Ú_init_global_attributesÚ/AbstractORMCompileState._init_global_attributesâ   sÿ   € ð ˆŒàÑð &(ˆDÔ"ÞˆO�8Øà*2×*EÑ*EÐEˆDÔ" RæØ!%ˆBˆ~Ñæ,Ø$×2Ô2�CØ×.×.Ñ.Ø×1Ñ1°$Ö7ñ 3ð Ø�V‰V�N E×*Ñ*Øà—.‘. Ñ#ˆð	4Ø# LÑ1ˆMð %×2Ô2�Ø×(×(Ñ(¨S×-D×-DÑ-DØ×-Ñ-¨dÖ3ñ 3ð "ˆˆ>Òøô ó 	Ùð	ús   Â"C7 Ã7
DÄDc                ó&   >• [         TU ]  " X40 UD6$ )a�  Create a context for a statement given a :class:`.Compiler`.

This method is always invoked in the context of SQLCompiler.process().

For a Select object, this would be invoked from
SQLCompiler.visit_select(). For the special FromStatement object used
by Query to indicate "Query.from_statement()", this is called by
FromStatement._compiler_dispatch() that would be called by
SQLCompiler.process().
)ÚsuperÚcreate_for_statement)Úclsr™   rµ   ÚkwÚ	__class__s       €r†   r¿   Ú,AbstractORMCompileState.create_for_statement	  s   ø€ ô" ‰wÒ+¨IÑFÀ2ÑFÐFr…   c                ó   • [        5       erŠ   ©ÚNotImplementedError)rÀ   r_   r™   r[   r^   r]   Úis_pre_events          r†   Úorm_pre_session_execÚ,AbstractORMCompileState.orm_pre_session_exec  ó   € ô "Ó#Ð#r…   c                ó`   • UR                  X#=(       d    0 US9nU R                  UUUUUU5      $ )N)r^   )ÚexecuteÚorm_setup_cursor_result)rÀ   r_   r™   r[   r^   r]   ÚconnÚresults           r†   Úorm_execute_statementÚ-AbstractORMCompileState.orm_execute_statement(  sH   € ð —‘Ø—| Ð7Hð ð 
ˆð ×*Ñ*ØØØØØØó
ð 	
r…   c                ó   • [        5       erŠ   rÅ   ©rÀ   r_   r™   r[   r^   r]   rÏ   s          r†   rÍ   Ú/AbstractORMCompileState.orm_setup_cursor_result>  rÊ   r…   )r   r­   )r™   r0   rµ   rI   rÁ   r   r£   r/   )r£   rF   )rt   ru   rv   rw   Úis_dml_returningr»   Úclassmethodr¿   rÈ   rÐ   rÍ   r„   Ú__classcell__©rÂ   s   @r†   r¨   r¨   ß   s•   ø† ØÐò%"ðN ðGàðGð ðGð ð	Gð
 
öGó ðGð$ ñ	$ó ð	$ð ð
ð 
ó
ó ð
ð* ñ	$ó ö	$r…   r¨   c                  ó8   • \ rS rSrSr\S 5       r\S 5       rSrg)ÚAutoflushOnlyORMCompileStateiK  z>ORM compile state that is a passthrough, except for autoflush.c                ó¸   • [         R                  R                  SS1UUR                  5      u  nnU(       d!  UR                  (       a  UR	                  5         X$4$ )NÚ_sa_orm_load_optionsr`   )rU   r‡   Úfrom_execution_optionsÚ_execution_optionsr|   )rÀ   r_   r™   r[   r^   r]   rÇ   r\   s           r†   rÈ   Ú1AutoflushOnlyORMCompileState.orm_pre_session_execN  s^   € ô ×-Ñ-×DÑDØ"àðð Ø×(Ñ(ó
ñ	
ØØö  × 7× 7Ø×ÑÔ àÐ+Ð+r…   c                ó   • U$ rŠ   rs   rÓ   s          r†   rÍ   Ú4AutoflushOnlyORMCompileState.orm_setup_cursor_resultk  s	   € ð ˆr…   rs   N)	rt   ru   rv   rw   Ú__doc__rÖ   rÈ   rÍ   r„   rs   r…   r†   rÚ   rÚ   K  s+   † ÙHàñ,ó ð,ð8 ñ	ó ó	r…   rÚ   c                  óž  • \ rS rSr%  " S S\5      rS\S'   S\S'   S\S'   S\S	'   S
\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   S\S'   \rS\S'   Sr	S  r
\        S.S! j5       r\          S/S" j5       rS# r\      S0S$ j5       r\S% 5       r\S& 5       r\S' 5       r\S( 5       rS) rS* r\S+ 5       rS,rg-)1ro   ix  c                  ób  • \ rS rSrS\R
                  4S\R
                  4S\R
                  4S\R                  4S\R
                  4S\R
                  4S\R                  4S	\R
                  4S
\R
                  4S\R
                  4S\R
                  4/rSr	Sr
Sr\rSrSrSrSrSrSrSrSrg)Ú'ORMCompileState.default_compile_optionsiy  Ú_use_legacy_query_styleÚ_for_statementÚ_bake_okÚ_current_pathÚ_enable_single_critÚ_enable_eagerloadsÚ_only_load_propsÚ_set_base_aliasÚ_for_refresh_stateÚ_render_for_subqueryÚ_is_starFTNrs   )rt   ru   rv   rw   r>   Ú
dp_booleanÚdp_has_cache_keyÚdp_plain_objÚ_cache_key_traversalræ   rç   rè   Ú_path_registryré   rê   rë   rì   rí   rî   rï   rð   r„   rs   r…   r†   Údefault_compile_optionsrå   y  sð   † à&Ð(9×(DÑ(DÐEØÐ0×;Ñ;Ð<ØÐ*×5Ñ5Ð6ØÐ/×@Ñ@ÐAØ"Ð$5×$@Ñ$@ÐAØ!Ð#4×#?Ñ#?Ð@ØÐ!2×!?Ñ!?Ð@ØÐ 1× <Ñ <Ð=Ø!Ð#4×#?Ñ#?Ð@Ø#Ð%6×%AÑ%AÐBØÐ*×5Ñ5Ð6ð 
Ðð& #(Ðð
 ˆàˆØ&ˆØ"ÐØ!ÐØÐØˆØ"ÐØ$ÐØ‹r…   rö   zDict[Any, Any]r   r­   r¢   r™   r”   úList[_QueryEntity]Ú	_entitiesz%Dict[_InternalEntityType, ORMAdapter]Ú_polymorphic_adaptersz=Union[Type[default_compile_options], default_compile_options]Úcompile_optionszOptional[_QueryEntity]Ú_primary_entityÚboolÚuse_legacy_query_stylerM   Ú_label_conventionzList[ColumnElement[Any]]Úprimary_columnsÚsecondary_columnszSet[ColumnElement[Any]]Údedupe_columnszList[Tuple[Any, ...]]re   r   Úcurrent_pathFc                ó   • [        5       erŠ   rÅ   )r�   ÚargrÁ   s      r†   rœ   ÚORMCompileState.__init__µ  ó   € Ü!Ó#Ð#r…   c                ó`   • U R                   " [        SU5      4UR                  (       + US.UD6$ )NúUnion[Select, FromStatement])r¶   rµ   )Ú_create_orm_contextr   r²   )rÀ   r™   rµ   rÁ   s       r†   r¿   Ú$ORMCompileState.create_for_statement¸  s>   € ð ×&Ò&ÜÐ/°Ó;ð
à!Ÿ™Ô'Øñ
ð ñ	
ð 	
r…   c               ó   • [        5       erŠ   rÅ   )rÀ   r™   r¶   rµ   rÁ   s        r†   r	  Ú#ORMCompileState._create_orm_contextÆ  s   € ô "Ó#Ð#r…   c                ól   • U R                   nX;  a#  UR                  U5        UR                  U5        g g rŠ   )r  ÚaddÚappend)r�   ÚobjÚcol_collectionÚdedupes       r†   Ú_append_dedupe_col_collectionÚ-ORMCompileState._append_dedupe_col_collectionÑ  s1   € Ø×$Ñ$ˆØÓØ�J‰J�sŒOØ×!Ñ! #Õ&ð r…   c                óJ   • U(       a  SS jnU$ [         R                  " U5      $ )Nc                ó,   • U(       a  U$ [        U S5      $ )NÚkey)Úgetattr)ÚcolÚcol_names     r†   ÚnameÚ7ORMCompileState._column_naming_convention.<locals>.nameÝ  s   € ÞØ#�Oä" 3¨Ó.Ð.r…   rŠ   )r<   Ú_column_naming_convention)rÀ   Úlabel_styleÚlegacyr  s       r†   r  Ú)ORMCompileState._column_naming_convention×  s$   € ö ô/ð ˆKä×8Ò8¸ÓEÐEr…   c                ó   • [        U5      $ rŠ   )Ú_column_descriptions©rÀ   r™   s     r†   Úget_column_descriptionsÚ'ORMCompileState.get_column_descriptionsç  s   € ä# IÓ.Ð.r…   c                ó  • [         R                  R                  S1 SkUUR                  5      u  nnSU;   a5  US   nUR                  R                  R                  UR                  U5      nU(       d  [        nOUR                  [        5      nUR                  (       a  UR                  SUR                  05      n[        UR                  SS 5      (       aJ  [        UR                  R                  5      S:”  a'  UR                  SS5      b  UR                  S S	S
.5      nX%S'    UR                  S   n	U	(       a  U	R                   US'   U(       d!  UR$                  (       a  UR%                  5         X$4$ ! ["         a     S5       ef = f)NrÜ   >   r`   rk   rj   ra   Úsa_top_level_orm_contextr'  rk   ré   é
   Úcompiled_cacheTz#excess depth for ORM loader options)r)  Ú_cache_disable_reasonÚclauseÚplugin_subjectÚmapperz0statement had 'orm' plugin but no plugin_subject)rU   r‡   rÝ   rÞ   rY   Ú
merge_withr^   Ú_orm_load_exec_optionsÚunionr~   r  Ú_compile_optionsÚlenré   r±   Ú_propagate_attrsr-  r´   r|   )
rÀ   r_   r™   r[   r^   r]   rÇ   r\   Úctxr,  s
             r†   rÈ   Ú$ORMCompileState.orm_pre_session_execë  s—  € ô ×-Ñ-×DÑDØ"òð Ø×(Ñ(ó
ñ	
ØØð( &Ð):Ó:Ø#Ð$>Ñ?ˆCØ #§	¡	× <Ñ <× GÑ GØ×%Ñ%Ð'8ó!Ðö !Ü 6Ñà 1× 7Ñ 7Ô8NÓ OÐð ×"×"Ø 1× 7Ñ 7Ø˜l×5Ñ5Ð6ó!Ðô
 �I×.Ñ.°À×FÑFÜ�I×.Ñ.×<Ñ<Ó=ÀÓBØ!×%Ñ%Ð&6¸Ó=ÑIð "×'Ñ'à*.ð2-ñóð ð $-�xÑ ð	AØ&×7Ñ7Ð8HÑIˆNö Ø+9×+@Ñ+@�˜xÑ(æ × 7× 7Ø×ÑÔ àÐ+Ð+øô ó 	MØLÐLÓL�5ð	Mús   Ä)E9 Å9Fc           
     ó  • UR                   nUR                  R                  nUR                  S[        R
                  5      n	UR                  R                  (       a  U$ [	        UUUUUU	UU5      n
[        R                  " Xj5      $ )NrÜ   )
ÚcontextÚcompiledrX   r±   rU   r‡   rú   rð   r   Ú	instances)rÀ   r_   r™   r[   r^   r]   rÏ   Úexecution_contextrX   r\   Úquerycontexts              r†   rÍ   Ú'ORMCompileState.orm_setup_cursor_resultE  s‡   € ð #ŸN™NÐØ)×2Ñ2×@Ñ@ˆð )×,Ñ,Ø"¤L×$EÑ$Eó
ˆð ×(Ñ(×1×1ØˆMä#ØØØØØØØØó	
ˆô × Ò  Ó6Ð6r…   c                ót   • U R                    Vs/ s H  n[        U[        5      (       d  M  UPM     sn$ s  snf )z¢return all _MapperEntity objects in the lead entities collection.

Does **not** include entities that have been replaced by
with_entities(), with_only_columns()

)rø   Ú
isinstanceÚ_MapperEntity)r�   Úents     r†   Ú_lead_mapper_entitiesÚ%ORMCompileState._lead_mapper_entitiesj  s2   € ð  Ÿ>š>ó
Ú)�C¬Z¸¼]×-K�C™>ñ
ð 	
ùò 
s   �5¬5c                ó  • UR                   (       d{  UR                  R                  U R                  ;  aV  UR                  R	                  5        H7  nU R                  U[        [        R                  UUR                  US95        M9     ggg)aí  given MapperEntity or ORMColumnEntity, setup polymorphic loading
if called for by the Mapper.

As of #8168 in 2.0.0rc1, polymorphic adapters, which greatly increase
the complexity of the query creation process, are not used at all
except in the quasi-legacy cases of with_polymorphic referring to an
alias and/or subquery. This would apply to concrete polymorphic
loading, and joined inheritance where a subquery is
passed to with_polymorphic (which is completely unnecessary in modern
use).

)Úequivalentsr¬   N)
Úis_aliased_classr-  Úpersist_selectablerù   Úiterate_to_rootÚ"_mapper_loads_polymorphically_withr   r   ÚWITH_POLYMORPHIC_ADAPTERÚ_equivalent_columns)r�   Úext_infor¬   Úmps       r†   Ú _create_with_polymorphic_adapterÚ0ORMCompileState._create_with_polymorphic_adapterv  s|   € ð ×)×)Ø—‘×2Ñ2Ø×-Ñ-ó.ð —o‘o×5Ñ5Ö7�Ø×7Ñ7ØÜÜ'×@Ñ@ØØ$&×$:Ñ$:Ø#-ñ	öò 8ð.ð *r…   c                ó¸   • UR                   =(       d    U/ H@  nX R                  U'   UR                  5        H  nX R                  UR                  '   M     MB     g rŠ   )Ú_with_polymorphic_mappersrù   rG  Úlocal_table)r�   r-  ÚadapterÚm2Úms        r†   rH  Ú2ORMCompileState._mapper_loads_polymorphically_with“  sO   € Ø×2Ñ2×>°v°hÒ>ˆBØ-4×&Ñ& rÑ*à×'Ñ'Ö)�Ø<C×*Ñ*¨1¯=©=Ó9ó *ò ?r…   c                ó   • [        S5      e)Nz0this method only works for ORMSelectCompileStaterÅ   )rÀ   rY   r  s      r†   Ú_create_entities_collectionÚ+ORMCompileState._create_entities_collectionš  s   € ä!Ø>ó
ð 	
r…   rs   N)r™   r0   rµ   rI   rÁ   r   r£   ro   )
r™   r  r¶   rü   rµ   úOptional[SQLCompiler]rÁ   r   r£   ro   )r  r;   r  rü   r£   rM   )rt   ru   rv   rw   r.   rö   r¥   rõ   r  Ú_has_mapper_entitiesrœ   rÖ   r¿   r	  r  r  r$  rÈ   rÍ   ÚpropertyrA  rM  rH  rW  r„   rs   r…   r†   ro   ro   x  s®  ‡ ô#Ð"2ô #ðJ ÓØ%Ó%àAÓAØHÓHØ!Ó!Ø@Ó@ðó ð ,Ó+Ø Ó Ø/Ó/Ø-Ó-Ø/Ó/Ø+Ó+ðó ð "0€L�,Ó/Ø Ðò$ð ð
àð
ð ð
ð ð	
ð
 
ó
ó ð
ð ð$à/ð$ð ð	$ð
 (ð$ð ð$ð 
ó$ó ð$ò'ð ðFØ*ðFØ48ðFà	!óFó ðFð ñ/ó ð/ð ñW,ó ðW,ðr ñ"7ó ð"7ðH ñ	
ó ð	
òò:Dð ñ
ó ó
r…   ro   c                  ó.   • \ rS rSrSrSrS rS rS rSr	g)	Ú_DMLReturningColFilteri¡  zça base for an adapter used for the DML RETURNING cases

Has a subset of the interface used by
:class:`.ORMAdapter` and is used for :class:`._QueryEntity`
instances to set up their columns as used in RETURNING for a
DML statement.

)r-  ÚcolumnsÚ__weakref__c                ó®   • Ub   UR                   UR                   La  X l        OXl        [        R                  " U R                  5      =U l        U l        g rŠ   )rQ  r-  r$   ÚWeakPopulateDictÚadapt_check_presentr^  )r�   Útarget_mapperÚimmediate_dml_mappers      r†   rœ   Ú_DMLReturningColFilter.__init__­  sQ   € à Ñ,Ø×)Ñ)Ø'×3Ñ3ò4ð /�Kð (ŒKÜ&*×&;Ò&;Ø×$Ñ$ó'
ð 	
ˆŒ�t•|r…   c                ón   • [         R                  " U5       H  nU R                  U5      nUc  M  Us  $    g rŠ   )Úsql_utilÚ_find_columnsrb  )r�   r  Ú	as_filterÚccÚc2s        r†   Ú__call__Ú_DMLReturningColFilter.__call__¼  s6   € Ü×(Ò(¨Ö-ˆBØ×)Ñ)¨"Ó-ˆBØ‹~Ø’
ñ .ð
 r…   c                ó   • [        5       erŠ   rÅ   )r�   r  s     r†   rb  Ú*_DMLReturningColFilter.adapt_check_presentÄ  r  r…   )r^  r-  N)
rt   ru   rv   rw   râ   r¤   rœ   rl  rb  r„   rs   r…   r†   r]  r]  ¡  s   † ñð 5€Iò
òõ$r…   r]  c                  ó   • \ rS rSrSrS rSrg)Ú _DMLBulkInsertReturningColFilteriÈ  aC  an adapter used for the DML RETURNING case specifically
for ORM bulk insert (or any hypothetical DML that is splitting out a class
hierarchy among multiple DML statements....ORM bulk insert is the only
example right now)

its main job is to limit the columns in a RETURNING to only a specific
mapped table in a hierarchy.

c                ó¤   • U R                   nUR                  R                  US 5      nUc  g UR                  R                  R                  U5      $ rŠ   )r-  Ú_columntopropertyr±   rQ  ÚcÚcorresponding_column©r�   r  r-  Úprops       r†   rb  Ú4_DMLBulkInsertReturningColFilter.adapt_check_presentÓ  sH   € Ø—‘ˆØ×'Ñ'×+Ñ+¨C°Ó6ˆØ‰<ØØ×!Ñ!×#Ñ#×8Ñ8¸Ó=Ð=r…   rs   N©rt   ru   rv   rw   râ   rb  r„   rs   r…   r†   rq  rq  È  s   † ñõ>r…   rq  c                  ó   • \ rS rSrSrS rSrg)Ú"_DMLUpdateDeleteReturningColFilteriÛ  aG  an adapter used for the DML RETURNING case specifically
for ORM enabled UPDATE/DELETE

its main job is to limit the columns in a RETURNING to include
only direct persisted columns from the immediate selectable, not
expressions like column_property(), or to also allow columns from other
mappers for the UPDATE..FROM use case.

c                ó¦   • U R                   nUR                  R                  US 5      nUb%  UR                  R                  R                  U5      $ U$ rŠ   )r-  rs  r±   rF  rt  ru  rv  s       r†   rb  Ú6_DMLUpdateDeleteReturningColFilter.adapt_check_presentæ  sO   € Ø—‘ˆØ×'Ñ'×+Ñ+¨C°Ó6ˆØÑð ×,Ñ,×.Ñ.×CÑCÀCÓHÐHð ˆ
r…   rs   Nry  rs   r…   r†   r{  r{  Û  s   † ñõ
r…   r{  ÚormÚorm_from_statementc                  ó’   • \ rS rSr% SrSrS\S'   S\S'   SrS\S	'   SrSr	Sr
Sr\r\r\          SS
 j5       rS rS rS rSrg)ÚORMFromStatementCompileStateió  NFÚFromStatementÚstatement_containerz)Union[SelectBase, TextClause, UpdateBase]Úrequested_statementzOptional[_DMLTableElement]Ú	dml_tablec               ó
  • Un[        U[        5      (       d   eUb'  UR                  (       a  [        R                  " S5      eU R                  U 5      nS Ul        UR                  R                  Ul	        U=Ul
        Ul        UR                  =Ul        nUR                  (       a  UR                  Ul        SUl        / Ul        0 Ul        UR                  Ul        UR                  (       ao  [        U[*        R,                  5      (       aP  UR.                  (       d?  UR                  (       d.  UR0                  [2        L a  UR5                  [6        5      Ul        OXl        UR;                  UR.                  (       d  UR                  (       d  UR0                  O[2        UR                  5      Ul        [>        RA                  UURB                  UR$                  SS9  UR                  RD                  Ul#        URI                  UUSSS9  URJ                  (       a7  URJ                   H'  nURL                  (       d  M  URO                  U5        M)     URP                  (       a  URP                   H  u  p‰U" U5        M     / Ul)        / Ul*        [W        5       Ul,        / Ul-        / Ul.        S Ul/        [        UR8                  [*        R`                  5      (       ap  0 Ul1        UR$                   H  n
U
Re                  U5        M     S=Ul3        Ul4        SUl5        URR                   H  nURm                  USURn                  S9  M      U$ [q        [r        Rt                  UR8                  URv                  S9Ul<        U$ )NzšThe ORM FromStatement construct only supports being invoked as the topmost statement, as it is only intended to define how result rows should be returned.T©Úis_current_entitiesF)r·   r¶   )Úwithin_columns_clauseÚadd_to_result_map)Úadapt_on_names)=r>  r‚  r²   Úsa_excÚCompileErrorÚ__new__rû   r1  ræ   rý   rƒ  r”   Úelementr„  r*   Útabler…  rÕ   rø   rù   rú   r&   rP   Ú_is_textualÚ_label_styler8   Úset_label_styler9   r™   r  rþ   Ú_QueryEntityÚto_compile_stateÚ_raw_columnsré   r  r»   r•   r³   r°   Ú_with_context_optionsrÿ   r   Úsetr  re   Ú_fallback_from_clausesÚorder_byr5   Úextra_criteria_entitiesÚsetup_compile_stateÚ_ordered_columnsÚ_textual_ordered_columnsÚ_loose_column_name_matchingÚprocessÚ_add_to_result_mapr   r   ÚADAPT_FROM_STATEMENTÚ_adapt_on_namesÚ_from_obj_alias)rÀ   r™   r¶   rµ   rÁ   rƒ  r�   rŽ   Úfnr  Úentityrt  s               r†   r	  Ú0ORMFromStatementCompileState._create_orm_context  s  € ð (ÐäÐ-¬}×=Ñ=Ð=Ð=àÑ H§N§NÜ×%Ò%ð=óð ð �{‰{˜3ÓˆØ#ˆÔð  ×0Ñ0×HÑHð 	Ô#ð <OÐNˆÔ  4Ô#8Ø/B×/JÑ/JÐJˆÔ  9à××Ø&Ÿ_™_ˆDŒNØ$(ˆDÔ!àˆŒØ%'ˆÔ"à2×CÑCˆÔð ×'×'Ü˜9¤j×&;Ñ&;×<Ñ<Ø×)×)Ø×$×$Ø×&Ñ&Ô*:Ò:à&×6Ñ6Ü.óˆD�Nð 'ŒNà!%×!?Ñ!?ð !×,×,°Y×5E×5Eð ×&Ò&ä%à×'Ñ'ó"
ˆÔô 	×%Ñ%ØØ×,Ñ,Ø�N‰NØ $ð	 	&ñ 	
ð 0×@Ñ@×NÑNˆÔà×$Ñ$ØØØ*/Øð	 	%ñ 	
ð ×,×,Ø*×8Ô8�Ø×(×(Ñ(Ø×-Ñ-¨dÖ3ñ 9ð ×4×4Ø.×DÔD‘�Ù�4–ñ Eð  "ˆÔØ!#ˆÔÜ!›eˆÔØ"$ˆÔØ&(ˆÔ#àˆŒä�d—n‘n¤j×&;Ñ&;×<Ñ<ð ,.ˆDÔ(àŸ.œ.�Ø×*Ñ*¨4Ö0ñ )ð ðˆHÔ%¨Ô(Ið 48ˆHÔ0à×)Ô)�Ø× Ñ ØØ*.Ø&.×&AÑ&Að !ó ñ *ð, ˆô $7Ü×4Ñ4Ø—‘Ø2×BÑBñ$ˆDÔ ð ˆr…   c                ó   • U$ rŠ   rs   )r�   ÚcolsÚcurrent_adapters      r†   Ú_adapt_col_listÚ,ORMFromStatementCompileState._adapt_col_listŠ  ó   € Øˆr…   c                ó   • g rŠ   rs   rŸ   s    r†   Ú_get_current_adapterÚ1ORMFromStatementCompileState._get_current_adapter�  s   € Ør…   c                ó  • U R                   R                  R                  SS5      nU R                   R                  (       a  [	        X!5      nODU R                   R
                  (       d  U R                   R                  (       a  [        X!5      nOSnU R                  R                  (       a/  [        U R                  5      S:w  a  [        R                  " S5      eU R                   H  nUR                  X5        M     g)zoused by BulkORMInsert, Update, Delete to set up a handler
for RETURNING to return ORM objects and expressions

r,  Nr   úsCan't generate ORM query that includes multiple expressions at the same time as '*'; query for '*' alone if present)r™   r3  r±   Ú	is_insertrq  Ú	is_updateÚ	is_deleter{  rú   rð   r2  rø   rŒ  r�  Ú!setup_dml_returning_compile_state)r�   Ú
dml_mapperrc  rR  r¦  s        r†   r¶  Ú>ORMFromStatementCompileState.setup_dml_returning_compile_state�  sÄ   € ð
 Ÿ™×7Ñ7×;Ñ;Ø˜dó
ˆð �>‰>×#×#Ü6Øó‰Gð �^‰^×%×%¨¯©×)A×)AÜ8Øó‰Gð ˆGà×Ñ×(×(¬c°$·.±.Ó.AÀQÓ.FÜ×%Ò%ðJóð ð
 —n”nˆFØ×4Ñ4°TÖCò %r…   )rø   r™  r¤  rþ   rù   rû   rú   re   r  r  r…  r›  rÕ   rš  rÿ   r„  r   r”   r™   rƒ  rý   )
r™   r  r¶   rü   rµ   rY  rÁ   r   r£   r�  )rt   ru   rv   rw   r¤  rZ  r¥   r…  Ú_has_orm_entitiesÚmulti_row_eager_loadersÚeager_adding_joinsÚcompound_eager_adapterr“   r›  Úeager_joinsrÖ   r	  r«  r¯  r¶  r„   rs   r…   r†   r�  r�  ó  s¡   ‡ à€OØ Ðà&Ó&ØBÓBØ,0€IÐ)Ó0àÐØ#ÐØÐØ!Ðà)ÐØ€KàðCà/ðCð ð	Cð
 (ðCð ðCð 
&óCó ðCòJòõDr…   r�  c                  ój  ^ • \ rS rSr% SrSr\R                  r\R                  r
SrS\S'   S\S'   S	\R                  4S\R                  4/\R"                  -   r\S
\R&                  4/-   rSr S     SS jjrS r\S 5       rS rU 4S jr\S 5       r\S 5       r\S 5       r\S 5       rSr U =r!$ )r‚  i®  a  Core construct that represents a load of ORM objects from various
:class:`.ReturnsRows` and other classes including:

:class:`.Select`, :class:`.TextClause`, :class:`.TextualSelect`,
:class:`.CompoundSelect`, :class`.Insert`, :class:`.Update`,
and in theory, :class:`.Delete`.

r  Nú(Union[ExecutableReturnsRows, TextClause]r�  rü   r£  r–  r1  Tc           
     ó´  • [         R                  " U5       Vs/ s H(  n[        R                  " [        R
                  UU SS9PM*     snU l        X l        UR                  U l        UR                  U l	        UR                  U l
        UR                  U l        UR                  U l        [        U5      (       a  UR                  OS U l        X0l        g s  snf )NT)Úapply_propagate_attrsÚpost_inspect)r$   Úto_listr%   Úexpectr'   ÚColumnsClauseRoler–  r�  r*   Ú	is_selectrµ  r³  r´  r,   r’  r£  )r�   Úentitiesr�  r£  r@  s        r†   rœ   ÚFromStatement.__init__Ï  s¾   € ô —|’| HÔ-ó
ò .�ô ×ÒÜ×'Ñ'ØØ&*Ø!ô	ñ .ñ
ˆÔð ŒØ—n‘nˆŒØ ×*Ñ*ˆŒØ ×*Ñ*ˆŒØ ×*Ñ*ˆŒØ ×*Ñ*ˆŒä$2°7×$;Ñ$;ˆG× Ò Àð 	Ôð  /Õùò%
s   ™/Cc                óž   • U R                   " X40 UD6nUR                  (       + nU(       a  X1l        UR                  " UR                  40 UD6$ )zƒprovide a fixed _compiler_dispatch method.

This is roughly similar to using the sqlalchemy.ext.compiler
``@compiles`` extension.

)Ú_compile_state_factoryr²   rX   r   r™   )r�   rµ   rÁ   rX   r¶   s        r†   Ú_compiler_dispatchÚ FromStatement._compiler_dispatché  sJ   € ð ×3Ò3°DÑIÀbÑIˆà—~‘~Ô%ˆæØ%2Ô"à×Ò × 7Ñ 7Ñ>¸2Ñ>Ð>r…   c                ón   • [        [        [        R                  " U 5      5      R                  nU" U 5      $ )a  Return a :term:`plugin-enabled` 'column descriptions' structure
referring to the columns which are SELECTed by this statement.

See the section :ref:`queryguide_inspection` for an overview
of this feature.

.. seealso::

    :ref:`queryguide_inspection` - ORM background

)r   ÚORMSelectCompileStater<   Úget_plugin_classr$  )r�   Úmeths     r†   Úcolumn_descriptionsÚ!FromStatement.column_descriptionsú  s3   € ô Ü!¤;×#?Ò#?ÀÓ#Eó
ç
!Ñ
!ð 	ñ �D‹zÐr…   c                ó   • U $ rŠ   rs   rŸ   s    r†   Ú_ensure_disambiguated_namesÚ)FromStatement._ensure_disambiguated_names  r­  r…   c              +  ó¶   >#   • [         R                  R                  S U R                   5       5       S h  v•N   [        TU ]  " S0 UD6 S h  v•N   g  N N7f)Nc              3  ó8   #   • U  H  oR                   v •  M     g 7frŠ   )Ú_from_objects©r�   r�  s     r†   r‘   Ú-FromStatement.get_children.<locals>.<genexpr>  s   é € ð 1
Ú1B g×!Ö!Ò1Bùó   ‚rs   )Ú	itertoolsÚchainÚfrom_iterabler–  r¾   Úget_children)r�   rÁ   rÂ   s     €r†   rß  ÚFromStatement.get_children  sW   øé € Ü—?‘?×0Ñ0ñ 1
Ø15×1BÒ1Bó1
ó 
÷ 	
ð 	
ô ‘7Ò'Ñ-¨"Ñ-×-Ñ-ñ	
ñ 	.ùs!   ƒ4A·A¸AÁAÁAÁAc                ó.   • U R                   R                  $ rŠ   )r�  Ú_all_selected_columnsrŸ   s    r†   râ  Ú#FromStatement._all_selected_columns  s   € à�|‰|×1Ñ1Ð1r…   c                óf   • [        U R                  5      (       a  U R                  R                  $ S $ rŠ   )r*   r�  Ú_return_defaultsrŸ   s    r†   rå  ÚFromStatement._return_defaults  s%   € ä06°t·|±|×0DÑ0Dˆt�|‰|×,Ñ,ÐNÈ$ÐNr…   c                óf   • [        U R                  5      (       a  U R                  R                  $ S $ rŠ   )r*   r�  Ú
_returningrŸ   s    r†   rè  ÚFromStatement._returning  s%   € ä*0°·±×*>Ñ*>ˆt�|‰|×&Ñ&ÐHÀDÐHr…   c                óf   • [        U R                  5      (       a  U R                  R                  $ S $ rŠ   )r+   r�  Ú_inlinerŸ   s    r†   rë  ÚFromStatement._inline!  s%   € ä'7¸¿¹×'EÑ'Eˆt�|‰|×#Ñ#ÐOÈ4ÐOr…   )	r£  r’  r–  r�  rµ  r*   r³  rÆ  r´  )T)rÇ  z%Iterable[_ColumnsClauseArgument[Any]]r�  r¿  r£  rü   )"rt   ru   rv   rw   râ   Ú__visit_name__r�  rö   r1  r¿   rÊ  Ú_for_update_argr¥   r>   Údp_clauseelement_listÚdp_clauseelementr0   Ú_executable_traverse_internalsÚ_traverse_internalsrò   rô   Úis_from_statementrœ   rË  r[  rÑ  rÔ  rß  râ  rå  rè  rë  r„   r×   rØ   s   @r†   r‚  r‚  ®  s8  ø‡ ñð *€Nà3×KÑKÐà9×NÑNÐà€Oà5Ó5àÓð 
Ð*×@Ñ@ÐAØ	Ð%×6Ñ6Ð7ðð 	×1Ñ1ñ2Ðð
 /Ø	Ð.×?Ñ?Ð@ð2ñ Ðð Ðð !%ð	/à7ð/ð :ð/ð õ	/ò4?ð" ñó ðò"õ.ð ñ2ó ð2ð ñOó ðOð ñIó ðIð ñPó öPr…   r‚  Úcompound_selectc                  ó   • \ rS rSrSrg)ÚCompoundSelectCompileStatei&  rs   N)rt   ru   rv   rw   r„   rs   r…   r†   rö  rö  &  s   † ò 	r…   rö  Úselectc                  ód  • \ rS rSrSr\rSrSrSr	Sr
SrSrSrSrSrSr\          S$S j5       rS rS r\S 5       r\S	 5       r\S
 5       r\S 5       r\S 5       rS rS rS rS rS rS%S jrS r S r!S r"S r#S r$S r%S r&S r'S r(S r)S r*S r+\,S 5       r-\,S  5       r.S! r/S" r0S#r1g)&rÎ  i-  rs   NFc               ó  • U R                  U 5      nUnU R                  R                  UR                  5      Ul        UR                  (       a:  UR                  5       Ul        [        R                  " 5       UR                  l        OXel        UR                  R                  Ul
        UR                  R                  Ul        / Ul        S Ul        0 Ul        UR                  Ul        U(       d  U=R                   SSS.-  sl        UR                  (       aF  UR                  R"                  [$        L a)  UR                  (       d  [&        Ul        O'[*        Ul        OUR                  R"                  Ul        UR,                  (       aA  UR,                   Vs0 s H$  nU[.        R1                  UUR2                  / SS9_M&     snUl        UR7                  UR"                  UR                  5      Ul        [.        R1                  UUR2                  UR                  SS9  UR                  R:                  Ul        SUl        URA                  UUUSS9  U(       aã  URB                  (       d  UR,                  (       aÁ  UR,                   Hp  nURB                   H]  nURD                  (       d  M  URG                  UUR4                  U    V	s/ s H  n	[I        U	[J        5      (       d  M  U	PM     sn	5        M_     Mr     UR                  RB                   H'  nURD                  (       d  M  URM                  U5        M)     URN                  (       a  URN                   H  u  p«U
" U5        M     / Ul(        / Ul)        [U        5       Ul+        0 Ul,        0 Ul-        / Ul.        / Ul/        URa                  S URb                   5       5      Ul2        URg                  5         [h        Rj                  " XURl                  U40 UD6  U$ s  snf s  sn	f )NFT)rë   rï   r‡  rs   )r¶   r·   c              3  ó8   #   • U  H  oR                   v •  M     g 7frŠ   )r¬   )r�   Úinfos     r†   r‘   Ú<ORMSelectCompileState._create_orm_context.<locals>.<genexpr>×  s   é € ð 2
Ú(B �OŽOÒ(BùrÛ  )7rŽ  rö   Ú
safe_merger1  rÞ   Ú_cloner”   r$   Úimmutabledictrç   Úfor_statementræ   rý   rø   rû   rù   rú   r’  ÚLABEL_STYLE_LEGACY_ORMr9   r  r7   Ú_memoized_select_entitiesr”  r•  r–  Ú_memoized_entitiesr  rþ   ré   r  Úeager_order_byr»   r•   r³   Ú'process_compile_state_replaced_entitiesr>  r?  r°   r—  rÿ   r   r˜  r  r½  r›  re   r™  Ú_normalize_fromsÚ	_from_objÚfrom_clausesÚ_setup_for_generater<   rœ   r™   )rÀ   r™   r¶   rµ   rÁ   r�   r”   Úmemoized_entitiesrŽ   r@  r¥  r  s               r†   r	  Ú)ORMSelectCompileState._create_orm_context@  s²  € ð �{‰{˜3Óˆà$Ðð &)×%@Ñ%@×%KÑ%KØ×&Ñ&ó&
ˆ	Ô"ð ×.×.ð %5×$;Ñ$;Ó$=ˆDÔ!Ü7;×7IÒ7IÓ7KˆD×!Ñ!Õ4à$4Ô!ð .×>Ñ>×MÑMˆÔð ×-Ñ-×EÑEð 	Ô#ð ˆŒØ#ˆÔØ%'ˆÔ"à/×@Ñ@ˆÔæð × Ò Ø&+Ø(,ñ%ñ Õ ð ×'×'Ø×%Ñ%×2Ñ2Ô6LÒLà×%×%Ü#A�Õ ä#@�Õ à#×4Ñ4×AÑAˆDÔà×5×5ð %×>Ò>ó
'ò ?ð &ð "¤<×#@Ñ#@ØØ%×2Ñ2ØØ(-ð	 $Að $ò ñ ?ñ
'ˆDÔ#ð  "&×!?Ñ!?Ø×"Ñ" D×$?Ñ$?ó"
ˆÔô 	×%Ñ%ØØ×)Ñ)Ø�N‰NØ $ð	 	&ñ 	
ð -×=Ñ=×KÑKˆÔà ˆÔà×$Ñ$ØØØØ*/ð	 	%ñ 	
ö Ø×*×*Ø×9×9ð "×;Ô;ð "à,×:Ô:�CØ×,×,Ñ,Ø×CÑCØ ð ,0×+BÑ+BØ$5ò,"óò," Cô $.¨c´=×#A÷	 !$ñ,"ñö	ó ;ñ <ð ×,Ñ,×:Ô:�Ø×(×(Ñ(Ø×-Ñ-¨dÖ3ñ ;ð ×1×1Ø+×AÔA‘�Ù�4–ñ Bð  "ˆÔØ!#ˆÔÜ!›eˆÔØˆÔØ')ˆÔ$Ø"$ˆÔØ&(ˆÔ#ð !×1Ñ1ñ 2
Ø(8×(BÒ(Bó2
ó 
ˆÔð 	× Ñ Ô"ä×Ò˜T§>¡>°8ÑB¸rÒBØˆùò}
'ùòbs   Æ+PËPË+Pc                ó>  • [        S5        [        SU R                   35        U R                   Hê  n[        U[        5      (       ap  US   S:X  ag  [        S[
        R                  " US   5       35        [        SU R                  U    35        [        SU R                  U   R                   35        Mˆ  [        U[        5      (       d  MŸ  US   S:X  d  Mª  [        S	[
        R                  " US   5       35        [        SU R                  U    35        Mì     g )
Nz5
---------------------------------------------------
zcurrent path: r   Úloaderz
Loader:           r   z    Úpath_with_polymorphicz
With Polymorphic: )Úprintr  r   r>  r–   r   ÚcoerceÚ__dict__)r�   r  s     r†   Ú_dump_option_structÚ)ORMSelectCompileState._dump_option_structã  sñ   € ÜÐGÔHÜ�˜t×0Ñ0Ð1Ð2Ô3Ø—?”?ˆCÜ˜#œu×%Ñ%¨#¨a©&°HÓ*<ÜÐ,¬\×-@Ò-@ÀÀQÁÓ-HÐ,IÐJÔKÜ˜˜TŸ_™_¨SÑ1Ð2Ð3Ô4Ü˜˜TŸ_™_¨SÑ1×:Ñ:Ð;Ð<Ö=Ü˜C¤×'Ó'¨C°©FÐ6MÕ,MÜÐ,¬\×-@Ò-@ÀÀQÁÓ-HÐ,IÐJÔKÜ˜˜TŸ_™_¨SÑ1Ð2Ð3Ö4ò #r…   c                ót
  ^• U R                   nS U l        SU l        U R                  R                  (       a  U R                  5         UR                   H?  nUR                  (       d  M  U R                  UR                  U R                  U   5        MA     UR                  (       a&  U R                  UR                  U R                  5        U R                  5       mUR                  (       a<  UR                  U l        T(       a$  [        U4S jU R                   5       5      U l        T(       a,  UR                  S;  a  U R                  UR                  T5      OUR                  U l        UR"                  (       a$  [        U4S jUR"                   5       5      U l        T(       a@  UR$                  S;  a0  U R                  [&        R(                  " UR$                  5      T5      OUR$                  =(       d    S U l        U R,                  (       a9  U R.                  S   R0                  nUR3                  U R,                  5      U l        UR4                  (       a"  U R                  UR4                  T5      U l        OSU l        UR8                  U l        UR<                  (       a6  [        [&        R(                  " S UR<                   5       5      5      U l        O[UR@                  b6  [        [&        R(                  " S UR@                   5       5      5      U l!        OURD                  (       d  SU l        URF                  U l#        U R                  RH                  (       a/  [K        U R                  5      S	:w  a  [L        RN                  " S
5      eU R                   H  nURQ                  U 5        M     U RR                   H  nUS   nU" U /US	S  Q76   M     U R                  RT                  (       a  U RW                  5         U RX                  (       d8  U R                  RZ                  (       a   S5       e[L        R\                  " S5      eU R.                  (       d  [_        U R`                  5      U l        U R                   SL a  S U l        U Rb                  (       a8  U Rd                  (       a'  U Rf                  (       a  U Ri                  5       U l        OU Rk                  5       U l        U Rl                  (       a7  U Ro                  5       nUb#  U R                  Rq                  SU05      U l        g g g )Nrs   c              3  ó6   >#   • U  H  nT" US 5      v •  M     g7f©TNrs   ©r�   Úcritrª  s     €r†   r‘   Ú<ORMSelectCompileState._setup_for_generate.<locals>.<genexpr>	  s"   øé € ð -â 4˜ñ $ D¨$×/Ð/Ú 4ùs   ƒ©NFc              3  óH   >#   • U  H  nT(       a	  T" US 5      OUv •  M     g7fr  rs   r  s     €r†   r‘   r    s&   øé € ð *â2�Dö 0?‘  dÔ+ÀDÔHÚ2ùs   ƒ"r   c              3  óX   #   • U  H   nUb  [         R                  " U5      OS v •  M"     g 7frŠ   ©rg  Úsurface_selectables©r�   Úss     r†   r‘   r  7  s+   é € ð &â-˜ð 89±}”H×0Ò0°Ô3È$ÔNÚ-ùó   ‚(*c              3  óX   #   • U  H   nUb  [         R                  " U5      OS v •  M"     g 7frŠ   r  r  s     r†   r‘   r  >  s+   é € ð &â4˜ð 89±}”H×0Ò0°Ô3È$ÔNÚ4ùr!  rŠ   r   r²  Fz,no columns were included in _only_load_propsz4Query contains no columns with which to SELECT from.Ú
deepentity)9r”   r™   Ú_join_entitiesrú   rí   Ú_set_select_from_aliasr  Ú_setup_joinsÚ_joinr  rø   r¯  Ú_where_criteriar–   Ú_order_by_clausesr«  rš  Ú_having_criteriaÚ_group_by_clausesr$   Úflatten_iteratorÚgroup_byr  r  Ú_target_adapterÚcopy_and_processÚ_distinct_onÚdistinct_onÚ	_distinctÚdistinctÚ
_correlateÚ	correlateÚ_correlate_exceptÚcorrelate_exceptÚ_auto_correlaterî  rð   r2  rŒ  r�  rœ  re   rê   Ú_adjust_for_extra_criteriarÿ   rì   ÚInvalidRequestErrorÚlistr™  rº  r»  Ú_should_nest_selectableÚ_compound_eager_statementÚ_simple_statementr   Ú_mapper_zeroÚ	_annotate)	r�   rY   r
  rR  r¦  ÚrecÚstrategyÚezerorª  s	           @r†   r	  Ú)ORMSelectCompileState._setup_for_generateï  s4  ø€ Ø×%Ñ%ˆàˆŒØ ˆÔà×Ñ×/×/à×'Ñ'Ô)à!&×!@Ô!@ÐØ ×-×-Ñ-Ø—
‘
Ø%×2Ñ2Ø×+Ñ+Ð,=Ñ>öñ "Að ××Ø�J‰J�u×)Ñ)¨4¯>©>Ô:à×3Ñ3Ó5ˆà× × Ø#(×#8Ñ#8ˆDÔ æÜ',ô -à $× 4Ò 4ó-ó (�Ô$ö  5×#:Ñ#:À-Ó#Oð × Ñ  ×!8Ñ!8¸/ÔJà×(Ñ(ð 	Œð ×!×!Ü$)ô *à!×2Ò2ó*ó %ˆDÔ!ö  5×#:Ñ#:À-Ó#Oð × Ñ Ü×%Ò% e×&=Ñ&=Ó>Àôð ×(Ñ(×0¨Dð 	Œð ××Ø×'Ñ'¨Ñ*×:Ñ:ˆGØ")×":Ñ":¸4×;NÑ;NÓ"OˆDÔà××Ø#×3Ñ3Ø×"Ñ" Oó ˆDÕð  "ˆDÔàŸ™ˆŒà××ô #Ü×%Ò%ñ &à"×-Ò-ó&ó óˆD�Nð ×$Ñ$Ñ0Ü$)Ü×%Ò%ñ &à"×4Ò4ó&ó ó%ˆDÕ!ð ×&×&Ø$ˆDŒNð  %×4Ñ4ˆÔà×Ñ×(×(¬c°$·.±.Ó.AÀQÓ.FÜ×%Ò%ðJóð ð —n”nˆFØ×&Ñ& tÖ,ñ %ð ×*Ô*ˆCØ˜1‘vˆHÙ�TÐ$˜C  ˜GÕ$ñ +ð ×Ñ×3×3Ø×+Ñ+Ô-à×#×#Ø×#Ñ#×4×4ØLÐLÓL�uä×,Ò,ØFóð ð × × Ü $ T×%@Ñ%@Ó AˆDÔà�=‰=˜EÒ!Ø ˆDŒMð ×(×(Ø×'×'Ø×,×,à!×;Ñ;Ó=ˆD�Nà!×3Ñ3Ó5ˆDŒNà××Ø×%Ñ%Ó'ˆEØÑ ð "&§¡×!9Ñ!9Ø! 5Ð)ó"�•ð !ð r…   c                óæ   • U R                  U 5      n/ Ul        SUl        0 Ul        UR	                  UR
                  U5      Ul        [        R                  X1R                  UR                  SS9  U$ )zþCreates a partial ORMSelectCompileState that includes
the full collection of _MapperEntity and other _QueryEntity objects.

Supports a few remaining use cases that are pre-compilation
but still need to gather some of the column  / adaption information.

NTr‡  )
rŽ  rø   rû   rù   r  r’  rþ   r”  r•  r–  )rÀ   rY   r  r�   s       r†   rW  Ú1ORMSelectCompileState._create_entities_collection|  st   € ð �{‰{˜3ÓˆàˆŒØ#ˆÔØ%'ˆÔ"à!%×!?Ñ!?Ø×Ñ ó"
ˆÔô 	×%Ñ%Ø×$Ñ$ d§n¡nÈ$ð 	&ñ 	
ð ˆr…   c                ó2   • UR                   n[        US 5      $ rŠ   )r&  Ú_determine_last_joined_entity)rÀ   r™   Úsetup_joinss      r†   Údetermine_last_joined_entityÚ2ORMSelectCompileState.determine_last_joined_entity–  s   € à×,Ñ,ˆä,¨[¸$Ó?Ð?r…   c              #  ót  #   • UR                    Hž  nUR                  (       av  SUR                  ;   af  UR                  S   nUR                  (       d'  UR                  (       d  [        U/5       S h  v•N   Mk  [        UR                  5       S h  v•N   MŠ  [        U/5       S h  v•N   M      g  N> N! N7f)NÚentity_namespace)r–  Úis_selectableÚ_annotationsÚ	is_mapperrE  r-   Ú_all_column_expressions)rÀ   r™   r�  Úenss       r†   Úall_selected_columnsÚ*ORMSelectCompileState.all_selected_columnsœ  s‹   é € à ×-Ô-ˆGà×%×%Ø&¨'×*>Ñ*>Ó>à×*Ñ*Ð+=Ñ>�Ø—}—}¨S×-A×-AÜ0°'°Ó;×;Ò;ä0°×1LÑ1LÓM×MÒMä,¨g¨YÓ7×7Ò7ò .ñ <áMá7ùs6   ‚A1B8Á3B2Á4B8ÂB4ÂB8Â(B6Â)
B8Â4B8Â6B8c                ó€   • U R                  [        R                  R                  S UR                   5       5      5      $ )Nc              3  ó–   #   • U  H?  nS UR                   ;  a  UR                  OUR                   S    R                  5       /v •  MA     g7f)ÚparententityN)rO  rØ  Ú__clause_element__rÙ  s     r†   r‘   ÚAORMSelectCompileState.get_columns_clause_froms.<locals>.<genexpr>®  sW   é € ð *ò  6�Gð &¨W×-AÑ-AÓAð ×)Ò)ð  ×,Ñ,Ø*ñç,Ñ,Ó.ðôò  6ùs   ‚AA	)r  rÜ  rÝ  rÞ  r–  r#  s     r†   Úget_columns_clause_fromsÚ.ORMSelectCompileState.get_columns_clause_froms«  s<   € à×#Ñ#Ü�O‰O×)Ñ)ñ *ð  )×5Ò5ó*ó ó
ð 	
r…   c                ó  • [         R                  " [        R                  UUS9n[	        UR
                  U5      nUR                  R                  UR                  UR                  UR                  UR                  S9  U$ )N)rÁ  )r•   r—  rÞ   r3  )r%   rÄ  r'   ÚReturnsRowsRoler‚  r–  r  Úupdater•   r—  rÞ   r3  )rÀ   r™   Úfrom_statementÚstmts       r†   r_  Ú$ORMSelectCompileState.from_statement¼  sw   € ä"×)Ò)Ü×!Ñ!ØØ"+ñ
ˆô ˜Y×3Ñ3°^ÓDˆà�‰×ÑØ#×1Ñ1Ø"+×"AÑ"AØ(×;Ñ;Ø&×7Ñ7ð	 	ñ 	
ð ˆr…   c                ó  • U R                   nU R                  R                  (       d   e[        UR                  5      S:X  d   eU R                  UR                  S   5      nU(       a  U =R                  SS0-  sl        X l        gg)ú used only for legacy Query casesr   r   rê   FN)r”   rú   rí   r2  r  Ú_get_select_from_alias_from_objr¤  )r�   rY   rR  s      r†   r%  Ú,ORMSelectCompileState._set_select_from_aliasÎ  sy   € ð ×%Ñ%ˆà×#Ñ#×3×3Ð3Ð3Ü�5—?‘?Ó# qÓ(Ð(Ð(à×6Ñ6°u·±ÀqÑ7IÓJˆÞØ× Ò Ð%:¸EÐ$BÑBÕ Ø#*Õ ð r…   c                óº  • UnSUR                   ;   a  UR                   S   n[        US5      (       a3  UR                  (       d  [        R                  " S5      eUR
                  $ [        UR                  [        R                  R                  5      (       aC  U R                  5       nX"R                  L d   e[        [        R                  UR                  US9$ g)rc  rW  r-  zPA selectable (FromClause) instance is expected when the base alias is being set.©rD  N)rO  ÚhasattrrE  rŒ  ÚArgumentErrorÚ_adapterr>  r¬   r#   ÚAliasedReturnsRowsÚ_all_equivsr   r   ÚLEGACY_SELECT_FROM_ALIAS)r�   Úfrom_objrû  Úequivss       r†   rd  Ú5ORMSelectCompileState._get_select_from_alias_from_objÛ  sÀ   € ð ˆà˜T×.Ñ.Ó.Ø×$Ñ$ ^Ñ4ˆDä�4˜×"Ñ"Ø×(×(Ü×*Ò*ðAóð ð
 —}‘}Ð$ä˜Ÿ™¬¯©×)JÑ)J×KÑKØ×%Ñ%Ó'ˆFØŸ?™?Ò*Ð*Ð*Ü&Ü×8Ñ8Ø—‘Ø"ñð ð r…   c                ó4   • U R                   S   R                  $ )z8return the Mapper associated with the first QueryEntity.r   )rø   r-  rŸ   s    r†   r?  Ú"ORMSelectCompileState._mapper_zero÷  s   € à�~‰~˜aÑ ×'Ñ'Ð'r…   c                óÐ   • U R                    H$  nSUR                  ;   d  M  UR                  S   s  $    U R                   H"  nUR                  (       d  M  UR                  s  $    g)z‹Return the 'entity' (mapper or AliasedClass) associated
with the first QueryEntity, or alternatively the 'select from'
entity if specified.rW  N)r  rO  rø   Úentity_zero)r�   r@  Úqents      r†   Ú_entity_zeroÚ"ORMSelectCompileState._entity_zeroû  s`   € ð
 ×$Ô$ˆCØ ×!1Ñ!1Õ1Ø×'Ñ'¨Ñ7Ò7ñ %ð —N”NˆDØ××ÑØ×'Ñ'Ò'ñ #ð r…   c                ó–   • U R                   U R                  /:w  a  [        R                  " SU-  5      eU R                  R                  $ )Nz4%s() can only be used against a single mapped class.)rø   rû   rŒ  r:  rt  )r�   Úmethnames     r†   Ú_only_full_mapper_zeroÚ,ORMSelectCompileState._only_full_mapper_zero	  sK   € Ø�>‰>˜d×2Ñ2Ð3Ó3Ü×,Ò,ð)Ø+3ñ4óð ð ×#Ñ#×/Ñ/Ð/r…   c                ó’   • [        U R                  5      S:”  a  [        R                  " U=(       d    S5      eU R	                  5       $ )Nr   z8This operation requires a Query against a single mapper.)r2  rø   rŒ  r:  rv  )r�   Ú	rationales     r†   Ú_only_entity_zeroÚ'ORMSelectCompileState._only_entity_zero  sD   € Üˆt�~‰~Ó Ó"Ü×,Ò,Ø÷ +ð+óð ð
 × Ñ Ó"Ð"r…   c                óÌ  • 0 nU R                   R                  5        HY  nU Vs/ s H  n[        U[        5      (       d  M  UPM     sn H(  nUR	                  UR
                  R                  5        M*     M[     U R                   Vs/ s H  n[        U[        5      (       d  M  UPM     sn H(  nUR	                  UR
                  R                  5        M*     U$ s  snf s  snf rŠ   )r  Úvaluesr>  r?  r^  r-  rJ  rø   )r�   ro  r
  r@  s       r†   rl  Ú!ORMSelectCompileState._all_equivs  s¾   € Øˆà!%×!8Ñ!8×!?Ñ!?Ö!AÐñ -óâ,�CÜ˜c¤=×1÷ Ù,ô�ð
 —‘˜cŸj™j×<Ñ<Ö=óñ "Bð  Ÿ>š>ó
Ú)�C¬Z¸¼]×-K�C™>ô
ˆCð �M‰M˜#Ÿ*™*×8Ñ8Ö9ñ
ð ˆùòùò
s   ¤CÁCÂC!Â%C!c           	     ó–  • U R                   (       as  U R                    Vs/ s H:  n[        U[        R                  R                  5      (       a  UR
                  OUPM<     nn[        R                  " U R                  U5      nO/ nS nU R                  " U R                  U Vs/ s H  oDU R                  ;  d  M  UPM     sn-   U R                  U R                  U R                  U R                  U R                   4U R                  U R                   R"                  U R                   R$                  U R&                  U R(                  S.U R*                  D6nUR-                  5       nU R/                  5       n[1        [2        R4                  XVS9U l        [8        R:                  " U/U R<                  -   6 nU R                  Ul        U R                  b(  U R                  R@                  c  U R                  Ul        UnU RB                  RE                  5        H$  n	[        RF                  " X‰U	RH                  5      nM&     URJ                  RM                  Xx5        U(       a6  UR                   RL                  " U/U R6                  RO                  U5      Q76   UR                   RL                  " U/U RP                  Q76   U$ s  snf s  snf )N©Ú
for_updateÚhintsÚstatement_hintsr5  r7  rg  ))rš  r>  r#   ÚelementsÚ_label_referencer�  rg  Ú expand_column_list_from_order_byrÿ   Ú_select_statementr  r  r(  r*  r  rî  r”   Ú_hintsÚ_statement_hintsr5  r7  Ú_select_argsÚaliasrl  r   r   ÚCOMPOUND_EAGER_STATEMENTr¼  r!   r÷  r   r’  Úofr½  r�  Úsplice_joinsÚstop_onÚselect_fromÚnon_generativer/  r  )
r�   ÚelemÚunwrapped_order_byÚorder_by_col_exprrt  Úinnerro  r™   Úfrom_clauseÚ
eager_joins
             r†   r=  Ú/ORMSelectCompileState._compound_eager_statement+  s‹  € ð
 �=�=ð !ŸMšMó"ò *�Dô " $¬¯©×(EÑ(E×FÑFð —L’Làòñ *ð ð "ô !)× IÒ IØ×$Ñ$Ð&8ó!Ñð !#ÐØ!%Ðð ×&Ò&Ø× Ñ Ù+ÓLÒ+�Q¸×8KÑ8KÑ/K�qÑ+ÑLñMà×ÑØ× Ñ Ø×!Ñ!Ø×ÑØ�M‰Mð
ð ×+Ñ+Ø×'Ñ'×.Ñ.Ø ×1Ñ1×BÑBØ—n‘nØ!×2Ñ2ñ
ð ×Ññ
ˆð  —‘“ˆà×!Ñ!Ó#ˆä&9Ü×4Ñ4°eñ'
ˆÔ#ô —M’MØˆg˜×.Ñ.Ñ.ð
ˆ	ð "&×!1Ñ!1ˆ	Ôð × Ñ Ñ,Ø×$Ñ$×'Ñ'Ñ/à(,×(<Ñ(<ˆIÔ%àˆØ×*Ñ*×1Ñ1Ö3ˆJô #×/Ò/Ø¨×);Ñ);óŠKñ	 4ð 	×Ñ×,Ñ,¨YÔDæØ×Ñ×-Ò-Øðà×,Ñ,×=Ñ=Ø&óóð 	×Ñ×)Ò)¨)ÐJ°d×6IÑ6IÓJØÐùò["ùò( Ms    AKÂ$K
Â;K
c           	     ó>  • U R                   " U R                  U R                  -   [        U R                  5      [        U R
                  R                  5       5      -   U R                  U R                  U R                  U R                  4U R                  U R                  R                  U R                  R                  U R                  U R                   S.U R"                  D6nU R$                  (       a'  UR                  R&                  " U/U R$                  Q76   U$ )Nr„  )r‹  rÿ   r   r–   r  r½  r�  r(  r*  r  rš  rî  r”   rŒ  r�  r5  r7  rŽ  r  r•  )r�   r™   s     r†   r>  Ú'ORMSelectCompileState._simple_statement†  sí   € Ø×*Ò*Ø× Ñ  4×#9Ñ#9Ñ9Ü�$×#Ñ#Ó$¤u¨T×-=Ñ-=×-DÑ-DÓ-FÓ'GÑGØ× Ñ Ø×!Ñ!Ø×ÑØ�M‰Mð
ð ×+Ñ+Ø×'Ñ'×.Ñ.Ø ×1Ñ1×BÑBØ—n‘nØ!×2Ñ2ñ
ð ×Ññ
ˆ	ð ××Ø×Ñ×-Ò-¨iÐN¸$×:MÑ:MÓNØÐr…   c                óæ  • [         R                  " UUUS9nU(       a  UUl        U(       a  UUl        U(       a  U=R                  [        U5      -  sl        U(       a  UR                  R                  " U/UQ76   O"U(       a  UR                  R                  U5        U(       a  U=R                  [        U5      -  sl        UUl	        UUl
        UUl        UUl        UUl        UUl        U(       a  UUl        U(       a  UUl        UUl        U(       a  UUl        U	(       a  U	Ul        U
(       a  UR(                  R                  " U/U
Q76   Ub  UR*                  R                  " U/UQ76   U$ )N)r–  r  r’  )r:   Ú_create_raw_selectr(  r*  r)  r–   r3  r•  r+  Ú_limit_clauseÚ_offset_clauseÚ_fetch_clauseÚ_fetch_clause_optionsÚ_independent_ctesÚ_independent_ctes_optsÚ	_prefixesÚ	_suffixesrî  rŒ  r�  r5  r7  )r�   Úraw_columnsrn  Úwhere_criteriaÚhaving_criteriar  rš  r…  r†  r‡  r5  r7  Úlimit_clauseÚoffset_clauseÚfetch_clauseÚfetch_clause_optionsr3  r1  ÚprefixesÚsuffixesr-  Úindependent_ctesÚindependent_ctes_optsr™   s                           r†   r‹  Ú'ORMSelectCompileState._select_statementš  sE  € ô2 ×-Ò-Ø$ØØ$ñ
ˆ	ö Ø(6ˆIÔ%ÞØ)8ˆIÔ&æØ×'Ò'¬5°«?Ñ:Õ'æØ×Ñ×-Ò-¨iÐF¸+ÔFÞØ×Ñ×-Ñ-¨iÔ8æØ×'Ò'¬5°«?Ñ:Õ'à".ˆ	ÔØ#0ˆ	Ô Ø".ˆ	ÔØ*>ˆ	Ô'Ø&6ˆ	Ô#Ø+@ˆ	Ô(æØ"*ˆIÔæØ"*ˆIÔà$.ˆ	Ô!æØ$ˆIÔÞØ)8ˆIÔ&æØ×Ñ×.Ò.¨yÐE¸9ÓEàÑ'Ø×&Ñ&×5Ò5ØðØ,óð Ðr…   c                ó”  • SUR                   ;   aC  UR                   S   nU R                  R                  US 5      nU(       a  UR                  U5      $ [	        U[
        R                  5      (       a  UnO[        US5      (       a  UR                  nOg U R                  R                  US 5      nU(       a  UR                  U5      $ g )NrW  r�  )	rO  rù   r±   Úadapt_clauser>  r&   Ú
FromClauserh  r�  )r�   r�  Úsearchr�  s       r†   Ú_adapt_polymorphic_elementÚ0ORMSelectCompileState._adapt_polymorphic_elementç  s®   € Ø˜W×1Ñ1Ó1Ø×)Ñ)¨.Ñ9ˆFØ×.Ñ.×2Ñ2°6¸4Ó@ˆEÞØ×)Ñ)¨'Ó2Ð2ä�gœz×4Ñ4×5Ñ5Ø‰FÜ�W˜g×&Ñ&Ø—]‘]‰Fàà×*Ñ*×.Ñ.¨v°tÓ<ˆÞØ×%Ñ% gÓ.Ð.ð r…   c                óP   • U(       a  U Vs/ s H  o2" US5      PM     sn$ U$ s  snf )NTrs   )r�   r©  rª  Úos       r†   r«  Ú%ORMSelectCompileState._adapt_col_listù  s+   € ÞÙ6:Ó;²d°�O A tÖ,±dÑ;Ð;àˆKùò <s   Œ#c                óô   ^• / mU R                   (       a'  TR                  SU R                   R                  45        U R                  (       a  TR                  SU R                  45        T(       d  g U4S jnU$ )NTFc                ó@   >• U4S jn[         R                  " U 0 U5      $ )Nc                ó¤   >• SU R                   ;   =(       d    SU R                   ;   nT H$  u  p#U(       d	  U(       d  M  U" U 5      nUc  M"  Us  $    g )NÚ
_orm_adaptrW  )rO  )r–  Úis_orm_adaptÚalways_adaptrR  ÚeÚadapterss        €r†   ÚreplaceÚRORMSelectCompileState._get_current_adapter.<locals>._adapt_clause.<locals>.replace   sR   ø€ à  D×$5Ñ$5Ñ5÷ ;Ø%¨×):Ñ):Ñ:ð ó .6Ñ)�LÞ#§| |Ù# D›M˜Ø›=Ø#$šHò	 .6r…   )r(   Úreplacement_traverse)r+  ri  rÆ  rÅ  s      €r†   Ú_adapt_clauseÚAORMSelectCompileState._get_current_adapter.<locals>._adapt_clause  s   ø€ õ	%ô ×0Ò0°¸¸WÓEÐEr…   )r¤  r  rÆ  rù   r¹  )r�   rÉ  rÅ  s     @r†   r¯  Ú*ORMSelectCompileState._get_current_adapterÿ  sl   ø€ Øˆà××ð �O‰OàØ×(Ñ(×0Ñ0ðôð ×%×%Ø�O‰O˜U D×$CÑ$CÐDÔEæØõ	Fð" Ðr…   c           
     óB  • U GHì  u  p4pVUS   nUS   n[        U5      nUb  [        U5      n[        U[        R                  5      (       a  Ub  [        R
                  " S5      eUnS nOSUR                  ;   a  UR                  S   nUc8  UR                  (       d'  [        US5      (       d  [        R                  " S5      e[        U[        R                  5      (       aê  [        USS 5      n	Uc#  U	(       a  U	nOUR                  n UR                  nUR                  nUR                  n[        U[        R                   5      (       d  UnX³UR"                  4U R$                  ;   a  GMk  Ub[  X[LaW  UR                  R'                  SS 5      ULa8  [        R
                  " S	UR                  R'                  SU5      < S
U< 35      eOUb  S nUnOS =pËU R)                  UUUUUUU5        GMï     g ! [         a  n
[        R                  " SU-  5      U
eS n
A
ff = f)NÚisouterÚfullzUNo 'on clause' argument may be passed when joining to a relationship path as a targetrW  r-  z9Expected mapped entity or selectable/table as join targetÚ_of_typez0Join target %s does not refer to a mapped entityzexplicit from clause z4 does not match left side of relationship attribute )r"   r>  r   ÚPropComparatorrŒ  r:  rO  rN  rh  ri  r  r[  r¦  ÚAttributeErrorÚ_parententityr   ÚQueryableAttributer  Ú_already_joined_edgesr±   Ú_join_left_to_right)r�   ÚargsÚentities_collectionÚrightÚonclauseÚfrom_ÚflagsrÍ  rÎ  Úof_typeÚerrÚleftrw  s                r†   r'  ÚORMSelectCompileState._join/  s<  € Ü-1Ñ)ˆE˜UØ˜IÑ&ˆGØ˜‘=ˆDä˜E“NˆEØÑ#Ü" 8Ó,�ä˜%¤×!:Ñ!:×;Ñ;ØÑ'Ü ×4Ò4ð=óð ð
 !�Ø‘Ø 5×#5Ñ#5Ó5Ø×*Ñ*¨>Ñ:�àÑØ×*×*´7¸5À(×3KÑ3KÜ ×.Ò.ð:óð ô
 ˜(¤J×$=Ñ$=×>Ñ>ô " (¨J¸Ó=�à‘=ÞØ '™à (× 1Ñ 1˜ð'Ø$)§L¡L˜Eð  ×-Ñ-�à×(Ñ(�Ü! (¬J×,IÑ,I×JÑJØ#�Hð  §¡Ð*¨d×.HÑ.HÓHÚàÑ$àÒ)Ø!×.Ñ.×2Ñ2°>À4ÓHØ#ò$ô %×8Ó8ð !&× 2Ñ 2× 6Ñ 6°~ÀuÖ MÚ (ð	óð øð Ñ"Ø�Ø‘ð #Ð"�ð ×$Ñ$Ø#ØØØØØØ÷òe .2øôR  .ó 'Ü"(×"6Ò"6ð!0Ø27ñ!8ó#ð $'ð'ûð'ús   Ä
G5Ç5
HÇ?HÈHc           
     óT  • Uc  Ub   eU R                  XX45      u  nnn	OU R                  X5      u  nn	X#L a  [        R                  " SU< SU< S35      eU R	                  X#XE5      u  p£nU
R
                  (       d  U R                  U
5      nOSnUbG  U R                  U   nU R                  SU [        UUUUUUS9/-   U R                  US-   S -   U l        gU	b(  [        X   [        5      (       d   eX   R                  nOUnU R                  [        UU
UUUUS9/-   U l        g)z®given raw "left", "right", "onclause" parameters consumed from
a particular key within _join(), add a real ORMJoin object to
our _from_obj list (or augment an existing one)

NzCan't construct a join from z to z, they are the same entityrs   )rÍ  rÎ  Ú_extra_criteriar   )Ú"_join_determine_implicit_left_sideÚ_join_place_explicit_left_siderŒ  r:  Ú _join_check_and_adapt_right_siderN  Ú_get_extra_criteriar  r   r>  r?  r¬   )r�   r×  rÞ  rØ  rÙ  rw  Ú	outerjoinrÎ  Úreplace_from_obj_indexÚuse_entity_indexÚr_infoÚextra_criteriaÚleft_clauses                r†   rÕ  Ú)ORMSelectCompileState._join_left_to_rightŒ  sœ  € ð  ‰<ð ‘<Ð�<ð
 ×7Ñ7Ø#¨5óñ	ØØ&Ù ð ×3Ñ3Ð4GÓNñØ&Ø ð Š=Ü×,Ó,ã)-«uð6óð ð #'×"GÑ"GØ˜ó#
Ñˆ�xð ×#×#Ø!×5Ñ5°fÓ=‰NàˆNà!Ñ-ð ×+Ñ+Ð,BÑCˆKð ×!Ñ!Ð"9Ð#9Ð:äØ#ØØ Ø )Ø!Ø(6ñð	ñ
ð ×#Ñ#Ð$:¸QÑ$>Ð$@ÐAñBð Õð   Ñ+ô "Ø'Ñ9¼=÷ñ ð ð ð 2ÑC×NÑN‘à"�à $× 1Ñ 1ÜØØØØ%ØØ$2ñð	5ñ 	!ˆDÕr…   c                ó®  • [        U5      nS=pgU R                  (       a‘  [        R                  " U R                  UR                  U5      n[        U5      S:X  a  US   nU R                  U   nGOb[        U5      S:”  a  [        R                  " S5      e[        R                  " SU< S35      eU(       Ga  0 n	[        U5       H]  u  p«UR                  nUc  M  [        U5      nXÕL a  M'  [        U[        5      (       a  X¬4X›R                  '   MM  SU4X�R                  '   M_     [        U	R                  5       5      n[        R                  " XåR                  U5      n[        U5      S:X  a  XžUS         u  prOV[        U5      S:”  a  [        R                  " S5      e[        R                  " SU< S35      e[        R                  " S5      eX&U4$ )z•When join conditions don't express the left side explicitly,
determine if an existing FROM or entity in this query
can serve as the left hand side.

Nr   r   a  Can't determine which FROM clause to join from, there are multiple FROMS which can join to this entity. Please use the .select_from() method to establish an explicit left side, as well as providing an explicit ON clause if not present already to help resolve the ambiguity.zDon't know how to join to z«. Please use the .select_from() method to establish an explicit left side, as well as providing an explicit ON clause if not present already to help resolve the ambiguity.zgNo entities to join from; please use select_from() to establish the left entity/selectable of this join)r"   r  rg  Úfind_left_clause_to_join_fromr¬   r2  rŒ  r:  Ú	enumerateÚentity_zero_or_selectabler>  r?  r;  Úkeys)r�   r×  rÞ  rØ  rÙ  ré  rç  rè  ÚindexesÚ	potentialÚentity_indexr@  r¦  Úent_infoÚall_clausess                  r†   râ  Ú8ORMSelectCompileState._join_determine_implicit_left_sideï  så  € ô& ˜“ˆà48Ð8Ðà××ô ×<Ò<Ø×!Ñ! 6×#4Ñ#4°hóˆGô �7‹|˜qÓ Ø)0°©Ð&Ø×(Ñ(Ð)?Ñ@’Ü�W“ Ó!Ü×0Ò0ð5óð ô ×0Ó0ó
 9>ð	@óð ÷ !ð ˆIÜ%.Ð/BÖ%CÑ!�Ø×6Ñ6�Ø‘>ÙÜ" 6›?�ØÒ%Ùô
 ˜c¤=×1Ñ1Ø1=Ð0F�IŸn™nÓ-à6:¸F°^�I×1Ñ1Ó2ñ &Dô  ˜yŸ~™~Ó/Ó0ˆKÜ×<Ò<Ø×.Ñ.°óˆGô �7‹|˜qÓ Ø)2¸wÀq¹zÑ3JÑ)KÑ&Ð  $Ü�W“ Ó!Ü×0Ò0ð5óð ô ×0Ó0ó
 9>ð	@óð ô ×,Ò,ð1óð ð Ð-=Ð=Ð=r…   c                óÂ  • S=p4[        U5      nU R                  (       a\  [        R                  " U R                  UR                  5      n[        U5      S:”  a  [        R                  " S5      eU(       a  US   nUc_  U(       aX  [        US5      (       aG  [        U5       H8  u  px[        U[        5      (       d  M  UR                  U5      (       d  M4  Un  X44$    X44$ )zØWhen join conditions express a left side explicitly, determine
where in our existing list of FROM clauses we should join towards,
or if we need to make a new join, and if so is it from one of our
existing entities.

Nr   zrCan't identify which entity in which to assign the left side of this join.   Please use a more specific ON clause.r   r-  )r"   r  rg  Ú#find_left_clause_that_matches_givenr¬   r2  rŒ  r:  rh  rï  r>  r?  Úcorresponds_to)	r�   r×  rÞ  rç  rè  Úl_inforò  Úidxr@  s	            r†   rã  Ú4ORMSelectCompileState._join_place_explicit_left_sideY  sÛ   € ð2 59Ð8Ðä˜“ˆØ××Ü×BÒBØ×!Ñ! 6×#4Ñ#4óˆGô �7‹|˜aÓÜ×0Ò0ð!óð ö Ø)0°©Ð&ð #Ñ*Þ#Ü˜ ×)Ñ)ä%Ð&9Ö:‘�ô ˜c¤=×1Ó1°c×6HÑ6HÈ×6NÓ6NØ'*Ð$Øà%Ð7Ð7ñ ;ð &Ð7Ð7r…   c           
     ó¤  • [        U5      n[        U5      nSn[        USS5      nU(       a²  UR                  (       d)  [        UR                  [
        R                  5      (       ax  U R                  =(       d    UR                  / HT  n	[        R                  " UR                  U	5      (       d  M+  [        R                  " X–R                  5      (       d  MR  Sn  O   U(       a<  UR                  UR                  L a#  [        R                  " SUR                  -  5      e[        USS5      UR                  [        USS5      pºnU(       aE  U(       a>  UR                  UR                  5      (       d  [        R                  " SU< SU< 35      e[        US5      (       a  U =R                   U4-  sl        SnUR"                  (       Ga  U(       a  UR                  nU
R$                  (       a  U R'                  5       nUb	  U" US5      nOÎU(       aÇ  U
R)                  UR                  5      (       d=  [        R                  " S	U
R*                  < S
UR                  R*                  < S35      e[        U
[
        R,                  5      (       a'  [.        R0                  " [2        R4                  U
5      n
Sn[7        XŠ5      n[8        R:                  " SU-  SSS9  U=(       a    U(       + =(       a    UnU(       d+  U(       a$  [7        USS9nSn[8        R<                  " SU-  SS9  U(       aG  U(       d   e[?        [@        RB                  [        U5      URD                  S9nU RG                  X�5        OgUR"                  (       dV  U(       dO  URH                  (       a>  U RG                  U[?        [@        RJ                  UUR                  URD                  S95        [        U[
        RL                  5      (       a   U R'                  5       nU(       a	  U" US5      nU(       a"  U =RN                  XURP                  44-  sl'        [        U5      X#4$ )zÚtransform the "right" side of the join as well as the onclause
according to polymorphic mapping translations, aliasing on the query
or on the join, special cases where the right and left side have
overlapping tables.

Fr-  NTz*Can't join table/selectable '%s' to itselfrE  zJoin target z9 does not correspond to the right side of join condition zSelectable 'z' is not derived from 'Ú'zÕAn alias is being generated automatically against joined entity %s for raw clauseelement, which is deprecated and will be removed in a later release. Use the aliased() construct explicitly, see the linked example.z1.4Úxaj1)Úcode)Úflatz÷An alias is being generated automatically against joined entity %s due to overlapping tables.  This is a legacy pattern which may be deprecated in a later release.  Use the aliased(<entity>, flat=True) construct explicitly, see the linked example.Úxaj2rg  )r¬   rD  ))r"   r  Úwith_polymorphicr>  rF  r&   ÚJoinr  r¬   rg  Úselectables_overlaprŒ  r:  Úcommon_parentr-  rh  r$  Úis_clause_elementÚ_is_lateralr¯  Úis_derived_fromÚdescriptionrP   r%   rÄ  r'   ÚFromClauseRoler   r$   Úwarn_deprecatedÚwarnr   r   Ú DEPRECATED_JOIN_ADAPT_RIGHT_SIDErJ  rH  Ú#_has_aliased_polymorphic_fromclauseÚ#WITH_POLYMORPHIC_ADAPTER_RIGHT_JOINÚClauseElementrÔ  r  )r�   rÞ  rØ  rÙ  rw  rû  ré  ÚoverlapÚright_mapperrn  Úright_selectableÚright_is_aliasedÚneed_adapterrª  Úaliased_entityrR  s                   r†   rä  Ú6ORMSelectCompileState._join_check_and_adapt_right_side›  sÊ  € ô ˜“ˆÜ˜“ˆàˆä˜v x°Ó6ˆö Ø×)×)Ü˜,×9Ñ9¼:¿?¹?×KÑKà ×-Ñ-×D°&×2CÑ2CÐ1DÒD�Ü×/Ò/Ø×%Ñ% x÷ó ä×2Ò2Ø×/Ñ/÷ó ð #�GÙñ Eö �v×(Ñ(¨F×,=Ñ,=Ò=Ü×,Ò,Ø<Ø×#Ñ#ñ$óð ô �F˜H dÓ+Ø×ÑÜ�FÐ.°Ó6ð )9ˆö ÞØ ×.Ñ.¨t¯{©{×;Ñ;ä×,Ó,ã9>ÂðJóð ô �6˜8×$Ñ$Ø×Ò F 9Ñ,Õàˆð ×#×#Ð#ÞØ#Ÿ{™{�à×+×+ð #'×";Ñ";Ó"=�Ø"Ñ.ñ ,¨E°4Ó8�Eøæð (×7Ñ7Ø ×3Ñ3÷ñ ô !×4Ó4ð -×8Ô8Ø(×;Ñ;×GÔGðóð ô Ð.´
×0EÑ0E×FÑFÜ'0×'7Ò'7Ü×,Ñ,Ð.>ó(Ð$ð $(�Lô % \ÓD�ä×$Ò$ðDð
 #ñ#ð Øò	ð &×JÐ.>Ô*>×JÀ7ˆæ¦ô ! ¨TÑ2ˆEØˆLä�IŠIð@ð
 COñOð òö ö  Ð�<ä Ü×@Ñ@Ü˜“Ø(×<Ñ<ñˆGð ×3Ñ3°LÕJà×(×(Þ$Ø×@×@ð ×3Ñ3ØÜÜ#×GÑGØ Ø+×6Ñ6Ø ,× @Ñ @ñ	ôô �h¤
× 8Ñ 8×9Ñ9Ø"×7Ñ7Ó9ˆOÞÙ*¨8°TÓ:�ö Ø×&Ò&¨D¸¿¹Ð+BÐ*DÑDÕ&ä�u‹~˜uÐ.Ð.r…   c                ó¬  • U R                   R                  U R                   R                  U R                  U R                  U R                   R
                  U R                   R                  U R                  =(       d    S U R                   R                  U R                   R                  U R                   R                  U R                   R                  S.$ )N)r¬  r­  r3  r1  r°  r±  r-  r®  r¯  r²  r³  )r”   r¡  r¢  r3  r1  r§  r¨  r-  r£  r¤  r¥  r¦  rŸ   s    r†   rŽ  Ú"ORMSelectCompileState._select_argsX	  s¢   € ð !×1Ñ1×?Ñ?Ø!×2Ñ2×AÑAØŸ™Ø×+Ñ+Ø×-Ñ-×7Ñ7Ø×-Ñ-×7Ñ7ØŸ™×-¨Ø ×1Ñ1×?Ñ?à×%Ñ%×;Ñ;à $× 5Ñ 5× GÑ Gà×%Ñ%×<Ñ<ñ
ð 	
r…   c                ó
  • U R                   nUR                  S5      S L=(       d^    UR                  S5      S L=(       dD    UR                  SS5      =(       d+    UR                  SS5      =(       d    UR                  SS5      $ )Nr¬  r­  r3  Fr1  rs   r-  )rŽ  r±   )r�   Úkwargss     r†   r<  Ú-ORMSelectCompileState._should_nest_selectablel	  sv   € à×"Ñ"ˆà�J‰J�~Ó&¨dÐ2÷ -Ø�z‰z˜/Ó*°$Ð6÷-à�z‰z˜* eÓ,÷-ð �z‰z˜-¨Ó,÷-ð �z‰z˜* eÓ,ð	
r…   c                óž   ^ ^• STR                   4T R                  ;   a/  [        UU 4S jT R                  STR                   4    5       5      $ g)NÚadditional_entity_criteriac              3  óº   >#   • U  HP  nUR                   (       d  UR                  TL d  M%  UR                  T5      (       d  M=  UR                  T5      v •  MR     g 7frŠ   )Úinclude_aliasesr¦  Ú_should_includeÚ_resolve_where_criteria)r�   ÚaerK  r�   s     €€r†   r‘   Ú<ORMSelectCompileState._get_extra_criteria.<locals>.<genexpr>|	  sW   øé € ð ò�Bð ×&×&¨"¯)©)°xÐ*?ó	 5ð
 ×&Ñ& t×,ó 5�×*Ñ*¨8×4Ð4òùs   ƒ$A«AÁArs   )r-  r­   r–   )r�   rK  s   ``r†   rå  Ú)ORMSelectCompileState._get_extra_criteriaw	  sZ   ù€ à(Ø�O‰Oð
ð ×#Ñ#ó$ô õ à×0Ñ0Ø1°8·?±?ÐCòóó ð ð r…   c                óT  • U R                    Hœ  nUR                  R                  SS5      nU(       d  M(  UR                  R                  c  SUR                  4U R
                  ;   d  M]  X R                  ;  d  Mn  UUR                  (       a  UR                  OS4U R                  U'   Mž     [        U R                  R                  5       5      nU HÓ  u  p$X R                  ;   a  M  UR                  R                  nU R                  R                  (       a  / nOU R                  U5      nUb  Xe4-  nU R                  5       nU HZ  nU(       a  UR!                  U5      nU(       a"  ["        R$                  " USS05      nU" US5      nU =R&                  U4-  sl        M\     MÕ     g)a   Apply extra criteria filtering.

For all distinct single-table-inheritance mappers represented in
the columns clause of this query, as well as the "select from entity",
add criterion to the WHERE
clause of the given QueryContext such that only the appropriate
subtypes are selected from the total results.

Additionally, add WHERE criteria originating from LoaderCriteriaOptions
associated with the global context.

rW  Nr   rÁ  TF)r  rO  r±   r-  Ú_single_table_criterionr­   r›  rE  rj  r˜  r�  r$  rú   rî   rå  r¯  Útraverserg  Ú_deep_annotater(  )	r�   Ú
fromclauserK  r¸  rR  Úsingle_critr   rª  r  s	            r†   r9  Ú0ORMSelectCompileState._adjust_for_extra_criteria‡	  sv  € ð ×+Ô+ˆJØ!×.Ñ.×2Ñ2°>À4ÓHˆH÷ �à—O‘O×;Ñ;ÑGØ4°h·o±oÐFØ×-Ñ-õ.ð ×$@Ñ$@Õ@ð Ø)1×)B×)B�H×%Ò%Èð:�×,Ñ,¨XÓ6ñ ,ô" �T×1Ñ1×8Ñ8Ó:Ó;ˆã!'ÑˆHØ×.Ñ.Ó.Ùà"Ÿ/™/×AÑAˆKà×#Ñ#×6×6Ø-/Ñ*à-1×-EÑ-EÀhÓ-OÐ*àÑ&Ø*¨nÑ<Ð*à"×7Ñ7Ó9ˆOÛ2�ÞØ"×+Ñ+¨DÓ1�Dæ"Ü#×2Ò2°4¸,ÈÐ9MÓN�DÙ*¨4°Ó7�DØ×$Ò$¨¨Ñ/×$ó 3ò "(r…   )!rø   r™  rî  r¤  r*  r$  rþ   r  rù   rû   r(  rú   r¼  r5  r7  re   r  r  r3  r1  r½  r  r›  r   r  r-  r  rš  rÿ   r   r”   r™   rý   )
r™   r  r¶   rü   rµ   rY  rÁ   r   r£   rÎ  rŠ   )2rt   ru   rv   rw   rÔ  r“   r  r¤  rZ  r¹  rº  r»  r¼  r5  r7  r(  r*  rÖ   r	  r  r	  rW  rJ  rS  rZ  r_  r%  rd  r?  rv  rz  r~  rl  r=  r>  r‹  r¹  r«  r¯  r'  rÕ  râ  rã  rä  r[  rŽ  r<  rå  r9  r„   rs   r…   r†   rÎ  rÎ  -  sž  † àÐà$Ðà€OØ ÐàÐØ#ÐØÐØ!Ðà€IØÐØ€OØÐàð`à/ð`ð ð	`ð
 (ð`ð ð`ð 
ó`ó ð`òD
5òKðZ ñó ðð2 ñ@ó ð@ð
 ñ8ó ð8ð ñ
ó ð
ð  ñó ðò"+òò8(òò0ô#òò"Yòvò(KòZ/ò$ò.ò`[òzaòFh>òT@8òD{/ðz ñ
ó ð
ð& ñ
ó ð
òõ 70r…   rÎ  c                óx  • Uc  [         R                  XS9nUnUR                   Vs/ s H  oDUR                  4PM     sn VVs/ s Ha  u  pVUR                  UR
                  [        USS5      UR                  UR                  b  UR                  (       d  [        USS 5      OS S.PMc     nnnU$ s  snf s  snnf )N)r  rE  Fr¦  )r  ÚtypeÚaliasedÚexprr¦  )	rÎ  rW  rø   rt  Ú_label_namer0  r  r2  r  )Úquery_or_select_stmtrX   r  r4  Ú_entr@  Úinsp_entÚds           r†   r"  r"  Á	  sÐ   € ð
 ÑÜ-×IÑIØ ð Jð 
ˆð €Cð 25·²ó
Ú1>¨�4×#Ñ#Ó$±ò
ô	ò
‰MˆCð —O‘OØ—H‘HÜ˜xÐ);¸UÓCØ—H‘Hð —?‘?Ñ.Ø ×2×2ô ˜ (¨DÔ1ð ô	
ñ
ð ñ 	ð" €Hùò	
ùó	s   §B1ÁA(B6c                óô   • U nUR                   (       a  UR                  nUb  U$ UR                  (       a9  SUR                  S   R                  ;   a  UR                  S   R                  S   $ [	        U5      $ )NrW  r   )r&  Ú_last_joined_entityr  rO  Ú_entity_from_pre_ent_zero)Úquery_or_augmented_selectr�   r9  s      r†   Ú_legacy_filter_by_entity_zeror<  ß	  sl   € ð %€DØ××Ø"×6Ñ6ÐØÑ*Ø&Ð&à‡~‡~˜.¨D¯N©N¸1Ñ,=×,JÑ,JÓJØ�~‰~˜aÑ ×-Ñ-¨nÑ=Ð=ä$ TÓ*Ð*r…   c                ó
  • U nUR                   (       d  g UR                   S   nSUR                  ;   a  UR                  S   $ [        U[        5      (       a  UR                  $ SUR                  ;   a  UR                  S   $ U$ )Nr   rW  Úbundle)r–  rO  r>  r   r¦  )r;  r�   r@  s      r†   r:  r:  î	  s€   € ð %€DØ××Øà
×
Ñ
˜AÑ
€Cà˜×)Ñ)Ó)Ø×Ñ Ñ/Ð/Ü	�CÔ-×	.Ñ	.Ø�z‰zÐØ	�S×%Ñ%Ó	%Ø×Ñ Ñ)Ð)àˆ
r…   c                ó|   • U (       d  g U S   u  p#pE[        U[        R                  5      (       a  UR                  $ U$ )Néÿÿÿÿ)r>  r   rÓ  r¦  )rI  rt  ÚtargetrÙ  rÚ  rÛ  s         r†   rH  rH  
  sB   € ö Øà'2°2¡Ñ$€V�uäØÜ×%Ñ%÷ñ ð �}‰}Ðàˆr…   c                  ó’   • \ rS rSr% SrSrS\S'   SrSrSr	S\S'   S	\S
'   S\S'   S\S'   SS jr
      SS jrS r\S 5       rSrg)r”  i
  z:represent an entity column returned within a Query result.rs   rü   Úsupports_single_entityFzOptional[str]r3  z!Union[Type[Any], TypeEngine[Any]]r0  z.Union[_InternalEntityType, ColumnElement[Any]]r2  zOptional[_InternalEntityType]rt  c                ó   • [        5       erŠ   rÅ   ©r�   rX   s     r†   rœ  Ú _QueryEntity.setup_compile_state#
  r  r…   c                ó   • [        5       erŠ   rÅ   ©r�   rX   rR  s      r†   r¶  Ú._QueryEntity.setup_dml_returning_compile_state&
  s   € ô
 "Ó#Ð#r…   c                ó   • [        5       erŠ   rÅ   )r�   r7  rÏ   s      r†   Úrow_processorÚ_QueryEntity.row_processor-
  r  r…   c                óæ  • [        U5       GH`  u  pVUR                  (       a=  UR                  (       a   U R                  UUR                  UU5        MH  UR                  nUR
                  (       aÛ  UR                  (       aE  SUR                  ;   a  [        UUUU5        M–  [        R                  UUR                  UUU5        M»  UR                  R                  SS5      (       a  [        UUUU5        Mì  UR                  (       a&  [        R                  UUR                  UUU5        GM#  [        R                  UU/UUU5        GM@  UR                  (       d  GMT  [        XU5        GMc     U$ )NrW  r>  F)rï  Ú_is_lambda_elementÚ_is_sequencer•  Ú	_resolvedr  rN  rO  r?  Ú_ColumnEntityÚ_for_columnsÚ_select_iterabler±   Ú_BundleEntityÚ_is_clause_listÚ	is_bundle)rÀ   rX   rÇ  r×  rˆ  rü  r¦  s          r†   r•  Ú_QueryEntity.to_compile_state0
  sS  € ô % X×.‰KˆCØ×(×(Ø×&×&Ø×(Ñ(Ø%Ø×(Ñ(Ø+Ø+ô	ñ à#×-Ñ-�Fà×'×'Ø×'×'Ø%¨×)<Ñ)<Ó<Ü%Ø)Ø"Ø/Ø/ö	ô &×2Ñ2Ø)Ø"×3Ñ3Ø/ØØ/öð ×*Ñ*×.Ñ.¨x¸×?Ñ?Ü%Ø)Ø"Ø/Ø/ö	ð  ×/×/ô &×2Ñ2Ø)Ø"×3Ñ3Ø/ØØ/÷ô &×2Ñ2Ø)Ø#˜HØ/ØØ/÷ð ×!×!Ò!Ü˜mÐ5H×Iñs /ðv #Ð"r…   N)rX   ro   r£   ÚNone©rX   ro   rR  z Optional[_DMLReturningColFilter]r£   rX  )rt   ru   rv   rw   râ   r¤   r¥   Ú_non_hashable_valueÚ_null_column_typeÚuse_id_for_hashrœ  r¶  rK  rÖ   r•  r„   rs   r…   r†   r”  r”  
  sx   ‡ ÙDà€Ià Ó àÐØÐØ€OàÓØ
+Ó+Ø
8Ó8Ø.Ó.ô$ð$à&ð$ð 2ð$ð 
ô	$ò$ð ñ>#ó ó>#r…   r”  c                  óº   • \ rS rSr% SrSrS\S'   S\S'   S\S'   S	\S
'   S\S'   S\S'   S rSrSr	Sr
\S 5       r\S 5       rS rS rS r      SS jrS rSrg)r?  ir
  z mapper/class/AliasedClass entity)
r2  r-  rt  rE  ÚpathÚ_extra_entitiesr3  rP  r¬   Ú_polymorphic_discriminatorr?   r2  zMapper[Any]r-  rt  rü   rE  r   r^  Ústrr3  c                óª  • UR                  U 5        U(       a!  UR                  c  Xl        SUl        SUl        UR                  S   nUR
                    U=oPl        UR                  nX l        UR                  =U l	        nU R                  4U l
        UR                  (       a  UR                  U l        OUR                  R                  U l        UR                  U l        UR                   U l        UR$                  U l        UR&                  U l        UR*                  U l        UR.                  (       a  UR1                  XPR$                  5        g g )NTrW  )r  rû   rZ  r¹  rO  Ú_post_inspectrt  r¦  r2  r-  r_  rE  r  r3  Úclass_rt   rõ   r^  r¬   Úwith_polymorphic_mappersrP  Úpolymorphic_onr`  Ú _should_select_with_poly_adapterrM  )r�   rX   r¦  r×  rˆ  rK  r-  s          r†   rœ   Ú_MapperEntity.__init__‰
  s  € ð 	×"Ñ" 4Ô(ÞØ×,Ñ,Ñ4Ø04Ô-Ø15ˆMÔ.Ø.2ˆMÔ+à×$Ñ$ ^Ñ4ˆØ×ÒØ&,Ð,ˆÔ#Ø—‘ˆàŒ	Ø'Ÿ™Ð.ˆŒ�fà $§	¡	˜|ˆÔà×$×$Ø'Ÿ}™}ˆDÕà%Ÿ}™}×5Ñ5ˆDÔà (× 9Ñ 9ˆÔØ×+Ñ+ˆŒ	à"×-Ñ-ˆŒØ)1×)JÑ)JˆÔ&Ø*2×*AÑ*AˆÔ'à×2×2Ø×:Ñ:ØŸ/™/õð 3r…   Tc                ó.   • U R                   R                  $ rŠ   )r-  rd  rŸ   s    r†   r0  Ú_MapperEntity.type³
  s   € à�{‰{×!Ñ!Ð!r…   c                ó   • U R                   $ rŠ   )rt  rŸ   s    r†   rð  Ú'_MapperEntity.entity_zero_or_selectable·
  s   € à×ÑÐr…   c                ó.   • [        U R                  U5      $ rŠ   )r   rt  ©r�   r¦  s     r†   rú  Ú_MapperEntity.corresponds_to»
  s   € Ü% d×&6Ñ&6¸Ó?Ð?r…   c                óT  • S nU R                   (       d8  UR                  (       a&  UR                  R                  U R                  S 5      nOU R                  R
                  nU(       a3  UR                  (       a  UR                  UR                  5      nU$ Un U$ UR                  nU$ rŠ   )rE  rù   r±   r-  rt  rj  r¤  Úwrap)r�   rX   rR  Úrets       r†   Ú_get_entity_clausesÚ!_MapperEntity._get_entity_clauses¾
  s“   € Øˆà×$×$Ø×2×2Ø'×=Ñ=×AÑAØ—K‘K ó�øð ×&Ñ&×/Ñ/ˆGæØ×,×,Ø—l‘l =×#@Ñ#@ÓA�ð ˆ
ð	 ‘ð ˆ
ð  ×/Ñ/ˆCàˆ
r…   c                óØ  • UR                   nU R                  U5      nUR                  (       a#  U(       a  UR                  UR                  5      nOU(       d  UR                  nUR                  U L a#  UR
                  R                  nUR                  nOS =pV[        R                  " U U R                  UUU R                  UUUU R                  S9	nXpR                  U R                  4$ )N)Úonly_load_propsrd   Úpolymorphic_discriminator)rX   rs  r¼  rq  rû   rú   rì   rd   r   Ú_instance_processorr-  r^  r`  r3  r_  )r�   r7  rÏ   rX   rR  rv  rd   Ú	_instances           r†   rK  Ú_MapperEntity.row_processorÓ
  sÎ   € Ø×-Ñ-ˆØ×*Ñ*¨=Ó9ˆà×/×/¶GØ—l‘l =×#GÑ#GÓH‰GÞØ#×:Ñ:ˆGà×(Ñ(¨DÒ0Ø+×;Ñ;×LÑLˆOØ#×1Ñ1‰Mà.2Ð2ˆOä×/Ò/ØØ�K‰KØØØ�I‰IØØ+Ø'Ø&*×&EÑ&Eñ

ˆ	ð ×*Ñ*¨D×,@Ñ,@Ð@Ð@r…   c                óÈ   • [         R                  " UU R                  U U R                  UUR                  U R
                  UR                  R                  U R                  S9	  g )N©r  rv  rw  )	r   Ú_setup_entity_queryr-  r^  rÿ   rP  rú   rì   r`  rH  s      r†   r¶  Ú/_MapperEntity.setup_dml_returning_compile_stateð
  sS   € ô
 	×#Ò#ØØ�K‰KØØ�I‰IØØ×)Ñ)Ø!×;Ñ;Ø)×9Ñ9×JÑJØ&*×&EÑ&Eó
	
r…   c                ó  • U R                  U5      nU R                  R                  nUc  SU R                  4UR                  ;   a:  U R                  nUUR
                  (       a  UR                  OS 4UR                  U'   [        R                  " UU R                  U U R                  UUR                  U R                  UR                  R                  U R                  S9	  UR                   R#                  U R$                  5        g )Nr   r|  )rs  r-  r)  r­   rt  rE  rj  r›  r   r}  r^  rÿ   rP  rú   rì   r`  r™  r  r¬   )r�   rX   rR  Úsingle_table_critrK  s        r†   rœ  Ú!_MapperEntity.setup_compile_state  sâ   € Ø×*Ñ*¨=Ó9ˆà ŸK™K×?Ñ?ÐàÑ)Ø,¨d¯k©kÐ:Ø×.Ñ.ó/ð ×'Ñ'ˆHàØ%-×%>×%>�×!Ò!ÀDð?ˆM×1Ñ1°(Ñ;ô
 	×#Ò#ØØ�K‰KØØ�I‰IØØ×)Ñ)Ø!×;Ñ;Ø)×9Ñ9×JÑJØ&*×&EÑ&Eò
	
ð 	×,Ñ,×3Ñ3°D·O±OÕDr…   )
r_  r3  r`  rP  rt  r2  rE  r-  r^  r¬   NrY  )rt   ru   rv   rw   râ   r¤   r¥   rœ   rC  rZ  r\  r[  r0  rð  rú  rs  rK  r¶  rœ  r„   rs   r…   r†   r?  r?  r
  s©   ‡ Ù*ð€Ið ÓØÓØ$Ó$ØÓØ
ÓØÓò#ðJ "ÐàÐØ€Oàñ"ó ð"ð ñ ó ð ò@òò*Að:
à&ð
ð 2ð
ð 
ô	
õ"Er…   r?  c                  óÀ   • \ rS rSr% SrSrS\S'   S\S'   S\S	'   S
\S'   S\S'   S\S'     SS jr\S 5       r	\S 5       r
S r\S 5       rS r      SS jrS rSrg)rT  i  rs   )r>  r2  r0  r3  rø   rC  r÷   rø   r   r>  z	Type[Any]r0  ra  r3  rü   rC  r2  Nc           
     óª  • SUl         UR                  S   nU(       a  UR                  R                  U 5        OUR                  U 5        [	        U[
        R                  [        R                  45      (       a  UR                  5       nOUnU=U l
        U l        [        U5      U l        UR                  U l        / U l        U(       ao  UR                   H_  nSUR                  ;   a  [!        UUUUU S9  M"  [	        U["        5      (       a  [!        UUUUU S9  MF  [$        R'                  UU/US UU S9  Ma     U R                  R(                  U l        g )NTr>  ©Úparent_bundle)r¹  rO  rø   r  r>  r   rÓ  r   rÐ  rX  r>  r2  r0  r  r3  ÚexprsrT  r   Ú_ORMColumnEntityrR  Úsingle_entityrC  )r�   rX   r2  r×  rˆ  Úsetup_entitiesr…  r>  s           r†   rœ   Ú_BundleEntity.__init__1  s>  € ð +/ˆÔ'à× Ñ  Ñ*ˆÞØ×#Ñ#×*Ñ*¨4Õ0à×&Ñ& tÔ,äØ”:×0Ñ0´*×2KÑ2KÐL÷
ñ 
ð ×,Ñ,Ó.‰FàˆFà"(Ð(ˆŒ�d”iÜ˜“LˆŒ	Ø!Ÿ;™;ˆÔØˆŒæØŸœ�Ø˜t×0Ñ0Ó0Ü!Ø%ØØ+Ø+Ø&*ôô   ¤f×-Ñ-Ü!Ø%ØØ+Ø+Ø&*ôô %×1Ñ1Ø%Ø˜Ø+ØØ+Ø&*ð 2ó ñ% %ð6 '+§k¡k×&?Ñ&?ˆÕ#r…   c                ó:   • U R                   nUb  UR                  $ g rŠ   )rt  r-  )r�   rC  s     r†   r-  Ú_BundleEntity.mapperl  s    € à× Ñ ˆØÑØ—<‘<Ðàr…   c                óP   • U R                    H  nUR                  nUc  M  Us  $    g rŠ   )rø   rt  ©r�   r@  rC  s      r†   rt  Ú_BundleEntity.entity_zerot  s)   € à—>”>ˆCØ—O‘OˆEØÓ Ø’ñ "ð
 r…   c                ó   • gr  rs   rn  s     r†   rú  Ú_BundleEntity.corresponds_to}  s   € ð r…   c                óP   • U R                    H  nUR                  nUc  M  Us  $    g rŠ   )rø   rð  rŽ  s      r†   rð  Ú'_BundleEntity.entity_zero_or_selectable‚  s+   € à—>”>ˆCØ×1Ñ1ˆEØÓ Ø’ñ "ð
 r…   c                óL   • U R                    H  nUR                  U5        M     g rŠ   )rø   rœ  )r�   rX   r@  s      r†   rœ  Ú!_BundleEntity.setup_compile_state‹  s   € Ø—>”>ˆCØ×#Ñ# MÖ2ò "r…   c                ó$   • U R                  U5      $ rŠ   ©rœ  rH  s      r†   r¶  Ú/_BundleEntity.setup_dml_returning_compile_state�  ó   € ð
 ×'Ñ'¨Ó6Ð6r…   c           	     óð   • [        U R                   Vs/ s H  o3R                  X5      PM     sn6 u  pEnU R                  R	                  UR
                  XE5      nXpR                  U R                  4$ s  snf rŠ   )r—   rø   rK  r>  Úcreate_row_processorrY   r3  r_  )r�   r7  rÏ   r@  ÚprocsÚlabelsÚextraÚprocs           r†   rK  Ú_BundleEntity.row_processor–  si   € Ü"Ø<@¿NºNÓKºN°S×Ñ Ö0¹NÑKð 
Ñˆ�uð �{‰{×/Ñ/°·±¸uÓMˆà×%Ñ% t×';Ñ';Ð;Ð;ùò Ls   ”A3)rø   r3  r>  r2  rC  r0  r  rY  )rt   ru   rv   rw   r_  r¤   r¥   rœ   r[  r-  rt  rú  rð  rœ  r¶  rK  r„   rs   r…   r†   rT  rT    s¬   ‡ Ø€Oð€Ið "Ó!ØƒNØ
ƒOØÓØ Ó Ø
ƒLð Øô9@ðv ñó ðð ñó ðòð
 ñó ðò3ð7à&ð7ð 2ð7ð 
ô	7õ<r…   rT  c                  ód   • \ rS rSrSr\ S
S j5       r\S 5       r\S 5       r	\S 5       r
S rS	rg)rQ  i   )Ú_fetch_columnÚ_row_processorÚraw_column_indexÚtranslate_raw_columnNc                ó  • U Hy  nUR                   nSU;   a  US   n	O[        R                  " US5      n	U	(       a2  SUR                   ;   a  [        UUUU	UUUS9  MZ  [	        UUUU	UUUS9  Mk  [        UUUUUUS9  M{     g )NrW  rj   r„  )rO  rg  Úextract_first_column_annotationÚ_IdentityTokenEntityr‡  Ú_RawColumnEntity)
rÀ   rX   r^  r×  r¤  rˆ  r…  Úcolumnr   Ú_entitys
             r†   rR  Ú_ColumnEntity._for_columns¨  s«   € ó ˆFØ ×-Ñ-ˆKØ Ó,Ø% nÑ5‘ä"×BÒBØ˜Nó�ö Ø# v×':Ñ':Ó:Ü(Ø%ØØ+ØØ(Ø+Ø&3ôô %Ø%ØØ+ØØ(Ø+Ø&3ôô !Ø!ØØ'Ø$Ø'Ø"/ôò? r…   c                ó.   • U R                   R                  $ rŠ   )rª  r0  rŸ   s    r†   r0  Ú_ColumnEntity.typeÚ  s   € à�{‰{×ÑÐr…   c                óL   • U R                   R                  R                  (       + $ rŠ   )rª  r0  ÚhashablerŸ   s    r†   rZ  Ú!_ColumnEntity._non_hashable_valueÞ  s   € à—;‘;×#Ñ#×,Ñ,Ô,Ð,r…   c                óB   • U R                   R                  R                  $ rŠ   )rª  r0  Ú_isnullrŸ   s    r†   r[  Ú_ColumnEntity._null_column_typeâ  s   € à�{‰{×Ñ×'Ñ'Ð'r…   c                ó  • UR                   nU R                  bK  U R                  u  pEnU R                  (       a'  UUR                  R                  U R
                     4-  nXEU4$ U R                  b  U R                  nOWU R                  nUR                  (       a  UR                  R                  U   nUR                  (       a  UR                  5       nUR                  (       a  UR                  R                  U   nUR                  U5      nX@R                  U R                  4nX€l        U R                  (       a?  U R                  UR                  R                  U R
                     4-   nX@R                  U4$ U$ rŠ   )rX   r£  r¥  rY   r–  r¤  r¢  rª  r¤  r^  rO  Ú_deannotater¼  Ú_getterr3  r_  )	r�   r7  rÏ   rX   ÚgetterÚ
label_nameÚextra_entitiesrª  rr  s	            r†   rK  Ú_ColumnEntity.row_processoræ  s]  € Ø×-Ñ-ˆð ×ÑÑ*Ø15×1DÑ1DÑ.ˆF Ø×(×(ØØ—M‘M×.Ñ.¨t×/DÑ/DÑEð#ñ �ð  ~Ð5Ð5ð ×ÑÑ)Ø×'Ñ'‰Fð —[‘[ˆFð ×,×,Ø&×6Ñ6×>Ñ>¸vÑF�à×"×"ð  ×+Ñ+Ó-�à×/×/Ø"×9Ñ9×AÑAÀ&ÑIˆFà—‘ Ó'ˆØ×&Ñ&¨×(<Ñ(<Ð<ˆØ!Ôà×$×$Ø!×1Ñ1Ø—‘×*Ñ*¨4×+@Ñ+@ÑAð5ñ ˆNð ×+Ñ+¨^Ð;Ð;àˆJr…   )r£  rŠ   )rt   ru   rv   rw   r¤   rÖ   rR  r[  r0  rZ  r[  rK  r„   rs   r…   r†   rQ  rQ     sd   † ð€Ið ð ó/ó ð/ðb ñ ó ð ð ñ-ó ð-ð ñ(ó ð(õ0r…   rQ  c                  óR   • \ rS rSrSrSrSrSr S
S jrS r	      SS jr
S rS	rg)r©  i  NF)r2  rª  r3  rð  r_  c                ó\  • X l         X@l        US LU l        UR                  (       a  U=R                  SS0-  sl        U(       a  UR
                  (       a  S U l        O/U(       a  UR                  U l        OUR                  U5      U l        U(       a  UR                  R                  U 5        OUR                  U 5        X l        U R                  R                  (       a  U R                  R                  S   OS U l        U R                   U R                  4U l        S =U l        U l        g )Nrð   Tr   )r2  r¤  r¥  rð   rú   Ú_is_text_clauser3  Ú
_proxy_keyrþ   rø   r  rª  rØ  rð  r_  r¢  r£  )r�   rX   rª  r×  r¤  rˆ  r…  s          r†   rœ   Ú_RawColumnEntity.__init__&  sé   € ð Œ	Ø 0ÔØ$4¸DÐ$@ˆÔ!à�?�?Ø×)Ò)¨j¸$Ð-?Ñ?Õ)æ" f×&<×&<Ø#ˆDÕæØ#)×#4Ñ#4�Õ à#0×#BÑ#BÀ6Ó#J�Ô æØ×#Ñ#×*Ñ*¨4Õ0à×&Ñ& tÔ,àŒà,0¯K©K×,E×,EˆD�K‰K×%Ñ% aÒ(È4ð 	Ô&ð !%§	¡	¨4¯;©;Ð7ˆÔØ37Ð7ˆÔ˜TÕ0r…   c                ó   • gr  rs   rn  s     r†   rú  Ú_RawColumnEntity.corresponds_toJ  s   € Ør…   c                ó$   • U R                  U5      $ rŠ   r—  rH  s      r†   r¶  Ú2_RawColumnEntity.setup_dml_returning_compile_stateM  r™  r…   c                ó4  • UR                  5       nU(       a  U" U R                  S5      nUc  g OU R                  nUR                  (       a  UR                  5       nUR                  R                  U5        UR                  R                  U5        X0l        g r  )	r¯  rª  rO  r¶  r  r  rÿ   r  r¢  )r�   rX   rª  rª  s       r†   rœ  Ú$_RawColumnEntity.setup_compile_stateT  s‚   € Ø'×<Ñ<Ó>ˆÞÙ$ T§[¡[°%Ó8ˆFØ‰~Øð ð —[‘[ˆFà××ð ×'Ñ'Ó)ˆFà×$Ñ$×(Ñ(¨Ô0Ø×%Ñ%×,Ñ,¨VÔ4Ø#Õr…   )	r_  r¢  r3  r£  rª  rð  r2  r¤  r¥  rŠ   rY  )rt   ru   rv   rw   rt  r-  rC  r¤   rœ   rú  r¶  rœ  r„   rs   r…   r†   r©  r©    sO   † Ø€KØ€FØ"Ðð€Ið ô"8òHð7à&ð7ð 2ð7ð 
ô	7õ$r…   r©  c                  óN   • \ rS rSrSrSrSr SS jrS r      SS jr	S	 r
S
rg)r‡  ig  zColumn/expression based entity.F)r2  r-  rª  r3  rð  rt  r_  Nc                ó  • UR                   nUn	UR                  " SS 5      n
UR                  " SU	5      nU
(       a#  [        UR                  U
5      U l        SU l        OX l        US LU l        XPl        U(       a7  U(       a  U
(       a  U
OUR                  U l        OUR                  X*S9U l        OS U l        U	R                    U	=U l        =U l        nU	R                  =U l        nU(       a  UR                  R                  U 5        OUR                  U 5        SUl        X l        S =U l        U l        U R                  U R"                  4U l        UR*                  (       a  UR-                  XÌR.                  5        g g )NÚ	proxy_keyÚproxy_ownerF)r  T)rO  r±   r  r¦  r2  r¥  r¤  r¿  r3  rþ   rc  rt  rð  r-  rø   r  r¹  rª  r¢  r£  r_  rg  rM  r¬   )r�   rX   rª  r×  rW  r¤  rˆ  r…  r   r«  Úorm_keyrÊ  rC  r-  s                 r†   rœ   Ú_ORMColumnEntity.__init__v  sW  € ð ×)Ñ)ˆàˆð —/’/ +¨tÓ4ˆØ!—o’o m°WÓ=ˆÞÜ × 2Ñ 2°GÓ<ˆDŒIØ(-ˆDÕ%ð ŒIØ(8ÀÐ(DˆDÔ%à 0ÔæÞÞ.5¡7¸6×;LÑ;L�Õ à#0×#BÑ#BØð $Cð $�Õ ð  $ˆDÔà×ÒØDKÐKˆÔÐK˜4Ô9¸EØ&Ÿ~™~Ð-ˆŒ�fæØ×#Ñ#×*Ñ*¨4Õ0à×&Ñ& tÔ,à*.ˆÔ'àŒà37Ð7ˆÔ˜TÔ0à $§	¡	¨4¯;©;Ð7ˆÔà×2×2Ø×:Ñ:Ø×'Ñ'õð 3r…   c                ó´   • [        U5      (       a  XR                  L $ [        U R                  5      (       + =(       a    UR                  U R                  5      $ rŠ   )r   rt  r  rn  s     r†   rú  Ú_ORMColumnEntity.corresponds_to¹  sP   € Ü˜V×$Ñ$à×-Ñ-Ð-Ð-ä(Ø× Ñ óô ÷ 9à×&Ñ& t×'7Ñ'7Ó8ð9r…   c                ó¾   • U R                   =U l        nU(       a	  U" US5      nUb7  UR                  R                  U5        UR                  R                  U5        g g r  )rª  r¢  r  r  rÿ   r  )r�   rX   rR  rª  s       r†   r¶  Ú2_ORMColumnEntity.setup_dml_returning_compile_stateÂ  sW   € ð '+§k¡kÐ1ˆÔ˜VÞÙ˜V UÓ+ˆFàÑØ×(Ñ(×,Ñ,¨VÔ4Ø×)Ñ)×0Ñ0°Õ8ð r…   c                óT  • UR                  5       nU(       a<  U" U R                  S5      nUc%  UR                  (       d   eU R                  U l        g OU R                  nU R                  nU R
                  R                  nUc  SU R
                  4UR                  ;   a.  UUR                  (       a  UR                  OS 4UR                  U'   UR                  (       a!  UR                  (       d  UR                  5       n[        U R                  R                  5      R!                  UR"                  R                  5      (       a%  UR$                  R'                  UR"                  5        UR(                  R+                  U5        UR,                  R'                  U5        X0l        g )NFr   )r¯  rª  rÕ   r¢  rt  r-  r)  r­   rE  rj  r›  rO  Ú_expression_labelr¶  r˜  rØ  Úintersectionr¬   r™  r  r  r  rÿ   )r�   rX   rª  rª  rC  r€  s         r†   rœ  Ú$_ORMColumnEntity.setup_compile_stateÐ  sY  € Ø'×<Ñ<Ó>ˆÞÙ$ T§[¡[°%Ó8ˆFØ‰~Ø$×5×5Ð5Ð5Ø%)§[¡[�Ô"Øð ð
 —[‘[ˆFà× Ñ ˆà ŸK™K×?Ñ?ÐàÑ)Ø,¨d¯k©kÐ:Ø×.Ñ.ó/ð Ø"'×"8×"8�—’¸dð<ˆM×1Ñ1°%Ñ8ð
 ×× v×'?×'?ð ×'Ñ'Ó)ˆFô ˆt�{‰{×(Ñ(Ó)×6Ñ6Ø×Ñ×*Ñ*÷
ñ 
ð ×0Ñ0×7Ñ7¸×8HÑ8HÔIà×$Ñ$×(Ñ(¨Ô0Ø×%Ñ%×,Ñ,¨VÔ4Ø#Õr…   )r_  r¢  r3  r£  rª  rt  rð  r2  r-  r¤  r¥  rŠ   rY  )rt   ru   rv   rw   râ   rC  r¤   rœ   rú  r¶  rœ  r„   rs   r…   r†   r‡  r‡  g  sI   † Ù)à"Ðð€Ið$ ôAòF9ð9à&ð9ð 2ð9ð 
ô	9õ)$r…   r‡  c                  ó$   • \ rS rSrSrS rS rSrg)r¨  iü  Fc                ó   • g rŠ   rs   rE  s     r†   rœ  Ú(_IdentityTokenEntity.setup_compile_stateÿ  s   € Ør…   c                ó@   ^• U4S jnX0R                   U R                  4$ )Nc                ó0   >• TR                   R                  $ rŠ   )r\   r}   )Úrowr7  s    €r†   r¸  Ú2_IdentityTokenEntity.row_processor.<locals>.getter  s   ø€ Ø×'Ñ'×7Ñ7Ð7r…   )r3  r_  )r�   r7  rÏ   r¸  s    `  r†   rK  Ú"_IdentityTokenEntity.row_processor  s!   ø€ õ	8ð ×'Ñ'¨×)=Ñ)=Ð=Ð=r…   rs   N)rt   ru   rv   rw   r¥  rœ  rK  r„   rs   r…   r†   r¨  r¨  ü  s   † Ø Ðòõ>r…   r¨  r  )r4  z#Union[Query, Select, FromStatement]rX   zOptional[ORMSelectCompileState]r  rü   r£   zList[ORMColumnDescription])r;  zUnion[Query[Any], Select[Any]]r£   ú"Optional[_InternalEntityType[Any]]rŠ   )rI  zTuple[_SetupJoinsElement, ...]rt  rÝ  r£   z=Optional[Union[_InternalEntityType[Any], _JoinTargetElement]])�Ú
__future__r   rÜ  Útypingr   r   r   r   r   r	   r
   r   r   r   r   r   Ú r   r   r   Úbaser   r   r   Úpath_registryr   r$   r   r   r   r   r   r   r   r    rŒ  r!   r"   r#   r%   r&   r'   rg  r(   Úsql._typingr)   r*   r+   r,   Úsql.baser-   r.   r/   r0   r1   r2   Úsql.dmlr3   Úsql.elementsr4   r5   Úsql.selectabler6   r7   r8   r9   r:   r;   r<   r=   Úsql.visitorsr>   Ú_typingr?   r@   rA   r-  rB   rY   rC   r_   rD   rE   ÚenginerF   Úengine.interfacesrG   rH   Úsql.compilerrI   rJ   rK   rL   rM   rN   rO   rP   Úsql.type_apirQ   rR   Úrootrõ   rÿ  r“   r  rU   r/  r¨   rÚ   ro   r]  rq  r{  Ú
plugin_forr�  r‚  rö  rÎ  r"  r<  r:  rH  r”  r?  rT  rQ  r©  r‡  r¨  rs   r…   r†   Ú<module>rð     sO  ðõ #ã Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý  Ý Ý å Ý Ý Ý #Ý ,Ý ,Ý 'Ý (Ý Ý !Ý Ý Ý Ý %Ý Ý Ý Ý Ý Ý Ý Ý Ý "Ý Ý Ý  Ý *Ý (Ý (Ý 'Ý #Ý !Ý !Ý Ý  Ý )Ý %Ý 0Ý :Ý -Ý ;Ý #Ý -Ý (Ý -Ý ,æÝ,Ý3Ý!ÝÝÝ'Ý ÝÝ<Ý4Ý*Ý*Ý,Ý3Ý9Ý3Ý6Ý+Ý)áˆT˜Ñ€Ø×"Ñ"€à× Ò Ó"€ð *×@Ñ@Ð ÷q.ñ q.ðh ×+Ò+Ø'¨Ð.óÐ ô
i$˜lô i$ôX*Ð#:ô *ôZf
Ð-ô f
÷R	$$ñ $$ôN>Ð'=ô >ô&Ð)?ô ð0 ‡�×Ñ×!Ñ! %Ð)=Ó>ôwD ?ó wDó ?ðwDôtuP�N JÐ0@ÀÑ0Eô uPðp ‡�×Ñ×!Ñ! %Ð):Ó;ô	Ø Ð"5ó	ó <ð	ð ‡�×Ñ×!Ñ! %¨Ó2ôP0˜O¨[ó P0ó 3ðP0ðj, 6:ØðØ=ðà2ðð ðð  õ	ð<+Ø=ð+à'ô+ðØ=ðà'ôð* 7;ðØ/ðà3ðð Cõ÷$\#ñ \#ô~iE�Lô iEôX<�Lô <ôDv�Lô vôrK$�}ô K$ô\R$�}ô R$ôj
>Ð+õ 
>r…   