Ë
    zñ�j  ã                   ój   — d dl mZmZmZmZ d dlmZ d dlmZ d dlm	Z	  G d„ de
«      Z G d„ d«      Zy)	é    )Úmax_byteÚ	zero_byteÚbyte_ordÚbyte_chrN)Úb)Úint64c                   ó   — e Zd Zy)ÚBERExceptionN)Ú__name__Ú
__module__Ú__qualname__© ó    úM/var/www/api.ozpay.ru/ozpay/venv/lib/python3.12/site-packages/paramiko/ber.pyr
   r
      s   „ Ør   r
   c                   ón   — e Zd ZdZ e«       fd„Zd„ Zd„ Zd„ Zd„ Z	d„ Z
ed„ «       Zd	„ Zd
„ Zed„ «       Zy)ÚBERz7
    Robey's tiny little attempt at a BER decoder.
    c                 ó2   — t        |«      | _        d| _        y )Nr   )r   ÚcontentÚidx)Úselfr   s     r   Ú__init__zBER.__init__"   s   € Ü˜“zˆŒØˆ�r   c                 ó   — | j                   S ©N)r   ©r   s    r   ÚasbyteszBER.asbytes&   s   € Ø�|‰|Ðr   c                 ó"   — | j                  «       S r   )r   r   s    r   Ú__str__zBER.__str__)   s   € Ø�|‰|‹~Ðr   c                 ó8   — dt        | j                  «      z   dz   S )NzBER('z'))Úreprr   r   s    r   Ú__repr__zBER.__repr__,   s   € Øœ˜dŸl™lÓ+Ñ+¨dÑ2Ð2r   c                 ó"   — | j                  «       S r   )Údecode_nextr   s    r   Údecodez
BER.decode/   s   € Ø×ÑÓ!Ð!r   c                 óð  — | j                   t        | j                  «      k\  ry t        | j                  | j                      «      }| xj                   dz  c_         |dz  dk(  r�d}| j                   t        | j                  «      k  rkt        | j                  | j                      «      }| xj                   dz  c_         |dz  |dz  z  }|dz  sn#| j                   t        | j                  «      k  rŒk| j                   t        | j                  «      k\  ry t        | j                  | j                      «      }| xj                   dz  c_         |dz  rz|dz  }| j                   |z   t        | j                  «      kD  ry t	        j
                  | j                  | j                   | j                   |z    d«      }| xj                   |z  c_         | j                   |z   t        | j                  «      kD  ry | j                  | j                   | j                   |z    }| xj                   |z  c_         |dk(  r| j                  |«      S |d	k(  rt	        j
                  |«      S d
}t        |j                  |«      «      ‚)Né   é   r   é   é   é€   Té0   é   z.Unknown ber encoding type {:d} (robey is lazy))	r   Úlenr   r   ÚutilÚinflate_longÚdecode_sequencer
   Úformat)r   ÚidentÚtÚsizeÚdataÚmsgs         r   r"   zBER.decode_next2   sô  € Ø�8‰8”s˜4Ÿ<™<Ó(Ò(ØÜ˜Ÿ™ d§h¡hÑ/Ó0ˆØ�Š�A‰�Ø�B‰J˜2ÒàˆEØ—(‘(œS §¡Ó.Ò.Ü˜TŸ\™\¨$¯(©(Ñ3Ó4�Ø—’˜A‘•Ø !™¨¨D©Ñ1�Ø˜DšØð —(‘(œS §¡Ó.Ó.ð �8‰8”s˜4Ÿ<™<Ó(Ò(Øä˜Ÿ™ T§X¡XÑ.Ó/ˆØ�Š�A‰�Ø�$Š;ð �t‘ˆAØ�x‰x˜!‰|œc $§,¡,Ó/Ò/ØÜ×$Ñ$Ø—‘˜TŸX™X¨¯©°1©Ð5°tóˆDð �HŠH˜‰M�HØ�8‰8�d‰?œS §¡Ó.Ò.àØ�|‰|˜DŸH™H t§x¡x°$¡Ð7ˆØ�Š�DÑ�à�DŠ=à×'Ñ'¨Ó-Ð-Ø�aŠZä×$Ñ$ TÓ*Ð*ð CˆCÜ˜sŸz™z¨%Ó0Ó1Ð1r   c                 ól   — g }t        | «      }	 |j                  «       }|€	 |S |j                  |«       Œ'r   )r   r"   Úappend)r4   ÚoutÚberÚxs       r   r/   zBER.decode_sequence`   s>   € àˆÜ�$‹iˆØØ—‘Ó!ˆAØˆyØàˆ
ð �J‰J�qŒMð	 r   c                 ól  — | xj                   t        |«      z  c_         t        |«      dkD  rLt        j                  t        |«      «      }| xj                   t        dt        |«      z   «      |z   z  c_         n'| xj                   t        t        |«      «      z  c_         | xj                   |z  c_         y )Nr(   r)   )r   r   r,   r-   Údeflate_long)r   r1   ÚvalÚlenstrs       r   Ú
encode_tlvzBER.encode_tlvk   sy   € à�Šœ ›Ñ'�Üˆs‹8�dŠ?Ü×&Ñ&¤s¨3£xÓ0ˆFØ�LŠLœH T¬C°«KÑ%7Ó8¸6ÑAÑAŽLà�LŠLœH¤S¨£XÓ.Ñ.�LØ�Š˜ÑŽr   c                 ó*  — t        |«      t        u r0|r| j                  dt        «       y | j                  dt        «       y t        |«      t
        u st        |«      t        u r&| j                  dt        j                  |«      «       y t        |«      t        u r| j                  d|«       y t        |«      t        u st        |«      t        u r"| j                  d| j                  |«      «       y t        dj                  t        |«      «      «      ‚)Nr%   r+   é   r*   zUnknown type for encoding: {!r})ÚtypeÚboolr?   r   r   Úintr   r-   r<   ÚstrÚlistÚtupleÚencode_sequencer
   r0   )r   r:   s     r   Úencodez
BER.encodeu   sÂ   € Ü�‹7”d‰?ÙØ—‘ ¤8Õ,à—‘ ¤9Õ-Ü�1‹gœ‰n¤$ q£'¬UÑ"2Ø�O‰O˜Aœt×0Ñ0°Ó3Õ4Ü�!‹Wœ‰^Ø�O‰O˜A˜qÕ!Ü�1‹gœ‰o¤4¨£7¬eÑ#3Ø�O‰O˜D $×"6Ñ"6°qÓ"9Õ:äØ1×8Ñ8¼¸a»ÓAóð r   c                 óf   — t        «       }| D ]  }|j                  |«       Œ |j                  «       S r   )r   rI   r   )r4   r9   Úitems      r   rH   zBER.encode_sequence†   s0   € ä‹eˆØò 	ˆDØ�J‰J�tÕð	à�{‰{‹}Ðr   N)r   r   r   Ú__doc__Úbytesr   r   r   r    r#   r"   Ústaticmethodr/   r?   rI   rH   r   r   r   r   r      s_   „ ññ  %›wó òòò3ò"ò,2ð\ ñó ðòòð" ñó ñr   r   )Úparamiko.commonr   r   r   r   Úparamiko.utilr-   r   Úparamiko.sftpr   Ú	Exceptionr
   r   r   r   r   ú<module>rS      s/   ð÷$ DÓ Cå Ý Ý ô	�9ô 	÷nò nr   