403Webshell
Server IP : 217.160.0.244  /  Your IP : 216.73.217.138
Web Server : Apache
System : Linux infong-eu155 4.4.400-icpu-108 #2 SMP Wed Feb 11 11:51:01 UTC 2026 x86_64
User : u100174116 ( 6746176)
PHP Version : 8.5.10
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/breezy/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/breezy/__pycache__/multiparent.cpython-313.pyc
�

p��g�`���SSKrSSKrSSKJr SSKJr \"\"5S5 SSKJr SSKJ	r	 SSjr
SS	jrS
r"SS5r
"S
S5r"SS5r"SS5r"SS\5r"SS\5r"SS5rSrg)�N)�BytesIO�)�lazy_importzV
import gzip
import itertools
import patiencediff

from breezy import (
    ui,
    )
)�errors)�gettextc�`�UcUR5nURU5n[X!5$�N)�keys�get_parent_map�
_topo_iter)�vfr
�parentss   �4/usr/lib/python3/dist-packages/breezy/multiparent.py�topo_iter_keysr's-���|��w�w�y������%�G��g�$�$�c�`�UcUR5nURU5n[X!5$r	)�versionsrr)r
rrs   r�	topo_iterr.s.�����;�;�=������)�G��g�(�(rc#�^^^	# �[5m	0nUU	U4SjnTH8nTUcMTUH$nURU/5RU5 M& M: TVs/sHn[U"U55S:XdMUPM nn[U5S:�at/nUHXnUT	;aM[U"U55S:waM"UR	URU/55 Uv� T	R
U5 MZ Un[U5S:�aMsggs snf7f)Nc�h>�TUc/$TUVs/sHoT;dM
UT;dMUPM sn$s snfr	�)�version�vr�seenrs  ���r�pending_parents�#_topo_iter.<locals>.pending_parents9s>����7��#��I�"�7�+�O�+�a�H�}���$���+�O�O��Os�	/�/�/r)�set�
setdefault�append�len�extend�get�add)
rr�descendantsr�
version_id�	parent_idr�cur�nextrs
``       @rrr5s�����5�D��K�P�
�
��:��&�� ��,�I��"�"�9�b�1�8�8��D�-�	��
?�h��#�o�a�&8�"9�Q�">�1�h�C�
?�

