Ë
    ”Âi±  ã                   ó   —  G d „ d«      Z y)c                   ód   — e Zd ZdZdZdddddœZ	 	 dd„Zd„ Zed„ «       Z		 	 	 	 dd	„Z
	 	 	 	 dd
„Zy)ÚBearerTokenGeneratoraà  Bearer token generator which can create the payload for token response
    by OAuth 2 server. A typical token response would be:

    .. code-block:: http

        HTTP/1.1 200 OK
        Content-Type: application/json;charset=UTF-8
        Cache-Control: no-store
        Pragma: no-cache

        {
            "access_token":"mF_9.B5f-4.1JqM",
            "token_type":"Bearer",
            "expires_in":3600,
            "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA"
        }
    i  i / )Úauthorization_codeÚimplicitÚpasswordÚclient_credentialsNc                 ó.   — || _         || _        || _        y ©N)Úaccess_token_generatorÚrefresh_token_generatorÚexpires_generator)Úselfr
   r   r   s       úT/var/www/timesheet/venv/lib/python3.12/site-packages/authlib/oauth2/rfc6750/token.pyÚ__init__zBearerTokenGenerator.__init__   s   € ð '=ˆÔ#Ø'>ˆÔ$Ø!2ˆÕó    c                 ó(  — | j                   €(| j                  j                  || j                  «      }|S t	        | j                   «      r| j                  ||«      }|S t        | j                   t        «      r| j                   }|S | j                  }|S r	   )r   ÚGRANT_TYPES_EXPIRES_INÚgetÚDEFAULT_EXPIRES_INÚcallableÚ
isinstanceÚint)r   ÚclientÚ
grant_typeÚ
expires_ins       r   Ú_get_expires_inz$BearerTokenGenerator._get_expires_in(   s™   € Ø×!Ñ!Ð)Ø×4Ñ4×8Ñ8Ø˜D×3Ñ3óˆJð Ðô �d×,Ñ,Ô-Ø×/Ñ/°¸
ÓCˆJð
 Ðô	 ˜×.Ñ.´Ô4Ø×/Ñ/ˆJð Ðð ×0Ñ0ˆJØÐr   c                 ó,   — |r| j                  |«      }|S r	   )Úget_allowed_scope)r   Úscopes     r   r   z&BearerTokenGenerator.get_allowed_scope5   s   € áØ×,Ñ,¨UÓ3ˆEØˆr   c                 óî   — | j                  ||«      }| j                  ||||¬«      }|€| j                  ||«      }d|dœ}|r||d<   |r$| j                  r| j                  ||||¬«      |d<   |r||d<   |S )aÈ  Generate a bearer token for OAuth 2.0 authorization token endpoint.

        :param client: the client that making the request.
        :param grant_type: current requested grant_type.
        :param user: current authorized user.
        :param expires_in: if provided, use this value as expires_in.
        :param scope: current requested scope.
        :param include_refresh_token: should refresh_token be included.
        :return: Token dict
        )r   r   Úuserr   ÚBearer)Ú
token_typeÚaccess_tokenr   Úrefresh_tokenr   )r   r
   r   r   )	r   r   r   r    r   r   Úinclude_refresh_tokenr#   Útokens	            r   ÚgeneratezBearerTokenGenerator.generate;   s®   € ð& ×&Ñ& v¨uÓ5ˆØ×2Ñ2Ø j°tÀ5ð 3ó 
ˆð ÐØ×-Ñ-¨f°jÓAˆJð #Ø(ñ
ˆñ Ø",ˆE�,ÑÙ  T×%AÒ%AØ%)×%AÑ%AØ¨*¸4Àuð &Bó &ˆE�/Ñ"ñ Ø"ˆE�'‰NØˆr   c                 ó.   — | j                  ||||||«      S r	   )r'   )r   r   r   r    r   r   r%   s          r   Ú__call__zBearerTokenGenerator.__call__c   s#   € ð �}‰}Ø˜  e¨ZÐ9Nó
ð 	
r   )NN)NNNT)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   Ústaticmethodr   r'   r)   © r   r   r   r      sr   „ ñð& Ðð %ØØØ$ñ	Ðð !%Øó	3òð ñó ðð ØØØ"ó&ðX ØØØ"ô
r   r   N)r   r/   r   r   ú<module>r0      s   ð÷m
ò m
r   