
    i+                         d dl mZ d dlZddlmZmZmZmZ ddlm	Z	m
Z
mZmZ ddlmZ 	 ddgZ G d	 de      Z G d
 de      Zy)    )absolute_importN   )	YAMLErrorFileMark
StringMarkYAMLStreamError)	text_typebinary_typePY3UNICODE_SIZE)RegExpReaderReaderErrorc                       e Zd Zd Zd Zy)r   c                 J    || _         || _        || _        || _        || _        y N)name	characterpositionencodingreason)selfr   r   r   r   r   s         i/var/www/vps2.regionflexible.com/Desarrollo/venv/lib/python3.12/site-packages/srsly/ruamel_yaml/reader.py__init__zReaderError.__init__&   s%    	"      c                 "   t        | j                  t              rEd| j                  t	        | j                        | j
                  | j                  | j                  fz  S d| j                  | j
                  | j                  | j                  fz  S )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__zReaderError.__str__.   s    dnnk2) MM'KKIIMM
 R			U  r   N)__name__
__module____qualname__r   r     r   r   r   r   %   s    r   c            
       L   e Zd ZddZd Zed        Zej                  d        ZddZddZ	ddZ
dd	Zd
 Zd Zedk(  r	 ed      Zn ed      Zddj#                   ee edd                  z   j+                  d      Zed        Zed        Zed        Zd Zd ZddZy)r   Nc                     || _         | j                   (t        | j                   dd       | | j                   _        | j                          || _        y )N_reader)loadergetattrr'   reset_readerstream)r   r+   r(   s      r   r   zReader.__init__S   sD    ;;"wt{{It'L'T"&DKKr   c                     d | _         d| _        d| _        d| _        d| _        d | _        d | _        d | _        d| _        d| _	        d| _
        y )Nr   T )r   stream_pointereofbufferpointer
raw_buffer
raw_decoder   indexlinecolumnr   s    r   r*   zReader.reset_reader[   sP    	
	r   c                 L    	 | j                   S # t        $ r t        d      w xY w)Nzinput stream needs to specified)_streamAttributeErrorr   r   s    r   r+   zReader.streami   s/    	E<< 	E!"CDD	Es    #c                    |y d | _         t        |t              r#d| _        | j	                  |       |dz   | _        y t        |t              rd| _        || _        | j                          y t        |d      st        d      || _         t        | j                  dd      | _        d| _        d | _        | j                          y )	Nz<unicode string> z<byte string>readz-stream argument needs to have a read() methodr   z<file>F)r8   r   r	   r   check_printabler0   r
   r2   determine_encodinghasattrr   r)   r+   r/   )r   vals     r   r+   zReader.streamq   s     ;c9%*DI  %+DK[)'DI!DO##%3'%&UVVDLVX>DIDH"DO##%r   c                     	 | j                   | j                  |z      S # t        $ r3 | j                  |dz          | j                   | j                  |z      cY S w xY w)Nr   )r0   r1   
IndexErrorupdate)r   r4   s     r   peekzReader.peek   sV    	5;;t||e344 	5KK	";;t||e344	5s    9AAc                     | j                   |z   t        | j                        k\  r| j                  |       | j                  | j                   | j                   |z    S r   )r1   lenr0   rC   )r   lengths     r   prefixzReader.prefix   sF    <<& C$44KK{{4<<$,,*?@@r   c                    | j                   |z   dz   t        | j                        k\  r| j                  |dz          |dk7  r| j                  | j                      }| xj                   dz  c_         | xj                  dz  c_        |dv s!|dk(  r9| j                  | j                      dk7  r| xj
                  dz  c_        d| _        n|dk7  r| xj                  dz  c_        |dz  }|dk7  ry y )Nr   r   u	   
  
   ﻿r1   rF   r0   rC   r4   r5   r6   r   rG   chs      r   forward_1_1z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                    | j                   |z   dz   t        | j                        k\  r| j                  |dz          |dk7  r| j                  | j                      }| xj                   dz  c_         | xj                  dz  c_        |dk(  s!|dk(  r9| j                  | j                      dk7  r| xj
                  dz  c_        d| _        n|dk7  r| xj                  dz  c_        |dz  }|dk7  ry y )Nr   r   rK   rJ   rL   rM   rN   s      r   forwardz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                    | j                   Lt        | j                  | j                  | j                  | j
                  | j                  | j                        S t        | j                  | j                  | j                  | j
                        S r   )	r+   r   r   r4   r5   r6   r0   r1   r   r   s    r   get_markzReader.get_mark   sa    ;;		4::tyy$++t{{DLL  DIItzz499dkkJJr   c                    | j                   sf| j                  t        | j                        dk  rB| j                          | j                   s&| j                  )t        | j                        dk  rBt	        | j                  t
              r| j                  j                  t        j                        rt        j                  | _
        d| _        nb| j                  j                  t        j                        rt        j                  | _
        d| _        nt        j                  | _
        d| _        | j                  d       y )N   z	utf-16-lez	utf-16-bezutf-8r   )r/   r2   rF   
