ec(SSKJr SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSK r SSK J r SSK J r SSKJr Sr"SS \ R"5r"S S \ R"5r"S S \ R(5r"SS\ R"5rSrg)) annotationsN)Iterator)abc)onlycR[[RRU55$N)iter collections OrderedDictfromkeys)itemss A/opt/imh/python3.13/lib/python3.13/importlib/resources/readers.pyremove_duplicatesrs  ''007 88c&\rSrSrSrSrSrSrg) FileReadercb[R"UR5RUlgr )pathlibPathpathparent)selfloaders r__init__FileReader.__init__sLL-44 rcJ[URRU55$z[ Return the file system path to prevent `resources.path()` from creating a temporary copy. strrjoinpathrresources r resource_pathFileReader.resource_path 499%%h/00rcUR$r rrs rfilesFileReader.files" yyrr)N)__name__ __module__ __qualname____firstlineno__rr%r+__static_attributes__rrrrs51rrc:^\rSrSrSrU4SjrSrSrSrU=r $) ZipReader&cURRSS5UlURU5(a,URS5u p4U=RUS-- slURUlg)N\/.)prefixreplace is_package rpartitionarchive)rrmodule_names rrZipReader.__init__'s\mm++D#6   V $ $**3/JAq KK4#: %K~~ rcx>[TU]U5$![an[URS5eSnAff=fNr)super open_resourceKeyErrorFileNotFoundErrorargs)rr$exc __class__s rrGZipReader.open_resource.s; 17(2 2 1#CHHQK0 0 1s 949cUR5RU5nUR5=(a UR5$)zN Workaround for `zipfile.Path.is_file` returning true for non-existent paths. )r+r"is_fileexists)rrtargets r is_resourceZipReader.is_resource4s2 &&t,~~3FMMO3rcX[R"URUR5$r )zipfilerr?r;r*s rr+ZipReader.files<s||DLL$++66r)r?r;) r.r/r0r1rrGrRr+r2 __classcell__rLs@rr5r5&s&1 477rr5c|^\rSrSrSrSrSrSrSrSr Sr U4S jr \ S 5r S r\S 5rS rSrU=r$)MultiplexedPath@z Given a series of Traversable objects, implement a merged version of the interface across all objects. Useful for namespace packages which may be multihomed at a single name. c[[[[U555UlUR(d Sn[ U5e[ SUR55(d [S5eg)Nz.MultiplexedPath must contain at least one pathc3@# UHoR5v M g7fr is_dir.0rs r +MultiplexedPath.__init__..Ms9[T;;==[sz)MultiplexedPath only supports directories)listmap_ensure_traversabler_pathsrIallNotADirectoryError)rpathsmessages rrMultiplexedPath.__init__HsY324Ee4LMN {{FG#G, ,9T[[999$%PQ Q:rcSUR5n[R"S5n[R"[ XS9US9n[ URSU55$)Nc3R# UHoR5Ho"v M M g7fr )iterdir)rarchilds rrb*MultiplexedPath.iterdir..QsNkd||~eE~Eks%'rB)keyc3*# UH upUv M g7fr r3)rarBlocss rrbrqTs!@:4$s)rgoperator attrgetter itertoolsgroupbysortedre_follow)rchildrenby_namegroupss rroMultiplexedPath.iterdirPsNNdkkN%%f-""6(#@gN4<[TU]"U6$![Ra URSR"U6s$f=frE)rFr"rTraversalErrorrg)r descendantsrLs rr"MultiplexedPath.joinpathbsH 97#[1 1!! 9;;q>**K8 8 9s 0AAc[R"US5up#n[U5$![a& U"U6s$![a [ U5ss$f=ff=f)z Construct a MultiplexedPath if needed. If children contains a sole element, return it. Otherwise, return a MultiplexedPath of the items. Unless one of the items is not a Directory, then return the first. )rwteer ValueErrorrinext)clsr{subdirsone_dirone_files rrzMultiplexedPath._followjs_&/]]8Q%?"( &=  & &G}$% &H~% & &s) ' A9AAAAAc[US35errrs ropenMultiplexedPath.open}rrc4URSR$rE)rgrBr*s rrBMultiplexedPath.names{{1~"""rcRSRSUR55nSUS3$)Nz, c3.# UH nSUS3v M g7f)'Nr3r`s rrb+MultiplexedPath.__repr__..s>+$AdV1++szMultiplexedPath())joinrg)rrjs r__repr__MultiplexedPath.__repr__s) >$++>>!%**r)rg)r.r/r0r1__doc__rrorrr_rOr" classmethodrzrpropertyrBrr2rWrXs@rrZrZ@sdRB 999&&$9##++rrZcb\rSrSrSr\S Sj5r\S Sj5r\S Sj5r Sr Sr Sr g ) NamespaceReaderc S[U5;a [S5e[[[[ UR U556Ulg)N NamespacePathz Invalid path)r!rrZfilterboolre_resolver)rnamespace_paths rrNamespaceReader.__init__s8 #n"5 5^, ,#VD#dmm^2T%UV rcJSURU55n[US5$)a Given an item from a namespace path, resolve it to a Traversable. path_str might be a directory on the filesystem or a path to a zipfile plus the path within the zipfile, e.g. ``/foo/bar`` or ``/foo/baz.zip/inner_dir`` or ``foo\baz.zip\inner_dir\sub``. path_str might also be a sentinel used by editable packages to trigger other behaviors (see python/importlib_resources#311). In that case, return None. c3R# UHoR5(dMUv M g7fr r^)racands rrb+NamespaceReader._resolve..sQ!?;;=!?s' 'N)_candidate_pathsr)rpath_strdirss rrNamespaceReader._resolves'R!5!5h!?QD$rc#r# [R"U5v URU5ShvN gN7fr )rr_resolve_zip_path)rrs rr NamespaceReader._candidate_pathss(ll8$$((222s -757c## [[[R"SU555Hn[R "[ [[[5 XR5SRSS5S-n[R"USUR5URS55v SSS5 M g!,(df  M=f7f)Nz[\\/]r8r9)reversedrdrefinditer contextlibsuppressrIIsADirectoryErrorriPermissionErrorendr<rUrstartlstrip)rmatchinners rr!NamespaceReader._resolve_zip_pathsd2;;x#BCDE$$!!"  !/77cBSHll8Oekkm#OPPEsACAC7 C C CcJ[URRU55$rr r#s rr%NamespaceReader.resource_pathr'rcUR$r r)r*s rr+NamespaceReader.filesr-rr)N)returnzabc.Traversable | None)rr!rzIterator[abc.Traversable])rr!) r.r/r0r1rrrr staticmethodrr%r+r2r3rrrrsPW     33 Q Q1rrc[U[5(dU$[R"S[SS9 [ R "U5$)z_ Convert deprecated string arguments to traversables (pathlib.Path). Remove with Python 3.15. zrs}" $9 ))  7((74F+cooF+R0c..0fr