
    %Vji                    .   U d Z ddlmZ ddlZddlZddlZddlmZmZm	Z	m
Z
mZ ddlmZ ddlmZ e
rddlmZmZ g d	Z ed
          Z ed          Zeegef         Zded<    ed          Z ed          Z eej        d          dHd            Z eej        d          	 dIdddJd            Z eej        j                  dKd            Zee_         eej        d          dLd#            Z eej         d          dMd$            Z  eej!        d          dNd'            Z! eej"        d          dOd)            Z" eej#        d          dPd,            Z#ej$        d-k    r" eej%        d          dQd/            Z%ed0gz  Z eej&                  dRdSd4            Z&e	d5d6dTd;            Z'e	dUd?            Z'e	d5d6dVdA            Z'e	dWdD            Z'e	d5d6dXdF            Z' eej'        d          dd6dYdG            Z'dS )Zz 
Python polyfills for itertools
    )annotationsN)CallableOptionaloverloadTYPE_CHECKINGTypeVar)	TypeAlias   )substitute_in_graph)IterableIterator)

accumulatechainchain_from_iterablecompresscycle	dropwhilefilterfalseisliceteezip_longest_T_Ur	   
_Predicate_T1_T2T)is_embedded_type	iterablesIterable[_T]returnIterator[_T]c               '  $   K   | D ]
}|E d {V  d S N )r   iterables     [/root/voice-cloning/.venv/lib/python3.11/site-packages/torch/_dynamo/polyfills/itertools.pyr   r   *   s:             )initialr%   func Optional[Callable[[_T, _T], _T]]r(   Optional[_T]c               d    t          |           }t          j        dfd} ||          S )Niteratorr!   r    c              3     K   }|"	 t          |           }n# t          $ r Y d S w xY w|V  | D ]} ||          }|V  d S r#   nextStopIteration)r-   totalelementr)   r(   s      r&   _accumulatezaccumulate.<locals>._accumulate=   s      =X      	 	GD((EKKKK	 	s    
''r-   r!   r    r!   )iteroperatoradd)r%   r)   r(   r-   r4   s    ``  r&   r   r   1   sR     H~~H||       ;x   r'   Iterable[Iterable[_T]]c             #  $   K   | D ]
}|E d {V  d S r#   r$   )r%   its     r&   r   r   M   s4      
    r'   data	selectorsIterable[_U]c               6    d t          | |          D             S )Nc              3  $   K   | ]\  }}||V  d S r#   r$   ).0datumselectors      r&   	<genexpr>zcompress.<locals>.<genexpr>\   s+      JJoeXJEJJJJJJr'   )zip)r<   r=   s     r&   r   r   Z   s     JJT9)=)=JJJJr'   c                D     t                     }d fd} ||          S )Nr-   r!   r    c              3  j   K   g }D ]}|V  |                     |           |r|D ]}|V  |d S d S r#   )append)r-   savedr3   r%   s      r&   _cyclezcycle.<locals>._cycled   sy       	" 	"GMMMLL!!!! 	     	 	 	 	 	r'   r5   r6   )r%   r-   rJ   s   `  r&   r   r   `   s>    H~~H      6(r'   	predicate_Predicate[_T]c             #  d   K   t          |          }|D ]} | |          s|V   n|E d {V  d S r#   rK   )rL   r%   r-   xs       r&   r   r   r   se       H~~H  y|| 	GGGE	 r'   functionc                    t          |          } t          t          j        |          S t           fd|          S )Nc                     |            S r#   r$   )rO   rP   s    r&   <lambda>zfilterfalse.<locals>.<lambda>   s    HHQKK r'   )r6   filterr7   not_)rP   r%   r;   s   `  r&   r   r      s@    	hBhmR(((////444r'   args
