HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib/python3/dist-packages/pyasn1/codec/ber/__pycache__/encoder.cpython-38.pyc
U

�Z�\�8@s�ddlmZddlmZddlmZddlmZddlmZm	Z	m
Z
mZmZm
Z
ddlmZddlmZddlmZdd	lmZd
gZGdd�de�ZGd
d�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd�de�ZGdd �d e�ZGd!d"�d"e�Z Gd#d$�d$e�Z!ej"j#e�ej$j#e�ej%j#e�ej&j#e�ej'j#e�ej(j#e�ej)j#e�ej*j#e�ej+j#e�ej,j#e�ej-j#e�ej.j#e �ej/j#e�ej0j#e�ej1j#e�ej2j#e�ej3j#e�ej4j#e�ej5j#e�ej6j#e�ej7j#e�ej8j#e�ej9j#e�ej:j#e�ej;j#e�ej<j#e�iZ=ej$j>e�ej%j>e�ej&j>e�ej'j>e�ej(j>e�ej)j>e�ej*j>e�ej+j>e�ej?j>e�ej-j>e�ej@j>e�ej,j>e�ej.j>e �ejAj>e!�ej/j>e�ej0j>e�ej1j>e�ej2j>e�ej3j>e�ej4j>e�ej5j>e�ej6j>e�ej7j>e�ej8j>e�ej9j>e�ej:j>e�ej;j>e�ej<j>e�iZBGd%d&�d&e�ZCeCe=eB�ZDd'S)(�)�debug)�error)�eoo)�to_bytes)�int2oct�oct2int�	ints2octs�null�str2octs�isOctetsType)�char)�tag)�univ)�useful�encodec@s>eZdZdZdZee�Zdd�Zdd�Zdd�Z	dd
d�Z
d	S)
�AbstractItemEncoderT)rrcCsv|\}}}||B}|r |tjO}|dkr2||BfS|d@f}|dL}|rdd|d@Bf|}|dL}qD|dBf|SdS)N����)r
ZtagFormatConstructed)�self�	singleTag�
isConstructedZtagClassZ	tagFormatZtagIdZ
encodedTag�	substrate�r�:/usr/lib/python3/dist-packages/pyasn1/codec/ber/encoder.py�	encodeTags




zAbstractItemEncoder.encodeTagcCsl|s|jrdS|dkr|fSd}|r<|d@f|}|dL}q t|�}|dkrZt�d|��d|Bf|SdS)N)rrr���~zLength octets overflow (%d))�supportIndefLenMode�lenr�PyAsn1Error)rZlength�defModerZsubstrateLenrrr�encodeLength,s

z AbstractItemEncoder.encodeLengthcKst�d��dS)NzNot implemented)rr"�r�value�asn1Spec�	encodeFun�optionsrrr�encodeValue;szAbstractItemEncoder.encodeValueNcKs|dkr|j}n|j}|s6|j|||f|�\}}}|S|�dd�}	t|j�D]�\}
}|	}|
s�|j|||f|�\}}}|s�|r�|�dd�r�|S|s�d}|�||�}
|
|�t|�|�7}
|r�t|
�|}|s�||j	7}qL|
|}|sL||j
7}qL|s�t|�}|S)Nr#T�
ifNotEmptyF)�tagSetr*�get�	enumerateZ	superTagsrr$r!r�eooOctetsSubstrate�eooIntegerSubstrate)rr&r'r(r)r,rrZisOctetsr#�idxrZdefModeOverride�headerrrrr>sN��
��
zAbstractItemEncoder.encode)NN)�__name__�
__module__�__qualname__r r0rr/rr$r*rrrrrrsrc@seZdZdd�ZdS)�EndOfOctetsEncodercKs
tddfS�NFT�r	r%rrrr*uszEndOfOctetsEncoder.encodeValueN�r3r4r5r*rrrrr6tsr6c@seZdZdZdd�ZdS)�BooleanEncoderFcKs|rdp
dddfS)N)��rFrr%rrrr*|szBooleanEncoder.encodeValueN�r3r4r5r r*rrrrr:ysr:c@seZdZdZdZdd�ZdS)�IntegerEncoderFcKs,|dkr|jrdSdStt|�dd�ddfS)Nr)rFF)r<FFT)ZsignedF)�supportCompactZeror�intr%rrrr*�s
zIntegerEncoder.encodeValueN)r3r4r5r r?r*rrrrr>�sr>c@seZdZdd�ZdS)�BitStringEncoderc
Ks�|dk	r|�|�}t|�}|dr4|d|d>}n|}|�dd�}|rXt|�|dkr~|��}tt|�d|�|ddfS|jj}	|	r�t�|	|	�}
nt��}
|j|
d�}d}t	}||kr�|}t
||d|�}|||||�|f|�7}q�|ddfS)Nr�maxChunkSizerFT�r,)�cloner!r-�asOctetsrr,�baseTagr
�TagSetr	�min)
rr&r'r(r)ZvalueLengthZalignedValuerBrrFr,�stop�startrrrr*�s,
zBitStringEncoder.encodeValueNr9rrrrrA�srAc@seZdZdd�ZdS)�OctetStringEncodercKs
|dkr|��}nt|�s*|�|���}n|}|�dd�}|rJt|�|krT|ddfS|dkr�|jj}|rvt�||�}nt��}|j|d�}n6t|�s�|jj}|r�t�||�}nt��}|j|d�}d}	t	}||	|	|�}
|
s�q�|||
|f|�7}|	|7}	q�|ddfSdS)NrBrFTrC)
rErrDr-r!r,rFr
rGr	)rr&r'r(r)rrBrFr,�pos�chunkrrrr*�s8


