+
    Û1j�  ã                   óf   € ^ 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
  ! R R]]	4      tR# )é    N)Úpartial)ÚPluginÚRedHatPluginÚ	PluginOptc                   óz   a € ] tR t^t o RtRtRt]! RR]RR7      ]! RRR	R
7      .t	Rt
RtR tR tR tR tRtV tR# )ÚJarsz1Collect information about available Java archivesÚjarsúappend-locationsÚ z,colon-delimited list of additional JAR paths)ÚdefaultÚval_typeÚdescúall-known-locationsFzscan all known paths)r   r   c                ó   € R . /p. p\        \        P                  4      pV P                  R4      '       d!   V\        \        P                  4      ,          pV P                  R4      pV'       d   W4P                  R4      ,          pV Fg  p\        P                  ! V4       FJ  w  rgpV F>  p	V P                  Wi4      p
V P                  V
4      '       g   K-  VP                  V
4       K@  	  KL  	  Ki  	  V FW  pV P                  V4      pV P                  V4      pV'       g   V'       g   K7  RVRVRV/pVR ,          P                  V4       KY  	  \        P                  ! V^RR7      pV P                  VRR	R
7       R# )r	   r   r
   Ú:ÚpathÚsha1Úmaven_id)ÚindentÚ
separatorsz	jars.jsonT)Úplug_dirN)Ú,ú: )Úlistr   Újar_locationsÚ
get_optionÚextra_jar_locationsÚsplitÚosÚwalkÚ	path_joinÚis_jarÚappendÚget_maven_idÚ
get_jar_idÚjsonÚdumpsÚadd_string_as_file)ÚselfÚresultsÚ	jar_pathsÚ	locationsÚuser_locationsÚlocationÚdirpathÚ_Ú	filenamesÚfilenamer   Újar_pathr   Újar_idÚrecordÚresults_strs   &               Ú9/usr/lib/python3/dist-packages/sos/report/plugins/jars.pyÚsetupÚ
Jars.setup1   sI  € Ø˜2�,ˆØˆ	äœ×+Ñ+Ó,ˆ	Ø�?‰?Ð0×1Ò1Øœœd×6Ñ6Ó7Õ7ˆIð Ÿ™Ð);Ó<ˆßØ×-Ñ-¨cÓ2Õ2ˆIó "ˆHÜ)+¯ª°Ö):Ñ%�˜IÛ )�HØŸ>™>¨'Ó<�DØ—{‘{ 4×(Ô(Ø!×(Ñ(¨Ö.ó !*ó *;ñ "ó "ˆHØ×(Ñ(¨Ó2ˆHØ—_‘_ XÓ.ˆFßŸ6™6Ø  (Ø  &Ø$ hð�ð ˜•×&Ñ& vÖ.ñ "ô —j’j °¸{ÔKˆØ×Ñ ¨[À4ÐÖHó    c                óÆ  € \         P                  P                  V4      '       dh   \        P                  ! V4      '       dL    \        P
                  ! V4      ;_uu_ 4       pRVP                  4       9   d    RRR4       R#  RRR4       R# R#   + '       g   i     R# ; i  \        \        P                  3 d#   pT P                  RT RT 24        Rp?R# Rp?ii ; i)z�Check whether given file is a JAR file.

JARs are ZIP files which usually include a manifest
at the canonical location 'META-INF/MANIFEST.MF'.
zMETA-INF/MANIFEST.MFNTzCould not determine if z is a JAR: F)
r   r   ÚisfileÚzipfileÚ
is_zipfileÚZipFileÚnamelistÚIOErrorÚ
BadZipfileÚ	_log_info)r)   r   ÚfileÚerrs   &&  r7   r"   ÚJars.is_jarT   s³   € ô �7‰7�>‰>˜$×Ò¤G×$6Ò$6°t×$<Ò$<ðÜ—_’_ T×*Ô*¨dØ-°·±³Ô@Ø#÷ +Ñ*Ø@÷ +ó ÷ +Ö*ñ ûô	 œW×/Ñ/Ð0ô Ø—‘Ø-¨d¨V°;¸s¸eÐD÷ð ñ ûð	ús<   ÁB# Á!BÁ8B# ÂB# ÂB 	ÂB# Â B# Â#C Â>CÃC c           	     ó¦  € / p \         P                  ! V4      ;_uu_ 4       p\        P                  ! R4      pVP	                  4        Uu. uF  qTP                  V4      '       g   K  VNK  	  pp\        V4      ^8w  d    RRR4       R# VP                  V^ ,          4      ;_uu_ 4       pVP                  4        F‚  pVP                  4       pVP                  R4      '       d   K,   VP                  R4      w  ršV	P                  R4      P                  4       p	V
P                  R4      P                  4       p
W¢V	&   K„  	  RRR4       RRR4       V# u upi   \         d      RRR4       RRR4       R# i ; i  + '       g   i     LB; i  + '       g   i     T# ; i  \         d#   pT P                  RT RT 24        Rp?T# Rp?ii ; i)zÁExtract Maven coordinates from a given JAR file, if possible.

