<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]S*                 @   s  d  d l  m Z d  d l m Z d  d l m Z d  d l m Z d  d l m Z d  d l m Z m	 Z	 d  d l m
 Z
 d  d l m Z d  d	 l m Z d  d
 l m Z d d l m Z d d l Z d d l Z d d l Z d d l Z d d   Z d d d  Z d d d  Z e d d    Z d d   Z d d   Z d d   Z Gd d   d e j  Z Gd d   d e j  Z Gd  d!   d! e j  Z d S)"   )abc)module_from_spec)_resolve_name)spec_from_loader)
_find_spec)MAGIC_NUMBER_BACKCOMPAT_MAGIC_NUMBER)cache_from_source)decode_source)source_from_cache)spec_from_file_location    )contextmanagerNc             C   sv   |  j  d  s |  S| s. t d j |     d } x% |  D] } | d k rN P| d 7} q; Wt |  | d   | |  S)N.z,{!r} is not a relative name (no leading dot)r   r   )
startswith
ValueErrorformatr   )namepackagelevel	character r   )/opt/alt/python35/lib64/python3.5/util.pyresolve_name   s    	r   c             C   s   |  t  j k r t |  |  St  j |  } | d  k r9 d  Sy | j } Wn* t k
 rr t d j |    d   Yn& X| d  k r t d j |     | Sd  S)Nz{}.__spec__ is not setz{}.__spec__ is None)sysmodulesr   __spec__AttributeErrorr   r   )r   pathmodulespecr   r   r   _find_spec_from_path#   s    r!   c             C   s  |  j  d  r t |  |  n |  } | t j k r | j d  d } | rq t | d d g } t | | j  St | d   Sn| t j | } | d  k r d  Sy | j } Wn* t	 k
 r t
 d j |    d   Yn& X| d  k r t
 d j |     | Sd  S)Nr   r   fromlist__path__z{}.__spec__ is not setz{}.__spec__ is None)r   r   r   r   
rpartition
__import__r   r#   r   r   r   r   )r   r   fullnameparent_nameparentr   r    r   r   r   	find_specB   s"    $r)   c             c   s   |  t  j k } t  j j |   } | sO t t   |   } d | _ | t  j |  <zK y	 | VWn; t k
 r | s y t  j |  =Wn t k
 r Yn XYn XWd  d | _ Xd  S)NTF)r   r   gettype__initializing__	ExceptionKeyError)r   	is_reloadr   r   r   r   _module_to_loadj   s    		r0   c                s%   t  j      f d d    } | S)Nc                 su   t  j d t d d   |  |   } t | d d   d  k rq | j | _ t | d  sq | j j d  d | _ | S)Nz7The import system now takes care of this automatically.
stacklevel   __package__r#   r   r   )warningswarnDeprecationWarninggetattr__name__r3   hasattrr$   )argskwargsr   )fxnr   r   set_package_wrapper   s    	z(set_package.<locals>.set_package_wrapper)	functoolswraps)r<   r=   r   )r<   r   set_package   s    !
r@   c                s%   t  j      f d d    } | S)Nc                sM   t  j d t d d   |  | |  } t | d d   d  k rI |  | _ | S)Nz7The import system now takes care of this automatically.r1   r2   
__loader__)r4   r5   r6   r7   rA   )selfr:   r;   r   )r<   r   r   set_loader_wrapper   s    		z&set_loader.<locals>.set_loader_wrapper)r>   r?   )r<   rC   r   )r<   r   
set_loader   s    !rD   c                s;   t  j d t d d t j      f d d    } | S)Nz7The import system now takes care of this automatically.r1   r2   c                s   t  |  y } |  | _ y |  j |  } Wn t t f k
 rE Yn) X| rX | | _ n | j d  d | _   |  | | |  SWd  QRXd  S)Nr   r   )r0   rA   
is_packageImportErrorr   r3   r$   )rB   r&   r:   r;   r   rE   )r<   r   r   module_for_loader_wrapper   s    	z4module_for_loader.<locals>.module_for_loader_wrapper)r4   r5   r6   r>   r?   )r<   rG   r   )r<   r   module_for_loader   s    	!rH   c               @   s   e  Z d  Z d S)_ModuleN)r8   
__module____qualname__r   r   r   r   rI      s   rI   c               @   s(   e  Z d  Z d d   Z d d   Z d S)_LazyModulec       	      C   s	  t  |  _ |  j j } |  j j } |  j } i  } x] | j   D]O \ } } | | k rb | | | <q= t | |  t | |  k r= | | | <q= W|  j j j	 |   | t
 j k r t |   t t
 j |  k r d } t | j |    |  j j |  t |  |  S)NzDmodule object for {!r} substituted in sys.modules during a lazy load)rI   	__class__r   r   loader_state__dict__itemsidloaderexec_moduler   r   r   r   updater7   )	rB   attroriginal_name
attrs_then	attrs_nowattrs_updatedkeyvaluemsgr   r   r   __getattribute__   s"    		 z_LazyModule.__getattribute__c             C   s   |  j  |  t |  |  d  S)N)r]   delattr)rB   rU   r   r   r   __delattr__   s    z_LazyModule.__delattr__N)r8   rJ   rK   r]   r_   r   r   r   r   rL      s   "rL   c               @   sX   e  Z d  Z e d d    Z e d d    Z d d   Z d d   Z d	 d
   Z	 d S)
LazyLoaderc             C   s   t  |  d  s t d   d  S)NrS   z loader must define exec_module())r9   	TypeError)rR   r   r   r   __check_eager_loader  s    zLazyLoader.__check_eager_loaderc                s      j       f d d   S)Nc                 s      |  |    S)Nr   )r:   r;   )clsrR   r   r   <lambda>  s    z$LazyLoader.factory.<locals>.<lambda>)_LazyLoader__check_eager_loader)rc   rR   r   )rc   rR   r   factory  s    zLazyLoader.factoryc             C   s   |  j  |  | |  _ d  S)N)re   rR   )rB   rR   r   r   r   __init__  s    zLazyLoader.__init__c             C   s   t  | j  S)N)rI   r   )rB   r    r   r   r   create_module  s    zLazyLoader.create_modulec             C   s=   |  j  | j _  |  j  | _ | j j   | j _ t | _ d  S)N)rR   r   rA   rO   copyrN   rL   rM   )rB   r   r   r   r   rS     s    zLazyLoader.exec_moduleN)
r8   rJ   rK   staticmethodre   classmethodrf   rg   rh   rS   r   r   r   r   r`     s
   r`   )  r   
_bootstrapr   r   r   r   _bootstrap_externalr   r   r	   r
   r   r   
contextlibr   r>   r   typesr4   r   r!   r)   r0   r@   rD   rH   
ModuleTyperI   rL   Loaderr`   r   r   r   r   <module>   s0   ('.