U mÃf—cã@sNddgZddlmZddlTddlTddlTGdd„deƒZGdd„dƒZdS)ÚParserÚ ParserErroré)ÚMarkedYAMLError)Ú*c@s eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©r r ú;/opt/hc_python/lib64/python3.8/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|jdkr|jr| ¡|_|jdk rH|s,dS|D]}t|j|ƒr0dSq0dS)NTF)r rÚ isinstance)rÚchoicesÚchoicer r r Ú check_event^s    zParser.check_eventcCs |jdkr|jr| ¡|_|jSr ©r rrr r r Ú peek_eventks  zParser.peek_eventcCs*|jdkr|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|_n0| ¡}t|j|j ƒ}|j r¸t‚|jrÂt‚d|_|S)Nz)expected '', but found %rT)r)ÚversionÚtags)r*ÚDocumentEndTokenr!r-r/r"Úprocess_directivesr,rÚidr#r0rr1r2Úparse_document_contentrZStreamEndEventÚAssertionErrorr)rr&r"r5r6r#r'r r r r4Ÿs8     ÿýÿ   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|jdk rBtddd|jƒ‚|j\}}|dkrdtddd|jƒ‚|j|_q |jdkr |j\}}||jkr tddd||jƒ‚||j|<q |jrÄ|j|j  ¡f}n |jdf}|j D]}||jkrÔ|j ||j|<qÔ|S)NÚYAMLzfound 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 rGrr r r Úparse_flow_node szParser.parse_flow_nodecCs|jdddS)NT)rFÚindentless_sequencerGrr 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}|dk r&|\} } | dk r"| |j krt d|d| | ƒ‚|j | | }n| }|dkr>| ¡j}}d}|dkpR|dk} |rŒ| t¡rŒ| ¡j}t||| ||ƒ}|j|_ nÂ| t¡r| ¡}|j}|jr¸|dksÂ|dkrÈd} n|dkrØ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|dk sø|dk rt||| 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ÚrFZflowzwhile 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 ScalarTokenÚplainÚ ScalarEventrMZFlowSequenceStartTokenÚparse_flow_sequence_first_entryZFlowMappingStartTokenÚMappingStartEventÚparse_flow_mapping_first_keyZBlockSequenceStartTokenÚ parse_block_sequence_first_entryZBlockMappingStartTokenÚparse_block_mapping_first_keyr9)rrFrJr&r'ÚanchorÚtagr"r#Ztag_markrCÚsuffixZimplicitÚnoder r r rHsØ          þ  ÿ    ÿ  ÿ   ÿ  ÿ  ÿ ÿ þzParser.parse_nodecCs| ¡}|j |j¡| ¡Sr )r!rr1r"Úparse_block_sequence_entry©rr&r r r rWxsz'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*rPr!Ú BlockEndTokenrr1r]r3rr<r#r/rrr9r"ÚSequenceEndEventr=r%r r r r]}s$     ÿ  z!Parser.parse_block_sequence_entrycCsr| t¡rL| ¡}| tttt¡s8|j |j¡|  ¡S|j|_ |  |j ¡S|  ¡}t|j|jƒ}|j ¡|_ |Sr )r*rPr!ÚKeyTokenÚ ValueTokenrarr1rQr3rr<r#r/rbr"r=r%r r r rQ’s ÿ  z&Parser.parse_indentless_sequence_entrycCs| ¡}|j |j¡| ¡Sr )r!rr1r"Úparse_block_mapping_keyr^r r r rX¦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*rcr!rdrarr1Úparse_block_mapping_valuerKrr<r#r/rrr9r"ÚMappingEndEventr=r%r r r re«s$    ÿ  zParser.parse_block_mapping_keycCsl| t¡rL| ¡}| ttt¡s6|j |j¡| ¡S|j|_ |  |j ¡Sn|j|_ |  ¡}|  |j ¡SdSr )r*rdr!rcrarr1rerKrr<r#r/r"r^r r r rf¾s z Parser.parse_block_mapping_valuecCs"| ¡}|j |j¡|jddS©NT)Úfirst)r!rr1r"Úparse_flow_sequence_entryr^r r r rT×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 %rTrN)r*ÚFlowSequenceEndTokenÚFlowEntryTokenr!r/rrr9r"rcrUr#Ú%parse_flow_sequence_entry_mapping_keyrrr1rjrIrbr=©rrir&r'r r r rjÜs4    ÿ þ   z Parser.parse_flow_sequence_entrycCsD| ¡}| ttt¡s,|j |j¡| ¡S|j|_ |  |j ¡SdSr ) r!r*rdrlrkrr1Ú'parse_flow_sequence_entry_mapping_valuerIrr<r#r^r r r rmösÿz,Parser.parse_flow_sequence_entry_mapping_keycCsj| t¡rJ| ¡}| tt¡s4|j |j¡| ¡S|j|_ |  |j ¡Sn|j|_ |  ¡}|  |j ¡SdSr )r*rdr!rlrkrr1Ú%parse_flow_sequence_entry_mapping_endrIrr<r#r/r"r^r r r ros  z.Parser.parse_flow_sequence_entry_mapping_valuecCs|j|_| ¡}t|j|jƒSr )rjrr/rgr"r^r r r rpsz,Parser.parse_flow_sequence_entry_mapping_endcCs"| ¡}|j |j¡|jddSrh)r!rr1r"Úparse_flow_mapping_keyr^r r r rVsz#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*ÚFlowMappingEndTokenrlr!r/rrr9r"rcrdrr1Úparse_flow_mapping_valuerIrr<r#Úparse_flow_mapping_empty_valuergr=rnr r r rqs6    ÿ ÿ   zParser.parse_flow_mapping_keycCsj| t¡rJ| ¡}| tt¡s4|j |j¡| ¡S|j|_ |  |j ¡Sn|j|_ |  ¡}|  |j ¡SdSr )r*rdr!rlrrrr1rqrIrr<r#r/r"r^r r r rs9s  zParser.parse_flow_mapping_valuecCs|j|_| | ¡j¡Sr )rqrr<r/r"rr r r rtGsz%Parser.parse_flow_mapping_empty_valuecCstdddd||ƒS)NrLrO)rS)rÚmarkr r r r<KszParser.process_empty_scalarN)FF)F)F)#rrrr.rrrrrrr$r4r2r:r8r3rIrKrHrWr]rQrXrerfrTrjrmrorprVrqrsrtr<r r r r rHsDþ    / g    N)Ú__all__ÚerrorrÚtokensÚeventsÚscannerrrr r r r Ú>s