§
    Ã/jÈ  ã                  óJ   — d dl mZ d dlZd dlmZ dd„Z G d„ de¦  «        ZdS )é    )ÚannotationsN)ÚOpRunÚdataú
np.ndarrayÚindicesÚ
batch_dimsÚintÚreturnútuple[np.ndarray]c                óŠ  — t          | j        ¦  «        }g }d}t          |¦  «        D ]2}|                     |j        |         ¦  «         ||j        |         z  }Œ3|j        d         ||z
  k    r|t	          |j        ¦  «        |d…         z   nI|t	          |j        ¦  «        |d…         z   t	          | j        ¦  «        ||j        d         z   d …         z   }g }|                     |d|j        d         ¦  «        }	|                      |g| j        |d …         ¢R ¦  «        }
t          |	j        d         ¦  «        D ]Y}t          |	j        d         ¦  «        D ]<}t          |	|         |         ¦  «        }|                     |
|g|¢R          ¦  «         Œ=ŒZt          j        || j	        ¬¦  «                             |¦  «        fS )Né   éÿÿÿÿr   )Údtype)
ÚlenÚshapeÚrangeÚappendÚlistÚreshapeÚtupleÚnpÚasarrayr   )r   r   r   Ú	data_rankÚbatch_dims_shapeÚbatch_dims_sizeÚiÚoutput_shapeÚoutput_data_bufferÚreshaped_indicesÚreshaped_dataÚ	batch_dimÚ	outer_dimÚgather_indexs                 úc/home/longshao/multi-rider-rag/.venv/lib/python3.11/site-packages/onnx/reference/ops/op_gathernd.pyÚ_gather_nd_implr%      sò  € õ D”J‘”€Ið Ðð €Oõ :ÑÔð ,ð ,ˆØ×Ò ¤¨aÔ 0Ñ1Ô1Ð1Ø˜7œ=¨Ô+Ñ+ˆˆð ŒM˜"Ô ¨ZÑ!7Ò7Ð7ð 	4 ¤Ñ.Ô.¨z¸"¨}Ô=Ñ=Ð=àÝ
ˆwŒ}Ñ
Ô
˜j¨˜mÔ
,ñ-å
ˆtŒzÑ
Ô
˜:¨¬°bÔ(9Ñ9Ð;Ð;Ô
<ñ=ð ð Ðð —’ ¸¸G¼MÈ"Ô<MÑNÔNÐð —L’L /Ð!L°D´J¸z¸{¸{Ô4KÐ!LÐ!LÑMÔM€Mõ Ð+Ô1°!Ô4Ñ5Ô5ð Qð Qˆ	ÝÐ/Ô5°aÔ8Ñ9Ô9ð 	Qð 	QˆIÝ Ð!1°)Ô!<¸YÔ!GÑHÔHˆLØ×%Ò% m°YÐ4NÀÐ4NÐ4NÔ&OÑPÔPÐPÐPð	Qõ ŒJÐ)°´Ð<Ñ<Ô<×DÒDÀ\ÑRÔRÐTÐTó    c                  ó   — e Zd Zdd„ZdS )ÚGatherNDNc                ó$   — t          |||¦  «        S ©N)r%   )Úselfr   r   r   s       r$   Ú_runzGatherND._run9   s   € Ý˜t W¨jÑ9Ô9Ð9r&   r*   )Ú__name__Ú
__module__Ú__qualname__r,   © r&   r$   r(   r(   8   s(   € € € € € ð:ð :ð :ð :ð :ð :r&   r(   )r   r   r   r   r   r	   r
   r   )Ú
__future__r   Únumpyr   Úonnx.reference.op_runr   r%   r(   r0   r&   r$   ú<module>r4      s„   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à 'Ð 'Ð 'Ð 'Ð 'Ð 'ð*Uð *Uð *Uð *UðZ:ð :ð :ð :ð :ˆuñ :ô :ð :ð :ð :r&   