+
    é
4i—Q  ã                   ó>  € R t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RI	H
t
HtHtHtHtHtHtHtHtHt  ^ RIHt ^ RIHtHtHt ^ RIHt ^ RItRtRt . ROt!R	t". ROt#R
t$Rt%Rt&Rt' ! R R](4      t) ! R R]PT                  4      t+ ! R R]4      t, ! R R4      t- ! R R]-4      t. ! R R]-4      t/ ! R R]4      t0]1R8X  dN   ]0! ]Pd                  ^,          R7      t3]3Ph                  Pk                  4       t5]6! ]5Po                  R
4      4       R# R#   ] d     Lßi ; i) zWRepresentation of Debian binary package (.deb) files


Debfile Classes
===============
N)ÚPath)
ÚAnyÚBinaryIOÚDictÚIOÚIteratorÚListÚOptionalÚTextÚUnionÚoverload)ÚLiteral)ÚArFileÚArErrorÚArMember)Ú	Changelogzdata.tarzcontrol.tarzdebian-binaryÚcontrolzusr/share/doc/%s/changelog.gzz$usr/share/doc/%s/changelog.Debian.gzÚmd5sumsc                   ó6   a € ] tR t^Ft o RtV 3R lR ltRtV tR# )Ú_NormedFilePatha^  File path class for squashing ./ at the start of files for TarFile

This class only replaces the __eq__ method of the file path comparison
so that "./" is always added to the start of the file path
meaning that "is this the right file to extract" will be true when
the code asks for "./control" but the control.tar member contains
the file "control"
c                ó&   <€ V ^8„  d   QhRS[ RS[/# )é   ÚvalueÚreturn)r   Úbool)ÚformatÚ__classdict__s   "€Ú0/usr/lib/python3/dist-packages/debian/debfile.pyÚ__annotate__Ú_NormedFilePath.__annotate__P   s   ø€ ÷ ñ ™Cð ¡Dñ ó    c                óä   € \        V 4      p\        V4      pVR 8X  d   RpM VP                  R4      '       g
   RV,           pVR 8X  d   RpW#8H  # VP                  R4      '       g
   RV,           pW#8H  # )Ú.ú./)ÚstrÚ
startswith)Úselfr   Ús1Ús2s   &&  r   Ú__eq__Ú_NormedFilePath.__eq__P   sn   € Ü�‹YˆÜ�‹ZˆØ�Œ9Ø‰BØ—‘˜t×$Ò$Ø˜•ˆBØ�Œ9ØˆBð ‰xˆð —‘˜t×$Ò$Ø˜•ˆBØ‰xˆr    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r)   Ú__static_attributes__Ú__classdictcell__©r   s   @r   r   r   F   s   ø‡ € ñ÷ö r    r   c                   ój   a € ] tR t^^t o RtRtV 3R lR ltV 3R lR lt]! ]]4      t	V 3R lt
RtV tR# )	Ú_NormedTarInfoa  TarInfo replacement that uses file path comparison that squashes ./

This class uses the above _NormedFilePath class for file paths when
iterating or inspecting the members of a TarFile. The _NormedFilePath
normalises the file path when inspecting or extracting from a .deb file.

The class replaces the 'name' member that is normally a str with
a property that addresses a _NormedFilePath.

The control tarball members of the .deb may contain an optional entry
for "." and prefix all entries in the tarball with "./".  Archives
generated by dpkg have this prefix but third party tools might not. The
published spec for the .deb file format, deb(5) from dpkg-dev, explicitly
permits this difference and thus it should be supported here.

