o
    j]	                     @   s*   d dl mZ d dlmZ G dd dZdS )    )MINIDUMP_STREAM_TYPE)MINIDUMP_LOCATION_DESCRIPTORc                   @   sJ   e Zd Zdd Zdd ZedddZedd	 Zed
d Zdd Z	dS )MINIDUMP_DIRECTORYc                 C   s   d | _ d | _d S N
StreamTypeLocation)self r
   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/minidump/directory.py__init__   s   
zMINIDUMP_DIRECTORY.__init__c                 C   s&   | j jjdddd}|| j 7 }|S N   littleF)	byteordersigned)r   valueto_bytesr   r	   tr
   r
   r   r   
   s   zMINIDUMP_DIRECTORY.to_bytesFc                 C   s   t j| ddddS r   )int
from_bytesread)buffpeekr
   r
   r   get_stream_type_value   s   z(MINIDUMP_DIRECTORY.get_stream_type_valuec                 C   sL   t | }|tjjk}|tjv }|r|sd S t  }t||_t| |_	|S r   )
r   r   r   LastReservedStreamr   _value2member_map_r   r   parser   )r   raw_stream_type_valueis_user_streamis_stream_supportedmdr
   r
   r   r      s   


zMINIDUMP_DIRECTORY.parsec                    sj   |  dI d H }tj|ddd}|tjjk}|tjv }|r"|s"d S t }t||_t	
| I d H |_|S r   )r   r   r   r   r   r   r   r   r   r   aparser   )r   r   r   r    r!   r"   r
   r
   r   r#   %   s   

zMINIDUMP_DIRECTORY.aparsec                 C   s   d| j | jf }|S )NzStreamType: %s %sr   r   r
   r
   r   __str__8   s   zMINIDUMP_DIRECTORY.__str__N)F)
__name__
__module____qualname__r   r   staticmethodr   r   r#   r$   r
   r
   r
   r   r      s    

r   N)minidump.constantsr   minidump.common_structsr   r   r
   r
   r
   r   <module>   s   