Ë
    Ìi²#  ã                   ó(  — d dl mZmZmZmZmZmZ d dlmZm	Z	  G d„ de«      Z
 G d„ d«      Z G d„ ded	¬
«      Ze	 G d„ de«      «       Ze	 G d„ deed   «      «       Zeeef   Z G d„ de«      Zg d¢Z G d„ d«      Z G d„ d«      Z G d„ d«      Zy)é    )ÚAnyÚ
NamedTupleÚOptionalÚ	TypedDictÚUnionÚContextManager)ÚProtocolÚruntime_checkablec                   ó(   — e Zd ZU dZeed<   	 eed<   y)ÚAccessTokenz!Represents an OAuth access token.ÚtokenÚ
expires_onN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstrÚ__annotations__Úint© ó    úW/var/www/html/strategist-ai/venv/lib/python3.12/site-packages/azure/core/credentials.pyr   r   
   s   … Ù+àƒJØØƒOØ3r   r   c                   ó~   — e Zd ZU dZeed<   	 eed<   	 eed<   	 ee   ed<   	 dddœdedededee   d	df
d
„Zd	efd„Z	y)ÚAccessTokenInfoaÚ  Information about an OAuth access token.

    This class is an alternative to `AccessToken` which provides additional information about the token.

    :param str token: The token string.
    :param int expires_on: The token's expiration time in Unix time.
    :keyword str token_type: The type of access token. Defaults to 'Bearer'.
    :keyword int refresh_on: Specifies the time, in Unix time, when the cached token should be proactively
        refreshed. Optional.
    r   r   Ú
token_typeÚ
refresh_onÚBearerN)r   r   Úreturnc                ó<   — || _         || _        || _        || _        y )N)r   r   r   r   )Úselfr   r   r   r   s        r   Ú__init__zAccessTokenInfo.__init__(   s    € ð ˆŒ
Ø$ˆŒØ$ˆŒØ$ˆ�r   c                 óz   — dj                  | j                  | j                  | j                  | j                  «      S )NzJAccessTokenInfo(token='{}', expires_on={}, token_type='{}', refresh_on={}))Úformatr   r   r   r   ©r    s    r   Ú__repr__zAccessTokenInfo.__repr__5   s.   € Ø[×bÑbØ�J‰J˜Ÿ™¨¯©¸$¿/¹/ó
ð 	
r   )
r   r   r   r   r   r   r   r   r!   r%   r   r   r   r   r      s{   … ñ	ð ƒJØØƒOØ3ØƒOØ#Ø˜‘ÓØlð #Ø$(ò%àð%ð ð%ð
 ð%ð ˜S‘Mð%ð 
ó%ð
˜#ô 
r   r   c                   ó4   — e Zd ZU dZeed<   	 eed<   	 eed<   y)ÚTokenRequestOptionszFOptions to use for access token requests. All parameters are optional.ÚclaimsÚ	tenant_idÚ
enable_caeN)r   r   r   r   r   r   Úboolr   r   r   r'   r'   ;   s    … ÙPàƒKð5àƒNØ8ØÓØar   r'   F)Útotalc                   óF   — e Zd ZdZddddœdedee   dee   ded	ed
efd„Z	y)ÚTokenCredentialz2Protocol for classes able to provide OAuth tokens.NF)r(   r)   r*   Úscopesr(   r)   r*   Úkwargsr   c                 ó   — y)a�  Request an access token for `scopes`.

        :param str scopes: The type of access needed.

        :keyword str claims: Additional claims required in the token, such as those returned in a resource
            provider's claims challenge following an authorization failure.
        :keyword str tenant_id: Optional tenant to include in the token request.
        :keyword bool enable_cae: Indicates whether to enable Continuous Access Evaluation (CAE) for the requested
            token. Defaults to False.

        :rtype: AccessToken
        :return: An AccessToken instance containing the token string and its expiration time in Unix time.
        Nr   )r    r(   r)   r*   r/   r0   s         r   Ú	get_tokenzTokenCredential.get_tokenK   s   € ð* 	r   )
