
    =OOf                       d dl mZ d dlZd dlmZmZ d dl d dlmZm	Z	m
Z
mZmZ 	 ddgZ G d de      Z G d	 d
      Z G d d      Z G d d      Z G d de      Zy)    )annotationsN)	YAMLErrorYAMLStreamError)*)nprintdbg	DBG_EVENTcheck_anchorname_charnprintfEmitterEmitterErrorc                      e Zd Zy)r   N)__name__
__module____qualname__     T/var/www/premiumrankchecker/venv/lib/python3.12/site-packages/ruamel/yaml/emitter.pyr   r      s    r   c                  @    e Zd Z	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 ddZddZy)ScalarAnalysisc	                t    || _         || _        || _        || _        || _        || _        || _        || _        y Nscalarempty	multilineallow_flow_plainallow_block_plainallow_single_quotedallow_double_quotedallow_block)	selfr   r   r   r   r   r   r    r!   s	            r   __init__zScalarAnalysis.__init__!   sA     
" 0!2#6 #6 &r   c                    d| j                   d| j                   d| j                   d| j                   d| j                   d| j
                   d| j                   d| j                   S )	Nzscalar=z, empty=z, multiline=z, allow_flow_plain=z, allow_block_plain=z, allow_single_quoted=z, allow_double_quoted=z, allow_block=r   r"   s    r   __repr__zScalarAnalysis.__repr__5   s    x

|<GWWjko  lA  lA  kB  BV  W[  Wm  Wm  Vn  nD  EI  E]  E]  D^  ^t  uy  uM  uM  tN  N\  ]a  ]m  ]m  \n  o  	or   N)r   Anyr   r'   r   r'   r   boolr   r(   r   r(   r    r(   r!   r(   returnNone)r)   str)r   r   r   r#   r&   r   r   r   r   r       se    '' ' 	'
 '  ' "' "' ' 
'(or   r   c                  V    e Zd Zd	dZd
dZddZddZddZ	 d	 	 	 	 	 	 	 ddZddZ	y)Indentsc                    g | _         y r   )valuesr%   s    r   r#   zIndents.__init__;   s	    .0r   c                >    | j                   j                  ||f       y r   )r/   append)r"   valseqs      r   r1   zIndents.append>   s    C:&r   c                <    | j                   j                         d   S Nr   )r/   popr%   s    r   r6   zIndents.popA   s    {{ ##r   c                n    	 | j                   d   d   r| j                   d   d   ryy# t        $ r Y yw xY w)N   TFr/   
IndexErrorr%   s    r   seq_seqzIndents.seq_seqD   sE    	{{2q!dkk"oa&8   		s   $( 	44c                F    	 | j                   d   d   S # t        $ r Y yw xY w)Nr8   r9   Fr;   r%   s    r   last_seqzIndents.last_seqL   s,    	;;r?1%% 		s    	  c                    t        | j                        dk  s| j                  d   d   st        | j                        dk(  s|sy| j                  d   d   | j                  d   d   nd}|r||z   S ||z   |z
  dz
  S )N   r:   r9   r   lenr/   )r"   
seq_indentcolumnpre_commentbases        r   seq_flow_alignzIndents.seq_flow_alignT   s    
 t{{at{{2q'94;;1$K%)[[_Q%7%Ct{{2q!*$$ j 6)A--r   c                ,    t        | j                        S r   rB   r%   s    r   __len__zIndents.__len__c   s    4;;r   Nr)   r*   )r2   r'   r3   r'   r)   r*   r)   r'   r)   r(   F)rD   intrE   rO   rF   Optional[bool]r)   rO   r)   rO   )
r   r   r   r#   r1   r6   r=   r?   rH   rJ   r   r   r   r-   r-   9   sL    1'$ KP..'*.9G.	. r   r-   c                  P   e Zd ZddddZdZdZdZdZdZd	Z	dZ
	 	 	 	 	 	 	 	 	 	 d]	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 d^dZed_d       Zej                  d`d       Zed_d       Zedad       ZdbdZdcdZdddZdedZ	 df	 	 	 	 	 	 	 dgdZdbdZdbdZd_dZdhdidZdbdZdbdZ	 	 	 	 dj	 	 	 	 	 	 	 	 	 dkdZdbdZdbdZdhdldZdbdZ dbd Z!	 dm	 	 	 	 	 dnd!Z"dbd"Z#dbd#Z$dbd$Z%dbd%Z&dbd&Z'd_d'Z(dhdid(Z)dbd)Z*dbd*Z+dhdod+Z,dbd,Z-dbd-Z.ddd.Z/ddd/Z0ddd0Z1ddd1Z2dpd2Z3dbd3Z4d_d4Z5dbd5Z6dqd6Z7drd7Z8dsd8Z9dtd9Z:dud:Z;dvd;Z<dbd<Z=dbd=Z>dbd>Z?	 	 dm	 	 	 	 	 	 	 	 	 dwd?Z@dbd@ZAdxdydAZBdzdBZCd{dCZDd|d}dDZEdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTZFd|d}dUZGd~dVZHddWZIdxddXZJd|d}dYZKdhddZZLdd[ZMdd\ZNy
)r   !!!)rS   ztag:yaml.org,2002:rT      [],{}Nc                   || _         | j                   (t        | j                   dd       | | j                   _        || _        d | _        d | _        g | _        | j                  | _        g | _	        d | _
        t               | _        d | _        g | _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d | _        d| _        d| _        |	| j6                  n|	| j6                  z   | _        |
| _        || _        || _        t@        jB                  dkD  | _"        |r|nd| _#        || _$        d| _%        || _&        |rd|cxk  rd	k  r
n n|| _%        | jJ                  | _'        d
| _(        |r|| jJ                  dz  kD  r|| _(        d| _)        |dv r|| _)        d | _*        d | _+        d | _,        d | _-        d | _.        d| _/        d| _0        y )N_emitterFr   T:i  rA   r9   
   P   
)r`   z
null)1dumpergetattrr\   streamencodingallow_space_breakstatesexpect_stream_startstateeventseventr-   indentsindentflow_contextroot_contextsequence_contextmapping_contextsimple_key_contextlinerE   
whitespace	indentioncompact_seq_seqcompact_seq_map
no_newline
open_endedcolonprefixed_colon+brace_single_entry_mapping_in_flow_sequence	canonicalallow_unicodesys
maxunicodeunicode_supplementarysequence_dash_offsettop_level_colon_alignbest_sequence_indentrequested_indentbest_map_indent
best_widthbest_line_breaktag_prefixesprepared_anchorprepared_taganalysisstylescalar_after_indicatoralt_null)r"   re   r~   rn   widthr   
line_breakblock_seq_indentr   prefix_colonr}   rc   s               r   r#   zEmitter.__init__x   s    ;;"wt{{J'M'U#'DKK  )-!% "$22
 "$
 y%) )+ " %$"' 	##*.   
,8,@djjlUYU_U_F_ 8 	8
 #*%(^^f%<"8H$4a!%:"$%! &a&o2o(.D%#88 UT66::#DO$(--#-D  "& %)!% "
