+
    ‡)ÙjÏQ  ã                   óì   € ^ RI HtHt ^ RIHtHt ^ RIHt ^ RIH	t	H
t
 ^ RIHtHtHtHt ^ RIHtHtHt  ! R R]4      t ! R	 R
]4      tR tR tR tR tR tR]n        R tR tR t ! R R4      tR# )é    )ÚCounterÚdefaultdict)ÚpartialÚreduce)Úchain)Ú
attrgetterÚor_)ÚIntegrityErrorÚconnectionsÚmodelsÚtransaction)Úquery_utilsÚsignalsÚsqlc                   ó2   a a€ ] tR t^
t oV 3R ltRtVtV ;t# )ÚProtectedErrorc                ó2   <€ W n         \        SV `	  W4       R # ©N)Úprotected_objectsÚsuperÚ__init__)ÚselfÚmsgr   Ú	__class__s   &&&€ÚR/var/www/eggtrainer/venv/lib/python3.14/site-packages/django/db/models/deletion.pyr   ÚProtectedError.__init__   s   ø€ Ø!2ÔÜ‰Ñ˜Ö0ó    )r   ©Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r   Ú__classdict__s   @@r   r   r   
   s   ù‡ € ÷1õ 1r   r   c                   ó2   a a€ ] tR t^t oV 3R ltRtVtV ;t# )ÚRestrictedErrorc                ó2   <€ W n         \        SV `	  W4       R # r   )Úrestricted_objectsr   r   )r   r   r+   r   s   &&&€r   r   ÚRestrictedError.__init__   s   ø€ Ø"4ÔÜ‰Ñ˜Ö1r   )r+   r   r&   s   @@r   r)   r)      s   ù‡ € ÷2õ 2r   r)   c                 ó"  € V P                  VVP                  P                  VP                  VP                  R R7       VP                  '       d?   \
        V,          P                  P                  '       g   V P                  VRV4       R# R# R# )F)ÚsourceÚsource_attrÚnullableÚfail_on_restrictedN)	ÚcollectÚremote_fieldÚmodelÚnameÚnullr   ÚfeaturesÚcan_defer_constraint_checksÚadd_field_update©Ú	collectorÚfieldÚsub_objsÚusings   &&&&r   ÚCASCADEr?      ss   € Ø×ÑØØ×!Ñ!×'Ñ'Ø—J‘JØ—‘Ø ð ô ð ‡z‡z€zœ+ eÕ,×5Ñ5×Q×QÐQØ×"Ñ" 5¨$°Ö9ñ R�zr   c           	      óº   € \        R VP                  P                  P                  : RV^ ,          P                  P                  : RVP
                  : R2V4      h)z'Cannot delete some instances of model 'z@' because they are referenced through a protected foreign key: 'Ú.Ú')r   r3   r4   r   r   r5   r:   s   &&&&r   ÚPROTECTrC   "   sJ   € Ý
ð ×Ñ×$Ñ$×-Ô-Ø�Q�K×!Ñ!×*Ô*Ø�JŒJð	
ð 	ó	ð 	r   c                 óˆ   € V P                  W4       V P                  VP                  P                  VP                  4       R # r   )Úadd_restricted_objectsÚadd_dependencyr3   r4   r:   s   &&&&r   ÚRESTRICTrG   /   s0   € Ø×$Ñ$ UÔ5Ø×Ñ˜U×/Ñ/×5Ñ5°u·{±{ÖCr   c                 óh   a € \        S 4      '       d   V 3R  lpMV 3R lpRVn        V 3R lVn        V# )c                 ó8   <€ V P                  VS! 4       V4       R # r   ©r9   ©r;   r<   r=   r>   Úvalues   &&&&€r   Úset_on_deleteÚSET.<locals>.set_on_delete7   s   ø€ Ø×&Ñ& u©e«g°xÖ@r   c                 ó.   <€ V P                  VSV4       R # r   rJ   rK   s   &&&&€r   rM   rN   <   s   ø€ Ø×&Ñ& u¨e°XÖ>r   Tc                  ó   <€ R S 3/ 3# )zdjango.db.models.SET© )rL   s   €r   Ú<lambda>ÚSET.<locals>.<lambda>A   s   ø€ Ð)?À%ÀÈ2Ñ(Nr   )ÚcallableÚlazy_sub_objsÚdeconstruct)rL   rM   s   f r   ÚSETrW   4   s/   ø€ Ü�‡‚ö	Aõ
	?ð '+ˆÔ#ä N€MÔØÐr   c                 ó,   € V P                  VR V4       R # r   rJ   r:   s   &&&&r   ÚSET_NULLrY   E   s   € Ø×Ñ˜u d¨HÖ5r   Tc                 óF   € V P                  WP                  4       V4       R # r   )r9   Úget_defaultr:   s   &&&&r   ÚSET_DEFAULTr\   L   s   € Ø×Ñ˜u×&7Ñ&7Ó&9¸8ÖDr   c                 ó   € R # r   rQ   r:   s   &&&&r   Ú
