2bi9@SrSSKrSSKrSSKrSSKrSSKrSSKJr SSKJ r SSK J r S/r \R"\5r\R "S\R"5r\R "S \R"\R&-5r\R*SS r"S S\5rg) zu Class representing the list of files in a distribution. Equivalent to distutils.filelist, but fixes some problems. N)DistlibException)fsdecode) convert_pathManifestz\\w* z#.*?(?= )| (?=$)c\rSrSrSrSSjrSrSrSrSSjr S r S r S r SS jr SS jrSSjrSrSrg)r%zvA list of files built by on exploring the filesystem and filtered by applying various patterns to what we find there. Nc.[RR[RRU=(d [R"555UlUR [R -UlSUl[5Ul g)zL Initialise an instance. :param base: The base directory to explore under. N) ospathabspathnormpathgetcwdbasesepprefixallfilessetfiles)selfrs ڎ/builddir/build/BUILDROOT/alt-python313-pip-23.3.1-3.el8.x86_64/opt/alt/python313/lib/python3.13/site-packages/pip/_vendor/distlib/manifest.py__init__Manifest.__init__*sV GGOOBGG$4$4T5HRYY[$IJ ii"&&(  U cSSKJnJnJn /=UlnUR nU/nUR nURnU(aU"5n[R"U5n U Hn [RRXZ5n [R"U 5n U Rn U"U 5(aUR[U 55 MmU"U 5(dM|U"U 5(aMU"U 5 M U(aMgg)z]Find all files under the base and set ``allfiles`` to the absolute pathnames of files found. r)S_ISREGS_ISDIRS_ISLNKN)statrrrrrpopappendr listdirr joinst_moder)rrrrrrootstackr!pushnamesnamefullnamer modes rfindallManifest.findall9s 32#%% yyii||5DJJt$E77<<3wwx(||4==OOHX$67T]]74==N ercURUR5(d*[RR UR U5nUR R[RRU55 g)zb Add a file to the manifest. :param item: The pathname to add. This can be relative to the base. N) startswithrr r r$rraddr)ritems rr1 Manifest.addTsN t{{++77<< 40D rww''-.rc8UHnURU5 M g)zn Add a list of files to the manifest. :param items: The pathnames to add. These can be relative to the base. N)r1)ritemsr2s radd_manyManifest.add_many^s D HHTNrcL^^UU4Sjm[TR5nU(a=[5nUH)nT"U[RR U55 M+ X#-n[ SU55Vs/sH n[RR "U6PM" sn$s snf)z( Return sorted files in directory order c>URU5 [RSU5 UTR:wa2[R R U5up#US;deT"X5 gg)Nzadd_dir added %s)/)r1loggerdebugrr r split)dirsdparent_add_dirrs rrC Manifest.sorted..add_dirlsW HHQK LL+Q /DII~GGMM!, Y...%rc3`# UH$n[RRU5v M& g7fN)r r r>).0r s r "Manifest.sorted..{s >vtrww}}T**vs,.)rrr r dirnamesortedr$)rwantdirsresultr?f path_tuplerCs` @rrKManifest.sortedgs  &TZZ 5Dbggooa01 NF>v>>@>/9 j)>@ @@s7'B!c0[5Ul/Ulg)zClear all collected files.N)rrr)rs rclearManifest.clear}sU  rc<URU5up#pEUS:Xa7UH0nURUSS9(aM[RSU5 M2 gUS:XaUHnUR USS9nM gUS:Xa7UH0nURUSS9(aM[RSU5 M2 gUS :XaUHnUR USS9nM gUS :Xa6UH/nURXdS 9(aM[RS Xd5 M1 gUS :XaUHnUR XdS 9nM gUS:Xa-URSUS 9(d[RSU5 ggUS:Xa-UR SUS 9(d[RSU5 gg[ SU-5e)aF Process a directive which either adds some files from ``allfiles`` to ``files``, or removes some files from ``files``. :param directive: The directive to process. This should be in a format compatible with distutils ``MANIFEST.in`` files: http://docs.python.org/distutils/sourcedist.html#commands includeT)anchorzno files found matching %rexcludeglobal-includeFz3no files found matching %r anywhere in distributionglobal-excluderecursive-include)rz-no files found matching %r under directory %rrecursive-excludegraftNz no directories found matching %rprunez4no previously-included directories found matching %rzinvalid action %r)_parse_directive_include_patternr<warning_exclude_patternr)r directiveactionpatternsthedir dirpatternpatternfounds rprocess_directiveManifest.process_directives04/D/DY/O,& Y #,,WT,BBNN#?I$y #--gd-C$ ' '#,,WU,CCNN$>?FH$ ' '#--ge-D$* *#,,W,DDNN$89@J$ * *#--g-E$w ((j(AA)+Bw ((j(A -.8:B ##f,. .rcJUR5n[U5S:XaUSS;aURSS5 USnS=n=pVUS;a<[U5S:a[SU-5eUSSVs/sHn[ U5PM nnOUS ;aJ[U5S :a[S U-5e[ US5nUSSVs/sHn[ U5PM nnO@US ;a,[U5S:wa[S U-5e[ US5nO[SU-5eX4XV4$s snfs snf)z Validate a directive. :param directive: The directive to validate. :return: A tuple of action, patterns, thedir, dir_patterns rr)rUrWrXrYrZr[r\r]rUN)rUrWrXrYrz$%r expects ...)rZr[z*%r expects ...)r\r]z!%r expects a single zunknown action %r)r>leninsertrr)rrbwordsrcrdre dir_patternwords rr^Manifest._parse_directivesf ! u:?uQx0B B LLI &q*...6 : :5zA~&:VCEE8=QRyAyt T*yHAH A A5zA~&@6IKK"%(+F7Cs"VV17G r)rrrrrF)F)TNF)__name__ __module__ __qualname____firstlineno____doc__rr-r1r6rKrRrir^r_rartr__static_attributes__rrrr%sd #6/@, I.^-5^=A"''R=A"'(?C$)5&nr)rrloggingr rsysr:rcompatrutilr__all__ getLoggerrr<rM_COLLAPSE_PATTERNS_COMMENTED_LINE version_inforobjectrrrrrs    ,   8 $JJz2440**1244"$$;?""2A&dvdr