§
    £E±cH  ã                   ó€  — d Z ddlZddlmZ ddlmZ dgZej        j        Z	ej
        j        Zej        j        Zej        j        Zej        j        Zej        Zej        j        Zej        Zej        Zej        Zej        j        Zej        Zd3d„Z  G d„ de¦  «        Z! G d	„ d
¦  «        Z" G d„ d¦  «        Z# G d„ d¦  «        Z$ G d„ d¦  «        Z% G d„ de%¦  «        Z G d„ de%¦  «        Z& G d„ de%¦  «        Z' G d„ de&¦  «        Z( G d„ de(¦  «        Z) G d„ de%¦  «        Z G d„ de%¦  «        Z* G d„ d ¦  «        Z+ G d!„ d"e%¦  «        Z, G d#„ d$e%¦  «        Z- G d%„ d&¦  «        Z. G d'„ d(e.¦  «        Z/ G d)„ d*e.¦  «        Z0 G d+„ d,e.¦  «        Z1 G d-„ d.e.¦  «        Z2 G d/„ d0e2¦  «        Z3 G d1„ d2¦  «        Z4dS )4zÛ
    pygments.lexers.robotframework
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Lexer for Robot Framework.

    :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    N)ÚLexer)ÚTokenÚRobotFrameworkLexerÚ c                 ór   — |                       ¦   «         } |dz   D ]}|| v r|                      |d¦  «        } Œ| S )Nú r   )ÚlowerÚreplace)ÚstringÚremoveÚchars      ú@/usr/lib/python3/dist-packages/pygments/lexers/robotframework.pyÚ	normalizer   /   sD   € Ø�\Š\‰^Œ^€FØ˜‘ð .ð .ˆØ�6ˆ>ˆ>Ø—^’^ D¨"Ñ-Ô-ˆFøØ€Mó    c                   ó:   — e Zd ZdZdZdZdgZddgZdgZd„ Z	d	„ Z
d
S )r   zƒ
    For Robot Framework test data.

    Supports both space and pipe separated plain text formats.

    .. versionadded:: 1.6
    ÚRobotFrameworkzhttp://robotframework.orgÚrobotframeworkz*.robotz
*.resourceztext/x-robotframeworkc                 ó>   — d|d<   d|d<   t          j        | fi |¤Ž d S )Né   ÚtabsizezUTF-8Úencoding)r   Ú__init__)ÚselfÚoptionss     r   r   zRobotFrameworkLexer.__init__E   s4   € Øˆ�	ÑØ%ˆ�
ÑÝŒ�tÐ'Ð'˜wÐ'Ð'Ð'Ð'Ð'r   c              #   ó2  K  — t          ¦   «         }t          ¦   «         }d}|                     ¦   «         D ]a}|                     |¦  «        D ]I\  }}|                     ||¦  «        D ]-\  }}|r&||t	          |¦  «        fV — |t          |¦  «        z  }Œ.ŒJŒbd S ©Nr   )ÚRowTokenizerÚVariableTokenizerÚ
splitlinesÚtokenizeÚstrÚlen)r   ÚtextÚrow_tokenizerÚvar_tokenizerÚindexÚrowÚvalueÚtokens           r   Úget_tokens_unprocessedz*RobotFrameworkLexer.get_tokens_unprocessedJ   sÂ   è è € Ý$™œˆÝ)Ñ+Ô+ˆØˆØ—?’?Ñ$Ô$ð 	,ð 	,ˆCØ -× 6Ò 6°sÑ ;Ô ;ð ,ð ,‘��uØ$1×$:Ò$:¸5À%Ñ$HÔ$Hð ,ð ,‘L�E˜5Øð ,Ø# U­C°©J¬JÐ6Ð6Ð6Ð6Ø¥ U¡¤Ñ+˜øð,ð,ð	,ð 	,r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnameÚurlÚaliasesÚ	filenamesÚ	mimetypesr   r*   © r   r   r   r   7   sb   € € € € € ðð ð €DØ
%€CØÐ €GØ˜LÐ)€IØ(Ð)€Ið(ð (ð (ð
	,ð 	,ð 	,ð 	,ð 	,r   c                   ó   — e Zd Zd„ Zd„ ZdS )r   c              #   ó¼   K  — t          |d¬¦  «        }|j        dk     s|t          t          fv r||fV — d S |                      |||¦  «        D ]\  }}|r||fV — Œd S )Nz$@%&©Úidentifiersr   )ÚVariableSplitterÚstartÚCOMMENTÚERRORÚ	_tokenize)r   r   r)   Úvarr(   s        r   r    zVariableTokenizer.tokenizeX   s�   è è € Ý˜v°6Ð:Ñ:Ô:ˆØŒ9�qŠ=ˆ=˜E¥g­uÐ%5Ð5Ð5Ø˜%�-ÐÐÐØˆFØ ŸNšN¨3°¸Ñ>Ô>ð 	#ð 	#‰LˆE�5Øð #Ø˜U�lÐ"Ð"Ð"øð	#ð 	#r   c              #   ó”  K  — |d |j         …         }||fV — |j        dz   t          fV — |                      |j        t
          ¦  «        E d {V —† dt          fV — |j        �<dt          fV — |                      |j        t
          ¦  «        E d {V —† dt          fV — |                      ||j        d …         |¦  «        E d {V —† d S )Nú{ú}ú[ú])r:   Ú
identifierÚSYNTAXr    ÚbaseÚVARIABLEr&   Úend)r   r>   r   Ú
orig_tokenÚbefores        r   r=   zVariableTokenizer._tokenizea   sþ   è è € Ø˜
˜œ˜
Ô#ˆØ�jÐ Ð Ð Ð ØŒn˜sÑ"¥FÐ*Ð*Ð*Ð*Ø—=’= ¤­8Ñ4Ô4Ð4Ð4Ð4Ð4Ð4Ð4Ð4Ø•6ˆkÐÐÐØŒ9Ð Ø•v�+ÐÐÐØ—}’} S¤YµÑ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ø•v�+ÐÐÐØ—=’= ¨¬¨¨Ô!1°:Ñ>Ô>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>Ð>r   N)r+   r,   r-   r    r=   r4   r   r   r   r   V   s2   € € € € € ð#ð #ð #ð
?ð 
?ð 
?ð 
?ð 
?r   r   c                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )r   c                 óø   — t          ¦   «         | _        t          ¦   «         | _        t	          ¦   «         }t          |j        ¦  «        }t          ¦   «         }t          ¦   «         }|||||||||||||dœ| _	        d S )N)ÚsettingsÚsettingÚmetadataÚ	variablesÚvariableÚ	testcasesÚtestcaseÚtasksÚtaskÚkeywordsÚkeywordÚuserkeywordsÚuserkeyword)
ÚUnknownTableÚ_tableÚRowSplitterÚ	_splitterÚTestCaseTableÚSettingTableÚset_default_templateÚVariableTableÚKeywordTableÚ_tables)r   rR   rM   rP   rV   s        r   r   zRowTokenizer.__init__p   sx   € Ý"‘n”nˆŒÝ$™œˆŒÝ!‘O”Oˆ	Ý 	Ô >Ñ?Ô?ˆÝ!‘O”Oˆ	Ý‘>”>ˆØ$,¸Ø$,Ø%.¸IØ%.¸IØ!*°IØ$,¸Ø(0ÀðKð KˆŒˆˆr   c              #   ó¦  K  — d}d}t          | j                             |¦  «        ¦  «        D ]‰\  }}t          |dz
  d¦  «        \  }}|                     d¦  «        rd}n7|dk    r1|                     d¦  «        r|                      |¦  «        | _        d}|                      |||||¦  «        E d {V —† ŒŠ| j                             ¦   «          d S )NFé   r   ú#Tr   Ú*)	Ú	enumerater]   ÚsplitÚdivmodÚ
