§
    eŠtjtä  ã                  óX  — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 dd	lm
Z
 dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! ddlmZ" ddlmZ ddl#m$Z$ ddl%m&Z& dd l%m'Z' dd!l%m(Z( dd"l)m*Z* ddl)mZ+ dd#l,m-Z- dd$l,m.Z. dd%l,m/Z/ dd&lm0Z0 erBdd'l1m2Z2 dd(lm3Z3 dd)l4m5Z5 dd*l6m7Z7 dd+l8m9Z9 dd,l:m;Z; dd-l<m=Z= dd.l>m?Z? dd/l@mAZA dd0l%mBZB dd1l)mCZC  ed2e¬3¦  «        ZD ed4eE¬3¦  «        ZF ejG        ¦   «         ZHeeIeeeIef                  f         ZJd|d;„ZK ejL        d<¦  «        d}d>„¦   «         ZM ejN        d?d@¬A¦  «         ejL        d<¦  «        	 d}d~dI„¦   «         ¦   «         ZOddS„ZPdTdTdTdTdUej0        ej0        dUdUdVœ	d€di„ZQdTdTdTdTdTdUej0        ej0        dUdUdjœ
d�do„ZR	 	 	 	 	 	 d‚dp„ZS	 	 	 dƒdq„ZTdr„ ZU	 	 	 	 d„ds„ZVdt„ ZWdu„ ZXdv„ ZYdw„ ZZdx„ Z[ G dy„ dz¦  «        Z\d{„ Z]dTS )…zßprivate module containing functions used to convert database
rows into object instances and associated state.

the functions here are called primarily by Query, Mapper,
as well as some of the attribute loading strategies.

é    )Úannotations)ÚAny)ÚDict)ÚIterable)ÚList)ÚMapping)ÚOptional)ÚSequence)ÚTuple)ÚTYPE_CHECKING)ÚTypeVar)ÚUnioné   )Ú
attributes)Úexc)Úpath_registry)Ú_DEFER_FOR_STATE)Ú_RAISE_FOR_STATE)Ú_SET_DEFERRED_EXPIRED)ÚPassiveFlag)ÚFromStatement)ÚORMCompileState)ÚQueryContext)ÚSelectInLoader)Ú	_none_set)Ú	state_stré   )Úutil)Úresult_tuple)ÚChunkedIteratorResult)ÚFrozenResult)ÚSimpleResultMetaData)Úselect)ÚForUpdateArg)ÚLABEL_STYLE_TABLENAME_PLUS_COL)ÚSelectState)Ú
EMPTY_DICT)Ú_IdentityKeyType)ÚLoaderCallableStatus)Ú	ORMOption)ÚMapper)ÚQuery)ÚSession)ÚInstanceState)ÚCursorResult)Ú_ExecuteOptions)ÚResult)ÚSelectÚ_T)ÚboundÚ_OÚcursorúCursorResult[Any]Úcontextr   ÚreturnúResult[Any]c                ó\  ‡ ‡‡‡‡‡‡‡— t          ¦   «         ‰_        ‰j        rdŠ‰j        j        ‰_        n	dŠi ‰_        ‰j        }|j        }‰j        j         o)t          |j	        ¦  «        dk    o|j	        d         j
        Š	 t          t          ˆˆ fd„‰j        j	        D ¦   «         Ž ¦  «        \  Š}}‰j        r"‰j        s‰j        rt!          j        d¦  «        ‚nO# t$          $ rB t'          j        ¦   «         5  ‰                      ¦   «          ddd¦  «         n# 1 swxY w Y   Y nw xY wd„ Šddd	œd
„Šˆˆˆfd„‰j        j	        D ¦   «         }t-          |||¬¦  «        }ˆˆ ˆˆˆfd„}‰j                             dd¦  «        rt           |d¦  «        ¦  «        Šˆfd„}t3          ||‰‰ ‰ j        j        ¬¦  «        }	|	j                             t=          |‰¬¦  «        ¦  «        |	_        ‰j        j        rd„ }
d|
f|	_         ‰j        r|	                     ‰j        ¦  «         |	S )a¤  Return a :class:`.Result` given an ORM query context.

    :param cursor: a :class:`.CursorResult`, generated by a statement
     which came from :class:`.ORMCompileState`

    :param context: a :class:`.QueryContext` object

    :return: a :class:`.Result` object representing ORM results

    .. versionchanged:: 1.4 The instances() function now uses
       :class:`.Result` objects and has an all new interface.

    FTr   r   c                ó<   •— g | ]}|                      ‰‰¦  «        ‘ŒS © )Úrow_processor)Ú.0Úquery_entityr8   r6   s     €€úT/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sqlalchemy/orm/loading.pyú
<listcomp>zinstances.<locals>.<listcomp>r   s9   ø€ ð ð ð à$ð !×.Ò.¨w¸Ñ?Ô?ðð ð ó    zØCan't use yield_per with eager loaders that require uniquing or row buffering, e.g. joinedload() against collections or subqueryload().  Consider the selectinload() strategy for better flexibility in loading objects.Nc                ó*   — t          j        d¦  «        ‚)Nz@Can't use the ORM yield_per feature in conjunction with unique()©Úsa_excÚInvalidRequestError)Úentrys    rA   Ú
_no_uniquezinstances.<locals>._no_uniqueˆ   s   € ÝÔ(ØNñ
ô 
ð 	
rC   ©ÚlegacyÚ	uncertainc               ó@   ‡ ‡‡— |sˆ ˆfd„}|S ‰st           S dŠˆfd„}|S )Nc                ót   •— ‰r	 t          | ¦  «        S #  Y nxY wt          j        d‰›d‰rdnd› d�¦  «        ‚)Nz=Can't apply uniqueness to row tuple containing value of type z; z the values returned appear to bezthis datatype producesz non-hashable values)ÚhashrF   rG   )ÚobjÚdatatyperL   s    €€rA   Úgoz,instances.<locals>._not_hashable.<locals>.go�   ss   ø€ Øð ðÝ# C™yœyÐ(øðØ˜øøøåÔ0ð-Ø&ð-ð -ð %ð6Ð:Ð:à5ð	-ð -ð -ñô ð ó   … ”Fc                óX   •— ‰s	 t          | ¦  «        S #  Y nxY wdŠt          | ¦  «        S )NT)rO   Úid)rP   Ú_use_ids    €rA   rR   z,instances.<locals>._not_hashable.<locals>.go¦   s>   ø€ ð ð 	#ðÝ# C™yœyÐ(øðØ˜øøøð
 #�Gå˜#‘w”w�rS   )rU   )rQ   rK   rL   rR   rV   s   ` ` @rA   Ú_not_hashablez instances.<locals>._not_hashable�   sd   øøø€ Øð (	ðð ð ð ð ð ð  ˆIØð 	ÝˆIàˆGðð ð ð ð ð  ˆIrC   c                óº   •— g | ]W}‰j         r‰nK|j        s5|j        s|j        r' ‰|j        j        ‰j        j        |j        ¬ ¦  «        n|j        rt          nd‘ŒXS )rJ   N)	Ú	yield_perÚuse_id_for_hashÚ_non_hashable_valueÚ_null_column_typeÚcolumnÚtypeÚload_optionsÚ_legacy_uniquingrU   )r?   ÚentrI   rW   r8   s     €€€rA   rB   zinstances.<locals>.<listcomp>¸   s�   ø€ ð ð ð ð" ð Ô ðˆJˆJð Ô+ð	9ð Ô0ð	9ð 58Ô4Ið	9��Ø”J”OØ"Ô/Ô@Ø!Ô3ðñ ô ð ð Ô.Ð8•R�R°Dðð ð rC   )Ú_unique_filtersc              3  ót  •‡K  — 	 | }i ‰	_         |r‰
                     |¦  «        }|sd S n‰
                     ¦   «         }‰r‰d         Šˆfd„|D ¦   «         }nˆfd„|D ¦   «         }‰rÈ|r&t          ‰	j                             ¦   «         ¦  «        }‰	j        rdt          ‰	j                             ¦   «         ¦  «        }‰	j                             ¦   «          |D ]\  }}|                     ‰	|¦  «         Œ‰	j        °d|r3‰	j                             ¦   «          ‰	j                             |¦  «         |V — |sd S �Œ4)NTr   c                ó&   •— g | ]} ‰|¦  «        ‘ŒS r=   r=   )r?   ÚrowÚprocs     €rA   rB   z-instances.<locals>.chunks.<locals>.<listcomp>à   s!   ø€ Ð3Ð3Ð3 c˜˜˜S™	œ	Ð3Ð3Ð3rC   c                óH   •‡— g | ]Št          ˆfd „‰D ¦   «         ¦  «        ‘ŒS )c                ó&   •— g | ]} |‰¦  «        ‘ŒS r=   r=   )r?   rf   re   s     €rA   rB   z8instances.<locals>.chunks.<locals>.<listcomp>.<listcomp>ã   s!   ø€ Ð9Ð9Ð9¨˜4˜4 ™9œ9Ð9Ð9Ð9rC   )Útuple)r?   re   Úprocesss    @€rA   rB   z-instances.<locals>.chunks.<locals>.<listcomp>â   sD   øø€ ð ð ð Ø?B•EÐ9Ð9Ð9Ð9°Ð9Ñ9Ô9Ñ:Ô:ðð ð rC   )	ÚpartialsÚ	fetchmanyÚ_raw_all_rowsÚlistÚpost_load_pathsÚitemsÚclearÚinvokeÚupdate)ÚsizerY   ÚfetchÚrowsÚtop_level_post_loadsÚ
