§
    Ÿjøº  ã                   ó¨  — d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZ ddlmZmZmZmZmZ d	„ Z G d
„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d „ d!e¦  «        Z  G d"„ d#e¦  «        Z! G d$„ d%e¦  «        Z" G d&„ d'e"¦  «        Z# G d(„ d)e"¦  «        Z$ G d*„ d+e"¦  «        Z% G d,„ d-e"¦  «        Z& G d.„ d/e"¦  «        Z' G d0„ d1e"¦  «        Z(d2S )3é    )Úmodels)Ú	OperationÚOperationCategory)Ú
ModelState)Úfield_referencesÚresolve_relation)Únormalize_together)Úcached_propertyé   )ÚAddFieldÚ
AlterFieldÚFieldOperationÚRemoveFieldÚRenameFieldc                 óŠ   — t          ¦   «         }|D ]1}||v rt          d|›d| ›d�¦  «        ‚|                     |¦  «         Œ2d S )NzFound duplicate value z in CreateModel z
 argument.)ÚsetÚ
ValueErrorÚadd)Úarg_nameÚobjsÚ	used_valsÚvals       ús/var/www/finuniver-perm.ru/html/student/venv/lib/python3.11/site-packages/django/db/migrations/operations/models.pyÚ_check_for_duplicatesr      sj   € Ý‘”€IØð ð ˆØ�)ÐÐÝ�*ØJMÈ#È#ÈxÈxÈxÐXñô ð ð 	�Š�cÑÔÐÐðð ó    c                   óF   ‡ — e Zd Zd„ Zed„ ¦   «         Zd„ Zˆ fd„Zd„ Zˆ xZ	S )ÚModelOperationc                 ó   — || _         d S ©N©Úname)Úselfr!   s     r   Ú__init__zModelOperation.__init__   s   € ØˆŒ	ˆ	ˆ	r   c                 ó4   — | j                              ¦   «         S r   )r!   Úlower©r"   s    r   Ú
name_lowerzModelOperation.name_lower   s   € àŒy�ŠÑ Ô Ð r   c                 ó<   — |                      ¦   «         | j        k    S r   ©r%   r'   ©r"   r!   Ú	app_labels      r   Úreferences_modelzModelOperation.references_model   s   € Ø�zŠz‰|Œ|˜tœÒ.Ð.r   c                 ót   •— t          ¦   «                              ||¦  «        p|                      ||¦  «        S r   )ÚsuperÚreduceÚcan_reduce_through©r"   Ú	operationr+   Ú	__class__s      €r   r/   zModelOperation.reduce    s9   ø€ Ý‰wŒw�~Š~˜i¨Ñ3Ô3ð 
°t×7NÒ7NØ�yñ8
ô 8
ð 	
r   c                 ó:   — |                      | j        |¦  «         S r   )r,   r!   )r"   r2   r+   s      r   r0   z!ModelOperation.can_reduce_through%   s   € Ø×-Ò-¨d¬i¸ÑCÔCÐCÐCr   )
Ú__name__Ú
__module__Ú__qualname__r#   r
   r'   r,   r/   r0   Ú__classcell__©r3   s   @r   r   r      s‡   ø€ € € € € ðð ð ð ð!ð !ñ „_ð!ð/ð /ð /ð
ð 
ð 
ð 
ð 
ð
Dð Dð Dð Dð Dð Dð Dr   r   c                   ó~   ‡ — e Zd ZdZej        Zg d¢Zdˆ fd„	Zd„ Z	d„ Z
d„ Zd„ Zd	„ Zed
„ ¦   «         Zd„ Zˆ fd„Zˆ xZS )ÚCreateModelzCreate a model's table.)ÚfieldsÚoptionsÚmanagersNc                 ó^  •— || _         |pi | _        |pt          j        f| _        |pg | _        t          ¦   «                              |¦  «         t          dd„ | j         D ¦   «         ¦  «         t          dd„ | j        D ¦   «         ¦  «         t          dd„ | j        D ¦   «         ¦  «         d S )Nr<   c              3   ó    K  — | ]	\  }}|V — Œ
d S r   © ©Ú.0r!   Ú_s      r   ú	<genexpr>z'CreateModel.__init__.<locals>.<genexpr>7   s&   è è € Ð(IÐ(I±'°$¸¨Ð(IÐ(IÐ(IÐ(IÐ(IÐ(Ir   Úbasesc              3   ó¤   K  — | ]K}t          |d ¦  «        r|j        j        n*t          |t          ¦  «        r|                     ¦   «         n|V — ŒLdS )Ú_metaN)ÚhasattrrH   Úlabel_lowerÚ
isinstanceÚstrr%   )rC   Úbases     r   rE   z'CreateModel.__init__.<locals>.<genexpr>:   sp   è è € ð ð ð õ ˜t WÑ-Ô-ðI�D”JÔ*Ð*å)3°D½#Ñ)>Ô)>ÐH˜Ÿš™œ˜ÀDð	ð ð ð ð ð r   r>   c              3   ó    K  — | ]	\  }}|V — Œ
d S r   rA   rB   s      r   rE   z'CreateModel.__init__.<locals>.<genexpr>C   s&   è è € Ð*MÐ*M±G°D¸!¨4Ð*MÐ*MÐ*MÐ*MÐ*MÐ*Mr   )	r<   r=   r   ÚModelrF   r>   r.   r#   r   )r"   r!   r<   r=   rF   r>   r3   s         €r   r#   zCreateModel.__init__/   sÉ   ø€ ØˆŒØ�} "ˆŒØÐ-�vœ|˜oˆŒ
Ø ˜ BˆŒÝ‰Œ×Ò˜ÑÔÐõ 	˜hÐ(IÐ(I¸T¼[Ð(IÑ(IÔ(IÑJÔJÐJÝØðð ð !œJðñ ô ñ
	
ô 
	
ð 
	
õ 	˜jÐ*MÐ*M¸t¼}Ð*MÑ*MÔ*MÑNÔNÐNÐNÐNr   c                 ó  — | j         | j        dœ}| j        r
| j        |d<   | j        r | j        t          j        fk    r
| j        |d<   | j        r)| j        dt	          j        ¦   «         fgk    r
| j        |d<   | j        j	        g |fS )N)r!   r<   r=   rF   Úobjectsr>   )
r!   r<   r=   rF   r   rO   r>   ÚManagerr3   r7   ©r"   Úkwargss     r   ÚdeconstructzCreateModel.deconstructE   s™   € à”IØ”kð
ð 
ˆð Œ<ð 	-Ø $¤ˆF�9ÑØŒ:ð 	)˜$œ*­¬¨Ò7Ð7Ø"œjˆF�7‰OØŒ=ð 	/˜Tœ]°	½6¼>Ñ;KÔ;KÐ/LÐ.MÒMÐMØ!%¤ˆF�:ÑØ”Ô+¨R°Ð8Ð8r   c                 óî   — |                      t          || j        t          | j        ¦  «        t          | j        ¦  «        t          | j        ¦  «        t          | j	        ¦  «        ¦  «        ¦  «         d S r   )
Ú	add_modelr   r!   Úlistr<   Údictr=   ÚtuplerF   r>   ©r"   r+   Ústates      r   Ústate_forwardszCreateModel.state_forwardsR   sk   € Ø�ŠÝØØ”	Ý�T”[Ñ!Ô!Ý�T”\Ñ"Ô"Ý�d”jÑ!Ô!Ý�T”]Ñ#Ô#ñô ñ		
ô 		
ð 		
ð 		
ð 		
r   c                 ó^  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rj|                     |¦  «         |j        || j        f         }|j	         
                    d¦  «        x}r'|                     |t          ¦   «         |¦  «         d S d S d S )NÚindex_together)ÚappsÚ	get_modelr!   Úallow_migrate_modelÚ
connectionÚaliasÚcreate_modelr   r'   r=   ÚgetÚalter_index_togetherr   )r"   r+   Úschema_editorÚ
from_stateÚto_stateÚmodelÚto_model_stater_   s           r   Údatabase_forwardszCreateModel.database_forwards^   sÄ   € Ø”×'Ò'¨	°4´9Ñ=Ô=ˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	Ø×&Ò& uÑ-Ô-Ð-ð
 &œ_¨Y¸¼Ð-GÔHˆNØ!/Ô!7×!;Ò!;Ð<LÑ!MÔ!MÐMˆ~ð Ø×2Ò2ØÝ‘E”EØ"ñô ð ð ð ð	ð 	ðð r   c                 ó´   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r|                     |¦  «         d S d S r   ©r`   ra   r!   rb   rc   rd   Údelete_model©r"   r+   rh   ri   rj   rk   s         r   Údatabase_backwardszCreateModel.database_backwardsn   ó]   € Ø”×)Ò)¨)°T´YÑ?Ô?ˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	.Ø×&Ò& uÑ-Ô-Ð-Ð-Ð-ð	.ð 	.r   c                 óV   — d| j                              dd¦  «        rdnd›d| j        ›�S )NzCreate ÚproxyFzproxy Ú zmodel )r=   rf   r!   r&   s    r   ÚdescribezCreateModel.describes   s9   € € àœ×(Ò(¨°%Ñ8Ô8Ð@ˆHˆH¸bÐ@Ð@ØŒIˆIð
ð 	
r   c                 ó   — | j         S r   ©r'   r&   s    r   Úmigration_name_fragmentz#CreateModel.migration_name_fragmenty   s
   € àŒÐr   c                 óJ  — |                      ¦   «         }|| j        k    rdS ||f}| j        D ]M}|t          j        ur=t          |t          j        j        t          f¦  «        rt          ||¦  «        |k    r dS ŒN| j
        D ] \  }}t          || j        f||¦  «        r dS Œ!dS )NTF)r%   r'   rF   r   rO   rK   rM   Ú	ModelBaserL   r   r<   r   )r"   r!   r+   r'   Úreference_model_tuplerM   Ú_nameÚfields           r   r,   zCreateModel.references_model}   sÓ   € Ø—Z’Z‘\”\ˆ
