+
    9ic                        ^ RI Ht ^ RIHt ^ RIt^ RIt^RIHtH	t	H
t
HtHt ^RIHt ^RIHt  ! R R]4      t ! R	 R
]4      tR# )    )annotations)AnyN)TENSOR_NAME_QUANT_SUFFIXQuantizedValueQuantizedValueTypeattribute_to_kwargquantize_nparray)QuantOperatorBase)QDQOperatorBasec                  4   a  ] tR t^tV 3R ltV 3R ltRtV ;t# )QPadc                	&   < \         SV `  W4       R # Nsuper__init__selfonnx_quantizer	onnx_node	__class__s   &&&d/var/www/html/photoedit/myenv/lib/python3.14/site-packages/onnxruntime/quantization/operators/pad.pyr   QPad.__init__       3    c           	     	`
  < V P                   pVP                  R 8X  g   Q hV P                  P                  ^8  g-   VP                  ^ ,          V P                  P
                  9  d   \        SV `  4        R# V P                  P
                  VP                  ^ ,          ,          p/ pVP                   F  p\        V4      pVP                  V4       K!  	  RV9  g   VR,          R8X  Edd   \        VP                  4      ^8  Ed   VP                  ^,          R8w  Ed   V P                  P                  P                  VP                  4      pV P                  P                  P                  VP                  4      pVe   Vf   \        SV `  4        R# V P                  P                  P                  VP                  ^,          4      pVEel   \         P"                  P%                  V4      p	V	P&                  ^ 8X  d   V	P)                  4       MV	^ ,          p
\         P"                  P%                  V4      pVP&                  ^ 8X  d   VP)                  4       MV^ ,          p\         P"                  P%                  V4      p\+        V P                  P,                  VVV
4      pVP                  ^,          \.        ,           p\         P"                  P1                  VV4      pV P                  P                  P3                  V4       V P                  P                  P5                  V4       WP                  ^&   EMV P                  P7                  V^V P                  P,                  VP                  VP                  VP8                  R7      pV P                  P:                  P=                  V4       V^ ,          P>                  ^ ,          VP                  ^&   Ms\        VP                  4      ^8X  d'   VP                  PA                  VP                  4       M3VP                  ^,          R8X  g   Q hVP                  VP                  ^&   \C        VP>                  ^ ,          VP>                  ^ ,          \.        ,           VP                  VP                  \D        PF                  4      pVV P                  P
                  VP>                  ^ ,          &   VPH                  VP                  ^ &   VPH                  VP>                  ^ &   V P                  ;P:                  V.,          un        R# )PadNmode   constant )initial_type)%nodeop_type	quantizeropset_versioninputquantized_value_mapr   quantize	attributer   updatelenmodelget_initializerzp_name
