<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
a
    Re2                     @   s0  d dl mZ ddlZddlZddlZddlmZmZ d dlm	Z	 dZ
dZedZG d	d
 d
eZG dd deZG dd deZG dd deZdd Zdd Zdd Zdd Zdd Zdd Zd7ddZd d! Zd"d# Zd$d% Zd&d' Zd8d(d)Zd*d+ Zd,d- Z d.d/ Z!d9d1d2Z"d:d3d4Z#d;d5d6Z$dS )<   )idnadata    N)UnionOptional)intranges_contain	   s   xn--u   [.。．｡]c                   @   s   e Zd ZdZdS )	IDNAErrorz7 Base exception for all IDNA-encoding related problems N__name__
__module____qualname____doc__ r   r   /builddir/build/BUILDROOT/alt-python39-pip-21.3.1-2.el8.x86_64/opt/alt/python39/lib/python3.9/site-packages/pip/_vendor/idna/core.pyr      s   r   c                   @   s   e Zd ZdZdS )IDNABidiErrorz= Exception when bidirectional requirements are not satisfied Nr	   r   r   r   r   r      s   r   c                   @   s   e Zd ZdZdS )InvalidCodepointz> Exception when a disallowed or unallocated codepoint is used Nr	   r   r   r   r   r      s   r   c                   @   s   e Zd ZdZdS )InvalidCodepointContextzE Exception when the codepoint is not valid in the context it is used Nr	   r   r   r   r   r      s   r   c                 C   s0   t t| }|dkr,t t| s,td|S )Nr   z Unknown character in unicodedata)unicodedata	combiningchrname
ValueError)cpvr   r   r   _combining_class    s
    r   c                 C   s   t t| tj| S )N)r   ordr   scripts)r   scriptr   r   r   
_is_script(   s    r   c                 C   s
   |  dS )Npunycode)encodesr   r   r   	_punycode,   s    r#   c                 C   s
   d | S )NzU+{:04X})formatr!   r   r   r   _unot0   s    r%   c                 C   s   t | dkrdS dS )N?   FTlenlabelr   r   r   valid_label_length5   s    r+   c                 C   s   t | |rdndkrdS dS )N      FTr'   )r*   trailing_dotr   r   r   valid_string_length<   s    r/   Fc           	      C   s^  d}t | dD ]:\}}t|}|dkr<tdt| ||dv rd}q|sV|sVdS t| d }|dv rrd}n |d	krd}ntd
t| d}d }t | dD ]\}}t|}|r|dvrtd||dv rd}n|dkrd}|dv rJ|s|}n||krJtdq|dvr.td||dv r>d}q|dkrd}q|sZtddS )NFr    z1Unknown directionality in label {} at position {})RALANTr   )r1   r2   Lz=First codepoint in label {} must be directionality L, R or AL)
r1   r2   r3   ENESCSETONBNNSMzGInvalid direction for codepoint at position {} in a right-to-left label)r1   r2   r5   r3   r;   )r3   r5   z2Can not mix numeral types in a right-to-left label)r4   r5   r6   r7   r8   r9   r:   r;   zGInvalid direction for codepoint at position {} in a left-to-right label)r4   r5   z0Label ends with illegal codepoint directionality)	enumerater   bidirectionalr   r$   repr)	r*   	check_ltr
bidi_labelidxr   	directionrtlvalid_endingnumber_typer   r   r   
check_bidiC   sP    






rF   c                 C   s"   t | d d dkrtddS )Nr   Mz0Label begins with an illegal combining characterT)r   categoryr   r)   r   r   r   check_initial_combiner   s    rI   c                 C   s<   | dd dkrt d| d dks0| d dkr8t d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)   r   r   r   check_hyphen_ok   s
    rN   c                 C   s   t d| | krtdd S )NNFCz%Label must be in Normalization Form C)r   	normalizer   r)   r   r   r   	check_nfc   s    rQ   c                 C   s4  t | | }|dkr|dkr8tt | |d  tkr8dS d}t|d ddD ]B}tjt | | }|t dkrrqL|t dt d	fv rLd} qqL|sdS d}t|d t| D ]B}tjt | | }|t dkrq|t d
t d	fv rd} qq|S |dkr,|dkr(tt | |d  tkr(dS dS dS d S )Ni   r   r   TFrM   Tr4   Dr1   i   )r   r   _virama_combining_classranger   joining_typesgetr(   )r*   poscp_valueokijoining_typer   r   r   valid_contextj   s<    

