�PNG  IHDR��;���IDATx��ܻn�0���K�� �)(�pA��� ���7�LeG{�� �§㻢|��ذaÆ 6lذaÆ 6lذaÆ 6lom��$^�y���ذag�5bÆ 6lذaÆ 6lذa{���� 6lذaÆ �`����}H�Fkm�,�m����Ӫ���ô�ô!� �x�|'ܢ˟;�E:���9�&ᶒ�}�{�v]�n&�6� �h��_��t�ڠ͵-ҫ���Z;��Z$�.�P���k�ž)�!��o���>}l�eQfJ�T��u і���چ��\��X=8��Rن4`Vw�l�>����n�G�^��i�s��"ms�$�u��i��?w�bs[m�6�K4���O���.�4��%����/����b�C%��t ��M�ז� �-l�G6�mrz2���s�%�9��s@���-�k�9�=���)������k�B5����\��+͂�Zsٲ ��Rn��~G���R���C����� �wIcI��n7jJ���hۛNCS|���j0��8y�iHKֶۛ�k�Ɉ+;Sz������L/��F�*\��Ԕ�#"5��m�2��[S��������=�g��n�a�P�e�ғ�L�� lذaÆ 6l�^k��̱aÆ 6lذaÆ 6lذa;���� �_��ذaÆ 6lذaÆ 6lذaÆ ���R���IEND�B` � � v_c@s�dZyddlZWnek r5ddlZnXdefd��YZdddd�Zd �Zdd �Z dd �Z ej d d kr�e Z ne Z d�Z d�ZdS(s� utility functions to handle differences in pysqlite versions These are from Wichert Akkerman 's python-dhm http://www.wiggy.net/code/python-dhm i����Nt TokenizeErrorcBseZdZRS(sTokenizer error class(t__name__t __module__t__doc__(((s0/usr/lib/python2.7/site-packages/yum/sqlutils.pyRss s"s\cCs�|gddf\}}}}y,x%|rH|d|krCd}n�|dkrl|d|krl|d}n�|d|kr�|dkr�||d7}q;|j|�d}x�|d|kr�|d}q�Wnk|d|kr|dkr�|d}n||d7}|d}n'|dkr-|d}n||d7}|d}q$WWntk rftd�nX|rytd�n|dkr�|j|�n|S(s�String tokenizer This function tokenizes a string while taking quotation and escaping into account. >>> import dhm.strtools >>> dhm.strtools.Tokenize("this is a test") ['this', 'is', 'a', 'test'] >>> dhm.strtools.Tokenize("this "is a" test") ['this', 'is a', 'test'] >>> dhm.strtools.Tokenize("this \"is\" a test") ['this', '"is"', 'a', 'test'] >>> dhm.strtools.Tokenize("this "is a test") Traceback (most recent call last): File "", line 1, in ? File "/usr/local/lib/python2.2/site-packages/dhm/strtools.py", line 80, in Tokenize raise TokenizeError, "Unexpected end of string in quoted text" dhm.strtools.TokenizeError: Unexecpted end of string in quoted text @param str: string to tokenize @type str: string @param whitespace: whitespace characters separating tokens @type whitespace: string @param quotes: legal quoting characters @type quotes: string @param escapes: characters which can escape quoting characters @type escapes: string @return: list of tokens @rtype: sequence of strings iisUnexpected end of strings'Unexpected end of string in quoted textN(tNonetappendt IndexErrorR(tstrt whitespacetquotestescapestbufferttokenstcurtokentquote((s0/usr/lib/python2.7/site-packages/yum/sqlutils.pytTokenizes<�              c Cst|dd�}g}d}x�|D]�}|jd�r`|j|d d|�|d7}q%|jd�s~|jd�r�|d d|}||d7}|j|�|d7}q%|j|�q%Wi}d}x&|D]}||d |<|d7}q�Wd j|�|fS( s�Convert from qmark to pyformat parameter style. The python DB-API 2.0 specifies four different possible parameter styles that can be used by drivers. This function converts from the qmark style to pyformat style. @param query: SQL query to transform @type query: string @param params: arguments to query @type params: sequence of strings @return: converted query and parameters @rtype: tuple with the new command and a dictionary of arguments R t'it?i����s %%(param%d)ss?,s?)i����sparam%dt (RtendswithRtjoin( tquerytparamsR toutputtcountttokentntokentdicttparam((s0/usr/lib/python2.7/site-packages/yum/sqlutils.pytQmarkToPyformatgs&     cCsJ|dkr|j|�S|j�}t||�\}}|j||�S(s� Execute a python < 2.5 (external sqlite module) style query. @param cursor: A sqlite cursor @param query: The query to execute @param params: An optional list of parameters to the query N(RtexecutetstripR(tcursorRRtqtp((s0/usr/lib/python2.7/site-packages/yum/sqlutils.pytexecuteSQLPyFormat�s    cCs)|dkr|j|�S|j||�S(s� Execute a python 2.5 (sqlite3) style query. @param cursor: A sqlite cursor @param query: The query to execute @param params: An optional list of parameters to the query N(RR(R RR((s0/usr/lib/python2.7/site-packages/yum/sqlutils.pytexecuteSQLQmark�s  iicCsgd}d|ksd|kr]d}|jdd�}|jdd�}|jdd�}n||fS( s<� Apply SQLite escaping, if needed. Returns pattern and esc. tt_t%s ESCAPE "!"t!s!!s!%s!_(treplace(tpatterntesc((s0/usr/lib/python2.7/site-packages/yum/sqlutils.pytsql_esc�scCstg}xg|D]_}d|kr#gSt|�\}}|jdd�}|jdd�}|j||f�q W|S(sZ Converts patterns to SQL LIKE format, if required (or gives up if not possible). t[t*R'RR&(R,R)R(tpatternstretR*R+((s0/usr/lib/python2.7/site-packages/yum/sqlutils.pyt sql_esc_glob�s  (Rtsqlite3tsqlitet ImportErrort ExceptionRRRRR#R$t version_infot executeSQLR,R1(((s0/usr/lib/python2.7/site-packages/yum/sqlutils.pyts H &