<!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>
B
    YI~d!;                 @   s   d dl Z d dlZd dlZd dlZd dlmZmZmZ ddddgZ	i Z
G dd dZG d	d deZG d
d deZdd ZdddZdddZdddZdddZdd Zdd Zdd Zdd Zedkre  dS )     N)NAMEDEDENTOP
readmodulereadmodule_exClassFunctionc               @   s   e Zd Zdd Zdd ZdS )_Objectc             C   s(   || _ || _|| _|| _|| _i | _d S )N)modulenamefilelinenoparentchildren)selfr
   r   r   r   r    r   +/opt/alt/python37/lib64/python3.7/pyclbr.py__init__6   s    z_Object.__init__c             C   s   || j |< d S )N)r   )r   r   objr   r   r   	_addchild>   s    z_Object._addchildN)__name__
__module____qualname__r   r   r   r   r   r   r	   4   s   r	   c               @   s   e Zd ZdddZdS )r   Nc             C   s   t | ||||| d S )N)r	   r   )r   r
   r   r   r   r   r   r   r   r   D   s    zFunction.__init__)N)r   r   r   r   r   r   r   r   r   B   s   c                   s&   e Zd Zd fdd	Zdd Z  ZS )r   Nc                s0   t | ||||| |d kr g n|| _i | _d S )N)r	   r   supermethods)r   r
   r   r   r   r   r   )	__class__r   r   r   J   s    zClass.__init__c             C   s   || j |< d S )N)r   )r   r   r   r   r   r   
_addmethodO   s    zClass._addmethod)N)r   r   r   r   r   __classcell__r   r   )r   r   r   H   s   c             C   s:   t | j|| j|| }| || t| tr6| || |S )N)r   r
   r   r   
isinstancer   r   )ob	func_namer   Znewfuncr   r   r   _nest_functionS   s
    
r!   c             C   s&   t | j||| j|| }| || |S )N)r   r
   r   r   )r   
class_namer   r   Znewclassr   r   r   _nest_class[   s    r#   c             C   s:   i }x0t | |pg  D ]\}}t|tr|||< qW |S )N)_readmoduleitemsr   r   )r
   pathZreskeyvaluer   r   r   r   a   s
    
c             C   s   t | |p
g S )N)r$   )r
   r&   r   r   r   r   m   s    c          	   C   s`  |d k	rd|| f }n| }|t kr*t | S i }| tjkrL|d krL|t | < |S | d}|dkr| d | }| |d d  }t|||}|d k	rd||f }d|krtd|t||d |S d }	|d k	r|}
n
|tj }
tj	
||
}|t |< |jd k	r|j|d< y|j|}|d kr$|S W n ttfk
r@   |S X |j|}t||||||S )Nz%s.%s.r      __path__zNo package named {})_modulessysbuiltin_module_namesrfindr$   ImportErrorformatr&   	importlibutil_find_spec_from_pathsubmodule_search_locationsloader
get_sourceAttributeErrorget_filename_create_tree)r
   r&   	inpackage
fullmoduletreeipackageZ	submoduler   fZsearch_pathspecsourcefnamer   r   r   r$   v   sF    	



r$   c       !   
   C   sj  t |}g }t|j}y*x"|D ]\}	}
}}}|	tkrh|\}}x|rd|d d |krd|d= qHW q&|
dkr|\}}x|r|d d |kr|d= q|W t|dd \}	}}|	tkrq&d }|r|d d }t|||}nt	| |||}|||< |
||f q&|
dkr|\}}x$|r8|d d |kr8|d= qW t|dd \}	}}|	tkr\q&t|dd \}	}
}d }|
dkrg }d}g }xt|dd \}	}
}|
dkr2|dkr2d	|}||kr|| }nL|d
}t|dkr$|d }|d }|tkr$t| }||kr$|| }|
| g }|
dkrF|d7 }nX|
dkrf|d8 }|dkrP n8|
dkr||dkr|n"|	ttfkr|dkr|
|
 qW |}|r|d d }t||||}nt| ||||}|||< |
||f q&|
dkr|d dkrt|}xl|D ]d\}}yL|d kr8t|| n2yt||| W n  tk
rh   t|g  Y nX W n   Y nX qW q&|
dkr&|d dkr&t|\}}
|r&|
dkrq&t|}yt|||}W n   w&Y nX xd|D ]\\}} ||kr|| || p|< n4|dkrx(|D ] }|d dkr|| ||< qW qW q&W W n tk
r\   Y nX |  |S )Nr*   defr      class()), r)   rI   rJ   importfrom*_)ioStringIOtokenizegenerate_tokensreadliner   nextr   r!   r   appendjoinsplitlenr,   r   r#   r   _getnamelistr$   r0   _getnameStopIterationclose)!r<   r&   rC   rB   r=   r;   r@   stackg	tokentypetokenstartZ_end_liner   Z
thisindentr    Zcur_funcZcur_objr"   Zinheritnameslevelr   ncmdZ	cur_classmodulesmodZ_mod2Zn2r   r   r   r:      s    




















 r:   c             C   st   g }xjt | \}}|sP |dkr.t | \}}nd }|||f x |dkr`d|kr`t| d }qBW |dkrP qW |S )NasrJ   
r*   )r\   rW   rV   )r`   re   r   rb   Zname2r   r   r   r[   B  s    r[   c             C   s   g }t | dd \}}|tkr0|dkr0d |fS || xJt | dd \}}|dkrZP t | dd \}}|tkrxP || q<W d||fS )Nr      rO   r)   )rV   r   rW   rX   )r`   partsra   rb   r   r   r   r\   X  s    
r\   c        
      C   sb  dd l } ytjd }W n   t}Y nX | j|rj| j|g}| j|}| 	drn|d d }ng }t
||}dd }t| |dd}d	}x|r\| }t|trqt|d
sd|_t|trt|j |dd}x|D ]}	|j| |	_qW || t|tr4tdd|j |j|j|j qt|trtdd|j |j|j qW d S )Nr   r*   z.pyc             S   s   t | ddS )Nr   r   )getattr)ar   r   r   <lambda>y      z_main.<locals>.<lambda>T)r'   reversero   indentz{}class {} {} {} z{}def {} {})osr-   argv__file__r&   existsdirnamebasenamelowerendswithr   sortedvaluespopr   listhasattrrw   r	   r   extendr   printr1   r   r   r   r   )
ry   rl   r&   r=   Z
lineno_keyZobjsZindent_levelr   Znew_objsr   r   r   r   _mainj  s@    








r   __main__)N)N)N)N)rQ   r-   importlib.utilr2   rS   rb   r   r   r   __all__r,   r	   r   r   r!   r#   r   r   r$   r:   r[   r\   r   r   r   r   r   r   <module>)   s*   


	
= &