
    Ki                        % S SK r S SKrS SKJr  \R                  " S5      r\R                  \R                  \   \4   r	 " S S\ R                  \R                  \   5      r " S S\ R                  \R                  \   5      r " S S	\\R                  \\	4      5      r\" 5       r\\   \S
'    " S S\\R$                  \\	4      5      r\" 5       r\\   \S'    " S S\ R                  5      rg)    N)ContextCarrierTc            	           \ rS rSrSr\R                  S\S\S\	R                  \	R                  \      4S j5       r\R                  S\S\	R                  \   4S j5       rSrg	)
Getter   zYThis class implements a Getter that enables extracting propagated
fields from a carrier.
carrierkeyreturnc                     g)aZ  Function that can retrieve zero
or more values from the carrier. In the case that
the value does not exist, returns None.

Args:
    carrier: An object which contains values that are used to
            construct a Context.
    key: key of a field in carrier.
Returns: first value of the propagation key or None if the key doesn't
        exist.
N )selfr   r	   s      c/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/opentelemetry/propagators/textmap.pyget
Getter.get           c                     g)zFunction that can retrieve all the keys in a carrier object.

Args:
    carrier: An object which contains values that are
        used to construct a Context.
Returns:
    list of keys from the carrier.
Nr   r   r   s     r   keysGetter.keys.   r   r   r   N)__name__
__module____qualname____firstlineno____doc__abcabstractmethodr   strtypingOptionalListr   r   __static_attributes__r   r   r   r   r      s|     	&)	S)	*  	H S)9  r   r   c            	       P    \ rS rSrSr\R                  S\S\S\SS4S j5       r	S	r
g)
Setter:   zXThis class implements a Setter that enables injecting propagated
fields into a carrier.
r   r	   valuer
   Nc                     g)zFunction that can set a value into a carrier""

Args:
    carrier: An object which contains values that are used to
            construct a Context.
    key: key of a field in carrier.
    value: value for a field in carrier.
Nr   r   r   r	   r&   s       r   set
Setter.set?   r   r   r   )r   r   r   r   r   r   r   r   r   r)   r"   r   r   r   r$   r$   :   s=     	8 # c d  r   r$   c                       \ rS rSrS\R
                  \\4   S\S\R                  \R                  \      4S jr
S\R
                  \\4   S\R                  \   4S jrSrg)	DefaultGetterK   r   r	   r
   c                     UR                  US5      nUc  g[        U[        R                  5      (       a   [        U[        5      (       d  [        U5      $ U/$ )zGetter implementation to retrieve a value from a dictionary.

Args:
    carrier: dictionary in which to get value
    key: the key used to get the value
Returns:
    A list with a single string with the value if it exists, else None.
N)r   
isinstancer   Iterabler   list)r   r   r	   vals       r   r   DefaultGetter.getL   sJ     kk#t$;c6??++JsC4H4H9ur   c                 4    [        UR                  5       5      $ )z<Keys implementation that returns all keys from a dictionary.)r1   r   r   s     r   r   DefaultGetter.keys^   s     GLLN##r   r   N)r   r   r   r   r   Mappingr   CarrierValTr    r!   r   r   r"   r   r   r   r,   r,   K   sk    ~~c;&67>A	S)	*$$~~c;&67$	S	$r   r,   default_getterc                   L    \ rS rSrS\R
                  \\4   S\S\SS4S jrSr	g)	DefaultSetterh   r   r	   r&   r
   Nc                     X1U'   g)zSetter implementation to set a value into a dictionary.

Args:
    carrier: dictionary in which to set value
    key: the key used to set the value
    value: the value to set
Nr   r(   s       r   r)   DefaultSetter.seti   s     r   r   )
r   r   r   r   r   MutableMappingr   r7   r)   r"   r   r   r   r:   r:   h   s=    &&sK'78  	
 
r   r:   default_setterc            
       (   \ rS rSrSr\R                  S\4S\S\	R                  \   S\\   S\4S jj5       r\R                  S\4S\S\	R                  \   S	\\   SS4S
 jj5       r\\R                  S\	R$                  \   4S j5       5       rSrg)TextMapPropagator|   a;  This class provides an interface that enables extracting and injecting
context into headers of HTTP requests. HTTP frameworks and clients
can integrate with TextMapPropagator by providing the object containing the
headers, and a getter and setter function for the extraction and
injection of values, respectively.

Nr   contextgetterr
   c                     g)a  Create a Context from values in the carrier.

The extract function should retrieve values from the carrier
object using getter, and use values to populate a
Context value and return it.

Args:
    getter: a function that can retrieve zero
        or more values from the carrier. In the case that
        the value does not exist, return an empty list.
    carrier: and object which contains values that are
        used to construct a Context. This object
        must be paired with an appropriate getter
        which understands how to extract a value from it.
    context: an optional Context to use. Defaults to root
        context if not set.
Returns:
    A Context with configuration found in the carrier.

Nr   )r   r   rC   rD   s       r   extractTextMapPropagator.extract   r   r   setterc                     g)aG  Inject values from a Context into a carrier.

inject enables the propagation of values into HTTP clients or
other objects which perform an HTTP request. Implementations
should use the `Setter` 's set method to set values on the
carrier.

Args:
    carrier: An object that a place to define HTTP headers.
        Should be paired with setter, which should
        know how to set header values on the carrier.
    context: an optional Context to use. Defaults to current
        context if not set.
    setter: An optional `Setter` object that can set values
        on the carrier.

Nr   )r   r   rC   rH   s       r   injectTextMapPropagator.inject   r   r   c                     g)z
Gets the fields set in the carrier by the `inject` method.

If the carrier is reused, its fields that correspond with the ones
present in this attribute should be deleted before calling `inject`.

Returns:
    A set with the fields set in `inject`.
Nr   )r   s    r   fieldsTextMapPropagator.fields   r   r   r   )r   r   r   r   r   r   r   r8   r   r   r    r   r   rF   r?   r$   rJ   propertySetr   rM   r"   r   r   r   rA   rA   |   s     	 -1#1	 ) x 	
 
 6 	 -1#1	 ) x 	
 
 0 	

3 	  	r   rA   )r   r   opentelemetry.context.contextr   TypeVarr   Unionr!   r   r7   ABCGenericr   r$   r6   r,   r8   __annotations__r>   r:   r?   rA   r   r   r   <module>rW      s      1>>*%ll6;;s+S01SWWfnnX. BSWWfnnX. "$F6>>#{*:;< $4 $1?x  2F600k1ABC " $1?x  2I Ir   