OĢcdZddlmZddlZddlZddlZddlmZddl m Z ddl m Z m Z mZmZgdZedZd Zejd ZGd d eZ d'd(dZ d'd)dZd*dZd+dZe Gdd ZGd!d"Ze Gd#d$ZeeeefZe Gd%d&ZdS),zPEP 610) annotationsN)Iterable) dataclass)AnyClassVarTypeVarUnion) DirectUrlDirectUrlValidationErrorDirInfo ArchiveInfoVcsInfoTzdirect_url.jsonz.^\$\{[A-Za-z0-9-_]+\}(:\$\{[A-Za-z0-9-_]+\})?$ceZdZdS)r N)__name__ __module__ __qualname__q/builddir/build/BUILD/cloudlinux-venv-1.0.10/venv/lib/python3.11/site-packages/pip/_internal/models/direct_url.pyr r sDrr ddict[str, Any] expected_typetype[T]keystrdefaultT | Nonereturncr||vr|S||}t||st|d|d|d|S)z3Get value from dictionary and verify expected type.z has unexpected type for z (expected )) isinstancer rrrrvalues r_getr%sb !|| cFE e] + + & Q Q Q Q Q Q Q    LrcRt||||}|t|d|S)Nz must have a value)r%r r#s r _get_requiredr',s8 M3 0 0E }&#'A'A'ABBB LrinfosIterable[InfoType | None]InfoTypecd|D}|stdt|dkrtd|dJ|dS)Ncg|]}||SNr).0infos r z#_exactly_one_of..6s 8 8 8dt'7T'7'7'7rz/missing one of archive_info, dir_info, vcs_infoz1more than one of archive_info, dir_info, vcs_infor)r len)r(s r_exactly_one_ofr35ss 8 8e 8 8 8E  & =    5zzA~~& ?    8    8Orkwargsrc >d|DS)z Make dict excluding None values.ci|] \}}||| Sr-r)r.kvs r z _filter_none..Es = = =TQq}Aq}}}r)items)r4s r _filter_noner;Cs = =V\\^^ = = ==rc`eZdZUdZded<ded<ded<dZded <eddZddZdS)rvcs_infornamervcs commit_idN str | Nonerequested_revisionrdict[str, Any] | NonerVcsInfo | Nonec |dS|t|tdt|tdt|tdS)Nr?r@rB)r?r@rB)r'rr%clsrs r _from_dictzVcsInfo._from_dictPsS 94sae,,#AsK88#As,@AA    rrcDt|j|j|jS)N)r?rBr@)r;r?rBr@selfs r_to_dictzVcsInfo._to_dictZs)#6n    r)rrCrrDrr) rrrr>__annotations__rB classmethodrHrLrrrrrHs}D HHHNNN%)))))   [       rrczeZdZdZ ddd Zedd Zejdd ZeddZ ddZ dS)r archive_infoNhashrAhashesdict[str, str] | NonerNonec"||_||_dSr-)rSrR)rKrRrSs r__init__zArchiveInfo.__init__es   rc|jSr-)_hashrJs rrRzArchiveInfo.hashns zrr$c|} |dd\}}n #t$rtd|wxYw|j ||i|_n1||jvr(|j|_||j|<||_dS)N=r1z"invalid archive_info.hash format: )split ValueErrorr rScopyrY)rKr$ hash_name hash_values rrRzArchiveInfo.hashrs   (- C(;(;% ::   .BBB {"(*5 $+--"k..00 )3 I& s;rrCArchiveInfo | Nonect|dS|t|tdt|tdS)NrRrSrRrS)r%rdictrFs rrHzArchiveInfo._from_dicts9 94sQV,,T!T85L5LMMMMrrc8t|j|jS)Nrc)r;rRrSrJs rrLzArchiveInfo._to_dicts4;????r)NN)rRrArSrTrrU)rrA)r$rArrU)rrCrrarM) rrrr>rWpropertyrRsetterrOrHrLrrrr r bs D (,X [["NNN[N @@@@@@rr cLeZdZUdZded<dZded<edd Zdd ZdS)r dir_inforr>FbooleditablerrCrDirInfo | NonecN|dS|t|tddS)NrkF)rrk)r'rjrFs rrHzDirInfo._from_dicts0 94sM!T:uMMMNNNNrrc0t|jpdS)Nrn)r;rkrJs rrLzDirInfo._to_dictsT]%:d;;;;rN)rrCrrlrM) rrrr>rNrkrOrHrLrrrr r snDHOOO[O <<<<<)rKress rrzDirectUrl.to_dictsE!*   #i0022DIN rscP|tj|Sr-)rjsonloads)rGrs r from_jsonzDirectUrl.from_jsons}}TZ]]+++rcRtj|dS)NT) sort_keys)rdumpsrrJs rto_jsonzDirectUrl.to_jsonsz$,,..D9999rrjcNt|jto |jjSr-)r"r/r rkrJs ris_local_editablezDirectUrl.is_local_editables$)W--D$)2DDr)rsrrr)rr)rrU)rrrr rM)rrrr )rrj)rrrrNrrr{rfrrrOrrrrrrrrr r s HHHNNN#L#### # # # #   X ''''    [  ,,,[,::::EEEEEErr r-) rrrrrrrrrr) rrrrrrrrrr)r(r)rr*)r4rrr) __doc__ __future__rrre urllib.parser}collections.abcr dataclassesrtypingrrrr __all__rDIRECT_URL_METADATA_NAMEcompilerw Exceptionr r%r'r3r;rr r r*r rrrrsJ """""" $$$$$$!!!!!!000000000000    GCLL, RZI J J      y   NR     NR    >>>>           2)@)@)@)@)@)@)@)@X  < < < < < < <  < gw. / AEAEAEAEAEAEAE AEAEAEr