
    s                        S SK Jr   Sr
 " S S\5      r " S S\5      r " S S\5      r " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S \5      r " S! S"\5      r " S# S$\5      r " S% S&\5      r " S' S(\5      r " S) S*\5      r " S+ S,\5      r  " S- S.\5      r!g/)0    )unicode_literalsTc                   V    \ rS rSrSrS rS rS rS rS r	\
S 5       rSS	 jrS
 rSrg)Token   )
start_markend_mark_commentc                     Xl         X l        g N)r   r   )selfr   r   s      %lib/third_party/ruamel/yaml/tokens.py__init__Token.__init__   s    $     c                     U R                    Vs/ s H  oR                  S5      (       a  M  UPM     nnUR                  5         SR                  U Vs/ s H  o< S[	        X5      < 3PM     sn5      n[
        (       a&   US[        U R                  R                  5      -   -  n US[        U R                  5      -   -  nSR                  U R                  R                  U5      $ s  snf s  snf !    NP= f!    N;= f)N_markz, =, line: z, comment: z{}({}))	__slots__endswithsortjoingetattr	SHOWLINESstrr   liner	   format	__class____name__)r   key
attributes	argumentss       r   __repr__Token.__repr__   s     &*^^Q^c<<;Pc^
QIIjYjs#wt/ABjYZ	9Z#doo.B.B*CCC		T]]);;;I t~~66	BB RY	s(   C(C(C-%C2 'C9 2C69C=c                 T    [        U S5      (       d	  S S /U l        XR                  S'   g )Nr	   r   hasattrr	   )r   comments     r   add_post_commentToken.add_post_comment'   s&    tZ((!4LDM"ar   c                 x    [        U S5      (       d	  S S /U l        U R                  S   b   eXR                  S'   g )Nr	      r&   )r   commentss     r   add_pre_commentsToken.add_pre_comments-   s;    tZ((!4LDM}}Q'''#ar   c                     [        U SS 5      $ Nr	   r   r   s    r   get_commentToken.get_comment4   s    tZ..r   c                     [        U SS 5      $ r1   r2   r3   s    r   r(   Token.comment8   s     tZ..r   c                    U R                   nUc  g[        U[        [        45      (       a  g[	        U S5        UR                   nU(       d  U(       a  US   US   SSUS   /nX1l        U $ US   (       a
  US   (       d  US   (       a  US   (       a  [        SU< SU< 35      eUS   (       a  US   US'   US   (       a  US   US'   U $ )zmove a comment from this token to target (normally next token)
used to combine e.g. comments before a BlockEntryToken to the
ScalarToken that follows it
empty is a special for empty values -> comment after key
Nr	   r   r,   zoverlap in comment  )r(   
isinstanceStreamEndTokenDocumentStartTokendelattrr	   NotImplementedError)r   targetemptyctcs        r   move_commentToken.move_comment=   s     LL9f~/ABCCj!^^qT1Q4tQqT2OKQ4BqEQqTbe%Ar&JKKQ4aDBqEQ4aDBqEr   c                 d    U R                   nUb  US   c  gUS   S/nUS   c  [        U S5        U$ )zsplit the post part of a comment, and return it
as comment to be added. Delete second part if [None, None]
 abc:  # this goes to sequence
   # this goes to first element
   - first element
Nr   r,   r	   )r(   r=   )r   r(   ret_vals      r   split_commentToken.split_comment[   sE     ,,?gaj01:t$1:D*%r   )r	   r   r   N)F)r   
__module____qualname____firstlineno__r   r   r#   r)   r.   r4   propertyr(   rC   rG   __static_attributes__ r   r   r   r      s?    4I!
C$#$/ / /<r   r   c                   "    \ rS rSrSrSrS rSrg)DirectiveTokenp   )namevaluez<directive>c                 H    [         R                  XU5        Xl        X l        g r   )r   r   rR   rS   )r   rR   rS   r   r   s        r   r   DirectiveToken.__init__t   s    t2	
r   Nr   rI   rJ   rK   r   idr   rM   rN   r   r   rP   rP   p   s    I	Br   rP   c                       \ rS rSrSrSrSrg)r<   {   rN   z<document start>Nr   rI   rJ   rK   r   rW   rM   rN   r   r   r<   r<   {   s    I	Br   r<   c                       \ rS rSrSrSrSrg)DocumentEndToken   rN   z<document end>NrZ   rN   r   r   r\   r\      s    I	Br   r\   c                   &    \ rS rSrSrSrSS jrSrg)StreamStartToken   )encodingz<stream start>Nc                 <    [         R                  XU5        X0l        g r   )r   r   ra   )r   r   r   ra   s       r   r   StreamStartToken.__init__   s    t2 r   )NNNrV   rN   r   r   r_   r_      s    I	B!r   r_   c                       \ rS rSrSrSrSrg)r;      rN   z<stream end>NrZ   rN   r   r   r;   r;      s    I	Br   r;   c                       \ rS rSrSrSrSrg)BlockSequenceStartToken   rN   z<block sequence start>NrZ   rN   r   r   rg   rg      s    I	!Br   rg   c                       \ rS rSrSrSrSrg)BlockMappingStartToken   rN   z<block mapping start>NrZ   rN   r   r   rj   rj      s    I	 Br   rj   c                       \ rS rSrSrSrSrg)BlockEndToken   rN   z<block end>NrZ   rN   r   r   rm   rm      s    I	Br   rm   c                       \ rS rSrSrSrSrg)FlowSequenceStartToken   rN   [NrZ   rN   r   r   rp   rp          I	Br   rp   c                       \ rS rSrSrSrSrg)FlowMappingStartToken   rN   {NrZ   rN   r   r   ru   ru      rs   r   ru   c                       \ rS rSrSrSrSrg)FlowSequenceEndToken   rN   ]NrZ   rN   r   r   ry   ry      rs   r   ry   c                       \ rS rSrSrSrSrg)FlowMappingEndToken   rN   }NrZ   rN   r   r   r}   r}      rs   r   r}   c                       \ rS rSrSrSrSrg)KeyToken   rN   ?NrZ   rN   r   r   r   r      rs   r   r   c                       \ rS rSrSrSrSrg)
ValueToken   rN   :NrZ   rN   r   r   r   r      rs   r   r   c                       \ rS rSrSrSrSrg)BlockEntryToken   rN   -NrZ   rN   r   r   r   r      rs   r   r   c                       \ rS rSrSrSrSrg)FlowEntryToken   rN   ,NrZ   rN   r   r   r   r      rs   r   r   c                   "    \ rS rSrSrSrS rSrg)
AliasToken   rS   z<alias>c                 <    [         R                  XU5        Xl        g r   r   r   rS   r   rS   r   r   s       r   r   AliasToken.__init__       t2
r   NrV   rN   r   r   r   r      s    I	Br   r   c                   "    \ rS rSrSrSrS rSrg)AnchorToken   r   z<anchor>c                 <    [         R                  XU5        Xl        g r   r   r   s       r   r   AnchorToken.__init__   r   r   NrV   rN   r   r   r   r      s    I	Br   r   c                   "    \ rS rSrSrSrS rSrg)TagToken   r   z<tag>c                 <    [         R                  XU5        Xl        g r   r   r   s       r   r   TagToken.__init__   r   r   NrV   rN   r   r   r   r      s    I	Br   r   c                   &    \ rS rSrSrSrSS jrSrg)ScalarToken   )rS   plainstylez<scalar>Nc                 T    [         R                  XU5        Xl        X l        XPl        g r   )r   r   rS   r   r   )r   rS   r   r   r   r   s         r   r   ScalarToken.__init__   s    t2


