
    
Ng!                        d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZm	Z	 dZ
dZdZ ej        d          Z ej        d          Z ej        d	          Zd
ee         dedee         fdZ ej        d          Z ej        d          Z ej        d          Zd
ee         dedee         fdZ ej        d          Z ej        d          Zd
ee         dee         fdZdedededededdfdZdededededef
dZd+ded e	e         defd!Z	 	 	 d,d$eded%ed&ed'ededdfd(Zd-d)Z e!d*k    r e              dS dS ).    N)dedent)IterableOptionalzV//
// WARNING: This file is automatically generated!  Please edit onnx.in.proto.
//


zB

// For using protobuf-lite
option optimize_for = LITE_RUNTIME;

onnxz\s*//\s*#if\s+ONNX-ML\s*$z\s*//\s*#endif\s*$z\s*//\s*#else\s*$linesonnx_mlreturnc              #   J  K   d}| D ]}t                               |          r|dk    sJ d}'t                              |          r|dk    sJ d}Lt                              |          r|dk    s|dk    sJ d}w|dk    r|V  |dk    r|r|V  |dk    r|s|V  d S )Nr         )IF_ONNX_ML_REGEXmatchELSE_ONNX_ML_REGEXENDIF_ONNX_ML_REGEX)r   r   in_iflines       J/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/gen_proto.pyprocess_ifsr   #   s      E  !!$'' 	A::::EE%%d++ 	A::::EE &&t,, 		A::!EEzz



!



!G


!     z#(\s*)import\s*"([^"]*)\.proto";\s*$z\{PACKAGE_NAME\}z(.*)\-mlpackage_namec              #     K   |t           k    }| D ]}|rt                              |          nd }|rs|                    d          }t                              |          }|r|                    d           d| d}n| d| }|                    d          d| dz   V  t
                              ||          V  d S )Nr   r   _-mlimport "z.proto";)DEFAULT_PACKAGE_NAMEIMPORT_REGEXr   groupML_REGEXPACKAGE_NAME_REGEXsub)r   r   need_renamer   minclude_namemls          r   process_package_namer%   =   s      "66K = =(3=Lt$$$ 		=771::L--B @"$((1++AAAAA".????''!**@,@@@@@@@@$((t<<<<<<= =r   z"(\s*)syntax\s*=\s*"proto2"\s*;\s*$z(\s*)optional\s(.*)$c              #     K   | D ]}t                               |          }|r|                    d          dz   V  9t                              |          }|r.|                    d          |                    d          z   V  t                              |          }|r2|                    d          d|                    d           dz   V  |V  d S )Nr   zsyntax = "proto3";r   r   z	.proto3";)PROTO_SYNTAX_REGEXr   r   OPTIONAL_REGEXr   )r   r   r"   s      r   convert_to_proto3r)   Q   s        $$T** 	''!**33333   && 	''!**qwwqzz)))) t$$ 	''!**?!''!**???????



' r   protoc_pathproto3_pathinclude_pathcpp_out
python_outc                     t          d|             | |d|g}|                    d|d|g           t          j        |           d S )NzGenerate pb3 code using z-Iz	--cpp_outz--python_out)printextend
subprocess
check_call)r*   r+   r,   r-   r.   
build_argss         r   gen_proto3_coder5   h   s]     

2[
2
2333{D,?J{G^ZHIII*%%%%%r   sourceprotoc                     |                                  }t          ||          }t          ||          }|dk    rt          |          }n|dk    sJ d                    |          S )N)r   )r      r   
)
splitlinesr   r%   r)   join)r6   r7   r   r   r   s        r   	translater=   q   sn    !,,..Ew///E \BBBEzz!%((zzzz99Ur   fpardirc                     |At           j                            t           j                            t                              }t           j                            ||           S N)ospathrealpathdirname__file__r<   )r>   r?   s     r   qualifyrG   |   s@    ~!!"'//(";";<<7<<"""r   F stemoutput
do_onnx_mllitec                 	   t          |  d          }|t          k    }|}d|v rd}|r|r|  d| dn|  d}	n|r|  d| n|  }	t          |	 d|          }
t          |	 d|          }t          d	|            t          |d
          5 }|                                }t          d|
            t          |
