
    i	                    ^    S SK Jr  S SKrS SKJr  SSKJrJr  \(       a  S SKJ	r	  S	S jr
S rg)
    )annotationsN)TYPE_CHECKING   )is_torch_available	strtobool)nnc                    [        5       (       d  gSS KnUR                  R                  5       (       d  gSS Kn[        XR                  R                  R                  5      =(       d    [        U SS5      $ )NFr   _is_fsdp_managed_module)	r   torchdistributedis_availabletorch.distributed.fsdp
isinstancefsdpFullyShardedDataParallelgetattr)moduler   s     n/home/dmtnaga/Documents/work/airagagent/rag_env/lib/python3.13/site-packages/transformers/integrations/fsdp.pyis_fsdp_managed_moduler      sa    ))++!f//44MMN RY)5S     c                 l   [        5       (       a  SS Kn U R                  R                  5       =(       a    U R                  R	                  5       =(       a_    [        [        R                  R                  SS5      5      S:H  =(       a,    [        [        R                  R                  SS5      5      S:H  $ g)Nr   ACCELERATE_USE_FSDPFalse   FSDP_CPU_RAM_EFFICIENT_LOADINGF)	r   r   r   r   is_initializedr   osenvironget)r   s    r   is_fsdp_enabledr    *   s     **, Z!!002Z"**..)>HIQNZ "**..)I7STXYY		
 r   )r   z	nn.Modulereturnbool)
__future__r   r   typingr   utilsr   r   r   r   r   r     r   r   <module>r'      s%    # 	   1  r   