Ø˜œÒ(Ð(Ø�4ð "+¨JÐ 7ÐØ”Jð 	ð 	ˆDà�FœLÐ(Ð(Ý˜t¥f¤kÔ&;½SÐ%AÑBÔBð )å$ T¨9Ñ5Ô5Ð9NÒNÐNà�t�tøð !œKð 	ð 	‰LˆE�5ÝØ˜DœOÐ,¨eÐ5Jñô ð ð �t�tðð ˆur   c                 ó–  •‡— t          ‰t          ¦  «        r-| j        ‰j        k    r| j                             dd¦  «        sg S t          ‰t
          ¦  «        r>| j        ‰j        k    r.t          ‰j        | j	        | j        | j
        | j        ¬¦  «        gS t          ‰t          ¦  «        rr| j        ‰j        k    rbi | j        ¥‰j        ¥}‰j        D ]!}|‰j        vr|                     |d ¦  «         Œ"t          | j        | j	        || j
        | j        ¬¦  «        gS t          ‰t           ¦  «        r>| j        ‰j        k    r.t          | j        | j	        | j        | j
        ‰j        ¬¦  «        gS t          ‰t"          ¦  «        rI| j        ‰j        k    r9t          | j        | j	        i | j        ¥d‰j        i¥| j
        | j        ¬¦  «        gS t          ‰t&          ¦  «        rI| j        ‰j        k    r9t          | j        | j	        i | j        ¥d‰j        i¥| j
        | j        ¬¦  «        gS t          ‰t*          ¦  «        rN| j        ‰j        k    r>t          | j        | j	        i | j        ¥‰j        ‰j        i¥| j
        | j        ¬¦  «        gS t          ‰t0          ¦  «        rI| j        ‰j        k    r9t          | j        | j	        i | j        ¥d‰j        i¥| j
        | j        ¬¦  «        gS t          ‰t4          ¦  «        �rG| j        ‰j        k    �r6t          ‰t8          ¦  «        r>t          | j        | j	        ‰j        ‰j        fgz   | j        | j
        | j        ¬¦  «        gS t          ‰t<          ¦  «        r:t          | j        ˆfd„| j	        D ¦   «         | j        | j
        | j        ¬¦  «        gS t          ‰t>          ¦  «        rÃ| j                              ¦   «         }dD ]O}|                     |d ¦  «        }|r5tC          tE          tF          ˆfd	„|D ¦   «         ¦  «        ¦  «        }|r|||<   ŒP|                     d¦  «        }|‰j        k    r|d= t          | j        ˆfd
„| j	        D ¦   «         || j
        | j        ¬¦  «        gS t          ‰tH          ¦  «        r¥| j                              ¦   «         }dD ]*}|                     |¦  «        }|rˆfd„|D ¦   «         ||<   Œ+|                     d¦  «        }|‰j%        k    r
‰j        |d<   t          | j        ˆfd„| j	        D ¦   «         || j
        | j        ¬¦  «        gS �nÝt          ‰tL          ¦  «        �rÇ| j        ‰j        k    �r¶t          ‰tN          ¦  «        rVt          | j        | j	        i | j        ¥dg | j                             dg ¦  «        ¢‰j(        ‘i¥| j
        | j        ¬¦  «        gS t          ‰tR          ¦  «        r[ˆfd„| j                             dg ¦  «        D ¦   «         }t          | j        | j	        i | j        ¥d|i¥| j
        | j        ¬¦  «        gS t          ‰tT          ¦  «        rVt          | j        | j	        i | j        ¥dg | j                             dg ¦  «        ¢‰j+        ‘i¥| j
        | j        ¬¦  «        gS t          ‰tX          ¦  «        r[ˆfd„| j                             dg ¦  «        D ¦   «         }	t          | j        | j	        i | j        ¥d|	i¥| j
        | j        ¬¦  «        gS t[          ¦   «          .                    ‰|¦  «        S )Nru   F)r<   r=   rF   r>   Údb_tableÚdb_table_commentÚorder_with_respect_toc                 óB   •— g | ]\  }}||‰j         k    r‰j        n|f‘ŒS rA   )r!   r   ©rC   ÚnÚvr2   s      €r   ú
<listcomp>z&CreateModel.reduce.<locals>.<listcomp>  sD   ø€ ð  ð  ð  á $  1ð °1¸	¼Ò3FÐ3F 	¤ ÈAÐNð ð  ð  r   )Úunique_togetherr_   c              3   óN   •K  — | ]}t          ˆfd „|D ¦   «         ¦  «        V — Œ dS )c              3   ó2   •K  — | ]}|‰j         k    ¯|V — Œd S r   ry   ©rC   Úfr2   s     €r   rE   z/CreateModel.reduce.<locals>.<genexpr>.<genexpr>*  s9   øè è € ð *&ð *&Ø./¸QÀ)ÔBVÒ=VÐ=V¨Ð=VÐ=VÐ=VÐ=Vð*&ð *&r   N©rZ   ©rC   r<   r2   s     €r   rE   z%CreateModel.reduce.<locals>.<genexpr>)  si   øè è € ð !"ð !"ð )/õ %*ð *&ð *&ð *&ð *&Ø39ð*&ñ *&ô *&ñ %&ô %&ð!"ð !"ð !"ð !"ð !"ð !"r   c                 óX   •— g | ]&\  }}|                      ¦   «         ‰j        k    ¯"||f‘Œ'S rA   r)   r…   s      €r   rˆ   z&CreateModel.reduce.<locals>.<listcomp>9  sA   ø€ ð  ð  ð  á $  1Ø Ÿwšw™yœy¨IÔ,@Ò@Ð@ð  ˜Fà@Ð@Ð@r   c                 óF   •— h | ]}t          ˆfd „|D ¦   «         ¦  «        ’ŒS )c              3   ó@   •K  — | ]}|‰j         k    r‰j        n|V — Œd S r   ©Úold_nameÚnew_namerŒ   s     €r   rE   z/CreateModel.reduce.<locals>.<setcomp>.<genexpr>I  sM   øè è € ð "ð "à$%ð 78¸9Ô;MÒ6MÐ6M 	Ô 2Ð 2ÐSTð"ð "ð "ð "ð "ð "r   rŽ   r�   s     €r   ú	<setcomp>z%CreateModel.reduce.<locals>.<setcomp>H  s[   ø€ ð 0ð 0ð 0ð
 !'õ	 "ð "ð "ð "ð "à)/ð"ñ "ô "ñ ô ð0ð 0ð 0r   c                 óB   •— g | ]\  }}|‰j         k    r‰j        n||f‘ŒS rA   r“   r…   s      €r   rˆ   z&CreateModel.reduce.<locals>.<listcomp>U  sI   ø€ ð  ð  ð  á $  1ð 45¸	Ô8JÒ3JÐ3J˜YÔ/Ð/ÐPQÐSTÐUð ð  ð  r   Úindexesc                 ó4   •— g | ]}|j         ‰j         k    ¯|‘ŒS rA   r    )rC   Úindexr2   s     €r   rˆ   z&CreateModel.reduce.<locals>.<listcomp>s  s2   ø€ ð #ð #ð #àØ”z Y¤^Ò3Ð3ð à3Ð3Ð3r   Úconstraintsc                 ó4   •— g | ]}|j         ‰j         k    ¯|‘ŒS rA   r    )rC   Ú
