HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/idna/__pycache__/core.cpython-310.pyc
o

�N�gw1�
@sXddlmZddlZddlZddlZddlmZmZddlm	Z	dZ
dZe�d�Z
Gd	d
�d
e�ZGdd�de�ZGd
d�de�ZGdd�de�Zdedefdd�Zdededefdd�Zdedefdd�Zdedefdd�Zdeeefdefdd�Zdeeefd edefd!d"�ZdEded$edefd%d&�Zdedefd'd(�Zdedefd)d*�Zdeddfd+d,�Z ded-edefd.d/�Z!dEded-ed0edefd1d2�Z"deeee#fddfd3d4�Z$dedefd5d6�Z%deeee#fdefd7d8�Z&dFd:ed;ed<edefd=d>�Z'dGdeeee#fd?ed@ed;ed<edefdAdB�Z(dHdeeee#fd?ed@ed;edef
dCdD�Z)dS)I�)�idnadata�N)�Union�Optional)�intranges_contain�	sxn--u[.。.。]c@�eZdZdZdS)�	IDNAErrorz7 Base exception for all IDNA-encoding related problems N��__name__�
__module__�__qualname__�__doc__�rr�=/opt/saltstack/salt/lib/python3.10/site-packages/idna/core.pyr	�r	c@r)�
IDNABidiErrorz= Exception when bidirectional requirements are not satisfied Nr
rrrrrrrc@r)�InvalidCodepointz> Exception when a disallowed or unallocated codepoint is used Nr
rrrrrrrc@r)�InvalidCodepointContextzE Exception when the codepoint is not valid in the context it is used Nr
rrrrrrr�cp�returncCs0t�t|��}|dkrt�t|��std��|S)Nrz Unknown character in unicodedata)�unicodedataZ	combining�chr�name�
ValueError)r�vrrr�_combining_class s
r�scriptcCstt|�tj|�S)N)r�ordr�scripts)rrrrr�
_is_script'sr �scCs
|�d�S)N�punycode)�encode�r!rrr�	_punycode*�
r%cCs
d�|�S)NzU+{:04X})�formatr$rrr�_unot-r&r(�labelcCst|�dkrdSdS)N�?FT��len�r)rrr�valid_label_length1sr.�trailing_dotcCst|�|rdndkrdSdS)N��FTr+)r)r/rrr�valid_string_length7sr2F�	check_ltrc	CsPd}t|d�D]\}}t�|�}|dkrtd�t|�|���|dvr$d}q|s+|s+dSt�|d�}|dvr9d}n|d	kr@d}n	td
�t|����d}d}t|d�D]M\}}t�|�}|r�|dvrhtd�|���|d
vrod}n|dkrud}|dvr�|s~|}qR||kr�td��qR|dvr�td�|���|dvr�d}qR|dkr�d}qR|s�td��dS)NFr�z1Unknown directionality in label {} at position {})�R�AL�ANTr)r5r6�Lz=First codepoint in label {} must be directionality L, R or AL)
r5r6r7�EN�ES�CS�ET�ON�BN�NSMzGInvalid direction for codepoint at position {} in a right-to-left label)r5r6r9r7r?)r7r9z2Can not mix numeral types in a right-to-left label)r8r9r:r;r<r=r>r?zGInvalid direction for codepoint at position {} in a left-to-right label)r8r9z0Label ends with illegal codepoint directionality)�	enumeraterZ
bidirectionalrr'�repr)	r)r3Z
bidi_label�idxr�	directionZrtlZvalid_endingZnumber_typerrr�
check_bidi=sV
�
��rDcCs"t�|d�ddkrtd��dS)Nr�Mz0Label begins with an illegal combining characterT)r�categoryr	r-rrr�check_initial_combinerxsrGcCs<|dd�dkrtd��|ddks|ddkrtd��d	S)
N��z--z4Label has disallowed hyphens in 3rd and 4th positionr�-���z)Label must not start or end with a hyphenT)r	r-rrr�check_hyphen_ok~s
rLcCst�d|�|krtd��dS)N�NFCz%Label must be in Normalization Form C)r�	normalizer	r-rrr�	check_nfc�s�rO�poscCs0t||�}|dkr~|dkrtt||d��tkrdSd}t|ddd�D]!}tj�t||��}|td�kr9q&|td�td	�fvrGd}n|sLdSd}t|dt|��D]$}tj�t||��}|td�krjqW|td
�td	�fvryd}|S|S|S|dkr�|dkr�tt||d��tkr�dSdSdS)Ni rrTFrK�Tr8�Dr5i
 )rr�_virama_combining_class�rangerZ
