OwlCyberSecurity - MANAGER
Edit File: tracemalloc.cpython-38.opt-1.pyc
U ����e5d�B����������������������@���s��d�dl�mZmZ�d�dlmZ�d�dlZd�dlZd�dlZd�dl Z d�dl T�d�dl mZmZ�dd��Z G�dd ��d �ZG�d d��d�Zdd ��ZeG�dd��d��ZeG�dd��de��Zdd��ZG�dd��d�ZG�dd��de�Zdd��ZG�dd��d�ZG�dd��de�ZG�dd��de�ZG�d d!��d!�Zd"d#��ZdS�)$�����)�Sequence�Iterable)�total_orderingN)�*)�_get_object_traceback�_get_tracesc�����������������C���s����dD�]|}t�|��dk�r@|dkr@|r0d|�|f���S�d|�|f���S�t�|��dk�sT|dkrx|rhd|�|f���S�d |�|f���S�|�d �}�qd�S�)N)�BZKiBZMiBZGiB�TiB�d���r���z%+.1f %sz%.1f %si�(��r ���z%+.0f %sz%.0f %si���)�abs)�sizeZsignZunit��r ����#/usr/lib64/python3.8/tracemalloc.py�_format_size ���s����r���c�������������������@���sD���e�Zd�ZdZdZdd��Zdd��Zdd��Zd d ��Zdd��Z d d��Z dS�)� StatisticzS Statistic difference on memory allocations between two Snapshot instance. �� tracebackr����countc�����������������C���s���||�_�||�_||�_d�S��Nr���)�selfr���r���r���r ���r ���r����__init__%���s����zStatistic.__init__c�����������������C���s���t�|�j|�j|�jf�S�r���)�hashr���r���r����r���r ���r ���r����__hash__*���s����zStatistic.__hash__c�����������������C���s$���|�j�|j�ko"|�j|jko"|�j|jkS�r���r����r����otherr ���r ���r����__eq__-���s ���� � �zStatistic.__eq__c�����������������C���sB���d|�j�t|�jd�|�jf�}|�jr>|�j|�j�}|dt|d��7�}|S�)Nz%s: size=%s, count=%iF�, average=%s)r���r���r���r����r����textZaverager ���r ���r����__str__2���s���� ��zStatistic.__str__c�����������������C���s���d|�j�|�j|�jf�S�)Nz)<Statistic traceback=%r size=%i count=%i>r���r���r ���r ���r����__repr__<���s�����zStatistic.__repr__c�����������������C���s���|�j�|�j|�jfS�r���)r���r���r���r���r ���r ���r���� _sort_key@���s����zStatistic._sort_keyN��__name__� __module__�__qualname__�__doc__� __slots__r���r���r���r ���r!���r"���r ���r ���r ���r���r������s��� r���c�������������������@���sD���e�Zd�ZdZdZdd��Zdd��Zdd��Zd d ��Zdd��Z d d��Z dS�)� StatisticDiffzd Statistic difference on memory allocations between an old and a new Snapshot instance. �r���r���� size_diffr���� count_diffc�����������������C���s"���||�_�||�_||�_||�_||�_d�S�r���r*���)r���r���r���r+���r���r,���r ���r ���r���r���K���s ����zStatisticDiff.__init__c�����������������C���s���t�|�j|�j|�j|�j|�jf�S�r���)r���r���r���r+���r���r,���r���r ���r ���r���r���R���s������zStatisticDiff.__hash__c�����������������C���s<���|�j�|j�ko:|�j|jko:|�j|jko:|�j|jko:|�j|jkS�r���r*���r���r ���r ���r���r���V���s���� � � � �zStatisticDiff.__eq__c�����������������C���sP���d|�j�t|�jd�t|�jd�|�j|�jf�}|�jrL|�j|�j�}|dt|d��7�}|S�)Nz %s: size=%s (%s), count=%i (%+i)FTr���)r���r���r���r+���r���r,���r���r ���r ���r���r ���]���s���� ��zStatisticDiff.__str__c�����������������C���s���d|�j�|�j|�j|�j|�jf�S�)Nz9<StatisticDiff traceback=%r size=%i (%+i) count=%i (%+i)>r*���r���r ���r ���r���r!���i���s�������zStatisticDiff.__repr__c�����������������C���s ���t�|�j�|�jt�|�j�|�j|�jfS�r���)r���r+���r���r,���r���r���r���r ���r ���r���r"���n���s ������zStatisticDiff._sort_keyNr#���r ���r ���r ���r���r)���D���s���r)���c�����������������C���s����g�}|����D�]d\}}|��|d��}|d�k rNt||j|j|j�|j|j|j��}nt||j|j|j|j�}|�|��q|�����D�]*\}}t|d|j�d|j��}|�|��qz|S��Nr���)�items�popr)���r���r����append)� old_group� new_group� statisticsr����statZpreviousr ���r ���r����_compare_grouped_statst���s*����� � ����r5���c�������������������@���s\���e�Zd�ZdZdZdd��Zedd���Zedd���Zd d ��Z dd��Z d d��Zdd��Zdd��Z dS�)�Framez Frame of a traceback. ��_framec�����������������C���s ���||�_�d�S�r���r7����r����framer ���r ���r���r�������s����zFrame.__init__c�����������������C���s ���|�j�d�S�r-���r7���r���r ���r ���r����filename����s����zFrame.filenamec�����������������C���s ���|�j�d�S��N����r7���r���r ���r ���r����lineno����s����zFrame.linenoc�����������������C���s���|�j�|j�kS�r���r7���r���r ���r ���r���r�������s����zFrame.__eq__c�����������������C���s���|�j�|j�k�S�r���r7���r���r ���r ���r����__lt__����s����zFrame.__lt__c�����������������C���s ���t�|�j�S�r���)r���r8���r���r ���r ���r���r�������s����zFrame.__hash__c�����������������C���s���d|�j�|�jf�S�)Nz%s:%s�r;���r>���r���r ���r ���r���r �������s����z Frame.__str__c�����������������C���s���d|�j�|�jf�S�)Nz<Frame filename=%r lineno=%r>r@���r���r ���r ���r���r!�������s����zFrame.__repr__N)r$���r%���r&���r'���r(���r����propertyr;���r>���r���r?���r���r ���r!���r ���r ���r ���r���r6�������s��� r6���c�������������������@���sf���e�Zd�ZdZdZdd��Zdd��Zdd��Zd d ��Zdd��Z d d��Z dd��Zdd��Zdd��Z ddd�ZdS�)� Tracebackz` Sequence of Frame instances sorted from the oldest frame to the most recent frame. ��_framesc�����������������C���s���t��|���tt|��|�_d�S�r���)r���r����tuple�reversedrD���)r����framesr ���r ���r���r�������s���� zTraceback.__init__c�����������������C���s ���t�|�j�S�r���)�lenrD���r���r ���r ���r����__len__����s����zTraceback.__len__c�����������������C���s4���t�|t�r"tdd��|�j|�D���S�t|�j|��S�d�S�)Nc�����������������s���s���|�]}t�|�V��qd�S�r���)r6�����.0�tracer ���r ���r���� <genexpr>����s�����z(Traceback.__getitem__.<locals>.<genexpr>)� isinstance�slicerE���rD���r6����r����indexr ���r ���r����__getitem__����s���� zTraceback.__getitem__c�����������������C���s���|j�|�jkS�r���)r8���rD���r9���r ���r ���r����__contains__����s����zTraceback.__contains__c�����������������C���s ���t�|�j�S�r���)r���rD���r���r ���r ���r���r�������s����zTraceback.__hash__c�����������������C���s���|�j�|j�kS�r���rC���r���r ���r ���r���r�������s����zTraceback.__eq__c�����������������C���s���|�j�|j�k�S�r���rC���r���r ���r ���r���r?�������s����zTraceback.__lt__c�����������������C���s���t�|�d��S�r-���)�strr���r ���r ���r���r �������s����zTraceback.__str__c�����������������C���s���dt�|��f�S�)Nz<Traceback %r>)rE���r���r ���r ���r���r!�������s����zTraceback.__repr__NFc�����������������C���s����g�}|d�k r2|dkr$|�|�d���}q6|�d�|��}n|�}|rBt�|�}|D�]@}|�d|j|jf���t�|j|j����}|rF|�d|���qF|S�)Nr���z File "%s", line %sz %s)rF���r0���r;���r>���� linecache�getline�strip)r����limitZmost_recent_first�linesZframe_slicer:����liner ���r ���r����format����s ���� �zTraceback.format)NF)r$���r%���r&���r'���r(���r���rI���rR���rS���r���r���r?���r ���r!���r[���r ���r ���r ���r���rB�������s���rB���c�����������������C���s ���t�|��}|dk rt|�S�dS�dS�)z� Get the traceback where the Python object *obj* was allocated. Return a Traceback instance. Return None if the tracemalloc module is not tracing memory allocations or did not trace the allocation of the object. N)r���rB���)�objrG���r ���r ���r����get_object_traceback����s����r]���c�������������������@���s`���e�Zd�ZdZdZdd��Zedd���Zedd���Zed d ���Z dd��Z d d��Zdd��Zdd��Z dS�)�Tracez" Trace of a memory block. ��_tracec�����������������C���s ���||�_�d�S�r���r_����r���rL���r ���r ���r���r������s����zTrace.__init__c�����������������C���s ���|�j�d�S�r-���r_���r���r ���r ���r����domain��s����zTrace.domainc�����������������C���s ���|�j�d�S�r<���r_���r���r ���r ���r���r��� ��s����z Trace.sizec�����������������C���s���t�|�jd��S�)N����)rB���r`���r���r ���r ���r���r��� ��s����zTrace.tracebackc�����������������C���s���|�j�|j�kS�r���r_���r���r ���r ���r���r�����s����zTrace.__eq__c�����������������C���s ���t�|�j�S�r���)r���r`���r���r ���r ���r���r�����s����zTrace.__hash__c�����������������C���s���d|�j�t|�jd�f�S�)Nz%s: %sF)r���r���r���r���r ���r ���r���r �����s����z Trace.__str__c�����������������C���s���d|�j�t|�jd�|�jf�S�)Nz'<Trace domain=%s size=%s, traceback=%r>F)rb���r���r���r���r���r ���r ���r���r!�����s�����zTrace.__repr__N)r$���r%���r&���r'���r(���r���rA���rb���r���r���r���r���r ���r!���r ���r ���r ���r���r^�������s��� r^���c�������������������@���s<���e�Zd�Zdd��Zdd��Zdd��Zdd��Zd d ��Zdd��Zd S�)�_Tracesc�����������������C���s���t��|���||�_d�S�r���)r���r����_traces)r����tracesr ���r ���r���r��� ��s���� z_Traces.__init__c�����������������C���s ���t�|�j�S�r���)rH���re���r���r ���r ���r���rI���%��s����z_Traces.__len__c�����������������C���s4���t�|t�r"tdd��|�j|�D���S�t|�j|��S�d�S�)Nc�����������������s���s���|�]}t�|�V��qd�S�r���)r^���rJ���r ���r ���r���rM���*��s�����z&_Traces.__getitem__.<locals>.<genexpr>)rN���rO���rE���re���r^���rP���r ���r ���r���rR���(��s���� z_Traces.__getitem__c�����������������C���s���|j�|�jkS�r���)r`���re���ra���r ���r ���r���rS���.��s����z_Traces.__contains__c�����������������C���s���|�j�|j�kS�r���)re���r���r ���r ���r���r���1��s����z_Traces.__eq__c�����������������C���s���dt�|���S�)Nz<Traces len=%s>)rH���r���r ���r ���r���r!���4��s����z_Traces.__repr__N) r$���r%���r&���r���rI���rR���rS���r���r!���r ���r ���r ���r���rd�����s���rd���c�����������������C���s&���t�j�|��}�|��d�r"|�d�d��}�|�S�)Nz.pyc���)�os�path�normcase�endswith)r;���r ���r ���r����_normalize_filename8��s���� rl���c�������������������@���s���e�Zd�Zdd��Zdd��ZdS�)� BaseFilterc�����������������C���s ���||�_�d�S�r���)� inclusive)r���rn���r ���r ���r���r���@��s����zBaseFilter.__init__c�����������������C���s���t��d�S�r���)�NotImplementedErrorra���r ���r ���r����_matchC��s����zBaseFilter._matchN)r$���r%���r&���r���rp���r ���r ���r ���r���rm���?��s���rm���c�����������������������sJ���e�Zd�Zd��fdd� Zedd���Zdd��Zd d ��Zdd��Zd d��Z ���Z S�)�FilterNFc��������������������s2���t����|��||�_t|�|�_||�_||�_||�_d�S�r���)�superr���rn���rl����_filename_patternr>���� all_framesrb���)r���rn����filename_patternr>���rt���rb����� __class__r ���r���r���H��s���� zFilter.__init__c�����������������C���s���|�j�S�r���)rs���r���r ���r ���r���ru���Q��s����zFilter.filename_patternc�����������������C���s6���t�|�}t�||�j�sdS�|�jd�kr(dS�||�jkS�d�S�)NFT)rl����fnmatchrs���r>����r���r;���r>���r ���r ���r����_match_frame_implU��s���� zFilter._match_frame_implc�����������������C���s���|���||�|�j�A�S�r���)rz���rn���ry���r ���r ���r����_match_frame^��s����zFilter._match_framec��������������������sH�����j�r,t��fdd�|D���r"��jS���j�S�n|d�\}}���||�S�d�S�)Nc�����������������3���s���|�]\}}����||�V��qd�S�r���)rz���)rK���r;���r>���r���r ���r���rM���c��s����z*Filter._match_traceback.<locals>.<genexpr>r���)rt����anyrn���r{���)r���r���r;���r>���r ���r���r����_match_tracebacka��s����� zFilter._match_tracebackc�����������������C���sD���|\}}}|���|�}|�jd�k r@|�jr2|o0||�jkS�|p>||�jkS�|S�r���)r}���rb���rn���)r���rL���rb���r���r����resr ���r ���r���rp���l��s���� z Filter._match)NFN)r$���r%���r&���r���rA���ru���rz���r{���r}���rp���� __classcell__r ���r ���rv���r���rq���G��s��������� rq���c�����������������������s0���e�Zd�Z��fdd�Zedd���Zdd��Z���ZS�)�DomainFilterc��������������������s���t����|��||�_d�S�r���)rr���r����_domain)r���rn���rb���rv���r ���r���r���x��s����zDomainFilter.__init__c�����������������C���s���|�j�S�r���)r����r���r ���r ���r���rb���|��s����zDomainFilter.domainc�����������������C���s���|\}}}||�j�k|�j�A�S�r���)rb���rn���)r���rL���rb���r���r���r ���r ���r���rp������s���� zDomainFilter._match)r$���r%���r&���r���rA���rb���rp���r���r ���r ���rv���r���r����w��s��� r����c�������������������@���sX���e�Zd�ZdZdd��Zdd��Zedd���Zdd ��Zd d��Z dd ��Z ddd�Zddd�ZdS�)�SnapshotzB Snapshot of traces of memory blocks allocated by Python. c�����������������C���s���t�|�|�_||�_d�S�r���)rd���rf����traceback_limit)r���rf���r����r ���r ���r���r������s���� zSnapshot.__init__c�������������� ���C���s*���t�|d��}t�|�|tj��W�5�Q�R�X�dS�)z1 Write the snapshot into a file. �wbN)�open�pickle�dumpZHIGHEST_PROTOCOL)r���r;����fpr ���r ���r���r�������s����z Snapshot.dumpc�������������� ���C���s,���t�|�d��}t�|�W��5�Q�R���S�Q�R�X�dS�)z. Load a snapshot from a file. �rbN)r����r�����load)r;���r����r ���r ���r���r�������s����z Snapshot.loadc��������������������s@���|rt���fdd�|D���sdS�|r<t���fdd�|D���r<dS�dS�)Nc�����������������3���s���|�]}|�����V��qd�S�r����rp����rK����trace_filter�rL���r ���r���rM������s����z)Snapshot._filter_trace.<locals>.<genexpr>Fc�����������������3���s���|�]}|������V��qd�S�r���r����r����r����r ���r���rM������s����T)r|���)r����include_filters�exclude_filtersrL���r ���r����r���� _filter_trace���s������zSnapshot._filter_tracec��������������������s����t�|t�stdt|�j���|rjg��g���|D�] }|jrB��|��q,���|��q,����fdd��jjD��}n�jj� ��}t |�j�S�)z� Create a new Snapshot instance with a filtered traces sequence, filters is a list of Filter or DomainFilter instances. If filters is an empty list, return a new Snapshot instance with a copy of the traces. z)filters must be a list of filters, not %sc��������������������s���g�|�]}������|�r|�qS�r ���)r����rJ����r����r����r���r ���r���� <listcomp>���s������z*Snapshot.filter_traces.<locals>.<listcomp>)rN���r���� TypeError�typer$���rn���r0���rf���re����copyr����r����)r����filtersr����Z new_tracesr ���r����r���� filter_traces���s���� �zSnapshot.filter_tracesc����������� ��� ���C���s���|dkrt�d|f���|r.|dkr.t�d|���i�}i�}|�s|�jjD�]�}|\}}}z||�} W�nZ�tk r����|dkr||} n(|dkr�|d�d��} n|d�d�dff} t| �} | ||<�Y�nX�z(|| �}|�j|7��_|�jd7��_W�qD�tk �r���t| |d�|| <�Y�qDX�qDn�|�jjD�]�}|\}}}|D�]�}z||�} W�nF�tk �r~���|dk�r\|f} n|d�dff} t| �} | ||<�Y�nX�z(|| �}|�j|7��_|�jd7��_W�n&�tk �r����t| |d�|| <�Y�nX��q(�q|S�) N)r���r;���r>���zunknown key_type: %r)r>���r;���z/cumulative mode cannot by used with key type %rr���r>���r=���r���)� ValueErrorrf���re����KeyErrorrB���r���r���r���) r����key_type� cumulativeZstatsZ tracebacksrL���rb���r���Ztrace_tracebackr���rG���r4���r:���r ���r ���r���� _group_by���sZ����� zSnapshot._group_byFc�����������������C���s,���|���||�}t|����}|jdtjd��|S�)zd Group statistics by key_type. Return a sorted list of Statistic instances. T��reverse�key)r�����list�values�sortr���r"���)r���r����r����Zgroupedr3���r ���r ���r���r3������s����zSnapshot.statisticsc�����������������C���s6���|���||�}|��||�}t||�}|jdtjd��|S�)z� Compute the differences with an old snapshot old_snapshot. Get statistics as a sorted list of StatisticDiff instances, grouped by group_by. Tr����)r����r5���r����r)���r"���)r���Zold_snapshotr����r����r2���r1���r3���r ���r ���r���� compare_to���s ���� zSnapshot.compare_toN)F)F) r$���r%���r&���r'���r���r�����staticmethodr����r����r����r����r3���r����r ���r ���r ���r���r�������s��� 3 r����c������������������C���s$���t���std��t��}�t��}t|�|�S�)zI Take a snapshot of traces of memory blocks allocated by Python. zLthe tracemalloc module must be tracing memory allocations to take a snapshot)� is_tracing�RuntimeErrorr���Zget_traceback_limitr����)rf���r����r ���r ���r���� take_snapshot ��s ����r����)Zcollections.abcr���r���� functoolsr���rx���rU���Zos.pathrh���r����Z_tracemallocr���r���r���r���r)���r5���r6���rB���r]���r^���rd���rl���rm���rq���r����r����r����r ���r ���r ���r����<module>���s2���&0"?%0