o
    f>xdOČ  ć                   @   sL   d dgZ ddlmZ ddlT G dd deZG dd dZG dd  d Zd	S )
ŚScannerŚScannerErroré   )ŚMarkedYAMLError)Ś*c                   @   s   e Zd ZdS )r   N)Ś__name__Ś
__module__Ś__qualname__© r	   r	   ś4D:\rfid_django\env\Lib\site-packages\yaml/scanner.pyr       s    c                   @   s   e Zd Zdd ZdS )Ś	SimpleKeyc                 C   s(   || _ || _|| _|| _|| _|| _d S ©N)Śtoken_numberŚrequiredŚindexŚlineŚcolumnŚmark)Śselfr   r   r   r   r   r   r	   r	   r
   Ś__init__&   s   
zSimpleKey.__init__N)r   r   r   r   r	   r	   r	   r
   r   #   s    r   c                   @   sĀ  e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/d0 Zd1d2 Zd3d4 Zd5d6 Zd7d8 Zd9d: Zd;d< Z d=d> Z!d?d@ Z"dAdB Z#dCdD Z$dEdF Z%dGdH Z&dIdJ Z'dKdL Z(dMdN Z)dOdP Z*dQdR Z+dSdT Z,dUdV Z-dWdX Z.dYdZ Z/d[d\ Z0d]d^ Z1d_d` Z2dadb Z3dcdd Z4dedf Z5dgdh Z6didj Z7dkdl Z8dmdn Z9dodp Z:dqdr Z;dsdt Z<dudv Z=dwdx Z>dydz Z?d{d| Z@i d}d~ddddddddddddddddddddddddddddddddddi„ZAddddZBdd  ZCd”d¢ ZDd£d¤ ZEd„d¦ ZFd§dØ ZGd©dŖ ZHd«d¬ ZId­d® ZJdÆd° ZKd±S )²r   c                 C   s<   d| _ d| _g | _|  ”  d| _d| _g | _d| _i | _dS )zInitialize the scanner.Fé    é’’’’TN)	ŚdoneŚ
flow_levelŚtokensŚfetch_stream_startŚtokens_takenŚindentŚindentsŚallow_simple_keyŚpossible_simple_keys©r   r	   r	   r
   r   0   s   
zScanner.__init__c                 G   sJ   |   ” r|  ”  |   ” s| jr#|sdS |D ]}t| jd |r" dS qdS )NTr   F)Śneed_more_tokensŚfetch_more_tokensr   Ś
isinstance)r   ŚchoicesŚchoicer	   r	   r
   Ścheck_tokenq   s   ’’zScanner.check_tokenc                 C   s,   |   ” r|  ”  |   ” s| jr| jd S d S )Nr   )r!   r"   r   r    r	   r	   r
   Ś
peek_token}   s   ’
zScanner.peek_tokenc                 C   s<   |   ” r|  ”  |   ” s| jr|  jd7  _| j d”S d S )Nr   r   )r!   r"   r   r   Śpopr    r	   r	   r
   Ś	get_token   s   ’žzScanner.get_tokenc                 C   s2   | j rdS | js
dS |  ”  |  ” | jkrdS d S )NFT)r   r   Śstale_possible_simple_keysŚnext_possible_simple_keyr   r    r	   r	   r
   r!      s   ’zScanner.need_more_tokensc                 C   s¶  |   ”  |  ”  |  | j” |  ” }|dkr|  ” S |dkr&|  ” r&|  ” S |dkr2|  ” r2|  	” S |dkr>|  