joining_types�getr,)r)rP�cp_value�ok�iZjoining_typerrr�valid_contextj�sB�rY�	exceptioncCs�t||�}|dkr3d|krt|�dkr1ndSt||d�dkr1t||d�dkr1dSdS|dkrP|t|�dkrNt|�dkrNt||dd�SdS|d	ksX|d
krg|dkret||dd�SdS|dkr�|D]}|d
krtqmt|d�s�t|d�s�t|d�r�dSqmdSd|kr�dkr�nn|D]}dt|�kr�dkr�dSq�q�dSd|kr�dkr�ndS|D]}dt|�kr�dkr�dSq�q�dSdS)N�rr�lTFiuZGreeki�i�ZHebrewi�0u・ZHiraganaZKatakanaZHani`iii�i�)rr,r )r)rPrZrVrrrr�valid_contexto�sJ(�����r]cCst|ttf�r|�d�}t|�dkrtd��t|�t|�t|�t	|�D]Y\}}t
|�}t|tj
d�r7q&t|tj
d�rTt||�sStd�t|�|dt|����q&t|tj
d�rqt||�sptd	�t|�|dt|����q&td
�t|�|dt|����t|�dS)Nzutf-8rzEmpty LabelZPVALIDZCONTEXTJz*Joiner {} not allowed at position {} in {}rZCONTEXTO�-Codepoint {} not allowed at position {} in {}z-Codepoint {} at position {} of {} not allowed)�
isinstance�bytes�	bytearray�decoder,r	rOrLrGr@rrrZcodepoint_classesrYrr'r(rAr]rrD)r)rPrrVrrr�check_label�s.

��
�rccCsdz|�d�}t|�t|�std��|WStyYnwt|�tt|�}t|�s0td��|S)N�asciizLabel too long)r#�ulabelr.r	�UnicodeEncodeErrorrc�_alabel_prefixr%�r)Zlabel_bytesrrr�alabel�s
�ricCs�t|ttf�sz|�d�}Wntyt|�|YSw|}|��}|�t�rE|t	t�d�}|s7t
d��|�d�ddkrDt
d��n	t|�|�d�Sz|�d�}Wnty`t
d��wt|�|S)Nrdz5Malformed A-label, no Punycode eligible content foundrKrJz"A-label must not end with a hyphenr"zInvalid A-label)
r_r`rar#rfrc�lower�
startswithrgr,r	rb�UnicodeErrorrhrrrres2�
�
�reT�domain�
std3_rules�transitionalcCsddlm}d}t|�D]{\}}t|�}z]||dkr|n	t�||df�d}|d}	d}
t|�dkr7|d}
|	d	ksK|	d
krA|rK|	dkrP|sP|
durP||7}n |
duri|	dksd|	dkr^|rd|	d
kri|ri||
7}n|	d
krpt��Wqty�td�t	|�|dt
|����wt�d|�S)zBRe-map the characters in the string according to UTS46 processing.r)�	uts46datar4��ZN�rH�VrR�3rE�Ir^rM)
rpr@r�bisect�bisect_leftr,�
IndexErrorrr'r(rArrN)rmrnrorp�outputrP�charZ
code_pointZuts46row�statusZreplacementrrr�uts46_remap/s>�

����r}�strict�uts46c	Cs�t|t�szt|d�}Wntytd��w|r t|||�}d}g}|r,|�d�}nt�|�}|r8|dgkr<td��|ddkrG|d=d}|D]}t|�}|rW|�|�qItd	��|rb|�d
�d�	|�}t
||�sptd��|S)
NrdzGshould pass a unicode string to the function rather than a byte string.F�.r4�Empty domainrKT�Empty label��.zDomain too long)r_�str�UnicodeDecodeErrorr	r}�split�_unicode_dots_reri�append�joinr2)	r!r~rrnror/�result�labelsr)rrrr#Os:
�



r#cCs�zt|t�st|d�}Wntytd��w|r t||d�}d}g}|s,t�|�}n|�d�}|r8|dgkr<td��|dsE|d=d}|D]}t|�}|rU|�|�qGtd	��|r`|�d�d�	|�S)
NrdzInvalid ASCII in A-labelFr�r4r�rKTr�)
r_r�r�r	r}r�r�rer�r�)r!r~rrnr/r�r�r)rrrrbps6

��


rb)F)TF)FFFF)FFF)*r4rrwr�re�typingrrZ	intrangesrrSrg�compiler�rlr	rrr�intrr��boolr r`r%r(r.r2rDrGrLrOrYr]rarcrirer}r#rbrrrr�<module>s>
;/*. .!