
    &`i                     N    d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 de	defdZ
dS )	    )List)AllToAllTransformFn	RefBundleTaskContext)AllToAllTransformFnResult)RandomizeBlocksopreturnc                 T     dt           t                   dt          dt          f fd}|S )z/Generate function to randomize order of blocks.refscontextr
   c           	      v   dd l }g }d gt          |           z  }t          |           D ]5\  }|j        |<   |                    fd|j        D                        6t          |          dk    r| j        g ifS j        |                    j                   t          d | D                       }|
                    |           g }g }|D ][\  }	}
|                    |
                                           |                    t          |	|
fg||                              \|j        |ifS )Nr   c              3   (   K   | ]\  }}||fV  d S N ).0blockmetais      /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/ray/data/_internal/planner/randomize_blocks.py	<genexpr>z;generate_randomize_blocks_fn.<locals>.fn.<locals>.<genexpr>   s?       ( (%0UDa ( ( ( ( ( (    c              3   $   K   | ]}|j         V  d S r   )owns_blocks)r   bs     r   r   z;generate_randomize_blocks_fn.<locals>.fn.<locals>.<genexpr>'   s$      ::am::::::r   )r   schema)randomlen	enumerater   extendblocks_name_seedseedallshuffleappendto_statsr   )r   r   r   blocks_with_metadataindex_to_schema
ref_bundleinput_ownedoutput
stats_listr   r   r   r	   s              @r   fnz(generate_randomize_blocks_fn.<locals>.fn   s    	  "&3t99,&t__ 	 	MAz!+!2OA '' ( ( ( (4>4E( ( (     #$$))"(B''x#BH%%%::T:::::KNN/000FJ"6  tQ!!$--//222 !& $ %0.q1	 	 	    BHj111r   )r   r   r   r   )r	   r/   s   ` r   generate_randomize_blocks_fnr0      sG    
&29o&2&2 
#&2 &2 &2 &2 &2 &2P Ir   N)typingr   'ray.data._internal.execution.interfacesr   r   r   4ray.data._internal.execution.interfaces.transform_fnr   8ray.data._internal.logical.operators.all_to_all_operatorr   r0   r   r   r   <module>r5      s                  
      U T T T T T--- - - - - -r   