
    hZ	                        S SK Jr  S SKrS SKJr    SS\R                  S\R                  S\R                  S\\R                     S\\R                     S	\R                  4S
 jjr " S S\5      r " S S\5      r	 " S S\5      r
g)    )OptionalN)OpRundatastartsendsaxesstepsreturnc           
         [        U[        5      (       a  [        R                  " U5      n[        U[        5      (       a  [        R                  " U5      n[        U[        5      (       a  [        R                  " U5      n[        U[        5      (       a  [        R                  " U5      n[	        UR
                  5      S:X  a  [        R                  " U/5      n[	        UR
                  5      S:X  a  [        R                  " U/5      nUcZ  Uc)  [        X5       VVs/ s H  u  pV[        XV5      PM     nnnO[        XU5       VVVs/ s H  u  pVn[        XVU5      PM     nnnnOUcJ  U R
                   V	s/ s H  n	[        SU	5      PM     nn	[        XU5       H  u  pVn	[        XV5      Xy'   M     OJU R
                   V	s/ s H  n	[        SU	5      PM     nn	[        XX45       H  u  pVp[        XVU5      Xy'   M      U [        U5         $ s  snnf s  snnnf s  sn	f s  sn	f ! [         a$  n[        SU< SU R
                  < S35      UeS nAff = f)Nr   zUnable to extract slice z for shape .)

isinstancelistnparraylenshapezipslicetuple	TypeError)
r   r   r   r   r	   seslicesdas
             U/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/reference/ops/op_slice.py_slicer      s    &$&!$xx~$xx~%
6<<A6(#
4::!xx|=.1&.?@.?daeAk.?F@F47e4LM4LqeA!n4LFMF=+/::6:aeAqk:F6vT2a!!K	 3 ,0::6:aeAqk:F6!&<
a!!N	 =E&M"" AM 7 7
  &vjDJJ>K
	s0   !HH;HH"H' '
I1IIc                       \ rS rSrSS jrSrg)SliceCommon6   Nc                 "    [        XX4U5      nU4$ N)r   )selfr   r   r   r   r	   ress          r   _runSliceCommon._run7   s    T4u5v     NN)__name__
__module____qualname____firstlineno__r%   __static_attributes__r(   r'   r   r   r   6   s    r'   r   c                       \ rS rSrS rSrg)Slice_10<   c                 0    [         R                  XU5        g r"   )r   __init__)r#   	onnx_node
run_paramss      r   r3   Slice_10.__init__=   s    Tj9r'   r(   N)r*   r+   r,   r-   r3   r.   r(   r'   r   r0   r0   <   s    :r'   r0   c                   $    \ rS rSrS rSS jrSrg)Slice_1A   c                     [         R                  XU5        S HI  n[        X5      (       d  M  [        X5      c  M#  [	        [        X5      5      S:X  d  M=  [        XS 5        MK     g )N)r   r   r	   r   r   )r   r3   hasattrgetattrr   setattr)r#   r4   r5   fs       r   r3   Slice_1.__init__B   sP    Tj94A4##t+GD4D0E0J&	 5r'   Nc                 0    [         R                  XXCU5      $ r"   )r   r%   )r#   r   r   r   r   s        r   r%   Slice_1._runJ   s    F$??r'   r(   )NNN)r*   r+   r,   r-   r3   r%   r.   r(   r'   r   r8   r8   A   s    '@r'   r8   r)   )typingr   numpyr   onnx.reference.ops._opr   ndarrayr   r   r0   r8   r(   r'   r   <module>rF      s      ( "&"&&
**&JJ& **& 2::
	&
 BJJ& ZZ&R% :{ :

@k 
@r'   