update_rawr   r
   
startswithcodecsBOM_UTF16_LEutf_16_le_decoder3   r   BOM_UTF16_BEutf_16_be_decodeutf_8_decoderC   r   s    r   r>   zReader.determine_encoding   s    (( 73t;ORS;SOO (( 73t;ORS;Sdoo{3))&*=*=>"("9"9 +++F,?,?@"("9"9 +"("5"5 'Ar   rV   u   [^	
 -~ -퟿-�]u!   [^	
 -~ -퟿-�𐀀-􏿿]z	
r-          asciic                     |j                  d      }|j                  d | j                        }|sy |d d }|j                  |      |j	                  d      fS )Nra   r   )encode	translate_printable_asciir4   decode)clsdataascii_bytesnon_printablesnon_printables        r   _get_non_printable_asciizReader._get_non_printable_ascii   sb     kk'*$..#&&
 &r*  /1E1Eg1NNNr   c                     | j                   j                  |      }t        |      sy |j                         |j	                         fS r   )NON_PRINTABLEsearchboolstartgroup)rg   rh   matchs      r   _get_non_printable_regexzReader._get_non_printable_regex   s;     !!((.E{{{}ekkm++r   c                 f    	 | j                  |      S # t        $ r | j                  |      cY S w xY wr   )rl   UnicodeEncodeErrorrt   )rg   rh   s     r   _get_non_printablezReader._get_non_printable   s8    	6//55! 	6//55	6s    00c                     | j                  |      }|Y|\  }}| j                  t        | j                        | j                  z
  z   |z   }t        | j                  |t        |      dd      y )Nunicodez"special characters are not allowed)rw   r4   rF   r0   r1   r   r   r   )r   rh   non_printable_matchrq   r   r   s         r   r=   zReader.check_printable   sq    "55d;*2E9zzS%5%DEMH		I4  +r   c                 ^   | j                   y | j                  | j                  d  | _        d| _        t        | j                        |k  r| j                  s| j                          | j                  ,	 | j                  | j                   d| j                        \  }}n| j                   }t        |      }| j#                  |       | xj                  |z  c_        | j                   |d  | _         | j                  r| xj                  dz  c_        d | _         y t        | j                        |k  ry y # t        $ r}t        r| j                   |j                     }n|j                  |j                     }| j                  0| j                  t        | j                         z
  |j                  z   }nH| j                  0| j                  t        | j                         z
  |j                  z   }n|j                  }t        | j                  |||j                  |j                         d }~ww xY w)Nr   strictr;   )r2   r0   r1   rF   r/   rW   r3   UnicodeDecodeErrorr   rq   objectr+   r.   r   r   r   r   r=   )r   rG   rh   	convertedexcr   r   s          r   rC   zReader.update
  s   ??"kk$,,.1$++'88!*&*oo488'OD), I	  &KK4K"ooij9DOxxt#"&G $++' * $(OOCII$>	$'JJsyy$9	{{. //#doo2FFR ! 0 //#doo2FFR ! $'99%		8Ycjj s   4*D4 4	H,=C*H''H,c                     |
t         rdnd}| j                  j                  |      }| j                  || _        n| xj                  |z  c_        | xj                  t        |      z  c_        |sd| _        y y )Ni   i   T)r   r+   r<   r2   r.   rF   r/   )r   sizerh   s      r   rW   zReader.update_raw5  sg    <4DD{{%??""DOOOt#Os4y(DH r   r   )r   )r   )r!   r"   r#   r   r*   propertyr+   setterrD   rH   rP   rR   rT   r>   r   r   rn   joinmapchrrangerc   re   classmethodrl   rt   rw   r=   rC   rW   r$   r   r   r   r   E   s    E E ]]& &,5A"K  qO
 
 'S%d:K1L)MMUU 	O 	O , , 6 6)Vr   )
__future__r   rY   errorr   r   r   r   compatr	   r
   r   r   utilr   typingAnyDictOptionalListUnionTextTuple__all__r   r~   r   r$   r   r   <module>r      sH    '*  C C = =  ]
#) @{V {r   