+
    )iA                         R t ^ RIt^ RItRR.t]P
                  ! RR7      RR l4       t]P
                  R	R l4       tR# )
zT
Provides functions for finding and testing for locally `(k, l)`-connected
graphs.

Nkl_connected_subgraphis_kl_connectedT)returns_graphc                   \         P                  ! V 4      pRpRpV'       Ed:   Rp\        VP                  4       4       EF  pVw  rV'       dd   W0p\	        V4       F1  pVP                  4        F  pVP                  W,          4       K  	  K3  	  V P                  V4      P                  4       pM\         P                  ! V 4      pW.p^ p^ pV'       dV   V^,          pVV8  d   ^pMBT	pV F   pVV8w  g   K  VP                  VV4       TpK"  	   \        P                  ! WV
4      pK]  V^ 8X  g   K  VP                  W4       RpV'       g   EK  RpEK  	  EKB  V'       d   WV3# V#   \        P                   d    Rp K  i ; i)a  Returns the maximum locally `(k, l)`-connected subgraph of `G`.

A graph is locally `(k, l)`-connected if for each edge `(u, v)` in the
graph there are at least `l` edge-disjoint paths of length at most `k`
joining `u` to `v`.

Parameters
----------
G : NetworkX graph
    The graph in which to find a maximum locally `(k, l)`-connected
    subgraph.

k : integer
    The maximum length of paths to consider. A higher number means a looser
    connectivity requirement.

l : integer
    The number of edge-disjoint paths. A higher number means a stricter
    connectivity requirement.

low_memory : bool
    If this is True, this function uses an algorithm that uses slightly
    more time but less memory.

same_as_graph : bool
    If True then return a tuple of the form `(H, is_same)`,
    where `H` is the maximum locally `(k, l)`-connected subgraph and
    `is_same` is a Boolean representing whether `G` is locally `(k,
    l)`-connected (and hence, whether `H` is simply a copy of the input
    graph `G`).

Returns
-------
NetworkX graph or two-tuple
    If `same_as_graph` is True, then this function returns a
    two-tuple as described above. Otherwise, it returns only the maximum
    locally `(k, l)`-connected subgraph.

See also
--------
is_kl_connected

References
----------
.. [1] Chung, Fan and Linyuan Lu. "The Small World Phenomenon in Hybrid
       Power Law Graphs." *Complex Networks*. Springer Berlin Heidelberg,
       2004. 89--104.

TF)copydeepcopylistedgesrangeupdatesubgraphremove_edgenxshortest_pathNetworkXNoPath)Gkl
low_memorysame_as_graphHgraphOKdeleted_someedgeuvvertsiwG2pathcntacceptprevs   &&&&&              X/var/www/html/photoedit/myenv/lib/python3.14/site-packages/networkx/algorithms/hybrid.pyr   r      sa   f 	aAGL
,
 ODFQqA"ZZ\QT* * " ZZ&++-]]1%6DCFq!8FAqytQ/  
!++B15D {a##7#GI $N |H (( ! D!s   E**FFc           
     b   RpV P                  4        F  pVw  rgV'       dd   Wg0p\        V4       F?  p	VP                  4        U
u. uF"  qP                  V P	                  V
4      4      NK$  	   p
KA  	  V P                  V4      pM\        P                  ! V 4      pWg.p^ p^ pV'       dS   V^,          pW8  d   ^pM@TpV F  p
W8w  g   K  VP                  W4       T
pK   	   \        P                  ! WV4      pKZ  V^ 8X  g   K  Rp V# 	  V# u up
i   \        P                   d    Rp K  i ; i)a  Returns True if and only if `G` is locally `(k, l)`-connected.

A graph is locally `(k, l)`-connected if for each edge `(u, v)` in the
graph there are at least `l` edge-disjoint paths of length at most `k`
joining `u` to `v`.

Parameters
----------
G : NetworkX graph
    The graph to test for local `(k, l)`-connectedness.

k : integer
    The maximum length of paths to consider. A higher number means a looser
    connectivity requirement.

l : integer
    The number of edge-disjoint paths. A higher number means a stricter
    connectivity requirement.

low_memory : bool
    If this is True, this function uses an algorithm that uses slightly
    more time but less memory.

Returns
-------
bool
    Whether the graph is locally `(k, l)`-connected subgraph.

See also
--------
kl_connected_subgraph

References
----------
.. [1] Chung, Fan and Linyuan Lu. "The Small World Phenomenon in Hybrid
       Power Law Graphs." *Complex Networks*. Springer Berlin Heidelberg,
       2004. 89--104.

TF)r	   r
   r   r   	neighborsr   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   s   &&&&            r$   r   r   w   s#   R G	FE1X7<zz|D|!akk!n-|D E"Bq!Bv1HCxD9NN4+D 
''q1 Q;GNG F N; E, $$ s   (D#DD.-D.)FF)F)__doc__r   networkxr   __all___dispatchabler   r        r$   <module>r-      s[     "$5
6 %e &eP L Lr,   