a
   b(                   @   s  d dl Z d dlZg dZe jd  dk ZereZeZe	Z
e	ZeefZeZeZejZejZd dlZeZeZdd Zd#ddZd$d	d
Zdd Zd dlZej Z e Z!dd Z"dd Z#dd Z$G dd de%Z&ze'e&  W n e(y   edZ)Y n
0 edZ)[&nd dl*Z*d dl+Z+d dlZe	Ze	ZeZeZ
eZG dd deZeZejZejZdd Zdd Zdd Zd%ddZd&dd
Zd d Zd dl,Z,e,j Z e,j!Z!d!d Z"d"d Z#e$Z$e j-Z)dS )'    N)BytesIOMAXSIZEPY2StringIObb2sbuiltinsbyte_chr	byte_maskbyte_ordbytesbytes_typesdecodebytesencodebytesinputinteger_typesis_callablelongnextstring_types	text_typeu   c                 C   s   t t| |@ S N)chrordcmask r   6/usr/lib/python3.9/site-packages/paramiko/py3compat.pyr
   /   s    r
   utf8c                 C   sB   t | tr| S t | tr"| |S t | tr0| S td| dS zcast unicode or bytes to bytes#Expected unicode or bytes, got {!r}N)
isinstancestrunicodeencodebuffer	TypeErrorformatsencodingr   r   r    r   2   s    



r   c                 C   sH   t | tr| |S t | tr"| S t | tr6| |S td| dS z cast bytes or unicode to unicoder#   N)r$   r%   decoder&   r(   r)   r*   r+   r   r   r    r   =   s    




r   c                 C   s   | S r   r   r,   r   r   r    r   H   s    r   c                 C   s   t | S r   )callabler   r   r   r    r   P   s    r   c                 C   s   | j S r   r   r2   r   r   r    get_nextS   s    r4   c                 C   s   |   S r   r3   r2   r   r   r    r   V   s    r   c                   @   s   e Zd Zdd ZdS )Xc                 C   s   dS )Nl        r   )selfr   r   r    __len__[   s    z	X.__len__N)__name__
__module____qualname__r7   r   r   r   r    r5   Z   s   r5   il    c                   @   s   e Zd ZdS )r   N)r8   r9   r:   r   r   r   r    r   r   s   r   c                 C   s   t | tst| } | S r   )r$   intr   r2   r   r   r    r   y   s    
r   c                 C   s   t | tsJ td| S NBr$   r;   structpackr2   r   r   r    r	      s    r	   c                 C   s   t | tsJ td| |@ S r<   r>   r   r   r   r    r
      s    c                 C   s4   t | tr| S t | tr"| |S td| dS r"   )r$   r   r%   r'   r)   r*   r+   r   r   r    r      s
    


c                 C   s4   t | tr| |S t | tr"| S td| dS r.   )r$   r   r/   r%   r)   r*   r+   r   r   r    r      s
    


c                 C   s   t | tr|  S | S r   )r$   r   r/   r0   r   r   r    r      s    c                 C   s   t | tjS r   )r$   collectionsCallabler2   r   r   r    r      s    c                 C   s   | j S r   )__next__r2   r   r   r    r4      s    )r!   )r!   )r!   )r!   ).sysbase64__all__version_infor   Z
basestringr   r&   r   r%   r   r   r;   r   r   Z	raw_inputr   Zdecodestringr   Zencodestringr   Z__builtin__r   r   r   r   r	   r
   r   r   r   Z	cStringIOr   r   r   r4   r   objectr5   lenOverflowErrorr   rA   r?   iomaxsizer   r   r   r    <module>   st   


	
	