&*#r   c                L    	 | j                   S # t        $ r t        d      w xY w)Nz#output stream needs to be specified)_streamAttributeErrorr   r%   s    r   re   zEmitter.stream   s/    	I<< 	I!"GHH	Is    #c                F    |y t        |d      st        d      || _        y )Nwritez.stream argument needs to have a write() method)hasattrr   r   )r"   r2   s     r   re   zEmitter.stream   s'    ;sG$!"RSSr   c                    	 t        | j                  d      r| j                  j                  S | j                  j                  S # t        $ r | cY S w xY w)Ntyp)r   rc   
serializer_serializerr   r%   s    r   r   zEmitter.serializer   sI    	t{{E*{{---;;*** 	K	s   +A A AAc                ,    t        | j                        S r   )rC   ro   r%   s    r   
flow_levelzEmitter.flow_level   s    4$$%%r   c                     g | _         d | _        y r   )rh   rj   r%   s    r   disposezEmitter.dispose   s    
r   c                    t        t              rt        |       | j                  j	                  |       | j                         sI| j                  j                  d      | _        | j                          d | _        | j                         sHy y r5   )	r   r	   r   rk   r1   need_more_eventsr6   rl   rj   r"   rl   s     r   emitzEmitter.emit  s`    y>5M5!'')+DJJJLDJ '')r   c                   | j                   sy| j                   d   }t        |t              r| j                  d      S t        |t              r| j                  d      S t        |t
              r| j                  d      S y)NTr   r9   rA      F)rk   
isinstanceDocumentStartEventneed_eventsSequenceStartEventMappingStartEventr   s     r   r   zEmitter.need_more_events  sp    {{Ae/0##A&&12##A&&01##A&&r   c                   d}| j                   dd  D ]S  }t        |t        t        f      r|dz  }n.t        |t        t
        f      r|dz  }nt        |t              rd}|dk  sS y t        | j                         |dz   k  S )Nr   r9   r:   F)rk   r   r   CollectionStartEventDocumentEndEventCollectionEndEventStreamEndEventrC   )r"   countlevelrl   s       r   r   zEmitter.need_events  s    [[_ 	E%"46J!KL
E$46H#IJ
E>2qy	 4;;%!)++r   c                0   | j                   j                  | j                  |       | j                  |r| j                  | _        y d| _        y |sF| xj                  | j                   j	                         r| j
                  n| j                  z  c_        y y r5   )rm   r1   rn   r   r?   r   r   )r"   flowsequence
indentlesss       r   increase_indentzEmitter.increase_indent*  su     	DKK2;; #33KK-1\\-B-B-D))$J^J^K r   c                8   t        | j                  t              ri| j                  j                  r1t	        | j
                  d      s| j                  j                  | _        | j                          | j                  | _        y t        d| j                        )Nrf   z#expected StreamStartEvent, but got )
r   rl   StreamStartEventrf   r   re   write_stream_startexpect_first_document_startrj   r   r%   s    r   ri   zEmitter.expect_stream_startF  sl    djj"23zz""74;;
+K $

 3 3##%99DJ!DTZZNSTTr   c                2    t        d| j                        )Nzexpected nothing, but got )r   rl   r%   s    r   expect_nothingzEmitter.expect_nothingO  s    7

~FGGr   c                &    | j                  d      S NT)first)expect_document_startr%   s    r   r   z#Emitter.expect_first_document_startT  s    )))55r   c                   t        | j                  t              r,| j                  j                  s| j                  j                  r.| j
                  r"| j                  dd       | j                          | j                  j                  r6| j                  | j                  j                        }| j                  |       | j                  j                         | _        | j                  j                  rt        | j                  j                  j                               }|D ]^  }| j                  j                  |   }|| j                  |<   | j                  |      }| j!                  |      }| j#                  ||       ` |xrk | j                  j$                   xrR | j&                   xrC | j                  j                   xr* | j                  j                   xr | j)                          }|s>| j                          | j                  dd       | j&                  r| j                          | j*                  | _        y t        | j                  t.              rP| j
                  r"| j                  dd       | j                          | j1                          | j2                  | _        y t5        d| j                        )N...T---z%expected DocumentStartEvent, but got )r   rl   r   versiontagsrz   write_indicatorwrite_indentprepare_versionwrite_version_directiveDEFAULT_TAG_PREFIXEScopyr   sortedkeysprepare_tag_handleprepare_tag_prefixwrite_tag_directiveexplicitr~   check_empty_documentexpect_document_rootrj   r   write_stream_endr   r   )	r"   r   version_texthandleshandleprefixhandle_textprefix_textimplicits	            r   r   zEmitter.expect_document_startW  s1   djj"45

""djjoo4??$$UD1!!#zz!!#33DJJ4F4FG,,\: $ 9 9 > > @Dzz !5!5!78% GF!ZZ__V4F06D%%f-"&"9"9&"AK"&"9"9&"AK,,[+FG  4

+++4&4 

***4 

'	4
 1133  !!#$$UD1>>%%'22DJ

N3$$UD1!!#!!#,,DJ!FtzznUVVr   c                :   t        | j                  t              rj| j                          | j                  j                  r"| j                  dd       | j                          | j                          | j                  | _        y t        d| j                        )Nr   Tz#expected DocumentEndEvent, but got )
r   rl   r   r   r   r   flush_streamr   rj   r   r%   s    r   expect_document_endzEmitter.expect_document_end  sv    djj"23zz""$$UD1!!#33DJ!DTZZNSTTr   c                r    | j                   j                  | j                         | j                  d       y )NT)root)rh   r1   r   expect_noder%   s    r   r   zEmitter.expect_document_root  s+    4334d#r   c                   || _         || _        d}|| _        || _        t	        | j
                  t              r| j                          y t	        | j
                  t        t        f      r| j                  d      r-t	        | j
                  t              r| j                  rd| _        |r6t	        | j
                  t              r| j                  s| j                          | j                          t	        | j
                  t              r| j                          y t	        | j
                  t              r| j                   | j"                  }}| j
                  j$                  r| j
                  j&                  du r)| j)                  | j
                        rd| _        d| _        | j
                  j&                  r| j*                  }| j-                  | j
                        rL| j
                  j&                  r| j.                  j0                  d   d    }|| _        | j                    | _        | j
                  j&                  r| _        | j2                  s2| j4                  s&| j
                  j&                  s| j7                         r| j9                  |       n| j;                          | j.                  j=                         rd| _        d| _        y t	        | j
                  t>              rV| j
                  j&                  du r1| j
                  j$                  r| j)                  | j
                         | j
                  j$                  r}| j
                  j$                  d   rd| j-                  | j
                         | j
                  j&                  r3| j.                  j0                  r| j.                  j0                  d   d    }| j2                  s2| j4                  s&| j
                  j&                  s| jA                         r+| jC                  | j
                  jD                  dk(  |       y | jG                          y y y tI        d      )NF&Tr:   r9   )singleforce_flow_indentz*expected NodeEvent, but got {self.event!s})%rp   rq   rr   rs   r   rl   
