o ?Og@sTdZgdZddlZddlZzddlZWney)ddlmZeeeYnwde_ de_ z e dd e_ Wn e yBYnweejd<zddlZWneyedd lmZeeee_Ynwd e_ de_ z e dd e_ Wn e y~Ynweejd <ejZejZddlZdd lmZddZdddZdddZiZddZdS)z'A pure Python implementation of import.) __import__ import_moduleinvalidate_cachesreloadN) _bootstrapzimportlib._bootstrap importlibz __init__.pyz _bootstrap.py)_bootstrap_externalzimportlib._bootstrap_externalz_bootstrap_external.py)rcCs"tjD] }t|dr|qdS)zmCall the invalidate_caches() method on all meta path finders stored in sys.meta_path (where implemented).rN)sys meta_pathhasattrr)finderr9/opt/alt/python310/lib64/python3.10/importlib/__init__.pyrAs  rcCstjdtddztj|j}|durtd||WSty%Ynt y3td|dwt ||}|dur@dS|j durY|j durStd||dtd |d|j S) zReturn the loader for the specified module. This is a backward-compatible wrapper around find_spec(). This function is deprecated in favor of importlib.util.find_spec(). ziDeprecated since Python 3.4 and slated for removal in Python 3.12; use importlib.util.find_spec() instead) stacklevelNz{}.__loader__ is Nonez{}.__loader__ is not setzspec for {} missing loadernamez&namespace packages do not have loaders)warningswarnDeprecationWarningr modules __loader__ ValueErrorformatKeyErrorAttributeErrorr _find_specloadersubmodule_search_locations ImportError)rpathrspecrrr find_loaderIs2       r#cCsXd}|dr!|sd}t|||D] }|dkrn|d7}qt||d||S)zImport a module. The 'package' argument is required when performing a relative import. It specifies the package to use as the anchor point from which to resolve the relative import to an absolute import. r.zHthe 'package' argument is required to perform a relative import for {!r}rN) startswith TypeErrorrr _gcd_import)rpackagelevelmsg characterrrrrls  rcCsZz|jj}Wnty z|j}Wn tytdwYnwtj||ur4d}t| ||d|t vrsT                #