All Downloads are FREE. Search and download functionalities are using the official Maven repository.

META-INF.modules.java.base.classes.java.security.cert.X509CertSelector.class Maven / Gradle / Ivy

There is a newer version: 2024-05-10
Show newest version
????:U
java/lang/Object()V		
#java/security/cert/X509CertSelectorbasicConstraintsI	matchAllSubjectAltNamesZ	x509Cert$Ljava/security/cert/X509Certificate;	serialNumberLjava/math/BigInteger;	issuer(Ljavax/security/auth/x500/X500Principal;sun/security/x509/X500Name
 !(Ljava/lang/String;)V
#$%asX500Principal*()Ljavax/security/auth/x500/X500Principal;'&javax/security/auth/x500/X500Principal
&)*([B)V,"java/lang/IllegalArgumentException.java/io/IOException0Invalid name
-23*(Ljava/lang/String;Ljava/lang/Throwable;)V	56subject	89:subjectKeyID[B
<=:>?clone()Ljava/lang/Object;	AB:authorityKeyID
<=	EFGcertificateValidLjava/util/Date;
I=Jjava/util/Date	LMGprivateKeyValid	OPQsubjectPublicKeyAlgID$Lsun/security/util/ObjectIdentifier;S"sun/security/util/ObjectIdentifier
R 	VWXsubjectPublicKeyLjava/security/PublicKey;	Z[:subjectPublicKeyBytes]^_`ajava/security/PublicKey
getEncoded()[B
<=dsun/security/util/DerValue
c)
ghijksun/security/x509/X509Keyparse7(Lsun/security/util/DerValue;)Ljava/security/PublicKey;	mnokeyUsage[Z
q=ostuvw
java/util/SetisEmpty()Z	yz{
keyPurposeSetLjava/util/Set;	}~{keyPurposeOIDSet?java/util/HashSet
??(Ljava/util/Collection;)V
?????java/util/CollectionsunmodifiableSet (Ljava/util/Set;)Ljava/util/Set;
s???iterator()Ljava/util/Iterator;????wjava/util/IteratorhasNext????next?java/lang/Strings???add(Ljava/lang/Object;)Z	??{subjectAlternativeNames	??{subjectAlternativeGeneralNames?t?java/util/Collection
???cloneAndCheckNames'(Ljava/util/Collection;)Ljava/util/Set;
???
parseNames
???!addSubjectAlternativeNameInternal(ILjava/lang/Object;)V
<=
???makeGeneralNameInterface=(ILjava/lang/Object;)Lsun/security/x509/GeneralNameInterface;?java/util/ArrayList
???(I)V
?????java/lang/IntegervalueOf(I)Ljava/lang/Integer;???java/util/List??????size()I?name list size not 2
- ????get(I)Ljava/lang/Object;?expected an Integer
????intValue????equals	???debugLsun/security/util/Debug;?java/lang/StringBuilder
??*X509CertSelector.makeGeneralNameInterface(
????append-(Ljava/lang/String;)Ljava/lang/StringBuilder;
????(I)Ljava/lang/StringBuilder;?)...
????toString()Ljava/lang/String;
????!sun/security/util/Debugprintln??policy(Lsun/security/x509/CertificatePolicySet;Ajava/util/Vector
@Dnon String in certPolicySetF%sun/security/x509/CertificatePolicyId
EHI'(Lsun/security/util/ObjectIdentifier;)V
@?L&sun/security/x509/CertificatePolicySet
KNO(Ljava/util/Vector;)V	QR{pathToNames	TU{pathToGeneralNames
?WXYemptySet()Ljava/util/Set;
[\?addPathToNameInternal
<=
&_`?getName
&^
<=
<=
R?
q=
gh?
cloneNamesjjava/lang/RuntimeExceptionl$cloneNames encountered IOException: 
-no?
getMessage
i 
??sname type not 0-8u9X509CertSelector.cloneAndCheckNames() name not byte arraywname not byte array or String
<=?z{|set'(ILjava/lang/Object;)Ljava/lang/Object;
<=X509CertSelector: [
?  Certificate: 
???"java/security/cert/X509Certificate?
?  Serial Number: 
???java/math/BigInteger?
  Issuer: 
???getIssuerAsString?  Subject: 
???getSubjectAsString?   matchAllSubjectAltNames flag: 
????(Z)Ljava/lang/String;?  SubjectAlternativeNames:
?	    type ?, name ? sun/security/util/HexDumpEncoder
??  Subject Key Identifier: 
????encodeBuffer([B)Ljava/lang/String;?  Authority Key Identifier: ?  Certificate Valid: 
I??  Private Key Valid: ?  Subject Public Key AlgID: ?  Subject Public Key: ?
  Key Usage: 
???keyUsageToString([Z)Ljava/lang/String;?  Extended Key Usage: ?
  Policy: 
K??  Path to names:
?    ?]?KeyUsage [
?  DigitalSignature
?  Non_repudiation
?  Key_Encipherment
?  Data_Encipherment
?  Key_Agreement
?  Key_CertSign
?  Crl_Sign
?  Encipher_Only
?  Decipher_Only
?(java/lang/ArrayIndexOutOfBoundsException?]
?sun/security/x509/X509CertImpl
????getPrivateKeyUsageExtension.()Lsun/security/x509/PrivateKeyUsageExtension;
????"getSubjectAlternativeNameExtension5()Lsun/security/x509/SubjectAlternativeNameExtension;
????getNameConstraintsExtension.()Lsun/security/x509/NameConstraintsExtension;
????getCertificatePoliciesExtension2()Lsun/security/x509/CertificatePoliciesExtension;
????getExtendedKeyUsageExtension/()Lsun/security/x509/ExtendedKeyUsageExtension;	???EXTENSION_OIDS[Ljava/lang/String;
????getExtensionValue(Ljava/lang/String;)[B? sun/security/util/DerInputStream
?)
?agetOctetString*sun/security/x509/PrivateKeyUsageExtension
4'java/security/cert/CertificateException
n	1sun/security/x509/SubjectAlternativeNameExtension
4.sun/security/x509/CertificatePoliciesExtension
4+sun/security/x509/ExtendedKeyUsageExtension
4X509CertSelector.match(SN: 
?getSerialNumber()Ljava/math/BigInteger;
??(I)Ljava/lang/String;
  Issuer: 
?getIssuerDN()Ljava/security/Principal;!
  Subject: 
?#$getSubjectDN&)
??))X509CertSelector.match: certs don't match
??,2X509CertSelector.match: serial numbers don't match
?./%getIssuerX500Principal
&?2.X509CertSelector.match: issuer DNs don't match
?45%getSubjectX500Principal7/X509CertSelector.match: subject DNs don't match
?9:;
checkValidity(Ljava/util/Date;)V=>X509CertSelector.match: certificate not within validity period
??@AgetPublicKey()Ljava/security/PublicKey;
CDE?Fjava/util/Arrays([B[B)ZH7X509CertSelector.match: subject public keys don't match
JKLmatchBasicConstraints'(Ljava/security/cert/X509Certificate;)Z
NOL
matchKeyUsage
QRLmatchExtendedKeyUsage
TULmatchSubjectKeyID
WXLmatchAuthorityKeyID
Z[LmatchPrivateKeyValid
]^LmatchSubjectPublicKeyAlgID
`aLmatchPolicy
cdLmatchSubjectAlternativeNames
fgLmatchPathToNames
ijLmatchNameConstraintsl&X509CertSelector.match returning: truen	2.5.29.14p3X509CertSelector.match: no subject key ID extensionrZX509CertSelector.match: subject key IDs don't match
X509CertSelector.match: subjectKeyID: 
Ct??v+
X509CertSelector.match: certSubjectKeyID: x9X509CertSelector.match: exception in subject key ID checkz	2.5.29.35|5X509CertSelector.match: no authority key ID extension~5X509CertSelector.match: authority key IDs don't match?;X509CertSelector.match: exception in authority key ID check
???getExtensionObjectE(Ljava/security/cert/X509Certificate;I)Ljava/security/cert/Extension;
??;valid?.java/security/cert/CertificateExpiredException?n/a?	not_after
???$(Ljava/lang/String;)Ljava/util/Date;?SX509CertSelector.match: private key usage not within validity date; ext.NOT_After: ?; X509CertSelector: 
?
???printStackTrace?2java/security/cert/CertificateNotYetValidException?
not_before?TX509CertSelector.match: private key usage not within validity date; ext.NOT_BEFORE: 
???RX509CertSelector.match: IOException in private key usage check; X509CertSelector: 
-?	c???tagB?invalid key format	c???data"Lsun/security/util/DerInputStream;
????getDerValue()Lsun/security/util/DerValue;
???j?sun/security/x509/AlgorithmId=(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;?0X509CertSelector.match: subjectPublicKeyAlgID = ? , xcert subjectPublicKeyAlgID = 
????getOID&()Lsun/security/util/ObjectIdentifier;
R??>X509CertSelector.match: subject public key alg IDs don't match?MX509CertSelector.match: IOException in subject public key algorithm OID check
????getKeyUsage()[Z?2X509CertSelector.match: key usage bits don't match?usages
???&(Ljava/lang/String;)Ljava/util/Vector;	??QANY_EXTENDED_KEY_USAGE
@???contains
@???containsAll(Ljava/util/Collection;)Z?>X509CertSelector.match: cert failed extendedKeyUsage criterion??X509CertSelector.match: IOException in extended key usage check?=X509CertSelector.match: no subject alternative name extension?subject_name
???4(Ljava/lang/String;)Lsun/security/x509/GeneralNames;?&sun/security/x509/GeneralNameInterface
???sun/security/x509/GeneralNames?sun/security/x509/GeneralName
??`?*()Lsun/security/x509/GeneralNameInterface;
??1X509CertSelector.match: subject alternative name ?
 not found?EX509CertSelector.match: IOException in subject alternative name check
-??Lverify?6X509CertSelector.match: name constraints not satisfied?=X509CertSelector.match: IOException in name constraints check?7X509CertSelector.match: no certificate policy extension?policies
?$(Ljava/lang/String;)Ljava/util/List;??#sun/security/x509/PolicyInformation
getPolicyIdentifier)()Lsun/security/x509/CertificatePolicyId;
K
getCertPolicyIds()Ljava/util/List;?t7X509CertSelector.match: cert failed policyAny criterion??BX509CertSelector.match: IOException in certificate policy ID checkcertpath
?isOn(Ljava/lang/String;)Z$X509CertSelector.match pathToNames:
permitted_subtrees
-?7(Ljava/lang/String;)Lsun/security/x509/GeneralSubtrees;!excluded_subtrees
#$%
matchExcluded&(Lsun/security/x509/GeneralSubtrees;)Z
'(%matchPermitted
*?+!sun/security/x509/GeneralSubtrees- sun/security/x509/GeneralSubtree
,/`0!()Lsun/security/x509/GeneralName;?23?getType?567
constrains+(Lsun/security/x509/GeneralNameInterface;)I9GX509CertSelector.match: name constraints inhibit path to specified name;'X509CertSelector.match: excluded name: =?  AaX509CertSelector.match: name constraints inhibit path to specified name; permitted names of type C: 
?EF?getBasicConstraintsH&X509CertSelector.match: not an EE certJdX509CertSelector.match: cert's maxPathLen is less than the min maxPathLen set by basicConstraints. (L < 
=
=
PQ?cloneSetS$java/lang/CloneNotSupportedExceptionUjava/lang/InternalError
R?
T2
?YZ[getInstance-(Ljava/lang/String;)Lsun/security/util/Debug;
R]^_newInternal(([I)Lsun/security/util/ObjectIdentifier;
abcd%java/security/cert/CertPathHelperImpl
initialize	f0gjava/lang/Booleani	2.5.29.16k	2.5.29.17m	2.5.29.30o	2.5.29.32q	2.5.29.37sjava/security/cert/CertSelector	Signature#Ljava/util/Set;5Ljava/util/Set;$Ljava/util/Set;>;9Ljava/util/Set;PRIVATE_KEY_USAGE_ID
ConstantValueSUBJECT_ALT_NAME_IDNAME_CONSTRAINTS_IDCERT_POLICIES_IDEXTENDED_KEY_USAGE_IDNUM_OF_EXTENSIONSNAME_ANYNAME_RFC822NAME_DNS	NAME_X400NAME_DIRECTORYNAME_EDINAME_URINAME_IPNAME_OIDCodeLineNumberTableLocalVariableTablethis%Ljava/security/cert/X509CertSelector;setCertificate'(Ljava/security/cert/X509Certificate;)VcertsetSerialNumber(Ljava/math/BigInteger;)Vserial	setIssuer+(Ljavax/security/auth/x500/X500Principal;)VissuerDNLjava/lang/String;
StackMapTable
Exceptionse$Ljava/lang/IllegalArgumentException;
setSubject	subjectDNsetSubjectKeyIdentifiersetAuthorityKeyIdentifiersetCertificateValid	certValidsetPrivateKeyValidsetSubjectPublicKeyAlgIDoidsetSubjectPublicKey(Ljava/security/PublicKey;)VkeysetKeyUsage([Z)VsetExtendedKeyUsage(Ljava/util/Set;)VsLocalVariableTypeTable&(Ljava/util/Set;)VsetMatchAllSubjectAltNames(Z)V
matchAllNamessetSubjectAlternativeNames	tempNamesnamesLjava/util/Collection;+Ljava/util/Collection;>;.(Ljava/util/Collection;>;)VaddSubjectAlternativeName(ILjava/lang/String;)Vtypename(I[B)VLjava/lang/Object;tempName(Lsun/security/x509/GeneralNameInterface;listLjava/util/List;$Ljava/util/List;onameTypenameListgenNamesLjava/util/List<*>;f(Ljava/util/Collection;>;)Ljava/util/Set;
equalNames/(Ljava/util/Collection;Ljava/util/Collection;)Zobject1object2Ljava/util/Collection<*>;5(Ljava/util/Collection<*>;Ljava/util/Collection<*>;)ZresultvalLsun/security/util/DerValue;setNameConstraintsbytessetBasicConstraints
minMaxPathLen	setPolicytempSetiLjava/util/Iterator;polIdVectorLjava/util/Vector;
certPolicySet(Ljava/util/Iterator;;Ljava/util/Vector;setPathToNamessetPathToNamesInternal<(Ljava/util/Set;)V
addPathToNamegetCertificate&()Ljava/security/cert/X509Certificate;	getIssuergetIssuerAsBytes
getSubjectgetSubjectAsBytesgetSubjectKeyIdentifiergetAuthorityKeyIdentifiergetCertificateValid()Ljava/util/Date;getPrivateKeyValidgetSubjectPublicKeyAlgIDgetSubjectPublicKeygetExtendedKeyUsage%()Ljava/util/Set;getMatchAllSubjectAltNamesgetSubjectAlternativeNames()Ljava/util/Collection;-()Ljava/util/Collection;>;Ljava/io/IOException;Q(Ljava/util/Collection;>;)Ljava/util/Set;>;
nameObject	namesCopygetNameConstraints	getPolicygetPathToNamesenc"Lsun/security/util/HexDumpEncoder;sbLjava/lang/StringBuilder;)Ljava/util/Iterator;>;>Ljava/util/Iterator;kimpl Lsun/security/x509/X509CertImpl;ex)Ljava/security/cert/CertificateException;extId	rawExtValinencodedmatch#(Ljava/security/cert/Certificate;)ZcertKey Ljava/security/cert/Certificate;xcertextValcertSubjectKeyID
certAuthKeyIDnotAftertimee10Ljava/security/cert/CertificateExpiredException;	notBeforee24Ljava/security/cert/CertificateNotYetValidException;e4ext,Lsun/security/x509/PrivateKeyUsageExtension;
encodedKeyalgIDLsun/security/x509/AlgorithmId;e5keyBitcertKeyUsagecertKeyPurposeVector-Lsun/security/x509/ExtendedKeyUsageExtension;8Ljava/util/Vector;certNamet	matchNamefoundsanExt3Lsun/security/x509/SubjectAlternativeNameExtension;	certNames Lsun/security/x509/GeneralNames;5Ljava/util/Iterator;info%Lsun/security/x509/PolicyInformation;id'Lsun/security/x509/CertificatePolicyId;foundOne0Lsun/security/x509/CertificatePoliciesExtension;	policyIDs7Ljava/util/List;9Ljava/util/List;	permitted#Lsun/security/x509/GeneralSubtrees;excluded
pathToNametree"Lsun/security/x509/GeneralSubtree;excludedName8Ljava/util/Iterator;
permittedNamepermittedNameFound
nameTypeFound
maxPathLenLjava/util/Set;@(Ljava/util/Set;)Ljava/util/Set;copy&Ljava/lang/CloneNotSupportedException;
SourceFileX509CertSelector.java!r+???Q69:B:FGMGPQWX[:noz{tu~{tv?{tw?{tx>?;{tuR{twU{tx*+':12yz{|z}~z?z??z??z????z{?z}?z?z??z??z??z??z??z?N?E*?*?*?
???v	x???????>*+???
?????????>*+???
?????????>*+???
??????!?f+?*??*?Y+??"??????????????-?*??$*+???&Y+?(??M?-Y/,?1??+?#? ??$??$?:?I?<&E+?-???>*+?4??
'(???6?!?f+?*?4?*?Y+??"?4??>?AC???????-?*??$*+???&Y+?(?4?M?-Y/,?1??+?VYWX#Z? ??$??$?:?I?<&E+?-?*?b+?*?7?*+?;?*?
??
??????????8+?*??*???)+???*??*???+??M*,????*,????.??	????$?%?*?2?7?? *
?{8??8???*
?w8????-t????I*,????
??? ??????-???L
*,??????
 	!? 
??
?
?:?-????a,??N*???*?Y????*???*?Y??????Y??:????W,??W*????W*??-??W??.01
245*748@9I:U;`<?4a??a?a??[??4-???4-???	???-
???;w?Y??L*??M,???`,????N-???
?-Yɷ˿-??:???
?-Yз˿????6-??:+????W???+??2PQ"R,S6U?VGWQY[Zd[r\u^?4?3??[?"P??w??o?{? "P??w??o?x??s??&???#?-t?????*?+?*+???*+????lmo???????????@t????M2???!?ػ?Y??߶???????+???????ػ?Y????+???????-<?K?Zix??Y+????M?j??Y+????M?[?Y+???M?L??Y+???M?=?Y+???M?.?Y+???M??-Y??Y???????˿?????ػ?Y??	??,?????+?QFRQTjVmXrY[?>>,??b?{$[??-R???????{?*b?u$[??-R????u??s?@?#???-t?????-+?+???*?P*?S?+??M*,???S*,?P???
????'?,?? 
?{-??-???
?w-???
?-t????[
*?V?P*+?S??????
??
?{?
?xt????I*,?Z??
??? ??????-???L
*,?]?Z??
?	?? 
??
?
?:?-\???Z,??N*?S?*?Y???P*?Y???S??Y??:????W,??W*?P??W*?S-??W??*
??
??#?-?9?B?N?Y??4Z??Z?Z??T??--???--????#??-???/*???
????/*???????%?/*???&??????J*???
*??^??<????F??a?J*???
*??a??S????F<?-?%?/*?4??a??????J*?4??
*?4?^??w????F??a?J*?4??
*?4?a???????F<?-?a?O*?7??*?7?b???>ABC-B1E8FJGYF]IdJ?L?M?N?M?P?Q?S?T?U?VW*Z2[?H5???K??R&?&?0??7??/	? 5???K?
?0??&?<?+((?=??J44+++++++???/
?????L*3???Y??+??ȶ??L*3???Y??+??ʶ??L*3???Y??+??̶??L*3???Y??+??ζ??L*3???Y??+??ж??L*3???Y??+??Ҷ??L*3???Y??+??Զ??L*3???Y??+??ֶ??L*3???Y??+??ض??L?M??Y??+??ܶ??L+?????Zdf
gi%j:l@mUo[pprvs?u?v?x?y?{?|?~???????o?????B?
?????*?ޙG*??M?<#(-27,??,??,??,??,???*??2??M,????Y,??N-??:?q!=JWd?Y?/??:?-Y??˿?Y?/?
??-Y?/?3??Y?/?
??Y?/???????^???0?5?:???D?I?K?U?Y?[?d?j??????????????????H?
?
???U?:dz?jt:?(?0????\N*?Y-?B??????G???*,?I?W*,?M?O*,?P?G*,?S??*,?V?7*,?Y?/*,?\?'*,?_?*,?b?*,?e?*,?h??>??????k????????7??	???%?7?S?V?]?h?n?w?y???????????????????????????	????

 +1:<!F"N#V$^%f&n'v(~)?*?+?-?.?0?>?? :?????????0	?L? ###Q???*k:/M?5G:???????$		?<??<3?B-?-?XL?Pn*?@??+y??M,??????{?????Y,??N-??:?*?@?B??????}????M?????????	%Z-&VZ-?RZ[	^_`a$d&f/g5h@iFjLkUnWvZp[qarjulw?>F:/(?5":[?n??n?$		?<??<?B-?-?[L???*?K??M+???M,?,*?K????N???I?:,???:??:?:?ػ?Y??????????*??????-???N???I?:,???:??:?:?ػ?Y??????????*??????-???N???$?ػ?Y?????*??????-???? #?/?B r?~?? ?-??(|}	?
??? ?#?$?*?/?8???B?D?`?i?l?p?r?s?y?~??????????????????????????????????f
8G/A?$N ?!G~A?sN"#?)$??????%&?v
	?B??????+????????+??-?'-?^L???*?N??+?>?\M?cY,?eN-??0??-Y??˿-??????:???.?ػ?Y?????*?N????????????*?N???????????????M??????????	??-?V??	???%?0?<?B?a?j?m?|??????????????????>z':q??<Q()?*??????#	?&<c?<??B-?-?OL??K*?l??+??M,?:>*?l??/*?l3? ,??	,3??????Ƕ????????.??	????2?8?A?C?I??*5+K??K=,o?	?
q?RL?:g*?x?*?x?r??+???M,?1,ɶ?N-?ζњ-*?|?Ԛ?????ض???M?????ڶ???OS-?J?????"?&?*?9???E?N?P	S?T	Z	c	e	?4*&-?2%.T?g??g?*&-/??8@?B-?-?dL?l	?*???*???r??+???M,??????ܶ??,޶?N*????:????????:6-??:???#??????:??6????=*?
?
???,???$?ػ?Y????????????
*?
????i?M?????????2?-3??-???-??!					"	(	1	3	7	;	?	F	P	\	_	 e	!t	"?	#?	$?	%?	&?	'?	*?	+?	,?	.?	4?	/?	0?	1?	3?	5?f
?	0?e*1?\?2?_~3?45;?67F??????????e*18F???7????????)&??B-?-?jL??<*?(??*?(+?????????????M??????????	$(-?2	:	;		>	?	@#	C%	K(	E)	F/	G8	J:	L? )??<??<?	B-?-?aL??*?	d\	ei	fl	gs	hv	n?	o?	p?	q?	t?	w?	x?	y?	z?	|?	}?	~?	?	??	??	??	??	?	?	??\	\
9:?;<vy=?%>/???>????????/??@>??A?C	??????%?1?
?'???B-?-?gL???*?S??+???-M,?????P??G????*?S??N-???+?ػ?Y??¶?-???????????,?N, ?:?*?"??-?
*-?&???M??????????	?-??-???-?r	?	?		?	?	?	?	?'	?0	?4	?:	?C	?k	?o	?s	?w	?|	??	??	??	??	??	??	??	??	??	??	??	??H:1???%+s'BC|DC???????:1??+		?-?!??0? **?
B-?-?$%???+?)M,????,???,N-?.??:*?S??:???t????:?1?1?T?4?H???'??8??ػ?Y??:?????????????^??>	?	?	?!	?,	?6	?B	?S	?x	?~	??	??	??	??	??	??HBbE??FG!?H?,{???1?????DC?,{??1I?$???&,???K?)???(%?6
?*?S??M,????,????N+?):66<:???x?s???,:?.??:		?1-?1?J6??Y????>??	????:-	?4? 6?????:?5???-?ػ?Y??@??-?1??B?????????!??f	?
	?	?	?#	?&	?)	?.	?=	?I	?S	?c	?f	??	??	??	??	??	??	??	??	??	??	??
?
?f
IaFGSWJ?	?E?#?1?&?K)?L.???????BC
????#?1I
???B?
??#*?????u,??9?*?KL??m*???+?D=*????Q?????G???*??8???0?ػ?Y??I????K??*???%???????6




	



#

,
.
6
<
i
k
? m??m^M?

?!:
Q??x*??*??ML+?s??Y*????
!
"
#
%?>?{{?{N?tO>???R*?N?L*???+*???O??+*???O??*?S?+*?P?O?P+*?S?O?S+?L?TY+?V+?W?CDR?2
0
2
3
4
5
6%
8,
97
:B
<D
=E
?? <P?E
?QR????%?RR??a?X???
YOYOYOY%OYO?\?θ`?e?/??????hS??jS??lS??nS??pS??2X	Z"[(^+z1?8?@?H?P?X?`?ST




© 2015 - 2025 Weber Informatics LLC | Privacy Policy