File: //lib/python3.12/__pycache__/warnings.cpython-312.pyc
�
    )!�h U  �                   �8  � d Z ddlZg d�Zd0d�Zd1d�Zd� Zd� ZeZd� ZeZ	d	� Z
d
ed
ddfd�Zeddfd
�Z
d� Zd� Z G d� de�      Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd� Zd2dd�d�Z	 	 d3d�Z G d� d e�      Z G d!� d"e�      Zd#Zefej@                  d$�d%�Z!d&� Z"	 dd'l#m$Z$m%Z%m&Z&mZmZm'Z' e%Z(e&Z)d(Z* eejZ                  �       e*sA e.ed+�      s8 ed)e/d,d�-�        e
d.e/d�/�        e
d.e0d�/�        e
d.e1d�/�        e
d.e2d�/�       [*y# e+$ r g Z$d)Z(i Z)da,d*� Z'dZ*Y �kw xY w)4z&Python part of the warnings subsystem.�    N)�warn�
warn_explicit�showwarning�
formatwarning�filterwarnings�simplefilter�
resetwarnings�catch_warningsc                 �:   � t        | |||||�      }t        |�       y)�7Hook to write a warning to a file; replace if you like.N)�WarningMessage�_showwarnmsg_impl)�message�category�filename�lineno�file�line�msgs          �/usr/lib/python3.12/warnings.pyr   r   
   s   � �
��(�H�f�d�D�
I�C��c��    c                 �8   � t        | |||d|�      }t        |�      S )�.Function to format a warning the standard way.N)r
   �_formatwarnmsg_impl)r   r   r   r   r   r   s         r   r   r      s!   � �
��(�H�f�d�D�
I�C��s�#�#r   c                 �   � | j                   }|�t        j                  }|�y t        | �      }	 |j	                  |�       y # t
        $ r Y y w xY w�N)r   �sys�stderr�_formatwarnmsg�write�OSError)r   r   �texts      r   r   r      sP   � ��8�8�D��|��z�z���<� 
��#��D�
��
�
�4���� 
��
�s   �A  � 	A�Ac                 �X  � | j                   j                  }| j                  � d| j                  � d|� d| j                  � d�}| j
                  �,	 dd l}|j                  | j                  | j                  �      }n| j
                  }|r|j                  �       }|d|z  z
  }| j                  ��	 dd l}	 |j                  �        }|j                  | j                  �      }|�u|dz
  }|D ]i  }|d|j                  �d	|j                  �d�z
  }	 �'|j                  |j                  |j                  �      }nd }|s�R|j                  �       }|d
|z  z
  }�k |S |r||� d�z
  }|S # t        $ r d }d }Y ��w xY w# t        $ r d}d }Y ��w xY w# t        $ r d}d }Y ��w xY w# t        $ r d }Y �qw xY w)N�:z: �
r   z  %s
Fz-Object allocated at (most recent call last):
z  File "z
", lineno z    %s
z<: Enable tracemalloc to get the object allocation traceback
)r   �__name__r   r   r   r   �	linecache�getline�	Exception�strip�source�tracemalloc�
is_tracing�get_object_traceback)	r   r   �sr'