grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026a 9ƒ}jZ3ã@s>ddlmZddlZddlZddlZddlZddlmZdZdZ e  d¡Z ej ddkr`e ZeZGd d „d eƒZGd d „d eƒZGd d„deƒZGdd„deƒZdd„Zdd„Zdd„Zdd„Zdd„Zdd„Zd7dd„Zd d!„Zd"d#„Zd$d%„Zd&d'„Z d8d(d)„Z!d*d+„Z"d,d-„Z#d.d/„Z$d9d1d2„Z%d:d3d4„Z&d;d5d6„Z'dS)<é)ÚidnadataéN)Úintranges_containé sxn--u [.。.。]éc@seZdZdZdS)Ú IDNAErrorz7 Base exception for all IDNA-encoding related problems N©Ú__name__Ú __module__Ú __qualname__Ú__doc__©r r ú-/usr/lib/python3.9/site-packages/idna/core.pyrsrc@seZdZdZdS)Ú IDNABidiErrorz= Exception when bidirectional requirements are not satisfied Nrr r r rrsrc@seZdZdZdS)ÚInvalidCodepointz> Exception when a disallowed or unallocated codepoint is used Nrr r r rrsrc@seZdZdZdS)ÚInvalidCodepointContextzE Exception when the codepoint is not valid in the context it is used Nrr r r rrsrcCs0t t|ƒ¡}|dkr,t t|ƒ¡s,tdƒ‚|S)Nrz Unknown character in unicodedata)Ú unicodedataZ combiningÚunichrÚnameÚ ValueError)ÚcpÚvr r rÚ_combining_class$s rcCstt|ƒtj|ƒS)N)rÚordrZscripts)rZscriptr r rÚ _is_script+srcCs | d¡S)NÚpunycode)Úencode©Úsr r rÚ _punycode.srcCs d |¡S)Nz U+{0:04X})Úformatrr r rÚ_unot1sr!cCst|ƒdkrdSdS)Né?FT©Úlen©Úlabelr r rÚvalid_label_length5s r'cCst|ƒ|rdndkrdSdS)NéþéýFTr#)r&Ú trailing_dotr r rÚvalid_string_length<sr+Fc Cs^d}t|dƒD]:\}}t |¡}|dkrd}q¤|dkr¤d}q¤|�sZtdƒ‚dS)NFrÚz3Unknown directionality in label {0} at position {1})ÚRÚALÚANTr)r-r.ÚLz>First codepoint in label {0} must be directionality L, R or AL) r-r.r/ÚENÚESÚCSÚETÚONÚBNÚNSMzHInvalid direction for codepoint at position {0} in a right-to-left label)r-r.r1r/r7)r/r1z2Can not mix numeral types in a right-to-left label)r0r1r2r3r4r5r6r7zHInvalid direction for codepoint at position {0} in a left-to-right label)r0r1z0Label ends with illegal codepoint directionality)Ú enumeraterZ bidirectionalrr Úrepr) r&Z check_ltrZ bidi_labelÚidxrÚ directionZrtlZ valid_endingZ number_typer r rÚ check_bidiCsP       r<cCs"t |d¡ddkrtdƒ‚dS)NrÚMz0Label begins with an illegal combining characterT)rÚcategoryrr%r r rÚcheck_initial_combinersr?cCs<|dd…dkrtdƒ‚|ddks0|ddkr8tdƒ‚d S) Nééz--z4Label has disallowed hyphens in 3rd and 4th positionrú-éÿÿÿÿz)Label must not start or end with a hyphenT)rr%r r rÚcheck_hyphen_ok†s rDcCst d|¡|krtdƒ‚dS)NÚNFCz%Label must be in Normalization Form C)rÚ normalizerr%r r rÚ check_nfc�srGcCsLt||ƒ}|dk�r|dkr:tt||dƒƒtkr:dSd}t|dddƒD]J}tj t||ƒ¡}|tdƒkrvqNqN|tdƒtd ƒfvr”d}qšqNqšqN|s¢dSd}t|dt|ƒƒD]P}tj t||ƒ¡}|tdƒkràq¸q¸|td ƒtd ƒfv�rd}�q q¸�q q¸|S|d k�rD|dk�r@tt||dƒƒtk�r@dSdSdSdS) Ni rrTFrCÚTr0ÚDr-i )rrÚ_virama_combining_classÚrangerZ joining_typesÚgetr$)r&ÚposÚcp_valueÚokÚiZ joining_typer r rÚvalid_contextj•s@      rQcCs¾t||ƒ}|dkrdd|kr0t|ƒdkr`nn,t||dƒdkr`t||dƒdkr`dSdS|dkrž|t|ƒdkršt|ƒdkršt||ddƒSdS|d ks®|d krÌ|dkrÈt||dd ƒSdS|d k�r|D]6}|d krèqÚt|dƒ�s t|dƒ�s t|dƒrÚdSqÚdSd|k�r.dk�rhnn6|D],}dt|ƒk�rVdk�r6nndS�q6dSd|k�r€dk�rºnn6|D],}dt|ƒk�r¨dk�rˆnndS�qˆdSdS)Né·rrélTFiuZGreekióiôZHebrewiû0u・ZHiraganaZKatakanaZHani`iiiðiù)rr$r)r&rMÚ exceptionrNrr r rÚvalid_contextoÅs>  ( "    rUcCs$t|ttfƒr| d¡}t|ƒdkr,tdƒ‚t|dd�s@tdƒ‚t|ƒt|ƒt |ƒt |ƒD]¶\}}t |ƒ}t |t jdƒr„q`q`t |t jdƒr¾t||ƒs¼td  t|ƒ|d t|ƒ¡ƒ‚q`t |t jd ƒrøt||ƒsötd  t|ƒ|d t|ƒ¡ƒ‚q`td  t|ƒ|d t|ƒ¡ƒ‚q`t|ƒdS)Nzutf-8rz Empty LabelT)r*úLabel too longZPVALIDZCONTEXTJz*Joiner {} not allowed at position {} in {}rZCONTEXTOú0Codepoint {0} not allowed at position {1} in {2}z0Codepoint {0} at position {1} of {2} not allowed)Ú isinstanceÚbytesÚ bytearrayÚdecoder$rr+rGrDr?r8rrrZcodepoint_classesrQrr r!r9rUrr<)r&rMrrNr r rÚ check_labelîs.    ÿ   r\cCs|z(| d¡}t|ƒt|ƒs$tdƒ‚|WSty:Yn0|sHtdƒ‚t|ƒ}t|ƒt|ƒ}t|}t|ƒsxtdƒ‚|S)NÚasciirVzNo Input) rÚulabelr'rÚUnicodeEncodeErrorÚunicoder\rÚ_alabel_prefixr%r r rÚalabels"  rbcCs®t|ttfƒssB    < 0 )'  (