constraintr2   s     €r   rˆ   z&CreateModel.reduce.<locals>.<listcomp>•  s2   ø€ ð 'ð 'ð 'à"Ø!”¨)¬.Ò8Ð8ð à8Ð8Ð8r   )/rK   ÚDeleteModelr'   r=   rf   ÚRenameModelÚold_name_lowerr;   r•   r<   rF   r>   ÚAlterModelOptionsÚALTER_OPTION_KEYSÚpopr!   ÚAlterModelManagersÚAlterModelTableÚtableÚAlterModelTableCommentÚtable_commentÚAlterTogetherOptionOperationÚoption_nameÚoption_valueÚAlterOrderWithRespectTorƒ   r   Úmodel_name_lowerr   r   r   r   Úcopyr   ÚfilterÚboolr   r”   ÚIndexOperationÚAddIndexrš   ÚRemoveIndexÚAddConstraintr�   ÚRemoveConstraintr.   r/   )r"   r2   r+   r=   Úkeyrª   Úoptionrƒ   Úoptions_indexesÚoptions_constraintsr3   s    `        €r   r/   zCreateModel.reduce”   sO	  øø€ å�y¥+Ñ.Ô.ðP	à” 9Ô#7Ò7Ð7Ø”L×$Ò$ W¨eÑ4Ô4ð 8ð ˆIå�y¥+Ñ.Ô.ðJ	à” 9Ô#;Ò;Ð;õ ØÔ&Øœ;Ø œLØœ*Ø!œ]ðñ ô ðð õ �yÕ"3Ñ4Ô4ð}	à” 9Ô#7Ò7Ð7à;˜œÐ;¨Ô):Ð;ˆGØ Ô2ð +ð +�Ø˜iÔ/Ð/Ð/Ø—K’K  TÑ*Ô*Ð*øåØ”IØœ;Ø#Øœ*Ø!œ]ðñ ô ðð õ �yÕ"4Ñ5Ô5ðl	à” 9Ô#7Ò7Ð7õ Ø”IØœ;Ø œLØœ*Ø&Ô/ðñ ô ðð õ �y¥/Ñ2Ô2ð_	à” 9Ô#7Ò7Ð7õ Ø”IØœ;ðØœ,ðà" I¤Oðð ð œ*Ø!œ]ð	ñ 	ô 	ðð õ �yÕ"8Ñ9Ô9ðO	à” 9Ô#7Ò7Ð7õ Ø”IØœ;ðØœ,ðà*¨IÔ,Cðð ð œ*Ø!œ]ð	ñ 	ô 	ðð õ �yÕ">Ñ?Ô?ð	à” 9Ô#7Ò7Ð7õ Ø”IØœ;ðØœ,ðà$Ô0°)Ô2HÐIðð œ*Ø!œ]ð	ñ 	ô 	ðð õ �yÕ"9Ñ:Ô:ðo	à” 9Ô#7Ò7Ð7õ Ø”IØœ;ðØœ,ðà/°Ô1Pðð ð œ*Ø!œ]ð	ñ 	ô 	ðð õ �y¥.Ñ1Ô1ñ_	à” 9Ô#=Ò=Ñ=å˜)¥XÑ.Ô.ð SåØœ	Ø#œ{¨y¬~¸y¼Ð.OÐ-PÑPØ $¤Ø"œjØ!%¤ðñ ô ðð õ ˜I¥zÑ2Ô2ð IåØœ	ð ð  ð  ð  à(,¬ð ñ  ô  ð !%¤Ø"œjØ!%¤ð	ñ 	ô 	ðð õ ˜I¥{Ñ3Ô3ð <Øœ,×+Ò+Ñ-Ô-�Ø#Hð :ð :�KØ$Ÿ[š[¨°dÑ;Ô;�FØð :Ý!$Ý"Ý $ð!"ð !"ð !"ð !"ð 39ð	!"ñ !"ô !"ñô ñ
"ô 
"˜ð "ð :Ø39˜G KÑ0øØ(/¯ªÐ4KÑ(LÔ(LÐ%Ø(¨IÔ,@Ò@Ð@ØÐ 7Ð8åØœ	ð ð  ð  ð  à(,¬ð ñ  ô  ð
 !(Ø"œjØ!%¤ð
ñ 
ô 
ðð õ ˜I¥{Ñ3Ô3ð Øœ,×+Ò+Ñ-Ô-�Ø#Hð 	ð 	�KØ$Ÿ[š[¨Ñ5Ô5�FØð ð0ð 0ð 0ð 0ð
 +1ð0ñ 0ô 0˜ Ñ,øð )0¯ªÐ4KÑ(LÔ(LÐ%Ø(¨IÔ,>Ò>Ð>Ø7@Ô7I�GÐ3Ñ4åØœ	ð ð  ð  ð  à(,¬ð ñ  ô  ð !(Ø"œjØ!%¤ð	ñ 	ô 	ðð ñõ8 �y¥.Ñ1Ô1ñG	à” 9Ô#=Ò=Ñ=å˜)¥XÑ.Ô.ð CåØœ	Ø#œ{ð!Ø"œlð!à%ð (Ø!%¤×!1Ò!1°)¸RÑ!@Ô!@ð(à )¤ð(ð!ð !ð #œjØ!%¤ðñ ô ðð õ ˜I¥{Ñ3Ô3ð 3ð#ð #ð #ð #à!%¤×!1Ò!1°)¸RÑ!@Ô!@ð#ñ #ô #�õ  Øœ	Ø#œ{ð!Ø"œlð!à% ð!ð !ð #œjØ!%¤ð	ñ 	ô 	ðð õ ˜I¥}Ñ5Ô5ð !åØœ	Ø#œ{ð!Ø"œlð!à)ð ,Ø!%¤×!1Ò!1°-ÀÑ!DÔ!Dð,à )Ô 4ð,ð!ð !ð #œjØ!%¤ðñ ô ðð õ ˜IÕ'7Ñ8Ô8ð ð'ð 'ð 'ð 'à&*¤l×&6Ò&6°}ÀbÑ&IÔ&Ið'ñ 'ô 'Ð#õ  Øœ	Ø#œ{ð!Ø"œlð!à)Ð+>ð!ð !ð #œjØ!%¤ð	ñ 	ô 	ðð õ ‰wŒw�~Š~˜i¨Ñ3Ô3Ð3r   )NNN)r5   r6   r7   Ú__doc__r   ÚADDITIONÚcategoryÚserialization_expand_argsr#   rU   r]   rm   rr   rw   Úpropertyrz   r,   r/   r8   r9   s   @r   r;   r;   )   sô   ø€ € € € € Ø!Ð!à Ô)€HØ AÐ AÐ AÐðOð Oð Oð Oð Oð Oð,9ð 9ð 9ð

ð 

ð 

ðð ð ð .ð .ð .ð

ð 
ð 
ð ðð ñ „Xððð ð ð.R4ð R4ð R4ð R4ð R4ð R4ð R4ð R4ð R4r   r;   c                   óZ   — e Zd ZdZej        Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zed„ ¦   «         Zd	S )
rž   zDrop a model's table.c                 ó2   — d| j         i}| j        j        g |fS ©Nr!   )r!   r3   r7   rS   s     r   rU   zDeleteModel.deconstruct®  s$   € à�D”Ið
ˆð ”Ô+¨R°Ð8Ð8r   c                 ó<   — |                      || j        ¦  «         d S r   )Úremove_modelr'   r[   s      r   r]   zDeleteModel.state_forwards´  s    € Ø×Ò˜9 d¤oÑ6Ô6Ð6Ð6Ð6r   c                 ó´   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r|                     |¦  «         d S d S r   ro   rq   s         r   rm   zDeleteModel.database_forwards·  rs   r   c                 ó´   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r|                     |¦  «         d S d S r   )r`   ra   r!   rb   rc   rd   re   rq   s         r   rr   zDeleteModel.database_backwards¼  s]   € Ø”×'Ò'¨	°4´9Ñ=Ô=ˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	.Ø×&Ò& uÑ-Ô-Ð-Ð-Ð-ð	.ð 	.r   c                 ó   — dS )NTrA   r*   s      r   r,   zDeleteModel.references_modelÁ  s	   € ð ˆtr   c                 ó   — d| j         z  S )NzDelete model %sr    r&   s    r   rw   zDeleteModel.describeÆ  s   € Ø  4¤9Ñ,Ð,r   c                 ó   — d| j         z  S )Nz	delete_%sry   r&   s    r   rz   z#DeleteModel.migration_name_fragmentÉ  s   € à˜Tœ_Ñ,Ð,r   N)r5   r6   r7   rº   r   ÚREMOVALr¼   rU   r]   rm   rr   r,   rw   r¾   rz   rA   r   r   rž   rž   ©  s—   € € € € € ØÐà Ô(€Hð9ð 9ð 9ð7ð 7ð 7ð.ð .ð .ð
.ð .ð .ð
ð ð ð
-ð -ð -ð ð-ð -ñ „Xð-ð -ð -r   rž   c                   ó    ‡ — e Zd ZdZej        Zˆ fd„Zed„ ¦   «         Z	ed„ ¦   «         Z
d„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zed„ ¦   «         Zˆ fd„Zˆ xZS )rŸ   zRename a model.c                 óf   •— || _         || _        t          ¦   «                              |¦  «         d S r   )r”   r•   r.   r#   )r"   r”   r•   r3   s      €r   r#   zRenameModel.__init__Ó  s/   ø€ Ø ˆŒØ ˆŒÝ‰Œ×Ò˜Ñ"Ô"Ð"Ð"Ð"r   c                 ó4   — | j                              ¦   «         S r   ©r”   r%   r&   s    r   r    zRenameModel.old_name_lowerØ  ó   € àŒ}×"Ò"Ñ$Ô$Ð$r   c                 ó4   — | j                              ¦   «         S r   ©r•   r%   r&   s    r   Únew_name_lowerzRenameModel.new_name_lowerÜ  rÎ   r   c                 ó>   — | j         | j        dœ}| j        j        g |fS )Nr“   )r”   r•   r3   r7   rS   s     r   rU   zRenameModel.deconstructà  s,   € àœØœð
ð 
ˆð ”Ô+¨R°Ð8Ð8r   c                 óH   — |                      || j        | j        ¦  «         d S r   )Úrename_modelr”   r•   r[   s      r   r]   zRenameModel.state_forwardsç  s$   € Ø×Ò˜9 d¤m°T´]ÑCÔCÐCÐCÐCr   c                 óB  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        �r[|j                              || j        ¦  «        }|                     ||j        j	        |j        j	        ¦  «         |j        j
        D ]—}|j        |k    r|}|| j        f}	n1|j        j        j        |j        j        j        f}	 |j         j        |	Ž } |j         j        |	Ž j                             |j        j        ¦  «        }