post_loadsÚpathÚ	post_loadrf   r8   r6   Úis_top_levelrj   Úsingle_entitys           @€€€€€rA   Úchunkszinstances.<locals>.chunksÐ   s°  øøè è € ð/	ØˆIà!ˆGÔàð /Ø×(Ò(¨Ñ3Ô3�àð Ø�Eðð ×,Ò,Ñ.Ô.�àð Ø˜q”z�Ø3Ð3Ð3Ð3¨UÐ3Ñ3Ô3��ðð ð ð ØFKðñ ô �ð ð IØð õ ,0ØÔ/×5Ò5Ñ7Ô7ñ,ô ,Ð(ð Ô-ð 8Ý!% gÔ&=×&CÒ&CÑ&EÔ&EÑ!FÔ!F�JØÔ+×1Ò1Ñ3Ô3Ð3Ø+5ð 8ð 8™˜˜iØ!×(Ò(¨°$Ñ7Ô7Ð7Ð7ð	 Ô-ð 8ð ð IØÔ+×1Ò1Ñ3Ô3Ð3ØÔ+×2Ò2Ð3GÑHÔHÐHàˆJˆJˆJàð Ø�ñ_/	rC   Úprebuffer_rowsc                ó"   •— t          ‰¦  «        S ©N)Úiter)rt   Ú_prebuffereds    €rA   r}   zinstances.<locals>.chunks  s   ø€ Ý˜Ñ%Ô%Ð%rC   )Úsource_supports_scalarsÚrawÚdynamic_yield_per)ÚfilteredÚis_single_entityc                ó*   — t          j        d¦  «        ‚)Nz~The unique() method must be invoked on this Result, as it contains results that include joined eager loads against collectionsrE   )rP   s    rA   Úrequire_uniquez!instances.<locals>.require_unique  s   € ÝÔ,ð&ñô ð rC   )!Ú
_new_runidÚrunidÚtop_level_contextro   Úcompile_stateÚ_has_mapper_entitiesr_   Ú_only_return_tuplesÚlenÚ	_entitiesÚsupports_single_entityrn   ÚziprY   Úloaders_require_bufferingÚloaders_require_uniquingrF   rG   Ú	Exceptionr   Úsafe_reraiseÚcloser"   Úexecution_optionsÚgetr    r8   Ú_is_server_sideÚ_attributesÚunionÚdictÚmulti_row_eager_loadersÚ_unique_filter_state)r6   r8   r�   r†   ÚlabelsÚextraÚunique_filtersÚrow_metadatar}   Úresultr‰   rI   rW   r‚   r{   rj   r|   s   ``         @@@@@@rA   Ú	instancesr¦   O   sd  øøøøøøøø€ õ ‘L”L€G„MàÔ ð %ØˆØ")Ô";Ô"KˆÔÐàˆØ"$ˆÔàÔ)€MØÔ1€HàÔ Ô4Ð4ð 	>Ý�Ô'Ñ(Ô(¨AÒ-ð	>àÔ# AÔ&Ô=ð ðÝ!%Ýðð ð ð ð à(/Ô(=Ô(Gðñ ô ðñ"
ô "
Ñˆ�˜ð Ôð 		ØÔ-ð		àÔ/ð		õ Ô,ð=ñô ð øøõ ð ð ð ÝÔÑ Ô ð 	ð 	Ø�LŠL‰NŒNˆNð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	øøðøøøð
ð 
ð 
ð
 +0¸5ð )ð )ð )ð )ð )ðVð ð ð ð ð ð" Ô(Ô2ð#ñ ô €Nõ( (Ø� ~ðñ ô €Lð0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ðd Ô ×$Ò$Ð%5°uÑ=Ô=ð &õ ˜F˜F 4™LœLÑ)Ô)ˆð	&ð 	&ð 	&ð 	&ð 	&õ #ØØØ -ØØ œ.Ô8ðñ ô €Fð  Ô+×1Ò1Ý�h°Ð?Ñ?Ô?ñô €FÔð
 ÔÔ4ð 	=ð	ð 	ð 	ð (,¨^Ð&<ˆÔ#àÔð ,Ø×Ò˜Ô*Ñ+Ô+Ð+à€Ms7   ÂAC! Ã!D-Ã>DÄD-ÄD#	Ä#D-Ä&D#	Ä'D-Ä,D-zsqlalchemy.orm.contextTc           	     óº  ‡— t           j        j        Š|r|                      ¦   «          ‰j                             |d¬¦  «        }| j        }	 d| _        ˆfd„t          |j        ¦  «        D ¦   «         }d„ |j        D ¦   «         }t          |d„ |j        D ¦   «         ¦  «        }g }	| 
                    ¦   «         D ]z}
|D ]W}|
|         �M|                      t          j        |
|         ¦  «        t          j        |
|         ¦  «        |i i ¬¦  «        |
|<   ŒX|	                      ||
¦  «        ¦  «         Œ{|                     |	¦  «        || _        S # || _        w xY w)az  Merge a :class:`_engine.FrozenResult` back into a :class:`_orm.Session`,
    returning a new :class:`_engine.Result` object with :term:`persistent`
    objects.

    See the section :ref:`do_orm_execute_re_executing` for an example.

    .. seealso::

        :ref:`do_orm_execute_re_executing`

        :meth:`_engine.Result.freeze`

        :class:`_engine.FrozenResult`

    F©rK   c                óD   •— g | ]\  }}t          |‰j        ¦  «        ¯|‘ŒS r=   ©Ú
isinstanceÚ_MapperEntity©r?   ÚiÚeÚquerycontexts      €rA   rB   z'merge_frozen_result.<locals>.<listcomp>J  s@   ø€ ð 
ð 
ð 
á��1Ý˜!˜\Ô7Ñ8Ô8ð
Øð
ð 
ð 
rC   c                ó   — g | ]	}|j         ‘Œ
S r=   ©Ú_label_name©r?   ra   s     rA   rB   z'merge_frozen_result.<locals>.<listcomp>O  s   € Ð9Ð9Ð9 C�”Ð9Ð9Ð9rC   c                ó   — g | ]	}|j         ‘Œ
S r=   ©Ú_extra_entitiesr´   s     rA   rB   z'merge_frozen_result.<locals>.<listcomp>R  s   € Ð@Ð@Ð@¨3�3Ô&Ð@Ð@Ð@rC   N©ÚloadÚ
_recursiveÚ_resolve_conflict_map)r   Ú	preloadedÚorm_contextÚ
_autoflushÚORMSelectCompileStateÚ_create_entities_collectionÚ	autoflushÚ	enumerater‘   r   Úrewrite_rowsÚ_merger   Úinstance_stateÚinstance_dictÚappendÚwith_new_rows)ÚsessionÚ	statementÚfrozen_resultr¹   ÚctxrÁ   Úmapped_entitiesÚkeysÚkeyed_tupler¥   Únewrowr®   r°   s               @rA   Úmerge_frozen_resultrÑ   ,  s§  ø€ õ" ”>Ô-€Làð à×ÒÑÔÐà
Ô
,×
HÒ
HØ˜%ð Iñ ô €Cð Ô!€Ið&Ø!ˆÔð
ð 
ð 
ð 
å! #¤-Ñ0Ô0ð
ñ 
ô 
ˆð
 :Ð9¨3¬=Ð9Ñ9Ô9ˆå"ØÐ@Ð@°#´-Ð@Ñ@Ô@ñ
ô 
ˆð ˆØ#×0Ò0Ñ2Ô2ð 	/ð 	/ˆFØ$ð ð �Ø˜!”9Ð(Ø '§¢Ý"Ô1°&¸´)Ñ<Ô<Ý"Ô0°¸´Ñ;Ô;Ø!Ø#%Ø.0ð !/ñ !ô !�F˜1‘Iøð �MŠM˜+˜+ fÑ-Ô-Ñ.Ô.Ð.Ð.à×*Ò*¨6Ñ2Ô2à%ˆÔÐø˜IˆÔÐ%Ð%Ð%Ð%s   ÁC<E Å	Ez:func:`_orm.merge_result`zyThe function as well as the method on :class:`_orm.Query` is superseded by the :func:`_orm.merge_frozen_result` function.)ÚalternativeÚqueryú
Query[Any]Úiteratorú>Union[FrozenResult, Iterable[Sequence[Any]], Iterable[object]]r¹   Úboolú"Union[FrozenResult, Iterable[Any]]c           	     ó  ‡‡‡— t           j        j        Š| j        Š‰r‰                     ¦   «          t          |t          ¦  «        r|}t          |j        ¦  «        }nd}‰j	         
                    | d¬¦  «        }‰j        }	 d‰_        | ot          |j        ¦  «        dk    }|r@t          |j        d         ‰j        ¦  «        rˆˆfd„|D ¦   «         }nît          |¦  «        }nÞˆfd„t!          |j        ¦  «        D ¦   «         }g }d	„ |j        D ¦   «         }	t#          |	d
