
    8'h                         d dl Z 	 d dlmZ d dlmZ eZy# e$ r? 	 e n# e$ r eZY nw xY wd dl	m	Z	  G d de
      Z G d de
      Z G d	 d
e
      ZddZY yw xY w)    N)XorMaskerNull)createXorMasker)arrayc                   *    e Zd ZdZddZd Zd Zd Zy)r   _ptrNc                     d| _         y Nr   r   selfmasks     X/var/www/html/trade_iq/venv/lib/python3.12/site-packages/autobahn/websocket/xormasker.py__init__zXorMaskerNull.__init__9   	    DI    c                     | j                   S Nr   r   s    r   pointerzXorMaskerNull.pointer<       99r   c                     d| _         y r
   r   r   s    r   resetzXorMaskerNull.reset?   r   r   c                 B    | xj                   t        |      z  c_         |S r   )r   len)r   datas     r   processzXorMaskerNull.processB   s    IIT"IKr   r   __name__
__module____qualname__	__slots__r   r   r   r    r   r   r   r   4   s    					r   r   c                   (    e Zd ZdZd Zd Zd Zd Zy)XorMaskerSimple)r   _mskc                 T    t        |      dk(  sJ d| _        t        d|      | _        y )N   r   B)r   r   r   r%   r   s     r   r   zXorMaskerSimple.__init__J   s'    t9>!>DIc4(DIr   c                     | j                   S r   r   r   s    r   r   zXorMaskerSimple.pointerO   r   r   c                     d| _         y r
   r   r   s    r   r   zXorMaskerSimple.resetR   r   r   c                 (   t        |      }t        d|      }t        |      D ]>  }||xx   | j                  | j                  dz     z  cc<   | xj                  dz  c_        @ t
        j                  r|j                         S |j                         S )Nr(         )	r   r   xranger%   r   sixPY3tobytestostring)r   r   dlenpayloadks        r   r   zXorMaskerSimple.processU   s{    t9DC&GD\ 
dii		A66
		Q	 ww((''))r   Nr   r"   r   r   r$   r$   F   s    $		)
				*r   r$   c                   (    e Zd ZdZd Zd Zd Zd Zy)XorMaskerShifted1)r   	_mskarrayc                    t        |      dk(  sJ d| _        t        d      t        d      t        d      t        d      g| _        t        j
                  rt        d      D ]  }| j                  d   j                  ||dz            | j                  d   j                  ||dz   dz            | j                  d   j                  ||dz   dz            | j                  d   j                  ||dz   dz             y t        d      D ]  }| j                  d   j                  t        ||dz                  | j                  d   j                  t        ||dz   dz                  | j                  d   j                  t        ||dz   dz                  | j                  d   j                  t        ||dz   dz                   y )Nr'   r   r(   r,   r-      )	r   r   r   r8   r/   r0   r.   appendord)r   r   js      r   r   zXorMaskerShifted1.__init__d   s   t9>!>DI#Cj%*eCj%*MDNww @ANN1%,,T!a%[9NN1%,,T1q5A+->?NN1%,,T1q5A+->?NN1%,,T1q5A+->?	@   EANN1%,,Sa!e-=>NN1%,,Sq1uk1B-CDNN1%,,Sq1uk1B-CDNN1%,,Sq1uk1B-CD	Er   c                     | j                   S r   r   r   s    r   r   zXorMaskerShifted1.pointeru   r   r   c                     d| _         y r
   r   r   s    r   r   zXorMaskerShifted1.resetx   r   r   c                 8   t        |      }t        d|      }| j                  | j                  dz     }t	        |      D ]  }||xx   ||dz     z  cc<    | xj                  |z  c_        t
        j                  r|j                         S |j                         S )Nr(   r,   )	r   r   r8   r   r.   r/   r0   r1   r2   )r   r   r3   r4   mskr5   s         r   r   zXorMaskerShifted1.process{   s    t9DC&G..Q/CD\ )
c!a%j(
)IIIww((''))r   Nr   r"   r   r   r7   r7   `   s    )		E"		
	*r   r7   c                 <    ||dk  rt        |       S t        |       S )N   )r$   r7   )r   lengths     r   create_xor_maskerrE      s#    >Vc\"4(($T**r   r   )r/   wsaccel.xormaskr   r   rE   ImportErrorr.   	NameErrorranger   objectr$   r7   r"   r   r   <module>rK      s}   6 n+ ./' f+
  
  $*& *4%*F %*N+Ef+s*    AA(A(.AA