ó
    6°h	  ã                  ó>   • S SK Jr  SSKJr  SSKJr  SrS rS rS r	g	)
é    )Úannotationsé   )Ú_)Úerrors   \ No newline at end of file
c                ó^  •  U[        U5      -
  nU[        U5      -
  n[        Xg5      nUS:X  a  g[        U5       Hí  n	U R                  5       n
U
(       d  [        R
                  " [        S5      5      eU
[        :X  a  [        XU5        MQ  U
S:X  d  U
S:X  a  SU
-   n
UR                  U
5        U
R                  S5      (       a  UR                  U
SS 5        MŸ  U
R                  S	5      (       a  UR                  U
5        MÈ  UR                  U
SS 5        UR                  U
5        Mï     GM-  )
zøRead lines from fp into the hunk

The hunk is parsed into two arrays, a and b. a gets the old state of
the text, b gets the new state. The control char from the hunk is saved
when inserting into a, but not b (for performance while deleting files.)
r   s   incomplete hunkó   
ó   
ó    ó   +r   Nó   -)ÚlenÚmaxÚrangeÚreadliner   Ú
ParseErrorr   ÚMISSING_NEWLINE_MARKERÚ
fixnewlineÚappendÚ
startswith)ÚfpÚhunkÚlenaÚlenbÚaÚbÚtodoaÚtodobÚnumÚiÚss              Ú6/usr/lib/python3/dist-packages/mercurial/diffhelper.pyÚaddlinesr"      sü   € ð Ø”s˜1“v‘ˆØ”s˜1“v‘ˆÜ�%ÓˆØ�!‹8ØÜ�s–ˆAØ—‘“ˆAÞÜ×&Ò&¤qÐ);Ó'<Ó=Ð=ØÔ*Ó*Ü˜4 AÔ&ÙØ�E‹z˜Q '›\ð ˜1‘H�Ø�K‰K˜ŒNØ�|‰|˜D×!Ñ!Ø—‘˜˜1˜2˜–Ø—‘˜d×#Ñ#Ø—‘˜–à—‘˜˜1˜2˜”Ø—‘˜–ñ% ò ó    c                óÈ   • U S   nUR                  S5      (       a  USS nOUSS nUR                  S5      (       a  USS US'   UR                  S5      (       a  XAS'   X@S'   g)zEFix up the last lines of a and b when the patch has no newline at EOFéÿÿÿÿr	   Néþÿÿÿ)r
   r   r   )r
   r   )Úendswithr   )r   r   r   ÚlÚhlines        r!   r   r   5   so   € àˆR‰€Aà‡z�z�'×ÑØ�#�2�‰à�#�2�ˆà×Ñ˜×%Ñ%Ø�a�b�	ˆˆ"‰Ø×Ñ˜×%Ñ%Øˆ"‰Øˆ‚Hr#   c                ó–   • [        U 5      n[        U5      nX4U-
  :”  d  US:  a  g[        U5       H  nX   SS XU-      :w  d  M    g   g)z�Compare the lines in a with the lines in b

a is assumed to have a control char at the start of each line, this char
is ignored in the compare.
r   Fr   NT)r   r   )r   r   ÚbstartÚalenÚblenr   s         r!   Útesthunkr.   E   sU   € ô ˆq‹6€DÜˆq‹6€DØ�V‰mÓ˜v¨›zØÜ�4Ž[ˆØ‰4��ˆ8�q˜V™‘}Õ$Ùñ ð r#   N)
Ú
__future__r   Úi18nr   Ú r   r   r"   r   r.   © r#   r!   Ú<module>r3      s*   ðõ #å õð ;Ð òòDó r#   