” r>|  ” S |dkrF|  ” S |dkrN|  ” S |dkrV|  ” S |dkr^|  ” S |d	krf|  ” S |dkrr|  ” rr|  ” S |d
kr~|  ” r~|  ” S |dkr|  ” r|  ” S |dkr|  ” S |dkr|  ” S |dkr¢|  ” S |dkr­| js­|  ” S |dkrø| jsø|  ” S |dkrĄ|  ” S |dkrČ|  ” S |  ” rŠ|   ” S t!dd d| |  "” )Nś ś%ś-Ś.ś[Ś{ś]Ś}ś,ś?ś:r   ś&ś!ś|ś>ś'ś"z!while scanning for the next tokenz.found character %r that cannot start any token)#Śscan_to_next_tokenr*   Śunwind_indentr   ŚpeekŚfetch_stream_endŚcheck_directiveŚfetch_directiveŚcheck_document_startŚfetch_document_startŚcheck_document_endŚfetch_document_endŚfetch_flow_sequence_startŚfetch_flow_mapping_startŚfetch_flow_sequence_endŚfetch_flow_mapping_endŚfetch_flow_entryŚcheck_block_entryŚfetch_block_entryŚ	check_keyŚ	fetch_keyŚcheck_valueŚfetch_valueŚfetch_aliasŚfetch_anchorŚ	fetch_tagr   Śfetch_literalŚfetch_foldedŚfetch_singleŚfetch_doubleŚcheck_plainŚfetch_plainr   Śget_mark©r   Śchr	   r	   r
   r"      s`   	žzScanner.fetch_more_tokensc                 C   s6   d }| j D ]}| j | }|d u s|j|k r|j}q|S r   )r   r   )r   Zmin_token_numberŚlevelŚkeyr	   r	   r
   r+     s   

z Scanner.next_possible_simple_keyc                 C   s\   t | jD ]&}| j| }|j| jks| j|j dkr+|jr'td|jd|  ” | j|= qd S )Ni   śwhile scanning a simple keyścould not find expected ':')Ślistr   r   r   r   r   r   r[   )r   r^   r_   r	   r	   r
   r*     s   
’’łz"Scanner.stale_possible_simple_keysc                 C   sb   | j  o	| j| jk}| jr/|  ”  | jt| j }t||| j	| j
| j|  ” }|| j| j < d S d S r   )r   r   r   r   Śremove_possible_simple_keyr   Ślenr   r   r   r   r[   r   )r   r   r   r_   r	   r	   r
   Śsave_possible_simple_key'  s   ’ūz Scanner.save_possible_simple_keyc                 C   sD   | j | jv r | j| j  }|jrtd|jd|  ” | j| j = d S d S )Nr`   ra   )r   r   r   r   r   r[   )r   r_   r	   r	   r
   rc   8  s   ’łz"Scanner.remove_possible_simple_keyc                 C   sL   | j rd S | j|kr$|  ” }| j ” | _| j t||” | j|ks
d S d S r   )r   r   r[   r   r(   r   ŚappendZBlockEndToken)r   r   r   r	   r	   r
   r>   E  s   
żzScanner.unwind_indentc                 C   s&   | j |k r| j | j ” || _ dS dS )NTF)r   r   rf   )r   r   r	   r	   r
   Ś
add_indent]  s
   
zScanner.add_indentc                 C   s$   |   ” }| j t||| jd” d S )N)Śencoding)r[   r   rf   ZStreamStartTokenrh   ©r   r   r	   r	   r
   r   g  s   ’zScanner.fetch_stream_startc                 C   sB   |   d” |  ”  d| _i | _|  ” }| j t||” d| _d S )Nr   FT)	r>   rc   r   r   r[   r   rf   ZStreamEndTokenr   ri   r	   r	   r
   r@   s  s   

zScanner.fetch_stream_endc                 C   s,   |   d” |  ”  d| _| j |  ” ” d S )Nr   F)r>   rc   r   r   rf   Śscan_directiver    r	   r	   r
   rB     s   
