ó
    Eñim0  ã                  óx  • S SK Jr  S SKrS SKrS SKrS SKrS SKJr  SSKJ	r	J
r
JrJr  \R                  " S5      r\(       a  SSKJr  SrS	rS!S
 jr        S"S jr        S"S jr        S"S jr        S"S jr " S S5      r " S S\
R                  5      rS#S jrS$S jr\	R6                  " \R8                  \\5        \	R:                  " \R8                  S5        \	R<                  " \R8                  \5        \	R>                  " \R8                  S5        \ S:X  að  \!" \RD                  5      S:  a  \#" S5        \RH                  " 5         \%" \RD                  S   S5       r&\" \&5      r'\'RP                  S    H+  r)\)=u  r*r+r,\'l)        \'R[                  S\* S\+ S\, S35        M-     \	RJ                  " \RD                  S   5       r.\.R[                  S5        SSS5        \R^                  S :X  a  \R`                  " S5        SSS5        gg! , (       d  f       N:= f! , (       d  f       g= f)%é    )ÚannotationsN)ÚIOé   )ÚImageÚ	ImageFileÚPngImagePluginÚfeaturesÚjpg_2000)ÚJpeg2KImagePlugins   icnsé   c                óV   • [         R                  " SU R                  [        5      5      $ )Nz>4sI)ÚstructÚunpackÚreadÚ
HEADERSIZE)Úfobjs    ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/PIL/IcnsImagePlugin.pyÚ
nextheaderr   %   s   € Ü�=Š=˜ §¡¬:Ó!6Ó7Ð7ó    c                óœ   • Uu  p4U R                  U5        U R                  S5      nUS:w  a  Sn[        U5      e[        XS-   US-
  4U5      $ )Né   s       z'Unknown signature, expecting 0x00000000)Úseekr   ÚSyntaxErrorÚread_32)r   Ústart_lengthÚsizeÚstartÚlengthÚsigÚmsgs          r   Úread_32tr!   )   sW   € ð !�M€EØ‡I�IˆeÔØ
�)‰)�A‹,€CØ
Ð!Ó!Ø7ˆÜ˜#ÓÐÜ�4 !™) V¨a¡ZÐ0°$Ó7Ð7r   c           
     óL  • Uu  p4U R                  U5        US   US   -  US   US   -  4nUS   US   -  nXFS-  :X  a0  U R                  U5      n[        R                  " SXWSSSS5      nSU0$ [        R                  " SUS5      n[        S5       GH  n	/ n
UnUS:”  aŒ  U R                  S5      nU(       d  OsUS   nUS-  (       a,  US	-
  nU R                  S5      nU
R                  U/U-  5        O%US-   nU
R                  U R                  U5      5        X¾-  nUS::  a  OUS:”  a  MŒ  US:w  a  S
[        U5       S3n[        U5      e[        R                  " SUSR                  U
5      SSSS5      nUR                  R                  UR                  U	5        GM     SU0$ )zb
Read a 32bit RGB icon resource.  Seems to be either uncompressed or
an RLE packbits-like scheme.
r   é   r   é   ÚRGBÚrawNé€   é}   zError reading channel [z left]ÚLr   )r   r   r   Ú
frombufferÚnewÚrangeÚextendÚappendÚreprr   ÚjoinÚimÚputband)r   r   r   r   r   Ú
pixel_sizeÚsizesqÚindatar1   Úband_ixÚdataÚ	bytesleftÚbyteÚbyte_intÚ	blocksizer    Úbands                    r   r   r   6   s²  € ð !�M€EØ‡I�IˆeÔØ�q‘'˜D ™GÑ# T¨!¡W¨t°A©wÑ%6Ð7€JØ˜‰]˜Z¨™]Ñ*€FØ˜!‘Óà—‘˜6Ó"ˆÜ×Ò˜e Z¸ÀÀqÈ!ÓLˆð6 �2ˆ;Ðô1 �YŠY�u˜j¨$Ó/ˆÜ˜Q—xˆGØˆDØˆIØ˜a“-Ø—y‘y “|�ÞØØ ™7�Ø˜d—?Ø (¨3¡�IØŸ9™9 Q›<�DØ—K‘K  ¨Ñ 2Õ3à (¨1¡�IØ—K‘K §	¡	¨)Ó 4Ô5ØÑ&�	Ø “>Øð ˜a•-ð ˜A‹~Ø/´°Y³Ð/@ÀÐG�Ü! #Ó&Ð&Ü×#Ò# C¨°S·X±X¸d³^ÀUÈCÐQRÐTUÓVˆDØ�E‰E�M‰M˜$Ÿ'™' 7×+ñ-  ð. �2ˆ;Ðr   c           	     óÌ   • US   nU R                  U5        US   US   -  US   US   -  4nUS   US   -  n[        R                  " SX@R                  U5      SSSS5      nSU0$ )Nr   r#   r   r)   r&   ÚA)r   r   r*   r   )r   r   r   r   r3   r4   r<   s          r   Úread_mkr?   b   s|   € ð ˜‰O€EØ‡I�IˆeÔØ�q‘'˜D ™GÑ# T¨!¡W¨t°A©wÑ%6Ð7€JØ˜‰]˜Z¨™]Ñ*€FÜ×Ò˜C ¯Y©Y°vÓ->ÀÀsÈAÈqÓQ€DØ�ˆ;Ðr   c                ó¸  • Uu  p4U R                  U5        U R                  S5      nUR                  S5      (       aK  U R                  U5        [        R                  " U 5      n[
        R                  " UR                  5        SU0$ UR                  S5      (       d  US:X  a«  [        (       d  Sn[        U5      eU R                  U5        U R                  U5      n[        R                  " U5      n	[        R                  " U	5      n[
        R                  " UR                  5        UR                  S:w  a  UR                  S5      nSU0$ Sn[        U5      e)Né   s   ‰PNG

ÚRGBA)s   ÿOÿQs   
‡
s      jP  
‡
zQUnsupported icon subimage format (rebuild PIL with JPEG 2000 support to fix this)z Unsupported icon subimage format)r   r   Ú
startswithr   ÚPngImageFiler   Ú_decompression_bomb_checkr   Úenable_jpeg2kÚ
ValueErrorÚioÚBytesIOr   ÚJpeg2KImageFileÚmodeÚconvert)
r   r   r   r   r   r   r1   r    Ú
jp2kstreamÚfs
             r   Úread_png_or_jpeg2000rO   n   s  € ð !�M€EØ‡I�IˆeÔØ
�)‰)�B‹-€Cð ‡~�~Ð0×1Ñ1Ø�	‰	�%ÔÜ×(Ò(¨Ó.ˆÜ×'Ò'¨¯©Ô0Ø˜ˆ|Ðà�‰ÐA×BÑBØÐ9Ó9çŠ}ð6ð ô ˜S“/Ð!à�	‰	�%ÔØ—Y‘Y˜vÓ&ˆ
Ü�JŠJ�zÓ"ˆÜ×.Ò.¨qÓ1ˆÜ×'Ò'¨¯©Ô0Ø�7‰7�fÓØ—‘˜FÓ#ˆBØ˜ˆ|Ðà0ˆÜ˜‹oÐr   c                  óâ   • \ rS rSrS\4/S\4/S\4/S\4/S\4/S\4S\4S	\4/S
\4/S\4/S\4S\4/S\4S\4S\4/S\4/S\4S\4S\4/S.rSS jr	SS jr
SS jrS S jr S!   S"S jjrSrg)#ÚIcnsFileé“   ó   ic10ó   ic09ó   ic14ó   ic08ó   ic13ó   ic07s   it32s   t8mks   icp6ó   ic12s   ih32s   h8mks   icp5s   il32s   l8mkó   ic11s   icp4s   is32s   s8mk))é   r[   r#   )r[   r[   r   )é   r\   r#   )r\   r\   r   )r'   r'   r#   )r'   r'   r   )é@   r]   r   )é    r^   r#   )é0   r_   r   )r^   r^   r   )é   r`   r#   )r`   r`   r   c                ód  • 0 U l         Xl        [        U5      u  p#[        U5      (       d  Sn[	        U5      e[
        nXS:  an  [        U5      u  p&US::  a  Sn[	        U5      eU[
        -  nU[
        -  nXV4U R                   U'   UR                  U[        R                  5        XV-  nXS:  a  Mm  gg)z0
fobj is a file-like object as an icns resource
znot an icns filer   zinvalid block headerN)	Údctr   r   Ú_acceptr   r   r   rH   ÚSEEK_CUR)Úselfr   r   Úfilesizer    Úir;   s          r   Ú__init__ÚIcnsFile.__init__¯   s¤   € ð
 ˆŒØŒ	Ü" 4Ó(‰ˆÜ�s�|‰|Ø$ˆCÜ˜cÓ"Ð"ÜˆØ‹lÜ'¨Ó-‰NˆCØ˜A‹~Ø,�Ü! #Ó&Ð&Ø”‰OˆAØœÑ#ˆIØ˜NˆD�H‰H�S‰MØ�I‰I�i¤§¡Ô-Ø‰NˆAð �lr   c                ó¬   • / nU R                   R                  5        H3  u  p#U H(  u  pEX@R                  ;   d  M  UR                  U5          M1     M5     U$ ©N)ÚSIZESÚitemsrb   r.   )re   Úsizesr   ÚfmtsÚfmtÚreaders         r   Ú	itersizesÚIcnsFile.itersizesÆ   sK   € ØˆØŸ*™*×*Ñ*Ö,‰JˆDÛ#‘�ØŸ(™(•?Ø—L‘L Ô&Úó  $ñ -ð
 ˆr   c                ó`   • U R                  5       nU(       d  Sn[        U5      e[        U5      $ )NzNo 32bit icon resources found)rr   r   Úmax)re   rn   r    s      r   ÚbestsizeÚIcnsFile.bestsizeÏ   s+   € Ø—‘Ó ˆÞØ1ˆCÜ˜cÓ"Ð"Ü�5‹zÐr   c                ó¾   • 0 nU R                   U    HG  u  p4U R                  R                  U5      nUc  M%  UR                  U" U R                  XQ5      5        MI     U$ )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.
)rl   rb   ÚgetÚupdater   )re   r   rb   Úcoderq   Údescs         r   ÚdataforsizeÚIcnsFile.dataforsizeÖ   sT   € ð ˆØ ŸJ™J tÔ,‰LˆDØ—8‘8—<‘< Ó%ˆDØÓØ—
‘
™6 $§)¡)¨TÓ8Ö9ñ -ð ˆ
r   Nc                ó*  • Uc  U R                  5       nO[        U5      S:X  a  US   US   S4nU R                  U5      nUR                  S5      nU(       a  U$ US   R	                  5       n UR                  US   5        U$ ! [         a     U$ f = f)Nr#   r   r   rB   r%   r>   )rv   Úlenr}   ry   ÚcopyÚputalphaÚKeyError)re   r   Úchannelsr1   s       r   ÚgetimageÚIcnsFile.getimageã   s    € ð ‰<Ø—=‘=“?‰DÜ�‹Y˜!‹^Ø˜‘G˜T !™W aÐ(ˆDØ×#Ñ# DÓ)ˆà�\‰\˜&Ó!ˆÞØˆIà�e‰_×!Ñ!Ó#ˆð	Ø�K‰K˜ ™Ô&ð ˆ	øô ó 	ØØˆ	ð	ús   Á.B Â
BÂB)rb   r   )r   ú	IO[bytes]ÚreturnÚNone)rˆ   zlist[tuple[int, int, int]])rˆ   útuple[int, int, int])r   rŠ   rˆ   údict[str, Image.Image]rk   )r   z-tuple[int, int] | tuple[int, int, int] | Nonerˆ   úImage.Image)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rO   r!   r?   r   rl   rh   rr   rv   r}   r…   Ú__static_attributes__© r   r   rQ   rQ   “   s  † à Ð"6Ð7Ð8Ø Ð"6Ð7Ð8Ø Ð"6Ð7Ð8Ø Ð"6Ð7Ð8Ø Ð"6Ð7Ð8àÐ*Ð+Ø�hÐØ�gÐð
ð
 Ð 4Ð5Ð6ØÐ 4Ð5Ð6Ø Ð(¨7°GÐ*<Ð=àÐ*Ð+Ø�gÐØ�gÐð
ð
 Ð 4Ð5Ð6àÐ*Ð+Ø�gÐØ�gÐð
ñ)€Eô6ô.ôôð EIðØAðà	÷ð r   rQ   c                  ót   • \ rS rSrSrSrSrSS jr\SS j5       r	\	R                  SS j5       r	SSS	 jjrS
rg)ÚIcnsImageFileéü   a  
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.
ÚICNSzMac OS icns resourcec                óv  • U R                   c   e[        U R                   5      U l        SU l        U R                  R	                  5       U R
                  S'   U R                  R                  5       U l        U R                  S   U R                  S   -  U R                  S   U R                  S   -  4U l        g )NrB   rn   r   r#   r   )	ÚfprQ   ÚicnsÚ_moderr   Úinforv   Ú	best_sizer   ©re   s    r   Ú_openÚIcnsImageFile._open
  s•   € Ø�w‰wÑ"Ð"Ð"Ü˜TŸW™WÓ%ˆŒ	ØˆŒ
Ø!ŸY™Y×0Ñ0Ó2ˆ�	‰	�'ÑØŸ™×+Ñ+Ó-ˆŒà�N‰N˜1Ñ §¡¨qÑ 1Ñ1Ø�N‰N˜1Ñ §¡¨qÑ 1Ñ1ð
ˆ�	r   c                ó   • U R                   $ rk   )Ú_sizer�   s    r   r   ÚIcnsImageFile.size  s   € à�z‰zÐr   c                ó¸   • U R                   S    H;  nUS   US   -  US   US   -  4nUS   US   -  nUS   US   -  U:X  d  M5  Xl          g    Sn[        U5      e)Nrn   r   r#   r   z2This is not one of the allowed sizes of this image)r›   r¡   rG   )re   Úvaluer   Úsimple_sizeÚscaler    s         r   r   r¢     s|   € ð —I‘I˜gÔ&ˆDØ˜q™' D¨¡GÑ+¨T°!©W°t¸A±wÑ->Ð>ˆKØ ‘N e¨A¡hÑ.ˆEØ˜1‰~  a¡Ñ(¨EÕ1Ø"”
Ùñ 'ð CˆÜ˜‹oÐr   Nc                óî  • Ub'  U R                   S S u  p#X!-  X1-  4U l         X#U4U l        [        R                  R                  U 5      nU R                  b&  U R
                  R                   U R                   :X  a  U$ U R                  5         U R                  R                  U R                  5      nUR                  5       nUR
                  U l        UR                  U l
        UR                   U l         U$ )Nr#   )r   rœ   r   ÚloadÚ_imr1   Úload_preparer™   r…   rK   rš   )re   r¦   ÚwidthÚheightÚpxr1   s         r   r¨   ÚIcnsImageFile.load&  sÂ   € ØÑØ ŸI™I b q˜M‰MˆEØ™ v¡~Ð5ˆDŒIØ"¨EÐ1ˆDŒNä�[‰[×Ñ˜dÓ#ˆØ�8‰8Ñ D§G¡G§L¡L°D·I±IÓ$=àˆIØ×ÑÔà�Y‰Y×Ñ §¡Ó/ˆð �W‰W‹Yˆà—%‘%ˆŒØ—W‘WˆŒ
Ø—G‘GˆŒ	àˆ	r   )rš   r¡   rœ   r™   r1   r   )rˆ   r‰   )rˆ   útuple[int, int])r¤   r¯   rˆ   r‰   rk   )r¦   z
int | Nonerˆ   zImage.core.PixelAccess | None)r�   rŽ   r�   r�   Ú__doc__ÚformatÚformat_descriptionrž   Úpropertyr   Úsetterr¨   r‘   r’   r   r   r”   r”   ü   sO   † ñð €FØ/Ðô	
ð óó ðð 
‡[�[ó
ó ð
÷ñ r   r”   c           	     ó@  • [        US5      (       a  UR                  5         SSSSSSSSS.nU R                  R                  S	/ 5       V s0 s H  o R                  U _M     nn 0 n[        UR                  5       5       HW  nXd;   a  XF   OW R                  Xf45      n[        R                  " 5       nUR                  US
5        UR                  5       XV'   MY     / n	UR                  5        H-  u  p¦XV   nU	R                  U
[        [        U5      -   U45        M/     UR!                  ["        5        [        nU[        S[        U	5      -  -   -  nU[%        S U	 5       5      -  nUR!                  [&        R(                  " SU5      5        UR!                  S5        UR!                  [&        R(                  " S[        [        U	5      [        -  -   5      5        U	 H@  nUR!                  US   5        UR!                  [&        R(                  " SUS   5      5        MB     U	 HT  nUR!                  US   5        UR!                  [&        R(                  " SUS   5      5        UR!                  US   5        MV     [        US5      (       a  UR                  5         ggs  sn f )zU
Saves the image as a series of PNG files,
that are then combined into a .icns file.
Úflushr'   r\   r[   i   r^   r]   )rX   rV   rT   rS   rZ   rY   rW   rU   Úappend_imagesÚpngr   c              3  ó*   #   • U  H	  oS    v •  M     g7f)r   Nr’   )Ú.0Úentrys     r   Ú	<genexpr>Ú_save.<locals>.<genexpr>f  s   é € Ð5ªW E˜Q–xªWùs   ‚z>is   TOC r   r   r#   N)Úhasattrr¶   Úencoderinfory   r«   ÚsetÚvaluesÚresizerH   rI   ÚsaveÚgetvaluerm   r.   r   r€   ÚwriteÚMAGICÚsumr   Úpack)r1   r˜   Úfilenamern   Úprovided_imagesÚsize_streamsr   ÚimageÚtempÚentriesÚtypeÚstreamÚfile_lengthr»   s                 r   Ú_saverÒ   >  s7  € ô
 ˆr�7×ÑØ
�‰Œ
ð ØØØØØØØñ	€Eð /1¯n©n×.@Ñ.@ÀÐRTÔ.UÓVÒ.U¨—x‘x ’|Ñ.U€OÐVØ€LÜ�E—L‘L“NÖ#ˆð Ó&ð Ò!à—‘˜D˜<Ó(ð 	ô �zŠz‹|ˆØ�
‰
�4˜ÔØ!Ÿ]™]›_ˆÓñ $ð €GØ—k‘k–m‰
ˆØÑ#ˆØ�‰˜œj¬3¨v«;Ñ6¸Ð?Ö@ñ $ð
 ‡H�HŒU„OÜ€KØ”: ¤C¨£LÑ 0Ñ0Ñ0€KØ”3Ñ5©WÓ5Ó5Ñ5€KØ‡H�HŒV�[Š[˜˜{Ó+Ô,ð ‡H�HˆWÔØ‡H�HŒV�[Š[˜œz¬C°«L¼:Ñ,EÑEÓFÔGÛˆØ
�‰��q‘ÔØ
�‰”—’˜T 5¨¡8Ó,Ö-ñ ó
 ˆØ
�‰��q‘ÔØ
�‰”—’˜T 5¨¡8Ó,Ô-Ø
�‰��q‘Öñ ô
 ˆr�7×ÑØ
�‰�
ð ùòM Ws   ÁJc                ó,   • U R                  [        5      $ rk   )rC   rÆ   )Úprefixs    r   rc   rc   z  s   € Ø×ÑœUÓ#Ð#r   z.icnsz
image/icnsÚ__main__r#   z)Syntax: python3 IcnsImagePlugin.py [file]Úrbrn   zout-Ú-z.pngzout.pngÚwindows)r   r‡   rˆ   ztuple[bytes, int])r   r‡   r   r¯   r   rŠ   rˆ   r‹   )r1   rŒ   r˜   r‡   rÉ   zstr | bytesrˆ   r‰   )rÔ   Úbytesrˆ   Úbool)1Ú
__future__r   rH   Úosr   ÚsysÚtypingr   Ú r   r   r   r	   Úcheck_codecrF   r   rÆ   r   r   r!   r   r?   rO   rQ   r”   rÒ   rc   Úregister_openr±   Úregister_extensionÚregister_saveÚregister_mimer�   r€   ÚargvÚprintÚexitÚopenr˜   Úimfr›   r   r«   r¬   r¦   rÃ   r1   ÚplatformÚ	startfiler’   r   r   Ú<module>rì      sP  ðõ& #ã 	Û 	Û Û 
Ý ç 8Ó 8à×$Ò$ ZÓ0€ÞÝ#à€Ø€
ô8ð
8Ø
ð
8Ø#2ð
8Ø:Nð
8àô
8ð)Ø
ð)Ø#2ð)Ø:Nð)àô)ðX	Ø
ð	Ø#2ð	Ø:Nð	àô	ð"Ø
ð"Ø#2ð"Ø:Nð"àô"÷Jbñ bôR?�I×'Ñ'ô ?ôD9ôx$ð × Ò �M×(Ñ(¨-¸Ô AØ × Ò ˜×-Ñ-¨wÔ 7à × Ò �M×(Ñ(¨%Ô 0Ø × Ò �M×(Ñ(¨,Ô 7àˆzÓÙ
ˆ3�8‰8ƒ}�qÓÙÐ9Ô:Ø�ŠŒ
á	ˆc�h‰h�q‰k˜4Ô	  BÙ˜BÓˆØ—H‘H˜WÔ%ˆDØ.2Ð2Ñ ˆE�6˜5 3¤8Ø�H‰H�t˜E˜7 ! F 8¨1¨U¨G°4Ð8Ö9ñ &ð �ZŠZ˜Ÿ™ ™Ô$¨Ø�G‰G�IÔ÷ %à�<‰<˜9Ó$Ø�LŠL˜Ô#÷ 
!Ð	 ð ÷ %Õ$ú÷ 
!Õ	 ús%   Å.A&H+ÇHÇ&*H+È
H(	È$H+È+
H9