See https://bugs.debian.org/1031674 for more detail.
Nc                ó0   <€ V ^8„  d   QhRS[ S[,          /# ©r   r   ©r	   r$   )r   r   s   "€r   r   Ú_NormedTarInfo.__annotate__s   s   ø€ ÷ ñ ™8¡C�=ñ r    c                ó   € V P                   # ©N©Ú_name©r&   s   &r   Ú	_get_nameÚ_NormedTarInfo._get_names   s   € Ø�z‰zÐr    c                ó$   <€ V ^8„  d   QhRS[ RR/# )r   Únamer   N©r$   )r   r   s   "€r   r   r9   v   s   ø€ ÷ +ñ +™cð + dñ +r    c                ó&   € \        V4      V n        R # r;   )r   r=   )r&   rB   s   &&r   Ú	_set_nameÚ_NormedTarInfo._set_namev   s   € Ü$ TÓ*ˆŽ
r    c                ó6   <€ V ^8„  d   Qh/ S[ S[,          ;R&   # )r   r=   r8   )r   r   s   "€r   r   r9   ^   s   ø‡ ‚ ñ& ‘C�=Ñò' r    r<   )r,   r-   r.   r/   r0   r=   r?   rE   ÚpropertyrB   Ú__annotate_func__r1   r2   r3   s   @r   r5   r5   ^   s:   ø‡ € ñð$  €E÷ð ÷+ð +ñ �I˜yÓ)€D÷7 ƒ r    r5   c                   ó   € ] tR t^|tRtR# )ÚDebErrorr+   N©r,   r-   r.   r/   r1   r+   r    r   rK   rK   |   s   † Ûr    rK   c                   óä   a € ] tR t^€t o RtR tR t]R 4       tV 3R lR lt	RR lt
]RR	 l4       t]RR
 l4       tRR lt]RR l4       t]RR l4       tRR ltR tR tR tV 3R lR ltRtV tR# )ÚDebPartal  'Part' of a .deb binary package.

A .deb package is considered as made of 2 parts: a 'data' part
(corresponding to the possibly compressed 'data.tar' archive embedded
in a .deb) and a 'control' part (the 'control.tar.gz' archive). Each of
them is represented by an instance of this class. Each archive should
be a compressed tar archive although an uncompressed data.tar is permitted;
supported compression formats are: .tar.gz, .tar.bz2, .tar.xz .

When referring to file members of the underlying .tar.gz archive, file
names can be specified in one of 3 formats "file", "./file", "/file". In
all cases the file is considered relative to the root of the archive. For
the control part the preferred mechanism is the first one (as in
deb.control.get_content('control') ); for the data part the preferred
mechanism is the third one (as in deb.data.get_file('/etc/vim/vimrc') ).
c                ó    € Wn         R V n        R # r;   )Ú_DebPart__memberÚ_DebPart__tgz)r&   Úmembers   &&r   Ú__init__ÚDebPart.__init__’   s   € àŒØˆŽ
r    c                óH  a € V 3R lpS P                   fÄ   S P                  P                  p\        P                  P                  V4      ^,          R,          pV\        9   g   V\        8X  g   V\        8X  dN   VR8X  d   V! RR.4      pMS P                  p \        P                  ! VR\        R7      S n         S P                   # \        R
V,          4      hS P                   #   \        P                  \        P                  3 d   p\        R	T,          4      hRp?ii ; i)zµReturn a TarFile object corresponding to this part of a .deb
package.

Despite the name, this method gives access to various kind of
compressed tar archives, not only gzipped ones.
c                 óô  <a€  ^ RI p^ RIoVP                  V VP                  VP                  RV3R lR7      pTP                  SP                  P                  4       4      ^ ,          pTP                  ^ 8w  d.   \        R	RP                  T 4      : R
TP                  : R24      h\        P                  ! T4      #   \        \
        3 d)   p\        RRP                  T 4      : RT: R24      hRp?ii ; i)é    NFc                  óP   <€ S P                  S P                  S P                  4      # r;   )ÚsignalÚSIGPIPEÚSIG_DFL)rY   s   €r   Ú<lambda>Ú9DebPart.tgz.<locals>._custom_decompress.<locals>.<lambda>¬   s   ø€ Ø—M‘M &§.¡.°&·.±.ÔAr    )ÚstdinÚstdoutÚuniversal_newlinesÚ
