Ë
    ²ŒjŒ  ã                  óæ   — d Z ddlmZ ddlmZmZ ddlmZ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	e   f   «      Z G d„ de«      ZddgZy)z Azure Key Vault settings source.é    )Úannotations)ÚIteratorÚMapping)ÚTYPE_CHECKINGÚOptional)Úto_snake)Ú	FieldInfoé   )ÚEnvSettingsSource©ÚTokenCredential©ÚResourceNotFoundError©ÚSecretClient)ÚBaseSettingsNc                 ód   — 	 ddl ma ddlma ddlma y # 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    ús/var/www/html/Fitness-lenito-AI-main/venv/lib/python3.12/site-packages/pydantic_settings/sources/providers/azure.pyÚimport_azure_key_vaultr      s3   € ð
Ý:Ý?Þ7øÜò ÜØró
àð	ûðús   ‚ •	/ž*ª/c                  ód   — 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y)ÚAzureKeyVaultMappingzdict[str, str | None]Ú_loaded_secretsr   Ú_secret_clientz	list[str]Ú_secret_namesc                óf   — i | _         || _        || _        || _        | j	                  «       | _        y ©N)r   r   Ú_case_sensitiveÚ_snake_case_conversionÚ_load_remoteÚ_secret_map)ÚselfÚsecret_clientÚcase_sensitiveÚsnake_case_conversions       r   Ú__init__zAzureKeyVaultMapping.__init__-   s5   € ð  "ˆÔØ+ˆÔØ-ˆÔØ&;ˆÔ#Ø+/×+<Ñ+<Ó+>ˆÕó    c                ó&  — d„ | j                   j                  «       D «       }| j                  r|D �ci c]  }t        |«      |“Œ c}S | j                  r|D �ci c]  }||“Œ c}S |D �ci c]  }|j                  «       |“Œ c}S c c}w c c}w c c}w )Nc              3  óh   K  — | ]*  }|j                   sŒ|j                  sŒ|j                   –— Œ, y ­wr!   )ÚnameÚenabled)Ú.0Úsecrets     r   Ú	<genexpr>z4AzureKeyVaultMapping._load_remote.<locals>.<genexpr>:   s+   è ø€ ð '
Ù&V˜FÐZ`×ZeÓZeÐjp×jxÓjxˆF�K�KÑ&Vùs   ‚2”2¡2)r   Úlist_properties_of_secretsr#   r   r"   Úlower)r&   Úsecret_namesr.   s      r   r$   z!AzureKeyVaultMapping._load_remote9   s™   € ñ'
Ø&*×&9Ñ&9×&TÑ&TÔ&Vó'
ˆð ×&Ò&Ù5AÓB±\¨T”H˜T“N DÑ(°\ÑBÐBà×ÒÙ+7Ó8©< 4�D˜$‘J¨<Ñ8Ð8á/;Ó<©| t�—
‘
“˜dÑ"¨|Ñ<Ð<ùò Cùò 9ùâ<s   ²BÁ
B	Á)Bc                óZ  — |}| j                   rt        |«      }n| j                  s|j                  «       }|| j                  vrY|| j
                  v r@| j                  j                  | j
                  |   «      j                  | j                  |<   nt        |«      ‚| j                  |   S r!   )
r#   r   r"   r4   r   r%   r   Ú
get_secretÚvalueÚKeyError)r&   ÚkeyÚnew_keys      r   Ú__getitem__z AzureKeyVaultMapping.__getitem__F   s—   € Øˆà×&Ò&Ü˜s“m‰GØ×%Ò%Ø—i‘i“kˆGà˜$×.Ñ.Ñ.Ø˜$×*Ñ*Ñ*Ø04×0CÑ0C×0NÑ0NÈt×O_ÑO_Ð`gÑOhÓ0i×0oÑ0o�×$Ñ$ WÒ-ä˜s“mÐ#à×#Ñ# GÑ,Ð,r+   c                ó,   — t        | j                  «      S r!   )Úlenr%   ©r&   s    r   Ú__len__zAzureKeyVaultMapping.__len__V   s   € Ü�4×#Ñ#Ó$Ð$r+   c                óH   — t        | j                  j                  «       «      S r!   )Úiterr%   Úkeysr?   s    r   Ú__iter__zAzureKeyVaultMapping.__iter__Y   s   € Ü�D×$Ñ$×)Ñ)Ó+Ó,Ð,r+   N)r'   r   r(   Úboolr)   rE   ÚreturnÚNone)rF   zdict[str, str])r:   ÚstrrF   ú
str | None)rF   Úint)rF   zIterator[str])	Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r*   r$   r<   r@   rD   © r+   r   r   r   (   sS   … Ø*Ó*Ø Ó ØÓð
?à#ð
?ð ð
?ð  $ð	
?ð
 
ó
?ó=ó-ó %ô-r+   r   c                  ó†   ‡ — 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   Ú_credentialc
           	     óŽ   •— t        «        || _        || _        || _        || _        t
        ‰
| �  ||rdn|||rdndd||	¬«       y )NFÚ__z--)r(   Ú
env_prefixÚenv_nested_delimiterÚenv_ignore_emptyÚenv_parse_none_strÚenv_parse_enums)r   rR   rS   Ú_dash_to_underscorer#   Úsuperr*   )r&   Úsettings_clsÚurlÚ
credentialÚdash_to_underscorer(   r)   rV   rY   rZ   Ú	__class__s             €r   r*   z$AzureKeyVaultSettingsSource.__init__a   sY   ø€ ô 	Ô ØˆŒ	Ø%ˆÔØ#5ˆÔ Ø&;ˆÔ#Ü‰ÑØÙ$9™5¸~Ø!Ù)>¡ÀDØ"Ø1Ø+ð 	õ 	
r+   c                óˆ   — t        | j                  | j                  ¬«      }t        || j                  | j
                  ¬«      S )N)Ú	vault_urlr_   )r'   r(   r)   )r   rR   rS   r   r(   r#   )r&   r'   s     r   Ú_load_env_varsz*AzureKeyVaultSettingsSource._load_env_vars|   s:   € Ü$¨t¯y©yÀT×EUÑEUÔVˆÜ#Ø'Ø×.Ñ.Ø"&×"=Ñ"=ô