int | Nonec             '    K   t          | }|j        dn|j        }|j        }|j        dn|j        }|dk     s||dk     s|dk    rt	          d          |(|}t          |           D ]\  }}||k    r	|V  ||z  }d S t          t          ||                    }	|}t          |	|           D ]\  }}||k    r	|V  ||z  }d S )Nr      zGIndices for islice() must be None or an integer: 0 <= x <= sys.maxsize.)	slicestartstopstep
ValueError	enumeraterangemaxrE   )
r%   rV   sr[   r\   r]   next_iir3   indicess
             r&   r   r      s     tAAAagE6D11AFDqyyT%$((tqyyU
 
 	
 | #H-- 	 	JAwF{{$	 	
 E4(())gx00 	 	JAwF{{$	 	r'   )   
   Iterator[tuple[_T, _T]]c             #  6   K   d }d}| D ]}|rd}n||fV  |}d S )NTFr$   )r%   afirstbs       r&   pairwiserm      sL       	 	A d


AA	 	r'   rm   ninttuple[Iterator[_T], ...]c                   t          |           d d gdfdt          fdt          |          D                       S )Nr    r!   c              3     K   	 	 | d         t                    | d<   d d g| d<   | \  }} |V  +# t          $ r Y d S w xY w)NTrY   r   r/   )linkvaluer-   s     r&   _teeztee.<locals>._tee   sq      	7?"8nnDG#TlDG"t  	 	 	FF	s   ,1 
??c              3  .   K   | ]}           V  d S r#   r$   )rA   _ru   shared_links     r&   rD   ztee.<locals>.<genexpr>   s-      55qk""555555r'   )r    r!   )r6   tupler`   )r%   rn   ru   r-   rx   s     @@@r&   r   r      se    H~~H,K	 	 	 	 	 	 55555E!HH555555r'   .)	fillvalueiter1Iterable[_T1]rz   Iterator[tuple[_T1]]c                  d S r#   r$   )r{   rz   s     r&   r   r      s	     3r'   iter2Iterable[_T2]'Iterator[tuple[_T1 | None, _T2 | None]]c                   d S r#   r$   )r{   r   s     r&   r   r      s	    
 /2cr'   #Iterator[tuple[_T1 | _U, _T2 | _U]]c                  d S r#   r$   )r{   r   rz   s      r&   r   r      s	     +.#r'   iter3Iterator[tuple[_T | None, ...]]c                   d S r#   r$   )r{   r   r   r   s       r&   r   r      s	     '*cr'   Iterator[tuple[_T | _U, ...]]c                  d S r#   r$   )r{   r   r   rz   r   s        r&   r   r      s	     %(Cr'   c              '  x  K   t          t          t          |                    }t          |          }|sd S 	 g }t	          |          D ]_\  }}	 t          |          }n4# t          $ r' |dz  }|sY  d S t          j        |           ||<   | }Y nw xY w|	                    |           `t          |          V  )NTrY   )listmapr6   lenr_   r0   r1   	itertoolsrepeatrH   ry   )rz   r   	iterators
num_activevaluesrd   r-   rt   s           r&   r   r      s       Sy))**IYJ $Y// 		! 		!KAx"X  " " "a
! FFF(/	::	!!" MM%    Fmms   A  B5BB)r   r   r    r!   r#   )r%   r   r)   r*   r(   r+   r    r!   )r%   r9   r    r!   )r<   r   r=   r>   r    r!   )r%   r   r    r!   )rL   rM   r%   r   r    r!   )rP   rM   r%   r   r    r!   )r%   r   rV   rW   r    r!   )r%   r   r    rh   )r
   )r%   r   rn   ro   r    rp   )r{   r|   rz   r   r    r}   )r{   r|   r   r   r    r   )r{   r|   r   r   rz   r   r    r   )
r{   r   r   r   r   r   r   r   r    r   )r{   r   r   r   r   r   r   r   rz   r   r    r   )r   r   rz   r   r    r   )(__doc__
__future__r   r   r7   systypingr   r   r   r   r   typing_extensionsr	   
decoratorsr   collections.abcr   r   __all__r   r   objectr   __annotations__r   r   r   r   from_iterabler   r   r   r   r   r   version_inform   r   r   r$   r'   r&   <module>r      s~     # " " " " "      



 G G G G G G G G G G G G G G ' ' ' ' ' ' , , , , , ,  322222222   WT]]WT]] "v.
 . . . .genngenn Y_t<<<   =< Y)DAAA .2! !	! ! ! ! ! BA!6 Y_233   43 *  Y'$???K K K @?K
 Y_t<<<   =<" Y(4@@@	 	 	 A@	 Y*TBBB5 5 5 CB5 Y%===   >=8 w+dCCC   DC 
|G Y]##6 6 6 6 $#6$ 

 	     
 
2 2 2 
2 
 . . . . . 
. 
* * * 
* 
 ( ( ( ( ( 
( Y*TBBB      CB  r'   