§
    ¬	Êj9  ã                  ó  — d Z ddlmZ ddlmZ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 erddlma ddlma ddlma ddlmZ ndadadadd„Z G d„ deeedz  f         ¦  «        Z G d„ de¦  «        ZddgZdS )z Azure Key Vault settings source.é    )Úannotations)ÚIteratorÚMapping)ÚTYPE_CHECKING)Úto_snake)Ú	FieldInfoé   )Ú	InitStateé   )ÚEnvSettingsSource©ÚTokenCredential©ÚResourceNotFoundError©ÚSecretClient)ÚBaseSettingsNÚreturnÚNonec                 óp   — 	 ddl ma ddlma ddlma d S # t          $ r} t          d¦  «        | ‚d } ~ ww xY w)Nr   r   r   r   zdAzure Key Vault dependencies are not installed, run `pip install pydantic-settings[azure-key-vault]`)Úazure.core.credentialsr   Úazure.core.exceptionsr   Úazure.keyvault.secretsr   ÚImportError)Úes    úYC:\Projects\Muse2API\.venv\Lib\site-packages\pydantic_settings/sources/providers/azure.pyÚimport_azure_key_vaultr      sz   € ð
Ø:Ð:Ð:Ð:Ð:Ð:Ø?Ð?Ð?Ð?Ð?Ð?Ø7Ð7Ð7Ð7Ð7Ð7Ð7Ð7øÝð ð ð ÝØrñ
ô 
àð	øøøøðøøøs   ‚ –
5 0°5c                  óV   — e Zd ZU ded<   ded<   ded<   dd„Zdd„Zdd„Zdd„Zdd„ZdS )ÚAzureKeyVaultMappingzdict[str, str | None]Ú_loaded_secretsr   Ú_secret_clientz	list[str]Ú_secret_namesÚsecret_clientÚcase_sensitiveÚboolÚsnake_case_conversionÚ
env_prefixú
str | Noner   r   c                ó†   — i | _         || _        || _        || _        |r|nd| _        |                      ¦   «         | _        d S )NÚ )r    r!   Ú_case_sensitiveÚ_snake_case_conversionÚ_env_prefixÚ_load_remoteÚ_secret_map)Úselfr#   r$   r&   r'   s        r   Ú__init__zAzureKeyVaultMapping.__init__.   sO   € ð  "ˆÔØ+ˆÔØ-ˆÔØ&;ˆÔ#Ø)3Ð;˜:˜:¸ˆÔØ+/×+<Ò+<Ñ+>Ô+>ˆÔÐÐó    údict[str, str]c           
     ój  — d„ | j                              ¦   «         D ¦   «         }| j        rki }|D ]d}|                     | j        ¦  «        r6||| j        › t          |t          | j        ¦  «        d …         ¦  «        › �<   ŒR||t          |¦  «        <   Œe|S | j        rd„ |D ¦   «         S d„ |D ¦   «         S )Nc              3  ó@   K  — | ]}|j         ¯	|j        ¯|j         V — Œd S ©N)ÚnameÚenabled)Ú.0Úsecrets     r   ú	<genexpr>z4AzureKeyVaultMapping._load_remote.<locals>.<genexpr>=   sL   è è € ð '
ð '
Ø"ÐZ`ÔZeð'
ØjpÔjxð'
ØŒKð'
ð '
ð '
ð '
ð '
ð '
r2   c                ó   — i | ]}||“ŒS © r=   ©r9   r7   s     r   ú
<dictcomp>z5AzureKeyVaultMapping._load_remote.<locals>.<dictcomp>K   s   € Ð8Ð8Ð8 4�D˜$Ð8Ð8Ð8r2   c                ó8   — i | ]}|                      ¦   «         |“ŒS r=   )Úlowerr>   s     r   r?   z5AzureKeyVaultMapping._load_remote.<locals>.<dictcomp>M   s"   € Ð<Ð<Ð< t�—
’
‘”˜dÐ<Ð<Ð<r2   )r!   Úlist_properties_of_secretsr,   Ú
startswithr-   r   Úlenr+   )r0   Úsecret_namesÚname_mapr7   s       r   r.   z!AzureKeyVaultMapping._load_remote<   së   € ð'
ð '
Ø&*Ô&9×&TÒ&TÑ&VÔ&Vð'
ñ '
ô '
ˆð Ô&ð 	Ø')ˆHØ$ð 4ð 4�Ø—?’? 4Ô#3Ñ4Ô4ð 4Ø_c�H Ô 0Ð[µ(¸4ÅÀDÔDTÑ@UÔ@UÐ@WÐ@WÔ;XÑ2YÔ2YÐ[Ð[Ñ\Ð\à/3�H�X d™^œ^Ñ,Ð,ØˆOàÔð 	9Ø8Ð8¨<Ð8Ñ8Ô8Ð8à<Ð<¨|Ð<Ñ<Ô<Ð<r2   ÚkeyÚstrc                óÆ  — |}| j         r]|                     | j        ¦  «        r3| j        › t          |t	          | j        ¦  «        d …         ¦  «        › �}n+t          |¦  «        }n| j        s|                     ¦   «         }|| j        vrK|| j        v r3| j	         
                    | j        |         ¦  «        j        | j        |<   nt          |¦  «        ‚| j        |         S r6   )r,   rC   r-   r   rD   r+   rA   r    r/   r!   Ú
