
    i	                         S r SSKrSSKrSSKrSSKJr  SSKJr  \R                  " \	5      r
\ " S S5      5       r\" S5      rS rS	 rS
 rS rS rg)z
NOTE: This module is considered private and is subject to abrupt breaking
changes without prior announcement. Please do not use it directly.
    N)
ContextVar)	dataclassc                   .    \ rS rSr% SrSr\S-  \S'   Srg)PluginContext   zQ
Encapsulation of plugins tracked within the `_plugin_context` context variable.
Nplugins )	__name__
__module____qualname____firstlineno____doc__r   str__annotations____static_attributes__r	       L/home/kali/Scout2/scout2-env/lib/python3.13/site-packages/botocore/plugin.pyr   r      s     GS4Zr   r   _plugin_contextc                  ,    [         R                  S5      $ )zEGet the current `_plugin_context` context variable if set, else None.N)r   getr	   r   r   get_plugin_contextr   '   s    t$$r   c                 0    [         R                  U 5      nU$ )z3Set the current `_plugin_context` context variable.)r   set)ctxtokens     r   set_plugin_contextr   ,   s    $ELr   c                 .    [         R                  U 5        g)z5Reset the current `_plugin_context` context variable.N)r   reset)r   s    r   reset_plugin_contextr   2   s    % r   c                      [        5       n U b6  U R                  nUc%  [        R                  R	                  S5      U l        OU$ [        R                  R	                  S5      $ )NBOTOCORE_EXPERIMENTAL__PLUGINS)r   r   osenvironr   )contextr   s     r   get_botocore_pluginsr%   7   sL     "G//? jjnn-MNGON::>>:;;r   c                 T   UR                  5        HD  u  p#[        R                  SUU5         [        R                  " U5      nUR                  U 5        MF     g ! [         a    [        R                  SU5         Ml  [         a!  n[        R                  SX%5         S nAM  S nAff = f)Nz)Importing client plugin %s from module %sz1Failed to locate the following plugin module: %s.z)Error raised during the loading of %s: %s)itemslogdebug	importlibimport_moduleinitialize_client_pluginModuleNotFoundError	Exception)clientr   plugin_namemodule_namemodulees         r   load_client_pluginsr4   B   s    $+MMO 		7	

	,,[9F++F3 %4 # 	IIC  	II;[ 	s   'A B'=	B'B""B')r   r*   loggingr"   contextvarsr   dataclassesr   	getLoggerr
   r(   r   r   r   r   r   r%   r4   r	   r   r   <module>r9      sj   
   	 " !!    ./%
!
<r   