„ |j        D ¦   «         ¦  «        }
|D ]‰}t          |¦  «        }|D ]W}||         �M‰                     t'          j        ||         ¦  «        t'          j        ||         ¦  «        ‰i i ¬¦  «        ||<   ŒX|                      |
|¦  «        ¦  «         ŒŠ|r|                     |¦  «        |‰_        S t          |¦  «        |‰_        S # |‰_        w xY w)z Merge a result into the given :class:`.Query` object's Session.

    See :meth:`_orm.Query.merge_result` for top-level documentation on this
    function.

    NTr¨   Fr   r   c           	     óŒ   •— g | ]@}‰                      t          j        |¦  «        t          j        |¦  «        ‰i i ¬ ¦  «        ‘ŒAS )r¸   )rÄ   r   rÅ   rÆ   )r?   Úinstancer¹   rÉ   s     €€rA   rB   z merge_result.<locals>.<listcomp>”  sc   ø€ ð 	ð 	ð 	ð !ð —N’NÝ"Ô1°(Ñ;Ô;Ý"Ô0°Ñ:Ô:Ø!Ø#%Ø.0ð #ñ ô ð	ð 	ð 	rC   c                óD   •— g | ]\  }}t          |‰j        ¦  «        ¯|‘ŒS r=   rª   r­   s      €rA   rB   z merge_result.<locals>.<listcomp>¡  s@   ø€ ð ð ð á�A�qÝ˜a Ô!;Ñ<Ô<ðØðð ð rC   c                ó   — g | ]	}|j         ‘Œ
S r=   r²   r´   s     rA   rB   z merge_result.<locals>.<listcomp>§  s   € Ð=Ð=Ð=¨�C”OÐ=Ð=Ð=rC   c                ó   — g | ]	}|j         ‘Œ
S r=   r¶   r´   s     rA   rB   z merge_result.<locals>.<listcomp>ª  s   € ÐDÐDÐD¨s�sÔ*ÐDÐDÐDrC   r¸   )r   r¼   r½   rÉ   r¾   r«   r!   r�   Údatar¿   rÀ   rÁ   r�   r‘   r¬   rn   rÂ   r   rÄ   r   rÅ   rÆ   rÇ   rÈ   )rÓ   rÕ   r¹   rË   rÌ   rÁ   r|   r¥   rÍ   rÎ   rÏ   re   rÐ   r®   r°   rÉ   s     `           @@rA   Úmerge_resultrà   h  s  øøø€ õ$ ”>Ô-€LàŒm€GØð à×ÒÑÔÐõ �(�LÑ)Ô)ð Ø ˆÝ˜Ô*Ñ+Ô+ˆˆàˆà
Ô
,×
HÒ
HØ�dð Iñ ô €Cð Ô!€Ið1&Ø!ˆÔØ)Ð)ÐE­c°#´-Ñ.@Ô.@ÀAÒ.Eˆàð &	3Ý˜#œ-¨Ô*¨LÔ,FÑGÔGð (ð	ð 	ð 	ð 	ð 	ð %-ð	ñ 	ô 	��õ ˜h™œ��ðð ð ð å% c¤mÑ4Ô4ðñ ô ˆOð
 ˆFØ=Ð=¨s¬}Ð=Ñ=Ô=ˆDå&ØÐDÐD°c´mÐDÑDÔDñô ˆKð  ð 3ð 3�Ý˜c™œ�Ø(ð ð �AØ˜a”yÐ,Ø$+§N¢NÝ&Ô5°f¸Q´iÑ@Ô@Ý&Ô4°V¸A´YÑ?Ô?Ø!%Ø')Ø24ð %3ñ %ô %˜˜q™	øð —’˜k˜k¨&Ñ1Ô1Ñ2Ô2Ð2Ð2àð 	 Ø ×.Ò.¨vÑ6Ô6ð &ˆÔÐõ ˜‘<”<à%ˆÔÐø˜IˆÔÐ%Ð%Ð%Ð%s   ÂEG: Ç$G: Ç:	HrÉ   r-   Úmapperú
Mapper[_O]Úkeyú_IdentityKeyType[_O]Úpassiver   ú)Union[LoaderCallableStatus, Optional[_O]]c                ó²  — | j                              |¦  «        }|�ºt          j        |¦  «        }|j        r&|j                             |¦  «        st          j        S |j        rp|t          j	        z  st          j
        S |t          j        z  s|S 	 |                     ||¦  «         n,# t          j        $ r |                      |g¦  «         Y dS w xY w|S dS )zqLook up the given key in the given session's identity map,
    check the object for expired state if found.

    N)Úidentity_maprš   r   rÅ   Úinheritsrá   ÚisaÚPASSIVE_CLASS_MISMATCHÚexpiredÚSQL_OKÚPASSIVE_NO_RESULTÚRELATED_OBJECT_OKÚ_load_expiredÚorm_excÚObjectDeletedErrorÚ_remove_newly_deleted)rÉ   rá   rã   rå   rÛ   Ústates         rA   Úget_from_identityrõ   Â  sû   € ð Ô#×'Ò'¨Ñ,Ô,€HØÐÝÔ)¨(Ñ3Ô3ˆàŒ?ð 	5 5¤<×#3Ò#3°FÑ#;Ô#;ð 	5ÝÔ4Ð4ð Œ=ð 	Ø�ZÔ.Ñ.ð  å!Ô3Ð3Ø�zÔ;Ñ;ð  ð
  �ðØ×#Ò# E¨7Ñ3Ô3Ð3Ð3øÝÔ-ð ð ð Ø×-Ò-¨u¨gÑ6Ô6Ð6Ø�t�tðøøøð ˆàˆts   ÂB) Â)%CÃCNF)	r_   Úrefresh_stateÚwith_for_updateÚonly_load_propsÚno_autoflushÚbind_argumentsr™   Úrequire_pk_colsÚis_user_refreshrÊ   úUnion[Select, FromStatement]úOptional[_IdentityKeyType]r_   úOptional[Sequence[ORMOption]]rö   úOptional[InstanceState[Any]]r÷   úOptional[ForUpdateArg]rø   úOptional[Iterable[str]]rù   rú   úMapping[str, Any]r™   r0   rû   rü   c       	        óh   — |�|d         }|d         }ndx}}t          | ||||||||||	|
|¬¦  «        S )z.Load the given identity key from the database.Nr   r   ©
r_   rö   r÷   rø   Úidentity_tokenrù   rú   r™   rû   rü   )Úload_on_pk_identity)rÉ   rÊ   rã   r_   rö   r÷   rø   rù   rú   r™   rû   rü   Úidentr  s                 rA   Úload_on_identr	  è  se   € ð  €Ø�A”ˆØ˜Qœˆˆà!%Ð%ˆ�åØØØØ!Ø#Ø'Ø'Ø%Ø!Ø%Ø+Ø'Ø'ðñ ô ð rC   r  Úprimary_key_identityúOptional[Tuple[Any, ...]]r  úOptional[Any]c       
   	     óˆ  ‡‡— |}|                      ¦   «         }|j        rJ ‚|€t          j        }|j        t
          j        u rt          j        }n|j        }|�Ä|j	        d         }|j
        \  }Šd|v rjˆfd„t          |j        |¦  «        D ¦   «         }t          j        ||¦  «        }t          |¦  «        t          |¦  «        k    rt!          j        d¦  «         t          j        |ddi¦  «        f|_        ˆfd„t          ||j        ¦  «        D ¦   «         }nd}|�
d}||_        n|j        �d}|j        |_        nd}|rœ|rš‰st+          j        d	¦  «        ‚‰j        j        }ˆfd
„|                     |¦  «        D ¦   «         }|r t+          j        d|› d‰j        › d�¦  «        ‚‰j        j        }|D ]&}||         j        r|                     |¦  «        } nŒ'‰r'‰j        r |d‰j        j         iz  } |j!        ‰j        Ž }tE          ||||‰||¬¦  «        \  }}||_        d|_#        |r|ddiz  }t           j$         %                    |
d|i¦  «        }
|  &                    |||
|	¬¦  «         '                    ¦   «          (                    ¦   «         }	 | )                    ¦   «         S # tT          j+        $ r Y dS w xY w)z6Load the given primary key identity from the database.NÚplugin_subjectc                ó4   •— h | ]\  }}|­‰|         j         ’ŒS r€   ©rã   )r?   ÚcolÚvalueÚ_get_paramss      €rA   ú	<setcomp>z&load_on_pk_identity.<locals>.<setcomp>9  s2   ø€ ð ð ð á�C˜Ø�=ð ˜CÔ Ô$à �=�=rC   zofully NULL primary key identity cannot load any object.  This condition may raise an error in a future release.Ú
_orm_adaptTc                ó2   •— i | ]\  }}‰|         j         |“ŒS r=   r  )r?   Úid_valÚprimary_keyr  s      €rA   ú
<dictcomp>z'load_on_pk_identity.<locals>.<dictcomp>L  s7   ø€ ð 
ð 
ð 
á#�˜ð ˜Ô$Ô(¨&ð
ð 
ð 
rC   Fz9refresh_state is required when require_pk_cols is presentc                ó\   •— h | ](}‰j         |         j                             ¦   «         ¯&|’Œ)S r=   )ÚattrsÚhistoryÚhas_changes)r?   rã   rö   s     €rA   r  z&load_on_pk_identity.<locals>.<setcomp>e  sF   ø€ ð 
ð 
ð 
àØÔ" 3Ô'Ô/×;Ò;Ñ=Ô=ð
Øð
ð 
ð 
rC   z7Please flush pending primary key changes on attributes z for mapper z! before proceeding with a refreshÚ_current_path)Úversion_checkrø   rö   r  rü   r¾   Ú_sa_orm_load_options)Úparamsr™   rú   ),Ú_cloneÚ_is_lambda_elementr   Údefault_load_optionsÚ_compile_optionsr&   Údefault_select_compile_optionsr   Údefault_compile_optionsÚ_propagate_attrsÚ_get_clauser“   r  Úsql_utilÚadapt_criterion_to_nullr�   r   ÚwarnÚ_deep_annotateÚ_where_criteriaÚ_for_update_argrF   ÚArgumentErrorrá   Ú_primary_key_propkeysÚ
differencerG   Ú_propsÚ_is_relationshipr�   r_   Ú	load_pathÚparentÚoptionsÚ_set_get_optionsÚ	_order_byr'   Ú
merge_withÚexecuteÚuniqueÚscalarsÚonerñ   ÚNoResultFound)rÉ   rÊ   r
  r_   rö   r÷   rø   r  rù   rú   r™   rû   rü   rÓ   ÚqÚcompile_optionsrá   r)  Únonesr!  r  Úrefresh_state_prokeysr  ÚmpÚpÚnew_compile_optionsr¥   r  s       `                      @rA   r  r    sÕ  øø€ ð$ €EØ�Š‰Œ€AàÔ#Ð#Ð#Ð#àÐÝ#Ô8ˆð 	Ô"ÝÔ5ð	6ð 	6õ *ÔAˆˆà#Ô4ˆàÐ'ØÔ'Ð(8Ô9ˆà#)Ô#5Ñ ˆ�[ð Ð'Ð'Ð'ðð ð ð å"% fÔ&8Ð:NÑ"OÔ"Oðñ ô ˆEõ #Ô:¸;ÈÑNÔNˆKå�5‰zŒz�SÐ!5Ñ6Ô6Ò6Ð6Ý”	ðñô ð õ Ô# K°,ÀÐ1EÑFÔFð