r]   c                 C   s  t | | }|dkrdd|  k r0t| d k r`n n,t | |d  dkr`t | |d  dkr`dS dS |dkr|t| d k rt| dkrt| |d  dS dS |d	ks|d
kr|dkrt| |d  dS dS |dkr| D ]6}|dkrqt|ds
t|ds
t|dr dS qdS d|  kr.dkrhn n6| D ],}dt |  krVdkr6n n dS q6dS d|  krdkrn n6| D ],}dt |  krdkrn n dS qdS dS )N   r   r   l   TFiu  Greeki  i  Hebrewi0  u   ・HiraganaKatakanaHani`  ii  i  i  )r   r(   r   )r*   rX   	exceptionrY   r   r   r   r   valid_contexto   s@     (
" 
 
rf   c                 C   sJ  t | ttfr| d} t| dkr,tdt|  t|  t|  t	| D ]\}}t
|}t|tjd rpqLqLt|tjd rz,t| |stdt||d t| W n0 ty   tdt||d t| Y n0 qLt|tjd	 rt| |s<td
t||d t| qLtdt||d t| qLt|  d S )Nzutf-8r   zEmpty LabelPVALIDCONTEXTJz*Joiner {} not allowed at position {} in {}r   z<Unknown codepoint adjacent to joiner {} at position {} in {}CONTEXTO-Codepoint {} not allowed at position {} in {}z-Codepoint {} at position {} of {} not allowed)
isinstancebytes	bytearraydecoder(   r   rQ   rN   rI   r<   r   r   r   codepoint_classesr]   r   r$   r%   r>   r   rf   r   rF   )r*   rX   r   rY   r   r   r   check_label   s4    


  rp   c                 C   s|   z(|  d}t| t|s$td|W S  ty:   Y n0 | sHtdt| } t|  t| }t| }t|sxtd|S )NasciizLabel too longzNo Input)	r    ulabelr+   r   UnicodeEncodeErrorstrrp   r#   _alabel_prefixr*   label_bytesr   r   r   alabel  s"    
rx   c                 C   s   t | ttfs>z| d}W qB ty:   t|  |  Y S 0 n| }| }|tr|t	td  }|spt
d|dd dkrt
dnt| |dS |d} t|  | S )Nrq   z5Malformed A-label, no Punycode eligible content foundrM   rL   z"A-label must not end with a hyphenr   )rk   rl   rm   r    rs   rp   lower
startswithru   r(   r   rn   rv   r   r   r   rr   %  s&    



rr   Tc                 C   s$  ddl m } d}t| D ]\}}t|}z||dk r8|nt||dfd  }|d }	d}
t|dkrn|d }
|	d	ks|	d
kr|r|	dkr|s|
du r||7 }n@|
dur|	dks|	dkr|r|	d
kr|r||
7 }n|	dkrt W q ty   tdt	||d t
| Y q0 qtd|S )zBRe-map the characters in the string according to UTS46 processing.r   )	uts46datar0      ZN   rJ   VrS   3rG   Irj   rO   )r{   r<   r   bisectbisect_leftr(   
IndexErrorr   r$   r%   r>   r   rP   )domain
std3_rulestransitionalr{   outputrX   char
code_pointuts46rowstatusreplacementr   r   r   uts46_remap@  sV    


r   c           	      C   s   t | ttfr| d} |r(t| ||} d}g }|r@| d}n
t| }|rX|dgkr`td|d dkrv|d= d}|D ]$}t|} | r|	|  qztdqz|r|	d	 d

|} t| |std| S )Nrq   F.r0   Empty domainrM   TEmpty label       .zDomain too long)rk   rl   rm   rn   r   split_unicode_dots_rer   rx   appendjoinr/   )	r"   strictuts46r   r   r.   resultlabelsr*   r   r   r   r    a  s2    





r    c                 C   s   t | ttfr| d} |r(t| |d} d}g }|s@t| }n
| d}|rX|dgkr`td|d sr|d= d}|D ]$}t|} | r|	|  qvtdqv|r|	d d
|S )	Nrq   Fr   r0   r   rM   Tr   )rk   rl   rm   rn   r   r   r   r   rr   r   r   )r"   r   r   r   r.   r   r   r*   r   r   r   rn     s,    



rn   )F)F)TF)FFFF)FFF)%r0   r   r   r   retypingr   r   	intrangesr   rT   ru   compiler   UnicodeErrorr   r   r   r   r   r   r#   r%   r+   r/   rF   rI   rN   rQ   r]   rf   rp   rx   rr   r   r    rn   r   r   r   r   <module>   s<   

<	,
+ 
!
