
    :h9                    2   d dl mZ ddlmZmZ ddlmZ ddlmZ  G d d      Z	ddZ
 G d	 d
ej                        Z ej                  ej                  ee
        ej                  ej                  ddg        ej                  ej                  d       y)    )annotations   )Image	ImageFile)i8)SupportsReadc                  4    e Zd ZddZddZd	dZd
dZd	dZy)	BitStreamc                .    || _         d| _        d| _        y )Nr   )fpbits	bitbuffer)selfr   s     Q/var/www/urcfiles/bundle/venv/lib/python3.12/site-packages/PIL/MpegImagePlugin.py__init__zBitStream.__init__   s    	    c                J    t        | j                  j                  d            S )Nr   )r   r   read)r   s    r   nextzBitStream.next   s    $'',,q/""r   c                   | j                   |k  rY| j                         }|dk  rd| _         ,| j                  dz  |z   | _        | xj                   dz  c_         | j                   |k  rY| j                  | j                   |z
  z	  d|z  dz
  z  S )Nr      r   )r   r   r   )r   r   cs      r   peekzBitStream.peek"   s    ii$		A1u	"nn1Q6DNIINI ii$ ~~$))d"23qDyAoEEr   c                   | j                   |k  r^| j                  dz  t        | j                  j	                  d            z   | _        | xj                   dz  c_         | j                   |k  r^| j                   |z
  | _         y )Nr   r   )r   r   r   r   r   )r   r   s     r   skipzBitStream.skip,   sa    ii$"nn1RQ5HHDNIINI ii$ II$	r   c                P    | j                  |      }| j                  |z
  | _        |S )N)r   r   )r   r   vs      r   r   zBitStream.read2   s$    IIdOII$	r   N)r   zSupportsRead[bytes]returnNone)r   int)r   r    r   r    )r   r    r   r   )__name__
__module____qualname__r   r   r   r   r    r   r   r
   r
      s    
#F%r   r
   c                $    | j                  d      S )Ns     )
startswith)prefixs    r   _acceptr(   8   s    011r   c                      e Zd ZdZdZddZy)MpegImageFileMPEGc                    | j                   J t        | j                         }|j                  d      dk7  rd}t        |      d| _        |j                  d      |j                  d      f| _        y )N    i  znot an MPEG fileRGB   )r   r
   r   SyntaxError_mode_size)r   smsgs      r   _openzMpegImageFile._openE   sc    ww"""dgg66":$Cc""
VVBZ+
r   N)r   r   )r!   r"   r#   formatformat_descriptionr5   r$   r   r   r*   r*   A   s    F	,r   r*   z.mpgz.mpegz
video/mpegN)r'   bytesr   bool)
__future__r    r   r   _binaryr   _typingr   r
   r(   r*   register_openr6   register_extensionsregister_mimer$   r   r   <module>rA      s    #   ! >2,I'' ,&   M((- A   -..0A B   M((, 7r   