<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
U
    if
                     @   sB   d dl mZ d dlmZmZmZ d dl mZ G dd dejZdS )   )
fixer_base)NameCallconsuming_calls)patcompc                       sh   e Zd ZdZdZ fddZdd Zdd Zd	d
 Zdd Z	dZ
ee
ZdZeeZdd Z  ZS )	FixXrangeTz
              power<
                 (name='range'|name='xrange') trailer< '(' args=any ')' >
              rest=any* >
              c                    s   t t| || t | _d S N)superr   
start_treesettransformed_xrangesselfZtreefilename	__class__ =/opt/alt/python38/lib64/python3.8/lib2to3/fixes/fix_xrange.pyr
      s    zFixXrange.start_treec                 C   s
   d | _ d S r   )r   r   r   r   r   finish_tree   s    zFixXrange.finish_treec                 C   sD   |d }|j dkr| ||S |j dkr4| ||S tt|d S )NnameZxrangerange)valuetransform_xrangetransform_range
ValueErrorreprr   noderesultsr   r   r   r   	transform   s    

zFixXrange.transformc                 C   s0   |d }| td|jd | jt| d S )Nr   r   prefix)replacer   r!   r   addidr   r   r   r   r   $   s    zFixXrange.transform_xrangec                 C   sf   t || jkrb| |sbttd|d  g}ttd|g|jd}|d D ]}|| qN|S d S )Nr   argslistr    rest)r$   r   in_special_contextr   r   Zcloner!   Zappend_child)r   r   r   Z
range_callZ	list_callnr   r   r   r   *   s    zFixXrange.transform_rangez3power< func=NAME trailer< '(' node=any ')' > any* >zfor_stmt< 'for' any 'in' node=any ':' any* >
            | comp_for< 'for' any 'in' node=any any* >
            | comparison< any 'in' node=any any*>
         c                 C   sf   |j d krdS i }|j j d k	rJ| j|j j |rJ|d |krJ|d jtkS | j|j |od|d |kS )NFr   func)parentp1matchr   r   p2)r   r   r   r   r   r   r(   ?   s    

zFixXrange.in_special_context)__name__
__module____qualname__ZBM_compatibleZPATTERNr
   r   r   r   r   ZP1r   Zcompile_patternr,   ZP2r.   r(   __classcell__r   r   r   r   r      s   	

r   N)	 r   Z
fixer_utilr   r   r   r   ZBaseFixr   r   r   r   r   <module>   s   