§
    Î“Ùh–3  ã                   óÂ   — d Z ddlZddlZddlZddlmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZmZ ddlmZ dd	lmZ dd
lmZ  G d„ de¦  «        ZdZ G d„ de¦  «        ZdS )z*
Management utility to create superusers.
é    N)Úget_user_model)Úget_default_username)Úvalidate_password)Ú
exceptions)ÚBaseCommandÚCommandError)ÚDEFAULT_DB_ALIAS)Úcached_property)Úcapfirstc                   ó   — e Zd ZdS )ÚNotRunningInTTYExceptionN)Ú__name__Ú
__module__Ú__qualname__© ó    úv/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/django/contrib/auth/management/commands/createsuperuser.pyr   r      s   € € € € € Ø€Dr   r   Úpasswordc                   ól   ‡ — e Zd ZdZdZdZˆ fd„Zd„ Zˆ fd„Zd„ Z	dd	„Z
dd
„Zed„ ¦   «         Zd„ Zˆ xZS )ÚCommandzUsed to create a superuser.T)Ústdinc                 ó¼   •—  t          ¦   «         j        |i |¤Ž t          ¦   «         | _        | j        j                             | j        j        ¦  «        | _        d S ©N)ÚsuperÚ__init__r   Ú	UserModelÚ_metaÚ	get_fieldÚUSERNAME_FIELDÚusername_field)ÚselfÚargsÚkwargsÚ	__class__s      €r   r   zCommand.__init__   sW   ø€ Ø�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ý'Ñ)Ô)ˆŒØ"œnÔ2×<Ò<ØŒNÔ)ñ
ô 
ˆÔÐÐr   c                 ó"  — |                      d| j        j        z  d¬¦  «         |                      ddddd| j        j        z  ¬	¦  «         |                      d
t          d¬¦  «         | j        j        D ]™}| j        j                             |¦  «        }|j        rT|j        j	        r(|j        j	        j        j
        st          d|z  ¦  «        ‚|                      d|z  dd|z  f¬¦  «         Œ||                      d|z  d|z  ¬¦  «         Œšd S )Nz--%sz&Specifies the login for the superuser.)Úhelpz	--noinputz
--no-inputÚstore_falseÚinteractivezòTells Django to NOT prompt the user for input of any kind. You must use --%s with --noinput, along with an option for any other required field. Superusers created with --noinput will not be able to log in until they're given a valid password.)ÚactionÚdestr&   z
--databasez4Specifies the database to use. Default is "default".)Údefaultr&   z\Required field '%s' specifies a many-to-many relation through model, which is not supported.Úappendz?Specifies the %s for the superuser. Can be used multiple times.)r)   r&   z#Specifies the %s for the superuser.)Úadd_argumentr   r   r	   ÚREQUIRED_FIELDSr   r   Úmany_to_manyÚremote_fieldÚthroughÚauto_createdr   )r!   ÚparserÚ
field_nameÚfields       r   Úadd_argumentszCommand.add_arguments%   s”  € Ø×ÒØ�T”^Ô2Ñ2Ø9ð 	ñ 	
ô 	
ð 	
ð 	×ÒØØØ ØðNð ”.Ô/ñ	0ð 	ñ 	
ô 	
ð 	
ð 	×ÒØÝ$ØGð 	ñ 	
ô 	
ð 	
ð
 œ.Ô8ð 	ð 	ˆJØ”NÔ(×2Ò2°:Ñ>Ô>ˆEØÔ!ð àÔ&Ô.ðà!Ô.Ô6Ô<ÔIðõ 'ðJØLVñWñô ð ð
 ×'Ò'Ø Ñ+Ø'ð.Ø0:ñ;ðð (ñ ô ð ð ð ×#Ò#Ø˜ZÑ'Ø>ÀÑKð $ñ ô ð ð ð+	ð 	r   c                 ó€   •— |                      dt          j        ¦  «        | _         t          ¦   «         j        |i |¤ŽS )Nr   )ÚgetÚsysr   r   Úexecute)r!   r"   Úoptionsr$   s      €r   r:   zCommand.executeV   s5   ø€ Ø—[’[ ­#¬)Ñ4Ô4ˆŒ
