+
    4O|j  ã                  ó˜  € R t ^ RIHt ^ RIt^ RIt^ RIHtHt ^ RIH	t	 ^ RI
Ht ^ RIHt ^ RIHt ] ! R R	4      4       t] ! R
 R4      4       t] ! R R4      4       t ! R R]P&                  4      t] ! R R4      4       t ^tRt^t^<tRt ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      tR R lt R# ) zFConstants, types, and classes shared across OIDC auth implementations.)ÚannotationsN)Ú	dataclassÚfield)ÚOptional)Úquote)Ú_get_azure_response)Ú_get_gcp_responsec                  óZ   € ] tR t^t$ R]R&   ]! RR7      tR]R&   ]! RR7      tR]R&   R	tR# )
ÚOIDCIdPInfoÚstrÚissuerN©ÚdefaultúOptional[str]ÚclientIdzOptional[list[str]]ÚrequestScopes© )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__r   r   r   Ú__static_attributes__r   ó    ÚQC:\Users\alokc\chatbot\backend\venv\Lib\site-packages\pymongo/auth_oidc_shared.pyr
   r
      s&   ‡ àƒKÙ#¨DÔ1€HˆmÓ1Ù).°tÔ)<€MÐ&×<r   r
   c                  ón   € ] tR t^$t$ R]R&   R]R&   R]R&   ]! RR7      tR	]R