get_secretÚvalueÚKeyError)r0   rG   Únew_keys      r   Ú__getitem__z AzureKeyVaultMapping.__getitem__O   sä   € ØˆàÔ&ð 	"Ø�~Š~˜dÔ.Ñ/Ô/ð (Ø!Ô-ÐW­x¸½CÀÔ@PÑ<QÔ<QÐ<SÐ<SÔ8TÑ/UÔ/UÐWÐW��å" 3™-œ-��àÔ%ð 	"Ø—i’i‘k”kˆGà˜$Ô.Ð.Ð.Ø˜$Ô*Ð*Ð*Ø04Ô0C×0NÒ0NÈtÔO_Ð`gÔOhÑ0iÔ0iÔ0o�Ô$ WÑ-Ð-å˜s‘m”mÐ#àÔ# GÔ,Ð,r2   Úintc                ó*   — t          | j        ¦  «        S r6   )rD   r/   ©r0   s    r   Ú__len__zAzureKeyVaultMapping.__len__c   s   € Ý�4Ô#Ñ$Ô$Ð$r2   úIterator[str]c                óN   — t          | j                             ¦   «         ¦  «        S r6   )Úiterr/   ÚkeysrQ   s    r   Ú__iter__zAzureKeyVaultMapping.__iter__f   s   € Ý�DÔ$×)Ò)Ñ+Ô+Ñ,Ô,Ð,r2   N)
r#   r   r$   r%   r&   r%   r'   r(   r   r   )r   r3   )rG   rH   r   r(   )r   rO   )r   rS   )	Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r1   r.   rN   rR   rW   r=   r2   r   r   r   )   sž   € € € € € € Ø*Ð*Ð*Ñ*Ø Ð Ð Ñ ØÐÐÑð?ð ?ð ?ð ?ð=ð =ð =ð =ð&-ð -ð -ð -ð(%ð %ð %ð %ð-ð -ð -ð -ð -ð -r2   r   c                  ób   ‡ — e Zd ZU ded<   ded<   	 	 	 	 	 	 	 d!d"ˆ fd„Zd#d„Zd$ˆ fd„Zd%d „Zˆ xZS )&ÚAzureKeyVaultSettingsSourcerH   Ú_urlr   Ú_credentialFNÚsettings_clsútype[BaseSettings]ÚurlÚ
credentialÚdash_to_underscorer%   r$   úbool | Noner&   r'   r(   Úenv_parse_none_strÚenv_parse_enumsÚ_init_stateúInitState | Noner   r   c           
     ó¾   •— t          ¦   «          || _        || _        || _        || _        t          ¦   «                              ||rdn|||rdndd||	|