zOctetStringEncoder.encodeValueNr9rrrrrK�srKc@seZdZdZdd�ZdS)�NullEncoderFcKs
tddfSr7r8r%rrrr*�szNullEncoder.encodeValueNr=rrrrrN�srNc@seZdZdZdd�ZdS)�ObjectIdentifierEncoderFcKs�|dk	r|�|�}|��}z|d}|d}Wn$tk
rRt�d|f��YnXd|krhdkr�nnn|dkr�|df|dd�}nL|dkr�|f|dd�}n0|dkr�|df|dd�}nt�d|f��n0|dkr�|df|dd�}nt�d|f��d	}|D]�}	d|	k�r.d
k�r>nn||	f7}n\|	d
k�r�|	d
@f}
|	dL}	|	�r~d|	d
@Bf|
}
|	dL}	�qZ||
7}nt�d
|	|f���q|ddfS)Nrr;zShort OID %s�'�(��Pz"Impossible first/second arcs at %srrrrzNegative OID arc %s at %sF)rDZasTuple�
IndexErrorrr")rr&r'r(r)Zoid�first�secondZoctetsZsubOid�resrrrr*�s@



z#ObjectIdentifierEncoder.encodeValueNr=rrrrrO�srOc@s0eZdZdZdZedd��Zdd�Zdd�Zd	S)
�RealEncoderrrRcCs�d\}}|dkrd}|dkr d}||9}|dkrZ|dt|�d|9}t|�d|}n0|dkr�|dt|�d|9}t|�d|}t|�|kr�||9}|d	8}q�q�q�|t|�||fS)
N)r;r;r���rrR���r;)�absr@)�m�encbase�e�msZesrrr�_dropFloatingPoint.s$zRealEncoder._dropFloatingPointcCs|\}}}dddg}|j|kr.|�||j|�S|j|krH|�||j|�S|||g}|||g}d}d}	td�}td�D]�}
|�||
||
||
�\}||
<||
<||
<t||
�t|�ks�t||
�t|�krt||
|krt||
}t||
�}||
}	qt|||	|fS)NrRrr[r;�infrZ)�
binEncBaserb�float�ranger]r@)rr&r^�br`ZencBaseZmantissaZ	exponentaZsignr_�irrr�_chooseEncBaseEs,





�4
zRealEncoder._chooseEncBasecKs�|dk	r|�|�}|jrdS|jr&dS|\}}}|s>tddfS|dkrjtd||dkrXdpZd	|f�ddfS|d
k�r�d}|�|�\}	}}
}|	dkr�|dO}|
d
kr�|d
@dkr�|d
L}|d
7}q�nX|
dkr�|d@dkr�|dL}|d
7}q�|dO}n(|d@dk�r|dL}|d
7}q�|dO}d}|d
@dk�r@|d
L}|d
7}�q|dk�rTt�d��||d
>O}t}|dk�sx|dk�r�t|d@�}n�|dk�r�t|d@�|}|dL}�q�|dk�r�|�r�t	|d�d@�r�td�|}|dk�r|�rt	|d�d@�std�|}t
|�}
|
dk�r$t�d��|
d
k�r0n@|
d
k�rD|d
O}n,|
dk�rX|d
O}n|dO}t|
d@�|}t}|�r�t|d@�|}|dL}�qtt|�||}|ddfSt�d|��dS)N))�@FF))�AFFFT�
z%dE%s%dr�+�rRrrjr;rrrZr[�r\� zScale factor overflowrYr)rrYzReal exponent overflowzProhibited Real base %s)rDZ	isPlusInfZ
isMinusInfr	r
rirr"rrr!)rr&r'r(r)r^rgr`Zforar_ZsfZeo�nZporrrrr*]s�


$






""







