§
    ­	Êj¸&  ã            
       óv  — d dl mZmZmZmZ d dlmZmZmZ d dl	m
Z
mZ d dlmZ d dlmZmZ d dlmZ d dlmZmZ d dlmZ d d	lmZmZmZ d d
lmZ d dlm Z  d dl!m"Z"m#Z#m$Z$m%Z% d dl&m'Z'm(Z( d dl)m*Z* d dl+m,Z,m-Z- d dl.m/Z/  e0h d£¦  «        Z1 G d„ de/d¬¦  «        Z2 e
d¬¦  «         G d„ d¦  «        ¦   «         Z3 e
d¬¦  «         G d„ d¦  «        ¦   «         Z4 ej5        d¦  «        Z6 e¦   «         Z7d7dedz  de4dz  fd „Z8d7dedz  de3dz  fd!„Z9d"eez  ddfd#„Z:d"e;de<fd$„Z=d"e;de>fd%„Z?dd&œd'e<d(ed)ef         dz  ded         fd*„Z@ed+e4d'e<d(ed)ef         dz  ded         fd,„¦   «         ZAd(ed)ef         d-eBe<ef         defd.„ZCdd/œd0ee<ef         d1e<dz  d2e>ddfd3„ZD e0h d4£¦  «        ZEd5ede>fd6„ZFdS )8é    )ÚCallableÚIteratorÚMutableMappingÚSequence)ÚAbstractContextManagerÚcontextmanagerÚnullcontext)Ú	dataclassÚfield)Útime_ns)Ú	AnnotatedÚAny)ÚDoc)ÚRequestValidationErrorÚWebSocketRequestValidationError)Úcontext)ÚLoggerÚLoggerProviderÚSeverityNumber)ÚContext)ÚMeterProvider)ÚSpanÚ
StatusCodeÚTracerÚTracerProvider)ÚHTTPExceptionÚWebSocketException)ÚRequest)Ú	WebSocketÚWebSocketDisconnect)Ú	TypedDict>
   ÚGETÚPUTÚHEADÚPOSTÚPATCHÚQUERYÚTRACEÚDELETEÚCONNECTÚOPTIONSc                   óÚ  — e Zd ZU dZeedz   ed¦  «        f         ed<   eedz   ed¦  «        f         ed<   ee	dz   ed¦  «        f         ed<   ee
 ed	¦  «        f         ed
<   ee
 ed¦  «        f         ed<   ee
 ed¦  «        f         ed<   ee
 ed¦  «        f         ed<   ee
 ed¦  «        f         ed<   eeeeef         ge