¬¦  «         d S )NTÚ__z--F)r$   r'   Úenv_nested_delimiterÚenv_ignore_emptyrf   rg   rh   )r   r^   r_   Ú_dash_to_underscorer,   Úsuperr1   )r0   r`   rb   rc   rd   r$   r&   r'   rf   rg   rh   Ú	__class__s              €r   r1   z$AzureKeyVaultSettingsSource.__init__n   s…   ø€ õ 	Ñ Ô Ð ØˆŒ	Ø%ˆÔØ#5ˆÔ Ø&;ˆÔ#Ý‰Œ×ÒØØ#8ÐL˜4˜4¸nØ!Ø)>Ð!H  ÀDØ"Ø1Ø+Ø#ð 	ñ 		
ô 		
ð 		
ð 		
ð 		
r2   úMapping[str, str | None]c                ó|   — t          | j        | j        ¬¦  «        }t          || j        | j        | j        ¬¦  «        S )N)Ú	vault_urlrc   )r#   r$   r&   r'   )r   r^   r_   r   r$   r,   r'   )r0   r#   s     r   Ú_load_env_varsz*AzureKeyVaultSettingsSource._load_env_vars‹   sD   € Ý$¨t¬yÀTÔEUÐVÑVÔVˆÝ#Ø'ØÔ.Ø"&Ô"=Ø”ð	
ñ 
ô 
ð 	
r2   Úfieldr   Ú
field_nameúlist[tuple[str, str, bool]]c                ó  •— | j         r.d„ t          ¦   «                              ||¦  «        D ¦   «         }|S | j        r,d„ t          ¦   «                              ||¦  «        D ¦   «         S t          ¦   «                              ||¦  «        S )Nc                ó<   — g | ]}|d          |d         |d         f‘ŒS )r   r   r	   r=   ©r9   Úxs     r   ú
<listcomp>zCAzureKeyVaultSettingsSource._extract_field_info.<locals>.<listcomp>–   s+   € ÐeÐeÐe°˜1˜Qœ4  1¤ q¨¤tÐ,ÐeÐeÐer2   c                ód   — g | ]-}|d          |d                               dd¦  «        |d         f‘Œ.S )r   r   Ú_ú-r	   )Úreplacerz   s     r   r|   zCAzureKeyVaultSettingsSource._extract_field_info.<locals>.<listcomp>š   s9   € ÐqÐqÐq¸Q�Q�q”T˜1˜Qœ4Ÿ<š<¨¨SÑ1Ô1°1°Q´4Ð8ÐqÐqÐqr2   )r,   ro   Ú_extract_field_inforn   )r0   ru   rv   Ú
field_inforp   s       €r   r�   z/AzureKeyVaultSettingsSource._extract_field_info”   s�   ø€ ØÔ&ð 	ØeÐeµe±g´g×6QÒ6QÐRWÐYcÑ6dÔ6dÐeÑeÔeˆJØÐàÔ#ð 	rØqÐqÅ%Á'Ä'×B]ÒB]Ð^cÐeoÑBpÔBpÐqÑqÔqÐqå‰wŒw×*Ò*¨5°*Ñ=Ô=Ð=r2   c                ó@   — | j         j        › d| j        ›d| j        ›d�S )Nz(url=z, env_nested_delimiter=ú))rp   rX   r^   rl   rQ   s    r   Ú__repr__z$AzureKeyVaultSettingsSource.__repr__ž   s,   € Ø”.Ô)ÐrÐr°´	ÐrÐrÐTXÔTmÐrÐrÐrÐrr2   )FNFNNNN)r`   ra   rb   rH   rc   r   rd   r%   r$   re   r&   r%   r'   r(   rf   r(   rg   re   rh   ri   r   r   )r   rq   )ru   r   rv   rH   r   rw   )r   rH   )	rX   rY   rZ   r[   r1   rt   r�   r…   Ú__classcell__)rp   s   @r   r]   r]   j   s¾   ø€ € € € € € Ø€I€I�IØ Ð Ð Ñ ð $)Ø&*Ø&+Ø!%Ø)-Ø'+Ø(,ð
ð 
ð 
ð 
ð 
ð 
ð 
ð:
ð 
ð 
ð 
ð>ð >ð >ð >ð >ð >ðsð sð sð sð sð sð sð sr2   r]   )r   r   )Ú__doc__Ú
__future__r   Ú_annotationsÚcollections.abcr   r   Útypingr   Úpydantic.alias_generatorsr   Úpydantic.fieldsr   Úutilsr
   Úenvr   r   r   r   r   r   r   Úpydantic_settings.mainr   r   rH   r   r]   Ú__all__r=   r2   r   ú<module>r’      sƒ  ðØ &Ð &à 2Ð 2Ð 2Ð 2Ð 2Ð 2à -Ð -Ð -Ð -Ð -Ð -Ð -Ð -Ø  Ð  Ð  Ð  Ð  Ð  à .Ð .Ð .Ð .Ð .Ð .Ø %Ð %Ð %Ð %Ð %Ð %à Ð Ð Ð Ð Ð Ø "Ð "Ð "Ð "Ð "Ð "àð 	Ø6Ð6Ð6Ð6Ð6Ð6Ø;Ð;Ð;Ð;Ð;Ð;Ø3Ð3Ð3Ð3Ð3Ð3à3Ð3Ð3Ð3Ð3Ð3Ð3à€OØ ÐØ€Lðð ð ð ð>-ð >-ð >-ð >-ð >-˜7 3¨¨d©
 ?Ô3ñ >-ô >-ð >-ðB5sð 5sð 5sð 5sð 5sÐ"3ñ 5sô 5sð 5sðp "Ð#@Ð
A€€€r2   