
    .i4                     "    d dl mZ dedefdZdS )    )Listdatareturnc                 Z   g }t          |           	 t          d          }|dk    rnsd|cxk    rdk     r4n n1|                    fdt          |dz             D                        |dk    r+t                    gd|z
  z  }|                    |           t	          |          S )a  RunLength decoder (Adobe version) implementation based on PDF Reference
    version 1.4 section 3.3.4:
        The RunLengthDecode filter decodes data that has been encoded in a
        simple byte-oriented format based on run length. The encoded data
        is a sequence of runs, where each run consists of a length byte
        followed by 1 to 128 bytes of data. If the length byte is in the
        range 0 to 127, the following length + 1 (1 to 128) bytes are
        copied literally during decompression. If length is in the range
        129 to 255, the following single byte is to be copied 257 - length
        (2 to 128) times during decompression. A length value of 128
        denotes EOD.
    T   r   c              3   6   K   | ]}t                    V  d S )N)next).0_	data_iters     N/var/www/html/analyses/venv/lib/python3.11/site-packages/pdfminer/runlength.py	<genexpr>zrldecode.<locals>.<genexpr>!   s)      !M!Ma$y//!M!M!M!M!M!M       i  )iterr	   extendrangebytes)r   decoded_arraylengthrunr   s       @r   rldecoder      s      "MT

I
&i%%S==  !M!M!M!M5!;L;L!M!M!MNNNC<<	??#sV|4C  %%%
& r   N)typingr   r   r    r   r   <module>r      sE          5  U            r   