Ë
    ¹ûàgw&  ã                   ót   — 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	 d dl
mZ ddlmZ d	„ Zdd„Zdd„Zd„ Zy
)é    )Úchain)Ú
MethodType)Úapps)Úsettings)Úchecks)Úimport_stringé   )Ú_get_builtin_permissionsc                 ó¢   — t        | «      }t        |«      D ]!  \  }}	 t        |«      }t        ||«      r|c S Œ# y# t        t        f$ r Y Œ6w xY w)z�
    Return the index of dotted class path (or a subclass of that class) in a
    list of candidate paths. If it does not exist, return -1.
    éÿÿÿÿ)r   Ú	enumerateÚ
issubclassÚImportErrorÚ	TypeError)Ú
class_pathÚcandidate_pathsÚclsÚindexÚpathÚcandidate_clss         úX/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/django/contrib/auth/checks.pyÚ_subclass_indexr      sg   € ô
 ˜
Ó
#€CÜ  Ó1ò ‰ˆˆtð	Ü)¨$Ó/ˆMÜ˜-¨Ô-Ø’ð .ðð øô œYÐ'ò 	Ùð	ús   ž<¼AÁANc           
      ód  ‡— | €$t        j                  t        j                  «      ŠnMt        j                  j	                  d«      \  }}| D ]$  }|j
                  |k(  sŒ|j                  |«      Š n g S g }t        ‰j                  t        t        f«      s'|j                  t        j                  d‰d¬«      «       ‰j                  ‰j                  v rC|j                  t        j                  dd‰j                  ›d‰j                  ›d�‰d	¬
