Ë
    6Š·jA  ã                  ó  — d dl mZ d dlZddlmZmZmZ ddlmZ	 ddlm
Z ddlmZ ddlmZ dd	„Z G d
„ dej
                  «      Z ej"                  ej$                  ee«        ej&                  ej$                  ddg«       y)é    )ÚannotationsNé   )ÚImageÚ	ImageFileÚImagePalette)Úi16le)Úi32le©Úo8)ÚDeferredErrorc                ó^   — t        | «      dk\  xr t        | d«      dv xr t        | d«      dv S )Né   é   )é¯  i¯  é   )r   é   )ÚlenÚi16)Úprefixs    úH/root/workspace/.venv/lib/python3.12/site-packages/PIL/FliImagePlugin.pyÚ_acceptr      s:   € äˆF‹�rÑò 	&Ü�˜‹NÐ.Ð.ò	&ä�˜‹O˜vÐ%ðó    c                  ó@   — e Zd ZdZdZdZd
d„Zdd„Zdd„Zdd„Z	dd„Z
y	)ÚFliImageFileÚFLIzAutodesk FLI/FLC AnimationFc                ó>  — | j                   €J ‚| j                   j                  d«      }t        |«      r|dd dk(  r|dd dk(  r|dd  d	k(  sd
}t        |«      ‚t	        |d«      | _        | j
                  dkD  | _        d| _        t	        |d«      t	        |d«      f| _        t        |d«      }t	        |d«      }|dk(  r|dz  dz  }|| j                  d<   t        d«      D �cg c]  }|||f‘Œ	 }}| j                   j                  d«      }d| _        t	        |d«      dk(  rL| j                   j                  | j                  t        |«      z   «       | j                   j                  d«      }t	        |d«      dk(  r¢t	        |d«      }d }t        |«      D ]†  }	|�-| j                   j                  |dz
  t        j                  «       | j                   j                  d«      }t	        |d«      }
|
dv r| j!                  ||
dk(  rdnd«        nt        |«      }|rŒ† n t#        j$                  ddj'                  d„ |D «       «      «      | _        d | _        | j                   | _        | j                   j/                  «       | _        | j                  d«       y c c}w )!Né€   é   é   s     é*   éP   s&                                         éX   s(                                           znot an FLI/FLC fileé   r   ÚPé   é
   r   r   r   iè  éF   Údurationé   i ñ  iúñ  )r   é   r*   é   r   ÚRGBr   c              3  ój   K  — | ]+  \  }}}t        |«      t        |«      z   t        |«      z   –— Œ- y ­w©Nr
   )Ú.0ÚrÚgÚbs       r   ú	<genexpr>z%FliImageFile._open.<locals>.<genexpr>j   s+   è ø€ ÒK±i°q¸!¸QœB˜q›E¤B q£E™M¬B¨q«EÕ1ÑKùs   ‚13éÿÿÿÿ)ÚfpÚreadr   ÚSyntaxErrorr   Ún_framesÚis_animatedÚ_modeÚ_sizeÚi32ÚinfoÚrangeÚ_FliImageFile__offsetÚseekÚosÚSEEK_CURÚ_paletter   ÚrawÚjoinÚpaletteÚ_FliImageFile__frameÚ_fpÚtellÚ_FliImageFile__rewind)ÚselfÚsÚmsgr(   ÚmagicÚarF   Únumber_of_subchunksÚ
chunk_sizeÚ_Ú
chunk_types              r   Ú_openzFliImageFile._open1   sU  € à�w‰wÐ"Ð"Ð"Ø�G‰G�L‰L˜Óˆä�AŒJØ�"�R�˜KÒ'Ø�"�R�˜LÒ(Ø�"�#�˜,Ò&à'ˆCÜ˜cÓ"Ð"ô ˜A˜q›	ˆŒØŸ=™=¨1Ñ,ˆÔð ˆŒ
Ü˜˜A“Y¤ A r£
Ð*ˆŒ
ô �q˜"“:ˆÜ�A�q“	ˆØ�FŠ?Ø  4™¨BÑ.ˆHØ (ˆ�	‰	�*Ñô ',¨C£jÖ1 �A�q˜!’9Ð1ˆÐ1à�G‰G�L‰L˜ÓˆàˆŒäˆq�!‹9˜Òà�G‰G�L‰L˜Ÿ™¬¨Q«Ñ/Ô0Ø—‘—‘˜RÓ ˆAäˆq�!‹9˜Òä"% a¨£)ÐØ%)ˆJÜÐ.Ó/ò 
�ØÐ)Ø—G‘G—L‘L ¨a¡´·±Ô=Ø—G‘G—L‘L “O�Ü   A›Y�
Ø Ñ(Ø—M‘M '°
¸bÒ0@©1ÀaÔHÙÜ  ›V�
Ú!Ùð
ô $×'Ñ'Ø�3—8‘8ÑKÀ7ÔKÓKó
ˆŒð
 ˆŒØ—7‘7ˆŒØŸ™Ÿ™›ˆŒØ�	‰	�!�ùòG 2s   Ã$Jc                ó®  — d}| j                   €J ‚t        t        | j                   j                  d«      «      «      D ]•  }| j                   j                  d«      }||d   z   }|d   }|dk(  rd}| j                   j                  |dz  «      }t        dt	        |«      d«      D ]-  }||   |z  }||dz      |z  }||dz      |z  }	|||	f||<   |dz  }Œ/ Œ— y )Nr   r+   r   r)   r   )r5   r>   r   r6   r   )