Ø�u‰wŒwŒ Ð0¨Ð0Ð0Ð0r   c                 óü  — || j         j                 }|d         }i }| j        j        }	 | j         j                             t          ¦  «         d |t          <   n# t          j        $ r Y nw xY w	 |d         �rëi }t          | j
        d¦  «        r | j
                             ¦   «         st          ‚t          |¬¦  «        }|r6|                      |||¦  «        }	|	r| j                             |	¦  «         d }n%|dk    rt#          dt%          |¦  «        z  ¦  «        ‚|€q|                      | j        |¦  «        }
|                      | j        |
|¦  «        }|r6|                      |||¦  «        }	|	r| j                             |	¦  «         d }Œq|®q||| j         j        <   | j        j        r| j        j                             |¦  «        n||| j         j        <   | j         j        D �]/}| j         j                             |¦  «        }||         ||<   ||         �|                     ||         d ¦  «        ||<   ||         €—|                      |¦  «        }
|                      ||
¦  «        }|||<   |j        rX|rV|                     ¦   «         s d ||<   | j                             d¦  «         Œud„ |                     d	¦  «        D ¦   «         ||<   ||         ®—|j        s||         ||<   |j        r#|j                             ||         ¦  «        ||<   �Œ1t          |v �rB|t                   �€4t;          j        ¦   «         }t;          j        d
¦  «        }||k    r| j                             d¦  «         Œ`|                     ¦   «         dk    r| j                             d¦  «         Œ“	 t=          | | j         di |¤Ž¦  «         n{# t          j        $ ri}| j                             d                      |j!        ¦  «        ¦  «         tE          d¦  «        }| #                    ¦   «         dk    rY d }~�ŒY d }~nd }~ww xY w||t          <   t          |v r|t                   �®4�n©t          |v r(dtH          j%        v rtH          j%        d         |t          <   |€>tH          j%         &                    d| j         j         '                    ¦   «         z   ¦  «        }|€t#          d| j         j        z  ¦  «        ‚|                      |||¦  «        }	|	rt#          |	¦  «        ‚||| j         j        <   | j         j        D ]Ö}d| '                    ¦   «         z   }||         ptH          j%         &                    |¦  «        }|st#          d|z  ¦  «        ‚| j         j                             |¦  «        }|                     |d ¦  «        ||<   |j        rCtQ          ||         tR          ¦  «        r(d„ ||                              d	¦  «        D ¦   «         ||<   Œ× | j         j*         +                    |¦  «        j,        di |¤Ž |d         dk    r| j-                             d¦  «         d S d S # t\          $ r2 | j                             d¦  «         t_          j0        d¦  «         Y d S t          j        $ r,}t#          d                      |j!        ¦  «        ¦  «        ‚d }~wt          $ r | j-                             d¦  «         Y d S w xY w)NÚdatabaser(   Úisatty)r=   Ú ú%s cannot be blank.z"Error: This field cannot be blank.c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   ©Ústrip©Ú.0Úpks     r   ú
<listcomp>z"Command.handle.<locals>.<listcomp>ž   s-   € ð 5ð 5ð 5Ø/1 §¢¡
¤
ð5ð 5ð 5r   ú,zPassword (again): z#Error: Your passwords didn't match.z&Error: Blank passwords aren't allowed.ú
z:Bypass password validation and create user anyway? [y/N]: ÚyÚDJANGO_SUPERUSER_PASSWORDÚDJANGO_SUPERUSER_z!You must use --%s with --noinput.c                 ó6   — g | ]}|                      ¦   «         ‘ŒS r   rB   rD   s     r   rG   z"Command.handle.<locals>.<listcomp>å   s-   € ð 1ð 1ð 1Ø+-˜BŸHšH™JœJð1ð 1ð 1r   Ú	verbosityé   zSuperuser created successfully.z
Operation cancelled.ú; z‡Superuser creation skipped due to not running in a TTY. You can run `manage.py createsuperuser` in your project to create one manually.r   )1r   r   r    Úverbose_namer   r   ÚPASSWORD_FIELDr   ÚFieldDoesNotExistÚhasattrr   r>   r   r   Ú_validate_usernameÚstderrÚwriter   r   Ú_get_input_messageÚget_input_datar0   Úmodelr.   Úcleanr/   rC   ÚsplitÚmany_to_oneÚgetpassr   ÚValidationErrorÚjoinÚmessagesÚinputÚlowerÚosÚenvironr8   ÚupperÚ
isinstanceÚstrÚ_default_managerÚ
db_managerÚcreate_superuserÚstdoutÚKeyboardInterruptr9   Úexit)r!   r"   r;   Úusernamer=   Ú	user_dataÚverbose_field_nameÚfake_user_dataÚdefault_usernameÚ	error_msgÚmessager4   r5   Úinput_valuer   Ú	password2ÚerrÚresponseÚenv_varÚvalueÚes                        r   ÚhandlezCommand.handleZ   s  € Ø˜4œ>Ô8Ô9ˆØ˜:Ô&ˆØˆ	Ø!Ô0Ô=Ðð	-ØŒNÔ ×*Ò*­>Ñ:Ô:Ð:ð
 )-ˆI•nÑ%Ð%øõ	 Ô+ð 	ð 	ð 	ØˆDð	øøøð
R	Ø�}Ô%ñ @ð "$�Ý˜4œ: xÑ0Ô0ð 3¸¼×9JÒ9JÑ9LÔ9Lð 3Ý2Ð2Ý#7ÀÐ#JÑ#JÔ#JÐ Øð 
Ø $× 7Ò 7Ø Ð"4°hñ!ô !�Ið !ð (Øœ×)Ò)¨)Ñ4Ô4Ð4Ø#'˜øØ ’^�^Ý&Ø-µÐ9KÑ0LÔ0LÑLñô ð ð Ð&Ø"×5Ò5ØÔ+Ð-=ñô �Gð  $×2Ò2ØÔ+¨WÐ6Fñ ô  �Hð  ð %Ø$(×$;Ò$;Ø$Ð&8¸(ñ%ô %˜	ð %ð %Ø œK×-Ò-¨iÑ8Ô8Ð8Ø'+˜HØ$ð Ð&ð <D�	˜$œ.Ô7Ñ8ð Ô*Ô7ð"�DÔ'Ô4×:Ò:¸8ÑDÔDÐDà!ð ˜tœ~Ô<Ñ=ð #'¤.Ô"@ð ñ �JØ œNÔ0×:Ò:¸:ÑFÔF�EØ,3°JÔ,?�I˜jÑ)Ø  Ô,Ð8Ø05·²¸IÀjÔ<QÐSWÑ0XÔ0X˜	 *Ñ-Ø# JÔ/Ð7Ø"&×"9Ò"9¸%Ñ"@Ô"@˜Ø&*×&9Ò&9¸%ÀÑ&IÔ&I˜Ø0;˜	 *Ñ-Ø Ô-ð °+ð Ø#.×#4Ò#4Ñ#6Ô#6ð )Ø8< 	¨*Ñ 5Ø $¤× 1Ò 1Ð2VÑ WÔ WÐ WØ (ð5ð 5Ø5@×5FÒ5FÀsÑ5KÔ5Kð5ñ 5ô 5˜I jÑ1ð $ JÔ/Ð7ð !Ô-ð KØ5>¸zÔ5J˜ zÑ2àÔ(ð Ø5:Ô5G×5MÒ5MØ% jÔ1ñ6ô 6˜ zÑ2ùõ
 %¨	Ð1Ñ1°iÅÔ6OÑ6WÝ&œÑ0Ô0�HÝ '¤Ð0DÑ EÔ E�IØ 9Ò,Ð,Øœ×)Ò)Ð*OÑPÔPÐPà Ø—~’~Ñ'Ô'¨2Ò-Ð-Øœ×)Ò)Ð*RÑSÔSÐSà ð%Ý)¨)°^°T´^Ð5UÐ5UÀnÐ5UÐ5UÑVÔVÐVÐVøÝ%Ô5ð %ð %ð %Øœ×)Ò)¨$¯)ª)°C´LÑ*AÔ*AÑBÔBÐBÝ#(ØXñ$ô $˜ð $Ÿ>š>Ñ+Ô+¨sÒ2Ð2Ø$˜H˜H˜H™Hð 3Ð2Ð2Ð2Ð2øøøøð%øøøð 19�I�nÑ-õ) %¨	Ð1Ð1°iÅÔ6OÑ6Wùõ2 # iÐ/Ð/Ø3µr´zÐAÐAå02´
Ð;VÔ0W�I�nÑ-ð Ð#Ý!œzŸ~š~Ø+¨d¬nÔ.K×.QÒ.QÑ.SÔ.SÑSñ ô  �Hð Ð#Ý&Ø;Øœ.Ô7ñ8ñô ð ð
 !%× 7Ò 7Ø Ð"4°hñ!ô !�Ið !ð 6Ý*¨9Ñ5Ô5Ð5à;C�	˜$œ.Ô7Ñ8Ø"&¤.Ô"@ð ð �JØ1°J×4DÒ4DÑ4FÔ4FÑF�GØ# JÔ/ÐJµ2´:·>²>À'Ñ3JÔ3J�EØ ð Ý*Ø?À*ÑLñô ð ð !œNÔ0×:Ò:¸:ÑFÔF�EØ,1¯KªK¸¸tÑ,DÔ,D�I˜jÑ)ØÔ)ð ­j¸À:Ô9NÕPSÑ.TÔ.Tð ð1ð 1Ø1:¸:Ô1F×1LÒ1LÈSÑ1QÔ1Qð1ñ 1ô 1˜	 *Ñ-øð RˆDŒNÔ+×6Ò6°xÑ@Ô@ÔQð ð Øðð ð ð �{Ô# qÒ(Ð(Ø”×!Ò!Ð"CÑDÔDÐDÐDÐDð )Ð(øå ð 	ð 	ð 	ØŒK×ÒÐ6Ñ7Ô7Ð7ÝŒH�Q‰KŒKˆKˆKˆKˆKÝÔ)ð 	6ð 	6ð 	6Ý˜tŸyšy¨¬Ñ4Ô4Ñ5Ô5Ð5øøøøÝ'ð 	ð 	ð 	ØŒK×Òð*ñô ð ð ð ð ð	øøøsb   ª$A ÁA+Á*A+Á/L9Y  Î)O ÏY  ÏP=ÏAP8Ð-Y  Ð8P=Ð=HY  Ù 8[;Ú[;Ú)'[Û'[;Û:[;Nc                 ó  — t          |¦  «        }|r|dk    r|}	 |                     |d¦  «        }nS# t          j        $ rA}| j                             dd                     |j        ¦  «        z  ¦  «         d}Y d}~nd}~ww xY w|S )zm
        Override this method if you want to customize data inputs or
        validation exceptions.
        r?   Nz	Error: %srP   )rb   r[   r   r_   rV   rW   r`   ra   )r!   r5   ru   r+   Ú	raw_valueÚvalr|   s          r   rY   zCommand.get_input_dataú   sŸ   € õ
 ˜'‘N”Nˆ	Øð 	 �y B’�ØˆIð	Ø—+’+˜i¨Ñ.Ô.ˆCˆCøÝÔ)ð 	ð 	ð 	ØŒK×Ò˜k¨D¯IªI°a´jÑ,AÔ,AÑAÑBÔBÐBØˆCˆCˆCˆCˆCˆCøøøøð	øøøð ˆ
