Jz`f$SrSSKrSSKrSSKrSSKr/SQrSr\R"SSS9S5rS r S r S r S r S r g)aFilename matching with shell patterns. fnmatch(FILENAME, PATTERN) matches according to the local convention. fnmatchcase(FILENAME, PATTERN) always takes case in account. The functions operate by translating the pattern into a regular expression. They cache the compiled regular expressions for speed. The function translate(PATTERN) returns a regular expression corresponding to PATTERN. (It does not compile it.) N)filterfnmatch fnmatchcase translatec[RRU5n[RRU5n[X5$)aTest whether FILENAME matches PATTERN. Patterns are Unix shell style: * matches everything ? matches any single character [seq] matches any character in seq [!seq] matches any char not in seq An initial period in FILENAME is not special. Both FILENAME and PATTERN are first case-normalized if the operating system requires it. If you don't want this, use fnmatchcase(FILENAME, PATTERN). )ospathnormcaser)namepats /usr/lib64/python3.13/fnmatch.pyrrs7 77  D !D ''  3 C t !!iT)maxsizetypedc[U[5(a$[US5n[U5n[US5nO [U5n[R "U5R $)Nz ISO-8859-1) isinstancebytesstrrrecompilematch)r pat_strres_strress r _compile_patternr&sN#uc<(G$G\*n ::c?  rcn/n[RRU5n[U5n[R[La+UH#nU"U5(dMUR U5 M% U$UH@nU"[RRU55(dM/UR U5 MB U$)zJConstruct a list from those elements of the iterable NAMES that match PAT.)rr r r posixpathappend)namesr resultrr s r rr0s F ''  3 C S !E ww) $DT{{ d# $ M $DRWW%%d+,, d# $ Mrc,[U5nU"U5SL$)zTest whether FILENAME matches PATTERN, including case. This is a version of fnmatch() which doesn't case-normalize its arguments. N)r)r r rs r rr@s S !E ;d ""rcD[5n[XS5n[X!5$)z^Translate a shell PATTERN to a regular expression. There is no way to quote meta-characters. .)object _translate_join_translated_parts)r STARpartss r rrJs" 8D s# &E !% ..rc~/nURnS[U5peXV:GaXnUS-nUS:XaU(aUSULaU"U5 GOUS:Xa U"U5 GOUS:XGaUnX:a XS:XaUS-nX:a XS:XaUS-nX:aXS:waUS-nX:a XS:waMX:a U"S 5 GOXUn S U ;aU RS S 5n O/n XS:XaUS -OUS-n URS X5n U S:aOU RXU 5 U S-nU S-n M8XUn U (aU RU 5 O U S==S - ss'[ [U 5S- SS5H1n XS- SXS:dMXS- SSXSS-XS- 'X M3 S R SU 55n [ R"SSU 5n US-nU (d U"S5 OXU S:Xa U"S5 OIU SS:Xa SU SS-n OU SS;aS U -n U"SU S35 OU"[ R"U55 XV:aGMU$)Nr*?[!]z\[-\\\c3d# UH'nURSS5RSS5v M) g7f)r2r3r1z\-N)replace).0ss r _translate..s2%6)*&'YYtU%;%C%CC%O%O%6s.0z([&~|])z\\\1z(?!)r#^)r<r.) rlenr7findrangejoinrsubescape) r r' QUESTION_MARKraddincjstuffchunkskchunks r r%r%Us C **C c#hq % F aC 8CG4/D #X   #XAu3aCu3aC%CFcMaC%CFcMvE ae#!MM$6EF"v}!!A#AHHS!/q5! cAh/aCaC  !HE e,r c) "3v;q=!R8*!A#;r?VYq\9*01+cr*:VYqr]*JFQ3K & *  HH%6.4%66Ez7E:aCKc\HQx3 #eABiqZ/ $u !E7! %  !  %B Jrc/nURnS[U5pTXE:a$XULaU"X5 US- nXE:a XULaMXE:aUS- nXE:Xa U"S5 On/nXE:a-XULa&URX5 US- nXE:a XULaM&SRU5nXE:XaU"S5 U"U5 O U"SUS35 XE:aMSRU5nSUS3$) Nrr*z.*z(?>.*?)z(?s:z)\Z)rr=r@)inpr'rrDrErFfixeds r r&r&s C **C c#hq %CF$& CF  Q %CF$& % Q 6 I ed* LL FAed* 6 I J &q! "! %$ ''#,C3%s r)__doc__rrr functools__all__r lru_cacherrrrr%r&rr rWs^    ;"& U$/!0! #/EP#r