
    Mhc                     h    d dgZ ddlmZ ddlT ddlT ddlT  G d de          Z G d d           ZdS )ParserParserError   )MarkedYAMLError)*c                       e Zd ZdS )r   N)__name__
__module____qualname__     K/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/yaml/parser.pyr   r   E   s        Dr   c                       e Zd ZdddZd Zd Zd Zd Zd Zd	 Z	d
 Z
d Zd Zd Zd Zd Zd Zd Zd%dZd Zd Zd Zd Zd Zd Zd Zd&dZd Zd Zd Zd Zd&d Zd! Z d" Z!d# Z"d$S )'r   !ztag:yaml.org,2002:)r   z!!c                 d    d | _         d | _        i | _        g | _        g | _        | j        | _        d S N)current_eventyaml_versiontag_handlesstatesmarksparse_stream_startstateselfs    r   __init__zParser.__init__Q   s6    ! 
,


r   c                 "    g | _         d | _        d S r   )r   r   r   s    r   disposezParser.disposeY   s    


r   c                     | j          | j        r|                                 | _         | j         !|sdS |D ]}t          | j         |          r dS dS )NTF)r   r   
isinstance)r   choiceschoices      r   check_eventzParser.check_event^   sp    %z 2%)ZZ\\") t!    d0&99  44 ur   c                 ^    | j          | j        r|                                 | _         | j         S r   r   r   r   s    r   
peek_eventzParser.peek_eventk   s.    %z 2%)ZZ\\"!!r   c                 p    | j          | j        r|                                 | _         | j         }d | _         |S r   r$   )r   values     r   	get_eventzParser.get_eventr   s:    %z 2%)ZZ\\""!r   c                     |                                  }t          |j        |j        |j                  }| j        | _        |S )N)encoding)	get_tokenStreamStartEvent
start_markend_markr*   parse_implicit_document_startr   r   tokenevents      r   r   zParser.parse_stream_start   sF        !15>) ) ) 7
r   c                 F   |                      t          t          t                    sh| j        | _        |                                 }|j        x}}t          ||d          }| j	        
                    | j                   | j        | _        |S |                                 S )NFexplicit)check_tokenDirectiveTokenDocumentStartTokenStreamEndTokenDEFAULT_TAGSr   
peek_tokenr-   DocumentStartEventr   appendparse_document_endparse_block_noder   parse_document_start)r   r1   r-   r.   r2   s        r   r/   z$Parser.parse_implicit_document_start   s     0B    	/#0DOO%%E$)$44J&z8"$ $ $E Kt6777.DJL ,,...r   c                 ,   |                      t                    r.|                                  |                      t                    .|                      t                    s|                                 }|j        }|                                 \  }}|                      t                    sCt          d d d|                                 j	        z  |                                 j                  |                                 }|j
        }t          ||d||          }| j                            | j                   | j        | _        nG|                                 }t#          |j        |j
                  }| j        rJ | j        rJ d | _        |S )Nz)expected '<document start>', but found %rT)r5   versiontags)r6   DocumentEndTokenr+   r9   r;   r-   process_directivesr8   r   idr.   r<   r   r=   r>   parse_document_contentr   StreamEndEventr   )r   r1   r-   rB   rC   r.   r2   s          r   r@   zParser.parse_document_start   s    /00 	NN /00 	 // 	OO%%E)J 3355MGT##$677 6!$C//++./))46 6 6 NN$$E~H&z8!7? ? ?EKt67774DJJ NN$$E"5#3U^DDE{"""z!!!DJr   c                     |                                  }|j        x}}d}|                     t                    r|                                 }|j        }d}t          |||          }| j        | _        |S )NFTr4   )	r;   r-   r6   rD   r+   r.   DocumentEndEventr@   r   )r   r1   r-   r.   r5   r2   s         r   r>   zParser.parse_document_end   s     !! % 00
