
    ^j                     2    d dl mZ d dlmZ  G d de      Zy)   )SymlinkNodeMixin)_reprc                       e Zd ZdZddZd Zy)SymlinkNodeuZ  
    Tree node which references to another tree node.

    Args:
        target: Symbolic Link Target. Another tree node, which is referred to.

    Keyword Args:
        parent: Reference to parent node.
        children: Iterable with child nodes.
        *: Any other given attribute is just stored as attribute **in** `target`.

    The :any:`SymlinkNode` has its own parent and its own child nodes.
    All other attribute accesses are just forwarded to the target node.

    >>> from anytree import SymlinkNode, Node, RenderTree
    >>> root = Node("root")
    >>> s1 = Node("sub1", parent=root, bar=17)
    >>> l = SymlinkNode(s1, parent=root, baz=18)
    >>> l0 = Node("l0", parent=l)
    >>> print(RenderTree(root))
    Node('/root')
    ├── Node('/root/sub1', bar=17, baz=18)
    └── SymlinkNode(Node('/root/sub1', bar=17, baz=18))
        └── Node('/root/sub1/l0')

    Any modifications on the target node are also available on the linked node and vice-versa:

    >>> s1.foo = 4
    >>> s1.foo
    4
    >>> l.foo
    4
    >>> l.foo = 9
    >>> s1.foo
    9
    >>> l.foo
    9
    Nc                 ~    || _         | j                   j                  j                  |       || _        |r|| _        y y )N)target__dict__updateparentchildren)selfr   r   r   kwargss        Q/opt/ringagent/.cad-venv/lib/python3.12/site-packages/anytree/node/symlinknode.py__init__zSymlinkNode.__init__-   s7    ##F+$DM     c                 F    t        | t        | j                        gd      S )N)r   )nameblacklist)r   reprr   )r   s    r   __repr__zSymlinkNode.__repr__4   s    TD-.kJJr   )NN)__name__
__module____qualname____doc__r   r    r   r   r   r      s    %N%Kr   r   N)symlinknodemixinr   utilr   r   r   r   r   <module>r      s    . 0K" 0Kr   