+
    1jJ                    d   ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt]P                  R-8  d   ^ RI	t	]	P                  t
M]P                  t
^ RIHt ^ RIHt ]P                  R.8  d
   ]! R4      tM]P                   t]P"                  ! RRR7      t]P"                  ! R4      t]P"                  ! R	]
R
7      t]P*                  ! RR7       ! R R]P,                  ]]3,          4      4       t]P0                  t]P2                  t]P4                  ]P6                  ]P8                  3tR R ltR R ltR R lt R R lt!R R lt"R R lt#R R lt$R R lt%R R lt&]P                  R-8  d:   ]	PN                  ! RR 7      R! R" l4       t(]	PN                  ! RR 7      R# R$ l4       t)M8]PN                  ! RR 7      R% R& l4       t(]PN                  ! RR 7      R' R( l4       t)R) R* lt*]P*                  ! RR7       ! R+ R,]P,                  ],          4      4       t+]PX                  t,]PZ                  P\                  t.]PZ                  P^                  t/]P`                  t0]Pb                  t1]Pd                  t2]Pf                  t3]Ph                  t4]Pj                  t5]Pl                  t7]Pp                  t8R# )/    )annotationsN)declarative_asn1)x509TT)	covariantUTag)bound)frozenc                  0    ] tR t^"t$ RtR]R&   R]R&   RtR# )Varianta  
A tagged variant for CHOICE fields with the same underlying type.

Use this when you have multiple CHOICE alternatives with the same type
and need to distinguish between them:

    foo: (
        Annotated[Variant[int, typing.Literal["IntA"]], Implicit(0)]
        | Annotated[Variant[int, typing.Literal["IntB"]], Implicit(1)]
    )

Usage:
    example = Example(foo=Variant(5, "IntA"))
    decoded.foo.value  # The int value
    decoded.foo.tag    # "IntA" or "IntB"
r   valuestrtag N)__name__
__module____qualname____firstlineno____doc____annotations____static_attributes__r       =lib/python3.14/site-packages/cryptography/hazmat/asn1/asn1.pyr   r   "   s    " H	Hr   r   c               (    V ^8  d   QhRRRRRRRR/# )	   
field_type
typing.Any
annotationdeclarative_asn1.Annotation
field_namer   returnNoner   )formats   "r   __annotate__r%   D   s0     	
 	
	
+	
 	
 
		
