Ë
    £…jœ  ã                   óª   — d dl Z d dlmZmZmZ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 eeeef   ef   Zd	gZ G d
„ d«      Z G d„ d«      Zy)é    N)ÚAnyÚDictÚOptionalÚUnion)ÚClientAuthenticationError)ÚContentDecodePolicy)ÚHttpRequestÚHttpResponse)ÚPipelineResponseé   )Úbuild_pipelineÚPOSTc                   óR   — e Zd ZdZdeddfd„Zedefd„«       Zede	fd„«       Z
d„ Zy)	ÚMsalResponsez—Wraps HttpResponse according to msal.oauth2cli.http.

    :param response: The response to wrap.
    :type response: ~azure.core.rest.HttpResponse
    ÚresponseÚreturnNc                 óp   — || _         |j                  r|j                  j                  | _        y i | _        y ©N)Ú	_responseÚhttp_responseÚheaders)Úselfr   s     úe/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/azure/identity/_internal/msal_client.pyÚ__init__zMsalResponse.__init__   s+   € Ø!ˆŒØ9A×9OÒ9O�x×-Ñ-×5Ñ5ˆ�ÐUWˆ�ó    c                 óB   — | j                   j                  j                  S r   )r   r   Ústatus_code©r   s    r   r   zMsalResponse.status_code   s   € à�~‰~×+Ñ+×7Ñ7Ð7r   c                 óN   — | j                   j                  j                  d¬«      S )Núutf-8)Úencoding)r   r   Útextr   s    r   r"   zMsalResponse.text!   s    € à�~‰~×+Ñ+×0Ñ0¸'Ð0ÓBÐBr   c                 óÊ  — | j                   dk  ry t        j                  | j                  j                  v r‹| j                  j                  t        j                     }|sd}nad|v sd|v r4dj                  |j                  d«      xs |j                  d«      «      }n%dD ]  }||v sŒd||<   Œ dj                  |«      }nd}t        || j                  j                  ¬	«      ‚)
Né�  z+Unexpected response from Microsoft Entra IDÚerrorÚerror_descriptionzAuthentication failed: {})Úaccess_tokenÚrefresh_tokenz***z1Unexpected response from Microsoft Entra ID: "{}")Úmessager   )	r   r   ÚCONTEXT_NAMEr   ÚcontextÚformatÚgetr   r   )r   Úcontentr)   Úsecrets       r   Úraise_for_statuszMsalResponse.raise_for_status%   sÚ   € Ø×Ñ˜cÒ!Øä×+Ñ+¨t¯~©~×/EÑ/EÑEØ—n‘n×,Ñ,Ô-@×-MÑ-MÑNˆGÙØG‘Ø˜GÑ#Ð':¸gÑ'EØ5×<Ñ<¸W¿[¹[ÐI\Ó=]Ò=uÐah×alÑalÐmtÓauÓv‘à?ò 0�FØ Ò(Ø*/˜ šð0ð N×TÑTÐU\Ó]‘àCˆGä'°À$Ç.Á.×B^ÑB^Ô_Ð_r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   ÚpropertyÚintr   Ústrr"   r0   © r   r   r   r      s]   „ ñðXÐ!1ð X°dó Xð ð8˜Sò 8ó ð8ð ðC�cò Có ðCó`r   r   c                   ó$  — e Zd ZdZdeddfd„Zdd„Zdeddfd„Zdd	„Z	 	 	 dd
e	de
ee	e	f      de
e   de
ee	e	f      dedefd„Z	 dd
e	de
ee	e	f      de
ee	e	f      dedef
d„Zdede
e   fd„Zdeddfd„Zdee	ef   fd„Zdee	ef   ddfd„Zy)Ú
MsalClientz/Wraps Pipeline according to msal.oauth2cli.httpÚkwargsr   Nc                 óV   — t        j                  «       | _        t        di |¤Ž| _        y )Nr8   )Ú	threadingÚlocalÚ_localr   Ú	_pipeline)r   r;   s     r   r   zMsalClient.__init__=   s   € Ü—o‘oÓ'ˆŒÜ'Ñ1¨&Ñ1ˆ�r   c                 ó:   — | j                   j                  «        | S r   )r@   Ú	__enter__r   s    r   rB   zMsalClient.__enter__A   s   € Ø�‰× Ñ Ô"Øˆr   Úargsc                 ó6   —  | j                   j                  |Ž  y r   )r@   Ú__exit__)r   rC   s     r   rE   zMsalClient.__exit__E   s   € Øˆ�‰×Ñ Ò&r   c                 ó$   — | j                  «        y r   )rE   r   s    r   ÚclosezMsalClient.closeH   s   € Ø�‰�r   ÚurlÚparamsÚdatar   c                 óT  — |rt        |«      ni }d }d }|rEt        |t         «      rd|d<   |}n-t        |t        «      r|j                  d«      }nt	        d«      ‚t        d|||||¬«      }	| j                  j                  |	dt        ¬«      }
| j                  |
«       t        |
«      S )	Nz!application/x-www-form-urlencodedzContent-Typer    z$expected "data" to be text or a dictr   )r   rI   rJ   r.   F)ÚstreamÚretry_on_methods)ÚdictÚ
isinstancer7   ÚencodeÚ
ValueErrorr	   r@   ÚrunÚ_POSTÚ_store_auth_errorr   )r   rH   rI   rJ   r   r;   Úrequest_headersr.   Úrequest_dataÚrequestr   s              r   ÚpostzMsalClient.postK   s¥   € ñ ,3œ$˜wœ-¸ˆØ#'ˆØ15ˆáÜ˜$¤Ô%Ø2U� Ñ/Ø#‘Ü˜D¤#Ô&ØŸ+™+ gÓ.‘ä Ð!GÓHÐHä˜f c°?È6ÐXdÐnuÔvˆØ—>‘>×%Ñ% g°eÌeÐ%ÓTˆØ×Ñ˜xÔ(Ü˜HÓ%Ð%r   c                 ó’   — t        d|||¬«      }| j                  j                  |d¬«      }| j                  |«       t	        |«      S )NÚGET)r   rI   F)rL   )r	   r@   rR   rT   r   )r   rH   rI   r   r;   rW   r   s          r   r-   zMsalClient.getf   sF   € ô ˜e S°'À&ÔIˆØ—>‘>×%Ñ% g°eÐ%Ó<ˆØ×Ñ˜xÔ(Ü˜HÓ%Ð%r   Úmsal_resultc                 óh   — t        | j                  dd«      \  }}|r||j                  d«      k(  r|S y)a  Get the HTTP response associated with an MSAL error.

        :param msal_result: The result of an MSAL request.
        :type msal_result: dict
        :return: The HTTP response associated with the error, if any.
        :rtype: ~azure.core.rest.HttpResponse or None
        r%   ©NNN)Úgetattrr?   r-   )r   r[   Ú
error_coder   s       r   Úget_error_responsezMsalClient.get_error_responseo   s6   € ô  ' t§{¡{°G¸\ÓJÑˆ
�HÙ˜
 k§o¡o°gÓ&>Ò>ØˆOØr   r   c                 ó  — |j                   j                  dk\  rf|j                  j                  t        j
                  «      }|r:d|v r5t        |t        «      r|d   nd}||j                   f| j                  _	        y y y y )Nr$   r%   Úoauth_error)
