
    @OOfH                     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 G d de      Zy)DtlsClientHelloNc                 V    || _         || _        |r|n| | _        | j                          y N_io_parent_root_readselfr   r   r   s       q/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/mitmproxy/contrib/kaitaistruct/dtls_client_hello.py__init__zDtlsClientHello.__init__   s$    #U


    c                    t         j                  | j                  | | j                        | _        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CookiecookieCipherSuitescipher_suitesCompressionMethodscompression_methodsis_eof
Extensions
extensionsr   s    r   r   zDtlsClientHello._read   s    &..txxtzzJ%,,TXXtTZZH)33DHHdDJJO%,,TXXtTZZH,99$((D$**U#2#E#EdhhPTVZV`V`#a 88??%-884TDO &r   c                       e Zd ZddZd Zy)DtlsClientHello.ServerNameNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   z#DtlsClientHello.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 DtlsClientHello.ServerName._read#   sD    !XX--/DN((,,.DK!XX00=DNr   NN__name__
__module____qualname__r   r    r   r   
ServerNamer(      s    		>r   r8   c                       e Zd ZddZd Zy)DtlsClientHello.RandomNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   zDtlsClientHello.Random.__init__*   r*   r   c                     | j                   j                         | _        | j                   j                  d      | _        y )N   )r   	read_u4begmt_unix_timer0   r   r&   s    r   r   zDtlsClientHello.Random._read0   s-    !%!3!3!5D((--b1DKr   r2   r3   r7   r   r   r   r:   )   s    		2r   r   c                       e Zd ZddZd Zy)DtlsClientHello.SessionIdNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   z"DtlsClientHello.SessionId.__init__6   r*   r   c                     | j                   j                         | _        | j                   j                  | j                        | _        y r   )r   r,   lenr0   sidr&   s    r   r   zDtlsClientHello.SessionId._read<   s0    xx'')DHxx**4884DHr   r2   r3   r7   r   r   r   rA   5   s    		5r   r   c                       e Zd ZddZd Zy)DtlsClientHello.SniNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   zDtlsClientHello.Sni.__init__B   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	   r8   r   r   is     r   r   zDtlsClientHello.Sni._readH   sy    #xx113D "DAhhoo'!!(()C)CDHHdTXT^T^)_`Q hhoo'r   r2   r3   r7   r   r   SnirG   A       		r   rQ   c                       e Zd ZddZd Zy)DtlsClientHello.CipherSuitesNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   z%DtlsClientHello.CipherSuites.__init__S   r*   r   c                     | j                   j                         | _        g | _        t	        | j                  dz        D ]5  }| j                  j                  | j                   j                                7 y )N   )r   r.   rD   r    rangerN   rO   s     r   r   z"DtlsClientHello.CipherSuites._readY   s]    xx))+DH!#D488q=) @""))$((*<*<*>?@r   r2   r3   r7   r   r   r   rT   R   s    		@r   r   c                       e Zd ZddZd Zy)"DtlsClientHello.CompressionMethodsNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   z+DtlsClientHello.CompressionMethods.__init__b   r*   r   c                     | j                   j                         | _        | j                   j                  | j                        | _        y r   )r   r,   rD   r0   r"   r&   s    r   r   z(DtlsClientHello.CompressionMethods._readh   s1    xx'')DH'+xx':':488'DD$r   r2   r3   r7   r   r   r!   rZ   a   s    		Er   r!   c                       e Zd ZddZd Zy)DtlsClientHello.AlpnNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   zDtlsClientHello.Alpn.__init__n   r*   r   c                 R   | j                   j                         | _        g | _        d}| j                   j	                         se| j                  j                  t        j                  | j                   | | j                               |dz  }| j                   j	                         sdy y rJ   )	r   r.   ext_lenalpn_protocolsr#   rN   r	   Protocolr   rO   s     r   r   zDtlsClientHello.Alpn._readt   sx    88--/DL"$DAhhoo'##**?+C+CDHHdTXT^T^+_`Q hhoo'r   r2   r3   r7   r   r   Alpnr^   m   rR   r   rd   c                       e Zd ZddZd Zy)DtlsClientHello.ExtensionsNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   z#DtlsClientHello.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 rJ   )	r   r.   rD   r%   r#   rN   r	   	Extensionr   rO   s     r   r   z DtlsClientHello.Extensions._read   su    xx))+DH DOAhhoo'&&'@'@4QUQ[Q['\]Q hhoo'r   r2   r3   r7   r   r   r$   rf   ~   rR   r   r$   c                       e Zd ZddZd Zy)DtlsClientHello.VersionNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   z DtlsClientHello.Version.__init__   r*   r   c                     | j                   j                         | _        | j                   j                         | _        y r   )r   r,   majorminorr&   s    r   r   zDtlsClientHello.Version._read   s*    ))+DJ))+DJr   r2   r3   r7   r   r   r   rk      s    		,r   r   c                       e Zd ZddZd Zy)DtlsClientHello.CookieNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   zDtlsClientHello.Cookie.__init__   r*   r   c                     | j                   j                         | _        | j                   j                  | j                        | _        y r   )r   r,   rD   r0   r   r&   s    r   r   zDtlsClientHello.Cookie._read   s0    xx'')DH((--dhh7DKr   r2   r3   r7   r   r   r   rq      s    		8r   r   c                       e Zd ZddZd Zy)DtlsClientHello.ProtocolNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   z!DtlsClientHello.Protocol.__init__   r*   r   c                     | j                   j                         | _        | j                   j                  | j                        | _        y r   )r   r,   strlenr0   namer&   s    r   r   zDtlsClientHello.Protocol._read   s0    ((**,DK++DKK8DIr   r2   r3   r7   r   r   rc   ru      s    		9r   rc   c                       e Zd ZddZd Zy)DtlsClientHello.ExtensionNc                 V    || _         || _        |r|n| | _        | j                          y r   r   r   s       r   r   z"DtlsClientHello.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.   typerD   r0   	_raw_bodyr   r   r	   rQ   r   bodyrd   )r   _on_io__raw_bodys      r   r   zDtlsClientHello.Extension._read   s    **,DIxx))+DH))Cax!%!4!4TXX!> ,WT^^-D E+//tTZZP	!%!4!4TXX!> ,WT^^-D E+00djjQ	 HH//9	r   r2   r3   r7   r   r   ri   r{      s    		:r   ri   r2   )r4   r5   r6   r   r   r   r8   r   r   rQ   r   r!   rd   r$   r   r   rc   ri   r7   r   r   r	   r	   
   s    U
>\ 
>	2 	2	5L 	5l "@| @	E\ 	E| "\ "	,, 	,	8 	8	9< 	9:L :r   r	   )kaitaistructr   r   r   getattr	Exception__version__r	   r7   r   r   <module>r      sZ     < < </&8
fjv  kC  kC  D  E  E}:l }:r   