X,-- 	NN$$E~HH X!# # # .
r   c                    |                      t          t          t          t                    rL|                     |                                 j                  }| j        	                                | _
        |S |                                 S r   )r6   r7   r8   rD   r9   process_empty_scalarr;   r-   r   popr   r?   )r   r2   s     r   rG   zParser.parse_document_content   sp    N"$4nF F 	+--doo.?.?.JKKE**DJL((***r   c                    d | _         i | _        |                     t                    r|                                 }|j        dk    rR| j         t          d d d|j                  |j        \  }}|dk    rt          d d d|j                  |j        | _         nB|j        dk    r7|j        \  }}|| j        v rt          d d d|z  |j                  || j        |<   |                     t                    | j        r!| j         | j        	                                f}n	| j         d f}| j
        D ] }|| j        vr| j
        |         | j        |<   !|S )NYAMLzfound duplicate YAML directiver   z:found incompatible YAML document (version 1.* is required)TAGzduplicate tag handle %r)r   r   r6   r7   r+   namer   r-   r'   copyr:   )r   r1   majorminorhandleprefixr'   keys           r   rE   zParser.process_directives   s    ~.. 	2NN$$EzV##$0%dD<e>NP P P${uA::%dDX!,. . . %*K!!u$$!&T---%dD5>!,. . . ,2 (% ~.. 	2&  	,%t'7'<'<'>'>>EE%t+E$ 	? 	?C$***(,(9#(> %r   c                 .    |                      d          S )NT)block
parse_noder   s    r   r?   zParser.parse_block_node  s    T***r   c                 *    |                                  S r   rZ   r   s    r   parse_flow_nodezParser.parse_flow_node  s       r   c                 0    |                      dd          S )NT)rY   indentless_sequencerZ   r   s    r   'parse_block_node_or_indentless_sequencez.Parser.parse_block_node_or_indentless_sequence  s    TtDDDr   Fc           	      4	   |                      t                    rT|                                 }t          |j        |j        |j                  }| j                                        | _	        n)d }d }d x}x}}	|                      t                    rm|                                 }|j        }|j        }|j        }|                      t                    r)|                                 }|j        }	|j        }|j        }n|                      t                    rg|                                 }|j        x}}	|j        }|j        }|                      t                    r"|                                 }|j        }|j        }|8|\  }
}|
/|
| j        vrt          d|d|
z  |	          | j        |
         |z   }n|}||                                 j        x}}d }|d u p|dk    }|rT|                      t                    r:|                                 j        }t!          |||||          }| j        | _	        n^|                      t$                    rt|                                 }|j        }|j        r||dk    rd}n|d}nd}t)          ||||j        |||j                  }| j                                        | _	        n|                      t,                    r<|                                 j        }t!          |||||d	          }| j        | _	        nz|                      t0                    r<|                                 j        }t3          |||||d	          }| j        | _	        n$|rU|                      t6                    r;|                                 j        }t!          |||||d
	          }| j        | _	        n|rU|                      t:                    r;|                                 j        }t3          |||||d
	          }| j        | _	        nv||5t)          |||d
fd||          }| j                                        | _	        n=|rd}nd}|                                 }t          d|z  |d|j        z  |j                  |S )Nzwhile parsing a nodezfound undefined tag handle %rr   TF)FTFF)styleT
flow_styleF rY   flowzwhile parsing a %s nodez'expected the node content, but found %r) r6   
AliasTokenr+   
AliasEventr'   r-   r.   r   rM   r   AnchorTokenTagTokenr   r   r;   BlockEntryTokenSequenceStartEventparse_indentless_sequence_entryScalarTokenplainScalarEventrd   FlowSequenceStartTokenparse_flow_sequence_first_entryFlowMappingStartTokenMappingStartEventparse_flow_mapping_first_keyBlockSequenceStartToken parse_block_sequence_first_entryBlockMappingStartTokenparse_block_mapping_first_keyrF   )r   rY   r_   r1   r2   anchortagr-   r.   tag_markrU   suffiximplicitnodes                 r   r[   zParser.parse_node  s   J'' a	.NN$$Eu{E,<enMME**DJJFC/33J3H,, )(("-
 >##H-- & NN,,E$/H$~H+C!!(++ )(((-(88
