� !A?h�����dZgd�ZddlZddlZddlZd d�Zd d�Zejje_ejje_Gd�dej��Z d �Z d �Z e d kr e ��dSdS) zUPython interface for the 'lsprof' profiler. Compatible with the 'profile' module. )�run�runctx�Profile�N�����c�^�tjt���|||��S�N)� _pyprofile�_Utilsrr)� statement�filename�sorts �5/opt/alt/python-internal/lib64/python3.11/cProfile.pyrrs%�� � �W� %� %� )� )�)�X�t� D� D�D�c�b�tjt���|||||��Sr)r r rr)r �globals�localsr r s rrrs0�� � �W� %� %� ,� ,�Y���-5�t� =� =�=rc�J�eZdZdZd d�Zd�Zd�Zd�Zd�Zd�Z d �Z d �Z d �Z d S)ra`Profile(timer=None, timeunit=None, subcalls=True, builtins=True) Builds a profiler object using the specified timer function. The default timer is a fast built-in one based on real time. For custom timer functions returning integers, timeunit can be a float specifying a scale (i.e. how long each integer unit is, in seconds). rc��ddl}|�|������|�����dS�Nr)�pstats�Stats� strip_dirs� sort_stats� print_stats)�selfr rs rrzProfile.print_stats)sI��� � � �� � �T���%�%�'�'�2�2�4�8�8�D�D�F�F�F�F�Frc��ddl}t|d��5}|���|�|j|��ddd��dS#1swxYwYdS)Nr�wb)�marshal�open� create_stats�dump�stats)r�filer�fs r� dump_statszProfile.dump_stats-s������� �$�� � � (�� � � � � � � �L�L���Q� '� '� '� (� (� (� (� (� (� (� (� (� (� (� (���� (� (� (� (� (� (s�0A�A�Ac�V�|���|���dSr)�disable�snapshot_stats�rs rr zProfile.create_stats3s'�� � � ���� �������rc�l�|���}i|_i}|D]]}t|j��}|j}||jz }|j}|j}i} | |t|j��<||||| f|j|<�^|D]�}|j r�t|j��}|j D]�} |t| j��} n#t$rY�*wxYw| j}|| jz }| j}| j}|| vr4| |} || dz }|| dz }|| dz }|| dz }||||f| |<����dS)Nr���) �getstatsr"�label�code� callcount� reccallcount� inlinetime� totaltime�id�calls�KeyError) r�entries� callersdicts�entry�func�nc�cc�tt�ct�callers�subentry�prevs rr(zProfile.snapshot_stats7s����-�-�/�/���� �� �� 7� 7�E����$�$�D���B��e�(�(�B��!�B���B��G�+2�L��E�J��� (�!�2�r�2�w�6�D�J�t� � �� 3� 3�E��{� 3��U�Z�(�(�� %� �3�3�H�!�".�r�(�-�/@�/@�"A����#�!�!�!� ��!����!�+�B��h�3�3�B�!�,�B�!�+�B��w���&�t�}���d�1�g� ���d�1�g� ���d�1�g� ���d�1�g� ��$&��B��N�G�D�M�M��% 3� 3s�'C� C�Cc�F�ddl}|j}|�|||��Sr)�__main__�__dict__r)r�cmdrD�dicts rrz Profile.run]s)������� ���{�{�3��d�+�+�+rc��|��� t|||��|���n#|���wxYw|Sr)�enable�execr')rrFrrs rrzProfile.runctxbsL�� � � � � � � � ��g�v� &� &� &� �L�L�N�N�N�N��D�L�L�N�N�N�N����� s �<�Ac��|��� ||i|��|���S#|���wxYwr)rIr')rr;�args�kws r�runcallzProfile.runcallksG�� � � � � � � ��4��$��$�$� �L�L�N�N�N�N��D�L�L�N�N�N�N���s �2�Ac�.�|���|Sr)rIr)s r� __enter__zProfile.__enter__rs�� � � � � � �� rc�.�|���dSr)r')r�exc_infos r�__exit__zProfile.__exit__vs�� � � �����rN)r) �__name__� __module__� __qualname__�__doc__rr%r r(rrrNrPrS�rrrrs���������G�G�G�G�(�(�(� ���!3�!3�!3�L,�,�,� �������������rrc�^�t|t��rdd|fS|j|j|jfS)N�~r)� isinstance�str� co_filename�co_firstlineno�co_name)r0s rr/r/{s6���$����E��Q��~��� �$�"5�t�|�D�Drc ��ddl}ddl}ddl}ddl}ddlm}d}||���}d|_|�dddd d� ��|�d d d ddt|j j �����|�ddddd���|j dd�s)|� ��|� d��|���\}}||j dd�<|j�$|j�|j��|_t%|��dk�r|jrd} |j|dd�} n�|d} |j�d|j�| ����t/j| ��5} t3| ���| d��} ddd��n #1swxYwY| dddd�} t7| | d|j|j��nL#t:$r+} d|_|� | j��Yd} ~ nd} ~ wwxYw|� ��|S)Nr)� OptionParserzNcProfile.py [-o output_file_path] [-s sort] [-m module | scriptfile] [arg] ...)�usageFz-oz --outfile�outfilezSave stats to )�dest�help�defaultz-sz--sortr z?Sort order when printing to stdout, based on pstats.Stats classr,)rdrerf�choicesz-m�module� store_truezProfile a library module)rd�actionrerfr+z(run_module(modname, run_name='__main__'))� run_module�modnamerJrD)�__file__rT� __package__� __cached__) �os�sys�runpyr�optparsera�allow_interspersed_args� add_option�sortedr�sort_arg_dict_default�argv� print_usage�exit� parse_argsrc�path�abspath�lenrhrk�insert�dirname�io� open_code�compile�readrr �BrokenPipeError�stdout�errno)rprqrrrrarb�parser�optionsrLr0�globs�progname�fp�excs r�mainr��s��� �I�I�I��J�J�J��L�L�L��M�M�M�%�%�%�%�%�%� \�E� �\�� &� &� &�F�%*�F�"� ���d�K�i� &���6�6�6� ���d�H�6� N���v�|�9�:�:��<�<�<� ���d��,� '���8�8�8� �8�A�B�B�<�������� ���� � � ��'�'�)�)�O�W�d��C�H�Q�Q�Q�K���"��'�/�/�'�/�:�:��� �4�y�y�1�}�}� �>� �=�D�#�.���7���E�E� �A�w�H� �H�O�O�A�r�w���x�8�8� 9� 9� 9���h�'�'� <�2��r�w�w�y�y�(�F�;�;�� <� <� <� <� <� <� <� <� <� <� <���� <� <� <� <�%�&�#�"� ��E�  � �4���g�o�w�|� D� D� D� D��� � � ��C�J� �H�H�S�Y� � � � � � � � ����� ���� ������ �Ms*�$G�G � G �G6�6 H+�!H&�&H+rD)Nr) rW�__all__�_lsprofr��profiler rr�Profilerrr/r�rTrXrr�r�s����� '� &� &������ � � � ����� E�E�E�E�=�=�=�=��n�$�� ��"�*���[�[�[�[�[�g��[�[�[�~E�E�E�8�8�8�v �z����D�F�F�F�F�F��r