
    h                    
   S SK Jr  S SKrSSKJrJrJr  SSKJr	  SSKJ
r  SSKJr  SSKJr  SS	 jr " S
 S\R
                  5      r\R"                  " \R$                  \\5        \R&                  " \R$                  SS/5        g)    )annotationsN   )Image	ImageFileImagePalette)i16le)i32leo8)DeferredErrorc                v    [        U 5      S:  =(       a%    [        U S5      S;   =(       a    [        U S5      S;   $ )N      )  i     )r      )leni16)prefixs    D/var/www/html/env/lib/python3.13/site-packages/PIL/FliImagePlugin.py_acceptr      s:    Fq 	&N..	&Ov%    c                  R    \ rS rSrS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
rg)FliImageFile,   FLIzAutodesk FLI/FLC AnimationFc                L   U R                   R                  S5      n[        U5      (       a	  USS S:X  d  Sn[        U5      e[	        US5      U l        U R
                  S:  U l        SU l        [	        US	5      [	        US
5      4U l        [        US5      n[	        US5      nUS:X  a  US-  S-  nX0R                  S'   [        S5       Vs/ s H  oUXU4PM     nnU R                   R                  S5      nSU l        [	        US5      S:X  a]  U R                  [        U5      -   U l        U R                   R                  U R                  5        U R                   R                  S5      n[	        US5      S:X  a  [	        US5      nS n[        U5       H  n	Ub-  U R                   R                  US-
  [        R                  5        U R                   R                  S5      n[	        US5      n
U
S;   a  U R!                  XjS:X  a  SOS5          O[        U5      nU(       a  M    O   ["        R$                  " SSR'                  S U 5       5      5      U l        SU l        U R                   U l        U R                   R/                  5       U l        U R                  S5        g s  snf )N         s     znot an FLI/FLC filer   r   P   
      r   r   i  F   duration   i   i  )r      r(      r   RGBr   c              3  n   #    U  H+  u  pn[        U5      [        U5      -   [        U5      -   v   M-     g 7fNr
   ).0rgbs       r   	<genexpr>%FliImageFile._open.<locals>.<genexpr>e   s)     K7iqQBqEBqEMBqE17s   35)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arE   number_of_subchunks
chunk_size_
chunk_types              r   _openFliImageFile._open1   s+   GGLL

qBx;6'Cc"" Aq	==1, 
AYAr
*
 q":Aq	F? 4B.H (		* ',Cj1jq9j1GGLLq!9 MMCF2DMGGLL'R Aq!9"%a)%)J./)GGLLa=GGLLO AY
(MM'b0@1aH V
!z 0 $''388K7KK

 77		!I 2s   J!c                   Sn[        [        U R                  R                  S5      5      5       H  nU R                  R                  S5      nX5S   -   nUS   nUS:X  a  SnU R                  R                  US-  5      n[        S[	        U5      S5       H)  nXV   U-  nXVS-      U-  nXVS-      U-  n	XxU	4X'   US-  nM+     M     g )Nr   r)   r   r'   r   )r=   r   r4   r5   r   )
rJ   rE   shiftierK   nr.   r/   r0   s
             r   rB   FliImageFile._paletten   s     s477<<?+,AQAaDA!AAvQU#A1c!fa(DEM!eH%!eH%AY
Q ) -r   c                    U R                  U5      (       d  g XR                  :  a  U R                  S5        [        U R                  S-   US-   5       H  nU R                  U5        M     g )Nr   r   )_seek_checkrF   _seekr=   )rJ   framefs      r   r?   FliImageFile.seek   sT    &&<<JJqMt||a'3AJJqM 4r   c                   [        U R                  [        5      (       a  U R                  R                  eUS:X  a4  SU l        U R                  R                  U R                  5        SU l        OU R                  5         XR                  S-   :w  a  SU 3n[        U5      eXl        U R                  U l
        U R                  R                  U R                  5        U R                  R                  S5      nU(       d  Sn[        U5      e[        U5      nX@l        [        R                   " SS	U R"                  -   U R                  5      /U l        U =R                  U-  sl        g )
Nr   r3   r   r   zcannot seek to frame r   zmissing frame sizefli)r   r   )
isinstancerG   r   exrF   r?   rI   r>   load
ValueErrorr4   r5   EOFErrorr;   decodermaxblockr   _Tilesizetile)rJ   r^   rL   rK   	framesizes        r   r]   FliImageFile._seek   s   dhh..((++A:DLHHMM$--(DM IIKLL1$$)%1CS/! ((T]]#GGLLO&C3-F	(__UFTYY,>NO	"r   c                    U R                   $ r,   )rF   )rJ   s    r   rH   FliImageFile.tell   s    ||r   )__frame__offset__rewindrG   r9   r:   rh   r4   r8   r7   rE   rk   N)returnNone)rE   zlist[tuple[int, int, int]]rV   intrs   rt   )r^   ru   rs   rt   )rs   ru   )__name__
__module____qualname____firstlineno__formatformat_description!_close_exclusive_fp_after_loadingrS   rB   r?   r]   rH   __static_attributes__ r   r   r   r   ,   s.    F5(-%;z$#@r   r   z.fliz.flc)r   bytesrs   bool)
__future__r   r@    r   r   r   _binaryr   r   r	   r;   r   _utilr   r   r   register_openrz   register_extensionsr~   r   r   <module>r      sn   " # 	 , , ! !   ~9&& ~H   L''w ?   ,--/? @r   