bg3(dZddlZddlmZddlmZddlmZddlmZm Z m Z m Z ddl m Z ddlmZmZdd lmZd Zefd ed ed efdZedefd ed ed e eeffdZd ed ed e e eeffdZd ed ed e e eeffdZd ed ed e e eeffdZ d"d ed ede e ede edfd e e eeff dZded efdZded efdZdedeed efdZded ed efd!ZdS)#zIContains all logic related to placing an import within a certain section.N)fnmatch) lru_cache)Path) FrozenSetIterableOptionalTuple)sections)DEFAULT_CONFIGConfig)exists_case_sensitive LOCALFOLDERnameconfigreturnc.t||dS)z8Returns the section placement for the given module name.r)module_with_reasonrrs \/builddir/build/BUILD/cloudlinux-venv-1.0.7/venv/lib/python3.11/site-packages/isort/place.pymodulers dF + +A ..i)maxsizect||p8t||p(t||pt||p|jdfS)zPReturns the section placement for the given module name alongside the reasoning.z.Default option in Config or universal default.)_forced_separate_local_known_pattern _src_pathdefault_sectionrs rrrse v&& V $   V $ ' ' V T6 " " V  "$T U rc|jD]K}|}|ds|d}t||st|d|zr |d|dfcSLdS)N*.zMatched forced_separate (z) config value.)forced_separateendswithr)rrr" path_globs rrr s!1cc# '',, .*---I 4 # # cwtS9_'E'E c#%a%a%a%ab b b b c 4rcB|dr tdfSdS)Nr!zModule name started with a dot.) startswithLOCALrs rrr-s' s:899 4rc|dfdttddD}|D]8}|jD].\}}||jvr ||r |d|fccS/9dS)Nr!c3RK|]!}dd|V"dS)r!N)join).0first_kpartss r z!_known_pattern..6s7__7SXXeHWHo66______rrz!Matched configured known pattern )splitrangelenknown_patternsr match)rrmodule_names_to_checkmodule_name_to_checkpattern placementr-s @rrr4s JJsOOE____eCPUJJXY[]F^F^___ 5RR"("7 R R GYFO++ >R0S0S+!#Pw#P#PQQQQQQ R 4r src_pathsprefix.c(||j}|dd^}}||fz}d|}|D]}||z } |s3| s|j|kr|} |r@||jvs|jr0t| |j rt|d|| f|cSt| st| st||rtjd|dfcSdS)Nr!rz*Found in one of the configured src_paths: )r:r0r*resolveis_dirrnamespace_packages auto_identify_namespace_packages_is_namespace_packagesupported_extensionsr _is_module _is_package_src_path_is_moduler FIRSTPARTY) rrr:r;root_module_name nested_module new_prefix namespacesrc_path module_paths rrr?so $ '+zz#q'9'9$}+--J$$Icc"22;;==  -k0022 -x}HX7X7X"**,,K  S 2 2 27 3*+v7RSS 3 ]1-v ~zRR R R R { # # c;'' c#8-=>> c ')aV^)a)a)ab b b b  c 4rpathcttdpHtfdtjjDpttdz S)Nz.pyc3vK|]3}tt|V4dSN)r str with_suffix)r+ ext_suffixrNs rr.z_is_module..esU   "#d&6&6z&B&B"C"C D D      r __init__.py)r rRrSany importlib machineryEXTENSION_SUFFIXESrNs`rrDrDbsc$"2"25"9"9::;; <     '1D      < !TM%9!:!: ; ; rcbtt|o|SrQ)r rRr?rZs rrErEms# T + + = =rsrc_extensionscft|sdS|dz }|s%fd|D}|rdSn`|d5}|d}d|vrd|vrd|vrd |vr ddddSdddn #1swxYwYd S) NFrUcg|];}|jdvs|jdv9|z)_is_namespace_package..ws[   %%c**n<<}""$$(GGG HGGrrbis7__import__('pkg_resources').declare_namespace(__name__)s7__import__("pkg_resources").declare_namespace(__name__)s@__path__ = __import__('pkgutil').extend_path(__path__, __name__)s@__path__ = __import__("pkgutil").extend_path(__path__, __name__)T)rEexistsiterdiropenread)rNr\ init_file filenamesopen_init_file file_starts ` rrBrBqs_ t  u}$I          LLNN    5 ^^D ! ! ^',,T22JJR\\\NV```W!""W!""                        4s&'B&&B*-B*rL module_namecx||jko/|ott|SrQ)rr?r rR)rLrms rrFrFs8x}$c):):c?TUXYaUbUb?c?cr)Nr9) __doc__rWr functoolsrpathlibrtypingrrrr isortr isort.settingsr r isort.utilsr r'rRrrrrrrboolrDrErBrFr9rrrwsOO77777777777711111111------(6///f/#////  43AS&eCQTHo 3  8E#s(O3L    f%S/)Bf%S/1J+/      '  #s(O  eCHo    FTd>d>t>>>>in:$STr