r   c                ~    V \         9   d2   \        VP                  \        4      '       d   \	        R V R24      hR# R# )field 'zY' has an IMPLICIT annotation, but IMPLICIT annotations are not supported for X.509 types.N)_X509_TYPES
isinstanceencodingImplicit	TypeError)r   r   r!   s   &&&r   _check_x509_field_annotationsr-   D   sG    
 [ Z
0C0CX%N%Nj\ "F F
 	
 &O r   c                    V ^8  d   QhRRRR/# )r   r   typer"   boolr   )r$   s   "r   r%   r%   P   s     	8 	8$ 	84 	8r   c                    \        \        R 4      '       d!   \        P                  \        P                  3M\        P                  3p\        P
                  ! V 4      V9   # )	UnionType)hasattrtypesr2   typingUnion
get_origin)r   union_typess   & r   	_is_unionr9   P   sI     5+&& 
&,,'ll_ 
 Z(K77r   c                    V ^8  d   QhRRRR/# )r   r   r   r"   r   )r$   s   "r   r%   r%   \   s     !8 !8j !8Z !8r   c                   \         P                  R8  d   V # \        V \        P                  4      '       d   V P
                  p K.  \        P                  ! V 4      p\        ;QJ d    . R V 4       F  NK  	  5M! R V 4       4      pW!8X  d   V # \        V 4      '       d   \        P                  V,          # \        P                  ! V 4      V,          # )   c              3  8   "   T F  p\        V4      x  K  	  R # 5iN)_resolve_type_aliases).0args   & r   	<genexpr>(_resolve_type_aliases.<locals>.<genexpr>i   s     E/44s   )r<      )sysversion_infor)   r5   TypeAliasType	__value__get_argstupler9   r6   r7   )r   argsresolved_argss   &  r   r?   r?   \   s     '!
Z!5!5
6
6))
??:&DEEEEEEEEM ||M** Z(77r   c               $    V ^8  d   QhRRRRRR/# )r   metadatarJ   r!   r   r"   r    r   )r$   s   "r   r%   r%      s$         !$   r   c                   R pR pR pV  F  p\        V\        4      '       d"   Ve   \        RV R24      hVP                  pK:  \        V\        P
                  4      '       d   Ve   \        RV R24      hTpKq  \        V\        P                  4      '       d   Ve   \        RV R24      hTpK  \        RV 24      h	  \        P                  ! W#VR7      # )Nz-multiple DEFAULT annotations found in field ''z7multiple IMPLICIT/EXPLICIT annotations found in field 'z*multiple SIZE annotations found in field 'zunsupported annotation: )defaultr*   size)r)   Defaultr,   r   r   EncodingSize
Annotation)rN   r!   rQ   r*   rR   raw_annotations   &&    r   _extract_annotationrX      s    GHD"ng..""|1&  %**G(8(A(ABB#"|1&  &H(8(=(=>>@AN  "D6~6FGHH- #0 && r   c               $    V ^8  d   QhRRRRRR/# )r   r   r   r!   r   r"   zdeclarative_asn1.AnnotatedTyper   )r$   s   "r   r%   r%      s.     XG XGXG(+XG#XGr   c                &  a \        V 4      p \        P                  ! V 4      \        P                  J d/   \	        V P
                  V4      p\        P                  ! V 4      vrM\        P                  ! 4       pVP                  es   \        P                  ! V 4      \        P                  \        39  dD   V \        P                  \        P                  \        \         \"        39  d   \%        RV R24      hV \&        J dM   \)        VP*                  \,        4      '       d   \%        RV R24      hVP.                  e   \%        RV R24      h\1        WV4       \3        V R4      '       d   V P4                  p\)        V\        P6                  P8                  \        P6                  P:                  \        P6                  P<                  34      '       g   \%        RV 24      h\        P>                  ! \        P@                  ! \        P6                  V4      V4      # \C        V 4      '       Ed[   \        P                  ! V 4      p\E        V4      ^8X  d   \F        V9   d   V^,          \I        R 4      J d
   V^ ,          MV^,          pV\&        J d   \%        R4      h\1        WbV4       \K        Wa4      pVPL                  PO                  4       '       g   \%        R4      hVP.                  e   \%        R	4      h\        P6                  PQ                  V4      pEMZ\)        VP*                  \,        4      '       d   \%        R
4      hV U	u. uF  p	V	\I        R 4      Jg   K  \S        W4      NK!  	  p
p	V
^ ,          PT                  R Jo\V        ;QJ d    V3R lV
 4       F  '       g   K   RM	  RM! V3R lV
 4       4      '       d   \%        R4      hS'       d?   V
 Uu0 uF  qPT                  kK  	  pp\E        V
4      \E        V4      8w  d   \%        R4      h\        P6                  PY                  V
4      p\F        V9   dH   \        P6                  PQ                  \        P>                  ! V\        P                  ! 4       4      4      MTpM\        P                  ! V 4      \        P                  J dH   \K        \        P                  ! V 4      ^ ,          V4      p\        P6                  P[                  V4      pM{\        P                  ! V 4      \        J dH   \K        \        P                  ! V 4      ^ ,          V4      p\        P6                  P                  V4      pM\        P\                  ! V 4      p\        P>                  ! W4      # u up	i u upi )Nr'   z' has a SIZE annotation, but SIZE annotations are only supported for fields of types: [SEQUENCE OF, SET OF, BIT STRING, OCTET STRING, UTF8String, PrintableString, IA5String]zW' has an IMPLICIT annotation, but IMPLICIT annotations are not supported for TLV types.zT' has a DEFAULT annotation, but DEFAULT annotations are not supported for TLV types.__asn1_root__zunsupported root type: z=optional TLV types (`TLV | None`) are not currently supportedzoptional (`X | None`) types cannot have `X` annotated: annotations must apply to the union (i.e: `Annotated[X | None, annotation]`)z@optional (`X | None`) types should not have a DEFAULT annotationzCCHOICE (`X | Y | ...`) types should not have an IMPLICIT annotationc              3  F   <"   T F  pVP                   R JS8g  x  K  	  R # 5ir>   )tag_name)r@   vare_union_types_taggeds   & r   rB   (_normalize_field_type.<locals>.<genexpr>  s'      !A 4',BB!s   !TFzbWhen using `asn1.Variant` in a union, all the other types in the union must also be `asn1.Variant`zBWhen using `asn1.Variant` in a union, the tags used must be unique)/r?   r5   r7   	AnnotatedrX   __metadata__rI   r   rV   rR   builtinslistSetOfbytesr   	BitString	IA5StringPrintableStringr,   TLVr)   r*   r+   rQ   r-   r3   r[   TypeSequenceSetValueSetAnnotatedTypecastr9   lenNoneTyper/   _normalize_field_typer   is_emptyOption_type_to_variantr]   anyChoice
SequenceOfnon_root_python_to_rust)r   r!   r   _	root_type
union_argsoptional_typeannotated_typerust_field_typerA   variantsr^   tagsrust_choice_type
inner_typer_   s   &&             @r   rs   rs      s    'z2J $(8(88()@)@*M
4
Q%002
"*%hmmU-CCNNLL

 j\ "* *
 	
 Sj))844* &H H  +* &G G 
 "**Ez?++,,	 %%.. %%)) %%..
 
 5i[ABB--KK(--y9:
 	
 
:		__Z0
z?aH
$: ",A$t*!<
1*Q-  #*  *: 3=MN!,,5577?  !!-! 
 /33::>JO *--x88!  &%Cd4j( 2 1%   &.a[%9%9%E"s !sss !    E 
 &,45Hq

H5x=CI-#) 
  044;;HE z) !%%,,$22(*:*E*E*G &  
		:	&(--	7*OOJ'*J

 +//:::F			:	&%	/*OOJ'*J

 +//55jA*BB:N))/FFg& 6s   V	V	Vc               $    V ^8  d   QhRRRRRR/# )r   tr   r!   r   r"   zdeclarative_asn1.Variantr   )r$   s   "r   r%   r%   @  s$     (
 (
(
"(
(
r   c                H   \         P                  ! V 4      \         P                  J pV'       d   \         P                  ! V 4      ^ ,          MT p\         P                  ! V4      \        J Ed   \         P                  ! V4      w  rE\         P                  ! V4      \         P
                  Jd   \        R4      h\         P                  ! V4      ^ ,          p\        VR4      '       d   VP                  pM\        P                  ! V4      pV'       d-   \        P                  ! V\        V P                  V4      4      pM*\        P                  ! V\        P                  ! 4       4      p\        P                  ! \        W4      # \        P                  ! V\        W4      R4      # )r   zWhen using `asn1.Variant` in a type annotation, the second type parameter must be a `typing.Literal` type. E.g: `Variant[int, typing.Literal["MyInt"]]`.r[   N)r5   r7   ra   rI   r   Literalr,   r3   r[   r   rz   ro   rX   rb   rV   rs   )	r   r!   is_annotatedr   
value_typetag_literalr]   	rust_typeann_types	   &&       r   rv   rv   @  s?    $$Q'6+;+;;L*6#A&AJ $/"(//*"=
[)?; 
 ??;/2://"00I(@@LI'55#ANNJ?H
 (55 ++-H
  ''DD  ''!!0
 	
r   c                    V ^8  d   QhRRRR/# )r   
raw_fieldszdict[str, type]r"   z)dict[str, declarative_asn1.AnnotatedType]r   )r$   s   "r   r%   r%   k  s     
 

.
r   c                Z    / pV P                  4        F  w  r#\        W24      pWAV&   K  	  V# r>   )itemsrs   )r   fieldsr!   r   annotated_field_types   &    r   _annotate_fieldsr   k  s;     F","2"2"4
  5ZL1z	 #5 Mr   c                    V ^8  d   QhRRRR/# r   clstype[U]r"   r#   r   )r$   s   "r   r%   r%   x  s     ( ( (T (r   c                    \         P                  ! V R R7      p\        P                  P	                  V \        V4      4      p\        V RV4       R# T)include_extrasr[   N)r5   get_type_hintsr   rk   rl   r   setattrr   r   roots   &  r   _register_asn1_sequencer   x  s>    &&s4@J  ))#/?
/KLDC$'r   c                    V ^8  d   QhRRRR/# r   r   )r$   s   "r   r%   r%     s     ( (G ( (r   c                    \         P                  ! V R R7      p\        P                  P	                  V \        V4      4      p\        V RV4       R# r   )r5   r   r   rk   rm   r   r   r   s   &  r   _register_asn1_setr     s>    &&s4@J  $$S*::*FGDC$'r   )kw_only_defaultc                    V ^8  d   QhRRRR/# r   r   r   r"   r   )r$   s   "r   r%   r%     s      g ' r   c                    \         P                  R8  d"   \        P                  ! RRRRR7      ! V 4      pM\        P                  ! RRR7      ! V 4      p\	        V4       V# r<   FTrepreq
match_argskw_only)r   r   r<   
   )rE   rF   dataclasses	dataclassr   r   dataclass_clss   & r   sequencer     sn     w&'11 ! 	 	M (11 M 	 .r   c                    V ^8  d   QhRRRR/# r   r   )r$   s   "r   r%   r%     s       W r   c                    \         P                  R8  d"   \        P                  ! RRRRR7      ! V 4      pM\        P                  ! RRR7      ! V 4      p\	        V4       V# r   )rE   rF   r   r   r   r   s   & r   setr     sn     w&'11 ! 	 	M (11 M 	=)r   c                    V ^8  d   QhRRRR/# r   r   )r$   s   "r   r%   r%     s     
 
g 
' 
r   c                \    \         P                  ! R R R RR7      ! V 4      p\        V4       V# FTr   )r   r   r   r   s   & r   r   r     s:     $--	

  	 .r   c                    V ^8  d   QhRRRR/# r   r   )r$   s   "r   r%   r%     s     
 
 
W 
r   c                \    \         P                  ! R R R RR7      ! V 4      p\        V4       V# r   )r   r   r   r   s   & r   r   r     s:     $--	

  	=)r   c                    V ^8  d   QhRRRR/# )r   r   r/   r"   z#typing.Callable[[type[U]], type[U]]r   )r$   s   "r   r%   r%     s     ) ))()r   c                J   a a \         P                  ! S 4      oR VV 3R llpV# )a
  
A class decorator that registers an `enum.Enum` subclass as an
ASN.1 value set of the given underlying type. All the member
values must be instances of `value_type`. Members are encoded as
their value; decoding fails if the decoded value does not match
any member.
c                    V ^8  d   QhRRRR/# r   r   )r$   s   "r   r%   value_set.<locals>.__annotate__  s      w 7 r   c                  < \        V \        P                  4      '       g   \        R 4      h\	        V 4      pV'       g   \        RV P
                   R24      hV Fr  p\        VP                  S4      '       d   K!  \        RVP                   RV P
                   RSP
                   R\        VP                  4      P
                   R2	4      h	  \        P                  ! S\        P                  ! 4       4      pV Uu/ uF  q"P                  VbK  	  pp\        P                  P                  WV4      p\        V RV4       V # u upi )	z8value sets can only be defined from enum.Enum subclasseszvalue set 'z' must have at least one memberzmember 'z' of value set 'z' must have a value of type 'z	', got: 'rP   r[   )
issubclassenumEnumr,   rd   r   r)   r   namer/   r   ro   rV   rk   rn   r   )r   membersmemberinner	value_mapr   r   r   s   &     r   	decoratorvalue_set.<locals>.decorator  s1   #tyy))J  s)cll^+JK  FfllJ77v{{m+;CLL> J"++, -V\\*334A7   !..'224

 9@@f\\6)	@$$--c)D_d+
	 As   ?E)r   rz   )r   r   r   s   f @r   	value_setr     s'     !88DI : r   c                  "    ] tR tRt$ R]R&   RtR# )rS   i  r   r   r   N)r   r   r   r   r   r   r   r   r   rS   rS     s    Hr   rS   )r<      r   )9
__future__r   rc   r   r   rE   r4   r5   rF   typing_extensionsLiteralString"cryptography.hazmat.bindings._rustr   r   	rust_x509r/   rr   TypeVarr   r   r	   r   Genericr   
decode_der
encode_derCertificateCertificateSigningRequestCertificateRevocationListr(   r-   r9   r?   rX   rs   rv   r   r   r   dataclass_transformr   r   r   rS   re   rT   Explicitr+   rU   ri   rh   UTCTimeGeneralizedTimerg   Tlvrj   Nullr   r   r   <module>r      s  
 #    
  g%33M((M ? @gDzH~~H
NN3$'
NN3nnU-0 d#fnnQV$  $, ((
((
 ''''	
	8!8H FXGz(
V
(( g**4@ A, **4@ A0 5
 6
 5
 6
)Z d#fnnQ  $ 	$$--$$--"22&&	

"
""22&&	r   