s   ›2 ²BÁ7A=Á=Bc                 óØ   — t          |j        ¦  «        ›|rd|z  nd›|j        rBd|j        j        j        j        ›d|j        r|                     ¦   «         n|j        j        ›d�nd›d�S )Nz (leave blank to use '%s')r?   z (ú.ú)z: )	r   rQ   r0   rZ   r   Úobject_namer/   Úm2m_target_field_namer4   )r!   r5   r+   s      r   rX   zCommand._get_input_message
  s¢   € å�UÔ'Ñ(Ô(Ð(Ø6=ÐEÐ(¨7Ñ2Ð2À2ÐEð Ô!ðð àÔ"Ô(Ô.Ô:Ð:Ð:àÔ%ð3�×+Ò+Ñ-Ô-Ð-àÔ'Ô2ð3ð 3ðð ð ðð ð
ð 	
r   c                 ót   ‡ — ‰ j         j        rdS t          ˆ fd„‰ j        j        j        D ¦   «         ¦  «        S )NTc              3   ó~   •K  — | ]7}t          |j        ¦  «        d k    o|j        d         ‰j        j        k    V — Œ8dS )rO   r   N)ÚlenÚfieldsr    Úname)rE   Úunique_constraintr!   s     €r   ú	<genexpr>z-Command.username_is_unique.<locals>.<genexpr>  sf   øè è € ð 
ð 
ð "õ Ð!Ô(Ñ)Ô)¨QÒ.ð HØ!Ô(¨Ô+¨tÔ/BÔ/GÒGð
ð 
ð 
ð 
ð 
ð 
r   )r    ÚuniqueÚanyr   r   Útotal_unique_constraints)r!   s   `r   Úusername_is_uniquezCommand.username_is_unique  sX   ø€ àÔÔ%ð 	Ø�4Ýð 
ð 
ð 
ð 
ð &*¤^Ô%9Ô%Rð
ñ 
ô 
ñ 
ô 
ð 	
r   c                 óz  — | j         rM	 | j        j                             |¦  «                             |¦  «         d|z  S # | j        j        $ r Y nw xY w|sdt          |¦  «        z  S 	 | j                             |d¦  «         dS # t          j
        $ r$}d                     |j        ¦  «        cY d}~S d}~ww xY w)z=Validate username. If invalid, return a string error message.z Error: That %s is already taken.r@   NrP   )r�   r   ri   rj   Úget_by_natural_keyÚDoesNotExistr   r    r[   r   r_   r`   ra   )r!   ro   rq   r=   r|   s        r   rU   zCommand._validate_username#  sÿ   € àÔ"ð 	OðOØ”Ô/×:Ò:¸8ÑDÔD×WÒWØñô ð ð :Ð<NÑNÐNøð ”>Ô.ð ð ð Ø�ðøøøð ð 	HØ(­8Ð4FÑ+GÔ+GÑGÐGð	)ØÔ×%Ò% h°Ñ5Ô5Ð5Ð5Ð5øÝÔ)ð 	)ð 	)ð 	)Ø—9’9˜QœZÑ(Ô(Ð(Ð(Ð(Ð(Ð(Ð(øøøøð	)øøøs/   ‰2A  Á AÁAÁ*B ÂB:ÂB5Â/B:Â5B:r   )r   r   r   r&   Úrequires_migrations_checksÚstealth_optionsr   r6   r:   r}   rY   rX   r
   r�   rU   Ú__classcell__)r$   s   @r   r   r      sÖ   ø€ € € € € Ø(€DØ!%ÐØ €Oð
ð 
ð 
ð 
ð 
ð/ð /ð /ðb1ð 1ð 1ð 1ð 1ð^ð ^ð ^ð@ð ð ð ð 
ð 
ð 
ð 
ð ð
ð 
ñ „_ð
ð)ð )ð )ð )ð )ð )ð )r   r   )Ú__doc__r^   rd   r9   Údjango.contrib.authr   Údjango.contrib.auth.managementr   Ú'django.contrib.auth.password_validationr   Údjango.corer   Údjango.core.management.baser   r   Ú	django.dbr	   Údjango.utils.functionalr
   Údjango.utils.textr   Ú	Exceptionr   rR   r   r   r   r   ú<module>r¡      s1  ððð ð €€€Ø 	€	€	€	Ø 
€
€
€
à .Ð .Ð .Ð .Ð .Ð .Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø EÐ EÐ EÐ EÐ EÐ EØ "Ð "Ð "Ð "Ð "Ð "Ø AÐ AÐ AÐ AÐ AÐ AÐ AÐ AØ &Ð &Ð &Ð &Ð &Ð &Ø 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø &Ð &Ð &Ð &Ð &Ð &ð	ð 	ð 	ð 	ð 	˜yñ 	ô 	ð 	ð €ðZ)ð Z)ð Z)ð Z)ð Z)ˆkñ Z)ô Z)ð Z)ð Z)ð Z)r   