|                     ||j        |
¦  «         Œ˜t'          |j        j        |j        j        ¦  «        }|D ]G\  }}|j        |j        k    s|j        j        j        j        sŒ,|                     |||d¬¦  «         ŒFd S d S )NF)Ústrict)r`   ra   r•   rb   rc   rd   r”   Úalter_db_tablerH   r�   Úrelated_objectsÚrelated_modelrÑ   r+   Ú
model_nameÚ	get_fieldr   r!   Úalter_fieldÚzipÚlocal_many_to_manyrk   Úremote_fieldÚthroughÚauto_createdÚ_alter_many_to_many)r"   r+   rh   ri   rj   Ú	new_modelÚ	old_modelÚrelated_objectrk   Úrelated_keyÚto_fieldr<   Ú	old_fieldÚ	new_fields                 r   rm   zRenameModel.database_forwardsê  så  € Ø”M×+Ò+¨I°t´}ÑEÔEˆ	Ø×#Ò# MÔ$<Ô$BÀIÑNÔNñ ,	Ø"œ×1Ò1°)¸T¼]ÑKÔKˆIà×(Ò(ØØ”Ô(Ø”Ô(ñô ð ð #,¤/Ô"Að ð �Ø!Ô/°9Ò<Ð<Ø%�EØ#,¨dÔ.AÐ"B�K�Kð 'Ô4Ô:ÔDØ&Ô4Ô:ÔEð#�Kð 4˜HœMÔ3°[ÐA�EØ2˜8œ=Ô2°KÐ@ÔF×PÒPØ"Ô(Ô-ñô �ð ×)Ò)ØØ"Ô(Øñô ð ð õ Ø”Ô2°I´OÔ4Vñô ˆFð )/ð ð Ñ$�	˜9ð ”O yÔ'>Ò>Ð>Ø$Ô1Ô9Ô?ÔLð ?ð à×1Ò1ØØØØ ð	 2ñ ô ð ð ðO,	ð ,	ð>ð r   c                 óþ   — | j         | j        c| _        | _         | j        | j        c| _        | _        |                      ||||¦  «         | j         | j        c| _        | _         | j        | j        c| _        | _        d S r   )r    rÑ   r”   r•   rm   ©r"   r+   rh   ri   rj   s        r   rr   zRenameModel.database_backwards  s„   € àÔØÔð 	1ˆÔ˜TÔ0ð (,¤}°d´mÐ$ˆŒ�t”}à×Ò˜y¨-¸ÀXÑNÔNÐNð ÔØÔð 	1ˆÔ˜TÔ0ð (,¤}°d´mÐ$ˆŒ�t”}�}�}r   c                 óv   — |                      ¦   «         | j        k    p|                      ¦   «         | j        k    S r   )r%   r    rÑ   r*   s      r   r,   zRenameModel.references_model)  s/   € à�JŠJ‰LŒL˜DÔ/Ò/ÐV°4·:²:±<´<À4ÔCVÒ3Vð	
r   c                 ó&   — d| j         ›d| j        ›�S )NzRename model ú to r“   r&   s    r   rw   zRenameModel.describe.  s   € € Ø*.¬-¨-¨-¸¼¸ÐGÐGr   c                 ó&   — d| j         ›d| j        ›�S ©NÚrename_rD   )r    rÑ   r&   s    r   rz   z#RenameModel.migration_name_fragment1  s   € € à!%Ô!4Ð!4Ð!4°dÔ6IÐ6IÐJÐJr   c                 ó  •— t          |t          ¦  «        r+| j        |j        k    rt          | j        |j        ¦  «        gS t          t          | ¦  «                             ||¦  «        p| 	                    | j        |¦  «         S r   )
rK   rŸ   rÑ   r    r”   r•   r.   r   r/   r,   r1   s      €r   r/   zRenameModel.reduce5  s’   ø€ å�y¥+Ñ.Ô.ð		àÔ# yÔ'?Ò?Ð?õ Ø”MØÔ&ñô ðð õ •^ TÑ*Ô*×1Ò1Ø�yñ
ô 
ð Fà×+Ò+¨D¬M¸9ÑEÔEÐEð	Fr   )r5   r6   r7   rº   r   Ú
ALTERATIONr¼   r#   r
   r    rÑ   rU   r]   rm   rr   r,   rw   r¾   rz   r/   r8   r9   s   @r   rŸ   rŸ   Î  s   ø€ € € € € ØÐà Ô+€Hð#ð #ð #ð #ð #ð
 ð%ð %ñ „_ð%ð ð%ð %ñ „_ð%ð9ð 9ð 9ðDð Dð Dð.ð .ð .ð`Dð Dð Dð
ð 
ð 
ð
Hð Hð Hð ðKð Kñ „XðKðFð Fð Fð Fð Fð Fð Fð Fð Fr   rŸ   c                   ó,   ‡ — e Zd Zej        Zˆ fd„Zˆ xZS )ÚModelOptionOperationc                 ó¦   •— t          || j        t          f¦  «        r| j        |j        k    r|gS t	          ¦   «                              ||¦  «        S r   )rK   r3   rž   r'   r.   r/   r1   s      €r   r/   zModelOptionOperation.reduceJ  sL   ø€ å�y 4¤>µ;Ð"?Ñ@Ô@ð	à” 9Ô#7Ò7Ð7à�;ÐÝ‰wŒw�~Š~˜i¨Ñ3Ô3Ð3r   )r5   r6   r7   r   ró   r¼   r/   r8   r9   s   @r   rõ   rõ   G  s@   ø€ € € € € Ø Ô+€Hð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4r   rõ   c                   óV   ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	e
d„ ¦   «         Zˆ xZS )	r¥   zRename a model's table.c                 óX   •— || _         t          ¦   «                              |¦  «         d S r   )r¦   r.   r#   )r"   r!   r¦   r3   s      €r   r#   zAlterModelTable.__init__V  s(   ø€ ØˆŒ
Ý‰Œ×Ò˜ÑÔÐÐÐr   c                 ó>   — | j         | j        dœ}| j        j        g |fS )N©r!   r¦   )r!   r¦   r3   r7   rS   s     r   rU   zAlterModelTable.deconstructZ  s,   € à”IØ”Zð
ð 
ˆð ”Ô+¨R°Ð8Ð8r   c                 óL   — |                      || j        d| j        i¦  «         d S )Nr�   )Úalter_model_optionsr'   r¦   r[   s      r   r]   zAlterModelTable.state_forwardsa  s)   € Ø×!Ò! )¨T¬_¸zÈ4Ì:Ð>VÑWÔWÐWÐWÐWr   c                 ó2  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rÔ|j                              || j        ¦  «        }|                     ||j        j        |j        j        ¦  «         t          |j        j
        |j        j
        ¦  «        D ]f\  }}|j        j        j        j        rI|                     |j        j        |j        j        j        j        |j        j        j        j        ¦  «         Œed S d S r   )r`   ra   r!   rb   rc   rd   r×   rH   r�   rÝ   rÞ   rß   rà   rá   )	r"   r+   rh   ri   rj   rã   rä   rè   ré   s	            r   rm   z!AlterModelTable.database_forwardsd  s  € Ø”M×+Ò+¨I°t´yÑAÔAˆ	Ø×#Ò# MÔ$<Ô$BÀIÑNÔNð 	Ø"œ×1Ò1°)¸T¼YÑGÔGˆIØ×(Ò(ØØ”Ô(Ø”Ô(ñô ð õ ),Ø”Ô2°I´OÔ4Vñ)ô )ð ð Ñ$�	˜9ð Ô)Ô1Ô7ÔDð Ø!×0Ò0Ø!Ô.Ô6Ø!Ô.Ô6Ô<ÔEØ!Ô.Ô6Ô<ÔEñô ð øð	ð 	ðð r   c                 ó2   — |                       ||||¦  «        S r   ©rm   rë   s        r   rr   z"AlterModelTable.database_backwardsx  ó   € Ø×%Ò% i°À
ÈHÑUÔUÐUr   c                 ó8   — d| j         ›d| j        �| j        nd›�S )NzRename table for rî   z	(default)rú   r&   s    r   rw   zAlterModelTable.describe{  s*   € € àŒIˆIˆIØœ*Ð0ˆDŒJˆJ°kÐAð
ð 	
r   c                 ó   — d| j         z  S )Nzalter_%s_tablery   r&   s    r   rz   z'AlterModelTable.migration_name_fragment�  s   € à $¤/Ñ1Ð1r   )r5   r6   r7   rº   r#   rU   r]   rm   rr   rw   r¾   rz   r8   r9   s   @r   r¥   r¥   S  sª   ø€ € € € € Ø!Ð!ðð ð ð ð ð9ð 9ð 9ðXð Xð Xðð ð ð(Vð Vð Vð
ð 
ð 
ð ð2ð 2ñ „Xð2ð 2ð 2ð 2ð 2r   r¥   c                   óR   ‡ — e Zd Zˆ fd„Zd„ Zd„ Zd„ Zd„ Zd„ Ze	d„ ¦   «         Z
ˆ xZS )r§   c                 óX   •— || _         t          ¦   «                              |¦  «         d S r   )r¨   r.   r#   )r"   r!   r¨   r3   s      €r   r#   zAlterModelTableComment.__init__‡  s)   ø€ Ø*ˆÔÝ‰Œ×Ò˜ÑÔÐÐÐr   c                 ó>   — | j         | j        dœ}| j        j        g |fS )N)r!   r¨   )r!   r¨   r3   r7   rS   s     r   rU   z"AlterModelTableComment.deconstruct‹  s-   € à”IØ!Ô/ð
ð 
ˆð ”Ô+¨R°Ð8Ð8r   c                 óL   — |                      || j        d| j        i¦  «         d S )Nr‚   )rü   r'   r¨   r[   s      r   r]   z%AlterModelTableComment.state_forwards’  s6   € Ø×!Ò!Ø�t”Ð);¸TÔ=OÐ(Pñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rM|j                              || j        ¦  «        }|                     ||j        j        |j        j        ¦  «         d S d S r   )	r`   ra   r!   rb   rc   rd   Úalter_db_table_commentrH   r‚   )r"   r+   rh   ri   rj   rã   rä   s          r   rm   z(AlterModelTableComment.database_forwards—  s‘   € Ø”M×+Ò+¨I°t´yÑAÔAˆ	Ø×#Ò# MÔ$<Ô$BÀIÑNÔNð 	Ø"œ×1Ò1°)¸T¼YÑGÔGˆIØ×0Ò0ØØ”Ô0Ø”Ô0ñô ð ð ð ð	ð 	r   c                 ó2   — |                       ||||¦  «        S r   rÿ   rë   s        r   rr   z)AlterModelTableComment.database_backwards¡  r   r   c                 ó   — d| j         › d�S )NúAlter z table commentr    r&   s    r   rw   zAlterModelTableComment.describe¤  s   € Ø1˜œ	Ð1Ð1Ð1Ð1r   c                 ó   — d| j         › d�S )NÚalter_Ú_table_commentry   r&   s    r   rz   z.AlterModelTableComment.migration_name_fragment§  s   € à7˜œÐ7Ð7Ð7Ð7r   )r5   r6   r7   r#   rU   r]   rm   rr   rw   r¾   rz   r8   r9   s   @r   r§   r§   †  s¡   ø€ € € € € ðð ð ð ð ð9ð 9ð 9ð
ð 
ð 
ð
ð ð ðVð Vð Vð2ð 2ð 2ð ð8ð 8ñ „Xð8ð 8ð 8ð 8ð 8r   r§   c                   ó|   ‡ — e Zd ZdZˆ fd„Zed„ ¦   «         Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zed
„ ¦   «         Zˆ fd„Zˆ xZS )r©   Nc                 ó²   •— |rt          t          |¦  «        ¦  «        }t          | | j        |¦  «         t	          ¦   «                              |¦  «         d S r   )r   r	   Úsetattrrª   r.   r#   )r"   r!   r«   r3   s      €r   r#   z%AlterTogetherOptionOperation.__init__¯  sU   ø€ Øð 	AÝÕ1°,Ñ?Ô?Ñ@Ô@ˆLÝ��dÔ&¨Ñ5Ô5Ð5Ý‰Œ×Ò˜ÑÔÐÐÐr   c                 ó,   — t          | | j        ¦  «        S r   )Úgetattrrª   r&   s    r   r«   z)AlterTogetherOptionOperation.option_valueµ  s   € å�t˜TÔ-Ñ.Ô.Ð.r   c                 óJ   — d| j         | j        | j        i}| j        j        g |fS rÁ   )r!   rª   r«   r3   r7   rS   s     r   rU   z(AlterTogetherOptionOperation.deconstruct¹  s/   € à�D”IØÔ˜dÔ/ð
ˆð ”Ô+¨R°Ð8Ð8r   c                 óV   — |                      || j        | j        | j        i¦  «         d S r   )rü   r'   rª   r«   r[   s      r   r]   z+AlterTogetherOptionOperation.state_forwardsÀ  s:   € Ø×!Ò!ØØŒOØÔ˜tÔ0Ð1ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 óÐ  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r¥|j        || j        f         }|j        || j        f         }t          |d| j	        z  ¦  «        } |||j
                             | j	        ¦  «        pt          ¦   «         |j
                             | j	        ¦  «        pt          ¦   «         ¦  «         d S d S )Nzalter_%s)r`   ra   r!   rb   rc   rd   r   r'   r  rª   r=   rf   r   )	r"   r+   rh   ri   rj   rã   Úfrom_model_staterl   Úalter_togethers	            r   rm   z.AlterTogetherOptionOperation.database_forwardsÇ  sã   € Ø”M×+Ò+¨I°t´yÑAÔAˆ	Ø×#Ò# MÔ$<Ô$BÀIÑNÔNð 	Ø)Ô0°¸D¼OÐ1KÔLÐØ%œ_¨Y¸¼Ð-GÔHˆNÝ$ ]°JÀÔAQÑ4QÑRÔRˆNØˆNØØ Ô(×,Ò,¨TÔ-=Ñ>Ô>ÐGÅ#Á%Ä%ØÔ&×*Ò*¨4Ô+;Ñ<Ô<ÐEÅÁÄñô ð ð ð ð		ð 	r   c                 ó2   — |                       ||||¦  «        S r   rÿ   rë   s        r   rr   z/AlterTogetherOptionOperation.database_backwardsÓ  r   r   c                 ó€   ‡— |                       ||¦  «        o'| j         pt          ˆfd„| j        D ¦   «         ¦  «        S )Nc              3   ó    •K  — | ]}‰|v V — Œ	d S r   rA   )rC   r<   r!   s     €r   rE   z@AlterTogetherOptionOperation.references_field.<locals>.<genexpr>Ù  s'   øè è € ÐDÐD¨�D˜F�NÐDÐDÐDÐDÐDÐDr   )r,   r«   Úany©r"   rÚ   r!   r+   s     ` r   Úreferences_fieldz-AlterTogetherOptionOperation.references_fieldÖ  sR   ø€ Ø×$Ò$ Z°Ñ;Ô;ð 