zScanner.fetch_directivec                 C   ó   |   t” d S r   )Śfetch_document_indicatorZDocumentStartTokenr    r	   r	   r
   rD     ó   zScanner.fetch_document_startc                 C   rk   r   )rl   ZDocumentEndTokenr    r	   r	   r
   rF     rm   zScanner.fetch_document_endc                 C   sH   |   d” |  ”  d| _|  ” }|  d” |  ” }| j |||” d S )Nr   Fé   )r>   rc   r   r[   Śforwardr   rf   ©r   Ś
TokenClassŚ
start_markŚend_markr	   r	   r
   rl     s   

z Scanner.fetch_document_indicatorc                 C   rk   r   )Śfetch_flow_collection_startZFlowSequenceStartTokenr    r	   r	   r
   rG   Ø  rm   z!Scanner.fetch_flow_sequence_startc                 C   rk   r   )rt   ZFlowMappingStartTokenr    r	   r	   r
   rH   «  rm   z Scanner.fetch_flow_mapping_startc                 C   sJ   |   ”  |  jd7  _d| _|  ” }|  ”  |  ” }| j |||” d S )Nr   T)re   r   r   r[   ro   r   rf   rp   r	   r	   r
   rt   ®  ó   z#Scanner.fetch_flow_collection_startc                 C   rk   r   )Śfetch_flow_collection_endZFlowSequenceEndTokenr    r	   r	   r
   rI   æ  rm   zScanner.fetch_flow_sequence_endc                 C   rk   r   )rv   ZFlowMappingEndTokenr    r	   r	   r
   rJ   Ā  rm   zScanner.fetch_flow_mapping_endc                 C   sJ   |   ”  |  jd8  _d| _|  ” }|  ”  |  ” }| j |||” d S )Nr   F)rc   r   r   r[   ro   r   rf   rp   r	   r	   r
   rv   Å  ru   z!Scanner.fetch_flow_collection_endc                 C   s<   d| _ |  ”  |  ” }|  ”  |  ” }| j t||” d S ©NT)r   rc   r[   ro   r   rf   ZFlowEntryToken)r   rr   rs   r	   r	   r
   rK   Ö  s   zScanner.fetch_flow_entryc                 C   s   | j s#| jstd d d|  ” |  | j”r"|  ” }| j t||” n	 d| _|  	”  |  ” }|  
”  |  ” }| j t||” d S )Nz%sequence entries are not allowed hereT)r   r   r   r[   rg   r   r   rf   ZBlockSequenceStartTokenrc   ro   ZBlockEntryToken©r   r   rr   rs   r	   r	   r
   rM   ä  s"   žzScanner.fetch_block_entryc                 C   s   | j s"| jstd d d|  ” |  | j”r"|  ” }| j t||” | j  | _|  	”  |  ” }|  
”  |  ” }| j t||” d S )Nz!mapping keys are not allowed here)r   r   r   r[   rg   r   r   rf   ŚBlockMappingStartTokenrc   ro   ŚKeyTokenrx   r	   r	   r
   rO     s   ž
zScanner.fetch_keyc                 C   s  | j | jv r>| j| j  }| j| j = | j |j| j t|j|j” | j s:|  |j	”r:| j |j| j t
|j|j” d| _n.| j sM| jsMtd d d|  ” | j sc|  | j	”rc|  ” }| j t
||” | j  | _|  ”  |  ” }|  ”  |  ” }| j t||” d S )NFz#mapping values are not allowed here)r   r   r   Śinsertr   r   rz   r   rg   r   ry   r   r   r[   rf   rc   ro   Z
ValueToken)r   r_   r   rr   rs   r	   r	   r
   rQ   !  s8   
