B Re.@s>ddlmZddlZddlZddlZddlZddlmZdZdZ e dZ ej ddkr`e ZeZGd d d eZGd d d eZGd ddeZGdddeZddZddZddZddZddZddZd7ddZd d!Zd"d#Zd$d%Zd&d'Z d8d(d)Z!d*d+Z"d,d-Z#d.d/Z$d9d1d2Z%d:d3d4Z&d;d5d6Z'dS)<)idnadataN)intranges_contain sxn--u [.。.。]c@seZdZdZdS) IDNAErrorz7 Base exception for all IDNA-encoding related problems N)__name__ __module__ __qualname____doc__r r /builddir/build/BUILDROOT/alt-python37-pip-20.2.4-6.el8.x86_64/opt/alt/python37/lib/python3.7/site-packages/pip/_vendor/idna/core.pyrsrc@seZdZdZdS) IDNABidiErrorz= Exception when bidirectional requirements are not satisfied N)rr r r r r r r rsrc@seZdZdZdS)InvalidCodepointz> Exception when a disallowed or unallocated codepoint is used N)rr r r r r r r rsrc@seZdZdZdS)InvalidCodepointContextzE Exception when the codepoint is not valid in the context it is used N)rr r r r r r r rsrcCs0tt|}|dkr,tt|s,td|S)Nrz Unknown character in unicodedata) unicodedata combiningunichrname ValueError)cpvr r r _combining_class$s rcCstt|tj|S)N)rordrscripts)rscriptr r r _is_script+srcCs |dS)Npunycode)encode)sr r r _punycode.sr cCs d|S)Nz U+{0:04X})format)rr r r _unot1sr"cCst|dkrdSdS)N?FT)len)labelr r r valid_label_length5s r&cCst||rdndkrdSdS)NFT)r$)r% trailing_dotr r r valid_string_length<sr*Fc Csfd}xHt|dD]:\}}t|}|dkr>tdt|||dkrd}qW|sZ|sZdSt|d}|dkrvd}n |d krd}ntd t|d}d}xt|dD]\}}t|}|r|d krtd ||d krd}n |dkrd}|dkrP|s|}n||krPtdq|dkr4td||dkrDd}q|dkrd}qW|sbtddS)NFrz3Unknown directionality in label {0} at position {1})RALANTr)r,r-Lz>First codepoint in label {0} must be directionality L, R or AL) r,r-r.ENESCSETONBNNSMzHInvalid direction for codepoint at position {0} in a right-to-left label)r,r-r0r.r6)r.r0z2Can not mix numeral types in a right-to-left label)r/r0r1r2r3r4r5r6zHInvalid direction for codepoint at position {0} in a left-to-right label)r/r0z0Label ends with illegal codepoint directionality) enumerater bidirectionalrr!repr) r% check_ltr bidi_labelidxr directionrtl valid_ending number_typer r r check_bidiCsP       rAcCs"t|dddkrtddS)NrMz0Label begins with an illegal combining characterT)rcategoryr)r%r r r check_initial_combinersrDcCs<|dddkrtd|ddks0|ddkr8tdd S) Nz--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_oks rIcCstd||krtddS)NNFCz%Label must be in Normalization Form C)r normalizer)r%r r r check_nfcsrLcCs8t||}|dkr|dkr8tt||dtkr8dSd}xTt|dddD]@}tjt||}|tdkrtqN|tdtd gkrNd}PqNW|sdSd}xVt|dt|D]@}tjt||}|tdkrq|td td gkrd}PqW|S|d kr0|dkr,tt||dtkr,dSdSdSdS) Ni rrTFrHTr/Dr,i )rr_virama_combining_classranger joining_typesgetr$)r%poscp_valueoki joining_typer r r valid_contextjs<     rXcCst||}|dkrdd|kr0t|dkr`nn,t||ddkr`t||ddkr`dSdS|dkr|t|dkrt|dkrt||ddSdS|d ks|d kr|dkrt||dd SdS|d krx<|D]4}|d krqt|ds t|ds t|drdSqWdSd|kr0dkrlnn8x2|D]*}dt|krZdkr:nndSq:WdSd|krdkrnn8x2|D]*}dt|krdkrnndSqWdSdS)NrrlTFiuGreekiiHebrewi0u・HiraganaKatakanaHani`iiii)rr$r)r%rS exceptionrTrr r r valid_contextos>  (  "      rac CsPt|ttfr|d}t|dkr,tdt|t|t|xt |D]\}}t |}t |t j drrqNqNt |t j dry,t||stdt||dt|Wn2tk rtdt||dt|YnXqNt |t j d r"t||s@td t||dt|qNtd t||dt|qNWt|dS) Nzutf-8rz Empty LabelPVALIDCONTEXTJz-Joiner {0} not allowed at position {1} in {2}rz?Unknown codepoint adjacent to joiner {0} at position {1} in {2}CONTEXTOz0Codepoint {0} not allowed at position {1} in {2}z0Codepoint {0} at position {1} of {2} not allowed) isinstancebytes bytearraydecoder$rrLrIrDr7rrrcodepoint_classesrXrr!r"r9rrarrA)r%rSrrTr r r check_labels0      "rjcCs|y&|d}t|t|s$td|Stk r:YnX|sHtdt|}t|t|}t|}t|sxtd|S)NasciizLabel too longzNo Input) rulabelr&rUnicodeEncodeErrorunicoderjr _alabel_prefix)r%r r r alabel s" rpcCst|ttfs:y|d}Wntk r8t||SX|}|tr|t td}|sht d| dddkrt dnt|| dS| d}t||S)Nrkz5Malformed A-label, no Punycode eligible content foundrHrGz"A-label must not end with a hyphenr) rerfrgrrmrjlower startswithror$rrh)r%r r r rl#s$    rlTc Cs*ddlm}d}yxt|D]\}}t|}||dkr:|nt||dfd}|d} t|dkrl|dnd} | d ks| d kr|r| d kr|s| dkr||7}q| dk r| d ks| d kr|r| d kr|r|| 7}q| d krtqWtd|Stk r$t d t ||dt |YnXdS)zBRe-map the characters in the string according to UTS46 processing.r) uts46datar+ZrrENVrN3rBIrJz0Codepoint {0} not allowed at position {1} in {2}) rsr7rbisect bisect_leftr$ IndexErrorrrKrr!r"r9) domain std3_rules transitionalrsoutputrSchar code_pointuts46rowstatus replacementr r r uts46_remap<s0        rc Cst|ttfr|d}|r(t|||}d}g}|r@|d}n t|}|rX|dgkr`td|ddkrv|d=d}x,|D]$}t|}|r| |q|tdq|W|r| d d |}t ||std |S) NrkF.r+z Empty domainrHTz Empty label.zDomain too long) rerfrgrhrsplit_unicode_dots_rerrpappendjoinr*) rstrictuts46r}r~r)resultlabelsr%r r r rXs2           rcCst|ttfr|d}|r(t||d}d}g}|s@t|}n |d}|rX|dgkr`td|dsr|d=d}x,|D]$}t|}|r| |qxtdqxW|r| dd |S) NrkFrr+z Empty domainrHTz Empty label) rerfrgrhrrrrrlrr)rrrr}r)rrr%r r r rhws,        rh)F)F)TF)FFFF)FFF)(r+rryrresys intrangesrrOrocompiler version_infostrrnchrr UnicodeErrorrrrrrrr r"r&r*rArDrIrLrXrarjrprlrrrhr r r r sB    < , )