
    Wh}                        U d dl mZ d dlZd dlZd dlZd dlZdZdZded<   dZ	ded<   dd	Z
ddZddZddZddZd Z e
            ZdZd Z ee          Z ee          ZdS )    )annotationsNz0.4.38str_release_version
str | None	_git_hashreturnc                 n    t           t           S t          t                    pt          t                    S N)r   _version_from_git_tree_version_version_from_todays_date     Q/var/www/html/movieo_spanner_bot/venv/lib/python3.11/site-packages/jax/version.py_get_version_stringr   !   s,     !		)	)	P-Fx-P-PPr   base_versionc                r    t           j                                                            d          }|  d| S )N%Y%m%d.dev)datetimedatetodaystrftime)r   
datestrings     r   r   r   )   s7    }""$$--h77*	*	*j	*	**r   c                   	 t           j                            t           j                            t                              }t          j        g d|t
          j        t
          j                  }|                                \  }}|	                                
                                                    dd          \  }}t          j                            t          |                                        d          }|                                sJ |                                sJ 	 |  d| d| }t           j                            dd           }	|	r|d	z   |	z   S |S #  Y d S xY w)
N)gitshowz-sz--format=%at-%hHEAD)cwdstdoutstderr-   r   r   +JAX_CUSTOM_VERSION_SUFFIX.)ospathdirnamerealpath__file__
subprocessPopenPIPEcommunicatedecodestripsplitr   r   fromtimestampintr   	isnumericisalnumenvironget)
r   root_directorypr    _	timestampcommit_hashr   versionsuffixs
             r   r   r   .   sW   W__RW%5%5h%?%?@@N 	III+ *
	I 	I 	IA IFA#]]__2244::3BBI{,,S^^<<EEhOOJ!!!!!       ==:====GZ^^7>>F $s]V##N44s   D.E' 'E,c                    t           t           S t          j                            d          st          j                            d          rt	          t
                    S t          j                            d          st          j                            d          rt
          S t          t
                    pt	          t
                    S )a]  Determine the version at build time.

  The returned version string depends on which environment variables are set:
  - if JAX_RELEASE or JAXLIB_RELEASE are set: version looks like "0.4.16"
  - if JAX_NIGHTLY or JAXLIB_NIGHTLY are set: version looks like "0.4.16.dev20230906"
  - if none are set: version looks like "0.4.16.dev20230906+ge58560fdc
  NJAX_NIGHTLYJAXLIB_NIGHTLYJAX_RELEASEJAXLIB_RELEASE)r   r'   r7   r8   r   r   r   r   r   r   _get_version_for_buildrE   F   s     !Z^^M"" /bjnn5E&F&F /$X...Z^^M"" bjnn5E&F&F O		)	)	P-Fx-P-PPr   fnameNonec                
   t                      }d}d|}t          j        |           }|                                }|                    |          dk    rt          d|d|            |                    ||          }t          j        	                    d          }|rKd}d|}|                    |          dk    rt          d|d|            |                    ||          }|
                    |           d	S )
zJUsed by setup.py to write the specified version info into the source tree.z _release_version: str = '0.4.38'z_release_version: str =    zBuild: could not find z in JAX_GIT_HASHz_git_hash: str | None = Nonez_git_hash: str = N)rE   pathlibPath	read_textcountRuntimeErrorreplacer'   r7   r8   
write_text)	rF   release_versionold_version_stringnew_version_stringfhandlecontentsgithashold_githash_stringnew_githash_strings	            r   _write_versionrZ   W   s)   *,,/9E/EEL'  (^^&''1,,
Q0BQQ%QQ
R
RR02DEE(JNN>**' H78W88~~())Q..S2DSSESSTTT 24FGGH	Xr   c                ~     ddl m} ddlm}  G  fdd|          } G  fdd|          }t	          ||          S )	Nr   )build_py)sdistc                  "     e Zd Z fdZ xZS ) _get_cmdclass.<locals>._build_pyc                |   t           {t          j                            | j        t          j                            t                              }t          j                            |          rt          j        |           t                      
                                 t           t          |           d S d S r
   )r   r'   r(   join	build_libbasenamer+   isfileunlinksuperrunrZ   )selfthis_file_in_build_dir	__class__pkg_source_paths     r   rg   z$_get_cmdclass.<locals>._build_py.runr   s    		!!#dno.0g.>.>x.H.H"J "J 7>>011 	,
)*
+
+
+ggkkmmm		!-..... 
"	!r   )__name__
__module____qualname__rg   __classcell__rj   rk   s   @r   	_build_pyr_   q   s>        / / / / / / / / / /r   rq   c                  "     e Zd Z fdZ xZS )_get_cmdclass.<locals>._sdistc           	         t                                          ||           t          Rt          t          j                            |t          j                            t                                         d S d S r
   )	rf   make_release_treer   rZ   r'   r(   ra   rc   r+   )rh   base_dirfilesrj   rk   s      r   ru   z/_get_cmdclass.<locals>._sdist.make_release_tree   sw    gg%000		!rw||Ho$&G$4$4X$>$>@ @ 	A 	A 	A 	A 	A 
"	!r   )rl   rm   rn   ru   ro   rp   s   @r   _sdistrs      sH        A A A A A A A A A Ar   rx   )r]   r\   )setuptools.command.build_pyr\   setuptools.command.sdistr]   dict)rk   build_py_orig
sdist_origrq   rx   s   `    r   _get_cmdclassr~   m   s    CCCCCC::::::/ / / / / / /- / / / A A A A A A Az A A A 
FY	/	/	//r   c                Z    t          d |                     d          D                       S )Nc              3  \   K   | ]'}|                                 t          |          V  (d S r
   )isdigitr4   ).0is     r   	<genexpr>z$_version_as_tuple.<locals>.<genexpr>   s5      EE!Es1vvEEEEEEr   r&   )tupler2   )version_strs    r   _version_as_tupler      s-    	EE{0055EEE	E	EEr   )r   r   )r   r   r   r   )r   r   r   r   )rF   r   r   rG   )
__future__r   r   r'   rK   r,   r   r   __annotations__r   r   r   r   rE   rZ   r~   __version___minimum_jaxlib_versionr   __version_info___minimum_jaxlib_version_infor   r   r   <module>r      s=  " # " " " " " "  				      !          	    Q Q Q Q+ + + +
   0Q Q Q Q"   ,0 0 0< "!##" F F F %$[11 001HII   r   