o
    €Ï«!  ã                   @   s.  d dl mZ d dlZd dlZd dlmZ 	 g d¢ZG dd„ deƒZG d	d
„ d
eƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZe de¡ G dd„ deƒZe de¡ G d d!„ d!eƒZG d"d#„ d#eƒZdS )$é    )Úabsolute_importN)Úutf8F)ÚAnyÚDictÚOptionalÚListÚText)	ÚFileMarkÚ
StringMarkÚCommentMarkÚ	YAMLErrorÚMarkedYAMLErrorÚReusedAnchorWarningÚUnsafeLoaderWarningÚMarkedYAMLWarningÚMarkedYAMLFutureWarningc                   @   s    e Zd ZdZdd„ Zdd„ ZdS )Ú
StreamMark©ÚnameÚindexÚlineÚcolumnc                 C   s   || _ || _|| _|| _d S ©Nr   )Úselfr   r   r   r   © r   ú:/tmp/google-cloud-sdk/lib/third_party/ruamel/yaml/error.pyÚ__init__   s   
zStreamMark.__init__c                 C   s    d| j | jd | jd f }|S )Nú  in "%s", line %d, column %dé   )r   r   r   )r   Úwherer   r   r   Ú__str__%   s   zStreamMark.__str__N)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__r   r    r   r   r   r   r      s    r   c                   @   ó   e Zd ZdZdS )r	   r   N)r!   r"   r#   r$   r   r   r   r   r	   +   s    r	   c                   @   s*   e Zd ZdZdd„ Zddd„Zdd	„ Zd
S )r
   )r   r   r   r   ÚbufferÚpointerc                 C   s"   t  | ||||¡ || _|| _d S r   )r   r   r&   r'   )r   r   r   r   r   r&   r'   r   r   r   r   2   s   
zStringMark.__init__é   éK   c           	      C   sB  | j d u rd S d}| j}|dkr<| j |d  dvr<|d8 }| j| |d d kr/d}|d7 }n|dkr<| j |d  dvsd}| j}|t| j ƒk rs| j | dvrs|d7 }|| j |d d kred}|d8 }n|t| j ƒk rs| j | dvsOt| j ||… ƒ}d}d	 | jd ¡}d
| | | | d d
|| j | t|ƒ   | S )NÚ r   r   u    
Â…â€¨â€©é   z ... é   ú^z^ (line: {})ú Ú
)r&   r'   Úlenr   Úformatr   )	r   ÚindentÚ
max_lengthÚheadÚstartÚtailÚendÚsnippetÚcaretr   r   r   Úget_snippet8   sJ   
ûûÿþýüûúÿzStringMark.get_snippetc                 C   s<   |   ¡ }d| j| jd | jd f }|d ur|d| 7 }|S )Nr   r   z:
)r:   r   r   r   )r   r8   r   r   r   r   r    Y   s
   zStringMark.__str__N)r(   r)   )r!   r"   r#   r$   r   r:   r    r   r   r   r   r
   /   s
    
!r
   c                   @   s   e Zd ZdZdd„ ZdS )r   ©r   c                 C   s
   || _ d S r   r;   )r   r   r   r   r   r   e   s   
zCommentMark.__init__N)r!   r"   r#   r$   r   r   r   r   r   r   b   s    r   c                   @   ó   e Zd ZdS )r   N©r!   r"   r#   r   r   r   r   r   j   ó    r   c                   @   ó*   e Zd Z						ddd„Zdd„ ZdS )r   Nc                 C   s"   || _ || _|| _|| _|| _d S r   )ÚcontextÚcontext_markÚproblemÚproblem_markÚnote©r   r@   rA   rB   rC   rD   Úwarnr   r   r   r   o   s
   