preexec_fnzerror while running command 'Ú z' as subprocess: 'Ú'z	command 'z' has failed with code ')Ú
subprocessrY   ÚPopenÚPIPEÚOSErrorÚ
ValueErrorrK   ÚjoinÚcommunicaterP   ÚreadÚ
returncodeÚioÚBytesIO)Úcommand_listrd   ÚprocÚeÚdatarY   r&   s   &    @€r   Ú_custom_decompressÚ'DebPart.tgz.<locals>._custom_decompress    sÝ   ù€ ð<ã!Ûð "×'Ñ'Ø Ø$Ÿ/™/°*·/±/Ø',ô Bð	 (ó �ð ×#Ñ# D§M¡M×$6Ñ$6Ó$8Ó9¸!Õ<ˆDØ�‰ !Ô#ÝØ #§¡¨Ö 6¸¿¼ð Ió Jð Jô —:’:˜dÓ#Ð#øô œZÐ(ô <ÝØ #§¡¨Ö 6»ð ;ó <ð <ûð<ús   „6B> Â>C7Ã#C2Ã2C7Nºé   NNÚzstÚunzstdz--stdoutzr:*)ÚfileobjÚmodeÚtarinfoz#tarfile has returned an error: '%s'z"part '%s' has unexpected extension)rQ   rP   rB   ÚosÚpathÚsplitextÚ	PART_EXTSÚ	DATA_PARTÚ	CTRL_PARTÚtarfileÚopenr5   Ú	ReadErrorÚCompressionErrorrK   )r&   rs   rB   Ú	extensionÚbufferrq   s   f     r   ÚtgzÚDebPart.tgz—   só   ø€ õ	$ð4 �:‰:ÒØ—=‘=×%Ñ%ˆDÜŸ™×(Ñ(¨Ó.¨qÕ1°"Õ5ˆIØœIÔ%¨´Ô):¸dÄiÔ>Oð  Ô%Ù/°¸:Ð0FÓG‘Fà!Ÿ]™]�FðNÜ!(§¢°fÀ5ÔR`Ô!a�D”Jð
 �z‰zÐô ÐCÀdÕJÓKÐKØ�z‰zÐøô	  ×)Ñ)¬7×+CÑ+CÐDô NÜ"Ð#HÈ1Õ#LÓMÐMûðNús   Â"C% Ã%%D!Ä
DÄD!c                óÎ   € \        V 4      P                  RR4      p V P                  R4      '       d   V # V P                  R4      '       d
   RV ,           # V R8X  d   R# RV ,           # )zntry (not so hard) to obtain a member file name in a form that is
stored in the .tar.gz, i.e. starting with ./ Ú\Ú/r#   r"   )r$   Úreplacer%   )Úfnames   &r   Ú__normalize_memberÚDebPart.__normalize_memberÍ   s_   € ô �E“
×"Ñ" 4¨Ó-ˆà×Ñ˜D×!Ò!ØˆLà×Ñ˜C× Ò Ø˜•;Ðà�CŒ<Ùà�e�|Ðr    c                ó6   <€ V ^8„  d   QhRS[ RS[S[ ,          /# )r   r}   r   )r$   r	   )r   r   s   "€r   r   ÚDebPart.__annotate__á   s#   ø€ ÷ #Fñ #F¡sð #F©x¹­}ñ #Fr    c                ó–  €  . pVP                  R4      R,           Fç  pVP                  V4       \        P                  P	                  RP                  V4      4      p\        P                  V4      pV P                  4       P                  V4      pVP                  4       '       g   KŽ  VP                  P                  R4      '       d*   VP                  P                  R4      pVP                  pKØ  VP                  VR&   Ké  	  \        P                  \        P                  P	                  X4      4      #   \         d     R# i ; i)z¦walk the path following symlinks

returns:
    resolved_path, info

if the path is not found even after following symlinks within the
archive, then None is returned.
rŒ   ru   Néÿÿÿÿ)ÚsplitÚappendr|   r}   Únormpathri   rN   Ú_DebPart__normalize_memberrˆ   Ú	getmemberÚissymÚlinknamer%   ÚKeyError)r&   r}   Úresolved_path_partsÚpathpartÚcurrpathÚtinfos   &&    r   Ú__resolve_symlinksÚDebPart.__resolve_symlinksá   s   € ð	Ø"$ÐØ ŸJ™J s›O¨B×/Ð/�Ø#×*Ñ*¨8Ô4ÜŸ7™7×+Ñ+¨C¯H©HÐ5HÓ,IÓJ�Ü"×5Ñ5°hÓ?�ØŸ™›
×,Ñ,¨XÓ6�ð —;‘;—=”=Ø—~‘~×0Ñ0°×5Ò5à.3¯n©n×.BÑ.BÀ3Ó.GÐ+Ø#(§>¡>šð 38·.±.Ð+¨BÓ/ñ% 0ô0 ×)Ñ)¬"¯'©'×*:Ñ*:¸8Ó*DÓEÐEøô	 ô 	âð	ús   ‚B#D9 Â* D9 Ã<D9 Ä9EÅEc                óº   € \         P                  V4      pV P                  4       P                  4       pW9   d   R# V'       d   V P	                  V4      pVRJ# W9   # )z]Check if this part contains a given file name.

