
    	^c                         d dl Z ddlmZ ddlmZ dZ e j        d                     e	e          ej
                            Z G d d	          ZdS )
    N   )docket   )v2s   dirstate-v2
z>{}s32s32s{}sLBc                   P    e Zd ZdZd Zed             Zed             Zd Zd Z	dS )DirstateDockets   dirstate.%sc                 >    || _         || _        || _        || _        d S N)parents	data_sizetree_metadatauuid)selfr   r   r   r   s        @/usr/lib/python3/dist-packages/mercurial/dirstateutils/docket.py__init__zDirstateDocket.__init__"   s#    "*			    c                 @     | |||t          j                              S r
   )
docket_modmake_uid)clsr   r   r   s       r   with_new_uuidzDirstateDocket.with_new_uuid(   s!    s7I}j6I6K6KLLLr   c                 R   |s|j         |j         f} | |ddd           S t                              |          \  }}}}}}	|t          k    rt	          d          |t          j        t          j        |	z            }
|d |j                 }|d |j                 } | ||f|||
          S )Nr   r   zexpected dirstate-v2 marker)nullidHEADERunpack_fromV2_FORMAT_MARKER
ValueErrorsizenodelen)r   datanodeconstantsr   markerp1p2metar   	uuid_sizer   s              r   parsezDirstateDocket.parse,   s     	.$+]-ABG3w3---5;5G5G5M5M2Bi%%%:;;;FK&+	"99:'-''('-''(sB8Yd333r   c           
          | j         \  }}t                              t          ||| j        | j        t          | j                            }|| j        z   S r
   )r   r   packr   r   r   lenr   )r   r#   r$   headers       r   	serializezDirstateDocket.serialize9   sN    BN	NN
 
 	!!r   c                      | j         | j        z  S r
   )data_filename_patternr   )r   s    r   data_filenamezDirstateDocket.data_filenameE   s    )DI55r   N)
__name__
__module____qualname__r.   r   classmethodr   r'   r,   r/    r   r   r   r      s        *   M M [M 
4 
4 [
4
" 
" 
"6 6 6 6 6r   r   )structrevlogutilsr   r    r   r   Structformatr*   TREE_METADATA_SIZEr   r   r4   r   r   <module>r;      s     . . . . . .      #  
SS!122B4IJJ
 

'6 '6 '6 '6 '6 '6 '6 '6 '6 '6r   