2bi S SK Jr S SKJrJrJrJr S SKJr S SK J r S SKJr S\S\ S\ 4S jrS \ S\4S jr SS \S \\ S\S\4S jjrg) )Optional)ArchiveInfo DirectUrlDirInfoVcsInfo)Link)path_to_url)vcs direct_urlnamereturnc U R 5 US- n/ n[ U R [ 5 ( aI USR U R R U R U R R 5 - nO[ U R [ 5 ( aO X R - nU R R ( a% UR U R R 5 O/[ U R [ 5 ( d eX R - nU R ( a UR SU R - 5 U( a USSR U5 - - nU$ )z0Convert a DirectUrl to a pip requirement string.z @ z{}+{}@{}z subdirectory=#&)validate isinstanceinfor formatr url commit_idr hashappendr subdirectoryjoin)r r requirement fragmentss ژ/builddir/build/BUILDROOT/alt-python313-pip-23.3.1-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/pip/_internal/utils/direct_url_helpers.py%direct_url_as_pep440_direct_referencer s ,KI*//7++z((OO1J1J JOO[ 1 1~~%??Z__112*//73333~~%:+B+BBCsSXXi000 source_dirc 6 [ [ U 5 [ SS9S9$ )NT)editable)r r )r r r )r s r direct_url_for_editabler# s # d # r Nlinklink_is_in_wheel_cachec l U R ( a [ R " U R 5 nU( d eUR U R 5 u pEnU( a U( d eUnOU( d eUR U5 n[ U[ UR UUS9U R S9$ U R 5 ( a' [ U R [ 5 U R S9$ S nU R n U ( a U SU R 3n[ U R [ US9U R S9$ )N)r r requested_revision)r r r =)r )is_vcsr get_backend_for_schemeschemeget_url_rev_and_authurl_without_fragmentget_revisionr r r subdirectory_fragmentis_existing_dirr hash_namer r ) r$ r r% vcs_backendr r' _r r r1 s r direct_url_from_linkr4 ' s) {{00={%0%E%E%%& " " &%%*I :#00