Nfn)dZddlmZmZmZmZmZmZmZm Z m Z m Z  ddlm Z n #e $rdZ YnwxYwddlmZmZmZmZddlmZddlmZddlmZddlZddlZddlZddlZddlZddlZejd ed dZd Z d Z!d Z"dZ#dZ$dZ%dZ&dZ'dZ(dZ)dZ*dZ+d*dZ,dZ-dZ.GddZ/GddZ0Gdde0ej1Z2d*d Z3Gd!d"e0eZ4d*d#Z5d$Z6d%Z7d*d&Z8d'Z9d(Z:e rd*d)Z;dSdZ;dS)+zThis module provides the components needed to build your own __import__ function. Undocumented functions are obsolete. In most cases it is preferred you consider using the importlib module's functionality over this module. ) lock_held acquire_lock release_lockget_frozen_objectis_frozen_package init_frozen is_builtin is_frozen_fix_co_filename_frozen_module_names)create_dynamicN)_ERR_MSG_exec_load_builtin_from_name)SourcelessFileLoader) machinery)utilzthe imp module is deprecated in favour of importlib and slated for removal in Python 3.12; see the module's documentation for alternative uses) stacklevel c*tj|S)z_**DEPRECATED** Create a new module. The module is not entered into sys.modules. )types ModuleTypenames /usr/lib/python3.11/imp.py new_moduler%1s  D ! !!ctjS)z@**DEPRECATED** Return the magic number for .pyc files. )r MAGIC_NUMBERr&r$ get_magicr*<s  r&c$tjjS)z$Return the magic tag for .pyc files.)sysimplementation cache_tagr)r&r$get_tagr/Ds   ''r&ctj5tjdtj||cdddS#1swxYwYdS)a**DEPRECATED** Given the path to a .py file, return the path to its .pyc file. The .py file does not need to exist; this simply returns the path to the .pyc file calculated as if the .py file were imported. If debug_override is not None, then it must be a boolean and is used in place of sys.flags.optimize. If sys.implementation.cache_tag is None then NotImplementedError is raised. ignoreN)warningscatch_warnings simplefilterrcache_from_source)pathdebug_overrides r$r5r5Is  " "<<h'''%dN;;<<<<<<<<<<<<<<<<<z get_suffixes..lsOOOQ1dK(OOOr&c"g|] }|dtf S)r) PY_SOURCErAs r$rDz get_suffixes..ms E E Eaq#y! E E Er&c"g|] }|dtf Sr>) PY_COMPILEDrAs r$rDz get_suffixes..nsLLL1D+&LLLr&)rEXTENSION_SUFFIXESSOURCE_SUFFIXESBYTECODE_SUFFIXES) extensionssourcebytecodes r$ get_suffixesrPjsTOO)2NOOOJ E E9+D E E EFLL 0KLLLH   ))r&ceZdZdZdZdZdS) NullImporterz-**DEPRECATED** Null import object. c|dkrtddtj|rtd|dS)Nzempty pathnamer:zexisting directory) ImportErrorosr6isdir)selfr6s r$__init__zNullImporter.__init__{sS 2::.R888 8 W]]4  ?2>>> > ? ?r&cdS)zAlways returns None.Nr))rXfullnames r$ find_modulezNullImporter.find_modulestr&N)__name__ __module__ __qualname____doc__rYr\r)r&r$rRrRss< ??? r&rRc.eZdZdZdfd ZfdZxZS)_HackedGetDatazMCompatibility support for 'file' arguments of various load_*() functions.NcZt||||_dSN)superrYfile)rXr[r6rf __class__s r$rYz_HackedGetData.__init__s( 4((( r&cz|jr||jkr|jjs$|j}d|jvr||jjrt |jdx|_}|5|cdddS#1swxYwYdSt|S)z;Gross hack to contort loader to deal w/ load_*()'s bad API.br?N) rfr6closedmodecloseopenreadreget_data)rXr6rfrgs r$roz_HackedGetData.get_datas 9 ***9# !ydi''JJLLLy 9#' 4#8#88 D # #yy{{ # # # # # # # # # # # # # # # # # #77##D)) )s.BBBrd)r]r^r_r`rYro __classcell__)rgs@r$rbrbs`*********r&rbceZdZdZdS)_LoadSourceCompatibilityz5Compatibility support for implementing load_source().Nr]r^r_r`r)r&r$rrrrs????r&rrc(t|||}tj|||}|tjvr!t |tj|}nt |}tj|||_ |j |j _ |S)Nloader) rrrspec_from_file_locationr,modulesrrrSourceFileLoader __loader____spec__rvr#pathnamerfrvspecmodules r$ load_sourcers %dHd ; ;F  'hv F F FD s{tS[.//t"24BBF#.FO Mr&ceZdZdZdS)_LoadCompiledCompatibilityz7Compatibility support for implementing load_compiled().Nrsr)r&r$rrsAAAAr&rct|||}tj|||}|tjvr!t |tj|}nt |}t|||_|j|j _ |S)r<ru) rrrwr,rxrrrrzr{rvr|s r$ load_compiledrs 'h = =F  'hv F F FD s{tS[.//t-T8<EEeLLoo )  44000 +  T8T222 +  ,": <h%% A#D(K@@ A A A A A A A A A A A A A A A A A A h55 5 -  D(+++ )  D!!! )  4   ;BB4OO#D))))sC44C8;C8ct|ts/tdt |t|t dt fs/t dt ||Dt|r ddddtffSt|r ddddtffStj }|D]}tj ||}dtjdfD]W}d|z}tj ||}tj |rd|ddt$ffccSXt'D]L\}}}||z} tj || }tj |rnMn#t)t+j||d} d |vrGt-|d 5} t/j| jd} dddn #1swxYwYt-||| } | ||||ffS) a,**DEPRECATED** Search for a module. If path is omitted or None, search for a built-in, frozen or special module and continue search in sys.path. The module name cannot contain '.'; to search for a submodule of a package, pass the submodule name and the package's __path__. z'name' must be a str, not {}Nz%'path' must be None or a list, not {}rTz.pyrrYr"rir?)encoding) isinstancestr TypeErrorrtypelist RuntimeErrorr rr rr,r6rVrrrLisfilerrPrUrrmtokenizedetect_encodingreadline) r#r6entrypackage_directoryrpackage_file_name file_pathrkr file_namerrfs r$r\r\s dC 86==d4jjIIJJJ tDzz40 1 18$$*F4::$6$688 8 | d   B 22 2 t__ B 22 28D<<GLL55i9!<= H HF *V 3  %68IJJIw~~i(( H.R0GGGGGGG H#/>>   FD%v I UI66Iw~~i((    (/$//d;;;;H $ )T " " Bd/ >>qAH B B B B B B B B B B B B B B B  4( 3 3 3D VT51 11s H11H58H5c*tj|S)zw**DEPRECATED** Reload the module and return it. The module must have been successfully imported before. ) importlibreload)rs r$rr3s  F # ##r&cD t|S#t$rYdSwxYw)zl**DEPRECATED** Load and return a built-in module by name, or None is such module doesn't exist N)rrUr"s r$rr>s7 !$''' tts  cddl}|j||}|j|||}t |S)z:**DEPRECATED** Load an extension module. rN)r#rvorigin)importlib.machineryrExtensionFileLoader ModuleSpecr)r#r6rfrrvr~s r$rrKsZ #"""$88tDD"--fT.33T{{r&rd)rs::::::::::::::::::::::::#######NNNLKKKKKKKKKKK>>>>>>    D!Q0000       """((( <<<<& ( ( (***&********6@@@@@~y/I@@@    BBBBB1EBBB    ( * * *F12121212h$$$         LLLs #--