+
    VBi>}                        ^ RI t ^RIHt  ! R R4      t RtRtRtRtRtRt	Rt
RtRtRtRtRtRtRtRtRt. t]! R4      tRt^t^tR tR	 tR
 t/ RRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRb/ RRbRRbR RbR!R"bR#RbR$RbR%RbR&RbR'RbR(RbR)RbR*RbR+RbR,RbR-RbR.RbR/RbC/ R0RbR1RbR2RbR3RbR4R5bR6R"bR7RbR8RbRRbR9RbR:RbR;RbR<RbR=R"bR>RbR?RbR@RbC/ RARbRBRbRCRbRDRbRERbRFRbRGRbRHRbRIRbRJRbRKRbRLRbRMRbRNRbROR"bRPRbRQ. bCRR. RSRRT. RU. RVR/CtRBRRARRCR/tRWR/RX ltRYRYRZRYR[RYR\R\R]R\/P>                  t R^ t! ! R_ R`4      t"]"! 4       t"/ R/]#bR]$bRa]%bRb]$bRc]! Rd4      bR#]"bR$]"bRe]"bR%RbRf]$bR*]$bR]$bRgRbRhRbRiRbR]$bRjRb/ RkRbRlRbRm]$bRn]$bRo]&bRp]&bR>]#bRq]'bR4]! R5RrRsRtRtRs/Ru7      bR6]!bRv]$bRwRbRx]"bRy]"bR]! RRzR{4      bR]! RR|R}4      bRS]$bCt(]PS                  4        F  w  t*t+]*](9  g   K  ]&! ]+4      ](]*&   K  	  / RRbRbRbR RbRcRbR#RbR$R~bR%RbReRbRjRbRgRbRhRbRoRbRpRbRaRbRkRbRmRbRnRb/ RfRbRlRbR,RbR.RbR-RbR>RbRQRbRRRbRTRbRURbRSRbRqRbRVRbR(RbR4RbR6RbR7RbC/ R/RbRRbR9RbR2RbR:RbR3RbRvRbRwRbRxRbR;RbRiRbR<RbR=RbRORbRPRbRRbRRbCt,0 Rmt-RR lt.RR lt/R t0RR lt1 ! R R4      t2]%! R/ R^ bR^ bR^bR^ bRRbRRbRRbRRbR^ bR^ bRR"bRRbR^ bR^ bR/ bR/ bRRbRRbRRbRRbR/RbRVRbRRbRRbRRbRRbRRbRRbRRbRRbR9RbR<RbRRbRRb t3R# )    N)Utilsc                   F   a  ] tR t^t o . tRR ltR tR tR tR t	Rt
V tR# )	ShouldBeFromDirectiveNc                v    Wn         T;'       g    TV n        W0n        V P                  P	                  V 4       R # N)options_namedirective_namedisallowknown_directivesappend)selfr   r	   r
   s   &&&&</usr/lib/python3.14/site-packages/Cython/Compiler/Options.py__init__ShouldBeFromDirective.__init__   s1    (,<< $$T*    c                &    V P                  4        R # r   _bad_accessr   s   &r   __nonzero__!ShouldBeFromDirective.__nonzero__       r   c                &    V P                  4        R # r   r   r   s   &r   __int__ShouldBeFromDirective.__int__   r   r   c                *    \        \        V 4      4      hr   )RuntimeErrorreprr   s   &r   r   !ShouldBeFromDirective._bad_access   s    4:&&r   c                @    R V P                   : RV P                  : R2# )zIllegal access of 'z-' from Options module rather than directive '')r   r	   r   s   &r   __repr__ShouldBeFromDirective.__repr__   s    t224 	4r   )r	   r
   r   )NF)__name__
__module____qualname____firstlineno__r   r   r   r   r   r"   __static_attributes____classdictcell____classdict__s   @r   r   r      s)     +'4 4r   r   TFold_style_globalsc                  z   \         P                   F  p \        4       P                  V P                  4      pV P
                  \        9   g   Q h\        V\         4      '       d   KU  V P                  '       d)   \        R V P                  : RV P
                  : R24      hV\        V P
                  &   K  	  \        # )zOption 'z' must be set from directive 'r!   )r   r   globalsgetr   r	   _directive_defaults
isinstancer
   r   option_name)
old_optionvalues     r   get_directive_defaultsr5      s     ,<<
	j556((,????%!677""""**J,E,EGH H
 BG#J$=$=> = r   c                 t    \        V 4      pR F  pVP                  VR4       K  	  VP                  V4       V# )test_assert_path_existsN)r7   test_fail_if_path_existstest_assert_c_code_hastest_fail_if_c_code_has"test_body_needs_exception_handlingcritical_section)dictpopupdate)outer_directivesnew_directivesnew_directives_outnames   &,  r   copy_inherited_directivesrD      sD     ./KtT*K n-r   c                      \        V R R R R7      # )F)bindingprofile	linetrace)rD   )r@   s   &r   copy_for_internalrI      s    $	 r   rF   boundscheck	nonecheckinitializedcheckfreethreading_compatiblesubinterpreters_compatiblenoembedsignaturezembedsignature.formatc
auto_cpdefauto_pickle	cdivisioncdivision_warningscpowc_api_binop_methodsoverflowcheckzoverflowcheck.foldalways_allow_keywordsallow_none_for_extension_args
wraparoundccomplexcallspec nogilgilwith_gilrG   rH   emit_code_commentsannotation_typinginfer_typeszinfer_types.verboseautotestdictzautotestdict.cdefzautotestdict.alllanguage_levelfast_getattr
py2_importpreliminary_late_includes_cy28iterable_coroutinec_string_typebytesc_string_encodingtype_version_tagunraisable_tracebacks
np_pythranfast_gil
cpp_localslegacy_implicit_noexceptc_compile_guardset_initial_pathwarnzwarn.undeclaredzwarn.unreachablezwarn.maybe_uninitializedzwarn.unusedzwarn.unused_argzwarn.unused_resultzwarn.multiple_declaratorszwarn.deprecated.DEFzwarn.deprecated.IFshow_performance_hintszoptimize.inline_defnode_callszoptimize.unpack_method_callsz&optimize.unpack_method_calls_in_pyinitzoptimize.use_switchremove_unreachablezcontrol_flow.dot_outputzcontrol_flow.dot_annotate_defsr7   r8   r;   r9   r:   formal_grammarmapc                    a a VV 3R  lpV# )c                 n   < Se   SP                  W4      pVS9  d   \        V : RS: RV: R24      hV# )Nz directive must be one of z, got 'r!   )r/   
ValueError)rC   r4   argsrz   s   &&r   validateone_of.<locals>.validate%  s<    ?GGE)EdE# $ $r    )rz   r~   r   s   dj r   one_ofr   $  s     Or   utf8zutf-8defaultasciizus-asciic                    V'       g   R# \        VP                  4       4      pVe   V# ^ RIp VP                  V4      pR F  pTP                  T4      T8X  g   K  Tu # 	  T#   \         d    Tu # i ; i)a;  
>>> normalise_encoding_name('c_string_encoding', 'ascii')
'ascii'
>>> normalise_encoding_name('c_string_encoding', 'AsCIi')
'ascii'
>>> normalise_encoding_name('c_string_encoding', 'us-ascii')
'ascii'
>>> normalise_encoding_name('c_string_encoding', 'utF8')
'utf8'
>>> normalise_encoding_name('c_string_encoding', 'utF-8')
'utf8'
>>> normalise_encoding_name('c_string_encoding', 'deFAuLT')
'utf8'
>>> normalise_encoding_name('c_string_encoding', 'default')
'utf8'
>>> normalise_encoding_name('c_string_encoding', 'SeriousLyNoSuch--Encoding')
'SeriousLyNoSuch--Encoding'
r^   N)r   r   )_normalise_common_encoding_namelowercodecs
getdecoderLookupError)r2   encodingencoding_namer   decoderrC   s   &&    r   normalise_encoding_namer   8  s    & 3HNN4DEM ##H- "T"g-K " O  s   A% %A54A5c                       ] tR tRtRtR# )DEFER_ANALYSIS_OF_ARGUMENTSi^  r   N)r$   r%   r&   r'   r(   r   r   r   r   r   ^  s    r   r   localsfinalcollection_typesequencer<   internalcfuncccallufuncinlinestaticmethodcclassno_gc_clearno_gcreturns	exceptvalfreelist	bytearraystrunicode)rz   trashcantotal_orderingdataclasses.dataclasszdataclasses.fieldclinicpython
shared_gilown_gilwith statementc                   \         P                  V 4      pV'       g   R# TpV\        J d[   \        V4      pVR8X  d   R# VR8X  d   R# V'       d#   VP	                  4       pVR	9   d   R# VR
9   d   R# \        V : RV: R24      hV\        J d    \        V4      # V\        J d   \        V4      # \        V4      '       d	   V! W4      # Q h  \
         d    \        T : RT: R24      hi ; i)a  
Parses value as an option value for the given name and returns
the interpreted value. None is returned if the option does not exist.

>>> print(parse_directive_value('nonexisting', 'asdf asdfd'))
None
>>> parse_directive_value('boundscheck', 'True')
True
>>> parse_directive_value('boundscheck', 'true')
Traceback (most recent call last):
   ...
ValueError: boundscheck directive must be set to True or False, got 'true'

>>> parse_directive_value('c_string_encoding', 'us-ascii')
'ascii'
>>> parse_directive_value('c_string_type', 'str')
'str'
>>> parse_directive_value('c_string_type', 'bytes')
'bytes'
>>> parse_directive_value('c_string_type', 'bytearray')
'bytearray'
>>> parse_directive_value('c_string_type', 'unicode')
'str'
>>> parse_directive_value('c_string_type', 'unnicode')
Traceback (most recent call last):
ValueError: c_string_type directive must be one of ('bytes', 'bytearray', 'str', 'unicode'), got 'unnicode'
NTrueTFalseFz. directive must be set to True or False, got 'r!   z+ directive must be set to an integer, got ')trueyes)falserO   )directive_typesr/   boolr   r   r}   intcallable)rC   r4   relaxed_booltype
orig_values   &&&  r   parse_directive_valuer     s    8 t$DJt|E
F?GKKME'/)*  			#u: 
5z	$D  u  	#j" # #	#s   
C C+c                   Vf   / pMTpV P                  R4       EFT  pVP                  4       pV'       g   K  RV9  d   \        RV,          4      hVP                  4       P                  R^4       U u. uF  q P                  4       NK  	  up w  rgV\        9  d~   RpVP	                  R4      '       d?   VRR
 p	\         F/  p
V
P                  V	4      '       g   K  Rp\        WVR7      pWV
&   K1  	  V'       g   V'       g   \        R	V,          4      hK  K  \        P                  V4      \        J d)   Wd9   d   WF,          P                  V4       EK;  V.WF&   EKC  \        WgVR7      pWV&   EKW  	  V# u up i )a  
Parses a comma-separated list of pragma options. Whitespace
is not considered.

>>> parse_directive_list('      ')
{}
>>> (parse_directive_list('boundscheck=True') ==
... {'boundscheck': True})
True
>>> parse_directive_list('  asdf')
Traceback (most recent call last):
   ...
ValueError: Expected "=" in option "asdf"
>>> parse_directive_list('boundscheck=hey')
Traceback (most recent call last):
   ...
ValueError: boundscheck directive must be set to True or False, got 'hey'
>>> parse_directive_list('unknown=True')
Traceback (most recent call last):
   ...
ValueError: Unknown option: "unknown"
>>> warnings = parse_directive_list('warn.all=True')
>>> len(warnings) > 1
True
>>> sum(warnings.values()) == len(warnings)  # all true.
True
N,=Expected "=" in option "%s"Fz.allT)r   zUnknown option: "%s")splitstripr}   r0   endswith
startswithr   r   r/   listr   )sr   ignore_unknowncurrent_settingsresultitemrC   r4   foundprefix	directiveparsed_values   &&&&        r   parse_directive_listr     sK   : !zz|d?:TABB*.**,*<*<S!*DE*DQwwy*DE**E}}V$$cr!4I ++F33 $'<Y\h'i,8y)	 "5
  !7$!>?? "05  &$.~##E* %w0<XL'4L3 4 M) Fs   4E6c                    V R8X  d   R# V R8X  d   R# V R8X  d   R# V P                  4       '       d   \        V 4      #  \        V 4      p V #   \         d     T # i ; i)aG  
Parses value as an option value for the given name and returns
the interpreted value.

>>> parse_variable_value('True')
True
>>> parse_variable_value('true')
'true'
>>> parse_variable_value('us-ascii')
'us-ascii'
>>> parse_variable_value('str')
'str'
>>> parse_variable_value('123')
123
>>> parse_variable_value('1.23')
1.23

r   Tr   FNoneN)isdigitr   float	Exception)r4   s   &r   parse_variable_valuer   P  sf    & 	'		&	5z	%LE   		s   A AAc                4   Vf   / pMTpV P                  R4       Ft  pVP                  4       pV'       g   K  RV9  d   \        RV,          4      hVP                  R^4       U u. uF  q P                  4       NK  	  up w  rE\        V4      W$&   Kv  	  V# u up i )a  
Parses a comma-separated list of pragma options. Whitespace
is not considered.

>>> parse_compile_time_env('      ')
{}
>>> (parse_compile_time_env('HAVE_OPENMP=True') ==
... {'HAVE_OPENMP': True})
True
>>> parse_compile_time_env('  asdf')
Traceback (most recent call last):
   ...
ValueError: Expected "=" in option "asdf"
>>> parse_compile_time_env('NUM_THREADS=4') == {'NUM_THREADS': 4}
True
>>> parse_compile_time_env('unknown=anything') == {'unknown': 'anything'}
True
r   r   r   )r   r   r}   r   )r   r   r   r   rC   r4   s   &&    r   parse_compile_time_envr   t  s    & !zz|d?:TABB*.**S!*<=*<Qwwy*<=+E2  M >s   %Bc                   :   a  ] tR tRt o RtRR ltR tR tRtV t	R# )	CompilationOptionsi  z
See default_options at the end of this module for a list of all possible
options and CmdLine.usage and CmdLine.parse_command_line() for their
meaning.
Nc                   . V n         V'       d$   \        V\        4      '       d   VP                  pM\        p\        V4      pVP                  V4       \        V4      \        \        4      ,
          pVP                  R .4       V'       d7   R\        V4      ^8  d   RMR: RRP                  V4      : 2p\        V4      h\        4       p\        VR,          4      p\        V4      \        V4      ,
          pV'       d7   R\        V4      ^8  d   RMR: RRP                  V4      : 2p\        V4      hWsR&   VP                  R	R
4      '       d*   VR,          '       g   ^ RIp	V	P                  R4       RVR&   RV9  d%   VP                  R4      '       d   VR,          VR&   M+VP                  R4      '       g   VP                  R4      VR&   RV9   d   RV9  d   VR,          VR&   V P                  P                  V4       R# )include_pathzgot unknown compilation optionr   r^   z, please remove: z, compiler_directiveszgot unknown compiler directivez: rp   FcplusNz%C++ mode forced when in Pythran mode!Trf   ry   )r   r1   r   __dict__default_optionsr=   r?   setdifference_updatelenjoinr}   r5   r/   warningsrv   )
r   defaultskwoptionsunknown_optionsmessagedirective_defaults
directivesunknown_directivesr   s
   &&,       r   r   CompilationOptions.__init__  s   ($677#,,&Hx.r g,_)==))>*:;??+a/R7		/*,G W%%35'"789
 _s3E/FF-.2:		,-/G W%%)3%&>>,..ww7G7GMMAB#GG2%*..9I*J*J(23C(DG$%-..(:(>(>?O(PG$%z).>b.H(23C(DG$%W%r   c                t    VR 8X  d1   V P                   P                  R4      f   RV P                   R&   R# R# R# )pyrF   NT)r   r/   )r   source_extensions   &&r   configure_language_defaults.CompilationOptions.configure_language_defaults  s;    t#''++I6>6:((3 ? $r   c                  a / pV P                   P                  4        F  w  r#VR9   d   K  VR9   d   K  VR9   d   K   VR9   d   K)  VR9   d   K2  VR9   d   K;  VR	9   d   KD  VR
9   d   KM  VR9   d   KV  VR9   d   K_  VR9   d   W1V&   Kl  VR9   d   W1V&   Ky  VR9   d   W1V&   K  VR9   d   W1V&   K  VR9   d   V'       d   \        V R24      hK  W1V&   K  	  V3R loS! V4      # )zY
Return a string that contains all the options that are relevant for cache invalidation.
z& is not compatible with Cython cachingc           
        < \        V \        4      '       d?   \        V P                  4        UUu. uF  w  r\	        V4      S! V4      3NK  	  upp4      p \	        V 4      # u uppi )z\
Recursively turn item into a string, turning dicts into lists with
deterministic ordering.
)r1   r=   sorteditemsr   )r   keyr4   to_fingerprints   &  r   r   :CompilationOptions.get_fingerprint.<locals>.to_fingerprint  sW    
 $%%TXT^T^T`aT`jcS	>%+@AT`ab: bs   A!
)show_versionerrors_to_stderrverbosequiet)output_file
output_dir)depfile)
timestamps)cache)r   r   )working_path)create_extension)	build_dir)use_listing_filegenerate_pxiannotateannotate_coverage_xml)ry   evaluate_tree_assertions)embedded_metadataemit_linenumsc_line_in_traceback	gdb_debug'relative_path_in_code_position_comments)r   rf   compile_time_envrp   )capi_reexport_cincludescommon_utility_include_dir)r   r   NotImplementedError)r   datar   r4   r   s   &   @r   get_fingerprint"CompilationOptions.get_fingerprint  s*   
 ----/JCNN55#&	!//(( (( ,, % aa "S	FF!S	 D D "S	UU!S	QQ-5[.\]]  "S	w 0z	 d##r   r  r   )
