
    \h                     (    S  r SS jrSS jrSS jrg)c                 l    SS jnU (       d  gSnU SS  H  nX!" U5      -  nM     X!" U S   S5      -  nU$ )z
Prettyprints systems of nodes.

Examples
========

>>> from sympy.printing.tree import pprint_nodes
>>> print(pprint_nodes(["a", "b1\nb2", "c"]))
+-a
+-b1
| b2
+-c

c                     U R                  S5      nSUS   -  nUSS   H#  nUS:X  a  M  US:X  a
  USU-  -  nM  USU-  -  nM%     U$ )N
z+-%s
        z| %s
z  %s
)split)stypexras        K/var/www/auris/envauris/lib/python3.13/site-packages/sympy/printing/tree.pyindentpprint_nodes.<locals>.indent   s`    GGDMqtO12ABwqyX\!X\!      r   N   )r    )subtreesr   fr   s       r   pprint_nodesr      sK    
 
Acr]	VAY a	  AHr   c                     U R                   R                  < S[        U 5      < S3nU(       a  U R                  nOSnU(       a'  [	        U5       H  nX4   nUc  M  X$< SU< S3-  nM     U$ )z
Returns information about the "node".

This includes class name, string representation and assumptions.

Parameters
==========

assumptions : bool, optional
    See the ``assumptions`` keyword in ``tree``
z: r   N)	__class____name__str_assumptionssorted)nodeassumptionsr	   dr   vs         r   
print_noder"   $   se     nn--s4y9AAAyq!$$A	  Hr   c                     / nU R                    H  nUR                  [        X1S95        M     [        XS9[	        U5      -   nU$ )a  
Returns a tree representation of "node" as a string.

It uses print_node() together with pprint_nodes() on node.args recursively.

Parameters
==========

assumptions : bool, optional
    The flag to decide whether to print out all the assumption data
    (such as ``is_integer`, ``is_real``) associated with the
    expression or not.

    Enabling the flag makes the result verbose, and the printed
    result may not be deterministic because of the randomness used
    in backtracing the assumptions.

See Also
========

print_tree

r   )argsappendtreer"   r   )r   r   r   argr	   s        r   r'   r'   A   sA    0 HyyS:; 41L4JJAHr   c                 (    [        [        XS95        g)a  
Prints a tree representation of "node".

Parameters
==========

assumptions : bool, optional
    The flag to decide whether to print out all the assumption data
    (such as ``is_integer`, ``is_real``) associated with the
    expression or not.

    Enabling the flag makes the result verbose, and the printed
    result may not be deterministic because of the randomness used
    in backtracing the assumptions.

Examples
========

>>> from sympy.printing import print_tree
>>> from sympy import Symbol
>>> x = Symbol('x', odd=True)
>>> y = Symbol('y', even=True)

Printing with full assumptions information:

>>> print_tree(y**x)
Pow: y**x
+-Symbol: y
| algebraic: True
| commutative: True
| complex: True
| even: True
| extended_real: True
| finite: True
| hermitian: True
| imaginary: False
| infinite: False
| integer: True
| irrational: False
| noninteger: False
| odd: False
| rational: True
| real: True
| transcendental: False
+-Symbol: x
  algebraic: True
  commutative: True
  complex: True
  even: False
  extended_nonzero: True
  extended_real: True
  finite: True
  hermitian: True
  imaginary: False
  infinite: False
  integer: True
  irrational: False
  noninteger: False
  nonzero: True
  odd: True
  rational: True
  real: True
  transcendental: False
  zero: False

Hiding the assumptions:

>>> print_tree(y**x, assumptions=False)
Pow: y**x
+-Symbol: y
+-Symbol: x

See Also
========

tree

r$   N)printr'   )r   r   s     r   
print_treer+   `   s    ^ 
$t
-.r   N)T)r   r"   r'   r+   r   r   r   <module>r,      s    F:>O/r   