zRealEncoder.encodeValueN)	r3r4r5r rd�staticmethodrbrir*rrrrrX*s
rXc@seZdZdZdd�ZdS)�SequenceEncoderFc	Ks�t}|dkr�|��|j}t|���D]�\}}|rn||}	|	jrH|jsHq&|	jrZ||	jkrZq&|j	rn|j
|	jd�|||f|�}
|r�|	jr�|	j}|jr�|�
|�s�||
|f|�}
||
7}q&n�t|jj�D]�\}}	z||	j}Wn*tk
�rt�d|	j|f��YnX|	j�r|	j|k�rq�|	j�r0||	jk�r0q�|j	�rF|j
|	jd�||||f|�}
|	j�r�|	j}|j�r�|�
|��s�||
|f|�}
||
7}q�|ddfS)N)r+z#Component name "%s" not found in %rT)r	�verifySizeSpec�
componentTyper.�valuesZ
isOptionalZisValueZisDefaultedZ
asn1Object�omitEmptyOptionals�updateZopenTyper,ZisSameTypeWith�
namedTypes�name�KeyErrorrr")rr&r'r(r)rryr1�	component�	namedTyperMZwrapTyperrrr*�sJ

zSequenceEncoder.encodeValueN)r3r4r5rwr*rrrrrs�srsc@seZdZdd�ZdS)�SequenceOfEncodercKsN|dkr|��n|j}t}t|�D]\}}|||||f|�7}q$|ddfS)NT)rtrur	r.)rr&r'r(r)rr1r|rrrr*�s
zSequenceOfEncoder.encodeValueNr9rrrrr~�sr~c@seZdZdd�ZdS)�
ChoiceEncodercs~|dkr���}nX�fdd�|jjD�}t|�dkrRt�dt|�rFdpHd�f��|d}�|}||}|||f|�ddfS)	Ncsg|]}|j�kr|j�qSr)rz)�.0r}�r&rr�
<listcomp>s
�z-ChoiceEncoder.encodeValue.<locals>.<listcomp>r;z%s components for Choice at %rz	Multiple zNone rT)ZgetComponentruryr!rr")rr&r'r(r)r|�namesrzrr�rr*�s
zChoiceEncoder.encodeValueNr9rrrrr�src@seZdZdd�ZdS)�
AnyEncodercKs<|dkr|��}nt|�s(|�|���}||�dd�dfS)Nr#T)rErrDr-r%rrrr*s

zAnyEncoder.encodeValueNr9rrrrr�
sr�c@s*eZdZdZdZifdd�Zddd�ZdS)�EncoderNcCs||_||_dS)N)�_Encoder__tagMap�_Encoder__typeMap)r�tagMap�typeMaprrr�__init__`szEncoder.__init__c
Ks�z|dkr|j}n|j}Wn$tk
r>t�d|f��YnXtjtj@rTtj}nd}|r�|d|�dd�rrdptd|�dd�|dkr�|��p�|��|f�|j	dk	r�|j
|j	d	�|jdk	r�|j
|jd
�z&|j|}|r�|d|j
j|f�Wn�tk
�r�|dk�r|j}n|j}t�|j|j�}z|j|}Wn(tk
�rdt�d||f��YnX|�r�|d
|j
j|f�YnX|j|||f|�}	|�r�|d|t|	�t�|	�f�|	S)Nz<Value %r is not ASN.1 type instance and "asn1Spec" not givenzBencoder called in %sdef mode, chunk size %s for type %s, value:
%sr#T�inrnrBr)r#)rBz)using value codec %s chosen by type ID %szNo encoder for %r (%s)z(using value codec %s chosen by tagSet %sz;codec %s built %s octets of substrate: %s
encoder completed)�typeId�AttributeErrorrr"r�loggerZflagEncoderr-ZprettyPrintType�fixedDefLengthModerx�fixedChunkSizer��	__class__r3r{r,r
rGrFr�rr!Zhexdump)
rr&r'r)r�r�ZconcreteEncoderr,Z
baseTagSetrrrr�__call__dsL
�8�



zEncoder.__call__)N)r3r4r5r�r�r�r�rrrrr�[sr�N)EZpyasn1rrZpyasn1.codec.berrZpyasn1.compat.integerrZpyasn1.compat.octetsrrrr	r
rZpyasn1.typerr
rr�__all__�objectrr6r:r>rArKrNrOrXrsr~rr�ZendOfOctetsr,ZBooleanZIntegerZ	BitStringZOctetStringZNullZObjectIdentifierZ
EnumeratedZRealZ
SequenceOfZSetOfZChoiceZ
UTF8StringZ
NumericStringZPrintableStringZ
TeletexStringZVideotexStringZ	IA5StringZ
GraphicStringZ
VisibleStringZ
GeneralStringZUniversalStringZ	BMPStringZObjectDescriptorZGeneralizedTimeZUTCTimer�r��Set�SequenceZAnyr�r�rrrrr�<module>s _%:5|F�"�#v