’’ž
zScanner.fetch_valuec                 C   ó$   |   ”  d| _| j |  t”” d S ©NF)re   r   r   rf   Śscan_anchorZ
AliasTokenr    r	   r	   r
   rR   Y  ó   zScanner.fetch_aliasc                 C   r|   r}   )re   r   r   rf   r~   ZAnchorTokenr    r	   r	   r
   rS   d  r   zScanner.fetch_anchorc                 C   ó"   |   ”  d| _| j |  ” ” d S r}   )re   r   r   rf   Śscan_tagr    r	   r	   r
   rT   o  s   zScanner.fetch_tagc                 C   ó   | j dd d S )Nr9   ©Śstyle©Śfetch_block_scalarr    r	   r	   r
   rU   z  ó   zScanner.fetch_literalc                 C   r   )Nr:   r   r   r    r	   r	   r
   rV   }  r   zScanner.fetch_foldedc                 C   s$   d| _ |  ”  | j |  |”” d S rw   )r   rc   r   rf   Śscan_block_scalar©r   r   r	   r	   r
   r     s   zScanner.fetch_block_scalarc                 C   r   )Nr;   r   ©Śfetch_flow_scalarr    r	   r	   r
   rW     r   zScanner.fetch_singlec                 C   r   )Nr<   r   r   r    r	   r	   r
   rX     r   zScanner.fetch_doublec                 C   s$   |   ”  d| _| j |  |”” d S r}   )re   r   r   rf   Śscan_flow_scalarr   r	   r	   r
   r     r   zScanner.fetch_flow_scalarc                 C   r   r}   )re   r   r   rf   Ś
scan_plainr    r	   r	   r
   rZ     s   zScanner.fetch_plainc                 C   s   | j dkrdS d S )Nr   T)r   r    r	   r	   r
   rA   «  s   
’zScanner.check_directivec                 C   ó6   | j dkr|  d”dkr|  d”dv rdS d S d S d S )Nr   rn   ś---õ     	
ĀāØā©T©r   Śprefixr?   r    r	   r	   r
   rC   ²  ó   
’żzScanner.check_document_startc                 C   r   )Nr   rn   ś...r   Tr   r    r	   r	   r
   rE   ŗ  r   zScanner.check_document_endc                 C   s   |   d”dv S )Nr   r   )r?   r    r	   r	   r
   rL   Ā  s   zScanner.check_block_entryc                 C   ó   | j rdS |  d”dv S ©NTr   r   ©r   r?   r    r	   r	   r
   rN   Ē  ó   zScanner.check_keyc                 C   r   r   r   r    r	   r	   r
   rP   Ń  r   zScanner.check_valuec                 C   s6   |   ” }|dvp|   d”dvo|dkp| j o|dv S )Nu      	
ĀāØā©-?:,[]{}#&*!|>'"%@`r   r   r.   z?:)r?   r   r\   r	   r	   r
   rY   Ū  s
   žzScanner.check_plainc                 C   s   | j dkr|  ” dkr|  ”  d}|sJ|  ” dkr#|  ”  |  ” dks|  ” dkr9|  ” dvr9|  ”  |  ” dvs/|  ” rD| jsCd| _nd}|rd S d S )Nr   u   ļ»æFś ś#õ    
ĀāØā©T)r   r?   ro   Śscan_line_breakr   r   )r   Śfoundr	   r	   r
   r=   š  s"   ’’özScanner.scan_to_next_tokenc                 C   s   |   ” }|  ”  |  |”}d }|dkr|  |”}|   ” }n"|dkr+|  |”}|   ” }n|   ” }|  ” dvr?|  ”  |  ” dvs5|  |” t||||S )NŚYAMLZTAGr   )r[   ro   Śscan_directive_nameŚscan_yaml_directive_valueŚscan_tag_directive_valuer?   Śscan_directive_ignored_lineZDirectiveToken)r   rr   ŚnameŚvaluers   r	   r	   r
   rj     s    




’
zScanner.scan_directivec                 C   s  d}|   |”}d|  krdks,n d|  krdks,n d|  kr'dks,n |dv rZ|d	7 }|   |”}d|  kr?dks,n d|  krJdks,n d|  krUdks,n |dv s,|sgtd
|d| |  ” |  |”}|  |” |   ” }|dvrtd
|d| |  ” |S )Nr   Ś0Ś9ŚAŚZŚaŚzś-_r   śwhile scanning a directiveś6expected alphabetic or numeric character, but found %rõ     
ĀāØā©)r?   r   r[   r   ro   )r   rr   Ślengthr]   r¤   r	   r	   r
   r   &  s8   
