L i3 ddlZddlZddlZddlmZmZddlmZddlm Z dZ dZ ejdZ Gd d eZGd d eZGd deZGddeZdedefdZdededefdZdedefdZdedefdZdeeefdefdZdeeefdedefdZd1dededefdZdedefdZdedefd Zdeddfd!Z ded"edefd#Z!d1ded"ed$edefd%Z"deeee#fddfd&Z$dedefd'Z%deeee#fdefd(Z&d2d)ed*ed+edefd,Z' d3deeee#fd-ed.ed*ed+edef d/Z( d4deeee#fd-ed.ed*edef d0Z)y)5N)OptionalUnion)idnadata)intranges_contain sxn--u [.。.。]ceZdZdZy) IDNAErrorz5Base exception for all IDNA-encoding related problemsN__name__ __module__ __qualname____doc__O/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/idna/core.pyr r s?rr ceZdZdZy) IDNABidiErrorz;Exception when bidirectional requirements are not satisfiedNr rrrrrsErrceZdZdZy)InvalidCodepointz ??rsc$|jdS)Npunycode)encoder(s r _punycoder-2s 88J rc$dj|S)NzU+{:04X})formatr,s r_unotr06s   Q rlabelc"t|dkDryy)N?FTlenr1s rvalid_label_lengthr7:s 5zB r trailing_dotc*t||rdndkDryy)NFTr4)r1r8s rvalid_string_lengthr<@s 5zLSc2 r check_ltrcd}t|dD]J\}}tj|}|dk(r$tdj t |||dvsId}L|s|sytj|d}|dvrd}n+|d k(rd}n#td j t |d}d}t|dD]\}}tj|}|rG|d vrtd j ||d vrd}n|dk7rd}|dvsN|s|}S||k7sYtd|dvrtdj ||dvrd}|dk7sd}|s tdy)NFrz1Unknown directionality in label {} at position {})RALANTr)r@rALz=First codepoint in label {} must be directionality L, R or AL) r@rArBENESCSETONBNNSMzGInvalid direction for codepoint at position {} in a right-to-left label)r@rArDrBrJ)rBrDz2Can not mix numeral types in a right-to-left label)rCrDrErFrGrHrIrJzGInvalid direction for codepoint at position {} in a left-to-right label)rCrDz0Label ends with illegal codepoint directionality) enumerater bidirectionalrr/repr) r1r= bidi_labelidxr directionrtl valid_ending number_types r check_bidirTFsJUA&R--b1 ? S Z Z[_`e[fhk lm m ) )J  i))%(3IK c [bbcghmcnoppL!%KUA&&%R--b1  ! $$m$t$tux$yzz33# e#$ L(""+K"i/+,`aa PP#$m$t$tux$yzzK'# e#$ M&%P NOO rcVtj|dddk(r tdy)NrMz0Label begins with an illegal combining characterT)rcategoryr r6s rcheck_initial_combinerrXs-E!H%a(C/JKK rc`|dddk(r td|ddk(s|ddk(r tdy ) Nz--z4Label has disallowed hyphens in 3rd and 4th positionr-z)Label must not start or end with a hyphenT)r r6s rcheck_hyphen_okr^sA QqzTNOO Qx3%)s*CDD rcLtjd||k7r tdy)NNFCz%Label must be in Normalization Form C)r normalizer r6s r check_nfcrbs(UE*e3?@@4rposct||}|dk(r|dkDr"tt||dz tk(ryd}t|dz ddD]Y}tj j t||}|tdk(r=|tdtd fvrd}nn|syd}t|dzt|D][}tj j t||}|tdk(r=|td td fvrd}|S|S|S|d k(r(|dkDr"tt||dz tk(ryyy) Ni rrTFr]TrCDr@i )r%r"_virama_combining_classranger joining_typesgetr5)r1rccp_valueoki joining_types rvalid_contextjrosl5:H6 7E#'N 348OO sQwB' A#1155c%(mDLs3x'#c(CH!55  sQwE + A#1155c%(mDLs3x'#c(CH!55    6 7E#'N 348OOr exceptionct||}|dk(rDd|cxkrt|dz kr,nyt||dz dk(rt||dzdk(ryy|dk(r2|t|dz kr t|dkDrt||dzdSy|d k(s|d k(r|dkDrt||dz d Sy|d k(r4|D].}|d k(r t|dst|ds t|ds.yyd|cxkrdkr#nn |D]}dt|cxkrdksyyd|cxkrdkr#ny|D]}dt|cxkrdksyyy)NrrlTFiuGreekiiHebrewi0u・HiraganaKatakanaHani`iiii)r%r5r')r1rcrprkrs rvalid_contextorys5:H6 s #SZ!^ #5q>"f,U37^1D1N V  Ua CJNeC!Gng6 6 V x61 7eC!Gnh7 7 V  BX~"j)ZJ-G:VXZ_K`    ( #e # BB)6)*  ( #e #   BB)6)*  rc t|ttfr|jd}t |dk(r t dt |t|t|t|D]\}}t|}t|tjdr0t|tjdr? t||s1tdj!t#||dzt%|t|tjd r>t)||rtd j!t#||dzt%|t+d j!t#||dzt%|t-|y#t&$r2t dj!t#||dzt%|wxYw) Nzutf-8rz Empty LabelPVALIDCONTEXTJz*Joiner {} not allowed at position {} in {}rzrs "(2:::;   I  y  i    @3@@@    S S eE3J/D uUCZ0 CcCdCtCL#$ 34ASATA )#)C)D)X'#'C'D'T'T$uS%23$$N#%&%UI-.3:000D0UX0H $  S% "#$ $  $  $  $  $ R  S% "#        r