Symlinks within the archive can be followed.
TN)rN   r˜   rˆ   ÚgetnamesÚ_DebPart__resolve_symlinks)r&   rŽ   Úfollow_symlinksÚnamesÚ
fname_reals   &&&  r   Úhas_fileÚDebPart.has_file  sV   € ô ×*Ñ*¨5Ó1ˆà—‘“
×#Ñ#Ó%ˆØŒ>ÙçØ×0Ñ0°Ó7ˆJØ TÐ)Ð)à‰~Ðr    Nc                ó   € R # r;   r+   ©r&   rŽ   ÚencodingÚerrorsr¦   s   &&&&&r   Úget_fileÚDebPart.get_file  ó   € ñ 	r    c                ó   € R # r;   r+   r¬   s   &&&&&r   r¯   r°     r±   r    c                óN  € \         P                  V4      pV'       d#   V P                  V4      pVf   \        R4      hTp V P	                  4       P                  V4      pTf   \        R4      hTe   \        P                  ! YbTR7      # T#   \         d    \        R4      hi ; i)zöReturn a file object corresponding to a given file name.

If encoding is given, then the file object will return Unicode data;
otherwise, it will return binary data.

If follow_symlinks is True, then symlinks within the archive will be
followed.
zFile not found inside package©r­   r®   )	rN   r˜   r¥   rK   rˆ   Úextractfilerœ   rm   ÚTextIOWrapper)r&   rŽ   r­   r®   r¦   r¨   Úfobjs   &&&&&  r   r¯   r°   "  s§   € ô ×*Ñ*¨5Ó1ˆçØ×0Ñ0°Ó7ˆJØÒ!ÜÐ>Ó?Ð?ØˆEð	<Ø—8‘8“:×)Ñ)¨%Ó0ˆDð Š<ÜÐ:Ó;Ð;àÒÜ×#Ò# DÀFÔKÐKàˆøô ô 	<ÜÐ:Ó;Ð;ð	<ús   ÁB ÂB$c                ó   € R # r;   r+   r¬   s   &&&&&r   Úget_contentÚDebPart.get_contentB  ó   € ñ 	r    c                ó   € R # r;   r+   r¬   s   &&&&&r   r¹   rº   L  r»   r    c                ó”   € V P                  \        V4      W#VR7      pRpV'       d!   VP                  4       pVP                  4        V# )a  Return the string content of a given file, or None (e.g. for
directories).

If encoding is given, then the content will be a Unicode object;
otherwise, it will contain binary data.

