
    h{3                         S SK r S SKJrJrJrJr  SSKJr   " S S\5      r " S S\5      r	 " S	 S
\5      r
 " S S\5      r " S S\5      r " S S\5      r " S S\5      r " S S\5      rS rS rS rg)    N)ArgumentParserActionSUPPRESSRawDescriptionHelpFormatter   )Optionsc                       \ rS rSrSS jrSrg)ParseDirectivesAction   Nc                     [        [        X R                  [        R                  " 5       5      5      n[        R
                  " USUS9n[        X R                  U5        g )NT)relaxed_boolcurrent_settings)dictgetattrdestr   get_directive_defaultsparse_directive_listsetattr)selfparser	namespacevaluesoption_stringold_directives
directivess          Q/var/www/fran/franai/venv/lib/python3.13/site-packages/Cython/Compiler/CmdLine.py__call__ParseDirectivesAction.__call__   sM    gi&-&D&D&FH I11H
	99j1     N__name__
__module____qualname____firstlineno__r   __static_attributes__r    r   r   r
   r
      s    2r   r
   c                       \ rS rSrSS jrSrg)ParseOptionsAction   Nc                    [        [        X R                  0 5      5      nUR                  S5       H8  nSU;   a(  UR                  SS5      u  pxUR	                  5       S;  nOUSpXU'   M:     [        X R                  U5        g )N,=r   )falsef0noT)r   r   r   splitlowerr   )	r   r   r   r   r   optionsoptnvs	            r   r   ParseOptionsAction.__call__   sr    wy))R89<<$Cczyya(GGI%>>D1AJ % 		99g.r   r    r!   r"   r    r   r   r)   r)      s    	/r   r)   c                       \ rS rSrSS jrSrg)ParseCompileTimeEnvAction!   Nc                     [        [        X R                  0 5      5      n[        R                  " X5S9n[        X R                  U5        g )N)r   )r   r   r   r   parse_compile_time_envr   )r   r   r   r   r   old_envnew_envs          r   r   "ParseCompileTimeEnvAction.__call__"   s5    wy))R8900R	99g.r   r    r!   r"   r    r   r   r:   r:   !   s    /r   r:   c                       \ rS rSrSS jrSrg)ActivateAllWarningsAction(   Nc                 h    [        US0 5      nUR                  [        R                  5        XRl        g )Ncompiler_directives)r   updater   extra_warningsrE   )r   r   r   r   r   r   s         r   r   "ActivateAllWarningsAction.__call__)   s+    Y(=rB
'001(2%r   r    r!   r"   r    r   r   rB   rB   (   s    3r   rB   c                       \ rS rSrSS jrSrg)SetLenientAction/   Nc                      SUl         SUl        g )NF)error_on_unknown_nameserror_on_uninitializedr   r   r   r   r   s        r   r   SetLenientAction.__call__0   s    +0	(+0	(r   r    r!   r"   r    r   r   rJ   rJ   /       1r   rJ   c                       \ rS rSrSS jrSrg)SetGDBDebugAction5   Nc                 <    SUl         [        R                  Ul        g NT)	gdb_debugoscurdir
output_dirrO   s        r   r   SetGDBDebugAction.__call__6   s    "	!yy	r   r    r!   r"   r    r   r   rS   rS   5   s    )r   rS   c                       \ rS rSrSS jrSrg)SetGDBDebugOutputAction;   Nc                     SUl         X2l        g rV   )rW   rZ   rO   s        r   r    SetGDBDebugOutputAction.__call__<   s    "	%r   r    r!   r"   r    r   r   r]   r]   ;   s    &r   r]   c                       \ rS rSrSS jrSrg)SetAnnotateCoverageActionA   Nc                     SUl         X2l        g rV   )annotateannotate_coverage_xmlrO   s        r   r   "SetAnnotateCoverageAction.__call__B   s    !	*0'r   r    r!   r"   r    r   r   rb   rb   A   rQ   r   rb   c            
         Sn [        U [        [        SS9nUR                  SSSSSS	S
9  UR                  SSSSSSS
9  UR                  SSSSSS9  UR                  SSSS[        SS9  UR                  SSSSSSS
9  UR                  SS SSS!S"S
9  UR                  S#S$S%S&S'S9  UR                  S(S)S*SSS+S
9  UR                  S,S-S[
        S.S9  UR                  S/S0S1S2S9  UR                  S3S4S5S[        S6S9  UR                  S7[        S!S8S99  UR                  S:[        [        S;S<9  UR                  S=S>S?S@SAS9  UR                  SBSCSSDSESFSG9  UR                  SHSSISESJSG9  UR                  SKSL[        [        SMS9  UR                  SNSOS1SPS9  UR                  SQSRSSSSSTS
9  UR                  SUSSVSWSX9  UR                  SYSZSS[S\S
9  UR                  S]SZSS^S_S
9  UR                  S`SZSSaSbS
9  UR                  Sc[        S!SdS99  UR                  SeSfS1SgS9  UR                  ShSiS1SjS9  UR                  SkSlSmS1SnS9  UR                  SoSp[        S!SqS99  UR                  SrSsStSu[        [        SvSw9  UR                  SxSyStSz[        [        S{Sw9  UR                  S|S}[        SS~S9  UR                  SSS1SS9  UR                  SSS[        SS9  UR                  SSS[        SS9  UR                  SS/ S9  UR                  SSSS[        [        S9  UR                  SSS1[        S9  UR                  SSS@[        S9  UR                  SSS1[        S9  UR                  SSS1[        S9  SSKJn  [        U5       HE  nUR!                  S5      (       d  M  UR#                  SS5      nUR                  SU-   S1[        S9  MG     U$ )Nz|Cython (https://cython.org/) is a compiler for code written in the Cython language.  Cython is based on Pyrex by Greg Ewing.zYEnvironment variables:
  CYTHON_CACHE_DIR: the base directory containing Cython's caches.)descriptionargument_defaultformatter_classepilogz-Vz	--versionshow_versionstore_constr   z)Display version number of cython compiler)r   actionconsthelpz-lz--create-listinguse_listing_filez&Write error messages to a listing filez-Iz--include-dirinclude_pathappendzWSearch for include files in named directory (multiple include directories are allowed).)r   ro   rq   z-oz--output-fileoutput_filestorez Specify name of generated C file)r   ro   typerq   z-tz--timestamps
timestampszOnly compile newer source filesz-fz--forcer   z/Compile all source files (overrides implied -t)z-vz	--verboseverbosecountz4Be verbose, print file names on multiple compilationz-pz--embed-positionsembed_pos_in_docstringzeIf specified, the positions in Cython files of each function definition is embedded in its docstring.z	--cleanupgenerate_cleanup_codezzRelease interned objects on python exit, for memory debugging. Level indicates aggressiveness, default 0 releases nothing.z--cachecache
store_truez!Enables Cython compilation cache.z-wz	--workingworking_pathzOSets the working directory for Cython (the directory modules are searched from)z--gdbz"Output debug information for cygdb)ro   nargsrq   z--gdb-outdirz>Specify gdb debug information output directory. Implies --gdb.)ro   rw   rq   z-Dz--no-docstrings
docstringsstore_falsez*Strip docstrings from the compiled module.z-az
--annotatedefaultre   z/Produce a colorized HTML version of the source.)ro   rp   r   rq   z--annotate-fullcfullczZProduce a colorized HTML version of the source which includes entire generated C/C++-code.z--annotate-coveragerf   z7Annotate and include coverage information from cov.xml.z--line-directivesemit_linenumsz4Produce #line directives pointing to the .pyx sourcez-+z--cpluscplusz Output a C++ rather than C file.--embedmainzwGenerate a main() function that embeds the Python interpreter. Pass --embed=<method_name> for a name other than main().)ro   rp   rq   z-2language_level   z4Compile based on Python-2 syntax and code semantics.z-3   z4Compile based on Python-3 syntax and code semantics.z--3str3zRCompile based on Python-3 syntax and code semantics (same as -3 since Cython 3.1).z	--lenientzQChange some compile time errors to runtime errors to improve Python compatibilityz--capi-reexport-cincludescapi_reexport_cincludesz9Add cincluded headers to any auto-generated header files.z--fast-fail	fast_failz(Abort the compilation on the first errorz-Werrorz--warning-errorswarning_errorszMake all warnings into errorsz-Wextraz--warning-extrazEnable extra warningsz-Xz--directivezNAME=VALUE,...rE   zOverrides a compiler directive)metavarr   rw   ro   rq   z-Ez--compile-time-envcompile_time_envz,Provides compile time env like DEF would do.z--module-namemodule_namezFully qualified module name. If not given, is deduced from the import path if source file is in a package, or equals the filename otherwise.)r   rw   ro   rq   z-Mz	--depfilez produce depfiles for the sources)ro   rq   z--generate-sharedshared_c_file_pathz,Generates shared module with specified name.z--sharedshared_utility_qualified_namezQImports utility code from shared module specified by fully qualified module name.sources*)r   r   z-zz--pre-import
pre_importz--convert-rangeconvert_rangez--no-c-in-tracebackc_line_in_tracebackz--cimport-from-pyxcimport_from_pyxz--old-style-globalsold_style_globals
DebugFlagsdebug_-z--)r   r   r   add_argumentstrintrS   r]   rb   rJ   rB   r
   r:    r   vars
startswithreplace)ri   r   r   nameoption_names        r   create_cython_argparserr   F   s   NK !3F	F k}\]F  H
07IR_ghC  E
oN8I  J oM'X[=  ?
n<]^<  >
il=XYL  N
k	'Q  S
18PYfnoO  P *A'X[Y  Z 	>  @
kwUXl  n
(9?  A
/FS[  ]
/l=G  I
l=	XbL  N
*=V`I  J -4KTmtwT  V
+/,Q  S
igmST=  ?
	-vV  W #3MQRQ  S
#3MQRQ  S
'7UXo  q
,<A:  ; 3:S\hV  X
KE  G
	#5<LUa:  <
	#4=V^_2  4 m5E0s2;  = 2<L-C6I  K (s7J  K
 k,Egh
+2Fw]`K  M

)HQX_bp  r 	b9 n<VY`hi
)[cd
-4IR_fno
,3Elaij
-4GP\ckl Z ??7##,,sC0K{ 2<hW !
 Mr   c                 J   S nU" U5      u  p4U R                  U5      u  pVUR                  nU?U H@  nUR                  S5      (       a  U R                  SU-   5        M/  UR	                  U5        MB     U H'  n	U	S:X  a  Sn
OU	[        S5      S  n
[        USU
5        M)     XW4$ )Nc                     / / p!U  HC  nUS:X  d  UR                  S5      (       a  UR                  U5        M2  UR                  U5        ME     X4$ )Nr   --embed=)r   rt   )args
with_embedwithout_embedxs       r   filter_out_embed_options8parse_command_line_raw.<locals>.filter_out_embed_options   sO    $&MAI~j!9!9!!!$$$Q'	 
 ((r   r   zunknown option r   r   r   embed)parse_known_argsr   r   errorrt   lenr   )r   r   r   r   args_without_embed	argumentsunknownr   optionr   r   s              r   parse_command_line_rawr      s    ) &>d%C"J001CDIG S!!LL*V34NN6"	  	>DS_%&D	7D)  r   c                 x   [        5       n[        X5      u  p#[        USS5      nU H  nU(       aC  [        R                  R                  U5      (       d  [        R                  R                  XE5      n[        R                  R                  U5      (       a  Ms  SS Kn[        UR                  [        R                  " UR                  5      U5      e   [        R                  " [        R                  5      n[        U5      R!                  5        H  u  pUR#                  S5      (       a9  SSKJn
  U[)        U
5      ;   a  [+        XU	5        M>  UR-                  SU-  5        MT  [/        [        U5      (       a  [+        [        X5        M{  [+        XxU	5        M     UR0                  (       a   [3        U5      S:  a  UR-                  S5        UR4                  (       a!  [3        U5      S:  a  UR-                  S	5        O1[3        U5      S:X  a"  UR6                  (       d  UR-                  S
5        [        R8                  (       a   [3        U5      S:  a  UR-                  S5        UR:                  (       aB  UR<                  (       a  UR-                  S5        [3        U5      S:  a  UR-                  S5        Xs4$ )Nr   r   r   r   r   r   zUnknown debug flag: %s
z3cython: Only one source file allowed when using -o
z=cython: Source file not allowed when using --generate-shared
z&cython: Need at least one source file
z8cython: Only one source file allowed when using --embed
z3cython: Cannot use --module-name with --timestamps
z>cython: Only one source file allowed when using --module-name
)r   r   r   rX   pathisabsjoinexistserrnoFileNotFoundErrorENOENTstrerrorr   CompilationOptionsdefault_optionsr   itemsr   r   r   dirr   r   hasattrrr   r   r   rm   r   r   rx   )r   r   r   r   work_dirsourcer   r4   r   valuer   s              r   parse_command_liner      s   $&F/=Iy."5HBGGMM&11WW\\(3Fww~~f%%#ELL"++ell2KVTT  (()@)@AGI,,.??7##$s:&
%07$>?Wd##GT)G5) / CL1$4KL!!w<!LLYZ	W	7#7#7>?}}W)PQLLOPw<!LLZ[r   )rX   argparser   r   r   r   r   r   r
   r)   r:   rB   rJ   rS   r]   rb   r   r   r   r    r   r   <module>r      s    
 R R 2F 2
/ 
// /3 31v 1) )&f &1 1
od!H'r   