B Hh"p-%@s dZdZeeZddZddZddZdd Zd d Zd d ZddZ ddZ ddZ d`ddZ e e jZddddZeedZdZdZdgZdgZeZZdadd d!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Z d-d.Z!d/d0Z"d1d2Z#d3d4Z$dbd5d6Z%dcd8d9Z&ddd;d<Z'd=d>Z(e)Z*dede*d?d@dAZ+GdBdCdCZ,GdDdEdEZ-GdFdGdGe-Z.GdHdIdIZ/GdJdKdKe/e.Z0GdLdMdMe/e-Z1gZ2GdNdOdOe/e-Z3GdPdQdQZ4GdRdSdSZ5GdTdUdUZ6GdVdWdWZ7dfdXdYZ8dZd[Z9d\d]Z:d^d_Z;dS)g)win)cygwindarwincs<tjtr0tjtrdndfdd}ndd}|S)N PYTHONCASEOKs PYTHONCASEOKcs tjkS)N)_osenviron)keyrB/opt/alt/python37/lib64/python3.7/importlib/_bootstrap_external.py _relax_case$sz%_make_relax_case.._relax_casecSsdS)NFrrrrr r (s)sysplatform startswith_CASE_INSENSITIVE_PLATFORMS#_CASE_INSENSITIVE_PLATFORMS_STR_KEY)r r)rr _make_relax_cases  rcCst|d@ddS)Nllittle)intto_bytes)xrrr _w_long.srcCs t|dS)Nr)r from_bytes) int_bytesrrr _r_long3srcGstdd|DS)NcSsg|]}|r|tqSr)rstrippath_separators).0partrrr :sz_path_join..)path_sepjoin) path_partsrrr _path_join8s r"cCs`ttdkr$|t\}}}||fSx2t|D]&}|tkr.|j|dd\}}||fSq.Wd|fS)N)maxsplit)lenr rpartitionrreversedrsplit)pathfront_tailrrrr _path_split>s  r.cCs t|S)N)rstat)r*rrr _path_statJsr0cCs0y t|}Wntk r dSX|jd@|kS)NFi)r0OSErrorst_mode)r*mode stat_inforrr _path_is_mode_typeTs  r5cCs t|dS)Ni)r5)r*rrr _path_isfile]sr6cCs|s t}t|dS)Ni@)rgetcwdr5)r*rrr _path_isdirbsr8c Csd|t|}t|tjtjBtjB|d@}y2t|d}| |WdQRXt ||Wn:t k ryt |Wnt k rYnXYnXdS)Nz{}.{}iwb) formatidropenO_EXCLO_CREATO_WRONLY_ioFileIOwritereplacer1unlink)r*datar3path_tmpfdfilerrr _write_atomicisrJiB rs __pycache__zopt-z.pyz.pycN) optimizationc Cs|dk r4tdt|dk r(d}t||r0dnd}t|}t|\}}|d\}}}tj j } | dkrrt dd |r~|n||| g} |dkrtj jdkrd}ntj j}t|}|dkr|std|d | t|} t|t| tdS) NzFthe debug_override parameter is deprecated; use 'optimization' insteadz2debug_override or optimization must be set to Noner%r#.z$sys.implementation.cache_tag is Nonez{!r} is not alphanumericz{}.{}{}) _warningswarnDeprecationWarning TypeErrorrfspathr.r'r implementation cache_tagNotImplementedErrorr flagsoptimizestrisalnum ValueErrorr;_OPTr"_PYCACHEBYTECODE_SUFFIXES) r*debug_overriderMmessageheadr-basesepresttagalmost_filenamerrr cache_from_sources0    rhcCstjjdkrtdt|}t|\}}t|\}}|tkrNtd t|| d}|dkrptd |nV|dkr| ddd}| t std t |tt d}|std ||dd }t||td S) Nz$sys.implementation.cache_tag is Nonez%{} not bottom-level directory in {!r}rN>rKz!expected only 2 or 3 dots in {!r}rirKz9optimization portion of filename does not start with {!r}z4optimization level {!r} is not an alphanumeric valuerO)r rUrVrWrrTr.r^r\r;countr)r r]r&r[ partitionr"SOURCE_SUFFIXES)r*rbpycache_filenamepycache dot_countrM opt_level base_filenamerrr source_from_cache<s.        rsc Cs~t|dkrdS|d\}}}|r8|dddkr<|Sy t|}Wn$ttfk rl|dd}YnXt|rz|S|S)NrOrNpy)r&r'lowerrsrWr\r6) bytecode_pathrer, extension source_pathrrr _get_sourcefile^s  r{cCsH|ttr.yt|Stk r*YqDXn|ttr@|SdSdS)N)endswithtuplermrhrWr_)filenamerrr _get_cachedqsrcCs4yt|j}Wntk r&d}YnX|dO}|S)Ni)r0r2r1)r*r3rrr _calc_mode}s  rcsDdfdd }y tj}Wntk r4dd}YnX|||S)NcsB|dkr|j}n |j|kr0td|j|f|d||f||S)Nzloader for %s cannot handle %s)name)r ImportError)selfrargskwargs)methodrr _check_name_wrappers  z(_check_name.._check_name_wrappercSs<x(dD] }t||rt||t||qW|j|jdS)N) __module____name__ __qualname____doc__)hasattrsetattrgetattr__dict__update)newoldrDrrr _wraps  z_check_name.._wrap)N) _bootstrapr NameError)rrrr)rr _check_names  rcCs<||\}}|dkr8t|r8d}t||dt|S)Nz,Not importing directory {}: missing __init__rO) find_loaderr&rPrQr; ImportWarning)rfullnameloaderportionsmsgrrr _find_module_shims rcCs|dd}|tkrB}|t||||t||S)Nr#)rrrrrr)rrcheckedrFrXrrr _code_to_hash_pyc"s   rcCs>ddl}t|j}||}tdd}|||dS)NrOT)tokenizerABytesIOreadlinedetect_encodingIncrementalNewlineDecoderdecode) source_bytesrsource_bytes_readlineencodingnewline_decoderrrr decode_source-s    r)rsubmodule_search_locationsc Cs|dkr get_filename)originT is_packagerO)rrrrrTr ModuleSpec _set_fileattr_get_supported_file_loadersr|r}r _POPULATErrr.append) rlocationrrspec loader_classsuffixesrdirnamerrr spec_from_file_location>s>        rc@sLeZdZdZdZdZeddZeddZed d d Z edd d Z dS)WindowsRegistryFinderz;Software\Python\PythonCore\{sys_version}\Modules\{fullname}zASoftware\Python\PythonCore\{sys_version}\Modules\{fullname}\DebugFcCs2yttj|Stk r,ttj|SXdS)N)_winregOpenKeyHKEY_CURRENT_USERr1HKEY_LOCAL_MACHINE)clsrrrr _open_registrysz$WindowsRegistryFinder._open_registryc Csp|jr|j}n|j}|j|dtjddd}y&||}t|d}WdQRXWnt k rjdSX|S)Nz%d.%drK)r sys_versionr%) DEBUG_BUILDREGISTRY_KEY_DEBUG REGISTRY_KEYr;r version_inforr QueryValuer1)rr registry_keyrhkeyfilepathrrr _search_registrys z&WindowsRegistryFinder._search_registryNcCsx||}|dkrdSy t|Wntk r6dSXx:tD]0\}}|t|r@tj|||||d}|Sq@WdS)N)r)rr0r1rr|r}rspec_from_loader)rrr*targetrrrrrrr find_specs  zWindowsRegistryFinder.find_speccCs"|||}|dk r|jSdSdS)N)rr)rrr*rrrr find_modules z!WindowsRegistryFinder.find_module)NN)N) rrrrrr classmethodrrrrrrrr rs   rc@s,eZdZddZddZddZddZd S) _LoaderBasicscCs@t||d}|ddd}|dd}|dko>|dkS)Nr#rNrOrK__init__)r.rr)r')rrr~ filename_base tail_namerrr rsz_LoaderBasics.is_packagecCsdS)Nr)rrrrr create_modulesz_LoaderBasics.create_modulecCs8||j}|dkr$td|jtt||jdS)Nz4cannot load module {!r} when get_code() returns None)get_coderrr;r_call_with_frames_removedexecr)rmodulerrrr exec_modules   z_LoaderBasics.exec_modulecCs t||S)N)r_load_module_shim)rrrrr load_modulesz_LoaderBasics.load_moduleN)rrrrrrrrrrr rsrc@sJeZdZddZddZddZddZd d Zd d d dZddZ dS) SourceLoadercCstdS)N)r1)rr*rrr path_mtimeszSourceLoader.path_mtimecCsd||iS)Nr)r)rr*rrr path_statss zSourceLoader.path_statscCs |||S)N)set_data)rrz cache_pathrFrrr _cache_bytecodeszSourceLoader._cache_bytecodecCsdS)Nr)rr*rFrrr rszSourceLoader.set_datac CsR||}y||}Wn0tk rH}ztd|d|Wdd}~XYnXt|S)Nz'source not available through get_data())r)rget_datar1rr)rrr*rexcrrr get_sources zSourceLoader.get_sourceru) _optimizecCstjt||dd|dS)NrT) dont_inheritrY)rrcompile)rrFr*rrrr source_to_codes zSourceLoader.source_to_codec Cs.||}d}d}d}d}d}y t|}Wntk rDd}Yn0Xy||} Wntk rjYn Xt| d}y||} Wntk rYnX||d} yt| || } t| dd} | d@dk}|r$| d@dk}t j d kr8|st j d kr8||}t t |}t | ||| nt| || d || Wnttfk rTYn Xtd ||t| |||d S|dkr||}|||}td|tjs*|dk r*|dk r*|r|dkrt |}t|||} nt||t|} y|||| td|Wntk r(YnX|S)NFTr)rr*rr#rOrKneveralwayssizez {} matches {})rrxrzzcode object from {}z wrote {!r})rrhrWrr1rrr memoryviewrcheck_hash_based_pycsr_RAW_MAGIC_NUMBERrrrrrrrrr dont_write_bytecoderrr&r)rrrzrrr hash_based check_sourcerxstrFrrX bytes_data code_objectrrr rs                   zSourceLoader.get_codeN) rrrrrrrrrrrrrr rs   rcsxeZdZddZddZddZefddZed d Zd d Z ed dZ ddZ ddZ ddZ ddZZS) FileLoadercCs||_||_dS)N)rr*)rrr*rrr rtszFileLoader.__init__cCs|j|jko|j|jkS)N) __class__r)rotherrrr __eq__zs zFileLoader.__eq__cCst|jt|jAS)N)hashrr*)rrrr __hash__~szFileLoader.__hash__cstt||S)N)superrr)rr)rrr rs zFileLoader.load_modulecCs|jS)N)r*)rrrrr rszFileLoader.get_filenamec Cs t|d }|SQRXdS)Nr)rArBread)rr*rIrrr rszFileLoader.get_datacCs||r|SdS)N)r)rrrrr get_resource_readers zFileLoader.get_resource_readercCs tt|jd|}t|dS)NrOr)r"r.r*rArB)rresourcer*rrr open_resourceszFileLoader.open_resourcecCs&||sttt|jd|}|S)NrO) is_resourceFileNotFoundErrorr"r.r*)rrr*rrr resource_paths zFileLoader.resource_pathcCs(t|kr dStt|jd|}t|S)NFrO)rr"r.r*r6)rrr*rrr rszFileLoader.is_resourcecCsttt|jdS)NrO)iterrlistdirr.r*)rrrr contentsszFileLoader.contents)rrrrrrrrrrrrr rr# __classcell__rr)rr ros  rc@s*eZdZddZddZddddZd S) SourceFileLoadercCst|}|j|jdS)N)rr)r0st_mtimest_size)rr*rrrr rszSourceFileLoader.path_statscCst|}|j|||dS)N)_mode)rr)rrzrxrFr3rrr rsz SourceFileLoader._cache_bytecodei)r(c Cst|\}}g}x&|r6t|s6t|\}}||qWxnt|D]b}t||}yt|WqBtk rtwBYqBtk r}zt d||dSd}~XYqBXqBWyt |||t d|Wn0tk r}zt d||Wdd}~XYnXdS)Nzcould not create {!r}: {!r}z created {!r}) r.r8rr(r"rmkdirFileExistsErrorr1rrrJ) rr*rFr(parentr~r!rrrrr rs*    zSourceFileLoader.set_dataN)rrrrrrrrrr r%sr%c@seZdZddZddZdS)SourcelessFileLoadercCsD||}||}||d}t|||tt|dd||dS)N)rr*r)rrx)rrrrr )rrr*rFrrrr rs   zSourcelessFileLoader.get_codecCsdS)Nr)rrrrr rszSourcelessFileLoader.get_sourceN)rrrrrrrrr r,sr,c@sXeZdZddZddZddZddZd d Zd d Zd dZ ddZ e ddZ dS)ExtensionFileLoadercCs||_||_dS)N)rr*)rrr*rrr rszExtensionFileLoader.__init__cCs|j|jko|j|jkS)N)rr)rrrrr r s zExtensionFileLoader.__eq__cCst|jt|jAS)N)rrr*)rrrr r szExtensionFileLoader.__hash__cCs$ttj|}td|j|j|S)Nz&extension module {!r} loaded from {!r})rrrcreate_dynamicrrr*)rrrrrr rs   z!ExtensionFileLoader.create_modulecCs$ttj|td|j|jdS)Nz(extension module {!r} executed from {!r})rrr exec_dynamicrrr*)rrrrr rszExtensionFileLoader.exec_modulecs$t|jdtfddtDS)Nr#c3s|]}d|kVqdS)rNr)rsuffix) file_namerr !sz1ExtensionFileLoader.is_package..)r.r*anyEXTENSION_SUFFIXES)rrr)r1r rs zExtensionFileLoader.is_packagecCsdS)Nr)rrrrr r$szExtensionFileLoader.get_codecCsdS)Nr)rrrrr r(szExtensionFileLoader.get_sourcecCs|jS)N)r*)rrrrr r,sz ExtensionFileLoader.get_filenameN) rrrrrrrrrrrrrrrrr r-sr-c@s\eZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ dS)_NamespacePathcCs$||_||_t||_||_dS)N)_name_pathr}_get_parent_path_last_parent_path _path_finder)rrr* path_finderrrr r9sz_NamespacePath.__init__cCs&|jd\}}}|dkrdS|dfS)NrNr%)r r*__path__)r6r')rr+dotmerrr _find_parent_path_names?sz&_NamespacePath._find_parent_path_namescCs|\}}ttj||S)N)r?rr modules)rparent_module_namepath_attr_namerrr r8Is z_NamespacePath._get_parent_pathcCsPt|}||jkrJ||j|}|dk rD|jdkrD|jrD|j|_||_|jS)N)r}r8r9r:r6rrr7)r parent_pathrrrr _recalculateMs  z_NamespacePath._recalculatecCs t|S)N)r!rD)rrrr __iter__Zsz_NamespacePath.__iter__cCs||j|<dS)N)r7)rindexr*rrr __setitem__]sz_NamespacePath.__setitem__cCs t|S)N)r&rD)rrrr __len__`sz_NamespacePath.__len__cCs d|jS)Nz_NamespacePath({!r}))r;r7)rrrr __repr__csz_NamespacePath.__repr__cCs ||kS)N)rD)ritemrrr __contains__fsz_NamespacePath.__contains__cCs|j|dS)N)r7r)rrJrrr risz_NamespacePath.appendN) rrrrr?r8rDrErGrHrIrKrrrrr r52s  r5c@sPeZdZddZeddZddZddZd d Zd d Z d dZ ddZ dS)_NamespaceLoadercCst||||_dS)N)r5r7)rrr*r;rrr rosz_NamespaceLoader.__init__cCs d|jS)Nz)r;r)rrrrr module_reprrsz_NamespaceLoader.module_reprcCsdS)NTr)rrrrr r{sz_NamespaceLoader.is_packagecCsdS)Nr%r)rrrrr r~sz_NamespaceLoader.get_sourcecCstdddddS)Nr%zrT)r)r)rrrrr rsz_NamespaceLoader.get_codecCsdS)Nr)rrrrr rsz_NamespaceLoader.create_modulecCsdS)Nr)rrrrr rsz_NamespaceLoader.exec_modulecCstd|jt||S)Nz&namespace module loaded with path {!r})rrr7r)rrrrr rsz_NamespaceLoader.load_moduleN) rrrrrrMrrrrrrrrrr rLns rLc@sfeZdZeddZeddZeddZeddZedd d Zedd d Z edddZ d S) PathFindercCsDx>ttjD],\}}|dkr*tj|=qt|dr|qWdS)Ninvalidate_caches)listr path_importer_cacheitemsrrO)rrfinderrrr rOs   zPathFinder.invalidate_cachesc CsTtjdk rtjstdtx2tjD]$}y||Stk rFw$Yq$Xq$WdSdS)Nzsys.path_hooks is empty)r path_hooksrPrQrr)rr*hookrrr _path_hookss   zPathFinder._path_hookscCsf|dkr*y t}Wntk r(dSXytj|}Wn(tk r`||}|tj|<YnX|S)Nr%)rr7rr rQKeyErrorrV)rr*rSrrr _path_importer_caches  zPathFinder._path_importer_cachecCsRt|dr||\}}n||}g}|dk r.rNru)r_loadersr* _path_mtimeset _path_cache_relaxed_path_cache)rr*loader_detailsloadersrr)rr r's zFileFinder.__init__cCs d|_dS)Nru)r`)rrrr rO5szFileFinder.invalidate_cachescCs*||}|dkrdgfS|j|jp&gfS)N)rrr)rrrrrr r;s zFileFinder.find_loadercCs|||}t||||dS)N)rr)r)rrrr*smslrrrrr r]Gs zFileFinder._get_specNcCsbd}|dd}yt|jp"tj}Wntk rBd}YnX||jkr\|||_t rr|j }| }n |j }|}||krt |j|}xH|jD]6\} } d| } t || } t| r|| || |g|SqWt|}xX|jD]N\} } t |j|| } tjd| dd|| |krt| r|| || d|SqW|r^td|t|d} |g| _| SdS) NFrNrKrurz trying {}) verbosityzpossible namespace for {})r'r0r*rr7r&r1r` _fill_cacher rcrwrbr"r_r6r]r8rrrr)rrr is_namespace tail_modulercache cache_module base_pathr0r init_filename full_pathrrrr rLsF          zFileFinder.find_specc Cs|j}yt|pt}Wntttfk r:g}YnXtj dsTt ||_ nNt }x@|D]8}| d\}}}|rd ||}n|}||q`W||_ tj trdd|D|_dS)NrrNz{}.{}cSsh|] }|qSr)rw)rfnrrr sz)FileFinder._fill_cache..)r*rr"r7rPermissionErrorNotADirectoryErrorr r r rarbrlr;rwaddrrc) rr*r#lower_suffix_contentsrJrr=r0new_namerrr rh|s"     zFileFinder._fill_cachecsfdd}|S)Ncs"t|std|d|fS)Nzonly directories are supported)r*)r8r)r*)rrdrr path_hook_for_FileFinders z6FileFinder.path_hook..path_hook_for_FileFinderr)rrdrwr)rrdr path_hooks zFileFinder.path_hookcCs d|jS)NzFileFinder({!r}))r;r*)rrrr rIszFileFinder.__repr__)N)rrrrrOrrrr]rrhrrxrIrrrr r^s   0 r^cCs|d}|d}|sB|r$|j}n||kr8t||}n t||}|sTt|||d}y$||d<||d<||d<||d<Wntk rYnXdS)N __loader____spec__)r__file__ __cached__)getrr,r%r Exception)nsrpathname cpathnamerrrrr _fix_up_modules"     rcCs&ttf}ttf}ttf}|||gS)N)r-rextension_suffixesr%rmr,r_) extensionssourcebytecoderrr rs rc Cs|atjatjatjt}x8dD]0}|tjkr:t|}n tj|}t|||q Wddgfdddgff}x`|D]P\}}|d}|tjkrtj|}Pqpyt|}PWqptk rwpYqpXqpWtdt|d|t|d |t|d d |td } t|d | td } t|d | |dkrBtd} t|d| t|dt t t |dkrt ddt krdt_dS)N)rArPbuiltinsrposix/nt\rOzimportlib requires posix or ntrrrr%_thread_weakrefwinregrr z.pywz_d.pydT)rr rr@r_builtin_from_namerrr rr4rrrmrrr) _bootstrap_module self_module builtin_namebuiltin_module os_details builtin_osrr os_module thread_moduleweakref_module winreg_modulerrr _setupsJ                     rcCs2t|t}tjtj|gtjt dS)N) rrr rTrr^rx meta_pathrrN)rsupported_loadersrrr _installsr)r9)N)NNN)rOrO)T)N)N)st      -"  ! C@D-5<*  @