=!org/compiere/web/AdempiereMonitorjavax/servlet/http/HttpServletserialVersionUIDJ ConstantValueV rlogLorg/compiere/util/CLogger; m_serverMgr$Lorg/compiere/server/IServerManager; m_messageLorg/apache/ecs/xhtml/p;m_dirAccessListLjava/util/ArrayList; Signature%Ljava/util/ArrayList;serverMgrFuture&Ljava/util/concurrent/ScheduledFuture;)Ljava/util/concurrent/ScheduledFuture<*>;s_dirAccessFileNameLjava/lang/String; dirAccess.txt()VCode ! org/compiere/util/CLogger "# getCLogger.(Ljava/lang/Class;)Lorg/compiere/util/CLogger; % ' )  + LineNumberTableLocalVariableTable 0 . 2 this#Lorg/compiere/web/AdempiereMonitor;doGetR(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)V Exceptions9javax/servlet/ServletException;java/io/IOException=responseContentType ?A@%javax/servlet/http/HttpServletRequest BC getParameter&(Ljava/lang/String;)Ljava/lang/String;Exml GIHjava/lang/String JKequalsIgnoreCase(Ljava/lang/String;)Z M NOprocessLogParameterR(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;)Z Q R6createXMLSummaryPage T UOprocessTraceParameter W XOprocessEMailParameter Z [OprocessCacheParameter ] ^OprocessNodeInfoPage ` abprocessRunNowParameter*(Ljavax/servlet/http/HttpServletRequest;)Z d e6processActionParameter g hicreateSummaryPageS(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Z)Vrequest'Ljavax/servlet/http/HttpServletRequest;response(Ljavax/servlet/http/HttpServletResponse; xmlOutputZ responseType StackMapTabledoPost t 56vLog xzyorg/compiere/util/WebUtil B{M(Ljavax/servlet/http/HttpServletRequest;Ljava/lang/String;)Ljava/lang/String; G} ~length()I java/util/logging/Level INFOLjava/util/logging/Level;   isLoggable(Ljava/util/logging/Level;)Z CmakeConcatWithConstants  info(Ljava/lang/String;)V  getServerManager&()Lorg/compiere/server/IServerManager; "org/compiere/server/IServerManager getServerInstance8(Ljava/lang/String;)Lorg/compiere/server/ServerInstance;org/apache/ecs/xhtml/p 0org/apache/ecs/xhtml/strongServer not found: .  addElement2(Lorg/apache/ecs/Element;)Lorg/apache/ecs/xhtml/p; ,(Ljava/lang/String;)Lorg/apache/ecs/xhtml/p;iDempiere Server Monitor Log org/compiere/util/WebDoc create.(Ljava/lang/String;)Lorg/compiere/util/WebDoc; getBody()Lorg/apache/ecs/xhtml/body;org/apache/ecs/xhtml/aReturn .'(Ljava/lang/String;Ljava/lang/String;)V org/apache/ecs/xhtml/body 5(Lorg/apache/ecs/Element;)Lorg/apache/ecs/xhtml/body;org/apache/ecs/xhtml/h2 "org/compiere/server/ServerInstance getModel)()Lorg/compiere/model/AdempiereProcessor; %org/compiere/model/AdempiereProcessor getName()Ljava/lang/String; org/apache/ecs/xhtml/table 0  setBorder(I)Lorg/apache/ecs/xhtml/table; setCellSpacing setCellPaddingorg/apache/ecs/xhtml/tr 0org/apache/ecs/xhtml/th 0Created -(Ljava/lang/String;)Lorg/apache/ecs/xhtml/th; 3(Lorg/apache/ecs/Element;)Lorg/apache/ecs/xhtml/tr;Summary ReferenceTextMsg 6(Lorg/apache/ecs/Element;)Lorg/apache/ecs/xhtml/table; getLogs-()[Lorg/compiere/model/AdempiereProcessorLog;org/apache/ecs/xhtml/td 0 (org/compiere/model/AdempiereProcessorLog  getCreated()Ljava/sql/Timestamp; org/compiere/util/WebEnv  getCellContent&(Ljava/lang/Object;)Ljava/lang/String;   -(Ljava/lang/String;)Lorg/apache/ecs/xhtml/td;   getSummary   getReference   getTextMsg#topTop x createResponse(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljavax/servlet/http/HttpServlet;Ljava/util/Properties;Lorg/compiere/util/WebDoc;Z)VserverIDserver$Lorg/compiere/server/ServerInstance;docLorg/compiere/util/WebDoc;bLorg/apache/ecs/xhtml/body;paralinkLorg/apache/ecs/xhtml/a;tableLorg/apache/ecs/xhtml/table;lineLorg/apache/ecs/xhtml/tr;logs+[Lorg/compiere/model/AdempiereProcessorLog;iIpLog*Lorg/compiere/model/AdempiereProcessorLog;3&javax/servlet/http/HttpServletResponse-6RunNow 9 :CrunNow <>=org/compiere/util/Util ?@isEmpty(Ljava/lang/String;Z)ZerrorCActionFStart GH IK startsWithKReloadMStartedOStopped GR STindexOf(I)I GV WX substring(I)Ljava/lang/String;ZAll G\ ]^equals(Ljava/lang/Object;)Z ` astartAll c dstopAll f greload i jkgetDirAcessList()Ljava/util/ArrayList; m nCstart p qCstops - OKu - Error!xorg/apache/ecs/xhtml/br w0 {}|java/lang/Exception ~toStringactionmsgokeLjava/lang/Exception;Trace TraceLevelnodeId;org/idempiere/server/cluster/callable/SetTraceLevelCallable  -org/idempiere/server/cluster/ClusterServerMgr getClusterService-()Lorg/idempiere/distributed/IClusterService;  getClusterMember>(Ljava/lang/String;)Lorg/idempiere/distributed/IClusterMember; )org/idempiere/distributed/IClusterService executeh(Ljava/util/concurrent/Callable;Lorg/idempiere/distributed/IClusterMember;)Ljava/util/concurrent/Future; java/util/concurrent/Future get()Ljava/lang/Object;  call()Ljava/lang/Boolean;java/lang/RuntimeException  .(Ljava/lang/Throwable;)V org/compiere/util/CLogFile 2(ZLjava/lang/String;Z)Lorg/compiere/util/CLogFile;ROTATE7org/idempiere/server/cluster/callable/RotateLogCallable 0 DELETE8org/idempiere/server/cluster/callable/DeleteLogsCallable 0 8org/idempiere/server/cluster/callable/GetLogInfoCallable @org/idempiere/server/cluster/callable/GetLogInfoCallable$LogInfo   getLength()J 2 getOutputStream%()Ljavax/servlet/ServletOutputStream; text/plain 2 setContentType 2  setBufferSize(I)V 2 setContentLength5org/idempiere/server/cluster/callable/ReadLogCallable   getFileName  .(Ljava/lang/String;I)V[B !javax/servlet/ServletOutputStream write([B)V   getNoOfBlocks  flush  close java/lang/Throwable  addSuppressed  WARNING {  getMessage  C(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V   java/io/File   exists()Z   canRead  warning  ~ java/util/ArrayList iterator()Ljava/util/Iterator; java/util/Iterator next  getCanonicalPath ! "getAbsolutePath $ %hasNext'8Couldn't find file in directories that allowed to access ) *+getAbsoluteFile()Ljava/io/File; G- . valueOf  243java/lang/System 5currentTimeMillis7java/io/FileInputStream 69 .:(Ljava/io/File;)V < =([BII)V 6? @Aread([B)I 6@@@ H I(IJD)Ljava/lang/String; K LSEVERE O P.(Ljava/util/logging/Level;Ljava/lang/String;)VtraceCmd traceLevelcallable=Lorg/idempiere/server/cluster/callable/SetTraceLevelCallable; fileHandlerLorg/compiere/util/CLogFile;9Lorg/idempiere/server/cluster/callable/RotateLogCallable;:Lorg/idempiere/server/cluster/callable/DeleteLogsCallable; infoCallable:Lorg/idempiere/server/cluster/callable/GetLogInfoCallable;service+Lorg/idempiere/distributed/IClusterService;member*Lorg/idempiere/distributed/IClusterMember;logInfoBLorg/idempiere/server/cluster/callable/GetLogInfoCallable$LogInfo;out#Ljavax/servlet/ServletOutputStream;7Lorg/idempiere/server/cluster/callable/ReadLogCallable;contentsfileLjava/io/File;founddir dirAccesstime fileLength bufferSizebufferfisLjava/io/FileInputStream;speedDext(org/idempiere/distributed/IClusterMembervEMail xzyjava/lang/Integer {|parseInt(Ljava/lang/String;)I~ 8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;java/util/Properties 0 org/compiere/model/MClient 5(Ljava/util/Properties;I)Lorg/compiere/model/MClient;    testEMail~email AD_Client_IDclientLorg/compiere/model/MClient; CacheReset  OcreateCacheDetailsPageCacheTableNameCacheRecord_ID org/compiere/util/CacheMgt ()Lorg/compiere/util/CacheMgt;  resetCache Reset: All  |  (Ljava/lang/String;I)I~  severecmd tableName record_IDiDempiere Server Monitor (org/compiere/server/AdempiereServerGroup ,()Lorg/compiere/server/AdempiereServerGroup;  dump 0org/apache/ecs/xhtml/hr 0 org/compiere/Adempiere   getVersion  getImplementationVendor  getImplementationVersionManager  getDescriptionStart - Elapsed   getStartTime  formatTimestampWithTimeZone)(ILjava/sql/Timestamp;)Ljava/lang/String; org/compiere/util/TimeUtil  formatElapsed((Ljava/sql/Timestamp;)Ljava/lang/String;~Servers  getServerCount#()Lorg/compiere/server/ServerCount;  createServerCountMessage5(Lorg/compiere/server/ServerCount;)Ljava/lang/String; Last Updatedjava/sql/Timestamp  .(J)V   getMembers()Ljava/util/Collection;  getLocalMember,()Lorg/idempiere/distributed/IClusterMember; java/util/Collection size Cluster Nodesjava/lang/StringBuilder s getId  s    getAddress()Ljava/net/InetAddress; (  append-(Ljava/lang/String;)Ljava/lang/StringBuilder; java/net/InetAddress getCanonicalHostName) }  -   !3(Lorg/apache/ecs/Element;)Lorg/apache/ecs/xhtml/td;#!idempiereMonitor?Action=Start_All% Start All' idempiereMonitor?Action=Stop_All)Stop All+idempiereMonitor?Action=Reload-idempiereMonitor/Refresh 1 23getServerInstances'()[Lorg/compiere/server/ServerInstance;5#org/compiere/web/AdempiereMonitor$1 47 .8&(Lorg/compiere/web/AdempiereMonitor;)V :<;java/util/Arrays =>sort,([Ljava/lang/Object;Ljava/util/Comparator;)V @ A getServerId D E isStarted G H isSleepingJorg/apache/ecs/xhtml/font I0M#008000 IO PQsetColor/(Ljava/lang/String;)Lorg/apache/ecs/xhtml/font;S (Started) IU QW (Running)Y#FF0000[ (Stopped) ]_^ org/adempiere/util/ServerContext `asetCurrentInstance(Ljava/util/Properties;)V c decreateLogMgtPage^(Lorg/apache/ecs/xhtml/body;Ljava/util/Collection;Lorg/idempiere/distributed/IClusterMember;)V ]g hdispose j klremoveEndEndModifier()Lorg/apache/ecs/Element; 0 o pqsetName,(Ljava/lang/String;)Lorg/apache/ecs/xhtml/a;sStopvSleepingxRunning z {getAD_Client_ID ~ Not Started Description Last Run  getDateLastRunInfo   getServerInfoNext Run  getDateNextRun(Z)Ljava/sql/Timestamp; (Run Now) Statistics   getStatistics    getHostAddress10.172.16192.168Cluster Node IPCluster Node Id  /(Ljava/lang/String;)Lorg/apache/ecs/xhtml/body;refreshbbmembersLjava/util/Collection;local nodeBuilderLjava/lang/StringBuilder;addressLjava/net/InetAddress;servers%[Lorg/compiere/server/ServerInstance;statusLorg/apache/ecs/xhtml/font;ctxLjava/util/Properties;tdLorg/apache/ecs/xhtml/td;ipLocalVariableTypeTableBLjava/util/Collection;  %(ILjava/util/Date;)Ljava/lang/String;tsLjava/sql/Timestamp; "java/time/format/DateTimeFormatter ISO_ZONED_DATE_TIME$Ljava/time/format/DateTimeFormatter; org/compiere/model/MClientInfo #(I)Lorg/compiere/model/MClientInfo;   getTimeZone < ?K java/time/ZoneId of&(Ljava/lang/String;)Ljava/time/ZoneId;  withZone8(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter;   systemDefault()Ljava/time/ZoneId; java/util/Date  toInstant()Ljava/time/Instant; java/time/temporal/ChronoUnit SECONDSLjava/time/temporal/ChronoUnit; java/time/Instant  truncatedTo6(Ljava/time/temporal/TemporalUnit;)Ljava/time/Instant;  format9(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;dateLjava/util/Date; formatter clientInfo Lorg/compiere/model/MClientInfo; 0 org/compiere/server/ServerCount   getStarted    getStopped  (I)Ljava/lang/StringBuilder; - Started= - Stopped= serverCount!Lorg/compiere/server/ServerCount;buildertext/xml 2  getWriter()Ljava/io/PrintWriter;  "!java/io/PrintWriter #println%  ' #((Ljava/lang/Object;)V* ,  . /print13 5 7 9; =? A CE G I  K /(MO Q SU W Y [] _ ` isInterruptedb Interruptedd f h j l n p r t v  writerLjava/io/PrintWriter;(Lorg/apache/ecs/xhtml/body;Ljava/util/Collection;Lorg/idempiere/distributed/IClusterMember;)V |~}org/compiere/util/Env getCtx()Ljava/util/Properties; org/compiere/model/MSystem 4(Ljava/util/Properties;)Lorg/compiere/model/MSystem; org/compiere/server/SystemInfo getLocalSystemInfo"()Lorg/compiere/server/SystemInfo;  getURL  getPropertyFileName  getOperatingSystem   getCustomPrefix~   getJavaVM  getGarbageCollectionTime  getGarbageCollectionCount (J)Ljava/lang/String;  getDatabaseDescription  getDatabaseConnectionURLDB Connection Pool  getDatabaseStatus Processor  getAvailableProcessors X  getAverageSystemLoad()D System Load  (D)Ljava/lang/String; VM Memory  getMemoryUsage Heap Memory  getHeapMemoryUsage  getRuntimeName!  getRuntimeUpTime    getThreadCount"  getPeakThreadCount  getDaemonThreadCount  getTotalStartedThreadCount# (IIJ)Ljava/lang/String;   getTrxInfos ()[Lorg/compiere/server/TrxInfo; org/compiere/server/TrxInfo isActiveActiveInactive$   getStackTrace  getDisplayName  ()Ljava/util/Date;%~   getTrxName  setTitle,(Ljava/lang/String;)Lorg/apache/ecs/Element;  CescapeEcmaScript& \(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;    setOnClick org/apache/ecs/xhtml/label  0   0(Ljava/lang/String;)Lorg/apache/ecs/xhtml/label;'text-decoration: underline; color: blue   setStyleName='(   toStringXidempiereMonitor?CacheReset=Yes! Reset Cache#!idempiereMonitor?CacheDetails=Yes% Cache Details  (Trace Log Level * +3(Lorg/apache/ecs/Element;)Lorg/apache/ecs/xhtml/th;-org/apache/ecs/xhtml/form/post1!application/x-www-form-urlencoded ,3 .49(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V 687org/compiere/util/CLogMgt 9:LEVELS[Ljava/util/logging/Level;<org/apache/ecs/xhtml/option ; ;@ A1(Ljava/lang/String;)Lorg/apache/ecs/xhtml/option; C DE getLogLevel()Ljava/util/logging/Level; ;G HI setSelected (Z)Lorg/apache/ecs/xhtml/option;Korg/apache/ecs/xhtml/select JM .N3(Ljava/lang/String;[Lorg/apache/ecs/xhtml/option;)V ,P Q5(Lorg/apache/ecs/Element;)Lorg/apache/ecs/xhtml/form;Sorg/apache/ecs/xhtml/inputUsubmitWSet R3Z Trace File \ ]getCurrentLogFile)`Current b .cK(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)VeidempiereMonitor?Trace=ROTATEgRotate Trace LogiidempiereMonitor?Trace=DELETEkDelete all Trace Logsmorg/apache/ecs/xhtml/boAll Log Files: l r stgetLogFileInfos$()[Lorg/compiere/server/LogFileInfo; vworg/compiere/server/LogFileInfo y z separator G| }| lastIndexOf* v  getFileSize+,  getAllG(Ljava/util/Properties;Ljava/lang/String;)[Lorg/compiere/model/MClient;-  z. org/compiere/model/Query AD_SessionProcessed = 'N'  .O(Ljava/util/Properties;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V  list()Ljava/util/List; java/util/List/ org/compiere/model/MSession z0 '(Ljava/lang/String;I)Ljava/lang/String;  getSessionCount  getClusterSessionCount-(Lorg/idempiere/distributed/IClusterMember;)I1SYSTEM_IN_MAINTENANCE_MODE org/compiere/model/MSysConfig getBooleanValue(Ljava/lang/String;ZI)Z 0Maintenance ModeWSELECT AD_Client_ID FROM AD_SysConfig WHERE AD_Client_ID!=0 AND IsActive='Y' AND Name=?java/lang/Object org/compiere/util/DB getIDsEx;(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)[I x .(I)Ljava/lang/Integer;  ^add2#All tenants are in maintenance mode x intValue(All tenants are in normal operation modesystemLorg/compiere/model/MSystem; systemInfo Lorg/compiere/server/SystemInfo;trxs[Lorg/compiere/server/TrxInfo;trxLorg/compiere/server/TrxInfo;lblLorg/apache/ecs/xhtml/label; cacheParamyFormLorg/apache/ecs/xhtml/form;options[Lorg/apache/ecs/xhtml/option;selLorg/apache/ecs/xhtml/select;tlpplogFiles"[Lorg/compiere/server/LogFileInfo;logFile!Lorg/compiere/server/LogFileInfo;fileName displayNameindexclients[Lorg/compiere/model/MClient;sessionsLjava/util/List;countsessionLorg/compiere/model/MSession;isSystemInMaintenanceinMaintenanceClientspossiblyInMaintenanceClients[IclientIdisTenantInMaintenancefirstclientID/Ljava/util/List;%Ljava/util/List;init (Ljavax/servlet/ServletConfig;)V   initWeb (Ljavax/servlet/ServletConfig;)Z +MONITOR_INITIAL_WAIT_FOR_CLUSTER_IN_SECONDS   getIntValue  getThreadPoolExecutor4()Ljava/util/concurrent/ScheduledThreadPoolExecutor;3 run(I)Ljava/lang/Runnable; java/util/concurrent/TimeUnit Ljava/util/concurrent/TimeUnit; 0java/util/concurrent/ScheduledThreadPoolExecutor  !schedule\(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;configLjavax/servlet/ServletConfig;initialWaitSeconds &('$java/util/concurrent/ScheduledFuture )isDone &+ , isCancelled &destroy. &1 23cancel(Z)Z*(Ljava/lang/String;Ljava/lang/Throwable;)VmessageLjava/lang/Throwable; 8 9finegetServletName<AdempiereMonitorgetServletInfo'()Ljava/util/ArrayList; @ A+getLogDirectory  D EgetAdempiereHome4~Hjava/io/BufferedReaderJjava/io/FileReader I9 GM .N(Ljava/io/Reader;)V GP QreadLine S T^contains G5~ dirAccessListlogDirdirAccessPathName dirAccessFilebrLjava/io/BufferedReader;pathNamepathDir`'b\' Gd efreplaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;h"j\"l\n\\p/r\/t v\nx z\tinput} CacheDetailsiDempiere Server Cache DetailsName Table NameSizeExpire (Minutes)Max SizeHitMiss Distributed org/compiere/util/CacheInfo  getCacheInfos(Z)Ljava/util/List;  (I)Ljava/lang/Object;   getNodeIdNode Id |CCacheListener G KendsWith  getSize   getTableName  X  getExpireMinutes   getMaxSize  getHit java/lang/Long .(J)Ljava/lang/Long;  getMiss   isDistributed java/lang/Boolean .(Z)Ljava/lang/Boolean; instancesccacheLorg/compiere/util/CacheInfo;/Ljava/util/List;NodeInfo6  createNodeInfoPage0(Lorg/apache/ecs/xhtml/body;Ljava/lang/String;)V  getClusterNodeInfo4(Ljava/lang/String;)Lorg/compiere/server/SystemInfo; Property File   Host NameOperating System7Processor (Average System Load)8 (ID)Ljava/lang/String;9:;<=~>?@hiddenA~BCD~EFActive sessions for nodeGlambda$0 #AD_Client_ID |  setContext,(Ljava/util/Properties;Ljava/lang/String;I)V #AD_User_ID'MONITOR_MAX_WAIT_FOR_CLUSTER_IN_SECONDS java/lang/Thread sleep   interruptedH    &org/compiere/server/AdempiereServerMgr  *()Lorg/compiere/server/AdempiereServerMgr;   getInstance1()Lorg/idempiere/server/cluster/ClusterServerMgr;  getCause()Ljava/lang/Throwable; java/lang/InterruptedExceptionmaxSecondsToWaittotalWaitSeconds waitSeconds SourceFileAdempiereMonitor.javaBootstrapMethods ! $java/lang/invoke/StringConcatFactory "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;% ServerID='idempiereMonitor#)Action=+: -Error processing parameter: / New Level: 1 Command: 3Did not find File: 5File Length=0: 7 - 9 Streaming: ;length= -  ms -  kB/sec=stream?Parsing:  - A No EMail: CTest: E: GCache Reset: ICache Reset: , Record_ID=KError: M - OidempiereMonitor?NodeInfo=Q#SidempiereMonitor?Action=Stop_UidempiereMonitor?Action=Start_WidempiereMonitor?RunNow=YidempiereMonitor?Log=[ ()]Average GC Time= ms_a%c Runtime e Threads gPeak=, Daemons=, Total=i Transaction kName=, StartTime=mvar newwindow=window.open('','Popup', 'width=800,height=600');newwindow.document.write('

