ó
    _š‘hVŠ ã                   ój  • S SK r S SKrS SKrS SKJr  S SKJr  S SKJr  S SK	J
r
  S SKrS SKJr  S SKJr  S SKJr  S S	KJrJrJrJrJrJr  S S
KJrJrJrJrJrJr  S SK J!r!J"r"J#r#J$r$J%r%  S SK&J'r'  S SK(J)r)J*r*  S SK+J,r,  S SK-J.r.  S SK/J0r0J1r1J2r2J3r3  S SK4J5r5  S SK6J7r7  S SK8J9r9  S SK:J;r;J<r<  S SK=J>r>J?r?J@r@JArAJBrB  S SKCJDrDJErE  S SKFJGrG  S SKHJIrI  S SKJJKrK  S SKLJMrMJNrN  S SKOJPrQ   " S S5      rR\R" 5       rSS rTS rU " S  S!\V5      rW " S" S#5      rX " S$ S%5      rY " S& S'\D\WS(9rZS.S) jr[S* r\S+ r]S, r^S-\^l_        g)/é    N)Údefaultdict)Úpartialmethod)Úchain)Úsync_to_async)Úapps)Úsettings)Úchecks)ÚNON_FIELD_ERRORSÚFieldDoesNotExistÚ
FieldErrorÚMultipleObjectsReturnedÚObjectDoesNotExistÚValidationError)ÚDJANGO_VERSION_PICKLE_KEYÚDatabaseErrorÚ
connectionÚconnectionsÚrouterÚtransaction)ÚNOT_PROVIDEDÚExpressionWrapperÚIntegerFieldÚMaxÚValue©Ú
LOOKUP_SEP)ÚCASCADEÚ	Collector)ÚDatabaseDefault)ÚCompositePrimaryKey)ÚForeignObjectRelÚOneToOneFieldÚlazy_related_operationÚresolve_relation)ÚCoalesce)ÚManager)ÚOptions)ÚFÚQ)Úclass_preparedÚ	post_initÚ	post_saveÚpre_initÚpre_save)Ú
AltersDataÚmake_model_tuple)ÚRemovedInDjango60Warning)Ú	force_str)Úmake_hashable)ÚcapfirstÚget_text_list)Úgettext_lazyc                   ó    • \ rS rSrS rS rSrg)ÚDeferredé<   c                 ó   • g©Nz<Deferred field>© ©Úselfs    ÚYC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\django/db/models/base.pyÚ__repr__ÚDeferred.__repr__=   ó   € Ø!ó    c                 ó   • gr;   r<   r=   s    r?   Ú__str__ÚDeferred.__str__@   rB   rC   r<   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r@   rE   Ú__static_attributes__r<   rC   r?   r8   r8   <   s   † ò"õ"rC   r8   c                 óD   • [        U UUUR                  < SU < 3S.5      $ )zÛ
Create exception subclass. Used by ModelBase below.