r   r   r   r   r   r   r+   r   r   r2   r   r   r   r.   r.   G   sW   „ á<ð
 !%Ø#'Ø òàðð ˜‘ðð ˜C‘=ð	ð
 ðð ðð 
ôr   r.   c                   ó8   — e Zd ZdZddœdedee   defd„Zd	d„Z	y)
ÚSupportsTokenInfozTProtocol for classes able to provide OAuth access tokens with additional properties.N)Úoptionsr/   r5   r   c                 ó   — y)a  Request an access token for `scopes`.

        This is an alternative to `get_token` to enable certain scenarios that require additional properties
        on the token.

        :param str scopes: The type of access needed.
        :keyword options: A dictionary of options for the token request. Unknown options will be ignored. Optional.
        :paramtype options: TokenRequestOptions

        :rtype: AccessTokenInfo
        :return: An AccessTokenInfo instance containing information about the token.
        Nr   )r    r5   r/   s      r   Úget_token_infoz SupportsTokenInfo.get_token_infog   s   € ð 	r   c                  ó   — y)zlClose the credential, releasing any resources it holds.

        :return: None
        :rtype: None
        Nr   r$   s    r   ÚclosezSupportsTokenInfo.closev   s   � r   )r   N)
r   r   r   r   r   r   r'   r   r7   r9   r   r   r   r4   r4   c   s.   „ á^àTXò  cð °HÐ=PÑ4Qð Ð]ló ôr   r4   c                   ó&   — e Zd ZU dZeed<   eed<   y)ÚAzureNamedKeyzRepresents a name and key pair.ÚnameÚkeyN)r   r   r   r   r   r   r   r   r   r;   r;   �   s   … Ù)à
ƒIØ	„Hr   r;   )	ÚAzureKeyCredentialÚAzureSasCredentialr   r   r4   ÚAzureNamedKeyCredentialr.   r'   ÚTokenProviderc                   óF   — e Zd ZdZdeddfd„Zedefd„«       Zdeddfd„Zy)r>   a  Credential type used for authenticating to an Azure service.
    It provides the ability to update the key without creating a new client.

    :param str key: The key used to authenticate to an Azure service
    :raises TypeError: If the key is not a string.
    r=   r   Nc                 óH   — t        |t        «      st        d«      ‚|| _        y )Nzkey must be a string.)Ú
isinstancer   Ú	TypeErrorÚ_key©r    r=   s     r   r!   zAzureKeyCredential.__init__�   s   € Ü˜#œsÔ#ÜÐ3Ó4Ð4Øˆ�	r   c                 ó   — | j                   S )zpThe value of the configured key.

        :rtype: str
        :return: The value of the configured key.
        )rF   r$   s    r   r=   zAzureKeyCredential.key¢   s   € ð �y‰yÐr   c                 ób   — |st        d«      ‚t        |t        «      st        d«      ‚|| _        y)a)  Update the key.

        This can be used when you've regenerated your service key and want
        to update long-lived clients.

        :param str key: The key used to authenticate to an Azure service
        :raises ValueError or TypeError: If the key is None, empty, or not a string.
        z2The key used for updating can not be None or emptyz+The key used for updating must be a string.N)Ú
ValueErrorrD   r   rE   rF   rG   s     r   ÚupdatezAzureKeyCredential.update«   s0   € ñ ÜÐQÓRÐRÜ˜#œsÔ#ÜÐIÓJÐJØˆ�	r   )	r   r   r   r   r   r!   Úpropertyr=   rK   r   r   r   r>   r>   •   sH   „ ñð˜Cð  Dó ð
 ð�Sò ó ðð˜#ð  $ô r   r>   c                   óF   — e Zd ZdZdeddfd„Zedefd„«       Zdeddfd„Zy)r?   a;  Credential type used for authenticating to an Azure service.
    It provides the ability to update the shared access signature without creating a new client.

    :param str signature: The shared access signature used to authenticate to an Azure service
    :raises TypeError: If the signature is not a string.
    Ú	signaturer   Nc                 óH   — t        |t        «      st        d«      ‚|| _        y )Nzsignature must be a string.)rD   r   rE   Ú