r   r   r+   r-   r   r*   rO   rN   r?   r%   )r   r   r.   r_   s       r   rT   zMsalClient._store_auth_error|   sx   € Ø×!Ñ!×-Ñ-°Ò4ð ×&Ñ&×*Ñ*Ô+>×+KÑ+KÓLˆGÙ˜7 gÑ-Ü1;¸GÄTÔ1J˜W WÒ-ÐP]�
Ø%/°×1GÑ1GÐ$H�—‘Õ!ð .ˆwð	 5r   c                 ó@   — | j                   j                  «       }|d= |S )Nr?   )Ú__dict__Úcopy©r   Ústates     r   Ú__getstate__zMsalClient.__getstate__…   s    € Ø—‘×"Ñ"Ó$ˆà�(ˆOØˆr   rg   c                 ól   — | j                   j                  |«       t        j                  «       | _        y r   )rd   Úupdater=   r>   r?   rf   s     r   Ú__setstate__zMsalClient.__setstate__‹   s"   € Ø�‰×Ñ˜UÔ#ä—o‘oÓ'ˆ�r   )r   r:   )r   N)NNNr]   )r1   r2   r3   r4   r   r   rB   rE   rG   r7   r   r   ÚRequestDatar   rX   r-   r
   r`   r   rT   rh   rk   r8   r   r   r:   r:   :   sO  „ Ù9ð2 ð 2¨ó 2óð'˜cð ' dó 'óð ,0Ø&*Ø,0ñ&àð&ð ˜˜c 3˜h™Ñ(ð&ð �{Ñ#ð	&ð
 ˜$˜s C˜x™.Ñ)ð&ð ð&ð 
ó&ð8 fjñ&Øð&Ø (¨¨c°3¨h©Ñ 8ð&ØJRÐSWÐX[Ð]`ÐX`ÑSaÑJbð&Øuxð&à	ó&ð¨dð °xÀÑ7Mó ðIÐ*:ð I¸tó Ið˜d 3¨ 8™nó ð( $ s¨C x¡.ð (°Tô (r   r:   )r=   Útypingr   r   r   r   Úazure.core.exceptionsr   Úazure.core.pipeline.policiesr   Úazure.core.restr	   r
   Úazure.core.pipeliner   Úpipeliner   r7   rl   rS   r   r:   r8   r   r   ú<module>rs      sV   ðó
 ß -Ó -å ;Ý <ß 5Ý 0Ý $à�D˜˜c˜‘N CÐ'Ñ(€Ø	ˆ€÷%`ñ %`÷PT(ò T(r   