If follow_symlinks is True, then symlinks within the archive will be
followed.
)r­   r®   r¦   N)r¯   r$   rk   Úclose)r&   rŽ   r­   r®   r¦   ÚfÚcontents   &&&&&  r   r¹   rº   V  sG   € ð  �M‰MÜ�‹JØØ+ð ó 
ˆð
 ˆßØ—f‘f“hˆGØ�G‰GŒIØˆr    c                óP   € \        V P                  4       P                  4       4      # r;   )Úiterrˆ   r¤   r>   s   &r   Ú__iter__ÚDebPart.__iter__s  s   € ä�D—H‘H“J×'Ñ'Ó)Ó*Ð*r    c                ó$   € V P                  V4      # r;   )r©   ©r&   rŽ   s   &&r   Ú__contains__ÚDebPart.__contains__w  s   € à�}‰}˜UÓ#Ð#r    c                ó$   € V P                  V4      # r;   )r¹   rÆ   s   &&r   Ú__getitem__ÚDebPart.__getitem__{  s   € à×Ñ Ó&Ð&r    c                ó   <€ V ^8„  d   QhRR/# ©r   r   Nr+   )r   r   s   "€r   r   r’     s   ø€ ÷ ñ �tñ r    c                ó:   € V P                   P                  4        R # r;   )rP   r¾   r>   s   &r   r¾   ÚDebPart.close  s   € Ø�‰×ÑÖr    )Ú__memberÚ__tgz)F)NNF)NF)r,   r-   r.   r/   r0   rS   rˆ   Ústaticmethodr˜   r¥   r©   r   r¯   r¹   rÃ   rÇ   rÊ   r¾   r1   r2   r3   s   @r   rN   rN   €   s¯   ø‡ € ñò"ò
4ðl ñó ð÷&#Fð #FôJð$ óó ðð óó ðôð@ óó ðð óó ðôò:+ò$ò'÷ö r    rN   c                   ó   € ] tR tRtRtR# )ÚDebDataiƒ  r+   NrL   r+   r    r   rÔ   rÔ   ƒ  s   † ãr    rÔ   c                   ó‚   a € ] tR tRt o V 3R lR ltV 3R lR lt]RR l4       t]RV 3R lR	 ll4       tRR
 ltRtV t	R# )Ú
DebControliˆ  c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r7   ©r   r$   Úbytes)r   r   s   "€r   r   ÚDebControl.__annotate__Š  s   ø€ ÷ ñ ™™c¡5˜jÕ)ñ r    c                óŒ   € / p\          F7  pV P                  V4      '       g   K  V P                  V4      pVf   K3  W1V&   K9  	  V# )zfReturn a dictionary of maintainer scripts (postinst, prerm, ...)
mapping script names to script text. )ÚMAINT_SCRIPTSr©   r¹   )r&   ÚscriptsrŽ   rr   s   &   r   rÝ   ÚDebControl.scriptsŠ  sF   € ð %'ˆß"ˆEØ�}‰}˜U×#Ô#Ø×'Ñ'¨Ó.�ØÔ#Ø%)˜E“Nñ	 #ð ˆr    c                óH   <€ V ^8„  d   QhRS[ P                  P                  /# r7   ©ÚdebianÚdeb822rÖ   )r   r   s   "€r   r   rÚ   —  s!   ø€ ÷ Hñ H™FŸM™M×4Ñ4ñ Hr    c                óf   € \         P                  P                  V P                  \        4      4      # )z¨Return the debian/control as a deb822.DebControl (a Debian-specific dict-like
class) object.