DO_NOTHINGr^   P   s   € Ùr   c                 ó4   € R  V P                  RR7       4       # )c              3   óÂ   "  € T FU  pVP                   '       g   K  VP                  '       d   K+  VP                  '       g   VP                  '       g   KQ  Vx € KW  	  R # 5ir   )Úauto_createdÚconcreteÚ
one_to_oneÚone_to_many)Ú.0Úfs   & r   Ú	<genexpr>Ú4get_candidate_relations_to_delete.<locals>.<genexpr>W   s@   é € ð á5ˆAØ�>�>ô 	
à"#§*¥*ô 	
à23·,·,°,À!Ç-Å-÷ 	
ŠÛ5ùs   ‚A›A¯AÁAÁ
AT)Úinclude_hidden)Ú
get_fields)Úoptss   &r   Ú!get_candidate_relations_to_deleterl   T   s   € ñà—‘°�Ô5óð r   c                   óŽ   a € ] tR t^^t o RR ltRR ltRR ltR tR tR t	R t
R	 tRR
 ltR tRR ltR tR tR tR tRtV tR# )Ú	CollectorNc                óè   € Wn         W n        \        \        4      V n        \        \
        4      V n        \        \        \        \        4      4      V n        . V n	        \        \        4      V n
        R # r   )r>   Úoriginr   ÚsetÚdataÚlistÚfield_updatesr   r+   Úfast_deletesÚdependencies)r   r>   rp   s   &&&r   r   ÚCollector.__init___   sR   € ØŒ