X >k##K00 ) NN,,E$~H"[F!$%T%555)*@* ?& H (* * * *6269CC C
 !(,(9(9(DD
XEt1sczH" 4.t'7'7'H'H 4.??,,5*63"H. .!A

##K00 .. NN,,E$~H 2s

#0#0#1'Xu{&E E EE!%!2!2DJJ%%&<== ".#009H.vsH&TC C CE!%!EDJJ%%&;<< .#009H-fc8&TC C CE!%!BDJJ .t//0GHH .#00;H.vsH&UD D DE!%!FDJJ .t//0FGG .#00;H-fc8&UD D DE!%!CDJJ'3? (h5F&2 2E!%!2!2DJJ &&% OO--E%&?$&F
EP!,. . . r   c                     |                                  }| j                            |j                   |                                 S r   )r+   r   r=   r-   parse_block_sequence_entryr   r1   s     r   ry   z'Parser.parse_block_sequence_first_entryx  s<      
%*+++..000r   c                    |                      t                    r|                                 }|                      t          t                    s3| j                            | j                   |                                 S | j        | _        | 	                    |j
                  S |                      t                    s>|                                 }t          d| j        d         d|j        z  |j                  |                                 }t!          |j        |j
                  }| j                                        | _        | j                                         |S )Nz while parsing a block collection"expected <block end>, but found %r)r6   rm   r+   BlockEndTokenr   r=   r   r?   r   rL   r.   r;   r   r   rF   r-   SequenceEndEventrM   r0   s      r   r   z!Parser.parse_block_sequence_entry}  s.   O,, 	ANN$$E##O]CC A""4#BCCC,,...!<
00@@@.. 	WOO%%E@$*R.858CUEUW W W   !15>BB[__&&

r   c                    |                      t                    r|                                 }|                      t          t          t          t
                    s3| j                            | j                   | 	                                S | j        | _
        |                     |j                  S |                                 }t          |j        |j                  }| j                                        | _
        |S r   )r6   rm   r+   KeyToken
ValueTokenr   r   r=   ro   r?   r   rL   r.   r;   r   r-   rM   r0   s      r   ro   z&Parser.parse_indentless_sequence_entry  s    O,, 	ANN$$E##Oj-9 9 A""4#GHHH,,...!A
00@@@!! !153CDD[__&&
r   c                     |                                  }| j                            |j                   |                                 S r   )r+   r   r=   r-   parse_block_mapping_keyr   s     r   r{   z$Parser.parse_block_mapping_first_key  s<      
%*+++++---r   c                    |                      t                    r|                                 }|                      t          t          t                    s3| j                            | j                   |                                 S | j        | _	        | 
                    |j                  S |                      t                    s>|                                 }t          d| j        d         d|j        z  |j                  |                                 }t#          |j        |j                  }| j                                        | _	        | j                                         |S )Nzwhile parsing a block mappingr   r   )r6   r   r+   r   r   r   r=   parse_block_mapping_valuer`   r   rL   r.   r;   r   r   rF   r-   MappingEndEventrM   r0   s      r   r   zParser.parse_block_mapping_key  s0   H%% 	ANN$$E##Hj-HH A""4#ABBBCCEEE!;
00@@@.. 	WOO%%E=tz"~858CUEUW W W   0%.AA[__&&