«      «       ‰j                  j                  ‰j                  «      j                   sÖt#        ˆfd„‰j                  j$                  D «       «      s®t        j&                  dgk(  rM|j                  t        j                  d‰j                  j(                  ›d‰j                  ›d�‰d¬«      «       nM|j                  t        j*                  d‰j                  j(                  ›d‰j                  ›d�d‰d¬
«      «       t         ‰«       j,                  t.        «      r*|j                  t        j0                  d‰z  ‰d¬«      «       t         ‰«       j2                  t.        «      r*|j                  t        j0                  d‰z  ‰d¬«      «       |S )Nú.z*'REQUIRED_FIELDS' must be a list or tuple.z	auth.E001©ÚobjÚidzjThe field named as the 'USERNAME_FIELD' for a custom user model must not be included in 'REQUIRED_FIELDS'.z*The 'USERNAME_FIELD' is currently set to 'z', you should remove 'z' from the 'REQUIRED_FIELDS'.z	auth.E002)Úhintr   r   c              3   óR   •K  — | ]  }|j                   ‰j                  fk(  –— Œ  y ­w©N)ÚfieldsÚUSERNAME_FIELD)Ú.0Ú
constraintr   s     €r   ú	<genexpr>z#check_user_model.<locals>.<genexpr>H   s/   øè ø€ ò Fàð 	×Ñ˜c×0Ñ0Ð2Õ2ñFùs   ƒ$'z)django.contrib.auth.backends.ModelBackendú'z=' must be unique because it is named as the 'USERNAME_FIELD'.z	auth.E003z9' is named as the 'USERNAME_FIELD', but it is not unique.zKEnsure that your authentication backend(s) can handle non-unique usernames.z	auth.W004z�%s.is_anonymous must be an attribute or property rather than a method. Ignoring this is a security issue as anonymous users will be treated as authenticated!z	auth.C009z¡%s.is_authenticated must be an attribute or property rather than a method. Ignoring this is a security issue as anonymous users will be treated as authenticated!z	auth.C010)r   Ú	get_modelr   ÚAUTH_USER_MODELÚsplitÚlabelÚ
isinstanceÚREQUIRED_FIELDSÚlistÚtupleÚappendr   ÚErrorr"   Ú_metaÚ	get_fieldÚuniqueÚanyÚtotal_unique_constraintsÚAUTHENTICATION_BACKENDSÚobject_nameÚWarningÚis_anonymousr   ÚCriticalÚis_authenticated)Úapp_configsÚkwargsÚ	app_labelÚ
model_nameÚ
app_configÚerrorsr   s         @r   Úcheck_user_modelrB      s`  ø€ ØÐÜ�n‰nœX×5Ñ5Ó6‰ä (× 8Ñ 8× >Ñ >¸sÓ CÑˆ	�:Ø%ò 	ˆJØ×Ñ 9Ó,Ø ×*Ñ*¨:Ó6�Ùð	ð ˆIà€Fô �c×)Ñ)¬D´%¨=Ô9Ø�‰Ü�L‰LØ<ØØôô	
ð ×Ñ˜S×0Ñ0Ñ0Ø�‰Ü�L‰LñUð
 ×)Ó)¨3×+=Ó+=ð?ð Øô
ô	
ð �9‰9×Ñ˜s×1Ñ1Ó2×9Ò9Ä#ó FàŸ)™)×<Ñ<ôFô Cô ×+Ñ+Ø7ð0
ò 
ð �M‰MÜ—’à+.¯9©9×+@Ó+@À#×BTÓBTðVàØ"ô	õð �M‰MÜ—’à—y‘y×,Ó,¨c×.@Ó.@ðBð0ð Ø"ô	ôô ‘#“%×$Ñ$¤jÔ1Ø�‰Ü�O‰Oð:à<?ñ@ð Øôô	
ô ‘#“%×(Ñ(¬*Ô5Ø�‰Ü�O‰Oð:à<?ñ@ð Øôô	
ð €Mó    c                 óÖ  — | €t        j                  «       }nt        j                  d„ | D «       «      }t        j                  dd«      }|j
                  j                  d«      j                  }|j
                  j                  d«      j                  }g }|D �]M  }|j
                  }t        t        |«      «      }	|	r t        d„ |	j                  «       D «       «      nd}
|
|kD  rR||
t        |j                  «      z
  z
  }|j                  t        j                   d|j"                  ||fz  |d	¬
«      «       |	r t        d„ |	j%                  «       D «       «      nd}||kD  rR||t        |j&                  «      z
  z
  }|j                  t        j                   d|j"                  ||fz  |d¬
«      «       t)        «       }|j*                  D �]  \  }}t        |«      |kD  r7|j                  t        j                   d||j"                  |fz  |d¬
«      «       t        |«      |kD  r7|j                  t        j                   d||j"                  |fz  |d¬
«      «       ||	v r9|j                  t        j                   d|›d|j"                  ›d�|d¬
«      «       n<||v r8|j                  t        j                   d|›d|j"                  ›d�|d¬
«      «       |j-                  |«       �Œ �ŒP |S )Nc              3   ó<   K  — | ]  }|j                  «       –— Œ y ­wr    )Ú
get_models)r#   r@   s     r   r%   z+check_models_permissions.<locals>.<genexpr>€   s   è ø€ ò %
Ø(2ˆJ×!Ñ!×#ñ%
ùs   ‚ÚauthÚ
PermissionÚnameÚcodenamec              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr    ©Úlen)r#   rI   s     r   r%   z+check_models_permissions.<locals>.<genexpr>Ž   s   è ø€ ÒC˜d”�D—	ÑCùó   ‚r   zzThe verbose_name of model '%s' must be at most %d characters for its builtin permission names to be at most %d characters.z	auth.E007r   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr    rL   )r#   rJ   s     r   r%   z+check_models_permissions.<locals>.<genexpr>¢   s   è ø€ ÒI (”�H—ÑIùrN   zvThe name of model '%s' must be at most %d characters for its builtin permission codenames to be at most %d characters.z	auth.E011zEThe permission named '%s' of model '%s' is longer than %d characters.z	auth.E008zIThe permission codenamed '%s' of model '%s' is longer than %d characters.z	auth.E012zThe permission codenamed 'z/' clashes with a builtin permission for model 'z'.z	auth.E005z' is duplicated for model 'z	auth.E006)r   rF   r   Úfrom_iterabler'   r1   r2   Ú
max_lengthÚdictr
   ÚmaxÚvaluesrM   Úverbose_name_rawr/   r   r0   r*   Úkeysr?   ÚsetÚpermissionsÚadd)r<   r=   ÚmodelsrH   Úpermission_name_max_lengthÚpermission_codename_max_lengthrA   ÚmodelÚoptsÚbuiltin_permissionsÚ"max_builtin_permission_name_lengthÚverbose_name_max_lengthÚ&max_builtin_permission_codename_lengthÚmodel_name_max_lengthÚ	codenamesrJ   rI   s                    r   Úcheck_models_permissionsre   |   s
  € ØÐÜ—‘Ó"‰ä×$Ñ$ñ %
Ø6Aô%
ó 
ˆô —‘ ¨Ó5€JØ!+×!1Ñ!1×!;Ñ!;¸FÓ!C×!NÑ!NÐØ%/×%5Ñ%5×%?Ñ%?À
Ó%K×%VÑ%VÐ"Ø€Fàó b$ˆØ�{‰{ˆÜ"Ô#;¸DÓ#AÓBÐñ #ô ÑCÐ&9×&@Ñ&@Ó&BÔCÔCàð 	+ð
 .Ð0JÒJØ&@Ø2´S¸×9NÑ9NÓ5OÑOñ'Ð#ð �M‰MÜ—‘ð*ð —z‘zÐ#:Ð<VÐWñXð Ø"ôô	ñ #ô ÑIÐ.A×.FÑ.FÓ.HÔIÔIàð 	/ð
 2Ð4RÒRØ$BØ6¼¸T¿_¹_Ó9MÑMñ%Ð!ð �M‰MÜ—‘ð"ð Ÿ
™
Ø-Ø6ðñð Ø"ôôô “Eˆ	Ø"×.Ñ.ó 2	$‰NˆH�dä�4‹yÐ5Ò5Ø—‘Ü—L‘Lð.ð !Ø ŸJ™JØ6ðñð "Ø&ô
ôô �8‹}Ð=Ò=Ø—‘Ü—L‘Lð5ð %Ø ŸJ™JØ:ðñð "Ø&ô
ôð Ð.Ñ.Ø—‘Ü—L’Lâ8@À$Ç*Ã*ðNà!Ø&ô	õð ˜YÑ&Ø—‘Ü—L’Lâ)1°4·:³:ð?à!Ø&ô	ôð �M‰M˜(Ö#òe2	$ðab$ðH €MrC   c                 óÜ   — g }t        dt        j                  «      }|dk7  rJt        dt        j                  «      }|dk(  s||kD  r&|j                  t	        j
                  dd¬«      «       |S )Nz6django.contrib.auth.middleware.LoginRequiredMiddlewarer   z7django.contrib.auth.middleware.AuthenticationMiddlewarez¨In order to use django.contrib.auth.middleware.LoginRequiredMiddleware, django.contrib.auth.middleware.AuthenticationMiddleware must be defined before it in MIDDLEWARE.z	auth.E013)r   )r   r   Ú
MIDDLEWAREr/   r   r0   )r<   r=   rA   Úlogin_required_indexÚ
auth_indexs        r   Úcheck_middlewarerj   ð   sz   € Ø€Fä*Ø@Ü×ÑóÐð
 ˜rÒ!Ü$ØEÜ×Ñó
ˆ
ð ˜Ò˜zÐ,@Ò@Ø�M‰MÜ—‘ðXð #ô	ôð €MrC   r    )Ú	itertoolsr   Útypesr   Údjango.appsr   Údjango.confr   Údjango.corer   Údjango.utils.module_loadingr   Ú
managementr
   r   rB   re   rj   © rC   r   ú<module>rs      s2   ðÝ Ý å Ý  Ý Ý 5å 0òó ]ó@qóhrC   