JARs build by Maven (most popular Java build system) contain
'pom.properties' file. We can extract Maven coordinates
 from there.
z*META-INF/maven/[^/]+/[^/]+/pom.properties$Nó   #ó   =Úutf8z)Could not extract Maven coordinates from r   )r=   r?   ÚreÚcompiler@   ÚmatchÚlenÚopenÚ	readlinesÚstripÚ
startswithr   ÚdecodeÚ
ValueErrorrA   rC   )r)   r3   ÚpropsrD   ÚrgxÚxÚresultÚprops_fÚlineÚkeyÚvaluerE   s   &&          r7   r$   ÚJars.get_maven_ide   s�  € ð ˆð	Ü—’ ×*Ô*¨dÜ—j’jÐ!MÓN�Ø%)§]¡]¤_ÓE¡_ ¿	¹	À!¿Ÿ!˜!¡_�ÐEÜ�v“; !Ô#Ø÷	 +Ñ*ð
 —Y‘Y˜v a�y×)Ô)¨WØ '× 1Ñ 1Ö 3˜Ø#Ÿz™z›|˜Ø#Ÿ™¨t×4Ô4ð,Ø/3¯z©z¸$Ó/?¡ Ø&)§j¡j°Ó&8×&>Ñ&>Ó&@ Ø(-¯©°VÓ(<×(BÑ(BÓ(D Ø-2 c£
ñ !4÷ *÷ +ð( ˆùò% Føô $.ô ,Ù'+÷ *÷ +Ñ*ð,ú÷ *×)ú÷ +Ö*ð( ˆûô	 ô 	Ø�N‰NØ;¸H¸:ÀRÈÀuÐM÷ð ð ˆûð		ús¡   „F# ¢)FÁEÁ(EÁ.FÂF# Â FÂ+8E<	Ã)AE
Ä>E<	ÅFÅ
F# ÅFÅE9Å$E<	Å&FÅ.F# Å8E9Å9E<	Å<FÆFÆF 	ÆF# Æ F# Æ#GÆ.GÇGc                óˆ  € Rp \        VRR7      ;_uu_ 4       p\        P                  ! 4       p\        \	        VP
                  R4      R4       F  pVP                  V4       K  	  RRR4       XP                  4       pV#   + '       g   i     L"; i  \         d#   pT P                  RT RT 24        Rp?T# Rp?ii ; i)	z8Compute JAR id.

Returns sha1 hash of a given JAR file.
r   Úrb)Úmodei   r:   NzCould not compute JAR id for r   )
rO   Úhashlibr   Úiterr   ÚreadÚupdateÚ	hexdigestrA   rC   )r)   r3   r4   rD   ÚdigestÚbufrE   s   &&     r7   r%   ÚJars.get_jar_id„   s«   € ð
 ˆð	NÜ�h T×*Õ*¨dÜ Ÿš›�Ü¤¨¯	©	°4Ó 8¸#Ö>�CØ—M‘M #Ö&ñ ?÷ +ð ×%Ñ%Ó'ˆFð ˆ÷ +×*ûô
 ô 	NØ�N‰NÐ:¸8¸*ÀBÀsÀeÐL×MÐMØˆûð	Nús/   „B ™ABÁ'B ÂB	ÂB ÂCÂB<Â<C© N)Újava)z/usr/share/javaz/usr/lib/java)z/optz
/usr/localz/var/lib)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú
short_descÚplugin_nameÚprofilesr   ÚstrÚoption_listr   r   r8   r"   r$   r%   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__s   @r7   r   r      sh   ø‡ € àD€Jà€KØ€HáÐ$¨b¸3ØEô	GáÐ'°Ø-ô	/ð€Kð€MðÐò!IòFò"÷>ð r:   r   )ra   r&   r   rK   r=   Ú	functoolsr   Úsos.report.pluginsr   r   r   r   ri   r:   r7   Ú<module>ry      s/   ðó Û Û 	Û 	Û Ý ß >Ñ >ô~ˆ6�<ö ~r:   