ó
    8.õg¢  ã                   ó¨   • S SK r S SKrS SKrS SKrS\ R                   S\S\\\4   4S jrS\S\S-  4S jrS\R                  S	\S
\S\S\S-  4
S jr
g)é    NÚrelease_dateÚm_monthsÚreturnc                 óž   • US-  nUS-  nU R                   U-   U R                  U-   S-  -   nU R                  U-   S-  nUS:X  a  SnUS-  nXE4$ )z£
get the (year, month) tuple when the maintenance for the distribution
ends. Needs the data of the release and the number of months that
its is supported as input
é   r   é   )ÚyearÚmonth)r   r   ÚyearsÚmonthsÚsupport_end_yearÚsupport_end_months         Ú+/usr/lib/python3/dist-packages/apt/utils.pyÚget_maintenance_end_dater      su   € ð ˜‰N€EØ˜‰]€FØ#×(Ñ(¨5Ñ0°L×4FÑ4FÈÑ4OÐTVÑ3VÑVÐØ%×+Ñ+¨fÑ4¸Ñ:Ðà˜AÓØÐØ˜AÑÐØÐ0Ð0ó    Úpathc                 ó|  • U (       a$  [         R                  R                  U 5      (       d  g[         R                  " [        R
                  " U 5      5       n[        R                  " U5      n[        U5      nSU;  a
   SSS5        gUS   n[        R                  " U5      sSSS5        $ ! , (       d  f       g= f)z>
return the release date as time_t for the given release file
NÚDate)	Úosr   ÚexistsÚfdopenÚapt_pkgÚopen_maybe_clear_signed_fileÚTagFileÚnextÚstr_to_time)r   ÚdataÚtagÚsectionÚdates        r   Ú"get_release_date_from_release_filer!   /   s„   € ö ”r—w‘w—~‘~ d×+Ñ+Øä	�Š”7×7Ò7¸Ó=Ô	>À$Ü�oŠo˜dÓ#ˆÜ�s“)ˆØ˜Ó Ø÷	 
?Ð	>ð
 �v‰ˆÜ×"Ò" 4Ó(÷ 
?×	>×	>ús   Á)B-Â	B-Â-
B;ÚcacheÚpkgnameÚlabelÚreleasec                 ót  • X;  a  gX   nSnUR                   R                   Hb  nUb  UR                  c  M  UR                   H=  u  pxUR                  U:X  d  M  UR                  U:X  d  M)  UR
                  U:X  d  M;  UnM?     Md     U(       d  gU R                  R                  UR                  S   S   5      n	U R                  R                   Hã  n
U
R                   HÐ  nU	(       d  M  U	R                  UR                  :X  d  M(  U	R                  (       d  M;  [        R                  R                  S5      nS Hp  n[        R                  " U
R                   5      SR#                  U
R$                  U5      -   n[&        R(                  R+                  XÎ-   5      (       d  Mh  XÎ-   s  s  s  $    MÒ     Må     g)z+get the release file that provides this pkgNr   zDir::State::lists)Ú	InReleaseÚReleasezdists_{}_{})Ú_pkgÚversion_listÚ	file_listÚoriginr$   ÚarchiveÚ_listÚ
find_indexÚlistÚindex_filesÚdescribeÚ
is_trustedr   ÚconfigÚfind_dirÚuri_to_filenameÚuriÚformatÚdistr   r   r   )r"   r#   r$   r%   ÚpkgÚverÚaverÚver_fileÚ_indexÚ	indexfileÚ	metaindexÚmÚdirnameÚrelfileÚnames                  r   Úget_release_filename_for_pkgrE   ?   sd  € ð ÓØØ
‰.€CØ
€Cð —‘×%Ô%ˆØ‰<˜4Ÿ>™>Ñ1ÙØ $§¤ÑˆHð —‘ 5Õ(Ø—N‘N eÕ+Ø×$Ñ$¨Õ/à’ó !/ñ &ö ØØ—‘×&Ñ& s§}¡}°QÑ'7¸Ñ':Ó;€IØ—[‘[×%Ô%ˆ	Ø×&Ô&ˆAßˆy˜Y×/Ñ/°1·:±:Õ=À)×BV×BVÑBVÜ!Ÿ.™.×1Ñ1Ð2EÓF�Û7�GÜ"×2Ò2Ø!Ÿ™óà%×,Ñ,Ø!Ÿ™Øóñ�Dô —w‘w—~‘~ g¡n×5Ó5Ø&™~Ö-ó  8ó 'ñ &ð r   )Údatetimer   r   ÚaptÚintÚtupler   Ústrr!   ÚCacherE   © r   r   Ú<module>rM      sŠ   ðó& Û 	ã ã 
ð1Ø×#Ñ#ð1Ø/2ð1à
ˆ3�ˆ8�_ô1ð()¨Sð )°S¸4±Zô )ð %Ø�9‰9ð%Ø"ð%Ø+.ð%Ø9<ð%àˆ4�Zõ%r   