Ë ‚Ö¦iP ã óô — d Z ddlZddlZddlZddlZddlZddlZddlm Z ddl mZ g d¢Zdd„Z ddddddœd „Z ddddddœd „Z dd„Zd„ Zed k( r! e e« « Z ej* e« yy)aæ Module/script to byte-compile all .py files to .pyc files. When called as a script with arguments, this compiles the directories given as arguments recursively; the -l option prevents it from recursing into directories. Without arguments, it compiles all modules on sys.path, without recursing into subdirectories. (Even though it should do so for packages -- for now, you'll have to deal with packages separately.) See module py_compile for details of the actual byte-compilation. é N)Úpartial)ÚPath)Úcompile_dirÚcompile_fileÚcompile_pathc # ó K — |dk r/t | t j « rt j | « } |st dj | « « t j | « }|j « |D ]Ó }|dk( rŒ t j j | |« }t j j |« s|–— ŒM|dkD sŒS|t j k7 sŒg|t j k7 sŒ{t j j |« sŒ›t j j |« rŒ»t ||dz |¬« E d { –—† ŒÕ y # t $ r% |dk rt dj | « « g }Y �Œw xY w7 Œ8w)Né zListing {!r}...zCan't list {!r}Ú__pycache__r é )Ú maxlevelsÚquiet)Ú isinstanceÚosÚPathLikeÚfspathÚprintÚformatÚlistdirÚOSErrorÚsortÚpathÚjoinÚisdirÚcurdirÚpardirÚislinkÚ _walk_dir)Údirr r ÚnamesÚnameÚfullnames ú#/usr/lib64/python3.12/compileall.pyr r s( è ø€ ؈q‚y”Z ¤R§[¡[Ô1Ü�i‰i˜‹nˆÙÜ Ð×&Ñ& sÓ+Ô,ðÜ— ‘ ˜3“ˆð ‡J�J„LÛˆØ�=Ò ØÜ—7‘7—<‘< TÓ*ˆÜ�w‰w�}‰}˜XÔ&Ø‹Nؘ!‹m ¬¯ © Ó 1°d¼b¿i¹iÓ6GÜ�g‰g�m‰m˜HÕ%¬b¯g©g¯n©n¸XÕ.FÜ °YÀ±]Ø',ô.÷ .ñ .ñ øô ò Ø�1Š9ÜÐ#×*Ñ*¨3Ó/Ô0Ø‹ðúð .úsU ‚AFÁE Á)A$FÃFÃ"FÃ6FÄFÄ6FÅ FÅFÅ*F Å<FÅ?F Æ FF©ÚstripdirÚ prependdirÚ limit_sl_destÚhardlink_dupesc ób — d}|�| €|�t d« ‚|�| } |}d}|dk rt d« ‚|dk7 rddlm} |« ddlm} |€t j « }t | ||¬« }d }|dk7 r€|�~ddl }|j « d k( r|j d« }nd}|xs d} |||¬« 5 }|j t t ||||||| | ||| ¬ « |« }t |d ¬« }ddd« |S |D ] }t |||||||| | ||| ¬« rŒd}Œ |S # t $ r d}Y ŒÛw xY w# 1 sw Y |S xY w)aÞ Byte-compile all modules in the given directory tree. Arguments (only dir is required): dir: the directory to byte-compile maxlevels: maximum recursion level (default `sys.getrecursionlimit()`) ddir: the directory that will be prepended to the path to the file as it is compiled into each byte-code file. force: if True, force compilation, even if timestamps are up-to-date quiet: full output with False or 0, errors only with 1, no output with 2 legacy: if True, produce legacy pyc paths instead of PEP 3147 paths optimize: int or list of optimization levels or -1 for level of the interpreter. Multiple levels leads to multiple compiled files each with one optimization level. workers: maximum number of parallel workers invalidation_mode: how the up-to-dateness of the pyc will be checked stripdir: part of path to left-strip from source file path prependdir: path to prepend to beginning of original file path, applied after stripdir limit_sl_dest: ignore symlinks if they are pointing outside of the defined path hardlink_dupes: hardlink duplicated pyc files NúPDestination dir (ddir) cannot be used in combination with stripdir or prependdirr z%workers must be greater or equal to 0r )Ú_check_system_limits)ÚProcessPoolExecutor)r r TÚforkÚ forkserver)Úmax_workersÚ mp_context)ÚddirÚforceÚrxr ÚlegacyÚoptimizeÚinvalidation_moder$ r% r&