B’
Bż’’ž

’žzScanner.scan_directive_namec                 C   s   |   ” dkr|  ”  |   ” dks|  |”}|   ” dkr(td|d|   ”  |  ” |  ”  |  |”}|   ” dvrDtd|d|   ”  |  ” ||fS )Nr   r/   r¬   z%expected a digit or '.', but found %rr®   z%expected a digit or ' ', but found %r)r?   ro   Śscan_yaml_directive_numberr   r[   )r   rr   ŚmajorŚminorr	   r	   r
   r    ;  s"   ’

ž

žz!Scanner.scan_yaml_directive_valuec                 C   s   |   ” }d|  krdksn td|d| |  ” d}d|   |”  kr)dkr=n n|d7 }d|   |”  kr<dks+n t|  |”}|  |” |S )Nr„   r¦   r¬   zexpected a digit, but found %rr   r   )r?   r   r[   Śintr   ro   )r   rr   r]   rÆ   r¤   r	   r	   r
   r°   L  s   ’’
z"Scanner.scan_yaml_directive_numberc                 C   s\   |   ” dkr|  ”  |   ” dks|  |”}|   ” dkr%|  ”  |   ” dks|  |”}||fS )Nr   )r?   ro   Śscan_tag_directive_handleŚscan_tag_directive_prefix)r   rr   Śhandler   r	   r	   r
   r”   Y  s   ’
’
z Scanner.scan_tag_directive_valuec                 C   s6   |   d|”}|  ” }|dkrtd|d| |  ” |S )NŚ	directiver   r¬   śexpected ' ', but found %r)Śscan_tag_handler?   r   r[   ©r   rr   r¤   r]   r	   r	   r
   r“   c  ó   ’z!Scanner.scan_tag_directive_handlec                 C   s6   |   d|”}|  ” }|dvrtd|d| |  ” |S )Nr·   r®   r¬   rø   )Śscan_tag_urir?   r   r[   rŗ   r	   r	   r
   rµ   l  r»   z!Scanner.scan_tag_directive_prefixc                 C   ó~   |   ” dkr|  ”  |   ” dks|   ” dkr&|   ” dvr&|  ”  |   ” dvs|   ” }|dvr9td|d| |  ” |  ”  d S )Nr   r   r   r¬   ś0expected a comment or a line break, but found %r©r?   ro   r   r[   r   ©r   rr   r]   r	   r	   r
   r¢   u  s    ’’’žz#Scanner.scan_directive_ignored_linec           	      C   sN  |   ” }|  ” }|dkrd}nd}|  ”  d}|  |”}d|  kr&dksAn d|  kr1dksAn d	|  kr<d
