
    hH                     .    S SK rS SKJr   " S S\5      rg)    N)OpRunc                       \ rS rSrSS jrSrg)CenterCropPad   Nc                    U=(       d    U R                   n[        UR                  5      nUc  [        [	        U5      5      nOU Vs/ s H  oUS:  a  UOXT-   PM     nnUR                   Vs/ s H  n[        SU5      PM     nnUR                   Vs/ s H  n[        SU5      PM     nn[        UR                  5      n	[        X25       H  u  pUR                  U
   nX:X  a  M  X:  aA  XU
'   X-
  nUS-  S:X  a  US-  n[        XU-
  5      nOUS-  n[        XU-
  S-
  5      nXU
'   Ma  XU
'   X-
  nUS-  S:X  a  US-  n[        XU-
  5      nOUS-  n[        XU-
  S-
  5      nXU
'   M     [        R                  " [        U	5      UR                  S9nU[        U5         nUU[        U5      '   U4$ s  snf s  snf s  snf )Nr         )dtype)axeslenshapelistrangeslicezipnpzerostupler
   )self
input_datar   r   
input_rankaxiss
pad_slicescrop_slices	new_shapeashdimdslrescroppeds                    _/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/reference/ops/op_center_crop_pad.py_runCenterCropPad._run   s    tyy))*
<j)*DIMNAID4+<<DN+5+;+;<+;aeAqk+;
<,6,<,<=,<quQ{,<=))*	%EA""1%Cw!!Hq5A:!GAq'*B!GAq'A+.B!#A!!Hq5A:!GAqq&)B!GAqq&1*-B "1/ &2 hhuY'z/?/?@U;/0!(E*vA O<=s   F5,F:F? )N)__name__
__module____qualname____firstlineno__r%   __static_attributes__r'       r$   r   r      s    &r-   r   )numpyr   onnx.reference.op_runr   r   r'   r-   r$   <module>r0      s     ''E 'r-   