_signature©r    rN   s     r   r!   zAzureSasCredential.__init__Ã   s   € Ü˜)¤SÔ)ÜÐ9Ó:Ð:Ø#ˆ�r   c                 ó   — | j                   S )z˜The value of the configured shared access signature.

        :rtype: str
        :return: The value of the configured shared access signature.
        )rP   r$   s    r   rN   zAzureSasCredential.signatureÈ   s   € ð �‰Ðr   c                 ób   — |st        d«      ‚t        |t        «      st        d«      ‚|| _        y)aŠ  Update the shared access signature.

        This can be used when you've regenerated your shared access signature and want
        to update long-lived clients.

        :param str signature: The shared access signature used to authenticate to an Azure service
        :raises ValueError: If the signature is None or empty.
        :raises TypeError: If the signature is not a string.
        z8The signature used for updating can not be None or emptyz1The signature used for updating must be a string.N)rJ   rD   r   rE   rP   rQ   s     r   rK   zAzureSasCredential.updateÑ   s0   € ñ ÜÐWÓXÐXÜ˜)¤SÔ)ÜÐOÓPÐPØ#ˆ�r   )	r   r   r   r   r   r!   rL   rN   rK   r   r   r   r?   r?   »   sH   „ ñð$ #ð $¨$ó $ð
 ð˜3ò ó ðð$ ð $¨ô $r   r?   c                   óN   — e Zd ZdZdededdfd„Zedefd„«       Zdededdfd„Z	y)	r@   ak  Credential type used for working with any service needing a named key that follows patterns
    established by the other credential types.

    :param str name: The name of the credential used to authenticate to an Azure service.
    :param str key: The key used to authenticate to an Azure service.
    :raises TypeError: If the name or key is not a string.
    r<   r=   r   Nc                 ó|   — t        |t        «      rt        |t        «      st        d«      ‚t        ||«      | _        y )Nú"Both name and key must be strings.©rD   r   rE   r;   Ú_credential©r    r<   r=   s      r   r!   z AzureNamedKeyCredential.__init__ë   s0   € Ü˜$¤Ô$¬J°s¼CÔ,@ÜÐ@ÓAÐAÜ(¨¨sÓ3ˆÕr   c                 ó   — | j                   S )z|The value of the configured name.

        :rtype: AzureNamedKey
        :return: The value of the configured name.
        )rX   r$   s    r   Ú	named_keyz!AzureNamedKeyCredential.named_keyð   s   € ð ×ÑÐr   c                 ó|   — t        |t        «      rt        |t        «      st        d«      ‚t        ||«      | _        y)a\  Update the named key credential.

        Both name and key must be provided in order to update the named key credential.
        Individual attributes cannot be updated.

        :param str name: The name of the credential used to authenticate to an Azure service.
        :param str key: The key used to authenticate to an Azure service.
        rV   NrW   rY   s      r   rK   zAzureNamedKeyCredential.updateù   s2   € ô ˜$¤Ô$¬J°s¼CÔ,@ÜÐ@ÓAÐAÜ(¨¨sÓ3ˆÕr   )
r   r   r   r   r   r!   rL   r;   r[   rK   r   r   r   r@   r@   â   sV   „ ñð4˜Sð 4 sð 4¨tó 4ð
 ð ˜=ò  ó ð ð4˜3ð 4 Sð 4¨Tô 4r   r@   N)Útypingr   r   r   r   r   r   Útyping_extensionsr	   r
   r   r   r'   r.   r4   rA   r;   Ú__all__r>   r?   r@   r   r   r   ú<module>r`      s»   ð÷ O× Nß 9ô4�*ô 4÷%
ñ %
ôP	b˜)¨5õ 	bð ô�hó ó ðð6 ô˜ .Ð1DÑ"Eó ó ðð4 �oÐ'8Ð8Ñ9€ô�Jô ò
€÷#ñ #÷L$$ñ $$÷N"4ò "4r   