o
    .dr                     @   s~  d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddlm
Z
 dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! ddlm"Z" dd lm#Z# dd!lm$Z$ dd"lm%Z% dd#lm&Z& dd$lm'Z' dd%lm(Z( dd&lm)Z) eefeefe'efe#d'fed(fed)fed*fee
fed+fe%d,fed-fe$d.fed/fed0fe d1fe&d2fed3ffZ*e+e(ee!e"eee)eeg	Z,e-d4.d5d6 e*D ej/Z0d=d8e1d9e2d:ee fd;d<Z3dS )>zTokenize include expressions.    N)Iterator)LiquidSyntaxError)GROUP_IDENTINDEX)GROUP_IDENTQUOTED)GROUP_QUOTED)IDENTIFIER_PATTERN)IDENTINDEX_PATTERN)IDENTSTRING_PATTERN)STRING_PATTERN)Token)TOKEN_AS)TOKEN_BLANK)TOKEN_COLON)TOKEN_COMMA)	TOKEN_DOT)TOKEN_EMPTY)TOKEN_FALSE)TOKEN_FLOAT)	TOKEN_FOR)TOKEN_IDENTIFIER)TOKEN_IDENTINDEX)TOKEN_IDENTSTRING)TOKEN_ILLEGAL)TOKEN_INTEGER)TOKEN_LBRACKET)TOKEN_LPAREN)TOKEN_NEWLINE)	TOKEN_NIL)
TOKEN_NULL)TOKEN_RANGE)TOKEN_RBRACKET)TOKEN_RPAREN)
TOKEN_SKIP)TOKEN_STRING)
TOKEN_TRUE)
TOKEN_WITHz\.\.z-?\d+\.(?!\.)\d*z-?\d+\bz\.z\(z\)z\[],:z\nz[ \t\r]+.|c                 c   s&    | ]\}}d | d| dV  qdS )z(?P<>)N ).0namepatternr-   r-   V/var/www/Matress/matenv/lib/python3.10/site-packages/liquid/expressions/include/lex.py	<genexpr>L   s   $ r2      sourcelinenumreturnc                 c   s    t }t| D ]d}|j}|dusJ | }|d}|tkr'||v r'|}n;|tkr1|t}n1|t	kr=t}|t
}n%|tkrG|t}n|tkrP|d7 }q|tkrUq|tkrbtd||d||7 }|||fV  qdS )z'Yield tokens from an output expression.N
r3   zunexpected )r5   )keywords	OUTPUT_REfinditer	lastgroupgroupcountr   r   r   r   r   r#   r   r   r"   r   r   )r4   r5   	_keywordsmatchkindvaluenewlinesr-   r-   r1   tokenizeQ   s4   
rC   )r3   )4__doc__retypingr   liquid.exceptionsr   liquid.expressions.commonr   r   r   r   r   r	   r
   r   liquid.tokenr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   token_rules	frozensetr8   compilejoinDOTALLr9   strintrC   r-   r-   r-   r1   <module>   s     