o
    )%a                     @   sD   d dl Z d dlZd dlmZmZ dededeje defddZdS )	    N)quote	urlencode	type_nameaccount_nameissuerreturnc                 C   s   d| j fdt| jfd| jj fg}|d ur|d|f || ||r1dt	|t	|f nt	|t
|d}djdi |S )	Ndigitssecret	algorithmr   z%s:%s)typelabel
parametersz%otpauth://{type}/{label}?{parameters} )_lengthbase64	b32encode_key
_algorithmnameupperappendextendr   r   format)hotpr   r   r   extra_parametersr   uripartsr   r   P/usr/lib/python3/dist-packages/cryptography/hazmat/primitives/twofactor/utils.py_generate_uri   s   
	r   )r   typingurllib.parser   r   strOptionalr   r   r   r   r   <module>   s   