àŒä¤Ó$ˆŒ	ä(¬Ó.ˆÔä"-¬g´kÄ3Ó.GÓ"HˆÔð ˆÔô (¬Ó,ˆÖr   c                ó  € V'       g   . # . pV^ ,          P                   pV P                  V,          pV F  pW‡9  g   K  VP                  V4       K  	  VP                  V4       Ve   V'       g   V P	                  W&VR7       V# )a  
Add 'objs' to the collection of objects to be deleted.  If the call is
the result of a cascade, 'source' should be the model that caused it,
and 'nullable' should be set to True if the relation can be null.

Return a list of all objects that were not already collected.
©Úreverse_dependency)r   rr   ÚappendÚupdaterF   )	r   Úobjsr.   r0   rz   Únew_objsr4   Ú	instancesÚobjs	   &&&&&    r   ÚaddÚCollector.addt   s}   € ÷ ØˆIØˆØ�Q•×!Ñ!ˆØ—I‘I˜eÕ$ˆ	ÛˆCØÖ#Ø—‘ Ö$ñ ð 	×Ñ˜Ô"ð Ò§hØ×Ñ ÐBTÐÔUØˆr   c                ó  € V'       d   Y!r!V P                   VP                  P                  ,          P                  VP                  P                  4       V P                  P                  W P                  P                  4       4       R # r   )rv   Ú_metaÚconcrete_modelr�   rr   Ú
setdefaultÚdefault_factory)r   r4   Ú
dependencyrz   s   &&&&r   rF   ÚCollector.add_dependencyŒ   s]   € ßØ *�:Ø×Ñ˜%Ÿ+™+×4Ñ4Õ5×9Ñ9Ø×Ñ×+Ñ+ô	
ð 	�	‰	×Ñ˜Z¯©×)BÑ)BÓ)DÖEr   c                óL   € V P                   W3,          P                  V4       R# )zq
Schedule a field update. 'objs' must be a homogeneous iterable
collection of model instances (e.g. a QuerySet).
N)rt   r{   )r   r<   rL   r}   s   &&&&r   r9   ÚCollector.add_field_update”   s   € ð
 	×Ñ˜5˜<Õ(×/Ñ/°Ö5r   c                ó’   € V'       d?   V^ ,          P                   pV P                  V,          V,          P                  V4       R# R# )r   N)r   r+   r|   )r   r<   r}   r4   s   &&& r   rE   Ú Collector.add_restricted_objects›   s7   € ßØ˜•G×%Ñ%ˆEØ×#Ñ# EÕ*¨5Õ1×8Ñ8¸Ö>ñ r   c                óÈ   € WP                   9   dL   V P                   V,          P                  4        UUu/ uF  w  r4W4V,
          bK  	  uppV P                   V&   R # R # u uppi r   )r+   Úitems)r   r4   r}   r<   r�   s   &&&  r   Ú!clear_restricted_objects_from_setÚ+Collector.clear_restricted_objects_from_set    s_   € Ø×+Ñ+Ô+ð %)×$;Ñ$;¸EÕ$B×$HÑ$HÔ$Jô.á$J‘L�Eð ˜t•|Ò#Ù$Jò.ˆD×#Ñ# EÓ*ñ ,ùó.s   µAc           
     ó  € WP                   9   ds   \        TP                  V P                   V,          P                  4        UUu. uF  pV F  pVP                  NK  	  K  	  uppR 7      4      pV P                  W4       R# R# u uppi ))Úpk__inN)r+   rq   ÚfilterÚvaluesÚpkr�   )r   r4   Úqsr}   r€   s   &&&  r   Ú&clear_restricted_objects_from_querysetÚ0Collector.clear_restricted_objects_from_queryset§   s…   € Ø×+Ñ+Ô+ÜØ—	‘	ð %)×$;Ñ$;¸EÕ$B×$IÑ$IÔ$Kôá$K˜DÛ#'˜Cð Ÿœá#'ñ Ù$Kòð ó óˆDð ×2Ñ2°5Ö?ñ ,ùós   ÁBc                óŽ   € \         P                  P                  V4      ;'       g     \         P                  P                  V4      # r   )r   Ú
pre_deleteÚhas_listenersÚpost_delete)r   r4   s   &&r   Ú_has_signal_listenersÚCollector._has_signal_listeners´   s<   € Ü×!Ñ!×/Ñ/Øó
÷ 6ð 6ä× Ñ ×.Ñ.¨uÓ5ð	6r   c                óÀ  a€ S'       d!   SP                   P                  \        Jd   R# \        VR4      '       d   VP                  P
                  pM3\        VR4      '       d    \        VR4      '       d   VP
                  pMR# V P                  V4      '       d   R# VP                  p\        ;QJ dK    V3R lVP                  P                  P                  P                  4        4       F  '       d   K   RM@	  RM<! V3R lVP                  P                  P                  P                  4        4       4      ;'       dœ    \        ;QJ d%    R \        V4       4       F  '       d   K   RM	  RM! R \        V4       4       4      ;'       dN    \        ;QJ d&    R VP                   4       F  '       g   K   RM	  RM! R VP                   4       4      '       * # )	a�  
Determine if the objects in the given queryset-like or single object
can be fast-deleted. This can be done if there are no cascades, no
parents and no signal listeners for the object class.

The 'from_field' tells where we are coming from - we need this to
determine if the objects are in fact to be deleted. Allow also
skipping parent -> child -> parent chain preventing fast delete of
the child.
Fr„   r4   Ú_raw_deletec              3   ó.   <"  € T F
  pVS8H  x € K  	  R # 5ir   rQ   )re   ÚlinkÚ
