+
     i2  c                  s   ^ RI H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 ^RIHt ]P                  ! R4      t]'       d   ^RIHt Rt^tR	 R
 ltR R ltR R ltR R ltR R lt ! R R4      t ! R R]
P                  4      tR R ltR R lt]	P:                  ! ]P<                  ]]4       ]	P>                  ! ]P<                  R4       ]	P@                  ! ]P<                  ]4       ]	PB                  ! ]P<                  R4       ]"R8X  Ed   ]#! ]PH                  4      ^8  d   ]%! R4       ]PL                  ! 4        ]'! ]PH                  ^,          R4      ;_uu_ 4       t(]! ](4      t)])PT                  R ,           F+  t+]+;w  t,t-t.])n+        ])P_                  R!], R"]- R"]. R#24       K-  	  ]	PN                  ! ]PH                  ^,          4      ;_uu_ 4       t0]0P_                  R$4       RRR4       ]Pb                  R%8X  d   ]Pd                  ! R$4       RRR4       R# R#   + '       g   i     L?; i  + '       g   i     R# ; i)&    )annotationsN)IO)Image	ImageFilePngImagePluginfeatures)	deprecateZjpg_2000)Jpeg2KImagePlugins   icnsc                    V ^8  d   QhRRRR/# )   fobj	IO[bytes]returnztuple[bytes, int] format   ":/usr/lib64/python3.14/site-packages/PIL/IcnsImagePlugin.py__annotate__r   &   s     8 8Y 8#4 8    c                sV    \         P                  ! R V P                  \        4      4      # )z>4sI)structZunpackread
HEADERSIZE)r      &r   
nextheaderr   &   s    ==:!677r   c               (    V ^8  d   QhRRRRRRRR/# 	r
   r   r   start_lengthztuple[int, int]sizetuple[int, int, int]r   dict[str, Image.Image]r   r   r   r   r   r   *   s,     
8 
8

8#2
8:N
8
8r   c                s    Vw  r4V P                  V4       V P                  ^4      pVR8w  d   Rp\        V4      h\        W^,           V^,
          3V4      # )i   s       z'Unknown signature, expecting 0x00000000)seekr   SyntaxErrorread_32)r   r   r   startlengthsigmsg   &&&    r   read_32tr(   *   sW     #OUIIe
))A,C
!!7#4!)VaZ0$77r   c               r   r   r   r   r   r   r   r   7   s,     * *
*#2*:N**r   c           
     s   Vw  r4V P                  V4       V^ ,          V^,          ,          V^,          V^,          ,          3pV^ ,          V^,          ,          pWF^,          8X  d1   V P                  V4      p\        P                  ! RWWRR^ ^4      pRV/# \        P                  ! RVR4      p\        ^4       EF,  p	. p
TpV^ 8  d   V P                  ^4      pV'       g   MV^ ,          pV^,          '       d?   V^},
          pV P                  ^4      p\        V4       F  pV
P                  V4       K  	  M)V^,           pV
P                  V P                  V4      4       W,          pV^ 8:  g   K   V^ 8w  d   R\        V4       R2p\        V4      h\        P                  ! RVRP                  V
4      RR^ ^4      pVP                  P                  VP                  V	4       EK/  	  RV/# )zb
Read a 32bit RGB icon resource.  Seems to be either uncompressed or
an RLE packbits-like scheme.
RGBrawNzError reading channel [z left]Lr   )r    r   r   
frombufferZnewZrangeappendZreprr!   ZjoinimZputband)r   r   r   r#   r$   
pixel_sizesizesqZindatar.   Zband_ixZdataZ	bytesleftZbyteZbyte_int	blocksizeir&   bands   &&&               r   r"   r"   7   s    #OUIIeq'DG#T!WtAw%67J]Z]*F!6"eZq!L8 2;3 YYuj$/QxGDIa-yy|7d?? (3I99Q<D"9-D) . !)1IKK		) 45&	>A~/Y/@G!#&&##CSXXd^UCQRTUVDEEMM$''7+/  0 2;r   c               r   r   r   r   r   r   r   r   d   s,     	 	
	#2	:N		r   c           	     s   V^ ,          pV P                  V4       V^ ,          V^,          ,          V^,          V^,          ,          3pV^ ,          V^,          ,          p\        P                  ! RW@P                  V4      RR^ ^4      pRV/# )r    r+   r*   A)r    r   r,   r   )r   r   r   r#   r/   r0   r3   r'   r   read_mkr5   d   s|     OEIIeq'DG#T!WtAw%67J]Z]*FCYYv->sAqQD;r   c               r   r   r   r   r   r   r   r   p   s,     " "