AliasEventexpect_aliasScalarEventr   process_anchorr   r   process_tagexpect_scalarr   rv   ry   comment
flow_stylewrite_post_commentrE   write_pre_commentrm   r/   r   r~   check_empty_sequenceexpect_flow_sequenceexpect_block_sequencer=   r   check_empty_mappingexpect_flow_mappingnr_itemsexpect_block_mappingr   )	r"   r   r   mapping
simple_keyr   i2n2rE   s	            r   r   zEmitter.expect_node  s%    ! (!&",djj*-

[2F$GH##C(tzz;7))(-%tzz;733!!#$**k2""$DJJ(:;B::%%zz,,5224::>-2DN.2DOzz,,!%--djj9::0048LL4G4G4KA4N0N-)+.2nn*<zz,,&,OO~~zz,,002--.?@..0<<'')%)DN&+DODJJ(9:::((E1djj6H6H++DJJ7::%%$***<*<Q*?**4::6zz,,1D1D040C0CB0G0J,J)OO~~zz,,//1,,#zz22a7K\ -  --/# ;	 *. KLLr   c                    | j                   j                  t        d      | j                  d       | j                  j                         | _        y )Nz!anchor is not specified for aliasr   )rl   anchorr   r   rh   r6   rj   r%   s    r   r   zEmitter.expect_alias  s>    ::$BCCC [[__&
r   c                    | j                  d       | j                          | j                  j                         | _        | j
                  j                         | _        y )NT)r   )r   process_scalarrm   r6   rn   rh   rj   r%   s    r   r   zEmitter.expect_scalar  sE    $'ll&&([[__&
r   c                Z   |r| j                  dd       | j                  j                  | j                  | j                  |      }| j                  d|z  | j                  z   dd       |s| j                  dd       | j                  j                  d       | j                  | _
        y )NTr   r    ru   rV   )r   rm   rH   r   rE   r   flow_seq_startro   r1   expect_first_flow_sequence_itemrj   )r"   r   inds      r   r   zEmitter.expect_flow_sequence  s      dT :ll))%%t{{4E
 	S3Y)<)<<dtT   dT :  %99
r   c                   t        | j                  t              r| j                  j	                         | _        | j                  j	                         }|dk(  sJ | j                  | j                  d       | j                  j                  r5| j                  j                  d   r| j                  | j                         n| j                  dk(  r| j                          | j                  j	                         | _        y | j                  s| j                   | j"                  kD  r| j%                          | j                  j'                  | j(                         | j+                  d       y NrV   Fr   Tr   )r   rl   SequenceEndEventrm   r6   rn   ro   r   flow_seq_endr   r   r   write_line_breakrh   rj   r~   rE   r   r   r1   expect_flow_sequence_itemr   r"   poppeds     r   r  z'Emitter.expect_first_flow_sequence_item  s    djj"23,,**,DK&&**,FS= =  !2!2E:zz!!djj&8&8&;''

3A%%%'*DJ~~t!>!!#KKt==>d+r   c                V   t        | j                  t              r| j                  j	                         | _        | j                  j	                         }|dk(  sJ | j                  r,| j                  | j                  d       | j                          | j                  | j                  d       | j                  j                  r5| j                  j                  d   r| j                  | j                         nd| _        | j                  j	                         | _        y | j                  | j                  d       | j                  s| j"                  | j$                  kD  r| j                          | j                  j'                  | j(                         | j+                  d       y r
  )r   rl   r  rm   r6   rn   ro   r~   r   flow_seq_separatorr   r  r   r   ry   rh   rj   rE   r   r1   r  r   r  s     r   r  z!Emitter.expect_flow_sequence_item  s0   djj"23,,**,DK&&**,FS= =~~ $$T%<%<eD!!#  !2!2E:zz!!djj&8&8&;''

3"'*DJ  !8!8%@~~t!>!!#KKt==>d+r   c                   |r| j                  dd       | j                  j                  | j                  | j                  |      }| j
                  }|r8| j                  r,| j                  d   dk(  r| j                  s| j                  sd}| j                  d|z  |z   dd       | j                  j                  |       |s| j                  dd       | j                  | _        y )	NTFr  r:   rV    r  r  )r   rm   rH   r   rE   flow_map_startr   ro   r~   r}   r   r1   expect_first_flow_mapping_keyrj   )r"   r   r   r  map_inits        r   r   zEmitter.expect_flow_mapping)  s       dU ;ll))%%t{{4E
 &&!!"%,NNDD HS3Y14DI  *   dU ;77
r   c                   t        | j                  t              r| j                  j	                         | _        | j                  j	                         }|dk(  sJ | j                  | j                  d       | j                  j                  r5| j                  j                  d   r| j                  | j                         n| j                  dk(  r| j                          | j                  j	                         | _        y | j                  s| j                   | j"                  kD  r| j%                          | j                  sI| j'                         r9| j                  j)                  | j*                         | j-                  dd       y | j                  dd       | j                  j)                  | j.                         | j-                  d       y )NrY   Fr   Tr   r   ?r   )r   rl   MappingEndEventrm   r6   rn   ro   r   flow_map_endr   r   r   r  rh   rj   r~   rE   r   r   check_simple_keyr1    expect_flow_mapping_simple_valuer   expect_flow_mapping_valuer  s     r   r  z%Emitter.expect_first_flow_mapping_keyA  sL   djj/2,,**,DK&&**,FS= =  !2!2E:zz!!djj&8&8&;''

3A%%%'*DJ~~t!>!!#>>d&;&;&=""4#H#HI  $ ?$$S$/""4#A#AB   .r   c                ,   t        | j                  t              r
| j                  j	                         | _        | j                  j	                         }|dv sJ | j                  r,| j                  | j                  d       | j                          |dk7  r| j                  | j                  d       | j                  j                  r5| j                  j                  d   r| j                  | j                         nd| _        | j                  j	                         | _        y | j                  | j                  d       | j                  s| j"                  | j$                  kD  r| j                          | j                  sI| j'                         r9| j                  j)                  | j*                         | j-                  dd       y | j                  dd       | j                  j)                  | j.                         | j-                  d       y )	N)rY   r  Fr  r   Tr  r  r  )r   rl   r  rm   r6   rn   ro   r~   r   flow_map_separatorr   r  r   r   ry   rh   rj   rE   r   r  r1   r   r   r!  r  s     r   expect_flow_mapping_keyzEmitter.expect_flow_mapping_keyX  s   djj/2 ,,**,DK&&**,FY&&&~~$$T%<%<eD!!#|$$T%6%6>zz!!djj&8&8&;''

3"'*DJ  !8!8%@~~t!>!!#>>d&;&;&=""4#H#HI  $ ?$$S$/""4#A#AB   .r   c                    t        | j                  dd      dk7  r| j                  | j                  d       | j                  j                  | j                         | j                  d       y )Nr   r  -FTr  )rd   rl   r   r|   rh   r1   r$  r   r%   s    r   r   z(Emitter.expect_flow_mapping_simple_valuev  sV    4::w,3  !4!4e<4778&r   c                   | j                   s| j                  | j                  kD  r| j                          | j	                  | j
                  d       | j                  j                  | j                         | j                  d       y )NTr  )