r$   r%   r&   r'   __doc__r   r   r  r(   r)   r*   s   @r   r   r     s!     
+&Z;
M$ M$r   r   r   r  r   r   r   r   r  r	  r  r  r  r   r   r   r   r  r
  r  r  r  r  r  module_namer  r   r  r  r  shared_c_file_pathshared_utility_qualified_name)moduler   )r   function)r  )r   )r  r   )r  )classr   r   )r  r  r   )r   )r  r  )r  r   )r  r  r   >   r   r   r   r   r   r   r   r   r   r   ra   r   rS   r   r   r   rn   r7   r8   r;   r   )F)FFNr   r   )4osr^   r   r   
docstringsembed_pos_in_docstring
pre_importgenerate_cleanup_codeclear_to_noner  r	  	fast_failwarning_errorserror_on_unknown_nameserror_on_uninitializedconvert_rangecache_builtinsgcc_branch_hintslookup_module_cpdefembedembed_modulesr,   cimport_from_pyxbuffer_max_dimsclosure_freelist_sizer5   rD   rI   r0   extra_warningsr   r/   r   r   r   r   r   r=   r   r   r   r   r   valdirective_scopesimmediate_decorator_directivesr   r   r   r   r   r   r   r   r   <module>r5     sW   
 4 40 
   
       	            	  **=>   
   "	XtXDX %X 	X
 X !$X eX SX %X 4X X %X DX 5X  U!X" $#X$ T%X& $T'X( 4)X* +X, -X. e/X0 