The exception is created in a way that allows it to be pickled, assuming
that the returned exception class will be added as an attribute to the
'attached_to' class.
Ú.)rH   rI   )ÚtyperI   )ÚnameÚbasesÚmoduleÚattached_tos       r?   Úsubclass_exceptionrS   G   s-   € ô ØØà Ø'2×'?Ô'?ÂÐFñ	
óð rC   c                 ó^   • [         R                  " U 5      (       + =(       a    [        U S5      $ )NÚcontribute_to_class)ÚinspectÚisclassÚhasattr)Úvalues    r?   Ú_has_contribute_to_classrZ   Y   s!   € ä�Š˜uÓ%Ô%×O¬'°%Ð9NÓ*OÐOrC   c                   óX   ^ • \ rS rSrSrU 4S jrS rS r\S 5       r	\S 5       r
SrU =r$ )	Ú	ModelBaseé^   zMetaclass for all models.c                 óÒ  >• [         T'U ]  nU Vs/ s H  n[        U[        5      (       d  M  UPM     nnU(       d	  U" XX#5      $ UR	                  S5      nSU0n	UR	                  SS 5      n
U
b  X©S'   UR	                  SS 5      n0 nUR                  5        H  u  pÞ[        U5      (       a  XìU'   M  XéU'   M!     U" XX)40 UD6n[        USS5      nU=(       d    [        USS 5      n[        USS 5      nS n[        R                  " U5      n[        USS 5      c+  Uc  U(       d  [        SU< S	U< S
35      eOUR                  nUR                  S[        UU5      5        U(       dä  UR                  S[        S[        S U 5       5      =(       d    [         4UUS95        UR                  S[        S[        S U 5       5      =(       d    ["        4UUS95        U(       ai  UR$                  (       dX  ['        US5      (       d  UR(                  UR*                  l        ['        US5      (       d  UR,                  UR*                  l        UR*                  R.                  nU(       a5  U(       a.  UR0                  (       a  [3        U< SUR0                  < S35      eUR                  5        H  u  pÞUR                  XÞ5        M     [5        UR*                  R6                  UR*                  R8                  UR*                  R:                  5      nU Vs1 s H  nUR<                  iM     nnU(       Ga	  S nU Vs/ s H  n['        US5      (       d  M  UPM     sn H‹  nUR*                  R$                  (       a+  UR*                  R>                  (       a  [3        SU-  5      eMI  Uc  UnMP  UR*                  R@                  UR*                  R@                  Ld  M  [3        SU-  5      e   Uc  [3        SU-  5      eUR*                  RC                  U5        UR*                  R@                  UR*                  l         OXÿR*                  l         0 n[E        U/U-   5       H¸  n['        US5      (       d  M  UU:w  a  UR*                  R$                  (       d  M9  UR*                  R6                   He  n[        U[F        5      (       d  M  URH                  RJ                  (       d  M7  [M        UURH                  RN                  5      nUU[Q        U5      '   Mg     Mº     [S        5       nURU                  5        GHo  nUU;  d  ['        US5      (       d  URW                  URX                  5        M8  UR*                  R6                  UR*                  R8                  -   n UR*                  R$                  (       Gd&  U  HZ  nUR<                  U;   a,  [[        SUR<                  < SU< SUR\                  < S	35      eUR_                  UR<                  5        M\     UR*                  R@                  n[Q        U5      n!U!U;   a  UU!   nOU(       dv  SUR*                  R`                  -  n"[G        U[b        U"SSS9nU"U;   a"  [[        SU"< SU< SUR\                  < S 35      e['        UU"5      (       d  UR                  U"U5        OS nUUR*                  Rd                  U'   OþUR*                  Rd                  Rg                  5       n#U  H¯  nUR<                  U;  d  M  UR<                  URX                  ;  d  M1  UR<                  U;  d  MC  [f        Rh                  " U5      n$UR                  UR<                  U$5        URj                  (       d  Mˆ  U#R                  5        H  u  nn%UU%:X  d  M  U$U#U'   M     M±     UR*                  Rd                  RW                  U#5        UR*                  R:                   H°  nUR<                  U;   aI  UR*                  R$                  (       d,  [[        SUR<                  < SU< SUR\                  < S	35      eM\  [f        Rh                  " U5      nUR*                  R$                  (       d  SUl6        UR                  UR<                  U5        M²     GMr     UR*                  Rn                   V&s/ s H  n&[f        Rh                  " U&5      PM     sn&UR*                  l7        U(       a  SUl        X¿l8        U$ URs                  5         UR*                  R                  Ru                  UR*                  Rv                  U5        U$ s  snf s  snf s  snf s  sn&f )!NrH   Ú__classcell__ÚMetaÚabstractFÚ_metaÚ	app_labelzModel class rM   zU doesn't declare an explicit app_label and isn't in an application in INSTALLED_APPS.ÚDoesNotExistc              3   óš   #   • U  HA  n[        US 5      (       d  M  UR                  R                  (       a  M3  UR                  v •  MC     g7f©rb   N)rX   rb   ra   rd   ©Ú.0Úxs     r?   Ú	<genexpr>Ú$ModelBase.__new__.<locals>.<genexpr>—   s9   é € ð â!(˜AÜ" 1 g×.ó 'à78·w±w×7GÕ7Gó '˜ŸžÚ!(ùó   ‚A›A¸A)rR   r   c              3   óš   #   • U  HA  n[        US 5      (       d  M  UR                  R                  (       a  M3  UR                  v •  MC     g7frf   )rX   rb   ra   r   rg   s     r?   rj   rk   ¥   s;   é € ð â!(˜AÜ" 1 g×.ó 2à78·w±w×7GÕ7Gó 2˜×1Ö1Ú!(ùrl   ÚorderingÚget_latest_byz! cannot proxy the swapped model 'ú'.zOAbstract base class containing model fields not permitted for proxy model '%s'.zAProxy model '%s' has more than one non-abstract model base class.z6Proxy model '%s' has no non-abstract model base class.zLocal field z
 in class z5 clashes with field of the same name from base class z%s_ptrT)Ú	on_deleterO   Úauto_createdÚparent_linkzAuto-generated field 'z' in class z for parent_link to base class z. clashes with declared field of the same name.)<ÚsuperÚ__new__Ú
isinstancer\   ÚpopÚitemsrZ   Úgetattrr   Úget_containing_app_configÚRuntimeErrorÚlabelÚadd_to_classr'   rS   Útupler   r   ra   rX   rn   rb   ro   ÚproxyÚswappedÚ	TypeErrorr   Úlocal_fieldsÚlocal_many_to_manyÚprivate_fieldsrO   ÚfieldsÚconcrete_modelÚsetup_proxyÚreversedr"   Úremote_fieldrs   r$   Úmodelr0   ÚsetÚmroÚupdateÚ__dict__r   rG   ÚaddÚ
model_namer   ÚparentsÚcopyÚdeepcopyÚ
one_to_oneÚmti_inheritedÚindexesr`   Ú_prepareÚregister_modelrc   )(ÚclsrO   rP   ÚattrsÚkwargsÚ	super_newÚbr‘   rQ   Ú	new_attrsÚ	classcellÚ	attr_metaÚcontributable_attrsÚobj_nameÚobjÚ	new_classra   ÚmetaÚ	base_metarc   Ú
app_configÚis_proxyÚ
new_fieldsÚfÚfield_namesÚbaseÚklsÚparentÚparent_linksÚfieldÚrelatedÚinherited_attributesÚparent_fieldsÚbase_keyÚ	attr_nameÚbase_parentsÚ	new_fieldrs   ÚidxÚ	__class__s(                                          €r?   ru   ÚModelBase.__new__a   s  ø€ Ü‘G‘Oˆ	ñ $Ó@še˜¤z°!´Y×'?—1™eˆÐ@ÞÙ˜S¨Ó5Ð5ð —‘˜<Ó(ˆØ! 6Ð*ˆ	Ø—I‘I˜o¨tÓ4ˆ	ØÑ Ø)2�oÑ&Ø—I‘I˜f dÓ+ˆ	ð !ÐØ"Ÿ[™[ž]‰MˆHÜ'¨×,Ñ,Ø03 HÓ-à&)˜(Ó#ñ	 +ñ
 ˜c¨ÑD¸VÑDˆ	ä˜9 j°%Ó8ˆØ×<œG I¨v°tÓ<ˆÜ˜I w°Ó5ˆ	àˆ	ô ×3Ò3°FÓ;ˆ
ä�4˜ dÓ+Ñ3ØÑ!ÞÝ&ó .4³Tð;óð ð  ð '×,Ñ,�	à×Ñ˜w¬°°iÓ(@ÔAÞØ×"Ñ"ØÜ"Ø"Üñ á!(óó ÷ -ô
 +Ð,ØØ )ñ
ôð ×"Ñ"Ø)Ü"Ø-Üñ á!(óó ÷ 2ô
 0Ð1ØØ )ñ
ôö  ×!3×!3ô ˜t Z×0Ñ0Ø/8×/AÑ/A�I—O‘OÔ,Ü˜t _×5Ñ5Ø4=×4KÑ4K�I—O‘OÔ1à—?‘?×(Ñ(ˆö ž	 i×&7×&7ÜÛ=AÀ9×CTÔCTÐUóð ð 1×6Ñ6Ö8‰MˆHØ×"Ñ" 8Ö1ñ 9ô Ø�O‰O×(Ñ(Ø�O‰O×.Ñ.Ø�O‰O×*Ñ*ó
ˆ
ñ
 (2Ó2¢z !�q—v”v¡zˆÐ2÷ ØˆDÙ*1ÓKª' 3´W¸SÀ'×5JŸ3©'ÔK�Ø—<‘<×(×(Ø—|‘|×*×*Ü'ð>Ø@DñEóð ñ
 !Ø‘<Ø!’DØ—\‘\×0Ñ0¸¿
¹
×8QÑ8QÔQÜ#ð!Ø#'ñ(óð ñ Lð  ‰|ÜØLÈtÑSóð ð �O‰O×'Ñ'¨Ô-Ø-1¯Z©Z×-FÑ-FˆI�O‰OÕ*à-6�O‰OÔ*ð ˆÜ˜i˜[¨7Ñ2Ö3ˆDä˜4 ×)Ñ)Ùà�yÓ ¨¯©×)<×)<ÙàŸ™×0Ô0�Ü˜e¤]×3Ó3¸×8JÑ8J×8V×8VÑ8VÜ.¨y¸%×:LÑ:L×:RÑ:RÓS�GØ>C�LÔ!1°'Ó!:Ó;ó 1ñ 4ô  #›uÐà—M‘M—OˆDØ˜7Ó"¬'°$¸×*@Ñ*@ð %×+Ñ+¨D¯M©MÔ:Ùà ŸJ™J×3Ñ3°d·j±j×6SÑ6SÑSˆMØ—:‘:×&×&Ð&ó +�EØ—z‘z [Ó0Ý(ð !&§
¤
Û $Ø $§¤ðóð ð -×0Ñ0°·±Ö<ñ +ð —z‘z×0Ñ0�Ü+¨DÓ1�Ø˜|Ó+Ø(¨Ñ2‘EÞ!Ø (¨4¯:©:×+@Ñ+@Ñ @�IÜ)ØÜ")Ø&Ø%)Ø$(ñ�Eð ! KÓ/Ý(ó
 !*Û $Ø $§¤ðó	ð 	ô # 9¨i×8Ñ8Ø!×.Ñ.¨y¸%Ô@øà �EØ05�	—‘×'Ñ'¨Ò-à#Ÿz™z×1Ñ1×6Ñ6Ó8�ó +�EàŸ
™
¨+Õ5Ø!ŸJ™J¨i×.@Ñ.@Õ@Ø!ŸJ™JÐ.BÕBä$(§M¢M°%Ó$8˜	Ø!×.Ñ.¨u¯z©z¸9ÔEð !×+×+Ñ+Ø7C×7IÑ7IÖ7KÑ 3 ¨Ø#(¨KÕ#7Ø;D L°Ó$8ó 8Lñ +ð  —‘×'Ñ'×.Ñ.¨|Ô<ð Ÿ™×2Ô2�Ø—:‘: Ó,ØŸ:™:×.×.Ý(ð !&§
¤
Û $Ø $§¤ðóð ñ /ô !ŸMšM¨%Ó0�EØŸ:™:×.×.Ø.2˜Ô+Ø×*Ñ*¨5¯:©:°uÖ=ô! 3ñg $ðP +4¯/©/×*AÒ*Aó#
Ú*A 3ŒD�MŠM˜#ÖÑ*Añ#
ˆ	�‰Ôö ð "'ˆIÔØ&ŒNØÐà×ÑÔØ�‰×Ñ×+Ñ+¨I¯O©O×,EÑ,EÀyÔQØÐùòW AùòL 3ùò
 Lùòd#
s"   �e­eÌeÌ;eÍeã e$c                 ó`   • [        U5      (       a  UR                  X5        g [        XU5        g ©N)rZ   rU   Úsetattr)r™   rO   rY   s      r?   r}   ÚModelBase.add_to_classs  s%   € Ü# E×*Ñ*Ø×%Ñ% cÕ0ä�C˜uÕ%rC   c                 óè  • U R                   nUR                  U 5        UR                  (       a  [        U R                  SS9U l        [        U R                  SS9U l        UR                  R                  (       a2  UR                  nUR                  R                  n[        [        X5        U R                  c9  U R                  < SSR                  S UR                   5       5      < S3U l        [        R                   R#                  UR$                  5      nU(       a  ['        U S	U5        UR(                  (       d\  [+        S
 UR                   5       5      (       a  [-        SU R                  -  5      e[/        5       nSUl        U R3                  SU5        U R                   R4                   H'  nUR6                  (       a  M  UR9                  U 5        M)     [:        R<                  " U S9  g)z7Create some methods once self._meta has been populated.T)Úis_nextFNÚ(ú, c              3   ó8   #   • U  H  oR                   v •  M     g 7fr¼   ©rO   ©rh   rª   s     r?   rj   Ú%ModelBase._prepare.<locals>.<genexpr>”  s   é € Ð6ª+ QŸ&ž&ª+ùó   ‚Ú)Úget_absolute_urlc              3   ó>   #   • U  H  oR                   S :H  v •  M     g7f)ÚobjectsNrÄ   rÅ   s     r?   rj   rÆ   ž  s   é € Ð<²¨1—6‘6˜YÖ&²ùs   ‚zOModel %s must specify a custom Manager, because it has a field named 'objects'.rË   )Úsender)rb   r—   Úorder_with_respect_tor   Ú_get_next_or_previous_in_orderÚget_next_in_orderÚget_previous_in_orderr‰   rŠ   r#   Úmake_foreign_order_accessorsÚ__doc__rG   Újoinr…   r   ÚABSOLUTE_URL_OVERRIDESÚgetÚlabel_lowerr½   ÚmanagersÚanyÚ
ValueErrorr&   rr   r}   r–   rO   Úset_name_with_modelr*   Úsend)r™   ÚoptsÚwrtÚremoteÚget_absolute_url_overrideÚmanagerÚindexs          r?   r—   ÚModelBase._preparey  s‰  € à�y‰yˆØ�‰�cÔà×%×%Ü$1Ø×2Ñ2¸Dñ%ˆCÔ!ô )6Ø×2Ñ2¸Eñ)ˆCÔ%ð ×)Ñ)×6×6Ø×0Ñ0�Ø×)Ñ)×/Ñ/�Ü&Ô'CÀSÔQð �;‰;Ñà—”Ø—	‘	Ñ6¨$¯+ª+Ó6Ö6ðˆCŒKô
 %-×$CÑ$C×$GÑ$GØ×Ñó%
Ð!ö %Ü�CÐ+Ð-FÔGà�}�}ÜÑ<°·²Ó<×<Ñ<Ü ð-Ø/2¯|©|ñ<óð ô “iˆGØ#'ˆGÔ Ø×Ñ˜Y¨Ô0ð
 —Y‘Y×&Ô&ˆEØ—:—:‘:Ø×)Ñ)¨#Ö.ñ 'ô 	×Ò 3Ó'rC   c                 ó.   • U R                   R                  $ r¼   )rb   Úbase_manager©r™   s    r?   Ú_base_managerÚModelBase._base_manager°  s   € à�y‰y×%Ñ%Ð%rC   c                 ó.   • U R                   R                  $ r¼   )rb   Údefault_managerrå   s    r?   Ú_default_managerÚModelBase._default_manager´  s   € à�y‰y×(Ñ(Ð(rC   r<   )rG   rH   rI   rJ   rÒ   ru   r}   r—   Úpropertyræ   rê   rK   r_   ©r¹   s   @r?   r\   r\   ^   s@   ø† Ù#õPòd&ò5(ðn ñ&ó ð&ð ñ)ó ö)rC   r\   c                   ó   • \ rS rSrSS jrSrg)ÚModelStateFieldsCacheDescriptori¹  Nc                 ó    • Uc  U $ 0 =o1l         U$ r¼   )Úfields_cache)r>   Úinstancer™   Úress       r?   Ú__get__Ú'ModelStateFieldsCacheDescriptor.__get__º  s   € ØÑØˆKØ&(Ð(ˆÔ#Øˆ
rC   r<   r¼   )rG   rH   rI   rJ   rô   rK   r<   rC   r?   rï   rï   ¹  s   † ÷rC   rï   c                   ó.   • \ rS rSrSrSrSr\" 5       rSr	g)Ú
ModelStateiÁ  zStore model instance state.NTr<   )
rG   rH   rI   rJ   rÒ   ÚdbÚaddingrï   rñ   rK   r<   rC   r?   r÷   r÷   Á  s   † Ù%à	€Bð
 €FÙ2Ó4ƒLrC   r÷   c                   ój  ^ • \ rS rSrU 4S jr\S 5       rS rS rS r	S r
S rS	 rS
 rSIS jrS r\" \\5      rSIS jrS rSJS jrSJS jrS rS rSSSSS.S jrS\l        SSSSS.S jrS\l        \S 5       r     SKS jrS\l         SIS jr      SLS jrS rS r SIS jr!SMS  jr"S\"l        SMS! jr#S\#l        S" r$S# r%S$ r&SIS% jr'S& r(S' r)SIS( jr*SMS) jr+S* r,S+ r-S, r.S- r/S. r0SIS/ jr1SNS0 jr2SIS1 jr3\S2 5       r4\S3 5       r5\S4 5       r6\S5 5       r7\S6 5       r8\S7 5       r9\S8 5       r:\S9 5       r;\S: 5       r<\S; 5       r=\S< 5       r>\S= 5       r?\S> 5       r@\S? 5       rA\S@ 5       rB\SA 5       rC\SB 5       rD\SC 5       rE\SD 5       rF\SE 5       rG\SF 5       rH\SG 5       rISHrJU =rK$ )OÚModeliÍ  c                 ó  >• U R                   nU R                  n[        n[        nUR                  (       a  [        S5      e[        R                  " X1US9  [        5       U l	        [        U5      [        UR                  5      :”  a  [        S5      eU(       dC  [        UR                  5      n[        X5       H  u  p‰X†L a  M  U" X	R                  U5        M      OŽ[        UR                   5      n[        X5       Hj  u  p‰X†L a  M  U" X	R                  U5        UR#                  U	R$                  [&        5      [&        Ld  MG  [        UR(                   SU	R$                   S35      e   U HÔ  n	Sn
U	R*                  b  U	R,                  (       a  M%  U(       a[  [/        U	R0                  [2        5      (       a   UR#                  U	R$                  5      nSn
O- UR#                  U	R                  5      nOU	R7                  5       nU
(       a  WULa  U" X	R$                  U5        M¸  Mº  WULd  MÁ  U" X	R                  U5        MÖ     U(       a—  UR8                  nSnUR;                  5        H<  u  pïXì;   a  XöLa  U" XU5        M  M   UR=                  U5        XöLa  U" XU5        M<  M>     U(       a2  S	RA                  S
 U 5       5      n[        URB                   SU 35      e[D        TU ]�  5         [H        R                  " X0S9  g ! [4         aB     UR#                  U	R                  5      n GN+! [4         a    U	R7                  5       n  GNIf = ff = f! [4         a    U	R7                  5       n GNnf = f! [>         a
    XÞ4-  n GM  f = f)Nz'Abstract models cannot be instantiated.)rÌ   Úargsr›   z'Number of args exceeds number of fieldsz8() got both positional and keyword arguments for field 'rp   FTr<   rÂ   c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr¼   ©Úrepr)rh   Úns     r?   rj   Ú!Model.__init__.<locals>.<genexpr>8  s   é € Ð,Iºj¸¬T°!¯W¨WºjùrÇ   z%() got unexpected keyword arguments: )rÌ   rò   )%r¹   rb   r½   ÚDEFERREDra   r�   r-   rÛ   r÷   Ú_stateÚlenÚconcrete_fieldsÚ
IndexErrorÚiterÚzipÚattnamer…   rw   rO   r   rI   ÚcolumnÚ	generatedrv   r‰   r!   ÚKeyErrorÚget_defaultÚ_property_namesrx   Ú	get_fieldr   rÓ   rG   rt   Ú__init__r+   )r>   rý   r›   r™   rÜ   Ú_setattrÚ	_DEFERREDÚfields_iterÚvalr°   Úis_related_objectÚrel_objÚproperty_namesÚ
unexpectedÚproprY   Úunexpected_namesr¹   s                    €r?   r  ÚModel.__init__Î  s)  ø€ à�n‰nˆØ�z‰zˆÜˆÜˆ	Ø�=�=ÜÐEÓFÐFä�Š˜S°FÒ;ô !“lˆŒô ˆt‹9”s˜4×/Ñ/Ó0Ó0äÐFÓGÐGæÜ˜t×3Ñ3Ó4ˆKô
 " $Ö4‘
�ØÒ#ÙÙ˜Ÿ}™}¨cÖ2ò 5ô ˜tŸ{™{Ó+ˆKÜ! $Ö4‘
�ØÒ#ÙÙ˜Ÿ}™}¨cÔ2Ø—:‘:˜eŸj™j¬,Ó7¼|ÔKÜ#Ø×+Ñ+Ð,ð -8Ø8=¿
¹
°|À2ðGóð ñ 5ó !ˆEØ %Ðà�|‰|Ñ# u§§ÙÞÜ˜e×0Ñ0Ô2B×CÑCð	6à"(§*¡*¨U¯Z©ZÓ"8˜Ø,0Ñ)ð2Ø$Ÿj™j¨¯©Ó7™ð ×'Ñ'Ó)�æ ð
  )Ò+Ù˜T§:¡:¨wÖ7ñ ,ð ˜iÔ'Ù˜T§=¡=°#Ö6ñM !öP Ø!×1Ñ1ˆNØˆJØ%Ÿ|™|ž~‘�ð Ó)ØÒ-Ù  ¨UÖ3ñ .ð8ØŸ™ tÔ,ð !Ò1Ù$ T°Ö7ñ 2ñ  .ö Ø#'§9¡9Ñ,I¹jÓ,IÓ#IÐ ÜØ—|‘|�nÐ$IØ'Ð(ð*óð ô 	‰ÑÔÜ�Š˜cÓ1øôk $ó 6ð6à"(§*¡*¨U¯]©]Ó";›CøÜ'ó 6Ø"'×"3Ñ"3Ó"5œCð6úð	6ûô $ó 2ð
 $×/Ñ/Ó1›ð2ûô@ -ó .Ø" gÑ-œ
ð.úsN   Æ9LÇMÊM6Ì
MÌL/Ì/MÍ	MÍMÍMÍM3Í2M3Í6N
Î	N
c                 óT  • [        U5      [        U R                  R                  5      :w  aP  [        U5      nU R                  R                   Vs/ s H$  nUR                  U;   a  [        U5      O[        PM&     nnU " U6 nSUR                  l        XR                  l	        U$ s  snf ©NF)
r  rb   r  r  r
  Únextr  r  rù   rø   )r™   rø   r«   ÚvaluesÚvalues_iterrª   Únews          r?   Úfrom_dbÚModel.from_db@  s‘   € äˆv‹;œ#˜cŸi™i×7Ñ7Ó8Ó8Ü˜v›,ˆKð Ÿ™×2Ò2óâ2�Að &'§Y¡Y°+Ó%=”�[Ô!Ä8ÒKÙ2ð ð ñ �6ˆlˆØ!ˆ�
‰
ÔØ�
‰
ŒØˆ
ùòs   Á+B%c                 ó@   • SU R                   R                  < SU < S3$ )NÚ<z: Ú>)r¹   rG   r=   s    r?   r@   ÚModel.__repr__M  s   � Ø!Ÿ^™^×4Ô4³dÐ;Ð;rC   c                 óR   • U R                   R                  < SU R                  < S3$ )Nz	 object (rÈ   )r¹   rG   Úpkr=   s    r?   rE   ÚModel.__str__P  s   € Ø#'§>¡>×#:Ô#:¸D¿G¼GÐDÐDrC   c                 óÖ   • [        U[        5      (       d  [        $ U R                  R                  UR                  R                  :w  a  gU R
                  nUc  XL $ X!R
                  :H  $ r  )rv   rû   ÚNotImplementedrb   r†   r*  )r>   ÚotherÚmy_pks      r?   Ú__eq__ÚModel.__eq__S  sW   € Ü˜%¤×'Ñ'Ü!Ð!Ø�:‰:×$Ñ$¨¯©×(BÑ(BÓBØØ—‘ˆØ‰=Ø�=Ð ØŸ™Ñ Ð rC   c                 ól   • U R                  5       (       d  [        S5      e[        U R                  5      $ )Nz8Model instances without primary key value are unhashable)Ú
_is_pk_setr�   Úhashr*  r=   s    r?   Ú__hash__ÚModel.__hash__]  s)   € Ø�‰× Ñ ÜÐVÓWÐWÜ�D—G‘G‹}ÐrC   c                 ó¼   • U R                  5       n[        R                  U[        '   U R                  R
                  U R                  R                  4n[        U4U4$ r¼   )Ú__getstate__ÚdjangoÚ__version__r   rb   rc   Úobject_nameÚmodel_unpickle)r>   ÚdataÚclass_ids      r?   Ú
__reduce__ÚModel.__reduce__b  sN   € Ø× Ñ Ó"ˆÜ*0×*<Ñ*<ˆÔ&Ñ'Ø—:‘:×'Ñ'¨¯©×)?Ñ)?Ð?ˆÜ ˜{¨DÐ0Ð0rC   c                 ó¦  • U R                   R                  5       n[        R                  " US   5      US'   US   R                  R                  5       US   l        / nUR                  5        H8  u  p4[	        U[
        5      (       d  M  UR                  U[        U5      45        M:     U(       a   X!S'   U H  u  p4UR                  U5        M     U$ )z0Hook to allow choosing the attributes to pickle.r  Ú_memoryview_attrs)	rŽ   r’   rñ   rx   rv   Ú
memoryviewÚappendÚbytesrw   )r>   ÚstaterB  ÚattrrY   s        r?   r8  ÚModel.__getstate__h  s±   € à—‘×"Ñ"Ó$ˆÜŸ)š) E¨(¡OÓ4ˆˆh‰Ø',¨X¡×'CÑ'C×'HÑ'HÓ'Jˆˆh‰Ô$ð ÐØ Ÿ;™;ž=‰KˆDÜ˜%¤×,Ó,Ø!×(Ñ(¨$´°e³Ð)=Ö>ñ )ö Ø):Ð%Ñ&Û0‘�Ø—	‘	˜$–ñ  1àˆrC   c                 óŒ  • UR                  [        5      nU(       aF  U[        R                  :w  a1  [        R
                  " SU< S[        R                  < S3[        SS9  O[        R
                  " S[        SS9  SU;   a'  UR                  S5       H  u  p4[        U5      X'   M     U R                  R                  U5        g )Nz(Pickled model instance's Django version z$ does not match the current version rM   é   ©Ú
stacklevelz9Pickled model instance's Django version is not specified.rB  )rÕ   r   r9  r:  ÚwarningsÚwarnÚRuntimeWarningrw   rC  rŽ   r�   )r>   rF  Úpickled_versionrG  rY   s        r?   Ú__setstate__ÚModel.__setstate__y  sž   € ØŸ)™)Ô$=Ó>ˆÞØ¤&×"4Ñ"4Ó4Ü—“ó '¬×(:Ô(:ð<ô #Ø òøô �MŠMØKÜØòð
  %Ó'Ø$Ÿy™yÐ)<Ö=‘�Ü(¨Ó/�“ñ  >à�‰×Ñ˜UÕ#rC   Nc                 ój   • U=(       d    U R                   n[        XR                  R                  5      $ r¼   )rb   ry   r*  r
  )r>   r¥   s     r?   Ú_get_pk_valÚModel._get_pk_val�  s#   € Ø×!�t—z‘zˆÜ�tŸW™WŸ_™_Ó-Ð-rC   c                 ó4  • U R                   R                  R                  5        HG  nU(       d  M  X R                   R                  :w  d  M'  [	        XR
                  R                  U5        MI     [	        X R                   R                  R                  U5      $ r¼   )rb   r‘   r   r*  r½   Útarget_fieldr
  )r>   rY   rs   s      r?   Ú_set_pk_valÚModel._set_pk_val“  sd   € ØŸ:™:×-Ñ-×4Ñ4Ö6ˆKßˆ{˜{¯j©j¯m©mÕ;Ü˜×6Ñ6×>Ñ>ÀÖFñ 7ô �tŸZ™ZŸ]™]×2Ñ2°EÓ:Ð:rC   c                 ó–   • U R                  U5      nUS L =(       d)    [        U[        5      =(       a    [        S U 5       5      (       + $ )Nc              3   ó(   #   • U  H  oS L v •  M
     g 7fr¼   r<   rÅ   s     r?   rj   Ú#Model._is_pk_set.<locals>.<genexpr>Ÿ  s   é € Ð1LÂVÀ°tµ)ÂVùs   ‚)rT  rv   r~   rØ   )r>   r¥   Úpk_vals      r?   r3  ÚModel._is_pk_set›  sC   € Ø×!Ñ! $Ó'ˆà�dˆN÷ NÜ˜6¤5Ó)×L¬cÑ1LÁVÓ1LÓ.Lô
ð 	
rC   c                 ó¦   • U R                   R                   Vs1 s H+  nUR                  U R                  ;  d  M  UR                  iM-     sn$ s  snf )zE
Return a set containing names of deferred fields for this instance.
)rb   r  r
  rŽ   )r>   rª   s     r?   Úget_deferred_fieldsÚModel.get_deferred_fields¢  sI   € ð —Z‘Z×/Ò/ó
â/�Ø�y‰y §¡Ñ-ó ˆA�IŒIÙ/ñ
ð 	
ùò 
s
   ™A»Ac           	      óp  • Uc  0 U l         Oz[        U SS5      n[        U5      nUR                  5        H  nXT;   d  M
  XE	 UR	                  U5        M     U(       d  g[        S U 5       5      (       a  [        S[        -  5      eUc(  SU 0nU R                  R                  R                  XS9nOUb  UR                  U5      nUR                  U R                  S9nU R                  5       nUb  UR                  " U6 nOWU(       aP  UR                  " U R                   R"                   V	s1 s H!  n	U	R$                  U;  d  M  U	R$                  iM#     sn	6 nUR'                  5       n
U
R                  5       nU R                   R"                   H²  nUR$                  U;   a  M  [)        XR$                  [        X¥R$                  5      5        UR*                  (       d  MQ  UR-                  U
5      (       a"  UR/                  XR1                  U
5      5        M‰  UR-                  U 5      (       d  M¡  UR3                  U 5        M´     U R                   R4                   HA  nUb  UR6                  U;   d  M  UR-                  U 5      (       d  M0  UR3                  U 5        MC     U R                   R8                   HT  nUb  UR6                  U;   d  M  UR*                  (       d  M+  UR-                  U 5      (       d  MC  UR3                  U 5        MV     U
R:                  R<                  U R:                  l        gs  sn	f )	a  
Reload field values from the database.

By default, the reloading happens from the database this instance was
loaded from, or by the read router if this instance wasn't loaded from
any database. The using parameter will override the default.

Fields can be used to specify which fields to reload. The fields
should be an iterable of field attnames. If fields is None, then
all non-deferred fields are reloaded.

When accessing deferred fields of an instance, the deferred loading
of the field will call this method.
NÚ_prefetched_objects_cacher<   c              3   ó4   #   • U  H  n[         U;   v •  M     g 7fr¼   r   rÅ   s     r?   rj   Ú(Model.refresh_from_db.<locals>.<genexpr>Æ  s   é € Ð3ªF q”: –?ªFùs   ‚zRFound "%s" in fields argument. Relations and transforms are not allowed in fields.rò   )Úhints©r*  )rc  ry   r‹   r’   ÚremoverØ   rÙ   r   r¹   ræ   Ú
db_managerÚusingÚfilterr*  r`  Úonlyrb   r  r
  rÕ   r½   Úis_relationÚ	is_cachedÚset_cached_valueÚget_cached_valueÚdelete_cached_valueÚrelated_objectsrO   r„   r  rø   )r>   rj  r…   Úfrom_querysetÚprefetched_objects_cacher°   rf  Údb_instance_qsÚdeferred_fieldsrª   Údb_instanceÚnon_loaded_fieldsÚrels                r?   Úrefresh_from_dbÚModel.refresh_from_db¬  s¯  € ð ‰>Ø-/ˆDÕ*ä'.¨tÐ5PÐRTÓ'UÐ$Ü˜“[ˆFØŸ™ž�ØÕ4Ø0Ð7Ø—M‘M %Ö(ñ 'ö ØÜÑ3©FÓ3×3Ñ3Ü ð1Ü3=ñ>óð ð
 Ñ Ø Ð&ˆEØ ŸN™N×8Ñ8×CÑCÀEÐCÐW‰MØÑØ)×/Ñ/°Ó6ˆMà&×-Ñ-°·±Ð-Ð9ˆð ×2Ñ2Ó4ˆØÑØ+×0Ò0°&Ð9‰NÞØ+×0Ò0ð "ŸZ™Z×7Ò7óâ7˜Ø—y‘y¨Ñ7ó �A—I”IÙ7ñðˆNð %×(Ñ(Ó*ˆØ'×;Ñ;Ó=ÐØ—Z‘Z×/Ô/ˆEØ�}‰}Ð 1Ó1áÜ�DŸ-™-¬°¿m¹mÓ)LÔMà× × Ñ Ø—?‘? ;×/Ñ/Ø×*Ñ*¨4×1GÑ1GÈÓ1TÖUØ—_‘_ T×*Ó*Ø×-Ñ-¨dÖ3ñ 0ð —:‘:×-Ô-ˆCØ‘ #§(¡(¨fÕ"4¸#¿-¹-È×:MÓ:MØ×'Ñ'¨Ö-ñ .ð
 —Z‘Z×.Ô.ˆEà‘ 5§:¡:°Õ#7Ø×%×%Ñ%Ø—O‘O D×)Ó)à×)Ñ)¨$Ö/ñ /ð %×+Ñ+×.Ñ.ˆ�‰�ùòGs   Ä,L3ÅL3c              ƒ   óR   #   • [        U R                  5      " XUS9I S h  v•N $  N7f)N)rj  r…   rs  )r   rz  )r>   rj  r…   rs  s       r?   Úarefresh_from_dbÚModel.arefresh_from_dbÿ  s,   é € Ü" 4×#7Ñ#7Ô8Ø°mñ
÷ 
ð 	
ñ 
ùó   ‚' %¡'c                 óš   •  U R                   R                  U5      n[        XR                  5      $ ! [         a    [        X5      s $ f = f)a‚  
Return the value of the field name for this instance. If the field is
a foreign key, return the id value instead of the object. If there's
no Field object with this name on the model, return the model
attribute's value.

Used to serialize a field's value (in the serializer, or form output,
for example). Normally, you would just access the attribute directly
and not use this method.
)rb   r  r   ry   r
  )r>   Ú
field_namer°   s      r?   Úserializable_valueÚModel.serializable_value  sH   € ð	-Ø—J‘J×(Ñ(¨Ó4ˆEô �tŸ]™]Ó+Ð+øô !ó 	-Ü˜4Ó,Ò,ð	-ús   ‚2 ²A
Á	A
c          
      óP  ^^^
• SSS S S.m
[         R                  " ST S3[        SS9  [        T5      S-   n[        T
5      S-   nXE:”  a  [	        ST S	U S
U S35      eUU
U4S jn[        UR                  5       5       VVV	s/ s H  u  nu  p‰U" X‰U5      PM     sn	nn$ s  sn	nnf )NF©Úforce_insertÚforce_updaterj  Úupdate_fieldsz Passing positional arguments to z() is deprecatedé   rK  é   úModel.z() takes from 1 to z positional arguments but z were givenc                 ód   >• U[        T5      :  a  UTU    La  [        ST SU  S35      eTU   $ U$ )Nr‹  z%() got multiple values for argument 'Ú')r  r�   )Ú
param_nameÚparam_valueÚ	arg_indexrý   ÚdefaultsÚmethod_names      €€€r?   Ú	get_paramÚ+Model._parse_save_params.<locals>.get_param,  sS   ø€ Øœ3˜t›9Ó$Ø h¨zÑ&:Ò:ä#Ø   ð .Ø&˜< qð*óð ð ˜I‘Ð&àÐrC   )rM  rN  r1   r  r�   Ú	enumeraterx   )r>   r’  rý   r›   Útotal_len_argsÚmax_len_argsr“  ÚiÚkÚvr‘  s    ``       @r?   Ú_parse_save_paramsÚModel._parse_save_params  sÁ   ú€ à!Ø!ØØ!ñ	
ˆô 	�ŠØ.¨{¨mÐ;KÐLÜ$Øò	
ô
 ˜T› Q™ˆÜ˜8“} qÑ(ˆØÓ(äØ˜˜Ð%8¸¸ð G!Ø!/Ð 0°ð=óð ÷

	ô 5>¸f¿l¹l»nÔ4MÕNÒ4M¡y q©&¨1‘	˜! Ö"Ñ4MÓNÐNùÔNs   ÂB!Fr…  c          	      ó  • U(       a  U R                   " USUUUUS.6u  pp4U R                  SS9  U=(       d    [        R                  " U R                  U S9nU(       a  U(       d  U(       a  [        S5      eU R                  R                   Vs1 s H<  nUR                  U R                  ;  d  M  UR                  SL d  M0  UR                  iM>     nnUb_  U(       d  g[        U5      nU R                  R                  nUR                  U5      n	U	(       a  [        SS	R                  U	5      -  5      eO¼U(       dµ  U(       a®  X0R                  R                   :X  a•  [#        5       nU R                  R$                  n
U R                  R                   H8  nXº;  d  M
  ['        US
5      (       a  M  UR)                  UR                  5        M:     UR                  U5      nU(       a  [        U5      nU R+                  UUUUS9  gs  snf )a1  
Save the current instance. Override this in a subclass if you want to
control the saving process.

The 'force_insert' and 'force_update' parameters can be used to insist
that the "save" must be an SQL insert or update (or equivalent for
non-SQL backends), respectively. Normally, they should not be set.
Úsave©r’  r†  r‡  rj  rˆ  )Úoperation_name©rò   z6Cannot force both insert and updating in model saving.FNzmThe following fields do not exist in this model, are m2m fields, primary keys, or are non-concrete fields: %srÂ   Úthrough)rj  r†  r‡  rˆ  )r›  Ú _prepare_related_fields_for_saver   Údb_for_writer¹   rÙ   rb   r  r
  rŽ   r  Ú	frozensetÚ_non_pk_concrete_field_namesÚ
differencerÓ   r  rø   r‹   Ú	pk_fieldsrX   r�   Ú	save_base)r>   r†  r‡  rj  rˆ  rý   rª   Údeferred_non_generated_fieldsr«   Únot_updatable_fieldsr¨  r°   Úloaded_fieldss                r?   rž  Ú
Model.save>  sÏ  € ö" Ø?C×?VÒ?VØØ"Ø)Ø)ØØ+ò@Ñ<ˆL¨ð 	×-Ñ-¸VÐ-ÑDà×Kœ×,Ò,¨T¯^©^ÀdÑKˆÞž\®]ÜÐUÓVÐVð —Z‘Z×/Ò/ó)
â/�Ø�y‰y §¡Ñ-ó à23·+±+ÀÐ2Fó ˆA�IŒIÙ/ð 	&ð )
ð
 Ñ$ö !Øä% mÓ4ˆMØŸ*™*×AÑAˆKØ#0×#;Ñ#;¸KÓ#HÐ æ#Ü ðKà—i‘iÐ 4Ó5ñ6óð ð $ö Þ-ØŸ™Ÿ™Ó'ä›%ˆKØŸ
™
×,Ñ,ˆIØŸ™×3Ô3�ØÕ)´'¸%À×2KÓ2KØ—O‘O E§M¡MÖ2ñ 4ð (×2Ñ2Ð3PÓQˆMÞÜ )¨-Ó 8�à�‰ØØ%Ø%Ø'ð	 	ò 	
ùòO)
s   ÂHÂ2HÃHTc          	   ‡   ó–   #   • U(       a  U R                   " USUUUUS.6u  pp4[        U R                  5      " UUUUS9I S h  v•N $  N7f)NÚasaverŸ  r…  )r›  r   rž  )r>   r†  r‡  rj  rˆ  rý   s         r?   r¯  ÚModel.asave“  s`   é € ö Ø?C×?VÒ?VØØ#Ø)Ø)ØØ+ò@Ñ<ˆL¨ô # 4§9¡9Ô-Ø%Ø%ØØ'ñ	
÷ 
ð 	
ñ 
ùs   ‚A A	ÁAÁA	c                 ó*  • USL a  gUSL a  U 4$ [        U[        5      (       d  [        S5      eU H^  n[        U[        5      (       d  [        SU< S35      e[	        X5      (       a  M:  [        SUR
                   SU R
                   S35      e   U$ )	NFr<   Tz%force_insert must be a bool or tuple.zInvalid force_insert member. z must be a model subclass.z must be a base of rM   )rv   r~   r�   r\   Ú
issubclassrI   )r™   r†  Úmembers      r?   Ú_validate_force_insertÚModel._validate_force_insert®  s¯   € à˜5Ò ØØ˜4ÒØ�6ˆMÜ˜,¬×.Ñ.ÜÐCÓDÐDÛ"ˆFÜ˜f¤i×0Ñ0ÜØ3°F±:Ð=WÐXóð ô ˜c×*Ó*ÜØ3°F×4GÑ4GÐ3Hð IØ"×/Ñ/Ð0°ð3óð ñ #ð ÐrC   c           	      óf  • U=(       d    [         R                  " U R                  U S9nU(       a  U(       d  U(       a   eUb	  U(       d   eU R                  =pgUR                  R                  (       a  UR                  R
                  nUR                  nUR                  (       d  [        R                  " UU UUUS9  UR                  (       a  [        R                  " USS9n	O[        R                  " US9n	U	   Sn
U(       d#  U R                  U5      nU R                  XdXR5      n
U R                  UUU=(       d    U
UUU5      nSSS5        X@R                   l        SU R                   l        UR                  (       d  [&        R                  " UU W(       + UUUS9  gg! , (       d  f       N`= f)a>  
Handle the parts of saving which should be done only once per save,
yet need to be done in raw saves, too. This includes some sanity
checks and signal sending.

The 'raw' argument is telling save_base not to save any parent
models and not to do any changes to the values before save. This
is used by fixture loading.
r¡  N)rÌ   rò   Úrawrj  rˆ  F)rj  Ú	savepoint)rj  )rÌ   rò   Úcreatedrˆ  r·  rj  )r   r¤  r¹   rb   r   r†   rr   r.   rÛ   r‘   r   ÚatomicÚmark_for_rollback_on_errorr´  Ú_save_parentsÚ_save_tabler  rø   rù   r,   )r>   r·  r†  r‡  rj  rˆ  r™   Úoriginr¥   Úcontext_managerÚparent_insertedÚupdateds               r?   r©  ÚModel.save_baseÂ  se  € ð" ×Kœ×,Ò,¨T¯^©^ÀdÑKˆÞ ¦l¶mÐEÐEØÑ$®Ð5Ð5Ø—~‘~Ð%ˆà�9‰9�?�?Ø—)‘)×*Ñ*ˆCØ�y‰yˆØ× × Ü�MŠMØØØØØ+òð �<�<Ü)×0Ò0°uÈÑN‰Oä)×DÒDÈ5ÑQˆOÚØ#ˆOÞà#×:Ñ:¸<ÓH�Ø"&×"4Ñ"4Ø ó#�ð ×&Ñ&ØØØ×/ ØØØóˆG÷ ð" �‰Œà"ˆ�‰Ôð × × Ü�NŠNØØØ$œØ+ØØóð !÷- �_ús   Ã<AF"Æ"
F0c           
      ó  • UR                   nSnUc  0 nUR                  R                  5        GHN  u  p‰U	(       a}  [        XR                   R                  R
                  5      cS  [        X	R
                  5      b=  [        XR                   R                  R
                  [        X	R
                  5      5        UR                  U5      =n
cE  U R                  UUUUUS9nU R                  UUUU=(       d    [        X„5      S9nU(       d  SnXÅU'   O	U
(       d  SnU	(       d  Mõ  [        X	R
                  U R                  UR                   5      5        U	R                  U 5      (       d  GM=  U	R                  U 5        GMQ     U$ )z3Save all the parents of cls using values from self.F)r™   rj  rˆ  r†  Úupdated_parents)r™   rj  rˆ  r†  T)rb   r‘   rx   ry   r*  r
  r½   rÕ   r¼  r½  r²  rT  rn  rq  )r>   r™   rj  rˆ  r†  rÄ  r¥   Úinsertedr®   r°   Úparent_updatedrÀ  rÁ  s                r?   r¼  ÚModel._save_parents
  sO  € ð �y‰yˆØˆØÑ"Ø ˆOØ!Ÿ\™\×/Ñ/×1‰MˆFö Ü˜D§,¡,§/¡/×"9Ñ"9Ó:ÑBÜ˜D§-¡-Ó0Ñ<ä˜Ÿl™lŸo™o×5Ñ5´w¸tÇ]Á]Ó7SÔTØ"1×"5Ñ"5°fÓ"=Ð=�ÑFØ"&×"4Ñ"4ØØØ"/Ø!-Ø$3ð #5ð #�ð ×*Ñ*ØØØ"/Ø!0×!T´J¸vÓ4Tð	 +ð �ö Ø#�HØ*1 Ò'Þ#Ø�çˆuÜ˜Ÿm™m¨T×-=Ñ-=¸f¿l¹lÓ-KÔLð —?‘? 4×(Ô(Ø×-Ñ-¨d×3ñI 2ðJ ˆrC   c           
      ó2  • UR                   nUR                  nUR                   V	s/ s H  n	X˜;  d  M
  U	R                  (       a  M  U	PM!     n
n	U(       a4  U
 V	s/ s H'  n	U	R                  U;   d  U	R
                  U;   d  M%  U	PM)     n
n	U R                  U5      (       d;  UR                  R                  U 5      n[        XR                  R
                  U5        U R                  U5      nU(       d  U(       d  U(       a  [        S5      eSnU(       dL  U(       dE  U(       d>  U R                  R                  (       a#  [        S UR                   5       5      (       a  SnU(       aÅ  U(       d¾  UR                  R                  U5      nU
 V	s/ s H4  n	U	SU(       a  [!        X	R
                  5      OU	R#                  U S5      4PM6     nn	U=(       d    UnU R%                  U5      nU R'                  XåX¿UU5      nU(       a  U(       d  [)        S5      eU(       a  U(       d  [)        S5      eU(       GdN  UR*                  (       a•  UR*                  nUR-                  U 5      nUR                  R                  U5      R.                  " S0 UD6R1                  [3        [5        [7        S5      [9        S	5      -   [;        5       S
9[9        S5      5      S9S   U l        UR                   V	s/ s H/  n	U	R                  (       a  M  U(       d  X—R>                  Ld  M-  U	PM1     nn	UR@                  nU RC                  UR                  UUUU5      nU(       a0  [E        US   U5       H  u  nn[        U UR
                  U5        M     U$ s  sn	f s  sn	f s  sn	f s  sn	f )zX
Do the heavy-lifting involved in saving. Update or insert the data
for a single table.
z5Cannot force an update in save() with no primary key.Fc              3   ón   #   • U  H+  oR                  5       =(       d    UR                  5       v •  M-     g 7fr¼   )Úhas_defaultÚhas_db_defaultrÅ   s     r?   rj   Ú$Model._save_table.<locals>.<genexpr>b  s%   é € ÐRÂ>¸a—M‘M“O×9 q×'7Ñ'7Ó'9Ô9Â>ùs   ‚35TNz&Forced update did not affect any rows.z0Save with update_fields did not affect any rows.Ú_orderrŠ  )Úoutput_fieldr   )Ú_order__maxrÏ  r<   )#rb   r¨  Úlocal_concrete_fieldsr  rO   r
  r3  r*  Úget_pk_value_on_saver½   rÙ   r  rù   Úallræ   rj  ry   r.   rT  Ú
_do_updater   rÍ   Úget_filter_kwargs_for_objectrk  Ú	aggregater%   r   r   r   r   rÍ  Ú
auto_fieldÚdb_returning_fieldsÚ
_do_insertr	  )r>   r·  r™   r†  r‡  rj  rˆ  r¥   r¨  rª   Únon_pks_non_generatedr]  Úpk_setrÁ  Úbase_qsr   Úforced_updater°   Úfilter_argsr…   Úreturning_fieldsÚresultsrY   s                          r?   r½  ÚModel._save_table9  s2  € ð �y‰yˆØ—N‘Nˆ	ð ×/Ò/ó!
â/�ØÑ!ó à*+¯+­+÷ Ù/ð 	ð !
ö ñ /ó%â.�AØ—6‘6˜]Ó*¨a¯i©i¸=Ñ.H÷ Ù.ð "ð %ð �‰˜t×$Ñ$Ø—W‘W×1Ñ1°$Ó7ˆFÜ�DŸ'™'Ÿ/™/¨6Ô2Ø—‘ Ó&ˆÞž<®=ÜÐTÓUÐUØˆö Þ Þ Ø—‘×"×"ÜÑRÀ4Ç>Â>ÓR×RÑRàˆLæž,Ø×'Ñ'×-Ñ-¨eÓ4ˆGñ /óò /�Að	 ØÞ14”W˜T§9¡9Ô-¸!¿*¹*ÀTÈ5Ó:Qóñ
 /ð ð ð *×9¨\ˆMØ×%Ñ% dÓ+ˆFØ—o‘oØ °¸}óˆGö ¦GÜ#Ð$LÓMÐMÞ¦WÜ#Ð$VÓWÐWßØ×)×)ð ×2Ñ2�Ø#×@Ñ@ÀÓF�à×%Ñ%×+Ñ+¨EÓ2ß‘Vðñ +Ø)ñ+ç‘YÜ$,Ü-Ü # H£´°a³Ñ 8Ä|Ã~ñô " !›Hó	%ð ð ð $ñ	%ð ”ð ×3Ò3óâ3�AØ—{•{ó æ(.°!¿?¹?Ð2J÷ Ù3ð ð ð
  $×7Ñ7ÐØ—o‘oØ×!Ñ! 5¨&Ð2BÀCóˆGö Ü$'¨°©
Ð4DÖ$E‘L�E˜5Ü˜D %§-¡-°Ö7ñ %Fàˆùò_!
ùò%ùò2ùòFs4   §	N´NÁNÁ$N
ÂN
Æ;NË)NÌNÌNc                 óT  • UR                  US9nU(       d  USL=(       d    UR                  5       $ U R                  R                  (       aI  U(       dB  UR                  5       =(       a+    UR	                  U5      S:„  =(       d    UR                  5       $ UR	                  U5      S:„  $ )z…
Try to update the model. Return True if the model was updated (if an
update query was done and a matching row was found in the DB).
rg  Nr   )rk  Úexistsrb   Úselect_on_saveÚ_update)r>   rÛ  rj  r]  r   rˆ  rÜ  Úfiltereds           r?   rÓ  ÚModel._do_update™  s�   € ð
 —>‘> V�>Ð,ˆÞð !¨Ð,×A°·±Ó0AÐAØ�:‰:×$×$®]à—‘Ó!÷ 	Dð ×!Ñ! &Ó)¨AÑ-×B°·±Ó1Bðð ×Ñ Ó'¨!Ñ+Ð+rC   c                 ó*   • UR                  U /UUUUS9$ )zs
Do an INSERT. If returning_fields is defined then this method should
return the newly created data for the model.
)r…   rÞ  rj  r·  )Ú_insert)r>   rà   rj  r…   rÞ  r·  s         r?   rØ  ÚModel._do_insertµ  s+   € ð
 �‰ØˆFØØ-ØØð ð 
ð 	
rC   c                 ó,  • U R                   R                   GHG  nU(       a  X2;  a  M  UR                  (       d  M%  UR                  U 5      (       d  M=  [	        XR
                  S 5      nU(       d  M\  UR                  5       (       dS  UR                  R                  (       d  UR                  R                  U5        [        U< SUR
                  < S35      e[	        XR                  5      UR                  ;   a  [        XR
                  U5        [	        XCR                  R                  5      [	        XR                  5      :w  d  GM6  UR                  U 5        GMJ     U R                   R                   H˜  nU(       a  X2;  a  M  UR                  (       d  M$  UR                  U 5      (       d  M<  [!        US5      (       d  MO  UR#                  U S S9nU(       d  Mh  UR                  5       (       a  M  [        U SUR
                   S35      e   g )NzB() prohibited to prevent data loss due to unsaved related object 'rp   Úfk_field)Údefault)rb   r  rm  rn  ry   rO   r3  r‰   Úmultiplerq  rÙ   r
  Úempty_valuesr½   rW  r„   rX   rp  )r>   r   r…   r°   r£   s        r?   r£  Ú&Model._prepare_related_fields_for_saveÂ  s   € ð
 —Z‘Z×/Õ/ˆEÞ˜%Ó-Ùð × × Ñ  U§_¡_°T×%:Ó%:Ü˜d§J¡J°Ó5�ÞÙð —~‘~×'Ñ'à ×-Ñ-×6×6Ø×*Ñ*×>Ñ>¸sÔCÜ$ã2@À%Ç*Ä*ðNóð ô ˜T§=¡=Ó1°U×5GÑ5GÓGô ˜D§*¡*¨cÔ2ô ˜3× 2Ñ 2× :Ñ :Ó;¼wØŸ-™-ó@ö ð ×-Ñ-¨d×3ñA 0ðD —Z‘Z×.Ô.ˆEÞ˜%Ó-Ùà×!×!Ñ!Ø—O‘O D×)Ó)Ü˜E :×.Ó.à×,Ñ,¨T¸4Ð,Ð@�ß�3˜sŸ~™~×/Ó/Ü$Ø)Ð*ð +3Ø38·:±:°,¸bðBóð ò /rC   c                 óZ  • U R                  5       (       dE  [        U R                  R                  < SU R                  R                  R
                  < S35      eU=(       d    [        R                  " U R                  U S9n[        XS9nUR                  U /US9  UR                  5       $ )Nz% object can't be deleted because its z attribute is set to None.r¡  )rj  r¾  )Úkeep_parents)r3  rÙ   rb   r;  r*  r
  r   r¤  r¹   r   ÚcollectÚdelete)r>   rj  rñ  Ú	collectors       r?   ró  ÚModel.deleteø  sŠ   € Ø�‰× Ñ Üà"Ÿj™j×4Ô4°d·j±j·m±m×6KÔ6KðMóð ð ×Kœ×,Ò,¨T¯^©^ÀdÑKˆÜ EÑ7ˆ	Ø×Ñ˜4˜&¨|ÐÑ<Ø×ÑÓ!Ð!rC   c              ƒ   óR   #   • [        U R                  5      " UUS9I S h  v•N $  N7f)N)rj  rñ  )r   ró  )r>   rj  rñ  s      r?   ÚadeleteÚModel.adelete  s+   é € Ü" 4§;¡;Ô/ØØ%ñ
÷ 
ð 	
ñ 
ùr  c                 ó®   • [        XR                  5      n[        [        UR                  5      5      n[        UR                  [        U5      U5      SS9$ )NT)Ústrings_only)ry   r
  Údictr3   Úflatchoicesr2   rÕ   )r>   r°   rY   Úchoices_dicts       r?   Ú_get_FIELD_displayÚModel._get_FIELD_display  sI   € Ü˜Ÿm™mÓ,ˆÜœM¨%×*;Ñ*;Ó<Ó=ˆäØ×Ñœ]¨5Ó1°5Ó9Èñ
ð 	
rC   c                 ó  • U R                  5       (       d  [        S5      eU(       a  SOSnU(       a  SOSn[        XR                  5      n[        R
                  " UR                  U4SU 3U R                  4/[        R                  S9n[        R
                  " XqR                   SU 3U4/[        R                  S9nU R                  R                  R                  U R                  R                  5      R                  " S0 UD6R                  U5      R!                  U< UR                  < 3S	U-  5      n US
   $ ! ["         a3    U R%                  SU R                  R&                  R(                  -  5      ef = f)Nz8get_next/get_previous cannot be used on unsaved objects.ÚgtÚltÚ Ú-Úpk__)Ú	connectorÚ__z%spkr   z!%s matching query does not exist.r<   )r3  rÙ   ry   r
  r)   ÚcreaterO   r*  ÚANDÚORr¹   rê   rj  r  rø   rk  Úorder_byr  rd   rb   r;  )	r>   r°   rÀ   r›   ÚopÚorderÚparamÚqÚqss	            r?   Ú_get_next_or_previous_by_FIELDÚ$Model._get_next_or_previous_by_FIELD  s=  € Ø�‰× Ñ ÜÐWÓXÐXÞ‰T $ˆÞ‘ 3ˆÜ˜Ÿm™mÓ,ˆÜ�HŠH�u—z‘z 5Ð)¨d°2°$¨K¸¿¹Ð+AÐBÌaÏeÉeÑTˆÜ�HŠH�aŸZ™Z˜L¨¨2¨$Ð/°Ð7Ð8ÄAÇDÁDÑIˆà�N‰N×+Ñ+×1Ñ1°$·+±+·.±.ÓAß‰Vðñ Øñç‰V�A‹Yß‰X¢ u§z£zÐ2°F¸U±NÓCð	 	ð	Ø�a‘5ˆLøÜó 	Ø×#Ñ#Ø3°d·n±n×6JÑ6J×6VÑ6VÑVóð ð	ús   Ä=E Å=E?c                 óF  • SU-  n[        X5      (       Gd  U(       a  SOSnU(       a  SOSnU R                  R                  nUR                  U 5      nU R                  R
                  R                  " S0 UD6R                  " S0 SU-  U R                  R
                  R                  S5      R                  " S0 U R                  R                  R                  U R                  0D60D6R                  U5      S S R                  5       n[        XU5        [        X5      $ )	Nz__%s_order_cacher  r  rÍ  z-_orderz
_order__%srŠ  r<   )rX   rb   rÍ   rÔ  r¹   rê   rk  r   r*  rO   r  rÕ   r½   ry   )r>   rÀ   Ú	cachenamer  r  Úorder_fieldrÝ  r£   s           r?   rÎ   Ú$Model._get_next_or_previous_in_order*  s  € Ø&¨Ñ0ˆ	Ü�t×'Ò'Þ ‘ dˆBÞ '‘H¨YˆEØŸ*™*×:Ñ:ˆKØ%×BÑBÀ4ÓHˆKà—‘×/Ñ/×6Ò6ÑE¸ÑEß‘ðñ ð %ØñØ"Ÿn™n×=Ñ=×DÑDÀXÓN×UÒUñ Ø#Ÿz™zŸ}™}×1Ñ1°4·7±7Ð;ñðñ÷ ‘˜%“  !ð	%÷ ‘“ð ô �D SÔ)Ü�tÓ'Ð'rC   c                 ó,  ^• Tc
  [        5       mU=(       d    U R                  n0 n/ nUR                   H´  nUR                  T;   a  M  UR                  (       aH  [        U4S jU R                  UR                  5       5       5      (       a  M[  UR                  U5        Mn  [        XR                  5      nU(       a  [        US5      (       d  [        Xe5      nXcUR                  '   M¶     ST;  a#  [        U R                  UR                  5      US'   U(       ar  UR                  5        VVs0 s H  u  pv[        U5      U_M     nnnU H>  n	[!        U	R                  R#                  U5      U	R$                  5      X9R                  '   M@     U$ s  snnf )Nc              3   ó4   >#   • U  H  nUS    T;   v •  M     g7f©r   Nr<   )rh   ÚrefÚexcludes     €r?   rj   Ú2Model._get_field_expression_map.<locals>.<genexpr>K  s!   øé € ð âJ˜ð ˜‘F˜gÖ%ÚJùs   ƒÚresolve_expressionr*  )r‹   rb   rÐ  rO   r  rØ   Ú_get_expr_referencesÚ
expressionrD  ry   r
  rX   r   r*  rx   r(   r   Úreplace_expressionsrÎ  )
r>   r¥   r  Ú	field_mapÚgenerated_fieldsr°   rY   rO   ÚreplacementsÚgenerated_fields
     `       r?   Ú_get_field_expression_mapÚModel._get_field_expression_mapA  sW  ø€ Ø‰?Ü“eˆGØ×!�t—z‘zˆØˆ	ØÐØ×/Ô/ˆEØ�z‰z˜WÓ$ÙØ��Üô à#×8Ñ8¸×9IÑ9IÔJó÷ ñ ñ Ø ×'Ñ'¨Ô.ÙÜ˜D§-¡-Ó0ˆEÞ¤¨Ð/C× DÑ DÜ˜eÓ+�Ø$)�e—j‘jÓ!ñ 0ð �wÓÜ# D§G¡G¨T¯W©WÓ5ˆI�d‰OÞØ>G¿o¹oÔ>OÔPÒ>O©{¨tœA˜d›G UšNÑ>OˆLÑPÛ#3�Ü2CØ#×.Ñ.×BÑBÀ<ÓPØ#×0Ñ0ó3�	×.Ñ.Ó/ñ $4ð Ðùó Qs   Ä/Fc                 ó¢   • U R                  5       (       d  [        SU -  5      e[        XR                  R	                  5       R
                  5      $ )Nz9Unsaved model instance %r cannot be used in an ORM query.)r3  rÙ   ry   r‰   Úget_related_fieldr
  )r>   r°   s     r?   Úprepare_database_saveÚModel.prepare_database_saveb  sF   € Ø�‰× Ñ ÜØKÈdÑRóð ô �t×/Ñ/×AÑAÓC×KÑKÓLÐLrC   c                 ó   • g)a!  
Hook for doing any extra model-wide validation after clean() has been
called on every field by self.clean_fields. Any ValidationError raised
by this method will not be associated with a particular field; it will
have a special-case association with the field defined by NON_FIELD_ERRORS.
Nr<   r=   s    r?   ÚcleanÚModel.cleani  s   € ð 	rC   c                 ó  • U R                  US9u  p#U R                  U5      nU R                  U5      nUR                  5        H&  u  pgUR	                  U/ 5      R                  U5        M(     U(       a  [        U5      eg)zP
Check unique constraints on the model and raise ValidationError if any
failed.
©r  N)Ú_get_unique_checksÚ_perform_unique_checksÚ_perform_date_checksrx   Ú
setdefaultÚextendr   )r>   r  Úunique_checksÚdate_checksÚerrorsÚdate_errorsr™  rš  s           r?   Úvalidate_uniqueÚModel.validate_uniquer  s   € ð
 &*×%<Ñ%<ÀWÐ%<Ð%MÑ"ˆà×,Ñ,¨]Ó;ˆØ×/Ñ/°Ó<ˆà×%Ñ%Ö'‰DˆAØ×Ñ˜a Ó$×+Ñ+¨AÖ.ñ (ö Ü! &Ó)Ð)ð rC   c                 ó"  ^• Tc
  [        5       m/ nU R                  U R                  R                  4/n/ nU(       a#  U R                  U R                  R                  4/nU R                  R
                   H�  nUR                  R                  (       a&  UR                  XfR                  R                  45        U(       d  MM  UR                  R                  (       d  Mj  UR                  XfR                  R                  45        M’     U HF  u  pxU H;  n	[        U4S jU	 5       5      (       a  M  UR                  U[        U	5      45        M=     MH     U(       aV  U HP  u  pzU
 HE  n[        U4S jUR                   5       5      (       a  M)  UR                  X{R                  45        MG     MR     / nU R                  U R                  R                  4/nU R                  R
                   H)  nUR                  XfR                  R                  45        M+     U GHl  u  p~U GH_  nUR                  nUT;   a  M  [        U[        5      (       aG  [        S UR                   5       5      nTR                  U5      (       a  UR                  UU45        Mt  UR                  (       a  UR                  UU445        UR                   (       a/  UR                   T;  a  UR                  USUUR                   45        UR"                  (       a/  UR"                  T;  a  UR                  USUUR"                  45        UR$                  (       d  GM-  UR$                  T;  d  GM@  UR                  USUUR$                  45        GMb     GMo     X<4$ )aK  
Return a list of checks to perform. Since validate_unique() could be
called from a ModelForm, some fields may have been excluded; we can't
perform a unique check on a model that is missing fields involved
in that check. Fields that did not validate should also be excluded,
but they need to be passed in via the exclude argument.
c              3   ó,   >#   • U  H	  oT;   v •  M     g 7fr¼   r<   ©rh   rO   r  s     €r?   rj   Ú+Model._get_unique_checks.<locals>.<genexpr>ž  s   øé € Ð=²u¨t 7ž?²uùó   ƒc              3   ó,   >#   • U  H	  oT;   v •  M     g 7fr¼   r<   r=  s     €r?   rj   r>  ¥  s   øé € ÐMÒ;L°4 wžÒ;Lùr?  c              3   ó8   #   • U  H  oR                   v •  M     g 7fr¼   rÄ   ©rh   r°   s     r?   rj   r>  ¸  s   é € Ð!Cº(°§*¦*º(ùrÇ   ÚdateÚyearÚmonth)r‹   r¹   rb   Úunique_togetherÚtotal_unique_constraintsÚall_parentsrD  rØ   r~   r…   r‚   rO   rv   r    Ú
isdisjointÚuniqueÚunique_for_dateÚunique_for_yearÚunique_for_month)r>   r  Úinclude_meta_constraintsr5  Úunique_togethersÚconstraintsÚparent_classÚmodel_classrF  ÚcheckÚmodel_constraintsÚ
constraintr6  Úfields_with_classr…   rª   rO   Únamess    `                r?   r0  ÚModel._get_unique_checks‚  sê  ø€ ð ‰?Ü“eˆGØˆà!Ÿ^™^¨T¯Z©Z×-GÑ-GÐHÐIÐØˆÞ#Ø ŸN™N¨D¯J©J×,OÑ,OÐPÐQˆKØ ŸJ™J×2Ô2ˆLØ×!Ñ!×1×1Ø ×'Ñ'Ø!×#5Ñ#5×#EÑ#EÐFô÷ (Ð'¨L×,>Ñ,>×,W×,WÑ,WØ×"Ñ"Ø!×#5Ñ#5×#NÑ#NÐOöñ 3ó -=Ñ(ˆKÛ(�ÜÔ=±uÓ=×=Ó=à!×(Ñ(¨+´u¸U³|Ð)DÖEó )ñ -=ö $Û2=Ñ.�Û"3�JÜÔM¸:×;LÒ;LÓM×MÓMØ%×,Ñ,¨k×;LÑ;LÐ-MÖNó #4ñ 3>ð ˆð
 #Ÿn™n¨d¯j©j×.EÑ.EÐFÐGÐØ ŸJ™J×2Ô2ˆLØ×$Ñ$ l×4FÑ4F×4SÑ4SÐ%TÖUñ 3ô $5ÑˆKÜ�Ø—v‘v�Ø˜7“?ÙÜ˜aÔ!4×5Ñ5Ü!Ñ!C¸!¿(º(Ó!CÓC�EØ×)Ñ)¨%×0Ñ0Ø%×,Ñ,¨k¸5Ð-AÔBÙØ—8—8Ø!×(Ñ(¨+¸°wÐ)?Ô@Ø×$×$¨×):Ñ):À'Ó)IØ×&Ñ&¨°V¸TÀ1×CTÑCTÐ'UÔVØ×$×$¨×):Ñ):À'Ó)IØ×&Ñ&¨°V¸TÀ1×CTÑCTÐ'UÔVØ×%×%Ò%¨!×*<Ñ*<ÀGÖ*KØ×&Ñ&¨°W¸dÀA×DVÑDVÐ'W×Xô! ñ $5ð$ Ð)Ð)rC   c                 óp  • 0 nU GH¬  u  p40 nU H   nU R                   R                  U5      n[        XR                  5      nUb%  US:X  a!  [        R
                  R                  (       a  M]  XsR                   R                  ;   a  U R                  R                  (       d  M“  X…[        U5      '   M¢     [        U5      [        U5      :w  a  MÈ  UR                  R                  " S0 UD6n	U R                  UR                   5      n
U R                  R                  (       d/  U R                  UR                   5      (       a  U	R!                  U
S9n	U	R#                  5       (       d  GMa  [        U5      S:X  a  US   nO[$        nUR'                  U/ 5      R)                  U R+                  X45      5        GM¯     U$ )Nr  rg  rŠ  r   r<   )rb   r  ry   r
  r   ÚfeaturesÚ!interprets_empty_strings_as_nullsr¨  r  rù   Ústrr  rê   rk  rT  r3  r  râ  r
   r3  rD  Úunique_error_message)r>   r5  r7  rR  Úunique_checkÚlookup_kwargsr�  rª   Úlookup_valuer  Úmodel_class_pkÚkeys               r?   r1  ÚModel._perform_unique_checksÆ  sg  € Øˆä)6Ñ%ˆKð ˆMÛ*�
Ø—J‘J×(Ñ(¨Ó4�Ü& t¯Y©YÓ7�àÑ'Ø  BÓ&Ü"×+Ñ+×M×Mñ Ø×)Ñ)×3Ñ3Ó3¸D¿K¹K×<N×<NáØ1=œc *›oÓ.ñ +ô  �<Ó ¤C¨Ó$6Ó6Ùà×-Ñ-×4Ò4ÑE°}ÑEˆBð "×-Ñ-¨k×.?Ñ.?Ó@ˆNØ—;‘;×%×%¨$¯/©/¸+×:KÑ:K×*LÑ*LØ—Z‘Z >�ZÐ2�Ø�y‰y�{Œ{Ü�|Ó$¨Ó)Ø& q™/‘Cä*�CØ×!Ñ! # rÓ*×1Ñ1Ø×-Ñ-¨kÓH÷ñQ *7ðX ˆrC   c                 ó`  • 0 nU GH$  u  p4pV0 n[        X5      nUc  M  US:X  a7  UR                  USU-  '   UR                  USU-  '   UR                  USU-  '   O[        X„5      Xv< SU< 3'   [        X5      Xu'   UR                  R
                  " S0 UD6n	U R                  R                  (       d.  U R                  5       (       a  U	R                  U R                  S9n	U	R                  5       (       d  Mó  UR                  U/ 5      R                  U R                  XEU5      5        GM'     U$ )NrC  z%s__dayz	%s__monthz%s__yearr  rg  r<   )ry   ÚdayrE  rD  rê   rk  r  rù   r3  r  r*  râ  r3  rD  Údate_error_message)
r>   r6  r7  rR  Úlookup_typer°   Ú
unique_forr_  rC  r  s
             r?   r2  ÚModel._perform_date_checks÷  s  € ØˆÜ;FÑ7ˆK eØˆMô ˜4Ó,ˆDØ‰|ÙØ˜fÓ$Ø8<¿¹�˜i¨*Ñ4Ñ5Ø:>¿*¹*�˜k¨JÑ6Ñ7Ø9=¿¹�˜j¨:Ñ5Ò6äFMØóG�ª*²kÐBÑCô $+¨4Ó#7ˆMÑ à×-Ñ-×4Ò4ÑE°}ÑEˆBð —;‘;×%×%¨$¯/©/×*;Ñ*;Ø—Z‘Z 4§7¡7�ZÐ+�à�y‰y�{‹{Ø×!Ñ! %¨Ó,×3Ñ3Ø×+Ñ+¨KÀ
ÓK÷ñ1 <Gð6 ˆrC   c                 ó  • U R                   nUR                  U5      n[        UR                  S   SU [	        UR
                  5      UU[	        UR
                  5      U[	        UR                  U5      R
                  5      S.S9$ )NrK  )rŠ   r�   rg  r°   Úfield_labelÚ
date_fieldÚdate_field_label©ÚmessageÚcodeÚparams)rb   r  r   Úerror_messagesr4   Úverbose_name)r>   rg  r�  rh  rÜ   r°   s         r?   rf  ÚModel.date_error_message  s|   € Ø�z‰zˆØ—‘˜zÓ*ˆÜØ×(Ñ(Ð):Ñ;Ø"àÜ& t×'8Ñ'8Ó9Ø*Ø#Ü'¨×(:Ñ(:Ó;Ø(Ü$,¨T¯^©^¸JÓ-G×-TÑ-TÓ$Uññ
ð 	
rC   c                 ó¾  • UR                   nU U[        UR                  5      US.n[        U5      S:X  aD  UR	                  US   5      n[        UR                  5      US'   [        UR                  S   SUS9$ U Vs/ s H'  n[        UR	                  U5      R                  5      PM)     nn[        U[        S5      5      US'   [        [        S	5      S
US9$ s  snf )N)rŠ   rR  r�   r^  rŠ  r   rk  rJ  rn  ÚandÚfield_labelsz9%(model_name)s with this %(field_labels)s already exists.rF  )	rb   r4   rs  r  r  r   rr  r5   Ú_)r>   rR  r^  rÜ   rq  r°   rª   rw  s           r?   r]  ÚModel.unique_error_message'  sð   € Ø× Ñ ˆð Ø&Ü" 4×#4Ñ#4Ó5Ø(ñ	
ˆô ˆ|Ó Ó!Ø—N‘N <°¡?Ó3ˆEÜ$,¨U×-?Ñ-?Ó$@ˆF�=Ñ!Ü"Ø×,Ñ,¨XÑ6ØØñð ñ COóÚBN¸Q”˜Ÿ™¨Ó*×7Ñ7Ö8Á,ð ð ô &3°<ÄÀ5ÃÓ%JˆF�>Ñ"Ü"ÜÐUÓVØ&Øñð ùò	s   Á>.Cc                 ó  • U R                   U R                  R                  4/nU R                  R                   HF  nUR                  R                  (       d  M   UR	                  X"R                  R                  45        MH     U$ r¼   )r¹   rb   rP  rH  rD  )r>   rP  rQ  s      r?   Úget_constraintsÚModel.get_constraintsG  sh   € ØŸ™¨¯
©
×(>Ñ(>Ð?Ð@ˆØ ŸJ™J×2Ô2ˆLØ×!Ñ!×-×-Ñ-Ø×"Ñ" L×2DÑ2D×2PÑ2PÐ#QÖRñ 3ð ÐrC   c           	      óâ  • U R                  5       n[        R                  " U R                  U S9n0 nU H  u  pVU H  n UR	                  XPXS9  M     M!     U(       a  [        U5      eg ! [
         az  n[        USS 5      S:X  aM  [        UR                  5      S:X  a4  UR                  UR                  S   / 5      R                  U5         S nAM—  UR                  U5      n S nAM®  S nAff = f)Nr¡  )r  rj  rp  rJ  rŠ  r   )r{  r   r¤  r¹   Úvalidater   ry   r  r…   r3  rD  Úupdate_error_dict)	r>   r  rP  rj  r7  rR  rT  rU  Úes	            r?   Úvalidate_constraintsÚModel.validate_constraintsN  sÞ   € Ø×*Ñ*Ó,ˆÜ×#Ò# D§N¡N¸TÑBˆàˆÛ.9Ñ*ˆKÛ/�
ð	=Ø×'Ñ'¨À7Ð'ÓXó 0ñ /:ö Ü! &Ó)Ð)ð øô 'ó =ä  6¨4Ó0°HÓ<Ü 
× 1Ñ 1Ó2°aÓ7à×)Ñ)¨*×*;Ñ*;¸AÑ*>ÀÓC×JÑJÈ1×MÒMà!"×!4Ñ!4°VÓ!<žûð=ús   ¿A*Á*
C.Á4AC)ÃC)Ã)C.c                 óð  • 0 nUc  [        5       nO[        U5      n U R                  US9   U R	                  5         U(       a=  U H'  nU[
        :w  d  M  Xa;  d  M  UR                  U5        M)      U R                  US9  U(       a=  U H'  nU[
        :w  d  M  Xa;  d  M  UR                  U5        M)      U R                  US9  U(       a  [        U5      eg! [         a  nUR                  U5      n SnANÌSnAff = f! [         a  nUR                  U5      n SnANãSnAff = f! [         a  nUR                  U5      n SnANÇSnAff = f! [         a  nUR                  U5      n SnAN«SnAff = f)zŽ
Call clean_fields(), clean(), validate_unique(), and
validate_constraints() on the model. Raise a ValidationError for any
errors that occur.
Nr/  )	r‹   Úclean_fieldsr   r  r,  r
   r�   r9  r�  )r>   r  r9  r�  r7  r€  rO   s          r?   Ú
full_cleanÚModel.full_cleanb  sZ  € ð ˆØ‰?Ü“e‰Gä˜'“lˆGð	1Ø×Ñ gÐÑ.ð	1Ø�J‰JŒLö
 Û�ØÔ+Õ+°Õ0CØ—K‘K Ö%ñ ð5Ø×$Ñ$¨WÐ$Ñ5ö
  Û�ØÔ+Õ+°Õ0CØ—K‘K Ö%ñ ð5Ø×)Ñ)°'Ð)Ñ:ö Ü! &Ó)Ð)ð øô= ó 	1Ø×(Ñ(¨Ó0�Fûð	1ûô ó 	1Ø×(Ñ(¨Ó0�Fûð	1ûô #ó 5Ø×,Ñ,¨VÓ4•ûð5ûô #ó 5Ø×,Ñ,¨VÓ4•ûð5ús^   �C ­D  Á2D( Â6E Ã
C=Ã"C8Ã8C=Ä 
D%Ä
D Ä D%Ä(
EÄ2EÅEÅ
E5ÅE0Å0E5c           	      ó  • Uc
  [        5       n0 nU R                  R                   Hš  nUR                  U;   d  UR                  (       a  M&  [        XR                  5      nUR                  (       a  XCR                  ;   a  M]  [        U[        5      (       a  Mt   [        XR                  UR                  X@5      5        Mœ     U(       a  [        U5      eg! [         a#  nUR                  X#R                  '    SnAMÙ  SnAff = f)zg
Clean all fields and raise a ValidationError containing a dict
of all validation errors if any occur.
N)r‹   rb   r…   rO   r  ry   r
  Úblankrî  rv   r   r½   r,  r   Ú
error_list)r>   r  r7  rª   Ú	raw_valuer€  s         r?   r„  ÚModel.clean_fields‘  sÃ   € ð
 ‰?Ü“eˆGàˆØ—‘×"Ô"ˆAØ�v‰v˜Ó  A§K§KÙô   §i¡iÓ0ˆIØ�w�w˜9¯©Ó6Ùä˜)¤_×5Ñ5Ùð.Ü˜Ÿi™i¨¯©°Ó)AÖBñ #ö  Ü! &Ó)Ð)ð øô #ó .Ø!"§¡�—v‘v—ûð.ús   Â%CÃ
DÃ!C?Ã?Dc                 óN  • / U R                  5       QU R                  5       QU R                  " S0 UD6QnU R                  R                  (       GdT  UR                  S5      =(       d    / nU/ U R                  " S0 UD6QU R                  5       QU R                  U5      Q-  n/ U R                  5       QU R                  5       QU R                  5       QU R                  5       QU R                  5       Q7nUR                  U5        U(       d  UR                  U R                  5       5        U/ U R!                  5       QU R#                  U5      QU R%                  5       QU R'                  U5      QU R)                  5       QU R+                  U5      QU R-                  5       Q-  nU$ )NÚ	databasesr<   )Ú_check_swappableÚ_check_modelÚ_check_managersrb   r€   rÕ   Ú_check_fieldsÚ$_check_m2m_through_same_relationshipÚ_check_long_column_namesÚ_check_id_fieldÚ_check_field_name_clashesÚ#_check_model_name_db_lookup_clashesÚ3_check_property_name_related_field_accessor_clashesÚ_check_single_primary_keyr4  Ú_check_column_name_clashesÚ_check_unique_togetherÚ_check_indexesÚ_check_orderingÚ_check_constraintsÚ_check_default_pkÚ_check_db_table_commentÚ_check_composite_pk)r™   r›   r7  r�  Úclash_errorss        r?   rS  ÚModel.check­  sÚ  € ð
Ø×!Ñ!Ó#ð
à×ÑÓð
ð × Ò Ñ* 6Ñ*ð
ˆð
 �y‰y× × Ð ØŸ
™
 ;Ó/×5°2ˆIØð Ø×"Ò"Ñ, VÑ,ðà×9Ñ9Ó;ðð ×-Ñ-¨iÓ8ðñ ˆFð
Ø×$Ñ$Ó&ðà×.Ñ.Ó0ðð ×8Ñ8Ó:ðð ×HÑHÓJð	ð
 ×.Ñ.Ó0ñˆLð �M‰M˜,Ô'ö  Ø—‘˜c×<Ñ<Ó>Ô?Øð Ø×+Ñ+Ó-ðà×#Ñ# IÓ.ðð ×$Ñ$Ó&ðð ×'Ñ'¨	Ó2ð	ð
 ×&Ñ&Ó(ðð ×,Ñ,¨YÓ7ðð ×(Ñ(Ó*ðñ ˆFð ˆrC   c                 óœ  • U R                   R                  (       Gd/  U R                   R                  R                  (       Ga	  [	        U R                   R                  [
        5      (       a/  U R                   R                  R                  R                  (       d±  [        R                  " S5      (       d–  U R                   R                  (       a{  U R                   R                  R                  (       dV  [        R                  " S[        R                   S3SU R                   R                  R                  R                    S3U SS9/$ / $ )NÚDEFAULT_AUTO_FIELDzPAuto-created primary key used when not defining a primary key type, by default 'rp   z0Configure the DEFAULT_AUTO_FIELD setting or the zh.default_auto_field attribute to point to a subclass of AutoField, e.g. 'django.db.models.BigAutoField'.zmodels.W042©Úhintr£   Úid)rb   ra   r*  rr   rv   r"   r‰   rs   r   Úis_overriddenr§   Ú!_is_default_auto_field_overriddenr	   ÚWarningr¤  r¹   rI   rå   s    r?   rž  ÚModel._check_default_pkÓ  sö   € ð —	‘	×"×"Ð"Ø—	‘	—‘×)×)Ð)ô ˜3Ÿ9™9Ÿ<™<¬×7Ñ7Ø—I‘I—L‘L×-Ñ-×9×9ä×*Ò*Ð+?×@Ñ@Ø—	‘	×$×$Ø—I‘I×(Ñ(×J×Jô —’ðä ×3Ñ3Ð4°Bð8ð KØŸ9™9×/Ñ/×9Ñ9×FÑFÐGð HNðOð
 Ø$ñðð ð ˆ	rC   c           
      ó\  • / nU R                   nUR                  n[        U[        5      (       d  U$ [	        [
        5      nUR                   HÓ  nS n UR                  U5      nU(       d  U< S3nO{UR                  (       d  U< S3nOcUR                  (       a  U< S3nOKUR                  (       a  U< S3nO3XrR                  ;  a  U< S3nOXGR                     R                  U5        U(       d  M©  UR                  [        R                  " U< S3UU SS95        MÕ     UR!                  5        Ha  u  p‰[#        U	5      S	:”  d  M  U	tpZS
R%                  S U
 5       5      nUR                  [        R                  " U S3U SU< S3U SS95        Mc     U$ ! [         a    S n GNFf = f)Nz is not a valid field.z field has no column.z field may not set 'null=True'.z field is a generated field.z field is not a local field.z1 cannot be included in the composite primary key.zmodels.E042r¥  rŠ  rÂ   c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr¼   rÿ   rB  s     r?   rj   Ú,Model._check_composite_pk.<locals>.<genexpr>!  s   é € Ð&EÂ°u¤t¨E§{ {ÂùrÇ   z and z are the same fields.)rb   r*  rv   r    r   Úlistr«   r  r   r  Únullr  r‚   rD  r	   ÚErrorrx   r  rÓ   )r™   r7  r¥   r*  Úseen_columnsr�  r¦  r°   r  r«   ÚrestÚ
duplicatess               r?   r   ÚModel._check_composite_pkó  s«  € àˆØ�y‰yˆØ�W‰Wˆä˜"Ô1×2Ñ2ØˆMä"¤4Ó(ˆàŸ.œ.ˆJØˆDðØŸ™ zÓ2�ö Ø$™Ð'=Ð>‘Ø—\—\Ø$™Ð'<Ð=‘Ø——Ø$™Ð'FÐG‘Ø——Ø$™Ð'CÐD‘Ø×/Ñ/Ó/Ø$™Ð'CÐD‘àŸ\™\Ñ*×1Ñ1°*Ô=çˆtØ—‘Ü—L’LØ%™.ð )ð à!ØØ(ñöñ- )ð@ $0×#5Ñ#5Ö#7ÑˆFÜ�;Ó !Õ#Ø$/Ð!�
Ø!ŸY™YÑ&EÁÓ&EÓE�
Ø—‘Ü—L’LØ%˜,ð 'ð à *˜|¨5°±Ð>SÐTØØ(ñöñ	 $8ð ˆøôS %ó Ø“ðús   ÁFÆF+Æ*F+c           	      óx  • U R                   R                  (       d  / $ / nU H”  n[        R                  " X05      (       d  M   [        U   nUR
                  R                  (       a  MF  SU R                   R                  ;   a  Mb  UR                  [        R                  " UR                   S3U SS95        M–     U$ )NÚsupports_commentsz8 does not support comments on tables (db_table_comment).zmodels.W046©r£   r§  )rb   Údb_table_commentr   Úallow_migrate_modelr   rZ  r·  Úrequired_db_featuresrD  r	   rª  Údisplay_name)r™   r�  r7  rø   r   s        r?   rŸ  ÚModel._check_db_table_comment.  sŸ   € à�y‰y×)×)ØˆIØˆÛˆBÜ×-Ò-¨b×6Ñ6ÙÜ$ R™ˆJà×#Ñ#×5×5Ñ5Ø&¨#¯)©)×*HÑ*HÕHà—‘Ü—N’NØ%×2Ñ2Ð3ð 45ð 6àØ(ñ	öñ ð  ˆrC   c                 ó"  • / nU R                   R                  (       a-   [        R                  " U R                   R                  5        U$ U$ ! [         a?    UR                  [        R                  " SU R                   R                  -  SS95         U$ [         ap    U R                   R                  R                  S5      u  p#UR                  [        R                  " SU R                   R                  < SU< SU< S3SS95         U$ f = f)	z"Check if the swapped model exists.z-'%s' is not of the form 'app_label.app_name'.zmodels.E001©r§  rM   r�  z' references 'z0', which has not been installed, or is abstract.zmodels.E002)rb   r€   r   Ú	get_modelrÙ   rD  r	   r±  Ú	swappableÚLookupErrorÚsplit)r™   r7  rc   r�   s       r?   rŽ  ÚModel._check_swappableE  sè   € ð ˆØ�9‰9××ðÜ—’˜sŸy™y×0Ñ0Ô1ð& ˆˆvˆøô% ó Ø—‘Ü—L’LØGØŸ)™)×-Ñ-ñ.à(ñõð" ˆô ó 	Ø(+¯	©	×(9Ñ(9×(?Ñ(?ÀÓ(DÑ%�	Ø—‘Ü—L“Lð Ÿ9™9×.Ô.³	»:ðGð )ñ	õð ˆð	ús   Ÿ*A ÁADÂA5DÄDc                 ó  • / nU R                   R                  (       ag  U R                   R                  (       d  U R                   R                  (       a1  UR	                  [
        R                  " SU R                  -  SS95        U$ )Nz'Proxy model '%s' contains model fields.zmodels.E017r¿  )rb   r   r‚   rƒ   rD  r	   r±  rG   ©r™   r7  s     r?   r�  ÚModel._check_model`  sY   € àˆØ�9‰9�?�?Ø�y‰y×%×%¨¯©×)E×)EØ—‘Ü—L’LØAÀCÇLÁLÑPØ(ñôð ˆrC   c                 ó†   • / nU R                   R                   H$  nUR                  UR                  " S0 UD65        M&     U$ )zPerform all manager checks.r<   )rb   r×   r4  rS  )r™   r›   r7  rà   s       r?   r�  ÚModel._check_managersm  s:   € ð ˆØ—y‘y×)Ô)ˆGØ�M‰M˜'Ÿ-š-Ñ1¨&Ñ1Ö2ñ *àˆrC   c                 ó  • / nU R                   R                   H$  nUR                  UR                  " S0 UD65        M&     U R                   R                   H&  nUR                  UR                  " SSU 0UD65        M(     U$ )zPerform all field checks.Ú
from_modelr<   )rb   r‚   r4  rS  rƒ   )r™   r›   r7  r°   s       r?   r‘  ÚModel._check_fieldsu  sk   € ð ˆØ—Y‘Y×+Ô+ˆEØ�M‰M˜%Ÿ+š+Ñ/¨Ñ/Ö0ñ ,à—Y‘Y×1Ô1ˆEØ�M‰M˜%Ÿ+š+Ñ?°Ð?¸Ñ?Ö@ñ 2àˆrC   c           	      óÄ  • / n/ nU R                   R                  nS U 5       nS U 5       nU H­  nUR                  R                  U UR                  R                  UR                  R
                  4nXR;   aR  UR                  [        R                  " SUR                  R                  R                   R                  -  U SS95        Mœ  UR                  U5        M¯     U$ )zBCheck if no relationship model is used by more than one m2m field.c              3   ó|   #   • U  H2  n[        UR                  R                  [        5      (       d  M.  Uv •  M4     g 7fr¼   )rv   r‰   rŠ   r\   rÅ   s     r?   rj   Ú=Model._check_m2m_through_same_relationship.<locals>.<genexpr>‰  s%   é € ÐSšV˜¤z°!·.±.×2FÑ2FÌ	×'R—!‘!šVùó   ‚-<³	<c              3   ó|   #   • U  H2  n[        UR                  R                  [        5      (       d  M.  Uv •  M4     g 7fr¼   )rv   r‰   r¢  r\   rÅ   s     r?   rj   rÏ  Œ  s%   é € ÐUšV˜¤z°!·.±.×2HÑ2HÌ)×'T—!‘!šVùrÐ  zWThe model has two identical many-to-many relations through the intermediate model '%s'.zmodels.E003r¸  )
rb   rƒ   r‰   rŠ   r¢  Úthrough_fieldsrD  r	   r±  r|   )r™   r7  Úseen_intermediary_signaturesr…   rª   Ú	signatures         r?   r’  Ú*Model._check_m2m_through_same_relationship  sÕ   € ð ˆØ')Ð$à—‘×-Ñ-ˆñ T™VÓSˆñ V™VÓUˆãˆAà—‘×$Ñ$ØØ—‘×&Ñ&Ø—‘×-Ñ-ð	ˆIð Ó8Ø—‘Ü—L’Lð?àŸ.™.×0Ñ0×6Ñ6×<Ñ<ñ=ð  Ø(ñöð -×3Ñ3°IÖ>ñ% ð& ˆrC   c                 ó`  • U R                   R                   Vs/ s H1  oR                  S:X  d  M  XR                   R                  :w  d  M/  UPM3     nnU(       aO  US   R                  (       d;  U R                   R                  R                  S:X  a  [
        R                  " SU SS9/$ / $ s  snf )z%Check if `id` field is a primary key.r§  r   zP'id' can only be used as a field name if the field also sets 'primary_key=True'.zmodels.E004r¸  )rb   r‚   rO   r*  Úprimary_keyr	   r±  )r™   rª   r…   s      r?   r”  ÚModel._check_id_field£  s•   € ð —y‘y×-Ò-ó
Ú-�!·±¸4±‹AÀAÏÉÏÉÑDU�AÑ-ð 	ð 
ö ˜& ™)×/×/°C·I±I·L±L×4EÑ4EÈÓ4Mä—’ð/àØ$ñ	ðð ð ˆIùò
s   ™B+°B+ÁB+c                 ó¨  • / n0 nU R                   R                   Hû  nUR                   R                   HÞ  nUR                  UR                  5      =(       d$    UR                  UR
                  5      =(       d    SnU(       ar  UR                  [        R                  " SUR                  < SUR                  R                   < SUR                  < SUR                  R                   < S3	U SS95        XBUR                  '   XBUR
                  '   Mà     Mý     U R                   R                   H9  nUR                   R                  5        H  nXB;  d  M
  XBUR                  '   M     M;     U R                   R                  R                  5        H�  nU(       d  M  UR                  UR                  5      =(       d    SnU(       d  M9  UR                  [        R                  " SUR                   SUR                   SUR                  R                    S3U S	S95        M’     U R                   R                   GH  nUR                  UR                  5      =(       d$    UR                  UR
                  5      =(       d    SnUR                  S
:H  =(       a.    U=(       a%    UR                  S
:H  =(       a    UR                  U :H  nU(       aa  U(       dZ  UR                  [        R                  " SUR                  < SUR                  < SUR                  R                   < S3US	S95        XBUR                  '   XBUR
                  '   GM     U$ )z2Forbid field shadowing in multi-table inheritance.NzThe field 'z' from parent model 'z' clashes with the field 'rp   zmodels.E005r¸  z' from model 'zmodels.E006r§  )rb   rH  r‚   rÕ   rO   r
  rD  r	   r±  rŠ   Ú
get_fieldsr‘   r   )r™   r7  Úused_fieldsr®   rª   Úclashrs   Úid_conflicts           r?   r•  ÚModel._check_field_name_clashes¶  sw  € ð ˆØˆð —i‘i×+Ô+ˆFØ—\‘\×.Ô.�Ø#Ÿ™¨¯©Ó/×U°;·?±?À1Ç9Á9Ó3M×UÐQU�ÞØ—M‘MÜŸ›ð  %Ÿzœz¨5¯;©;×+<Ô+<¸a¿f¼fÀaÇgÁgÇmÄmðUð !$Ø,ñô	ð '(˜AŸF™FÑ#Ø)*˜AŸI™IÓ&ó /ñ ,ð( —i‘i×+Ô+ˆFØ—\‘\×,Ñ,Ö.�ØÕ'Ø*+ §¡Ó'ó /ñ ,ð Ÿ9™9×,Ñ,×3Ñ3Ö5ˆKÞÙØ—O‘O K×$4Ñ$4Ó5×=¸ˆEßˆuØ—‘Ü—L’LØ% k×&6Ñ&6Ð%7ð 8Ø!ŸJ™J˜< ~°e·k±k×6GÑ6GÐ5HÈðLàØ(ñ	öñ 6ð —‘×'Õ'ˆAØ—O‘O A§F¡FÓ+×Q¨{¯©¸q¿y¹yÓ/I×QÈTˆEð —‘˜$‘×V 5×V¨U¯Z©Z¸4Ñ-?×VÀEÇKÁKÐSVÑDVð ö ž[Ø—‘Ü—L“Là./¯f¬f°e·j´jÀ%Ç+Á+×BSÔBSðUàØ(ñ	ôð #$˜Ÿ™ÑØ%&˜Ÿ	™	Ô"ñ' (ð* ˆrC   c           
      ó  • / n/ nU R                   R                   Hg  nUR                  nU(       a@  XA;   a;  UR                  [        R
                  " SUR                  < SU< S3SU SS95        MV  UR                  U5        Mi     U$ )NzField 'z' has column name 'z ' that is used by another field.z$Specify a 'db_column' for the field.zmodels.E007r¥  )rb   r‚   r  rD  r	   r±  rO   )r™   Úused_column_namesr7  rª   Úcolumn_names        r?   r™  Ú Model._check_column_name_clashesü  s}   € ð ÐØˆà—‘×'Ô'ˆAØŸ(™(ˆKö ˜{Ó?Ø—‘Ü—L“Là,-¯F¬F³KðAàCØØ(ñöð "×(Ñ(¨Ö5ñ (ð" ˆrC   c                 ó2  • / nU R                   nUR                  S5      (       d  UR                  S5      (       a*  UR                  [        R
                  " SU-  U SS95        U$ [        U;   a(  UR                  [        R
                  " SU-  U SS95        U$ )Nrx  zgThe model name '%s' cannot start or end with an underscore as it collides with the query lookup syntax.zmodels.E023r¸  zbThe model name '%s' cannot contain double underscores as it collides with the query lookup syntax.zmodels.E024)rG   Ú
startswithÚendswithrD  r	   r±  r   )r™   r7  r�   s      r?   r–  Ú)Model._check_model_name_db_lookup_clashes  s£   € àˆØ—\‘\ˆ
Ø× Ñ  ×%Ñ%¨×)<Ñ)<¸S×)AÑ)AØ�M‰MÜ—’ðCØEOñPàØ$ñ	ôð" ˆô ˜:Ó%Ø�M‰MÜ—’ð@ØBLñMàØ$ñ	ôð ˆrC   c           	      óæ   • / nU R                   R                  nS U R                   R                  SS9 5       nU H2  nXB;   d  M
  UR                  [        R
                  " SU-  U SS95        M4     U$ )Nc              3   ó~   #   • U  H3  nUR                   (       d  M  UR                  c  M%  UR                  v •  M5     g 7fr¼   )rm  Úrelated_modelr
  rÅ   s     r?   rj   ÚLModel._check_property_name_related_field_accessor_clashes.<locals>.<genexpr>1  s0   é € ð #
â9�Ø�}�}ó à!"§¡ó ˆA�IŽIÚ9ùs   ‚=›=ª=F©Úreversez8The property '%s' clashes with a related field accessor.zmodels.E025r¸  )rb   r  Ú_get_fieldsrD  r	   r±  )r™   r7  r  Úrelated_field_accessorsÚaccessors        r?   r—  Ú9Model._check_property_name_related_field_accessor_clashes-  s|   € àˆØŸ™×2Ñ2ˆñ#
à—Y‘Y×*Ñ*°5Ð*Ñ9ó#
Ðó
 0ˆHØÕ)Ø—‘Ü—L’Lð$Ø&.ñ/àØ(ñ	öñ 0ð ˆrC   c                 ó¨   • / n[        S U R                  R                   5       5      S:”  a%  UR                  [        R
                  " SU SS95        U$ )Nc              3   óJ   #   • U  H  oR                   (       d  M  S v •  M     g7f)rŠ  N)r×  rÅ   s     r?   rj   Ú2Model._check_single_primary_key.<locals>.<genexpr>E  s   é € ÐBÒ0�Q·MµM�q‰qÒ0ùs   ‚#š	#rŠ  zBThe model cannot have more than one field with 'primary_key=True'.zmodels.E026r¸  )Úsumrb   r‚   rD  r	   r±  rÆ  s     r?   r˜  ÚModel._check_single_primary_keyB  sN   € àˆÜÑB˜#Ÿ)™)×0Ò0ÓBÓBÀQÓFØ�M‰MÜ—’ð*àØ$ñ	ôð ˆrC   c                 ó–  • [        U R                  R                  [        [        45      (       d  [
        R                  " SU SS9/$ [        S U R                  R                   5       5      (       a  [
        R                  " SU SS9/$ / nU R                  R                   H$  nUR                  U R                  US5      5        M&     U$ )z,Check the value of "unique_together" option.z*'unique_together' must be a list or tuple.zmodels.E010r¸  c              3   óX   #   • U  H   n[        U[        [        45      (       + v •  M"     g 7fr¼   )rv   r~   r¯  )rh   r…   s     r?   rj   Ú/Model._check_unique_together.<locals>.<genexpr>\  s(   é € ð 
â3�ô ˜6¤E¬4 =Ó1×1Ñ1Ú3ùs   ‚(*z7All 'unique_together' elements must be lists or tuples.zmodels.E011rF  )
rv   rb   rF  r~   r¯  r	   r±  rØ   r4  Ú_check_local_fields)r™   r7  r…   s      r?   rš  ÚModel._check_unique_togetherP  s¿   € ô ˜#Ÿ)™)×3Ñ3´e¼T°]×CÑCä—’Ø@ØØ$ñðð ô ñ 
àŸ)™)×3Ò3ó
÷ 
ñ 
ô
 —’ØMØØ$ñðð ð ˆFØŸ)™)×3Ô3�Ø—‘˜c×5Ñ5°fÐ>OÓPÖQñ 4àˆMrC   c           
      óÈ  • / n[        5       nU R                  R                   GH  nUR                  S   S:X  d"  UR                  S   R	                  5       (       a2  UR                  [        R                  " SUR                  -  U SS95        [        UR                  5      UR                  :”  a>  UR                  [        R                  " SUR                  UR                  4-  U SS95        UR                  (       d  Mß  UR                   H*  nUR                  S U R                  U5       5       5        M,     GM     U GHì  n[        R                  " X`5      (       d  M!  [         U   nUR"                  R$                  (       dx  S	U R                  R&                  ;   d^  [)        S
 U R                  R                   5       5      (       a3  UR                  [        R*                  " SUR,                  -  SU SS95        UR"                  R.                  (       dx  SU R                  R&                  ;   d^  [)        S U R                  R                   5       5      (       a3  UR                  [        R*                  " SUR,                  -  SU SS95        UR"                  R0                  (       a  GMn  SU R                  R&                  ;   a  GM‹  [)        S U R                  R                   5       5      (       d  GM¹  UR                  [        R*                  " SUR,                  -  SU SS95        GMï     U R                  R                   VVV	s/ s H  oDR2                    H  u  p‰UPM	     M     n
nnn	X R                  R                   VVs/ s H  oDR4                    H  o»PM     M     snn-  n
X£-  n
UR7                  U R9                  U
S5      5        U$ s  sn	nnf s  snnf )z/Check fields, names, and conditions of indexes.r   rx  z@The index name '%s' cannot start with an underscore or a number.zmodels.E033r¸  z8The index name '%s' cannot be longer than %d characters.zmodels.E034c              3   ó*   #   • U  H	  oS    v •  M     g7fr  r<   )rh   r  s     r?   rj   Ú'Model._check_indexes.<locals>.<genexpr>Š  s   é € ð &Ú*N 3˜AžÒ*Nùs   ‚Úsupports_partial_indexesc              3   ó<   #   • U  H  oR                   S Lv •  M     g 7fr¼   )Ú	condition©rh   rá   s     r?   rj   rý  ”  s   é € ÐQÒ?P°e—o‘o¨TÕ1Ò?Pùs   ‚z,%s does not support indexes with conditions.zLConditions will be ignored. Silence this warning if you don't care about it.zmodels.W037r¥  Úsupports_covering_indexesc              3   ó8   #   • U  H  oR                   v •  M     g 7fr¼   )Úincluder  s     r?   rj   rý  ¤  s   é € ÐCÒ1B¨—m–mÒ1BùrÇ   z1%s does not support indexes with non-key columns.zQNon-key columns will be ignored. Silence this warning if you don't care about it.zmodels.W040Úsupports_expression_indexesc              3   ó8   #   • U  H  oR                   v •  M     g 7fr¼   )Úcontains_expressionsr  s     r?   rj   rý  ´  s   é € ÐPÒ>O°U×0Ö0Ò>OùrÇ   z+%s does not support indexes on expressions.zKAn index won't be created. Silence this warning if you don't care about it.zmodels.W043r–   )r‹   rb   r–   rO   ÚisdigitrD  r	   r±  r  Úmax_name_lengthr  Úexpressionsr�   r  r   rº  r   rZ  rþ  r»  rØ   rª  r¼  r  r  Úfields_ordersr  r4  rù  )r™   r�  r7  Ú
referencesrá   r  rø   r   r°   rx  r…   r  s               r?   r›  ÚModel._check_indexesn  s3  € ð ˆÜ“Uˆ
Ø—Y‘Y×&Õ&ˆEð �z‰z˜!‰} Ó# u§z¡z°!¡}×'<Ñ'<×'>Ñ'>Ø—‘Ü—L’Lð'Ø).¯©ñ4àØ(ñ	ôô �5—:‘:‹ ×!6Ñ!6Ó6Ø—‘Ü—L’Lð&Ø).¯©°U×5JÑ5JÐ(KñLàØ(ñ	ôð ×)×)Ñ)Ø"'×"3Ô"3�JØ×%Ñ%ñ &Ø*-×*BÑ*BÀ:Ô*Nó&ö ô #4ñ- 'ô4 ˆBÜ×-Ò-¨b×6Ñ6ÙÜ$ R™ˆJà×#Ñ#×<×<Ø-°·±×1OÑ1OÓOÜÑQ¸s¿y¹y×?PÒ?PÓQ×QÑQØ—‘Ü—N’NØFØ$×1Ñ1ñ2ð:ð  Ø(ñ	ôð ×#Ñ#×=×=Ø.°#·)±)×2PÑ2PÓPÜÑC°·±×1BÒ1BÓC×CÑCØ—‘Ü—N’NØKØ$×1Ñ1ñ2ðBð  Ø(ñ	ôð ×#Ñ#×?×?Ò?Ø0°C·I±I×4RÑ4RÖRÜÑP¸c¿i¹i×>OÒ>OÓP×PÔPØ—‘Ü—N’NØEØ$×1Ñ1ñ2ð:ð  Ø(ñ	÷ñQ ðj  #Ÿy™y×0Ò0õ
Ú0�e×ATÕAT±X°U‹EÑAT‰EÑ0ð 	ò 
ð 	¯	©	×(9Ò(9ÔWÒ(9˜uÏÍ¸g’7É‘7Ñ(9ÒWÑWˆØÑˆØ�‰�c×-Ñ-¨f°iÓ@ÔAØˆùô
ùó Xs   Í!OÎOc                 ój  • SSK Jn  0 nU R                  R                  SS9 H2  nXTUR                  '   [        US5      (       d  M$  XTUR                  '   M4     / nU GH  n XG   n[        UR                  UR                  5      (       a4  UR                  [        R                  " SU< SU< SU< S	3U S
S95        Mb  [        XSR                  5      (       a3  UR                  [        R                  " U< SU< SU< S3U SS95        M¯  XPR                  R                  ;  aJ  UR                  [        R                  " SU< SU< SU R                  R                  < S	3SU SS95        GM  GM     U$ ! [          a3    UR                  [        R                  " SU< SU< S	3U SS95         GMU  f = f)Nr   )ÚmodelsFrë  r
  r�  z' refers to a ManyToManyField 'z.', but ManyToManyFields are not permitted in 'rp   zmodels.E013r¸  z! refers to a CompositePrimaryKey z0, but CompositePrimaryKeys are not permitted in rM   zmodels.E048z' refers to field 'z' which is not local to model 'z4This issue may be caused by multi-table inheritance.zmodels.E016r¥  z#' refers to the nonexistent field 'zmodels.E012)Ú	django.dbr  rb   rí  rO   rX   r
  rv   r‰   ÚManyToManyRelrD  r	   r±  r    r‚   r;  r  )r™   r…   Úoptionr  Úforward_fields_mapr°   r7  r�  s           r?   rù  ÚModel._check_local_fieldsÉ  s¤  € å$ð  ÐØ—Y‘Y×*Ñ*°5Ð*Ó9ˆEØ-2˜uŸz™zÑ*Ü�u˜i×(Ó(Ø49 5§=¡=Ó1ñ :ð
 ˆÜ ˆJð0Ø*Ñ6�ô ˜e×0Ñ0°&×2FÑ2F×GÑGØ—M‘MÜŸ›ó !'Û *Û &ðð !$Ø,ñ
öô   ×'AÑ'A×BÑBØ—M‘MÜŸšØ%™jÐ(IØ)™nð -,Ø,2©:°Qð8ð !$Ø,ñöð §)¡)×"8Ñ"8Ó8Ø—M‘MÜŸ›ã'-«z¸3¿9¹9×;PÔ;PðRà!WØ #Ø,ñ÷ò 9ñQ !ðd ˆøô_ ó Ø—‘Ü—L“Ló #Û&ðð
  Ø(ñ÷
ð 
ðús   Á!E5Å58F2Æ1F2c                 ó®  • U R                   R                  (       a  [        R                  " SU SS9/$ U R                   R                  (       d  U R                   R
                  (       d  / $ [        U R                   R
                  [        [        45      (       d  [        R                  " SU SS9/$ / nU R                   R
                  nS U 5       nS U 5       n/ n/ nU H1  n[        U;   a  UR                  U5        M   UR                  U5        M3     UnU H”  nU nSnUR                  [        5       Ht  n	 U	S	:X  a  UR                   R                  nOUR                   R                  U	5      nUR                  (       a%  UR                  S
   R                   R"                  nMr  SnMv     M–     U Vs1 s H  oUS	:w  d  M
  UiM     nn/ n
U R                   n[-        [.        R0                  " S [/        UR2                  UR4                  5       5       5      5      nU
R7                  X,-
  5        U
 H+  nUR                  [        R                  " SU-  U SS95        M-     U$ ! [$        [&        4 a\    Ub$  UR)                  U	5      cB  UR+                  U	5      c,  UR                  [        R                  " SU-  U SS95         GM�   GM”   GM˜  f = fs  snf )zM
Check "ordering" option -- is it a list of strings and do all fields
exist?
z?'ordering' and 'order_with_respect_to' cannot be used together.zmodels.E021r¸  zQ'ordering' must be a tuple or list (even if you want to order by only one field).zmodels.E014c              3   ód   #   • U  H&  n[        U[        5      (       d  M  US :w  d  M"  Uv •  M(     g7f)Ú?N)rv   r\  rÅ   s     r?   rj   Ú(Model._check_ordering.<locals>.<genexpr>*	  s#   é € ÐGšV˜¤z°!´S×'9“!¸aÀ3¹h—!‘!šVùs   ‚0Ÿ0§	0c              3   óB   #   • U  H  oR                  S 5      v •  M     g7f)r  N)ÚremoveprefixrÅ   s     r?   rj   r  -	  s   é € Ð6ªv¨!—.‘. ×%Ð%ªvùs   ‚Nr*  éÿÿÿÿzJ'ordering' refers to the nonexistent field, related field, or lookup '%s'.zmodels.E015c              3   óÌ   #   • U  HZ  nUR                   (       a  UR                  (       a  UR                  UR                  4OUR                  R                  5       4v •  M\     g 7fr¼   )rr   ÚconcreterO   r
  r°   Úrelated_query_namerÅ   s     r?   rj   r  `	  sQ   é € ð  ò B�Að ŸNŸN°1·:·:ð —V‘V˜QŸY™YÑ'àŸ'™'×4Ñ4Ó6Ð8ô9ò Bùs   ‚A"A$)rb   Ú_ordering_clashr	   r±  rÍ   rn   rv   r¯  r~   r   rD  rÃ  r*  r  rm  Ú
path_infosÚto_optsrŠ   r   ÚAttributeErrorÚget_transformÚ
get_lookupr‹   r   Úfrom_iterabler…   rr  r4  )r™   r7  r…   Ú_fieldsÚrelated_fieldsrª   r°   Ú_clsÚfldÚpartÚinvalid_fieldsrÜ   Úvalid_fieldsÚinvalid_fields                 r?   rœ  ÚModel._check_ordering
	  s¢  € ð �9‰9×$×$ä—’ØUØØ$ñðð ð �9‰9×*×*°#·)±)×2D×2DØˆIä˜#Ÿ)™)×,Ñ,¬t´U¨m×<Ñ<ä—’ð'àØ$ñ	ðð ð ˆØ—‘×#Ñ#ˆñ H™VÓGˆñ 7©vÓ6ˆð ˆØˆÛˆAÜ˜Q‹Ø×%Ñ% aÖ(à—‘˜qÖ!ñ	 ð
 ˆó $ˆEØˆDØˆCØŸ™¤JÖ/�ðà˜t“|Ø"Ÿj™jŸm™m™à"Ÿj™j×2Ñ2°4Ó8˜Ø——Ø"Ÿ~™~¨bÑ1×9Ñ9×?Ñ?šà#šó 0ñ $ñ: $Ó1šV˜¨D¡y—!™VˆÐ1ð ˆð �y‰yˆÜÜ×Òñ  ô ˜tŸ{™{¨D×,@Ñ,@ÔAó ó ó	
ˆð 	×Ñ˜fÑ3Ô4ã+ˆMØ�M‰MÜ—’ð-Ø/<ñ=àØ$ñ	öñ ,ð ˆøô[ *¬>Ð:ó Ø‘{Ø×)Ñ)¨$Ó/Ñ7¸C¿N¹NÈ4Ó<PÑ<XàŸ™Ü"ŸLšLð!AØCHñ!Ià$'Ø#0ñ	÷ð ó =YÓ7ðüò 2s&   Ä:A,I#Æ(I#Æ6	KÇKÉ#AKËKc                 óä  • U(       d  / $ / nSnSnU Hw  n[         R                  " XP5      (       d  M   [        U   nUR                  R	                  5       nUb  UR
                  R                  (       a  Mc  Uc  UnUnMl  Xs:  d  Ms  UnUnMy     Uc  U$ U R                  R                   Hg  nUR                  b  M  UR                  =n	c  M#  [        U	5      U:”  d  M4  UR                  [        R                  " SU	< SU< SU< S3SU SS95        Mi     U R                  R                   HÃ  n[!        UR"                  R$                  [&        5      (       a  M.  UR"                  R$                  R                  R                   Hg  n
U
R                  b  M  U
R                  =nc  M#  [        U5      U:”  d  M4  UR                  [        R                  " S	U< SU< SU< S3S
U SS95        Mi     MÅ     U$ )z~
Check that any auto-generated column names are shorter than the limits
for each database in which the model will be created.
Nz.Autogenerated column name too long for field "z". Maximum length is "z" for database "z".z/Set the column name manually using 'db_column'.zmodels.E018r¥  z2Autogenerated column name too long for M2M field "z\Use 'through' to create a separate model for M2M and then set column_name using 'db_column'.zmodels.E019)r   rº  r   Úopsr	  rZ  Útruncates_namesrb   r‚   Ú	db_columnr  r  rD  r	   r±  rƒ   rv   r‰   r¢  r\  )r™   r�  r7  Úallowed_lenÚdb_aliasrø   r   r	  rª   rá  Úm2mÚrel_names               r?   r“  ÚModel._check_long_column_namesw	  s¼  € ö ØˆIØˆØˆØˆó ˆBä×-Ò-¨b×6Ñ6ÙÜ$ R™ˆJØ(Ÿn™n×<Ñ<Ó>ˆOØÑ&¨*×*=Ñ*=×*M×*MÙàÑ&Ø"1�KØ!’HØ$Õ2Ø"1�KØ!’Hñ ð  ÑØˆMà—‘×'Ô'ˆAð —‘Ó#Ø$%§H¡HÐ,�[Ó9Ü˜Ó$ {Õ2à—‘Ü—L“Ló '«³Xð?ð OØØ(ñö	ñ (ð& —‘×-Ô-ˆAä˜!Ÿ.™.×0Ñ0´#×6Ñ6Ùð —~‘~×-Ñ-×3Ñ3×@Ô@�à—M‘MÓ)Ø%(§Z¡ZÐ/˜Ó<Ü˜H›¨Õ3à—M‘MÜŸ›ó  («³hð@ð!Rð !$Ø,ñ
öó Añ .ð6 ˆrC   c              #   óH  #   • [        U[        5      (       a�  UR                   Hp  n[        U[        5      (       a?  Uu  p4[        UR	                  [
        5      5      v •  U R                  U5       S h  v•N   MW  U R                  U5       S h  v•N   Mr     g [        U[        5      (       a+  [        UR                  R	                  [
        5      5      v •  g [        US5      (       a1  UR                  5        H  nU R                  U5       S h  v•N   M     g g  N§ NŽ N7f)NÚget_source_expressions)rv   r)   Úchildrenr~   rÃ  r   r  r(   rO   rX   r9  )r™   ÚexprÚchildÚlookuprY   Úsrc_exprs         r?   r  ÚModel._get_expr_referencesÇ	  sÞ   é € ä�dœA×ÑØŸœ�Ü˜e¤U×+Ñ+Ø$)‘M�FÜ §¡¬ZÓ 8Ó9Ò9Ø"×7Ñ7¸Ó>×>Ò>à"×7Ñ7¸Ó>×>Ò>ò 'ô ˜œa× Ñ Ü˜Ÿ	™	Ÿ™¬
Ó3Ó4Ó4Ü�TÐ3×4Ñ4Ø ×7Ñ7Ö9�Ø×3Ñ3°HÓ=×=Ò=ò :ð 5ñ ?á>ñ
 >ùs7   ‚A2D"Á4DÁ5D"ÂDÂBD"ÄD ÄD"ÄD"Ä D"c                 óâ   • / nU Hf  n[         R                  " X05      (       d  M   [        U   nU R                  R                   H#  nUR                  UR                  X5      5        M%     Mh     U$ r¼   )r   rº  r   rb   rP  r4  Ú_check)r™   r�  r7  rø   r   rU  s         r?   r�  ÚModel._check_constraints×	  s`   € àˆÛˆBÜ×-Ò-¨b×6Ñ6ÙÜ$ R™ˆJØ!Ÿi™i×3Ô3�
Ø—‘˜j×/Ñ/°Ó@ÖAó 4ñ	 ð ˆrC   )rÍ  rc  r  r¼   )NNN)FFFNN)FNFFNNr  )NTT)LrG   rH   rI   rJ   r  Úclassmethodr#  r@   rE   r0  r5  r?  r8  rQ  rT  rX  rì   r*  r3  r`  rz  r}  r‚  r›  rž  Úalters_datar¯  r´  r©  r¼  r½  rÓ  rØ  r£  ró  r÷  rþ  r  rÎ   r%  r)  r,  r9  r0  r1  r2  rf  r]  r{  r�  r…  r„  rS  rž  r   rŸ  rŽ  r�  r�  r‘  r’  r”  r•  r™  r–  r—  r˜  rš  r›  rù  rœ  r“  r  r�  rK   r_   rí   s   @r?   rû   rû   Í  sa  ø† õp2ðd ñ
ó ð
ò<òEò!òò
1òò"$ô,.ò;ñ 
�+˜{Ó	+€Bô
ò
ôQ/ôf
ò
,ò$"OðV ØØØõM
ð^ €DÔð ØØØõ
ð2 €EÔàñó ðð* ØØØØôDðL !€IÔð HLô-ðb ØØØØØô^ò@,ò8
ô4ôl	"ð €FÔô
ð €GÔò
òò*(ô.òBMòô*ô B*òH/òbò>
ò"ò@ô*ô(-*ô^*ð8 ñ#ó ð#ðJ ñó ðð> ñ8ó ð8ðt ñó ðð, ñó ðð4 ñ
ó ð
ð ñó ðð ñó ðð ñ!ó ð!ðF ñó ðð$ ñCó ðCðJ ñó ðð0 ñó ðð. ñó ðð( ñó ðð ñó ðð: ñXó ðXðt ñ>ó ð>ð@ ñjó ðjðX ñMó ðMð^ ñ>ó ð>ð ñó örC   rû   )Ú	metaclassc                 ó  • UR                   R                  nUR                  U 5      nUR                  R	                  U5      R
                  " S0 UD6R                  [        U5       VVs/ s H  u  pgU" XvS9PM     snnS/5        g s  snnf )N)r*  rÍ  rÍ  r<   )rb   rÍ   Úget_forward_related_filterrË   ri  rk  Úbulk_updater•  )r>   Úordered_objÚid_listrj  Ú	order_wrtrÝ  r  r*  s           r?   Úmethod_set_orderrL  ê	  sx   € Ø×!Ñ!×7Ñ7€IØ×6Ñ6°tÓ<€KØ×Ñ×"Ñ" 5Ó)×0Ò0Ñ?°;Ñ?×KÑKÜ;DÀWÔ;MÔNÒ;M©i¨e‰˜Ô	)Ñ;MÒNØ	ˆ
õùÛNs   Á*B
c                 óä   • UR                   R                  nUR                  U 5      nUR                   R                  R                  nUR
                  R                  " S0 UD6R                  USS9$ )NT)Úflatr<   )rb   rÍ   rG  r*  rO   rË   rk  Úvalues_list)r>   rI  rK  rÝ  Úpk_names        r?   Úmethod_get_orderrQ  ó	  sd   € Ø×!Ñ!×7Ñ7€IØ×6Ñ6°tÓ<€KØ×Ñ×"Ñ"×'Ñ'€GØ×Ñ×%Ò%Ñ4¨Ñ4×@Ñ@ÀÈtÐ@ÐTÐTrC   c                 óÜ   • [        USU R                  R                  5       -  [        [        U 5      5        [        USU R                  R                  5       -  [        [
        U 5      5        g )Nzget_%s_orderzset_%s_order)r½   rG   Úlowerr   rQ  rL  )rŠ   ré  s     r?   rÑ   rÑ   ú	  sZ   € ÜØØ˜Ÿ™×-Ñ-Ó/Ñ/ÜÔ&¨Ó.ôô
 ØØ˜Ÿ™×-Ñ-Ó/Ñ/ÜÔ&¨Ó.õrC   c                 óz   • [        U [        5      (       a  [        R                  " U 6 nOU nUR	                  U5      $ )z7Used to unpickle Model subclasses with deferred fields.)rv   r~   r   rÀ  ru   )Úmodel_idrŠ   s     r?   r<  r<  
  s3   € ä�(œE×"Ñ"Ü—’ Ð)‰ð ˆØ�=‰=˜ÓÐrC   Tr¼   )`r’   rV   rM  Úcollectionsr   Ú	functoolsr   Ú	itertoolsr   Úasgiref.syncr   r9  Údjango.appsr   Údjango.confr   Údjango.corer	   Údjango.core.exceptionsr
   r   r   r   r   r   r  r   r   r   r   r   r   Údjango.db.modelsr   r   r   r   r   Údjango.db.models.constantsr   Údjango.db.models.deletionr   r   Údjango.db.models.expressionsr   Ú!django.db.models.fields.compositer    Údjango.db.models.fields.relatedr!   r"   r#   r$   Údjango.db.models.functionsr%   Údjango.db.models.managerr&   Údjango.db.models.optionsr'   Údjango.db.models.queryr(   r)   Údjango.db.models.signalsr*   r+   r,   r-   r.   Údjango.db.models.utilsr/   r0   Údjango.utils.deprecationr1   Údjango.utils.encodingr2   Údjango.utils.hashabler3   Údjango.utils.textr4   r5   Údjango.utils.translationr6   rx  r8   r  rS   rZ   rN   r\   rï   r÷   rû   rL  rQ  rÑ   r<  Ú__safe_for_unpickle__r<   rC   r?   Ú<module>rp     sø   ðÛ Û Û Ý #Ý #Ý å &ã Ý Ý  Ý ÷÷ ÷÷ ÷ WÕ VÝ 1ß 8Ý 8Ý A÷ó õ 0Ý ,Ý ,ß '÷õ ÷ @Ý =Ý +Ý /ß 5Ý 6÷"ñ "ñ ‹:€òò$Pô
X)�ô X)÷v
ñ ÷	5ñ 	5ôS ˆJ )ò S ôz@òUò
ò$ ð (,€Õ $rC   