r~   rE   r   r   r   r|   rh   r1   r$  r   r%   s    r   r!  z!Emitter.expect_flow_mapping_value|  sc    >>T[[4??:T00$74778&r   c                    | j                   r| j                   }n-d}| j                  s| j                  dk7  r| j	                          | j                  dd|       | j                  | _        y )NFr   T)r   r   r   )rr   rv   rw   rE   r  r    expect_first_block_sequence_itemrj   )r"   r   s     r   r   zEmitter.expect_block_sequence  s^    !^^+JJ''DKK1,<%%'%$:N::
r   c                &    | j                  d      S r   )expect_block_sequence_itemr%   s    r   r)  z(Emitter.expect_first_block_sequence_item  s    ..T.::r   c                N   |st        | j                  t              r| j                  j                  r4| j                  j                  d   r| j	                  | j                         | j
                  j                         | _        | j                  j                         | _	        d| _
        y | j                  j                  r4| j                  j                  d   r| j	                  | j                         | j                  dk(  r| j                  nd}| j                          | j                  }| j                  d|z  dz   dd       |s| j                  dz   | j                  kD  rd| _
        | j                  j!                  | j"                         | j%                  d	       y )
Nr9   Fr   r  r&  Trv   rA   r  )r   rl   r  r   r   rm   r6   rn   rh   rj   ry   rE   r   r   r   r   r1   r+  r   )r"   r   nonlr  s       r   r+  z"Emitter.expect_block_sequence_item  s5   DJJ0@Azz!!djj&8&8&;&&tzz2,,**,DK*DJ#DOzz!!djj&8&8&;&&tzz2&*kkQ&64??ED++C  sS$$ Gt0014t7P7PP"&KKt>>?d+r   c                    | j                   s+| j                  s| j                  dk(  s| j                          | j	                  dd       | j
                  | _        y )Nr   Fr  )rr   rx   rE   r  r   expect_first_block_mapping_keyrj   r%   s    r   r   zEmitter.expect_block_mapping  sK    ##T-A-AT[[TUEU!!#%%888
r   c                &    | j                  d      S r   )expect_block_mapping_keyr%   s    r   r0  z&Emitter.expect_first_block_mapping_key  s    ,,4,88r   c                   |st        | j                  t              r| j                  j                  r4| j                  j                  d   r| j	                  | j                         | j
                  j                         | _        | j                  j                         | _	        y | j                  j                  r4| j                  j                  d   r| j	                  | j                         | j                          | j                         rt        | j                  t        t        f      s.	 | j                  j                  dk(  r| j                  ddd       | j                  j#                  | j$                         | j'                  dd       t        | j                  t(              r6| j                  j                  dk(  s| j*                  j-                  d       y y y | j                  ddd       | j                  j#                  | j.                         | j'                  d       y # t         $ r Y w xY w)Nr9   r  Tr-  r  r  r  )r   rl   r  r   r   rm   r6   rn   rh   rj   r   r  r   r   r   r   r   r1   !expect_block_mapping_simple_valuer   r   re   r   expect_block_mapping_value)r"   r   s     r   r2  z Emitter.expect_block_mapping_key  s   DJJ@zz!!djj&8&8&;&&tzz2,,**,DK*DJzz!!djj&8&8&;&&tzz2$$&!JJ!35F G::++s2 00dd0K ""4#I#IJ  $ ?djj*5djj>N>NRU>UKK%%c* ?V5 $$S$$$?""4#B#BC   . * s   1-H3 3	H?>H?c                l   t        | j                  dd       dk7  rc| j                  dk(  r6| j                  *d| j                  | j                  z
  z  | j
                  z   }n| j                  }| j                  |d       | j                  j                  | j                         | j                  d       y )Nr   r  r   r  FTr  )rd   rl   rn   r   rE   r{   r|   r   rh   r1   r2  r   )r"   cs     r   r4  z)Emitter.expect_block_mapping_simple_value  s    4::w-4{{aD$>$>$J455CDtzzQ''  E*4889&r   c                    | j                          | j                  | j                  dd       | j                  j	                  | j
                         | j                  d       y )NTr-  r  )r   r   r|   rh   r1   r2  r   r%   s    r   r5  z"Emitter.expect_block_mapping_value  sR    T00$$G4889&r   c                    t        | j                  t              xr4 t        | j                        xr t        | j                  d   t
              S r5   )r   rl   r   r(   rk   r  r%   s    r   r   zEmitter.check_empty_sequence  s?    tzz#56 =T[[!=4;;q>+;<	
r   c                    t        | j                  t              xr4 t        | j                        xr t        | j                  d   t
              S r5   )r   rl   r   r(   rk   r  r%   s    r   r   zEmitter.check_empty_mapping  s>    tzz#45 <T[[!<4;;q>?;	
r   c                   t        | j                  t              r| j                  sy| j                  d   }t        |t              xr= |j
                  d u xr- |j                  d u xr |j                  xr |j                  dk(  S )NFr   r  )	r   rl   r   rk   r   r   tagr   valuer   s     r   r   zEmitter.check_empty_document  sy    $**&89Auk* "$"		T!" " r!	
r   c                >   d}t        | j                  t              rd| j                  j                  N| j                  *| j                  | j                  j                        | _        |t        | j                        z  }t        | j                  t        t        f      rd| j                  j                  N| j                  *| j                  | j                  j                        | _
        |t        | j                        z  }t        | j                  t              rX| j                  *| j                  | j                  j                        | _        |t        | j                  j                         z  }|| j"                  k  xr t        | j                  t$              xs t        | j                  t&              xr | j                  j(                  du xs t        | j                  t*              xr | j                  j(                  du xs t        | j                  t              xrN | j                  j,                  xr | j.                  xr | j.                  dv xr | j                  j0                   xs" | j3                         xs | j5                         S )Nr   Tz'")r   rl   	NodeEventr   r   prepare_anchorrC   r   r   r<  r   prepare_tagctagr   analyze_scalarr=  r   MAX_SIMPLE_KEY_LENGTHr   r   r   r   r   r   r   r   r   )r"   lengths     r   r  zEmitter.check_simple_key  s   djj),1B1B1N##+'+':':4::;L;L'M$c$..//FtzzK1E#FG