startswithÚ_start_tabler[   r=   Úend_row)r   r'   Ú	commentedÚheadingr&   r(   Ú	separators          r   r    zRowTokenizer.tokenize   s  è è € Øˆ	ØˆÝ% d¤n×&:Ò&:¸3Ñ&?Ô&?Ñ@Ô@ð 		:ð 		:‰LˆE�5å% e¨A¡g¨qÑ1Ô1ÑˆE�9Ø×Ò Ñ$Ô$ð Ø �	�	Ø˜!’� × 0Ò 0°Ñ 5Ô 5�Ø"×/Ò/°Ñ6Ô6�”Ø�Ø—~’~ e¨U°IØ&/°ñ:ô :ð :ð :ð :ð :ð :ð :ð :ð :àŒ×ÒÑÔÐÐÐr   c                 ór   — t          |d¬¦  «        }| j                             |t          ¦   «         ¦  «        S )Nrg   ©r   )r   rc   ÚgetrZ   )r   Úheaderr/   s      r   rl   zRowTokenizer._start_tableŽ   s0   € Ý˜¨Ð,Ñ,Ô,ˆØŒ|×Ò ¥l¡n¤nÑ5Ô5Ð5r   c              #   ó¦   K  — |r|t           fV — d S |r|t          fV — d S |r|t          fV — d S | j                             ||¦  «        E d {V —† d S ©N)r;   Ú	SEPARATORÚHEADINGr[   r    )r   r(   r&   rn   rp   ro   s         r   r=   zRowTokenizer._tokenize’   s‘   è è € Øð 	:Ø��.Ð Ð Ð Ð Ð Øð 	:Ø�Ð"Ð"Ð"Ð"Ð"Ð"Øð 	:Ø��.Ð Ð Ð Ð Ð à”{×+Ò+¨E°5Ñ9Ô9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9Ð9r   N)r+   r,   r-   r   r    rl   r=   r4   r   r   r   r   n   sS   € € € € € ðKð Kð Kðð ð ð6ð 6ð 6ð:ð :ð :ð :ð :r   r   c                   ó`   — e Zd Z ej        d¦  «        Z ej        d¦  «        Zd„ Zd„ Zd„ Z	dS )r\   z( {2,})z((?:^| +)\|(?: +|$))c              #   óz   K  — |                      d¦  «        r| j        p| j        } ||¦  «        E d {V —† dV — d S )Nz| ú
)rk   Ú_split_from_pipesÚ_split_from_spaces)r   r'   Úsplitters      r   ri   zRowSplitter.split¡   sZ   è è € Ø—N’N 4Ñ(Ô(ÐC¨TÔ-Cð /ØÔ.ð 	à�8˜C‘=”=Ð Ð Ð Ð Ð Ð Ð Øˆ
ˆ
ˆ
ˆ
ˆ
r   c              #   óR   K  — dV — | j                              |¦  «        E d {V —† d S )Nr   )Ú_space_splitterri   )r   r'   s     r   r}   zRowSplitter._split_from_spaces§   s>   è è € ØˆˆˆØÔ'×-Ò-¨cÑ2Ô2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ð2r   c              #   ó  K  — | j                              |d¦  «        \  }}}|V — | j                              |¦  «        rA| j                              |d¦  «        \  }}}|V — |V — | j                              |¦  «        °A|V — d S ©Nre   )Ú_pipe_splitterri   Úsearch)r   r'   Ú_rp   ÚrestÚcells         r   r|   zRowSplitter._split_from_pipes«   s¢   è è € Ø!Ô0×6Ò6°s¸AÑ>Ô>Ñˆˆ9�dØˆˆˆØÔ!×(Ò(¨Ñ.Ô.ð 	Ø$(Ô$7×$=Ò$=¸dÀAÑ$FÔ$FÑ!ˆD�)˜TØˆJˆJˆJØˆOˆOˆOð Ô!×(Ò(¨Ñ.Ô.ð 	ð ˆ
ˆ
ˆ
ˆ
ˆ
r   N)
r+   r,   r-   ÚreÚcompiler€   rƒ   ri   r}   r|   r4   r   r   r\   r\   �   sd   € € € € € Ø �b”j Ñ+Ô+€OØ�R”ZÐ 7Ñ8Ô8€Nðð ð ð3ð 3ð 3ðð ð ð ð r   r\   c                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )Ú	TokenizerNc                 ó   — d| _         d S r   )Ú_index©r   s    r   r   zTokenizer.__init__¸   s   € ØˆŒˆˆr   c                 óª   — |                       || j        ¦  «        }| xj        dz  c_        t          |t          t          ¦  «        ¦  «        r||fg}|S r‚   )r=   r�   Ú
isinstanceÚtyper   )r   r(   Úvalues_and_tokenss      r   r    zTokenizer.tokenize»   sV   € Ø ŸNšN¨5°$´+Ñ>Ô>ÐØˆŒ�qÑˆŒÝÐ'­­e©¬Ñ5Ô5ð 	=Ø"'Ð):Ð!;Ð <ÐØ Ð r   c                 óf   — t          |t          | j        ¦  «        dz
  ¦  «        }| j        |         S r‚   )Úminr"   Ú_tokens©r   r(   r&   s      r   r=   zTokenizer._tokenizeÂ   s-   € Ý�E�3˜tœ|Ñ,Ô,¨qÑ0Ñ1Ô1ˆØŒ|˜EÔ"Ð"r   c                 óÌ   — |                      d¦  «        r|d d…                              ¦   «         }t          |d¬¦  «        }|j        dk    o|j        t          |¦  «        k    S )Nú=éÿÿÿÿz$@&r7   r   )ÚendswithÚstripr9   r:   rH   r"   )r   r(   r>   s      r   Ú
_is_assignzTokenizer._is_assignÆ   s_   € Ø�>Š>˜#ÑÔð 	'Ø˜#˜2˜#”J×$Ò$Ñ&Ô&ˆEÝ˜u°%Ð8Ñ8Ô8ˆØŒy˜AŠ~Ð7 #¤'­S°©Z¬ZÒ"7Ð7r   )r+   r,   r-   r•   r   r    r=   rœ   r4   r   r   r‹   r‹   µ   sU   € € € € € Ø€Gðð ð ð!ð !ð !ð#ð #ð #ð8ð 8ð 8ð 8ð 8r   r‹   c                   ó   — e Zd ZefZdS )ÚCommentN)r+   r,   r-   r;   r•   r4   r   r   rž   rž   Í   s   € € € € € Øˆj€G€G€Gr   rž   c                   ó4   — e Zd ZeefZdZdZdZdZ	dd„Z
d„ ZdS )ÚSetting)Ú
suitesetupÚsuitepreconditionÚsuiteteardownÚsuitepostconditionÚ	testsetupÚ	tasksetupÚtestpreconditionÚtestteardownÚtaskteardownÚtestpostconditionÚtesttemplateÚtasktemplate)ÚlibraryÚresourcerP   )ÚdocumentationrO   Ú	forcetagsÚdefaulttagsÚtesttimeoutÚtasktimeoutNc                 óH   — t                                | ¦  «         || _        d S rv   )r‹   r   Ú_template_setter)r   Útemplate_setters     r   r   zSetting.__init__Û   s$   € Ý×Ò˜4Ñ Ô Ð Ø /ˆÔÐÐr   c                 ó„  — |dk    r| j         r|                       |¦  «         |dk    r\t          |¦  «        }|| j        v rt          d¬¦  «        | _        nO|| j        v rt          ¦   «         | _        n2|| j        vrt          S n!| j        r| j         	                    |¦  «        S t                               | ||¦  «        S )Nre   r   F)Úsupport_assign)rµ   r   Ú_keyword_settingsÚKeywordCallÚ_custom_tokenizerÚ_import_settingsÚImportSettingÚ_other_settingsr<   r    r‹   r=   )r   r(   r&   Ú
normalizeds       r   r=   zSetting._tokenizeß   sÏ   € Ø�AŠ:ˆ:˜$Ô/ˆ:Ø×!Ò! %Ñ(Ô(Ð(Ø�AŠ:ˆ:Ý" 5Ñ)Ô)ˆJØ˜TÔ3Ð3Ð3Ý)4ÀEÐ)JÑ)JÔ)J�Ô&Ð&Ø˜tÔ4Ð4Ð4Ý)6©¬�Ô&Ð&Ø 4Ô#7Ð7Ð7Ý�ð 8àÔ#ð 	:ØÔ)×2Ò2°5Ñ9Ô9Ð9Ý×"Ò" 4¨°Ñ6Ô6Ð6r   rv   )r+   r,   r-   ÚSETTINGÚARGUMENTr•   r¹   r¼   r¾   r»   r   r=   r4   r   r   r    r    Ñ   s_   € € € € € Ø˜Ð!€GðmÐð <Ðð4€OàÐð0ð 0ð 0ð 0ð7ð 7ð 7ð 7ð 7r   r    c                   ó   — e Zd ZeefZdS )r½   N)r+   r,   r-   ÚIMPORTrÁ   r•   r4   r   r   r½   r½   ï   s   € € € € € Ø�xÐ €G€G€Gr   r½   c                   ó    — e Zd ZdZdZdZd„ ZdS )ÚTestCaseSetting)ÚsetupÚpreconditionÚteardownÚpostconditionÚtemplater4   )r¯   ÚtagsÚtimeoutc                 óÈ   — |dk    rAt                                | |dd…         |¦  «        }dt          f|dd…         |fdt          fgS t                                | ||¦  «        S )Nr   re   r™   rB   rC   )r    r=   rE   )r   r(   r&   r‘   s       r   r=   zTestCaseSetting._tokenizeù   sd   € Ø�AŠ:ˆ:Ý×$Ò$ T¨5°°2°¬;¸Ñ>Ô>ˆDØ�&�M E¨!¨B¨$¤K°Ð#6¸½f¸ÐFÐFÝ× Ò   u¨eÑ4Ô4Ð4r   N)r+   r,   r-   r¹   r¼   r¾   r=   r4   r   r   rÅ   rÅ   ó   s6   € € € € € ð%ÐàÐØ:€Oð5ð 5ð 5ð 5ð 5r   rÅ   c                   ó   — e Zd ZdZdZdS )ÚKeywordSetting)rÈ   )r¯   Ú	argumentsÚreturnrÌ   rË   N)r+   r,   r-   r¹   r¾   r4   r   r   rÏ   rÏ      s   € € € € € Ø%ÐØQ€O€O€Or   rÏ   c                   ó   — e Zd ZeefZd„ ZdS )ÚVariablec                 ó~   — |dk    r|                       |¦  «        st          S t                               | ||¦  «        S r   )rœ   r<   r‹   r=   r–   s      r   r=   zVariable._tokenize  s8   € Ø�AŠ:ˆ:˜dŸošo¨eÑ4Ô4ˆ:ÝˆLÝ×"Ò" 4¨°Ñ6Ô6Ð6r   N)r+   r,   r-   rE   rÁ   r•   r=   r4   r   r   rÓ   rÓ     s-   € € € € € Ø�xÐ €Gð7ð 7ð 7ð 7ð 7r   rÓ   c                   ó$   — e Zd ZeefZdd„Zd„ ZdS )rº   Tc                 óX   — t                                | ¦  «         | | _        d| _        d S r   )r‹   r   Ú_keyword_foundÚ_assigns)r   r¸   s     r   r   zKeywordCall.__init__  s,   € Ý×Ò˜4Ñ Ô Ð Ø"0Ð0ˆÔØˆŒˆˆr   c                 ó  — | j         s,|                      |¦  «        r| xj        dz  c_        t          S | j         r$t                               | ||| j        z
  ¦  «        S d| _         t          ¦   «                              |t          ¦  «        S )Nre   T)	r×   rœ   rØ   rE   r‹   r=   ÚGherkinTokenizerr    ÚKEYWORDr–   s      r   r=   zKeywordCall._tokenize  s„   € ØÔ"ð 	 t§¢°uÑ'=Ô'=ð 	ØˆMŒM˜QÑˆMŒMÝˆMØÔð 	KÝ×&Ò& t¨U°E¸D¼MÑ4IÑJÔJÐJØ"ˆÔÝÑ!Ô!×*Ò*¨5µ'Ñ:Ô:Ð:r   N)T)r+   r,   r-   rÛ   rÁ   r•   r   r=   r4   r   r   rº   rº     sA   € € € € € Ø˜Ð!€Gðð ð ð ð
;ð ;ð ;ð ;ð ;r   rº   c                   ó@   — e Zd Z ej        dej        ¦  «        Zd„ ZdS )rÚ   z^(Given|When|Then|And|But) c                 ó¦   — | j                              |¦  «        }|s||fgS |                     ¦   «         }|d |…         t          f||d …         |fgS rv   )Ú_gherkin_prefixÚmatchrH   ÚGHERKIN)r   r(   r)   rß   rH   s        r   r    zGherkinTokenizer.tokenize#  s_   € ØÔ$×*Ò*¨5Ñ1Ô1ˆØð 	$Ø˜E�NÐ#Ð#Ø�iŠi‰kŒkˆØ�t˜�t”�gÐ&¨¨s¨t¨t¬°eÐ(<Ð=Ð=r   N)r+   r,   r-   rˆ   r‰   Ú
IGNORECASErÞ   r    r4   r   r   rÚ   rÚ      s9   € € € € € Ø �b”jÐ!>ÀÄÑNÔN€Oð>ð >ð >ð >ð >r   rÚ   c                   ó   — e Zd ZefZdS )ÚTemplatedKeywordCallN)r+   r,   r-   rÁ   r•   r4   r   r   rã   rã   +  s   € € € € € Øˆk€G€G€Gr   rã   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚForLoopc                 óH   — t                                | ¦  «         d| _        d S ©NF)r‹   r   Ú_in_argumentsrŽ   s    r   r   zForLoop.__init__1  s$   € Ý×Ò˜4Ñ Ô Ð Ø"ˆÔÐÐr   c                 ój   — | j         rt          pt          }|                     ¦   «         dv rd| _         |S )N)ÚINzIN RANGET)rè   rÁ   rE   Úupper)r   r(   r&   r)   s       r   r=   zForLoop._tokenize5  s5   € ØÔ"Ð/¥xÐ9µ6ˆØ�;Š;‰=Œ=Ð.Ð.Ð.Ø!%ˆDÔØˆr   N)r+   r,   r-   r   r=   r4   r   r   rå   rå   /  s2   € € € € € ð#ð #ð #ðð ð ð ð r   rå   c                   ó8   — e Zd ZdZdd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	Ú_TableNc                 óT   — |                       ¦   «         | _        || _        g | _        d S rv   )Ú_tokenizer_classÚ
_tokenizerÚ_prev_tokenizerÚ_prev_values_on_row)r   Úprev_tokenizers     r   r   z_Table.__init__?  s+   € Ø×/Ò/Ñ1Ô1ˆŒØ-ˆÔØ#%ˆÔ Ð Ð r   c              #   óÒ   K  — |                       ||¦  «        r| j        | _        |t          fV — n|                      ||¦  «        E d {V —† | j                             |¦  «         d S rv   )Ú
_continuesrñ   rð   rE   r=   rò   Úappendr–   s      r   r    z_Table.tokenizeD  s|   è è € Ø�?Š?˜5 %Ñ(Ô(ð 	4Ø"Ô2ˆDŒOØ��-ÐÐÐÐà—~’~ e¨UÑ3Ô3Ð3Ð3Ð3Ð3Ð3Ð3Ð3ØÔ ×'Ò'¨Ñ.Ô.Ð.Ð.Ð.r   c                 óP   ‡ — |dk    ot          ˆ fd„‰ j        D ¦   «         ¦  «        S )Nz...c              3   óB   •K  — | ]}‰                      |¦  «        V — Œd S rv   )Ú	_is_empty)Ú.0Útr   s     €r   ú	<genexpr>z$_Table._continues.<locals>.<genexpr>M  sK   øè è € ð &Ið &IØ*+ð '+§n¢n°QÑ&7Ô&7ð &Ið &Ið &Ið &Ið &Ið &Ir   )Úallrò   r–   s   `  r   rõ   z_Table._continuesL  sT   ø€ Ø˜Š~ð I¥#ð &Ið &Ið &Ið &IØ/3Ô/Gð&Iñ &Iô &Iñ #Iô #Ið 	Ir   c                 ó
   — |dv S )N)r   ú\r4   ©r   r(   s     r   rù   z_Table._is_emptyP  s   € Ø˜
Ð"Ð"r   c                 ó6   — | j                              |¦  «        S rv   )rð   r    r–   s      r   r=   z_Table._tokenizeS  s   € ØŒ×'Ò'¨Ñ.Ô.Ð.r   c                 ó<   — |                       | j        ¬¦  «         d S ©N)ró   )r   rð   rŽ   s    r   rm   z_Table.end_rowV  s   € Ø�Š T¤_ˆÑ5Ô5Ð5Ð5Ð5r   rv   )
r+   r,   r-   rï   r   r    rõ   rù   r=   rm   r4   r   r   rí   rí   <  s|   € € € € € ØÐð&ð &ð &ð &ð
/ð /ð /ðIð Ið Ið#ð #ð #ð/ð /ð /ð6ð 6ð 6ð 6ð 6r   rí   c                   ó   — e Zd ZeZd„ ZdS )rZ   c                 ó   — dS rç   r4   r–   s      r   rõ   zUnknownTable._continues]  ó   € Øˆur   N)r+   r,   r-   rž   rï   rõ   r4   r   r   rZ   rZ   Z  s)   € € € € € ØÐðð ð ð ð r   rZ   c                   ó   — e Zd ZeZdS )ra   N)r+   r,   r-   rÓ   rï   r4   r   r   ra   ra   a  s   € € € € € ØÐÐÐr   ra   c                   ó&   — e Zd ZeZdd„Zd„ Zd„ ZdS )r_   Nc                 óJ   — t                                | |¦  «         || _        d S rv   )rí   r   rµ   )r   r¶   ró   s      r   r   zSettingTable.__init__h  s$   € Ý�Š˜˜nÑ-Ô-Ð-Ø /ˆÔÐÐr   c                 óž   — |dk    r,t          |¦  «        dk    rt          | j        ¦  «        | _        t                               | ||¦  «        S )Nr   r«   )r   r    rµ   rð   rí   r=   r–   s      r   r=   zSettingTable._tokenizel  sG   € Ø�AŠ:ˆ:�) EÑ*Ô*¨nÒ<Ð<Ý% dÔ&;Ñ<Ô<ˆDŒOÝ×Ò  e¨UÑ3Ô3Ð3r   c                 óH   — |                       | j        | j        ¬¦  «         d S r  )r   rµ   rð   rŽ   s    r   rm   zSettingTable.end_rowq  s#   € Ø�Š�dÔ+¸D¼OˆÑLÔLÐLÐLÐLr   rv   )r+   r,   r-   r    rï   r   r=   rm   r4   r   r   r_   r_   e  sQ   € € € € € ØÐð0ð 0ð 0ð 0ð4ð 4ð 4ð
Mð Mð Mð Mð Mr   r_   c                   ó`   — e Zd ZeZdZdZed„ ¦   «         Zd„ Z	d„ Z
d„ Zd„ Zd„ Zd„ Zd	„ Zd
„ ZdS )r^   Nc                 óL   — | j         s| j        r| j         durt          S t          S rç   )Ú_test_templateÚ_default_templaterã   rº   rŽ   s    r   rï   zTestCaseTable._tokenizer_classz  s1   € àÔð 	( 4Ô#9ð 	(Ø#'Ô#6¸eÐ#CÐ#CÝ'Ð'ÝÐr   c                 óF   — |dk    ot                                | ||¦  «        S r   )rí   rõ   r–   s      r   rõ   zTestCaseTable._continues�  s#   € Ø�qŠyÐB�V×.Ò.¨t°U¸EÑBÔBÐBr   c                 ó,  — |dk    r0|rd | _         t          ¦   «                              |t          ¦  «        S |dk    rj|                      |¦  «        rU|                      |¦  «        r'd| _         |                      | j        ¦  «        | _        n|                      ¦   «         | _        |dk    r(|  	                    |¦  «        rt          ¦   «         | _        |dk    r|                      |¦  «        r
|t          fgS t                               | ||¦  «        S )Nr   re   F)r  rÚ   r    Ú
TC_KW_NAMEÚ_is_settingÚ_is_templateÚ_setting_classÚset_test_templaterð   Ú_is_for_looprå   rù   rE   rí   r=   r–   s      r   r=   zTestCaseTable._tokenize„  s  € Ø�AŠ:ˆ:Øð +Ø&*�Ô#Ý#Ñ%Ô%×.Ò.¨uµjÑAÔAÐAØ�AŠ:ˆ:˜$×*Ò*¨5Ñ1Ô1ˆ:Ø× Ò  Ñ'Ô'ð 8Ø&+�Ô#Ø"&×"5Ò"5°dÔ6LÑ"MÔ"M�”�à"&×"5Ò"5Ñ"7Ô"7�”Ø�AŠ:ˆ:˜$×+Ò+¨EÑ2Ô2ˆ:Ý%™iœiˆDŒOØ�AŠ:ˆ:˜$Ÿ.š.¨Ñ/Ô/ˆ:Ø�F�OÐ$Ð$Ý×Ò  e¨UÑ3Ô3Ð3r   c                 óV   — |                      d¦  «        o|                     d¦  «        S )NrB   rC   )rk   rš   r   s     r   r  zTestCaseTable._is_setting•  s'   € Ø×Ò Ñ$Ô$Ð<¨¯ª¸Ñ)<Ô)<Ð<r   c                 ó(   — t          |¦  «        dk    S )Nz
[template]©r   r   s     r   r  zTestCaseTable._is_template˜  s   € Ý˜ÑÔ <Ò/Ð/r   c                 óV   — |                      d¦  «        ot          |d¬¦  «        dk    S )Nú:rr   Úfor)rk   r   r   s     r   r  zTestCaseTable._is_for_loop›  s-   € Ø×Ò Ñ$Ô$ÐN­°5ÀÐ)EÑ)EÔ)EÈÒ)NÐNr   c                 ó:   — |                       |¦  «        | _        d S rv   )Ú_is_template_setr  ©r   rÊ   s     r   r  zTestCaseTable.set_test_templatež  s   € Ø"×3Ò3°HÑ=Ô=ˆÔÐÐr   c                 ó:   — |                       |¦  «        | _        d S rv   )r  r  r   s     r   r`   z"TestCaseTable.set_default_template¡  s   € Ø!%×!6Ò!6°xÑ!@Ô!@ˆÔÐÐr   c                 ó$   — t          |¦  «        dvS )N)r   rÿ   Únonez${empty}r  r   s     r   r  zTestCaseTable._is_template_set¤  s   € Ý˜Ñ"Ô"Ð*HÐHÐHr   )r+   r,   r-   rÅ   r  r  r  Úpropertyrï   rõ   r=   r  r  r  r  r`   r  r4   r   r   r^   r^   u  sÃ   € € € € € Ø$€NØ€NØÐàðð ñ „XððCð Cð Cð4ð 4ð 4ð"=ð =ð =ð0ð 0ð 0ðOð Oð Oð>ð >ð >ðAð Að AðIð Ið Ið Ið Ir   r^   c                   ó   — e Zd ZeZeZd„ ZdS )rb   c                 ó   — dS rç   r4   r   s     r   r  zKeywordTable._is_template¬  r  r   N)r+   r,   r-   rº   rï   rÏ   r  r  r4   r   r   rb   rb   ¨  s.   € € € € € Ø"ÐØ#€Nðð ð ð ð r   rb   c                   óh   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )r9   c                 óÞ   — d | _         d | _        d | _        d| _        d| _        || _        d| _        	 |                      |¦  «         |                      ¦   «          d S # t          $ r Y d S w xY w)Nr™   F)
rD   rF   r&   r:   rH   Ú_identifiersÚ_may_have_internal_variablesÚ_splitÚ	_finalizeÚ
ValueError)r   r   r8   s      r   r   zVariableSplitter.__init__´  sˆ   € ØˆŒØˆŒ	ØˆŒ
ØˆŒ
ØˆŒØ'ˆÔØ,1ˆÔ)ð	Ø�KŠK˜ÑÔÐð �NŠNÑÔÐÐÐøõ ð 	ð 	ð 	ØˆDˆDð	øøøs   ³A Á
A,Á+A,c                 óR   — | j         r|                     | j        ¦  «        S | j        S rv   )r*  Úreplace_stringrF   )r   rP   s     r   Úget_replaced_basez"VariableSplitter.get_replaced_baseÃ  s+   € ØÔ,ð 	7Ø×+Ò+¨D¬IÑ6Ô6Ð6ØŒyÐr   c                 óx  — | j         d         | _        d                     | j         dd…         ¦  «        | _        | j        t          | j         ¦  «        z   | _        |                      ¦   «         rKd                     | j        dd…         ¦  «        | _	        | xj        t          | j        ¦  «        z  c_        d S d S )Nr   r   r   r™   re   )
Ú_variable_charsrD   ÚjoinrF   r:   r"   rH   Ú _has_list_or_dict_variable_indexÚ#_list_and_dict_variable_index_charsr&   rŽ   s    r   r,  zVariableSplitter._finalizeÈ  s¨   € ØÔ.¨qÔ1ˆŒØ—G’G˜DÔ0°°2°Ô6Ñ7Ô7ˆŒ	Ø”:¥ DÔ$8Ñ 9Ô 9Ñ9ˆŒØ×0Ò0Ñ2Ô2ð 	FØŸš Ô!IÈ!ÈBÈ$Ô!OÑPÔPˆDŒJØˆHŒH�˜DÔDÑEÔEÑEˆHŒHˆHˆHð	Fð 	Fr   c                 ó2   — | j         o| j         d         dk    S )Nr™   rC   )r5  rŽ   s    r   r4  z1VariableSplitter._has_list_or_dict_variable_indexÐ  s$   € ØÔ7ð @ØÔ4°RÔ8¸CÒ?ð	@r   c                 ó€  — |                       |¦  «        \  }}|| _        d| _        | j        | _        ||         dg| _        g | _        || _        |dz  }t          ||d …         ¦  «        D ]Q\  }}||z  }	 |                      ||¦  «         n# t          $ r Y  d S w xY w||k    r|  
                    ¦   «         s d S ŒRd S )Nre   r@   r   )Ú_find_variabler:   Ú_open_curlyÚ_variable_stateÚ_stater2  r5  Ú_stringrh   ÚStopIterationÚ_scanning_list_variable_index)r   r   Ústart_indexÚ	max_indexr&   r   s         r   r+  zVariableSplitter._splitÔ  sú   € Ø!%×!4Ò!4°VÑ!<Ô!<Ñˆ�YØ ˆŒ
