§
    ]²Åj  ã                   ó:   — d Z ddlmZ ddlmZmZ ddlZd„ Zd„ ZdS )z[For reading in DIMACS file format

www.cs.ubc.ca/~hoos/SATLIB/Benchmarks/SAT/satformat.ps

é    )ÚSymbol)ÚAndÚOrNc                 óX  — g }|                       d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          |¦  «        dk    �rO|                     d¦  «        }|                     |¦  «        �s|                     |¦  «        }|sù|                     d¦  «                              d¦  «        }g }|D ]�}	|	dk    r•t          |	¦  «        dk    rŒt          t          |	¦  «        ¦  «        }
d}t          |	¦  «        dk     rd}|r&| 	                    t          d	|
z  ¦  «        ¦  «         Œw| 	                    t          d	|
z  ¦  «         ¦  «         Œžt          |¦  «        dk    r| 	                    t          |Ž ¦  «         t          |¦  «        dk    �°Ot          |Ž S )
a   Loads a boolean expression from a string.

    Examples
    ========

    >>> from sympy.logic.utilities.dimacs import load
    >>> load('1')
    cnf_1
    >>> load('1 2')
    cnf_1 | cnf_2
    >>> load('1 \n 2')
    cnf_1 & cnf_2
    >>> load('1 2 \n 3')
    cnf_3 & (cnf_1 | cnf_2)
    ú
zc.*zp\s*cnf\s*(\d*)\s*(\d*)r   ú Ú TFzcnf_%s)ÚsplitÚreÚcompileÚlenÚpopÚmatchÚrstripÚintÚabsÚappendr   r   r   )ÚsÚclausesÚlinesÚpCommentÚpStatsÚlineÚmÚnumsÚlistÚlitÚnumÚsigns               úMC:\Projects\Historical\venv\Lib\site-packages\sympy/logic/utilities/dimacs.pyÚloadr!      sŒ  € ð  €Gà�GŠG�D‰MŒM€EåŒz˜&Ñ!Ô!€HÝŒZÐ2Ñ3Ô3€Få
ˆe‰*Œ*�qŠ.‰.Ø�yŠy˜‰|Œ|ˆð �~Š~˜dÑ#Ô#ñ 	.Ø—’˜TÑ"Ô"ˆAàð .Ø—{’{ 4Ñ(Ô(×.Ò.¨sÑ3Ô3�Ø�Øð Að A�CØ˜b’y�yÝ˜s™8œ8 qš=˜=Ø$Ý!¥# c¡(¤(™mœm˜Ø#˜Ý˜s™8œ8 aš<˜<Ø#(˜Dàð AØ ŸKšK­¨x¸#©~Ñ(>Ô(>Ñ?Ô?Ð?Ð?à ŸKšK­°¸3±Ñ)?Ô)?Ð(?Ñ@Ô@Ð@øå�t‘9”9˜q’=�=Ø—N’N¥2 t 9Ñ-Ô-Ð-õ3 ˆe‰*Œ*�qŠ.‰.õ6 �ˆ=Ðó    c                 ó–   — t          | ¦  «        5 }|                     ¦   «         }ddd¦  «         n# 1 swxY w Y   t          |¦  «        S )z'Loads a boolean expression from a file.N)ÚopenÚreadr!   )ÚlocationÚfr   s      r    Ú	load_filer(   A   sz   € å	ˆh‰Œð ˜1Ø�FŠF‰HŒHˆðð ð ñ ô ð ð ð ð ð ð øøøð ð ð ð õ �‰7Œ7€Ns   �1±5¸5)	Ú__doc__Ú
sympy.corer   Úsympy.logic.boolalgr   r   r   r!   r(   © r"   r    ú<module>r-      sm   ððð ð Ð Ð Ð Ð Ð Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø 	€	€	€	ð2ð 2ð 2ðjð ð ð ð r"   