Ë ‚Ö¦iiG ã ó� — d Z ddlmZ ddlmZ ddlZddlZddlZddl Z ddl Z ddlZddlm Z ddlZg d¢Z edd« Zd e_ d „ Zdd„Zdd„Zedd „« Zdd„Zej- ej. j0 e« ddlZddlmZ dd„Zej- ee« d„ Zdd„Zd„ Zd„ Z d„ Z!d„ Z"da#d„ Z$y# e$ r Y Œ w xY w)zUtilities to support packages.é )Ú namedtuple)ÚsingledispatchN)Ú ModuleType) Úget_importerÚiter_importersÚ get_loaderÚfind_loaderÚ walk_packagesÚiter_modulesÚget_dataÚ read_codeÚextend_pathÚ ModuleInfor zmodule_finder name ispkgz.A namedtuple with minimal info about a module.c ó¬ — dd l }| j d« }|t j j k7 ry | j d« |j | « S )Nr é é )ÚmarshalÚreadÚ importlibÚutilÚMAGIC_NUMBERÚload)Ústreamr Úmagics ú /usr/lib64/python3.12/pkgutil.pyr r sC € ó à�K‰K˜‹N€EØ” —‘×+Ñ+Ò+Øà ‡K�K�„OØ�<‰<˜ÓÐó c # óæ K — i fd„}t | |« D ]� }|–— |j sŒ t |j « t t j |j dd« xs g } | D �cg c] } ||« rŒ|‘Œ } }t | |j dz |« E d{ –—† Œ‘ yc c}w 7 Œ# t $ r |� ||j « Y Œ¹t $ r |� ||j « n‚ Y ŒÙw xY ww)a« Yields ModuleInfo for all modules recursively on path, or, if path is None, all accessible modules. 'path' should be either None or a list of paths to look for modules in. 'prefix' is a string to output on the front of every module name on output. Note that this function must import all *packages* (NOT all modules!) on the given path, in order to access the __path__ attribute to find submodules. 'onerror' is a function which gets called with one argument (the name of the package which was being imported) if any exception occurs while trying to import a package. If no onerror function is supplied, ImportErrors are caught and ignored, while all other exceptions are propagated, terminating the search. Examples: # list all modules python can access walk_packages() # list all submodules of ctypes walk_packages(ctypes.__path__, ctypes.__name__+'.') c ó — | |v ryd|| <