quickfix-developers Mailing List for QuickFIX (Page 243)
Brought to you by:
orenmnero
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
|
Feb
(5) |
Mar
(16) |
Apr
(15) |
May
(17) |
Jun
(33) |
Jul
(35) |
Aug
(34) |
Sep
(19) |
Oct
(40) |
Nov
(51) |
Dec
(43) |
2003 |
Jan
(45) |
Feb
(79) |
Mar
(124) |
Apr
(121) |
May
(132) |
Jun
(77) |
Jul
(110) |
Aug
(57) |
Sep
(48) |
Oct
(83) |
Nov
(60) |
Dec
(40) |
2004 |
Jan
(67) |
Feb
(72) |
Mar
(74) |
Apr
(87) |
May
(70) |
Jun
(96) |
Jul
(75) |
Aug
(147) |
Sep
(128) |
Oct
(83) |
Nov
(67) |
Dec
(42) |
2005 |
Jan
(110) |
Feb
(84) |
Mar
(68) |
Apr
(55) |
May
(51) |
Jun
(192) |
Jul
(111) |
Aug
(100) |
Sep
(79) |
Oct
(127) |
Nov
(73) |
Dec
(112) |
2006 |
Jan
(95) |
Feb
(120) |
Mar
(138) |
Apr
(127) |
May
(124) |
Jun
(97) |
Jul
(103) |
Aug
(88) |
Sep
(138) |
Oct
(91) |
Nov
(112) |
Dec
(57) |
2007 |
Jan
(55) |
Feb
(35) |
Mar
(56) |
Apr
(16) |
May
(20) |
Jun
(77) |
Jul
(43) |
Aug
(47) |
Sep
(29) |
Oct
(54) |
Nov
(39) |
Dec
(40) |
2008 |
Jan
(69) |
Feb
(79) |
Mar
(122) |
Apr
(106) |
May
(114) |
Jun
(76) |
Jul
(83) |
Aug
(71) |
Sep
(53) |
Oct
(75) |
Nov
(54) |
Dec
(43) |
2009 |
Jan
(32) |
Feb
(31) |
Mar
(64) |
Apr
(48) |
May
(38) |
Jun
(43) |
Jul
(35) |
Aug
(15) |
Sep
(52) |
Oct
(62) |
Nov
(62) |
Dec
(21) |
2010 |
Jan
(44) |
Feb
(10) |
Mar
(47) |
Apr
(22) |
May
(5) |
Jun
(54) |
Jul
(19) |
Aug
(54) |
Sep
(16) |
Oct
(15) |
Nov
(7) |
Dec
(8) |
2011 |
Jan
(18) |
Feb
(9) |
Mar
(5) |
Apr
(5) |
May
(41) |
Jun
(40) |
Jul
(29) |
Aug
(17) |
Sep
(12) |
Oct
(23) |
Nov
(22) |
Dec
(11) |
2012 |
Jan
(8) |
Feb
(24) |
Mar
(5) |
Apr
(5) |
May
(6) |
Jun
(5) |
Jul
(5) |
Aug
(5) |
Sep
(2) |
Oct
(9) |
Nov
(2) |
Dec
(18) |
2013 |
Jan
(25) |
Feb
(16) |
Mar
(8) |
Apr
(2) |
May
(16) |
Jun
(17) |
Jul
(2) |
Aug
(13) |
Sep
(3) |
Oct
(4) |
Nov
(1) |
Dec
|
2014 |
Jan
(2) |
Feb
|
Mar
(22) |
Apr
(9) |
May
(3) |
Jun
(1) |
Jul
(5) |
Aug
(11) |
Sep
(18) |
Oct
(4) |
Nov
(4) |
Dec
(3) |
2015 |
Jan
(2) |
Feb
|
Mar
|
Apr
(3) |
May
(4) |
Jun
(37) |
Jul
|
Aug
(4) |
Sep
(6) |
Oct
(1) |
Nov
(4) |
Dec
(2) |
2016 |
Jan
(9) |
Feb
(3) |
Mar
(7) |
Apr
(1) |
May
(8) |
Jun
|
Jul
|
Aug
|
Sep
(7) |
Oct
(3) |
Nov
(16) |
Dec
|
2017 |
Jan
(1) |
Feb
(15) |
Mar
(2) |
Apr
(12) |
May
(4) |
Jun
(7) |
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
(23) |
Dec
(8) |
2018 |
Jan
(2) |
Feb
(4) |
Mar
(2) |
Apr
(8) |
May
(3) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(5) |
Nov
(3) |
Dec
|
2020 |
Jan
|
Feb
(4) |
Mar
(3) |
Apr
|
May
|
Jun
|
Jul
(12) |
Aug
(5) |
Sep
(3) |
Oct
(1) |
Nov
|
Dec
(1) |
2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2025 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Ramprakash U. <ram...@ca...> - 2004-05-27 15:24:05
|
Hi, I have just started learning QuickFix in .NET I trying to use SocketAcceptor I get an error whenever I initialize that. The Error is, An unhandled exception of type 'QuickFix.ConfigError' occurred in WindowsApplication1.exe Additional information: Configuration failed: Could not initialize COM Unhandled Exception: QuickFix.ConfigError: Configuration failed: Could not initialize COM at ReceiveFixEngineCS.Test.Main(String[] args) in c:\documents and settings\umapar1a\my documents\visual studio projects\cabutilities\testingprojects\windowsapplication1\class1.cs:line 37The program '[468] WindowsApplication1.exe' has exited with code 0 (0x0). The code is here, String fileName = "server.cfg"; SessionSettings settings = new SessionSettings(fileName); Application application = new Application(); FileStoreFactory storefactory = new FileStoreFactory(settings); ScreenLogFactory logFactory = new ScreenLogFactory( true, true, true ); MessageFactory messageFactory = new DefaultMessageFactory(); SocketAcceptor acceptor = new SocketAcceptor( application, storefactory, settings, logFactory, messageFactory ); The configuration file is this, [DEFAULT] ConnectionType=acceptor SocketAcceptPort=5001 FileStorePath=store StartTime=00:00:00 EndTime=00:00:00 [SESSION] BeginString=FIX.4.2 SenderCompID=s09183 TargetCompID=umapar1a DataDictionary=FIX42.xml Any help is appreciated, Ramprakash |
From: Oren M. <or...@qu...> - 2004-05-26 15:49:28
|
Clark, I would recommend posting this message to the general discussion forum=20= at www.fixprotocol.org. That is the best place for help with general=20 FIX questions like this. You will probably get a better response over=20= there: http://www.fixprotocol.org/cgi-bin/Menu.cgi?menu=3D700 --oren On May 22, 2004, at 3:59 PM, Clark Sims wrote: > I am a newbie to fix programming. I want to make sure > I understand the sequence of events for placeing a new > order, doing a cancel replace, and doing a straight > cancel. I also have some questions about various > fields within the fix messages. > > For a new single order I think this is the sequence of > events: > > 1) Fix client sends a NewOrderSingle message to the > the Fix server. > Question 1) How should I set HandlInst? > For orders to Arca, Isnd, and other ECN's I > guess it should be > 1, for > HandlInst_AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION > For orders that go to Dot how should this be > specified? Reading the names > I would guess > 2, would correcspend to AutoEx, or > HandlInst_AUTOMATED_EXECUTION_ORDER_PUBLIC_BROKER_INTERVENTION_OK > and > 3, HandlInst_MANUAL_ORDER_BEST_EXECUTION would > be a normal dot order. > Are these values correct? > > > 2) One of two things happens: > a) The Fix server sends an ExecutionReport to the > client with > OrdStatus =3D 0 =3D OrdStatus_NEW > b) The Fix server sends an ExecutionReport to the > client with > OrdStatus =3D Rejected > Question 2) Where is the reason for the rejection? > > For a cancel replace order I think this sequence of > events happens: > 1) the Fix Client sends a OrderCancelReplaceRequest > to the Fix server. > Question 3) Do I need to set the quantity for a > cancel replace order? > If so what quantity should I use, the original > quantity, > or the remaining unfilled quantity? > > 2) The fix server sends an execution messages with > OrdStatus =3D 1 =3D Pending, > or the fix server sends a OrderCancelReject > message. > Question 3) If the fix server sends an > OrderCancelReject message, where > is the reason stated? > > 3) The fix server sends an execution message with > OrdStatus =3D 9 =3D Replaced > > For a cancel order, I think the following events > happen: > 1) the Fix Client sends a OrderCancelRequest to the > Fix server. > Question 4) Do I need to set the quantity for a > cancel order? > If so what quantity should I use, the original > quantity, > or the remaining unfilled quantity? > > > 2) The fix server sends an execution message with > OrdStatus =3D 1 =3D Pending, > or the fix server sends a OrderCancelReject > message. > Question 5) If the fix server sends an > OrderCancelReject message, where > is the reason stated? > > 3) The fix server sends an execution message with > OrdStatus =3D 7 =3D Canceled > > > Thanks in Advance, > > Clark Sims > > > =09 > =09 > __________________________________ > Do you Yahoo!? > Yahoo! Domains =96 Claim yours for only $14.70/year > http://smallbusiness.promotions.yahoo.com/offer > > > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle=20 > 10g. > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id=3D3149&alloc_id=3D8166&op=3Dclick > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Howard S. E. <ho...@Pi...> - 2004-05-26 15:21:20
|
The exception is generated from generateReject (below). It is caught = and handled within the library. "Tried to send a reject while not = logged on" is logged to the event log for the session. =20 from Session.cpp =20 doBadTime calls generateReject, in generateReject.. =20 648: if ( !m_state.receivedLogon() ) 649: throw std::logic_error( "Tried to send a reject while not logged = on" ); -----Original Message----- From: Oren Miller [mailto:or...@qu...] Sent: Wednesday, May 26, 2004 10:28 AM To: Howard S. Engelhart Cc: qui...@li... Subject: Re: [Quickfix-developers] QF 1.7.1 logon rejects When you say it generates an exception, what sort of exception? Is it an = exception that is being thrown from QuickFIX your application? Or an = internal exception that is trapped and just not being logged?=20 --oren=20 On May 23, 2004, at 11:19 AM, Howard S. Engelhart wrote:=20 Using QF 1.7.1=20 A FIX client initiating a logon to my with tag 52 off by greater than = the max latency allowed for the session was correctly prevented from = logging on. When the engine attempts to generate a reject it results in = an exception because the session has not logged on. If this is the = desired behaviour, would it be possible to log the intended reject = before throwing, or incorportae into the execption:=20 "Tried to send a SendingTimeAccuracy reject while not logged on"=20 or even=20 "Tried to send a reject (err=3D##,fld=3D##) while not logged on"=20 20040523-07:45:04 : Created session=20 20040523-13:35:11 : Tried to send a reject while not logged on=20 20040523-13:35:11 : Disconnecting=20 -H=20 p.s. Thanks for a great release. The improvements made since 1.6 are = greatly appreciated. Thanks.=20 |
From: Oren M. <or...@qu...> - 2004-05-26 15:17:08
|
When you say it generates an exception, what sort of exception? Is it=20= an exception that is being thrown from QuickFIX your application? Or an=20= internal exception that is trapped and just not being logged? --oren On May 23, 2004, at 11:19 AM, Howard S. Engelhart wrote: > Using QF 1.7.1 > =A0 > A FIX client initiating a logon to my with tag 52 off by greater than=20= > the max latency allowed for the session was correctly prevented from=20= > logging on.=A0 When the engine attempts to generate a reject it = results=20 > in an exception because the session has not logged on.=A0 If this is = the=20 > desired behaviour, would it be possible to log the intended reject=20 > before throwing, or incorportae into the execption: > =A0 > "Tried to send a SendingTimeAccuracy reject while not logged on" > or even > "Tried to send a reject (err=3D##,fld=3D##) while not logged on" > =A0 > 20040523-07:45:04 : Created session > 20040523-13:35:11 : Tried to send a reject while not logged on > 20040523-13:35:11 : Disconnecting > -H > =A0 > p.s.=A0 Thanks for a great release.=A0 The improvements made since 1.6 = are=20 > greatly appreciated.=A0 Thanks. > =A0 |
From: Oren M. <or...@qu...> - 2004-05-25 19:06:27
|
I'll look at that but why are you loading quickfix_jni.dsw into VS.NET? There is a quickfix_jni.sln included with QuickFIX. On May 25, 2004, at 1:51 PM, Andrew Munn wrote: > It looks like in 1.7.1 quickfix_jni.dsw has moved to the location > /quickfix/ > from its former home /quickfix/src/java/ . I had to move it back to > open it > w/VS.NET. Otherwise I got a message saying it had been corrupted. > > -Andrew > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle > 10g. > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Andrew M. <an...@nm...> - 2004-05-25 18:51:22
|
It looks like in 1.7.1 quickfix_jni.dsw has moved to the location /quickfix/ from its former home /quickfix/src/java/ . I had to move it back to open it w/VS.NET. Otherwise I got a message saying it had been corrupted. -Andrew |
From: Ramprakash U. <ram...@ca...> - 2004-05-24 13:07:29
|
Hi All, I'm a newbie trying to use QuickFix in VB.NET I ran into problems with my code here. Could anyone of help me to solve. = I have seen a similar post with no answers. I use like this in my VB.NET = code, Imports QuickFix Public Class QFapp Inherits QuickFix.MessageCracker Implements QuickFix.Application Public Sub toApp(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.toApp End Sub Public Sub fromAdmin(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.fromAdmin End Sub Public Sub onCreate(ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.onCreate End Sub Public Sub onLogon(ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.onLogon End Sub Public Sub onLogout(ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.onLogout End Sub Public Sub toAdmin(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.toAdmin End Sub Public Sub fromApp(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.fromApp End Sub End Class And then I call like this, Imports QuickFix Module Module1 Sub Main() Try 'Get Setting from ini file Dim ss As New SessionSettings("c:\client.ini") Dim sInit As SocketInitiator Dim sapp As New QFapp Dim storeFactory As New FileStoreFactory(ss) Dim logFactory As New FileLogFactory("c:\test.log") Dim msgFactory As New DefaultMessageFactory 'Initiator Section sInit =3D New SocketInitiator(sapp, storeFactory, ss, = msgFactory) 'sInit =3D New SocketAcceptor(sapp, storeFactory, ss, = logFactory, msgFactory) sInit.start() sInit.stop() Catch ex As System.Exception Trace.WriteLine(ex.Message) Trace.WriteLine(ex.StackTrace) End Try End Sub End Module The System throws an Error (doesn't even caught in Catch Block) with the following message, An unhandled exception of type 'System.TypeLoadException' occurred in Unknown Module. Additional information: Signature of the body and declaration in a = method implementation do not match. Type: TestFixEngine.QFapp. Assembly: TestFixEngine, Version=3D1.0.1605.20104, Culture=3Dneutral, = PublicKeyToken=3Dnull. TIA, Holy P.S: I could be helpful in anyone of you point out the QuickFix VB.NET Resources |
From: Ramprakash U. <ram...@ca...> - 2004-05-24 12:44:02
|
Hi All, I'm a newbie trying to use QuickFix in VB.NET I ran into problems with my code here. Could anyone of help me to solve. = I have seen a similar post with no answers. I use like this in my VB.NET = code, Imports QuickFix Public Class QFapp Inherits QuickFix.MessageCracker Implements QuickFix.Application Public Sub toApp(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.toApp End Sub Public Sub fromAdmin(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.fromAdmin End Sub Public Sub onCreate(ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.onCreate End Sub Public Sub onLogon(ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.onLogon End Sub Public Sub onLogout(ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.onLogout End Sub Public Sub toAdmin(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.toAdmin End Sub Public Sub fromApp(ByVal msg As QuickFix.Message, ByVal sid As QuickFix.SessionID) Implements QuickFix.Application.fromApp End Sub End Class And then I call like this, Imports QuickFix Module Module1 Sub Main() Try 'Get Setting from ini file Dim ss As New SessionSettings("c:\client.ini") Dim sInit As SocketInitiator Dim sapp As New QFapp Dim storeFactory As New FileStoreFactory(ss) Dim logFactory As New FileLogFactory("c:\test.log") Dim msgFactory As New DefaultMessageFactory 'Initiator Section sInit =3D New SocketInitiator(sapp, storeFactory, ss, = msgFactory) 'sInit =3D New SocketAcceptor(sapp, storeFactory, ss, = logFactory, msgFactory) sInit.start() sInit.stop() Catch ex As System.Exception Trace.WriteLine(ex.Message) Trace.WriteLine(ex.StackTrace) End Try End Sub End Module The System throws an Error (doesn't even caught in Catch Block) with the following message, An unhandled exception of type 'System.TypeLoadException' occurred in Unknown Module. Additional information: Signature of the body and declaration in a = method implementation do not match. Type: TestFixEngine.QFapp. Assembly: TestFixEngine, Version=3D1.0.1605.20104, Culture=3Dneutral, = PublicKeyToken=3Dnull. TIA, Holy P.S: I could be helpful in anyone of you point out the QuickFix VB.NET Resources |
From: Howard S. E. <ho...@Pi...> - 2004-05-23 16:19:36
|
Using QF 1.7.1 =20 A FIX client initiating a logon to my with tag 52 off by greater than = the max latency allowed for the session was correctly prevented from = logging on. When the engine attempts to generate a reject it results in = an exception because the session has not logged on. If this is the = desired behaviour, would it be possible to log the intended reject = before throwing, or incorportae into the execption: =20 "Tried to send a SendingTimeAccuracy reject while not logged on" or even "Tried to send a reject (err=3D##,fld=3D##) while not logged on" =20 20040523-07:45:04 : Created session 20040523-13:35:11 : Tried to send a reject while not logged on 20040523-13:35:11 : Disconnecting -H =20 p.s. Thanks for a great release. The improvements made since 1.6 are = greatly appreciated. Thanks. =20 |
From: Clark S. <cla...@ya...> - 2004-05-22 21:00:02
|
I am a newbie to fix programming. I want to make sure I understand the sequence of events for placeing a new order, doing a cancel replace, and doing a straight cancel. I also have some questions about various fields within the fix messages. For a new single order I think this is the sequence of events: 1) Fix client sends a NewOrderSingle message to the the Fix server. Question 1) How should I set HandlInst? For orders to Arca, Isnd, and other ECN's I guess it should be 1, for HandlInst_AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION For orders that go to Dot how should this be specified? Reading the names I would guess 2, would correcspend to AutoEx, or HandlInst_AUTOMATED_EXECUTION_ORDER_PUBLIC_BROKER_INTERVENTION_OK and 3, HandlInst_MANUAL_ORDER_BEST_EXECUTION would be a normal dot order. Are these values correct? 2) One of two things happens: a) The Fix server sends an ExecutionReport to the client with OrdStatus = 0 = OrdStatus_NEW b) The Fix server sends an ExecutionReport to the client with OrdStatus = Rejected Question 2) Where is the reason for the rejection? For a cancel replace order I think this sequence of events happens: 1) the Fix Client sends a OrderCancelReplaceRequest to the Fix server. Question 3) Do I need to set the quantity for a cancel replace order? If so what quantity should I use, the original quantity, or the remaining unfilled quantity? 2) The fix server sends an execution messages with OrdStatus = 1 = Pending, or the fix server sends a OrderCancelReject message. Question 3) If the fix server sends an OrderCancelReject message, where is the reason stated? 3) The fix server sends an execution message with OrdStatus = 9 = Replaced For a cancel order, I think the following events happen: 1) the Fix Client sends a OrderCancelRequest to the Fix server. Question 4) Do I need to set the quantity for a cancel order? If so what quantity should I use, the original quantity, or the remaining unfilled quantity? 2) The fix server sends an execution message with OrdStatus = 1 = Pending, or the fix server sends a OrderCancelReject message. Question 5) If the fix server sends an OrderCancelReject message, where is the reason stated? 3) The fix server sends an execution message with OrdStatus = 7 = Canceled Thanks in Advance, Clark Sims __________________________________ Do you Yahoo!? Yahoo! Domains Claim yours for only $14.70/year http://smallbusiness.promotions.yahoo.com/offer |
From: Requenes, M. <Max...@sa...> - 2004-05-19 12:40:51
|
I'm running a CVS'd checkout of QuickFix between the 1.6.0 and 1.7.0 releases; on Solaris, GCC 2.95.3, buy side; using ThreadedSocketInitiator. I am having a problem initiating connections to brokers when starting Quickfix before the configured start-times for the connections. I've checked QF 1.7.1, and the problem/solution I'm about to describe still applies. The scenario is as follows: I have connections to multiple brokers, with multiple start times ranging from 8:30 am to 8:35 am. If I start the application BEFORE 8:30 am, ThreadedSocketInitiator::onStart calls 'connect', which sees that the sessions aren't in their configured time range, then goes into an infinite wait loop. It never tries to reconnect. void ThreadedSocketInitiator::onStart() { connect(); while ( !m_stop) process_sleep( 1 ); } The fix I propose is to place the call to 'connect' within the body of the wait loop. void ThreadedSocketInitiator::onStart() { while ( !m_stop) { connect(); process_sleep( 1 ); } } Do you see any problems with this? BTW, this problem is also described in this QF mailing list thread (in the initial message only): http://sourceforge.net/mailarchive/forum.php?thread_id=3738929&forum_id=103 Regards, Max Requenes SAC Capital Management, LLC 212-813-8696 max...@sa... DISCLAIMER: This e-mail message and any attachments are intended solely for the use of the individual or entity to which it is addressed and may contain information that is confidential or legally privileged. If you are not the intended recipient, you are hereby notified that any dissemination, distribution, copying or other use of this message or its attachments is strictly prohibited. If you have received this message in error, please notify the sender immediately and permanently delete this message and any attachments. |
From: Caleb E. <ca...@bk...> - 2004-05-18 22:23:52
|
On Tue, May 18, 2004 at 03:10:19PM -0700, Clark Sims wrote: > I have heard horrilbe things about gcc 3.0*, and gcc 3.2 is highly > recomended. I am downloading 3.2 from > http://www.apt-get.org/search.php?query=gcc-3.2&arch%5B%5D=i386&arch%5B%5D=all > Can I expect quickfix to work with this version? Has anyone else > used this version? I am running Debian linux on a 2 processor > machine. I'd recommend gcc 3.3.2 or later over gcc 3.2. There is a bug in 3.2 whereby temporary objects occasionally have their destructors called twice (I think it may only occur in an SMP environment, which you say you have). Either version should handle QuickFix just fine. Not sure about gcc 3.4 yet. -- | | air, n.: Caleb Epstein | bklyn . org | A nutritious substance supplied by a cae at | Brooklyn Dust | bountiful Providence for the fattening bklyn dot org | Bunny Mfg. | of the poor. | | -- Ambrose Bierce, "The | | Devil's Dictionary" |
From: Clark S. <cla...@ya...> - 2004-05-18 22:17:35
|
I have heard horrilbe things about gcc 3.0*, and gcc 3.2 is highly recomended. I am downloading 3.2 from http://www.apt-get.org/search.php?query=gcc-3.2&arch%5B%5D=i386&arch%5B%5D=all Can I expect quickfix to work with this version? Has anyone else used this version? I am running Debian linux on a 2 processor machine. --------------------------------- Do you Yahoo!? SBC Yahoo! - Internet access at a great low price. |
From: Clark S. <cla...@ya...> - 2004-05-18 02:07:06
|
I opened up a message log of incomeing messages for tradeclient. I can see each message is marked by a newline, and each field is marked with ^A. Other than that I can't read the messages. Is there a convenient way to distingish between the following message types: Error messages of rejected trades Heartbeats Logon Logoff Fills Confirmation that a trade is received THanks in advance Clark Sims __________________________________ Do you Yahoo!? SBC Yahoo! - Internet access at a great low price. http://promo.yahoo.com/sbc/ |
From: Oren M. <or...@qu...> - 2004-05-17 23:49:46
|
This should answer your questions: http://b2bits.com/fixopaedia/fixdic42/md0e10913.html On May 17, 2004, at 11:54 AM, Clark Sims wrote: > Pardon the newbe question: > =A0 > It is my understanding that an execution messages can have=A0several=20= > different meanings: > =A0 > 1) a new order has been confirmed > 2) an outstanding order has had a partial fill, and there is a=20 > quantity remaining > 3) an outstanding order has been completely filled > 4) a cancel replace order has been confirmed > 5) a previous order has been canceled > =A0 > How are all of these cases expressed? > What flags exists for a confirmation, but not a fill? > What flags exists for a confirmation, of a cancel replace? > What flags exists for a confirmation of a straight cancel? > =A0 > Thanks in Advance, > =A0 > Clark Sims > > Do you Yahoo!? > SBC Yahoo! - Internet access at a great low price.= |
From: Clark S. <cla...@ya...> - 2004-05-17 20:26:39
|
I would like to build a quote server, for a linux box. Is there an open source package available for this? What non-open packages are available, and what do people think of them? How much do they cost? Thanks in Advance, Clark Sims --------------------------------- Do you Yahoo!? SBC Yahoo! - Internet access at a great low price. |
From: Clark S. <cla...@ya...> - 2004-05-17 20:19:50
|
Pardon the newbe question: It is my understanding that an execution messages can have several different meanings: 1) a new order has been confirmed 2) an outstanding order has had a partial fill, and there is a quantity remaining 3) an outstanding order has been completely filled 4) a cancel replace order has been confirmed 5) a previous order has been canceled How are all of these cases expressed? What flags exists for a confirmation, but not a fill? What flags exists for a confirmation, of a cancel replace? What flags exists for a confirmation of a straight cancel? Thanks in Advance, Clark Sims --------------------------------- Do you Yahoo!? SBC Yahoo! - Internet access at a great low price. |
From: Oren M. <om...@ri...> - 2004-05-17 18:14:00
|
Yeah, we'll bump up up the version number. I'd rather just fix the problem than pollute the API with extra methods. We only bump the .so versions when doing a release anyway and there will almost surely be another change that will affect the ABI between now and then anyhow. BTW back to the original topic, for future reference here is the section in the documentation that covers user defined fields: http://www.quickfixengine.org/quickfix/doc/html/user_defined.html On May 17, 2004, at 12:44 PM, Caleb Epstein wrote: > On Mon, May 17, 2004 at 10:26:08AM -0500, Oren Miller wrote: > >> Nope, that should be passed as a reference. I made the change and >> did a performance test and it actually doesn't make any difference, at >> least when using an optimizer. My guess is the optimizer is smart >> enough to know that if you are passing in a const object, it might as >> well pass it in as a reference anyway. With the optimizer turned off >> it there would be a significant difference. In any case I'll check in >> the change. > > It depends where you do your testing I wager. With gcc, > std::string is reference counted, so leaving off the & should > be more or less harmless. On other platforms, though, > std::string has copy semantics and this may help speed things > up. > > Nto sure if you care about "ABI" compatibility, but this > interface change will cause your new quickfix lib to be > runtime-incompatible with older versions (since it will no > longere provde the the setField method that takes a plain > string). You may want to provide *both* forms or bump at least > the .so version number. > > Small change but potentially large impact. > > -- > Caleb Epstein | bklyn . org | T-shirt: > cae at | Brooklyn Dust | Life is *not* a Cabaret, and > stop > bklyn dot org | Bunny Mfg. | calling me chum! > > > ------------------------------------------------------- > This SF.Net email is sponsored by: SourceForge.net Broadband > Sign-up now for SourceForge Broadband and get the fastest > 6.0/768 connection for only $19.95/mo for the first 3 months! > http://ads.osdn.com/?ad_id=2562&alloc_id=6184&op=click > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers > |
From: Caleb E. <ca...@bk...> - 2004-05-17 17:44:26
|
On Mon, May 17, 2004 at 10:26:08AM -0500, Oren Miller wrote: > Nope, that should be passed as a reference. I made the change and > did a performance test and it actually doesn't make any difference, at > least when using an optimizer. My guess is the optimizer is smart > enough to know that if you are passing in a const object, it might as > well pass it in as a reference anyway. With the optimizer turned off > it there would be a significant difference. In any case I'll check in > the change. It depends where you do your testing I wager. With gcc, std::string is reference counted, so leaving off the & should be more or less harmless. On other platforms, though, std::string has copy semantics and this may help speed things up. Nto sure if you care about "ABI" compatibility, but this interface change will cause your new quickfix lib to be runtime-incompatible with older versions (since it will no longere provde the the setField method that takes a plain string). You may want to provide *both* forms or bump at least the .so version number. Small change but potentially large impact. -- Caleb Epstein | bklyn . org | T-shirt: cae at | Brooklyn Dust | Life is *not* a Cabaret, and stop bklyn dot org | Bunny Mfg. | calling me chum! |
From: Oren M. <om...@ri...> - 2004-05-17 15:26:13
|
Nope, that should be passed as a reference. I made the change and did=20= a performance test and it actually doesn't make any difference, at=20 least when using an optimizer. My guess is the optimizer is smart=20 enough to know that if you are passing in a const object, it might as=20 well pass it in as a reference anyway. With the optimizer turned off=20 it there would be a significant difference. In any case I'll check in=20= the change. --oren On May 17, 2004, at 9:08 AM, Caleb Epstein wrote: > On Mon, May 17, 2004 at 09:00:48AM -0500, Vijay Singh Yadav wrote: > > > Hello All, This should be a fairly elementary question. How does one > > set a user-defined tag in a message (I need to do this for both > > NewOrderSingle and CancelReplace classses).=A0 We have a custom tag > > 9707 that needs to take a value 20 so I need to append 9707=3D20 to > > all the messages I have. My current code works but this is a new > > requirement I would like to introduce this change with minimal > > impact. > > =A0=A0=A0=A0=A0=A0=A0 Use one of these methods: > > =A0=A0=A0=A0=A0=A0=A0 FieldMap::setField (const FieldBase& field, bool = overwrite =3D=20 > true); > =A0=A0=A0=A0=A0=A0=A0 FieldMap::setField (int field, const = std::string value); > > =A0=A0=A0=A0=A0=A0=A0 The message classes all derive from FieldMap. > > =A0=A0=A0=A0=A0=A0=A0 Oren: any reason the second form of setField = takes a "const > =A0=A0=A0=A0=A0=A0=A0 std::string" and not a "const std::string&"? > > --=20 > Caleb Epstein |=A0 bklyn . org=A0 | Military secrets are the most = fleeting=20 > of all. > =A0=A0=A0 cae at=A0=A0=A0 | Brooklyn Dust | =A0=A0=A0=A0=A0=A0=A0 = =A0=A0=A0=A0=A0=A0=A0 -- Spock, "The=20 > Enterprise > bklyn dot org |=A0=A0 Bunny Mfg.=A0 | =A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0=A0= =A0=A0=A0 Incident", stardate=20 > 5027.4 > > > > ------------------------------------------------------- > This SF.Net email is sponsored by: SourceForge.net Broadband > Sign-up now for SourceForge Broadband and get the fastest > 6.0/768 connection for only $19.95/mo for the first 3 months! > http://ads.osdn.com/?ad_id=3D2562&alloc_id=3D6184&op=3Dclick > _______________________________________________ > Quickfix-developers mailing list > Qui...@li... > https://lists.sourceforge.net/lists/listinfo/quickfix-developers |
From: Caleb E. <ca...@bk...> - 2004-05-17 14:08:43
|
On Mon, May 17, 2004 at 09:00:48AM -0500, Vijay Singh Yadav wrote: > Hello All, This should be a fairly elementary question. How does one > set a user-defined tag in a message (I need to do this for both > NewOrderSingle and CancelReplace classses). We have a custom tag > 9707 that needs to take a value 20 so I need to append 9707=20 to > all the messages I have. My current code works but this is a new > requirement I would like to introduce this change with minimal > impact. Use one of these methods: FieldMap::setField (const FieldBase& field, bool overwrite = true); FieldMap::setField (int field, const std::string value); The message classes all derive from FieldMap. Oren: any reason the second form of setField takes a "const std::string" and not a "const std::string&"? -- Caleb Epstein | bklyn . org | Military secrets are the most fleeting of all. cae at | Brooklyn Dust | -- Spock, "The Enterprise bklyn dot org | Bunny Mfg. | Incident", stardate 5027.4 |
From: Vijay S. Y. <vy...@op...> - 2004-05-17 14:00:58
|
SGVsbG8gQWxsLA0KIFRoaXMgc2hvdWxkIGJlIGEgZmFpcmx5IGVsZW1lbnRhcnkgcXVlc3Rpb24u IEhvdyBkb2VzIG9uZSBzZXQgYSB1c2VyLWRlZmluZWQgdGFnIGluIGEgbWVzc2FnZSAoSSBuZWVk IHRvIGRvIHRoaXMgZm9yIGJvdGggTmV3T3JkZXJTaW5nbGUgYW5kIENhbmNlbFJlcGxhY2UgY2xh c3NzZXMpLg0KIA0KV2UgaGF2ZSBhIGN1c3RvbSB0YWcgOTcwNyB0aGF0IG5lZWRzIHRvIHRha2Ug YSB2YWx1ZSAyMCBzbyBJIG5lZWQgdG8gYXBwZW5kIDk3MDc9MjAgdG8gYWxsIHRoZSBtZXNzYWdl cyAgSSBoYXZlLiBNeSBjdXJyZW50IGNvZGUgd29ya3MgYnV0IHRoaXMgaXMgYSBuZXcgcmVxdWly ZW1lbnQgIEkgd291bGQgbGlrZSB0byBpbnRyb2R1Y2UgdGhpcyBjaGFuZ2Ugd2l0aCBtaW5pbWFs IGltcGFjdC4NCiANClBscy4gYWR2aXNlLg0KIA0KVGhhbmtzLA0KIA0KLS0gdmlqYXkNCg0KCS0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tIA0KCUZyb206IFZpamF5IFNpbmdoIFlhZGF2IA0KCVNl bnQ6IEZyaSA1LzE0LzIwMDQgMTI6MTcgUE0gDQoJVG86IHF1aWNrZml4LWRldmVsb3BlcnNAbGlz dHMuc291cmNlZm9yZ2UubmV0OyBxdWlja2ZpeC1kZXZlbG9wZXJzQGxpc3RzLnNvdXJjZWZvcmdl Lm5ldCANCglDYzogDQoJU3ViamVjdDogdXRpbGl0eSB0byB2aWV3IGxvZ3MNCgkNCgkNCglIZWxs byBBbGwsDQoJIGRvZXMgc29tZW9uZSBoYXZlIGEgdXRpbGl0eSB0aGF0IGNhbiBwYXJzZSB0aGUg bG9ncyBhbmQgc2hvdyBtZXNzYWdlcyB3aXRoIHRhZyBuYW1lcyAocmF0aGVyIHRoYW4gbnVtZXJp YyB2YWx1ZXMgZm9yIHRhZ3MpLiBTdWNoIGEgdXRpbGl0eSB3aWxsIGJlIHZlcnkgaGVscGZ1bCBp biBhbmFseXppbmcgbG9ncy4NCgkgDQoJSSB3aWxsIGFwcHJlY2lhdGUgeW91ciBzaGFyaW5nIHN1 Y2ggYSB1dGlsaXR5IHdpdGggbWUuDQoJIA0KCXRoYW5rcywNCgkgDQoJLS0gdmlqYXkNCg0KCQkt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLSANCgkJRnJvbTogcXVpY2tmaXgtZGV2ZWxvcGVycy1y ZXF1ZXN0QGxpc3RzLnNvdXJjZWZvcmdlLm5ldCBbbWFpbHRvOnF1aWNrZml4LWRldmVsb3BlcnMt cmVxdWVzdEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXRdIA0KCQlTZW50OiBUaHUgNS8xMy8yMDA0IDEw OjE3IFBNIA0KCQlUbzogcXVpY2tmaXgtZGV2ZWxvcGVyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQg DQoJCUNjOiANCgkJU3ViamVjdDogUXVpY2tmaXgtZGV2ZWxvcGVycyBkaWdlc3QsIFZvbCAxICM0 NzIgLSAzIG1zZ3MNCgkJDQoJCQ0KDQoJCVNlbmQgUXVpY2tmaXgtZGV2ZWxvcGVycyBtYWlsaW5n IGxpc3Qgc3VibWlzc2lvbnMgdG8NCgkJICAgICAgICBxdWlja2ZpeC1kZXZlbG9wZXJzQGxpc3Rz LnNvdXJjZWZvcmdlLm5ldA0KCQkNCgkJVG8gc3Vic2NyaWJlIG9yIHVuc3Vic2NyaWJlIHZpYSB0 aGUgV29ybGQgV2lkZSBXZWIsIHZpc2l0DQoJCSAgICAgICAgaHR0cHM6Ly9saXN0cy5zb3VyY2Vm b3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vcXVpY2tmaXgtZGV2ZWxvcGVycw0KCQlvciwgdmlhIGVt YWlsLCBzZW5kIGEgbWVzc2FnZSB3aXRoIHN1YmplY3Qgb3IgYm9keSAnaGVscCcgdG8NCgkJICAg ICAgICBxdWlja2ZpeC1kZXZlbG9wZXJzLXJlcXVlc3RAbGlzdHMuc291cmNlZm9yZ2UubmV0DQoJ CQ0KCQlZb3UgY2FuIHJlYWNoIHRoZSBwZXJzb24gbWFuYWdpbmcgdGhlIGxpc3QgYXQNCgkJICAg ICAgICBxdWlja2ZpeC1kZXZlbG9wZXJzLWFkbWluQGxpc3RzLnNvdXJjZWZvcmdlLm5ldA0KCQkN CgkJV2hlbiByZXBseWluZywgcGxlYXNlIGVkaXQgeW91ciBTdWJqZWN0IGxpbmUgc28gaXQgaXMg bW9yZSBzcGVjaWZpYw0KCQl0aGFuICJSZTogQ29udGVudHMgb2YgUXVpY2tmaXgtZGV2ZWxvcGVy cyBkaWdlc3QuLi4iDQoJCQ0KCQkNCgkJVG9kYXkncyBUb3BpY3M6DQoJCQ0KCQkgICAxLiBFeGNl cHRpb24gYW5kIGNyYXNoIChIb3dhcmQgUy4gRW5nZWxoYXJ0KQ0KCQkgICAyLiBSZTogRXhjZXB0 aW9uIGFuZCBjcmFzaCAoT3JlbiBNaWxsZXIpDQoJCSAgIDMuIFJFOiBFeGNlcHRpb24gYW5kIGNy YXNoIChIb3dhcmQgUy4gRW5nZWxoYXJ0KQ0KCQkNCgkJLS1fXy0tX18tLQ0KCQkNCgkJTWVzc2Fn ZTogMQ0KCQlEYXRlOiBUaHUsIDEzIE1heSAyMDA0IDE3OjA0OjE5IC0wNDAwDQoJCUZyb206ICJI b3dhcmQgUy4gRW5nZWxoYXJ0IiA8aG93YXJkQFBpcGVsaW5lQVRTLmNvbT4NCgkJVG86ICJRdWlj a0ZJWCBRdWVzdGlvbnMgXChFLW1haWxcKSIgPHF1aWNrZml4LWRldmVsb3BlcnNAbGlzdHMuc291 cmNlZm9yZ2UubmV0Pg0KCQlTdWJqZWN0OiBbUXVpY2tmaXgtZGV2ZWxvcGVyc10gRXhjZXB0aW9u IGFuZCBjcmFzaA0KCQkNCgkJVXNpbmcgcXVpY2tmaXggMS43LjAuLg0KCQkNCgkJV2hpbGUgcnVu bmluZyBhIHFhIHNjcmlwdCBwdW1waW5nIG5ldyBvcmRlcnMgaW4gdmlhIGEgc2luZ2xlIHNlc3Np b24gbXkgPQ0KCQlGSVggc2VydmVyIHdlbnQgZG93bi4gIFdlIHdlcmUgcnVubmluZyB1cCB0byAx MCBuZXcgb3JkZXJzIHBlciBzZWNvbmQgPQ0KCQkoYWJvdXQgMjAwMCBvcmRlcnMgd2l0aGluIDMg bWludXRlcykuIEZyb20gbXkgbG9ncyBpdCBsb29rcyBsaWtlIHRoZSA9DQoJCWVuZ2luZSB3YXMg YWJvdXQgdG8gc2VuZCBhIG1lc3NhZ2Ugb3V0IHdoZW4gaXQgd2VudCBkb3duLiAgQmVsb3cgaXMg dGhlID0NCgkJc3RhY2sgdHJhY2UgSSBwdWxsZWQgb3V0IG9mIHRoZSBjb3JlIGR1bXAuICBBbnlv bmUgaGF2ZSBhbnkgZXhwZXJpZW5jZSA9DQoJCXdpdGggcHJvYmxlbXMgbGlrZSB0aGlzPz0yMA0K CQkNCgkJVGhhbmtzLA0KCQkNCgkJLUhvd2FyZA0KCQkNCgkJDQoJCSM1ICAweDQwNmRlYWM1IGlu IHB0aHJlYWRfc2lnaGFuZGxlciAoc2lnbm89M0QxMSwgY3R4PTNEDQoJCSAgICAgIHtncyA9M0Qg MzEsIF9fZ3NoID0zRCAwLCBmcyA9M0QgMCwgX19mc2ggPTNEIDAsIGVzID0zRCA0MywgX19lc2gg PQ0KCQk9M0QgMCwgZHMgPTNEIDQzLCBfX2RzaCA9M0QgMCwgZWRpID0zRCAxMzgzNzEyMjgsIGVz aSA9M0QgOTI2MTAzMTczLCBlYnAgPQ0KCQk9M0QgMTA5NDg3MTMNCgkJMTYsIGVzcCA9M0QgMTA5 NDg3MTI5MiwgZWJ4ID0zRCAxMDc4MjM5ODQ0LCBlZHggPTNEIDkyNjEwMzIwMSwgZWN4ID0zRCA9 DQoJCTEzNTc5ODg4MCwgZWF4ID0zRCA5MjYxMDMyMDEsIHRyYXBubyA9M0QgMTQsIGVyciA9M0Qg NCwgZWlwID0zRCA9DQoJCTEwNzgwNTI0MzcsIGNzPTIwDQoJCT0zRCAzNSwgX19jc2ggPTNEIDAs IGVmbGFncyA9M0QgNjYwNTAsIGVzcF9hdF9zaWduYWwgPTNEIDEwOTQ4NzEyOTIsIHNzID0NCgkJ PTNEIDQzLCBfX3NzaCA9M0QgMCwgZnBzdGF0ZSA9M0QgMHg0MTQyNjY4MCwgb2xkbWFzayA9M0Qg MjE0NzQ4MzY0OCwgY3IyID0NCgkJPTNEIDkyNg0KCQkxMDMxODV9KSBhdCBzaWduYWxzLmM6OTcN CgkJIzYgIDxzaWduYWwgaGFuZGxlciBjYWxsZWQ+DQoJCSM3ICBfU1RMOjpkZXF1ZTxGSVg6OkNh bGxTdGFjazo6TWV0aG9kLCA9DQoJCV9TVEw6OmFsbG9jYXRvcjxGSVg6OkNhbGxTdGFjazo6TWV0 aG9kPiA+OjpfTV9wb3BfYmFja19hdXgoKSA9DQoJCSh0aGlzPTNEMHg4M2Y2MDljKQ0KCQkgICAg YXQgL3Vzci9sb2NhbC9pbmNsdWRlL3N0bHBvcnQvc3RsL19zdHJpbmcuaDoxMjQNCgkJIzggIDB4 NDAzZmIyMTYgaW4gfkNhbGxTdGFjayAodGhpcz0zRDB4NDE0MjY5YmMpIGF0ID0NCgkJL3Vzci9s b2NhbC9pbmNsdWRlL3N0bHBvcnQvc3RsL19kZXF1ZS5oOjYyMA0KCQkjOSAgMHg0MDNiMDQwYSBp biBGSVg6OlNvY2tldFNlcnZlcjo6YmxvY2soRklYOjpTb2NrZXRTZXJ2ZXI6OlN0cmF0ZWd5Jiwg PQ0KCQlib29sKSAodGhpcz0zRDB4ODIyYTAzOCwgc3RyYXRlZ3k9M0RAMHgwLCBwb2xsPTNEZmFs c2UpDQoJCSAgICBhdCBTb2NrZXRTZXJ2ZXIuY3BwOjE1Mw0KCQkjMTAgMHg0MDNiOWFhNyBpbiBG SVg6OlNvY2tldEFjY2VwdG9yOjpvblN0YXJ0KCkgKHRoaXM9M0QweDgxZDgyMzApIGF0ID0NCgkJ U29ja2V0QWNjZXB0b3IuY3BwOjExMw0KCQkjMTEgMHg0MDNiM2UzOCBpbiBGSVg6OkFjY2VwdG9y OjpzdGFydFRocmVhZCh2b2lkKikgKHA9M0QweDgxZDgyMzApIGF0ID0NCgkJQWNjZXB0b3IuY3Bw OjIxNw0KCQkjMTIgMHg0MDZkYmM2ZiBpbiBwdGhyZWFkX3N0YXJ0X3RocmVhZCAoYXJnPTNEMHg0 MTQyNmJlMCkgYXQgPQ0KCQltYW5hZ2VyLmM6Mjg0DQoJCQ0KCQkNCgkJLS1fXy0tX18tLQ0KCQkN CgkJTWVzc2FnZTogMg0KCQlDYzogIlF1aWNrRklYIFF1ZXN0aW9ucyBcKEUtbWFpbFwpIiA8cXVp Y2tmaXgtZGV2ZWxvcGVyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+DQoJCUZyb206IE9yZW4gTWls bGVyIDxvcmVuQHF1aWNrZml4ZW5naW5lLm9yZz4NCgkJU3ViamVjdDogUmU6IFtRdWlja2ZpeC1k ZXZlbG9wZXJzXSBFeGNlcHRpb24gYW5kIGNyYXNoDQoJCURhdGU6IFRodSwgMTMgTWF5IDIwMDQg MTc6NTM6NTMgLTA1MDANCgkJVG86ICJIb3dhcmQgUy4gRW5nZWxoYXJ0IiA8aG93YXJkQFBpcGVs aW5lQVRTLmNvbT4NCgkJDQoJCUkndmUgbm90aWNlZCBpbnN0YWJpbGl0aWVzIHdoZW4gcnVubmlu ZyB3aXRoIHRoZSBjYWxsIHN0YWNrLiAgSXMgdGhpcw0KCQlyZXBlYXRhYmxlPyAgSGF2ZSB5b3Ug dHJpZWQgY29tcGlsaW5nIFFGIHdpdGggdGhlIGNhbGwgc3RhY2sgZGlzYWJsZWQ/DQoJCQ0KCQkt LW9yZW4NCgkJDQoJCU9uIE1heSAxMywgMjAwNCwgYXQgNDowNCBQTSwgSG93YXJkIFMuIEVuZ2Vs aGFydCB3cm90ZToNCgkJDQoJCT4gVXNpbmcgcXVpY2tmaXggMS43LjAuLg0KCQk+DQoJCT4gV2hp bGUgcnVubmluZyBhIHFhIHNjcmlwdCBwdW1waW5nIG5ldyBvcmRlcnMgaW4gdmlhIGEgc2luZ2xl IHNlc3Npb24NCgkJPiBteSBGSVggc2VydmVyIHdlbnQgZG93bi4gIFdlIHdlcmUgcnVubmluZyB1 cCB0byAxMCBuZXcgb3JkZXJzIHBlcg0KCQk+IHNlY29uZCAoYWJvdXQgMjAwMCBvcmRlcnMgd2l0 aGluIDMgbWludXRlcykuIEZyb20gbXkgbG9ncyBpdCBsb29rcw0KCQk+IGxpa2UgdGhlIGVuZ2lu ZSB3YXMgYWJvdXQgdG8gc2VuZCBhIG1lc3NhZ2Ugb3V0IHdoZW4gaXQgd2VudCBkb3duLiANCgkJ PiBCZWxvdyBpcyB0aGUgc3RhY2sgdHJhY2UgSSBwdWxsZWQgb3V0IG9mIHRoZSBjb3JlIGR1bXAu ICBBbnlvbmUgaGF2ZQ0KCQk+IGFueSBleHBlcmllbmNlIHdpdGggcHJvYmxlbXMgbGlrZSB0aGlz Pw0KCQk+DQoJCT4gVGhhbmtzLA0KCQk+DQoJCT4gLUhvd2FyZA0KCQk+DQoJCT4NCgkJPiAjNSAg MHg0MDZkZWFjNSBpbiBwdGhyZWFkX3NpZ2hhbmRsZXIgKHNpZ25vPTExLCBjdHg9DQoJCT4gICAg ICAge2dzID0gMzEsIF9fZ3NoID0gMCwgZnMgPSAwLCBfX2ZzaCA9IDAsIGVzID0gNDMsIF9fZXNo ID0gMCwgZHMgPQ0KCQk+IDQzLCBfX2RzaCA9IDAsIGVkaSA9IDEzODM3MTIyOCwgZXNpID0gOTI2 MTAzMTczLCBlYnAgPSAxMDk0ODcxMw0KCQk+IDE2LCBlc3AgPSAxMDk0ODcxMjkyLCBlYnggPSAx MDc4MjM5ODQ0LCBlZHggPSA5MjYxMDMyMDEsIGVjeCA9DQoJCT4gMTM1Nzk4ODgwLCBlYXggPSA5 MjYxMDMyMDEsIHRyYXBubyA9IDE0LCBlcnIgPSA0LCBlaXAgPSAxMDc4MDUyNDM3LCBjcw0KCQk+ ID0gMzUsIF9fY3NoID0gMCwgZWZsYWdzID0gNjYwNTAsIGVzcF9hdF9zaWduYWwgPSAxMDk0ODcx MjkyLCBzcyA9IDQzLA0KCQk+IF9fc3NoID0gMCwgZnBzdGF0ZSA9IDB4NDE0MjY2ODAsIG9sZG1h c2sgPSAyMTQ3NDgzNjQ4LCBjcjIgPSA5MjYNCgkJPiAxMDMxODV9KSBhdCBzaWduYWxzLmM6OTcN CgkJPiAjNiAgPHNpZ25hbCBoYW5kbGVyIGNhbGxlZD4NCgkJPiAjNyAgX1NUTDo6ZGVxdWU8RklY OjpDYWxsU3RhY2s6Ok1ldGhvZCwNCgkJPiBfU1RMOjphbGxvY2F0b3I8RklYOjpDYWxsU3RhY2s6 Ok1ldGhvZD4gPjo6X01fcG9wX2JhY2tfYXV4KCkNCgkJPiAodGhpcz0weDgzZjYwOWMpDQoJCT4g ICAgIGF0IC91c3IvbG9jYWwvaW5jbHVkZS9zdGxwb3J0L3N0bC9fc3RyaW5nLmg6MTI0DQoJCT4g IzggIDB4NDAzZmIyMTYgaW4gfkNhbGxTdGFjayAodGhpcz0weDQxNDI2OWJjKSBhdA0KCQk+IC91 c3IvbG9jYWwvaW5jbHVkZS9zdGxwb3J0L3N0bC9fZGVxdWUuaDo2MjANCgkJPiAjOSAgMHg0MDNi MDQwYSBpbg0KCQk+IEZJWDo6U29ja2V0U2VydmVyOjpibG9jayhGSVg6OlNvY2tldFNlcnZlcjo6 U3RyYXRlZ3kmLCBib29sKQ0KCQk+ICh0aGlzPTB4ODIyYTAzOCwgc3RyYXRlZ3k9QDB4MCwgcG9s bD1mYWxzZSkNCgkJPiAgICAgYXQgU29ja2V0U2VydmVyLmNwcDoxNTMNCgkJPiAjMTAgMHg0MDNi OWFhNyBpbiBGSVg6OlNvY2tldEFjY2VwdG9yOjpvblN0YXJ0KCkgKHRoaXM9MHg4MWQ4MjMwKSBh dA0KCQk+IFNvY2tldEFjY2VwdG9yLmNwcDoxMTMNCgkJPiAjMTEgMHg0MDNiM2UzOCBpbiBGSVg6 OkFjY2VwdG9yOjpzdGFydFRocmVhZCh2b2lkKikgKHA9MHg4MWQ4MjMwKSBhdA0KCQk+IEFjY2Vw dG9yLmNwcDoyMTcNCgkJPiAjMTIgMHg0MDZkYmM2ZiBpbiBwdGhyZWFkX3N0YXJ0X3RocmVhZCAo YXJnPTB4NDE0MjZiZTApIGF0DQoJCT4gbWFuYWdlci5jOjI4NA0KCQk+DQoJCT4NCgkJPiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJCT4g VGhpcyBTRi5OZXQgZW1haWwgaXMgc3BvbnNvcmVkIGJ5OiBTb3VyY2VGb3JnZS5uZXQgQnJvYWRi YW5kDQoJCT4gU2lnbi11cCBub3cgZm9yIFNvdXJjZUZvcmdlIEJyb2FkYmFuZCBhbmQgZ2V0IHRo ZSBmYXN0ZXN0DQoJCT4gNi4wLzc2OCBjb25uZWN0aW9uIGZvciBvbmx5ICQxOS45NS9tbyBmb3Ig dGhlIGZpcnN0IDMgbW9udGhzIQ0KCQk+IGh0dHA6Ly9hZHMub3Nkbi5jb20vP2FkX2lkJTYyJmFs bG9jX2lkYTg0Jm9wPWNsaWNrDQoJCT4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18NCgkJPiBRdWlja2ZpeC1kZXZlbG9wZXJzIG1haWxpbmcgbGlzdA0KCQk+ IFF1aWNrZml4LWRldmVsb3BlcnNAbGlzdHMuc291cmNlZm9yZ2UubmV0DQoJCT4gaHR0cHM6Ly9s aXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vcXVpY2tmaXgtZGV2ZWxvcGVycw0K CQk+DQoJCQ0KCQkNCgkJDQoJCS0tX18tLV9fLS0NCgkJDQoJCU1lc3NhZ2U6IDMNCgkJU3ViamVj dDogUkU6IFtRdWlja2ZpeC1kZXZlbG9wZXJzXSBFeGNlcHRpb24gYW5kIGNyYXNoDQoJCURhdGU6 IFRodSwgMTMgTWF5IDIwMDQgMTk6NDM6MTggLTA0MDANCgkJRnJvbTogIkhvd2FyZCBTLiBFbmdl bGhhcnQiIDxob3dhcmRAUGlwZWxpbmVBVFMuY29tPg0KCQlUbzogIk9yZW4gTWlsbGVyIiA8b3Jl bkBxdWlja2ZpeGVuZ2luZS5vcmc+DQoJCUNjOiAiUXVpY2tGSVggUXVlc3Rpb25zIFwoRS1tYWls XCkiIDxxdWlja2ZpeC1kZXZlbG9wZXJzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4NCgkJDQoJCVRo aXMgaXMgYSBtdWx0aS1wYXJ0IG1lc3NhZ2UgaW4gTUlNRSBmb3JtYXQuDQoJCQ0KCQktLS0tLS1f PV9OZXh0UGFydF8wMDFfMDFDNDM5NDQuNzBCNzNDRkMNCgkJQ29udGVudC1UeXBlOiB0ZXh0L3Bs YWluOw0KCQkgICAgICAgIGNoYXJzZXQ9Imlzby04ODU5LTEiDQoJCUNvbnRlbnQtVHJhbnNmZXIt RW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUNCgkJDQoJCUkgaGF2ZSBzZWVuIGl0IGNvbWUgdXAg b25seSB0d2ljZSBiZWZvcmUgd2l0aCBwcmV2aW91cyB2ZXJzaW9ucyBvZiBxZi4gID0NCgkJT25j ZSB3aGlsZSB1bmRlciBhIHNpbWlsaWFybHkgaGVhdnkgbG9hZCwgdGhlIG90aGVyIHRpbWUgYSBy ZWxhdGl2ZWx5ID0NCgkJbGlnaHQgbG9hZC4gIEknbGwgc2VlIGlmIHdlIGNhbiByZXByb2R1Y2Ug d2l0aCB0aGUgc2FtZSB0ZXN0IHNjcmlwdC4NCgkJPTIwDQoJCUZvcmdpdmUgdGhlIHF1ZXN0aW9u LCBidXQgd2hhdCBleGFjdGx5IGRvZXMgZW5hYmxpbmcgdGhlIGNhbGwgc3RhY2sgPQ0KCQlwcm92 aWRlPyAgSWYgeW91IHRoaW5rIGl0J3MgcmVsYXRlZCBJIHdpbGwgcmUtY29tcGlsZSB3aXRoIGl0 IGRpc2FibGVkID0NCgkJZm9yIG91ciBwcm9kdWN0aW9uIGVudmlyb25tZW50Lg0KCQk9MjANCgkJ VGhhbmtzLA0KCQk9MjANCgkJLUgNCgkJDQoJCV9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fDQoJCQ0KCQlGcm9tOiBPcmVuIE1pbGxlciBbbWFpbHRvOm9yZW5AcXVpY2tmaXhlbmdpbmUu b3JnXQ0KCQlTZW50OiBUaHUgNS8xMy8yMDA0IDY6NTMgUE0NCgkJVG86IEhvd2FyZCBTLiBFbmdl bGhhcnQNCgkJQ2M6IFF1aWNrRklYIFF1ZXN0aW9ucyAoRS1tYWlsKQ0KCQlTdWJqZWN0OiBSZTog W1F1aWNrZml4LWRldmVsb3BlcnNdIEV4Y2VwdGlvbiBhbmQgY3Jhc2gNCgkJDQoJCQ0KCQkNCgkJ SSd2ZSBub3RpY2VkIGluc3RhYmlsaXRpZXMgd2hlbiBydW5uaW5nIHdpdGggdGhlIGNhbGwgc3Rh Y2suICBJcyB0aGlzDQoJCXJlcGVhdGFibGU/ICBIYXZlIHlvdSB0cmllZCBjb21waWxpbmcgUUYg d2l0aCB0aGUgY2FsbCBzdGFjayBkaXNhYmxlZD8NCgkJDQoJCS0tb3Jlbg0KCQkNCgkJT24gTWF5 IDEzLCAyMDA0LCBhdCA0OjA0IFBNLCBIb3dhcmQgUy4gRW5nZWxoYXJ0IHdyb3RlOg0KCQkNCgkJ PiBVc2luZyBxdWlja2ZpeCAxLjcuMC4uDQoJCT4NCgkJPiBXaGlsZSBydW5uaW5nIGEgcWEgc2Ny aXB0IHB1bXBpbmcgbmV3IG9yZGVycyBpbiB2aWEgYSBzaW5nbGUgc2Vzc2lvbg0KCQk+IG15IEZJ WCBzZXJ2ZXIgd2VudCBkb3duLiAgV2Ugd2VyZSBydW5uaW5nIHVwIHRvIDEwIG5ldyBvcmRlcnMg cGVyDQoJCT4gc2Vjb25kIChhYm91dCAyMDAwIG9yZGVycyB3aXRoaW4gMyBtaW51dGVzKS4gRnJv bSBteSBsb2dzIGl0IGxvb2tzDQoJCT4gbGlrZSB0aGUgZW5naW5lIHdhcyBhYm91dCB0byBzZW5k IGEgbWVzc2FnZSBvdXQgd2hlbiBpdCB3ZW50IGRvd24uPTIwDQoJCT4gQmVsb3cgaXMgdGhlIHN0 YWNrIHRyYWNlIEkgcHVsbGVkIG91dCBvZiB0aGUgY29yZSBkdW1wLiAgQW55b25lIGhhdmUNCgkJ PiBhbnkgZXhwZXJpZW5jZSB3aXRoIHByb2JsZW1zIGxpa2UgdGhpcz8NCgkJPg0KCQk+IFRoYW5r cywNCgkJPg0KCQk+IC1Ib3dhcmQNCgkJPg0KCQk+DQoJCT4gIzUgIDB4NDA2ZGVhYzUgaW4gcHRo cmVhZF9zaWdoYW5kbGVyIChzaWdubz0zRDExLCBjdHg9M0QNCgkJPiAgICAgICB7Z3MgPTNEIDMx LCBfX2dzaCA9M0QgMCwgZnMgPTNEIDAsIF9fZnNoID0zRCAwLCBlcyA9M0QgNDMsIF9fZXNoID0N CgkJPTNEIDAsIGRzID0zRA0KCQk+IDQzLCBfX2RzaCA9M0QgMCwgZWRpID0zRCAxMzgzNzEyMjgs IGVzaSA9M0QgOTI2MTAzMTczLCBlYnAgPTNEID0NCgkJMTA5NDg3MTMNCgkJPiAxNiwgZXNwID0z RCAxMDk0ODcxMjkyLCBlYnggPTNEIDEwNzgyMzk4NDQsIGVkeCA9M0QgOTI2MTAzMjAxLCBlY3gg PTNEDQoJCT4gMTM1Nzk4ODgwLCBlYXggPTNEIDkyNjEwMzIwMSwgdHJhcG5vID0zRCAxNCwgZXJy ID0zRCA0LCBlaXAgPTNEID0NCgkJMTA3ODA1MjQzNywgY3MNCgkJPiA9M0QgMzUsIF9fY3NoID0z RCAwLCBlZmxhZ3MgPTNEIDY2MDUwLCBlc3BfYXRfc2lnbmFsID0zRCAxMDk0ODcxMjkyLCA9DQoJ CXNzID0zRCA0MywNCgkJPiBfX3NzaCA9M0QgMCwgZnBzdGF0ZSA9M0QgMHg0MTQyNjY4MCwgb2xk bWFzayA9M0QgMjE0NzQ4MzY0OCwgY3IyID0zRCA9DQoJCTkyNg0KCQk+IDEwMzE4NX0pIGF0IHNp Z25hbHMuYzo5Nw0KCQk+ICM2ICA8c2lnbmFsIGhhbmRsZXIgY2FsbGVkPg0KCQk+ICM3ICBfU1RM OjpkZXF1ZTxGSVg6OkNhbGxTdGFjazo6TWV0aG9kLA0KCQk+IF9TVEw6OmFsbG9jYXRvcjxGSVg6 OkNhbGxTdGFjazo6TWV0aG9kPiA+OjpfTV9wb3BfYmFja19hdXgoKQ0KCQk+ICh0aGlzPTNEMHg4 M2Y2MDljKQ0KCQk+ICAgICBhdCAvdXNyL2xvY2FsL2luY2x1ZGUvc3RscG9ydC9zdGwvX3N0cmlu Zy5oOjEyNA0KCQk+ICM4ICAweDQwM2ZiMjE2IGluIH5DYWxsU3RhY2sgKHRoaXM9M0QweDQxNDI2 OWJjKSBhdA0KCQk+IC91c3IvbG9jYWwvaW5jbHVkZS9zdGxwb3J0L3N0bC9fZGVxdWUuaDo2MjAN CgkJPiAjOSAgMHg0MDNiMDQwYSBpbg0KCQk+IEZJWDo6U29ja2V0U2VydmVyOjpibG9jayhGSVg6 OlNvY2tldFNlcnZlcjo6U3RyYXRlZ3kmLCBib29sKQ0KCQk+ICh0aGlzPTNEMHg4MjJhMDM4LCBz dHJhdGVneT0zREAweDAsIHBvbGw9M0RmYWxzZSkNCgkJPiAgICAgYXQgU29ja2V0U2VydmVyLmNw cDoxNTMNCgkJPiAjMTAgMHg0MDNiOWFhNyBpbiBGSVg6OlNvY2tldEFjY2VwdG9yOjpvblN0YXJ0 KCkgKHRoaXM9M0QweDgxZDgyMzApIGF0DQoJCT4gU29ja2V0QWNjZXB0b3IuY3BwOjExMw0KCQk+ ICMxMSAweDQwM2IzZTM4IGluIEZJWDo6QWNjZXB0b3I6OnN0YXJ0VGhyZWFkKHZvaWQqKSAocD0z RDB4ODFkODIzMCkgYXQNCgkJPiBBY2NlcHRvci5jcHA6MjE3DQoJCT4gIzEyIDB4NDA2ZGJjNmYg aW4gcHRocmVhZF9zdGFydF90aHJlYWQgKGFyZz0zRDB4NDE0MjZiZTApIGF0DQoJCT4gbWFuYWdl ci5jOjI4NA0KCQk+DQoJCT4NCgkJPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJCT4gVGhpcyBTRi5OZXQgZW1haWwgaXMgc3BvbnNvcmVk IGJ5OiBTb3VyY2VGb3JnZS5uZXQgQnJvYWRiYW5kDQoJCT4gU2lnbi11cCBub3cgZm9yIFNvdXJj ZUZvcmdlIEJyb2FkYmFuZCBhbmQgZ2V0IHRoZSBmYXN0ZXN0DQoJCT4gNi4wLzc2OCBjb25uZWN0 aW9uIGZvciBvbmx5ICQxOS45NS9tbyBmb3IgdGhlIGZpcnN0IDMgbW9udGhzIQ0KCQk+IGh0dHA6 Ly9hZHMub3Nkbi5jb20vP2FkX2lkJTYyJmFsbG9jX2lkYTg0Jm9wPTNEY2xpY2sNCgkJPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KCQk+IFF1aWNrZml4 LWRldmVsb3BlcnMgbWFpbGluZyBsaXN0DQoJCT4gUXVpY2tmaXgtZGV2ZWxvcGVyc0BsaXN0cy5z b3VyY2Vmb3JnZS5uZXQNCgkJPiBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9s aXN0aW5mby9xdWlja2ZpeC1kZXZlbG9wZXJzDQoJCT4NCgkJDQoJCQ0KCQkNCgkJDQoJCS0tLS0t LV89X05leHRQYXJ0XzAwMV8wMUM0Mzk0NC43MEI3M0NGQw0KCQlDb250ZW50LVR5cGU6IHRleHQv aHRtbDsNCgkJICAgICAgICBjaGFyc2V0PSJpc28tODg1OS0xIg0KCQlDb250ZW50LVRyYW5zZmVy LUVuY29kaW5nOiBxdW90ZWQtcHJpbnRhYmxlDQoJCQ0KCQk8TUVUQSBIVFRQLUVRVUlWPTNEIkNv bnRlbnQtVHlwZSIgQ09OVEVOVD0zRCJ0ZXh0L2h0bWw7ID0NCgkJY2hhcnNldD0zRGlzby04ODU5 LTEiPj0wQT0NCgkJPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDMuMi8v RU4iPj0wQT0NCgkJPEhUTUw+PTBBPQ0KCQk8SEVBRD49MEE9DQoJCT0wQT0NCgkJPE1FVEEgTkFN RT0zRCJHZW5lcmF0b3IiIENPTlRFTlQ9M0QiTVMgRXhjaGFuZ2UgU2VydmVyIHZlcnNpb24gPQ0K CQk2LjUuNjk0NC4wIj49MEE9DQoJCTxUSVRMRT5SZTogW1F1aWNrZml4LWRldmVsb3BlcnNdIEV4 Y2VwdGlvbiBhbmQgY3Jhc2g8L1RJVExFPj0wQT0NCgkJPC9IRUFEPj0wQT0NCgkJPEJPRFk+PTBB PQ0KCQk8RElWIGlkPTNEaWRPV0FSZXBseVRleHQ0MTU0MCBkaXI9M0RsdHI+PTBBPQ0KCQk8RElW IGRpcj0zRGx0cj48Rk9OVCBmYWNlPTNEQXJpYWwgY29sb3I9M0QjMDAwMDAwIHNpemU9M0QyPkkg aGF2ZSBzZWVuID0NCgkJaXQgY29tZSB1cCBvbmx5ID0wQT0NCgkJdHdpY2UgYmVmb3JlIHdpdGgg cHJldmlvdXMgdmVyc2lvbnMgb2YgcWYuJm5ic3A7IE9uY2Ugd2hpbGUgdW5kZXIgYSA9DQoJCXNp bWlsaWFybHkgPTBBPQ0KCQloZWF2eSBsb2FkLCB0aGUgb3RoZXIgdGltZSBhIHJlbGF0aXZlbHkg bGlnaHQgbG9hZC4mbmJzcDsgSSdsbCBzZWUgaWYgd2UgPQ0KCQljYW4gPTBBPQ0KCQlyZXByb2R1 Y2Ugd2l0aCB0aGUgc2FtZSB0ZXN0IHNjcmlwdC48L0ZPTlQ+PC9ESVY+PTBBPQ0KCQk8RElWIGRp cj0zRGx0cj48Rk9OVCBmYWNlPTNEQXJpYWwgc2l6ZT0zRDI+PC9GT05UPiZuYnNwOzwvRElWPj0w QT0NCgkJPERJViBkaXI9M0RsdHI+PEZPTlQgZmFjZT0zREFyaWFsIHNpemU9M0QyPkZvcmdpdmUg dGhlIHF1ZXN0aW9uLCBidXQgPQ0KCQl3aGF0IGV4YWN0bHkgZG9lcyA9MEE9DQoJCWVuYWJsaW5n IHRoZSBjYWxsIHN0YWNrIHByb3ZpZGU/Jm5ic3A7IElmIHlvdSB0aGluayBpdCdzIHJlbGF0ZWQg SSB3aWxsID0wQT0NCgkJcmUtY29tcGlsZSB3aXRoIGl0IGRpc2FibGVkIGZvciBvdXIgcHJvZHVj dGlvbiBlbnZpcm9ubWVudC48L0ZPTlQ+PC9ESVY+PTBBPQ0KCQk8RElWIGRpcj0zRGx0cj48Rk9O VCBmYWNlPTNEQXJpYWwgc2l6ZT0zRDI+PC9GT05UPiZuYnNwOzwvRElWPj0wQT0NCgkJPERJViBk aXI9M0RsdHI+PEZPTlQgZmFjZT0zREFyaWFsIHNpemU9M0QyPlRoYW5rcyw8L0ZPTlQ+PC9ESVY+ PTBBPQ0KCQk8RElWIGRpcj0zRGx0cj48Rk9OVCBmYWNlPTNEQXJpYWwgc2l6ZT0zRDI+PC9GT05U PiZuYnNwOzwvRElWPj0wQT0NCgkJPERJViBkaXI9M0RsdHI+PEZPTlQgZmFjZT0zREFyaWFsIHNp emU9M0QyPi1IPC9GT05UPjwvRElWPjwvRElWPj0wQT0NCgkJPERJViBkaXI9M0RsdHI+PEJSPj0w QT0NCgkJPEhSIHRhYkluZGV4PTNELTE+PTBBPQ0KCQk8Rk9OVCBmYWNlPTNEVGFob21hIHNpemU9 M0QyPjxCPkZyb206PC9CPiBPcmVuIE1pbGxlciA9MEE9DQoJCVttYWlsdG86b3JlbkBxdWlja2Zp eGVuZ2luZS5vcmddPEJSPjxCPlNlbnQ6PC9CPiBUaHUgNS8xMy8yMDA0IDY6NTMgPTBBPQ0KCQlQ TTxCUj48Qj5Ubzo8L0I+IEhvd2FyZCBTLiBFbmdlbGhhcnQ8QlI+PEI+Q2M6PC9CPiBRdWlja0ZJ WCBRdWVzdGlvbnMgPTBBPQ0KCQkoRS1tYWlsKTxCUj48Qj5TdWJqZWN0OjwvQj4gUmU6IFtRdWlj a2ZpeC1kZXZlbG9wZXJzXSBFeGNlcHRpb24gYW5kID0wQT0NCgkJY3Jhc2g8QlI+PC9GT05UPjxC Uj48L0RJVj49MEE9DQoJCTxESVY+PTBBPQ0KCQk8UD48Rk9OVCBzaXplPTNEMj5JJ3ZlIG5vdGlj ZWQgaW5zdGFiaWxpdGllcyB3aGVuIHJ1bm5pbmcgd2l0aCB0aGUgY2FsbCA9MEE9DQoJCXN0YWNr LiZuYnNwOyBJcyB0aGlzPEJSPnJlcGVhdGFibGU/Jm5ic3A7IEhhdmUgeW91IHRyaWVkIGNvbXBp bGluZyBRRiA9DQoJCXdpdGggdGhlID0wQT0NCgkJY2FsbCBzdGFjayBkaXNhYmxlZD88QlI+PEJS Pi0tb3JlbjxCUj48QlI+T24gTWF5IDEzLCAyMDA0LCBhdCA0OjA0IFBNLCA9DQoJCUhvd2FyZCBT LiA9MEE9DQoJCUVuZ2VsaGFydCB3cm90ZTo8QlI+PEJSPiZndDsgVXNpbmcgcXVpY2tmaXggMS43 LjAuLjxCUj4mZ3Q7PEJSPiZndDsgPQ0KCQlXaGlsZSA9MEE9DQoJCXJ1bm5pbmcgYSBxYSBzY3Jp cHQgcHVtcGluZyBuZXcgb3JkZXJzIGluIHZpYSBhIHNpbmdsZSBzZXNzaW9uPEJSPiZndDsgPQ0K CQlteSBGSVggPTBBPQ0KCQlzZXJ2ZXIgd2VudCBkb3duLiZuYnNwOyBXZSB3ZXJlIHJ1bm5pbmcg dXAgdG8gMTAgbmV3IG9yZGVycyBwZXI8QlI+Jmd0OyA9DQoJCXNlY29uZCA9MEE9DQoJCShhYm91 dCAyMDAwIG9yZGVycyB3aXRoaW4gMyBtaW51dGVzKS4gRnJvbSBteSBsb2dzIGl0IGxvb2tzPEJS PiZndDsgbGlrZSA9DQoJCXRoZSA9MEE9DQoJCWVuZ2luZSB3YXMgYWJvdXQgdG8gc2VuZCBhIG1l c3NhZ2Ugb3V0IHdoZW4gaXQgd2VudCBkb3duLiZuYnNwOzxCUj4mZ3Q7ID0NCgkJQmVsb3cgaXMg PTBBPQ0KCQl0aGUgc3RhY2sgdHJhY2UgSSBwdWxsZWQgb3V0IG9mIHRoZSBjb3JlIGR1bXAuJm5i c3A7IEFueW9uZSBoYXZlPEJSPiZndDsgPQ0KCQlhbnkgPTBBPQ0KCQlleHBlcmllbmNlIHdpdGgg cHJvYmxlbXMgbGlrZSB0aGlzPzxCUj4mZ3Q7PEJSPiZndDsgPQ0KCQlUaGFua3MsPEJSPiZndDs8 QlI+Jmd0OyA9MEE9DQoJCS1Ib3dhcmQ8QlI+Jmd0OzxCUj4mZ3Q7PEJSPiZndDsgIzUmbmJzcDsg MHg0MDZkZWFjNSBpbiA9DQoJCXB0aHJlYWRfc2lnaGFuZGxlciA9MEE9DQoJCShzaWdubz0zRDEx LCBjdHg9M0Q8QlI+Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB7Z3Mg PTNEID0NCgkJMzEsIF9fZ3NoID0zRCAwLCA9MEE9DQoJCWZzID0zRCAwLCBfX2ZzaCA9M0QgMCwg ZXMgPTNEIDQzLCBfX2VzaCA9M0QgMCwgZHMgPTNEPEJSPiZndDsgNDMsIF9fZHNoID0NCgkJPTNE IDAsIGVkaSA9M0QgPTBBPQ0KCQkxMzgzNzEyMjgsIGVzaSA9M0QgOTI2MTAzMTczLCBlYnAgPTNE IDEwOTQ4NzEzPEJSPiZndDsgMTYsIGVzcCA9M0QgPQ0KCQkxMDk0ODcxMjkyLCBlYnggPTNEID0w QT0NCgkJMTA3ODIzOTg0NCwgZWR4ID0zRCA5MjYxMDMyMDEsIGVjeCA9M0Q8QlI+Jmd0OyAxMzU3 OTg4ODAsIGVheCA9M0QgPQ0KCQk5MjYxMDMyMDEsIHRyYXBubyA9M0QgPTBBPQ0KCQkxNCwgZXJy ID0zRCA0LCBlaXAgPTNEIDEwNzgwNTI0MzcsIGNzPEJSPiZndDsgPTNEIDM1LCBfX2NzaCA9M0Qg MCwgPQ0KCQllZmxhZ3MgPTNEIDY2MDUwLCA9MEE9DQoJCWVzcF9hdF9zaWduYWwgPTNEIDEwOTQ4 NzEyOTIsIHNzID0zRCA0Myw8QlI+Jmd0OyBfX3NzaCA9M0QgMCwgZnBzdGF0ZSA9DQoJCT0zRCAw eDQxNDI2NjgwLCA9MEE9DQoJCW9sZG1hc2sgPTNEIDIxNDc0ODM2NDgsIGNyMiA9M0QgOTI2PEJS PiZndDsgMTAzMTg1fSkgYXQgPQ0KCQlzaWduYWxzLmM6OTc8QlI+Jmd0OyA9MEE9DQoJCSM2Jm5i c3A7ICZsdDtzaWduYWwgaGFuZGxlciBjYWxsZWQmZ3Q7PEJSPiZndDsgIzcmbmJzcDsgPTBBPQ0K CQlfU1RMOjpkZXF1ZSZsdDtGSVg6OkNhbGxTdGFjazo6TWV0aG9kLDxCUj4mZ3Q7ID0wQT0NCgkJ X1NUTDo6YWxsb2NhdG9yJmx0O0ZJWDo6Q2FsbFN0YWNrOjpNZXRob2QmZ3Q7ID0NCgkJJmd0Ozo6 X01fcG9wX2JhY2tfYXV4KCk8QlI+Jmd0OyA9MEE9DQoJCSh0aGlzPTNEMHg4M2Y2MDljKTxCUj4m Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGF0ID0wQT0NCgkJL3Vzci9sb2NhbC9pbmNsdWRl L3N0bHBvcnQvc3RsL19zdHJpbmcuaDoxMjQ8QlI+Jmd0OyAjOCZuYnNwOyAweDQwM2ZiMjE2ID0N CgkJaW4gPTBBPQ0KCQl+Q2FsbFN0YWNrICh0aGlzPTNEMHg0MTQyNjliYykgYXQ8QlI+Jmd0OyA9 MEE9DQoJCS91c3IvbG9jYWwvaW5jbHVkZS9zdGxwb3J0L3N0bC9fZGVxdWUuaDo2MjA8QlI+Jmd0 OyAjOSZuYnNwOyAweDQwM2IwNDBhID0wQT0NCgkJaW48QlI+Jmd0OyBGSVg6OlNvY2tldFNlcnZl cjo6YmxvY2soRklYOjpTb2NrZXRTZXJ2ZXI6OlN0cmF0ZWd5JmFtcDssID0wQT0NCgkJYm9vbCk8 QlI+Jmd0OyAodGhpcz0zRDB4ODIyYTAzOCwgc3RyYXRlZ3k9M0RAMHgwLCA9MEE9DQoJCXBvbGw9 M0RmYWxzZSk8QlI+Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBhdCA9DQoJCVNvY2tldFNl cnZlci5jcHA6MTUzPEJSPiZndDsgIzEwID0wQT0NCgkJMHg0MDNiOWFhNyBpbiBGSVg6OlNvY2tl dEFjY2VwdG9yOjpvblN0YXJ0KCkgKHRoaXM9M0QweDgxZDgyMzApID0NCgkJYXQ8QlI+Jmd0OyA9 MEE9DQoJCVNvY2tldEFjY2VwdG9yLmNwcDoxMTM8QlI+Jmd0OyAjMTEgMHg0MDNiM2UzOCBpbiA9 MEE9DQoJCUZJWDo6QWNjZXB0b3I6OnN0YXJ0VGhyZWFkKHZvaWQqKSAocD0zRDB4ODFkODIzMCkg YXQ8QlI+Jmd0OyA9MEE9DQoJCUFjY2VwdG9yLmNwcDoyMTc8QlI+Jmd0OyAjMTIgMHg0MDZkYmM2 ZiBpbiBwdGhyZWFkX3N0YXJ0X3RocmVhZCA9DQoJCShhcmc9M0QweDQxNDI2YmUwKSA9MEE9DQoJ CWF0PEJSPiZndDsgbWFuYWdlci5jOjI4NDxCUj4mZ3Q7PEJSPiZndDs8QlI+Jmd0OyA9MEE9DQoJ CS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08 QlI+Jmd0OyBUaGlzID0NCgkJU0YuTmV0ID0wQT0NCgkJZW1haWwgaXMgc3BvbnNvcmVkIGJ5OiBT b3VyY2VGb3JnZS5uZXQgQnJvYWRiYW5kPEJSPiZndDsgU2lnbi11cCBub3cgZm9yID0wQT0NCgkJ U291cmNlRm9yZ2UgQnJvYWRiYW5kIGFuZCBnZXQgdGhlIGZhc3Rlc3Q8QlI+Jmd0OyA2LjAvNzY4 IGNvbm5lY3Rpb24gZm9yID0NCgkJb25seSA9MEE9DQoJCSQxOS45NS9tbyBmb3IgdGhlIGZpcnN0 IDMgbW9udGhzITxCUj4mZ3Q7IDxBID0wQT0NCgkJaHJlZj0zRCJodHRwOi8vYWRzLm9zZG4uY29t Lz9hZF9pZCU2MiZhbGxvY19pZGE4NCZvcD0zRGNsaWNrIj5odHQ9DQoJCXA6Ly9hZHMub3Nkbi5j b20vP2FkX2lkJTYyJmFtcDthbGxvY19pZGE4NCZhbXA7b3A9M0RjbGljazwvQT48QlI+Jmd0OyA9 MEE9DQoJCV9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPEJS PiZndDsgPQ0KCQlRdWlja2ZpeC1kZXZlbG9wZXJzID0wQT0NCgkJbWFpbGluZyBsaXN0PEJSPiZn dDsgUXVpY2tmaXgtZGV2ZWxvcGVyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ8QlI+Jmd0OyA9DQoJ CTxBID0wQT0NCgkJaHJlZj0zRCJodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9s aXN0aW5mby9xdWlja2ZpeC1kZXZlbG9wZXJzIj0NCgkJPmh0dHBzOi8vbGlzdHMuc291cmNlZm9y Z2UubmV0L2xpc3RzL2xpc3RpbmZvL3F1aWNrZml4LWRldmVsb3BlcnM8L0E+PEJSPj0NCgkJJmd0 OzxCUj48QlI+PC9GT05UPjwvUD48L0RJVj49MEE9DQoJCT0wQT0NCgkJPC9CT0RZPj0wQT0NCgkJ PC9IVE1MPg0KCQktLS0tLS1fPV9OZXh0UGFydF8wMDFfMDFDNDM5NDQuNzBCNzNDRkMtLQ0KCQkN CgkJDQoJCQ0KCQktLV9fLS1fXy0tDQoJCQ0KCQlfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXw0KCQlRdWlja2ZpeC1kZXZlbG9wZXJzIG1haWxpbmcgbGlzdA0K CQlRdWlja2ZpeC1kZXZlbG9wZXJzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldA0KCQlodHRwczovL2xp c3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9xdWlja2ZpeC1kZXZlbG9wZXJzDQoJ CQ0KCQkNCgkJRW5kIG9mIFF1aWNrZml4LWRldmVsb3BlcnMgRGlnZXN0DQoJCQ0KDQo= |
From: Oren M. <or...@qu...> - 2004-05-14 17:29:46
|
There is a perl script in the contrib directory that will do this: http://cvs.sourceforge.net/viewcvs.py/quickfix/contrib/display_fixlog/ On May 14, 2004, at 12:17 PM, Vijay Singh Yadav wrote: > Hello All, > does someone have a utility that can parse the logs and show messages > with tag names (rather than numeric values for tags). Such a utility > will be very helpful in analyzing logs. > > I will appreciate your sharing such a utility with me. > > thanks, > > -- vijay |
From: Vijay S. Y. <vy...@op...> - 2004-05-14 17:17:52
|
SGVsbG8gQWxsLA0KIGRvZXMgc29tZW9uZSBoYXZlIGEgdXRpbGl0eSB0aGF0IGNhbiBwYXJzZSB0 aGUgbG9ncyBhbmQgc2hvdyBtZXNzYWdlcyB3aXRoIHRhZyBuYW1lcyAocmF0aGVyIHRoYW4gbnVt ZXJpYyB2YWx1ZXMgZm9yIHRhZ3MpLiBTdWNoIGEgdXRpbGl0eSB3aWxsIGJlIHZlcnkgaGVscGZ1 bCBpbiBhbmFseXppbmcgbG9ncy4NCiANCkkgd2lsbCBhcHByZWNpYXRlIHlvdXIgc2hhcmluZyBz dWNoIGEgdXRpbGl0eSB3aXRoIG1lLg0KIA0KdGhhbmtzLA0KIA0KLS0gdmlqYXkNCg0KCS0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tIA0KCUZyb206IHF1aWNrZml4LWRldmVsb3BlcnMtcmVxdWVz dEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQgW21haWx0bzpxdWlja2ZpeC1kZXZlbG9wZXJzLXJlcXVl c3RAbGlzdHMuc291cmNlZm9yZ2UubmV0XSANCglTZW50OiBUaHUgNS8xMy8yMDA0IDEwOjE3IFBN IA0KCVRvOiBxdWlja2ZpeC1kZXZlbG9wZXJzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldCANCglDYzog DQoJU3ViamVjdDogUXVpY2tmaXgtZGV2ZWxvcGVycyBkaWdlc3QsIFZvbCAxICM0NzIgLSAzIG1z Z3MNCgkNCgkNCg0KCVNlbmQgUXVpY2tmaXgtZGV2ZWxvcGVycyBtYWlsaW5nIGxpc3Qgc3VibWlz c2lvbnMgdG8NCgkgICAgICAgIHF1aWNrZml4LWRldmVsb3BlcnNAbGlzdHMuc291cmNlZm9yZ2Uu bmV0DQoJDQoJVG8gc3Vic2NyaWJlIG9yIHVuc3Vic2NyaWJlIHZpYSB0aGUgV29ybGQgV2lkZSBX ZWIsIHZpc2l0DQoJICAgICAgICBodHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9s aXN0aW5mby9xdWlja2ZpeC1kZXZlbG9wZXJzDQoJb3IsIHZpYSBlbWFpbCwgc2VuZCBhIG1lc3Nh Z2Ugd2l0aCBzdWJqZWN0IG9yIGJvZHkgJ2hlbHAnIHRvDQoJICAgICAgICBxdWlja2ZpeC1kZXZl bG9wZXJzLXJlcXVlc3RAbGlzdHMuc291cmNlZm9yZ2UubmV0DQoJDQoJWW91IGNhbiByZWFjaCB0 aGUgcGVyc29uIG1hbmFnaW5nIHRoZSBsaXN0IGF0DQoJICAgICAgICBxdWlja2ZpeC1kZXZlbG9w ZXJzLWFkbWluQGxpc3RzLnNvdXJjZWZvcmdlLm5ldA0KCQ0KCVdoZW4gcmVwbHlpbmcsIHBsZWFz ZSBlZGl0IHlvdXIgU3ViamVjdCBsaW5lIHNvIGl0IGlzIG1vcmUgc3BlY2lmaWMNCgl0aGFuICJS ZTogQ29udGVudHMgb2YgUXVpY2tmaXgtZGV2ZWxvcGVycyBkaWdlc3QuLi4iDQoJDQoJDQoJVG9k YXkncyBUb3BpY3M6DQoJDQoJICAgMS4gRXhjZXB0aW9uIGFuZCBjcmFzaCAoSG93YXJkIFMuIEVu Z2VsaGFydCkNCgkgICAyLiBSZTogRXhjZXB0aW9uIGFuZCBjcmFzaCAoT3JlbiBNaWxsZXIpDQoJ ICAgMy4gUkU6IEV4Y2VwdGlvbiBhbmQgY3Jhc2ggKEhvd2FyZCBTLiBFbmdlbGhhcnQpDQoJDQoJ LS1fXy0tX18tLQ0KCQ0KCU1lc3NhZ2U6IDENCglEYXRlOiBUaHUsIDEzIE1heSAyMDA0IDE3OjA0 OjE5IC0wNDAwDQoJRnJvbTogIkhvd2FyZCBTLiBFbmdlbGhhcnQiIDxob3dhcmRAUGlwZWxpbmVB VFMuY29tPg0KCVRvOiAiUXVpY2tGSVggUXVlc3Rpb25zIFwoRS1tYWlsXCkiIDxxdWlja2ZpeC1k ZXZlbG9wZXJzQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4NCglTdWJqZWN0OiBbUXVpY2tmaXgtZGV2 ZWxvcGVyc10gRXhjZXB0aW9uIGFuZCBjcmFzaA0KCQ0KCVVzaW5nIHF1aWNrZml4IDEuNy4wLi4N CgkNCglXaGlsZSBydW5uaW5nIGEgcWEgc2NyaXB0IHB1bXBpbmcgbmV3IG9yZGVycyBpbiB2aWEg YSBzaW5nbGUgc2Vzc2lvbiBteSA9DQoJRklYIHNlcnZlciB3ZW50IGRvd24uICBXZSB3ZXJlIHJ1 bm5pbmcgdXAgdG8gMTAgbmV3IG9yZGVycyBwZXIgc2Vjb25kID0NCgkoYWJvdXQgMjAwMCBvcmRl cnMgd2l0aGluIDMgbWludXRlcykuIEZyb20gbXkgbG9ncyBpdCBsb29rcyBsaWtlIHRoZSA9DQoJ ZW5naW5lIHdhcyBhYm91dCB0byBzZW5kIGEgbWVzc2FnZSBvdXQgd2hlbiBpdCB3ZW50IGRvd24u ICBCZWxvdyBpcyB0aGUgPQ0KCXN0YWNrIHRyYWNlIEkgcHVsbGVkIG91dCBvZiB0aGUgY29yZSBk dW1wLiAgQW55b25lIGhhdmUgYW55IGV4cGVyaWVuY2UgPQ0KCXdpdGggcHJvYmxlbXMgbGlrZSB0 aGlzPz0yMA0KCQ0KCVRoYW5rcywNCgkNCgktSG93YXJkDQoJDQoJDQoJIzUgIDB4NDA2ZGVhYzUg aW4gcHRocmVhZF9zaWdoYW5kbGVyIChzaWdubz0zRDExLCBjdHg9M0QNCgkgICAgICB7Z3MgPTNE IDMxLCBfX2dzaCA9M0QgMCwgZnMgPTNEIDAsIF9fZnNoID0zRCAwLCBlcyA9M0QgNDMsIF9fZXNo ID0NCgk9M0QgMCwgZHMgPTNEIDQzLCBfX2RzaCA9M0QgMCwgZWRpID0zRCAxMzgzNzEyMjgsIGVz aSA9M0QgOTI2MTAzMTczLCBlYnAgPQ0KCT0zRCAxMDk0ODcxMw0KCTE2LCBlc3AgPTNEIDEwOTQ4 NzEyOTIsIGVieCA9M0QgMTA3ODIzOTg0NCwgZWR4ID0zRCA5MjYxMDMyMDEsIGVjeCA9M0QgPQ0K CTEzNTc5ODg4MCwgZWF4ID0zRCA5MjYxMDMyMDEsIHRyYXBubyA9M0QgMTQsIGVyciA9M0QgNCwg ZWlwID0zRCA9DQoJMTA3ODA1MjQzNywgY3M9MjANCgk9M0QgMzUsIF9fY3NoID0zRCAwLCBlZmxh Z3MgPTNEIDY2MDUwLCBlc3BfYXRfc2lnbmFsID0zRCAxMDk0ODcxMjkyLCBzcyA9DQoJPTNEIDQz LCBfX3NzaCA9M0QgMCwgZnBzdGF0ZSA9M0QgMHg0MTQyNjY4MCwgb2xkbWFzayA9M0QgMjE0NzQ4 MzY0OCwgY3IyID0NCgk9M0QgOTI2DQoJMTAzMTg1fSkgYXQgc2lnbmFscy5jOjk3DQoJIzYgIDxz aWduYWwgaGFuZGxlciBjYWxsZWQ+DQoJIzcgIF9TVEw6OmRlcXVlPEZJWDo6Q2FsbFN0YWNrOjpN ZXRob2QsID0NCglfU1RMOjphbGxvY2F0b3I8RklYOjpDYWxsU3RhY2s6Ok1ldGhvZD4gPjo6X01f cG9wX2JhY2tfYXV4KCkgPQ0KCSh0aGlzPTNEMHg4M2Y2MDljKQ0KCSAgICBhdCAvdXNyL2xvY2Fs L2luY2x1ZGUvc3RscG9ydC9zdGwvX3N0cmluZy5oOjEyNA0KCSM4ICAweDQwM2ZiMjE2IGluIH5D YWxsU3RhY2sgKHRoaXM9M0QweDQxNDI2OWJjKSBhdCA9DQoJL3Vzci9sb2NhbC9pbmNsdWRlL3N0 bHBvcnQvc3RsL19kZXF1ZS5oOjYyMA0KCSM5ICAweDQwM2IwNDBhIGluIEZJWDo6U29ja2V0U2Vy dmVyOjpibG9jayhGSVg6OlNvY2tldFNlcnZlcjo6U3RyYXRlZ3kmLCA9DQoJYm9vbCkgKHRoaXM9 M0QweDgyMmEwMzgsIHN0cmF0ZWd5PTNEQDB4MCwgcG9sbD0zRGZhbHNlKQ0KCSAgICBhdCBTb2Nr ZXRTZXJ2ZXIuY3BwOjE1Mw0KCSMxMCAweDQwM2I5YWE3IGluIEZJWDo6U29ja2V0QWNjZXB0b3I6 Om9uU3RhcnQoKSAodGhpcz0zRDB4ODFkODIzMCkgYXQgPQ0KCVNvY2tldEFjY2VwdG9yLmNwcDox MTMNCgkjMTEgMHg0MDNiM2UzOCBpbiBGSVg6OkFjY2VwdG9yOjpzdGFydFRocmVhZCh2b2lkKikg KHA9M0QweDgxZDgyMzApIGF0ID0NCglBY2NlcHRvci5jcHA6MjE3DQoJIzEyIDB4NDA2ZGJjNmYg aW4gcHRocmVhZF9zdGFydF90aHJlYWQgKGFyZz0zRDB4NDE0MjZiZTApIGF0ID0NCgltYW5hZ2Vy LmM6Mjg0DQoJDQoJDQoJLS1fXy0tX18tLQ0KCQ0KCU1lc3NhZ2U6IDINCglDYzogIlF1aWNrRklY IFF1ZXN0aW9ucyBcKEUtbWFpbFwpIiA8cXVpY2tmaXgtZGV2ZWxvcGVyc0BsaXN0cy5zb3VyY2Vm b3JnZS5uZXQ+DQoJRnJvbTogT3JlbiBNaWxsZXIgPG9yZW5AcXVpY2tmaXhlbmdpbmUub3JnPg0K CVN1YmplY3Q6IFJlOiBbUXVpY2tmaXgtZGV2ZWxvcGVyc10gRXhjZXB0aW9uIGFuZCBjcmFzaA0K CURhdGU6IFRodSwgMTMgTWF5IDIwMDQgMTc6NTM6NTMgLTA1MDANCglUbzogIkhvd2FyZCBTLiBF bmdlbGhhcnQiIDxob3dhcmRAUGlwZWxpbmVBVFMuY29tPg0KCQ0KCUkndmUgbm90aWNlZCBpbnN0 YWJpbGl0aWVzIHdoZW4gcnVubmluZyB3aXRoIHRoZSBjYWxsIHN0YWNrLiAgSXMgdGhpcw0KCXJl cGVhdGFibGU/ICBIYXZlIHlvdSB0cmllZCBjb21waWxpbmcgUUYgd2l0aCB0aGUgY2FsbCBzdGFj ayBkaXNhYmxlZD8NCgkNCgktLW9yZW4NCgkNCglPbiBNYXkgMTMsIDIwMDQsIGF0IDQ6MDQgUE0s IEhvd2FyZCBTLiBFbmdlbGhhcnQgd3JvdGU6DQoJDQoJPiBVc2luZyBxdWlja2ZpeCAxLjcuMC4u DQoJPg0KCT4gV2hpbGUgcnVubmluZyBhIHFhIHNjcmlwdCBwdW1waW5nIG5ldyBvcmRlcnMgaW4g dmlhIGEgc2luZ2xlIHNlc3Npb24NCgk+IG15IEZJWCBzZXJ2ZXIgd2VudCBkb3duLiAgV2Ugd2Vy ZSBydW5uaW5nIHVwIHRvIDEwIG5ldyBvcmRlcnMgcGVyDQoJPiBzZWNvbmQgKGFib3V0IDIwMDAg b3JkZXJzIHdpdGhpbiAzIG1pbnV0ZXMpLiBGcm9tIG15IGxvZ3MgaXQgbG9va3MNCgk+IGxpa2Ug dGhlIGVuZ2luZSB3YXMgYWJvdXQgdG8gc2VuZCBhIG1lc3NhZ2Ugb3V0IHdoZW4gaXQgd2VudCBk b3duLiANCgk+IEJlbG93IGlzIHRoZSBzdGFjayB0cmFjZSBJIHB1bGxlZCBvdXQgb2YgdGhlIGNv cmUgZHVtcC4gIEFueW9uZSBoYXZlDQoJPiBhbnkgZXhwZXJpZW5jZSB3aXRoIHByb2JsZW1zIGxp a2UgdGhpcz8NCgk+DQoJPiBUaGFua3MsDQoJPg0KCT4gLUhvd2FyZA0KCT4NCgk+DQoJPiAjNSAg MHg0MDZkZWFjNSBpbiBwdGhyZWFkX3NpZ2hhbmRsZXIgKHNpZ25vPTExLCBjdHg9DQoJPiAgICAg ICB7Z3MgPSAzMSwgX19nc2ggPSAwLCBmcyA9IDAsIF9fZnNoID0gMCwgZXMgPSA0MywgX19lc2gg PSAwLCBkcyA9DQoJPiA0MywgX19kc2ggPSAwLCBlZGkgPSAxMzgzNzEyMjgsIGVzaSA9IDkyNjEw MzE3MywgZWJwID0gMTA5NDg3MTMNCgk+IDE2LCBlc3AgPSAxMDk0ODcxMjkyLCBlYnggPSAxMDc4 MjM5ODQ0LCBlZHggPSA5MjYxMDMyMDEsIGVjeCA9DQoJPiAxMzU3OTg4ODAsIGVheCA9IDkyNjEw MzIwMSwgdHJhcG5vID0gMTQsIGVyciA9IDQsIGVpcCA9IDEwNzgwNTI0MzcsIGNzDQoJPiA9IDM1 LCBfX2NzaCA9IDAsIGVmbGFncyA9IDY2MDUwLCBlc3BfYXRfc2lnbmFsID0gMTA5NDg3MTI5Miwg c3MgPSA0MywNCgk+IF9fc3NoID0gMCwgZnBzdGF0ZSA9IDB4NDE0MjY2ODAsIG9sZG1hc2sgPSAy MTQ3NDgzNjQ4LCBjcjIgPSA5MjYNCgk+IDEwMzE4NX0pIGF0IHNpZ25hbHMuYzo5Nw0KCT4gIzYg IDxzaWduYWwgaGFuZGxlciBjYWxsZWQ+DQoJPiAjNyAgX1NUTDo6ZGVxdWU8RklYOjpDYWxsU3Rh Y2s6Ok1ldGhvZCwNCgk+IF9TVEw6OmFsbG9jYXRvcjxGSVg6OkNhbGxTdGFjazo6TWV0aG9kPiA+ OjpfTV9wb3BfYmFja19hdXgoKQ0KCT4gKHRoaXM9MHg4M2Y2MDljKQ0KCT4gICAgIGF0IC91c3Iv bG9jYWwvaW5jbHVkZS9zdGxwb3J0L3N0bC9fc3RyaW5nLmg6MTI0DQoJPiAjOCAgMHg0MDNmYjIx NiBpbiB+Q2FsbFN0YWNrICh0aGlzPTB4NDE0MjY5YmMpIGF0DQoJPiAvdXNyL2xvY2FsL2luY2x1 ZGUvc3RscG9ydC9zdGwvX2RlcXVlLmg6NjIwDQoJPiAjOSAgMHg0MDNiMDQwYSBpbg0KCT4gRklY OjpTb2NrZXRTZXJ2ZXI6OmJsb2NrKEZJWDo6U29ja2V0U2VydmVyOjpTdHJhdGVneSYsIGJvb2wp DQoJPiAodGhpcz0weDgyMmEwMzgsIHN0cmF0ZWd5PUAweDAsIHBvbGw9ZmFsc2UpDQoJPiAgICAg YXQgU29ja2V0U2VydmVyLmNwcDoxNTMNCgk+ICMxMCAweDQwM2I5YWE3IGluIEZJWDo6U29ja2V0 QWNjZXB0b3I6Om9uU3RhcnQoKSAodGhpcz0weDgxZDgyMzApIGF0DQoJPiBTb2NrZXRBY2NlcHRv ci5jcHA6MTEzDQoJPiAjMTEgMHg0MDNiM2UzOCBpbiBGSVg6OkFjY2VwdG9yOjpzdGFydFRocmVh ZCh2b2lkKikgKHA9MHg4MWQ4MjMwKSBhdA0KCT4gQWNjZXB0b3IuY3BwOjIxNw0KCT4gIzEyIDB4 NDA2ZGJjNmYgaW4gcHRocmVhZF9zdGFydF90aHJlYWQgKGFyZz0weDQxNDI2YmUwKSBhdA0KCT4g bWFuYWdlci5jOjI4NA0KCT4NCgk+DQoJPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJPiBUaGlzIFNGLk5ldCBlbWFpbCBpcyBzcG9uc29y ZWQgYnk6IFNvdXJjZUZvcmdlLm5ldCBCcm9hZGJhbmQNCgk+IFNpZ24tdXAgbm93IGZvciBTb3Vy Y2VGb3JnZSBCcm9hZGJhbmQgYW5kIGdldCB0aGUgZmFzdGVzdA0KCT4gNi4wLzc2OCBjb25uZWN0 aW9uIGZvciBvbmx5ICQxOS45NS9tbyBmb3IgdGhlIGZpcnN0IDMgbW9udGhzIQ0KCT4gaHR0cDov L2Fkcy5vc2RuLmNvbS8/YWRfaWQlNjImYWxsb2NfaWRhODQmb3A9Y2xpY2sNCgk+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQoJPiBRdWlja2ZpeC1kZXZl bG9wZXJzIG1haWxpbmcgbGlzdA0KCT4gUXVpY2tmaXgtZGV2ZWxvcGVyc0BsaXN0cy5zb3VyY2Vm b3JnZS5uZXQNCgk+IGh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZv L3F1aWNrZml4LWRldmVsb3BlcnMNCgk+DQoJDQoJDQoJDQoJLS1fXy0tX18tLQ0KCQ0KCU1lc3Nh Z2U6IDMNCglTdWJqZWN0OiBSRTogW1F1aWNrZml4LWRldmVsb3BlcnNdIEV4Y2VwdGlvbiBhbmQg Y3Jhc2gNCglEYXRlOiBUaHUsIDEzIE1heSAyMDA0IDE5OjQzOjE4IC0wNDAwDQoJRnJvbTogIkhv d2FyZCBTLiBFbmdlbGhhcnQiIDxob3dhcmRAUGlwZWxpbmVBVFMuY29tPg0KCVRvOiAiT3JlbiBN aWxsZXIiIDxvcmVuQHF1aWNrZml4ZW5naW5lLm9yZz4NCglDYzogIlF1aWNrRklYIFF1ZXN0aW9u cyBcKEUtbWFpbFwpIiA8cXVpY2tmaXgtZGV2ZWxvcGVyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+ DQoJDQoJVGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4NCgkNCgkt LS0tLS1fPV9OZXh0UGFydF8wMDFfMDFDNDM5NDQuNzBCNzNDRkMNCglDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47DQoJICAgICAgICBjaGFyc2V0PSJpc28tODg1OS0xIg0KCUNvbnRlbnQtVHJhbnNm ZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUNCgkNCglJIGhhdmUgc2VlbiBpdCBjb21lIHVw IG9ubHkgdHdpY2UgYmVmb3JlIHdpdGggcHJldmlvdXMgdmVyc2lvbnMgb2YgcWYuICA9DQoJT25j ZSB3aGlsZSB1bmRlciBhIHNpbWlsaWFybHkgaGVhdnkgbG9hZCwgdGhlIG90aGVyIHRpbWUgYSBy ZWxhdGl2ZWx5ID0NCglsaWdodCBsb2FkLiAgSSdsbCBzZWUgaWYgd2UgY2FuIHJlcHJvZHVjZSB3 aXRoIHRoZSBzYW1lIHRlc3Qgc2NyaXB0Lg0KCT0yMA0KCUZvcmdpdmUgdGhlIHF1ZXN0aW9uLCBi dXQgd2hhdCBleGFjdGx5IGRvZXMgZW5hYmxpbmcgdGhlIGNhbGwgc3RhY2sgPQ0KCXByb3ZpZGU/ ICBJZiB5b3UgdGhpbmsgaXQncyByZWxhdGVkIEkgd2lsbCByZS1jb21waWxlIHdpdGggaXQgZGlz YWJsZWQgPQ0KCWZvciBvdXIgcHJvZHVjdGlvbiBlbnZpcm9ubWVudC4NCgk9MjANCglUaGFua3Ms DQoJPTIwDQoJLUgNCgkNCglfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KCQ0KCUZy b206IE9yZW4gTWlsbGVyIFttYWlsdG86b3JlbkBxdWlja2ZpeGVuZ2luZS5vcmddDQoJU2VudDog VGh1IDUvMTMvMjAwNCA2OjUzIFBNDQoJVG86IEhvd2FyZCBTLiBFbmdlbGhhcnQNCglDYzogUXVp Y2tGSVggUXVlc3Rpb25zIChFLW1haWwpDQoJU3ViamVjdDogUmU6IFtRdWlja2ZpeC1kZXZlbG9w ZXJzXSBFeGNlcHRpb24gYW5kIGNyYXNoDQoJDQoJDQoJDQoJSSd2ZSBub3RpY2VkIGluc3RhYmls aXRpZXMgd2hlbiBydW5uaW5nIHdpdGggdGhlIGNhbGwgc3RhY2suICBJcyB0aGlzDQoJcmVwZWF0 YWJsZT8gIEhhdmUgeW91IHRyaWVkIGNvbXBpbGluZyBRRiB3aXRoIHRoZSBjYWxsIHN0YWNrIGRp c2FibGVkPw0KCQ0KCS0tb3Jlbg0KCQ0KCU9uIE1heSAxMywgMjAwNCwgYXQgNDowNCBQTSwgSG93 YXJkIFMuIEVuZ2VsaGFydCB3cm90ZToNCgkNCgk+IFVzaW5nIHF1aWNrZml4IDEuNy4wLi4NCgk+ DQoJPiBXaGlsZSBydW5uaW5nIGEgcWEgc2NyaXB0IHB1bXBpbmcgbmV3IG9yZGVycyBpbiB2aWEg YSBzaW5nbGUgc2Vzc2lvbg0KCT4gbXkgRklYIHNlcnZlciB3ZW50IGRvd24uICBXZSB3ZXJlIHJ1 bm5pbmcgdXAgdG8gMTAgbmV3IG9yZGVycyBwZXINCgk+IHNlY29uZCAoYWJvdXQgMjAwMCBvcmRl cnMgd2l0aGluIDMgbWludXRlcykuIEZyb20gbXkgbG9ncyBpdCBsb29rcw0KCT4gbGlrZSB0aGUg ZW5naW5lIHdhcyBhYm91dCB0byBzZW5kIGEgbWVzc2FnZSBvdXQgd2hlbiBpdCB3ZW50IGRvd24u PTIwDQoJPiBCZWxvdyBpcyB0aGUgc3RhY2sgdHJhY2UgSSBwdWxsZWQgb3V0IG9mIHRoZSBjb3Jl IGR1bXAuICBBbnlvbmUgaGF2ZQ0KCT4gYW55IGV4cGVyaWVuY2Ugd2l0aCBwcm9ibGVtcyBsaWtl IHRoaXM/DQoJPg0KCT4gVGhhbmtzLA0KCT4NCgk+IC1Ib3dhcmQNCgk+DQoJPg0KCT4gIzUgIDB4 NDA2ZGVhYzUgaW4gcHRocmVhZF9zaWdoYW5kbGVyIChzaWdubz0zRDExLCBjdHg9M0QNCgk+ICAg ICAgIHtncyA9M0QgMzEsIF9fZ3NoID0zRCAwLCBmcyA9M0QgMCwgX19mc2ggPTNEIDAsIGVzID0z RCA0MywgX19lc2ggPQ0KCT0zRCAwLCBkcyA9M0QNCgk+IDQzLCBfX2RzaCA9M0QgMCwgZWRpID0z RCAxMzgzNzEyMjgsIGVzaSA9M0QgOTI2MTAzMTczLCBlYnAgPTNEID0NCgkxMDk0ODcxMw0KCT4g MTYsIGVzcCA9M0QgMTA5NDg3MTI5MiwgZWJ4ID0zRCAxMDc4MjM5ODQ0LCBlZHggPTNEIDkyNjEw MzIwMSwgZWN4ID0zRA0KCT4gMTM1Nzk4ODgwLCBlYXggPTNEIDkyNjEwMzIwMSwgdHJhcG5vID0z RCAxNCwgZXJyID0zRCA0LCBlaXAgPTNEID0NCgkxMDc4MDUyNDM3LCBjcw0KCT4gPTNEIDM1LCBf X2NzaCA9M0QgMCwgZWZsYWdzID0zRCA2NjA1MCwgZXNwX2F0X3NpZ25hbCA9M0QgMTA5NDg3MTI5 MiwgPQ0KCXNzID0zRCA0MywNCgk+IF9fc3NoID0zRCAwLCBmcHN0YXRlID0zRCAweDQxNDI2Njgw LCBvbGRtYXNrID0zRCAyMTQ3NDgzNjQ4LCBjcjIgPTNEID0NCgk5MjYNCgk+IDEwMzE4NX0pIGF0 IHNpZ25hbHMuYzo5Nw0KCT4gIzYgIDxzaWduYWwgaGFuZGxlciBjYWxsZWQ+DQoJPiAjNyAgX1NU TDo6ZGVxdWU8RklYOjpDYWxsU3RhY2s6Ok1ldGhvZCwNCgk+IF9TVEw6OmFsbG9jYXRvcjxGSVg6 OkNhbGxTdGFjazo6TWV0aG9kPiA+OjpfTV9wb3BfYmFja19hdXgoKQ0KCT4gKHRoaXM9M0QweDgz ZjYwOWMpDQoJPiAgICAgYXQgL3Vzci9sb2NhbC9pbmNsdWRlL3N0bHBvcnQvc3RsL19zdHJpbmcu aDoxMjQNCgk+ICM4ICAweDQwM2ZiMjE2IGluIH5DYWxsU3RhY2sgKHRoaXM9M0QweDQxNDI2OWJj KSBhdA0KCT4gL3Vzci9sb2NhbC9pbmNsdWRlL3N0bHBvcnQvc3RsL19kZXF1ZS5oOjYyMA0KCT4g IzkgIDB4NDAzYjA0MGEgaW4NCgk+IEZJWDo6U29ja2V0U2VydmVyOjpibG9jayhGSVg6OlNvY2tl dFNlcnZlcjo6U3RyYXRlZ3kmLCBib29sKQ0KCT4gKHRoaXM9M0QweDgyMmEwMzgsIHN0cmF0ZWd5 PTNEQDB4MCwgcG9sbD0zRGZhbHNlKQ0KCT4gICAgIGF0IFNvY2tldFNlcnZlci5jcHA6MTUzDQoJ PiAjMTAgMHg0MDNiOWFhNyBpbiBGSVg6OlNvY2tldEFjY2VwdG9yOjpvblN0YXJ0KCkgKHRoaXM9 M0QweDgxZDgyMzApIGF0DQoJPiBTb2NrZXRBY2NlcHRvci5jcHA6MTEzDQoJPiAjMTEgMHg0MDNi M2UzOCBpbiBGSVg6OkFjY2VwdG9yOjpzdGFydFRocmVhZCh2b2lkKikgKHA9M0QweDgxZDgyMzAp IGF0DQoJPiBBY2NlcHRvci5jcHA6MjE3DQoJPiAjMTIgMHg0MDZkYmM2ZiBpbiBwdGhyZWFkX3N0 YXJ0X3RocmVhZCAoYXJnPTNEMHg0MTQyNmJlMCkgYXQNCgk+IG1hbmFnZXIuYzoyODQNCgk+DQoJ Pg0KCT4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KCT4gVGhpcyBTRi5OZXQgZW1haWwgaXMgc3BvbnNvcmVkIGJ5OiBTb3VyY2VGb3JnZS5u ZXQgQnJvYWRiYW5kDQoJPiBTaWduLXVwIG5vdyBmb3IgU291cmNlRm9yZ2UgQnJvYWRiYW5kIGFu ZCBnZXQgdGhlIGZhc3Rlc3QNCgk+IDYuMC83NjggY29ubmVjdGlvbiBmb3Igb25seSAkMTkuOTUv bW8gZm9yIHRoZSBmaXJzdCAzIG1vbnRocyENCgk+IGh0dHA6Ly9hZHMub3Nkbi5jb20vP2FkX2lk JTYyJmFsbG9jX2lkYTg0Jm9wPTNEY2xpY2sNCgk+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fDQoJPiBRdWlja2ZpeC1kZXZlbG9wZXJzIG1haWxpbmcgbGlz dA0KCT4gUXVpY2tmaXgtZGV2ZWxvcGVyc0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQNCgk+IGh0dHBz Oi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL3F1aWNrZml4LWRldmVsb3Bl cnMNCgk+DQoJDQoJDQoJDQoJDQoJLS0tLS0tXz1fTmV4dFBhcnRfMDAxXzAxQzQzOTQ0LjcwQjcz Q0ZDDQoJQ29udGVudC1UeXBlOiB0ZXh0L2h0bWw7DQoJICAgICAgICBjaGFyc2V0PSJpc28tODg1 OS0xIg0KCUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUNCgkNCgk8 TUVUQSBIVFRQLUVRVUlWPTNEIkNvbnRlbnQtVHlwZSIgQ09OVEVOVD0zRCJ0ZXh0L2h0bWw7ID0N CgljaGFyc2V0PTNEaXNvLTg4NTktMSI+PTBBPQ0KCTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAiLS8v VzNDLy9EVEQgSFRNTCAzLjIvL0VOIj49MEE9DQoJPEhUTUw+PTBBPQ0KCTxIRUFEPj0wQT0NCgk9 MEE9DQoJPE1FVEEgTkFNRT0zRCJHZW5lcmF0b3IiIENPTlRFTlQ9M0QiTVMgRXhjaGFuZ2UgU2Vy dmVyIHZlcnNpb24gPQ0KCTYuNS42OTQ0LjAiPj0wQT0NCgk8VElUTEU+UmU6IFtRdWlja2ZpeC1k ZXZlbG9wZXJzXSBFeGNlcHRpb24gYW5kIGNyYXNoPC9USVRMRT49MEE9DQoJPC9IRUFEPj0wQT0N Cgk8Qk9EWT49MEE9DQoJPERJViBpZD0zRGlkT1dBUmVwbHlUZXh0NDE1NDAgZGlyPTNEbHRyPj0w QT0NCgk8RElWIGRpcj0zRGx0cj48Rk9OVCBmYWNlPTNEQXJpYWwgY29sb3I9M0QjMDAwMDAwIHNp emU9M0QyPkkgaGF2ZSBzZWVuID0NCglpdCBjb21lIHVwIG9ubHkgPTBBPQ0KCXR3aWNlIGJlZm9y ZSB3aXRoIHByZXZpb3VzIHZlcnNpb25zIG9mIHFmLiZuYnNwOyBPbmNlIHdoaWxlIHVuZGVyIGEg PQ0KCXNpbWlsaWFybHkgPTBBPQ0KCWhlYXZ5IGxvYWQsIHRoZSBvdGhlciB0aW1lIGEgcmVsYXRp dmVseSBsaWdodCBsb2FkLiZuYnNwOyBJJ2xsIHNlZSBpZiB3ZSA9DQoJY2FuID0wQT0NCglyZXBy b2R1Y2Ugd2l0aCB0aGUgc2FtZSB0ZXN0IHNjcmlwdC48L0ZPTlQ+PC9ESVY+PTBBPQ0KCTxESVYg ZGlyPTNEbHRyPjxGT05UIGZhY2U9M0RBcmlhbCBzaXplPTNEMj48L0ZPTlQ+Jm5ic3A7PC9ESVY+ PTBBPQ0KCTxESVYgZGlyPTNEbHRyPjxGT05UIGZhY2U9M0RBcmlhbCBzaXplPTNEMj5Gb3JnaXZl IHRoZSBxdWVzdGlvbiwgYnV0ID0NCgl3aGF0IGV4YWN0bHkgZG9lcyA9MEE9DQoJZW5hYmxpbmcg dGhlIGNhbGwgc3RhY2sgcHJvdmlkZT8mbmJzcDsgSWYgeW91IHRoaW5rIGl0J3MgcmVsYXRlZCBJ IHdpbGwgPTBBPQ0KCXJlLWNvbXBpbGUgd2l0aCBpdCBkaXNhYmxlZCBmb3Igb3VyIHByb2R1Y3Rp b24gZW52aXJvbm1lbnQuPC9GT05UPjwvRElWPj0wQT0NCgk8RElWIGRpcj0zRGx0cj48Rk9OVCBm YWNlPTNEQXJpYWwgc2l6ZT0zRDI+PC9GT05UPiZuYnNwOzwvRElWPj0wQT0NCgk8RElWIGRpcj0z RGx0cj48Rk9OVCBmYWNlPTNEQXJpYWwgc2l6ZT0zRDI+VGhhbmtzLDwvRk9OVD48L0RJVj49MEE9 DQoJPERJViBkaXI9M0RsdHI+PEZPTlQgZmFjZT0zREFyaWFsIHNpemU9M0QyPjwvRk9OVD4mbmJz cDs8L0RJVj49MEE9DQoJPERJViBkaXI9M0RsdHI+PEZPTlQgZmFjZT0zREFyaWFsIHNpemU9M0Qy Pi1IPC9GT05UPjwvRElWPjwvRElWPj0wQT0NCgk8RElWIGRpcj0zRGx0cj48QlI+PTBBPQ0KCTxI UiB0YWJJbmRleD0zRC0xPj0wQT0NCgk8Rk9OVCBmYWNlPTNEVGFob21hIHNpemU9M0QyPjxCPkZy b206PC9CPiBPcmVuIE1pbGxlciA9MEE9DQoJW21haWx0bzpvcmVuQHF1aWNrZml4ZW5naW5lLm9y Z108QlI+PEI+U2VudDo8L0I+IFRodSA1LzEzLzIwMDQgNjo1MyA9MEE9DQoJUE08QlI+PEI+VG86 PC9CPiBIb3dhcmQgUy4gRW5nZWxoYXJ0PEJSPjxCPkNjOjwvQj4gUXVpY2tGSVggUXVlc3Rpb25z ID0wQT0NCgkoRS1tYWlsKTxCUj48Qj5TdWJqZWN0OjwvQj4gUmU6IFtRdWlja2ZpeC1kZXZlbG9w ZXJzXSBFeGNlcHRpb24gYW5kID0wQT0NCgljcmFzaDxCUj48L0ZPTlQ+PEJSPjwvRElWPj0wQT0N Cgk8RElWPj0wQT0NCgk8UD48Rk9OVCBzaXplPTNEMj5JJ3ZlIG5vdGljZWQgaW5zdGFiaWxpdGll cyB3aGVuIHJ1bm5pbmcgd2l0aCB0aGUgY2FsbCA9MEE9DQoJc3RhY2suJm5ic3A7IElzIHRoaXM8 QlI+cmVwZWF0YWJsZT8mbmJzcDsgSGF2ZSB5b3UgdHJpZWQgY29tcGlsaW5nIFFGID0NCgl3aXRo IHRoZSA9MEE9DQoJY2FsbCBzdGFjayBkaXNhYmxlZD88QlI+PEJSPi0tb3JlbjxCUj48QlI+T24g TWF5IDEzLCAyMDA0LCBhdCA0OjA0IFBNLCA9DQoJSG93YXJkIFMuID0wQT0NCglFbmdlbGhhcnQg d3JvdGU6PEJSPjxCUj4mZ3Q7IFVzaW5nIHF1aWNrZml4IDEuNy4wLi48QlI+Jmd0OzxCUj4mZ3Q7 ID0NCglXaGlsZSA9MEE9DQoJcnVubmluZyBhIHFhIHNjcmlwdCBwdW1waW5nIG5ldyBvcmRlcnMg aW4gdmlhIGEgc2luZ2xlIHNlc3Npb248QlI+Jmd0OyA9DQoJbXkgRklYID0wQT0NCglzZXJ2ZXIg d2VudCBkb3duLiZuYnNwOyBXZSB3ZXJlIHJ1bm5pbmcgdXAgdG8gMTAgbmV3IG9yZGVycyBwZXI8 QlI+Jmd0OyA9DQoJc2Vjb25kID0wQT0NCgkoYWJvdXQgMjAwMCBvcmRlcnMgd2l0aGluIDMgbWlu dXRlcykuIEZyb20gbXkgbG9ncyBpdCBsb29rczxCUj4mZ3Q7IGxpa2UgPQ0KCXRoZSA9MEE9DQoJ ZW5naW5lIHdhcyBhYm91dCB0byBzZW5kIGEgbWVzc2FnZSBvdXQgd2hlbiBpdCB3ZW50IGRvd24u Jm5ic3A7PEJSPiZndDsgPQ0KCUJlbG93IGlzID0wQT0NCgl0aGUgc3RhY2sgdHJhY2UgSSBwdWxs ZWQgb3V0IG9mIHRoZSBjb3JlIGR1bXAuJm5ic3A7IEFueW9uZSBoYXZlPEJSPiZndDsgPQ0KCWFu eSA9MEE9DQoJZXhwZXJpZW5jZSB3aXRoIHByb2JsZW1zIGxpa2UgdGhpcz88QlI+Jmd0OzxCUj4m Z3Q7ID0NCglUaGFua3MsPEJSPiZndDs8QlI+Jmd0OyA9MEE9DQoJLUhvd2FyZDxCUj4mZ3Q7PEJS PiZndDs8QlI+Jmd0OyAjNSZuYnNwOyAweDQwNmRlYWM1IGluID0NCglwdGhyZWFkX3NpZ2hhbmRs ZXIgPTBBPQ0KCShzaWdubz0zRDExLCBjdHg9M0Q8QlI+Jmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyB7Z3MgPTNEID0NCgkzMSwgX19nc2ggPTNEIDAsID0wQT0NCglmcyA9 M0QgMCwgX19mc2ggPTNEIDAsIGVzID0zRCA0MywgX19lc2ggPTNEIDAsIGRzID0zRDxCUj4mZ3Q7 IDQzLCBfX2RzaCA9DQoJPTNEIDAsIGVkaSA9M0QgPTBBPQ0KCTEzODM3MTIyOCwgZXNpID0zRCA5 MjYxMDMxNzMsIGVicCA9M0QgMTA5NDg3MTM8QlI+Jmd0OyAxNiwgZXNwID0zRCA9DQoJMTA5NDg3 MTI5MiwgZWJ4ID0zRCA9MEE9DQoJMTA3ODIzOTg0NCwgZWR4ID0zRCA5MjYxMDMyMDEsIGVjeCA9 M0Q8QlI+Jmd0OyAxMzU3OTg4ODAsIGVheCA9M0QgPQ0KCTkyNjEwMzIwMSwgdHJhcG5vID0zRCA9 MEE9DQoJMTQsIGVyciA9M0QgNCwgZWlwID0zRCAxMDc4MDUyNDM3LCBjczxCUj4mZ3Q7ID0zRCAz NSwgX19jc2ggPTNEIDAsID0NCgllZmxhZ3MgPTNEIDY2MDUwLCA9MEE9DQoJZXNwX2F0X3NpZ25h bCA9M0QgMTA5NDg3MTI5Miwgc3MgPTNEIDQzLDxCUj4mZ3Q7IF9fc3NoID0zRCAwLCBmcHN0YXRl ID0NCgk9M0QgMHg0MTQyNjY4MCwgPTBBPQ0KCW9sZG1hc2sgPTNEIDIxNDc0ODM2NDgsIGNyMiA9 M0QgOTI2PEJSPiZndDsgMTAzMTg1fSkgYXQgPQ0KCXNpZ25hbHMuYzo5NzxCUj4mZ3Q7ID0wQT0N CgkjNiZuYnNwOyAmbHQ7c2lnbmFsIGhhbmRsZXIgY2FsbGVkJmd0OzxCUj4mZ3Q7ICM3Jm5ic3A7 ID0wQT0NCglfU1RMOjpkZXF1ZSZsdDtGSVg6OkNhbGxTdGFjazo6TWV0aG9kLDxCUj4mZ3Q7ID0w QT0NCglfU1RMOjphbGxvY2F0b3ImbHQ7RklYOjpDYWxsU3RhY2s6Ok1ldGhvZCZndDsgPQ0KCSZn dDs6Ol9NX3BvcF9iYWNrX2F1eCgpPEJSPiZndDsgPTBBPQ0KCSh0aGlzPTNEMHg4M2Y2MDljKTxC Uj4mZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGF0ID0wQT0NCgkvdXNyL2xvY2FsL2luY2x1 ZGUvc3RscG9ydC9zdGwvX3N0cmluZy5oOjEyNDxCUj4mZ3Q7ICM4Jm5ic3A7IDB4NDAzZmIyMTYg PQ0KCWluID0wQT0NCgl+Q2FsbFN0YWNrICh0aGlzPTNEMHg0MTQyNjliYykgYXQ8QlI+Jmd0OyA9 MEE9DQoJL3Vzci9sb2NhbC9pbmNsdWRlL3N0bHBvcnQvc3RsL19kZXF1ZS5oOjYyMDxCUj4mZ3Q7 ICM5Jm5ic3A7IDB4NDAzYjA0MGEgPTBBPQ0KCWluPEJSPiZndDsgRklYOjpTb2NrZXRTZXJ2ZXI6 OmJsb2NrKEZJWDo6U29ja2V0U2VydmVyOjpTdHJhdGVneSZhbXA7LCA9MEE9DQoJYm9vbCk8QlI+ Jmd0OyAodGhpcz0zRDB4ODIyYTAzOCwgc3RyYXRlZ3k9M0RAMHgwLCA9MEE9DQoJcG9sbD0zRGZh bHNlKTxCUj4mZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGF0ID0NCglTb2NrZXRTZXJ2ZXIu Y3BwOjE1MzxCUj4mZ3Q7ICMxMCA9MEE9DQoJMHg0MDNiOWFhNyBpbiBGSVg6OlNvY2tldEFjY2Vw dG9yOjpvblN0YXJ0KCkgKHRoaXM9M0QweDgxZDgyMzApID0NCglhdDxCUj4mZ3Q7ID0wQT0NCglT b2NrZXRBY2NlcHRvci5jcHA6MTEzPEJSPiZndDsgIzExIDB4NDAzYjNlMzggaW4gPTBBPQ0KCUZJ WDo6QWNjZXB0b3I6OnN0YXJ0VGhyZWFkKHZvaWQqKSAocD0zRDB4ODFkODIzMCkgYXQ8QlI+Jmd0 OyA9MEE9DQoJQWNjZXB0b3IuY3BwOjIxNzxCUj4mZ3Q7ICMxMiAweDQwNmRiYzZmIGluIHB0aHJl YWRfc3RhcnRfdGhyZWFkID0NCgkoYXJnPTNEMHg0MTQyNmJlMCkgPTBBPQ0KCWF0PEJSPiZndDsg bWFuYWdlci5jOjI4NDxCUj4mZ3Q7PEJSPiZndDs8QlI+Jmd0OyA9MEE9DQoJLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLTxCUj4mZ3Q7IFRoaXMg PQ0KCVNGLk5ldCA9MEE9DQoJZW1haWwgaXMgc3BvbnNvcmVkIGJ5OiBTb3VyY2VGb3JnZS5uZXQg QnJvYWRiYW5kPEJSPiZndDsgU2lnbi11cCBub3cgZm9yID0wQT0NCglTb3VyY2VGb3JnZSBCcm9h ZGJhbmQgYW5kIGdldCB0aGUgZmFzdGVzdDxCUj4mZ3Q7IDYuMC83NjggY29ubmVjdGlvbiBmb3Ig PQ0KCW9ubHkgPTBBPQ0KCSQxOS45NS9tbyBmb3IgdGhlIGZpcnN0IDMgbW9udGhzITxCUj4mZ3Q7 IDxBID0wQT0NCglocmVmPTNEImh0dHA6Ly9hZHMub3Nkbi5jb20vP2FkX2lkJTYyJmFsbG9jX2lk YTg0Jm9wPTNEY2xpY2siPmh0dD0NCglwOi8vYWRzLm9zZG4uY29tLz9hZF9pZCU2MiZhbXA7YWxs b2NfaWRhODQmYW1wO29wPTNEY2xpY2s8L0E+PEJSPiZndDsgPTBBPQ0KCV9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPEJSPiZndDsgPQ0KCVF1aWNrZml4LWRl dmVsb3BlcnMgPTBBPQ0KCW1haWxpbmcgbGlzdDxCUj4mZ3Q7IFF1aWNrZml4LWRldmVsb3BlcnNA bGlzdHMuc291cmNlZm9yZ2UubmV0PEJSPiZndDsgPQ0KCTxBID0wQT0NCglocmVmPTNEImh0dHBz Oi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL3F1aWNrZml4LWRldmVsb3Bl cnMiPQ0KCT5odHRwczovL2xpc3RzLnNvdXJjZWZvcmdlLm5ldC9saXN0cy9saXN0aW5mby9xdWlj a2ZpeC1kZXZlbG9wZXJzPC9BPjxCUj49DQoJJmd0OzxCUj48QlI+PC9GT05UPjwvUD48L0RJVj49 MEE9DQoJPTBBPQ0KCTwvQk9EWT49MEE9DQoJPC9IVE1MPg0KCS0tLS0tLV89X05leHRQYXJ0XzAw MV8wMUM0Mzk0NC43MEI3M0NGQy0tDQoJDQoJDQoJDQoJLS1fXy0tX18tLQ0KCQ0KCV9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQoJUXVpY2tmaXgtZGV2ZWxv cGVycyBtYWlsaW5nIGxpc3QNCglRdWlja2ZpeC1kZXZlbG9wZXJzQGxpc3RzLnNvdXJjZWZvcmdl Lm5ldA0KCWh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZvL3F1aWNr Zml4LWRldmVsb3BlcnMNCgkNCgkNCglFbmQgb2YgUXVpY2tmaXgtZGV2ZWxvcGVycyBEaWdlc3QN CgkNCg0K |
From: Pasquale d'A. <pas...@ga...> - 2004-05-14 16:39:56
|
I'm a software developer and I am currently using the release 1.7.0 of QuickFIX C++ library. I noticed that the function Session::reset() declares to throw the exception of type "IOException&" but it actually throws the exception "ConfigError" when it fails to open the files storing messages and sequence numbers. Regards. Pasquale d'Aloise GATE T.I. s.r.l. Ctr.da Nunziatella, SS 17 86170 Isernia Italy |