
    h1                        S r SSKJr  SSKrSSKrSSKJr  SSKJrJ	r	J
r
JrJrJrJrJr  SSKJrJrJrJrJrJr  SSKJr  \R2                  " S	S
9 " S S\5      5       r\" S5      r            SS jrg)zYCore functionality for calling functions with arguments specified by argparse
namespaces.    )annotationsN)partial)AnyCallableDictListSetTupleTypeVarUnion   )
_arguments_fields_parsers	_resolver
_singleton_strings)_markersT)frozenc                  .    \ rS rSr% SrS\S'   S\S'   Srg)	InstantiationError   zdException raised when instantiation fail; this typically means that values from
the CLI are invalid.strmessagez)Union[_arguments.ArgumentDefinition, str]arg N)__name__
__module____qualname____firstlineno____doc____annotations____static_attributes__r       G/home/james-whalen/.local/lib/python3.13/site-packages/tyro/_calling.pyr   r      s     L	22r$   r   Tc           	       ^^^^^^ ^!^" / m!0 m [        5       n      SUU4S jjn0 nTR                   H<  nUU[        R                  " UR                  UR
                  R                  /5      '   M>     Sn	TR                   GH  n
[        R                  " TU
R                  /5      nU
R                  nX;   Ga  X;  d   eX{   nUnUR                  U5        UR                  R                  5       (       d  U" X5      u  pSnU[        R                  ;   ah  UR
                  R                  nU[        R                  ;   a=  UR
                  R                  5       (       a  UR                  R                   S:X  a  / nSnO(U(       a!  SnSn	UR                  R                   S:X  a  U/nU(       a7   UR                  R"                  c   eUR                  R#                  U5      nGO/GO-UR
                  R                  [        R                  ;  d   eUR
                  R                  nTR+                  U[,        R.                  5      nU[        R                  ;  a2  [)        SR1                  UR                  R2                  5       S	3U5      eGOUTR4                  ;   ah  [6        R8                  " U5      [:        L a  [=        U
R                  5      n[?        UTR4                  U   U
R                  TUS
9u  nnU" 5       nAUU-  nGOTR@                  U   n[        RB                  " US9nUR                  U5        UT;   a  TU   nO"URD                  [        R                  ;  d   eSnUc  URD                  nOURF                  [I        URJ                  RM                  5       5      RO                  U5         n[?        UURJ                  U   [=        U
R                  5      UL a  U
R                  O[,        R.                  TUS
9u  nnU" 5       nAUU-  nU[,        RP                  L a  GM  [R        RT                  U
RV                  ;   ax  [Y        T!5      S:X  a>  [Y        T 5      S:  a/  T!R[                  T R]                  5       5        T R_                  5         [a        U[b        5      (       d   eT!R[                  U5        GM>  [R        Rd                  U
RV                  ;   a+  [a        U[f        5      (       d   eT Ri                  U5        GM  U
Rk                  5       (       a%  [Y        T 5      S:X  d   eT!Rm                  U5        GM  UT U
Rn                  '   GM     [p        Rr                  " T!T R]                  5       5       V^s/ s H&  m[u        U4S j[        R                   5       5      PM(     nn[u        U5      (       a  U	(       d  U4S jU4$ Sn[Y        T 5      S:  a  / nT Rw                  5        H  u  nmT[        R                  ;  a    O}SnUR]                  5        HU  nUR
                  Rn                  U:X  d  M  URm                  SR1                  UR                  R2                  5      5        Sn  O   U(       a  M   S5       e   [Y        U5      S:  a	  USU S3-  n[)        UT5      eTRx                  m"T"[b        [H        [         4;   af  [Y        T!5      S:  a*  [Y        T 5      S:X  d   e[Y        T!5      S:X  d   eU!4S jU4$ [Y        T!5      S:X  d   e[{        T"T R]                  5       5      U4$ T"[f        L aX  [Y        T!5      S:  a0  [Y        T 5      S:X  d   e[Y        T!5      S:X  d   e[{        T"/T!Q76 U4$ [Y        T!5      S:X  d   eU 4S jU4$ TS:X  a  [{        T"/T!Q70 T D6U4$ UU U!U"4S jnUU4$ ! [$        [&        4 a  n[)        UR                  S   U5      eSnAff = fs  snf )aQ  Populate `f` with arguments specified by a dictionary of values from argparse.

Returns a partialed version of `f` with arguments populated, and a set of
used arguments.

We return a `Callable[[], OutT]` instead of `T` directly for aesthetic
reasons; it lets use reduce layers in stack traces for errors from
functions passed to `tyro`.
c                   > U T;  aE  UR                  5       (       d  TR                  (       d   S5       eUR                  R                  S4$ TU    S4$ )a8  Helper for getting values from `value_from_arg` + doing some extra
asserts.

Returns:
    - The value from `value_from_prefixed_field_name`.
    - If the value was found. If True, we found the value (and it will
      be returned as a string or list of strings). If False, we've just
      returned the default.
zBField value is unexpectedly missing. This is likely a bug in tyro.FT)is_suppressedconsolidate_subcommand_argsfielddefault)prefixed_field_namer   parser_definitionvalue_from_prefixed_field_names     r%   get_value_from_arg.callable_with_args.<locals>.get_value_from_arg0   s`     &DD !!##'8'T'TTSTT99$$e++12EFLLr$   F*T?Nr   /z= was passed in, but is a fixed argument that cannot be parsed)field_name_prefix)namec              3  ,   >#    U  H	  nTUL v   M     g 7fNr   ).0mvs     r%   	<genexpr>%callable_with_args.<locals>.<genexpr>   s     @?qAF?s   c                    > T $ r8   r   )default_instances   r%   <lambda>$callable_with_args.<locals>.<lambda>   s    +r$   z6either all arguments must be provided or none of them.zThis is likely a bug in tyro.z We're missing arguments .r   c                    > T S   $ Nr   r   )positional_argss   r%   r@   rA   
  s
    ?1-r$   c                    > T $ r8   r   )kwargss   r%   r@   rA     s    6r$    c                 l   >  T" T0 TD6$ ! [          a  n [        U R                  S   T5      eS n A ff = frD   )
ValueErrorr   args)er5   rG   rE   unwrapped_fs    r%   with_instantiation_error4callable_with_args.<locals>.with_instantiation_error  sE    &B6BB " ,q	) s    
3.3)r-   r   r   z_arguments.ArgumentDefinitionreturnztuple[Any, bool])>setrK   r   make_field_nameintern_prefixr+   intern_name
field_listtype_strippedaddloweredis_fixedr   MISSING_AND_MISSING_NONPROPr,   is_positionalnargsinstance_from_strrJ   	TypeErrorr   getr   MISSING_NONPROPjoinname_or_flagschild_from_prefixr   unwrap_origin_strip_extrasr   typecallable_with_argssubparsers_from_intern_prefixmake_subparser_destr?   optionslistparser_from_namekeysindexEXCLUDE_FROM_CALLr   _UnpackArgsCallmarkerslenextendvaluesclear
isinstancetuple_UnpackKwargsCalldictupdateis_positional_callappendcall_argname	itertoolschainanyitemsfr   )#r   r.   r?   r/   r5   consumed_keywordsr0   arg_from_prefixed_field_namer   any_arguments_providedr+   r-   
field_typename_maybe_prefixedvaluevalue_foundshould_castrL   parsed_value	get_valueconsumed_keywords_childsubparser_defsubparser_destsubparser_namechosen_fr;   is_missing_listr   missing_argskfoundrN   rG   rE   rM   s#    ````                    `      @@@r%   rf   rf      s   " "$OF"%%M M'DM	M M2 NP  %%  	%$$c&7&79N9N%OP	
 &
 #"--&66 1 12

 ((
>&??? /CC"5!!"56;;''))%78K%Q"#G???II--E !D!DDII3355  KK--4 "&* "&K-1*{{((C/ "' "{{<<HHH # = =e D  yy((0S0SSSS		))=AA')C)C   w'J'JJ,88CKK$=$=>? @E E  K !$5$G$GG33J?5H!%--0
1C!334GH."52.I. KE!88 .KK#M &99?RSN!!.1!??!?!O "22">>?? "&% &66(0077<<>?EEnU 6H!22>B  .(: '772&9
62	2 "!%<<!J000##u}}4?#q(S[1_&&v}}7eU++++""5)''5==8eT****MM% %%''v;!###""5)).F5%%&a .j &--/BBA 	@G??@@B   ?%+->>>Jv;?&(L1G??? 7>>@Cyy--2$++CHHS[[5N5N,OP $	 A
 u===u ' < 1$6|nAFF 
 	

 $%%KudC((!#v;!###'1,,,-/@@@'1,,,;8:KKK		!#v;!###'1,,,;99;LLL'1,,,!#444" ;CCFCEVVV	 	 ,->>>G '	2 0FF1I |s   /4^9?-_*9_'	_""_')r   zCallable[..., T]r.   z_parsers.ParserSpecificationr?   z.Union[T, _singleton.NonpropagatingMissingType]r/   zDict[str, Any]r5   r   rP   z Tuple[Callable[[], T], Set[str]])r!   
__future__r   dataclassesr}   	functoolsr   typingr   r   r   r   r	   r
   r   r   rH   r   r   r   r   r   r   confr   	dataclass	Exceptionr   r&   rf   r   r$   r%   <module>r      s    #    H H H L L  d#3 3 $3 CLN?N?3N? EN? %3	N?
 N? &N?r$   