�c�(�Q�,����J��T�!���?�:�.�/�1�4���K�K����
�B�7�8����H�H�Z� �����c�(�Q�,��@�s�AD
�D�9D�?BD
�D
c��\rSrSrSrS/rSSjrSrSr\	SSj5r
S	rSS
jr\
SSj5rSrS
rSr\
S5r\	S5rSrSrSrSrg)�MultiParent�RzA multi-parent diff.�hunksNc�&�UbXlg/Ulgr	�r,)�selfr,s  r�__init__�MultiParent.__init__Ws�����J��D�Jrc�8�SRUR5$)NzMultiParent({!r}))�formatr,�r/s r�__repr__�MultiParent.__repr__]s��"�)�)�$�*�*�5�5rc�h�URURLagURUR:H$�NF)�	__class__r,�r/�others  r�__eq__�MultiParent.__eq__`s(���>�>����0���z�z�U�[�[�(�(rc�R^^�U4Sjn[U5S:�a.UcU"US5nU/USSVs/sH
oC"U5PM sn-nO/nSn[/5nUVs/sHn[U5PM snm[/5n	U4Sjn
[	T5VVs/sH
upHU
"U5PM nnnU[T5:Ga,Sn[	U5HzupMU
cM
U
up�nX�-U::aU
"U5=o�U'U
cOU
up�nX�-U::aMU
cM;X�:�aMBXn-
nUU-
nUnUU-nUS:XaMZUbX�R
:�dMn[
XHX�5nM| Uc$URRTU5 US-
nOh[UR5S:�a&U	RRU5 [/5nU	RRU5 XlR
-
nU[T5:aGM,[UR5S:�aU	RRU5 U	$s snfs snfs snnf)z7Produce a MultiParent from a list of lines and parents.c�R>�[RSUT5nUR5$r	)�patiencediff�PatienceSequenceMatcher�get_matching_blocks)�parent�matcher�texts  �r�compare�'MultiParent.from_lines.<locals>.compareis&���"�:�:�4���N�G��.�.�0�0rrNrc�B>�[TU5$![a gf=fr	)r(�
StopIteration)�p�
block_iters �r�
next_block�*MultiParent.from_lines.<locals>.next_blockxs)���
��J�q�M�*�*�� �
��
�s�
�
�)
r �NewText�iterr*�	enumerate�	num_lines�
ParentText�linesrr,)rEr�left_blocksrFrJ�parent_comparisons�cur_line�new_text�i�diffrL�	cur_block�
best_match�block�j�n�offsetrKs`                @r�
from_lines�MultiParent.from_lineses.���	1��w�<�!���"�%�g�a�j�1��"-��g�a�b�k�1R�k��'�!�*�k�1R�!R��!#�����2�;��'9�:�'9�!�d�1�g�'9�:�
��2���	�09��/D�E�/D�t�q�Z��]�/D�	�E���T��"��J�%�i�0����=�����a��e�x�'�+5�a�=�8�E�a�L��}��#�G�A�!�	�e�x�'�
�=���<��!����V������V�����6���%��-A�-A�)A�!+�A�!�!7�J�)1�*�!����%�%�d�8�n�5��A�
���x�~�~�&��*��J�J�%�%�h�/�&�r�{�H��
�
�!�!�*�-��0�0�0��?��T��"�@�x�~�~���"��J�J���h�'����c2S��
;��Fs�H�H�H#c#��# �URHOn[U[5(aURU:waM*URUR
UR4v� MQ X R
5S4v� g7f�Nr)r,�
isinstancerRrC�
parent_pos�	child_posrQ)r/rC�
parent_len�hunks    rrB�MultiParent.get_matching_blocks�s[����J�J�D��d�J�/�/�4�;�;�&�3H���?�?�D�N�N�D�N�N�C�C���.�.�*�A�-�-�s�A5A7c��[5n[U5H/up4UR[U5R	5U/5 M1 URUS[
[[U5555 URS/5S$)z3Contruct a fulltext from this diff and its parents.�ar)
�MultiMemoryVersionedFilerP�add_versionr�	readlines�add_diff�list�ranger �
get_line_list)r/r�mpvf�numrCs     r�to_lines�MultiParent.to_lines�sp��'�)��$�W�-�K�C����W�V�_�6�6�8�#�r�B�.��
�
�d�C��e�C��L�&9�!:�;��!�!�3�%�(��+�+rc	��UR[U5R5UVs/sHn[U5R5PM sn5$s snf)z:Produce a MultiParent from a text and list of parent text.)r`rrn)�clsrErrJs    r�
from_texts�MultiParent.from_texts�sF���~�~��D�M�#�#�%��'P��1���
�(<�(<�(>��'P�
�	
��'Ps�#A
c#�f# �URHnUR5Shv�N M gN	7f)zYield text lines for a patch.N)r,�to_patch)r/rhs  rr|�MultiParent.to_patch�s%����J�J�D��}�}��&�&��&�s�#1�/�
1c�R�[SRUR555$)Nr)r �joinr|r4s r�	patch_len�MultiParent.patch_len�s���3�8�8�D�M�M�O�,�-�-rc�F�[[UR555$r	)r �gzip_stringr|r4s r�zipped_patch_len�MultiParent.zipped_patch_len�s���;�t�}�}��/�0�0rc�6�UR[U55$)z*Create a MultiParent from its string form.)�_from_patchr)rxrEs  r�
from_patch�MultiParent.from_patch�s�����w�t�}�-�-rc�8�[U5n/nSn[U5nUSSnUS:Xag[UR	S5S5n[U5Vs/sHn[U5PM nnUSSSUS'UR
[U55 OkUS:XaUSRS==S-
ss'OJUS:Xd[U5eS	UR	S5SS5up�p�UR
[X�X�55 M�![a O	f=fs snf[U5$)
zBThis is private because it is essential to split lines on \n only.Nrr�i� ����
�cc3�8# �UHn[U5v� M g7fr	)�int)�.0rs  r�	<genexpr>�*MultiParent._from_patch.<locals>.<genexpr>�s���<�$<�q�C��F�F�$<�s�)rOr(rIr��splitrqrrNrS�AssertionErrorrRr*)rS�	line_iterr,rV�
first_charrQ�_�
hunk_linesrCrerfs           rr��MultiParent._from_patch�s0����K�	������
��	�?��"�!�A��J��T�!�����t� 4�Q� 7�8�	�7<�Y�7G�H�7G�!�d�9�o�7G�
�H�!+�B����!4�
�2�����W�Z�0�1��u�$��b�	����#�u�,�#�"�d�*�(��4�4�<�$,�N�N�4�$8���$<�<�8��I����Z��I�Q�R�'��!�
��
��
I��5�!�!s�C<�D�<
D	�D	c#�V# �SnURH�n[U[5(a'SnU[UR5-nURnOLSnUR
nXR-nURURURUR-4nXX54v� UnM� g7f)z�Iterate through the hunks, with range indicated.

kind is "new" or "parent".
for "new", data is a list of lines.
for "parent", data is (parent, parent_start, parent_end)
:return: a generator of (start, end, kind, data)
r�newrCN)	r,rdrNr rSrfrQrCre)r/�startrh�kind�end�datas      r�range_iterator�MultiParent.range_iterator�s�������J�J�D��$��(�(����c�$�*�*�o�-���z�z���������n�n�,�����T�_�_�d�o�o����6V�W���d�(�(��E��s�B'B)c���Sn[UR5HNn[U[5(aURUR
-U-s $U[
UR5-
nMP U$)z'The number of lines in the output text.r)�reversedr,rdrRrfrQr rS)r/�extra_nrhs   rrQ�MultiParent.num_lines�sX�����T�Z�Z�(�D��$�
�+�+��~�~����6��@�@��s�4�:�:��&�G�)��rc�p�[UR5S:wag[URS[5$)z3Return true of this hunk is effectively a fulltext.rFr)r r,rdrNr4s r�is_snapshot�MultiParent.is_snapshots*���t�z�z�?�a����$�*�*�Q�-��1�1rr.r	)rN)r)�__name__�
__module__�__qualname__�__firstlineno__�__doc__�	__slots__r0r5r<�staticmethodr`rBru�classmethodryr|r�r�r�r�r�rQr��__static_attributes__rrrr*r*Rs�����	�I��6�)�
�;��;�z.�,��
��
�'�
.�1��.��.��"��"�6�,�2rr*c�6�\rSrSrSrS/rSrSrSrSr	Sr
g	)
rNiz5The contents of text that is introduced by this text.rSc��Xlgr	�rS)r/rSs  rr0�NewText.__init__s���
rc�h�URURLagURUR:H$r8)r9rSr:s  rr<�NewText.__eq__s(���>�>����0���{�{�d�j�j�(�(rc�8�SRUR5$)Nz
NewText({!r}))r3rSr4s rr5�NewText.__repr__s���%�%�d�j�j�1�1rc#�t# �S[UR5-v� URShv�N Sv� gN	7f)Nsi %d
r�)r rSr4s rr|�NewText.to_patchs/����#�d�j�j�/�)�)��:�:�����	�s�*8�6�
8r�N)r�r�r�r�r�r�r0r<r5r|r�rrrrNrNs ��?��	�I��)�
2�rrNc�>�\rSrSrSr/SQrSrSrSrSr	Sr
Srg	)
rRi!z-A reference to text present in a parent text.)rfrQrCrec�4�XlX lX0lX@lgr	�rCrerfrQ)r/rCrerfrQs     rr0�ParentText.__init__&s����$��"��"�rc�`�URURURURS.$)N)sparents
parent_poss	child_poss	num_linesr�r4s r�_as_dict�ParentText._as_dict,s(���{�{��?�?��.�.��.�.�	
�	
rc�B�SR"S0UR5D6$)NzDParentText({parent!r}, {parent_pos!r}, {child_pos!r}, {num_lines!r})r)r3r�r4s rr5�ParentText.__repr__4s)��
�$�f�
%�
8�'+�}�}��
8�	
rc�x�URURLagUR5UR5:H$r8)r9r�r:s  rr<�ParentText.__eq__:s-���>�>����0���}�}��%�.�.�"2�2�2rc#�6# �SUR5-v� g7f)Ns8c %(parent)d %(parent_pos)d %(child_pos)d %(num_lines)d
)r�r4s rr|�ParentText.to_patch?s���H��m�m�o�
�	
�s�N)r�r�r�r�r�r�r0r�r5r<r|r�rrrrRrR!s#��7�B�I�#�
�
�3�

rrRc��\rSrSrSrSSjrSrSrSrSSjr	S	r
S
rSSjrSr
S
rSrSrSrSrSrSrSrg)�BaseVersionedFileiFz.Pseudo-VersionedFile skeleton for MultiParent.Nc�V�0Ul0Ul[5UlXlX lgr	)�_lines�_parentsr�
_snapshots�snapshot_interval�
max_snapshots�r/r�r�s   rr0�BaseVersionedFile.__init__Is%�������
��%���!2��*�rc�,�[UR5$r	)rOr�r4s rr�BaseVersionedFile.versionsPs���D�M�M�"�"rc��XR;$r	�r�)r/rs  r�has_version�BaseVersionedFile.has_versionSs���-�-�'�'rc�t�URcgURb$[UR5UR:Xag[U5S:Xag[	UR5HPn[U5S:Xa gUn/nUH2nXR;dMURURU5 M4 MR g)z9Determine whether to perform a snapshot for this version.FrT)r�r�r r�rqr!r�)r/r%�
parent_ids�_ignored�version_idss     r�do_snapshot�BaseVersionedFile.do_snapshotVs����!�!�)�����*��D�O�O�$��(:�(:�:���z�?�a����d�4�4�5�H��:��!�#��$�K��J�)�
��_�_�4��%�%�d�m�m�J�&?�@�*�6�rc���UcURX#5nOUnU(a1URRU5 [[	U5/5nOrU(aURUSS5nOURU5n[R
X5nUR5(aURRU5 URXrU5 XRU'g)a�Add a version to the versionedfile.

:param lines: The list of lines to add.  Must be split on '\n'.
:param version_id: The version_id of the version to add
:param force_snapshot: If true, force this version to be added as a
    snapshot version.  If false, force this version to be added as a
    diff.  If none, determine this automatically.
:param single_parent: If true, use a single parent, rather than
    multiple parents.
Nr)
r�r�r#r*rNrrr`r�ror�)	r/rSr%r��force_snapshot�
single_parentr�rY�parent_liness	         rrm�BaseVersionedFile.add_versionls����!��*�*�:�B�K�(�K���O�O���
�+�����/�0�D��#�1�1�*�R�a�.�A��#�1�1�*�=���)�)�%�>�D����!�!����#�#�J�/��
�
�d�
�3�"'���J�rc� �URU$r	r��r/r%s  r�get_parents�BaseVersionedFile.get_parents�s���}�}�Z�(�(rc��[[URU55/5nURX!URU5 UR
R
U5 gr	)r*rN�
cache_versionror�r�r#)r/r%�snapdiffs   r�
make_snapshot�BaseVersionedFile.make_snapshot�sH�����(:�(:�:�(F� G�H�I���
�
�h�D�M�M�*�,E�F������J�'rc	��U(dU(a
[5e[UR55n[U5n[R
R
5n[U5S:�Gaj[5n	UGH-n
URU
5nUVs/sHo�UR;dMUPM sn/:waM?URU
5V
Vs/sH
up�U
S-U-PM nn
nUcSnOX�;nURX�UUU5 U	RU
5 U(aYUR5 UR5 U(a2X�RU
/5S:Xd
[5eUR5 UR[!S5U[U5-
[U	5-U5 GM0 UVs/sH
nUU	;dMUPM nn[U5S:�aGMjSSS5 gs snfs snn
fs snf!,(df   g=f)aZImport all revisions of a versionedfile.

:param vf: The versionedfile to import
:param snapshots: If provided, the revisions to make snapshots of.
    Otherwise, this will be auto-determined
:param no_cache: If true, clear the cache after every add.
:param single_parent: If true, omit all but one parent text, (but
    retain parent metadata).
rr�NzImporting revisions)�
ValueErrorrrr �ui�
ui_factory�nested_progress_barr�r��annotatermr#�clear_cacherrr��updater)r/r
�	snapshots�no_cacher��verify�	revisions�total�pb�added�revisionrrJrk�lrSr��rs                  r�import_versionedfile�&BaseVersionedFile.import_versionedfile�s������,������
�&�	��I���
�]�]�
.�
.�
0�B��i�.�1�$���� )�H� �n�n�X�6�G�#*�E�7�a�t�}�}�.D��7�E��K� �68�k�k�(�6K�L�6K�d�a�Q��X��\�6K�E�L� �(�)-��)1�)>���$�$���.�-���I�I�h�'���(�(�*����(�!�$)�-?�-?��
�-K�A�-N�$N�&4�&6� 6� �,�,�.��I�I�� 5�6���Y��/�3�u�:�=���)!*�2)2�D�	�1�Q�e�^�Q�	�	�D�7�i�.�1�$�1�
0��
F��L��*E�91�
0�sC�6G/�G�(G�.G/�G$
�CG/�.
G*�<G*�G/�G/�/
G=c���0n[5n[U5H�n[URU55nURU5n[U5S:XaUR	U5 [5X$'M\URU5HnURX'5 M [U5UR:�aUR	U5 [5X$'M�XRU'M� U$)z-Determine which versions to add as snapshots.r)rrr�r r#r�r�)r/r
�build_ancestorsr�r%�potential_build_ancestorsrrCs        r�select_snapshots�"BaseVersionedFile.select_snapshots�s������E�	�#�B�-�J�(+�B�N�N�:�,F�(G�%��n�n�Z�0�G��7�|�q� ��
�
�j�)�.1�e��+� �n�n�Z�8�F�-�4�4�_�5L�M�9��0�1�D�4J�4J�J��M�M�*�-�25�%�O�/�2K�J�/�(��rc��U[UR5-nUR5U*SnUVVs/sHup4UPM	 snn$s snnf)z)Select snapshots for minimum output size.N)r r��get_size_ranking)r/rt�
new_snapshotsr^rs     r�select_by_size� BaseVersionedFile.select_by_size�sF���s�4�?�?�#�#���-�-�/����6�
�+�,�m�d�a��m�,�,��,s�Ac�F�/nUR5HznX R;aMURU5R5n[	[UR
U55/5R5nURXC-
U45 M| UR5 U$)zGet versions ranked by size.)	rr��get_diffr�r*rNr�r�sort)r/rr%�diff_len�snapshot_lens     rr	�"BaseVersionedFile.get_size_ranking�s������-�-�/�J��_�_�,���}�}�Z�0�:�:�<�H�&���+�+�J�7�8�9���i�k�
�
�O�O�\�4�j�A�B�*�	�
�
���rc��UR5H1nURURU5X!RU5 M3 g)z3Import the diffs from another pseudo-versionedfile.N)rrorr�)r/r
r%s   r�import_diffs�BaseVersionedFile.import_diffs�s2���+�+�-�J��M�M�"�+�+�j�1�:�{�{�:�?V�W�(rc�^^�0m0m[U5H�n[5TU'XR;a_URUHnTUR	TU5 M TUR	UR5 TURU5 TUH,nTR
U[55RU5 M. M� [UR55n/n[U5S:�a�URUU4SjS9 UR5nURU5 TUHnTURTU5 M TUHnTURTU5 M [U5S:�aM�U$)zAReturn revisions sorted by how much they reduce build complexity.rc�X>�[TU5[TRU/55-$r	)r r")�x�could_avoid�
referenced_bys ��r�<lambda>�5BaseVersionedFile.get_build_ranking.<locals>.<lambda>�s%���c�+�a�.�1�C�
�8I�8I�!�R�8P�4Q�Qr)�key)rrr�r�r��discardrr#rprr r�popr�difference_update)	r/r%r&�avoid_id�available_versions�ranking�selectedrrs	       @@r�get_build_ranking�#BaseVersionedFile.get_build_ranking�so������
�#�D�/�J�&)�e�K�
�#����0�!%���z�!:�I��
�+�2�2�;�y�3I�J�";��J�'�.�.�t�}�}�=��J�'�/�/�
�;�'�
�3���(�(��3�5�9�=�=�j�I�4�*�"�$�-�-�/�2�����$�%��)��#�#�Q�
$�
�*�-�-�/�H��N�N�8�$�+�H�5�
��J�'�9�9�+�h�:O�P�6�)�(�3�
��j�)�;�;�M�(�<S�T�4��$�%��)��rc�8�URR5 gr	)r��clearr4s rr��BaseVersionedFile.clear_cache	s�������rc�N�UVs/sHo RU5PM sn$s snfr	)r�)r/r�rs   rrr�BaseVersionedFile.get_line_lists#��/:�;�{�!�"�"�1�%�{�;�;��;s�"c���URU$![a Of=fURU5 /n[XRUR5nURX!5 X RU'U$r	)r��KeyErrorr�_Reconstructorr��reconstruct_version)r/r%rS�
reconstructors    rr��BaseVersionedFile.cache_versionsl��	��;�;�z�*�*���	��	���
�
�j�!���&�t�[�[�$�-�-�H�
��)�)�%�<�"'���J���s��
�)r�r�r�r�r���Nr8)TFF)r�r�r�r�r�r0rr�r�rmr�r�rrrr	rr%r�rrr�r�rrrr�r�Fsf��8�+�#�(��.QV�(�>)�(�IN�,E�\�(-��X�
�6�<�
rr�c�4�\rSrSrSrS	SjrSrSrSrSr	g)
rliz#Memory-backed pseudo-versionedfile.Nc�>�[RXU5 0Ulgr	)r�r0�_diffsr�s   rr0�!MultiMemoryVersionedFile.__init__s���"�"�4�M�J���rc�<�XRU'X0RU'gr	)r6r�)r/rYr%r�s    rro�!MultiMemoryVersionedFile.add_diff#s��"&���J��$.�
�
�j�!rc�j�URU$![a [R"X5ef=fr	)r6r-r�RevisionNotPresentr�s  rr�!MultiMemoryVersionedFile.get_diff's6��	>��;�;�z�*�*���	>��+�+�J�=�=�	>�s��!2c��0Ulgr	�r6r4s r�destroy� MultiMemoryVersionedFile.destroy-s	����rr>r2)
r�r�r�r�r�r0rorr?r�rrrrlrls��-��/�>�rrlc�@�\rSrSrSrSSjrSrSrSrSr	S	r
S
rg)�MultiVersionedFilei1z!Disk-backed pseudo-versionedfile.Nc�J�[RXU5 Xl0Ulgr	)r�r0�	_filename�_diff_offset)r/�filenamer�r�s    rr0�MultiVersionedFile.__init__4s���"�"�4�M�J�!����rc��URUup#[URS-S5nURU5 [	URU55nSSS5 [RSSWS9nUR5 UR5n[RU5sSSS5 $!,(df   Nb=f!,(df   g=f)N�.mpknit�rb��mode�fileobj)rE�openrD�seekr�read�gzip�GzipFile�readliner*r�)r/r%r��count�infile�sio�zip_file�contents        rr�MultiVersionedFile.get_diff9s����(�(��4���
�$�.�.�9�,�d�
3�v��K�K����&�+�+�e�,�-�C�4��]�]�4�d�C�]�
8�H������m�m�o�G��)�)�'�2�9�
8�4�
3��9�
8�s�,B3�45C�3
C�
Cc	���[URS-S5nURSS5 UR5n[RSSUS9nUR
[RSU-/UR555 SSS5 UR5nSSS5 WWU-
4URU'X0RU'g!,(df   NI=f!,(df   NB=f)NrI�abr�rKsversion %s
)rNrDrO�tellrQrR�
writelines�	itertools�chainr|rEr�)r/rYr%r��outfiler��zipfiler�s        rro�MultiVersionedFile.add_diffCs���
�$�.�.�9�,�d�
3�w��L�L��A���L�L�N�E����t�$���@�G��"�"��O�O�_�z�%A�$B�D�M�M�O�T��A��,�,�.�C�4�*/��e��(<����*�%�$.�
�
�j�!�
A�@��4�
3�s#�8C�8C
�
C�
C	�C�
C,c�l�[R"URS-5 [R"URS-5 g![a)nUR[R
:waeSnANSSnAff=f![a)nUR[R
:waeSnAgSnAff=f)NrI�.mpidx)�os�unlinkrD�OSError�errno�ENOENT)r/�es  rr?�MultiVersionedFile.destroyQs���	��I�I�d�n�n�y�0�1�	��I�I�d�n�n�x�/�0��	�	��w�w�%�,�,�&��'��	��
�	��w�w�%�,�,�&��'��	�s.�#A
�#B�

A=�A8�8A=�
B3�
B.�.B3c	��SSKn[URS-S5nURUR	UR
[
UR5UR455 SSS5 g!,(df   g=f)Nrre�wb)	�fastbencoderNrD�write�bencoder�rpr�rE)r/rq�fs   r�save�MultiVersionedFile.save]s[��%�
�$�.�.�8�+�T�
2�a�
�G�G�����]�]�D����$9�4�;L�;L�M��
�3�
2�
2�s�AA2�2
Bc���SSKn[URS-S5nURUR	55uUlo0lSSS5 [W5Ulg!,(df   N=f)NrrerJ)	rorNrD�bdecoderPr�rErr�)r/rqrrr�s    r�load�MultiVersionedFile.loadgsQ��%�
�$�.�.�8�+�T�
2�a�:A�/�/�!�&�&�(�:S�7�D�M�9�&7�3��i�.���3�
2�s�-A$�$
A2)rErDr�r�r2)r�r�r�r�r�r0rror?rsrwr�rrrrBrB1s#��+��
3�/�
��)rrBc�0�\rSrSrSrSrSrSrSrSr	g)	r.ioz=Build a text from the diffs, ancestry graph and cached lines.c�6�XlX lX0l0Ulgr	)�diffsrSr�cursor)r/r{rSrs    rr0�_Reconstructor.__init__rs���
��
�����rc��URUURnURUR-nUR	XURU5$)z6Append the lines referred to by a ParentText to lines.)rrCrerQ�_reconstruct)r/rS�parent_textr%r&r�s      r�reconstruct�_Reconstructor.reconstructxsL���L�L��,�[�-?�-?�@�	��$�$�{�'<�'<�<��� � ��;�3I�3I�3�O�Orc�R�X4:XagX#U4/n[U5S:�GaDUR5up#nX R;a"URURUX45 MTURUupgp�n
Xc:�a7URRU5R5n
[U
5upgp�Xs::a[U
5upgp�Xs::aMXgX�U
4URU'XG:�aURX'U45 UnUS:XaURX�U-
XF-
5 O8U	up�n
URUUnX�-U-
nX�-U-
nURX�U45 [U5S:�aGMCgg![
a; URRU5R5n
[U
5upgp�GN1f=f)z0Append lines for the requested version_id range.Nrr�)r rrSr!r|r-r{rr�r(rr)r/rS�req_version_id�	req_start�req_end�pending_reqsr�r�r�r��iteratorrC�parent_start�
parent_end�new_version_id�	new_start�new_ends                 rr�_Reconstructor._reconstruct~s������'�G�<�=���,��!�#�1=�1A�1A�1C�.�N�w����+����T�Z�Z��7�	�J�K��
8�37�;�;�~�3N�0��D��� ��:�:�.�.�~�>�M�M�O��)-�h��&��D��"�)-�h��&��D��"�*/�d�(�*J�D�K�K��'��}��#�#�^�'�$B�C����u�}����T�e�"3�w��H�I�48�0��j�!%���n�!=�f�!E��(�4�u�<�	�$�.��4���#�#�^��$H�I�C�,��!�#�#���
8��:�:�.�.�~�>�M�M�O��)-�h��&��D�$�
8�s�!E!�!AF&�%F&c�z�URRU5R5nURXSU5$rc)r{rrQr)r/rSr%�lengths    rr/�"_Reconstructor.reconstruct_version�s4�����$�$�Z�0�:�:�<��� � ��A�v�>�>r)r|r{rSrN)
r�r�r�r�r�r0r�rr/r�rrrr.r.os��G��P�'J�R?rr.c���[5n[RSSUS9nURU5 SSS5 UR	5$!,(df   UR	5$=f)NrnrK)rrQrRr^�getvalue)rSrV�	data_files   rr�r��sQ��
�)�C�	
���t�$���	4�	����U�#�
5��<�<�>��
5�	4��<�<�>��s�A
�

A'r	)rirf�iorr�globals�r�i18nrrrrr*rNrRr�rlrBr.r�rrr�<module>r�s���"
�	��$���I�����%�)��:v2�v2�r��,"
�"
�JS�S�l�0��*;)�*�;)�|:?�:?�zr

Youez - 2016 - github.com/yon3zu
LinuXploit