+
    UBi,                       ^ RI Ht ^ RIHt ^ RIHt ^RIHtHt ^RI	H
t ^RI	Ht ^R^R/tR	 R
 lt ! R R]P                  4      t]P"                  ! ]P$                  ]4       ]P&                  ! ]P$                  R4       R R ltR# )    )annotations)BytesIO)cast)Image	ImageFile)i16be)i32berawjpegc                    V ^8  d   QhRRRR/# )   cbytesreturnint )formats   "8/usr/lib/python3.14/site-packages/PIL/IptcImagePlugin.py__annotate__r   !   s     ' '% 'C '    c                ,    \        R V ,           RR 4      # )s       N)i32)r   s   &r   _ir   !   s    a%&&r   c                  N    ] tR t^*tRtRtR R ltR R ltR R ltR	 R
 lt	Rt
R# )IptcImageFileIPTCzIPTC/NAAc                    V ^8  d   QhRRRR/# )r   keyztuple[int, int]r   r   r   )r   s   "r   r   IptcImageFile.__annotate__.   s     " "/ "c "r   c                	:    \        V P                  V,          4      # )N)r   info)selfr   s   &&r   getintIptcImageFile.getint.   s    $))C.!!r   c                   V ^8  d   QhRR/# )r   r   z"tuple[tuple[int, int] | None, int]r   )r   s   "r   r   r    1   s      9 r   c                	   V P                   P                  ^4      pVP                  R4      '       g   R# V^,          V^,          3pV^ ,          ^8w  g   V^ ,          R9  d   Rp\        V4      hV^,          pV^8  d   Rp\	        V4      hV^8X  d   ^ pW$3# V^8  d/   \        V P                   P                  V^,
          4      4      pW$3# \        V^4      pW$3# )       zinvalid IPTC/NAA filez%illegal field length in IPTC/NAA file)Nr   )
   r         r(            	      )fpreadstripSyntaxErrorOSErrorr   i16)r#   stagmsgsizes   &    r   fieldIptcImageFile.field1   s     GGLLOwwwNdAaDj Q44<3q6)II)Cc"" t#:9C#,S[D y CZdggll4#:./D y q!9Dyr   c                   V ^8  d   QhRR/# )r   r   Noner   )r   s   "r   r   r    M   s     1 1t 1r   c                	    V P                   P                  4       pV P                  4       w  r#V'       d   VR8X  d   MV'       d   V P                   P                  V4      pMRpW P                  9   dp   \        V P                  V,          \        4      '       d%   V P                  V,          P                  V4       K  V P                  V,          V.V P                  V&   K  W@P                  V&   K  V P                  R,          ^ ,          pV P                  R,          ^,          pV^8X  d   V'       g   RV n        RpMbV^8X  d   V'       d	   RV n        MV^8X  d   V'       d   RV n        R	V P                  9   d#   V P                  R	,          ^ ,          ^,
          pM^ pV P                  R
4      V P                  R4      3V n
         \        V P                  R4      ,          pTR8X  d4   \        P                  ! RRT P                   ,           YT34      .T n        R# R#   \         d   p	Rp
\        T
4      T	hRp	?	ii ; i)TNLRGBCMYKzUnknown IPTC image compressioniptcr/   
   )r+   <   )r+   A   )r+      )r+      )r+   x   )r   r   )r2   tellr<   r3   r"   
isinstancelistappend_moder$   _sizeCOMPRESSIONKeyErrorr6   r   _Tiler;   tile)r#   offsetr9   r;   tagdatalayers	componentbandcompressioner:   s   &          r   _openIptcImageFile._openM   s   WW\\^F

