+
    Sj                         R t ^ RIt^ RIHt ^ RIHt ^ RIHtHtH	t	H
t
 ^ RIHt ^ RIHt ^ RIHt  ! R R	]P$                  4      t ! R
 R]P(                  4      tR# )zg
This module allows importing AbstractBaseUser even when django.contrib.auth is
not in INSTALLED_APPS.
N)settings)password_validation)acheck_passwordcheck_passwordis_password_usablemake_password)models)salted_hmac)gettext_lazyc                   <   a  ] tR t^t o ]R 4       tR tR tRtV t	R# )BaseUserManagerc                    T;'       g    Rp VP                  4       P                  R^4      w  r#VR,           VP                  4       ,           pV#   \         d     T# i ; i)zC
Normalize the email address by lowercasing the domain part of it.
 @)striprsplitlower
ValueError)clsemail
email_namedomain_parts   &&  R/var/www/idalgo/venv/lib/python3.14/site-packages/django/contrib/auth/base_user.pynormalize_emailBaseUserManager.normalize_email   si    
 	;&+kkm&:&:3&B#J ${'8'8'::E	  	 		s   "A AAc                R    V P                   ! R/ V P                  P                  V/B # N )getmodelUSERNAME_FIELDselfusernames   &&r   get_by_natural_key"BaseUserManager.get_by_natural_key$   s#    xx@4::44h?@@    c                n   "   V P                   ! R/ V P                  P                  V/B G R j  xL
 #  L5ir   )agetr   r    r!   s   &&r   aget_by_natural_key#BaseUserManager.aget_by_natural_key'   s,     YYG$**";";X!FGGGGs   ,535r   N)
__name__
__module____qualname____firstlineno__classmethodr   r$   r)   __static_attributes____classdictcell__)__classdict__s   @r   r   r      s)      AH Hr&   r   c                   H  a a ] tR t^+t o]P
                  ! ]! R4      ^R7      t]P                  ! ]! R4      RRR7      t	Rt
. tRt ! R R4      tR	 tV 3R
 ltR tR tR t]R 4       t]R 4       tR tR tR tR tR tR tR tRR lt]R 4       t]R 4       t Rt!Vt"V ;t## )AbstractBaseUserpassword)
max_lengthz
last loginT)blanknullNc                       ] tR t^7tRtRtR# )AbstractBaseUser.MetaTr   N)r+   r,   r-   r.   abstractr0   r   r&   r   Metar:   7   s    r&   r<   c                "    V P                  4       # Nget_usernamer"   s   &r   __str__AbstractBaseUser.__str__:   s      ""r&   c                   < \         SV `  ! R/ VB  V P                  e+   \        P                  ! V P                  V 4       R V n        R # R # r   )supersave	_passwordr   password_changed)r"   kwargs	__class__s   &,r   rF   AbstractBaseUser.save=   s<    v>>%00F!DN &r&   c                ,    \        W P                  4      # )z"Return the username for this User.)getattrr    rA   s   &r   r@   AbstractBaseUser.get_usernameC   s    t0011r&   c                l    \        W P                  V P                  V P                  4       4      4       R # r>   )setattrr    normalize_usernamer@   rA   s   &r   cleanAbstractBaseUser.cleanG   s&    ))4+B+B4CTCTCV+WXr&   c                $    V P                  4       3# r>   r?   rA   s   &r   natural_keyAbstractBaseUser.natural_keyJ   s    !!#%%r&   c                    R# )zR
Always return False. This is a way of comparing User objects to
anonymous users.
Fr   rA   s   &r   is_anonymousAbstractBaseUser.is_anonymousM   s     r&   c                    R# )z\
Always return True. This is a way to tell if the user has been
authenticated in templates.
Tr   rA   s   &r   is_authenticated!AbstractBaseUser.is_authenticatedU   s     r&   c                2    \        V4      V n        Wn        R # r>   )r   r5   rG   )r"   raw_passwords   &&r   set_passwordAbstractBaseUser.set_password]   s    %l3%r&   c                >   a  V 3R lp\        VS P                  V4      # )zf
Return a boolean of whether the raw_password was correct. Handles
hashing formats behind the scenes.
c                 ^   < SP                  V 4       R Sn        SP                  R.R7       R # Nr5   )update_fields)r_   rG   rF   r^   r"   s   &r   setter/AbstractBaseUser.check_password.<locals>.setterg   s(    l+!DNIIZLI1r&   )r   r5   r"   r^   rf   s   f& r   r   AbstractBaseUser.check_passworda   s    	2 lDMM6BBr&   c                Z   a "   V 3R lp\        VS P                  V4      G Rj  xL
 #  L5i)zSee check_password().c                 z   <"   SP                  V 4       R Sn        SP                  R.R7      G R j  xL
  R #  L5irc   )r_   rG   asavere   s   &r   rf   0AbstractBaseUser.acheck_password.<locals>.setterr   s1     l+!DN**J<*888s   /;9;N)r   r5   rh   s   f& r   r    AbstractBaseUser.acheck_passwordo   s&     	9 %\4==&IIIIs   !+)+c                &    \        R 4      V n        R # r>   )r   r5   rA   s   &r   set_unusable_password&AbstractBaseUser.set_unusable_passwordz   s    %d+r&   c                ,    \        V P                  4      # )zH
Return False if set_unusable_password() has been called for this user.
)r   r5   rA   s   &r   has_usable_password$AbstractBaseUser.has_usable_password~   s     "$--00r&   c                "    V P                  4       # )z'
Return an HMAC of the password field.
)_get_session_auth_hashrA   s   &r   get_session_auth_hash&AbstractBaseUser.get_session_auth_hash   s     **,,r&   c              #  d   "   \         P                   F  pV P                  VR 7      x  K  	  R# 5i))secretN)r   SECRET_KEY_FALLBACKSrv   )r"   fallback_secrets   & r   get_session_auth_fallback_hash/AbstractBaseUser.get_session_auth_fallback_hash   s)     '<<O--_-EE  =s   .0c                T    R p\        VV P                  VRR7      P                  4       # )zAdjango.contrib.auth.models.AbstractBaseUser.get_session_auth_hashsha256)rz   	algorithm)r	   r5   	hexdigest)r"   rz   key_salts   && r   rv   'AbstractBaseUser._get_session_auth_hash   s-    VMM	

 )+	r&   c                @     V P                   #   \         d     R # i ; i)r   )EMAIL_FIELDAttributeError)r   s   &r   get_email_field_name%AbstractBaseUser.get_email_field_name   s#    	??" 		s    c                `    \        V\        4      '       d   \        P                  ! R V4      # T# )NFKC)
isinstancestrunicodedata	normalize)r   r#   s   &&r   rQ   #AbstractBaseUser.normalize_username   s2     (C(( !!&(3	
 	
r&   )rG   r5   r>   )$r+   r,   r-   r.   r   	CharField_r5   DateTimeField
last_login	is_activeREQUIRED_FIELDSrG   r<   rB   rF   r@   rR   rU   propertyrX   r[   r_   r   r   rp   rs   rw   r}   rv   r/   r   rQ   r0   r1   __classcell__)rJ   r2   s   @@r   r4   r4   +   s     *#>H%%aoTMJIO I #"2Y&    &C	J,1-F   
 
 
r&   r4   )__doc__r   django.confr   django.contrib.authr   django.contrib.auth.hashersr   r   r   r   	django.dbr   django.utils.cryptor	   django.utils.translationr
   r   Managerr   Modelr4   r   r&   r   <module>r      sN   
    3   + 6Hfnn H,y
v|| y
r&   