File: //usr/local/lib/python3.10/dist-packages/pip/_vendor/rich/__pycache__/tree.cpython-310.pyc
o
��h�$ � @ s& d dl mZmZmZmZ ddlmZmZ ddlm Z m
Z
mZmZ ddl
mZ ddlmZ ddlmZ ddlmZmZmZ dd lmZ eeeeef ZG d
d� de�Zedk�rd d
lmZ d dlm Z d dl!m"Z" d dl#m$Z$ d dl%m&Z& e&ddgd�Z'e'j(dddd� e'j(ddd� e'j(dddd� e'�)d d!d"� e'�)d#d$d%� e'�)d&d'd(� e'�)d)d*d+� d,Z*e$e*d-d.dd/�Z+e d0�Z,ed1ddd2�Z-e-j.d3d4d5�Z/e/j.d6d7d5�Z0e0�.ed8e+�� e0�.ed9e"e,dd:��� e/j.d;d<d5�Z1de1_2e"j3d=d4d:�Z4e1�.ed>e4�� e1�.ed?e'�� e � Ze�5e-� d@S d@S )A� )�Iterator�List�Optional�Tuple� )�
loop_first� loop_last)�Console�ConsoleOptions�RenderableType�RenderResult)�JupyterMixin)�Measurement)�Segment)�Style�
StyleStack� StyleType)�Styledc @ s� e Zd ZdZdZg d�Zdddddd�d ed
ededed
ededdfdd�Z ddddd�d ed
e
e de
e ded
e
e dd fdd�Z d dd�Z d!dd�Z
dS )"�Treea� A renderable for a tree structure.
Attributes:
ASCII_GUIDES (GuideType): Guide lines used when Console.ascii_only is True.
TREE_GUIDES (List[GuideType, GuideType, GuideType]): Default guide lines.
Args:
label (RenderableType): The renderable or str for the tree label.
style (StyleType, optional): Style of this tree. Defaults to "tree".
guide_style (StyleType, optional): Style of the guide lines. Defaults to "tree.line".
expanded (bool, optional): Also display children. Defaults to True.
highlight (bool, optional): Highlight renderable (if str). Defaults to False.
hide_root (bool, optional): Hide the root node. Defaults to False.
)� z| z+-- z`-- ))r u │ u
├── u
└── )r u ┃ u
┣━━ u
┗━━ )r u ║ u
╠══ u
╚══ �treez tree.lineTF)�style�guide_style�expanded� highlight� hide_root�labelr r r r r �returnNc C s. || _ || _|| _g | _|| _|| _|| _d S �N)r r r �childrenr r r )�selfr r r r r r � r! �@/usr/local/lib/python3.10/dist-packages/pip/_vendor/rich/tree.py�__init__% s
z
Tree.__init__�r r r r c C sL t ||du r | jn||du r| jn|||du r| jn|d�}| j�|� |S )a3 Add a child tree.
Args:
label (RenderableType): The renderable or str for the tree label.
style (StyleType, optional): Style of this tree. Defaults to "tree".
guide_style (StyleType, optional): Style of the guide lines. Defaults to "tree.line".
expanded (bool, optional): Also display children. Defaults to True.
highlight (Optional[bool], optional): Highlight renderable (if str). Defaults to False.
Returns:
Tree: A new child Tree, which may be further modified.
Nr$ )r r r r r �append)r r r r r r �noder! r! r"