
    Ng                     0    d Z ddlmZ  G d d          ZdS )z Python implementation of Arcfour encryption algorithm.
See https://en.wikipedia.org/wiki/RC4
This code is in the public domain.

    )Sequencec                   B    e Zd Zdee         ddfdZdedefdZexZZ	dS )ArcfourkeyreturnNc                    d t          d          D             }d}t          |          }t          d          D ]3}|||         z   |||z           z   dz  }||         ||         c||<   ||<   4|| _        d\  | _        | _        d S )Nc                     g | ]}|S  r
   ).0is     L/var/www/html/ai-engine/env/lib/python3.11/site-packages/pdfminer/arcfour.py
<listcomp>z$Arcfour.__init__.<locals>.<listcomp>   s    ###1Q###       r   )r   r   )rangelensr   j)selfr   r   r   klenr   s         r   __init__zArcfour.__init__   s    ##c

###3xxs 	( 	(AQqTCDM)S0AaD!A$LQqT1Q44!r   datac                 0   | j         | j        }}| j        }d}t          |          D ]_}|dz   dz  }|||         z   dz  }||         ||         c||<   ||<   |||         ||         z   dz           }|t	          ||z  f          z  }`||c| _         | _        |S )Nr      r   )r   r   r   iterbytes)r   r   r   r   r   rcks           r   processzArcfour.process   s    &$&AFd 	! 	!AQ#AQqTS AaD!A$LQqT1Q41Q4!A$;#%&AAx AAqr   )
__name__
__module____qualname__r   intr   r   r    encryptdecryptr
   r   r   r   r      sb        	"HSM 	"d 	" 	" 	" 	"E e      Ggggr   r   N)__doc__typingr   r   r
   r   r   <module>r)      sU                             r   