r   c                    |                      t                    r|                                 }|                      t          t          t                    s3| j                            | j                   |                                 S | j        | _	        | 
                    |j                  S | j        | _	        |                                 }| 
                    |j                  S r   )r6   r   r+   r   r   r   r=   r   r`   r   rL   r.   r;   r-   r   s     r   r   z Parser.parse_block_mapping_value  s    J'' 	?NN$$E##Hj-HH A""4#?@@@CCEEE!9
00@@@5DJOO%%E,,U-=>>>r   c                     |                                  }| j                            |j                   |                     d          S NT)first)r+   r   r=   r-   parse_flow_sequence_entryr   s     r   rt   z&Parser.parse_flow_sequence_first_entry  sA      
%*+++--D-999r   c                 4   |                      t                    s|sm|                      t                    r|                                  n>|                                 }t          d| j        d         d|j        z  |j                  |                      t                    rA|                                 }t          d d d|j        |j        d          }| j        | _        |S |                      t                    s3| j                            | j                   |                                 S |                                 }t%          |j        |j                  }| j                                        | _        | j                                         |S )Nzwhile parsing a flow sequencer   zexpected ',' or ']', but got %rTre   )r6   FlowSequenceEndTokenFlowEntryTokenr+   r;   r   r   rF   r-   r   rv   r.   %parse_flow_sequence_entry_mapping_keyr   r   r=   r   r]   r   rM   r   r   r1   r2   s       r   r   z Parser.parse_flow_sequence_entry  sy    455 	. \##N33 \NN$$$$ OO--E%&EtzRT~=H%JZ\ \ \ )) 	.)))$d(%.#') ) ) "G
%%&:;; .""4#ABBB++---   !15>BB[__&&

r   c                 (   |                                  }|                     t          t          t                    s3| j                            | j                   |                                 S | j        | _	        | 
                    |j                  S r   )r+   r6   r   r   r   r   r=   'parse_flow_sequence_entry_mapping_valuer]   r   rL   r.   r   s     r   r   z,Parser.parse_flow_sequence_entry_mapping_key  s|      
 46 6 	=KtKLLL'')))EDJ,,U^<<<r   c                    |                      t                    r|                                 }|                      t          t                    s3| j                            | j                   |                                 S | j        | _	        | 
                    |j                  S | j        | _	        |                                 }| 
                    |j                  S r   )r6   r   r+   r   r   r   r=   %parse_flow_sequence_entry_mapping_endr]   r   rL   r.   r;   r-   r   s     r   r   z.Parser.parse_flow_sequence_entry_mapping_value   s    J'' 	?NN$$E##N4HII A""4#MNNN++---!G
00@@@CDJOO%%E,,U-=>>>r   c                 v    | j         | _        |                                 }t          |j        |j                  S r   )r   r   r;   r   r-   r   s     r   r   z,Parser.parse_flow_sequence_entry_mapping_end  s1    3
!!u/1ABBBr   c                     |                                  }| j                            |j                   |                     d          S r   )r+   r   r=   r-   parse_flow_mapping_keyr   s     r   rw   z#Parser.parse_flow_mapping_first_key  sA      
%*+++***666r   c                    |                      t                    si|sm|                      t                    r|                                  n>|                                 }t          d| j        d         d|j        z  |j                  |                      t                    r|                                 }|                      t          t          t                    s3| j                            | j                   |                                 S | j        | _        |                     |j                  S |                      t                    s3| j                            | j                   |                                 S |                                 }t'          |j        |j                  }| j                                        | _        | j                                         |S )Nzwhile parsing a flow mappingr   zexpected ',' or '}', but got %r)r6   FlowMappingEndTokenr   r+   r;   r   r   rF   r-   r   r   r   r=   parse_flow_mapping_valuer]   r   rL   r.   parse_flow_mapping_empty_valuer   rM   r   s       r   r   zParser.parse_flow_mapping_key  s    344 	. \##N33 \NN$$$$ OO--E%&DdjQSn=H%JZ\ \ \)) .((''
&(;= = EK&&t'DEEE//111!%!>DJ44U^DDD%%&9:: .""4#FGGG++---   0%.AA[__&&

r   c                    |                      t                    r|                                 }|                      t          t                    s3| j                            | j                   |                                 S | j        | _	        | 
                    |j                  S | j        | _	        |                                 }| 
                    |j                  S r   )r6   r   r+   r   r   r   r=   r   r]   r   rL   r.   r;   r-   r   s     r   r   zParser.parse_flow_mapping_value9  s    J'' 	?NN$$E##N4GHH A""4#>???++---!8
00@@@4DJOO%%E,,U-=>>>r   c                 r    | j         | _        |                     |                                 j                  S r   )r   r   rL   r;   r-   r   s    r   r   z%Parser.parse_flow_mapping_empty_valueG  s-    0
(():):)EFFFr   c                 *    t          d d dd||          S )Nrb   rg   )rr   )r   marks     r   rL   zParser.process_empty_scalarK  s    4}b$EEEr   Nrc   )F)#r   r	   r
   r:   r   r   r"   r%   r(   r   r/   r@   r>   rG   rE   r?   r]   r`   r[   ry   r   ro   r{   r   r   rt   r   r   r   r   rw   r   r   r   rL   r   r   r   r   r   H   s       
 # L
- - -  
  " " "  
 
 
/ / /(  >  $+ + +  ^+ + +! ! !E E Ec c c cN1 1 1
  *  (. . .
  &? ? ?2: : :
   4= = =? ? ?C C C7 7 7
   6? ? ?G G GF F F F Fr   N)__all__errorr   tokenseventsscannerr   r   r   r   r   <module>r      s   | ]
# " " " " " "            	 	 	 	 	/ 	 	 	DF DF DF DF DF DF DF DF DF DFr   