ˆÔð
ð 
ð 
ð 
å'*Ø$ fÔ&8ñ(ô (ð
ñ 
ô 
ˆˆð ˆàÐ"ØˆØ+ˆÔÐØ	Ô	Ð	*ØˆØ!Ô1ˆÔÐàˆàð ?˜?ð ?Øð 	ÝÔ&ØKñô ð ð !.Ô 4Ô JÐð
ð 
ð 
ð 
à,×7Ò7¸ÑHÔHð
ñ 
ô 
ˆð
 ð 	õ Ô,ð,àð,ð ,à,9Ô,@ð,ð ,ð ,ñô ð ðD Ô!Ô(ˆØ ð 	ð 	ˆAØ�!ŒuÔ%ð Ø"7×"=Ò"=¸oÑ"NÔ"N�Ø�ðð ð 3˜Ô3ð 3Ø˜O¨]Ô-DÔ-KÐLÑLˆØˆAŒI�}Ô1Ð2ˆå(8ØØØ#Ø'Ø#Ø%Ø'ð)ñ )ô )Ñ%Ð˜ð -€AÔØ€A„Kàð .Ø˜ uÐ-Ñ-ˆåœ×2Ò2ØÐ2°LÐAñô Ðð 	�ŠØØØ/Ø)ð	 	ñ 	
ô 	
÷ 
Š‰Œß	Š‰Œð ðØ�zŠz‰|Œ|ÐøÝÔ ð ð ð Øˆtˆtðøøøs   ÊJ. Ê.KË Kc                ó¦   — i }i }	|r||	d<   |r||	d<   |r
||	d<   d|d<   |rt          |¦  «        |d<   |r||	d<   |r||	d<   |	r||	z  }|r| |z  } | |fS )	NÚ_version_checkÚ_populate_existingÚ_refresh_stateTÚ_for_refresh_stateÚ_only_load_propsÚ_identity_tokenÚ_is_user_refresh)Ú	frozenset)
Úcompile_optÚload_optÚpopulate_existingr  rø   rö   r  rü   rA  r_   s
             rA   r8  r8  Ç  sÃ   € ð €OØ€LØð 7Ø)6ˆÐ%Ñ&Øð ?Ø->ˆÐ)Ñ*Øð 5Ø)6ˆÐ%Ñ&Ø04ˆÐ,Ñ-Øð IÝ.7¸Ñ.HÔ.HˆÐ*Ñ+Øð 9Ø*8ˆÐ&Ñ'àð ;Ø+:ˆÐ'Ñ(Øð !Ø�LÑ ˆØð 'Ø�Ñ&ˆà˜Ð Ð rC   c	           	     ó~  — |r|                      |¦  «        }
n|j        }
i }|                     | j        d|¦  «         |ot	          |¦  «        dk    o|d         j        }|
D ]$}|r
|j        |vrŒ |j        | |||f||||dœ|	¤Ž Œ%|�2||j        ur+|r|j	        |         }n|}| 
                    |¦  «         d S d S d S )NÚmemoized_setupsr   éÿÿÿÿ)rø   Úcolumn_collectionÚmemoized_populatorsÚcheck_for_adapt)Ú_iterate_polymorphic_propertiesÚ_polymorphic_propertiesÚsetr   r�   Úis_aliased_classrã   ÚsetupÚpolymorphic_onÚcolumnsrÇ   )r�   rá   r@   ry   ÚadapterrV  Úwith_polymorphicrø   Úpolymorphic_discriminatorÚkwÚpoly_propertiesÚquick_populatorsrX  r  Úpds                  rA   Ú_setup_entity_queryrg  é  s<  € ð ð 9Ø ×@Ò@Øñ
ô 
ˆˆð !Ô8ˆàÐà‡H‚Hˆ]Ô%Ð'8Ð:JÑKÔKÐKð ÐN¥# d¡)¤)¨q¢.ÐN°T¸"´XÔ5N€Oà ð 
ð 
ˆØð 	˜uœy°Ð?Ð?ØØˆŒØØØØð	
	
ð
 ,Ø/Ø 0Ø+ð
	
ð 
	
ð ð
	
ð 
	
ð 
	
ð 
	
ð 	"Ð-Ø%¨VÔ-BÐBÐBàð 	+Ø”Ð!:Ô;ˆBˆBà*ˆBØ× Ò  Ñ$Ô$Ð$Ð$Ð$ð 	.Ð-ØBÐBrC   c                óP   — t          j        dt          | ¦  «        ›d�¦  «         d S )NzLoading context for aW   has changed within a load/refresh handler, suggesting a row refresh operation took place. If this event handler is expected to be emitting row refresh operations within an existing load or refresh operation, set restore_load_context=True when establishing the listener to ensure the context remains unchanged when the event handler completes.)r   r,  r   )rô   s    rA   Ú_warn_for_runid_changedri     s:   € Ý„I€Iõ !*¨%Ñ 0Ô 0Ð 0Ð 0ð	3ñô ð ð ð rC   c
                ó|
  ‡‡‡‡‡‡ ‡!‡"‡#‡$‡%‡&‡'‡(‡)‡*‡+‡,‡-‡.‡/‡0‡1‡2‡3‡4— ‰j         Š ‰j        }
d‰f}|                     |
j        |d¦  «        }|�€ä‰j        }‰�!|                     ˆfd„‰D ¦   «         ¦  «        }|                     ‰j        dt          ¦  «        }g }g g g g g g dœ}‰€-‰j        }‰rˆfd„|D ¦   «         }|                     |¦  «        Š,ndŠ,||‰,dœ}|D �]7}||v �r||         }|t          u r(|d          
                    |j        |j        f¦  «         ŒA|t          u r#|d	          
                    |j        d
f¦  «         Œm|t          u r(|d          
                    |j        |j        f¦  «         Œžd}‰r%‰j        |         }|�|                     |d
¦  «        }|s|                     |d
¦  «        }|r$|d          
                    |j        |f¦  «         �Œ|                     ‰| |‰|‰|¦  «         �Œ"| 
                    |¦  «         �Œ9|                     |
j        ||¦  «         |d         }d„ |                     ¦   «         D ¦   «         Š*|d         D ]}|                     ‰| |‰|‰‰*¦  «         Œ‰j        Š-‰j        j        j        r‰j        j        |z   n|Š&‰j        j        Š2‰j        p‰j        Š)t9          ‰j        j        j        ¦  «        Š%t9          ‰j        j        j         ¦  «        Š.t9          ‰j        j        j!        ¦  «        Š(‰(r‰j        j        j!        Š't          j"        Š#t          j#        Š"‰j        j$        Š1‰j%        Š0‰j&        Š!‰j'        Š3‰3r0‰j(        }|�%‰r‰j        |         }|                     |¦  «        Š4ndŠ4‰sõ|	�ód|j        f}|‰j        v r/‰j        |         j)        dk    r‰j        |         j*        d         }nd}‰ +                    ||	¦  «        }|r˜||	ur”‰�J ‚|j,        r-g }|}|r&||	ur"| 
                    |¦  «         |j-        }|r||	u°"n|g}|D ]V}t\           /                    ‰‰&|¦  «        rŒta          ‰|||	|¦  «        }t\           1                    ‰‰&|j2        |||¦  «         ŒWt\           3                    ‰‰&‰¦  «        Š+‰r‰j        Š/‰/€‰ 4                    ‰¦  «        Š/n
