a b£`—cã@sNddgZddlmZddlTddlTddlTGdd„deƒZGdd„dƒZdS)ÚParserÚ ParserErroré)ÚMarkedYAMLError)Ú*c@s eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©r r ú1/usr/lib64/python3.9/site-packages/yaml/parser.pyrEsc@seZdZdddœZdd„Zdd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dd„Z dd„Z dd„Zdd„Zdd„Zdd„ZdDd!d"„Zd#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„ZdEd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„ZdFd;d<„Zd=d>„Z d?d@„Z!dAdB„Z"dCS)Grú!ztag:yaml.org,2002:)r z!!cCs*d|_d|_i|_g|_g|_|j|_dS©N)Ú current_eventÚ yaml_versionÚ tag_handlesÚstatesÚmarksÚparse_stream_startÚstate©Úselfr r r Ú__init__Qs zParser.__init__cCsg|_d|_dSr )rrrr r r ÚdisposeYszParser.disposecGsL|jdur|jr| ¡|_|jdurH|s,dS|D]}t|j|ƒr0dSq0dS)NTF)r rÚ isinstance)rÚchoicesÚchoicer r r Ú check_event^s    zParser.check_eventcCs |jdur|jr| ¡|_|jSr ©r rrr r r Ú peek_eventks  zParser.peek_eventcCs*|jdur|jr| ¡|_|j}d|_|Sr r)rÚvaluer r r Ú get_eventrs   zParser.get_eventcCs(| ¡}t|j|j|jd}|j|_|S)N)Úencoding)Ú get_tokenZStreamStartEventÚ start_markÚend_markr Úparse_implicit_document_startr©rÚtokenÚeventr r r rs  ÿzParser.parse_stream_startcCs\| ttt¡sP|j|_| ¡}|j}}t||dd}|j   |j ¡|j |_ |S| ¡SdS)NF©Úexplicit)Ú check_tokenÚDirectiveTokenÚDocumentStartTokenÚStreamEndTokenÚ DEFAULT_TAGSrÚ peek_tokenr"ÚDocumentStartEventrÚappendÚparse_document_endÚparse_block_noderÚparse_document_start)rr&r"r#r'r r r r$‹sÿ ÿz$Parser.parse_implicit_document_startcCs¸| t¡r| ¡q| t¡s˜| ¡}|j}| ¡\}}| t¡s`tddd| ¡j | ¡jƒ‚| ¡}|j }t ||d||d}|j   |j¡|j|_n| ¡}t|j|j ƒ}d|_|S)Nz)expected '', but found %rT)r)ÚversionÚtags)r*ÚDocumentEndTokenr!r-r/r"Úprocess_directivesr,rÚidr#r0rr1r2Úparse_document_contentrZStreamEndEvent)rr&r"r5r6r#r'r r r r4Ÿs0     ÿýÿ zParser.parse_document_startcCsL| ¡}|j}}d}| t¡r2| ¡}|j}d}t|||d}|j|_|S)NFTr() r/r"r*r7r!r#ZDocumentEndEventr4r)rr&r"r#r)r'r r r r2¾s  ÿzParser.parse_document_endcCs<| tttt¡r0| | ¡j¡}|j  ¡|_ |S|  ¡SdSr ) r*r+r,r7r-Úprocess_empty_scalarr/r"rÚpoprr3)rr'r r r r:Ðsÿ zParser.parse_document_contentcCsød|_i|_| t¡r¬| ¡}|jdkrn|jdurBtddd|jƒ‚|j\}}|dkrdtddd|jƒ‚|j|_q |jdkr |j\}}||jvr tddd||jƒ‚||j|<q |jrÄ|j|j  ¡f}n |jdf}|j D]}||jvrÔ|j ||j|<qÔ|S)NZYAMLzfound duplicate YAML directiverz:found incompatible YAML document (version 1.* is required)ZTAGzduplicate tag handle %r) rrr*r+r!Únamerr"rÚcopyr.)rr&ÚmajorÚminorÚhandleÚprefixrÚkeyr r r r8Ùs>   ÿ þ    þ    zParser.process_directivescCs |jddS)NT)Úblock©Ú parse_noderr r r r3szParser.parse_block_nodecCs| ¡Sr rErr r r Úparse_flow_node szParser.parse_flow_nodecCs|jdddS)NT)rDÚindentless_sequencerErr r r Ú'parse_block_node_or_indentless_sequencesz.Parser.parse_block_node_or_indentless_sequenceFc CsR| t¡r4| ¡}t|j|j|jƒ}|j ¡|_ nd}d}d}}} | t ¡r’| ¡}|j}|j}|j}| t ¡rØ| ¡}|j} |j}|j}nF| t ¡rØ| ¡}|j}} |j}|j}| t ¡rØ| ¡}|j}|j}|dur&|\} } | dur"| |j vrt d|d| | ƒ‚|j | | }n| }|dur>| ¡j}}d}|dupR|dk} |rŒ| t¡rŒ| ¡j}t||| ||ƒ}|j|_ nÂ| t¡r| ¡}|j}|jr¸|dusÂ|dkrÈd} n|durØd} nd} t||| |j|||jd}|j ¡|_ nH| t¡r<| ¡j}t||| ||dd }|j|_ n| t¡rp| ¡j}t||| ||dd }|j|_ nÞ|rª| t¡rª| ¡j}t||| ||d d }|j|_ n¤|rä| t¡rä| ¡j}t||| ||d d }|j|_ nj|dusø|durt||| d fd ||ƒ}|j ¡|_ n2|r(d } nd } | ¡}t d| |d|j|jƒ‚|S)Nzwhile parsing a nodezfound undefined tag handle %rr ©TF)FT)FF)ÚstyleT©Z flow_styleFÚrDZflowzwhile parsing a %s nodez'expected the node content, but found %r) r*Z AliasTokenr!Z AliasEventrr"r#rr<rZ AnchorTokenZTagTokenrrr/ÚBlockEntryTokenZSequenceStartEventÚparse_indentless_sequence_entryZ ScalarTokenZplainÚ ScalarEventrKZFlowSequenceStartTokenÚparse_flow_sequence_first_entryZFlowMappingStartTokenÚMappingStartEventÚparse_flow_mapping_first_keyZBlockSequenceStartTokenÚ parse_block_sequence_first_entryZBlockMappingStartTokenÚparse_block_mapping_first_keyr9)rrDrHr&r'ÚanchorÚtagr"r#Ztag_markrAÚsuffixZimplicitZnoder r r rFsÀ          þ  ÿ    ÿ  ÿ   ÿ  ÿ  ÿ ÿ þzParser.parse_nodecCs| ¡}|j |j¡| ¡Sr )r!rr1r"Úparse_block_sequence_entry©rr&r r r rTxsz'Parser.parse_block_sequence_first_entrycCs¦| t¡rH| ¡}| tt¡s4|j |j¡| ¡S|j|_|  |j ¡S| t¡sv|  ¡}t d|j dd|j|jƒ‚| ¡}t|j|j ƒ}|j ¡|_|j  ¡|S)Nz while parsing a block collectionéÿÿÿÿú"expected , but found %r)r*rNr!Ú BlockEndTokenrr1rYr3rr;r#r/rrr9r"ÚSequenceEndEventr<r%r r r rY}s"      ÿ  z!Parser.parse_block_sequence_entrycCsr| t¡rL| ¡}| tttt¡s8|j |j¡|  ¡S|j|_ |  |j ¡S|  ¡}t|j|jƒ}|j ¡|_ |Sr )r*rNr!ÚKeyTokenÚ ValueTokenr]rr1rOr3rr;r#r/r^r"r<r%r r r rO’s ÿ  z&Parser.parse_indentless_sequence_entrycCs| ¡}|j |j¡| ¡Sr )r!rr1r"Úparse_block_mapping_keyrZr r r rU¦sz$Parser.parse_block_mapping_first_keycCs¨| t¡rJ| ¡}| ttt¡s6|j |j¡| ¡S|j|_ |  |j ¡S| t¡sx|  ¡}t d|jdd|j|jƒ‚| ¡}t|j|j ƒ}|j ¡|_ |j ¡|S)Nzwhile parsing a block mappingr[r\)r*r_r!r`r]rr1Úparse_block_mapping_valuerIrr;r#r/rrr9r"ÚMappingEndEventr<r%r r r ra«s"     ÿ  zParser.parse_block_mapping_keycCsl| t¡rL| ¡}| ttt¡s6|j |j¡| ¡S|j|_ |  |j ¡Sn|j|_ |  ¡}|  |j ¡SdSr )r*r`r!r_r]rr1rarIrr;r#r/r"rZr r r rb¾s z Parser.parse_block_mapping_valuecCs"| ¡}|j |j¡|jddS©NT)Úfirst)r!rr1r"Úparse_flow_sequence_entryrZr r r rQ×sz&Parser.parse_flow_sequence_first_entrycCsÌ| t¡sœ|sF| t¡r"| ¡n$| ¡}td|jdd|j|jƒ‚| t ¡r|| ¡}t ddd|j|j dd}|j |_ |S| t¡sœ|j |j¡| ¡S| ¡}t|j|j ƒ}|j ¡|_ |j ¡|S)Nzwhile parsing a flow sequencer[zexpected ',' or ']', but got %rTrL)r*ÚFlowSequenceEndTokenÚFlowEntryTokenr!r/rrr9r"r_rRr#Ú%parse_flow_sequence_entry_mapping_keyrrr1rfrGr^r<©rrer&r'r r r rfÜs0     ÿ þ   z Parser.parse_flow_sequence_entrycCsD| ¡}| ttt¡s,|j |j¡| ¡S|j|_ |  |j ¡SdSr ) r!r*r`rhrgrr1Ú'parse_flow_sequence_entry_mapping_valuerGrr;r#rZr r r riösÿz,Parser.parse_flow_sequence_entry_mapping_keycCsj| t¡rJ| ¡}| tt¡s4|j |j¡| ¡S|j|_ |  |j ¡Sn|j|_ |  ¡}|  |j ¡SdSr )r*r`r!rhrgrr1Ú%parse_flow_sequence_entry_mapping_endrGrr;r#r/r"rZr r r rks  z.Parser.parse_flow_sequence_entry_mapping_valuecCs|j|_| ¡}t|j|jƒSr )rfrr/rcr"rZr r r rlsz,Parser.parse_flow_sequence_entry_mapping_endcCs"| ¡}|j |j¡|jddSrd)r!rr1r"Úparse_flow_mapping_keyrZr r r rSsz#Parser.parse_flow_mapping_first_keycCsâ| t¡s²|sF| t¡r"| ¡n$| ¡}td|jdd|j|jƒ‚| t ¡r’| ¡}| t tt¡s||j   |j ¡| ¡S|j |_| |j¡Sn | t¡s²|j   |j¡| ¡S| ¡}t|j|jƒ}|j  ¡|_|j ¡|S)Nzwhile parsing a flow mappingr[zexpected ',' or '}', but got %r)r*ÚFlowMappingEndTokenrhr!r/rrr9r"r_r`rr1Úparse_flow_mapping_valuerGrr;r#Úparse_flow_mapping_empty_valuercr<rjr r r rms2     ÿ ÿ   zParser.parse_flow_mapping_keycCsj| t¡rJ| ¡}| tt¡s4|j |j¡| ¡S|j|_ |  |j ¡Sn|j|_ |  ¡}|  |j ¡SdSr )r*r`r!rhrnrr1rmrGrr;r#r/r"rZr r r ro9s  zParser.parse_flow_mapping_valuecCs|j|_| | ¡j¡Sr )rmrr;r/r"rr r r rpGsz%Parser.parse_flow_mapping_empty_valuecCstdddd||ƒS)NrJrM)rP)rZmarkr r r r;KszParser.process_empty_scalarN)FF)F)F)#rrrr.rrrrrrr$r4r2r:r8r3rGrIrFrTrYrOrUrarbrQrfrirkrlrSrmrorpr;r r r r rHsDþ    / g    N)Ú__all__ÚerrorrÚtokensZeventsÚscannerrrr r r r Ú>s