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

com.huawei.opengauss.jdbc.Driver.class Maven / Gradle / Ivy

The newest version!
????4? com/huawei/opengauss/jdbc/Driverjava/lang/Objectjava/sql/DriverDriver.java.com/huawei/opengauss/jdbc/Driver$ConnectThread
ConnectThread"com/huawei/opengauss/jdbc/Driver$2"com/huawei/opengauss/jdbc/Driver$1
java/util/Map$Entry
java/util/MapEntry)java/lang/Thread$UncaughtExceptionHandlerjava/lang/ThreadUncaughtExceptionHandlerregisteredDriver"Lcom/huawei/opengauss/jdbc/Driver;
PARENT_LOGGERLjava/util/logging/Logger;LOGGER#Lcom/huawei/opengauss/jdbc/log/Log;sharedTimer,Lcom/huawei/opengauss/jdbc/util/SharedTimer;DEFAULT_PORTLjava/lang/String;5431#	gsVersion-compiled at 2023-09-05-19:22:45 build b0ddccd&isLogFileCreated+Ljava/util/concurrent/atomic/AtomicBoolean;SENSITIVE_CHARACTERS[Ljava/lang/String;tracer&Lcom/huawei/opengauss/jdbc/log/Tracer;tracerInitializeddefaultPropertiesLjava/util/Properties;loggerHandlerFile()V23
4this	getTracer()Ljava/lang/String;,-	9$com/huawei/opengauss/jdbc/log/Tracer;
getTraceId=8<>java/lang/String@length()IBC
AD	substring(II)Ljava/lang/String;FG
AH	Jjava/lang/StringBuilderL
M4fWhen used link trace, the length of trace id should be less or equals than 32, currently truncated to Oappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;QR
MS.UtoStringW8
MX!com/huawei/opengauss/jdbc/log/LogZwarn(Ljava/lang/Object;)V\][^FWhen used link trace, the length of trace id should be greater than 0.`traceIdgetDefaultProperties()Ljava/util/Properties;java/io/IOExceptione'java/security/PrivilegedActionExceptiong/0	i%(Lcom/huawei/opengauss/jdbc/Driver;)V2k
ljava/security/AccessControllerndoPrivileged=(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;pq
orjava/util/PropertiestgetException()Ljava/lang/Exception;vw
hxe)Ljava/security/PrivilegedActionException;loadDefaultPropertiesjava/lang/SecurityException}
u4$com/huawei/opengauss/jdbc/PGProperty?USER&Lcom/huawei/opengauss/jdbc/PGProperty;??	??	user.name?java/lang/System?getProperty&(Ljava/lang/String;)Ljava/lang/String;??
??set+(Ljava/util/Properties;Ljava/lang/String;)V??
??getClass()Ljava/lang/Class;??
?java/lang/Class?getClassLoader()Ljava/lang/ClassLoader;??
??QCan't find our classloader for the Driver; attempt to use the system class loader?debug?][?java/lang/ClassLoader?getSystemClassLoader??
??uCan't find a classloader for the Driver; not loading driver configuration from org/postgresql/driverconfig.properties?-Loading driver configuration via classloader ?-(Ljava/lang/Object;)Ljava/lang/StringBuilder;Q?
M?java/util/ArrayList?
?4&org/postgresql/driverconfig.properties?getResources+(Ljava/lang/String;)Ljava/util/Enumeration;??
??java/util/Enumeration?hasMoreElements()Z????nextElement()Ljava/lang/Object;????add(Ljava/lang/Object;)Z??
??size?C
??get(I)Ljava/lang/Object;??
??java/net/URL?#Loading driver configuration from: ?
openStream()Ljava/io/InputStream;??
??load(Ljava/io/InputStream;)V??
u?java/io/InputStream?close?3
??urlLjava/net/URL;isLjava/io/InputStream;iImergedclLjava/lang/ClassLoader;urls%Ljava/util/ArrayList;Ljava/util/ArrayList;urlEnum'Ljava/util/Enumeration;Ljava/util/Enumeration;GetPropsD(Ljava/util/Properties;Ljava/util/Properties;)Ljava/util/Properties;,com/huawei/opengauss/jdbc/util/PSQLException?(Ljava/util/Properties;)V2?
u?stringPropertyNames()Ljava/util/Set;??
u?
java/util/Set?iterator()Ljava/util/Iterator;????java/util/Iterator?hasNext????next??
u?BProperties for the driver contains a non-string value for the key !com/huawei/opengauss/jdbc/util/GTtr9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;	

(com/huawei/opengauss/jdbc/util/PSQLState
UNEXPECTED_ERROR*Lcom/huawei/opengauss/jdbc/util/PSQLState;	?(Ljava/lang/String;Lcom/huawei/opengauss/jdbc/util/PSQLState;)V2
?setProperty8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
u	propValuepropName#Ljava/util/Set;Ljava/util/Set;defaultsinfonewPropsconnect?(Ljava/lang/String;Ljava/util/Properties;)Ljava/sql/Connection;java/sql/SQLException#$java/security/AccessControlException%java/lang/Exception'jdbc:opengauss:)
jdbc:dws:iam:++
startsWith(Ljava/lang/String;)Z./
A0cd
2;Error loading default settings from driverconfig.properties4T(Ljava/lang/String;Lcom/huawei/opengauss/jdbc/util/PSQLState;Ljava/lang/Throwable;)V26
?7??
9parseURL@(Ljava/lang/String;Ljava/util/Properties;)Ljava/util/Properties;;<
=parseConnectionProperties+(Ljava/util/Properties;)Ljava/lang/Boolean;?@
Ajava/lang/BooleanCbooleanValueE?
DFconnectToGns+(Ljava/lang/String;Ljava/util/Properties;)VHI
Jtimeout(Ljava/util/Properties;)JLM
NmakeConnectionP"
Q2I
	S(PostgreSQL JDBC driver connection threadU)(Ljava/lang/Runnable;Ljava/lang/String;)V2W
X	setDaemon(Z)VZ[
\start^3
_	getResult(J)Ljava/sql/Connection;ab
	cConnection error: e*(Ljava/lang/Object;Ljava/lang/Throwable;)V?g[h?Your security policy has prevented the connection from being attempted.  You probably need to grant the connect java.net.SocketPermission to the database server host and port that you wish to connect to.jUnexpected connection error: lXSomething unusual has occured to cause the driver to fail. Please report this exception.nurlTagioeLjava/io/IOException;conLjava/sql/Connection;Jct0Lcom/huawei/opengauss/jdbc/Driver$ConnectThread;threadLjava/lang/Thread;ex1.Lcom/huawei/opengauss/jdbc/util/PSQLException;ace&Ljava/security/AccessControlException;ex2Ljava/lang/Exception;propslegalUrlTags
isUrlLegalZConnecting with URL: ?filterAuthenticationCredentials??
?makeGnsConnectionZ(Ljava/util/Properties;)Lcom/huawei/opengauss/jdbc/jdbc/ac/connection/GnsConnectionResult;??
?@com/huawei/opengauss/jdbc/jdbc/ac/connection/GnsConnectionResult?isConnectSuccess??
??ALT_CLUSTER_ID??	??getAltClusterId?8
??gnsConnectionResultBLcom/huawei/opengauss/jdbc/jdbc/ac/connection/GnsConnectionResult;java/lang/ClassCastException? java/lang/ClassNotFoundException? java/lang/InstantiationException? java/lang/IllegalAccessException?logger?$com/huawei/opengauss/jdbc/log/Logger?
setLoggerName(Ljava/lang/String;)V??
??isUsingJDKLogger??
??setupLoggerFromProperties??
? com.huawei.opengauss.jdbc.Driver?	getLogger7(Ljava/lang/String;)Lcom/huawei/opengauss/jdbc/log/Log;??
??TRACE_INTERFACE_CLASS??	??*(Ljava/util/Properties;)Ljava/lang/String;??
??.)	?)java/util/concurrent/atomic/AtomicBoolean?
compareAndSet(ZZ)Z??
??forName%(Ljava/lang/String;)Ljava/lang/Class;??
??
asSubclass$(Ljava/lang/Class;)Ljava/lang/Class;??
??newInstance??
???[
??The currently specified class ?, not implement Tracer class.?&java/lang/ReflectiveOperationException?3Failed to load tracer implementation class, error: ?\g[?valueOf(Z)Ljava/lang/Boolean;??
D?PRIORITY_SERVERS??	??Ccom/huawei/opengauss/jdbc/clusterchooser/GlobalClusterStatusTracker?isVaildPriorityServers(Ljava/util/Properties;)Z??
??refreshProperties??
??6com/huawei/opengauss/jdbc/hostchooser/MultiHostChooser?isUsingAutoLoadBalance??
??isVaildPriorityLoadBalance??
??*com/huawei/opengauss/jdbc/QueryCNListUtils?
??ce1Ljava/lang/ClassCastException;ce2(Ljava/lang/ReflectiveOperationException;
traceClassparseStatusLjava/lang/Boolean;initLoggerProperties'(Ljava/lang/String;)Ljava/lang/Boolean;OFF?equalsIgnoreCase/
A()		java/util/logging/LevelLjava/util/logging/Level;?
		java/util/logging/Logger
setLevel(Ljava/util/logging/Level;)V
DEBUGFINE
		TRACEFINEST
		INFO
		driverLogLevelLOGGER_LEVEL"?	?#??
%LOGGER_FILE'?	?(getDefaultValue*8
?+1"	-equals/?
A0getHandlers()[Ljava/util/logging/Handler;23
4[Ljava/util/logging/Handler;6java/util/logging/Handler8
9?
removeHandler(Ljava/util/logging/Handler;)V;<
=java/util/logging/FileHandler?2?
@AerrLjava/io/PrintStream;CD	?E6Cannot enable FileHandler, fallback to ConsoleHandler.Gjava/io/PrintStreamIprintlnK?
JL!java/util/logging/SimpleFormatterN
O4java/sql/DriverManagerQgetLogWriter()Ljava/io/PrintWriter;ST
RU,com/huawei/opengauss/jdbc/util/WriterHandlerW(Ljava/io/Writer;)V2Y
XZjava/util/logging/Formatter\getLogStream()Ljava/io/PrintStream;^_
R`java/util/logging/StreamHandlerb6(Ljava/io/OutputStream;Ljava/util/logging/Formatter;)V2d
cesetFormatter (Ljava/util/logging/Formatter;)Vgh
9igetLevel()Ljava/util/logging/Level;kl
m
9setUseParentHandlersp[
q
addHandlers<
thandlersLjava/util/logging/Handler;ex
driverLogFilehandler	formatterLjava/util/logging/Formatter;+com/huawei/opengauss/jdbc/jdbc/PgConnection}	hostSpecsB(Ljava/util/Properties;)[Lcom/huawei/opengauss/jdbc/util/HostSpec;?
?user??
?database??
?y([Lcom/huawei/opengauss/jdbc/util/HostSpec;Ljava/lang/String;Ljava/lang/String;Ljava/util/Properties;Ljava/lang/String;)V2?
~?getQueryExecutor0()Lcom/huawei/opengauss/jdbc/core/QueryExecutor;??
~?1com/huawei/opengauss/jdbc/GlobalConnectionTracker?possessConnectionReferenceG(Lcom/huawei/opengauss/jdbc/core/QueryExecutor;Ljava/util/Properties;)V??
??9com/huawei/opengauss/jdbc/jdbc/ac/fan/DBConnectionTracker?addConnectionItemF(Lcom/huawei/opengauss/jdbc/jdbc/PgConnection;Ljava/util/Properties;)Z??
??pgConnection-Lcom/huawei/opengauss/jdbc/jdbc/PgConnection;8com/huawei/opengauss/jdbc/jdbc/ac/exception/ALTException?
ENABLE_ALT??	??
getBoolean??
??2[
??getGnsHostSpecs??
?9enableALT is true, but gns is invalid or no available gns?*[Lcom/huawei/opengauss/jdbc/util/HostSpec;?java/util/Arrays?asList%([Ljava/lang/Object;)Ljava/util/List;??
??
4java/util/Collections?sort)(Ljava/util/List;Ljava/util/Comparator;)V??
??
Xshuffle(Ljava/util/List;)V??
??	isGnsInit?/
??0com/huawei/opengauss/jdbc/jdbc/ac/tac/TacTracker?isGnsClosedInTac?/
???(ZLjava/lang/String;Lcom/huawei/opengauss/jdbc/jdbc/ac/fan/GnsConnectThread;Lcom/huawei/opengauss/jdbc/jdbc/ac/connection/GnsConnection;)V2?
??java/util/List?6com/huawei/opengauss/jdbc/jdbc/ac/fan/GnsConnectThread?;(Ljava/util/Properties;Ljava/util/List;Ljava/lang/String;)V2?
??execute>()Lcom/huawei/opengauss/jdbc/jdbc/ac/connection/GnsConnection;??
??addGnsConnectThreadM(Lcom/huawei/opengauss/jdbc/jdbc/ac/fan/GnsConnectThread;Ljava/lang/String;)V??
??	enableTAC??
??activeTacCluster??
??:com/huawei/opengauss/jdbc/jdbc/ac/connection/GnsConnection?getFanTaskQueue,()Ljava/util/concurrent/LinkedBlockingQueue;??
??=com/huawei/opengauss/jdbc/jdbc/ac/fan/FanTaskProcessingThread?
FanTaskThread??(Ljava/lang/String;Ljava/util/concurrent/LinkedBlockingQueue;)V2?
??Gcom/huawei/opengauss/jdbc/jdbc/ac/exception/ALTUncaughtExceptionHandler?
?4setUncaughtExceptionHandler.(Ljava/lang/Thread$UncaughtExceptionHandler;)V??
??
?\
?_?(Lcom/huawei/opengauss/jdbc/jdbc/ac/fan/GnsConnectThread;Lcom/huawei/opengauss/jdbc/jdbc/ac/connection/GnsConnection;Ljava/lang/String;)V2?
??gcan't connect to gns, enableALT cannot take effect.This connection is converted to a normal connection.?getCause()Ljava/lang/Throwable;??
??errorg[java/lang/Throwablegns8Lcom/huawei/opengauss/jdbc/jdbc/ac/fan/GnsConnectThread;
gnsConnection;*Ljava/util/concurrent/LinkedBlockingQueue;wt?Lcom/huawei/opengauss/jdbc/jdbc/ac/fan/FanTaskProcessingThread;:Lcom/huawei/opengauss/jdbc/jdbc/ac/exception/ALTException;gnsHostSpecs;Ljava/util/List;Ljava/util/List;altClusterIdgnsNodes
acceptsURLgetPropertyInfoH(Ljava/lang/String;Ljava/util/Properties;)[Ljava/sql/DriverPropertyInfo;values)()[Lcom/huawei/opengauss/jdbc/PGProperty;
?java/sql/DriverPropertyInfo'[Lcom/huawei/opengauss/jdbc/PGProperty;[Ljava/sql/DriverPropertyInfo;toDriverPropertyInfo5(Ljava/util/Properties;)Ljava/sql/DriverPropertyInfo;!"
?#copyparseknownPropertiesgetMajorVersiongetMinorVersion
getVersionLjava/lang/Deprecated;KPostgreSQL JDBC Driver /*$mvn.project.property.parsedversion.osgiversion$*/,
jdbcCompliantparseIPValid0?^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$2java/util/regex/Pattern4compile-(Ljava/lang/String;)Ljava/util/regex/Pattern;67
58matcher3(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;:;
5<java/util/regex/Matcher>matches@?
?AJDBC URL invalid ip address: CaddressregexpatternLjava/util/regex/Pattern;java/lang/NumberFormatExceptionIindexOf(I)IKL
AM(I)Ljava/lang/String;FO
APjava/util/LocaleRUSLjava/util/Locale;TU	SVtoLowerCase&(Ljava/util/Locale;)Ljava/lang/String;XY
AZhis_kms_info\contains(Ljava/lang/CharSequence;)Z^_
A`lIt is not recommended to config HIS_KMS_INFO in JDBC URL, because the hisSecret information may be containedbpasswordd1It is not recommended to use password in JDBC URLfGJDBC URL must start with "jdbc:opengauss:" or "jdbc:dws:iam:" but was: h//j:JDBC URL must contain a / at the end of the host or port: lPGDBNAMEn'com/huawei/opengauss/jdbc/util/URLCoderpdecoder?
qs,usplit'(Ljava/lang/String;)[Ljava/lang/String;wx
AylastIndexOf{L
A|java/lang/Integer~parseInt(Ljava/lang/String;)I??
???JDBC URL port: ? not valid (1:65535) ?JDBC URL invalid port number: ?subSequence(II)Ljava/lang/CharSequence;??
A?/?
?(C)Ljava/lang/StringBuilder;Q?
M?
MD	setLength(I)V??
M?PGHOST?PGPORT?	PGHOSTURL?	PGPORTURL?containsKey??
u?	localhost?[^/\.:]+?@/
A?JDBC URL invalid db name: ?
praseParam-(Ljava/lang/String;)Ljava/util/LinkedHashMap;??
?putAll(Ljava/util/Map;)V??
u?parseGnsServer??
?portignore!Ljava/lang/NumberFormatException;portStrportIdxslash	addresseshostsLjava/lang/StringBuilder;portspgDbNameurlPropsl_urlServer	l_urlArgsl_qPosGNS??	??isEmpty??
A?	GNS_HOSTS??	??
parseGnsHosts'([Ljava/lang/String;)Ljava/lang/String;??
?	GNS_PORTS??	??parseGnsPort??
?
gnsServersjava/util/StringJoiner?(Ljava/lang/CharSequence;)V2?
??java/lang/CharSequence??X2(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;??
??
?XcharSequenceLjava/lang/CharSequence;gnsHostsLjava/util/StringJoiner;Gns URL port: ?Gns URL invalid port number: ?gnsPorts'com/huawei/opengauss/jdbc/util/HostSpec?((Ljava/lang/String;I)[Ljava/lang/String;w?
A?(Ljava/lang/String;I)V2?
????K?
A?
MAjava/util/LinkedHashMap?entrySet??
??*+	getKey?=getValue?	&endsWith
/
AsensitiveCharacter	isKeywordentry;Ljava/util/Map$Entry;Ljava/util/Map$Entry;	paramsMap?Ljava/util/LinkedHashMap;Ljava/util/LinkedHashMap;
stringBuildernotSensitiveUrlparamStartIndex
?4put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
?l_postokenurlArgsargsGetHostSpecsgetURLHostSpecsurlHostSpecs&?
'GetUserGetDatabase?8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;?,
u-
LOGIN_TIMEOUT/?	?0java/lang/Float2
parseFloat(Ljava/lang/String;)F45
36Dz#Couldn't parse loginTimeout value: 9getLoginTimeout;C
R<?notImplementedO(Ljava/lang/Class;Ljava/lang/String;)Ljava/sql/SQLFeatureNotSupportedException;(java/sql/SQLFeatureNotSupportedExceptionB"Method {0} is not yet implemented.DgetNameF8
?GNOT_IMPLEMENTEDI	JgetStateL8
M'(Ljava/lang/String;Ljava/lang/String;)V2O
CP	callClassLjava/lang/Class<*>;Ljava/lang/Class;functionNamegetParentLogger()Ljava/util/logging/Logger;getSharedTimer.()Lcom/huawei/opengauss/jdbc/util/SharedTimer; 	ZregisterisRegistered]?
^java/lang/IllegalStateException`=Driver is already registered. It can only be registered once.b
aA
4	fregisterDriver(Ljava/sql/Driver;)Vhi
Rj
??
deregisterWDriver is not registered (or it has not been registered using Driver.register() method)nderegisterDriverpi
RqgetGSVersion
access$000:(Lcom/huawei/opengauss/jdbc/Driver;)Ljava/util/Properties;|d
vx0
access$100x1com.huawei.opengauss.jdbc|.(Ljava/lang/String;)Ljava/util/logging/Logger;?~
*com/huawei/opengauss/jdbc/util/SharedTimer?
?4sslpassword?iamPassword?HIS_KMS_INFO?\3
?%java/lang/ExceptionInInitializerError?(Ljava/lang/Throwable;)V2?
??Ljava/sql/SQLException;
ConstantValueCodeLocalVariableTableLineNumberTable
StackMapTable
ExceptionsLocalVariableTypeTable
DeprecatedRuntimeVisibleAnnotations	SignatureS(Ljava/lang/String;)Ljava/util/LinkedHashMap;R(Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/sql/SQLFeatureNotSupportedException;
SourceFileInnerClasses!


 !"?$%"?'	()*+
,-
.)/0
1"-23?/*?5??6?Q	78??_?:???:??K*??*?E ?.* ?IK?K?MY?NP?T*?TV?T?Y?_?*?E?
?Ka?_*??Nb"?.z{}~? ?(?K?S?]???A3"cd??/*?j?*?j?*?Y*?m?s?u?j?L+?y?f?*?j?!h?"z{/6?"?????!?"?*??Th?f|d??ԻuY?L??+??????M*????M,??K?????M,??K??_+??K?MY?N??T,???Y????Y??N,???:???-????W???-??d6?B-????:?K?MY?NζT???Y????:+???ۄ????+?~?R?.??????D???6??0 ???eo??mg???eo??mg???b????? ?$?.?2?6?@?B?]?e?m?w??????????????????+?u~???*????C?f	???5r?uY*??M+?f+??N-??:??O??A:+?:?*??Y?MY?N???T?T?Y???,?W???,??>85"0="^zr0r0	i 0?^z?.?	?
??0?8?=?O?d?m?p??'?u???IAA?uuu??!"?<*?AY*SY,S:6:?66		?	2:
+
?1?6?	?????*?3N?:??Y5????8?-,?::+?>Y:??*?B?G??*+?K?O7	??+?R:		??	Y+?T:	?Y	V?Y:

?]
?`	?d?:?Kf?i?:??Yk????8?:?Km?i??Yo????8?HMPf???????????&???&??(??(??/p"
M0Rqr?st	??Lu?!vw	?xy
?z{?|}$~*6*?"*0i?0p??0?+????# !"/#8$;"A'F(H,M0P-R.i2p5|6~9?:?>?G?H?I?J?M?N?O?P?Q?R?S?V?W?X[\]???!
Au--?Gf?Auu-?Auuu-
??,Auuu-?Q&X(?$HI??7?K?MY?N??T+???T?Y??,??N-?????,-??????*767?"7?0$???cd$e+f6h??6??@???+???????*+???????K??+???r?:?l??+??M???Ù,??Z)?????9a?"?6??0?3???jp
qrt!w1x9zD{V?Y}Z~a?????????????????????????????
?4AB?l???D????+??ް+????Ú?ް+??????ް+??????8+??????"+???? ??????ް??6?!"?>??	??#?-?6?;?E?Q?[?g?q?}????		????$+??M*,?&?G???)?,N-?-?.?1????5:?66?!2:?:??>?.????:-??@Y-?B:-?.?:?FH?M?OY?P:?@?V??XY?V?[:?2?a??cY?a?f:??cY?F?f:?
?j??n?o??r??u?ftw(?RHvwy	x?6??0?!"?y"b?zw?d{|?z?????)?*?H?M?U?Y?_?b?f?p?t?w?y??????????????????????????<
?A?A?7?$?uAA9(
?"]
P"?p&?~Y+??+??+??+*??M,??+??,+??W,?? &?"&?0???VWX$Y?$	????
???*?????Y???*??L+???K??_??Y???YM?+??N-?Y????-??:-???Ù?Ț??Y??,ð??Y*-??:??:??*?ݙ????:??Y???:??Y?????????Y??,ð:?K??????Y??,ð:	,?	?Pl??o???6n?o?????????\	|V?O?5	?'
?|;?L?"??0????5	
;??zc
dghi(j1m6n;oFuLvPx`yo{||?}?~??????????????????????????J???=?A?&???;u??A??u?/?M+?>????6?"???@????G?uY,??N+-?>:?N?:??:6??2-?$S??????R(??G6G?"G0	>%07&0*'%"??*
?	?????%?0?>?D???uu? ???(C?-*??6??)C?,??6??	*8?-?????+.??,??6??	/????*1?*?*?3L+?9M,*?=?B??K?MY?ND?T*?T?Y??*?? ?E".F")GH???
???!?=??
?/A5	;<?
?uY+??M*N1:*??N6?*?IN*`?Q:?W?[]?a??Kc?_?W?[e?a??Kg?_6?AY*SY,S::?6	6

	?
2:-?1?6?
????$?K?MY?Ni?T*???T?Y???-*?E?QN-k?1??-?QN-/?N6?$?K?MY?Nm?T*???T?Y?_?,o-`?Q?t?W-?Iv?z:	?MY?N:
?MY?N:	:?6
6
??2::?}6??]?}??`?Q:??6???(?K?MY?N??T?T??T?Y?_??$:?K?MY?N??T?T?Y?_??TW
???A???TW?$?TW
???TW,??W
,??W???)??d??

??d??,?
?Y?W,??Y?W,?
?Y?W,??Y?W?|+?
+????
,?$?W+?
+????,???W+?
+o???=-?t:????"?K?MY?N??T?T?Y?_?,o?W,????,??,????J???p"?3??????z?"p???g?E"????;D?+	D;??
M2???4?"
?"
0	?0??"??"???k???}??+?.K?	?????&?0AL]h	k
}??
????????????	!,$;%D&M'g(p)?*?,?-?.?/?4?1?2?3?5?67
89;%<-'3>??KAXBeErFG?L?M?O?P?R?S?T?U?V?X?]^_???0AuuAA? AuuAA--?%?I??AuuAA--MM-?HAuuAA--MM-AA?$BJ ??AuuAA--MM?NAuuAA-
	

?/A?	??
????2??*??L+?(+?˚!+v?zM??*,?Ҷ???*,?ض??? ?+2?0*?"?cdef&g1i??1A?????^??Yv??L*M,?>6?C,2::?}6?(]?}???:+??????W????+???4D??(+??4E"^?+S???"lmn(o:pDqSmYt??-?-???????	???Yv??L*M,?>6??,2::?}6??]?}?u`?Q:??6???)?K?MY?N?T?T??T?Y?_?/?%:?K?MY?N??T?T?Y?_?
+??W???d+??E}?J?HL4??? ??Eg?"(????E"??+????Bxyz({:|E~LZ?}????????????y???<?-?-?F	-?-AA?%BJ!??
???&i??*??L??*??M+?˚
,?˙??+v?zN,v-???:-???:6??!??Y-22????S??????H@&??i?0a?"Y?"+>?+63?+=,??.????#?+?6?=?H?`?f??)?AA?uAA--??%
??? ?*L+???=??+`?Q??N?MY?MY?N+?I?T??T?Y??:-???:?????:6?:?6	6

	?(
2:??A?1?	6?	?
????9?MY?N??A?T?T?
?A?T?T?Y?TW??s?YL+???
+??++?Ed?IL+??R{"`t?]w?<????"?"
???]w??N??
???<?]?`?{??????????????????????G?GAA?M??%AA?M?-%??:??
???'n??Y?L*?zM,N-?66?O-2:?˙?8=?N6?+1?W?+?I`?Q?t?W????+??4:, ?&@!"n""f^#+?f?.???&?.?1?:?@?M?f?l??'?A?--?A?????	$??/*?????0??	%??/*?(???0??	)??/*?????0??	*??/*?????0??
&???L*??v?zL*??v+???M,???N6-??-??Y,2+2????S????-??4'#??L?0>?+.?+$(?????$?.?D?J???'u--??"
???L*??v?zL*??v+???M,???N6-??-??Y,2+2????S????-??4'#??L?0>?+.?+$(?????$?.?D?J??'u--??"
???5*+1?.???0?
???5*o1?.???0?
LM??i?J? z?<?04L"?3??uAJ	@A??5?CYE?Y?MY?N*?H?TV?T+?T?YS??K?N?Q??5RT5U"?5RS?-../4-??VW?G???????6?34
6?
	XY??[??;	\3?l3?_??aYc?d??Y?e?g?g?k?g?g??Y?l???GHKL!M'O2P??$	m3?M?_??aYo?d??g?r?g??[\_`a??$	]??/?g????g?
@	s8?'??ktu?/*?w??x?Q?fy"?:*+?R??x"z0?Q?${3??W}???????K??Y???[?AY?SY?SYeSY?S???Y?l?????
K??Y*????FIL$?M	z??*
T	VW_;bFjImLkMlVn?	?L$	??*	

		




© 2015 - 2024 Weber Informatics LLC | Privacy Policy