+
    ˜h©jW  ã                  óâ  € R t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^ R	IHt ^ R
IHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIHt ^RIH t  ^RIH!t! ^RIH"t" ^RI#H$t$ ^RI#H%t% ^R I#H&t& ^R!I#H't' ^R"I(H)t) ^R#I(H*t* ^R$I(H+t+ ^R%I,H-t- ]'       dO   ^R&IH.t. ^R'I/H0t0 ^R(IH1t1 ^R)IH2t2 ^R*I3H4t4 ^R+I3H5t5 ^R,I6H7t7 ^R-IH8t8 ^R.I9H:t: ^R/I"H;t; ^R0I<H=t= ^R1I>H?t? ^R2I>H@t@ ]! R3]R47      tA ! R5 R6]]A,          4      tB ! R7 R8]P†                  ]Pˆ                  4      tE]!PŒ                  ]PŽ                  P‘                  R9R:7       ! R; R<]P’                  ]!P”                  4      4       4       tK ! R= R>4      tL ! R? R@]]A,          4      tM ! RA RB]M]A,          4      tNRC# )DzèWrite-only collection API.

This is an alternate mapped attribute style that only supports single-item
collection mutation operations.   To read the collection, a select()
object must be executed each time.

.. versionadded:: 2.0


)Úannotations)ÚAny)Ú
Collection)ÚDict)ÚGeneric)ÚIterable)ÚIterator)ÚList)ÚNoReturn)ÚOptional)Úoverload)ÚTuple)ÚType)ÚTYPE_CHECKING)ÚTypeVar)ÚUnion)Ú	bindparam)Ú
attributes)Ú
interfaces)Úrelationships)Ú
strategies)Ú	NEVER_SET)Úobject_mapper)ÚPassiveFlag)ÚRelationshipDirection)Úexc)Úinspect)Úlog)Úutil)Údelete)Úinsert)Úselect)Úupdate)ÚDelete)ÚInsert)ÚUpdate)ÚLiteral)ÚQueryableAttribute)Ú_InstanceDict)ÚAttributeEventToken)ÚLoaderCallableStatus)Ú_AdaptedCollectionProtocol)ÚCollectionAdapter)ÚMapper)Ú_RelationshipOrderByArg)ÚInstanceState)ÚAliasedClass)Ú	_Dispatch)Ú
FromClause)ÚSelectÚ_T)Úboundc                  ó°   € ] tR t^Mt$ RtR]R&   R]R&   R]R&   R]R&   RR	 R
 llt]R R l4       t]R R l4       t	R R lt
R R ltR R ltR R ltRtR# )ÚWriteOnlyHistoryzDOverrides AttributeHistory to receive append/remove events directly.zutil.OrderedIdentitySetÚunchanged_itemsÚadded_itemsÚdeleted_itemsÚboolÚ_reconcile_collectionNc          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )é   ÚattrÚWriteOnlyAttributeImplÚstateúInstanceState[_T]Úpassiver   Úapply_tozOptional[WriteOnlyHistory[_T]]ÚreturnÚNone© )Úformats   "ÚS/var/www/html/bestweb/venv/lib/python3.14/site-packages/sqlalchemy/orm/writeonly.pyÚ__annotate__ÚWriteOnlyHistory.__annotate__U   s<   € ÷ /ñ /à$ð/ð !ð/ð ð	/ð
 1ð/ð 
ñ/ó    c                	óÀ  € V'       d�   V\         P                  ,          '       d   \        P                  ! R V RV R24      hVP                  V n        VP
                  V n        VP                  V n        VP                  V n        R# \        P                  ! 4       V n        \        P                  ! 4       V n        \        P                  ! 4       V n        RV n        R# )z
