Ë
    7^(h  ã                   óH   — d Z ddlmZ ddlmZ ddlmZmZmZ efd„Z	efd„Z
y)	z) Branching Strategies to Traverse a Tree é    )Úproduct)Ú	basic_fnsé   )ÚchainÚidentityÚdo_onec                 óB   ‡ ‡— t        t        ‰ t        «      ˆ ˆfd„«      S )z< Apply a rule down a tree running it on the top nodes first c                 ó<   •—  t        t        ‰‰«      ‰«      | «      S ©N)ÚsallÚtop_down)ÚexprÚbruleÚfnss    €€ú^/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/strategies/branch/traverse.pyú<lambda>ztop_down.<locals>.<lambda>
   s   ø€ Ð=œd¤8¨E°3Ó#7¸Ó=¸dÓC€ ó    )r   r   r   )r   r   s   ``r   r   r      s   ù€ ä”˜œxÓ(ÜCóEð Er   c                 óX   ‡ ‡‡‡‡— t        |j                  d«      \  ŠŠŠŠˆ ˆˆˆˆfd„}|S )z$ Strategic all - apply rule to args )ÚopÚnewÚchildrenÚleafc              3   óŒ   •K  —  ‰| «      r| –— y  ‰| «      }t        t        ‰ ‰| «      «      Ž }|D ]  } ‰|g|¢­Ž –— Œ y ­wr   )r   Úmap)	r   ÚmyopÚargssÚargsr   r   r   r   r   s	       €€€€€r   Úall_rlzsall.<locals>.all_rl   sP   øè ø€ Ù�Œ:Ø‹Já�d“8ˆDÜœS ©°«Ó7Ð8ˆEØò '�Ù˜$Ð& Ò&Ó&ñ'ùs   ƒAA)r   Úget)r   r   r   r   r   r   r   s   `  @@@@r   r   r      s.   ü€ ä! #§'¡'Ð+LÓMÑ€BˆˆX�t÷'ð 'ð €Mr   N)Ú__doc__Ú	itertoolsr   Úsympy.strategies.utilr   Úcorer   r   r   r   r   © r   r   ú<module>r%      s)   ðÙ /Ý Ý +ß )Ñ )ð "ó Eð ô r   