ØÔ!Ð!ð EÝÐDÐDÐDÐD°$Ô2CÐDÑDÔDÑDÔDð	
r   c                 óV   — d| j         ›d| j        ›dt          | j        pd¦  «        ›d�S )Nr  z for z (rv   z constraint(s)))rª   r!   Úlenr«   r&   s    r   rw   z%AlterTogetherOptionOperation.describeÜ  s<   € € àÔÐÐØŒIˆIˆIÝ�Ô!Ð' RÑ(Ô(Ð(Ð(ð
ð 	
r   c                 ó&   — d| j         ›d| j        ›�S ©Nr  rD   )r'   rª   r&   s    r   rz   z4AlterTogetherOptionOperation.migration_name_fragmentã  s   € € à $¤  °Ô1AÐ1AÐBÐBr   c                 ó®   •— t          ¦   «                              ||¦  «        p2t          |t          ¦  «        ot	          |¦  «        t	          | ¦  «        uS r   )r.   r0   rK   r©   Útyper1   s      €r   r0   z/AlterTogetherOptionOperation.can_reduce_throughç  sK   ø€ Ý‰wŒw×)Ò)¨)°YÑ?Ô?ð 
Ý�yÕ">Ñ?Ô?ð 2Ý�Y‘”¥t¨D¡z¤zÐ1ð	
r   )r5   r6   r7   rª   r#   r
   r«   rU   r]   rm   rr   r  rw   r¾   rz   r0   r8   r9   s   @r   r©   r©   ¬  sì   ø€ € € € € Ø€Kðð ð ð ð ð ð/ð /ñ „_ð/ð9ð 9ð 9ð
ð 
ð 
ð
ð 
ð 
ðVð Vð Vð
ð 
ð 
ð
ð 
ð 
ð ðCð Cñ „XðCð
ð 
ð 
ð 
ð 
ð 
ð 
ð 
ð 
r   r©   c                   ó&   ‡ — e Zd ZdZdZˆ fd„Zˆ xZS )ÚAlterUniqueTogetherz|
    Change the value of unique_together to the target one.
    Input value of unique_together must be a set of tuples.
    r‰   c                 óL   •— t          ¦   «                              ||¦  «         d S r   ©r.   r#   )r"   r!   r‰   r3   s      €r   r#   zAlterUniqueTogether.__init__ö  s#   ø€ Ý‰Œ×Ò˜˜Ñ/Ô/Ð/Ð/Ð/r   ©r5   r6   r7   rº   rª   r#   r8   r9   s   @r   r&  r&  î  sI   ø€ € € € € ðð ð
 $€Kð0ð 0ð 0ð 0ð 0ð 0ð 0ð 0ð 0r   r&  c                   ó&   ‡ — e Zd ZdZdZˆ fd„Zˆ xZS )ÚAlterIndexTogetherzz
    Change the value of index_together to the target one.
    Input value of index_together must be a set of tuples.
    r_   c                 óL   •— t          ¦   «                              ||¦  «         d S r   r(  )r"   r!   r_   r3   s      €r   r#   zAlterIndexTogether.__init__  s#   ø€ Ý‰Œ×Ò˜˜~Ñ.Ô.Ð.Ð.Ð.r   r)  r9   s   @r   r+  r+  ú  sI   ø€ € € € € ðð ð
 #€Kð/ð /ð /ð /ð /ð /ð /ð /ð /r   r+  c                   ó`   ‡ — e Zd ZdZdZˆ fd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zed
„ ¦   «         Zˆ xZS )r¬   z9Represent a change with the order_with_respect_to option.rƒ   c                 óX   •— || _         t          ¦   «                              |¦  «         d S r   )rƒ   r.   r#   )r"   r!   rƒ   r3   s      €r   r#   z AlterOrderWithRespectTo.__init__  s)   ø€ Ø%:ˆÔ"Ý‰Œ×Ò˜ÑÔÐÐÐr   c                 ó>   — | j         | j        dœ}| j        j        g |fS )N©r!   rƒ   )r!   rƒ   r3   r7   rS   s     r   rU   z#AlterOrderWithRespectTo.deconstruct  s-   € à”IØ%)Ô%?ð
ð 
ˆð ”Ô+¨R°Ð8Ð8r   c                 óV   — |                      || j        | j        | j        i¦  «         d S r   )rü   r'   rª   rƒ   r[   s      r   r]   z&AlterOrderWithRespectTo.state_forwards  s:   € Ø×!Ò!ØØŒOØÔ˜tÔ9Ð:ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó(  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rÍ|j                              || j        ¦  «        }|j        j        r<|j        j        s0|                     ||j         	                    d¦  «        ¦  «         d S |j        j        r[|j        j        sQ|j         	                    d¦  «        }| 
                    ¦   «         sd|_        |                     ||¦  «         d S d S d S d S )NÚ_orderr   )r`   ra   r!   rb   rc   rd   rH   rƒ   Úremove_fieldrÛ   Úhas_defaultÚdefaultÚ	add_field)r"   r+   rh   ri   rj   Úto_modelÚ
from_modelr   s           r   rm   z)AlterOrderWithRespectTo.database_forwards  s>  € Ø”=×*Ò*¨9°d´iÑ@Ô@ˆØ×#Ò# MÔ$<Ô$BÀHÑMÔMð 	Ø#œ×2Ò2°9¸d¼iÑHÔHˆJð Ô Ô6ðà œÔ<ðð ×*Ò*Ø 
Ô 0× :Ò :¸8Ñ DÔ Dñô ð ð ð ð ”Ô4ð
à"Ô(Ô>ð
ð !œ×0Ò0°Ñ:Ô:�Ø×(Ò(Ñ*Ô*ð &Ø$%�E”MØ×'Ò'ØØñô ð ð ð ð'	ð 	ð
ð 
ð 
ð 
r   c                 ó6   — |                       ||||¦  «         d S r   rÿ   rë   s        r   rr   z*AlterOrderWithRespectTo.database_backwards7  s"   € Ø×Ò˜y¨-¸ÀXÑNÔNÐNÐNÐNr   c                 óV   — |                       ||¦  «        o| j        d u p
|| j        k    S r   )r,   rƒ   r  s       r   r  z(AlterOrderWithRespectTo.references_field:  s7   € Ø×$Ò$ Z°Ñ;Ô;ð 
ØÔ&¨$Ð.ÐT°$¸$Ô:TÒ2Tð	
r   c                 ó&   — d| j         ›d| j        ›�S )NzSet order_with_respect_to on rî   r0  r&   s    r   rw   z AlterOrderWithRespectTo.describe?  s    € € àŒIˆIˆIØÔ&Ð&ð
ð 	
r   c                 ó   — d| j         z  S )Nzalter_%s_order_with_respect_tory   r&   s    r   rz   z/AlterOrderWithRespectTo.migration_name_fragmentE  s   € à/°$´/ÑAÐAr   )r5   r6   r7   rº   rª   r#   rU   r]   rm   rr   r  rw   r¾   rz   r8   r9   s   @r   r¬   r¬     sÂ   ø€ € € € € ØCÐCà)€Kðð ð ð ð ð9ð 9ð 9ð
ð 
ð 
ðð ð ð4Oð Oð Oð
ð 
ð 
ð

ð 
ð 
ð ðBð Bñ „XðBð Bð Bð Bð Br   r¬   c                   ó^   ‡ — e Zd ZdZg d¢Zˆ fd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ed	„ ¦   «         Zˆ xZS )
r¡   z±
    Set new model options that don't directly affect the database schema
    (like verbose_name, permissions, ordering). Python code in migrations
    may still need them.
    )Úbase_manager_nameÚdefault_manager_nameÚdefault_related_nameÚget_latest_byÚmanagedÚorderingÚpermissionsÚdefault_permissionsÚselect_on_saveÚverbose_nameÚverbose_name_pluralc                 óX   •— || _         t          ¦   «                              |¦  «         d S r   )r=   r.   r#   )r"   r!   r=   r3   s      €r   r#   zAlterModelOptions.__init__`  s(   ø€ ØˆŒÝ‰Œ×Ò˜ÑÔÐÐÐr   c                 ó>   — | j         | j        dœ}| j        j        g |fS )N)r!   r=   )r!   r=   r3   r7   rS   s     r   rU   zAlterModelOptions.deconstructd  s,   € à”IØ”|ð
