
    RhJ                     H    d Z ddlmZ ddlZ G d dej                        Zy)z>Subset of importlib.abc used to reduce importlib.util imports.   )
_bootstrap    Nc                       e Zd ZdZd Zd Zy)Loaderz'Abstract base class for import loaders.c                      y)zReturn a module to initialize and into which to load.

        This method should raise ImportError if anything prevents it
        from creating a new module.  It may return None to indicate
        that the spec should create the new module.
        N )selfspecs     %/usr/lib/python3.12/importlib/_abc.pycreate_modulezLoader.create_module
   s         c                 R    t        | d      st        t        j                  | |      S )a  Return the loaded module.

        The module must be added to sys.modules and have import-related
        attributes set properly.  The fullname is a str.

        ImportError is raised on failure.

        This method is deprecated in favor of loader.exec_module(). If
        exec_module() exists then it is used to provide a backwards-compatible
        functionality for this method.

        exec_module)hasattrImportErrorr   _load_module_shim)r	   fullnames     r   load_modulezLoader.load_module   s'     t]+++D(;;r   N)__name__
__module____qualname____doc__r   r   r   r   r   r   r      s    1<r   r   )	metaclass)r    r   abcABCMetar   r   r   r   <module>r      s    D  
!<s{{ !<r   