dŠ/|d         Š,‰j5        rtl          j7        Š$ntl          j        Š$ˆˆ ˆ!ˆ"ˆ#ˆ$ˆ%ˆ&ˆ'ˆˆˆ(ˆ)ˆ*ˆ+ˆ,ˆ-ˆ.ˆ/ˆˆ0ˆ1ˆ2ˆ3ˆ4fd„}‰j8        r#|	s!‰sˆ ˆ!ˆ$ˆ,fd„}ts          |‰| ‰|||‰|¦	  «	        }|S )z]Produce a mapper level row processor callable
    which processes rows into mapped instances.ÚgettersNc              3  ó2   •K  — | ]}‰j         |         V — Œd S r€   )r3  )r?   Úkrá   s     €rA   ú	<genexpr>z&_instance_processor.<locals>.<genexpr>V  s;   øè è € ð 'ð 'Ø%&�”˜aÔ ð'ð 'ð 'ð 'ð 'ð 'rC   rT  )ÚnewÚquickÚdeferredÚexpireÚexistingÚeagerc                ó*   •— g | ]}‰j         |         ‘ŒS r=   )r_  )r?   Úcr`  s     €rA   rB   z'_instance_processor.<locals>.<listcomp>m  s    ø€ Ð?Ð?Ð?°!˜7œ?¨1Ô-Ð?Ð?Ð?rC   )Úcached_populatorsÚtodoÚprimary_key_getterro  rr  Frp  rw  c                ó4   — i | ]\  }}|t          |¦  «        “ŒS r=   )rn   )r?   rã   r  s      rA   r  z'_instance_processor.<locals>.<dictcomp>½  s$   € ÐOÐOÐO¡z s¨E�#•t˜E‘{”{ÐOÐOÐOrC   rx  Úloader))Úselectinload_polymorphicTÚentitiesry  c                óò  •— ‰r1‰}|                      ¦   «         } ‰|¦  «        }|j        ‰ k    }d}d}nØ‰ ‰| ¦  «        ‰f}‰"                     |¦  «        }|�@ ‰|¦  «        } ‰|¦  «        }|j        ‰ k    }| }d}‰#r‰$r|st          ‰||| ‰$¦  «         ns ‰|d         ¦  «        rd S d}d}d}‰j                             ¦   «         } ‰|¦  «        } ‰|¦  «        }||_        ‰|_        ‰!|_        ‰" 	                    ||¦  «         ‰}‰|u rd}|s|�r0|r‰s|s‰|_
        ‰|_        t          ‰| |||‰||‰¦	  «	         |rê|j        }	|rj‰r:|j        j                             |‰¦  «         |j        |	k    rt!          |¦  «         ‰r+ ‰‰j        |¦  «         |j        |	k    rt!          |¦  «         n=‰r;|j        j                             |‰‰¦  «         |j        ‰ k    rt!          |¦  «         |s|j        r1‰r‰r|                     |‰¦  «         n|                     |‰"¦  «         ‰r‰                     |d¦  «         n­|j        }
|‰j        v}|r
|
s‰d         rrt3          ‰| |||‰|
‰¦  «        }|rZ‰rB|j        }	|j        j                             |‰|¦  «         |j        |	k    rt!          |¦  «         |                     ||¦  «         ‰r‰j        r‰                     |d¦  «         |S )NTFr   rt  )rP   r‹   rš   Ú_validate_version_idÚclass_managerÚnew_instancerã   r  Ú
session_idÚ_add_unpresentr_   r5  Ú_populate_fullÚmanagerÚdispatchr¹   ri  rÉ   ÚrefreshÚmodifiedÚ_commitÚ_commit_allÚ	add_stateÚunloadedrk   Ú_populate_partialÚinvoke_all_eagers)%re   rô   rÛ   Údict_ÚisnewÚcurrentloadÚloaded_instanceÚidentitykeyÚeffective_populate_existingÚexisting_runidrŒ  Úto_loadr8   Úidentity_classr  rÆ   rÅ   Úis_not_primary_keyÚload_evtr5  Úloaded_as_persistentrá   rø   Úpersistent_evtrR  Ú
populatorsrz   ry  Úpropagated_loader_optionsÚrefresh_evtÚrefresh_identity_keyrö   r‹   r‚  Úsession_identity_mapr  Úversion_id_getters%               €€€€€€€€€€€€€€€€€€€€€€€€€rA   Ú	_instancez&_instance_processor.<locals>._instance,  s3  ø€ àð 6	Hà!ˆEØ—y’y‘{”{ˆHØ!�M (Ñ+Ô+ˆEØ”K 5Ò(ˆEØˆKØ#ˆOˆOð
 Ø"Ð" 3Ñ'Ô'ØðˆKð ,×/Ò/°Ñ<Ô<ˆHàÐ#à&˜ xÑ0Ô0�Ø%˜ hÑ/Ô/�àœ uÒ,�Ø"'˜i�Ø"'�à ð Ð%6ð ¸{ð Ý(Ø  u¨cÐ3Dñô ð øð &Ð% k°!¤nÑ5Ô5ð  Ø˜4à�Ø"�Ø"&�à!Ô/×<Ò<Ñ>Ô>�à%˜ hÑ/Ô/�Ø&˜ xÑ0Ô0�Ø'�”	Ø'5�Ô$ð $.�Ô Ø$×3Ò3°E¸;ÑGÔGÐGà&7Ð#Ø˜EÐ!Ð!Ø*.Ð'ð
 ð [	2Ð5ñ [	2ð ð ,Ø)ð,Ø1Lð,ð &?�Ô"Ø"+�”åØØØØØØØØ+Øñ
ô 
ð 
ð ð Gð "'¤�à"ð 7Øð ;ØœÔ.×3Ò3°E¸7ÑCÔCÐCØ œ;¨.Ò8Ð8Ý3°EÑ:Ô:Ð:Ø%ð ;Ø,Ð,¨W¬_¸eÑDÔDÐDØ œ;¨.Ò8Ð8Ý3°EÑ:Ô:Ð:øØ ð 7Ø”MÔ*×2Ò2Ø˜w¨ñô ð ð ”{ eÒ+Ð+Ý/°Ñ6Ô6Ð6à.ð G°%´.ð GØ$ð G¨ð GØŸš e¨_Ñ=Ô=Ð=Ð=à×)Ò)¨%Ð1EÑFÔFÐFàð 1Ø×#Ò# E¨4Ñ0Ô0Ð0øð ”~ˆHØ Ô!1Ð1ˆEàð 2˜Hð 2¨
°7Ô(;ð 2õ
 ,ØØØØØØØØñ	ô 	�ð ð 2Ø"ð ;Ø).¬˜ØœÔ.×6Ò6°u¸gÀwÑOÔOÐOØ œ;¨.Ò8Ð8Ý3°EÑ:Ô:Ð:à—M’M %¨Ñ1Ô1Ð1àð 2˜WÔ6ð 2Ø×#Ò# E¨5Ñ1Ô1Ð1àˆrC   c                óJ   •— ‰ ‰| ¦  «        ‰f} ‰|d         ¦  «        s|S d S )Nr   r=   )re   r“  r—  r  r˜  ry  s     €€€€rA   Úensure_no_pkz)_instance_processor.<locals>.ensure_no_pkÏ  sB   ø€ àØ"Ð" 3Ñ'Ô'ØðˆKð
 &Ð% k°!¤nÑ5Ô5ð Ø"Ð"à�trC   ):Ú_identity_classr�   rš   r   Ú	_prop_setÚintersectionr'   r  Ú_tuple_getterr   rÇ   rã   Ú_deferred_column_loaderr   r   Ú_raise_column_loaderr_  Ú_getterÚcreate_row_processorr[  rp   r�  Úcurrent_pathry   rÉ   rè   rR  Úalways_refreshr×   r€  r†  r¹   r‡  rš  rÅ   rÆ   Úhash_keyr‹   r  r  Úversion_id_colÚstrategyÚ
local_optsÚ_should_selectin_loadÚ	is_mapperré   ÚPostLoadÚpath_existsÚ_load_subclass_via_inÚcallable_for_pathrá   Úfor_contextÚ_identity_key_from_stateÚallow_partial_pksr   Ú
issupersetÚpolymorphic_mapÚ_decorate_polymorphic_switch)5r@   rá   r8   r¥   ry   r`  rø   rö   rb  Ú_polymorphic_fromr�   Ú
getter_keyrk  Úpropsre  rx  rw  Úpk_colsÚpropr  ÚgetterÚadapted_colr°  rã   Úoption_entitiesÚselectin_load_viaÚ_load_supersÚ_endmost_mapperÚ_selectinload_entityÚ	callable_r¢  r¤  r—  r  rÆ   rÅ   r˜  r™  r5  rš  r›  rR  rœ  rz   ry  r�  rž  rŸ  r‹   r‚  r   r  r¡  s5    ``  ```                        @@@@@@@@@@@@@@@@@@@@@rA   Ú_instance_processorrÌ  ,  sÇ  øøøøøøøøøøøøøøøøøøøøøøøøøø€ ð* Ô+€NØÔ)€Mð ˜VÐ$€JØ�hŠh�}Ô/°¸TÑBÔB€Gà�ð Ô ˆØÐ&Ø×&Ò&ð 'ð 'ð 'ð 'Ø*9ð'ñ 'ô 'ñ ô ˆEð  Ÿ8š8ØÔÐ 1µ:ñ
ô 
Ðð ˆàØØØØØð
ð 
Ðð Ð àÔ(ˆGàð @Ø?Ð?Ð?Ð?°wÐ?Ñ?Ô?�Ø!'×!5Ò!5°gÑ!>Ô!>ÐÐà!%Ðð "3ØØ"4ð
ð 
ˆð
 ð @	"ñ @	"ˆDØÐ'Ð'Ñ'à& tÔ,�ØÕ*Ð*Ð*Ø% eÔ,×3Ò3Øœ 4Ô#?Ð@ñô ð ð ð Õ1Ð1Ð1ð & hÔ/×6Ò6¸¼À%Ð7HÑIÔIÐIÐIØÕ,Ð,Ð,Ø% eÔ,×3Ò3Øœ 4Ô#<Ð=ñô ð ð ð "�FØð Hð* '.¤o°cÔ&:˜Ø&Ð2Ø%+§^¢^°KÀÑ%GÔ%G˜FØ!ð <Ø!'§¢°°UÑ!;Ô!;˜Øð Ø)¨'Ô2×9Ò9¸4¼8ÀVÐ:LÑMÔMÐMÑMð
 ×1Ò1Ø#Ø(Ø Ø"Ø"Ø#Ø-ñô ð ñ ð —’˜DÑ!Ô!Ð!Ñ!à�Š�Ô)¨:°wÑ?Ô?Ð?àÐ 3Ô4ÐàOÐOÐ5F×5LÒ5LÑ5NÔ5NÐOÑOÔO€JØ˜”ð 
ð 
ˆØ×!Ò!Ø�\ 4¨°¸À*ñ	
ô 	
ð 	
ð 	
ð !(Ô AÐð Ô Ô-Ô2ð	ˆÔÔ*¨TÑ1Ð1àð ð #œ?Ô7ÐàÔ1ÐJ°VÔ5JÐÝ�FÔ(Ô1Ô6Ñ7Ô7€HÝ�vÔ+Ô4Ô<Ñ=Ô=€KÝ˜'œ/Ô2ÔGÑHÔH€NØð MØ&œÔ7ÔLÐÝÔ.€NÝÔ,€MØ”Ô)€JØŒM€EØÔ+€NàÔ)€MØð %ØÔ.ˆØÐ%Øð AØ!(¤°Ô!@�Ø &§¢¨~Ñ >Ô >ÐÐà $Ðàð 3Ð.Ð:Ø˜œÐ#ˆà�'Ô$Ð$Ð$¨Ô);¸CÔ)@Ô)Ið N
ò *
ð *
ð &Ô0°Ô5Ô@ÀÔLˆOˆOà"ˆOØ"×8Ò8ØØñ
ô 
Ðð
 ð %	Ð!2Ð:KÐ!KÐ!Kð #Ð*Ð*Ð*à Ô*ð 
3Ø!�Ø"3�à#ð?à'Ð/@Ð@Ð@à ×'Ò'¨Ñ8Ô8Ð8Ø&5Ô&>�Oð	 $ð?à'Ð/@Ð@Ð@øð
 !2Ð2�à(4ð ð Ð$Ý×'Ò'Ø˜YÐ(<ñô ð ð Ý1ØØØ(Ø%Ø#ñô �	õ ×*Ò*ØØØ(Ô/Ø(ØØ(ñô ð ð õ ×$Ò$ W¨i¸ÑIÔI€Iàð ;Ø,Ô0ÐØÐ'ð $*×#BÒ#BØñ$ô $Ð øð  $Ðà$Ð%9Ô:ÐàÔð 4Ý&Ô1ÐÐå&Ô3Ðð^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð ^ð@ Ôð 
Ð&7ð 
Àð 
ð		ð 		ð 		ð 		ð 		ð 		ð 		ð 		õ 1ØØØØØØØ%ØØñ

ô 

ˆ	ð ÐrC   c                óì   ‡‡‡	‡
‡‡— |j         Š
|j         }|j        d u}t          ‰
j        j        ¦  «        dk    Š|j        s|r‰
                     ||¦  «        \  ŠŠ	Šn‰
j        \  ŠŠ	Šˆˆ	ˆ
ˆˆˆfd„}|S )Nr   c                ó˜  •— ‰sˆfd„|D ¦   «         }|sd S | j         }|j        r+‰                     |¦  «        }‰                     |¦  «        }n‰}‰}|f|j        z   |fz   } ‰j        |Ž }	| j        j        |	_        |	xj        d|j        iz  c_        | j        r|	 	                    d¬¦  «        }	|r—|dt          j        …         }
|t          j        d …         }| j                             |	t          ˆfd„|
D ¦   «         ¬¦  «        ¦  «                             ¦   «                              ¦   «                              ¦   «          |°•d S d S )Nc                óR   •— g | ]#\  }}|j                              ‰¦  «        ¯||f‘Œ$S r=   )rá   Ú+_would_selectin_load_only_from_given_mapper)r?   ÚsÚvrá   s      €rA   rB   z:_load_subclass_via_in.<locals>.do_load.<locals>.<listcomp>  sG   ø€ ð ð ð á�A�qØ”8×GÒGÈÑOÔOðØ�A�ðð ð rC   r  T)rR  r   c                óZ   •— g | ]'\  }}‰r|j         d          d         n|j         d          ‘Œ(S )r   r   r  )r?   rô   Ú
load_attrsÚzero_idxs      €rA   rB   z:_load_subclass_via_in.<locals>.do_load.<locals>.<listcomp>'  sF   ø€ ð "ð "ð "á-˜E :ð ,4ÐE˜œ	 !œ Qœ˜¸¼À1¼ð"ð "ð "rC   )Úprimary_keys)rÓ   r6  Ú_prepend_pathÚ_with_optionsr7  r�   r'  r%  rR  r™   r   Ú
_chunksizerÉ   r;  rž   r<  r=  Úall)r8   ry   ÚstatesÚ	load_onlyÚeffective_entityÚ
orig_queryÚenable_opt_lclÚdisable_opt_lclr7  Úq2ÚchunkÚdisable_optÚ
enable_optrá   rÆ  r@  rÕ  s              €€€€€€rA   Údo_loadz&_load_subclass_via_in.<locals>.do_loadý  s²  ø€ Øð 	ðð ð ð à"ðñ ô ˆFð ð Ø�à”]ˆ
àŒ;ð 	*Ø'×5Ò5°dÑ;Ô;ˆNØ)×7Ò7¸Ñ=Ô=ˆOˆOà'ˆNØ)ˆOàÐ 
Ô 8Ñ8¸OÐ;MÑMð 	ð ˆQŒY˜Ð ˆà%Ô3ÔKˆÔØ
ÐÔ °´Ð=Ñ=ÐÔàÔ$ð 	>Ø×%Ò%¸Ð%Ñ=Ô=ˆBàð 	'Ø˜1�~Ô8Ð8Ô9ˆEØ�NÔ5Ð7Ð7Ô8ˆFØŒO×#Ò#ØÝð"ð "ð "ð "à16ð"ñ "ô "ðñ ô ñô ÷ Šf‰hŒh—w’w‘y”y§¢¡¤ ð ð 	'ð 	'ð 	'ð 	'ð 	'rC   )rá   ré   r�   Úbase_mapperr  r\  Ú_subclass_load_via_inÚ_subclass_load_via_in_mapper)r8   ry   ÚentityÚpolymorphic_fromrÆ  Úpolymorphic_from_mapperÚnot_against_basemostrå  rã  rä  rá   r@  rÕ  s       `   @@@@@rA   r·  r·  é  sÆ   øøøøøø€ ð Œ]€Fð
 /Ô5ÐØ2Ô;À4ÐGÐå�6Ô%Ô1Ñ2Ô2°aÒ7€HàÔð IÐ"6ð IØ%+×%AÒ%AØÐ$ñ&