For a string representation of debian/control try
.get_content('control') )rá   râ   rÖ   r¹   ÚCONTROL_FILEr>   s   &r   Ú
debcontrolÚDebControl.debcontrol—  s$   € ô �}‰}×'Ñ'¨×(8Ñ(8¼Ó(FÓGÐGr    Nc                ó   € R # r;   r+   ©r&   r­   r®   s   &&&r   r   ÚDebControl.md5sums   r±   r    c                óR   <€ V ^8„  d   QhRS[ RS[S[ ,          RS[S[ S[ 3,          /# ©r   r­   r®   r   ©r$   r	   r   )r   r   s   "€r   r   rÚ   ¦  s/   ø€ ÷ ñ ¡ð ©X±c­]ð ÁdÉ3ÑPSÈ8Ånñ r    c                ó   € R # r;   r+   rè   s   &&&r   r   ré   ¥  ó   € ár    c                óš  € V P                  \        4      '       g   \        R\        ,          4      hV P                  \        WR7      p/ pRpVf   RpVP	                  4        FT  pVP                  V4      P                  R^4      w  rx\        V\        4      '       d   VP                  4       WH&   KP  WtV&   KV  	  VP                  4        V# )aÂ  Return a dictionary mapping filenames (of the data part) to
md5sums. Fails if the control part does not contain a 'md5sum' file.

Keys of the returned dictionary are the left-hand side values of lines
in the md5sums member of control.tar.gz, usually file names relative to
the file system root (without heading '/' or './').

The returned keys are Unicode objects if an encoding is specified,
otherwise binary. The returned values are always Unicode.z('%s' file not found, can't list MD5 sumsr´   z
Ns   
)r©   ÚMD5_FILErK   r¯   Ú	readlinesÚrstripr•   Ú
isinstancerÙ   Údecoder¾   )	r&   r­   r®   Úmd5_fileÚsumsÚnewlineÚlineÚmd5rŽ   s	   &&&      r   r   ré   ©  sµ   € ð �}‰}œX×&Ò&ÜØ:¼XÕEóGð Gð —=‘=¤°H�=ÓLˆØ!ˆà%+ˆØÒØˆGà×&Ñ&Ö(ˆDàŸ™ WÓ-×3Ñ3°D¸!Ó<‰JˆCÜ˜#œu×%Ò%Ø!Ÿj™j›l�“à!�U“ñ )ð 	�‰ÔØˆr    r+   ©NNr;   )
r,   r-   r.   r/   rÝ   rå   r   r   r1   r2   r3   s   @r   rÖ   rÖ   ˆ  sR   ø‡ € ÷ð ÷Hð Hð óó ðð ÷ñ ó ð÷ò r    rÖ   c                   ó  a € ] tR tRt o RtRR ltV 3R lR lt]V 3R lR l4       t]R	 4       t	]R
 4       t
V 3R lR ltV 3R lR lt]RR l4       t]RV 3R lR ll4       tRR ltR tV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )ÚDebFileiË  a®  Representation of a .deb file (a Debian binary package)

DebFile objects have the following (read-only) properties:
    - version       debian .deb file format version (not related with the
                    contained package version), 2.0 at the time of writing
                    for all .deb packages in the Debian archive
    - data          DebPart object corresponding to the data.tar.gz (or
                    other compressed or uncompressed tar) archive contained
                    in the .deb file
    - control       DebPart object corresponding to the control.tar.gz (or
                    other compressed tar) archive contained in the .deb
                    file
