
    |*                         S SK Jr  S SKrS SKJrJrJrJr  S SKJ	r	J
r
JrJr  S SKJr   SS/r " S S\5      r " S	 S\5      rg)
    )absolute_importN)	YAMLErrorFileMark
StringMarkYAMLStreamError)	text_typebinary_typePY3UNICODE_SIZE)RegExpReaderReaderErrorc                        \ rS rSrS rS rSrg)r   %   c                 @    Xl         X0l        X l        X@l        XPl        g N)name	characterpositionencodingreason)selfr   r   r   r   r   s         %lib/third_party/ruamel/yaml/reader.py__init__ReaderError.__init__&   s    	"      c                 ,   [        U R                  [        5      (       aE  SU R                  [	        U R                  5      U R
                  U R                  U R                  4-  $ SU R                  U R
                  U R                  U R                  4-  $ )Nz>'%s' codec can't decode byte #x%02x: %s
  in "%s", position %dz8unacceptable character #x%04x: %s
  in "%s", position %d)
isinstancer   r	   r   ordr   r   r   r   s    r   __str__ReaderError.__str__.   s    dnnk22WDNN#		[   R			U  r   )r   r   r   r   r   N)__name__
__module____qualname____firstlineno__r   r!   __static_attributes__ r   r   r   r   %   s    r   c            
       b   \ rS rSrSS jrS r\S 5       r\R                  S 5       rSS jr	SS jr
SS	 jrSS
 jrS rS r\S:X  a	  \" S5      rO\" S5      rSSR%                  \" \\" SS5      5      5      -   R-                  S5      r\S 5       r\S 5       r\S 5       rS rS rSS jrSrg)r   A   Nc                     X l         U R                   b(  [        U R                   SS 5      c  X R                   l        U R                  5         Xl        g )N_reader)loadergetattrr,   reset_readerstream)r   r0   r-   s      r   r   Reader.__init__O   s>    ;;"wt{{It'L'T"&KKr   c                     S U l         SU l        SU l        SU l        SU l        S U l        S U l        S U l        SU l        SU l	        SU l
        g )Nr   T )r   stream_pointereofbufferpointer
raw_buffer
raw_decoder   indexlinecolumnr    s    r   r/   Reader.reset_readerW   sP    	
	r   c                 N     U R                   $ ! [         a    [        S5      ef = f)Nzinput stream needs to specified)_streamAttributeErrorr   r    s    r   r0   Reader.streame   s/    	E<< 	E!"CDD	Es    $c                    Uc  g S U l         [        U[        5      (       a#  SU l        U R	                  U5        US-   U l        g [        U[        5      (       a  SU l        Xl        U R                  5         g [        US5      (       d  [        S5      eXl         [        U R                  SS5      U l        SU l        S U l        U R                  5         g )	Nz<unicode string> z<byte string>readz-stream argument needs to have a read() methodr   z<file>F)r?   r   r   r   check_printabler6   r	   r8   determine_encodinghasattrr   r.   r0   r5   )r   vals     r   r0   rA   m   s     ;c9%%*DI  %+DK[))'DI!O##%3''%&UVVLVX>DIDH"DO##%r   c                      U R                   U R                  U-      $ ! [         a3    U R                  US-   5        U R                   U R                  U-      s $ f = f)N   )r6   r7   
