Ë
    ûûàg”  ã                   óV  — 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 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  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 d„ Z! G d„ de«      Z" G d„ de«      Z#y)é    )Ú
HTTPStatus)Úapp_settings©Úget_adapter)ÚLoginMethod)Úget_authentication_records)Úflows)ÚLOGIN_SESSION_KEY)ÚFlow)Úauthkit)ÚAPIResponsec                   ó<   ‡ — e Zd Zdˆ fd„	Zd„ Zd„ Zdeddfd„Zˆ xZS )	ÚBaseAuthenticationResponseNc                 ój  •— i }|rM|j                   rAt        «       }|j                  |«      |d<   t        |«      |d<   |xs t        j
                  }n|xs t        j                  }|t        j
                  k7  r| j                  ||«      |d<   d|xr |j                   i}t        ‰| �%  ||||¬«       y )NÚuserÚmethodsr	   Úis_authenticated)ÚdataÚmetaÚstatus)
r   r   Úserialize_userr   r   ÚOKÚUNAUTHORIZEDÚ
_get_flowsÚsuperÚ__init__)ÚselfÚrequestr   r   r   Úadapterr   Ú	__class__s          €ú\/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/allauth/headless/base/response.pyr   z#BaseAuthenticationResponse.__init__   s±   ø€ ØˆÙ�D×)Ò)Ü!“mˆGØ"×1Ñ1°$Ó7ˆD�‰LÜ8¸ÓAˆD�‰OØÒ,œzŸ}™}‰FàÒ6œz×6Ñ6ˆFØ”Z—]‘]Ò"Ø ŸO™O¨G°TÓ:ˆD�‰Mà Ò >¨×)>Ñ)>ð
ˆô 	‰ÑØØØØð	 	õ 	
ó    c                 óÜ  — t        j                  |«      }g }|r<|j                  r0|j                  t        j
                  j                  |«      «       �nt        j                  s!|j                  dt        j                  i«       t        j                  r!|j                  dt        j                  i«       t        «       j!                  |«      r1t        j                  s!|j                  dt        j"                  i«       t        j$                  rddlm} |j                   ||«      «       t        j*                  r1t,        j.                  r!|j                  dt        j0                  i«       d }|j3                  «       }|r|j4                  }n1|j6                  j9                  t:        «      }t=        |t>        «      r|}|r>|ddœ}	|r%|t        j@                  k(  r| jC                  ||	«       | jE                  ||	«       t        j                  sZt        jF                  rJddl$m%}
 |j                  t        jL                  tO        |
jP                  jS                  |«      «      dœ«       |S )NÚidr   )Úprovider_flowsT)r$   Ú
is_pending)Úpassword_reset_by_code)*r   ÚAuthenticationStatusr   Úextendr	   ÚreauthenticationÚget_reauthentication_flowsÚallauth_settingsÚSOCIALACCOUNT_ONLYÚappendr   ÚLOGINÚaccount_settingsÚLOGIN_BY_CODE_ENABLEDÚLOGIN_BY_CODEÚget_account_adapterÚis_open_for_signupÚSIGNUPÚSOCIALACCOUNT_ENABLEDÚ'allauth.headless.socialaccount.responser%   ÚMFA_ENABLEDÚmfa_settingsÚPASSKEY_LOGIN_ENABLEDÚMFA_LOGIN_WEBAUTHNÚget_pending_stageÚkeyÚsessionÚgetr
   Ú
