
    @OOf                     z    d dl Z d dl mZmZmZ  ee dd      dk  r ede j                  z         G d de      Zy)    N)KaitaiStructKaitaiStreamBytesIOAPI_VERSION)r   	   zPIncompatible Kaitai Struct Python API: 0.9 or later is required, but you have %sc                      e Zd ZddZd Z G d de      Z G d de      Z G d d	e      Z G d
 de      Z	 G d de      Z
 G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Zy)TlsClientHelloNc                 V    || _         || _        |r|n| | _        | j                          y N_io_parent_root_readselfr   r   r   s       p/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/mitmproxy/contrib/kaitaistruct/tls_client_hello.py__init__zTlsClientHello.__init__   s$    #U


    c                    t         j                  | j                  | | j                        | _        t         j                  | j                  | | j                        | _        t         j                  | j                  | | j                        | _        t         j                  | j                  | | j                        | _
        t         j                  | j                  | | j                        | _        | j                  j                         dk(  r1t         j                  | j                  | | j                        | _        y y )NF)r	   Versionr   r   versionRandomrandom	SessionId
session_idCipherSuitescipher_suitesCompressionMethodscompression_methodsis_eof
Extensions
extensionsr   s    r   r   zTlsClientHello._read   s    %--dhhdjjI$++DHHdDJJG(22488T4::N+884T#1#D#DTXXtUYU_U_#` 88??%,77$

SDO &r   c                       e Zd ZddZd Zy)TlsClientHello.ServerNameNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   z"TlsClientHello.ServerName.__init__   $    DH"DL"'TDJJJLr   c                     | j                   j                         | _        | j                   j                         | _        | j                   j                  | j                        | _        y r   )r   read_u1	name_type	read_u2belength
read_bytes	host_namer$   s    r   r   zTlsClientHello.ServerName._read"   sD    !XX--/DN((,,.DK!XX00=DNr   NN__name__
__module____qualname__r   r    r   r   
ServerNamer&      s    		>r   r6   c                       e Zd ZddZd Zy)TlsClientHello.RandomNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   zTlsClientHello.Random.__init__)   r(   r   c                     | j                   j                         | _        | j                   j                  d      | _        y )N   )r   	read_u4begmt_unix_timer.   r   r$   s    r   r   zTlsClientHello.Random._read/   s-    !%!3!3!5D((--b1DKr   r0   r1   r5   r   r   r   r8   (   s    		2r   r   c                       e Zd ZddZd Zy)TlsClientHello.SessionIdNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   z!TlsClientHello.SessionId.__init__5   r(   r   c                     | j                   j                         | _        | j                   j                  | j                        | _        y r   )r   r*   lenr.   sidr$   s    r   r   zTlsClientHello.SessionId._read;   s0    xx'')DHxx**4884DHr   r0   r1   r5   r   r   r   r?   4   s    		5r   r   c                       e Zd ZddZd Zy)TlsClientHello.SniNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   zTlsClientHello.Sni.__init__A   r(   r   c                 R   | j                   j                         | _        g | _        d}| j                   j	                         se| j                  j                  t        j                  | j                   | | j                               |dz  }| j                   j	                         sdy y Nr      )	r   r,   list_lengthserver_namesr!   appendr	   r6   r   r   is     r   r   zTlsClientHello.Sni._readG   sy    #xx113D "DAhhoo'!!(()B)B488TSWS]S])^_Q hhoo'r   r0   r1   r5   r   r   SnirE   @       		r   rO   c                       e Zd ZddZd Zy)TlsClientHello.CipherSuitesNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   z$TlsClientHello.CipherSuites.__init__R   r(   r   c                     | j                   j                         | _        g | _        t	        | j                  dz        D ]5  }| j                  j                  | j                   j                                7 y )N   )r   r,   rB   r   rangerL   rM   s     r   r   z!TlsClientHello.CipherSuites._readX   s]    xx))+DH!#D488q=) @""))$((*<*<*>?@r   r0   r1   r5   r   r   r   rR   Q   s    		@r   r   c                       e Zd ZddZd Zy)!TlsClientHello.CompressionMethodsNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   z*TlsClientHello.CompressionMethods.__init__a   r(   r   c                     | j                   j                         | _        | j                   j                  | j                        | _        y r   )r   r*   rB   r.   r    r$   s    r   r   z'TlsClientHello.CompressionMethods._readg   s1    xx'')DH'+xx':':488'DD$r   r0   r1   r5   r   r   r   rX   `   s    		Er   r   c                       e Zd ZddZd Zy)TlsClientHello.AlpnNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   zTlsClientHello.Alpn.__init__m   r(   r   c                 R   | j                   j                         | _        g | _        d}| j                   j	                         se| j                  j                  t        j                  | j                   | | j                               |dz  }| j                   j	                         sdy y rH   )	r   r,   ext_lenalpn_protocolsr!   rL   r	   Protocolr   rM   s     r   r   zTlsClientHello.Alpn._reads   sx    88--/DL"$DAhhoo'##**>+B+B488TSWS]S]+^_Q hhoo'r   r0   r1   r5   r   r   Alpnr\   l   rP   r   rb   c                       e Zd ZddZd Zy)TlsClientHello.ExtensionsNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   z"TlsClientHello.Extensions.__init__~   r(   r   c                 R   | j                   j                         | _        g | _        d}| j                   j	                         se| j                  j                  t        j                  | j                   | | j                               |dz  }| j                   j	                         sdy y rH   )	r   r,   rB   r#   r!   rL   r	   	Extensionr   rM   s     r   r   zTlsClientHello.Extensions._read   su    xx))+DH DOAhhoo'&&~'?'?$PTPZPZ'[\Q hhoo'r   r0   r1   r5   r   r   r"   rd   }   rP   r   r"   c                       e Zd ZddZd Zy)TlsClientHello.VersionNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   zTlsClientHello.Version.__init__   r(   r   c                     | j                   j                         | _        | j                   j                         | _        y r   )r   r*   majorminorr$   s    r   r   zTlsClientHello.Version._read   s*    ))+DJ))+DJr   r0   r1   r5   r   r   r   ri      s    		,r   r   c                       e Zd ZddZd Zy)TlsClientHello.ProtocolNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   z TlsClientHello.Protocol.__init__   r(   r   c                     | j                   j                         | _        | j                   j                  | j                        | _        y r   )r   r*   strlenr.   namer$   s    r   r   zTlsClientHello.Protocol._read   s0    ((**,DK++DKK8DIr   r0   r1   r5   r   r   ra   ro      s    		9r   ra   c                       e Zd ZddZd Zy)TlsClientHello.ExtensionNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   z!TlsClientHello.Extension.__init__   r(   r   c                    | j                   j                         | _        | j                   j                         | _        | j                  }|dk(  ro| j                   j	                  | j                        | _        t        t        | j
                              }t        j                  || | j                        | _        y |dk(  ro| j                   j	                  | j                        | _        t        t        | j
                              }t        j                  || | j                        | _        y | j                   j	                  | j                        | _        y )Nr      )r   r,   typerB   r.   	_raw_bodyr   r   r	   rO   r   bodyrb   )r   _on_io__raw_bodys      r   r   zTlsClientHello.Extension._read   s    **,DIxx))+DH))Cax!%!4!4TXX!> ,WT^^-D E*..}dDJJO	!%!4!4TXX!> ,WT^^-D E*//tTZZP	 HH//9	r   r0   r1   r5   r   r   rg   ru      s    		:r   rg   r0   )r2   r3   r4   r   r   r   r6   r   r   rO   r   r   rb   r"   r   ra   rg   r5   r   r   r	   r	   
   s    T
>\ 
>	2 	2	5L 	5l "@| @	E\ 	E| "\ "	,, 	,	9< 	9:L :r   r	   )kaitaistructr   r   r   getattr	Exception__version__r	   r5   r   r   <module>r      sZ     < < </&8
fjv  kC  kC  D  E  Ep:\ p:r   