*  ($($4$4TZZ__$E!c$++,,Fdjj+.}}$ $ 3 3DJJ4D4D Ec$--..//F222 
tzz:. 
*4::'9:\tzz?T?TX\?\
*4::'89[djj>S>SW[>[
* 4::{3 0,,WW

RW@WX0 ///
* ((*
* '')	
r   c                   | j                   j                  d | _        y| j                  *| j                  | j                   j                        | _        | j                  r&| j	                  || j                  z   d       d| _        d | _        y)NFT)rl   r   r   r@  r   ry   )r"   	indicators     r   r   zEmitter.process_anchor  s|    ::$#'D '#'#6#6tzz7H7H#ID   T-A-A!A4H#DO#r   c                L   | j                   j                  }t        | j                   t              r| j                  | j                         | _        | j                   j                  dk(  rW| j                  dk(  rH|dk(  rC| j                  7| j                  | j                   _        d | _        | j                         | _        | j                  r|X| j                  dk(  r| j                   j                  d   s(| j                  dk7  r!| j                   j                  d   rd | _        y | j                   j                  d   r8|6d}d | _        n,| j                  r|| j                   j                  rd | _        y |t        d      | j                  *| j                  | j                   j                        | _        | j                  rU| j                  | j                  d       | j                   r-| j"                  s!t        | j                   t              rd| _        d | _        y )	Nr  'ztag:yaml.org,2002:nullr   r9   rS   ztag is not specifiedT)rl   r<  r   r   r   choose_scalar_styler=  r   r   r~   r   r   r   rA  rB  r   rq   r   ry   )r"   r<  s     r   r   zEmitter.process_tag,  s   jjnndjj+.zz!!557
JJ$$*

c)771'+}}DJJ$$(DM!%!9!9!;DJNNckr!djj&9&9!&<JJ"$)<)<Q)?$(!zz""1%#+$(!NNcktzz7J7J$(!;566$ $ 0 0 AD  !2!2D9%%tzz;7"& r   c                   | j                   j                  dk(  r$| j                   j                  j                  dk(  ry | j                  *| j                  | j                   j                        | _        | j                   j                  dk(  s| j                  ry| j                   j                  r2| j                   j                  dk(  s| j                   j                  dk(  r| j                   j                  d   s| j                   j                  d   s| j                  r,| j                  j                  s[| j                  j                  sE| j                  r| j                  j                  s"| j                  s| j                  j                  ry| j                   j                  dk(  ryd| j                  _        | j                   j                  r\| j                   j                  d	v rD| j                  s8| j                  s,| j                  j                  r| j                   j                  S | j                   j                  sG| j                  j                   r1d
| j                   j                  v sd| j                   j                  v ry| j                   j                  r| j                   j                  d
k(  r9| j                  j"                  r#| j                  r| j                  j                  sy
y)Nr  rT   "r  r&  r   rA   Tz|>rI  r`   )rl   r=  rB  r   r   rC  r   r~   r   rs   r   r   r   r   r   r!   r    r   r%   s    r   rJ  zEmitter.choose_scalar_styleU  s   ::r!djjoo&<&<&D==  //

0@0@ADM::s"dnn

  DJJ$4$4$;tzz?O?OSV?VJJ"$***=*=a*@ ''T]]-@-@DMMD[D[MM22DMM,K,Kzz3&$(!::

 0 0D 8OO//MM--zz'''zzDMM$E$Edjj&&&$$**2B2B*Bzz4::#3#3s#:}}00''DMM,C,Cr   c                   | j                   *| j                  | j                  j                        | _         | j                  | j                         | _        | j                   }| j                  r| j                  s| j                          | j                  dk(  r(| j                  | j                   j                  |       n| j                  dk(  r(| j                  | j                   j                  |       n| j                  dk(  r	 | j                  j                  d   d   }| j!                  | j                   j                  |       | j                  j                  r{| j                  j                  d   ra| j                  j                  d   j"                  | j$                  k\  r0| j$                  dz
  | j                  j                  d   _        n| j                  dk(  r	 | j                  j                  d   d   }| j'                  | j                   j                  |       | j                  j                  r| j                  j                  d   r| j                  j                  d   j"                  | j$                  k\  rR| j$                  dz
  | j                  j                  d   _        n&| j)                  | j                   j                  |       d | _         d | _        | j                  j                  r| j+                  | j                         y y # t        t        f$ r}d}Y d }~d }~ww xY w# t        t        f$ r d}Y Kw xY w)NrL  rI  >r9   r   r  |)r   rC  rl   r=  r   rJ  rs   rq   r   r   write_double_quotedr   write_single_quotedr   r<   	TypeErrorwrite_foldedrE   rn   write_literalwrite_plainr   )r"   splitcmxes       r   r  zEmitter.process_scalar|  s   ==  //

0@0@ADM::113DJ+++
   ::$$T]]%9%95AZZ3$$T]]%9%95AZZ3jj((+A. dmm22C8

""JJ&&q)JJ&&q)00DKK? 04{{Q

""1%,ZZ3jj((+A. t}}33S9

""JJ&&q)JJ&&q)00DKK? 04{{Q

""1%,T]]1159
::##DJJ/ 9 	*  	* s*   L  ,L?  L</L77L<?MMc                N    |\  }}|dk7  rt        d|dd|d      |dd|dS )Nr9   zunsupported YAML version: d.r   )r"   r   majorminors       r   r   zEmitter.prepare_version  sD    uA:!;E!9AeAYOPP!E!9%%r   c                    |st        d      |d   dk7  s|d   dk7  rt        d|      |dd D ]A  }d|cxk  rdk  rn d	|cxk  rd
k  rn d|cxk  rdk  r+n |dv r2t        d|d|       |S )Nztag handle must not be emptyr   rS   r:   z(tag handle must start and end with '!': r9   09AZazz-_invalid character z in the tag handle: r\  )r"   r   chs      r   r   zEmitter.prepare_tag_handle  s    =>>!9vbzS0!I&TUU2, 	^B2$$r(8S(8C2<L<LPRVZPZ"%7v=QRXQ[#\]]	^ r   c                &   |st        d      g }dx}}|d   dk(  rd}d}| j                  r#t        | j                  dd      }||dk\  r|dz  }|t        |      k  r||   }d	|cxk  rd
k  s n d|cxk  rdk  sn d|cxk  rdk  sn ||v r|dz  }nG||k  r|j	                  |||        |dz   x}}|}|D ]   }|j	                  dt        |      d       " |t        |      k  r||k  r|j	                  |||        dj                  |      S )Nztag prefix must not be emptyr   rS   r9   -;/?:@&=+$,_.~*'()[]r   r9   rA   #r`  ra  rb  rc  rd  re  %02Xr  )r   rc   rd   rC   r1   ordjoin)	r"   r   chunksstartendch_setr   rg  datas	            r   r   zEmitter.prepare_tag_prefix  s:   =>>!9C';;dkk9f=G'V"3#CKBbC3"#3#3sb7GC7G2QW<q3;MM&s"34!Ag% 5BMMAc"gc]"345 CK 3;MM&s+,wwvr   c                d   |st        d      t        |      }|dk(  s|dk(  r|S d }|}t        | j                  j	                               }|D ]N  }|j                  |      s|dk(  st        |      t        |      k  s2| j                  |   }|t        |      d  }P g }dx}}d}	| j                  r#t        | j                  dd      }
|
|
dk\  r|	dz  }	|t        |      k  r||   }d	|cxk  rd
k  s*n d|cxk  rdk  sn d|cxk  rdk  sn ||	v s
|dk(  r|dk7  r|dz  }nG||k  r|j                  |||        |dz   x}}|}|D ]   }|j                  dt        |      d       " |t        |      k  r||k  r|j                  |||        dj                  |      }|r||S d|dS )Ntag must not be emptyrS   rT   r   ri  r   rj  rk  r`  ra  rb  rc  rd  re  r9   rl  rm  r  !<rN  )r   r+   r   r   r   
startswithrC   rc   rd   r1   rn  ro  )r"   r<  r   suffixprefixesr   rp  rq  rr  rs  r   rg  rt  suffix_texts                 r   rA  zEmitter.prepare_tag  s   677#h#:J$++0023 	,F~~f%6S=CK#c(<R**62S[]+	, ';;dkk9f=G'V"3#CKBr S "##"##<#I&C-q3;MM&s"34!Ag% 5BMMAc"gc]"345 CK" 3;MM&s+,ggfoZ//a((r   c                f    |st        d      |D ]  }t        |      rt        d|d|       |S )Nzanchor must not be emptyrf  z in the anchor: )r   r
   )r"   r   rg  s      r   r@  zEmitter.prepare_anchor  sK    9:: 	ZB(,"%7v=MfZ#XYY	Z r   c           
        |st        |ddddddd      S d}d}d}d}d}d}d}d}	d}
