o
    sh                     @   sL   d dgZ ddlmZmZ ddlZddlZG dd deZG dd  d eZdS )ReaderReaderError   )	YAMLErrorMark    Nc                   @   s   e Zd Zdd Zdd ZdS )r   c                 C   s"   || _ || _|| _|| _|| _d S N)name	characterpositionencodingreason)selfr   r
   r	   r   r    r   _/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/yaml/reader.py__init__   s
   
zReaderError.__init__c                 C   sD   t | jtrd| jt| j| j| j| jf S d| j| j| j| jf S )Nz>'%s' codec can't decode byte #x%02x: %s
  in "%s", position %dz8unacceptable character #x%04x: %s
  in "%s", position %d)
isinstancer	   bytesr   ordr   r   r
   r   r   r   r   __str__!   s   zReaderError.__str__N)__name__
__module____qualname__r   r   r   r   r   r   r      s    c                   @   sf   e Zd Zdd ZdddZdddZdd	d
Zdd Zdd Ze	
dZdd Zdd ZdddZdS )r   c                 C   s   d | _ d | _d| _d| _d| _d| _d | _d | _d | _d| _	d| _
d| _t|tr8d| _ | | |d | _d S t|trId| _ || _|   d S || _t|dd| _ d	| _d | _|   d S )
Nr   T z<unicode string> z<byte string>r   z<file>F)r   streamstream_pointereofbufferpointer
raw_buffer
raw_decoder   indexlinecolumnr   strcheck_printabler   determine_encodinggetattr)r   r   r   r   r   r   ;   s2   


zReader.__init__r   c                 C   sD   z	| j | j|  W S  ty!   | |d  | j | j|   Y S w )Nr   )r   r   
IndexErrorupdate)r   r"   r   r   r   peekW   s   zReader.peekr   c                 C   s4   | j | t| jkr| | | j| j | j |  S r   )r   lenr   r*   )r   lengthr   r   r   prefix^   s   
zReader.prefixc                 C   s   | j | d t| jkr| |d  |rW| j| j  }|  j d7  _ |  jd7  _|dv s9|dkrD| j| j  dkrD|  jd7  _d| _n|dkrO|  jd7  _|d8 }|sd S d S )Nr   u	   
  
r   u   ﻿)r   r,   r   r*   r"   r#   r$   )r   r-   chr   r   r   forwardc   s   zReader.forwardc                 C   sB   | j d u rt| j| j| j| j| j| jS t| j| j| j| jd d S r   )r   r   r   r"   r#   r$   r   r   r   r   r   r   get_markr   s   
zReader.get_markc                 C   s   | j s"| jd u st| jdk r"|   | j s"| jd u st| jdk st| jtrM| jtjr7tj	| _
d| _n| jtjrFtj| _
d| _ntj| _
d| _| d d S )N   z	utf-16-lez	utf-16-bezutf-8r   )r   r    r,   
update_rawr   r   
startswithcodecsBOM_UTF16_LEutf_16_le_decoder!   r   BOM_UTF16_BEutf_16_be_decodeutf_8_decoder*   r   r   r   r   r'   z   s   zReader.determine_encodingu!   [^	
 -~ -퟿-�𐀀-􏿿]c                 C   sP   | j |}|r&| }| jt| j| j  |  }t| j	|t
|ddd S )Nunicodez"special characters are not allowed)NON_PRINTABLEsearchgroupr"   r,   r   r   startr   r   r   )r   datamatchr	   r
   r   r   r   r&      s   zReader.check_printablec              
   C   s4  | j d u rd S | j| jd  | _d| _t| j|k r| js!|   | jd urez| | j d| j\}}W n8 tyd } z%| j |j }| j	d urR| j
t| j  |j }n|j}t| j|||j|jd }~ww | j }t|}| | |  j|7  _| j |d  | _ | jr|  jd7  _d | _ d S t| j|k sd S d S )Nr   strictr   )r    r   r   r,   r   r5   r!   UnicodeDecodeErrorrA   r   r   r   r   r   r   r&   )r   r-   rB   	convertedexcr	   r
   r   r   r   r*      s@   



	
zReader.update   c                 C   sP   | j |}| jd u r|| _n|  j|7  _|  jt|7  _|s&d| _d S d S )NT)r   readr    r   r,   r   )r   sizerB   r   r   r   r5      s   

zReader.update_rawN)r   )r   )rH   )r   r   r   r   r+   r.   r2   r3   r'   recompiler>   r&   r*   r5   r   r   r   r   r   -   s    



)	__all__errorr   r   r7   rK   r   objectr   r   r   r   r   <module>   s
   