IC#.'',,t,iidiind33IIcN))'2&*iing%>DIIcN!(		# 7#A&IIg&q)	Q;yDJD{y"
1#
$))#yy)!,q0 [[)4;;w+??
	&%dkk(&;<K '>(:FRVDWXDI   	&2C#,A%	&s   
H" "I -H;;I c                   V ^8  d   QhRR/# )r   r   zImage.core.PixelAccess | Noner   )r   s   "r   r   r       s     ". ".3 ".r   c                	@   V P                   '       Ed   V P                   ^ ,          P                  p\        V\        4      '       g   Q hVw  r#V P                  P                  V P                   ^ ,          P                  4       \        4       pVR8X  d#   VP                  RV P                  ,          4        V P                  4       w  rVVR8w  d   M]V^ 8  g   K$  V P                  P                  \        VR4      4      pV'       g   KS  VP                  V4       V\        V4      ,          pK]  \        P                  ! V4      ;_uu_ 4       pVen   \        P                   ! RVP                  4      .\        P"                  ! V P$                  4      ,          p	WV&   \        P&                  ! V P$                  V	4      pMVP)                  4        VP*                  V n        RRR4       . V n         \,        P,                  P)                  V 4      #   + '       g   i     L6; i)r   r
   s   P5
%d %d
255
i    NrA   rE   )rU   argsrM   tupler2   seekrV   r   writer;   r<   r3   minlenr   opennewgetmodebandsmodemergeloadimr   )
r#   ra   r[   rZ   otyper;   r8   _imbandss
   &         r   rl   IptcImageFile.load   ss   99999Q<$$DdE**** $KGGLL1,,- 	Ae# +dii78!ZZ\
7?QhSt_5AGGAJCFNDA##"YYsCHH569K9KDII9VVE"%$K++dii7CHHJ&&  DI""''-- s   BHH	)rP   rQ   rm   rU   N)__name__
__module____qualname____firstlineno__r   format_descriptionr$   r<   r]   rl   __static_attributes__r   r   r   r   r   *   s'    F#"81f". ".r   r   z.iimc                    V ^8  d   QhRRRR/# )r   rm   zImageFile.ImageFiler   z1dict[tuple[int, int], bytes | list[bytes]] | Noner   )r   s   "r   r   r      s     ; ;;6;r   c                t   ^RI HpHp Rp/ p\        V \        4      '       dB   V P
                  P                  4        F!  w  rV\        V\        4      '       g   K  WdV&   K#  	  V# \        WP                  4      '       d6   V P
                  P                  R4      pV'       d   VP                  R4      pMC\        WP                  4      '       d)    V P                  P                  VP                  ,          pVf   R#  ! R R4      pV! 4       p	\        V	n        \!        \        V	4      p
/ V
n        \#        V4      V
n         V
P'                  4        V
P
                  P                  4        F!  w  rV\        V\        4      '       g   K  WdV&   K#  	  V#   \         d     Li ; i  \(        \        3 d     Lei ; i)z
Get IPTC information from TIFF, JPEG, or IPTC file.

:param im: An image containing IPTC data.
:returns: A dictionary containing IPTC information, or None if
    no IPTC information block was found.
)JpegImagePluginTiffImagePluginN	photoshopi  c                      ] tR t^tRtR# )getiptcinfo.<locals>.FakeImager   N)rs   rt   ru   rv   rx   r   r   r   	FakeImager      s    r   r   ) r{   r|   rM   r   r"   itemsrb   JpegImageFilegetTiffImageFiletag_v2_tagdataIPTC_NAA_CHUNKrS   	__class__r   r   r2   r]   
IndexError)rm   r{   r|   datar"   kvr}   r   fake_imiptc_ims   &          r   getiptcinfor      si    3D79D"m$$GGMMODA!U##Q $ 	B55	6	6GGKK,	==(D	B55	6	6	99%%o&D&DED |  kG%G='*G GLGJ ""$aG % K5  		( ! s$   'F F# F F #F76F7N)
__future__r   ior   typingr   r   r   r   _binaryr   r7   r	   r   rR   r   r   register_openr   register_extensionr   r   r   r   <module>r      st   " #    ! !%F#'x.I'' x.v   M((- 8   --v 6;r   