ó
    ¦ôVi¾   ã                   óJ  • % S SK Jr  S SK Jr  S SKJs  Jr  S SKJr  S SKJ	r	  S SKJ
r
  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  \" SSS/SSS9\" SS\R(                  " \R*                  " 5       5      \R,                  " \R.                  " 5       5      \R0                  " \R2                  " 5       5      SS9\" SS\R(                  " \R4                  " 5       5      \R,                  " \R.                  " 5       5      \R0                  " \R2                  " 5       5      SS9\" SS\R(                  " \R6                  " 5       5      \R,                  " \R.                  " 5       5      \R0                  " \R2                  " 5       5      SS9\" SS\R(                  " \R8                  " 5       5      \R,                  " \R.                  " 5       5      \R0                  " \R2                  " 5       5      SS9\" SS\R(                  " \R:                  " 5       5      \R,                  " \R.                  " 5       5      \R0                  " \R2                  " 5       5      SS9\" SS\R(                  " \R<                  " 5       5      \R,                  " \R>                  " 5       5      \R0                  " \R@                  " 5       5      SS9\" SS\R(                  " \RB                  " 5       5      \R,                  " \RD                  " 5       5      \R0                  " \RF                  " 5       5      SS9\" SS\R(                  " \RH                  " 5       5      \R,                  " \RJ                  " 5       5      \R0                  " \RL                  " 5       5      SS9\" SS \R(                  " \RN                  " 5       5      \R,                  " \RP                  " 5       5      \R0                  " \RR                  " 5       5      SS9\	" \R,                  " \RP                  " 5       5      S \R0                  " \RR                  " 5       5      S!9\" 5       \" S"S#\R(                  " \RT                  " 5       5      \R,                  " \RV                  " 5       5      \R0                  " \RX                  " 5       5      SS9\
" S$S%\R(                  " \RZ                  " 5       5      \R,                  " \R\                  " 5       5      \R0                  " \R^                  " 5       5      S&S'9\" S(S)\R(                  " \R`                  " 5       5      \R,                  " \Rb                  " 5       5      \R0                  " \Rd                  " 5       5      SS9\" S*S+\R(                  " \Rf                  " 5       5      \R,                  " \Rh                  " 5       5      \R0                  " \Rj                  " 5       5      SS9\" S,S-\R(                  " \Rl                  " 5       5      \R,                  " \Rn                  " 5       5      \R0                  " \Rp                  " 5       5      SS9\" S.S/\R(                  " \Rr                  " 5       5      \R,                  " \Rt                  " 5       5      \R0                  " \Rv                  " 5       5      SS9\" S0S1\R(                  " \Rx                  " 5       5      \R,                  " \Rz                  " 5       5      \R0                  " \Rv                  " 5       5      SS9\" S2S1\R(                  " \R|                  " 5       5      \R,                  " \Rz                  " 5       5      \R0                  " \Rv                  " 5       5      SS9\	" \R,                  " \R~                  " 5       5      S3\R0                  " \Rv                  " 5       5      S!9\	" \R,                  " \R€                  " 5       5      S4\R0                  " \RR                  " 5       5      S!9/rA\\   \BS5'   S6\\   S7\\   4S8 jrC\S9\S7\D4S: j5       rEg);é    )Ú	FrozenSet)ÚListN)ÚExactLockfileManifestMatcher)ÚExactManifestOnlyMatcher)Ú$PatternManifestStaticLockfileMatcher)ÚSubprojectMatcher)ÚGradleMatcher)ÚPipRequirementsMatcher)Úsimple_profiling)ÚTargetz*requirement*ÚtxtÚpipÚinÚrequirements)Úbase_file_patternÚrequirements_file_extensionsÚmanifest_file_extensionÚdefault_manifest_file_basezbun.lockzpackage.jsonF)Úlockfile_nameÚmanifest_nameÚlockfile_kindÚmanifest_kindÚ	ecosystemÚmake_manifest_only_subprojectsz	bun.lockbzpackage-lock.jsonz	yarn.lockzpnpm-lock.yamlzGemfile.lockÚGemfilezgo.modz
Cargo.lockz
Cargo.tomlzmaven_dep_tree.txtzpom.xml)r   r   r   zcomposer.lockzcomposer.jsonzpackages.lock.jsonz*.csprojT)r   Úmanifest_patternr   r   r   r   zpubspec.lockzpubspec.yamlzPackage.resolvedzPackage.swiftzmix.lockzmix.exszPipfile.lockÚPipfilezpoetry.lockzpyproject.tomlzuv.lockzsetup.pyz	build.sbtÚMATCHERSÚ
candidatesÚreturnc                 ó&   • [        S U  5       5      $ )zE
Returns the paths in `candidates` that are dependency source files.
c              3   óJ   #   • U  H  n[        U5      (       d  M  Uv •  M     g 7f©N)Ú_is_dependency_source_file)Ú.0Úpaths     Úm/home/james-whalen/.local/share/pipx/venvs/semgrep/lib/python3.13/site-packages/semdep/subproject_matchers.pyÚ	<genexpr>Ú1filter_dependency_source_files.<locals>.<genexpr>Ô   s   é € ÐU¢j˜dÔ4NÈt×4T—T‘T¢jùs   ‚#š	#)Ú	frozenset)r   s    r'   Úfilter_dependency_source_filesr+   Ð   s   € ô ÑU¡jÓUÓUÐUó    r&   c                 ó6   ^ • [        U 4S j[         5       5      $ )zS
Check if a path is a valid dependency source file (lockfile, manifest, SBOM, etc)
c              3   óX   >#   • U  H  oR                  TR                  5      v •  M!     g 7fr#   )Úis_matchÚfpath)r%   Úmatcherr&   s     €r'   r(   Ú-_is_dependency_source_file.<locals>.<genexpr>Ü   s!   øé € ÐDº8°×Ñ §
¡
×+Ð+º8ùs   ƒ'*)Úanyr   )r&   s   `r'   r$   r$   ×   s   ø€ ô
 ÔD½8ÓDÓDÐDr,   )FÚtypingr   r   Ú,semgrep.semgrep_interfaces.semgrep_output_v1Úsemgrep_interfacesÚsemgrep_output_v1ÚoutÚsemdep.matchers.baser   r   r   r   Úsemdep.matchers.gradler	   Ú semdep.matchers.pip_requirementsr
   Úsemgrep.simple_profilingr   Úsemgrep.typesr   ÚLockfileKindÚBunLockÚManifestKindÚPackageJsonÚ	EcosystemÚNpmÚBunBinaryLockÚNpmPackageLockJsonÚYarnLockÚPnpmLockÚGemfileLockr   ÚGemÚ	GoModLockÚGoModManifestÚGomodÚ	CargoLockÚ	CargoTomlÚCargoÚMavenDepTreeÚPomXmlÚMavenÚComposerLockÚComposerJsonÚComposerÚNugetPackagesLockJsonÚCsprojÚNugetÚPubspecLockÚPubspecYamlÚPubÚSwiftPackageResolvedÚPackageSwiftÚSwiftPMÚMixLockÚMixExsÚHexÚPipfileLockr   ÚPypiÚ