Attribute z¬ can't load the existing state from the database for this operation; full iteration is not permitted.  If this is a delete operation, configure passive_deletes=True on the z- relationship in order to resolve this error.FN)
r   ÚSQL_OKr   ÚInvalidRequestErrorr8   r9   r:   r<   r   ÚOrderedIdentitySet)Úselfr?   rA   rC   rD   s   &&&&&rI   Ú__init__ÚWriteOnlyHistory.__init__U   s½   € ÷ Øœ×+Ñ+×+Ô+Ü×-Ò-Ø   ð '3ð 48°&ð 93ð3óð ð $,×#;Ñ#;ˆDÔ Ø'×3Ñ3ˆDÔØ!)×!7Ñ!7ˆDÔØ)1×)GÑ)GˆDÖ&ä!%×!8Ò!8Ó!:ˆDÔÜ#×6Ò6Ó8ˆDÔÜ#'×#:Ò#:Ó#<ˆDÔ Ø).ˆDÖ&rL   c               ó   € V ^8„  d   QhRR/# ©r>   rE   zList[_T]rG   )rH   s   "rI   rJ   rK   q   s   € ÷ Bñ B hñ BrL   c                	ó^   € \        V P                  P                  V P                  4      4      # ©N)Úlistr9   Úunionr8   ©rQ   s   &rI   Úadded_plus_unchangedÚ%WriteOnlyHistory.added_plus_unchangedp   s$   € ä�D×$Ñ$×*Ñ*¨4×+?Ñ+?Ó@ÓAÐArL   c               ó   € V ^8„  d   QhRR/# rU   rG   )rH   s   "rI   rJ   rK   u   s   € ÷ 
ñ 
˜8ñ 
rL   c                	ó�   € \        V P                  P                  V P                  4      P                  V P                  4      4      # rW   )rX   r9   rY   r8   r:   rZ   s   &rI   Ú	all_itemsÚWriteOnlyHistory.all_itemst   s=   € äØ×Ñ×"Ñ" 4×#7Ñ#7Ó8×>Ñ>Ø×"Ñ"óó
ð 	
rL   c               ó   € V ^8„  d   QhRR/# )r>   rE   úattributes.HistoryrG   )rH   s   "rI   rJ   rK   |   s   € ÷ Oñ OÐ.ñ OrL   c                	óž  € V P                   '       dg   V P                  P                  V P                  4      pV P                  P                  V P                  4      pV P                  P                  V4      pM#V P                  V P                  V P                  r#p\        P                  ! \        V4      \        V4      \        V4      4      # rW   )	r<   r9   Ú
differencer8   r:   Úintersectionr   ÚHistoryrX   )rQ   ÚaddedÚdeletedÚ	unchangeds   &   rI   Ú
as_historyÚWriteOnlyHistory.as_history|   s£   € Ø×%×%Ð%Ø×$Ñ$×/Ñ/°×0DÑ0DÓEˆEØ×(Ñ(×5Ñ5°d×6JÑ6JÓKˆGØ×,Ñ,×7Ñ7¸Ó@‰Ið × Ñ Ø×$Ñ$Ø×"Ñ"ð &ˆEô
 ×!Ò!¤$ u£+¬t°I«ÄÀWÃÓNÐNrL   c               ó    € V ^8„  d   QhRRRR/# )r>   ÚindexzUnion[int, slice]rE   zUnion[List[_T], _T]rG   )rH   s   "rI   rJ   rK   ‰   s   € ÷ -ñ -Ð.ð -Ð3Fñ -rL   c                	ó:   € \        V P                  4      V,          # rW   )rX   r9   )rQ   rm   s   &&rI   ÚindexedÚWriteOnlyHistory.indexed‰   s   € Ü�D×$Ñ$Ó% eÕ,Ð,rL   c               ó    € V ^8„  d   QhRRRR/# ©r>   Úvaluer4   rE   rF   rG   )rH   s   "rI   rJ   rK   Œ   s   € ÷ $ñ $˜rð $ dñ $rL   c                	ó<   € V P                   P                  V4       R # rW   )r9   Úadd©rQ   rs   s   &&rI   Ú	add_addedÚWriteOnlyHistory.add_addedŒ   s   € Ø×Ñ×Ñ˜UÖ#rL   c               ó    € V ^8„  d   QhRRRR/# rr   rG   )rH   s   "rI   rJ   rK   �   s   € ÷ *ñ * ð *¨ñ *rL   c                	ó–   € WP                   9   d   V P                   P                  V4       R # V P                  P                  V4       R # rW   )r9   Úremover:   ru   rv   s   &&rI   Úadd_removedÚWriteOnlyHistory.add_removed�   s6   € Ø×$Ñ$Ô$Ø×Ñ×#Ñ# EÖ*à×Ñ×"Ñ" 5Ö)rL   )r<   r9   r:   r8   rW   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__rR   Úpropertyr[   r_   rj   ro   rw   r|   Ú__static_attributes__rG   rL   rI   r7   r7   M   sf   ‡ ÙNà,Ó,Ø(Ó(Ø*Ó*ØÓ÷/ð6 ôBó ðBð ô
ó ð
õOõ-õ$÷*ñ *rL   r7   c                  óÖ  a € ] tR t^–t$ RtR]R&   RtR]R&   RtR]R&   RtR]R&   Rt	R]R&   Rt
R]R	&   R:tR
]R&   ]tR]R&   R]R&   R V 3R llt]P                   3R R llt]R;R R ll4       t]R;R R ll4       t]R;R R ll4       tR]P                   3R R llt]P*                  R R l4       t]P*                  R R  l4       tR<R! R" lltR<R# R$ lltR% R& ltR]P                   RRR3R' R( lltR) R* ltR+ R, lt]P<                  3R- R. llt]P@                  3R/ R0 llt!R1 R2 lt"]P<                  3R3 R4 llt#]P<                  3R5 R6 llt$]P<                  3R7 R8 llt%R9t&V ;t'# )=r@   Tr;   Úuses_objectsFÚdefault_accepts_scalar_loaderÚsupports_populationÚ_supports_dynamic_iterationÚ
collectionÚdynamicr.   Úorder_byzType[WriteOnlyHistory[Any]]Úcollection_history_clszType[WriteOnlyCollection[Any]]Úquery_classc               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# )r>   Úclass_z#Union[Type[Any], AliasedClass[Any]]ÚkeyÚstrÚdispatchz"_Dispatch[QueryableAttribute[Any]]Útarget_mapperz
Mapper[_T]r�   r.   Úkwr   rG   )rH   s   "rI   rJ   Ú#WriteOnlyAttributeImpl.__annotate__¤   sF   € ÷ ,ñ ,à3ð,ð ð,ð 5ð	,ð
 "ð,ð *ð,ð ñ,rL   c                	ó„   <€ \         SV `  ! WR V3/ VB  W@n        \        V n        V'       d   \        V4      V n        R # R # rW   )ÚsuperrR   r•   ÚWriteOnlyCollectionr�   Útupler�   )rQ   r‘   r’   r”   r•   r�   r–   Ú	__class__s   &&&&&&,€rI   rR   ÚWriteOnlyAttributeImpl.__init__¤   s<   ø€ ô 	‰Ò˜ d¨HÑ;¸Ò;Ø*ÔÜ.ˆÔßÜ! (›OˆDŽMñ rL   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r>   rA   úInstanceState[Any]Údict_r(   rC   r   rE   z8Union[util.OrderedIdentitySet, WriteOnlyCollection[Any]]rG   )rH   s   "rI   rJ   r—   ³   s3   € ÷ 1ñ 1à!ð1ð ð1ð ð	1ð
 
