
    n                         d dl mZmZmZmZ ddlmZ d dlmZ 	 g dZ G d de      Z G d d	e      Z G d
 de      Z G d de      Z G d de      Z G d de      Zy)    )print_functionabsolute_importdivisionunicode_literals   )no_limit_int)Anchor)	ScalarInt	BinaryIntOctalIntHexInt
HexCapsInt
DecimalIntc                   P    e Zd Zd Zd Zd Zd Zd Zd Ze	d        Z
ddZdd	Zy
)r
   c                     |j                  dd       }|j                  dd       }|j                  dd       }t        j                  | g|i |}||_        ||_        ||j                  |d       |S )Nwidth
underscoreanchorT)always_dump)popr   __new___width_underscoreyaml_set_anchor)clsargskwr   r   r   vs          (lib/third_party/ruamel/yaml/scalarint.pyr   zScalarInt.__new__   sx    w%VVL$/
$'  2t2r2"f$7    c                      t        |       | |z         }| j                  |_        | j                  | j                  d d  |_        |S d |_        |S Ntyper   r   selfaxs      r   __iadd__zScalarInt.__iadd__   ]    DJtax ;;#'#3#3#?DQ 	
  FJ 	
 r    c                      t        |       | |z        }| j                  |_        | j                  | j                  d d  |_        |S d |_        |S r"   r#   r%   s      r   __ifloordiv__zScalarInt.__ifloordiv__$   ]    DJtqy!;;#'#3#3#?DQ 	
  FJ 	
 r    c                      t        |       | |z        }| j                  |_        | j                  | j                  d d  |_        |S d |_        |S r"   r#   r%   s      r   __imul__zScalarInt.__imul__-   r*   r    c                      t        |       | |z        }| j                  |_        | j                  | j                  d d  |_        |S d |_        |S r"   r#   r%   s      r   __ipow__zScalarInt.__ipow__6   r-   r    c                      t        |       | |z
        }| j                  |_        | j                  | j                  d d  |_        |S d |_        |S r"   r#   r%   s      r   __isub__zScalarInt.__isub__?   r*   r    c                     t        | t        j                        s#t        | t        j                  t                      t	        | t        j                        S r"   )hasattrr	   attribsetattrgetattr)r&   s    r   r   zScalarInt.anchorH   s5     tV]]+D&--2tV]]++r    c                     t        | t        j                        sy |s| j                  j                  r| j                  S y r"   )r5   r	   r6   r   r   )r&   anys     r   yaml_anchorzScalarInt.yaml_anchorO   s/    tV]]+$++));;r    c                 H    || j                   _        || j                   _        y r"   )r   valuer   )r&   r=   r   s      r   r   zScalarInt.yaml_set_anchorW   s    !"-r    N)F)__name__
__module____qualname__r   r)   r,   r/   r1   r3   propertyr   r;   r    r    r   r
   r
      s>    
 , ,.r    r
   c                       e Zd ZddZy)r   Nc                 6    t         j                  | ||||      S N)r   r   r   r
   r   r   r=   r   r   r   s        r   r   zBinaryInt.__new__^         e5ZX^ __r    NNNr>   r?   r@   r   rB   r    r   r   r   ]       `r    r   c                       e Zd ZddZy)r   Nc                 6    t         j                  | ||||      S rE   rF   rG   s        r   r   zOctalInt.__new__d   rH   r    rI   rJ   rB   r    r   r   r   c   rK   r    r   c                       e Zd ZdZddZy)r   zuses lower case (a-f)Nc                 6    t         j                  | ||||      S rE   rF   rG   s        r   r   zHexInt.__new__p   rH   r    rI   r>   r?   r@   __doc__r   rB   r    r   r   r   m       `r    r   c                       e Zd ZdZddZy)r   zuses upper case (A-F)Nc                 6    t         j                  | ||||      S rE   rF   rG   s        r   r   zHexCapsInt.__new__x   rH   r    rI   rP   rB   r    r   r   r   u   rR   r    r   c                       e Zd ZdZddZy)r   zneeded if anchorNc                 6    t         j                  | ||||      S rE   rF   rG   s        r   r   zDecimalInt.__new__   rH   r    rI   rP   rB   r    r   r   r   }   s    `r    r   N)
__future__r   r   r   r   compatr   ruamel.yaml.anchorr	   typingTextAnyDictList__all__r
   r   r   r   r   r   rB   r    r   <module>r`      st    S R   % WL. L.^`	 ``y ``Y `` `` `r    