ô &
Ñ"ˆˆ:�{�{ð &,Ô%HÑ"ˆˆ:�{ð/'ð /'ð /'ð /'ð /'ð /'ð /'ð /'ð /'ð /'ðb €NrC   c	                óB  — |r²| j         |_         |d         D ]\  }	}
 |
|¦  «        ||	<   Œ|rA|d         D ]7\  }	}|                     |	d ¦  «         |r|j                             |	¦  «         Œ8n*|d         D ]!\  }	}|r|j                             |	¦  «         Œ"|d         D ]\  }	} ||||¦  «         Œd S ||j        k    rD||_        |d         D ]\  }	}
|	|vr |
|¦  «        ||	<   Œ|d         D ]\  }	} ||||¦  «         Œd S |d         D ]\  }	} ||||¦  «         Œd S )Nrp  rr  ro  rs  )r‹   ÚpopÚexpired_attributesÚaddr5  )r8   re   rô   r�  r�  r5  r’  rR  rœ  rã   rÄ  Úset_callableÚ	populators                rA   r„  r„  1  sÓ  € ð ð ()à”mˆŒà% gÔ.ð 	%ð 	%‰KˆC�Ø˜ ™œˆE�#‰JˆJØð 	6Ø%/°Ô%9ð 6ð 6Ñ!��\Ø—	’	˜#˜tÑ$Ô$Ð$Øð 6ØÔ,×0Ò0°Ñ5Ô5Ð5øð6ð
 &0°Ô%9ð 6ð 6Ñ!��\Øð 6ØÔ,×0Ò0°Ñ5Ô5Ð5øà(¨Ô/ð 	)ð 	)‰NˆC�ØˆI�e˜U CÑ(Ô(Ð(Ð(ð	)ð 	)ð 
�e”oÒ	%Ð	%ð $ˆŒð & gÔ.ð 	)ð 	)‰KˆC�Ø˜%ÐÐØ#˜V C™[œ[��c‘
øð )¨Ô4ð 	)ð 	)‰NˆC�ØˆI�e˜U CÑ(Ô(Ð(Ð(ð	)ð 	)ð )¨Ô4ð 	)ð 	)‰NˆC�ØˆI�e˜U CÑ(Ô(Ð(Ð(ð	)ð 	)rC   c                ó  — |sO|r |d         D ]\  }}	||v r |	|¦  «        ||<   Œ| j         |         }
|d         D ]\  }}||
v r ||||¦  «         Œn�|}
|
| j         |<   |d         D ]\  }}	||
v r |	|¦  «        ||<   Œ|d         D ];\  }}||
v r2|                     |d ¦  «         |r|j                             |¦  «         Œ<|d         D ]\  }}||
v r ||||¦  «         Œ|d         D ]\  }}||vr ||||¦  «         Œ|
S )Nrp  rs  rr  ro  rt  )rk   rî  rï  rð  )r8   re   rô   r�  r�  r5  rŒ  rœ  rã   rÄ  r–  rò  rñ  s                rA   r�  r�  j  sŸ  € ð ð -Øð 	-à)¨'Ô2ð -ð -‘��VØ˜(�?�?Ø!' ¨¡¤�E˜#‘JøàÔ" 5Ô)ˆØ(¨Ô4ð 	-ð 	-‰NˆC�Ø�gˆ~ˆ~Ø�	˜% ¨Ñ,Ô,Ð,øð	-ð ˆØ")ˆÔ˜Ñà% gÔ.ð 	)ð 	)‰KˆC�Ø�gˆ~ˆ~Ø#˜V C™[œ[��c‘
øØ!+¨HÔ!5ð 	6ð 	6ÑˆC�Ø�gˆ~ˆ~Ø—	’	˜#˜tÑ$Ô$Ð$Øð 6ØÔ,×0Ò0°Ñ5Ô5Ð5øØ(¨Ô/ð 	-ð 	-‰NˆC�Ø�gˆ~ˆ~Ø�	˜% ¨Ñ,Ô,Ð,øà$ WÔ-ð )ð )‰ˆˆYØ�hÐÐØˆI�e˜U CÑ(Ô(Ð(øà€NrC   c           
     óô   — |                       ||| j        ¦  «         ||¦  «        k    rNt          j        dt	          |¦  «        ›d|                       ||| j        ¦  «        ›d ||¦  «        ›d�¦  «        ‚d S )Nz