Bñ1rL   c                	ó²   € V\         P                  ,          '       g+   V P                  V\         P                  4      P                  # V P                  W4      # rW   )r   rN   Ú_get_collection_historyÚPASSIVE_NO_INITIALIZEr9   r�   )rQ   rA   r    rC   s   &&&&rI   ÚgetÚWriteOnlyAttributeImpl.get³   sK   € ð œ×+Ñ+×+Ô+Ø×/Ñ/Ø”{×8Ñ8óç‰kðð ×#Ñ# DÓ0Ð0rL   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r>   rA   rŸ   r    r(   Ú	user_datazLiteral[None]rC   z Literal[PassiveFlag.PASSIVE_OFF]rE   r,   rG   )rH   s   "rI   rJ   r—   Á   s<   € ÷  ñ  à!ð ð ð ð !ð	 ð
 2ð ð 
ñ rL   c                	ó   € R # rW   rG   ©rQ   rA   r    r§   rC   s   &&&&&rI   Úget_collectionÚ%WriteOnlyAttributeImpl.get_collectionÀ   ó   € ñ  rL   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# )r>   rA   rŸ   r    r(   r§   r+   rC   r   rE   r,   rG   )rH   s   "rI   rJ   r—   Ê   s<   € ÷  ñ  à!ð ð ð ð .ð	 ð
 ð ð 
ñ rL   c                	ó   € R # rW   rG   r©   s   &&&&&rI   rª   r«   É   r¬   rL   c          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# ©r>   rA   rŸ   r    r(   r§   z$Optional[_AdaptedCollectionProtocol]rC   r   rE   zIUnion[Literal[LoaderCallableStatus.PASSIVE_NO_RESULT], CollectionAdapter]rG   )rH   s   "rI   rJ   r—   Ó   s<   € ÷ ñ à!ðð ðð 8ð	ð
 ðð
ñrL   c                	ó   € R # rW   rG   r©   s   &&&&&rI   rª   r«   Ò   s   € ñ rL   Nc          
     ó,   € V ^8„  d   QhRRRRRRRRR	R
/# r°   rG   )rH   s   "rI   rJ   r—   Ý   s<   € ÷ .ñ .à!ð.ð ð.ð 8ð	.ð
 ð.ð
ñ.rL   c                	óÄ   € V\         P                  ,          '       g   V P                  W4      P                  pMV P                  W4      pVP                  p\        V4      # rW   )r   rN   r¢   r9   r[   ÚDynamicCollectionAdapter)rQ   rA   r    r§   rC   ÚdataÚhistorys   &&&&&  rI   rª   r«   Ý   sQ   € ð œ×+Ñ+×+Ô+Ø×/Ñ/°Ó?×KÑK‰Dà×2Ñ2°5ÓBˆGØ×/Ñ/ˆDÜ'¨Ó-Ð-rL   c               ó   € V ^8„  d   QhRR/# ©r>   rE   zattributes.AttributeEventTokenrG   )rH   s   "rI   rJ   r—   ï   ó   € ÷ Jñ JÐ=ñ JrL   c                	óL   € \         P                  ! V \         P                  4      # rW   )r   r)   Ú	OP_APPENDrZ   s   &rI   Ú_append_tokenÚ$WriteOnlyAttributeImpl._append_tokenî   ó   € ä×-Ò-¨d´J×4HÑ4HÓIÐIrL   c               ó   € V ^8„  d   QhRR/# r¸   rG   )rH   s   "rI   rJ   r—   ó   r¹   rL   c                	óL   € \         P                  ! V \         P                  4      # rW   )r   r)   Ú	OP_REMOVErZ   s   &rI   Ú_remove_tokenÚ$WriteOnlyAttributeImpl._remove_tokenò   r¾   rL   c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# ©r>   rA   rŸ   r    r(   rs   r   Ú	initiatorúOptional[AttributeEventToken]Úcollection_historyzOptional[WriteOnlyHistory[Any]]rE   rF   rG   )rH   s   "rI   rJ   r—   ö   sN   € ÷ Mñ Mà!ðMð ðMð ð	Mð
 1ðMð <ðMð 
ñMrL   c                	óH  € Vf   V P                  W4      pVP                  V4       V P                  P                   F   pT! YT;'       g    V P                  4      pK"  	  V P
                  '       d0   Ve*   V P                  \        P                  ! V4      VR4       R # R # R # )NT)	Ú_modified_eventrw   r”   Úappendr¼   ÚtrackparentÚsethasparentr   Úinstance_state©rQ   rA   r    rs   rÆ   rÈ   Úfns   &&&&&& rI   Úfire_append_eventÚ(WriteOnlyAttributeImpl.fire_append_eventö   s�   € ð Ò%Ø!%×!5Ñ!5°eÓ!CÐà×$Ñ$ UÔ+à—-‘-×&Ô&ˆBÙ�u Y×%DÐ%D°$×2DÑ2DÓEŠEñ 'ð ××Ð Ò 1Ø×Ñœj×7Ò7¸Ó>ÀÀtÖLñ !2ÑrL   c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# rÅ   rG   )rH   s   "rI   rJ   r—   	  sF   € ÷ >ñ >à!ð>ð ð>ð ð	>ð
 1ð>ð <ð>ð 