isinstanceÚstrÚMFA_AUTHENTICATEÚ_enrich_mfa_flowÚ_upsert_pending_flowÚPASSWORD_RESET_BY_CODE_ENABLEDÚallauth.account.internal.flowsr'   ÚPASSWORD_RESET_BY_CODEÚboolÚ PasswordResetVerificationProcessÚresume)r   r   r   Úauth_statusÚretr%   Ú	stage_keyÚstageÚlskÚpending_flowr'   s              r!   r   z%BaseAuthenticationResponse._get_flows'   sÍ  € Ü×2Ñ2°7Ó;ˆØˆÙ�D×)Ò)Ø�J‰J”u×-Ñ-×HÑHÈÓNÖOä#×6Ò6Ø—
‘
˜D¤$§*¡*Ð-Ô.Ü×5Ò5Ø—
‘
˜D¤$×"4Ñ"4Ð5Ô6ä#Ó%×8Ñ8¸ÔAÜ(×;Ò;à—
‘
˜D¤$§+¡+Ð.Ô/Ü×5Ò5õð —
‘
™>¨'Ó2Ô3Ü×+Ò+Ü×5Ò5Ø—J‘J ¤d×&=Ñ&=Ð>Ô?Øˆ	Ø×-Ñ-Ó/ˆÙØŸ	™	‰Ià—/‘/×%Ñ%Ô&7Ó8ˆCÜ˜#œsÔ#Ø�	ÙØ"+¸4Ñ@ˆLÙ˜¤d×&;Ñ&;Ò;Ø×%Ñ% e¨\Ô:Ø×%Ñ% c¨<Ô8ô !×3Ò3Ü ×?Ò?åMà�J‰Jä×5Ñ5Ü"&Ø.×OÑO×VÑVØ#óó#ñô	ð ˆ
r"   c                 ó|   ‡— t        ˆfd„|D «       d «      }|r|j                  ‰«       y  |j                  ‰«       y )Nc              3   ó:   •K  — | ]  }|d    ‰d    k(  sŒ|–— Œ y­w)r$   N© )Ú.0ÚflowrP   s     €r!   ú	<genexpr>zBBaseAuthenticationResponse._upsert_pending_flow.<locals>.<genexpr>`   s!   øè ø€ ÒP˜d¨t°D©z¸\È$Ñ=OÓ/O”TÑPùs   ƒ”)ÚnextÚupdater.   )r   r	   rP   rU   s     ` r!   rD   z/BaseAuthenticationResponse._upsert_pending_flow_   s3   ø€ ÜÓP eÔPÐRVÓWˆÙØ�K‰K˜Õ%àˆE�L‰L˜Õ&r"   rU   Úreturnc                 óÎ   — ddl m} ddlm}  |«       }g }|j                  D ]<  }|j                  |j                  j                  |g¬«      sŒ,|j                  |«       Œ> ||d<   y )Nr   r   )ÚAuthenticator)Útypesr\   )	Úallauth.mfa.adapterr   Úallauth.mfa.modelsr[   ÚTypeÚis_mfa_enabledÚloginr   r.   )r   rN   rU   Úget_mfa_adapterr[   r   r\   Útyps           r!   rC   z+BaseAuthenticationResponse._enrich_mfa_flowf   s`   € ÝFÝ4á!Ó#ˆØˆØ ×%Ñ%ò 	"ˆCØ×%Ñ% e§k¡k×&6Ñ&6¸s¸eÐ%ÕDØ—‘˜SÕ!ð	"ð ˆˆWŠr"   )NN)	Ú__name__Ú
__module__Ú__qualname__r   r   rD   ÚdictrC   Ú__classcell__©r    s   @r!   r   r      s&   ø„ õ
ò*6òp'ð	¨Dð 	°T÷ 	r"   r   c                   ó.   ‡ — e Zd Zˆ fd„Zed„ «       Zˆ xZS )ÚAuthenticationResponsec                 ó<   •— t         ‰| �  ||j                  ¬«       y )N)r   )r   r   r   ©r   r   r    s     €r!   r   zAuthenticationResponse.__init__s   s   ø€ Ü‰Ñ˜ w§|¡|ÐÕ4r"   c                 ó<   — t        |t        «      r|S t        |«      S )a5  
        The response might be a headed redirect to e.g. the confirmation
        email page, because allauth.account is not (much) headless
        aware. Also, what if an adapter method return headed responses in
        post_login()?  So, let's ensure we always return a headless
        response.
        )r@   rk   )Úclsr   Úresponses      r!   Úfrom_responsez$AuthenticationResponse.from_responsev   s   € ô �hÔ 6Ô7ØˆOÜ% gÓ.Ð.r"   )rd   re   rf   r   Úclassmethodrq   rh   ri   s   @r!   rk   rk   r   s   ø„ ô5ð ñ
/ó ô
/r"   rk   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚReauthenticationResponsec                 óZ   •— t         ‰| �  ||j                  t        j                  ¬«       y ©N)r   r   )r   r   r   r   r   rm   s     €r!   r   z!ReauthenticationResponse.__init__…   s!   ø€ Ü‰Ñ˜ w§|¡|¼J×<SÑ<SÐÕTr"   ©rd   re   rf   r   rh   ri   s   @r!   rt   rt   „   s   ø„ ÷Uð Ur"   rt   c                   ó6   ‡ — e Zd Zej                  fˆ fd„	Zˆ xZS )ÚUnauthorizedResponsec                 ó*   •— t         ‰| �  |d |¬«       y rv   )r   r   )r   r   r   r    s      €r!   r   zUnauthorizedResponse.__init__Š   s   ø€ Ü‰Ñ˜ t°FÐÕ;r"   )rd   re   rf   r   r   r   rh   ri   s   @r!   ry   ry   ‰   s   ø„ Ø'1×'>Ñ'>÷ <ñ <r"   ry   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚForbiddenResponsec                 óD   •— t         ‰| �  |t        j                  ¬«       y ©N)r   )r   r   r   Ú	FORBIDDENrm   s     €r!   r   zForbiddenResponse.__init__�   s   ø€ Ü‰Ñ˜¬×)=Ñ)=ÐÕ>r"   rw   ri   s   @r!   r|   r|   Ž   s   ø„ ÷?ð ?r"   r|   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚConflictResponsec                 óD   •— t         ‰| �  |t        j                  ¬«       y r~   )r   r   r   ÚCONFLICTrm   s     €r!   r   zConflictResponse.__init__”   s   ø€ Ü‰Ñ˜¬×)<Ñ)<ÐÕ=r"   rw   ri   s   @r!   r�   r�   “   s   ø„ ÷>ð >r"   r�   c                 óŒ  — t         j                  }t        |«      t        «       j	                  | «      t         j
                  t         j                  t         j                  dœ}t        j                  |v rt        j                  |v r	d|d<   d|iS t        j                  |v r	d|d<   d|iS t        j                  |v rd|d<   d|iS )N)Úlogin_methodsr4   Ú"email_verification_by_code_enabledÚlogin_by_code_enabledÚpassword_reset_by_code_enabledÚusername_emailÚauthentication_methodÚemailÚusernameÚaccount)r0   ÚLOGIN_METHODSÚlistr3   r4   Ú"EMAIL_VERIFICATION_BY_CODE_ENABLEDr1   rE   r   ÚEMAILÚUSERNAME)r   r…   r   s      r!   Úget_config_datar“   ˜   sË   € Ü$×2Ñ2€Mä˜mÓ,Ü1Ó3×FÑFÀwÓOÜ.>×.aÑ.aÜ!1×!GÑ!GÜ*:×*YÑ*Yñ€Dô ×Ñ˜MÑ)¬k×.BÑ.BÀmÑ.SØ(8ˆÐ$Ñ%ð �tÐÐô 
×	Ñ	˜mÑ	+Ø(/ˆÐ$Ñ%ð �tÐÐô 
×	Ñ	 Ñ	.Ø(2ˆÐ$Ñ%à�tÐÐr"   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚConfigResponsec                 óJ  •— t        |«      }t        j                  rddlm } |j	                   ||«      «       t        j
                  rddlm } |j	                   ||«      «       t        j                  rddlm } |j	                   ||«      «       t        ‰| �)  ||¬«      S )Nr   )r“   )r   )r“   r,   r6   r7   rX   r8   Úallauth.headless.mfa.responseÚUSERSESSIONS_ENABLEDÚ&allauth.headless.usersessions.responser   r   )r   r   r   Úget_socialaccount_config_dataÚget_mfa_config_dataÚget_usersessions_config_datar    s         €r!   r   zConfigResponse.__init__­   sˆ   ø€ Ü˜wÓ'ˆÜ×1Ò1õð �K‰KÑ5°gÓ>Ô?Ü×'Ò'õð �K‰KÑ+¨GÓ4Ô5Ü×0Ò0õð �K‰KÑ4°WÓ=Ô>Ü‰wÑ ¨dÐÓ3Ð3r"   rw   ri   s   @r!   r•   r•   ¬   s   ø„ ÷4ð 4r"   r•   c                   ó   ‡ — e Zd Zˆ fd„Zˆ xZS )ÚRateLimitResponsec                 óD   •— t         ‰| �  |t        j                  ¬«       y r~   )r   r   r   ÚTOO_MANY_REQUESTSrm   s     €r!   r   zRateLimitResponse.__init__Å   s   ø€ Ü‰Ñ˜¬×)EÑ)EÐÕFr"   rw   ri   s   @r!   rž   rž   Ä   s   ø„ ÷Gð Gr"   rž   N)$Úhttpr   Úallauthr   r,   Úallauth.accountr0   Úallauth.account.adapterr   r3   Úallauth.account.app_settingsr   Úallauth.account.authenticationr   Úallauth.account.internalr	   Ú!allauth.account.internal.stagekitr
   Úallauth.headless.adapterÚallauth.headless.constantsr   Úallauth.headless.internalr   Ú*allauth.headless.internal.restkit.responser   Úallauth.mfar9   r   rk   rt   ry   r|   r�   r“   r•   rž   rS   r"   r!   ú<module>r®      s›   ðÝ å 4Ý <Ý FÝ 4Ý EÝ *Ý ?Ý 0Ý +Ý -Ý BÝ 4ô^ ô ^ôB/Ð7ô /ô$UÐ9ô Uô
<Ð5ô <ô
?˜ô ?ô
>�{ô >ò
ô(4�[ô 4ô0G˜õ Gr"   