Instance 'z' has version id 'z3' which does not match database-loaded version id 'z'.)Ú_get_state_attr_by_columnr°  rñ   ÚStaleDataErrorr   )rá   rô   r�  re   rÄ  s        rA   r  r  �  s¨   € Ø×'Ò'Øˆu�fÔ+ñô à	ˆ�‰Œòð õ Ô$Ð$õ ˜%Ñ Ô Ð Ð Ø×0Ò0Ø˜5 &Ô"7ñô ð ð ð ��s‘”��ðñ

ô 

ð 
	
ðð rC   c	                óÔ   ‡ ‡‡‡‡‡‡‡‡‡‡— |�|Šn‰j         Š‰€‰ S ‰r‰j        ‰         Šˆˆˆˆˆˆfd„}	t          j        |	¦  «        Š‰                     ‰¦  «        Šˆˆˆ ˆˆˆfd„}
|
S )Nc           	     óÆ   •— 	 ‰j         |          }|‰u rd S |                     ‰¦  «        sdS t          ‰|‰‰‰‰‰¬¦  «        S # t          $ r t	          d| z  ¦  «        ‚w xY w)NF)r¿  z*No such polymorphic_identity %r is defined)r½  rê   rÌ  ÚKeyErrorÚAssertionError)ÚdiscriminatorÚ
sub_mapperr`  r8   rá   ry   r@   r¥   s     €€€€€€rA   Úconfigure_subclass_mapperz?_decorate_polymorphic_switch.<locals>.configure_subclass_mapperµ  s£   ø€ ð	ØÔ/°Ô>ˆJð ˜VÐ#Ð#Ø�tØ—^’^ FÑ+Ô+ð Ø�uå&ØØØØØØØ"(ðñ ô ð øõ ð 	ð 	ð 	Ý Ø<¸}ÑLñô ð ð	øøøs   ƒA ÁA c           
     ó.  •—  ‰| ¦  «        }|�^‰|         }|r || ¦  «        S |du r: ‰| ¦  «        }|r+t          j        d|›d‰	›d‰j        |         ›d‰›�¦  «        ‚d S  ‰| ¦  «        S  ‰| ¦  «        }|rt          j        d|›d‰	›d�¦  «        ‚d S )NFzRow with identity key zG can't be loaded into an object; the polymorphic discriminator column 'z' refers to z-, which is not a sub-mapper of the requested z	' is NULL)rF   rG   r½  )
re   rû  r¢  r“  r¤  rÄ  Úinstance_fnrá   Úpolymorphic_instancesr^  s
       €€€€€€rA   Úpolymorphic_instancez:_decorate_polymorphic_switch.<locals>.polymorphic_instanceÐ  sü   ø€ Ø˜˜s™œˆØÐ$Ø-¨mÔ<ˆIØð (Ø �y ‘~”~Ð%Ø˜eÐ#Ð#Ø*˜l¨3Ñ/Ô/�àð  Ý Ô4Ð4ð (˜K˜KØ*˜N˜NØ"Ô2°=ÔAÐAÐAØ"˜Fð	ñô ð ð  ˜4à"�{ 3Ñ'Ô'Ð'à&˜, sÑ+Ô+ˆKàð ÝÔ0Ð0ð *˜k˜k¨>¨>¨>ð;ñô ð ð �trC   )r^  r_  r   ÚPopulateDictr«  )rÿ  r8   r@   rá   r¥   ry   rb  r`  r¤  rý  r  rÄ  r   r^  s   `````` ``  @@@rA   r¾  r¾     sÖ   øøøøøøøøøøø€ ð !Ð,Ø2ˆˆàÔ.ˆØÐØÐàð 9Ø œ¨Ô8ˆðð ð ð ð ð ð ð ð ð õ. !Ô-Ð.GÑHÔHÐà�^Š^˜NÑ+Ô+€Fð$ð $ð $ð $ð $ð $ð $ð $ð $ð $ðL  ÐrC   c                  ój   — e Zd ZdZdZd„ Zd„ Zd„ Zed„ ¦   «         Z	ed„ ¦   «         Z
ed„ ¦   «         Zd	S )
rµ  z4Track loaders and states for "post load" operations.)ÚloadersrÛ  Ú	load_keysc                óR   — i | _         t          j        ¦   «         | _        d | _        d S r€   )r  r   ÚOrderedDictrÛ  r  )Úselfs    rA   Ú__init__zPostLoad.__init__þ  s$   € ØˆŒÝÔ&Ñ(Ô(ˆŒØˆŒˆˆrC   c                ó   — || j         |<   d S r€   )rÛ  )r  rô   Ú	overwrites      rA   r‹  zPostLoad.add_state  s   € ð
 'ˆŒ�EÑÐÐrC   c                óF  ‡	— | j         sd S t          j                             |¦  «        }| j                             ¦   «         D ]D\  }}Š	}}}ˆ	fd„| j                              ¦   «         D ¦   «         }|r ||||| j        g|¢R i |¤Ž ŒE| j                              ¦   «          d S )Nc                ó\   •— g | ](\  }}|j         j                             ‰¦  «        ¯$||f‘Œ)S r=   )r…  rá   rê   )r?   rô   r  Úlimit_to_mappers      €rA   rB   z#PostLoad.invoke.<locals>.<listcomp>  sK   ø€ ð ð ð á$�E˜9Ø”=Ô'×+Ò+¨OÑ<Ô<ðØ˜	Ð"ðð ð rC   )	rÛ  r   ÚPathRegistryÚcoercer  Úvaluesrp   r  rq   )