ñ>rL   c                	ó@  € Vf   V P                  W4      pVP                  V4       V P                  '       d,   Ve(   V P                  \        P
                  ! V4      VR4       V P                  P                   F   pT! YT;'       g    V P                  4       K"  	  R # )NF)	rÊ   r|   rÌ   rÍ   r   rÎ   r”   r{   rÂ   rÏ   s   &&&&&& rI   Úfire_remove_eventÚ(WriteOnlyAttributeImpl.fire_remove_event	  sƒ   € ð Ò%Ø!%×!5Ñ!5°eÓ!CÐà×&Ñ& uÔ-à××Ð Ò 1Ø×Ñœj×7Ò7¸Ó>ÀÀuÔMà—-‘-×&Ô&ˆBÙˆu˜Y×<Ð<¨$×*<Ñ*<Ö=ó 'rL   c               ó$   € V ^8„  d   QhRRRRRR/# )r>   rA   rŸ   r    r(   rE   úWriteOnlyHistory[Any]rG   )rH   s   "rI   rJ   r—     s$   € ÷ /ñ /Ø'ð/Ø0=ð/à	ñ/rL   c                	ó(  € V P                   VP                  9  d8   V P                  W\        P                  4      VP                  V P                   &   VP                  W \        4       R W P                   &   VP                  V P                   ,          # ©T)r’   Úcommitted_staterŽ   r   ÚPASSIVE_NO_FETCHrÊ   r   )rQ   rA   r    s   &&&rI   rÊ   Ú&WriteOnlyAttributeImpl._modified_event  st   € ð �8‰8˜5×0Ñ0Ô0Ø.2×.IÑ.IØœ[×9Ñ9ó/ˆE×!Ñ! $§(¡(Ñ+ð 	×Ñ˜e¬9Ô5ð ˆ�h‰h‰Ø×$Ñ$ T§X¡XÕ.Ð.rL   c               ó<   € V ^8„  d   QhRRRRRRRRR	R
RRRRRRRR/	# )r>   rA   rŸ   r    r(   rs   r   rÆ   rÇ   rC   r   Ú	check_oldÚpopr;   Ú_adaptrE   rF   rG   )rH   s   "rI   rJ   r—   +  sd   € ÷ ;ñ ;à!ð;ð ð;ð ð	;ð
 1ð;ð ð;ð ð;ð ð;ð ð;ð 
ñ;rL   c	           	     	ó   € V'       d   VP                   V P                   J d   R # V'       d   Vf   R # Tp	\        V	4      p
VP                  '       dT   V P                  '       g   \        P
                  ! RV  R24      h\        P                  ! V P                  WVR7      4      pV P                  W4      pVP                  '       g   VP                  pMXP                  VP                  4      pVP                  V
4      p\        P                  ! V
4      P                  V4      pVP                  V4      pV
 F"  pVV9   g   K  V P                  VVVR VR7       K$  	  V F  pV P                  VVVR VR7       K  	  R # )NzCollection "zV" does not support implicit iteration; collection replacement operations can't be used©rC   )rÈ   )Úparent_tokenrX   Úhas_identityrŠ   r   rO   r   ÚIdentitySetr¤   rÊ   r9   rY   re   rd   rÑ   rÕ   )rQ   rA   r    rs   rÆ   rC   rß   rà   rá   ÚiterableÚ
new_valuesÚold_collectionrÈ   Ú	constantsÚ	additionsÚremovalsÚmembers   &&&&&&&&&        rI   ÚsetÚWriteOnlyAttributeImpl.set+  su  € ÷ ˜×/Ñ/°4×3DÑ3DÓDÙç�5’=ÙàˆÜ˜(“^ˆ
Ø××ÐØ×3×3Ð3Ü×-Ò-Ø" 4 &ð )$ð $óð ô
 "×-Ò-Ø—‘˜¨w�Ó7óˆNð "×1Ñ1°%Ó?ÐØ×!×!Ð!Ø/×;Ñ;‰Nà+×1Ñ1Ø"×.Ñ.óˆNð #×/Ñ/°
Ó;ˆ	Ü×$Ò$ ZÓ0×;Ñ;¸IÓFˆ	Ø!×,Ñ,¨YÓ7ˆã ˆFØ˜Ö"Ø×&Ñ&ØØØØØ'9ð 'ö ñ !ó ˆFØ×"Ñ"ØØØØØ#5ð #ö ó rL   c               ó$   € V ^8„  d   QhRRRRRR/# )r>   Úargsr   ÚkwargsrE   r
   rG   )rH   s   "rI   rJ   r—   h  s!   € ÷ $ñ $˜Cð $¨3ð $°8ñ $rL   c                	ó   € \        4       hrW   ©ÚNotImplementedError)rQ   rñ   rò   s   &*,rI   r   ÚWriteOnlyAttributeImpl.deleteh  s   € Ü!Ó#Ð#rL   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r>   rA   rŸ   r    r(   rs   r   rE   r
   rG   )rH   s   "rI   rJ   r—   k  s,   € ÷ 
