ó
    ûÞ j9  ã                  óú   • S r SSKJr  SSKJrJr  SSKJr  SSK	J
r
  SSKJr  SSKJr  S	S
KJr  \(       a  SSKJq  SSKJq  SSKJq  SSKJr  OSqSqSqSS jr " S S\\\S-  4   5      r " S S\5      rSS/rg)z Azure Key Vault settings source.é    )Úannotations)ÚIteratorÚMapping)ÚTYPE_CHECKING)Úto_snake)Ú	FieldInfoé   )Ú	InitStateé   )ÚEnvSettingsSource©ÚTokenCredential©ÚResourceNotFoundError©ÚSecretClient)ÚBaseSettingsNc                 óf   •  SSK Jq  SSKJq  SSKJq  g ! [         a  n [        S5      U eS n A ff = f)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    Úc/var/www/html/gaurav/venv/lib/python3.13/site-packages/pydantic_settings/sources/providers/azure.pyÚimport_azure_key_vaultr      s3   € ð
Ý:Ý?Þ7øÜó ÜØró
àð	ûðús   ‚ •
0Ÿ+«0c                  óz   • \ rS rSr% S\S'   S\S'   S\S'             SS jrSS	 jrSS
 jrSS jrSS jr	Sr
g)ÚAzureKeyVaultMappingé)   zdict[str, str | None]Ú_loaded_secretsr   Ú_secret_clientz	list[str]Ú_secret_namesc                ó€   • 0 U l         Xl        X l        X0l        U(       a  UOSU l        U R                  5       U l        g )NÚ )r   r    Ú_case_sensitiveÚ_snake_case_conversionÚ_env_prefixÚ_load_remoteÚ_secret_map)ÚselfÚsecret_clientÚcase_sensitiveÚsnake_case_conversionÚ
env_prefixs        r   Ú__init__ÚAzureKeyVaultMapping.__init__.   s;   € ð  "ˆÔØ+ÔØ-ÔØ&;Ô#Þ)3™:¸ˆÔØ+/×+<Ñ+<Ó+>ˆÕó    c           
     óÚ  • S U R                   R                  5        5       nU R                  (       am  0 nU Hc  nUR                  U R                  5      (       a3  X2U R                   [        U[        U R                  5      S  5       3'   MV  X2[        U5      '   Me     U$ U R                  (       a  U Vs0 sH  o3U_M     sn$ U Vs0 sH  o3R                  5       U_M     sn$ s  snf s  snf )Nc              3  ó‚   #   • U H6  oR                   (       d  M  UR                  (       d  M(  UR                   v •  M8     g 7f©N)ÚnameÚenabled)Ú.0Úsecrets     r   Ú	<genexpr>Ú4AzureKeyVaultMapping._load_remote.<locals>.<genexpr>=   s+   é € ð '
Ù&V˜F×ZeÕZe‹KÐjp×jxÕjx‹KˆF�KŽKÒ&Vùs   ‚?™?¬?)	r    Úlist_properties_of_secretsr%   Ú
startswithr&   r   Úlenr$   Úlower)r)   Úsecret_namesÚname_mapr4   s       r   r'   Ú!AzureKeyVaultMapping._load_remote<   sÙ   € ñ'
Ø&*×&9Ñ&9×&TÑ&TÔ&Vó'
ˆð ×&×&Ø')ˆHÛ$�Ø—?‘? 4×#3Ñ#3×4Ñ4Ø_c × 0Ñ 0Ð1´(¸4ÄÀD×DTÑDTÓ@UÐ@WÐ;XÓ2YÐ1ZÐ[Ó\à/3œX d›^Ó,ñ	 %ð
 ˆOà××Ù+7Ó8©< 4˜$’J©<Ñ8Ð8á/;Ó<©| t—
‘
“˜dÒ"©|Ñ<Ð<ùò 9ùâ<s   Â5C#ÃC(c                ó  • UnU R                   (       a\  UR                  U R                  5      (       a0  U R                   [        U[	        U R                  5      S  5       3nO-[        U5      nO!U R
                  (       d  UR                  5       nX R                  ;  aZ  X R                  ;   a@  U R                  R                  U R                  U   5      R                  U R                  U'   O[        U5      eU R                  U   $ r3   )r%   r;   r&   r   r<   r$   r=   r   r(   r    Ú
get_secretÚvalueÚKeyError)r)   ÚkeyÚnew_keys      r   Ú__getitem__Ú AzureKeyVaultMapping.__getitem__O   sÖ   € Øˆà×&×&Ø�~‰~˜d×.Ñ.×/Ñ/Ø!×-Ñ-Ð.¬x¸¼CÀ×@PÑ@PÓ<QÐ<SÐ8TÓ/UÐ.VÐW‘ä" 3›-‘à×%×%Ø—i‘i“kˆGà×.Ñ.Ó.Ø×*Ñ*Ó*Ø04×0CÑ0C×0NÑ0NÈt×O_ÑO_Ð`gÑOhÓ0i×0oÑ0o�×$Ñ$ WÒ-ä˜s“mÐ#à×#Ñ# GÑ,Ð,r0   c                ó,   • [        U R                  5      $ r3   )r<   r(   ©r)   s    r   Ú__len__ÚAzureKeyVaultMapping.__len__c   s   € Ü�4×#Ñ#Ó$Ð$r0   c                óH   • [        U R                  R                  5       5      $ r3   )Úiterr(   ÚkeysrJ   s    r   Ú__iter__ÚAzureKeyVaultMapping.__iter__f   s   € Ü�D×$Ñ$×)Ñ)Ó+Ó,Ð,r0   )r$   r&   r   r    r(   r%   N)
r*   r   r+   Úboolr,   rR   r-   ú
str | NoneÚreturnÚNone)rT   zdict[str, str])rE   ÚstrrT   rS   )rT   Úint)rT   zIterator[str])Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__r.   r'   rG   rK   rP   Ú__static_attributes__© r0   r   r   r   )   s]   ‡ Ø*Ó*Ø Ó ØÓð?à#ð?ð ð?ð  $ð	?ð
 ð?ð 