"#2":N""r   c                s   Vw  r4V P                  V4       V P                  ^4      pVP                  R4      '       dL   V P                  V4       \        P                  ! V 4      p\
        P                  ! VP                  4       RV/# VP                  R4      '       g   VR8X  d   \        '       g   Rp\        V4      hV P                  V4       V P                  V4      p\        P                  ! V4      p	\        P                  ! V	4      p\
        P                  ! VP                  4       VP                  R8w  d   VP                  R4      pRV/# Rp\        V4      h)i   s   PNG

RGBAs      jP  

zQUnsupported icon subimage format (rebuild PIL with JPEG 2000 support to fix this)z Unsupported icon subimage format)s   OQs   

)r    r   
startswithr   ZPngImageFiler   Z_decompression_bomb_checkr   enable_jpeg2k
ValueErrorioBytesIOr   ZJpeg2KImageFilemodeZconvert)
r   r   r   r#   r$   r%   r.   r&   Z
jp2kstreamZfs
   &&&       r   read_png_or_jpeg2000r=   p   s    #OUIIe
))B-C ~~011		%((.''0|ABB99}6  S/!		%YYv&
JJz"..q1''077fF#B|0or   c                  s    ] tR t^tR R]3.R!R]3.R"R]3.R#R]3.R$R]3.R%R]3R]3R]3.R&R	]3.R'R
]3.R(R]3R]3.R)R]3R]3R]3.R*R]3.R+R]3R]3R]3./tR R lt	R R lt
R R ltR R ltR,R R lltRtR# )-IcnsFile   ic10   ic09   ic14   ic08   ic13   ic07s   it32s   t8mks   icp6   ic12s   ih32s   h8mks   icp5s   il32s   l8mk   ic11s   icp4s   is32s   s8mkc               r	   )r
   r   r   r   Noner   r   r   r   r   IcnsFile.__annotate__   s      Y 4 r   c                sx   / V n         Wn        \        V4      w  r#\        V4      '       g   Rp\	        V4      h\
        pWS8  dv   \        V4      w  r&V^ 8:  d   Rp\	        V4      hV\
        ,          pV\
        ,          pWV3V P                   V&   VP                  V\        P                  4       WV,          pK{  R# )z0
fobj is a file-like object as an icns resource
znot an icns filezinvalid block headerN)	dctr   r   _acceptr!   r   r    r:   ZSEEK_CUR)selfr   r%   Zfilesizer&   r2   r1   s   &&     r   __init__ZIcnsFile.__init__   s    
 	"4(s||$Cc""l'-NCA~,!#&&OA#INDHHSMIIi-NA r   c                   V ^8  d   QhRR/# )r
   r   zlist[tuple[int, int, int]]r   r   r   r   r   rH      s      5 r   c                	s    . pV P                   P                  4        F4  w  r#V F)  w  rEW@P                  9   g   K  VP                  V4        K2  	  K6  	  V# N)SIZESitemsrI   r-   )rK   sizesr   ZfmtsZfmtreaders   &     r   	itersizesZIcnsFile.itersizes   sK    ****,JD#((?LL&  $ -
 r   c               rM   )r
   r   r   r   r   r   r   r   rH      s      . r   c                	sb    V P                  4       pV'       g   R p\        V4      h\        V4      # )zNo 32bit icon resources found)rS   r!   Zmax)rK   rQ   r&   s   &  r   bestsizeZIcnsFile.bestsize   s+     1Cc""5zr   c               r	   )r
   r   r   r   r   r   r   r   r   r   rH      s       4 9O r   c                s    / pV P                   V,           FH  w  r4V P                  P                  V4      pVf   K&  VP                  V! V P                  WQ4      4       KJ  	  V# )z
Get an icon resource as {channel: array}.  Note that
the arrays are bottom-up like windows bitmaps and will likely
need to be flipped or transposed in some way.
)rO   rI   getZupdater   )rK   r   rI   ZcoderR   Zdesc   &&    r   dataforsizeZIcnsFile.dataforsize   sW      JJt,,LD88<<%D