f         dz   ed¦  «        f         ed<   dS )ÚTelemetryConfiga.  Optional settings for `FastAPI(telemetry={...})`.

    Omitted settings keep their defaults. FastAPI preserves existing providers
    and their exporters. Environment setup can add exporters when `auto_configure`
    is `True`. Providers supplied by the application are never shut down by FastAPI.
    Nz8Use this provider instead of the global tracer provider.Útracer_providerz7Use this provider instead of the global meter provider.Úmeter_providerz8Use this provider instead of the global logger provider.Úlogger_providerzGEnable HTTP request and WebSocket connection spans. Defaults to `True`.Útracingz0Enable HTTP request metrics. Defaults to `True`.ÚmetricszwRecord validation failures and unhandled exceptions, including exception messages and stack traces. Defaults to `True`.Úlogsz`Trace dependency resolution, endpoints, serialization, and background tasks. Defaults to `True`.Úoperation_spanszªAdd OTLP exporters from environment variables. Defaults to `False` unless `FASTAPI_OTEL_AUTO_CONFIGURE=true` is set. An explicit value overrides the environment variable.Úauto_configurezpA function that receives the ASGI scope. Return `True` to skip FastAPI telemetry for that request or connection.Úexclude)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   Ú__annotations__r   r   Úboolr   r   Ústrr   © ó    úFC:\Projects\Muse2API\.venv\Lib\site-packages\fastapi/telemetry/_api.pyr-   r-   #   sü  € € € € € € ðð ð Ø˜ÑØˆÐFÑGÔGð	Iôð ð ñ ð Ø˜ÑØˆÐEÑFÔFð	Hôð ð ñ ð Ø˜ÑØˆÐFÑGÔGð	Iôð ð ñ ð ØØˆÐUÑVÔVð	Xôð ð ñ ð �t˜S˜SÐ!SÑTÔTÐTÔUÐUÐUÑUØ
ØØˆð Fñ	
ô 	
ð	ôð ð ñ ð ØØˆØnñ	
ô 	
ð	ôð ð ñ ð ØØˆð(ñ	
ô 	
ð	ôð ð ñ ð Ø�.  c Ô*Ð+¨TÐ1Ô2°TÑ9ØˆØ~ñ	
ô 	
ð	ôð ð ñ ð ð r?   r-   F)ÚtotalT)Úkw_onlyc                   ó8  — e Zd ZU dZdZeedz   ed¦  «        f         ed<   dZ	ee
dz   ed¦  «        f         ed<   dZee ed¦  «        f         ed<   dZeeeef         dz   ed	¦  «        f         ed
<   dZeee         dz   ed¦  «        f         ed<   dS )ÚTelemetryDataa  Local request or connection data for synchronous OpenTelemetry processors.

    FastAPI populates these fields as it handles the request or connection.
    Integrations should treat the data as read-only and apply their capture and
    redaction settings before exporting any of it.
    Nz5The request, available when its route handler starts.Úrequestz7The WebSocket, available when its route handler starts.Ú	websocketz6The body read by FastAPI, before parameter validation.ÚbodyzEThe original parsed arguments, available after dependency resolution.Úvaluesz?Request validation errors, including the original input values.Úerrors)r7   r8   r9   r:   rE   r   r   r   r;   rF   r   rG   r   rH   Údictr=   rI   r   r>   r?   r@   rD   rD   X   sJ  € € € € € € ðð ð 	ð ˆYØ�$‰˜˜ÐSÑTÔTÐTôð ð ñ ð 	ð ˆyØ�DÑØˆÐEÑFÔFð	Hôð ð ñ ð 	ð 	ˆ)ØˆSˆSÐIÑJÔJÐJôð ð ñ ð 	ð ˆIØˆS�#ˆXŒ˜ÑØˆÐSÑTÔTð	Vôð ð ñ ð 	ð ˆIØ�Œ˜ÑØˆÐMÑNÔNð	Pôð ð ñ ð ð r?   rD   c                   óà   — e Zd ZU edz  ed<   eed<   dZedz  ed<   dZe	dz  ed<   dZ
edz  ed<   dZedz  ed<    ee¬¦  «        Zedz  ed	<   d
Zeed<    eed¬¦  «        Zee         ed<   dS )Ú_RequestTelemetryNÚspanÚspan_methodÚtracerÚloggerÚrouteÚstatus_code)Údefault_factoryÚdataÚ Ú_mount_prefixF)rS   ÚreprÚ_exceptions)r7   r8   r9   r   r;   r=   rO   r   rP   r   rQ   rR   Úintr   rD   rT   rV   ÚlistrX   ÚBaseExceptionr>   r?   r@   rL   rL   u   sÔ   € € € € € € à
�‰+ÐÐÑØÐÐÑØ €FˆF�T‰MÐ Ð Ñ Ø €FˆF�T‰MÐ Ð Ñ Ø€Eˆ3�‰:ÐÐÑØ"€K��t‘Ð"Ð"Ñ"Ø!& °}Ð!EÑ!EÔ!E€Dˆ-˜$Ñ
ÐEÐEÑEØ€M�3ÐÐÑØ', u¸TÈÐ'NÑ'NÔ'N€K��mÔ$ÐNÐNÑNÐNÐNr?   rL   zfastapi.requestNr   Úreturnc                 óh   — t          j        t          | ¦  «        }t          |t          ¦  «        r|nd S ©N)Úotel_contextÚ	get_valueÚ_REQUEST_TELEMETRY_KEYÚ
isinstancerL   )r   Úvalues     r@   Ú_get_request_telemetryrd   †   s/   € ÝÔ"Õ#9¸7ÑCÔC€EÝ˜uÕ&7Ñ8Ô8ÐBˆ5ˆ5¸dÐBr?   c                 ó6   — t          | ¦  «        }|�|j        ndS )am  Read local FastAPI data from an OpenTelemetry context.

    Defaults to the current context. Log processors can pass `record.context`.
    Read the data synchronously while FastAPI handles the request or connection.
    After it finishes, this returns `None`, including for retained contexts.
    This data is not automatically added to exported spans or logs.
    N)rd   rT   )r   Úrequest_telemetrys     r@   Úget_telemetry_datarg   ‹   s&   € õ /¨wÑ7Ô7ÐØ%6Ð%BÐÔ!Ð!ÈÐLr?   Úexcc                 ó¦  — t          ¦   «         }|€d S |j        �Dt          | t          ¦  «        r| j        |j        _        |                      ¦   «         |j        _        |j        �ldt          |                      ¦   «         ¦  «        i}|j        �
|j        |d<   |j         	                    dt          ¦   «         t          j        dd|¬¦  «         d S d S )Nzfastapi.validation.error_countú
http.routezfastapi.validation.failedÚWARNzRequest validation failed)Ú
event_nameÚ	timestampÚseverity_numberÚseverity_textrG   Ú
attributes)rd   rT   rb   r   rG   rI   rP   ÚlenrQ   Úemitr   r   rk   )rh   rf   rp   s      r@   Ú_validation_failedrs   —   sá   € õ /Ñ0Ô0ÐØÐ ØˆØÔÐ)Ý�cÕ1Ñ2Ô2ð 	3Ø*-¬(ÐÔ"Ô'Ø(+¯
ª
©¬ÐÔÔ%ØÔÐ+à,­c°#·*²*±,´,Ñ.?Ô.?ð&
ˆ
ð Ô"Ð.Ø'8Ô'>ˆJ�|Ñ$ØÔ ×%Ò%Ø2Ý‘i”iÝ*Ô/Ø Ø,Ø!ð 	&ñ 	
ô 	
ð 	
ð 	
ð 	
ð ,Ð+r?   c                 óf   — t          | ¦  «        }|j        dk    r|j        › d|j        › �n|j        S )NÚbuiltinsú.)Útyper8   r9   )rh   Úclss     r@   Ú_exception_typery   ±   sB   € Ý
ˆs‰)Œ)€Cð Œ>˜ZÒ'Ð'ð Œ>Ð.Ð.˜CÔ,Ð.Ð.Ð.àÔðr?   c                 ó>   — t          | t          ¦  «        o| j        dv S )N)iè  ié  )rb   r    Úcode)rh   s    r@   Ú_normal_websocket_disconnectr|   º   s   € Ý�cÕ.Ñ/Ô/ÐL°C´HÀÐ4LÐLr?   )ÚfunctionÚnamer}   .c                 ób   — t          ¦   «         }|�|j        €t          S t          || |¬¦  «        S )N)rf   r~   r}   )rd   rO   Ú_NO_OPERATIONÚ_traced_operation)r~   r}   rf   s      r@   Ú
_operationr‚   ¾   sC   € õ /Ñ0Ô0ÐØÐ Ð$5Ô$<Ð$DÝÐÝØ+°$Àðñ ô ð r?   rf   c           	   #   ój  K  — | j         €J ‚i }|�Pt          |dt          |¦  «        j        ¦  «        }t          |dt          |¦  «        j        ¦  «        }|› d|› �|d<   | j                              d|› �|dd¬¦  «        5 }	 d V — n’# t          $ r…}|dk    s7t          |t          t          t          t          f¦  «        sQt          |¦  «        sB|                     d	t          |¦  «        ¦  «         |                     t           j        ¦  «         ‚ d }~ww xY w	 d d d ¦  «         d S # 1 swxY w Y   d S )
Nr8   r9   rv   zcode.function.namezfastapi.F)rp   Úrecord_exceptionÚset_status_on_exceptionÚbackground_taskz
error.type)rO   Úgetattrrw   r8   r9   Ústart_as_current_spanÚ	Exceptionrb   r   r   r   r   r|   Úset_attributery   Ú
set_statusr   ÚERROR)rf   r~   r}   rp   ÚmoduleÚqualnamerM   rh   s           r@   r�   r�   É   sµ  è è € ð Ô#Ð/Ð/Ð/Ø€JØÐÝ˜ <µ°h±´Ô1JÑKÔKˆÝ˜8 ^µT¸(±^´^Ô5PÑQÔQˆØ.4Ð+AÐ+A°xÐ+AÐ+Aˆ
Ð'Ñ(Ø	Ô	!×	7Ò	7Ø�4ÐÐØØØ %ð	 
8ñ 
ô 
ð ð
 
ð	ØˆEˆEˆEˆEøÝð 	ð 	ð 	ØÐ(Ò(Ð(ÝØå%Ý.Ý*Ý7ð	ñô ð )õ 5°SÑ9Ô9ð )ð ×"Ò" <µÀÑ1EÔ1EÑFÔFÐFØ—’¥
Ô 0Ñ1Ô1Ð1Øøøøøð	øøøð ðð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s7   ÂD(ÂBÂD(Â
DÂB DÄDÄD(Ä(D,Ä/D,Ú	argumentsc                 óh   — t          d| ¬¦  «        5   | di |¤Žcd d d ¦  «         S # 1 swxY w Y   d S )NÚendpoint)r~   r}   r>   )r‚   )r}   r�   s     r@   Ú_run_sync_endpointr’   ð   sŽ   € õ 
˜¨hÐ	7Ñ	7Ô	7ð %ð %ØˆxÐ$Ð$˜)Ð$Ð$ð%ð %ð %ð %ñ %ô %ð %ð %ð %ð %ð %ð %øøøð %ð %ð %ð %ð %ð %s   ’'§+®+)ÚmountÚscopeÚpathr“   c                 ó’  — |                       d¦  «        }t          |t          ¦  «        r|€d S |r5|                     d¦  «        }|xj        |z  c_        |j        dz   |_        n|j        |z   |_        |j        �K|j                             d|j        ¦  «         |j                             |j	        › d|j        › �¦  «         d S d S )Nzfastapi.telemetryz/{path}rj   ú )
Úgetrb   rL   ÚremovesuffixrV   rQ   rM   rŠ   Úupdate_namerN   )r”   r•   r“   rf   s       r@   Ú_route_selectedr›   ÷   sô   € ð Ÿ	š	Ð"5Ñ6Ô6ÐÝÐ'Õ):Ñ;Ô;ð ¸t¸|Øˆàð IØ× Ò  Ñ+Ô+ˆØÐ'Ô'¨4Ñ/Ð'Ô'Ø"3Ô"AÀIÑ"MÐÔÐà"3Ô"AÀDÑ"HÐÔØÔÐ)ØÔ×,Ò,¨\Ð;LÔ;RÑSÔSÐSØÔ×*Ò*Ø Ô,ÐHÐHÐ/@Ô/FÐHÐHñ	
ô 	
ð 	
ð 	
ð 	
ð *Ð)r?   >   ©zopentelemetry.traceÚProxyTracerProvider©zopentelemetry._logs._internalÚProxyLoggerProvider©zopentelemetry.metrics._internalÚ_ProxyMeterProviderÚproviderc                 óJ   — t          | ¦  «        }|j        |j        ft          v S r^   )rw   r8   r7   Ú_DEFERRED_PROVIDERS)r¢   rx   s     r@   Ú_unconfiguredr¥     s$   € õ ˆx‰.Œ.€CØŒN˜CœLÐ)Õ-@Ð@Ð@r?   r^   )GÚcollections.abcr   r   r   r   Ú
contextlibr   r   r	   Údataclassesr
   r   Útimer   Útypingr   r   Úannotated_docr   Úfastapi.exceptionsr   r   Úopentelemetryr   r_   Úopentelemetry._logsr   r   r   Úopentelemetry.contextr   Úopentelemetry.metricsr   Úopentelemetry.tracer   r   r   r   Ústarlette.exceptionsr   r   Ústarlette.requestsr   Ústarlette.websocketsr   r    Útyping_extensionsr!   Ú	frozensetÚ_HTTP_METHODSr-   rD   rL   Ú
create_keyra   r€   rd   rg   rs   r[   r=   ry   r<   r|   r‚   r�   rJ   r’   r›   r¤   r¥   r>   r?   r@   ú<module>r¹      sï  ðØ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JÐ JØ (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ø Ð Ð Ð Ð Ð Ø !Ð !Ð !Ð !Ð !Ð !Ð !Ð !à Ð Ð Ð Ð Ð Ø VÐ VÐ VÐ VÐ VÐ VÐ VÐ VØ 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FÐ FØ )Ð )Ð )Ð )Ð )Ð )Ø /Ð /Ð /Ð /Ð /Ð /Ø HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HÐ HØ BÐ BÐ BÐ BÐ BÐ BÐ BÐ BØ &Ð &Ð &Ð &Ð &Ð &Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à�	ðð ð ñô €ð 2ð 2ð 2ð 2ð 2�i uð 2ñ 2ô 2ð 2ðj €�4ÐÑÔðð ð ð ð ñ ô ñ Ôðð8 €�4ÐÑÔð	Oð 	Oð 	Oð 	Oð 	Oñ 	Oô 	Oñ Ôð	Oð 1˜Ô0Ð1BÑCÔCÐ Ø�‘”€ðCð C G¨d¡Nð CÐ>OÐRVÑ>Vð Cð Cð Cð Cð
	Mð 	M ¨$¡ð 	M¸-È$Ñ:Nð 	Mð 	Mð 	Mð 	Mð
Ø	Ð"AÑ	Að
à	ð
ð 
ð 
ð 
ð4˜ð ¨3ð ð ð ð ðM mð M¸ð Mð Mð Mð Mð
 9=ðð ð ØðØ$ S¨# XÔ.°Ñ5ðà˜DÔ!ðð ð ð ð ð#à(ð#ð ð#ð �s˜C�xÔ  4Ñ'ð	#ð
 ˆd„^ð#ð #ð #ñ „ð#ðL%Ø˜#˜s˜(Ô#ð%Ø04°S¸#°X´ð%àð%ð %ð %ð %ð INð
ð 
ð 
Ø˜S #˜XÔ&ð
Ø.1°D©jð
ØAEð
à	ð
ð 
ð 
ð 
ð(  �iðð ð ñô Ð ðA˜Cð A Dð Að Að Að Að Að Ar?   