HEX
Server: Apache
System: Linux pdx1-shared-a1-38 6.6.104-grsec-jammy+ #3 SMP Tue Sep 16 00:28:11 UTC 2025 x86_64
User: mmickelson (3396398)
PHP: 8.1.31
Disabled: NONE
Upload Files
File: //usr/lib/python3/dist-packages/mercurial/pure/__pycache__/mpatch.cpython-310.pyc
o

�]LbE
�@sbddlmZddlZddlmZejZGdd�de�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dS)�)�absolute_importN�)�pycompatc@seZdZdZdS)�mpatchErrorz+error raised when a delta cannot be decodedN)�__name__�
__module__�__qualname__�__doc__�r
r
�7/usr/lib/python3/dist-packages/mercurial/pure/mpatch.pyrsrcCsn|r5|��}|d|kr&|�|d||d|f�|�||df�dS|�|�||d8}|sdSdS)Nr�)�pop�append)�dst�src�l�fr
r
r�_pull s
�rcCs,|�|�|�|�}|�|�|�|�dS)zXmove count bytes from src to dest

    The file pointer is left at the end of dest.
    N)�seek�read�write)�m�destr�count�bufr
r
r�_move+s


rcCs8|}t|�D]\}}t||||�||7}q|||fS)N)�reversedr)rr�list�startr�pr
r
r�_collect6s

r c	Cs�|s|Sdd�|D�}t|�}t|�|}|||}d|}}|s$|St�}|�|�t|�|fg}	||}
|�|
�|D]}|�|�q>|D]l}t|	�dkr\||}}t|||	�g}	g}
|
|}d}|
|kr�|�|
�zt�d|�d��\}}}Wntj	y�t
d��wt|
|	||�tg|	||�|
�||
df�|
|d7}
|}|
|ksh|	�
t|
��qHt|||	�}|�|d�|�|d�S)	NcSsg|]}t|��qSr
)�len)�.0�xr
r
r�
<listcomp>Bszpatches.<locals>.<listcomp>r��>lll��patch cannot be decodedr)�sumr!�stringiorrr �struct�unpackr�errorrrr�extendr)�a�bins�plens�pl�bl�tl�b1�b2r�frags�posr�plen�new�end�last�p1�p2r�tr
r
r�patches>sP




��r@cCs�d\}}}t|�}d}||kr=|||d�}t�d|�\}}	}
||	kr%n||
}|d}|||7}|	}||
7}||ks||krEtd��|||7}|S)N)rrrr'r&r()r!r+r,r)�orig�delta�outlenr<�bin�binend�data�decoderr;�lengthr
r
r�patchedsizess$
�rI)�
__future__rr+�r�bytesior*�	Exceptionrrrr r@rIr
r
r
r�<module>s5