ñ 
Ø'ð
Ø0=ð
ØFIð
à	ñ
rL   c                	ó   € \        R 4      h)z7Dynamic attributes don't support collection population.rô   )rQ   rA   r    rs   s   &&&&rI   Úset_committed_valueÚ*WriteOnlyAttributeImpl.set_committed_valuek  s   € ô "ØEó
ð 	
rL   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r>   rA   rŸ   r    r(   rC   r   rE   rb   rG   )rH   s   "rI   rJ   r—   r  s2   € ÷ ñ à!ðð ðð ð	ð
 
ñrL   c                	óD   € V P                  W4      pVP                  4       # rW   )r¢   rj   )rQ   rA   r    rC   Úcs   &&&& rI   Úget_historyÚ"WriteOnlyAttributeImpl.get_historyr  s    € ð ×(Ñ(¨Ó8ˆØ�|‰|‹~ÐrL   c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r>   rA   rŸ   r    r(   rC   r   rE   z$List[Tuple[InstanceState[Any], Any]]rG   )rH   s   "rI   rJ   r—   {  s8   € ÷ Hñ Hà!ðHð ðHð ð	Hð
 
.ñHrL   c                	ó’   € V P                  W4      pVP                   Uu. uF  p\        P                  ! V4      V3NK  	  up# u upi rW   )r¢   r_   r   rÎ   )rQ   rA   r    rC   rý   Úxs   &&&&  rI   Úget_all_pendingÚ&WriteOnlyAttributeImpl.get_all_pending{  s@   € ð ×(Ñ(¨Ó8ˆØ;<¿;º;ÓG¹;°a”×*Ò*¨1Ó-¨qÓ1¹;ÑGÐGùÒGs    !Ac               ó$   € V ^8„  d   QhRRRRRR/# )r>   rA   rŸ   rC   r   rE   rØ   rG   )rH   s   "rI   rJ   r—   „  s$   € ÷ ñ Ø'ðØ2=ðà	ñrL   c                	ó<  € V P                   VP                  9   d   VP                  V P                   ,          pM V P                  W\        P                  4      pVP
                  '       d1   V\        P                  ,          '       d   V P                  WW#R 7      # V# ))rD   )r’   rÛ   rŽ   r   rÜ   rå   ÚINIT_OK)rQ   rA   rC   rý   s   &&& rI   r¢   Ú.WriteOnlyAttributeImpl._get_collection_history„  s‡   € ð �8‰8�u×,Ñ,Ô,Ø×%Ñ% d§h¡hÕ/‰Aà×+Ñ+Øœ[×9Ñ9óˆAð ××Ð 7¬[×-@Ñ-@×#@Ô#@Ø×.Ñ.Ø˜Wð /ó ð ð ˆHrL   c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# ©r>   rA   rŸ   r    r(   rs   r   rÆ   rÇ   rC   r   rE   rF   rG   )rH   s   "rI   rJ   r—   –  óN   € ÷ 	Cñ 	Cà!ð	Cð ð	Cð ð		Cð
 1ð	Cð ð	Cð 
ñ	CrL   c                	ó8   € W@Jd   V P                  WW44       R # R # rW   )rÑ   ©rQ   rA   r    rs   rÆ   rC   s   &&&&&&rI   rË   ÚWriteOnlyAttributeImpl.append–  ó   € ð Ó Ø×"Ñ" 5°ÖBñ !rL   c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# r
  rG   )rH   s   "rI   rJ   r—   ¡  r  rL   c                	ó8   € W@Jd   V P                  WW44       R # R # rW   )rÕ   r  s   &&&&&&rI   r{   ÚWriteOnlyAttributeImpl.remove¡  r  rL   c               ó0   € V ^8„  d   QhRRRRRRRRR	R
RR/# r
  rG   )rH   s   "rI   rJ   r—   ¬  sN   € ÷ Eñ Eà!ðEð ðEð ð	Eð
 1ðEð ðEð 