ð 
ˆð ”Ô+¨R°Ð8Ð8r   c                 óT   — |                      || j        | j        | j        ¦  «         d S r   )rü   r'   r=   r¢   r[   s      r   r]   z AlterModelOptions.state_forwardsk  s7   € Ø×!Ò!ØØŒOØŒLØÔ"ñ		
ô 	
ð 	
ð 	
ð 	
r   c                 ó   — d S r   rA   rë   s        r   rm   z#AlterModelOptions.database_forwardss  ó   € Øˆr   c                 ó   — d S r   rA   rë   s        r   rr   z$AlterModelOptions.database_backwardsv  rN  r   c                 ó   — d| j         z  S )NzChange Meta options on %sr    r&   s    r   rw   zAlterModelOptions.describey  s   € Ø*¨T¬YÑ6Ð6r   c                 ó   — d| j         z  S )Nzalter_%s_optionsry   r&   s    r   rz   z)AlterModelOptions.migration_name_fragment|  s   € à! D¤OÑ3Ð3r   )r5   r6   r7   rº   r¢   r#   rU   r]   rm   rr   rw   r¾   rz   r8   r9   s   @r   r¡   r¡   J  sº   ø€ € € € € ðð ðð ð Ððð ð ð ð ð9ð 9ð 9ð
ð 
ð 
ðð ð ðð ð ð7ð 7ð 7ð ð4ð 4ñ „Xð4ð 4ð 4ð 4ð 4r   r¡   c                   ó\   ‡ — e Zd ZdZdgZˆ fd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ed	„ ¦   «         Zˆ xZS )
r¤   zAlter the model's managers.r>   c                 óX   •— || _         t          ¦   «                              |¦  «         d S r   )r>   r.   r#   )r"   r!   r>   r3   s      €r   r#   zAlterModelManagers.__init__†  s(   ø€ Ø ˆŒÝ‰Œ×Ò˜ÑÔÐÐÐr   c                 ó8   — | j         j        | j        | j        gi fS r   )r3   r7   r!   r>   r&   s    r   rU   zAlterModelManagers.deconstructŠ  s   € Ø”Ô+¨d¬i¸¼Ð-GÈÐLÐLr   c                 óH   — |                      || j        | j        ¦  «         d S r   )Úalter_model_managersr'   r>   r[   s      r   r]   z!AlterModelManagers.state_forwards�  s$   € Ø×"Ò" 9¨d¬o¸t¼}ÑMÔMÐMÐMÐMr   c                 ó   — d S r   rA   rë   s        r   rm   z$AlterModelManagers.database_forwards�  rN  r   c                 ó   — d S r   rA   rë   s        r   rr   z%AlterModelManagers.database_backwards“  rN  r   c                 ó   — d| j         z  S )NzChange managers on %sr    r&   s    r   rw   zAlterModelManagers.describe–  s   € Ø&¨¬Ñ2Ð2r   c                 ó   — d| j         z  S )Nzalter_%s_managersry   r&   s    r   rz   z*AlterModelManagers.migration_name_fragment™  s   € à" T¤_Ñ4Ð4r   )r5   r6   r7   rº   r½   r#   rU   r]   rm   rr   rw   r¾   rz   r8   r9   s   @r   r¤   r¤   �  s²   ø€ € € € € Ø%Ð%à!+ Ððð ð ð ð ðMð Mð MðNð Nð Nðð ð ðð ð ð3ð 3ð 3ð ð5ð 5ñ „Xð5ð 5ð 5ð 5ð 5r   r¤   c                   ó(   — e Zd ZdZed„ ¦   «         ZdS )r±   r˜   c                 ó4   — | j                              ¦   «         S r   )rÚ   r%   r&   s    r   r­   zIndexOperation.model_name_lower¡  s   € àŒ×$Ò$Ñ&Ô&Ð&r   N)r5   r6   r7   rª   r
   r­   rA   r   r   r±   r±   ž  s2   € € € € € Ø€Kàð'ð 'ñ „_ð'ð 'ð 'r   r±   c                   ój   ‡ — e Zd ZdZej        Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zed„ ¦   «         Zˆ fd	„Zˆ xZS )
r²   zAdd an index on a model.c                 óT   — || _         |j        st          d|z  ¦  «        ‚|| _        d S )NzSIndexes passed to AddIndex operations require a name argument. %r doesn't have one.)rÚ   r!   r   rš   )r"   rÚ   rš   s      r   r#   zAddIndex.__init__«  s?   € Ø$ˆŒØŒzð 	Ýð1Ø38ñ9ñô ð ð ˆŒ
ˆ
ˆ
r   c                 óH   — |                      || j        | j        ¦  «         d S r   )Ú	add_indexr­   rš   r[   s      r   r]   zAddIndex.state_forwards´  s#   € Ø�Š˜	 4Ô#8¸$¼*ÑEÔEÐEÐEÐEr   c                 óÀ   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r|                     || j        ¦  «         d S d S r   )r`   ra   rÚ   rb   rc   rd   r`  rš   rq   s         r   rm   zAddIndex.database_forwards·  sa   € Ø”×'Ò'¨	°4´?ÑCÔCˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	7Ø×#Ò# E¨4¬:Ñ6Ô6Ð6Ð6Ð6ð	7ð 	7r   c                 óÀ   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r|                     || j        ¦  «         d S d S r   )r`   ra   rÚ   rb   rc   rd   Úremove_indexrš   rq   s         r   rr   zAddIndex.database_backwards¼  sa   € Ø”×)Ò)¨)°T´_ÑEÔEˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	:Ø×&Ò& u¨d¬jÑ9Ô9Ð9Ð9Ð9ð	:ð 	:r   c                 ó>   — | j         | j        dœ}| j        j        g |fS ©N)rÚ   rš   )rÚ   rš   r3   r7   rS   s     r   rU   zAddIndex.deconstructÁ  s2   € àœ/Ø”Zð
ð 
ˆð
 ŒNÔ'ØØð
ð 	
r   c                 ó
  — | j         j        rAd| j         j        ›dd                     d„ | j         j        D ¦   «         ¦  «        ›d| j        ›�S d| j         j        ›dd                     | j         j        ¦  «        ›d| j        ›�S )NzCreate index ú on ú, c                 ó,   — g | ]}t          |¦  «        ‘ŒS rA   )rL   )rC   Ú
expressions     r   rˆ   z%AddIndex.describe.<locals>.<listcomp>Ð  s   € ÐTÐTÐT¨z�3˜z™?œ?ÐTÐTÐTr   ú
 on model z on field(s) z
 of model )rš   Úexpressionsr!   ÚjoinrÚ   r<   r&   s    r   rw   zAddIndex.describeÌ  s–   € ØŒ:Ô!ð 	ð 	à”
”��Ø—	’	ÐTÐT¸T¼ZÔ=SÐTÑTÔTÑUÔUÐUÐUØ”�ðð ð	ð ŒJŒOˆOˆOØ�IŠI�d”jÔ'Ñ(Ô(Ð(Ð(ØŒOˆOð
ð 	
r   c                 óR   — | j         ›d| j        j                             ¦   «         ›�S ©NrD   )r­   rš   r!   r%   r&   s    r   rz   z AddIndex.migration_name_fragmentÙ  s)   € àÔ/Ð/Ð/°´´×1FÒ1FÑ1HÔ1HÐ1HÐIÐIr   c                 óZ  •— t          |t          ¦  «        r| j        j        |j        k    rg S t          |t          ¦  «        rH| j        j        |j        k    r3|j        | j        _        |                      | j        | j        ¬¦  «        gS t          ¦   «          
                    ||¦  «        S re  )rK   r³   rš   r!   ÚRenameIndexr”   r•   r3   rÚ   r.   r/   r1   s      €r   r/   zAddIndex.reduceÝ  s�   ø€ Ý�i¥Ñ-Ô-ð 	°$´*´/ÀYÄ^Ò2SÐ2SØˆIÝ�i¥Ñ-Ô-ð 	R°$´*´/ÀYÔEWÒ2WÐ2WØ'Ô0ˆDŒJŒOØ—N’N¨d¬oÀTÄZ�NÑPÔPÐQÐQÝ‰wŒw�~Š~˜i¨Ñ3Ô3Ð3r   )r5   r6   r7   rº   r   r»   r¼   r#   r]   rm   rr   rU   rw   r¾   rz   r/   r8   r9   s   @r   r²   r²   ¦  sÁ   ø€ € € € € Ø"Ð"à Ô)€Hðð ð ðFð Fð Fð7ð 7ð 7ð
:ð :ð :ð
	
