
    t                         S SK JrJrJrJr  S SKJr  S SKJr   / SQr " S S\5      r " S S\5      r\r " S	 S
\5      r " S S\5      r " S S\5      r " S S\5      rS rSS jrg)    )print_functionabsolute_importdivisionunicode_literals)	text_type)Anchor)ScalarStringLiteralScalarStringFoldedScalarStringSingleQuotedScalarStringDoubleQuotedScalarStringPlainScalarStringPreservedScalarStringc                   `    \ rS rSr\R
                  rS rS	S jr\	S 5       r
S
S jrS
S jrSrg)r	      c                     UR                  SS 5      n[        R                  " U /UQ70 UD6nUb  UR                  USS9  U$ )NanchorT)always_dump)popr   __new__yaml_set_anchor)clsargskwr   ret_vals        +lib/third_party/ruamel/yaml/scalarstring.pyr   ScalarString.__new__   sJ    $'##C5$5"5##F#=    c                 N    [        U 5      " [        R                  " XX#5      5      $ N)typer   replace)selfoldnew
maxreplaces       r   r"   ScalarString.replace#   s    Dz9,,THJJr   c                     [        U [        R                  5      (       d#  [        U [        R                  [        5       5        [	        U [        R                  5      $ r    )hasattrr   attribsetattrgetattr)r#   s    r   r   ScalarString.anchor'   s8     tV]]++D&--2tV]]++r   c                     [        U [        R                  5      (       d  g U(       d  U R                  R                  (       a  U R                  $ g r    )r)   r   r*   r   r   )r#   anys     r   yaml_anchorScalarString.yaml_anchor.   s2    tV]]++$++));;r   c                 D    XR                   l        X R                   l        g r    )r   valuer   )r#   r3   r   s      r   r   ScalarString.yaml_set_anchor6   s    !"-r    N))F)__name__
__module____qualname____firstlineno__r   r*   	__slots__r   r"   propertyr   r0   r   __static_attributes__r5   r   r   r	   r	      s4    IK , ,.r   r	   c                   &    \ rS rSrSrSrSS jrSrg)r
   <   comment|Nc                 *    [         R                  XUS9$ N)r   r	   r   r   r3   r   s      r   r   LiteralScalarString.__new__A       ##Cv#>>r   r5   r    r7   r8   r9   r:   r;   styler   r=   r5   r   r   r
   r
   <   s    IE?r   r
   c                   &    \ rS rSrSrSrSS jrSrg)r   I   )fold_posr@   >Nc                 *    [         R                  XUS9$ rC   rD   rE   s      r   r   FoldedScalarString.__new__N   rG   r   r5   r    rH   r5   r   r   r   r   I   s    'IE?r   r   c                   &    \ rS rSrSrSrSS jrSrg)r   S   r5   'Nc                 *    [         R                  XUS9$ rC   rD   rE   s      r   r    SingleQuotedScalarString.__new__X   rG   r   r    rH   r5   r   r   r   r   S       IE?r   r   c                   &    \ rS rSrSrSrSS jrSrg)r   ]   r5   "Nc                 *    [         R                  XUS9$ rC   rD   rE   s      r   r    DoubleQuotedScalarString.__new__b   rG   r   r    rH   r5   r   r   r   r   ]   rU   r   r   c                   &    \ rS rSrSrSrSS jrSrg)r   g   r5    Nc                 *    [         R                  XUS9$ rC   rD   rE   s      r   r   PlainScalarString.__new__l   rG   r   r    rH   r5   r   r   r   r   g   s    IE?r   r   c                 X    [        U R                  SS5      R                  SS5      5      $ )Nz

)r
   r"   )ss    r   preserve_literalrd   q   s%    qyy6>>tTJKKr   Nc                    SSK JnJnJn  Uc  S[        0n[        X5      (       aH  U  HA  nX   n[        Xb5      (       a  U H  nXv;   d  M
  X   " U5      X'     M2     M6  [        U5        MC     g[        X5      (       aO  [        U 5       H?  u  p[        X5      (       a  U H  nXy;   d  M
  X   " U	5      X'     M0     M4  [        U	5        MA     gg)a  
    the routine here walks over a simple yaml tree (recursing in
    dict values and list items) and converts strings that
    have multiple lines to literal scalars

    You can also provide an explicit (ordered) mapping for multiple transforms
    (first of which is executed):
        map = ruamel.yaml.compat.ordereddict
        map['
'] = preserve_literal
        map[':'] = SingleQuotedScalarString
        walk_tree(data, map=map)
    r   )string_typesMutableMappingMutableSequenceNra   )ruamel.yaml.compatrf   rg   rh   rd   
isinstance	walk_tree	enumerate)
basemaprf   rg   rh   kvchidxelems
             r   rk   rk   v   s     QP
{%&$''AA!**Bw"%'!* 
 !  
D	*	*"4IC$--Bz$'GDM	 
 $ ) 
+r   r    )
__future__r   r   r   r   ri   r   ruamel.yaml.anchorr   typingTextAnyDictList__all__r	   r
   r   r   r   r   r   rd   rk   r5   r   r   <module>r|      sz    S R ( %
!.9 !.H?, ? , ? ??| ??| ?? ?L
% r   