???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................U
    e5d                     @   sj   d dl Z d dlZd dlZd dlZdddgZdddZi add ZdddZdd	dZ	dd
dZ
dd ZdS )    Ngetline
clearcache
checkcachec                 C   s:   t | |}d|  kr"t|kr2n n||d  S dS d S )N    )getlineslen)filenamelinenomodule_globalslines r   !/usr/lib64/python3.8/linecache.pyr      s    
c                   C   s   i a d S )N)cacher   r   r   r   r      s    c                 C   sX   | t kr(t |  }t|dkr(t |  d S zt| |W S  tk
rR   t  g  Y S X d S )Nr      )r   r   updatecacheMemoryErrorr   )r	   r   entryr   r   r   r   %   s    r   c              	   C   s   | d krt t }n| tkr&| g}nd S |D ]} t|  }t|dkrHq.|\}}}}|d kr^q.zt|}W n$ tk
r   t| d  Y q.Y nX ||jks||j	kr.t| d  q.d S )Nr   )
listr   keysr   osstatOSErrorpopst_sizest_mtime)r	   	filenamesr   sizemtimer   fullnamer   r   r   r   r   5   s&    
c                 C   s  | t kr$tt |  dkr$t | d  | r<| dr@| dr@g S | }zt|}W n tk
rn   | }t| |rzt |  d  }W n t	tfk
r   Y nDX |d krg  Y S t|d dd |
 D |ft | < t |  d  Y S tj| rg  Y S tjD ]d}ztj||}W n ttfk
r0   Y qY nX zt|}W  qjW q tk
r^   Y qX qg  Y S Y nX z"t|}| }W 5 Q R X W n tk
r   g  Y S X |r|d d	s|d  d	7  < |j|j }	}
|	|
||ft | < |S )
Nr   <>r   c                 S   s   g | ]}|d  qS )
r   ).0liner   r   r   
<listcomp>q   s     zupdatecache.<locals>.<listcomp>r   r"   )r   r   r   
startswithendswithr   r   r   	lazycacheImportError
splitlinespathisabssysjoin	TypeErrorAttributeErrortokenizeopen	readlinesr   r   )r	   r   r   r   basenamedatadirnamefpr   r   r   r   r   r   r   R   s\    
  



r   c                 C   s   | t kr tt |  dkrdS dS | r8| dr<| dr<dS |rd|kr|d}|d }t|dd }|r|rt||}|ft | < dS dS )	Nr   TFr    r!   
__loader____name__
get_source)r   r   r'   r(   getgetattr	functoolspartial)r	   r   nameloaderr;   	get_linesr   r   r   r)      s    

r)   )N)N)N)N)r>   r.   r   r2   __all__r   r   r   r   r   r   r)   r   r   r   r   <module>   s   




A