ñErL   c                	ó.   € V P                  WW4VR 7       R# )rã   N)r{   r  s   &&&&&&rI   rà   ÚWriteOnlyAttributeImpl.pop¬  s   € ð 	�‰�E %¸GˆÖDrL   )r�   r�   r•   rG   )..rW   )(r~   r   r€   r�   r‡   rƒ   rˆ   r‰   rŠ   r‹   rŒ   r�   r7   rŽ   rR   r   ÚPASSIVE_OFFr¤   r   rª   r   Úmemoized_propertyr¼   rÂ   rÑ   rÕ   rÊ   rî   r   rù   rÜ   rþ   r£   r  r¢   rË   r{   rà   r…   Ú__classcell__)rœ   s   @rI   r@   r@   –   s˜  ø‡ ð €L�$ÓØ*/Ð! 4Ó/Ø %Ð˜Ó%Ø(-Ð Ó-Ø€J�ÓØ€GˆTÓØ(*€HÐ%Ó*Ø:JÐÐ7ÓJà/Ó/÷,ð ,ð&  +×6Ñ6÷	1ð ö ó ð ð ö ó ð ð öó ðð ;?Ø*×6Ñ6÷.ð" 
×ÑôJó ðJð 
×ÑôJó ðJ÷M÷&>õ&/ð( 48Ø*×6Ñ6ØØØ÷;õz$õ
ð  +×;Ñ;÷	ð  +×@Ñ@÷	Hõð0  +×;Ñ;÷	Cð"  +×;Ñ;÷	Cð"  +×;Ñ;÷Eõ ErL   r@   Ú
write_only)Úlazyc                  ó&   € ] tR tRt]tR R ltRtR# )ÚWriteOnlyLoaderi·  c               ó    € V ^8„  d   QhRRRR/# )r>   ÚmapperzMapper[Any]rE   rF   rG   )rH   s   "rI   rJ   ÚWriteOnlyLoader.__annotate__¼  s   € ÷ 
ñ 
¨;ð 
¸4ñ 
rL   c           
     	óÒ  € R V n         V P                  '       d:   V P                  P                  \        P
                  \        P                  39  d(   \        P                  ! RV P                  ,          4      h\        P                  ! V P                  VR V P                  V P                  P                  V P                  P                  V P                  P                  R7       R# )TztOn relationship %s, 'dynamic' loaders cannot be used with many-to-one/one-to-one relationships and/or uselist=False.)Ú	useobjectÚ
impl_classr•   r�   r�   N)Úis_class_levelÚuselistÚparent_propertyÚ	directionr   Ú	ONETOMANYÚ
MANYTOMANYr   rO   r   Ú_register_attributer"  r  r�   r�   )rQ   r  s   &&rI   Úinit_class_attributeÚ$WriteOnlyLoader.init_class_attribute¼  s¹   € Ø"ˆÔØ�|�|ˆ|˜t×3Ñ3×=Ñ=Ü× Ñ Ü×!Ñ!ðF
ô  
ô ×)Ò)ð!à#'×#7Ñ#7õ8óð ô 	×&Ò&Ø× Ñ ØØØ—‘Ø×.Ñ.×5Ñ5Ø×)Ñ)×2Ñ2Ø×,Ñ,×8Ñ8÷	
rL   )r#  N)r~   r   r€   r�   r@   r"  r*  r…   rG   rL   rI   r  r  ·  s   † ð (€J÷
ñ 
rL   r  c                  ób   € ] tR tRt$ RtR]R&   R R ltR R ltR	 R
 ltR R lt	R R lt
RtR# )r´   iÓ  z9simplified CollectionAdapter for internal API consistencyúCollection[Any]rµ   c               ó   € V ^8„  d   QhRR/# )r>   rµ   r-  rG   )rH   s   "rI   rJ   Ú%DynamicCollectionAdapter.__annotate__Ø  s   € ÷ ñ ˜_ñ rL   c                	ó   € Wn         R # rW   ©rµ   )rQ   rµ   s   &&rI   rR   Ú!DynamicCollectionAdapter.__init__Ø  s   € ØŽ	rL   c               ó   € V ^8„  d   QhRR/# )r>   rE   zIterator[Any]rG   )rH   s   "rI   rJ   r/  Û  s   € ÷ ñ ˜-ñ rL   c                	ó,   € \        V P                  4      # rW   )Úiterrµ   rZ   s   &rI   Ú__iter__Ú!DynamicCollectionAdapter.__iter__Û  s   € Ü�D—I‘I‹ÐrL   c               ó   € V ^8„  d   QhRR/# )r>   rE   rF   rG   )rH   s   "rI   rJ   r/  Þ  s   € ÷ ñ ˜dñ rL   c                	ó   € R # rW   rG   rZ   s   &rI   Ú_reset_emptyÚ%DynamicCollectionAdapter._reset_emptyÞ  s   € ÙrL   c               ó   € V ^8„  d   QhRR/# )r>   rE   ÚintrG   )rH   s   "rI   rJ   r/  á  s   € ÷ ñ ˜ñ rL   c                	ó,   € \        V P                  4      # rW   )Úlenrµ   rZ   s   &rI   Ú__len__Ú DynamicCollectionAdapter.__len__á  s   € Ü�4—9‘9‹~ÐrL   c               ó   € V ^8„  d   QhRR/# )r>   rE   r;   rG   )rH   s   "rI   rJ   r/  ä  s   € ÷ ñ ˜$ñ rL   c                	ó   € R # rÚ   rG   rZ   s   &rI   Ú__bool__Ú!DynamicCollectionAdapter.__bool__ä  s   € ÙrL   r1  N)r~   r   r€   r�   r‚   rƒ   rR   r6  r:  r@  rD  r…   rG   rL   rI   r´   r´   Ó  s)   ‡ ÙCà
Óõõõõ÷ñ rL   r´   c                  óh   € ] tR tRt$ Rt]'       g   RtR]R&   R]R&   R R ltR	 R
 lt	R R lt
RtR# )ÚAbstractCollectionWriteriè  zkVirtual collection which includes append/remove methods that synchronize
into the attribute event system.

r4   ÚinstancezTuple[FromClause, ...]Ú	_from_objc               ó    € V ^8„  d   QhRRRR/# )r>   r?   r@   rA   rB   rG   )rH   s   "rI   rJ   Ú%AbstractCollectionWriter.__annotate__ô  s   € ÷ (ñ (Ð3ð (Ð<Mñ (rL   c                	ó  € VP                  4       p\        '       d   V'       g   Q hW0n        Wn        \	        V4      pVP
                  V P                  P                  ,          pVP                  e-   VP                  P                  4       VP                  3V n
        MRV n
        VP                  VRR7      3V n        V P                  P                  '       d   V P                  P                  V n        R # RV n        R # )NF)Úalias_secondaryrG   )Úobjr   rH  r?   r   Ú_propsr’   Ú	secondaryr  Ú__clause_element__rI  Ú_with_parentÚ_where_criteriar�   Ú_order_by_clauses)rQ   r?   rA   rH  r  Úprops   &&&   rI   rR   Ú!AbstractCollectionWriter.__init__ô  s¾   € Ø—9‘9“;ˆß‹=ßˆO�8Ø ŒØŒ	ä˜xÓ(ˆØ�}‰}˜TŸY™YŸ]™]Õ+ˆà�>‰>Ò%ð #Ÿk™k×<Ñ<Ó>ÀÇÁÐOˆD�NàˆDŒNð ×Ñ˜h¸ÐÓ>ð 