ð 	
ð 	
ð
ð 
ð 
ð ðJð Jñ „XðJð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4r   r²   c                   óZ   — e Zd ZdZej        Zd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zed„ ¦   «         Zd	S )
r³   zRemove an index from a model.c                 ó"   — || _         || _        d S r   ©rÚ   r!   ©r"   rÚ   r!   s      r   r#   zRemoveIndex.__init__ë  ó   € Ø$ˆŒØˆŒ	ˆ	ˆ	r   c                 óH   — |                      || j        | j        ¦  «         d S r   )rc  r­   r!   r[   s      r   r]   zRemoveIndex.state_forwardsï  s%   € Ø×Ò˜9 dÔ&;¸T¼YÑGÔGÐGÐGÐGr   c                 ó  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rF|j        || j        f         }|                     | j	        ¦  «        }| 
                    ||¦  «         d S d S r   )r`   ra   rÚ   rb   rc   rd   r   r­   Úget_index_by_namer!   rc  )r"   r+   rh   ri   rj   rk   r  rš   s           r   rm   zRemoveIndex.database_forwardsò  sŠ   € Ø”×)Ò)¨)°T´_ÑEÔEˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	5Ø)Ô0°¸DÔ<QÐ1QÔRÐØ$×6Ò6°t´yÑAÔAˆEØ×&Ò& u¨eÑ4Ô4Ð4Ð4Ð4ð	5ð 	5r   c                 ó  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rF|j        || j        f         }|                     | j	        ¦  «        }| 
                    ||¦  «         d S d S r   )r`   ra   rÚ   rb   rc   rd   r   r­   ry  r!   r`  )r"   r+   rh   ri   rj   rk   rl   rš   s           r   rr   zRemoveIndex.database_backwardsù  sˆ   € Ø”×'Ò'¨	°4´?ÑCÔCˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	2Ø%œ_¨Y¸Ô8MÐ-MÔNˆNØ"×4Ò4°T´YÑ?Ô?ˆEØ×#Ò# E¨5Ñ1Ô1Ð1Ð1Ð1ð	2ð 	2r   c                 ó>   — | j         | j        dœ}| j        j        g |fS ©Nrt  )rÚ   r!   r3   r7   rS   s     r   rU   zRemoveIndex.deconstruct   s2   € àœ/Ø”Ið
ð 
ˆð
 ŒNÔ'ØØð
ð 	
r   c                 ó&   — d| j         ›d| j        ›�S )NzRemove index z from ©r!   rÚ   r&   s    r   rw   zRemoveIndex.describe  s   € € Ø,0¬I¨I¨I°t´°ÐGÐGr   c                 óJ   — d| j         ›d| j                             ¦   «         ›�S ©NÚremove_rD   ©r­   r!   r%   r&   s    r   rz   z#RemoveIndex.migration_name_fragment  ó'   € € à!%Ô!6Ð!6Ð!6¸¼	¿ºÑ8IÔ8IÐ8IÐJÐJr   N)r5   r6   r7   rº   r   rÉ   r¼   r#   r]   rm   rr   rU   rw   r¾   rz   rA   r   r   r³   r³   æ  s¢   € € € € € Ø'Ð'à Ô(€Hðð ð ðHð Hð Hð5ð 5ð 5ð2ð 2ð 2ð	
ð 	
ð 	
ðHð Hð Hð ðKð Kñ „XðKð Kð Kr   r³   c                   ó˜   ‡ — e Zd ZdZej        Zdd„Zed„ ¦   «         Z	ed„ ¦   «         Z
d„ Zd„ Zd„ Zd	„ Zd
„ Zed„ ¦   «         Zˆ fd„Zˆ xZS )rq  zRename an index.Nc                 óŠ   — |s|st          d¦  «        ‚|r|rt          d¦  «        ‚|| _        || _        || _        || _        d S )NzHRenameIndex requires one of old_name and old_fields arguments to be set.z;RenameIndex.old_name and old_fields are mutually exclusive.)r   rÚ   r•   r”   Ú
old_fields)r"   rÚ   r•   r”   r†  s        r   r#   zRenameIndex.__init__  sp   € Øð 	 
ð 	Ýðñô ð ð ð 	˜
ð 	ÝØMñô ð ð %ˆŒØ ˆŒØ ˆŒØ$ˆŒˆˆr   c                 ó4   — | j                              ¦   «         S r   rÍ   r&   s    r   r    zRenameIndex.old_name_lower'  rÎ   r   c                 ó4   — | j                              ¦   «         S r   rÐ   r&   s    r   rÑ   zRenameIndex.new_name_lower+  rÎ   r   c                 ó‚   — | j         | j        dœ}| j        r
| j        |d<   | j        r
| j        |d<   | j        j        g |fS )N)rÚ   r•   r”   r†  )rÚ   r•   r”   r†  r3   r7   rS   s     r   rU   zRenameIndex.deconstruct/  sX   € àœ/Øœð
ð 
ˆð Œ=ð 	/Ø!%¤ˆF�:ÑØŒ?ð 	3Ø#'¤?ˆF�<Ñ Ø”Ô+¨R°Ð8Ð8r   c                 ó2  — | j         rh|                     || j        t          j        | j         | j        ¬¦  «        ¦  «         |                     || j        t          j        | j         ¦  «         d S | 	                    || j        | j
        | j        ¦  «         d S )N©r<   r!   )r†  r`  r­   r   ÚIndexr•   Úremove_model_optionsr+  rª   Úrename_indexr”   r[   s      r   r]   zRenameIndex.state_forwards:  s­   € ØŒ?ð 	Ø�OŠOØØÔ%Ý” D¤O¸$¼-ÐHÑHÔHñô ð ð
 ×&Ò&ØØÔ%Ý"Ô.Ø”ñ	ô ð ð ð ð ×ÒØ˜4Ô0°$´-ÀÄñô ð ð ð r   c           
      ó,  ‡— |j                              || j        ¦  «        }|                      |j        j        |¦  «        sd S | j        rÄ|j                              || j        ¦  «        Šˆfd„| j        D ¦   «         }|                     ‰|dd¬¦  «        }t          |¦  «        dk    rCt          dt          |¦  «        ›d‰j
        j        ›dd	                     |¦  «        ›d
�¦  «        ‚t          j        | j        |d         ¬¦  «        }n.|j        || j        f         }	|	                     | j        ¦  «        }|j        | j        k    rd S |j        || j        f         }
|
                     | j        ¦  «        }|                     |||¦  «         d S )Nc                 óN   •— g | ]!}‰j                              |¦  «        j        ‘Œ"S rA   )rH   rÛ   Úcolumn)rC   r   r9  s     €r   rˆ   z1RenameIndex.database_forwards.<locals>.<listcomp>S  s:   ø€ ð ð ð Ø=B�
Ô ×*Ò*¨5Ñ1Ô1Ô8ðð ð r   TF)Úcolumn_namesrš   Úuniquer   zFound wrong number (z) of indexes for ú(rh  z).r   r‹  )r`   ra   rÚ   rb   rc   rd   r†  Ú_constraint_namesr   r   rH   r�   rm  r   rŒ  r­   ry  r”   r!   r•   rŽ  )r"   r+   rh   ri   rj   rk   ÚcolumnsÚmatching_index_nameÚ	old_indexr  rl   Ú	new_indexr9  s               @r   rm   zRenameIndex.database_forwardsL  sÍ  ø€ Ø”×'Ò'¨	°4´?ÑCÔCˆØ×'Ò'¨Ô(@Ô(FÈÑNÔNð 	ØˆFàŒ?ð 	JØ#œ×2Ò2°9¸d¼oÑNÔNˆJðð ð ð ØFJÄoðñ ô ˆGð #0×"AÒ"AØØ$ØØð	 #Bñ #ô #Ðõ Ð&Ñ'Ô'¨1Ò,Ð,Ý �jõ Ð/Ñ0Ô0Ð0Ð0Ø"Ô(Ô1Ð1Ð1ØŸ	š	 'Ñ*Ô*Ð*Ð*ð	ñô ð õ œØ”Ø(¨Ô+ðñ ô ˆIˆIð
  *Ô0°¸DÔ<QÐ1QÔRÐØ(×:Ò:¸4¼=ÑIÔIˆIàŒ>˜Tœ]Ò*Ð*ØˆFà!œ¨°DÔ4IÐ)IÔJˆØ"×4Ò4°T´]ÑCÔCˆ	Ø×"Ò" 5¨)°YÑ?Ô?Ð?Ð?Ð?r   c                 ó  — | j         rd S | j        | j        c| _        | _        | j        | j        c| _        | _        |                      ||||¦  «         | j        | j        c| _        | _        | j        | j        c| _        | _        d S r   )r†  r    rÑ   r”   r•   rm   rë   s        r   rr   zRenameIndex.database_backwardst  s•   € ØŒ?ð 	àˆFð ÔØÔð 	1ˆÔ˜TÔ0ð (,¤}°d´mÐ$ˆŒ�t”}à×Ò˜y¨-¸ÀXÑNÔNÐNð ÔØÔð 	1ˆÔ˜TÔ0ð (,¤}°d´mÐ$ˆŒ�t”}�}�}r   c                 óx   — | j         rd| j         › d| j        › d| j        › �S d| j        › d| j        › d| j        › �S )NzRename index rg  rî   zRename unnamed index for )r”   rÚ   r•   r†  r&   s    r   rw   zRenameIndex.describe‡  sg   € ØŒ=ð 	àW ¤ÐWÐW°4´?ÐWÐWÈÌÐWÐWðð¨¬ð ð ¸T¼_ð ð ØŒ}ðð ð	
r   c                 óŽ   — | j         rd| j        ›d| j        ›�S d| j        ›dd                     | j        ¦  «        ›d| j        ›�S rð   )r”   r    rÑ   r­   rm  r†  r&   s    r   rz   z#RenameIndex.migration_name_fragment‘  sk   € àŒ=ð 	Oð 	OØ%)Ô%8Ð%8Ð%8¸$Ô:MÐ:MÐNÐNð	Oð Ô!Ð!Ð!Ø�HŠH�T”_Ñ%Ô%Ð%Ð%ØÔÐð
ð 	
r   c                 ó  •— t          |t          ¦  «        rO| j        |j        k    r?|j        r8| j        |j        k    r(t          | j        |j        | j        | j        ¬¦  «        gS t          ¦   «          
                    ||¦  «        S )N)r•   r”   r†  )rK   rq  r­   r”   rÑ   r    rÚ   r•   r†  r.   r/   r1   s      €r   r/   zRenameIndex.reduce›  s�   ø€ å�y¥+Ñ.Ô.ð	àÔ%¨Ô)CÒCÐCØÔ"ð DàÔ# yÔ'?Ò?Ð?õ Ø”OØ&Ô/Ø!œ]Ø#œð	ñ ô ðð õ ‰wŒw�~Š~˜i¨Ñ3Ô3Ð3r   )NN)r5   r6   r7   rº   r   ró   r¼   r#   r
   r    rÑ   rU   r]   rm   rr   rw   r¾   rz   r/   r8   r9   s   @r   rq  rq    sý   ø€ € € € € ØÐà Ô+€Hð%ð %ð %ð %ð ð%ð %ñ „_ð%ð ð%ð %ñ „_ð%ð	9ð 	9ð 	9ðð ð ð$&@ð &@ð &@ðPDð Dð Dð&
ð 
ð 
ð ð
ð 
ñ „Xð
ð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4r   rq  c                   ój   ‡ — e Zd Zej        ZdZd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zed„ ¦   «         Zˆ fd	„Zˆ xZS )
r´   r›   c                 ó"   — || _         || _        d S r   ©rÚ   r�   )r"   rÚ   r�   s      r   r#   zAddConstraint.__init__±  s   € Ø$ˆŒØ$ˆŒˆˆr   c                 óH   — |                      || j        | j        ¦  «         d S r   )Úadd_constraintr­   r�   r[   s      r   r]   zAddConstraint.state_forwardsµ  s%   € Ø×Ò˜Y¨Ô(=¸t¼ÑOÔOÐOÐOÐOr   c                 óÀ   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r|                     || j        ¦  «         d S d S r   )r`   ra   rÚ   rb   rc   rd   r¢  r�   rq   s         r   rm   zAddConstraint.database_forwards¸  sd   € Ø”×'Ò'¨	°4´?ÑCÔCˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	AØ×(Ò(¨°´Ñ@Ô@Ð@Ð@Ð@ð	Að 	Ar   c                 óÀ   — |j                              || j        ¦  «        }|                      |j        j        |¦  «        r|                     || j        ¦  «         d S d S r   )r`   ra   rÚ   rb   rc   rd   Úremove_constraintr�   rq   s         r   rr   z AddConstraint.database_backwards½  sd   € Ø”×'Ò'¨	°4´?ÑCÔCˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	DØ×+Ò+¨E°4´?ÑCÔCÐCÐCÐCð	Dð 	Dr   c                 ó:   — | j         j        g | j        | j        dœfS )Nr   )r3   r5   rÚ   r�   r&   s    r   rU   zAddConstraint.deconstructÂ  s+   € àŒNÔ#Øà"œoØ"œoðð ð
ð 	
r   c                 ó0   — d| j         j        ›d| j        ›�S )NzCreate constraint rk  )r�   r!   rÚ   r&   s    r   rw   zAddConstraint.describeÌ  s#   € € àŒOÔ Ð Ð ØŒOˆOð
ð 	
r   c                 óR   — | j         ›d| j        j                             ¦   «         ›�S ro  ©r­   r�   r!   r%   r&   s    r   rz   z%AddConstraint.migration_name_fragmentÒ  s*   € àÔ/Ð/Ð/°´Ô1E×1KÒ1KÑ1MÔ1MÐ1MÐNÐNr   c                 ój  •— t          |t          ¦  «        r'| j        |j        k    r| j        j        |j        k    rg S t          |t
          ¦  «        r@| j        |j        k    r0| j        j        |j        k    rt          | j        |j        ¦  «        gS t          ¦   «          	                    ||¦  «        S r   )
rK   rµ   r­   r�   r!   ÚAlterConstraintr´   rÚ   r.   r/   r1   s      €r   r/   zAddConstraint.reduceÖ  s¤   ø€ å�yÕ"2Ñ3Ô3ð	àÔ%¨Ô)CÒCÐCØ”Ô$¨	¬Ò6Ð6àˆIå�y¥/Ñ2Ô2ð	JàÔ%¨Ô)CÒCÐCØ”Ô$¨	¬Ò6Ð6å! $¤/°9Ô3GÑHÔHÐIÐIÝ‰wŒw�~Š~˜i¨Ñ3Ô3Ð3r   )r5   r6   r7   r   r»   r¼   rª   r#   r]   rm   rr   rU   rw   r¾   rz   r/   r8   r9   s   @r   r´   r´   ­  sÆ   ø€ € € € € Ø Ô)€HØ€Kð%ð %ð %ðPð Pð PðAð Að Að
Dð Dð Dð

ð 
ð 
ð
ð 
ð 
ð ðOð Oñ „XðOð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4r   r´   c                   óZ   — e Zd Zej        ZdZd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zed„ ¦   «         Zd	S )
rµ   r›   c                 ó"   — || _         || _        d S r   rt  ru  s      r   r#   zRemoveConstraint.__init__ê  rv  r   c                 óH   — |                      || j        | j        ¦  «         d S r   )r¥  r­   r!   r[   s      r   r]   zRemoveConstraint.state_forwardsî  s%   € Ø×Ò 	¨4Ô+@À$Ä)ÑLÔLÐLÐLÐLr   c                 ó  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rF|j        || j        f         }|                     | j	        ¦  «        }| 
                    ||¦  «         d S d S r   )r`   ra   rÚ   rb   rc   rd   r   r­   Úget_constraint_by_namer!   r¥  )r"   r+   rh   ri   rj   rk   r  r�   s           r   rm   z"RemoveConstraint.database_forwardsñ  sŠ   € Ø”×'Ò'¨	°4´?ÑCÔCˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	?Ø)Ô0°¸DÔ<QÐ1QÔRÐØ)×@Ò@ÀÄÑKÔKˆJØ×+Ò+¨E°:Ñ>Ô>Ð>Ð>Ð>ð	?ð 	?r   c                 ó  — |j                              || j        ¦  «        }|                      |j        j        |¦  «        rF|j        || j        f         }|                     | j	        ¦  «        }| 
                    ||¦  «         d S d S r   )r`   ra   rÚ   rb   rc   rd   r   r­   r°  r!   r¢  )r"   r+   rh   ri   rj   rk   rl   r�   s           r   rr   z#RemoveConstraint.database_backwardsø  sˆ   € Ø”×'Ò'¨	°4´?ÑCÔCˆØ×#Ò# MÔ$<Ô$BÀEÑJÔJð 	<Ø%œ_¨Y¸Ô8MÐ-MÔNˆNØ'×>Ò>¸t¼yÑIÔIˆJØ×(Ò(¨°
Ñ;Ô;Ð;Ð;Ð;ð	<ð 	<r   c                 ó:   — | j         j        g | j        | j        dœfS r|  )r3   r5   rÚ   r!   r&   s    r   rU   zRemoveConstraint.deconstructÿ  s+   € àŒNÔ#Øà"œoØœ	ðð ð
ð 	
r   c                 ó&   — d| j         ›d| j        ›�S )NzRemove constraint z from model r~  r&   s    r   rw   zRemoveConstraint.describe	  s   € € Ø7;´y°y°yÀ$Ä/À/ÐRÐRr   c                 óJ   — d| j         ›d| j                             ¦   «         ›�S r€  r‚  r&   s    r   rz   z(RemoveConstraint.migration_name_fragment  rƒ  r   N)r5   r6   r7   r   rÉ   r¼   rª   r#   r]   rm   rr   rU   rw   r¾   rz   rA   r   r   rµ   rµ   æ  s¡   € € € € € Ø Ô(€HØ€Kðð ð ðMð Mð Mð?ð ?ð ?ð<ð <ð <ð
ð 
ð 
ðSð Sð Sð ðKð Kñ „XðKð Kð Kr   rµ   c                   ój   ‡ — e Zd Zej        ZdZd„ Zd„ Zd„ Z	d„ Z
d„ Zd„ Zed„ ¦   «         Zˆ fd	„Zˆ xZS )
r«  r›   c                 ó0   — || _         || _        || _        d S r   ©rÚ   r!   r�   )r"   rÚ   r!   r�   s       r   r#   zAlterConstraint.__init__  s   € Ø$ˆŒØˆŒ	Ø$ˆŒˆˆr   c                 óT   — |                      || j        | j        | j        ¦  «         d S r   )Úalter_constraintr­   r!   r�   r[   s      r   r]   zAlterConstraint.state_forwards  s4   € Ø×ÒØ�tÔ,¨d¬i¸¼ñ	
ô 	
ð 	
ð 	
ð 	
r   c                 ó   — d S r   rA   rë   s        r   rm   z!AlterConstraint.database_forwards  rN  r   c                 ó   — d S r   rA   rë   s        r   rr   z"AlterConstraint.database_backwards"  rN  r   c                 óF   — | j         j        g | j        | j        | j        dœfS )Nr·  )r3   r5   rÚ   r!   r�   r&   s    r   rU   zAlterConstraint.deconstruct%  s0   € àŒNÔ#Øà"œoØœ	Ø"œoðð ð
ð 	
r   c                 ó&   — d| j         › d| j        › �S )NzAlter constraint rg  r~  r&   s    r   rw   zAlterConstraint.describe0  s   € ØC 4¤9ÐCÐC°$´/ÐCÐCÐCr   c                 óT   — d| j         ›d| j        j                             ¦   «         ›�S r"  r©  r&   s    r   rz   z'AlterConstraint.migration_name_fragment3  s,   € € à $Ô 5Ð 5Ð 5°t´Ô7K×7QÒ7QÑ7SÔ7SÐ7SÐTÐTr   c                 óÆ   •— t          |t          t          f¦  «        r#| j        |j        k    r| j        |j        k    r|gS t          ¦   «                              ||¦  «        S r   )rK   r«  rµ   r­   r!   r.   r/   r1   s      €r   r/   zAlterConstraint.reduce7  s[   ø€ å�y¥?Õ4DÐ"EÑFÔFð	àÔ%¨Ô)CÒCÐCØ”	˜Yœ^Ò+Ð+à�;ÐÝ‰wŒw�~Š~˜i¨Ñ3Ô3Ð3r   )r5   r6   r7   r   ró   r¼   rª   r#   r]   rm   rr   rU   rw   r¾   rz   r/   r8   r9   s   @r   r«  r«    sÀ   ø€ € € € € Ø Ô+€HØ€Kð%ð %ð %ð

ð 
ð 
ð
ð ð ðð ð ð	
ð 	
ð 	
ðDð Dð Dð ðUð Uñ „XðUð4ð 4ð 4ð 4ð 4ð 4ð 4ð 4ð 4r   r«  N))Ú	django.dbr   Ú$django.db.migrations.operations.baser   r   Údjango.db.migrations.stater   Údjango.db.migrations.utilsr   r   Údjango.db.models.optionsr	   Údjango.utils.functionalr
   r<   r   r   r   r   r   r   r   r;   rž   rŸ   rõ   r¥   r§   r©   r&  r+  r¬   r¡   r¤   r±   r²   r³   rq  r´   rµ   r«  rA   r   r   ú<module>rÆ     se  ðØ Ð Ð Ð Ð Ð Ø MÐ MÐ MÐ MÐ MÐ MÐ MÐ MØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IØ 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3à RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ RÐ Rðð ð ðDð Dð Dð Dð D�Yñ Dô Dð Dð(}4ð }4ð }4ð }4ð }4�.ñ }4ô }4ð }4ð@"-ð "-ð "-ð "-ð "-�.ñ "-ô "-ð "-ðJvFð vFð vFð vFð vF�.ñ vFô vFð vFðr	4ð 	4ð 	4ð 	4ð 	4˜>ñ 	4ô 	4ð 	4ð02ð 02ð 02ð 02ð 02Ð*ñ 02ô 02ð 02ðf#8ð #8ð #8ð #8ð #8Ð1ñ #8ô #8ð #8ðL?
ð ?
ð ?
ð ?
ð ?
Ð#7ñ ?
ô ?
ð ?
ðD	0ð 	0ð 	0ð 	0ð 	0Ð6ñ 	0ô 	0ð 	0ð	/ð 	/ð 	/ð 	/ð 	/Ð5ñ 	/ô 	/ð 	/ðABð ABð ABð ABð ABÐ2ñ ABô ABð ABðH44ð 44ð 44ð 44ð 44Ð,ñ 44ô 44ð 44ðn5ð 5ð 5ð 5ð 5Ð-ñ 5ô 5ð 5ð:'ð 'ð 'ð 'ð '�Yñ 'ô 'ð 'ð=4ð =4ð =4ð =4ð =4ˆ~ñ =4ô =4ð =4ð@*Kð *Kð *Kð *Kð *K�.ñ *Kô *Kð *KðZW4ð W4ð W4ð W4ð W4�.ñ W4ô W4ð W4ðt64ð 64ð 64ð 64ð 64�Nñ 64ô 64ð 64ðr(Kð (Kð (Kð (Kð (K�~ñ (Kô (Kð (KðV-4ð -4ð -4ð -4ð -4�nñ -4ô -4ð -4ð -4ð -4r   