6$))T89 - 
r   Nc               r	   )r
   r   z-tuple[int, int] | tuple[int, int, int] | Noner   Image.Imager   r   r   r   r   rH      s      A	r   c                	sR   Vf   V P                  4       pM#\        V4      ^8X  d   V^ ,          V^,          ^3pV P                  V4      pVP                  R4      pV'       d   V# VR,          P	                  4       p VP                  VR,          4       V#   \         d     T# i ; i)Nr6   r)   r4   )rT   lenrW   rU   ZcopyZputalphaZKeyError)rK   r   Zchannelsr.   s   &&  r   getimageZIcnsFile.getimage   s     <==?DY!^GT!Wa(D##D)\\&!Ie_!!#	KK& 	  			s   =B B&%B&)rI   r   )   r[   r
   )r[   r[      )   r]   r
   )r]   r]   r\   )   r^   r
   )r^   r^   r\   )@   r_   r\   )    r`   r
   )0   ra   r\   )r`   r`   r\   )   rb   r
   )rb   rb   r\   rN   )__name__
__module____qualname____firstlineno__r=   r(   r5   r"   rO   rL   rS   rT   rW   rZ   __static_attributes__r   r   r   r>   r>      s   "678"678"678"678"678*+hg

 	w 456w 456w(7G*<=*+gg

 	w 456*+gg
)E6. r   r>   c                  s~    ] tR t^tRtRtRtR R lt]R R l4       t	]	P                  R R	 l4       t	RR R lltRtR
# )IcnsImageFilea  
PIL image support for Mac OS .icns files.
Chooses the best resolution, but will possibly load
a different size image if you mutate the size attribute
before calling 'load'.

The info dictionary has a key 'sizes' that is a list
of sizes that the icns file has.
ZICNSzMac OS icns resourcec               rM   )r
   r   rG   r   r   r   r   r   IcnsImageFile.__annotate__  s     
 
t 
r   c                	s   \        V P                  4      V n        R V n        V P                  P	                  4       V P
                  R&   V P                  P                  4       V n        V P                  ^ ,          V P                  ^,          ,          V P                  ^,          V P                  ^,          ,          3V n        R# )r6   rQ   N)	r>   fpicns_moderS   inforT   	best_sizer   rK   r   r   _openZIcnsImageFile._open  s    TWW%	
!YY002		'++-NN1q 11NN1q 11
	r   c               rM   )r
   r   &tuple[int, int] | tuple[int, int, int]r   r   r   r   r   ri     s      < r   c                	s    V P                   # rN   )_sizero   r   r   r   IcnsImageFile.size  s    zzr   c               r	   )r
   valuerq   r   rG   r   r   r   r   r   ri     s      @ T r   c                	s   \        V4      ^8X  d.   \        R^R4       WP                  R,          9   d	   Wn        R# MV P                  R,           Fm  pV^ ,          V^,          ,          V^,          V^,          ,          3pV^ ,          V^ ,          ,          pV^,          V^,          ,          V8X  g   Kf  Wn         R# 	  Rp\	        V4      h)i   z&Setting size to (width, height, scale)zload(scale)rQ   Nz2This is not one of the allowed sizes of this image)rY   r   rm   rr   r9   )rK   rt   r   Zsimple_sizescaler&   rV   r   r   rs     s    u:?>MR		'**"
 + 		'**"1gQ/a471BB#A%(2q>E!H,5!&J + Cor   Nc               r	   )r
   ru   z
int | Noner   zImage.core.PixelAccess | Noner   r   r   r   r   ri   -  s      * 0M r   c                	s   Vf   \        V P                  4      ^8X  de   Vf.   \        V P                  4      ^8X  d   V P                  ^,          pV P                  R,          w  r#W!,          W1,          3V n        W#V3V n        \        P                  P	                  V 4      pV P
                  e(   V P                  P                  V P                  8X  d   V# V P                  4        V P                  P                  V P                  4      pVP	                  4       pVP                  V n        VP                  V n        VP                  V n        V# )N:Nr
   N)rY   r   rn   r   loadZ_imr.   Zload_preparerk   rZ   r<   rl   )rK   ru   widthheightZpxr.   rV   r   rv   ZIcnsImageFile.load-  s    DII! 3}TYY1!4		! IIbMMEv~5DI"E1DN[[d#88DGGLLDII$=IYY/ WWY%%WW
GG		r   )rl   rr   rn   rk   r.   r   rN   )rc   rd   re   rf   Z__doc__r   Zformat_descriptionrp   Zpropertyr   Zsetterrv   rg   r   r   r   rh   rh      sO     F/
   
[[ $ r   rh   c               r   )	r
   r.   rX   rj   r   filenamezstr | bytesr   rG   r   r   r   r   r   r   H  s(     9 9k 9y 9K 9D 9r   c                s   \        VR4      '       d   VP                  4        R^RRRRRRR	^ R
^@RRRR/pV P                  P                  R. 4       U u/ uF  q P                  V bK  	  pp / p\        VP                  4       4       F\  pWd9   d	   WF,          MX P                  Wf34      p\        P                  ! 4       pVP                  VR4       VP                  4       WV&   K^  	  . p	VP                  4        F5  w  rWV,          pV	P                  V
\        \        V4      ,           V34       K7  	  VP!                  \"        4       \        pV\        ^\        V	4      ,          ,           ,          pV\%        R V	 4       4      ,          pVP!                  \&        P(                  ! RV4      4       VP!                  R4       VP!                  \&        P(                  ! R\        \        V	4      \        ,          ,           4      4       V	 FH  pVP!                  V^ ,          4       VP!                  \&        P(                  ! RV^,          4      4       KJ  	  V	 F`  pVP!                  V^ ,          4       VP!                  \&        P(                  ! RV^,          4      4       VP!                  V^,          4       Kb  	  \        VR4      '       d   VP                  4        R# R# u up i )zU
Saves the image as a series of PNG files,
that are then combined into a .icns file.
flushrD   rB   r]   r@   r[   r?   i   rF   rE   rC   rA   Zappend_imagesZpngc              3  s2   "   T F  q^,          x  K  	  R# 5i)r\   Nr   )Z.0entrys   & r   Z	<genexpr>Z_save.<locals>.<genexpr>p  s     5WEQxxWs   z>is   TOC N)Zhasattrrz   ZencoderinforU   rw   ZsetZvaluesZresizer:   r;   saveZgetvaluerP   r-   r   rY   ZwriteMAGICZsumr   Zpack)r.   rj   ry   rQ   Zprovided_imagesZsize_streamsr   ZimageZtempZentriesZtypeZstreamZfile_lengthr{   s   &&&           r   _saver~   H  sG   
 r7

 		E /1nn.@.@RT.UV.Uxx|.UOVLELLN# & !D<( 	 zz|

4!]]_ $ Gkkm
#j3v;6?@ $
 HHUOK:CL 000K35W555KHHV[[{+, HHWHHV[[zCL:,EEFG
q
T58,- 
 
q
T58,-
q 
 r7

 M Ws   Kc               r	   )r
   prefixZbytesr   Zboolr   r   r   r   r   r     s     $ $E $d $r   c                s,    V P                  \        4      # rN   )r7   r}   )r   r   r   rJ   rJ     s    U##r   z.icnsz
image/icnsZ__main__z)Syntax: python3 IcnsImagePlugin.py [file]ZrbrQ   zout-Z-z.pngzout.pngZwindows)3Z
__future__r   r:   Zosr   ZsysZtypingr   Z r   r   r   r   Z
_deprecater   Zcheck_codecr8   r   r}   r   r   r(   r"   r5   r=   r>   rh   r~   rJ   Zregister_openr   Zregister_extensionZregister_saveZregister_mimerc   rY   ZargvZprintZexitZopenrj   Zimfrm   r   rw   rx   ru   r|   r.   ZplatformZ	startfiler   r   r   <module>r      s  & # 	 	  
  8 8 !$$Z0#
8
8*Z	"Jb bRGI'' GT9x$   M((- A   --w 7   M((% 0   M((, 7z
388}q9:
	chhqk4	 	 BBHHW%%D.22 E6538HHtE7!F81UG489 & ZZ$$GGI %<<9$LL# 
!	   %$ 
!	 	 s%   +A6H=!H*	3+H=*H:5H==I	