from_fields   & €r   rg   Ú,Collector.can_fast_delete.<locals>.<genexpr>Ò   s   øé € ð áF�Dð ˜
Ö"ÛFùs   ƒTc              3   ón   "  € T F+  pVP                   P                  P                  \        J x € K-  	  R # 5ir   )r<   r3   Ú	on_deleter^   )re   Úrelateds   & r   rg   r¥   Ø   s,   é € ð áF�Gð —‘×*Ñ*×4Ñ4¼
ÕBÛFùs   ‚35c              3   ó:   "  € T F  p\        VR 4      x € K  	  R# 5i)Úbulk_related_objectsN)Úhasattr)re   r<   s   & r   rg   r¥   Þ   s"   é € ð á!4˜ô ˜EÐ#9×:Ð:Û!4ùs   ‚)r3   r§   r?   r«   r„   r4   rž   Úallr…   Úparentsr•   rl   ÚanyÚprivate_fields)r   r}   r¤   r4   rk   s   &&f  r   Úcan_fast_deleteÚCollector.can_fast_delete¹   sj  ø€ ÷ ˜*×1Ñ1×;Ñ;Ä7ÓJÙÜ�4˜×!Ò!Ø—J‘J×$Ñ$‰EÜ�T˜7×#Ò#¬°°m×(DÒ(DØ—J‘J‰EáØ×%Ñ% e×,Ò,Ùð �{‰{ˆç‹Cô à ×/Ñ/×5Ñ5×=Ñ=×DÑDÔFó�C�CŠCô à ×/Ñ/×5Ñ5×=Ñ=×DÑDÔFóó ÷ ð ÷ ‹Cñ ä@ÀÔFó�C�CŠCñ ä@ÀÔFóó ÷ð ÷ “Cñ à!%×!4Ò!4ó—C—C’Cñ à!%×!4Ò!4óó ô ð	
r   c                ó  € \        \        V P                  ,          P                  P	                  W!4      ^4      p\        V4      V8”  d/   \        ^ \        V4      V4       Uu. uF  pWWC,            NK  	  up# V.# u upi )zD
Return the objs in suitably sized batches for the used connection.
)Úmaxr   r>   ÚopsÚbulk_batch_sizeÚlenÚrange)r   r}   ÚfieldsÚconn_batch_sizeÚis   &&&  r   Úget_del_batchesÚCollector.get_del_batcheså   s€   € ô Ü˜Ÿ
™
Õ#×'Ñ'×7Ñ7¸ÓEÀqó
ˆô ˆt‹9�Ô&ô ˜q¤# d£)¨_Ô=óá=�Að ˜Õ,Ó-Ù=ñð ð
 �6ˆMùòs   Á#A<c	           
     ó¼  € V P                  V4      '       d   V P                  P                  V4       R# V P                  WW6R7      p	V	'       g   R# V	^ ,          P                  p
V'       g›   V
P
                  P                  pVP
                  P                  P                  4        F\  pV'       g   K  V	 Uu. uF  p\        WÜP                  4      NK  	  ppV P                  VV
VP                  P                  RRRR7       K^  	  V'       g   R# \        \        4      p\        \        4      p\!        V
P
                  4       EF‰  pV'       d(   VP"                  V