d}|j                  d      s|j                  d      rd}d}d}t        |      dk(  xs |d   dv }d}d}d}|t        |      k  r~||   }|dk(  rH|d	v rd}d}|d
v r0| j                  j                  dk(  rd}nt        |      dk(  rd}|rd}|dk(  rC|rAd}d}n<|dv rd}|dk(  r| j                  j                  dk(  rd}|dk(  r|rd}d}|dk(  r|rd}d}|dv rd}|dk(  s\d|cxk  rdk  sQn |dk(  s4d|cxk  rdk  s)n d|cxk  rdk  sn | j
                  r"d|cxk  rdk  rn n|dk7  r| j                  sd}nd}|dk(  r#|dk(  rd}|t        |      dz
  k(  rd}|rd}
d}d}n+|dv r#|dk(  rd}|t        |      dz
  k(  rd}	|rd}d}d}nd}d}|dz  }|dv }|dz   t        |      k\  xs
 ||dz      dv }|t        |      k  r~d}d}d}d}d}|s|s|s|	rdx}}|rd}|
rdx}x}}|r	dx}x}x}}n|rdx}x}}| j                  sd}|rdx}}|rd}|rd}t        |d||||||      S )NTFr   r   r   r9   u     	
  r   z#,[]{}&*!|>'"%@`z?:)r9   r9   r&  z,[]{}r  r]   rk  	   
  r`   r  ~          ퟿      �   𐀀   􏿿   ﻿)r   rx  rC   r   use_versionr   r   rg   )r"   r   block_indicatorsflow_indicatorsline_breaksspecial_charactersleading_spaceleading_breaktrailing_spacetrailing_breakbreak_spacespace_breakpreceeded_by_whitespacefollowed_by_whitespaceprevious_spaceprevious_breakindexrg  r   r   r   r    r!   s                          r   rC  zEmitter.analyze_scalar  s   !!&"&$($(!	 	 !"  U#v'8'8'?#"O #' "%V!1!]VAYB]5]  c&k!B z,,&*O'+$:22f<*.V)*.-+/(9!7&*O'+$ =&*O9!<!<!F&*O9-*.+/(9!8&*O'+$ ))"$J&B"8&"8&L/x/211228Zl8ZHn---1*)-& SyA:$(MCK!O+%)N!"&K!%!&++A:$(MCK!O+%)N!"&K!&!%!&!& QJE&(,G&G#	S[(\F519,=A\,\ #W c&k!`   "" M^~3880 K INNN03F W\\\0\3FINNN03F))# 3880 $  %!-/ 3 3#	
 		
r   c                f    t        | j                  d      r| j                  j                          y y )Nflush)r   re   r  r%   s    r   r   zEmitter.flush_stream  s%    4;;(KK )r   c                    | j                   rQ| j                   j                  d      r5| j                  j                  dj	                  | j                                y y y )Nzutf-16r  )rf   rx  re   r   encoder%   s    r   r   zEmitter.write_stream_start  sA    ==T]]55h?KKhoodmm<= @=r   c                $    | j                          y r   )r   r%   s    r   r   zEmitter.write_stream_end  s    r   c                H   | j                   s|s|}nd|z   }|| _         | j                  xr || _        | xj                  t        |      z  c_        d| _        t        | j                        r|j                  | j                        }| j                  j                  |       y )Nr  F)
ru   rv   rE   rC   rz   r(   rf   r  re   r   )r"   rG  need_whitespaceru   rv   rt  s         r   r   zEmitter.write_indicator  s{     ??/D?D$5Is4y ;;t}}-D$r   c                   | j                   xs d}| j                  r*| j                  |kD  s| j                  |k(  r9| j                  s-t	        | j
                        rd| _        n| j                          | j                  |k  rcd| _        d|| j                  z
  z  }|| _        | j                  r|j                  | j                        }| j                  j                  |       y y )Nr   FTr  )rn   rv   rE   ru   r(   ry   r  rf   r  re   r   )r"   rn   rt  s      r   r   zEmitter.write_indent  s    !{{V#v%dooDOO$"'%%';;"DO&4;;./D DK}}{{4==1KKd#  r   c                
   || j                   }d| _        d| _        | xj                  dz  c_        d| _        t        | j                        r|j                  | j                        }| j                  j                  |       y )NTr9   r   )
