o
    j                     @   s   d dl Z d dlZG dd de jZG dd de jZG dd de jZejejfdejejfd	ej	ej
fd
ej	ejfdej	ejfdej	ejfdejej
fdiZG dd dZdS )    Nc                   @   s   e Zd ZdZdZdS )NTLMRevisionCurrent      N)__name__
__module____qualname__NTLMSSP_REVISION_W2K3NTLMSSP_REVISION_UNK r
   r
   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/asyauth/protocols/ntlm/structures/version.pyr      s    r   c                   @   s   e Zd ZdZdZdZdZdS )WindowsMajorVersionr         
   N)r   r   r   WINDOWS_MAJOR_VERSION_UNKWINDOWS_MAJOR_VERSION_5WINDOWS_MAJOR_VERSION_6WINDOWS_MAJOR_VERSION_10r
   r
   r
   r   r   
   s
    r   c                   @   s    e Zd ZdZdZdZdZdZdS )WindowsMinorVersionr   r            N)r   r   r   WINDOWS_MINOR_VERSION_UNKWINDOWS_MINOR_VERSION_0WINDOWS_MINOR_VERSION_1WINDOWS_MINOR_VERSION_2WINDOWS_MINOR_VERSION_3r
   r
   r
   r   r      s    r   z0Windows XP operating system Service Pack 2 (SP2)zWindows Server 2003z$Windows Vista or Windows Server 2008z#Windows 7 or Windows Server 2008 R2z1Windows 8 or Windows Server 2012 operating systemz%Windows 8.1 or Windows Server 2012 R2z!Windows 10 or Windows Server 2016c                   @   sT   e Zd Zdd ZeejejdfddZ	dd Z
edd	 Zed
d Zdd ZdS )Versionc                 C   s(   d | _ d | _d | _d| _d | _d | _d S )Nr   )ProductMajorVersionProductMinorVersionProductBuildReservedr   WindowsProduct)selfr
   r
   r   __init__&   s   
zVersion.__init__i:  c                 C   s$   t  }| |_||_||_tj|_|S N)r   r   r   r    r   r   )majorminorbuildvr
   r
   r   	construct0   s   zVersion.constructc                 C   st   | j jjdddd}|| jjjdddd7 }|| jjdddd7 }|| jjdddd7 }|| jjjdddd7 }|S Nr   littleF)	byteordersignedr   r   )r   valueto_bytesr   r    r!   r   r#   tr
   r
   r   r0   :   s   zVersion.to_bytesc                 C   s   t t| S r%   )r   from_bufferioBytesIO)bbuffr
   r
   r   
from_bytesB   s   zVersion.from_bytesc                 C   s   t  }zttj| dddd|_W n   tj|_Y zttj| dddd|_W n   tj	|_Y tj| dddd|_
tj| dddd|_zttj| dddd|_W n   tj|_Y zt|j|jf |_W |S    Y |S r+   )r   r   intr7   readr   r   r   r   r   r    r!   r   r	   r"   )buffr)   r
   r
   r   r3   F   s*    
 
 
zVersion.from_bufferc                 C   sT   d}|dt | jj 7 }|dt | jj 7 }|dt | j 7 }|dt | j 7 }|S )Nz== NTLMVersion ==
zProductMajorVersion  : %s
zProductMinorVersion  : %s
zProductBuild         : %s
zWindowsProduct       : %s
)reprr   namer   r    r"   r1   r
   r
   r   __repr__^   s   zVersion.__repr__N)r   r   r   r$   staticmethodr   r   r   r   r*   r0   r7   r3   r=   r
   r
   r
   r   r   %   s    
	

r   )enumr4   Enumr   r   r   r   r   r   r   r   r   r   r"   r   r
   r
   r
   r   <module>   s    	