PoetryLockÚPyprojectTomlÚUvLockÚSetupPyÚBuildSbtr   Ú__annotations__r+   Úboolr$   © r,   r'   Ú<module>rl      s‰  ðö Ý ç :Ð :Ý =Ý 9Ý EÝ 2Ý 0Ý CÝ 5Ý  ñ Ø)Ø&+¨U ^Ø $Ø#1ñ	ñ !Ø Ø$Ø×&Ò& s§{¢{£}Ó5Ø×&Ò& s§¢Ó'8Ó9Ø—-’- §¢£	Ó*Ø',ññ !Ø!Ø$Ø×&Ò& s×'8Ò'8Ó':Ó;Ø×&Ò& s§¢Ó'8Ó9Ø—-’- §¢£	Ó*Ø',ññ !Ø)Ø$Ø×&Ò& s×'=Ò'=Ó'?Ó@Ø×&Ò& s§¢Ó'8Ó9Ø—-’- §¢£	Ó*Ø',ññ !Ø!Ø$Ø×&Ò& s§|¢|£~Ó6Ø×&Ò& s§¢Ó'8Ó9Ø—-’- §¢£	Ó*Ø',ññ !Ø&Ø$Ø×&Ò& s§|¢|£~Ó6Ø×&Ò& s§¢Ó'8Ó9Ø—-’- §¢£	Ó*Ø',ññ !Ø$ØØ×&Ò& s§¢Ó'8Ó9Ø×&Ò& s§{¢{£}Ó5Ø—-’- §¢£	Ó*Ø',ññ !ØØØ×&Ò& s§}¢}£Ó7Ø×&Ò& s×'8Ò'8Ó':Ó;Ø—-’- §	¢	£Ó,Ø',ññ !Ø"Ø"Ø×&Ò& s§}¢}£Ó7Ø×&Ò& s§}¢}£Ó7Ø—-’- §	¢	£Ó,Ø',ññ !Ø*ØØ×&Ò& s×'7Ò'7Ó'9Ó:Ø×&Ò& s§z¢z£|Ó4Ø—-’- §	¢	£Ó,Ø',ññ Ø×&Ò& s§z¢z£|Ó4ØØ—-’- §	¢	£Ó,ññ
 ƒOá Ø%Ø%Ø×&Ò& s×'7Ò'7Ó'9Ó:Ø×&Ò& s×'7Ò'7Ó'9Ó:Ø—-’- §¢£Ó/Ø',ññ )Ø*Ø#Ø×&Ò& s×'@Ò'@Ó'BÓCØ×&Ò& s§z¢z£|Ó4Ø—-’- §	¢	£Ó,Ø'+ññ !Ø$Ø$Ø×&Ò& s§¢Ó'8Ó9Ø×&Ò& s§¢Ó'8Ó9Ø—-’- §¢£	Ó*Ø',ññ !Ø(Ø%Ø×&Ò& s×'?Ò'?Ó'AÓBØ×&Ò& s×'7Ò'7Ó'9Ó:Ø—-’- §¢£Ó.Ø',ññ !Ø ØØ×&Ò& s§{¢{£}Ó5Ø×&Ò& s§z¢z£|Ó4Ø—-’- §¢£	Ó*Ø',ññ !Ø$ØØ×&Ò& s§¢Ó'8Ó9Ø×&Ò& s§{¢{£}Ó5Ø—-’- §¢£
Ó+Ø',ññ !Ø#Ø&Ø×&Ò& s§~¢~Ó'7Ó8Ø×&Ò& s×'8Ò'8Ó':Ó;Ø—-’- §¢£
Ó+Ø',ññ !ØØ&Ø×&Ò& s§z¢z£|Ó4Ø×&Ò& s×'8Ò'8Ó':Ó;Ø—-’- §¢£
Ó+Ø',ññ Ø×&Ò& s§{¢{£}Ó5Ø Ø—-’- §¢£
Ó+ññ Ø×&Ò& s§|¢|£~Ó6Ø!Ø—-’- §	¢	£Ó,ñðUo%€ˆ$Ð Ñ
!ó oðdV¨y¸Ñ/@ð VÀYÈvÑEVô Vð ðE Vð E°ó Eó ñEr,   