E1X2 3X4 u5X6 7X8 $9X: ;X< 4=X> 5?X@ DAXB CXD EXF dGXH EIXJ %KXL %eMXN %OXP WQXR SXT UXV TWXX YXZ %[X\ ]X^ %_X` aXb rcXh iXl DmXn uoXp qXr sXt 5uXv uwXx %yXz  {X| 5}X~ $X@ dAXF $TGXH #DIXJ -eKXL 4MXR $SXX rYXZ %e[X` aXb (4r eoX x 4d  FVvW# #  !L	 	9; #c#4# d# d	#
 vj)# )# 
'# 4# # # D# # d# d# T#  T!#" t##$ T%#& t'#( D)#* d+#, -#. /#0 1#2 3#4 VG[%TYHZ[5#6 07#8 9#: d;#< 8=#> 4?#@ VC8<A#B !&|Y"GC#D )$E#J $))+HC
/!#Cy ,8'8 $8 	8
 {8 ,8 
8 8 68 }8 ,8 ,8 8 -8 }8  ]!8" K#8$ k%8& '8( 4)8* [+8, -8. +/80 182  ?384 !@586 {788 98: )+>;8< =8> k?8@ +A8D [E8F G8H ,I8J kK8P Q8R +S8T %kU8V W8X 0Y8Z [8\ )]8^ 1_8` 2a8b ]c8d e8f }g8h {i8j %kk8l m8n !+o8 z
" 9x;|!HLE$ E$\  ### # 	#
 # # # # # # # # # # #  !#" ###$ %#& -1'#( )#* +#, -#. /#0 1#2 3#4  $5#6 7#8 9#: ;#< =#> ?#@ "A#B C#D %)E#r   