scale_nameonnxnumpy_helperto_arrayndimitemr	   activation_qTyper   
from_arrayremove_initializeradd_initializer_get_quantize_input_nodes	data_type	new_nodesextendoutputappendr   r   Inputq_name)r   r"   quantized_input_valuekwargsr)   kv	zp_tensorscale_tensorpadding_constant_initializerzp_arrayzp_valuescale_arrayscale_valuepadding_constant_array quantized_padding_constant_arrayquantized_padding_constant_name&quantized_padding_constant_initializerpad_value_qnodesquantized_output_valuer   s   &                  r   r(   QPad.quantize   s   yy||u$$$ NN((2-4::a=HjHj3jG $ B B4::a= QI#I.BMM" ( 6&>[#@4::"tzz!}': NN00@@AVA^A^_	#~~33CCDYDdDde$(<G$&/3~~/C/C/S/STXT^T^_`Ta/b,/;#0099)DH2:--12Dx}}(ST+H"&"3"3"<"<\"JK8C8H8HA8M+"2"2"4S^_`SaK-1->->-G-GHd-e*7G77.# 	84 7;jjmF^6^3=A=N=N=Y=Y87>:
 NN((;;<XYNN((889_`$CJJqM (,~~'O'O77-88-55%1%;%; (P ($ NN,,334DE$4Q$7$>$>q$ADJJqM tzz?a'JJ%%&;&C&CD  ::a=B...$9$A$ADJJqM "0KKNKKN55!,,!))$$"
 >T**4;;q>:-44

1/66A  TF* r    )__name__
__module____qualname____firstlineno__r   r(   __static_attributes____classcell__r   s   @r   r   r      s    4S+ S+r   r   c                  F   a  ] tR t^qtV 3R ltR R ltR R ltR tRtV ;t	# )QDQPadc                	&   < \         SV `  W4       R # r   r   r   s   &&&r   r   QDQPad.__init__r   r   r   c                    V ^8  d   QhRRRR/# )   
attrs_dictzdict[str, Any]returnznp.ndarray | NonerR   )formats   "r   __annotate__QDQPad.__annotate__u   s      ^ @Q r   c                   RpV P                   P                  P                  V P                  P                  ^ ,          4      pVf   R# \
        P                  P                  VP                  4      pV P                   P                  ^8  d+   \        P                  ! VP                  R^ 4      VR7      pV# \        V P                  P                  4      ^8  df   V P                  P                  ^,          '       dC   V P                   P                  P                  V P                  P                  ^,          4      pV# \        P                  ! ^ VR7      pV# )z
Returns the Pad's constant padding value. Returns `None` if the padding value is
not constant (i.e., comes from a dynamic input).
Nvalue)dtype)r$   r,   get_tensor_typer"   r&   r0   helpertensor_dtype_to_np_dtype	elem_typer%   nparraygetr+   get_constant_value)r   r`   	const_valonnx_tensor_typenp_dtypes   &&   r   _get_pad_const_valQDQPad._get_pad_const_valu   s    
 	>>//??		PQ@RS#;;778H8R8RS>>''",!;8LI  !Q&499??1+=+=,,??		PQ@RSI  (3Ir   c                   V ^8  d   QhRR/# )r_   ra   boolrR   )rb   s   "r   rc   rd      s      t r   c                   / pV P                   P                   F  p\        V4      pVP                  V4       K!  	  VP	                  RR4      pVR9   d   R# VR8X  da   V P                  V4      pVeL   VP                  \        P                  \        P                  39   d   \        VP                  4       4      ^ 8H  # R# )zV
Returns true if Pad's output should use the same quantization parameters as input[0]
r   r   TF)s   reflects   edges   wrap)r"   r)   r   r*   rn   rs   rg   rl   float32float16floatr4   )r   r`   r)   rC   pad_modepad_vals   &     r   %_should_quantize_output_same_as_input,QDQPad._should_quantize_output_same_as_input   s     
,,I#I.Bb! - >>&+655  {"--j9G"w}}RZZ8P'PW\\^,11r   c                	V   V P                   P                  R 8X  g   Q hV P                   P                   F(  pV'       g   K  V P                  P	                  V4       K*  	  V P
                  '       g   V P                  4       '       dj   V P                  P                  V P                   P                  ^ ,          V P                   P                  ^ ,          V P                   P                  4       R# V P                  P	                  V P                   P                  ^ ,          4       R# R# )r   N)
r"   r#   r&   r$   quantize_activation_tensordisable_qdq_for_node_outputr}   quantize_output_same_as_inputr=   name)r   
input_names   & r   r(   QDQPad.quantize   s    yy  E)))))//Jz99*E * ///99;;<<TYY=M=Ma=PRVR[R[RaRabcRdfjfofoftftu99$)):J:J1:MN	 0r   rR   )
rS   rT   rU   rV   r   rs   r}   r(   rW   rX   rY   s   @r   r[   r[   q   s    4(0O Or   r[   )
__future__r   typingr   numpyrl   r0   quant_utilsr   r   r   r   r	   base_operatorr
   qdq_base_operatorr   r   r[   rR   r   r   <module>r      sC   
 #     - .W+ W+t;O_ ;Or   