IndexErrorupdate)r   r:   s     r   peekReader.peek   sV    	5;;t||e344 	5KK	";;t||e344	5s    :AAc                     U R                   U-   [        U R                  5      :  a  U R                  U5        U R                  U R                   U R                   U-    $ r   )r7   lenr6   rL   )r   lengths     r   prefixReader.prefix   sF    <<& C$44KK{{4<<$,,*?@@r   c                    U R                   U-   S-   [        U R                  5      :  a  U R                  US-   5        US:w  a  U R                  U R                      nU =R                   S-  sl         U =R                  S-  sl        US;   d#  US:X  a:  U R                  U R                      S:w  a  U =R
                  S-  sl        SU l        OUS:w  a  U =R                  S-  sl        US-  nUS:w  a  M  g g )NrJ   r   u	   
  
   ﻿r7   rP   r6   rL   r:   r;   r<   r   rQ   chs      r   forward_1_1Reader.forward_1_1   s    <<& 1$DKK(88KK
#kT\\*BLLALJJ!OJ**eDLL 9U B		Q	yq aKF kr   c                    U R                   U-   S-   [        U R                  5      :  a  U R                  US-   5        US:w  a  U R                  U R                      nU =R                   S-  sl         U =R                  S-  sl        US:X  d#  US:X  a:  U R                  U R                      S:w  a  U =R
                  S-  sl        SU l        OUS:w  a  U =R                  S-  sl        US-  nUS:w  a  M  g g )NrJ   r   rV   rU   rW   rX   rY   s      r   forwardReader.forward   s    <<& 1$DKK(88KK
#kT\\*BLLALJJ!OJU{rU{t{{4<</HE/Q		Q	yq aKF kr   c                     U R                   cL  [        U R                  U R                  U R                  U R
                  U R                  U R                  5      $ [        U R                  U R                  U R                  U R
                  5      $ r   )	r0   r   r   r:   r;   r<   r6   r7   r   r    s    r   get_markReader.get_mark   sa    ;;		4::tyy$++t{{DLL  DIItzz499dkkJJr   c                    U R                   (       dq  U R                  b  [        U R                  5      S:  aK  U R                  5         U R                   (       d*  U R                  c  M0  [        U R                  5      S:  a  MK  [	        U R                  [
        5      (       a  U R                  R                  [        R                  5      (       a  [        R                  U l
        SU l        OgU R                  R                  [        R                  5      (       a  [        R                  U l
        SU l        O[        R                  U l
        SU l        U R                  S5        g )N   z	utf-16-lez	utf-16-bezutf-8rJ   )r5   r8   rP   
update_rawr   r	   
startswithcodecsBOM_UTF16_LEutf_16_le_decoder9   r   BOM_UTF16_BEutf_16_be_decodeutf_8_decoderL   r    s    r   rF   Reader.determine_encoding   s    (( 73t;ORS;SOO (( 73t;ORS;Sdoo{33))&*=*=>>"("9"9 +++F,?,?@@"("9"9 +"("5"5 'Ar   rd   u   [^	
 -~ -퟿-�]u!   [^	
 -~ -퟿-�𐀀-􏿿]z	
r3          asciic                     UR                  S5      nUR                  S U R                  5      nU(       d  g US S nUR                  U5      UR	                  S5      4$ )Nrp   rJ   )encode	translate_printable_asciir:   decode)clsdataascii_bytesnon_printablesnon_printables        r   _get_non_printable_asciiReader._get_non_printable_ascii   s]     kk'*$..tS5I5IJ&r*  /1E1Eg1NNNr   c                     U R                   R                  U5      n[        U5      (       d  g UR                  5       UR	                  5       4$ r   )NON_PRINTABLEsearchboolstartgroup)rv   rw   matchs      r   _get_non_printable_regexReader._get_non_printable_regex   s=     !!((.E{{{{}ekkm++r   c                 h     U R                  U5      $ ! [         a    U R                  U5      s $ f = fr   )r{   UnicodeEncodeErrorr   )rv   rw   s     r   _get_non_printableReader._get_non_printable   s8    	6//55! 	6//55	6s    11c                     U R                  U5      nUbX  Uu  p4U R                  [        U R                  5      U R                  -
  -   U-   n[        U R                  U[        U5      SS5      eg )Nunicodez"special characters are not allowed)r   r:   rP   r6   r7   r   r   r   )r   rw   non_printable_matchr   r   r   s         r   rE   Reader.check_printable   so    "55d;*2EzzS%5%DEMH		I4  +r   c                    U R                   c  g U R                  U R                  S  U l        SU l        [        U R                  5      U:  a  U R                  (       d  U R                  5         U R                  b+   U R                  U R                   SU R                  5      u  p#OU R                   n[        U5      nU R#                  U5        U =R                  U-  sl        U R                   US  U l         U R                  (       a  U =R                  S-  sl        S U l         g [        U R                  5      U:  a  M  g g ! [         a  n[        (       a  U R                   UR                     nOUR                  UR                     nU R                  b0  U R                  [        U R                   5      -
  UR                  -   nOIU R                  b0  U R                  [        U R                   5      -
  UR                  -   nOUR                  n[        U R                  XeUR                  UR                   5      eS nAff = f)Nr   strictrC   )r8   r6   r7   rP   r5   re   r9   UnicodeDecodeErrorr
   r   objectr0   r4   r   r   r   r   rE   )r   rQ   rw   	convertedexcr   r   s          r   rL   Reader.update  s   ??"kk$,,.1$++'88!*`&*oodooxQUQYQY&ZOD) I	  &KK4K"ooij9DOxxt#"&7 $++' * `s$(OOCII$>	$'JJsyy$9	{{.#'#6#6T__9M#MPSPYPY#Y0#'#6#6T__9M#MPSPYPY#Y#&99%diicllTWT^T^__`s   <)E 
IC0H<<Ic                 
   Uc  [         (       a  SOSnU R                  R                  U5      nU R                  c  X l        OU =R                  U-  sl        U =R                  [        U5      -  sl        U(       d  SU l        g g )Ni   i   T)r
   r0   rD   r8   r4   rP   r5   )r   sizerw   s      r   re   Reader.update_raw%  sg    <34DD{{%??""OOOt#Os4y(DH r   )r?   r6   r<   r   r5   r:   r;   r-   r   r7   r8   r9   r0   r4   r   )r   )rJ   ) r#   r$   r%   r&   r   r/   propertyr0   setterrM   rR   r[   r^   ra   rF   r   r   r~   joinmapchrrangerr   rt   classmethodr{   r   r   rE   rL   re   r'   r(   r   r   r   r   A   s     E E ]]& &,5A"K  qO
 
 'S%d:K1L)MMUUV]^O O , , 6 6!Fr   )
__future__r   rg   ruamel.yaml.errorr   r   r   r   ruamel.yaml.compatr   r	   r
   r   ruamel.yaml.utilr   typingAnyDictOptionalListUnionTextTuple__all__r   r   r   r(   r   r   <module>r      sG    '*  N N H H # ]
#) 8oV or   