zMarkedYAMLError.__init__c                 C   sØ   g }| j d ur| | j ¡ | jd ur<| jd u s4| jd u s4| jj| jjks4| jj| jjks4| jj| jjkr<| t| jƒ¡ | jd urG| | j¡ | jd urT| t| jƒ¡ | j	d urg| j	rgt
 | j	¡}| |¡ d |¡S ©Nr/   )r@   ÚappendrA   rB   rC   r   r   r   ÚstrrD   ÚtextwrapÚdedentÚjoin)r   ÚlinesrD   r   r   r   r    €   s$   







zMarkedYAMLError.__str__©NNNNNN©r!   r"   r#   r   r    r   r   r   r   r   n   ó    
ùr   c                   @   r<   )ÚYAMLStreamErrorNr=   r   r   r   r   rQ   —   r>   rQ   c                   @   r<   )ÚYAMLWarningNr=   r   r   r   r   rR   ›   r>   rR   c                   @   r?   )r   Nc                 C   ó(   || _ || _|| _|| _|| _|| _d S r   ©r@   rA   rB   rC   rD   rF   rE   r   r   r   r       ó   

zMarkedYAMLWarning.__init__c                 C   óþ   g }| j d ur| | j ¡ | jd ur<| jd u s4| jd u s4| jj| jjks4| jj| jjks4| jj| jjkr<| t| jƒ¡ | jd urG| | j¡ | jd urT| t| jƒ¡ | j	d urg| j	rgt
 | j	¡}| |¡ | jd urz| jrzt
 | j¡}| |¡ d |¡S rG   ©r@   rH   rA   rB   rC   r   r   r   rI   rD   rJ   rK   rF   rL   ©r   rM   rD   rF   r   r   r   r    ±   s*   








zMarkedYAMLWarning.__str__rN   rO   r   r   r   r   r   Ÿ   rP   r   c                   @   r<   )r   Nr=   r   r   r   r   r   Ë   r>   r   c                   @   r%   )r   aj  
The default 'Loader' for 'load(stream)' without further arguments can be unsafe.
Use 'load(stream, Loader=ruamel.yaml.Loader)' explicitly if that is OK.
Alternatively include the following in your code:

  import warnings
  warnings.simplefilter('ignore', ruamel.yaml.error.UnsafeLoaderWarning)

In most other cases you should consider using 'safe_load(stream)'N)r!   r"   r#   Útextr   r   r   r   r   Ï   s    	r   Úoncec                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚMantissaNoDotYAML1_1Warningc                 C   s   || _ || _d S r   )ÚnodeÚflt)r   r\   Úflt_strr   r   r   r   à   s   
z$MantissaNoDotYAML1_1Warning.__init__c                 C   s$   | j jj}| j jj}d | j||¡S )NuÊ  
In YAML 1.1 floating point values should have a dot ('.') in their mantissa.
See the Floating-Point Language-Independent Type for YAMLâ„¢ Version 1.1 specification
( http://yaml.org/type/float.html ). This dot is not required for JSON nor for YAML 1.2

Correct your float: "{}" on line: {}, column: {}

or alternatively include the following in your code:

  import warnings
  warnings.simplefilter('ignore', ruamel.yaml.error.MantissaNoDotYAML1_1Warning)

)r\   Ú
start_markr   r   r1   r]   )r   r   Úcolr   r   r   r    å   s   

ÿôz#MantissaNoDotYAML1_1Warning.__str__NrO   r   r   r   r   r[   ß   s    r[   c                   @   r<   )ÚYAMLFutureWarningNr=   r   r   r   r   ra   ý   r>   ra   c                   @   r?   )r   Nc                 C   rS   r   rT   rE   r   r   r   r     rU   z MarkedYAMLFutureWarning.__init__c                 C   rV   rG   rW   rX   r   r   r   r      s*   








zMarkedYAMLFutureWarning.__str__rN   rO   r   r   r   r   r     rP   r   )Ú
__future__r   ÚwarningsrJ   Úruamel.yaml.compatr   Útypingr   r   r   r   r   Ú__all__Úobjectr   r	   r
   r   Ú	Exceptionr   r   rQ   ÚWarningrR   r   r   r   Úsimplefilterr[   ra   r   r   r   r   r   Ú<module>   s,   3),