ØˆÔØÔ*ˆŒØ & {Ô 3°SÐ9ˆÔØ35ˆÔ0ØˆŒØ�qÑˆÝ$ V¨K¨L¨LÔ%9Ñ:Ô:ð 	ð 	‰KˆE�4Ø�[Ñ ˆEðØ—’˜D %Ñ(Ô(Ð(Ð(øÝ ð ð ð Ø���ðøøøà˜Ò"Ð"¨4×+MÒ+MÑ+OÔ+OÐ"Ø��øð	ð 	s   Á7BÂ
BÂBc                 ó,   — | j         | j        | j        fv S rv   )r;  Ú"_waiting_list_variable_index_stateÚ_list_variable_index_staterŽ   s    r   r>  z.VariableSplitter._scanning_list_variable_indexæ  s$   € ØŒ{˜tÔFØ#Ô>ð@ð @ð 	@r   c                 ó  — |                      d¦  «        }|dk    rt          d¦  «        ‚|                      ||¦  «        r|                      |d |…         ¦  «        S |                      |d|¦  «        }|dk    rt          d¦  «        ‚||fS )NrA   r™   zNo variable end foundre   zNo variable start found)Úrfindr-  Ú_is_escapedr8  Ú_find_start_index)r   r   Úmax_end_indexr?  s       r   r8  zVariableSplitter._find_variableê  sž   € ØŸš SÑ)Ô)ˆØ˜BÒÐÝÐ4Ñ5Ô5Ð5Ø×Ò˜F MÑ2Ô2ð 	?Ø×&Ò& v¨n¨}¨nÔ'=Ñ>Ô>Ð>Ø×,Ò,¨V°Q¸ÑFÔFˆØ˜"ÒÐÝÐ6Ñ7Ô7Ð7Ø˜MÐ)Ð)r   c                 óª   — |                      d||¦  «        dz
  }|dk     rdS |                      ||¦  «        r|S |                      ||dz   |¦  «        S )Nr@   re   r   r™   r   )ÚfindÚ_start_index_is_okrG  )r   r   r:   rH   r&   s        r   rG  z"VariableSplitter._find_start_indexõ  sc   € Ø—’˜C ¨Ñ,Ô,¨qÑ0ˆØ�1Š9ˆ9Ø�2Ø×"Ò" 6¨5Ñ1Ô1ð 	ØˆLØ×%Ò% f¨e°A©g°sÑ;Ô;Ð;r   c                 óN   — ||         | j         v o|                      ||¦  «         S rv   )r)  rF  )r   r   r&   s      r   rK  z#VariableSplitter._start_index_is_oký  s1   € Ø�eŒ} Ô 1Ð1ð 0Ø× Ò  ¨Ñ/Ô/Ð/ð	0r   c                 ón   — d}|dk    r,||dz
           dk    r|dz  }| }|dk    r||dz
           dk    °|S )NFr   re   rÿ   r4   )r   r   r&   Úescapeds       r   rF  zVariableSplitter._is_escaped  sV   € ØˆØ�aŠiˆi˜F 5¨¡7œO¨tÒ3Ð3Ø�Q‰JˆEØ!�kˆGð �aŠiˆi˜F 5¨¡7œO¨tÒ3Ð3ð ˆr   c                 ó6  — | j                              |¦  «         |dk    ra|                      | j        |¦  «        sF| xj        dz  c_        | j        dk    r)|                      ¦   «         st          ‚| j        | _        d S d S || j	        v r| j
        | _        d S d S )NrA   re   r   )r2  rö   rF  r<  r9  Ú_is_list_or_dict_variabler=  rB  r;  r)  Ú_internal_variable_start_state©r   r   r&   s      r   r:  z VariableSplitter._variable_state  s°   € ØÔ×#Ò# DÑ)Ô)Ð)Ø�3Š;ˆ;˜t×/Ò/°´¸eÑDÔDˆ;ØÐÔ Ñ!ÐÔØÔ 1Ò$Ð$Ø×5Ò5Ñ7Ô7ð (Ý'Ð'Ø"ÔE�”��ð %Ð$ð �TÔ&Ð&Ð&ØÔ=ˆDŒKˆKˆKð 'Ð&r   c                 ó    — | j         d         dv S )Nr   )ú@ú&)r2  rŽ   s    r   rP  z*VariableSplitter._is_list_or_dict_variable  s   € ØÔ# AÔ&¨)Ð3Ð3r   c                 ó¼   — | j         | _        |dk    r3| j                             |¦  «         | xj        dz  c_        d| _        d S |                       ||¦  «         d S )Nr@   re   T)r:  r;  r2  rö   r9  r*  rR  s      r   rQ  z/VariableSplitter._internal_variable_start_state  sj   € ØÔ*ˆŒØ�3Š;ˆ;ØÔ ×'Ò'¨Ñ-Ô-Ð-ØÐÔ Ñ!ÐÔØ04ˆDÔ-Ð-Ð-à× Ò   uÑ-Ô-Ð-Ð-Ð-r   c                 ól   — |dk    rt           ‚| j                             |¦  «         | j        | _        d S )NrB   )r=  r5  rö   rC  r;  rR  s      r   rB  z3VariableSplitter._waiting_list_variable_index_state  s6   € Ø�3Š;ˆ;ÝÐØÔ0×7Ò7¸Ñ=Ô=Ð=ØÔ5ˆŒˆˆr   c                 óT   — | j                              |¦  «         |dk    rt          ‚d S )NrC   )r5  rö   r=  rR  s      r   rC  z+VariableSplitter._list_variable_index_state%  s/   € ØÔ0×7Ò7¸Ñ=Ô=Ð=Ø�3Š;ˆ;ÝÐð ˆ;r   N)r+   r,   r-   r   r0  r,  r4  r+  r>  r8  rG  rK  rF  r:  rP  rQ  rB  rC  r4   r   r   r9   r9   ²  sþ   € € € € € ðð ð ðð ð ð