ksAn |dv ro|d7 }|  |”}d|  krTdksAn d|  kr_dksAn d	|  krjd
ksAn |dv sA|s~td| |d| |   ” |  |”}|  |” |  ” }|dvrtd| |d| |   ” |   ” }||||S )Nr   ŚaliasŚanchorr   r„   r¦   r§   rØ   r©   rŖ   r«   r   zwhile scanning an %sr­   u     	
ĀāØā©?:,]}%@`)r[   r?   ro   r   r   )	r   rq   rr   Z	indicatorr£   rÆ   r]   r¤   rs   r	   r	   r
   r~     sF   	
B’
Bż’
’ž


’žzScanner.scan_anchorc           	      C   s&  |   ” }|  d”}|dkr2d }|  d” |  d|”}|  ” dkr-td|d|  ”  |   ” |  ”  n@|dv r?d }d	}|  ”  n3d}d
}|dvr[|d	krNd}n|d7 }|  |”}|dvsGd	}|rf|  d|”}nd	}|  ”  |  d|”}|  ” }|dvrtd|d| |   ” ||f}|   ” }t|||S )Nr   ś<é   Śtagr:   zwhile parsing a tagzexpected '>', but found %rr   r8   Fr®   Tzwhile scanning a tagrø   )r[   r?   ro   r¼   r   r¹   ZTagToken)	r   rr   r]   r¶   ŚsuffixrÆ   Z
use_handler¤   rs   r	   r	   r
   r   §  sN   


ž


ū’zScanner.scan_tagc                 C   sø  |dkrd}nd}g }|   ” }|  ”  |  |”\}}|  |” | jd }|dk r*d}|d u r;|  ” \}}	}
t||	}n|| d }|  |”\}}
d}| j|kræ|  	” dkræ| 
|” |  	” dv}d}|  	|”d	vrt|d7 }|  	|”d	vsi| |  |”” |  |” |  ” }|  |”\}}
| j|kr³|  	” dkr³|r­|d
kr­|r­|  	” dvr­|s¬| d” n| |” nn| j|kræ|  	” dksU|durČ| |” |du rŃ| 
|” td |”d||
|S )Nr:   TFr   Ś r,   ś 	r   r   Ś
r   )r[   ro   Śscan_block_scalar_indicatorsŚscan_block_scalar_ignored_liner   Śscan_block_scalar_indentationŚmaxŚscan_block_scalar_breaksr   r?   Śextendrf   r   r   ŚScalarTokenŚjoin)r   r   ŚfoldedŚchunksrr   ŚchompingŚ	incrementZ
min_indentŚbreaksŚ
max_indentrs   r   Ś
line_breakZleading_non_spacerÆ   r	   r	   r
   r   Š  s^   


’
’
’
Ż&

’zScanner.scan_block_scalarc                 C   sų   d }d }|   ” }|dv r7|dkrd}nd}|  ”  |   ” }|dv r6t|}|dkr2td|d|  ” |  ”  n.|dv ret|}|dkrLtd|d|  ” |  ”  |   ” }|dv re|dkr_d}nd}|  ”  |   ” }|d	vrxtd|d
| |  ” ||fS )Nz+-ś+TFŚ
0123456789r   śwhile scanning a block scalarz<expected indentation indicator in the range 1-9, but found 0r®   z9expected chomping or indentation indicators, but found %r)r?   ro   r³   r   r[   )r   rr   rŌ   rÕ   r]   r	   r	   r
   rŹ     sR   žž’žz$Scanner.scan_block_scalar_indicatorsc                 C   r½   )Nr   r   r   rŪ   r¾   ræ   rĄ   r	   r	   r
   rĖ   D  s   ’’žz&Scanner.scan_block_scalar_ignored_linec                 C   sn   g }d}|   ” }|  ” dv r2|  ” dkr | |  ” ” |   ” }n|  ”  | j|kr,| j}|  ” dv s|||fS )Nr   õ    
ĀāØā©r   )r[   r?   rf   r   ro   r   )r   rÓ   r×   rs   r	   r	   r
   rĢ   R  s   

ł
z%Scanner.scan_block_scalar_indentationc                 C   sŖ   g }|   ” }| j|k r |  ” dkr |  ”  | j|k r |  ” dks|  ” dv rQ| |  ” ” |   ” }| j|k rK|  ” dkrK|  ”  | j|k rK|  ” dks<|  ” dv s&||fS )Nr   õ
   
ĀāØā©)r[   r   r?   ro   rf   r   )r   r   rÓ   rs   r	   r	   r
   rĪ   a  s   ’’żz Scanner.scan_block_scalar_breaksc                 C   s¢   |dkrd}nd}g }|   ” }|  ” }|  ”  | |  ||”” |  ” |kr>| |  ||”” | |  ||”” |  ” |ks&|  ”  |   ” }td |”d|||S )Nr<   TFrĒ   )r[   r?   ro   rĻ   Śscan_flow_scalar_non_spacesŚscan_flow_scalar_spacesrŠ   rŃ   )r   r   ŚdoublerÓ   rr   Śquoters   r	   r	   r
   r   n  s"   ž’zScanner.scan_flow_scalarr„   r,   r©   śŚbśŚtś	ŚnrÉ   ŚvśŚfśŚrśŚeśr   r<   ś\ś/ŚNõ   ĀŚ_õ   Ā ŚLu   āØŚPu   ā©rÄ   é   é   )ŚxŚuŚUc              	   C   s²  g }	 d}|   |”dvr|d7 }|   |”dvs|r&| |  |”” |  |” |   ” }|sB|dkrB|   d”dkrB| d” |  d” n|rH|dksN|sX|dv rX| |” |  ”  n|rÖ|dkrÖ|  ”  |   ” }|| jv rx| | j| ” |  ”  n`|| jv r¹| j| }|  ”  t|D ]}|   |”d	vr£td