r  r8   ry   Úeffective_contextÚtokenr{  Úargrc  rÛ  r  s
            @rA   rr   zPostLoad.invoke
  sò   ø€ ØŒ{ð 	ØˆFÝÔ)×0Ò0°Ñ6Ô6ˆð Œ\× Ò Ñ"Ô"ð	ð 	ñ 
ØØØØØØðð ð ð à(,¬×(9Ò(9Ñ(;Ô(;ðñ ô ˆFð
 ð Ø�Ø% t¨V°T´^ðØFIðð ð ØMOðð ð øð 	Œ×ÒÑÔÐÐÐrC   c                óZ   — |j                              |j        ¦  «        }|�	|r||_        |S r€   )ro   rš   ry   r  )Úclsr8   ry   rø   Úpls        rA   r¹  zPostLoad.for_context!  s/   € àÔ$×(Ò(¨¬Ñ3Ô3ˆØˆ>˜oˆ>Ø*ˆBŒLØˆ	rC   c                óP   — |j         |j        v o||j        |j                  j        v S r€   )ry   ro   r  )r  r8   ry   rã   s       rA   r¶  zPostLoad.path_exists(  s1   € ð ŒI˜Ô0Ð0ð BØ�wÔ.¨t¬yÔ9ÔAÐAð	
rC   c                ó¢   — |j         |j        v r|j        |j                  }nt          ¦   «         x}|j        |j         <   ||||||f|j        |<   d S r€   )ry   ro   rµ  r  )	r  r8   ry   r  r  Úloader_callabler  rc  r  s	            rA   r¸  zPostLoad.callable_for_path/  sc   € ð Œ9˜Ô/Ð/Ð/ØÔ(¨¬Ô3ˆBˆBå6>±j´jÐ@ˆB�Ô(¨¬Ñ3àØØØØØð
ˆŒ
�5ÑÐÐrC   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r	  r‹  rr   Úclassmethodr¹  r¶  r¸  r=   rC   rA   rµ  rµ  ù  s�   € € € € € Ø>Ð>à0€Iðð ð ð
'ð 'ð 'ðð ð ð. ðð ñ „[ðð ð
ð 
ñ „[ð
ð ð
ð 
ñ „[ð
ð 
ð 
rC   rµ  c                óâ  ‡ — |j         }|s$t          j        dt          |¦  «        z  ¦  «        ‚t	          |t
          j        z  ¦  «        }|r,|                     ‰ j         	                    ¦   «         ¦  «        }‰ j
        rD‰ j        s=‰                      ||¦  «        }|�%t          ‰ |¦  «        }t          ||d|||¬¦  «        S t	          |j        ¦  «        }|r|j        }	nfˆ fd„‰ j        D ¦   «         }
|j                             |
¦  «        r$t%          j        dt          |¦  «        z  ¦  «        ‚‰                      |¦  «        }	t+          j        |	¦  «        r‰ j        rt+          j        |	¦  «        r$t3          j        dt          |¦  «        ¦  «         dS t          |t7          ‰ ¦  «                             t:          ¦  «        |	|||¬¦  «        }|r|€t          j        |¦  «        ‚dS dS )z4initiate a column-based attribute refresh operation.zQInstance %s is not bound to a Session; attribute refresh operation cannot proceedN)rø   rö   rù   c                ó4   •— g | ]}‰j         |         j        ‘ŒS r=   )Ú_columntopropertyrã   )r?   r  rá   s     €rA   rB   z*load_scalar_attributes.<locals>.<listcomp>t  s1   ø€ ð 
ð 
ð 
Ø25ˆFÔ$ SÔ)Ô-ð
ð 
ð 
rC   z_Instance %s cannot be refreshed - it's not  persistent and does not contain a full primary key.zwInstance %s to be refreshed doesn't contain a full primary key - can't be refreshed (and shouldn't be expired, either).)rö   rø   rù   )rÉ   rñ   ÚDetachedInstanceErrorr   r×   r   ÚNO_AUTOFLUSHr§  r  rÎ   ré   ÚconcreteÚ_optimized_get_statementr   r	  rã   r  rï  rF   rG   rº  r   Úissubsetr»  r¼  r   Úwarn_limitedr#   Úset_label_styler%   rò   )rá   rô   Úattribute_namesrå   rÉ   rù   rÊ   ÚstmtÚhas_keyÚidentity_keyÚpk_attrsr¥   s   `           rA   Úload_scalar_attributesr0  A  s]  ø€ ð Œm€GØð 
ÝÔ+ð9Ý<EÀeÑ<LÔ<LñNñ
ô 
ð 	
õ
 ˜¥*Ô"9Ñ9Ñ:Ô:€Lð ð LØ)×6Ò6°v´|×7HÒ7HÑ7JÔ7JÑKÔKˆà„ð ˜vœð ð ×3Ò3°E¸?ÑKÔKˆ	ØÐ õ ! ¨Ñ3Ô3ˆDå ØØØØ /Ø#Ø)ðñ ô ð õ �5”9‰oŒo€Gàð >Ø”yˆˆð
ð 
ð 
ð 
Ø9?Ô9Kð
ñ 
ô 
ˆð Ô#×0Ò0°Ñ:Ô:ð 	ÝÔ,ð.å09¸%Ñ0@Ô0@ñAñô ð ð
 ×6Ò6°uÑ=Ô=ˆõ 	Ô˜<Ñ(Ô(ð	Ø17Ô1Ið	å	Ô	˜lÑ	+Ô	+ð	õ 	Ôð2õ �eÑÔñ		
ô 	
ð 	
ð 	ˆåØÝˆv‰Œ×&Ò&Õ'EÑFÔFØØØ'Ø!ðñ ô €Fð ð 0�6�>ÝÔ(¨Ñ/Ô/Ð/ð0ð 0�>�>rC   )r6   r7   r8   r   r9   r:   )T)rÓ   rÔ   rÕ   rÖ   r¹   r×   r9   rØ   )
rÉ   r-   rá   râ   rã   rä   rå   r   r9   ræ   )rÉ   r-   rÊ   rý   rã   rþ   r_   rÿ   rö   r   r÷   r  rø   r  rù   r×   rú   r  r™   r0   rû   r×   rü   r×   )rÉ   r-   rÊ   rý   r
  r  r_   rÿ   rö   r   r÷   r  rø   r  r  r  rù   r×   rú   r  r™   r0   rû   r×   rü   r×   )NNNNNN)NNN)NNNN)^r  Ú
__future__r   Útypingr   r   r   r   r   r	   r
   r   r   r   r   Ú r   r   rñ   r   Úbaser   r   r   r   r8   r   r   r   Ú
strategiesr   r   r   r   rF   Úenginer   Úengine.resultr    r!   r"   Úsqlr#   r*  Úsql.selectabler$   r%   r&   r'   Ú_typingr(   r)   Ú
interfacesr*   rá   r+   rÓ   r,   rÉ   r-   rô   r.   Úengine.cursorr/   Úengine.interfacesr0   r1   r2   r3   Úobjectr5   ÚcounterrŠ   ÚstrÚ_PopulatorDictr¦   Úpreload_modulerÑ   Úbecame_legacy_20rà   rõ   r	  r  r8  rg  ri  rÌ  r·  r„  r�  r  r¾  rµ  r0  r=   rC   rA   ú<module>rD     sA  ððð ð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø  Ð  Ð  Ð  Ð  Ð  Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø "Ð "Ð "Ð "Ð "Ð "Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø $Ð $Ð $Ð $Ð $Ð $Ø !Ð !Ð !Ð !Ð !Ð !Ø &Ð &Ð &Ð &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø (Ð (Ð (Ð (Ð (Ð (Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "Ø )Ð )Ð )Ð )Ð )Ð )Ø ;Ð ;Ð ;Ð ;Ð ;Ð ;Ø (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð àð Ø)Ð)Ð)Ð)Ð)Ð)Ø*Ð*Ð*Ð*Ð*Ð*Ø%Ð%Ð%Ð%Ð%Ð%ØÐÐÐÐÐØÐÐÐÐÐØ Ð Ð Ð Ð Ð Ø$Ð$Ð$Ð$Ð$Ð$Ø,Ð,Ð,Ð,Ð,Ð,Ø3Ð3Ð3Ð3Ð3Ð3Ø&Ð&Ð&Ð&Ð&Ð&ØÐÐÐÐÐà€WˆT˜ÐÑÔ€Ø€WˆT˜Ð Ñ Ô €ØˆTŒ\‰^Œ^€
ð �c˜4  c¨3 h¤Ô0Ð0Ô1€ðZð Zð Zð Zðz €ÔÐ-Ñ.Ô.ð8&ð 8&ð 8&ñ /Ô.ð8&ðv €ÔØðFðñ ô ð
 €ÔÐ-Ñ.Ô.ð ðQ&ð Q&ð Q&ð Q&ñ /Ô.ñô ðQ&ðh#ð #ð #ð #ðV 37Ø26Ø.2Ø/3ØØ(,¬Ø)-¬Ø!Ø!ð$ð $ð $ð $ð $ð $ðX 37Ø26Ø.2Ø/3Ø$(ØØ(,¬Ø)-¬Ø!Ø!ðuð uð uð uð uð uðv ØØØØØð!ð !ð !ð !ðR ØØ"ð4%ð 4%ð 4%ð 4%ðn	ð 	ð 	ð& ØØ"Øðzð zð zð zðzEð Eð EðP3)ð 3)ð 3)ðr"ð "ð "ðJ
ð 
ð 
ð"V ð V ð V ðrE
ð E
ð E
ð E
ð E
ñ E
ô E
ð E
ðPU0ð U0ð U0ð U0ð U0rC   