ð 	
r+   c                óÔ   •— | j                   r t        d„ t        ‰| �  ||«      D «       «      S | j                  r t        d„ t        ‰| �  ||«      D «       «      S t        ‰| �  ||«      S )Nc              3  ó8   K  — | ]  }|d    |d    |d   f–— Œ y­w)r   é   NrO   ©r0   Úxs     r   r2   zBAzureKeyVaultSettingsSource._extract_field_info.<locals>.<genexpr>†   s&   è ø€ ÐcÑ4b¨q˜˜1™˜q ™t Q q¡TÔ*Ñ4bùs   ‚c              3  óX   K  — | ]"  }|d    |d   j                  dd«      |d   f–— Œ$ y­w)r   r
   Ú_Ú-rg   N)Úreplacerh   s     r   r2   zBAzureKeyVaultSettingsSource._extract_field_info.<locals>.<genexpr>‰   s1   è ø€ ÐuÑFtÀ˜˜1™˜q ™tŸ|™|¨C°Ó5°q¸±tÔ<ÑFtùs   ‚(*)r#   Úlistr\   Ú_extract_field_infor[   )r&   ÚfieldÚ
field_namera   s      €r   ro   z/AzureKeyVaultSettingsSource._extract_field_info„   se   ø€ Ø×&Ò&ÜÑc´E±GÑ4OÐPUÐWaÔ4bÓcÓcÐcà×#Ò#ÜÑuÄeÁgÑFaÐbgÐisÔFtÓuÓuÐuä‰wÑ*¨5°*Ó=Ð=r+   c                óh   — | j                   j                  › d| j                  ›d| j                  ›d�S )Nz(url=z, env_nested_delimiter=Ú))ra   rK   rR   rW   r?   s    r   Ú__repr__z$AzureKeyVaultSettingsSource.__repr__�   s4   € Ø—.‘.×)Ñ)Ð*¨%°·	±	¨}Ð<SÐTX×TmÑTmÐSpÐpqÐrÐrr+   )FNFNNN)r]   ztype[BaseSettings]r^   rH   r_   r   r`   rE   r(   úbool | Noner)   rE   rV   rI   rY   rI   rZ   ru   rF   rG   )rF   zMapping[str, Optional[str]])rp   r	   rq   rH   rF   zlist[tuple[str, str, bool]])rF   rH   )	rK   rL   rM   rN   r*   rd   ro   rt   Ú__classcell__)ra   s   @r   rQ   rQ   ]   s™   ø… Ø
ƒIØ Ó ð $)Ø&*Ø&+Ø!%Ø)-Ø'+ð
à(ð
ð ð
ð $ð	
ð
 !ð
ð $ð
ð  $ð
ð ð
ð 'ð
ð %ð
ð 
õ
ó6
õ>÷sr+   rQ   )rF   rG   )Ú__doc__Ú
__future__r   Ú_annotationsÚcollections.abcr   r   Útypingr   r   Úpydantic.alias_generatorsr   Úpydantic.fieldsr	   Úenvr   r   r   r   r   r   r   Úpydantic_settings.mainr   r   rH   r   rQ   Ú__all__rO   r+   r   Ú<module>r�      sv   ðÙ &å 2ç -ß *å .Ý %å "áÝ6Ý;Ý3æ3à€OØ ÐØ€Lóô2-˜7 3¨°©Ð#5Ñ6ô 2-ôj1sÐ"3ô 1sðh "Ð#@Ð
A�r+   