|d||   |”f |  ” qt	|  |”d}| t
|” |  |” n|dv rĖ|  ”  | |  ||”” ntd
|d| |  ” |S q)NTr   u   '"\  	
ĀāØā©r   r;   rÄ   z"\rš   Ś0123456789ABCDEFabcdefz%while scanning a double-quoted scalarz@expected escape sequence of %d hexadecimal numbers, but found %ré   rŻ   z!found unknown escape character %r)r?   rf   r   ro   ŚESCAPE_REPLACEMENTSŚESCAPE_CODESŚranger   r[   r³   Śchrr   rĻ   Śscan_flow_scalar_breaks)r   rą   rr   rÓ   rÆ   r]   ŚkŚcoder	   r	   r
   rŽ   ”  sZ   ’







’ž’’Śz#Scanner.scan_flow_scalar_non_spacesc           	      C   s¼   g }d}|   |”dv r|d7 }|   |”dv s|  |”}|  |” |   ” }|dkr1td|d|  ” |dv rW|  ” }|  ||”}|dkrI| |” n|sP| d	” | |” |S | |” |S )
Nr   rČ   r   r,   śwhile scanning a quoted scalarzfound unexpected end of streamrŻ   rÉ   r   )	r?   r   ro   r   r[   r   r  rf   rĻ   )	r   rą   rr   rÓ   rÆ   Śwhitespacesr]   rŲ   rÖ   r	   r	   r
   rß   Ģ  s.   ’

’


’zScanner.scan_flow_scalar_spacesc                 C   s   g }	 |   d”}|dks|dkr |  d”dv r td|d|  ” |  ” dv r0|  ”  |  ” dv s&|  ” d	v r>| |  ” ” n|S q)
NTrn   r   r   r   r  z#found unexpected document separatorrČ   rŻ   )r   r?   r   r[   ro   rf   r   )r   rą   rr   rÓ   r   r	   r	   r
   r  ä  s    
’’’ózScanner.scan_flow_scalar_breaksc                 C   s  g }|   ” }|}| jd }g }	 d}|  ” dkrna	 |  |”}|dv s>|dkr7|  |d ”d| jr3dnd v s>| jr?|d	v r?n|d7 }q|dkrIn1d
| _| |” | |  |”” |  |” |   ” }|  	||”}|rx|  ” dksx| jsy| j
|k rynqtd |”d||S )Nr   Tr   r   r   r6   z,[]{}rĒ   z,?[]{}F)r[   r   r?   r   r   rĻ   rf   r   ro   Śscan_plain_spacesr   rŠ   rŃ   )r   rÓ   rr   rs   r   ŚspacesrÆ   r]   r	   r	   r
   r   ö  sR   

’’žüüų	

’’ézScanner.scan_plainc           
      C   s8  g }d}|   |”dv r|d7 }|   |”dv s|  |”}|  |” |   ” }|dv r|  ” }d| _|  d”}|dks<|dkrE|   d”d	v rEd S g }	|   ” d
