o
    ei                     @  sf  U d dl mZ d dlZd dlZd dlZd dlmZ d dlZd dl	m
Z
 	 d	Zzd d
lmZ W n ey=   d d
lmZ Y nw G dd deZejZej Z dZ!d.ddZ"dZ#dZ$dZ%dZ&de'd< dej(v ruej()dZ*e*du rqd Z&nee*Z&e+e&rG dd dZ,e, Z-d/d0ddZ.G dd  d Z/e/ Z0e/d!Z1d1d$d%Z2d1d&d'Z3d/d2d*d+Z4G d,d- d-ejj5Z6dS )3    )annotationsN)abstractmethod)VersionF)	AnyDictOptionalListUnionBinaryIOIOTextTuple)r   )SupportsIndex)      )OrderedDictc                   @  s$   e Zd Zeedsdd	d
ZdS dS )ordereddictinsertposintkeyr   valuereturnNonec                 C  sj   |t | kr|| |< d S t }||  |D ]}| |= qt|D ]\}}||kr,|| |< || | |< q d S N)lenr   update	enumerate)selfr   r   r   odkindexold_key r#   P/home/ubuntu/transcripts/venv/lib/python3.10/site-packages/ruamel/yaml/compat.pyr   )   s   
zordereddict.insertN)r   r   r   r   r   r   r   r   )__name__
__module____qualname__hasattrr   r   r#   r#   r#   r$   r   &   s    
r   builtinsmetar   basesr   c                 G  s   | d|i S )z%Create a base class with a metaclass.NewBaser#   )r*   r+   r#   r#   r$   with_metaclass>   s   r-   r   r      zOptional[int]_debugRUAMEL_DEBUGc                   @  s*   e Zd ZdddZdddZdd	d
ZdS )ObjectCounterr   r   c                 C  s
   i | _ d S r   )mapr   r#   r#   r$   __init__T   s   
zObjectCounter.__init__r    r   c                 C  s   | j |dd | j |< d S )Nr   r   )r2   getr   r    r#   r#   r$   __call__W   s   zObjectCounter.__call__c                 C  s0   t | jD ]}tj| d| j|   qd S )Nz -> )sortedr2   sysstdoutwriter6   r#   r#   r$   dumpZ   s   zObjectCounter.dumpN)r   r   )r    r   r   r   )r%   r&   r'   r4   r7   r<   r#   r#   r#   r$   r1   S   s    

r1   valc                 C  sB   t }|d u rtjd}|d u rd}nt|}| d u r|S || @ S )N	YAMLDEBUGr   )r/   osenvironr5   r   )r=   debug_debugxr#   r#   r$   dbgb   s   rC   c                   @  s8   e Zd ZddddZdd
dZdddZddddZdS )NprintN	file_namer   r   r   c                 C  s   d | _ d | _|| _d S r   )
_max_print_count
_file_name)r   rE   r#   r#   r$   r4   q   s   
zNprint.__init__argskwc                 O  s   t tsd S dd l}| jd u rtjnt| jd}t}| }||d< ||i | |	  | j
d urX| jd u r;| j
| _|  jd8  _| jdkrX|d |  |	  td | jra|  d S d S )Nr   afiler   zforced exit
)boolr/   	tracebackrH   r9   r:   openprintcopyflushrF   rG   print_stackexitclose)r   rI   rJ   rN   outdbgprintkw1r#   r#   r$   r7   v   s*   



zNprint.__call__ir   c                 C  s   || _ d | _d S r   )rF   rG   )r   rY   r#   r#   r$   set_max_print   s   
zNprint.set_max_printrK   modestrc                 C  s$   | j d u r
tj}|S t| j |}|S r   )rH   r9   r:   rO   )r   r[   rV   r#   r#   r$   fp   s   z	Nprint.fpr   )rE   r   r   r   )rI   r   rJ   r   r   r   )rY   r   r   r   )rK   )r[   r\   r   r   )r%   r&   r'   r4   r7   rZ   r]   r#   r#   r#   r$   rD   p   s
    

rD   z/var/tmp/ruamel.yaml.logchrM   c                 C  st   d|   krdkrdS  d|   krdkrdS  d|   kr"dkr*n n| dkr*dS d	|   kr5d
kr8dS  dS dS )N!~T    u   ퟿u   u   �u   ﻿u   𐀀u   􏿿Fr#   r^   r#   r#   r$   check_namespace_char   s    rc   c                 C  s   | dv rdS t | S )Nz,[]{}F)rc   rb   r#   r#   r$   check_anchorname_char   s   rd   t1t2c                 C  s0   ddl m} || k rdS |dur||k rdS dS )ze
    return True if ruamel.yaml version_info < t1, None if t2 is specified and bigger else False
    r   )version_infoTNF)ruamel.yamlrg   )re   rf   rg   r#   r#   r$   version_tnf   s   ri   c                   @  sX   e Zd ZdZdddZdd	d
ZdddZedddZedddZ	edddZ
dS )MutableSliceableSequencer#   r!   r   r   c                   s<   t |ts
 |S t  fddt|t  D S )Nc                   s   g | ]} | qS r#   r#   ).0rY   r3   r#   r$   
<listcomp>   s    z8MutableSliceableSequence.__getitem__.<locals>.<listcomp>)
isinstanceslice__getsingleitem__typerangeindicesr   r   r!   r#   r3   r$   __getitem__   s   

(z$MutableSliceableSequence.__getitem__r   r   c                 C  s  t |ts| ||S t|sJ |jd u r4| |j|j= t|D ]}| |jd u r,dn|j| q!d S |	t
| }|d |d  d |d  d }|t
|k r]td| dt
| |t
|krotd| dt
| tt| D ]
\}}|| | |< qud S )Nr   r   r   ztoo many elements in value z < znot enough elements in value z > )rm   rn   __setsingleitem__iterstepstartstopreversedr   rr   r   	TypeErrorr   rq   )r   r!   r   elemrange_parmsnr_assigned_itemsidxrY   r#   r#   r$   __setitem__   s*   

 z$MutableSliceableSequence.__setitem__c                 C  s:   t |ts
| |S tt|t|  D ]}| |= qd S r   )rm   rn   __delsingleitem__rz   rq   rr   r   )r   r!   rY   r#   r#   r$   __delitem__   s
   

z$MutableSliceableSequence.__delitem__c                 C     t r   
IndexErrorrs   r#   r#   r$   ro         z*MutableSliceableSequence.__getsingleitem__c                 C  r   r   r   )r   r!   r   r#   r#   r$   ru      r   z*MutableSliceableSequence.__setsingleitem__c                 C  r   r   r   rs   r#   r#   r$   r      r   z*MutableSliceableSequence.__delsingleitem__N)r!   r   r   r   )r!   r   r   r   r   r   )r!   r   r   r   )r%   r&   r'   	__slots__rt   r   r   r   ro   ru   r   r#   r#   r#   r$   rj      s    


rj   )r*   r   r+   r   r   r   r   )r=   r   r   r   )r^   r   r   rM   )re   r   rf   r   r   r   )7
__future__r   r9   r?   ioabcr   collections.abccollectionsruamel.yaml.docinfor   typingr   r   r   r   r	   r
   r   r   r   r   ImportErrorr   
StreamTypeStreamTextTyper\   VersionType_DEFAULT_YAML_VERSIONr   r   StringIOBytesIObuiltins_moduler-   	DBG_TOKEN	DBG_EVENTDBG_NODEr/   __annotations__r@   r5   rB   rM   r1   object_counterrC   rD   nprintnprintfrc   rd   ri   MutableSequencerj   r#   r#   r#   r$   <module>   sN   

&