r   ru   rv   rt   rE   r(   rf   r  re   r   )r"   rt  s     r   r  zEmitter.write_line_break  sd    <''D		Q	;;t}}-D$r   c                    d|}| j                   r|j                  | j                         }| j                  j                  |       | j	                          y )Nz%YAML rf   r  re   r   r  )r"   r   rt  s      r   r   zEmitter.write_version_directive  sF    \,-==;;t}}-D$r   c                    d|d|}| j                   r|j                  | j                         }| j                  j                  |       | j	                          y )Nz%TAG r  r  )r"   r   r   rt  s       r   r   zEmitter.write_tag_directive  sK    K?!K?;==;;t}}-D$r   c                   | j                   r;| j                  /| j                          | j                  dk7  r| j                          | j	                  dd       d}d}dx}}|t        |      k  rGd }|t        |      k  r||   }|r||dk7  r|dz   |k(  r?| j                  | j                  kD  r&|r$|dk7  r|t        |      k7  r| j                          nn||| }| xj                  t        |      z  c_        t        | j                        r|j                  | j                        }| j                  j                  |       |}n|rb||dvr||   dk(  r| j                          ||| D ])  }	|	dk(  r| j                          | j                  |	       + | j                          |}n|	|d	v s|dk(  ru||k  rp||| }| xj                  t        |      z  c_        t        | j                        r|j                  | j                        }| j                  j                  |       |}|dk(  rgd
}| xj                  dz  c_        t        | j                        r|j                  | j                        }| j                  j                  |       |dz   }|	|dk(  }|dv }|dz  }|t        |      k  rG| j	                  dd       y )Nr   rI  TFr  r9   r~  r`   
    
  z''rA   )rp   r   r  r   r   rC   rE   r   r(   rf   r  re   r   )
r"   textrV  spacesbreaksrq  rr  rg  rt  brs
             r   rQ  zEmitter.write_single_quoted  s   $$0%%'((A-%%'S$'SYBSY#Y:s	S( KK$//9!!QJ3t9,))+#E#s4y0.#';;t}}#=D))$/E:+?!?E{d*--/"5o 6: 113 11"5	6
 %%'E:'<!<c	s{#E#s4y0.#';;t}}#=D))$/ #Syq &;;t}}5D!!$'a~s331HCg SYh 	S%(r   r`  rd  btnvfrrX  rL  \N_LP) 	r`   ra   rL  r  r  r  u    u    c                   | j                   r;| j                  /| j                          | j                  dk7  r| j                          | j	                  dd       dx}}|t        |      k  r^d }|t        |      k  r||   }|H|dv sDd|cxk  rdk  stn | j                  r*d|cxk  rdk  sZn d	|cxk  rd
k  sLn d|cxk  rdk  s>n ||k  rp||| }| xj                  t        |      z  c_        t        | j                        r|j                  | j                        }| j                  j                  |       |}||| j                  v rd| j                  |   z   }n6|dk  rdt        |      z  }n"|dk  rdt        |      z  }ndt        |      z  }| xj                  t        |      z  c_        t        | j                        r|j                  | j                        }| j                  j                  |       |dz   }d|cxk  rt        |      dz
  k  rn n|dk(  s||k\  r| j                  ||z
  z   | j                  kD  rg|rdd}t        |      |kD  r<	 |j!                  d|      }d||| vr"d||| vr||dz      dk7  r||dz
  |dz    dk7  rd}||| |rdndz   }||k  r|}| xj                  t        |      z  c_        t        | j                        r|j                  | j                        }| j                  j                  |       | j                          d| _        d| _        ||   dk(  rv|s|dz  }|rdnd}| xj                  t        |      z  c_        t        | j                        r|j                  | j                        }| j                  j                  |       |dz  }|t        |      k  r^| j	                  dd       y # t"        t$        f$ r Y Rw xY w)Nr   rL  Tu   "\  ﻿r  r  r  r  r  r  r  r  r     ÿz\x%02Xu   ￿z\u%04Xz\U%08Xr9   rI  z  Fr  )rp   r   r  r   r   rC   r   rE   r(   rf   r  re   r   ESCAPE_REPLACEMENTSrn  r   r  
ValueErrorr<   ru   rv   )	r"   r  rV  rq  rr  rg  rt  need_backquote	space_poss	            r   rP  zEmitter.write_double_quotedc  s   $$0%%'((A-%%'S$'SYBSY#Y
44b*F***#r5X5 (B :( : , Bl B
 3;c?DKK3t9,KDMM*#{{4==9KK%%d+E>T555#d&>&>r&BBv(3r72x(3r72(3r72KK3t9,KDMM*#{{4==9KK%%d+!GEC'#d)a-'3Y%3,KK3;/$//A "&t9s?
$(JJsC$8	tC	':: #4I+> > $Y] 3s : $S1WsQw 74 ?-2N E#.$bI3;Es4y(&;;t}}5D!!$'!!#"'!&;#%)
#14rDKK3t9,KDMM*#{{4==9KK%%d+1HCc SYd 	S%(/ '
3 s   #;O O10O1c                T   d}d}d}|r|d   dv rd}|t        |      z  }nO| j                  rCdD ]7  }d}	 |j                  ||      }|dk(  rn	 ||dz      dv rn	 |d	z  }+|dkD  s7 n dkD  rd}|d   d
vrd}nt	        |      d	k(  s|d   d
v rd}||z  }|||fS # t        $ r Y Lw xY w)Nr   r  r  rA   )z
---z
...r:      z 
r9   r~  r&  r8   +)r+   rp   findr<   rC   )r"   r  rn   rG  hintsrr  poss          r   determine_block_hintszEmitter.determine_block_hints  s   	Aw//V$""- CC"iiS1"9!!#C!G}7 %  8 q  Rx 7FBx33	Ta48/C#C	fi''  * ! !s   
B	B'&B'c                d   | j                  |      \  }}}t        |t              sd}| j                  d|z   |z   d       |dk(  rd| _        | j                          d}d}d}dx}	}
|
t        |      k  r<d }|
t        |      k  r||
   }|rt||dvr|s||dk7  r||	   d	k(  r| j                          |dk(  }||	|
 D ])  }|d	k(  r| j                          | j                  |       + || j                          |
}	n|r|dk7  r|	d
z   |
k(  r*| j                  | j                  kD  r| j                          nn||	|
 }| xj                  t        |      z  c_        t        | j                        r|j                  | j                        }| j                  j                  |       |
}	n||dv r||	|
 }| xj                  t        |      z  c_        t        | j                        r|j                  | j                        }| j                  j                  |       |dk(  rX|
t        |      d
z
  k  r<||
dz      j                         s&| j                          | j                          |
dz  }
nt!        d      || j                          |
}	|	|dv }|dk(  }|
d
z  }
|
t        |      k  r;y y )Nr  rN  Tr  Fr   u
   
  r  r`   r9   u    
  r  rA   z*unexcpected fold indicator \a before spacer~  )r  r   r+   r   rz   r  rC   r   rE   r   r(   rf   r  re   r   isspacer   )r"   r  r   r  _indent
_indicatorr  r  r  rq  rr  rg  r  rt  s                 r   rS  zEmitter.write_folded  s   %)%?%?%E"w
'3'GS5[72D9"DOSYBSY#Y:+A!A)N#I K4/--/$&#IM"5o 6: 113 11"5	6
 ~))+E9qyC'DKK$//,I))+#E#s4y0.#';;t}}#=D))$/E:'>!>c?DKK3t9,KDMM*#{{4==9KK%%d+Tz#d)a-0cAg9N9N9P 113 --/1HC"./\"]]z--/E~33s1HCk SYr   c                F   | j                  |      \  }}}t        |t              sd}| j                  d|z   |z   d       |dk(  rd| _        | j                          d}dx}}|t        |      k  r1d }	|t        |      k  r||   }	|r|	|	dvr||| D ])  }
|
dk(  r| j                          | j                  |
       + |	X| j                  r<| j                  | j                  nd}| j                  j                  d||z   z         n| j                          |}nj|	|	dv rd||| }t        | j                        r|j                  | j                        }| j                  j                  |       |	| j                          |}|	|	dv }|d	z  }|t        |      k  r0y y )