Fð Fð Fð@ð @ð @ðð ð ð$@ð @ð @ð	*ð 	*ð 	*ð<ð <ð <ð0ð 0ð 0ðð ð ð	>ð 	>ð 	>ð4ð 4ð 4ð.ð .ð .ð6ð 6ð 6ð ð  ð  ð  ð  r   r9   )r   )5r.   rˆ   Úpygments.lexerr   Úpygments.tokenr   Ú__all__ÚGenericÚHeadingrx   ÚKeywordÚ	NamespacerÀ   ÚNamerÃ   Ú
Subheadingr  ÚFunctionrÛ   ÚStringrÁ   rÓ   rG   rž   r;   ÚPunctuationrw   rE   ÚEmphrà   ÚErrorr<   r   r   r   r   r\   r‹   r    r½   rÅ   rÏ   rº   rÚ   rã   rå   rí   rZ   ra   r_   r^   rb   r9   r4   r   r   ú<module>rg     sƒ  ððð ð0 
€	€	€	à  Ð  Ð  Ð  Ð  Ð  Ø  Ð  Ð  Ð  Ð  Ð  à Ð
!€ð Œ-Ô
€Ø
Œ-Ô
!€Ø	ŒÔ	€ØŒ]Ô%€
Ø
Œ*Ô
€ØŒ<€ØŒ:Ô€Ø
Œ-€ØÔ€	Ø	Ô	€Ø
Œ-Ô
€ØŒ€ðð ð ð ð,ð ,ð ,ð ,ð ,˜%ñ ,ô ,ð ,ð>?ð ?ð ?ð ?ð ?ñ ?ô ?ð ?ð0,:ð ,:ð ,:ð ,:ð ,:ñ ,:ô ,:ð ,:ð^ð ð ð ð ñ ô ð ð08ð 8ð 8ð 8ð 8ñ 8ô 8ð 8ð0ð ð ð ð ˆiñ ô ð ð7ð 7ð 7ð 7ð 7ˆiñ 7ô 7ð 7ð<!ð !ð !ð !ð !�Iñ !ô !ð !ð
5ð 
5ð 
5ð 
5ð 
5�gñ 
5ô 
5ð 
5ðRð Rð Rð Rð R�_ñ Rô Rð Rð
7ð 7ð 7ð 7ð 7ˆyñ 7ô 7ð 7ð;ð ;ð ;ð ;ð ;�)ñ ;ô ;ð ;ð$>ð >ð >ð >ð >ñ >ô >ð >ðð ð ð ð ˜9ñ ô ð ð
ð 
ð 
ð 
ð 
ˆiñ 
ô 
ð 
ð6ð 6ð 6ð 6ð 6ñ 6ô 6ð 6ð<ð ð ð ð �6ñ ô ð ð ð  ð  ð  ð  �Fñ  ô  ð  ðMð Mð Mð Mð M�6ñ Mô Mð Mð 0Ið 0Ið 0Ið 0Ið 0I�Fñ 0Iô 0Ið 0Iðfð ð ð ð �=ñ ô ð ðv ð v ð v ð v ð v ñ v ô v ð v ð v ð v r   