+
        ¤  ã                   óÈ   a € R t0 t ^ RIHt ^ RIt^ RIt^RIHtHtHt ]P                  ]P                  ,          tRt] ^ k  ! R R]P                  ]P                  4      tR# )é    )ÚIterableN)ÚmixinsÚ	policyrepÚqueryÚNodeconQueryc                   óæ   a € ] tR t^t o RtRtRtRt]V 3R lR l4       t	]	P                  V 3R lR l4       t	]V 3R lR	 l4       t]P                  V 3R
 lR l4       tV 3R lR ltV 3R ltRtV tR# )r   aÑ  
Query nodecon statements.

Parameter:
policy          The policy to query.

Keyword Parameters/Class attributes:
network         The IPv4/IPv6 address or IPv4/IPv6 network address
                with netmask, e.g. 192.168.1.0/255.255.255.0 or
                "192.168.1.0/24".
network_overlap If true, the net will match if it overlaps with
                the nodecon's network instead of equality.
ip_version      The IP version of the nodecon to match. (socket.AF_INET
                for IPv4 or socket.AF_INET6 for IPv6)
user            The criteria to match the context's user.
user_regex      If true, regular expression matching
                will be used on the user.
role            The criteria to match the context's role.
role_regex      If true, regular expression matching
                will be used on the role.
type_           The criteria to match the context's type.
type_regex      If true, regular expression matching
                will be used on the type.
range_          The criteria to match the context's range.
range_subset    If true, the criteria will match if it is a subset
                of the context's range.
range_overlap   If true, the criteria will match if it overlaps
                any of the context's range.
range_superset  If true, the criteria will match if it is a superset
                of the context's range.
range_proper    If true, use proper superset/subset operations.
                No effect if not using set operations.
NFc                óB   <€ V ^8„  d   QhRS[ P                  R,          /# ©é   ÚreturnN)r   ÚNodeconIPVersion)ÚformatÚ__classdict__s   "€Ú;/usr/lib64/python3.14/site-packages/setools/nodeconquery.pyÚ__annotate__ÚNodeconQuery.__annotate__:   s   ø€ ÷  ñ  ™I×6Ñ6¸Õ=ñ  ó    c                ó   € V P                   # ©N)Ú_ip_version©Úselfs   &r   Ú
ip_versionÚNodeconQuery.ip_version9   s   € à×ÑÐr   c                óV   <€ V ^8„  d   QhRS[ P                  S[,          R,          RR/# ©r   ÚvalueNr   )r   r   Ústr)r   r   s   "€r   r   r   >   s+   ø€ ÷ $ñ $¡	× :Ñ :¹SÕ @À4Õ Gð $ÈDñ $r   c                óp   € V'       d'   \         P                  P                  V4      V n        R # R V n        R # r   )r   r   Úlookupr   ©r   r   s   &&r   r   r   =   s&   € çÜ(×9Ñ9×@Ñ@ÀÓGˆDÖà#ˆDÖr   c                ó.   <€ V ^8„  d   QhRS[ R,          /# r
   )ÚAnyIPNetwork)r   r   s   "€r   r   r   E   s   ø€ ÷ ñ ™¨Õ,ñ r   c                ó   € V P                   # r   )Ú_networkr   s   &r   ÚnetworkÚNodeconQuery.networkD   s   € à}‰}Ðr   c                óB   <€ V ^8„  d   QhRS[ S[,          R,          RR/# r   )r#   r   )r   r   s   "€r   r   r   I   s%   ø€ ÷ !ñ !™\©CÕ/°$Õ6ð !¸4ñ !r   c                ó^   € V'       d   \         P                  ! V4      V n        R # R V n        R # r   )Ú	ipaddressÚ
ip_networkr%   r!   s   &&r   r&   r'   H   s   € çÜ%×0Ò0°Ó7ˆDŽMà ˆDŽMr   c                óD   <€ V ^8„  d   QhRS[ S[P                  ,          /# )r   r   )r   r   ÚNodecon)r   r   s   "€r   r   r   O   s   ø€ ÷ ñ ™¡)×"3Ñ"3Õ4ñ r   c              #  ó   "  € V P                   P                  RV P                   24       V P                   P                  RV P                  : RV P
                  : 24       V P                   P                  RV P                  : 24       V P                  V P                   4       V P                  P                  4        FÈ  pV P                  '       d^   V P
                  '       d/   V P                  P                  VP                  4      '       g   KT  MVP                  V P                  8X  g   Kr  V P                  '       d   V P                  VP                  8w  d   K¡  V P                  VP                  4      '       g   KÄ  Vx € KÊ  	  R# 5i)z-Generator which yields all matching nodecons.z Generating nodecon results from zself.network=z, self.network_overlap=zself.ip_version=N)ÚlogÚinfoÚpolicyÚdebugr&   Únetwork_overlapr   Ú_match_context_debugÚnodeconsÚoverlapsÚ_match_contextÚcontext)r   Únodecons   & r   ÚresultsÚNodeconQuery.resultsO   s  é € à‰‰Ð8¸¿¹¸ÐFÔGØ‰‰˜-˜$Ÿ,™,™Ð(@¨4×+?Ñ+?Ñ*AÐBÔCØ‰‰Ð*˜$Ÿ/™/Ñ+Ð,Ô-Ø×!Ñ! $§(¡(Ô+à—{‘{×+Ñ+Ö-ˆGà||ˆ|Ø×'×'Ð'ØŸ<™<×0Ñ0°·±×AÒAÙ ð Bð #Ÿ?™?¨d¯l©lÔ:Ù àˆ 4§?¡?°g×6HÑ6HÔ#HÙà×&Ñ& w§¡×7Ò7ÙàŒMó! .ùs   ‚C$FÃ'*FÄ1FÅ=FÆFc                ón   <€ V ^8„  d   Qh/ S[ R,          ;R&   S[;R&   S[P                  R,          ;R&   # )r   Nr%   r3   r   )r#   Úboolr   r   )r   r   s   "€r   r   r      sB   ø‡ ‚ ñH ˜TÕ!Ñ(ñI ñJ Ñ!ñK ñL ×+Ñ+¨dÕ2Ñ9òM r   )r   r%   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r%   r3   r   Úpropertyr   Úsetterr&   r:   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r      s†   ø‡ € ñ ðD %)€HØ!€OØ59€Kà÷ ó ð ð ×Ñ÷$ó ð$ð ÷ó ðð ‡^^÷!ó ð!÷ð ÷} ƒ r   c                ó„   € V ^8„  d   Qh/ ^ \         9   d,   \        P                  \        \        R3,          ,          ;R&   # )r   .Ú__all__)Ú__conditional_annotations__ÚtypingÚFinalÚtupler   )r   s   "r   r   r      s,   € × $Ñ $÷ JÒ IŒ‰”eœC ˜H•oÕ	&Ñ Iò %r   )r#   r   )rJ   Úcollections.abcr   r*   rK   Ú r   r   r   ÚIPv4NetworkÚIPv6Networkr#   rI   ÚMatchContextÚPolicyQueryr   r   )rJ   s   @r   Ú<module>rT      sT   øð÷ %Ò $Û Û ç &Ñ &à×$Ñ$ y×'<Ñ'<Õ<€à)I€Ó IôU6×&Ñ&¨×(9Ñ(9ö Ur   