Transaction = 

TrxName = 


')o , StartTime=qClick to see stack trace for sidempiereMonitor?Trace=u (k)w (M)yTenant # - EMail Test:{idempiereMonitor?EMail=}Active sessions # : Maintenance Mode # "java/lang/invoke/LambdaMetafactory  metafactory(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;  dirAccess.txtDetails for node  () !idempiereMonitor?Trace=&nodeId=&idempiereMonitor?Trace=ROTATE&nodeId=&idempiereMonitor?Trace=DELETE&nodeId=-Cluster Service did not start after  seconds InnerClasses%java/lang/invoke/MethodHandles$Lookupjava/lang/invoke/MethodHandlesLookupLogInfo NestMembers! JE$&(*,y{ }-.< */*1,q q-  345678:>+<>:DF>(*+,L *+,P*+,S *+,P*+,V *+,P*+,Y *+,P*+,\ *+,P*+_ *+,c *+,P *+,f,~ !%+,59?@IMST]aghqu{|-434jklmno pq+G  r678:I*+,s, - 34jklmNO78:+uwN- -|$$-*-:'Y((YW(-W::Y:Y-:WWYƹҶWY:  W W WY:  YW YW YW YW  Wƹ: 6   2: Y:  Y  W Y   W Y  W Y  W  W   x WY:W+,*,*,8=GW_ahox '39@Ic}   -34jklm8 h!"o#$xw%f&'6() *+ 3,- 6./ @y01 q?G4 ?2G4ab78:C+5wM, ,|$$,7*,N-'Y((YW(,W*,8:;%Y((YW(,W,B- 8!<#F$V%^&`)l*u,-.2-434jk8a l-AqG26Ge6t +BwN- -|$$-D-EG6-JG6Y( LNP:(YW--_Q`U:6Y[>*_6*b6(YW'*e6*+,f*h*|*:  'Y((YW(W*l6*o6( ƹW( rtW=:Y((Y-vW(wYyW(zW,"~{#{~{,);<=>,A5B>CHD]EmG{H~IKMNORSVXYZ[\]^ _`"a#c(d@fUgfk{l~mopqrt-p 34jklm5Fno>=go]{~ol 8qwG&BGGGG@@ @5@@M ?2GGGG?2G{9UO78: j +wN+w:+w:g|_$$Y:;WW:Y- -|$$-:-[DY:;WW:Y-[DY:;WW:Y;Y-:::  :    : : ,: ,̹,, Ĉ6@Y : :     9 1:    :   :      : $  -[Y-: $-   $- 6* *h**: % :   G 6  #B$& *: " : $ (,/  #$$-017 6 6  : 6Y8:,:,̹, , 6  ; >Y6B1 e7  Co Eoo9$.$  G: $J ,MNKru{{58{ %%eF{DF{S{,r'@KTilruw,/58:DFOY^ez DFHXZkpz   / 9 ;SX`ekv~ !"#%&'()*'+,./1-`#34jklm QRK8STw eUV8SW 8SX: YYZ^[\e]^ z_` ab J./*ScdH zefbgohf if Xj `k/ el/ km vno~{ab_@/pqr q.@GGG+H{  ;H{ 3H{ B ?2GGGs1?2GGGs2 Q B  ?2GGGs{  ?2GGG! ?2GGG ?2GGG ?2GGGI?2GGG6 T ?2GGG{XO78:z+uwN- -|6-w6:$-z} Y((-WY:$$,Y((W!{,F?@ACFG!H#J4L9NCOPPRT`U|WXY-H34jklm/#`>q(G ?2G{)[O78:+wN- -| *+,+w:+w:Y( |W(Wi |W(WBwW(W!:$z(zW6{,Vhijl#m,o6rCtJuTvWwdymz{{~~-H34jklm#,qG(GG `{hi78:*  ,:Y::(&YW(WYWY:WWWY:Y¶WYŶ WWY:YȶWY˶ WWY:YζWY* WWY:YӶWY**ظ*ܺ WWY:YWY** WWY:YWY*Y1ض WWW:: : =: :    Y:YWY: Y :   :     W  W :s: [c WY:  :     WY : W#vY WWY: Y"$:   W WY&(:   W WY*J:   W WY,.:   W WYWY: *0:  4Y*696 wYyW 2:Y?Bƹ:   W:C;FIYKLNRT:0IYKLNVT:IYKXNZT: W Z WY:\*  b :ffiW6; 2:YWYm?nWYƹҶWY:WWWY:Cr:Y?t: F+YuWY W(YwWY WWY:YӶWY*ƹy|ظ|ܺ} WBE:Y~WY?: Y WWY:YWYƹ WWY:YWY*ƹyƹظ WWY:YWY WWY:YWY:*ƹyظ W WY?:  WWWY:YWY WW   : :RGGG1Y:YWY WWY:YWY WWWY:  WWY?u:  WWY,.:  W +,*,$1:GPW^en /IZair*3FO_hm(:BKZbkz  4<?GOg|  $%&'()(,-/01 2!4*51687?9H:P<U=j>r@ABEFHIJKLKMPQ1RFSXU`WiX|YZ\]^_`a b$c,e5fHgQhsi|jklmopqrtvwxy'z2{=}F~Yks|  - ! +-. ,34 ,jk ,lm ,o $!" $P()n*+/[\, )^ O% _ h w]^&'K% Z&' A ./ ?]C./. U:Q , qG<?2s?2s"?2ss=!?2s# ?2s?2sVI *?2sG$Y>@G'G-EgE*,İ,- 34/P,ɰN:ָٚ-ָ۶NW-N -N-,*-{,.  *.69A-4P34P/P D>q${ 9YM++,++ ` + +  W,," &,4- 93491q4R678:b,,N--$( -(&-)-+--¶--0-2--Ŷ--4-6--ȶ--8-:--˶--<->-@--*--B-D--**ض--F-H--*J-L*0:6]2:-N-P--?--R-T--ƹ--0-V--ƹ--B-X----Z-\-C1^ -a-&F -u--w- -N--c-e--*ƹy|ض--F-g--*ƹyƹض--i-k--*ƹyض--m-o----q-s-u-w,"H $+29@GNU\cjqx  .5<JQXahow     &-4=DKV]a -Hb34bjkblmRxyte./P q+  dezm +YWY:WWW{::Y:YWY WWY:YW::Y WWY:YWYm WWY:YWY WWY:YWY WWY:YWY WWAY:YWY WWY:YWYö WWY:YƶWYȶ WWY:Y˺WYϸҶ WWY:YԺWY޺ WW:  Y: 6 6   2: Y:Y  WY: ٙ+ * ĺ W Wq      Y :W * ĺ W WWW   Y:YWY:  Y Y"$WY WWY:Y Y&')W,Y,.02: 5;: 6 E  ;Y5 2=>S  25 2=?W5 2B   2FW   JY L:   OW RYTVVXOWY WWY:YYWYY[^___aWWY:Y:YdfYhjWYWYWW+WY:lYnpWwYyWq:Y:662:2 Wu::x{6`U:Y~a:Wm6WlWg+WY:WWWY:{:YWY:6B2:- WYW WYWWY:Y{:YWY:6m2:X W6::#W WYWW,,Y:YɶW:,:[s:Y: W-[ W#YWWY:6Y:YWnYS:Y:66*.66ƹWYWY:ͶWr_6:Cx6{: WW6# ҶW WYWW+W,z* -./#0*32475@6S7h8p:y;<=>?@BCDE GH)I>JFKOLbMwNPQRSTVWXY\]!^6_>`GaZbocwefghjklmnlo rs%u.vTw]xhyz{|}~|s!7@RXi{ %-CU]fy -:AV_hos} $<EKRZ]bk %(@MPZlw} 0 : L T ] g p u              8! B" J# M$ R% [& f' i s) v+ , - . / 1 2-, 34 $  ^ ()2 ~7 y@ p*+  % ]9@p   M./ % AoVorsn}d/=&')/$HJ./R5u./ `(D/@L]^ gIo p@ X / o Vo 81/ B'   p@qE3 sGYsG&sGsGGGmsGsG,>?sG,JsG,Jv%GGAsG,JfsG,J c sG,JsG,JQsG,JsG,Js#sG,JsGsG,JsGsG,J#sG,J6 sG,J#"sG,JsG,J#sG,J sG,J sG,J784+W$ɶ   =*1*h*,";<?@!j&@,l3m- 4344"#$/"|1*1)*1%*1**1-WW&),{,qt)u-x- 134ql{.:$/*1%*1**10W*1&*, !,159- :34q, 4j, $+ $J+,, - 3456q  @$+7, -345:.;,- 34=.,- 34jk> YLM,?N+-BWCxF:Y:iGYIYKL:O:)Y:+R+BWU:$JzVN+:{,R'2:LSX[fw~-f 34WUVXf'{Y2pZfL:[\S+]f^f WqDLGGG%G{CD*_acK*gicK*kmcK*oqcK*sucK*wycK*, !,7B- D{O78: +|wN- -|~::Y:Y,:WWY:WWWY:  YW YW YW YW YW YW YW YW W:  '  YW : " :   Y:  Y  W Y  W Y  W Y  W Y  W Y  W Y  W Y  W  Y  W W # : " :   Y:  Y  W Y  W Y  W Y  W Y  W Y  W Y  W Y  W  Y  W W #WY:W+,*,A$-;CK T [ b ir 3F^!l"o#w%&'()*+,.-I.Q0i2q{5789;<=>?@-AHBcC~DFH5LMNQR- 34jklm!"$#$-%;&'T()ri*+  ^    q G0 ?2G ?2G ?2G ?2G ?2G ?2G^O78: a+ɸwN- -|-::Y:Y,:WW*-+,*,2 `abd f'g0h>iFjNlUn_p-Ra34ajkalmY A!"':#$01%>#&'q G y,N-+YWY:WWWY:YԶWY- WWY:-:Y׶WY WWY:YٶWY- WWY:Y-WY--m WWY:Y-WY- WWY:YWY- WWY:YܶWY-- WWY:YWY-ö WWY:YƶWY-ȶ WWY:Y-˺WY-ϸҶ WWY:Y-ԺWY---޺ WW-:Y: 6 6   2:Y:Y WY: ٙ+ *ĺ W Wq   Y:  W   *ĺ W W WW   Y:Y Y&')W,Y,.02:5;: 6 D  ;Y5 2=>S  25 2=?W5 2-B   2FW   JY L:  OWRY,XOWRYTVVXOWYWWY:YYWYY-[,_WWY:Y:  Y,fY,jWYWY WW+WY:  lYnpW-q:  Y:66v2: 2  Wu:Y,: Wm6 W lW+ WY:YWY- WW+W,uv w y{|&}-~4=Pdlu{&/CW_h{,@HQj'2LWZdin{~ &,AS`ju )>DXew#- 4 = Piqx-y34y$ytZ()=<*+{' 9 \&S )L./  )P   iP=&')/q  G& G GGGm GP G,=EG,JG,JvEGG,J YL++ +\ =>66hW+"`>$ ʸ&G &>L+$J++$J++f:ff/9<z}, BCDEG'H)J,K/N9O=P@RFSITNUSV_WbKh\n_t`za~bcdehghihj-4r'S/)Q/,N/~,6q2 /L EI#$#&#$#(#*#,#.#0#2#4#6#8#:#<#>#@#B#D#F#H#J#L#N#P#R#L#T#V#X#Z#\#^#`#b#d#f#h#j#l#n#p#r#r#t#v#x#z#|#~#~###L##\##b#d#f#h#j#l#n#p#####t#v#^#4 4