ˆÔð �9‰9××ÐØ%)§Y¡Y×%7Ñ%7ˆDÖ"à%'ˆDÖ"rL   c               ó    € V ^8„  d   QhRRRR/# ©r>   ÚiteratorzIterable[_T]rE   rF   rG   )rH   s   "rI   rJ   rK    s   € ÷ ñ  lð °tñ rL   c                	óÌ   € V F]  pV P                   P                  \        P                  ! V P                  4      \        P
                  ! V P                  4      VR 4       K_  	  R # rW   )r?   rË   r   rÎ   rH  Úinstance_dict)rQ   rY  Úitems   && rI   Ú_add_all_implÚ&AbstractCollectionWriter._add_all_impl  sH   € ÛˆDØ�I‰I×ÑÜ×)Ò)¨$¯-©-Ó8Ü×(Ò(¨¯©Ó7ØØö	ó rL   c               ó    € V ^8„  d   QhRRRR/# ©r>   r\  r4   rE   rF   rG   )rH   s   "rI   rJ   rK    s   € ÷ 
ñ 
 ð 
¨ñ 
rL   c                	óº   € V P                   P                  \        P                  ! V P                  4      \        P
                  ! V P                  4      VR 4       R # rW   )r?   r{   r   rÎ   rH  r[  ©rQ   r\  s   &&rI   Ú_remove_implÚ%AbstractCollectionWriter._remove_impl  s>   € Ø�	‰	×ÑÜ×%Ò% d§m¡mÓ4Ü×$Ò$ T§]¡]Ó3ØØö		
rL   )rI  rT  rS  r?   rH  NrG   )r~   r   r€   r�   r‚   r   Ú	__slots__rƒ   rR   r]  rc  r…   rG   rL   rI   rG  rG  è  s1   ‡ ñ÷
 Øˆ	àƒLØ%Ó%õ(õB÷
ñ 
rL   rG  c                  ó~   € ] tR tRtRtRtR R ltR R ltR R ltR	 R
 lt	R R lt
R R ltR R ltR R ltRtR# )rš   i'  ay  Write-only collection which can synchronize changes into the
attribute event system.

The :class:`.WriteOnlyCollection` is used in a mapping by
using the ``"write_only"`` lazy loading strategy with
:func:`_orm.relationship`.     For background on this configuration,
see :ref:`write_only_relationship`.

.. versionadded:: 2.0

.. seealso::

    :ref:`write_only_relationship`

c               ó   € V ^8„  d   QhRR/# )r>   rE   r
   rG   )rH   s   "rI   rJ   Ú WriteOnlyCollection.__annotate__@  s   € ÷ 
ñ 
˜(ñ 
rL   c                	ó   € \        R 4      h)z°WriteOnly collections don't support iteration in-place; to query for collection items, use the select() method to produce a SQL statement and execute it with session.scalars().)Ú	TypeErrorrZ   s   &rI   r6  ÚWriteOnlyCollection.__iter__@  s   € ÜðMó
ð 	
rL   c               ó   € V ^8„  d   QhRR/# )r>   rE   zSelect[Tuple[_T]]rG   )rH   s   "rI   rJ   rh  G  s   € ÷ 
ñ 
Ð)ñ 
rL   c                ó$  € \        V P                  P                  4      P                  ! V P                  !  pV P
                  '       d   VP                  ! V P
                  !  pV P                  '       d   VP                  ! V P                  !  pV# )z�Produce a :class:`_sql.Select` construct that represents the
rows within this instance-local :class:`_orm.WriteOnlyCollection`.

)	r!   r?   r•   ÚwhererS  rI  Úselect_fromrT  r�   )rQ   Ústmts   & rI   r!   ÚWriteOnlyCollection.selectG  sk   € ô
 �d—i‘i×-Ñ-Ó.×4Ò4°d×6JÑ6JÑKˆØ�>�>ˆ>Ø×#Ò# T§^¡^Ñ4ˆDØ×!×!Ð!Ø—=’= $×"8Ñ"8Ñ9ˆDØˆrL   c               ó   € V ^8„  d   QhRR/# )r>   rE   r$   rG   )rH   s   "rI   rJ   rh  S  s   € ÷ &?ñ &?˜ñ &?rL   c                óô  € \        V P                  4      pVP                  pVP                  V P                  P
                  ,          pVP                  \        P                  Jd   \        P                  ! R4      h/ pVP                   F<  w  rVVP                  VVVP                  V4      p\        RVR7      WFP
                  &   K>  	  \        V P                  P                   4      P"                  ! R/ VB # )a  For one-to-many collections, produce a :class:`_dml.Insert` which
will insert new rows in terms of this this instance-local
:class:`_orm.WriteOnlyCollection`.

This construct is only supported for a :class:`_orm.Relationship`
that does **not** include the :paramref:`_orm.relationship.secondary`
parameter.  For relationships that refer to a many-to-many table,
use ordinary bulk insert techniques to produce new objects, then
use :meth:`_orm.AbstractCollectionWriter.add_all` to associate them
with the collection.