rK   rF   ÚshiftÚiÚerL   Únr0   r1   r2   s
             r   rC   zFliImageFile._palettes   sì   € ð ˆØ�w‰wÐ"Ð"Ð"Ü”s˜4Ÿ7™7Ÿ<™<¨›?Ó+Ó,ò 	ˆAØ—‘—‘˜Q“ˆAØ�A�a‘D‘ˆAØ�!‘ˆAØ�AŠvØ�Ø—‘—‘˜Q ™UÓ#ˆAÜ˜1œc !›f aÓ(ò �Ø�a‘D˜E‘M�Ø�a˜!‘e‘H Ñ%�Ø�a˜!‘e‘H Ñ%�Ø  A˜Y�˜‘
Ø�Q‘‘ññ	r   c                óÌ   — | j                  |«      sy || j                  k  r| j                  d«       t        | j                  dz   |dz   «      D ]  }| j                  |«       Œ y )Nr   r   )Ú_seek_checkrG   Ú_seekr>   )rK   ÚframeÚfs      r   r@   zFliImageFile.seek†   sX   € Ø×Ñ Ô&ØØ�4—<‘<ÒØ�J‰J�qŒMä�t—|‘| aÑ'¨°©Ó3ò 	ˆAØ�J‰J�q�Mñ	r   c                ó¾  — t        | j                  t        «      r| j                  j                  ‚|dk(  r4d| _        | j                  j                  | j                  «       d| _        n| j                  «        || j                  dz   k7  rd|› �}t        |«      ‚|| _        | j                  | _
        | j                  j                  | j                  «       | j                  j                  d«      }|sd}t        |«      ‚t        |«      }|| _        t        j                   dd	| j"                  z   | j                  «      g| _        | xj                  |z  c_        y )
Nr   r4   r   r   zcannot seek to frame r   zmissing frame sizeÚfli)r   r   )Ú
isinstancerH   r   ÚexrG   r@   rJ   r?   ÚloadÚ
ValueErrorr5   r6   ÚEOFErrorr<   Údecodermaxblockr   Ú_TileÚsizeÚtile)rK   r]   rM   rL   Ú	framesizes        r   r\   zFliImageFile._seek�   s  € Ü�d—h‘h¤Ô.Ø—(‘(—+‘+ÐØ�AŠ:ØˆDŒLØ�H‰H�M‰M˜$Ÿ-™-Ô(ØˆD�Mð �I‰IŒKà�D—L‘L 1Ñ$Ò$Ø)¨%¨Ð1ˆCÜ˜S“/Ð!ØˆŒð —(‘(ˆŒØ�‰�‰�T—]‘]Ô#à�G‰G�L‰L˜‹OˆÙØ&ˆCÜ˜3“-Ðä˜“Fˆ	à(ˆÔÜ—_‘_ U¨F°T·Y±YÑ,>ÀÇÁÓNÐOˆŒ	à�Š˜Ñ"Žr   c                ó   — | j                   S r.   )rG   )rK   s    r   rI   zFliImageFile.tell¯   s   € Ø�|‰|Ðr   N)ÚreturnÚNone)rF   zlist[tuple[int, int, int]]rV   Úintrl   rm   )r]   rn   rl   rm   )rl   rn   )Ú__name__Ú
__module__Ú__qualname__ÚformatÚformat_descriptionÚ!_close_exclusive_fp_after_loadingrT   rC   r@   r\   rI   © r   r   r   r   ,   s/   „ Ø€FØ5ÐØ(-Ð%ó@óDó&ó#ô@r   r   z.fliz.flc)r   Úbytesrl   Úbool)Ú
__future__r   rA   Ú r   r   r   Ú_binaryr   r   r	   r<   r   Ú_utilr   r   r   Úregister_openrr   Úregister_extensionsru   r   r   ú<module>r~      sr   ðõ" #ã 	ç ,Ñ ,Ý !Ý !Ý Ý  óôD�9×&Ñ&ô DðT €× Ñ �L×'Ñ'¨°wÔ ?à €× Ñ ˜,×-Ñ-°¸Ð/?Õ @r   