P
                  P$                  9   d   K3  VP&                  pVP                  P(                  pV\*        8X  d   Kb  VP,                  pV P                  VVR7      '       d   VV,          P                  V4       K¡  V P/                  V	V.4      pV FÏ  pV P1                  VV.V4      pVP2                  P4                  '       gj   V P7                  V4      '       gS   \9        \:        P<                  ! R \!        VP
                  4       4       4      4      pVP>                  ! \A        V4      !  p\        VRR4      '       g   V'       g   K¹   V! V VVV PB                  4       KÑ  	  EKŒ  	  V'       dZ   \E        RV
PF                  : RRPK                  V4      : R
2\9        \:        P<                  ! VP                  4       4      4      4      hVPM                  4        FO  w  ppV P/                  V	V4      pV F1  pV P1                  VVV4      pV P                  P                  V4       K3  	  KQ  	  V
P
                  PN                   FG  p\Q        VR4      '       g   K  VPS                  W�PB                  4      pV P                  VV
RRR7       KI  	  V'       Edv   V PT                  PM                  4        F  w  ppV PW                  VV4       K  	  V P                   F  pV PY                  VP"                  V4       K!  	  V PZ                  P                  4       '       dï   \        \        4      pV PZ                  PM                  4        F^  w  ppVPM                  4        FD  w  ppV'       g   K  R	VPF                  : R
VP                  : R	2pVV;;,          V,          uu&   KF  	  K`  	  V'       dZ   \]        RV
PF                  : RRPK                  V4      : R
2\9        \:        P<                  ! VP                  4       4      4      4      hR# R# R# u upi   \D         dU   pR	TP"                  PF                  : R
TP                  : R	2pTT;;,          TPH                  ,          uu&    Rp?EKÜ  Rp?ii ; i)a  
Add 'objs' to the collection of objects to be deleted as well as all
parent instances.  'objs' must be a homogeneous iterable collection of
model instances (e.g. a QuerySet).  If 'collect_related' is True,
related objects will be handled by their respective on_delete handler.

If the call is the result of a cascade, 'source' should be the model
that caused it and 'nullable' should be set to True, if the relation
can be null.

If 'reverse_dependency' is True, 'source' will be deleted before the
current model, rather than after. (Needed for cascading to parent
models, the one case in which the cascade follows the forwards
direction of an FK rather than the reverse direction.)

If 'keep_parents' is True, data of parent model's will be not deleted.

If 'fail_on_restricted' is False, error won't be raised even if it's
prohibited to delete such objects due to RESTRICT, that defers
restricted object checking in recursive calls where the top-level call
may need to collect more objects to determine whether restricted ones
can be deleted.
Nry   FT)r.   r/   Úcollect_relatedrz   r1   )r¤   c              3   ó\   "  € T F"  pR  VP                   P                   4       x € K$  	  R# 5i)c              3   ó8   "  € T F  qP                   x € K  	  R # 5ir   )Úattname)re   Úrfs   & r   rg   Ú.Collector.collect.<locals>.<genexpr>.<genexpr>P  s   é € ÐSÑ2R¨BŸZžZÓ2Rùs   ‚N)r<   Úforeign_related_fields)re   Úrels   & r   rg   Ú$Collector.collect.<locals>.<genexpr>O  s.   é € ð ,ñ( ñ T°#·)±)×2RÒ2R×SÐSó(ùs   ‚*,rU   rB   rA   z&Cannot delete some instances of model z= because they are referenced through protected foreign keys: z, rª   )r.   r0   r1   z> because they are referenced through restricted foreign keys: )/r°   ru   r{   r�   r   r„   r…   r­   r•   Úgetattrr5   r2   r3   Úrelated_namer   rs   rl   r4   Úall_parentsr<   r§   r^   Úrelated_modelr»   Úrelated_objectsÚqueryÚselect_relatedrž   rq   r   Úfrom_iterableÚonlyÚtupler>   r   r   r   Újoinr�   r¯   r«   rª   rr   r�   r˜   r+   r)   ) r   r}   r.   r0   r¾   r/   rz   Úkeep_parentsr1   r~   r4   r…   Úptrr€   Úparent_objsÚmodel_fast_deletesr   r¨   r<   r§   rÊ   ÚbatchesÚbatchr=   Úreferenced_fieldsÚerrorÚkeyÚrelated_fieldsr   r—   r+   r¸   s    &&&&&&&&&                       r   r2   ÚCollector.collectô   sÐ  € ðD ×Ñ ×%Ò%Ø×Ñ×$Ñ$ TÔ*ÙØ—8‘8Ø˜(ð ó 
ˆ÷ Ùà˜•×%Ñ%ˆçð #Ÿ[™[×7Ñ7ˆNØ%×+Ñ+×3Ñ3×:Ñ:Ö<�ß‘3ÙEMÓ"NÁX¸c¤7¨3·±Ö#9ÁX�KÐ"NØ—L‘LØ#Ø$Ø$'×$4Ñ$4×$AÑ$AØ(-Ø+/Ø+0ð !ö ñ =÷ Ùä(¬Ó.ÐÜ'¬Ó-ÐÜ8¸¿¹×EˆGç §¡°·±×1HÑ1HÔ HÙØ—M‘MˆEØ×*Ñ*×4Ñ4ˆIØœJÔ&ÙØ#×1Ñ1ˆMØ×#Ñ# M¸eÐ#×DÒDØ" =Õ1×8Ñ8¸Ô?ÙØ×*Ñ*¨8°e°WÓ=ˆGÛ �Ø×/Ñ/°À¸wÈÓN�ð —N‘N×1×1Ð1Ø×1Ñ1°-×@Ò@ä(+Ü×+Ò+ñ ,ä'HØ -× 3Ñ 3ô(ó,ó ó)Ð%ð  (Ÿ}š}¬eÐ4EÓ.FÑG�HÜ˜9 o°u×=Ò=ÇÁðJÙ! $¨¨x¸¿¹ÖDô/ !ñ F÷P Ý ð —N”NØ—I‘IÐ/Ö0ð	ô ”E×'Ò'Ð(9×(@Ñ(@Ó(BÓCÓDóð ð .@×-EÑ-EÖ-GÑ)ˆM˜>Ø×*Ñ*¨8°^ÓDˆGÛ �Ø×/Ñ/°¸~ÈuÓU�Ø×!Ñ!×(Ñ(¨Ö2ó !ñ .Hð
 —[‘[×/Ô/ˆEÜ�uÐ4×5Ô5à ×5Ñ5°hÇ
Á
ÓK�Ø—‘Ø U°TÈeð ö ñ	 0÷ Ðð -1¯I©I¯O©OÖ,=Ñ(�˜yØ×6Ñ6°}ÀiÖPñ ->à×'Ô'�Ø×;Ñ;¸B¿H¹HÀbÖIñ (à×&Ñ&×-Ñ-×/Ò/Ü%0´Ó%6Ð"Ø-1×-DÑ-D×-JÑ-JÖ-LÑ)�M 6Ø'-§|¡|¦~™˜˜tßš4Ø/<×/EÔ/EÀuÇzÄzÐ"R˜CØ.¨s×3°tÕ;Õ3ó (6ñ .M÷
 &Ý)ð
 "ŸNœNØ ŸI™IÐ&8Ö9ðô œE×/Ò/Ð0B×0IÑ0IÓ0KÓLÓMó	ð 	ñ &ñ 0ñ ùò[ #Oøôf *õ JØ+0¯;©;×+?Ô+?ÀÇÄÐL˜Ø)¨#×.°%×2IÑ2IÕI×.Ò.ûðJús   Â8U7Ê4U<Õ<WÖAW×Wc                ó"  € \         P                  P                  V Uu. uF  qDP                   R2V3NK  	  up\         P                  P                  R7      pVP
                  P                  V P                  4      P                  V4      # u upi )zA
Get a QuerySet of the related model to objs via related fields.
Ú__in)Ú	connector)r   ÚQÚcreater5   ÚORÚ_base_managerr>   r”   )r   rÊ   rÛ   r}   Úrelated_fieldÚ	predicates   &&&&  r   rË   ÚCollector.related_objectsŽ  s{   € ô  —M‘M×(Ñ(ÙFTÓUÁn°]×#Ñ#Ð$ DÐ)¨4Ó0ÁnÑUÜ!—m‘m×&Ñ&ð )ó 
ˆ	ð ×*Ñ*×0Ñ0°·±Ó<×CÑCÀIÓNÐNùò Vs   žBc              #  óp   "  € V P                   P                  4        F  w  rV F  pW3x € K
  	  K  	  R # 5ir   )rr   r�   )r   r4   r   r€   s   &   r   Úinstances_with_modelÚCollector.instances_with_model˜  s/   é € Ø $§	¡	§¡Ö 1ÑˆEÛ �Ø�jÔ ó !ó !2ùs   ‚46c                ó"  € . p\        4       p\        V P                  4      p\        V4      \        V4      8  d¨   R pV F“  pWQ9   d   K  V P                  P                  VP                  P                  4      pV'       d   VP                  V4      '       d   K[  VP                  V4       VP                  VP                  P                  4       RpK•  	  V'       d   K¾  R# V Uu/ uF  qUV P                  V,          bK  	  upV n        R# u upi )FTN)rq   rs   rr   r¶   rv   Úgetr„   r…   Ú
differencer{   r�   )r   Úsorted_modelsÚconcrete_modelsr   Úfoundr4   rv   s   &      r   ÚsortÚCollector.sort�  sÑ   € ØˆÜ›%ˆÜ�d—i‘i“ˆÜ�-Ó ¤3 v£;Ô.ØˆEÛ�ØÔ)ÙØ#×0Ñ0×4Ñ4°U·[±[×5OÑ5OÓP�ß$¨×)@Ñ)@À×)QÔ)QØ!×(Ñ(¨Ô/Ø#×'Ñ'¨¯©×(BÑ(BÔCØ ’Eñ  ÷ ‘5ÙÙ:GÓH¹-°˜DŸI™I eÕ,Ò,¹-ÑHˆŽ	ùÒHs   Ã&Dc                ó  € V P                   P                  4        F(  w  r\        V\        R 4      R7      V P                   V&   K*  	  V P	                  4        \        4       p\        V P                   4      ^8X  dë   \        X4      ^8X  dÛ   \        V4      ^ ,          pV P                  V4      '       d²   \        P                  ! V P                  4      ;_uu_ 4        \        P                  ! X4      P                  VP                  .V P                  4      pRRR4       \!        VXP"                  P                  P$                  R4       XVP"                  P&                  V/3# \        P(                  ! V P                  RR7      ;_uu_ 4        V P+                  4        FZ  w  rVP"                  P,                  '       d   K#  \.        P0                  P3                  VVV P                  V P4                  R7       K\  	  V P6                   F[  pVP9                  V P                  R7      pV'       g   K)  W7P:                  P"                  P&                  ;;,          V,          uu&   K]  	  V P<                  P                  4        EF  w  w  r‰p
. p. pV
 FU  p\?        V\@        PB                  4      '       d"   VPD                  f   VPG                  V4       KD  VPI                  V4       KW  	  V'       d/   \K        \L        V4      pVPN                  ! R/ VPP                  V	/B  V'       g   K¨  V^ ,          PR                  p\        PT                  ! V4      pTPW                  \        V Uu0 uF  qfP                  kK  	  up4      VPP                  V	/V P                  4       EK  	  V P                   PY                  4        F  pVP[                  4        K  	  V P                   P                  4        FÞ  w  r\        P                  ! V4      pV Uu. uF  qfP                  NK  	  ppVP                  WðP                  4      pV'       d)   W1P"                  P&                  ;;,          V,          uu&   VP"                  P,                  '       d   Kž  V F:  p\.        P\                  P3                  VVV P                  V P4                  R7       K<  	  Kà  	  RRR4       V P                   P                  4        F8  w  rV F-  p\!        WAP"                  P                  P$                  R4       K/  	  K:  	  \_        VPY                  4       4      \a        V4      3#   + '       g   i     ELD; iu upi u upi   + '       g   i     L¨; i)r–   )rÚ   NF)r>   Ú	savepoint)ÚsenderÚinstancer>   rp   )r>   rQ   )1rr   r�   Úsortedr   rð   r   r¶   rs   r°   r   Úmark_for_rollback_on_errorr>   r   ÚDeleteQueryÚdelete_batchr–   Úsetattrr„   rÁ   ÚlabelÚatomicrè   ra   r   r›   Úsendrp   ru   r¡   r4   rt   Ú
isinstancer   ÚQuerySetÚ_result_cacher{   Úextendr   r	   r|   r5   r   ÚUpdateQueryÚupdate_batchr•   Úreverser�   ÚsumÚdict)r   r4   r   Údeleted_counterrõ   Úcountr€   r—   r<   rL   Úinstances_listÚupdatesr}   Úcombined_updatesrÌ   Úpk_lists   &               r   ÚdeleteÚCollector.delete¯  sý  € à $§	¡	§¡Ö 1ÑˆEÜ% i´ZÀÓ5EÔFˆD�I‰I�eÓñ !2ð 	�	‰	Œä!›)ˆô ˆt�y‰y‹>˜QÔ¤3 y£>°QÔ#6Ü˜I“ qÕ)ˆHØ×#Ñ# H×-Ò-Ü ×;Ò;¸D¿J¹J×GÕGÜŸOšO¨EÓ2×?Ñ?Ø!Ÿ™˜ t§z¡zó�E÷ Hô ˜ %§+¡+§.¡.×"8Ñ"8¸$Ô?Ø˜uŸ{™{×0Ñ0°%Ð8Ð8Ð8ä×Ò d§j¡j¸E×BÖBà"×7Ñ7Ö9‘
�Ø—{‘{×/×/Ò/Ü×&Ñ&×+Ñ+Ø$Ø!$Ø"Ÿj™jØ#Ÿ{™{ð	 ,ö ñ :ð ×'Ô'�ØŸ™¨T¯Z©Z˜Ó8�ß‘5Ø#§H¡H§N¡N×$8Ñ$8×9¸UÕBÕ9ñ (ð 37×2DÑ2D×2JÑ2J×2LÑ.‘� Ø�Ø�Û!/�Iä" 9¬f¯o©o×>Ò>Ø%×3Ñ3Ò;àŸ™ yÖ1àŸ™ IÖ.ñ "0÷ Ü'-¬c°7Ó';Ð$Ø$×+Ò+ÑB¨u¯z©z¸5Ð.AÒBß‘4Ø  �G×-Ñ-�EÜŸOšO¨EÓ2�EØ×&Ñ&Ü±Ó5±¨Ÿfœf±Ñ5Ó6¸¿¹ÀUÐ8KÈTÏZÉZ÷ñ# 3Mð, "ŸY™Y×-Ñ-Ö/�	Ø×!Ñ!Ö#ñ 0ð %)§I¡I§O¡OÖ$5Ñ �ÜŸš¨Ó.�Ù-6Ó7©Y cŸ6œ6©Y�Ð7Ø×*Ñ*¨7·J±JÓ?�ßØ#§K¡K×$5Ñ$5×6¸%Õ?Ó6à—{‘{×/×/Ò/Û(˜Ü×+Ñ+×0Ñ0Ø#(Ø%(Ø"&§*¡*Ø#'§;¡;ð	 1ö ó  )ñ %6÷Y Cðx !%§	¡	§¡Ö 1ÑˆEÛ%�Ü˜§+¡+§.¡.×"8Ñ"8¸$Ö?ó &ñ !2ô �?×)Ñ)Ó+Ó,¬d°?Ó.CÐCÐC÷M H×GÐGüòV 6ùò 8÷] C×BúsY   Ã<UÆ/U1ÇA+U1È3B?U1Ë33U1Ì+=U1Í(U'Í<BU1ÐU,
Ð"A&U1ÒAU1ÕU$	Õ'
U1Õ1V	)rr   rv   ru   rt   rp   r+   r>   r   )NFF)F)NFTNFFT)r   r    r!   r"   r   r�   rF   r9   rE   r�   r˜   rž   r°   r»   r2   rË   rè   rð   r  r#   r$   )r'   s   @r   rn   rn   ^   s`   ø‡ € ô-ô*ô0Fò6ò?ò
ò@ò6ô
*
òXôXòtOò!ò
I÷$VDð VDr   rn   N) Úcollectionsr   r   Ú	functoolsr   r   Ú	itertoolsr   Úoperatorr   r	   Ú	django.dbr
   r   r   r   Údjango.db.modelsr   r   r   r   r)   r?   rC   rG   rW   rY   rU   r\   r^   rl   rn   rQ   r   r   Ú<module>r     sw   ðß ,ß %Ý ß $ç FÓ Fß 6Ñ 6ô1�^ô 1ô2�nô 2ò	:ò
òDò
ò"6ð €Ô òEò	ò÷gDó gDr   