&   ]! RR7      tR]R&   RtR# )ÚOIDCCallbackContextÚfloatÚtimeout_secondsr   ÚusernameÚintÚversionNr   r   Úrefresh_tokenzOptional[OIDCIdPInfo]Úidp_infor   )	r   r   r   r   r   r   r"   r#   r   r   r   r   r   r   $   s1   ‡ àÓØƒMØƒLÙ#(°Ô#6€M�=Ó6Ù&+°DÔ&9€HÐ#×9r   r   c                  óZ   € ] tR t^-t$ R]R&   ]! RR7      tR]R&   ]! RR7      tR]R&   R	tR# )
ÚOIDCCallbackResultr   Úaccess_tokenNr   zOptional[float]Úexpires_in_secondsr   r"   r   )	r   r   r   r   r   r   r'   r"   r   r   r   r   r%   r%   -   s'   ‡ àÓÙ*/¸Ô*=Ð˜Ó=Ù#(°Ô#6€M�=×6r   r%   c                  óD   € ] tR t^4tRt]P                  R R l4       tRtR# )ÚOIDCCallbackz)A base class for defining OIDC callbacks.c               ó    € V ^8„  d   QhRRRR/# ©é   Úcontextr   Úreturnr%   r   )Úformats   "r   Ú__annotate__ÚOIDCCallback.__annotate__8   s   € ÷ >ñ >Ð0ð >Ð5Gñ >r   c                ó   € R# )z/Convert the given BSON value into our own type.Nr   ©Úselfr-   s   &&r   ÚfetchÚOIDCCallback.fetch7   s   ‚ r   r   N)	r   r   r   r   Ú__doc__ÚabcÚabstractmethodr5   r   r   r   r   r)   r)   4   s   † Ù3à×Ñô>ó ô>r   r)   c                  ó²   € ] tR t^<t$ ]! RR7      tR]R&   ]! RR7      tR]R&   ]! RR7      tR]R&   ]! ]	R7      t
R	]R
&   ]! RR7      tR]R&   RtR]R&   RtR# )Ú_OIDCPropertiesNr   zOptional[OIDCCallback]ÚcallbackÚhuman_callbackr   Úenvironment)Údefault_factoryz	list[str]Úallowed_hostsÚtoken_resourceÚ r   r   r   )r   r   r   r   r   r<   r   r=   r>   Úlistr@   rA   r   r   r   r   r   r;   r;   <   sY   ‡ á',°TÔ':€HÐ$Ó:Ù-2¸4Ô-@€NÐ*Ó@Ù!&¨tÔ!4€K�Ó4Ù$°TÔ:€M�9Ó:Ù$)°$Ô$7€N�MÓ7Ø€Hˆc×r   r;   gš™™™™™¹?c                  ó"   € ] tR t^OtR R ltRtR# )Ú_OIDCTestCallbackc               ó    € V ^8„  d   QhRRRR/# r+   r   )r/   s   "r   r0   Ú_OIDCTestCallback.__annotate__P   ó    € ÷ Gñ GÐ0ð GÐ5Gñ Gr   c                	ó  € \         P                  P                  R 4      pV'       g   \        R4      h\	        V4      ;_uu_ 4       p\        VP                  4       P                  4       R7      uuRRR4       #   + '       g   i     R# ; i)ÚOIDC_TOKEN_FILEzIMONGODB-OIDC with an "test" provider requires "OIDC_TOKEN_FILE" to be set©r&   N©ÚosÚenvironÚgetÚRuntimeErrorÚopenr%   ÚreadÚstrip©r4   r-   Ú
token_fileÚfids   &&  r   r5   Ú_OIDCTestCallback.fetchP   s]   € Ü—Z‘Z—^‘^Ð$5Ó6ˆ
ßÜØ[óð ô �*×Ô Ü%°3·8±8³:×3CÑ3CÓ3EÔF÷ ××Óúó   Á(A9Á9B
	r   N©r   r   r   r   r5   r   r   r   r   rE   rE   O   ó   † ÷Gñ Gr   rE   c                  ó"   € ] tR t^ZtR R ltRtR# )Ú_OIDCAWSCallbackc               ó    € V ^8„  d   QhRRRR/# r+   r   )r/   s   "r   r0   Ú_OIDCAWSCallback.__annotate__[   rH   r   c                	ó  € \         P                  P                  R 4      pV'       g   \        R4      h\	        V4      ;_uu_ 4       p\        VP                  4       P                  4       R7      uuRRR4       #   + '       g   i     R# ; i)ÚAWS_WEB_IDENTITY_TOKEN_FILEzTMONGODB-OIDC with an "aws" provider requires "AWS_WEB_IDENTITY_TOKEN_FILE" to be setrK   NrL   rT   s   &&  r   r5   Ú_OIDCAWSCallback.fetch[   s]   € Ü—Z‘Z—^‘^Ð$AÓBˆ
ßÜØfóð ô �*×Ô Ü%°3·8±8³:×3CÑ3CÓ3EÔF÷ ××ÓúrX   r   NrY   r   r   r   r\   r\   Z   rZ   r   r\   c                  ó.   € ] tR t^etR R ltR R ltRtR# )Ú_OIDCAzureCallbackc               ó    € V ^8„  d   QhRRRR/# ©r,   rA   r   r.   ÚNoner   )r/   s   "r   r0   Ú_OIDCAzureCallback.__annotate__f   ó   € ÷ 4ñ 4 sð 4¨tñ 4r   c                	ó&   € \        V4      V n        R # ©N©r   rA   ©r4   rA   s   &&r   Ú__init__Ú_OIDCAzureCallback.__init__f   ó   € Ü# NÓ3ˆÖr   c               ó    € V ^8„  d   QhRRRR/# r+   r   )r/   s   "r   r0   rg   i   s   € ÷ 
ñ 
Ð0ð 
Ð5Gñ 
r   c                	óŽ   € \        V P                  VP                  VP                  4      p\	        VR ,          VR,          R7      # )r&   Ú
expires_in)r&   r'   )r   rA   r   r   r%   ©r4   r-   Úresps   && r   r5   Ú_OIDCAzureCallback.fetchi   s>   € Ü" 4×#6Ñ#6¸×8HÑ8HÈ'×JaÑJaÓbˆÜ!Ø˜nÕ-À$À|ÕBTô
ð 	
r   ©rA   N©r   r   r   r   rm   r5   r   r   r   r   rc   rc   e   s   † õ4÷
ñ 
r   rc   c                  ó.   € ] tR t^ptR R ltR R ltRtR# )Ú_OIDCGCPCallbackc               ó    € V ^8„  d   QhRRRR/# re   r   )r/   s   "r   r0   Ú_OIDCGCPCallback.__annotate__q   rh   r   c                	ó&   € \        V4      V n        R # rj   rk   rl   s   &&r   rm   Ú_OIDCGCPCallback.__init__q   ro   r   c               ó    € V ^8„  d   QhRRRR/# r+   r   )r/   s   "r   r0   r{   t   s    € ÷ Eñ EÐ0ð EÐ5Gñ Er   c                	óh   € \        V P                  VP                  4      p\        VR ,          R7      # )r&   rK   )r   rA   r   r%   rs   s   && r   r5   Ú_OIDCGCPCallback.fetcht   s*   € Ü  ×!4Ñ!4°g×6MÑ6MÓNˆÜ!¨t°NÕ/CÔDÐDr   rv   Nrw   r   r   r   ry   ry   p   s   † õ4÷Eñ Er   ry   c                  ó"   € ] tR t^ytR R ltRtR# )Ú_OIDCK8SCallbackc               ó    € V ^8„  d   QhRRRR/# r+   r   )r/   s   "r   r0   Ú_OIDCK8SCallback.__annotate__z   s    € ÷ Añ AÐ0ð AÐ5Gñ Ar   c                	ó*   € \        \        4       R 7      # )rK   )r%   Ú_get_k8s_tokenr3   s   &&r   r5   Ú_OIDCK8SCallback.fetchz   s   € Ü!¬~Ó/?Ô@Ð@r   r   NrY   r   r   r   r‚   r‚   y   s   † ÷Añ Ar   r‚   c               ó   € V ^8„  d   QhRR/# )r,   r.   r   r   )r/   s   "r   r0   r0   ~   s   € ÷ ñ ˜ñ r   c                 óø   € R p R F1  pV\         P                  9   g   K  \         P                  V,          p K3  	  \        V 4      ;_uu_ 4       pVP                  4       uuRRR4       #   + '       g   i     R# ; i)z3/var/run/secrets/kubernetes.io/serviceaccount/tokenN)ÚAZURE_FEDERATED_TOKEN_FILEr`   )rM   rN   rQ   rR   )ÚfnameÚkeyrV   s      r   r†   r†   ~   sM   € ØA€EÛLˆØ”"—*‘*ÖÜ—J‘J˜s•OŠEñ Mô 
ˆe�Œ˜Ø�x‰x‹z÷ 
��‹ús   ÁA(Á(A9	i,  )!r7   Ú
__future__r   r8   rM   Údataclassesr   r   Útypingr   Úurllib.parser   Úpymongo._azure_helpersr   Úpymongo._gcp_helpersr   r
   r   r%   ÚABCr)   r;   ÚTOKEN_BUFFER_MINUTESÚHUMAN_CALLBACK_TIMEOUT_SECONDSÚCALLBACK_VERSIONÚ MACHINE_CALLBACK_TIMEOUT_SECONDSÚTIME_BETWEEN_CALLS_SECONDSrE   r\   rc   ry   r‚   r†   r   r   r   Ú<module>r™      s  ðñ  MÝ "ã 
Û 	ß (Ý Ý å 6Ý 2ð ÷=ð =ó ð=ð ÷:ð :ó ð:ð ÷7ð 7ó ð7ô>�3—7‘7ô >ð ÷ð ó ðð <àÐ Ø!'Ð ØÐ Ø#%Ð  Ø Ð ôG˜ô GôG�|ô Gô
˜ô 
ôE�|ô EôA�|ô A÷
r   