ô?ô=ô&-ô(%÷-r0   r   c                  ó¢   ^ • \ rS rSr% S\S'   S\S'          S                     SU 4S jjjrSS jrSU 4S jjrSS	 jrS
r	U =r
$ )ÚAzureKeyVaultSettingsSourceéj   rV   Ú_urlr   Ú_credentialc                ó–   >• [        5         X l        X0l        X@l        X`l        [
        TU ]  UU(       a  SOUUU(       a  SOSSUU	U
S9  g )NTÚ__z--F)r+   r-   Úenv_nested_delimiterÚenv_ignore_emptyÚenv_parse_none_strÚenv_parse_enumsÚ_init_state)r   rb   rc   Ú_dash_to_underscorer%   Úsuperr.   )r)   Úsettings_clsÚurlÚ
credentialÚdash_to_underscorer+   r,   r-   rh   ri   rj   Ú	__class__s              €r   r.   Ú$AzureKeyVaultSettingsSource.__init__n   sT   ø€ ô 	Ô ØŒ	Ø%ÔØ#5Ô Ø&;Ô#Ü‰ÑØÞ#8™4¸nØ!Þ)>¡ÀDØ"Ø1Ø+Ø#ð 	ò 		
r0   c                ó’   • [        U R                  U R                  S9n[        UU R                  U R
                  U R                  S9$ )N)Ú	vault_urlro   )r*   r+   r,   r-   )r   rb   rc   r   r+   r%   r-   )r)   r*   s     r   Ú_load_env_varsÚ*AzureKeyVaultSettingsSource._load_env_vars‹   sA   € Ü$¨t¯y©yÀT×EUÑEUÑVˆÜ#Ø'Ø×.Ñ.Ø"&×"=Ñ"=Ø—‘ñ	
ð 	
r0   c                óD  >• U R                   (       a+  [        TU ]	  X5       Vs/ sH  o3S   US   US   4PM     nnU$ U R                  (       a:  [        TU ]	  X5       Vs/ sH   o3S   US   R	                  SS5      US   4PM"     sn$ [        TU ]	  X5      $ s  snf s  snf )Nr   r   r	   Ú_Ú-)r%   rl   Ú_extract_field_infork   Úreplace)r)   ÚfieldÚ
field_nameÚxÚ
field_inforq   s        €r   rz   Ú/AzureKeyVaultSettingsSource._extract_field_info”   s§   ø€ Ø×&×&Ü6;±gÑ6QÐRWÔ6dÓeÑ6d°˜Q™4  1¡ q¨¡tÓ,Ñ6dˆJÐeØÐà×#×#ÜBGÁ'ÑB]Ð^cÔBpÓqÑBp¸Q�q‘T˜1˜Q™4Ÿ<™<¨¨SÓ1°1°Q±4Ó8ÑBpÑqÐqä‰wÑ*¨5Ó=Ð=ùò fùò rs   ¤BÁ &Bc                ól   • U R                   R                   SU R                  < SU R                  < S3$ )Nz(url=z, env_nested_delimiter=Ú))rq   rX   rb   rf   rJ   s    r   Ú__repr__Ú$AzureKeyVaultSettingsSource.__repr__ž   s4   € Ø—.‘.×)Ñ)Ð*¨%°·	±	©}Ð<SÐTX×TmÑTmÑSpÐpqÐrÐrr0   )rc   rk   r%   rb   )FNFNNNN)rm   ztype[BaseSettings]rn   rV   ro   r   rp   rR   r+   úbool | Noner,   rR   r-   rS   rh   rS   ri   r…   rj   zInitState | NonerT   rU   )rT   zMapping[str, str | None])r|   r   r}   rV   rT   zlist[tuple[str, str, bool]])rT   rV   )rX   rY   rZ   r[   r\   r.   ru   rz   rƒ   r]   Ú__classcell__)rq   s   @r   r`   r`   j   s±   ø‡ Ø
ƒIØ Ó ð $)Ø&*Ø&+Ø!%Ø)-Ø'+Ø(,ð
à(ð
ð ð
ð $ð	
ð
 !ð
ð $ð
ð  $ð
ð ð
ð 'ð
ð %ð
ð &ð
ð 
÷
ð 
ô:
÷>÷sò sr0   r`   )rT   rU   )Ú__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   rV   r   r`   Ú__all__r^   r0   r   Ú<module>r’      sx   ðÙ &å 2ç -Ý  å .Ý %å Ý "æÝ6Ý;Ý3æ3à€OØ ÐØ€Lôô>-˜7 3¨¨d©
 ?Ñ3ô >-ôB5sÐ"3ô 5sðp "Ð#@Ð
A�r0   