Nr  rO  Tr  r   r~  r`   r  r9   )r  r   r+   r   rz   r  rC   rp   rn   re   r   r   r(   rf   r  )r"   r  r   r  r  r  r  rq  rr  rg  r  idnxrt  s                r   rT  zEmitter.write_literal"  s   %)%?%?%E"w
 '3'GS5[72D9 "DOSYBSY#Y:+?!?"5o 6: 113 11"5	6
 ~,,26++2I4;;qD KK--cWt^.DE --/E:';!;c?DDMM*#{{4==9KK%%d+z--/E~331HC; SYr   c                Z   | j                   rC| j                  0| j                          | j                  dk7  r| j                          nd| _        |sy | j
                  sbd}| xj                  t        |      z  c_        | j                  r|j                  | j                        }| j                  j                  |       d| _        d| _        d}d}dx}}|t        |      k  rd }|t        |      k  r||   }|r|dk7  r|dz   |k(  r:| j                  | j                  kD  r!|r| j                          d| _        d| _        ne||| }| xj                  t        |      z  c_        | j                  r|j                  | j                        }| j                  j                  |       |}n,|ro|dvr%||   dk(  r| j                          ||| D ])  }	|	dk(  r| j                          | j                  |	       + | j                          d| _        d| _        |}n||dv r||| }t        |      | j                  kD  r5| j                  )| j                  | j                  kD  r| j                          | xj                  t        |      z  c_        | j                  r|j                  | j                        }	 | j                  j                  |       |}|	|dk(  }|dv }|dz  }|t        |      k  ry y #  t        j                   j                  t#        |      dz           xY w)	Nr   Tr  Fr9   r~  r`   r  )rp   r   r  r   rz   ru   rE   rC   rf   r  re   r   rv   r   rn   r   stdoutrepr)
r"   r  rV  rt  r  r  rq  rr  rg  r  s
             r   rU  zEmitter.write_plainW  s   $$0%%'((A-%%'"&DKK3t9$K}}{{4==1KKd#SYBSY#Y9qyC'DKK$//,Ie))+*/).#E#s4y0==#';;t}}#=D))$/E11E{d*--/"5o 6: 113 11"5	6
 %%'&+DO%*DNE:'<!<c?DD	DOO3 KK3 KK$++5 ))+KK3t9,K}}#{{4==9))$/  E~s331HCi SYZ

((dd):;s   =K< <.L*c                   |j                   }|s|d   dk(  r|d d }	 |j                  j                  }|j                   r(|j                   j                  d      r| j                  }n|| j                  dz   k  rt         	 || j                  z
  }| j                  r|j                         r|dk  r
|d   dk7  rd}d|z  |z   }	 t        | j                        r|j                  | j                        }| j                  j                  |       |s| j                          y y # t        $ r | j                  dz   }Y w xY w# t        $ r Y Xw xY w# t        $ r  w xY w)Nr:   r`   r9   r   r  )r=  
start_markrE   rx  r  stripr(   rf   r  UnicodeDecodeErrorre   r   rR  r  )r"   r   prer=  col	nr_spacess         r   write_commentzEmitter.write_comment  sI   uRyD(#2JE
	"$$++C}}!9!9$!? kkt{{Q&	 dkk)I{{u{{}Q58tCS	)Oe+E&!LL7E KKe$ !!# %  	"++/C	" &   		sC   A"D"  AE 0E  3E "D=<D= 	E	E EE Ec                   |j                   y|j                   d   }|y	 t        t        f}|D ]b  }t        ||      rt	        |dd       r| j
                  dk7  r| j                          | j                  |d       t        ||      s\d|_        d 	 y# t        $ r0 t        j                  j                  dt        |       d|         w xY w)	NFr9   pre_doner   T)r  zeventtt r  )r   r   r   r   rd   rE   r  r  r  rR  r   r  r   type)r"   rl   commentsstart_eventsr   s        r   r   zEmitter.write_pre_comment  s    == ==#	-/ABL# ,e\2ww
TX7Y;;!#))+""7"5e\2'+G$,   	JJxU}AeW=>	s   A)B 	B 9Cc                x    | j                   j                  d   y|j                  d   }| j                  |       y)Nr   FT)rl   r   r  )r"   rl   r   s      r   r   zEmitter.write_post_comment  s9    ::a (--"7#r   )
NNNNNNNNNN)re   
StreamTyper~   r'   rn   Optional[int]r   r  r   rP   r   r'   r   r  r   rP   r   r'   r}   rP   rc   r'   r)   r*   rL   )r2   r'   r)   r*   rQ   rK   )rl   r'   r)   r*   rM   )r   rO   r)   r(   )FNF)r   r(   r   rP   r   r(   r)   r*   rN   )r   r(   r)   r*   )FFFF)
r   r(   r   r(   r   r(   r   r(   r)   r*   )r   rP   r)   r*   )FF)r   rP   r   rP   r)   r*   )r   r'   r)   r*   )rG  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'   r)   r'   )
rG  r'   r  r'   ru   r(   rv   r(   r)   r*   r   )rt  r'   r)   r*   )r   r'   r)   r*   )r   r'   r   r'   r)   r*   )T)r  r'   rV  r'   r)   r*   )r  r'   r)   r'   )r  r'   r   r'   r)   r*   )r   r'   r  r(   r)   r*   )rl   r'   r)   r(   )Or   r   r   r   rD  r  r  r  r  r  r#  r#   propertyre   setterr   r   r   r   r   r   r   ri   r   r   r   r   r   r   r   r   r   r  r  r   r  r$  r   r!  r   r)  r+  r   r0  r2  r4  r5  r   r   r   r  r   r   rJ  r  r   r   r   rA  r@  rC  r   r   r   r   r   r  r   r   rQ  r  rP  r  rS  rT  rU  r  r   r   r   r   r   r   r   g   s    "  NLNL
  $#(,*.04 FJjj j 	j
 j &j j (j  .j j 6Dj j 
jX I I ]]    & &
, W\,:OS	8UH
6&WP	U$  PMPM PM 	PM
 PM 
PMd''
:,$,8 SX8$8AO8	80/./<'';;,,99/>
''




B'!R%N00h&6+)Zp
h >
 !     	 
   
 &$&	   >)B $Z)x(@AF3jIV!$F*r   c                      e Zd ZddZy)RoundTripEmitterc                   |st        d      t        |      }|dk(  s|dk(  r|S |j                  }|j                  }t	        | j
                  j                               }|S|D ]N  }|j                  |      s|dk(  st        |      t        |      k  s2| j
                  |   }|t        |      d  }P |r||S d|dS )Nrv  rS   rT   rw  rN  )	r   r+   r   ry  r   r   r   rx  rC   )r"   rB  r<  r   ry  rz  r   s          r   rA  zRoundTripEmitter.prepare_tag  s    677$i#:J$++0023>" 3>>&)v}FcRUh@V!..v6F#CKM2F3 Zz**z##r   N)rB  r'   r)   r'   )r   r   r   rA  r   r   r   r  r    s    $r   r  )
__future__r   r   ruamel.yaml.errorr   r   ruamel.yaml.eventsruamel.yaml.compatr   r   r	   r
   r   typingr'   DictListUnionTextTupleOptionalr  __all__r   r   r-   r   r  r   r   r   <module>r     sj    "  8  # #
 	 n
%	9 	o o2+  + \x xv3$w $r   