Nc                ó<  a€ \         P                  ! WW#4       \        V P                  4       4      oR  V3R llp\        S9  d   \        R\        ,          4      h/ V n        \        V P                  V! \        4      4      4      V P                  \        &   \        V P                  V! \        4      4      4      V P                  \        &   RV n        V P                  \        4      pVP                  4       P                  4       V n        VP!                  4        R# )c                ó0   € V ^8„  d   QhR\         R\         /# )r   Úbasenamer   rC   )r   s   "r   r   Ú&DebFile.__init__.<locals>.__annotate__à  s   € ÷ 	"ñ 	"¬3ð 	"´3ñ 	"r    c                 óX  <€ \          Uu. uF  q: R V: 2NK  	  ppV \        \        39   d   VP                  V 4       SP	                  \        V4      4      pV'       g   \        RV,          4      h\        V4      ^8”  d   \        RV,          4      h\        V4      ^ ,          # u upi )r"   z9missing required part in given .deb (expected one of: %s)z>too many parts in given .deb (was looking for only one of: %s))	r   r€   r�   r–   ÚintersectionÚsetrK   ÚlenÚlist)rÿ   ÚextÚ
candidatesÚpartsÚactual_namess   &   €r   Úcompressed_part_nameÚ.DebFile.__init__.<locals>.compressed_part_nameà  s¨   ø€ Ý?HÓI¹y¸¢XªsÓ3¹yˆJÐIàœI¤yÐ1Ô1Ø×!Ñ! (Ô+Ø ×-Ñ-¬c°*«oÓ>ˆEßÜð-Ø/9õ:ó;ð ;ô �5‹z˜AŒ~Üð9Ø;EõFóGð Gô ˜“;˜q•>Ð!ùò Js   ŠB'z4missing required part in given .deb (expected: '%s')N)r   rS   r  r¤   Ú	INFO_PARTrK   Ú_DebFile__partsrÖ   r™   r�   rÔ   r€   Ú_DebFile__pkgnamerk   ÚstripÚ_DebFile__versionr¾   )r&   Úfilenamerz   ry   r
  r¿   r	  s   &&&&  @r   rS   ÚDebFile.__init__Û  sÖ   ø€ ä�Š˜¨Ô6Ü˜4Ÿ=™=›?Ó+ˆ÷	"ð 	"ô$ ˜LÔ(Üð$Ü&/õ0ó1ð 1ð ˆŒÜ",¨T¯^©^Ù ¤Ó+ó.-ó #.ˆ�‰”YÑä")¨$¯.©.Ù ¤Ó+ó+-ó #.ˆ�‰”YÑàˆŒà�N‰Nœ9Ó%ˆØŸ™›Ÿ™Ó)ˆŒØ	�‰Ž	r    c                ó   <€ V ^8„  d   QhRR/# rÍ   r+   )r   r   s   "€r   r   ÚDebFile.__annotate__  s   ø€ ÷ 6ñ 6 ñ 6r    c                ó>   € V P                  4       R ,          V n        R# )ÚpackageN)rå   r  r>   s   &r   Ú__updatePkgNameÚDebFile.__updatePkgName  s   € ØŸ™Ó*¨9Õ5ˆŽr    c                ó    <€ V ^8„  d   QhRS[ /# r7   )rÙ   )r   r   s   "€r   r   r    s   ø€ ÷ ñ ™ñ r    c                ó   € V P                   # r;   )r  r>   s   &r   ÚversionÚDebFile.version  s   € à�~‰~Ðr    c                ó0   € V P                   \        ,          # r;   )r  r€   r>   s   &r   rr   ÚDebFile.data	  ó   € ð �|‰|œIÕ&Ð&r    c                ó0   € V P                   \        ,          # r;   )r  r�   r>   s   &r   r   ÚDebFile.control  r  r    c                óH   <€ V ^8„  d   QhRS[ P                  P                  /# r7   rà   )r   r   s   "€r   r   r    s   ø€ ÷ )ñ )™FŸM™M×4Ñ4ñ )r    c                ó6   € V P                   P                  4       # )zSee .control.debcontrol() )r   rå   r>   s   &r   rå   ÚDebFile.debcontrol  s   € à�|‰|×&Ñ&Ó(Ð(r    c                ó6   <€ V ^8„  d   QhRS[ S[S[3,          /# r7   rØ   )r   r   s   "€r   r   r    s   ø€ ÷ &ñ &™™c¡5˜jÕ)ñ &r    c                ó6   € V P                   P                  4       # )zSee .control.scripts() )r   rÝ   r>   s   &r   rÝ   ÚDebFile.scripts  s   € à�|‰|×#Ñ#Ó%Ð%r    c                ó   € R # r;   r+   rè   s   &&&r   r   ÚDebFile.md5sums  r±   r    c                óR   <€ V ^8„  d   QhRS[ RS[S[ ,          RS[S[ S[ 3,          /# rë   rì   )r   r   s   "€r   r   r  #  s.   ø€ ÷ ñ ¡ð ©X±c­]ð ÁDÉÉcÈÅNñ r    c                ó   € R # r;   r+   rè   s   &&&r   r   r)  "  rî   r    c                ó:   € V P                   P                  WR7      # )zSee .control.md5sums() r´   )r   r   rè   s   &&&r   r   r)  &  s   € ð �|‰|×#Ñ#¨XÐ#ÓEÐEr    c                ó¸  € V P                   f   V P                  4        \        V P                   ,          \        V P                   ,          3 Fd  p V P                  P                  VRR7      p\        P                  ! TR7      ;_uu_ 4       pTP                  4       pRRR4       \        X4      u # 	  R#   \         d     Kx  i ; i  + '       g   i     L3; i)z}Return a Changelog object for the changelog.Debian.gz of the
present .deb package. Return None if no changelog can be found. NT)r¦   )ry   )r  Ú_DebFile__updatePkgNameÚCHANGELOG_DEBIANÚCHANGELOG_NATIVErr   r¯   rK   ÚgzipÚGzipFilerk   r   )r&   rŽ   ÚfhÚgzÚraw_changelogs   &    r   Ú	changelogÚDebFile.changelog+  s¬   € ð
 �>‰>Ò!Ø× Ñ Ô"ä&¨¯©Õ7Ü&¨¯©Õ7ó9ˆEðØ—Y‘Y×'Ñ'¨¸tÐ'ÓD�ô —’ r×*Õ*¨bØ "§¡£	�÷ +ä˜]Ó+Ò+ñ9ñ øô ô Úðú÷ +×*ús   ÁB7ÂC	Â7CÃCÃ	Cc                ó   <€ V ^8„  d   QhRR/# rÍ   r+   )r   r   s   "€r   r   r  @  s   ø€ ÷ ñ �tñ r    c                ón   € V P                   P                  4        V P                  P                  4        R # r;   )r   r¾   rr   r>   s   &r   r¾   ÚDebFile.close@  s    € Ø�‰×ÑÔØ�	‰	�‰Ör    c                ó   <€ V ^8„  d   QhRR/# )r   r   rü   r+   )r   r   s   "€r   r   r  D  s   ø€ ÷ ñ ˜9ñ r    c                ó   € V # r;   r+   r>   s   &r   Ú	__enter__ÚDebFile.__enter__D  s   € Øˆr    c                ó0   <€ V ^8„  d   QhRS[ RS[ RS[ RR/# )r   Úexc_typeÚexc_valÚexc_tbr   N)r   )r   r   s   "€r   r   r  G  s)   ø€ ÷ ñ ¡ð ©sð ¹Cð ÀDñ r    c                ó&   € V P                  4        R # r;   )r¾   )r&   r@  rA  rB  s   &&&&r   Ú__exit__ÚDebFile.__exit__G  s   € Ø�
‰
Žr    )Ú__partsÚ	__pkgnameÚ	__version)NÚrNrú   r;   )r,   r-   r.   r/   r0   rS   r.  rH   r  rr   r   rå   rÝ   r   r   r6  r¾   r=  rD  r1   r2   r3   s   @r   rü   rü   Ë  sÀ   ø‡ € ñô%÷N6ð 6ð ÷ó ðð ñ'ó ð'ð ñ'ó ð'÷)ð )÷&ð &ð óó ðð ÷ñ ó ðôFò
÷*ð ÷ð ÷ö r    rü   Ú__main__)r  )r4  Úbz2ÚxzÚlzmarw   )ÚpreinstÚpostinstÚprermÚpostrmÚconfig)8r0   r1  rm   r‚   ÚsysÚos.pathr|   Úpathlibr   Útypingr   r   r   r   r   r   r	   r
   r   r   Útyping_extensionsr   ÚImportErrorÚdebian.arfiler   r   r   Údebian.changelogr   Údebian.deb822rá   r€   r�   r   r  rÜ   rä   r0  r/  rð   r$   r   ÚTarInfor5   rK   rN   rÔ   rÖ   rü   r,   ÚargvÚdebr   rˆ   Úprintr™   r+   r    r   Ú<module>r`     s,  ðñó0 Û 	Û Û 
Û Ý ÷÷ ÷ ð	õ÷ 4Ñ 3Ý &Û ð €	Ø€	Ú.€	Ø€	ÚD€à€Ø2Ð Ø9Ð Ø€ô
�cô ô0*�W—_‘_ô *ô<	ˆwô 	÷@ñ @ôF	ˆgô 	ô
@�ô @ôF}ˆfô }ð@ ˆzÔÙ
˜3Ÿ8™8 A�;Ô
'€CØ
�+‰+�/‰/Ó
€CÙ	ˆ#�-‰-˜	Ó
"Ö#ñ øðw ô 	Ùð	ús   ¶D ÄDÄD