r   )r   r   rS   r   rV   rN   r   r   r   r      s    )I	Br   r   c                   .    \ rS rSrSrSrS rS rS rSr	g)	CommentToken   )rS   pre_donez	<comment>c                 <    [         R                  XU5        Xl        g r   r   r   s       r   r   CommentToken.__init__   r   r   c                 @    [        U S5      (       a  [        U S5        g g )Nr   )r'   r=   r3   s    r   resetCommentToken.reset  s    4$$D*% %r   c                     SR                  U R                  5      n[        (       a&   US[        U R                  R
                  5      -   -  nSR                  U5      $ !    N= f)Nz{!r}r   zCommentToken({}))r   rS   r   r   r   r   )r   vs     r   r#   CommentToken.__repr__  sY    MM$**%9Z#doo&:&:";;; "((++s   %A A"r   N)
r   rI   rJ   rK   r   rW   r   r   r#   rM   rN   r   r   r   r      s    #I	B
&
,r   r   N)"
__future__r   typingTextAnyDictOptionalListerror
StreamMarkr   objectr   rP   r<   r\   r_   r;   rg   rj   rm   rp   ru   ry   r}   r   r   r   r   r   r   r   r   r   rN   r   r   <module>r      s   ( 	\F \FU  
u 
!u !U 
"e "
!U !
E 
U 
E 
5 
% 
u  
e 
U 
 % u 	% 	,5 ,r   