z…Write only bulk INSERT only supported for one-to-many collections; for many-to-many, use a separate bulk INSERT along with add_all().N)Ú	callable_rG   )r   rH  r  rO  r?   r’   r&  r   r'  r   rO   Úsynchronize_pairsÚ_get_attr_w_warn_on_noneÚdictr   r    r•   Úvalues)rQ   rA   r  rU  r    ÚlÚrrÐ   s   &       rI   r    ÚWriteOnlyCollection.insertS  sÎ   € ô ˜Ÿ™Ó&ˆØ—‘ˆØ�}‰}˜TŸY™YŸ]™]Õ+ˆà�>‰>Ô!6×!@Ñ!@Ó@Ü×)Ò)ð/óð ð !#ˆà×*Ô*‰DˆAØ×.Ñ.ØØØ—
‘
Øó	ˆBô % T°RÔ8ˆE—%‘%‹Lñ +ô �d—i‘i×-Ñ-Ó.×5Ò5Ñ>¸Ñ>Ð>rL   c               ó   € V ^8„  d   QhRR/# )r>   rE   r%   rG   )rH   s   "rI   rJ   rh  {  ó   € ÷ Lñ L˜ñ LrL   c                óp   € \        V P                  P                  4      P                  ! V P                  !  # )z|Produce a :class:`_dml.Update` which will refer to rows in terms
of this instance-local :class:`_orm.WriteOnlyCollection`.

)r"   r?   r•   rn  rS  rZ   s   &rI   r"   ÚWriteOnlyCollection.update{  ó*   € ô
 �d—i‘i×-Ñ-Ó.×4Ò4°d×6JÑ6JÑKÐKrL   c               ó   € V ^8„  d   QhRR/# )r>   rE   r#   rG   )rH   s   "rI   rJ   rh  ‚  r}  rL   c                óp   € \        V P                  P                  4      P                  ! V P                  !  # )z|Produce a :class:`_dml.Delete` which will refer to rows in terms
of this instance-local :class:`_orm.WriteOnlyCollection`.

)r   r?   r•   rn  rS  rZ   s   &rI   r   ÚWriteOnlyCollection.delete‚  r€  rL   c               ó    € V ^8„  d   QhRRRR/# rX  rG   )rH   s   "rI   rJ   rh  ‰  s   € ÷ %ñ % ð %°ñ %rL   c                ó(   € V P                  V4       R# )z¸Add an iterable of items to this :class:`_orm.WriteOnlyCollection`.

The given items will be persisted to the database in terms of
the parent instance's collection on the next flush.

N©r]  )rQ   rY  s   &&rI   Úadd_allÚWriteOnlyCollection.add_all‰  s   € ð 	×Ñ˜8Ö$rL   c               ó    € V ^8„  d   QhRRRR/# r`  rG   )rH   s   "rI   rJ   rh  ’  s   € ÷ #ñ #˜ð #˜tñ #rL   c                ó*   € V P                  V.4       R# )zªAdd an item to this :class:`_orm.WriteOnlyCollection`.

The given item will be persisted to the database in terms of
the parent instance's collection on the next flush.

Nr†  rb  s   &&rI   ru   ÚWriteOnlyCollection.add’  s   € ð 	×Ñ˜D˜6Ö"rL   c               ó    € V ^8„  d   QhRRRR/# r`  rG   )rH   s   "rI   rJ   rh  ›  s   € ÷  ñ  ˜2ð   $ñ  rL   c                ó(   € V P                  V4       R# )z–Remove an item from this :class:`_orm.WriteOnlyCollection`.

The given item will be removed from the parent instance's collection on
the next flush.

N)rc  rb  s   &&rI   r{   ÚWriteOnlyCollection.remove›  s   € ð 	×Ñ˜$ÖrL   rG   N)rH  r?   rS  rI  rT  )r~   r   r€   r�   r‚   re  r6  r!   r    r"   r   r‡  ru   r{   r…   rG   rL   rI   rš   rš   '  s>   † ñð €Iõ
õ
õ&?õPLõLõ%õ#÷ ñ  rL   rš   N)Or‚   Ú
__future__r   Útypingr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   Úsqlalchemy.sqlr   Ú r   r   r   r   Úbaser   r   r   r   r   r   r   r   Úsqlr   r    r!   r"   Úsql.dmlr#   r$   r%   Úutil.typingr&   r'   Ú_typingr(   r)   r*   Úcollectionsr+   r,   r  r-   r.   rA   r/   r0   Úeventr1   Úsql.selectabler2   r3   r4   r7   ÚHasCollectionAdapterÚAttributeImplr@   Úclass_loggerÚRelationshipPropertyÚstrategy_forÚAbstractRelationshipLoaderÚ
Identifiedr  r´   rG  rš   rG   rL   rI   Ú<module>r¢     s]  ðñ	õ #å Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý  Ý Ý å $Ý Ý Ý Ý Ý Ý Ý Ý 'Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý Ý !çÝ$Ý&Ý/Ý*Ý7Ý.ÝÝ6Ý$Ý"Ý!Ý+Ý'áˆT˜Ô€ôF*�w˜r•{ô F*ôR^EØ×#Ñ# Z×%=Ñ%=ô^EðB	 ×ÑØ×#Ñ#×0Ñ0°lÐ0ÓCô
�j×;Ñ;¸S¿^¹^ó 
ó Dó ð
÷4ñ ô*<
˜w r�{ô <
ô~{ Ð2°2Õ6ö { rL   