v r{|   ” dkrX|  ”  n|	 |  ” ” |  d”}|dksl|dkru|   d”d	v rud S |   ” d
v sM|dkr| |” n|	s| d” | |	” |S |r| |” |S )Nr   r   r   rŻ   Trn   r   r   r   rÜ   rÉ   )r?   r   ro   r   r   rf   rĻ   )
r   r   rr   rÓ   rÆ   r  r]   rŲ   r   rÖ   r	   r	   r
   r    sH   ’


’

’ų	

ž
zScanner.scan_plain_spacesc                 C   s2  |   ” }|dkrtd| |d| |  ” d}|   |”}|dkrd|  kr*dksEn d|  kr5d	ksEn d
|  kr@dksEn |dv rs|d7 }|   |”}d|  krXdksEn d|  krcd	ksEn d
|  krndksEn |dv sE|dkr|  |” td| |d| |  ” |d7 }|  |”}|  |” |S )Nr8   śwhile scanning a %szexpected '!', but found %rr   r   r„   r¦   r§   rØ   r©   rŖ   r«   )r?   r   r[   ro   r   )r   r£   rr   r]   rÆ   r¤   r	   r	   r
   r¹   D  s2   
’
B’
Bż’

’

zScanner.scan_tag_handlec                 C   s<  g }d}|   |”}d|  krdks.n d|  krdks.n d|  kr)dks.n |dv ry|d	krK| |  |”” |  |” d}| |  ||”” n|d
7 }|   |”}d|  kr^dks.n d|  kridks.n d|  krtdks.n |dv s.|r| |  |”” |  |” d}|std| |d| |  ” d |”S )Nr   r„   r¦   r§   rØ   r©   rŖ   z-;/?:@&=+$,_.!~*'()[]%r-   r   zwhile parsing a %szexpected URI, but found %rrĒ   )r?   rf   r   ro   Śscan_uri_escapesr   r[   rŃ   )r   r£   rr   rÓ   rÆ   r]   r	   r	   r
   r¼   \  s2   
B’

B÷’


’
zScanner.scan_tag_uric              
   C   sĢ   g }|   ” }|  ” dkrD|  ”  tdD ]}|  |”dvr-td| |d|  |” |   ” q| t|  d”d” |  d” |  ” dksz
t| 	d”}W |S  t
ye } ztd| |t||d }~ww )Nr-   rÄ   rż   r
  zCexpected URI escape sequence of 2 hexadecimal numbers, but found %rrž   zutf-8)r[   r?   ro   r  r   rf   r³   r   ŚbytesŚdecodeŚUnicodeDecodeErrorŚstr)r   r£   rr   Ścodesr   r  r¤   Śexcr	   r	   r
   r  u  s.   
’ž’
ų	ž’zScanner.scan_uri_escapesc                 C   sP   |   ” }|dv r|  d”dkr|  d” dS |  ”  dS |dv r&|  ”  |S dS )Nu   
ĀrÄ   z
rÉ   u   āØā©rĒ   )r?   r   ro   r\   r	   r	   r
   r     s   	
’zScanner.scan_line_breakN)Lr   r   r   r   r&   r'   r)   r!   r"   r+   r*   re   rc   r>   rg   r   r@   rB   rD   rF   rl   rG   rH   rt   rI   rJ   rv   rK   rM   rO   rQ   rR   rS   rT   rU   rV   r   rW   rX   r   rZ   rA   rC   rE   rL   rN   rP   rY   r=   rj   r   r    r°   r”   r“   rµ   r¢   r~   r   r   rŹ   rĖ   rĢ   rĪ   r   r’   r   rŽ   rß   r  r   r  r¹   r¼   r  r   r	   r	   r	   r
   r   .   sā    A

l
!8

#
		$)L(’žżüūśłų	÷
öõōóņńšļīż+)%N)Ś__all__Śerrorr   r   r   r   r   r	   r	   r	   r
   Ś<module>   s   