ddd
          5 }|                    t                     |                    t          |d||                     |r|                    t                     d d d            n# 1 swxY w Y   t          d|            t          |ddd
          5 }|                    t                     |                    t          |d||                     |r|                    t                     d d d            n# 1 swxY w Y   |rt          j
                            |          }t          j
                            |          }t          |||||           t          j        t          j
                            ||	 d                    }|D ](}t          d|            t          j        |           )|r|rt          |  d|          }nt          |  d|          }t          d|            t          |ddd
          5 }|                    d           |                    d|	 d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   t          |                     dd           d|          }|r)t          |	                    dd           d|          }nS|r)t          |                     dd           d|          }n(t          |                     dd           d|          }t          d|            t          |dd
          5 }|                    t#          dt          j
                            t          j
                            |                    d           d!                     d d d            d S # 1 swxY w Y   d S )"Nz	.in.proto	onnx-dataFr   r   z.proto)r?   z.proto3zProcessing zutf-8)encodingzWriting wrH   )newlinerO   r   )r7   r   r   r9   z	.proto3.*z	Removing z-ml.pb.hz.pb.hz#pragma once
z
#include "z.pb.h"
-z_pb.pyz_pb2.pyz
_ml_pb2.pyzgenerating z[                # This file is generated by setup.py. DO NOT EDIT!


                from .r   z" import *  # noqa
                )rG   r   r0   openreadwriteautogen_headerr=   LITE_OPTIONrB   rC   rE   r5   globr<   removereplacer   splitextbasename)rI   r   rJ   rK   rL   r*   proto_inr!   	import_ml
proto_baser7   proto3finr6   fout
porto3_dirbase_dir	pb3_filespb3_fileproto_headerpb_pypb2_pyr>   s                          r   convertrj      sK    $)))**H"66K I h
 L4?Q00|0000\\\

1<K--|---T)
z)))&999E
+++F;;;F	
"
"
"###	h	)	)	) #>S   !!!%b7;;; 	(tJJ~&&&JJ&9<XXX    (

;'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	!!!"""&#rG<<< 	(JJ~&&&JJ&9<XXX    (

;'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(  	$00Jwz22HK8XNNN	"',,zj;S;S;S"T"TUUI% $ $,(,,---	(#### 	> F&$'8'8'8HHH&$~~~fEEE+\++,,,lCgFFF >$

+,,,

<
<<<===> > > > > > > > > > > > > > >C#> #> #> #> #> #> #> #> #> #> #> #> #> #> #>N t||C--555fEEEE PJ..sC88AAA&QQQ 	PS# 6 6BBB6RRRFFS# 6 6???OOOF	


   	eS7	+	+	+ 

q	 w''(8(8(@(@AA!D	   		
 		
 		


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

s   :L-	AD2&L-2D6	6L-9D6	:(L-"AG?L-G	L-G	DL-/L
L-L	L-L	L--L14L1A'Q66Q:=Q:c            	         t          j        d          } |                     dddd           |                     dd	d
d           |                     ddd
d           |                     ddt          j                            t          j                            t                              d           |                     ddd           |                     ddg dd           |                                 }t          j        	                    |j
                  st          j        |j
                   |j        D ]0}t          ||j        |j
        |j        |j        |j                   1d S )Nz/Generates .proto file variations from .in.proto)descriptionz-pz	--packager   z@package name in the generated proto files (default: %(default)s))defaulthelpz-mz--ml
store_truezML mode)actionrn   z-lz--litez-generate lite proto to use with protobuf-litez-oz--outputz'output directory (default: %(default)s)z--protoc_pathrH   z)path to protoc for proto3 file validationstems*)r   zonnx-operatorsrN   z3list of .in.proto file stems (default: %(default)s))nargsrm   rn   )r   rJ   rK   rL   r*   )argparseArgumentParseradd_argumentrB   rC   rD   rE   rF   
parse_argsexistsrJ   makedirsrq   rj   packager$   rL   r*   )parserargsrI   s      r   mainr}      s   $E  F O	     f\	JJJ
<	       !:!:;;6	     *U     777B	     D7>>$+&& !
DK   
 
 
;w(	
 	
 	
 	
 	

 
r   __main__rA   )FFrH   )r	   N)"rt   rX   rB   rer2   textwrapr   typingr   r   rV   rW   r   compiler   r   r   strboolr   r   r   r   r%   r'   r(   r)   r5   intr=   rG   rj   r}   __name__ r   r   <module>r      s  
   				 				           % % % % % % % %  2::;;  bj!677 RZ 455 x} t     * rz@AARZ 344 2:k""= =S =Xc] = = = =   RZ EFF 344Xc] x}    .&&#&&69&DG&UX&	& & & &c #  C C    # #s #HSM #S # # # # T
 T

T
T
 T
 	T

 T
 T
 
T
 T
 T
 T
n-
 -
 -
 -
` zDFFFFF r   