org.apache.activemq.ActiveMQSession.class Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of activemq-core Show documentation
Show all versions of activemq-core Show documentation
The ActiveMQ Message Broker and Client implementations
???? 2? G? G?
G?
??
? G? G? G??
? G??
? G? G?? G? G??? G? G? G? G? G??
??
??
? G??
?
G??
"? G?
??
??
G?
??
G?
??
?? G??
-? G?
??
??
G?
G? G??
5?
G??
8??
:??
<?
<??
???
A?
A?
G??
E?
E?
E??
G?
I?
E??
M?
E?
??
E?
M?
G?
G?
G???
V??
Y?
G?
Y
Y
Y?
G
G
h?
G
G
-
s
u
s
-
?!
s"
s
s#
$%
&'
?
(
G)
?*
:+,-
s G.
-/
-0
,1
:2
?3
G4
G56
??
:7 G8N9
G:
,;<=>??@
?AB
?C
DE
?F
GG
?H
?I
?J
G?KNLM ?N
?O
GP
QR
?ST
GU
GV
GW
GX ?Y
?Z[
\]
\^
G_
\`
Ga
sbc
?de
??f
??g
??h
??
Gi ?j
?k
Gl
?m
\n
\op
?q
Grs
?t
?uvw
Gx ?yz
?{ ?|}
?~
G ?? ???
?~
??
-??
??
??
s?
?
s?
"?
s?
??
??
"?
?
??
??
??
??
??
?
s?
-?
s
??
?
???
??
??
????
?
????
??
??????????
Q??
?
:?
:E
??
:?
:?
:H
??
:?
:?
?
:??????
:?
??
:?
??
:?
??
??
??
?
-?????
??
???
-?
? G? G?
-???
Y???
s?
s?
??
s?
s???????
s?
G?
??
G??
???????? DeliveryListener InnerClasses INDIVIDUAL_ACKNOWLEDGE I
ConstantValue MAX_ACK_CONSTANT LOG Lorg/slf4j/Logger; scheduler &Lorg/apache/activemq/thread/Scheduler; connectionExecutor )Ljava/util/concurrent/ThreadPoolExecutor; acknowledgementMode
connection (Lorg/apache/activemq/ActiveMQConnection; info )Lorg/apache/activemq/command/SessionInfo; consumerIdGenerator 0Lorg/apache/activemq/util/LongSequenceGenerator; producerIdGenerator deliveryIdGenerator executor -Lorg/apache/activemq/ActiveMQSessionExecutor; started +Ljava/util/concurrent/atomic/AtomicBoolean; consumers +Ljava/util/concurrent/CopyOnWriteArrayList; Signature ZLjava/util/concurrent/CopyOnWriteArrayList; producers ZLjava/util/concurrent/CopyOnWriteArrayList; closed Z synchronizationRegistered
asyncDispatch sessionAsyncDispatch debug sendMutex Ljava/lang/Object; messageListener Ljavax/jms/MessageListener; stats 4Lorg/apache/activemq/management/JMSSessionStatsImpl; transactionContext (Lorg/apache/activemq/TransactionContext; deliveryListener 6Lorg/apache/activemq/ActiveMQSession$DeliveryListener; transformer (Lorg/apache/activemq/MessageTransformer; blobTransferPolicy -Lorg/apache/activemq/blob/BlobTransferPolicy; lastDeliveredSequenceId J U(Lorg/apache/activemq/ActiveMQConnection;Lorg/apache/activemq/command/SessionId;IZZ)V Code LineNumberTable LocalVariableTable this %Lorg/apache/activemq/ActiveMQSession; sessionId 'Lorg/apache/activemq/command/SessionId; acknowledgeMode
StackMapTable???
Exceptions T(Lorg/apache/activemq/ActiveMQConnection;Lorg/apache/activemq/command/SessionId;IZ)V setTransactionContext +(Lorg/apache/activemq/TransactionContext;)V getTransactionContext *()Lorg/apache/activemq/TransactionContext; getStats ,()Lorg/apache/activemq/management/StatsImpl; getSessionStats 6()Lorg/apache/activemq/management/JMSSessionStatsImpl; createBytesMessage ()Ljavax/jms/BytesMessage; message 2Lorg/apache/activemq/command/ActiveMQBytesMessage; createMapMessage ()Ljavax/jms/MapMessage; 0Lorg/apache/activemq/command/ActiveMQMapMessage;
createMessage ()Ljavax/jms/Message; -Lorg/apache/activemq/command/ActiveMQMessage; createObjectMessage ()Ljavax/jms/ObjectMessage; 3Lorg/apache/activemq/command/ActiveMQObjectMessage; 1(Ljava/io/Serializable;)Ljavax/jms/ObjectMessage; object Ljava/io/Serializable; createStreamMessage ()Ljavax/jms/StreamMessage; 3Lorg/apache/activemq/command/ActiveMQStreamMessage; createTextMessage ()Ljavax/jms/TextMessage; 1Lorg/apache/activemq/command/ActiveMQTextMessage; +(Ljava/lang/String;)Ljavax/jms/TextMessage; text Ljava/lang/String; createBlobMessage 1(Ljava/net/URL;)Lorg/apache/activemq/BlobMessage; url Ljava/net/URL; 2(Ljava/net/URL;Z)Lorg/apache/activemq/BlobMessage; deletedByBroker 1Lorg/apache/activemq/command/ActiveMQBlobMessage; 1(Ljava/io/File;)Lorg/apache/activemq/BlobMessage; file Ljava/io/File; 8(Ljava/io/InputStream;)Lorg/apache/activemq/BlobMessage; in Ljava/io/InputStream;
getTransacted ()Z getAcknowledgeMode ()I commit ()V rollback close doClose
removeCommand (Lorg/apache/activemq/command/RemoveInfo; clearMessagesInProgress consumer -Lorg/apache/activemq/ActiveMQMessageConsumer; i$ Ljava/util/Iterator;? deliverAcks iter LocalVariableTypeTable CLjava/util/Iterator; dispose producer -Lorg/apache/activemq/ActiveMQMessageProducer; e Ljavax/jms/JMSException; CLjava/util/Iterator;)K configureMessage 0(Lorg/apache/activemq/command/ActiveMQMessage;)V checkClosed recover c getMessageListener ()Ljavax/jms/MessageListener; setMessageListener (Ljavax/jms/MessageListener;)V listener run Ljava/lang/RuntimeException; ack (Lorg/apache/activemq/command/MessageAck; Ljava/lang/Throwable; md -Lorg/apache/activemq/command/MessageDispatch; messageDispatch??>B createProducer 4(Ljavax/jms/Destination;)Ljavax/jms/MessageProducer; customDestination 'Lorg/apache/activemq/CustomDestination; destination Ljavax/jms/Destination; timeSendOut createConsumer 4(Ljavax/jms/Destination;)Ljavax/jms/MessageConsumer; F(Ljavax/jms/Destination;Ljava/lang/String;)Ljavax/jms/MessageConsumer; messageSelector O(Ljavax/jms/Destination;Ljavax/jms/MessageListener;)Ljavax/jms/MessageConsumer; a(Ljavax/jms/Destination;Ljava/lang/String;Ljavax/jms/MessageListener;)Ljavax/jms/MessageConsumer; G(Ljavax/jms/Destination;Ljava/lang/String;Z)Ljavax/jms/MessageConsumer; noLocal b(Ljavax/jms/Destination;Ljava/lang/String;ZLjavax/jms/MessageListener;)Ljavax/jms/MessageConsumer; prefetchPolicy ,Lorg/apache/activemq/ActiveMQPrefetchPolicy; prefetch activemqDestination 1Lorg/apache/activemq/command/ActiveMQDestination;? createQueue %(Ljava/lang/String;)Ljavax/jms/Queue; queueName createTopic %(Ljava/lang/String;)Ljavax/jms/Topic; topicName createDurableSubscriber @(Ljavax/jms/Topic;Ljava/lang/String;)Ljavax/jms/TopicSubscriber; topic Ljavax/jms/Topic; name S(Ljavax/jms/Topic;Ljava/lang/String;Ljava/lang/String;Z)Ljavax/jms/TopicSubscriber; maxPrendingLimit
createBrowser +(Ljavax/jms/Queue;)Ljavax/jms/QueueBrowser; queue Ljavax/jms/Queue; =(Ljavax/jms/Queue;Ljava/lang/String;)Ljavax/jms/QueueBrowser; createTemporaryQueue ()Ljavax/jms/TemporaryQueue; createTemporaryTopic ()Ljavax/jms/TemporaryTopic; createReceiver ,(Ljavax/jms/Queue;)Ljavax/jms/QueueReceiver; >(Ljavax/jms/Queue;Ljava/lang/String;)Ljavax/jms/QueueReceiver; createSender *(Ljavax/jms/Queue;)Ljavax/jms/QueueSender; createSubscriber .(Ljavax/jms/Topic;)Ljavax/jms/TopicSubscriber; A(Ljavax/jms/Topic;Ljava/lang/String;Z)Ljavax/jms/TopicSubscriber; createPublisher -(Ljavax/jms/Topic;)Ljavax/jms/TopicPublisher; unsubscribe (Ljava/lang/String;)V dispatch 0(Lorg/apache/activemq/command/MessageDispatch;)V Ljava/lang/InterruptedException;? acknowledge addConsumer 0(Lorg/apache/activemq/ActiveMQMessageConsumer;)V removeConsumer addProducer 0(Lorg/apache/activemq/ActiveMQMessageProducer;)V removeProducer start stop getSessionId )()Lorg/apache/activemq/command/SessionId; getNextConsumerId *()Lorg/apache/activemq/command/ConsumerId; getNextProducerId *()Lorg/apache/activemq/command/ProducerId; send ?(Lorg/apache/activemq/ActiveMQMessageProducer;Lorg/apache/activemq/command/ActiveMQDestination;Ljavax/jms/Message;IIJLorg/apache/activemq/usage/MemoryUsage;I)V timeStamp size txid +Lorg/apache/activemq/command/TransactionId; sequenceNumber
expiration msg Ljavax/jms/Message; deliveryMode priority
timeToLive producerWindow 'Lorg/apache/activemq/usage/MemoryUsage; sendTimeout'????? doStartTransaction hasUncomsumedMessages isTransacted isClientAcknowledge isAutoAcknowledge isDupsOkAcknowledge isIndividualAcknowledge getDeliveryListener 8()Lorg/apache/activemq/ActiveMQSession$DeliveryListener; setDeliveryListener 9(Lorg/apache/activemq/ActiveMQSession$DeliveryListener;)V getSessionInfo +()Lorg/apache/activemq/command/SessionInfo; asyncSendPacket ((Lorg/apache/activemq/command/Command;)V command %Lorg/apache/activemq/command/Command; syncSendPacket M(Lorg/apache/activemq/command/Command;)Lorg/apache/activemq/command/Response; getNextDeliveryId ()J
redispatch W(Lorg/apache/activemq/ActiveMQDispatcher;Lorg/apache/activemq/MessageDispatchChannel;)V
dispatcher (Lorg/apache/activemq/ActiveMQDispatcher; unconsumedMessages ,Lorg/apache/activemq/MessageDispatchChannel; Ljava/util/List; CLjava/util/Iterator; ?Ljava/util/List;? isRunning isAsyncDispatch setAsyncDispatch (Z)V isSessionAsyncDispatch setSessionAsyncDispatch getTransformer *()Lorg/apache/activemq/MessageTransformer;
getConnection *()Lorg/apache/activemq/ActiveMQConnection; setTransformer +(Lorg/apache/activemq/MessageTransformer;)V getBlobTransferPolicy /()Lorg/apache/activemq/blob/BlobTransferPolicy; setBlobTransferPolicy 0(Lorg/apache/activemq/blob/BlobTransferPolicy;)V getUnconsumedMessages ()Ljava/util/List; toString ()Ljava/lang/String; checkMessageListener i setOptimizeAcknowledge value setPrefetchSize ,(Lorg/apache/activemq/command/ConsumerId;I)V id (Lorg/apache/activemq/command/ConsumerId; +(Lorg/apache/activemq/command/ConsumerId;)V? isInUse 8(Lorg/apache/activemq/command/ActiveMQTempDestination;)Z 5Lorg/apache/activemq/command/ActiveMQTempDestination; getLastDeliveredSequenceId sendAck +(Lorg/apache/activemq/command/MessageAck;)V ,(Lorg/apache/activemq/command/MessageAck;Z)V lazy getScheduler (()Lorg/apache/activemq/thread/Scheduler; getConnectionExecutor +()Ljava/util/concurrent/ThreadPoolExecutor;
access$000 ((Lorg/apache/activemq/ActiveMQSession;)V x0
access$102 )(Lorg/apache/activemq/ActiveMQSession;Z)Z x1
access$200 M(Lorg/apache/activemq/ActiveMQSession;)Lorg/apache/activemq/thread/Scheduler;
SourceFile ActiveMQSession.javaXYqp???? .org/apache/activemq/util/LongSequenceGeneratorabcbdb )java/util/concurrent/atomic/AtomicBoolean?ygh )java/util/concurrent/CopyOnWriteArrayListijmj java/lang/ObjectuvVW???tp]^\Rrpsp 'org/apache/activemq/command/SessionInfo?????k??_` &org/apache/activemq/TransactionContext???? 2org/apache/activemq/management/JMSSessionStatsImpl??yzde|}??????????Z[ +org/apache/activemq/ActiveMQSessionExecutor??ef????9???{| 0org/apache/activemq/command/ActiveMQBytesMessage?? .org/apache/activemq/command/ActiveMQMapMessage +org/apache/activemq/command/ActiveMQMessage 1org/apache/activemq/command/ActiveMQObjectMessage? 1org/apache/activemq/command/ActiveMQStreamMessage /org/apache/activemq/command/ActiveMQTextMessage-?? /org/apache/activemq/command/ActiveMQBlobMessagey 'org/apache/activemq/blob/BlobDownloader?? %org/apache/activemq/blob/BlobUploader?
?-?
??Y??? javax/jms/IllegalStateException Not a transacted session?- java/lang/StringBuilder;< Transaction Commit :??t-?? Transaction Rollback??op??? %org/apache/activemq/ActiveMQSession$1 ???????? +org/apache/activemq/ActiveMQMessageConsumer ? %org/apache/activemq/ActiveMQSession$2?!"#$??:?%&'(?k)*+,? +org/apache/activemq/ActiveMQMessageProducer-? javax/jms/JMSException.?/? The Session is closed This session is transactedwx0y12345?67Z?]? %org/apache/activemq/ActiveMQSession$389}~:;jk<=>? java/lang/RuntimeException error dispatching message: @ABC &org/apache/activemq/command/MessageAck?DEFGHIW?JK %org/apache/activemq/ActiveMQSession$4?L java/lang/ThrowableM; %org/apache/activemq/CustomDestination?NO??@PQR?S java/lang/String??????TUV javax/jms/Topic?W?X?=>Y?w??Z ID:[\ -org/apache/activemq/command/ActiveMQTempQueue )org/apache/activemq/command/ActiveMQQueue -org/apache/activemq/command/ActiveMQTempTopic )org/apache/activemq/command/ActiveMQTopic]^?[?_?`?a? +org/apache/activemq/ActiveMQTopicSubscriber?b (org/apache/activemq/ActiveMQQueueBrowser?cde javax/jms/TemporaryQueue javax/jms/TemporaryTopic"$"f )org/apache/activemq/ActiveMQQueueReceiver?g%h 'org/apache/activemq/ActiveMQQueueSender?i')'j*k *org/apache/activemq/ActiveMQTopicPublisher,-l/ java/lang/InterruptedExceptionmnop?2?qrs?t?u>vwx?y?zrx{|}~@6?8??y &org/apache/activemq/command/ConsumerId?k?? &org/apache/activemq/command/ProducerId????? %javax/jms/InvalidDestinationException )Cannot publish to a deleted Destination: ?k???????k?????y?? %org/apache/activemq/command/MessageId???I?-???????4?????? sending message: ?-????????????h?hi??X????? +org/apache/activemq/command/MessageDispatch??????/??????? ActiveMQSession {id= ,started=? } DCannot synchronously receive a message when a MessageListener is set???y?r???? Exception closing consumer?A Closed consumer on Command?-?????? #org/apache/activemq/ActiveMQSession??? javax/jms/Session javax/jms/QueueSession javax/jms/TopicSession +org/apache/activemq/management/StatsCapable &org/apache/activemq/ActiveMQDispatcher 4org/apache/activemq/ActiveMQSession$DeliveryListener &org/apache/activemq/ActiveMQConnection %org/apache/activemq/command/SessionId java/util/Iterator *org/apache/activemq/ActiveMQPrefetchPolicy /org/apache/activemq/command/ActiveMQDestination javax/jms/Message %org/apache/activemq/usage/MemoryUsage )org/apache/activemq/command/TransactionId java/util/List org/slf4j/Logger isDebugEnabled getConnectionInfo .()Lorg/apache/activemq/command/ConnectionInfo; getValue 0(Lorg/apache/activemq/command/ConnectionInfo;J)V +(Lorg/apache/activemq/ActiveMQConnection;)V #(Ljava/util/List;Ljava/util/List;)V getExecutor
addSession isStarted setObject (Ljava/io/Serializable;)V setText setURL (Ljava/net/URL;)V setDeletedByBroker setBlobDownloader ,(Lorg/apache/activemq/blob/BlobDownloader;)V >(Lorg/apache/activemq/blob/BlobTransferPolicy;Ljava/io/File;)V setBlobUploader *(Lorg/apache/activemq/blob/BlobUploader;)V java/io/File getName setName E(Lorg/apache/activemq/blob/BlobTransferPolicy;Ljava/io/InputStream;)V append -(Ljava/lang/Object;)Ljava/lang/StringBuilder; -(Ljava/lang/String;)Ljava/lang/StringBuilder; getTransactionId -()Lorg/apache/activemq/command/TransactionId; isInXATransaction addSynchronization 4(Lorg/apache/activemq/transaction/Synchronization;)V createRemoveCommand *()Lorg/apache/activemq/command/RemoveInfo; &org/apache/activemq/command/RemoveInfo setLastDeliveredSequenceId (J)V iterator ()Ljava/util/Iterator; hasNext next ()Ljava/lang/Object; inProgressClearRequired U(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/ActiveMQMessageConsumer;)V $org/apache/activemq/thread/Scheduler executeAfterDelay (Ljava/lang/Runnable;J)V getFirstFailureError ()Ljava/io/IOException; setFailureError (Ljava/io/IOException;)V java/lang/Math max (JJ)J clear isInLocalTransaction
removeSession
setConnection setDispatchedBySessionPool
dequeueNoWait /()Lorg/apache/activemq/command/MessageDispatch;
getMessage '()Lorg/apache/activemq/command/Message; isExpired isDuplicate P(Lorg/apache/activemq/ActiveMQDispatcher;Lorg/apache/activemq/command/Message;)Z setAcknowledgeCallback &(Lorg/apache/activemq/util/Callback;)V beforeDelivery ;(Lorg/apache/activemq/ActiveMQSession;Ljavax/jms/Message;)V setDeliverySequenceId javax/jms/MessageListener onMessage (Ljavax/jms/Message;)V error *(Ljava/lang/String;Ljava/lang/Throwable;)V onClientInternalException (Ljava/lang/Throwable;)V 2(Lorg/apache/activemq/command/MessageDispatch;BI)V #org/apache/activemq/command/Message getMessageId )()Lorg/apache/activemq/command/MessageId; setFirstMessageId *(Lorg/apache/activemq/command/MessageId;)V setTransactionId .(Lorg/apache/activemq/command/TransactionId;)V U(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/command/MessageDispatch;)V
afterDelivery B(Lorg/apache/activemq/ActiveMQSession;)Ljavax/jms/MessageProducer; getSendTimeout 1org/apache/activemq/ActiveMQMessageTransformation transformDestination J(Ljavax/jms/Destination;)Lorg/apache/activemq/command/ActiveMQDestination; ?(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/command/ProducerId;Lorg/apache/activemq/command/ActiveMQDestination;I)V U(Lorg/apache/activemq/ActiveMQSession;Ljava/lang/String;Z)Ljavax/jms/MessageConsumer; getPrefetchPolicy .()Lorg/apache/activemq/ActiveMQPrefetchPolicy; getTopicPrefetch getQueuePrefetch getMaximumPendingMessageLimit ?(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/command/ConsumerId;Lorg/apache/activemq/command/ActiveMQDestination;Ljava/lang/String;Ljava/lang/String;IIZZZLjavax/jms/MessageListener;)V
startsWith (Ljava/lang/String;)Z g(Lorg/apache/activemq/ActiveMQSession;Ljava/lang/String;Ljava/lang/String;Z)Ljavax/jms/TopicSubscriber; !checkClientIDWasManuallySpecified isOptimizedMessageDispatch getOptimizeDurableTopicPrefetch getDurableTopicPrefetch ?(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/command/ConsumerId;Lorg/apache/activemq/command/ActiveMQDestination;Ljava/lang/String;Ljava/lang/String;IIZZZ)V ?(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/command/ConsumerId;Lorg/apache/activemq/command/ActiveMQDestination;Ljava/lang/String;Z)V createTempDestination 8(Z)Lorg/apache/activemq/command/ActiveMQTempDestination; R(Lorg/apache/activemq/ActiveMQSession;Ljava/lang/String;)Ljavax/jms/QueueReceiver; ?(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/command/ConsumerId;Lorg/apache/activemq/command/ActiveMQDestination;Ljava/lang/String;IIZ)V >(Lorg/apache/activemq/ActiveMQSession;)Ljavax/jms/QueueSender; Z(Lorg/apache/activemq/ActiveMQSession;Lorg/apache/activemq/command/ActiveMQDestination;I)V U(Lorg/apache/activemq/ActiveMQSession;Ljava/lang/String;Z)Ljavax/jms/TopicSubscriber; A(Lorg/apache/activemq/ActiveMQSession;)Ljavax/jms/TopicPublisher; execute java/lang/Thread
currentThread ()Ljava/lang/Thread; interrupt add (Ljava/lang/Object;)Z isDurableSubscriber onCreateDurableSubscriber
getConsumerId
addDispatcher S(Lorg/apache/activemq/command/ConsumerId;Lorg/apache/activemq/ActiveMQDispatcher;)V removeDispatcher onRemoveDurableSubscriber remove +(Lorg/apache/activemq/ActiveMQDispatcher;)V getProducerInfo ,()Lorg/apache/activemq/command/ProducerInfo; (org/apache/activemq/command/ProducerInfo
getProducerId X(Lorg/apache/activemq/command/ProducerId;Lorg/apache/activemq/ActiveMQMessageProducer;)V +(Lorg/apache/activemq/command/ProducerId;)V set getNextSequenceId +(Lorg/apache/activemq/command/SessionId;J)V isTemporary isDeleted 4(Lorg/apache/activemq/command/ActiveMQDestination;)Z getMessageSequence setJMSDeliveryMode (I)V getDisableMessageTimestamp java/lang/System currentTimeMillis setJMSTimestamp setJMSExpiration setJMSPriority setJMSRedelivered transformMessage j(Ljavax/jms/Message;Lorg/apache/activemq/ActiveMQConnection;)Lorg/apache/activemq/command/ActiveMQMessage; ,(Lorg/apache/activemq/command/ProducerId;J)V setMessageId setJMSMessageID
setBrokerPath *([Lorg/apache/activemq/command/BrokerId;)V setJMSDestination (Ljavax/jms/Destination;)V isCopyMessageOnSend copy onSend
setProducerId isTraceEnabled trace isResponseRequired isAlwaysSyncSend isPersistent isUseAsyncSend getSize
increaseUsage N(Lorg/apache/activemq/command/Command;I)Lorg/apache/activemq/command/Response; begin *org/apache/activemq/MessageDispatchChannel removeAll rollbackDuplicate P(Lorg/apache/activemq/ActiveMQDispatcher;Lorg/apache/activemq/command/Message;)V java/util/Collections reverse (Ljava/util/List;)V executeFirst get (Z)Ljava/lang/StringBuilder; equals warn isSendAcksAsync org/slf4j/LoggerFactory getLogger %(Ljava/lang/Class;)Lorg/slf4j/Logger; !G IJKLM QR S T UR S T VW XY Z[ \R ]^ _` ab cb db ef gh ij k l mj k n op Bqp rp sp tp uv wx yz {| }~ ? ?? ?? k ?? ? ? ?*? *? Y? ? *? Y? ? *? Y? ? *?
Y? ? *?
Y? ? *?
Y? ? *? Y? ? *? ? ? *+? *? *? *? *? Y+? ,? ? ? *? Y+? ? !*? "Y*? *? ? #? $*? *? ? %*+? &? '*+? (? )*+? *? *+? +? ,*? -Y*? .? /+*? 0+? 1? *? 2? ? j ? ? ? ? % ? 1 ? <